CN114830102A - 将字节使能重新用作时钟使能以节省功耗 - Google Patents
将字节使能重新用作时钟使能以节省功耗 Download PDFInfo
- Publication number
- CN114830102A CN114830102A CN202080086926.0A CN202080086926A CN114830102A CN 114830102 A CN114830102 A CN 114830102A CN 202080086926 A CN202080086926 A CN 202080086926A CN 114830102 A CN114830102 A CN 114830102A
- Authority
- CN
- China
- Prior art keywords
- packet
- enable signal
- partition
- given partition
- destination
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3253—Power saving in bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling between buses with data restructuring with data-width conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3072—Packet splitting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/356—Switches specially adapted for specific applications for storage area networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/64—Distributing or queueing
- H04Q3/68—Grouping or interlacing selector groups or stages
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
Abstract
公开了用于在计算系统(200)中进行高效数据传送的系统、设备和方法。源(110)产生分组以跨通信结构(或结构)发送到目的地(140)。源(110)针对有效载荷数据(158)的分区产生分区使能信号(156)。当所述源(110)确定分组类型指示特定分区应在所述分组(150,224)中具有相关联认定使能信号,但源还确定所述特定分区包括特定数据模式时,所述源(110)否定所述特定分区的使能信号。所述结构的路由部件(120)对被指派为存储所述特定分区的存储元件(234)禁用(232)时钟信号(130)。所述目的地(140)将所述特定分区的所述特定数据模式插入所述有效载荷数据中。
Description
背景技术
相关技术描述
多种计算装置利用集成有多种类型的处理单元来提供系统功能性的异构集成。多种功能包括音频/视频(A/V)数据处理、用于医学和商业领域的其他高数据并行应用、通用指令集架构(ISA)的处理指令、数字、模拟、混合信号和射频(RF)功能等。对于用以集成多种类型的处理单元的系统封装,存在多种选择。在一些计算装置中,使用片上系统(SOC),而在其他计算装置中,将更小并且更高产率的芯片作为大型芯片封装在多芯片模块(MCM)中。一些计算装置包括三维集成电路(3D IC),所述三维集成电路利用管芯堆叠技术以及硅中介层、硅通孔(TSV)和其他机制来竖直堆叠,并且电连接系统级封装(SiP)中的两个或更多个管芯。
除了输入/输出装置以外,这些处理单元中的每个处理单元都是计算系统中能够产生对数据的读取请求和写入请求的源。除了系统存储器以外,所述源中的每个源也能够成为请求的目标目的地。不管所选系统封装如何,源针对目标目的地产生的数据访问请求和对应数据、一致性探测、中断和其他通信消息通常通过通信结构(或结构)进行传送。所述结构通过具有可用于在源与目的地之间传送分组的相对较高数量的物理线来减少延迟。跨结构线对分组进行数据输送以及结构中的存储元件、队列、控制逻辑等内的节点的切换增加了计算系统的功耗。
现代集成电路的功耗对于每一代半导体芯片来说已日益成为一个设计问题。由于功耗增加,因而必须利用更昂贵的冷却系统(诸如更大的风扇和散热器)以便移除多余热量以及防止电路故障。然而,冷却系统增加系统成本。电路功率耗散约束不仅对于便携式计算机和移动通信装置是个问题,而且对于利用高性能微处理器的台式计算机和服务器也是个问题。
鉴于上文,需要用于在计算系统中进行高效数据传送的方法。
附图说明
通过结合附图参考以下描述,可更好地理解本文描述的方法和机制的优点,在附图中:
图1是计算系统的一个实施方案的框图。
图2是计算系统的一个实施方案的框图。
图3是用于通过路由部件在计算系统中进行高效数据传送的方法的一个实施方案的流程图。
图4是用于通过源在计算系统中进行高效数据传送的方法的一个实施方案的流程图。
图5是用于识别用于在计算系统中进行高效数据传送的分组类型的方法的一个实施方案的流程图。
图6是用于通过目的地在计算系统中进行高效数据传送的方法的一个实施方案的流程图。
图7是计算系统的一个实施方案的框图。
虽然本发明容易具有各种修改和替代形式,但特定实施方案借助于示例在附图中予以示出,并且在本文中予以详细描述。然而,应理解,附图及其详细描述并不意在将本发明局限于所公开的特定形式,而相反,本发明将涵盖落入如所附权利要求限定的本发明的范围内的所有修改、等效形式和替代方案。
具体实施方式
在以下描述中,阐述了众多具体细节以提供对本文呈现的方法和机制的透彻理解。然而,本领域普通技术人员应认识到,可在没有这些具体细节的情况下实践各种实施方案。在一些情况下,并未详细示出众所周知的结构、部件、信号、计算机程序指令和技术,以避免混淆本文所述的方法。应了解,出于说明简明和清楚起见,在图中示出的元件不一定按比例绘制。例如,一些元件的尺寸可能相对于其他元件被放大。
公开了用于在计算系统中进行高效数据传送的各种系统、设备、方法和计算机可读介质。在各种实施方案中,计算系统包括用于处理应用程序的一个或多个客户端。客户端的示例包括通用中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、多媒体引擎、输入/输出(I/O)装置等。客户端中的每个客户端都能够产生数据访问请求。当客户端产生并且发送分组时,客户端被称为“源”,所述分组包括数据访问请求、有效载荷数据、探测请求、一致性命令或待发送到目标目的地的其他通信。当客户端和系统存储器是由源产生的分组的目标时,客户端和系统存储器被称为“目的地”。
源通过通信结构(或结构)将分组发送到目的地。结构中的互连的示例是总线架构、基于交叉杆的架构、片上网络(NoC)通信子系统、管芯之间的通信信道、具有仲裁逻辑的路由器交换机、中继器、用以并排堆叠芯片的硅中介层、用以在处理器管芯顶部上竖直堆叠专用管芯的硅通孔(TSV)等。
在一些实施方案中,源将有效载荷数据分成诸如字节、字、双字等分区。另外,在各种实施方案中,产生有效载荷数据的分区的分区使能信号。例如,字段156中的分区使能信号是字节使能信号。在一些实施方案中,源产生分区使能信号(或使能信号)以指示哪些分区包括有效载荷数据的有效数据。例如,分区中的每个分区包括读取响应分组的有效数据。因此,源认定对应于有效载荷数据的多个分区的使能信号中的每个使能信号。类似地,分区中的每个分区包括全写入数据分组的有效数据以及用以将先前缓存的数据发送到系统存储器的高速缓存牺牲分组。在其他实施方案中,源否定一个或多个使能信号以指示哪些分区包括有效载荷数据的无效数据。例如,分区中的一个或多个包括部分写入数据分组的无效数据。
在其他实施方案中,当源确定分组的类型指示特定分区应在分组中具有相关联认定使能信号,但源还确定特定分区包括特定数据模式时,源否定特定分区的使能信号。例如,读取响应有效载荷数据的特定分区包括特定模式。尽管读取响应数据分组通常认定多个使能信号中的每个使能信号,但源否定特定分区的使能信号。替代在整个结构中输送特定数据模式,否定使能信号指示特定分区应存储特定模式,而不是实际上通过结构来输送特定模式。
目的地接收读取响应数据分组,并且目的地确定分组的类型以及特定分区在分组中具有相关联否定使能信号。在此示例中,读取响应数据分组的类型指示特定分区应在分组中具有相关联认定使能信号。因此,目的地将否定使能信号解译为指示特定分区应包括特定数据模式。因此,当存储读取响应有效载荷数据时,目的地针对特定分区插入特定数据模式。
当在源与目的地之间输送分组时,一个或多个路由部件在结构内接收和发送分组。路由部件的示例是路由器交换机、中继器块等。在各种实施方案中,路由部件接收分组,并且确定有效载荷数据的一个或多个分区具有相关联否定使能信号。因此,路由部件禁用被指派为存储与否定使能信号相关联的有效载荷数据的分区的数据的路由部件的存储元件。稍后,当路由部件将分组发送到下一路由部件或目的地时,路由部件发送否定使能信号和先前值,所述先前值存储在被指派为存储与否定使能信号相关联的有效载荷数据的分区的数据的每个存储元件中。因为时钟信号被禁用,所以这些存储元件未加载新的值。先前值仍存储在这些存储元件中。另外,这些存储元件不消耗与加载新的值相关联的功率,并且条件时钟信号不切换。在一些实施方案中,路由部件中的时钟门控逻辑使用分区使能信号直接作为条件时钟门控控制信号。
参考图1,示出了计算系统100的一个实施方案的一般化框图。如图所示,源110通过路由部件120将分组150发送到目的地140。源110是计算系统100中的客户端,诸如通用中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、多媒体引擎、输入/输出(I/O)装置等。目的地140是系统存储器或计算系统100中的客户端的示例中的一个。路由部件120的示例是中继器块、网络交换机或通信结构的其他部件。尽管示出单个源110、单个路由部件120和单个目的地140,但在其他实现方式中,计算系统100包括任何数量的这些块中的每个块。在一些实施方案中,计算系统100的块110至140是集成电路(IC)(诸如片上系统(SOC))上的各个管芯。在其他实施方案中,块110至140是系统级封装(SiP)或多芯片模块(MCM)中的各个管芯。为了易于示出,没有示出其他块,诸如功率控制器或功率管理单元、时钟产生源、用于与任何其他处理节点通信的链路接口以及用于与系统存储器介接的存储器控制器。
源110产生并且发送分组。源110和目的地140使用分组来传递数据访问请求、有效载荷数据、探测请求、一致性命令等。分组产生逻辑112(或逻辑112)产生分组150。分组150包括多个字段152至158。尽管字段152至158以特定连续次序示出,但在其他实施方案中,分组150使用另一存储布置。在其他实施方案中,分组150包括未示出的一个或多个其他字段。
标头152存储命令、源和目的地标识符、程序和线程标识符、时间戳、奇偶校验和以及其他数据完整性信息、优先级水平和/或服务质量参数等中的一者或多者。在其他实施方案中,这些字段中的一个或多个字段与标头152分离,并且位于分组150中的其他地方。分组150中未示出的其他字段的示例是虚拟信道标识符、响应分组的响应类型、当对较大读取请求的读取响应被分成多个数据分组时所使用的事务偏移的指示、对于表示响应分组包括单个响应还是多个响应的响应分组的指示以及数据分组、请求分组和响应分组的信用数量的指示。存储在分组150中的字段的其他示例是可能的,并且在其他实施方案中设想。
地址154存储与标头152中的命令相关联的目标地址的指示。字段156存储与字段158中所存储的有效载荷数据的分区相关联的使能信号。对于数据分组,源110将有效载荷数据分成分区。分区大小的示例是字节、字(4个字节)、双字(8个字节)等。分区使得逻辑114(或逻辑114)能够产生存储在字段156中的分区使能信号。当分区大小是字节时,字段156中的分区使能信号是字节使能信号。在一些实施方案中,逻辑114产生分区使能信号(或使能信号)以指示哪些分区包括存储在字段158中的有效载荷数据的有效数据。例如,分区中的每个分区包括读取响应分组的有效数据。命令和/或分组类型存储在标头152中。因此,逻辑114认定字段156中的对应于字段158中的有效载荷数据的多个分区的使能信号中的每个使能信号。类似地,分区中的每个分区包括全写入数据分组的有效数据以及用以将先前缓存的数据发送到系统存储器的高速缓存牺牲分组。
在其他实施方案中,逻辑114否定字段156中的一个或多个使能信号以指示哪些分区包括字段158中的有效载荷数据的无效数据。例如,分区中的一个或多个包括部分写入数据分组的无效数据。如本文中所使用,当信号具有用以启用逻辑并且接通晶体管以促使晶体管传导电流的值时,所述信号被视为“认定”。对于某一逻辑,认定值是布尔逻辑高值或布尔逻辑高电平。例如,当n型金属氧化物半导体(NMOS)晶体管在其栅极端子上接收到布尔逻辑高电平时,NMOS晶体管被启用,或另外被接通。因此,NMOS晶体管能够传导电流。对于其他逻辑,认定值是布尔逻辑低电平。当p型MOS(PMOS)晶体管在其栅极端子上接收到布尔逻辑低电平时,PMOS晶体管被启用,或另外被接通,并且PMOS晶体管能够传导电流。相反,当信号具有用以禁用逻辑并且断开晶体管的值时,信号被视为“否定”。
在一些实施方案中,当逻辑114确定分组的类型指示特定分区应在分组中具有相关联认定使能信号,但逻辑114还确定特定分区包括特定数据模式时,逻辑114否定针对字段158中的特定分区的字段156中的使能信号。例如,读取响应有效载荷数据的特定分区包括特定模式。特定模式的一个示例是特定分区中的全零。当分区大小为字节时,特定分区包括八个零。其他数据模式是可能的,并且被设想。尽管读取响应数据分组通常认定多个使能信号中的每个使能信号,但逻辑114否定针对字段158中的特定分区的字段156中的使能信号。否定使能信号指示路由部件120应在没有特定分区的实际值的情况下传送分组150,而不是通过路由部件120传送特定数据模式。
在各种实施方案中,路由部件120的接口122接收分组150。在一些实施方案中,接口122包括用于接收和存储分组150的存储元件134。在其他实施方案中,当距源110的距离较可观时,接口122包括阻抗匹配电路系统。在其他实施方案中,接口122包括将所接收分组传送到存储元件134的线。分组124一般表示由路由部件120接收到的分组,诸如分组150。因此,分组124包括先前针对分组150描述的相同字段。路由部件120包括时钟门控逻辑132(或逻辑132),所述时钟门控逻辑用于启用和禁用存储元件134中的一个或多个存储元件的时钟信号130。存储元件134包括寄存器、触发器电路、内容可寻址存储器(CAM)、随机存取存储器(RAM)等中的一者或多者。逻辑132使用来自分组124的分区启用信号126来有条件地启用和禁用存储元件134中的一个或多个存储元件的时钟信号130。例如,逻辑132针对被指派为存储与分区使能信号126的否定使能信号相关联的有效载荷数据的分区的数据的存储元件134中的每个存储元件禁用时钟信号130。因此,逻辑132使用分区使能信号126作为时钟使能信号。当分区大小是字节时,逻辑132使用字节使能信号126作为时钟使能信号。
稍后,当路由部件120将分组124发送到下一路由部件(未示出)或目的地140时,接口136发送存储在存储元件134中的分组信息。接口136包括简单的线、一个或多个逻辑门缓冲器或用于传输数据的其他电路系统。接口136发送分区使能信号126的否定使能信号以及先前值,所述先前值存储在被指派为存储与否定使能信号相关联的有效载荷数据的分区的数据的每个存储元件中。因为逻辑132禁用了存储元件134中的特定存储元件的时钟信号130,所以这些特定存储元件不加载新的值。来自先前时钟周期的先前值仍存储在这些特定存储元件中,并且接口136将这些先前值发送到目的地140。由源110发送的与信号126的否定分区使能信号相关联的有效载荷数据的特定分区的原始值不被路由部件120存储或输送。另外,这些存储元件不消耗与加载新的值相关联的功率,并且其条件时钟信号不切换。相反,存储元件134中的其他存储元件存储分组124的标头152、地址154和分区使能信号156。这些存储元件接收时钟信号130的未由分区使能信号126赋权的版本。
目的地140接收分组信息,并且目的地140确定分组的类型以及有效载荷数据的特定分区是否在分组中具有相关联否定使能信号。当分组类型指示有效载荷数据的分区中的每个分区应在分组中具有相关联认定使能信号,但分区使能信号中的一个或多个被否定时,目的地140确定分区中的一个或多个需要插入特定数据模式。如先前所描述,当分组类型是全大小写入分组、读取响应分组或高速缓存牺牲分组时,通常认定分区使能信号中的每个分区使能信号。因此,目的地140将否定使能信号解译为指示特定分区应包括特定数据模式。因此,当存储读取响应有效载荷数据时,有效载荷数据汇编器142(或汇编器142)针对特定分区插入特定数据模式。
应注意,源110、目的地140、路由部件120以及逻辑112、114和132以及汇编器142中的每一者都使用硬件电路系统、软件或硬件与软件的组合中的一者来实现。尽管未示出,但在其他实施方案中,除了用于基于分组类型来存储分组的多种类型的队列以外,路由部件还包括多级存储元件。例如,路由部件120使用多个队列来存储读取响应数据、写入数据、读取访问请求、写入访问请求、探测请求等。另外,在一些实施方案中,路由部件120使用仲裁逻辑来确定经由接口136将分组发送到目的地140的次序。
现在转到图2,示出了计算系统200的一个实施方案的一般化框图。先前描述的电路系统和逻辑的编号相同。尽管路由部件120的存储元件234被示出为触发器电路,但其他存储元件是可能的,并且被设想。分组224一般表示由路由部件120接收到的分组,诸如分组150。因此,分组224包括先前针对分组150描述的相同字段。时钟门控逻辑232(或逻辑232)使用来自分组224的分区启用信号来有条件地启用和禁用存储元件234中的一个或多个存储元件的时钟信号130。例如,逻辑232针对被指派为存储与分区使能信号的否定使能信号相关联的有效载荷数据的分区的数据的存储元件234中的每个存储元件禁用时钟信号130。当分区大小是字节时,逻辑232使用字节使能信号作为时钟使能信号。
如所示出,分组224包括N个分区,其中N是非零正整数。所述分区中的每个分区包括M个位,其中M是非零正整数。如先前所描述,分区大小的示例是字节、字、双字等。对于分区N的M个位中的每个位,逻辑232使用分区N使能信号来有条件地启用存储元件234中的相关联存储元件的时钟信号130。当分区大小是字节时,分区N使能是针对分区N的M个位的字节使能信号。逻辑232使用分区N使能信号作为针对从分区N的位0到分区N的位M的有效载荷数据的时钟使能信号。
现在参考图3,示出了用于通过路由部件在计算系统中进行高效数据传送的方法300的一个实施方案。出于论述目的,以依序次序示出此实施方案中(以及图4至图6中)的步骤。然而,应注意,在所描述方法的各种实施方案中,同时地、以与所示出次序不同的次序来执行所描述的要素中的一个或多个,或者完全省略所述要素。也根据需要来执行其他额外要素。本文中所描述的各种系统或设备中的任一者被配置成实现方法300和方法400至600。
源产生分组,并且通过计算系统的通信结构将分组发送到目的地。通信结构包括一个或多个路由部件。特定路由部件的接口接收分组(框302)。路由部件的控制逻辑通过硬件电路系统、软件或硬件与软件的组合来实现。控制逻辑分析所接收分组。例如,控制逻辑对标头中的命令进行解码。如果分组是存储有效载荷数据的数据分组,则控制逻辑检查对应于有效载荷数据的分区的分区使能信号。
如果没有分区具有否定使能信号(条件块304的“否”分支),则控制逻辑针对被指派为存储分区的数据的存储元件维持时钟信号(框306)。然而,如果分区中的任一分区具有否定使能信号(条件框304的“是”分支),则控制逻辑针对被指派为存储这些分区的数据的存储元件禁用时钟信号(框308)。因此,控制逻辑使用分区使能信号作为时钟使能信号。其后,控制逻辑经由诸如通信结构的互连将分组传达到目的地(框310)。
现在参考图4,示出用于通过源在计算系统中进行高效数据传送的方法400的一个实施方案。计算系统中的一个或多个源中的源在计算系统中产生分组(框402)。源的示例是通用中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、多媒体引擎、输入/输出(I/O)装置等。
源确定分组的类型(框404)。分组类型的示例是读取请求分组、读取响应分组、全大小写入请求分组、部分大小写入请求分组、写入数据分组、高速缓存牺牲分组、探测请求分组、一致性命令分组等。在一些实施方案中,源将写入请求分成写入控制分组和写入数据分组。源将写入命令插入到写入控制分组中,并且将写入数据插入对应于写入命令的单独的写入数据分组中。在实施方案中,源将读取请求命令插入读取控制分组中。稍后,目的地接收读控制分组,并且将读取响应命令插入读取控制分组中。目的地还将响应数据插入单独的读取数据分组中。
部分大小写入请求分组是具有针对有效载荷数据的分区的稀疏认定使能信号的分组类型的一个示例。例如,当源需要更新64字节高速缓存行的两个字(8个字节)时,部分大小写入请求分组包括针对待更新的八个字节的八个认定分区使能信号。否定其他56个分区使能信号。在另一示例中,源需要更新除最后一个字(4个字节)之外的所有64字节高速缓存行。因此,部分大小写入请求分组包括针对待更新的六十个字节的60个认定分区使能信号。否定剩余的4个分区使能信号。对于其他分组类型,诸如读取响应分组、高速缓存牺牲分组和全大小写入分组,认定所述分区使能信号中的每个分区使能信号。不存在针对这些分组类型的否定分区使能信号。
如果分组类型指示针对有效载荷数据的分区的稀疏认定使能信号(条件框406的“是”分支),则源维持分区使能信号的值(框408)。然而,如果分组类型不指示针对有效载荷数据的分区的稀疏认定使能信号(条件框406的“否”分支),则源确定是否任何分区包含特定数据模式。特定数据模式的一个示例是分区中的全零。特定数据模式的其他示例是可能的,并且被设想。
如果源确定没有分区包含特定数据模式(条件框410的“否”分支),则方法400的控制流程移动到框408,其中源维持分区使能信号的值。如果源确定任何分区包含特定数据模式(条件框410的“是”分支),则源否定针对包含特定数据模式的分区的使能信号(框412)。在一些实施方案中,源认定分组标头中的指示,所述指示指定所述分组具有与针对有效载荷数据的分区的无稀疏认定使能信号相关联的分组类型。在稍后时间,目的地使用所述指示,而不是对标头中的分组命令进行解码,来确定分组类型是否与针对有效载荷数据的分区的无稀疏认定使能信号相关联。源经由诸如通信结构的互连将分组发射到目的地(框414)。
转到图5,示出了用于识别用于在计算系统中进行高效数据传送的分组类型的方法500的一个实施方案。控制逻辑接收分组。控制逻辑位于计算系统的源或目的地内。控制逻辑通过硬件电路系统、软件或硬件与软件的组合来实现。控制逻辑检查分组(框502)。控制逻辑分析分组的标头以确定分组类型。如果控制逻辑确定分组类型是读取响应类型(条件框504的“是”分支)或全大小写入请求类型(条件框506的“是”分支)或高速缓存牺牲类型(条件框508的“是”分支),则控制逻辑确定分组不包括针对分组的分区的稀疏使能信号(框510)。否则,控制逻辑确定分组确实包括针对分组的分区的稀疏使能信号(框512)。这些结果稍后供控制逻辑用于确定是否如先前在方法400中所描述那样更新分区使能信号。
转到图6,示出了用于通过目的地识别用于在计算系统中进行高效数据传送的分组类型的方法600的一个实施方案。计算系统中的一个或多个目的地中的目的地在计算系统中接收分组(框602)。目的地的示例是系统存储器、通用中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、多媒体引擎、输入/输出(I/O)装置等。目的地确定分组的类型(框604)。如先前所描述,分组类型的示例是读取请求分组、读取响应分组、全大小写入请求分组、部分大小写入请求分组、写入数据分组、高速缓存牺牲分组、探测请求分组、一致性命令分组等。
如果分组类型指示针对有效载荷数据的分区的稀疏认定使能信号(条件框606的“是”分支),则目的地维持分组的分区的所接收数据(框608)。然而,如果分组类型不指示针对有效载荷数据的分区的稀疏认定使能信号(条件框606的“否”分支),则目的地确定是否任何分区具有被否定的相关联使能信号。如果不存在针对有效载荷数据的否定分区使能信号(条件框610的“否”分支),则方法600的控制流程移动到框608,其中目的地维持分组的分区的所接收数据。
如果目的地确定存在针对有效载荷数据的任何否定分区使能信号(条件框610的“是”分支),则目的地用特定数据模式替换这些分区,并且认定对应使能信号(框612)。特定数据模式的一个示例是分区中的全零。特定数据模式的其他示例是可能的,并且被设想。目的地对其中数据在其有效分区中的分组进行处理(框614)。例如,目的地使用认定分区使能信号对分区执行写入操作。这些分区的数据在由存储于分组中的地址所指向的目的地处更新存储在存储器位置处的数据。在一些实施方案中,使用特定数据模式,尽管此特定数据模式并不由源与目的地之间的通信结构进行输送。
现在转到图7,示出了计算系统700的一个实施方案的一般化框图。计算系统700包括在存储器控制器770与客户端790之间的通信结构710。存储器控制器770用于与存储器780介接。尽管在客户端790中示出三个客户端792至796,但计算系统700包括任何数量的客户端。通信结构710(或结构710)包括用于路由控制和数据分组的多种类型的框。例如,除了路由部件750和路由网络760以外,结构710还包括多个路由部件720、762、764和766。计算系统700中的源和目的地以及结构710中的每一者支持特定互连协议。在结构710中输送的分组包括先前针对分组150(图1)描述的相同字段。结构710中的框中的一个或多个包括时钟门控逻辑,所述时钟门控逻辑使用分区使能信号作为时钟使能信号,以禁用用以存储有效载荷数据的分区的存储元件。例如,路由部件720被示出为包括接收分区使能信号744的时钟门控逻辑742。当分区大小是字节时,分区使能信号744是字节使能信号。时钟门控逻辑742通过禁用时钟信号来减少计算系统700的功耗。在各种实施方案中,时钟门控逻辑742具有(图1的)时钟门控逻辑132和(图2的)时钟门控逻辑232的等效功能性。
在一些实施方案中,客户端790是集成电路(IC)(诸如片上系统(SOC))上的各个管芯。在其他实施方案中,客户端790是系统级封装(SiP)或多芯片模块(MCM)中的各个管芯。在又其他实施方案中,客户端790是印刷电路板上的各个管芯或芯片。在各种实施方案中,客户端790用于智能电话、平板电脑、游戏控制台、智能手表、台式计算机等。客户端792、794和796中的每个客户端都是功能块或单元、处理器核心或处理器。例如,在实施方案中,计算系统700包括通用中央处理单元(CPU)792、诸如图形处理单元(GPU)794的高度并行数据架构处理器以及多媒体引擎796。如先前所描述,客户端的其他示例是可能的,诸如显示单元、一个或多个输入/输出(I/O)外围装置,以及用于与多媒体播放器、显示单元等介接的一个或多个集线器。在此类情况下,集线器是计算系统700中的客户端。
存储器控制器770包括用于存储请求和响应的队列。另外,存储器控制器770包括控制逻辑,所述控制逻辑用于对将发送到存储器780的请求进行分组,基于存储器780的时序规范来发送请求,并且支持任何突发模式。存储器控制器770还包括用于存储控制参数的状态和控制寄存器。在各种实施方案中,路由部件720和存储器控制器770中的每一者对所接收存储器访问请求进行重新排序以进行高效无序服务。重新排序是基于以下各项中的一者或多者:优先级水平、服务质量(QoS)参数、存储器访问请求的分组龄期等。尽管示出了单个存储器控制器770,但在其他实施方案中,计算系统700包括各自支持一个或多个存储器通道的多个存储器控制器。
在各种实施方案中,存储器780包括用于存储正在访问的动态随机访问存储器(DRAM)的行内容的行缓冲器。在实施方案中,对存储器780的访问包括第一激活或打开阶段,随后是将整行的内容复制到对应行缓冲器中的阶段。其后,除了更新相关状态信息以外,还存在读取或写入列访问。在一些实施方案中,存储器780包括多个存储库。存储库中的每个存储库包括相应行缓冲器。所访问行由来自客户端790中的一个客户端的所接收存储器访问请求中的地址(诸如DRAM页地址)来标识。在各种实施方案中,行缓冲器存储一页数据。在一些实施方案中,一页是4千字节(KB)的连续数据存储。然而,其他页大小是可能的,并且被设想。
在实施方案中,存储器780包括彼此堆叠的多个三维(3D)存储器管芯。管芯堆叠技术是使得能够使用高带宽和低延迟互连将多个单独的片硅(集成芯片)一起物理地堆叠在同一封装中的制造工艺。在一些实施方案中,管芯并排堆叠在硅中介层上,或直接竖直堆叠在彼此顶部上。SiP的一种构造是将一个或多个存储器芯片堆叠在处理单元旁边和/或处理单元顶部上。
在各种实施方案中,将数据的最新(最近的)副本从存储器780引入客户端790中的一个客户端的一级或多级高速缓存存储器子系统中。基于客户端正在处理的指令,客户端更新数据的副本,并且现在包含数据的最新(最近的)副本。可替代地,客户端不修改从存储器780检索的数据,而是使用所述数据来处理一个或多个应用程序的指令,并且更新其他数据。在稍后时间,当客户端处理其他应用程序的指令时,客户端使用其他数据填充其高速缓存存储器子系统,并且逐出存储在指定存储器地址处的特定数据。通过写入访问请求将数据的副本从客户端790中的对应一个客户端返回到存储器780,以更新存储器780中的所存储副本。
在各种实施方案中,结构710在客户端790之间以及在存储器780与客户端790之间来回传送数据。路由部件762、764和766分别支持与客户端792、794和796的通信协议。在一些实施方案中,路由部件720、750、762、764和766中的每个路由部件与如所示出的单个客户端通信。在其他实施方案中,路由部件720、750、762、764和766中的一个或多个路由部件与多个客户端通信,并且跟踪具有客户端标识符的分组。在一些实施方案中,路由部件720、750、762、764和766至少包括用于存储请求分组和响应分组的队列、用于在将分组发送到网络760之前在所接收分组之间进行仲裁的选择逻辑,以及用于构建分组、对分组进行解码以及支持与路由网络760的通信协议的逻辑。在实施方案中,路由部件720、750、762、764和766已更新地址空间与存储器通道之间的映射。在各种实施方案中,路由部件720、750、762、764和766以及存储器控制器770包括用于实现算法以提供其所需功能的硬件电路系统和/或软件。
在各种实施方案中,结构710包括控制逻辑、状态和控制寄存器,以及用于对请求和响应进行排队、存储控制参数、遵循一个或多个通信和网络协议以及在一条或多条总线上的源与目的地之间高效路由事务的其他存储元件。在实施方案中,路由网络760利用点对点(P2P)环形拓扑中的多个交换机。在其他实施方案中,路由网络760在集群拓扑中利用具有可编程路由表的网络交换机。在又其他实施方案中,路由网络760利用拓扑的组合。
如图所示,仲裁单元730包括读取队列732、写入队列736和选择逻辑740。尽管示出两个队列,但在各种实施方案中,仲裁单元730包括用于存储存储器访问响应的任何数量的队列。选择逻辑740在所选读取响应734与所选写入响应738之间进行选择,以作为所选响应742经由结构710发送到客户端790中的相应一个客户端。在一个实施方案中,仲裁单元730经由接口722从存储器控制器770接收存储器访问响应。在一些实施方案中,仲裁单元730将所接收读取响应存储在读取队列732中,并且将所接收写入响应存储在写入队列736中。在其他实施方案中,所接收读取响应和所接收写入响应存储在同一队列中。在一些实施方案中,仲裁单元730对所接收存储器访问响应进行重新排序以进行高效无序服务。重新排序是基于以下各项中的一者或多者:优先级水平、服务质量(QoS)参数、存储器访问请求的分组龄期等。重新排序算法由读取队列732和写入队列736内或定位在其附近的逻辑(未示出)以及选择逻辑740使用。
在各种实施方案中,仲裁单元730包括可编程控制寄存器和/或控制逻辑,以基于结构710的特性来调适用于对响应进行选择和重新排序的算法。在一些实施方案中,接口722和724中的每一个接口包括用于存储所接收分组的存储元件。时钟门控逻辑742接收数据分组的分区使能信号744,所述数据分组存储被分到分区中的有效载荷数据。时钟门控逻辑742通过禁用至少接口722和724中的存储元件的时钟信号来减少计算系统700的功耗。当路由网络760中的多个部件和路由部件720、750、762、764和766使用依赖于与有效载荷数据的分区相关联的分区使能信号的时钟门控逻辑时,计算系统700以减少的功耗处理应用程序。
在各种实施方案中,软件应用程序的程序指令用以实现先前所描述的方法和/或机制。程序指令以高级编程语言(诸如C)描述硬件的行为。另选地,使用硬件设计语言(HDL),诸如Verilog。程序指令存储在非暂时性计算机可读存储介质上。众多类型的存储介质是可用的。所述存储介质可由计算系统在使用期间存取以将程序指令和伴随的数据提供给所述计算系统进行程序执行。计算系统至少包括一个或多个存储器和执行程序指令的一个或多个处理器。
应该强调,上述实施方案仅为实现方式的非限制性示例。一旦充分了解上述公开内容,众多变型和修改将对本领域的技术人员显而易见。所附权利要求意图被解译为涵盖所有这类变型和修改。
Claims (20)
1.一种计算系统,其包括:
源,其包括被配置成产生分组的电路系统,所述分组包括:
数据有效载荷的多个分区;和
多个使能信号,其各自与所述多个分区中的分区相关联;
目的地;和
路由部件,其耦合到所述源和所述目的地中的每一者;
其中所述路由部件包括电路系统,所述电路被配置成:
从所述源接收所述分组;并且
响应于确定给定分区在所述分组中具有被否定的相关联使能信号,针对被配置成存储所述多个分区中的所述给定分区的数据的所述路由部件的每个存储元件禁用时钟信号。
2.如权利要求1所述的计算系统,其中所述路由部件还被配置成向所述目的地传达:
所述否定的使能信号;和
先前值,其存储在被指派为存储所述给定分区的数据的每个存储元件中。
3.如权利要求1所述的计算系统,其中所述路由部件还被配置成响应于以下情况针对被指派为存储所述给定分区的数据的所述路由部件的每个存储元件启用时钟信号:
确定所述给定分区在所述分组中具有相关联认定使能信号。
4.如权利要求1所述的计算系统,其中所述源还被配置成响应于以下情况而否定所述给定分区的使能信号:
确定所述分组的类型指示所述给定分区在所述分组中具有相关联认定使能信号;并且
确定所述给定分区包括给定数据模式。
5.如权利要求4所述的计算系统,其中指示所述给定分区在所述分组中具有相关联认定使能信号的所述分组的所述类型包括分组的响应类型。
6.如权利要求1所述的计算系统,其中所述目的地还被配置成:
从所述路由部件接收所述分组;并且
响应于以下情况而将所述给定数据模式插入所述分组的所述给定分区中:
确定所述分组的类型指示所述给定分区在所述分组中具有相关联认定使能信号;并且
确定所述给定分区在所述分组中具有相关联否定使能信号。
7.如权利要求1所述的计算系统,其中所述路由部件还包括所述源与所述目的地之间的通信结构的交换机和中继器中的一者。
8.如权利要求1所述的计算系统,其中所述源包括中央处理单元、图形处理单元和多媒体引擎中的一者或多者。
9.一种方法,其包括:
通过源产生分组,所述分组包括:
数据有效载荷的多个分区;和
多个使能信号,其各自与所述多个分区中的分区相关联;
通过目的地处理所述分组;以及
通过路由部件从所述源接收所述分组;
响应于确定给定分区在所述分组中具有相关联否定使能信号,通过所述路由部件针对被指派为存储所述多个分区中的所述给定分区的数据的所述路由部件的每个存储元件禁用时钟信号。
10.如权利要求9所述的方法,其还包括向所述目的地传达:
所述否定的使能信号;和
先前值,其存储在被指派为存储所述给定分区的数据的每个存储元件中。
11.如权利要求9所述的方法,其还包括响应于以下情况而针对被指派为存储所述给定分区的数据的所述路由部件的每个存储元件启用时钟信号:
确定所述给定分区在所述分组中具有相关联认定使能信号。
12.如权利要求9所述的方法,其还包括响应于以下情况而否定所述给定分区的使能信号:
确定所述分组的类型指示所述给定分区在所述分组中具有相关联认定使能信号;并且
确定所述给定分区包括给定数据模式。
13.如权利要求12所述的方法,其中指示所述给定分区在所述分组中具有相关联认定使能信号的所述分组的所述类型包括分组的高速缓存牺牲类型。
14.如权利要求12所述的方法,其中指示所述给定分区在所述分组中具有相关联认定使能信号的所述分组的所述类型包括分组的全大小写入类型。
15.如权利要求9所述的方法,其还包括:
通过所述目的地从所述路由部件接收所述分组;以及
响应于以下情况而通过所述目的地将所述给定数据模式插入所述分组的所述给定分区中;
确定所述分组的类型指示所述给定分区在所述分组中具有相关联认定使能信号;并且
确定所述给定分区在所述分组中具有相关联否定使能信号。
16.如权利要求9所述的方法,其中所述路由部件包括在所述源与所述目的地之间的通信结构的交换机和中继器中的一者。
17.一种设备,其包括:
第一接口,其被配置成从源接收分组,所述分组包括:
数据有效载荷的多个分区;和
多个使能信号,其各自与所述多个分区中的分区相关联;
第二接口,其被配置成将所述分组传达到目的地;
多个存储元件;以及
电路系统,其被配置成:
响应于确定给定分区在所述分组中具有相关联否定使能信号,针对被指派为存储所述多个分区的所述给定分区的数据的所述多个存储元件中的每个存储元件禁用时钟信号。
18.如权利要求17所述的设备,其中所述电路系统还被配置成经由所述第二接口向所述目的地传达:
所述否定的使能信号;和
先前值,其存储在被指派为存储所述给定分区的数据的每个存储元件中。
19.如权利要求17所述的设备,其中所述电路系统还被配置成响应于以下情况而针对被指派为存储所述给定分区的数据的所述多个存储元件中的每个存储元件启用时钟信号:
确定所述给定分区在所述分组中具有相关联认定使能信号。
20.如权利要求17所述的设备,其中所述设备包括在所述源与所述目的地之间的通信结构的交换机。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/725,901 | 2019-12-23 | ||
| US16/725,901 US11223575B2 (en) | 2019-12-23 | 2019-12-23 | Re-purposing byte enables as clock enables for power savings |
| PCT/US2020/065567 WO2021133629A1 (en) | 2019-12-23 | 2020-12-17 | Re-purposing byte enables as clock enables for power savings |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN114830102A true CN114830102A (zh) | 2022-07-29 |
Family
ID=74191841
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202080086926.0A Pending CN114830102A (zh) | 2019-12-23 | 2020-12-17 | 将字节使能重新用作时钟使能以节省功耗 |
Country Status (6)
| Country | Link |
|---|---|
| US (2) | US11223575B2 (zh) |
| EP (1) | EP4081908B1 (zh) |
| JP (1) | JP7682890B2 (zh) |
| KR (1) | KR20220113515A (zh) |
| CN (1) | CN114830102A (zh) |
| WO (1) | WO2021133629A1 (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025085054A1 (en) * | 2023-10-17 | 2025-04-24 | Google Llc | Lpddr5 dram wck clock power saving through command buffering |
Family Cites Families (96)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4760515A (en) | 1985-10-28 | 1988-07-26 | International Business Machines Corporation | Arbitration apparatus for determining priority of access to a shared bus on a rotating priority basis |
| US5553223A (en) | 1990-04-03 | 1996-09-03 | U S West Advanced Technologies, Inc. | Method and system of selectively transmitting display formats and data between a host computer and an intelligent terminal |
| JP2571655B2 (ja) * | 1991-11-27 | 1997-01-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | プロトコル変換機構、交換ネットワーク及びコンピュータ・システム |
| US5903324A (en) * | 1994-06-30 | 1999-05-11 | Thomson Multimedia S.A. | Transport processor interface for a digital television system |
| JPH08147241A (ja) * | 1994-11-22 | 1996-06-07 | Seiko Epson Corp | 情報処理装置およびその構成方法 |
| US5737748A (en) * | 1995-03-15 | 1998-04-07 | Texas Instruments Incorporated | Microprocessor unit having a first level write-through cache memory and a smaller second-level write-back cache memory |
| US6023561A (en) | 1995-06-01 | 2000-02-08 | Advanced Micro Devices, Inc. | System for processing traceable cache trace information |
| US6138140A (en) | 1995-07-14 | 2000-10-24 | Sony Corporation | Data processing method and device |
| US5815653A (en) | 1995-11-13 | 1998-09-29 | You; Lawrence L. | Debugging system with portable debug environment-independent client and non-portable platform-specific server |
| US6058393A (en) | 1996-02-23 | 2000-05-02 | International Business Machines Corporation | Dynamic connection to a remote tool in a distributed processing system environment used for debugging |
| US5706502A (en) | 1996-03-25 | 1998-01-06 | Sun Microsystems, Inc. | Internet-enabled portfolio manager system and method |
| US5761513A (en) | 1996-07-01 | 1998-06-02 | Sun Microsystems, Inc. | System and method for exception handling in dynamically linked programs |
| US5923885A (en) | 1996-10-31 | 1999-07-13 | Sun Microsystems, Inc. | Acquisition and operation of remotely loaded software using applet modification of browser software |
| US6308248B1 (en) * | 1996-12-31 | 2001-10-23 | Compaq Computer Corporation | Method and system for allocating memory space using mapping controller, page table and frame numbers |
| US6618854B1 (en) | 1997-02-18 | 2003-09-09 | Advanced Micro Devices, Inc. | Remotely accessible integrated debug environment |
| US5926838A (en) * | 1997-03-19 | 1999-07-20 | Micron Electronics | Interface for high speed memory |
| US5956743A (en) * | 1997-08-25 | 1999-09-21 | Bit Microsystems, Inc. | Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations |
| US6119247A (en) | 1998-06-22 | 2000-09-12 | International Business Machines Corporation | Remote debugging of internet applications |
| SE514430C2 (sv) | 1998-11-24 | 2001-02-26 | Net Insight Ab | Förfarande och system för bestämning av nättopologi |
| US6163263A (en) * | 1999-02-02 | 2000-12-19 | Pittway Corporation | Circuitry for electrical device in multi-device communications system |
| US6667960B1 (en) | 2000-04-29 | 2003-12-23 | Hewlett-Packard Development Company, L.P. | Protocol for identifying components in a point-to-point computer system |
| US6694392B1 (en) * | 2000-06-30 | 2004-02-17 | Intel Corporation | Transaction partitioning |
| JP4782937B2 (ja) | 2001-03-27 | 2011-09-28 | 株式会社東芝 | 半導体記憶装置 |
| US7027400B2 (en) | 2001-06-26 | 2006-04-11 | Flarion Technologies, Inc. | Messages and control methods for controlling resource allocation and flow admission control in a mobile communications system |
| US20030035371A1 (en) | 2001-07-31 | 2003-02-20 | Coke Reed | Means and apparatus for a scaleable congestion free switching system with intelligent control |
| US7200144B2 (en) | 2001-10-18 | 2007-04-03 | Qlogic, Corp. | Router and methods using network addresses for virtualization |
| US7433948B2 (en) | 2002-01-23 | 2008-10-07 | Cisco Technology, Inc. | Methods and apparatus for implementing virtualization of storage within a storage area network |
| US7184916B2 (en) * | 2003-05-20 | 2007-02-27 | Cray Inc. | Apparatus and method for testing memory cards |
| US20050198459A1 (en) | 2004-03-04 | 2005-09-08 | General Electric Company | Apparatus and method for open loop buffer allocation |
| US20050228531A1 (en) | 2004-03-31 | 2005-10-13 | Genovker Victoria V | Advanced switching fabric discovery protocol |
| US7542473B2 (en) | 2004-12-02 | 2009-06-02 | Nortel Networks Limited | High-speed scheduling apparatus for a switching node |
| US7644255B2 (en) | 2005-01-13 | 2010-01-05 | Sony Computer Entertainment Inc. | Method and apparatus for enable/disable control of SIMD processor slices |
| US7813360B2 (en) | 2005-01-26 | 2010-10-12 | Emulex Design & Manufacturing Corporation | Controlling device access fairness in switched fibre channel fabric loop attachment systems |
| US7724778B2 (en) | 2005-01-28 | 2010-05-25 | I/O Controls Corporation | Control network with data and power distribution |
| US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
| JP2007018099A (ja) | 2005-07-05 | 2007-01-25 | Seiko Epson Corp | データ転送制御装置及び電子機器 |
| KR100685300B1 (ko) * | 2005-11-02 | 2007-02-22 | 엠텍비젼 주식회사 | 인코딩된 데이터 전달 방법 및 그 방법을 수행하는 촬상장치 |
| KR100735756B1 (ko) | 2006-01-02 | 2007-07-06 | 삼성전자주식회사 | 반도체 집적 회로 |
| US7596647B1 (en) | 2006-09-18 | 2009-09-29 | Nvidia Corporation | Urgency based arbiter |
| US7657710B2 (en) | 2006-11-17 | 2010-02-02 | Sun Microsystems, Inc. | Cache coherence protocol with write-only permission |
| US8028131B2 (en) | 2006-11-29 | 2011-09-27 | Intel Corporation | System and method for aggregating core-cache clusters in order to produce multi-core processors |
| US8095816B1 (en) | 2007-04-05 | 2012-01-10 | Marvell International Ltd. | Processor management using a buffer |
| US20090016355A1 (en) | 2007-07-13 | 2009-01-15 | Moyes William A | Communication network initialization using graph isomorphism |
| US8230152B2 (en) | 2009-02-13 | 2012-07-24 | The Regents Of The University Of Michigan | Crossbar circuitry and method of operation of such crossbar circuitry |
| US8549207B2 (en) | 2009-02-13 | 2013-10-01 | The Regents Of The University Of Michigan | Crossbar circuitry for applying an adaptive priority scheme and method of operation of such crossbar circuitry |
| US8448001B1 (en) | 2009-03-02 | 2013-05-21 | Marvell International Ltd. | System having a first device and second device in which the main power management module is configured to selectively supply a power and clock signal to change the power state of each device independently of the other device |
| JP5424726B2 (ja) * | 2009-06-05 | 2014-02-26 | オリンパス株式会社 | 撮像装置 |
| US8359421B2 (en) | 2009-08-06 | 2013-01-22 | Qualcomm Incorporated | Partitioning a crossbar interconnect in a multi-channel memory system |
| US8392661B1 (en) | 2009-09-21 | 2013-03-05 | Tilera Corporation | Managing cache coherence |
| US8103910B2 (en) | 2009-11-13 | 2012-01-24 | International Business Machines Corporation | Local rollback for fault-tolerance in parallel computing systems |
| US9152524B2 (en) * | 2009-11-26 | 2015-10-06 | Nec Corporation | Bus monitor circuit and bus monitor method |
| US9081501B2 (en) | 2010-01-08 | 2015-07-14 | International Business Machines Corporation | Multi-petascale highly efficient parallel supercomputer |
| JP5482466B2 (ja) * | 2010-06-03 | 2014-05-07 | 富士通株式会社 | データ転送装置及びデータ転送装置の動作周波数制御方法 |
| US8667197B2 (en) | 2010-09-08 | 2014-03-04 | Intel Corporation | Providing a fine-grained arbitration system |
| US9455898B2 (en) | 2010-09-17 | 2016-09-27 | Oracle International Corporation | System and method for facilitating protection against run-away subnet manager instances in a middleware machine environment |
| US8918693B2 (en) * | 2010-10-06 | 2014-12-23 | Cleversafe, Inc. | Data transmission utilizing data processing and dispersed storage error encoding |
| US20120221767A1 (en) | 2011-02-28 | 2012-08-30 | Apple Inc. | Efficient buffering for a system having non-volatile memory |
| KR101842245B1 (ko) | 2011-07-25 | 2018-03-26 | 삼성전자주식회사 | 시스템 온 칩 버스 장치 및 그에 따른 루트 클럭 게이팅 방법 |
| WO2013077845A1 (en) | 2011-11-21 | 2013-05-30 | Intel Corporation | Reducing power consumption in a fused multiply-add (fma) unit of a processor |
| US20130262767A1 (en) * | 2012-03-28 | 2013-10-03 | Futurewei Technologies, Inc. | Concurrently Accessed Set Associative Overflow Cache |
| US9170971B2 (en) | 2012-12-26 | 2015-10-27 | Iii Holdings 2, Llc | Fabric discovery for a cluster of nodes |
| US9535860B2 (en) | 2013-01-17 | 2017-01-03 | Intel Corporation | Arbitrating memory accesses via a shared memory fabric |
| US9436634B2 (en) | 2013-03-14 | 2016-09-06 | Seagate Technology Llc | Enhanced queue management |
| JP6185291B2 (ja) * | 2013-06-03 | 2017-08-23 | ローム株式会社 | ワイヤレス送電装置、その制御回路および制御方法 |
| JP6552512B2 (ja) | 2013-10-27 | 2019-07-31 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | 入出力メモリマップユニット及びノースブリッジ |
| US10169256B2 (en) | 2014-01-31 | 2019-01-01 | Silicon Laboratories Inc. | Arbitrating direct memory access channel requests |
| US9268970B2 (en) | 2014-03-20 | 2016-02-23 | Analog Devices, Inc. | System and method for security-aware master |
| US9529400B1 (en) | 2014-10-29 | 2016-12-27 | Netspeed Systems | Automatic power domain and voltage domain assignment to system-on-chip agents and network-on-chip elements |
| US9774503B2 (en) | 2014-11-03 | 2017-09-26 | Intel Corporation | Method, apparatus and system for automatically discovering nodes and resources in a multi-node system |
| EP3238393A4 (en) | 2014-12-27 | 2018-08-08 | Intel Corporation | Technologies for high-performance network fabric security |
| US20160191420A1 (en) | 2014-12-27 | 2016-06-30 | Intel Corporation | Mitigating traffic steering inefficiencies in distributed uncore fabric |
| US9594621B1 (en) | 2014-12-30 | 2017-03-14 | Juniper Networks, Inc. | Online network device diagnostic monitoring and fault recovery system |
| US9652391B2 (en) | 2014-12-30 | 2017-05-16 | Arteris, Inc. | Compression of hardware cache coherent addresses |
| GB2527165B (en) | 2015-01-16 | 2017-01-11 | Imagination Tech Ltd | Arbiter verification |
| JP6883377B2 (ja) * | 2015-03-31 | 2021-06-09 | シナプティクス・ジャパン合同会社 | 表示ドライバ、表示装置及び表示ドライバの動作方法 |
| US10200261B2 (en) | 2015-04-30 | 2019-02-05 | Microsoft Technology Licensing, Llc | Multiple-computing-node system job node selection |
| US20160378168A1 (en) | 2015-06-26 | 2016-12-29 | Advanced Micro Devices, Inc. | Dynamic power management optimization |
| US9971700B2 (en) | 2015-11-06 | 2018-05-15 | Advanced Micro Devices, Inc. | Cache with address space mapping to slice subsets |
| US9983652B2 (en) | 2015-12-04 | 2018-05-29 | Advanced Micro Devices, Inc. | Balancing computation and communication power in power constrained clusters |
| US9918146B2 (en) | 2016-02-08 | 2018-03-13 | Intel Corporation | Computing infrastructure optimizations based on tension levels between computing infrastructure nodes |
| US20170300427A1 (en) * | 2016-04-18 | 2017-10-19 | Mediatek Inc. | Multi-processor system with cache sharing and associated cache sharing method |
| US20180048562A1 (en) | 2016-08-09 | 2018-02-15 | Knuedge Incorporated | Network Processor Inter-Device Packet Source ID Tagging for Domain Security |
| US10298511B2 (en) | 2016-08-24 | 2019-05-21 | Apple Inc. | Communication queue management system |
| US9946646B2 (en) * | 2016-09-06 | 2018-04-17 | Advanced Micro Devices, Inc. | Systems and method for delayed cache utilization |
| US10146585B2 (en) | 2016-09-07 | 2018-12-04 | Pure Storage, Inc. | Ensuring the fair utilization of system resources using workload based, time-independent scheduling |
| JP7206485B2 (ja) | 2016-11-30 | 2023-01-18 | 株式会社ソシオネクスト | 情報処理システム、半導体集積回路及び情報処理方法 |
| US9793919B1 (en) | 2016-12-08 | 2017-10-17 | Advanced Micro Devices, Inc. | Compression of frequent data values across narrow links |
| US10282296B2 (en) * | 2016-12-12 | 2019-05-07 | Intel Corporation | Zeroing a cache line |
| US10248574B2 (en) * | 2017-05-30 | 2019-04-02 | Intel Corporation | Input/output translation lookaside buffer prefetching |
| US10861504B2 (en) | 2017-10-05 | 2020-12-08 | Advanced Micro Devices, Inc. | Dynamic control of multi-region fabric |
| US11196657B2 (en) | 2017-12-21 | 2021-12-07 | Advanced Micro Devices, Inc. | Self identifying interconnect topology |
| KR101936951B1 (ko) * | 2018-04-11 | 2019-01-11 | 주식회사 맴레이 | 메모리 제어 장치 및 이를 포함하는 메모리 시스템 |
| CN109032980B (zh) * | 2018-06-30 | 2023-12-26 | 唯捷创芯(天津)电子技术股份有限公司 | 串行通信装置及串行通信方法 |
| US10558602B1 (en) * | 2018-09-13 | 2020-02-11 | Intel Corporation | Transmit byte enable information over a data bus |
| US11360905B2 (en) * | 2019-05-24 | 2022-06-14 | Texas Instmments Incorporated | Write merging on stores with different privilege levels |
| US11169585B2 (en) * | 2019-08-16 | 2021-11-09 | Apple Inc. | Dashboard with push model for receiving sensor data |
-
2019
- 2019-12-23 US US16/725,901 patent/US11223575B2/en active Active
-
2020
- 2020-12-17 KR KR1020227024396A patent/KR20220113515A/ko active Pending
- 2020-12-17 CN CN202080086926.0A patent/CN114830102A/zh active Pending
- 2020-12-17 WO PCT/US2020/065567 patent/WO2021133629A1/en not_active Ceased
- 2020-12-17 EP EP20842753.4A patent/EP4081908B1/en active Active
- 2020-12-17 JP JP2022536764A patent/JP7682890B2/ja active Active
-
2021
- 2021-12-10 US US17/548,398 patent/US20220103489A1/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| US20210194827A1 (en) | 2021-06-24 |
| JP2023507330A (ja) | 2023-02-22 |
| KR20220113515A (ko) | 2022-08-12 |
| JP7682890B2 (ja) | 2025-05-26 |
| EP4081908B1 (en) | 2026-03-18 |
| EP4081908A1 (en) | 2022-11-02 |
| US11223575B2 (en) | 2022-01-11 |
| WO2021133629A1 (en) | 2021-07-01 |
| US20220103489A1 (en) | 2022-03-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112789603B (zh) | 用于在重排序期间维持高速缓存一致性的方法 | |
| CN100576811C (zh) | 总线装置、总线系统和信息传输方法 | |
| JP7264901B2 (ja) | システム全体の低電力管理 | |
| US11994996B2 (en) | Transmission of address translation type packets | |
| US20250190141A1 (en) | Write Request Buffer | |
| CN112585593B (zh) | 链路层数据打包和封包流控制方案 | |
| JP7682890B2 (ja) | 電力節約のためのクロックイネーブルとしてのバイトイネーブルの転用 | |
| US10684965B2 (en) | Method to reduce write responses to improve bandwidth and efficiency | |
| US12164365B2 (en) | Buffer display data in a chiplet architecture | |
| US20250097167A1 (en) | Gateway Circuit for Routing Multiple Types of Non-System-Memory Transactions | |
| US20240331659A1 (en) | Power management of display data during an idle screen | |
| JP2026511564A (ja) | アイドル時の静止画面の省電力のための各dramにおける連続表示コンテンツの記憶 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |