CN113268442A - 数据处理设备及其操作方法 - Google Patents
数据处理设备及其操作方法 Download PDFInfo
- Publication number
- CN113268442A CN113268442A CN202110023075.1A CN202110023075A CN113268442A CN 113268442 A CN113268442 A CN 113268442A CN 202110023075 A CN202110023075 A CN 202110023075A CN 113268442 A CN113268442 A CN 113268442A
- Authority
- CN
- China
- Prior art keywords
- command
- commands
- comparison
- data processing
- selection history
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 58
- 238000000034 method Methods 0.000 title claims description 22
- 238000004891 communication Methods 0.000 claims abstract description 16
- 230000004044 response Effects 0.000 claims description 11
- 230000015654 memory Effects 0.000 description 43
- 238000010586 diagram Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/374—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
- G06F13/1631—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/372—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a time-dependent priority, e.g. individually loaded time counters or time slot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
- G06F9/38585—Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Bus Control (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开涉及一种数据处理设备,该数据处理设备包括:主装置,被配置为传输针对目的地的命令;从装置,包括分别对应于目的地的多个命令处理区域;以及控制器,被配置为中继主装置与从装置之间的通信。当控制器接收到命令时,控制器将时间戳值分配给命令作为初始值,并在每个命令仲裁周期增加时间戳值,通过在每个命令仲裁周期对具有不同目的地的命令进行比较,以比赛的方式选择命令中具有最大时间戳值的命令,存储每次命令比较的命令选择历史,当所比较的命令的各个时间戳值彼此相同或实质上相同时,基于与所比较的命令相对应的命令选择历史来选择命令。
Description
相关申请的交叉引用
本申请要求于2020年2月14日向韩国知识产权局提交的、申请号为10-2020-0018504的韩国申请的优先权,该韩国申请的全部内容通过引用并入本文。
技术领域
各个实施例总体上可以涉及一种半导体集成装置,并且更特别地,涉及一种数据处理设备及其操作方法。
背景技术
已经研究了各种仲裁技术以提高对诸如集成多个装置的半导体集成装置中的共享存储器的共享资源的访问效率。
当仲裁从至少一个主装置传输到从装置的命令时,可以考虑命令的优先级和延迟,并且可能需要一种仲裁方法以通过考虑优先级和延迟在充分使用共享资源的同时实现最大电力效率和最小延迟。
发明内容
在实施例中,当候选命令的时间戳被认为不适合作为用于从候选命令中进行选择的标准时,例如,当命令中的两个或更多个的时间戳值相同或实质上相同时,数据处理设备使用仲裁历史,在向具有多个处理目的地的从装置发出的候选命令之间(之中)进行选择。
在本公开的实施例中,数据处理设备可以包括:主装置,被配置为传输针对目的地的命令;从装置,包括分别对应于目的地的多个命令处理区域;以及控制器,被配置为中继主装置与从装置之间的通信。当控制器接收到命令时,控制器将时间戳值分配给命令作为初始值,并在每个命令仲裁周期增加时间戳值,通过在每个命令仲裁周期对具有不同目的地的命令进行比较,以比赛(tournament)的方式选择命令中具有最大时间戳值的命令,存储每次命令比较的命令选择历史,当所比较的命令的各个时间戳值彼此相同或实质上相同时,基于与所比较的命令相对应的命令选择历史来选择命令。
在本公开的实施例中,数据处理设备可以包括:主装置,被配置为传输针对目的地的命令;从装置,包括分别与目的地相对应的多个命令处理区域;以及控制器,被配置为中继主装置与从装置之间的通信。控制器包括:时间戳设置器,被配置为在控制器接收到命令时将时间戳值分配给命令中的每一个作为初始值;计数器,被配置为在每个命令仲裁周期增加时间戳值;命令寄存器,被配置为根据到达顺序存储分配了时间戳的命令;以及调度器,被配置为根据目的地并基于到达顺序对分配了时间戳的命令进行分类,并且基于时间戳值来选择针对目的地的最前命令中的任意一个,调度器基于先前命令仲裁周期的命令选择历史来选择命令。
在本公开的实施例中,包括控制器、主装置和从装置的数据处理设备的操作方法包括:当控制器接收到命令时,将时间戳值分配给命令中的每一个作为初始值,并且在该控制器中存储分配了时间戳的命令;在每个命令仲裁周期增加时间戳值;基于到达顺序,根据目的地对分配了时间戳的命令进行分类;基于时间戳值来选择针对目的地的最前命令中的任意一个;以及基于先前命令仲裁周期的命令选择历史来选择命令。
下面更详细地描述了这些和其它特征、方面和实施例。
附图说明
从以下结合附图的详细描述中,将更清楚地理解本公开的主题的上述和其它方面、特征以及优点,其中:
图1示出根据本公开的实施例的数据处理设备的配置;
图2示出根据本公开的实施例的仲裁器的配置;
图3示出根据本公开的实施例的调度器的配置;
图4示出根据本公开的实施例的比较电路的配置;
图5和图6是说明根据本公开的实施例的数据处理设备的操作进程的流程图;
图7示出根据本公开的实施例的数据处理***的配置;
图8是示出根据本公开的实施例的计算架的概念图;
图9示出根据本公开的实施例的计算架的配置;
图10示出根据本公开实施例的操作板的配置;并且
图11示出根据本公开的实施例的存储板的配置。
具体实施方式
参照附图详细描述了本教导的各个实施例。附图是各个实施例(和中间结构)的示意图。这样,将会预期到由于诸如制造技术和/或公差的因素而导致图示的配置和形状的变化。因此,所描述的实施例不应被解释为限于本文示出的特定配置和形状,而是可以包括不脱离所附权利要求所限定的本教导的精神和范围的配置和形状上的偏差。
本文参照本教导的理想实施例的图示描述了本教导。然而,本教导的实施例不应被解释为限制本教导。尽管示出并描述了本教导的一些实施例,但是本领域普通技术人员将理解的是,可以在不脱离本教导的原理和精神的情况下对这些实施例进行改变。
图1是示出根据实施例的数据处理设备10的配置的示图。
根据实施例的数据处理设备10可以包括主装置100、从装置300和控制器200。
主装置100可以包括至少一个主知识财产(Intellectual Property,IP)
M0至Mm,从装置300可以包括至少一个从IP S0至Sn。
主装置100可以对应于主机装置。主装置100可以包括各种处理器、直接存储器访问(DMA)装置、输入/输出子***等,它们可以分别对应于主IP M0至Mm,其中处理器诸如中央处理单元(CPU)、图形处理单元(GPU)和应用处理器。
在实施例中,主装置100可以通过前向通道FCH传输包括从地址的命令,该从地址是指示待处理命令的目的地的信息,并且可以通过后向通道BCH接收响应信号。当命令是写入命令时,主装置100可以传输除了包括从地址之外还进一步包括数据的命令,并且当命令是读取命令时,主装置100可以接收根据命令处理结果的数据以及响应信号。
从装置300可以是由主装置100共享的资源。在实施例中,从装置300可以是共享存储器装置。在实施例中,从装置300可以通过前向通道FCH从主装置100接收命令,并且通过后向通道BCH将根据命令处理结果的数据和响应信号传输到主装置100。
地址、数据和响应信号可以通过独立的通道分别在主装置100和从装置300之间传输,但是实施例不限于此。
控制器200可以被配置为中继主装置100和从装置300之间的通信,并且可以是提供可以在主装置100和从装置300之间交换命令、数据和响应信号的逻辑/物理环境的互连器。在实施例中,控制器200可以用作前向通道FCH和后向通道BCH中的一者或两者中的组件。控制器200可以包括主接口210、仲裁器220和从接口230。
主接口210可以通过前向通道FCH接收主装置100的命令并将接收到的命令传输到仲裁器220,并且可以通过后向通道BCH将从从装置300提供的数据和/或响应信号传输到主装置100。
仲裁器220可以被配置为根据优先级和延迟来调度通过前向通道FCH传输的主装置100的命令。
从接口230可以通过前向通道FCH将所调度的命令传输到从装置300,并且可以通过后向通道BCH接收从从装置300输出的数据和/或响应信号,并且将接收到的数据和/或响应信号传输到主装置100。
从主装置100传输的命令可以包括指示待处理命令的位置的目的地地址。从装置300可以是包括多个存储装置的存储器装置,例如,分别用作目的地的多个存储库,并且在这种情况下,目的地地址可以包括指示多个存储库中的存储库的存储库地址。
在实施例中,仲裁器220可以将时间戳分配给从主装置100接收的命令,并且根据到达顺序存储分配了时间戳的命令。仲裁器220可以计数,例如在每个命令仲裁周期增加分配给每个命令的时间戳。在实施例中,分配给命令的时间戳的初始值可以是常数,例如1,但是实施例不限于此。
在实施例中,仲裁器220可以通过在每个命令仲裁周期使用一个或多个比较阶段(stage)成对地比较具有不同目的地的命令,以比赛(tournament)的方式选择具有最大时间戳值的命令,并且可以存储每个比较阶段的命令选择历史。当待比较的每个命令对中的命令(例如,比较目标命令)的时间戳值彼此相同时,仲裁器220可以基于先前命令仲裁周期的命令选择历史来选择命令。
在实施例中,仲裁器220可以根据到达顺序依次地接收命令,根据目的地对接收到的命令进行分类,并且基于时间戳来选择根据目的地进行分类的最前命令中的一个(例如,从针对该目的地的相应最早的未处理的命令中选择的命令)。当比较目标命令的时间戳值相同或无法比较时,仲裁器220可以参考先前命令仲裁周期的命令选择历史来选择先前命令仲裁周期中未选择的目的地的命令。例如,在实施例中,当将针对第一目的地的第一命令与针对第二目的地的第二命令进行比较并且两个命令具有相同的时间戳值时,如果在先前命令仲裁周期中选择了针对第一目的地的命令,则选择针对第二目的地的第二命令;但是,如果在先前命令仲裁周期中选择了针对第二目的地的命令,则选择针对第一目的地的第一命令。
根据如上所述的本技术,仲裁器220可以将针对从装置300的目的地接收的命令之中具有最大时间戳值的命令提供到相应的目的地,以进行处理。
仲裁器220中排队进行处理的每个命令的时间戳可以在每个命令仲裁周期增加,并且在命令以未处理的状态等待时可能收敛到最大值。当对到控制器200的到达时间相同的命令的时间戳值进行比较时,或者当对时间戳值收敛到最大值的命令的时间戳值进行比较时,仲裁器220可以选择先前命令仲裁周期中未选择的目的地的命令。
仲裁器220可以允许优先处理针对到控制器200的到达时间具有优先级的目的地的命令。此外,可以防止针对特定目的地的命令被优先处理,或者可以防止缺少针对特定目的地的命令的处理,因此可以均匀地处理针对各目的地的命令。
图2是示出根据实施例的仲裁器的配置的示图。
参照图2,根据实施例的仲裁器220可以包括时间戳(TS)设置器410、命令寄存器420、计数器430和调度器440。
当控制器200接收由主装置100传输的、包括目的地地址和(对于某些命令)数据的命令CMD时,TS设置器410可以在控制器200接收到命令CMD的时间点将时间戳TS分配到初始值并将分配了时间戳(TS)的命令存储在命令寄存器420中。
命令寄存器420可以根据输入到控制器200的顺序将分配了时间戳(TS)的命令存储在条目ETR中的每一个中。在实施例中,命令寄存器420可以是先进先出(FIFO)缓冲器,但是实施例不限于此。在实施例中,可以为多个从装置中的每一个或为多个从装置的目的地(存储库)中的每一个设置命令寄存器420。命令寄存器420可以共同地设置在多个从装置中或构成多个从装置的目的地(存储库)中。
在命令寄存器420的每个条目ETR中,可以存储命令标识符(ID)CMD ID、目的地地址ADD、数据DATA(在写入命令的情况下)、时间戳值TS和命令有效性标志VAL。命令ID CMDID可以指示命令类型,例如,命令是写入命令还是读取命令。目的地地址ADD可以对应于从装置300内与待处理的相应命令有关的位置。当从装置300是包括多个存储库的共享存储器装置时,目的地地址ADD可以包括存储库地址,但是实施例不限于此。时间戳值TS可以指示由TS设置器410分配的命令到达时间信息。有效性标志VAL可以指示相应命令的处理状态,例如,指示命令处理是否完成,例如,指示“有效”的有效性标志VAL可以指示相应命令正在等待处理。
计数器430可以计数,例如在将分配了时间戳的命令存储在命令寄存器420中之后,在每个命令仲裁周期增加每个分配了时间戳TS的命令的时间戳值。在实施例中,分配了时间戳的命令的时间戳值可以对应于分配了TS的命令已经存储在命令寄存器420中的时间量。在实施例中,多于一个的命令可以在命令仲裁周期期间到达仲裁器220,并且因此,多个分配了TS的命令可以具有相同的时间戳值。
调度器440可以通过在每个命令仲裁周期成对地比较具有不同目的地地址ADD的命令,以比赛的方式选择具有最大时间戳值TS的命令,并且可以存储每个比较阶段的命令选择历史。当比较目标命令的时间戳值TS彼此相同或实质上相同时,调度器440可以基于先前命令仲裁周期的命令选择历史来选择命令。
另一方面,调度器440可以基于到达时间,根据目的地对命令寄存器420中存储的命令进行分类,并且可以基于时间戳来选择根据目的地进行分类的最前命令中的一个。例如,在具有分别对应于多个目的地的多个命令寄存器420的实施例中,调度器440可以从每个命令寄存器420接收最前命令(例如,最早的未处理的命令)作为比较目标命令,并且根据它们的时间戳值从比较目标命令中选择一个命令。当两个比较目标命令的时间戳值彼此相同时,仲裁器220可以使用先前命令仲裁周期的命令选择历史来选择指向先前命令仲裁周期中未选择的目的地的命令。
图3是示出根据实施例的调度器440的配置的示图。
根据实施例的调度器440可以包括多个比较阶段4411至441N,并且多个比较阶段4411至441N中的每一个可以包括一个或多个比较电路。
当假设目的地的数量是2N时,调度器440可以包括N个比较阶段4411至441N。比较阶段4411至441N中的每一个可以包括2(N-m)个比较电路COMP m_(2(N-m))。在此,N和m为自然数,m代表阶段序号。
具有不同目的地的命令CMD_B_x可以输入到比较阶段4411至441N中的每一个,并且比较阶段4411至441N中的比较电路COMP m_(2(N-m))中的每一个可以通过对具有不同目的地的一对命令的时间戳值进行比较来选择具有更大时间戳值的命令。在此,x可以是从装置中的多个目的地之中的目的地的地址。关于比较电路COMP m_(2(N-m))选择命令的信息可以作为命令选择历史HIS_m_(2(N-m))反馈到比较电路的输入端子。另一方面,当每个比较电路COMP m_(2(N-m))基于时间戳将输入命令中的任意一个切换到输出端子时,比较电路COMP m_(2(N-m))可以将切换信息反馈到输入端子。
在实施例中,可以将各自具有不同目的地的2N个命令CMD_B_0至CMD_B_(2N-1)输入到第一比较阶段4411;在分别为目的地设置了多个命令寄存器420的实施例中,命令CMD_B_0至CMD_B_(2N-1)中的每一个可以来自多个命令寄存器420中的相应的命令寄存器420。2N-1个比较电路COMP 1_1至COMP 1_2N-1可以成对地比较2N个命令,以分别选择每个命令对中的任意一个命令。作为比较电路COMP 1_1至COMP 1_2N-1的选择信息的命令选择历史HIS 1(1)至HIS 1(2N-1)可以反馈到第一比较阶段4411中的比较电路COMP 1_1至COMP 1_2N-1中的相应的比较电路的输入端子。因此,可以在第一比较阶段4411中选择2N个命令的一半(例如2N -1个命令)。
随着比较操作从第二比较阶段4412进行到第N比较阶段441N,从比较阶段4412至441N中的每一个输出的命令的数量可以是每个阶段的相应输入命令的一半,该输入命令是从先前比较阶段4411至441(N-1)的比较电路中选择并输出的命令,并且可以从最终的比较阶段441N选择并输出一个命令CMD_B_y。
图4是示出根据实施例的比较电路的配置的示图。
参照图4,比较电路COMP可以包括控制信号生成器510、第一选择器520和第二选择器530。
比较电路COMP可以接收一对命令CMD_B_n和CMD_B_n+1,并且该对命令CMD_B_n和CMD_B_n+1可以分别包括时间戳TSn和TSn+1、目的地地址BAn和BAn+1、命令类型CMDn和CMDn+1以及有效性标志VALn和VALn+1。
控制信号生成器510可以被配置为基于该对输入命令CMD_B_n和CMD_B_n+1的有效性标志VALn和VALn+1来输出控制信号CON。
在实施例中,基于该对命令CMD_B_n和CMD_B_n+1的有效性标志VALn和VALn+1,当该对命令CMD_B_n和CMD_B_n+1中的任意一个有效时,控制信号生成器510可以生成具有启用状态的控制信号CON。当该对命令CMD_B_n和CMD_B_n+1都无效时,控制信号生成器510可以生成具有禁用状态的控制信号CON。
第一选择器520可以响应于控制信号CON而被启用,接收该对命令CMD_B_n和CMD_B_n+1,接收先前命令仲裁周期中由第二选择器530生成的命令选择历史HIS,并且输出指示命令CMD_B_n和CMD_B_n+1中的任意一个作为初步被选择命令的初步选择信号SEL_PRE。
在实施例中,当该对输入命令CMD_B_n和CMD_B_n+1都处于未处理的状态时(例如,当有效性标志VALn和VALn+1都指示有效时),第一选择器520可以基于时间戳TSn和TSn+1确定初步选择信号SEL_PRE。当输入命令的时间戳值TSn和TSn+1彼此相同时,第一选择器520可以参考命令选择历史HIS,选择具有与先前命令仲裁周期中选择的目的地BAn或BAn+1不同的目的地BAn+1或BAn的命令。当该对命令CMD_B_n和CMD_B_n+1中仅任意一个处于未处理的状态时,第一选择器520可以输出指示该未处理的命令的初步选择信号SEL_PRE。当控制信号CON具有禁用状态时,第一选择器520可以输出指示没有命令被选择的丢弃信号DISCARD。
第二选择器530可以接收该对命令CMD_B_n和CMD_B_n+1、从第一选择器520输出的初步选择信号SEL_PRE以及丢弃信号DISCARD作为输入信号,并且基于该对命令CMD_B_n和CMD_B_n+1的有效性标志VALn和VALn+1来输出命令选择信号CMD_B_n,n+1。
在实施例中,当该对命令CMD_B_n和CMD_B_n+1两者都有效时(例如,当两者都未被处理时),基于该对输入命令CMD_B_n和CMD_B_n+1的有效性标志VALn和VALn+1,第二选择器530可以输出由第一选择器520输出的初步选择信号SEL_PRE指示的命令作为命令选择信号CMD_B_n,n+1。
当该对输入命令CMD_B_n和CMD_B_n+1中仅一个有效时(例如,当仅一个未被处理时),基于该对输入命令CMD_B_n和CMD_B_n+1的有效性标志VALn和VALn+1,第二选择器530可以输出该未处理的命令作为命令选择信号CMD_B_n,n+1。
当该对命令CMD_B_n和CMD_B_n+1的有效性标志VALn和VALn+1两者都无效时,例如,当该两个命令的处理都完成时,第二选择器530可以输出丢弃信号DISCARD作为命令选择信号CMD_B_n,n+1,因此该两个命令可以不被选择并且可以被忽略。在实施例中,接收丢弃信号DISCARD作为命令选择信号CMD_B_n,n+1的调度器440的下一个阶段可以确定命令选择信号CMD_B_n,n+1无效。在实施例中,输出丢弃信号DISCARD可以对应于输出具有被设置为无效的有效性标志VALn,n+1的命令选择信号CMD_B_n,n+1。
当输入命令中的任意一个作为命令选择信号CMD_B_n,n+1输出时,命令选择历史HIS可以作为用于输出所选择的命令的选择信息而反馈到第一选择器520的输入端子,并且可以在下一个命令仲裁周期中被参考。命令选择历史包括对命令选择信号CMD_B_n,n+1的目的地BAn,n+1的指示。
图5和图6是说明根据实施例的数据处理设备的操作进程的流程图。
在从主装置100接收命令CMD,该命令CMD包括从地址(例如,存储库地址)和数据(在写入命令的情况下)(S101)时,控制器200的仲裁器220可以将时间戳TS分配给所传输的命令CMD,并且存储分配了时间戳(TS)的命令(S103)。在实施例中,分配了TS的命令的时间戳可以用于确定分配了TS的命令自从被控制器200接收以来等待处理了多长时间。
仲裁器220可以通过每个命令仲裁周期的比较阶段,成对地比较具有不同目的地的命令,以比赛的方式选择具有最大时间戳值的命令(指示,例如,为进行处理等待了最长时间的命令);下面将提供对选择命令的进程的详细描述。
仲裁器220可以根据目的地并基于到达顺序对命令进行分类(S201),并且通过成对地接收根据目的地进行分类的最前命令来确定命令对的有效性(S203)。在实施例中,根据目的地的最前命令对应于为在该目的地中进行处理的、为进行处理已经等待了最长时间的命令。
当作为操作S203的确定结果,确定每个命令对中的两个命令都有效时,仲裁器220可以基于输入命令的时间戳TS和先前命令仲裁周期的命令选择历史来选择输入命令中的任意一个命令(S205)。在实施例中,如图6所示,当仲裁器220在操作S205中基于时间戳和命令选择历史来选择命令时,仲裁器220可以确定输入命令的时间戳值TS是否彼此相同(S301)。当两个输入命令的输入时间点相同,或者当两个输入命令的时间戳值都已收敛到时间戳的最大值并因此彼此相同(S301中为“是”)时,仲裁器220可以基于先前命令仲裁周期的命令选择历史,选择针对目的地的命令,该目的地不是先前命令仲裁周期中选择的命令的目的地(S303)。当时间戳值彼此不同(S301中为“否”)时,仲裁器220可以选择具有更大时间戳值的目的地的命令(S305)。
当作为操作S203的确定结果,输入命令中仅任意一个有效时,仲裁器220可以选择有效命令(S207)。
当作为操作S203的确定结果,两个输入命令都无效时,仲裁器220可以丢弃相应比较阶段的比较结果,并且允许在下一个比较阶段中忽略该相应比较阶段的比较结果(S209)。
操作S201至S209中执行的进程可以在每个比较阶段重复,并且可以在最终的比较阶段中选择任意一个命令。每个比较阶段中执行的操作S201至S209的进程可以对应于一个命令仲裁周期。
在实施例中,主装置的命令可以根据命令的目的地而进行分类并且可以基于到达顺序而在与目的地相对应的命令寄存器中排队,并且针对目的地中的每一个的命令寄存器中的最前命令之中的具有最大时间戳值的命令可以被优先处理。可以通过命令的成对比较来确定最前命令的最大时间戳值。然而,当命令对中的命令的时间戳值彼此相同时,基于先前命令仲裁周期的命令选择历史来选择先前命令仲裁周期中未选择的目的地的未处理的命令,并且因此,可以均匀地处理针对各个目的地的命令。
图7示出根据实施例的数据处理***1000。数据处理***1000可以包括多个计算架20、管理接口30以及被配置为使得能够在计算架20和管理接口30之间进行通信的网络40。数据处理***1000可以具有机架规模(rack-scale)的架构,并且可以用于数据中心等,以进行大规模数据处理。
多个计算架20中的每一个可以与其它计算架20组合来实施一个计算***。稍后将描述计算架20的详细配置和操作。
管理接口30可以为用户提供交互式接口,以控制、操作或管理数据处理***1000。管理接口30可以使用包括以下中的任意一种的任意类型的计算装置来实施:计算机、多处理器***、服务器、机架式服务器、台式机服务器(board server)、膝上型计算机、台式计算机、平板电脑、可穿戴计算***、网络装置、Web装置、分布式计算***、基于处理器的***、客户电子装置等。
在一些实施例中,数据处理***1000可以利用具有待由计算架20执行的计算功能和待由管理接口30执行的用户接口功能的分布式***来实施。在其它实施例中,数据处理***1000可以利用虚拟云服务器来实施,该虚拟云服务器包括通过网络40分布的多个计算装置。管理接口30可以包括处理器、输入/输出(I/O)子***、存储器、数据存储装置和通信电路。
网络40可以是在计算架20和管理接口30之间和/或在计算架20之间交换数据的通道。网络40可以由各种有线和/或无线网络来实施。例如,网络40可以包括公共可访问的全球网络,例如有线/无线局域网(LAN)、广域网(WAN)、蜂窝网络和/或因特网。在另一示例中,网络40可以包括一个或多个附属(或辅助)网络装置,例如附属(或辅助)计算机、路由器和交换机。在另一示例中,网络40可以包括基于接口标准的接口网络,例如用于加速器的高速缓存相干互连(cache coherent interconnect for accelerators,CCIX)和GEN-Z。
图8示出根据实施例的计算架20的架构。
参照图8,计算架20不受组件的结构、类型和组件名称等的限制,并且计算架20可以包括各种类型的组件。例如,计算架20可以包括多个抽屉21至29。多个抽屉21至29中的每一个可以包括多个板。
在各个实施例中,计算架20可以由适当数量的计算板COMPUTE、存储板MEMORY和/或互连板INTERCONNECT的组合来实施。在此,尽管定义了计算架20由多个板的组合来实施,但是可以定义,计算架20由诸如抽屉、模块、托盘、板、底架和单元的各种不同地命名的组件来实施。
为了便于实施,计算架20的组件可以具有根据其功能分类和区分的各个架构。计算架20可以具有从顶部开始按照互连板、计算板和存储板的顺序分类的架构,但是实施例不限于此。计算架20和由该计算架20实施的计算***可以被称为“机架规模***”或“分解***(disaggregated system)”。存储板可以被称为“存储器***”。
在各个实施例中,计算***可以由一个计算架20来实施。在其它实施例中,计算***可以由两个或更多个计算架中包括的所有组件、两个或更多个计算架中包括的组件中的一些、或者一个计算架20中包括的组件中的一些来实施。
在各个实施例中,计算***可以由一个计算架20中包括的适当数量的计算板、存储板和互连板的组合来实施。如图8所示,计算架20A可以由两个计算板COMPUTE、三个存储板MEMORY和一个互连板INTERCONNECT的组合来实施。在另一示例中,计算架20B可以由三个计算板COMPUTE、两个存储板MEMORY和一个互连板INTERCONNECT的组合来实施。在又一示例中,计算架20C可以由一个计算板COMPUTE、四个存储板MEMORY和一个互连板INTERCONNECT的组合来实施。
尽管图8示出计算架20由适当数量的计算板、存储板和互连板的组合来实施的示例,但是计算架20可以包括典型服务器中可以包括的附加组件,例如电力***、冷却***、I/O装置等。
图9示出根据实施例的计算架20的配置。
参照图9,计算架20可以包括多个计算板2000、多个存储板4000和互连板3000。多个计算板2000可以被称为池式(pooled)计算板、池式计算***等。类似地,多个存储板可以被称为池式存储板、池式存储器***等。在此,尽管定义了计算架或计算***由多个板的组合来实施,但是计算架或计算***可以由诸如抽屉、模块、托盘、板、底架或单元的各种不同地命名的组件来实施。
多个计算板2000中的每一个可以包括一个或多个处理元件,其中组合了诸如处理器、处理/控制电路和中央处理单元(CPU)中的一个或多个的硬件以及在硬件上可运行的软件。
多个存储板4000中的每一个可以包括诸如易失性存储器和非易失性存储器的存储器中的一个或多个。例如,多个存储板4000中的每一个可以包括动态随机存取存储器(DRAM)、闪速存储器、存储卡、硬盘驱动器(HDD)、固态驱动器(SSD)或其组合。
多个存储板4000中的每一个可以由计算板2000中的每一个中包括的一个或多个处理元件划分、分配或者指定和使用。多个存储板4000中的每一个可以存储待由计算板2000初始化和/或运行的一个或多个操作***(OS)。
互连板3000可以由通信电路、通信装置或其组合来实施,该互连板3000可以由计算板2000中的每一个中包括的一个或多个处理元件划分、分配以及指定和使用。例如,互连板3000可以由任意数量的网络接口端口、接口卡或接口开关来实施。互连板3000可以使用与一种或多种有线或无线通信技术相关联的协议,以运行通信。例如,互连板3000可以根据诸如高速***组件互连(PCIe)、快速路径互连(QPI)、以太网等的协议中的一种或多种来支持计算板2000与存储板4000之间的通信。互连板3000可以通过诸如CCIX和GEN-Z的接口标准联接到计算板2000。
图10示出根据实施例的图9所示的计算板2000的配置。
参照图10,计算板2000可以包括多个CPU 2100、多个本地存储器2200和I/O接口2300。
CPU 2100可以在图9所示的多个存储板4000之中划分、分配或指定待使用的一个或多个存储板。CPU 2100可以对被划分、分配或指定的一个或多个存储板进行初始化,并对该一个或多个存储板执行数据读取操作、数据写入(或编程)操作等。
本地存储器2200可以存储执行CPU 2100的操作所需的数据。在各个实施例中,本地存储器2200可以与CPU 2100一一对应。
I/O接口2300可以通过图9的互连板3000支持CPU 2100和存储板4000之间的接口连接。I/O接口2300可以使用与一种或多种有线或无线通信技术相关联的协议,将数据从CPU 2100输出到互连板3000并将数据从互连板3000输入到CPU 2100。例如,I/O接口2300可以根据诸如PCIe、QPI、以太网等协议中的一种或多种来支持CPU 2100与互连板3000之间的通信。I/O接口2300可以根据诸如CCIX和GEN-Z的接口标准来支持CPU 2100与互连板3000之间的通信。
图11是示出根据实施例的存储板4000的配置的示图。
参照图11,存储板4000可以包括控制器4100和多个存储器组4200。存储器组4200可以包括一种或多种类型的存储器装置4200A、4200B和4200C。存储器装置4200A、4200B和4200C可以根据控制器4100的控制来存储(写入)数据和输出(读取)所存储的数据。多个存储器组4200可以包括第一存储器装置4200A、第二存储器装置4200B和第三存储器装置4200C。第一至第三存储器装置4200A、4200B和4200C可以具有彼此相同的特性或彼此不同的特性。在各个实施例中,就存储容量或延迟而言,第一至第三存储器装置4200A、4200B和4200C可以是具有彼此相同的特性或彼此不同的特性的存储器装置。
控制器4100可以包括输入/输出(I/O)接口5300、数据控制器5100以及作为分别对应于存储器组4200的存储器接口的多个存储器控制器iMC0至iMC2(示出为存储器控制器5200A、5200B和5200C)。
本发明的上述实施例旨在说明而非限制本发明。各种替代方案和等同方案是可能的。本发明不受本文描述的实施例的限制。本发明也不限于任何特定类型的半导体装置。鉴于本公开,其它增加、减少或修改是显而易见的,并且旨在落入所附权利要求的范围内。
Claims (19)
1.一种数据处理设备,包括:
主装置,传输针对每个目的地的命令,所述目的地是用于处理命令的从装置;
所述从装置包括分别对应于所述目的地的多个命令处理区域;以及
控制器,中继所述主装置与所述从装置之间的通信,
其中当所述控制器接收到所述命令时,所述控制器将时间戳值分配给所述命令作为初始值,并且在每个命令仲裁周期增加所述时间戳值,
通过在每个命令仲裁周期对具有不同目的地的命令进行比较,选择所述命令之中具有最大时间戳值的命令,存储每次命令比较的命令选择历史,当所比较的命令的各个时间戳值彼此相同或实质上相同时,基于与所比较的命令相对应的命令选择历史来选择命令。
2.根据权利要求1所述的数据处理设备,其中当所比较的命令有效时,所述控制器基于所比较的命令的各个时间戳值以及与所比较的命令相对应的所述命令选择历史来选择所述命令。
3.根据权利要求1所述的数据处理设备,其中当所比较的命令中的任意一个命令有效时,所述控制器选择有效的命令。
4.根据权利要求1所述的数据处理设备,其中当所比较的命令无效时,所述控制器丢弃当前比较阶段的比较结果,而不将所述当前比较阶段的比较结果传输到下一个比较阶段。
5.根据权利要求1所述的数据处理设备,其中所述控制器以比赛的方式选择所述命令之中具有最大时间戳值的命令。
6.一种数据处理设备,包括:
主装置,传输针对目的地的命令;
从装置,包括分别对应于所述目的地的多个命令处理区域;以及
控制器,中继所述主装置与所述从装置之间的通信,
其中所述控制器包括:
时间戳设置器,当所述控制器接收到所述命令时,将时间戳值分配给所述命令中的每一个命令作为初始值;
计数器,在每个命令仲裁周期增加所述时间戳值;
命令寄存器,根据到达顺序存储分配了时间戳的命令;以及
调度器,根据目的地并基于到达顺序对所述分配了时间戳的命令进行分类,并且基于所述时间戳值来选择针对所述目的地的最前命令中的任意一个命令,所述调度器基于先前命令仲裁周期的命令选择历史来选择命令。
7.根据权利要求6所述的数据处理设备,其中当所述最前命令中的两个或更多个最前命令的时间戳值彼此相同或实质上相同时,所述调度器基于所述命令选择历史来选择所述命令,并且
其中所述调度器基于所述命令选择历史来选择目的地的命令,所述目的地不对应于在所述先前命令仲裁周期中选择的命令的目的地。
8.根据权利要求6所述的数据处理设备,其中所述调度器包括多个比较阶段,并且
所述比较阶段中的每一个比较阶段包括比较电路,所述比较电路响应于所述命令的特性和所述命令选择历史来选择具有不同目的地的命令中的任意一个命令,并且在每个命令仲裁周期中反馈选择结果作为所述命令选择历史。
9.根据权利要求8所述的数据处理设备,其中当一对命令中的两个命令都有效时,所述比较电路基于所述一对命令的各个时间戳值和所述命令选择历史来选择所述一对命令中的一个命令。
10.根据权利要求8所述的数据处理设备,其中当所述命令中的任意一个命令有效时,所述比较电路选择有效命令。
11.根据权利要求8所述的数据处理设备,其中当所述命令无效时,所述比较电路丢弃相应比较阶段的比较结果,而不将所述相应比较阶段的比较结果传输到下一个比较阶段。
12.一种用于数据处理设备的方法,所述数据处理设备包括控制器、主装置和从装置,所述方法包括:
当所述控制器接收到命令时,将时间戳值分配给所述命令中的每一个命令作为初始值,并且将分配了时间戳的命令存储在所述控制器中;
在每个命令仲裁周期增加所述时间戳值;
基于到达顺序,根据目的地对所述分配了时间戳的命令进行分类;
基于所述时间戳值来选择针对所述目的地的最前命令中的任意一个命令;以及
基于先前命令仲裁周期的命令选择历史来选择命令。
13.根据权利要求12所述的方法,其中当所述最前命令中的两个或更多个最前命令的时间戳值的使用被认为不适合用于从所述命令中进行选择时,基于所述先前命令仲裁周期的所述命令选择历史来选择所述命令。
14.根据权利要求13所述的方法,其中当所述最前命令中的两个或更多个最前命令的时间戳值彼此相同或实质上相同时,所述最前命令中的两个或更多个最前命令的时间戳值被认为不适合作为用于从所述命令中进行选择的标准。
15.根据权利要求13所述的方法,其中当所述时间戳值彼此相同时,选择所述命令包括:基于所述命令选择历史来选择目的地的命令,在所述先前命令仲裁周期中未选择针对所述目的地的命令。
16.根据权利要求13所述的方法,其中选择针对所述目的地的所述最前命令中的一个命令包括:
成对地比较具有不同目的地的所述命令的时间戳值;
响应于时间戳值比较结果和所述命令选择历史,选择每个命令对中的命令中的任意一个命令;以及
反馈每个命令仲裁周期的选择结果作为所述命令选择历史。
17.根据权利要求16所述的方法,其中选择每个命令对中的所述命令中的任意一个命令包括:
确定待比较的所述命令对中的所述命令的有效性;以及
当待比较的所述命令对中的两个命令都有效时,基于所述时间戳值比较结果和所述命令选择历史来选择所述命令。
18.根据权利要求16所述的方法,其中选择每个命令对中的所述命令中的任意一个命令包括:
确定待比较的所述命令对中的所述命令的有效性;以及
当待比较的所述命令对中的所述命令中的任意一个命令有效时,选择有效命令。
19.根据权利要求16所述的方法,其中选择每个命令对中的所述命令中的任意一个命令包括:
确定待比较的所述命令对中的所述命令的有效性;以及
当待比较的所述命令对中的两个命令都无效时,丢弃当前比较阶段的比较结果,而不将所述当前比较阶段的比较结果传输到下一个比较阶段。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0018504 | 2020-02-14 | ||
KR1020200018504A KR20210103836A (ko) | 2020-02-14 | 2020-02-14 | 데이터 처리 장치 및 그 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113268442A true CN113268442A (zh) | 2021-08-17 |
CN113268442B CN113268442B (zh) | 2024-08-23 |
Family
ID=77227984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110023075.1A Active CN113268442B (zh) | 2020-02-14 | 2021-01-08 | 数据处理设备及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11449449B2 (zh) |
KR (1) | KR20210103836A (zh) |
CN (1) | CN113268442B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6973427B2 (ja) * | 2019-02-15 | 2021-11-24 | 株式会社安川電機 | 通信システム、通信方法、及びプログラム |
TWI813316B (zh) * | 2022-05-31 | 2023-08-21 | 瑞昱半導體股份有限公司 | 多端資料存取控制方法與資料存取系統 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070174529A1 (en) * | 2005-12-29 | 2007-07-26 | Intel Corporation | Queue manager having a multi-level arbitrator |
US20140019655A1 (en) * | 2009-02-13 | 2014-01-16 | Supreet Jeloka | Single cycle arbitration |
US20160103619A1 (en) * | 2014-10-13 | 2016-04-14 | Realtek Semiconductor Corp. | Processor and method for accessing memory |
US20180217951A1 (en) * | 2015-09-28 | 2018-08-02 | Sandisk Technologies Llc | Systems, Methods, and Computer-Readable Media for Managing Instruction Fetch in Virtual Computing Environments |
CN108958797A (zh) * | 2017-05-18 | 2018-12-07 | 三星电子株式会社 | 应用处理器和集成电路 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2387932B (en) | 2002-04-26 | 2005-06-22 | Motorola Inc | Apparatus and method for scheduling tasks in a communications network |
US7120714B2 (en) * | 2003-05-27 | 2006-10-10 | Intel Corporation | High-speed starvation-free arbiter system, rotating-priority arbiter, and two stage arbitration method |
US7975086B1 (en) * | 2004-03-08 | 2011-07-05 | Pmc-Sierra Us, Inc. | Apparatus for real-time arbitration between masters and requestors and method for operating the same |
US7263566B2 (en) * | 2004-12-30 | 2007-08-28 | Qualcomm Incorporated | Method and apparatus of reducing transfer latency in an SOC interconnect |
US7447817B1 (en) * | 2006-05-09 | 2008-11-04 | Qlogic Corporation | Method and system for processing arbitration requests |
CN101495979B (zh) * | 2006-06-27 | 2012-09-05 | 汤姆逊许可证公司 | 执行仲裁的方法和装置 |
US7930456B1 (en) * | 2006-12-23 | 2011-04-19 | Emc Corporation | Data packet arbitration system |
US7734856B2 (en) * | 2007-08-22 | 2010-06-08 | Lantiq Deutschland Gmbh | Method for operating a plurality of arbiters and arbiter system |
US8046559B2 (en) | 2008-03-27 | 2011-10-25 | Intel Corporation | Memory rank burst scheduling |
EP2192496B1 (en) * | 2008-11-28 | 2013-01-23 | Telefonaktiebolaget LM Ericsson (publ) | Arbitration in multiprocessor device |
US8793421B2 (en) * | 2011-10-31 | 2014-07-29 | Apple Inc. | Queue arbitration using non-stalling request indication |
KR20210031185A (ko) * | 2019-09-11 | 2021-03-19 | 에스케이하이닉스 주식회사 | 데이터 처리 장치 및 그 동작 방법 |
-
2020
- 2020-02-14 KR KR1020200018504A patent/KR20210103836A/ko active Search and Examination
- 2020-08-19 US US16/997,256 patent/US11449449B2/en active Active
-
2021
- 2021-01-08 CN CN202110023075.1A patent/CN113268442B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070174529A1 (en) * | 2005-12-29 | 2007-07-26 | Intel Corporation | Queue manager having a multi-level arbitrator |
US20140019655A1 (en) * | 2009-02-13 | 2014-01-16 | Supreet Jeloka | Single cycle arbitration |
US20170083471A1 (en) * | 2009-02-13 | 2017-03-23 | The Regents Of The University Of Michigan | Single cycle arbitration |
US20160103619A1 (en) * | 2014-10-13 | 2016-04-14 | Realtek Semiconductor Corp. | Processor and method for accessing memory |
US20180217951A1 (en) * | 2015-09-28 | 2018-08-02 | Sandisk Technologies Llc | Systems, Methods, and Computer-Readable Media for Managing Instruction Fetch in Virtual Computing Environments |
CN108958797A (zh) * | 2017-05-18 | 2018-12-07 | 三星电子株式会社 | 应用处理器和集成电路 |
Also Published As
Publication number | Publication date |
---|---|
US11449449B2 (en) | 2022-09-20 |
US20210255978A1 (en) | 2021-08-19 |
KR20210103836A (ko) | 2021-08-24 |
CN113268442B (zh) | 2024-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6246256B1 (en) | Quantized queue length arbiter | |
JP5270077B2 (ja) | 調停回路、クロスバ、リクエスト選択方法、及び情報処理装置 | |
US6925520B2 (en) | Self-optimizing crossbar switch | |
CN113268442B (zh) | 数据处理设备及其操作方法 | |
CN112491746B (zh) | 数据处理设备及其操作方法 | |
US10169270B2 (en) | Techniques for handling interrupt related information in a data processing system | |
KR20160117108A (ko) | 다수의 링크된 메모리 리스트들을 사용하기 위한 방법 및 장치 | |
CN115361336B (zh) | 具有缓存的路由器、路由交换网络***、芯片及路由方法 | |
EP2437159B1 (en) | Apparatus for data comparison and control method thereof | |
US6625700B2 (en) | Arbitration and select logic for accessing a shared memory | |
US8976802B2 (en) | Prediction-based switch allocator | |
US9996489B2 (en) | Memory aggregation device | |
US12026628B2 (en) | Processor system and method for increasing data-transfer bandwidth during execution of a scheduled parallel process | |
US7028116B2 (en) | Enhancement of transaction order queue | |
CN114356800A (zh) | 平衡存储器部分访问 | |
US10284690B2 (en) | Methods and systems for distribution of packets among parsing clusters | |
US12056072B1 (en) | Low latency memory notification | |
JP2017102560A (ja) | データバッファ装置、及びfifo制御方法 | |
CN118034932A (zh) | 一种内存管理方法、装置、设备和存储介质 | |
CN118467418A (zh) | 一种存储访问***以及存储访问调度方法 | |
CN117785032A (zh) | 基于切片的存储管理方法、装置、设备及介质 | |
Oveis-Gharan et al. | Packet-based Adaptive Virtual Channel Configuration for NoC Systems |
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 | ||
GR01 | Patent grant |