CN101211321A - 分层存储器读取/写入微指令调度器 - Google Patents
分层存储器读取/写入微指令调度器 Download PDFInfo
- Publication number
- CN101211321A CN101211321A CNA2007103052830A CN200710305283A CN101211321A CN 101211321 A CN101211321 A CN 101211321A CN A2007103052830 A CNA2007103052830 A CN A2007103052830A CN 200710305283 A CN200710305283 A CN 200710305283A CN 101211321 A CN101211321 A CN 101211321A
- Authority
- CN
- China
- Prior art keywords
- page
- leaf
- request
- requests
- micro
- 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
- 238000000034 method Methods 0.000 claims abstract description 30
- 230000015572 biosynthetic process Effects 0.000 claims description 47
- 238000005755 formation reaction Methods 0.000 description 35
- 230000008569 process Effects 0.000 description 12
- 230000008676 import Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0215—Addressing or allocation; Relocation with look ahead addressing means
-
- 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
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
Abstract
本文描述了一种方法、装置和系统。在一个实施例中,所述方法包括芯片组接收多个存储器请求,其中每个存储器请求包含一个或多个微指令,每个微指令需要一个或多个存储器时钟周期来执行,以及调度来自多个存储器请求中的一个以上请求的各个微指令的执行以减少完成一个以上存储器请求的执行所需的总存储器时钟周期数量。
Description
技术领域
本发明涉及存储器读取和写入周期的调度。
背景技术
芯片组的性能主要由处理存储器读取和写入周期的方式来定义。读取和写入周期的闲置开始等待时间、平均等待时间和总带宽是可以定义芯片组性能的三个大体指标。在发生存储器读或写(以下称为读取/写入)时会发生三类结果:页命中(page hit)、页空(page empty)和页错失(page miss)。页命中结果表示存储体中带有请求的目标地址的行当前为活动行。在存储体中带有请求的目标地址的行当前非活动,但该行可以在不停用任何打开行的情况下被激活时,会发生页空结果。最后,在存储体中带有请求的目标地址的行当前非活动,并且该行只能在停用另一当前活动行后才能被激活时,会发生页错失结果。
例如,在存储器读取的情况下,页命中结果仅需要一个微指令,读取微指令读取存储器行目标地址上的数据。页空结果需要两个微指令。首先,需要激活微指令激活指定存储体中带有请求数据的行。一旦该行被激活,第二微指令,读取微指令用于读取存储器行目标地址上的数据。最后,页错失结果需要三个微指令:首先需要预充电微指令从相同存储体停用存储器的当前活动行,为页错误结果指定的行腾出空位。一旦行被停用,需要激活微指令激活指定存储体中带有请求数据的行。一旦该行被激活,第三微指令,读取微指令用于读取存储器行目标地址上的数据。一般来说,执行页命中结果比执行页空结果需要的时间更少,并且执行页空结果比执行页错失结果需要的时间更少。存储器写入请求与存储器读取微指令具有相同的结果和微指令,只是使用写入微指令替代读取微指令。
存储器读取和写入的标准策略要求每种结果(即页命中、页空和页错失)以存储器读取/写入的顺序执行所有与结果关联的微指令。例如,如果要执行的页错失读取请求第一时间到达并且页命中读取请求紧随其后第二时间到达,与页错失读取请求关联的预充电激活读取微指令将首先以该顺序执行,然后与页命中读取请求关联的读取微指令将在执行全部三个页错失微指令之后执行。此调度顺序为页命中读取请求造成了不需要的延迟。
此外,对于单个存储器读取/写入,在每个微指令之间有延迟,因为在可以对新行执行激活指令之前存储器装置需要一定的时间对行进行预充电,并且在可以对行执行读取/写入指令之前装置还需要一定的时间激活该行。此延迟视硬件而定,但每个微指令之间至少需要数个存储器时钟周期。
发明内容
根据本发明的第一方面,提供了一种方法,包括:
接收多个存储器请求的设备,其中每个存储器请求包括一个或多个微指令,每个微指令需要一个或多个存储器时钟周期来执行;以及
调度来自多个存储器请求中的一个以上请求的各微指令的执行,以减少完成一个以上存储器请求的执行所需的总存储器时钟周期数量。
根据本发明的第二方面,提供了一种装置,包括:
存储多个存储器请求的队列,其中每个存储器请求包括一个或多个微指令,每个微指令需要一个或多个存储器时钟周期来执行;以及
一个或多个仲裁器,以减少完成一个以上存储器请求的执行所需的总存储器时钟周期数量的顺序,调度来自多个存储器请求中的一个以上请求的各个微指令的执行。
根据本发明的第三方面,提供了一种系统,包括:
总线;
耦合到所述总线的第一处理器;
耦合到所述总线的第二处理器;
耦合到所述总线的存储器;
耦合到所述总线的芯片组,所述芯片组包括:
存储多个存储器请求的队列,其中每个存储器请求包括一个或多个微指令,每个微指令需要一个或多个存储器时钟周期来执行;以及
一个或多个仲裁器,以减少完成一个以上存储器请求的执行所需的总存储器时钟周期数量的顺序,调度来自多个存储器请求中的一个以上请求的各个微指令的执行。
附图说明
本发明的图解仅作为实例并且不受附图之限制,附图中相同的标号表示相似的元件,其中:
图1是可以与本发明的实施例配合使用的计算机系统的框图。
图2示出与分层(tier-based)存储器读取/写入微指令调度器相关联的仲裁(arbitration)逻辑的一个实施例。
图3是调度DRAM存储器读取/写入微指令的过程的一个实施例的流程图。
具体实施方式
描述了分层DRAM微指令调度器的方法、设备和系统的实施例。在以下说明中,阐述了许多具体细节。但是,应该理解,实施例的实行可以不需要这些具体细节。在其它实例中,公知的元件、规格和协议未详细讨论,以避免影响对本发明的理解。
图1是可以与本发明的实施例配合使用的计算机系统的框图。所述计算机系统包括处理器存储器互连100,用于耦合到互连100的不同元件如处理器、桥、存储器装置等之间的通信。处理器存储器互连100包括发送仲裁、地址、数据和控制信息(未示出)的特定互连线路。在一个实施例中,中央处理器102可连接到处理器存储器互连100。在另一个实施例中,可能有多个中央处理器耦合到处理器存储器互连(在此图中未示出多个处理器)。在一个实施例中,中央处理器102是单核的。在另一个实施例中,中央处理器102是多核的。
处理器存储器互连100为中央处理器102和其它装置提供对系统存储器104的访问。在许多实施例中,系统存储器是动态随机访问存储器(DRAM)的形式,包括同步DRAM(SDRAM),双数据速率(DDR)SDRAM,DDR2 SDRAM,Rambus DRAM (RDRAM),或任何其它类型的DRAM存储器。系统存储器控制器控制对系统存储器104的访问。在一个实施例中,系统存储器控制器位于耦合到处理器存储器互连100的芯片组106的北桥108中。在另一个实施例中,系统存储器控制器位于中央处理器102所在的同一芯片上。信息、指令或其它数据可以存储在系统存储器104中以备中央处理器102以及许多其它可能的装置使用。I/O设备,例如I/O设备112和116,通过互连114和118的一个或多个I/O耦合到芯片组106的南桥110。
在一个实施例中,微指令调度器120位于北桥108中。在此实施例中,微指令调度器110调度与系统存储器104关联的所有存储器读取和写入。在一个实施例中,微指令调度器从系统中的请求者包括中央处理器102和耦合到南桥110的一个或多个总线主控I/O设备接收所有存储器读取和写入请求。此外,在一个实施例中,耦合到北桥108的图形处理器(未示出)也向微指令调度器120发送存储器读取和写入请求。
在一个实施例中,微指令调度器120具有读取/写入队列122,存储来自系统装置的所有输入存储器读取和写入请求。在不同的实施例中,读取/写入队列可以有不同数量的项目。此外,在一个实施例中,耦合到读取/写入队列122的仲裁逻辑124确定与存储在读取/写入队列122中的与读取和写入请求关联的微指令的执行顺序。
图2示出与分层存储器读取/写入微指令调度器相关联的仲裁逻辑的一个实施例。在一个实施例中,图2中所示的仲裁逻辑包括用于页命中结果存储器读取或写入的仲裁单元。在此实施例中,仲裁器装置200具有与读取/写入队列中的位置对应的多个输入(图1中的项目122)。输入对应于读取/写入队列中的项目数量。因此,在一个实施例中,输入202与队列位置1关联,输入204与队列位置2关联,并且输入206与队列位置N关联,其中N等于队列位置数量。
每个输入包括关于关联队列项目中是否存储有效页命中读取/写入请求以及页命中请求是否安全的信息。安全项目是指,在确定时,项目能够在互连至系统存储器时立即调度(即时调度),而不会对队列中的任何其它项目造成不利后果。因此,在一个实施例中,安全信息(如安全=1,不安全=0)以及项目是页命中读取/写入请求(如页命中=1,非页命中=0)的确定在逻辑上为“AND”,并且如果结果为1,则关联队列项目中存在安全页命中读取/写入请求。
仲裁装置200为每个队列位置接收此信息,然后确定哪个可用安全页命中项目是等待时间最长的候选对象(即队列中当前所有安全页命中项目中最先到达的请求)。然后,仲裁装置200输出先到达的安全页命中请求的队列项目位置至输出208。如果没有可用的安全页命中请求,输出将为零。
在一个实施例中,到或门210的输入线路耦合到进入仲裁装置200的每个输入。因此,输出212将发送通知,从输入1到输入N(202-206)的至少一个输入正在通知仲裁器装置200队列中存在安全页命中读取/写入请求。
在另一个实施例中,图2中所示的仲裁逻辑包括用于页空结果存储器读取和写入的仲裁单元。在此实施例中,仲裁器装置200具有对应于读取/写入队列中位置的多个输入(图1中的项目122)。
每个输入包括关于关联队列项目中是否存储有效页空读取/写入请求以及页空请求是否安全的信息。如上所述,安全项目是指,在确定时,项目能够在互连至系统存储器时立即调度,而不会对队列中的任何其它项目造成不利后果。因此,在一个实施例中,安全信息(如安全=1,不安全=0)以及项目是页空读取/写入请求(如页空=1,非页空=0)的确定在逻辑上为“AND”,并且如果结果为1,则关联队列项目中存在安全页空读取/写入请求。
仲裁装置200为每个队列位置接收此信息,然后确定哪个可用安全页空项目是等待时间最长的候选对象(即队列中当前所有安全页空项目中最先到达的请求)。然后,仲裁装置200输出最先到达的安全页空请求的队列项目位置至输出208。如果没有可用的安全页空请求,输出将为零。
在一个实施例中,到或门210的输入线路耦合到进入仲裁装置200的每个输入。因此,输出212将发送通知,从输入1到输入N(202-206)的至少一个输入正在通知仲裁器装置200队列中存在安全页空读取/写入请求。
在另一个实施例中,图2中所示的仲裁逻辑包括用于页错失结果存储器读取或写入的仲裁单元。在此实施例中,仲裁器装置200具有对应于读取/写入队列中位置的多个输入(图1中的项目122)。
每个输入包括关于关联队列项目中是否存储有效页错失读取/写入请求、页错失请求是否安全以及与页错失至相同存储体的读取/写入队列中是否有任何页命中的信息。如果队列中有相同存储体页命中请求,仲裁器装置200不考虑页错失请求,因为如果执行页错失请求,所有至相同存储体的页命中请求将变成页空请求并且造成重大的存储器页抖动。因此,相同存储体页命中指示器将被倒转,即如果有相同存储体页命中,结果为0,并且如果队列中无相同存储体页命中请求,结果为1。
此外,如上所述,安全项目是指,在确定时,项目能够在互连至系统存储器时立即调度,而不会对队列中的任何其它项目造成不利后果。因此,在一个实施例中,安全信息(如安全=1,不安全=0)、项目是页错失读取/写入请求(如页错失=1,非页错失=0)的确定以及相同存储体页命中指示器信息(如相同存储体页命中=0,非相同存储体页命中=1)在逻辑上为“AND”并且如果结果为1,则关联队列项目中存在安全页空读取/写入请求。
仲裁装置200为每个队列位置接收此信息,然后确定哪个可用安全页空项目是等待时间最长的候选对象(即队列中当前所有安全页空项目中最先到达的请求)。然后,仲裁装置200输出最先到达的安全页空请求的队列项目位置至输出208。如果没有可用的安全页空请求,输出将为零。
在一个实施例中,到或门210的输入线路耦合到进入仲裁装置200的每个输入。因此,输出212将发送通知,从输入1到输入N(202-206)的至少一个输入正在通知仲裁器装置200队列中存在安全页空读取/写入请求。
至图2所有三个实施例(页命中仲裁逻辑实施例、页空仲裁逻辑实施例以及页错失仲裁逻辑实施例)的输出线路进入利用以下算法的交叉层(cross-tier)仲裁器:
1)如果队列中有安全页命中读取/写入请求,则安全页命中读取/写入请求胜,
2)否则,如果队列中有安全页空读取/写入请求,则安全页空请求胜,
3)否则,如果队列中有安全页错失读取/写入请求,则安全页错失请求胜
在一个实施例中,每个项目中的读取/写入请求分解为其各自的微指令序列。这样,页错失项目在项目位置中将具有预充电、激活和读取/写入微指令,并且在交叉层仲裁器确定执行哪个指令时,确定每个微指令。例如,如果页空请求是到达空读取队列的第一个读取/写入请求,则以上算法将允许页空读取/写入请求开始执行。因此,在此实施例中,页空读取/写入请求被调度并且执行第一个微指令(激活微指令)。如果安全页命中读取/写入请求在下一个存储器时钟周期到达该读取队列,在执行页空请求的读取/写入微指令之前,以上算法将安排优先级顺序并且允许页命中读取请求的读取/写入微指令在页空读取/写入请求的读取/写入微指令之前被立即调度。因此,页命中读取/写入请求的读取/写入微指令经调度在第一个页错失读取/写入请求的激活微指令和读取/写入微指令之间的存储器时钟周期执行。
图3是调度DRAM存储器读取/写入微指令的过程的一个实施例的流程图。该流程由可能包括硬件(电路、专用逻辑等)、软件(如在通用计算机系统或专用机器上运行)或其组合的处理逻辑执行。参照图7,该流程从处理逻辑接收存储器读取/写入请求(处理框200)开始。存储器读取/写入请求可以是页命中结果、页空结果或页错失结果。下一步,处理逻辑将每个读取/写入请求存储在读取/写入队列中。在一个实施例中,每个队列项目存储与存储器读取/写入请求关联的一个或多个微指令(处理框202)。框210显示队列的表示,并且执行处理框202的处理逻辑通过将接收的读取/写入请求存储到队列210中与队列210互动。
下一步,处理逻辑利用微指令等待时间优先级顺序(如包含页错失请求的微指令的等待时间大于包含页命中请求的微指令的等待时间)重新安排队列中的微指令的优先级顺序(处理框204)。此外,处理逻辑利用指令重叠调度和乱序调度安排队列中读取/写入请求的优先级顺序。在一个实施例中,利用页命中仲裁器、页空仲裁器、页错失仲裁器以及交叉层仲裁器(如以上参照图2详述)完成处理框204中执行的重新安排优先级顺序过程。在一个实施例中,处理逻辑包含仲裁逻辑212,并且处理框204执行的处理包括仲裁逻辑与队列210互动。
最后,处理逻辑确定是否有准备接收的新读取/写入请求(处理框206)。在一个实施例中,如果没有新的读取/写入请求,则处理逻辑继续轮询新的读取/写入请求,直至出现一个。否则,如果有新的读取/写入请求,处理逻辑返回处理框200再次开始流程。
此流程涉及接收读取/写入请求到队列中和根据一系列仲裁逻辑流程重新安排队列优先级顺序。此外,处理逻辑同时在每个存储器时钟周期继续执行最高优先级顺序的安全执行的微指令。这通过在每个可能的存储器时钟周期执行存储器读取/写入微指令使得存储器互连吞吐量保持最佳化。
在一个实施例中,交叉层仲裁器具有故障保护机制,对在将较低优先级顺序的读取/写入请求强行置于优先级顺序列表顶端之前允许经过的最大数量的存储器时钟周期进行设置。例如,如果页错失请求继续被页命中重新安排至页命中之后,在交叉层仲裁器不具备故障保护机制的情况下,页错失请求可能会无限延迟。在一个实施例中,在交叉层设置器强制将较低优先级顺序的读取/写入请求置于列表顶端之前允许的时钟周期数量被预先确定并且设置在仲裁逻辑中。在另一个实施例中,此值设置在基本输入/输出系统(BIOS)中并且可以在系统初始化期间修改。
这样,说明了分层DRAM微指令调度器的方法、设备和系统的实施例。这些实施例已参照其具体示范实施例进行了说明。得益于本公开的人员将知道,在不背离本文所述实施例的广泛精神和范围的情况下,可以对这些实施例进行各种修改和变更。因此,说明和附图应被视为说明性的而不是限制性的。
Claims (23)
1.一种方法,包括:
接收多个存储器请求的设备,其中每个存储器请求包括一个或多个微指令,每个微指令需要一个或多个存储器时钟周期来执行;以及
调度来自多个存储器请求中的一个以上请求的各微指令的执行,以减少完成一个以上存储器请求的执行所需的总存储器时钟周期数量。
2.如权利要求1所述的方法,其特征在于,多个存储器请求中的每一个是存储器读取请求和存储器写入请求这两者其中之一。
3.如权利要求2所述的方法,其特征在于,还包括重叠一个以上存储器请求的微指令的调度。
4.如权利要求3所述的方法,其特征在于,重叠微指令的调度还包括在第二请求的两个独立微指令之间插入第一请求的至少一个微指令。
5.如权利要求1所述的方法,其特征在于,还包括不按照设备接收一个以上请求的顺序来调度一个以上请求的完成。
6.如权利要求5所述的方法,其特征在于,乱序调度一个以上请求的完成还包括:至少在第一时间后的第二时间到达所述设备的第二请求的最终完成微指令之后,调度在第一时间到达芯片组的第一请求的最终完成微指令。
7.如权利要求1所述的方法,其特征在于,调度各个微指令的执行以即时的方式完成。
8.如权利要求7所述的方法,其特征在于,即时方式还包括仅考虑那些准备好执行并且可以安全执行的微指令。
9.如权利要求1所述的方法,其特征在于,各个接收请求的结果从包含页命中结果、页空结果及页错失结果的组中选择。
10.如权利要求9所述的方法,其特征在于,还包括:如果队列中有页命中请求则调度页命中请求,或者如果队列中有页空请求并且无页命中请求则调度页空请求,或者如果队列中有页错失请求并且无页命中请求或页空请求则调度页错失请求。
11.如权利要求10所述的方法,其特征在于,还包括:如果两个请求具有相同的页命中、页空或页错失结果,则按照两个请求的到达顺序调度它们。
12.如权利要求10所述的方法,其特征在于,还包括:如果请求安全,则不管结果如何,都调度任何已在队列中等待预定数量的存储器时钟周期的请求。
13.一种装置,包括:
存储多个存储器请求的队列,其中每个存储器请求包括一个或多个微指令,每个微指令需要一个或多个存储器时钟周期来执行;以及
一个或多个仲裁器,以减少完成一个以上存储器请求的执行所需的总存储器时钟周期数量的顺序,调度来自多个存储器请求中的一个以上请求的各个微指令的执行。
14.如权利要求13所述的装置,其特征在于,多个存储器请求中的每一个是存储器读取请求和存储器写入请求这两者其中之一。
15.如权利要求14所述的装置,其特征在于,各个接收请求的结果从包含页命中结果、页空结果及页错失结果的组中选择。
16.如权利要求15所述的装置,其特征在于,还包括一个或多个仲裁器,如果队列中有页命中请求则调度页命中请求,或者如果队列中有页空请求并且无页命中请求则调度页空请求,或者如果队列中有页错失请求并且无页命中请求或页空请求则调度页错失请求。
17.如权利要求16所述的装置,其特征在于还包括:
页命中仲裁器,调度任何页命中请求的执行顺序;
页空仲裁器,调度任何页空请求的执行顺序;
页错失仲裁器,调度任何页错失请求的执行顺序;以及
交叉层仲裁器,调度来自页命中仲裁器、页空仲裁器和页错失仲裁器的请求的最终执行顺序。
18.如权利要求17所述的装置,其特征在于,还包括页错失仲裁器,如果没有对与页错失请求相同的存储体的未完成页命中请求,则仅调度页错失请求来执行。
19.一种系统,包括:
总线;
耦合到所述总线的第一处理器;
耦合到所述总线的第二处理器;
耦合到所述总线的存储器;
耦合到所述总线的芯片组,所述芯片组包括:
存储多个存储器请求的队列,其中每个存储器请求包括一个或多个微指令,每个微指令需要一个或多个存储器时钟周期来执行;以及
一个或多个仲裁器,以减少完成一个以上存储器请求的执行所需的总存储器时钟周期数量的顺序,调度来自多个存储器请求中的一个以上请求的各个微指令的执行。
20.如权利要求19所述的方法,其特征在于,多个存储器请求中的每一个是存储器读取请求和存储器写入请求这两者其中之一。
21.如权利要求20所述的装置,其特征在于,各个接收请求的结果从包含页命中结果、页空结果及页错失结果的组中选择。
22.如权利要求21所述的装置,其特征在于,还包括一个或多个仲裁器,如果队列中有页命中请求则调度页命中请求,或者如果队列中有页空请求并且无页命中请求则调度页空请求,或者如果队列中有页错失请求并且无页命中请求或页空请求则调度页错失请求。
23.如权利要求22所述的装置,其特征在于,还包括:
页命中仲裁器,调度任何页命中请求的执行顺序;
页空仲裁器,调度任何页空请求的执行顺序;
页错失仲裁器,调度任何页错失请求的执行顺序;以及
交叉层仲裁器,调度来自页命中仲裁器、页空仲裁器和页错失仲裁器的请求的最终执行顺序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/647,985 US20080162852A1 (en) | 2006-12-28 | 2006-12-28 | Tier-based memory read/write micro-command scheduler |
US11/647985 | 2006-12-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101211321A true CN101211321A (zh) | 2008-07-02 |
CN101211321B CN101211321B (zh) | 2012-09-05 |
Family
ID=39048251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007103052830A Expired - Fee Related CN101211321B (zh) | 2006-12-28 | 2007-12-28 | 分层存储器读取/写入微指令调度器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20080162852A1 (zh) |
KR (1) | KR100907119B1 (zh) |
CN (1) | CN101211321B (zh) |
DE (1) | DE102007060806A1 (zh) |
GB (1) | GB2445245B (zh) |
TW (1) | TW200834323A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101989193A (zh) * | 2010-11-05 | 2011-03-23 | 青岛海信信芯科技有限公司 | 微控制器及其指令执行方法 |
CN104239124A (zh) * | 2008-12-31 | 2014-12-24 | 英特尔公司 | 将用于虚拟化引擎的指令分页调度到本地存储设备 |
US9535832B2 (en) | 2013-04-30 | 2017-01-03 | Mediatek Singapore Pte. Ltd. | Multi-hierarchy interconnect system and method for cache system |
CN108334326A (zh) * | 2018-02-06 | 2018-07-27 | 江苏华存电子科技有限公司 | 一种低延迟指令调度器的自动管理方法 |
CN111459414A (zh) * | 2020-04-10 | 2020-07-28 | 上海兆芯集成电路有限公司 | 存储器调度方法及存储器控制器 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9842068B2 (en) | 2010-04-14 | 2017-12-12 | Qualcomm Incorporated | Methods of bus arbitration for low power memory access |
US8539129B2 (en) * | 2010-04-14 | 2013-09-17 | Qualcomm Incorporated | Bus arbitration techniques to reduce access latency |
US9921967B2 (en) * | 2011-07-26 | 2018-03-20 | Intel Corporation | Multi-core shared page miss handler |
US9263106B2 (en) * | 2011-10-21 | 2016-02-16 | Nvidia Corporation | Efficient command mapping scheme for short data burst length memory devices |
US10318210B2 (en) * | 2015-01-22 | 2019-06-11 | Sony Corporation | Memory controller, storage device, information processing system, and method of controlling memory |
KR102370733B1 (ko) | 2015-04-13 | 2022-03-08 | 에스케이하이닉스 주식회사 | 출력 커맨드들을 전송하는 컨트롤러 및 그것의 동작 방법 |
US9639280B2 (en) * | 2015-06-18 | 2017-05-02 | Advanced Micro Devices, Inc. | Ordering memory commands in a computer system |
CN111475438B (zh) * | 2015-08-12 | 2021-12-10 | 北京忆恒创源科技股份有限公司 | 提供服务质量的io请求处理方法及其装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6315333A (ja) * | 1986-07-07 | 1988-01-22 | Hitachi Ltd | マイクロプログラムシ−ケンス制御方式 |
US5630096A (en) * | 1995-05-10 | 1997-05-13 | Microunity Systems Engineering, Inc. | Controller for a synchronous DRAM that maximizes throughput by allowing memory requests and commands to be issued out of order |
US6216178B1 (en) * | 1998-11-16 | 2001-04-10 | Infineon Technologies Ag | Methods and apparatus for detecting the collision of data on a data bus in case of out-of-order memory accesses of different times of memory access execution |
US6389520B2 (en) * | 1998-12-23 | 2002-05-14 | Micron Technology, Inc. | Method for controlling out of order accessing to a multibank memory |
WO2001075620A1 (en) * | 2000-04-03 | 2001-10-11 | Advanced Micro Devices, Inc. | Bus bridge including a memory controller having an improved memory request arbitration mechanism |
US6785793B2 (en) * | 2001-09-27 | 2004-08-31 | Intel Corporation | Method and apparatus for memory access scheduling to reduce memory access latency |
US6792516B2 (en) * | 2001-12-28 | 2004-09-14 | Intel Corporation | Memory arbiter with intelligent page gathering logic |
JP4186575B2 (ja) | 2002-09-30 | 2008-11-26 | 日本電気株式会社 | メモリアクセス装置 |
US7127574B2 (en) * | 2003-10-22 | 2006-10-24 | Intel Corporatioon | Method and apparatus for out of order memory scheduling |
JP2006318139A (ja) * | 2005-05-11 | 2006-11-24 | Matsushita Electric Ind Co Ltd | データ転送装置、データ転送方法およびプログラム |
US7617368B2 (en) * | 2006-06-14 | 2009-11-10 | Nvidia Corporation | Memory interface with independent arbitration of precharge, activate, and read/write |
-
2006
- 2006-12-28 US US11/647,985 patent/US20080162852A1/en not_active Abandoned
-
2007
- 2007-12-18 TW TW096148401A patent/TW200834323A/zh unknown
- 2007-12-18 DE DE102007060806A patent/DE102007060806A1/de not_active Ceased
- 2007-12-18 GB GB0724619A patent/GB2445245B/en not_active Expired - Fee Related
- 2007-12-27 KR KR1020070139343A patent/KR100907119B1/ko not_active IP Right Cessation
- 2007-12-28 CN CN2007103052830A patent/CN101211321B/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239124A (zh) * | 2008-12-31 | 2014-12-24 | 英特尔公司 | 将用于虚拟化引擎的指令分页调度到本地存储设备 |
CN104239124B (zh) * | 2008-12-31 | 2017-09-29 | 英特尔公司 | 将用于虚拟化引擎的指令分页调度到本地存储设备 |
CN101989193A (zh) * | 2010-11-05 | 2011-03-23 | 青岛海信信芯科技有限公司 | 微控制器及其指令执行方法 |
CN101989193B (zh) * | 2010-11-05 | 2013-05-15 | 青岛海信信芯科技有限公司 | 微控制器及其指令执行方法 |
US9535832B2 (en) | 2013-04-30 | 2017-01-03 | Mediatek Singapore Pte. Ltd. | Multi-hierarchy interconnect system and method for cache system |
CN104471555B (zh) * | 2013-04-30 | 2017-05-03 | 联发科技(新加坡)私人有限公司 | 多级互联系统及多级互联方法 |
CN108334326A (zh) * | 2018-02-06 | 2018-07-27 | 江苏华存电子科技有限公司 | 一种低延迟指令调度器的自动管理方法 |
WO2019153684A1 (zh) * | 2018-02-06 | 2019-08-15 | 江苏华存电子科技有限公司 | 一种低延迟指令调度器的自动管理方法 |
CN111459414A (zh) * | 2020-04-10 | 2020-07-28 | 上海兆芯集成电路有限公司 | 存储器调度方法及存储器控制器 |
Also Published As
Publication number | Publication date |
---|---|
GB0724619D0 (en) | 2008-01-30 |
DE102007060806A1 (de) | 2008-09-11 |
GB2445245B (en) | 2010-09-29 |
KR20080063169A (ko) | 2008-07-03 |
KR100907119B1 (ko) | 2009-07-09 |
GB2445245A (en) | 2008-07-02 |
TW200834323A (en) | 2008-08-16 |
CN101211321B (zh) | 2012-09-05 |
US20080162852A1 (en) | 2008-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101211321B (zh) | 分层存储器读取/写入微指令调度器 | |
EP1540485B1 (en) | Out of order dram sequencer | |
US5630096A (en) | Controller for a synchronous DRAM that maximizes throughput by allowing memory requests and commands to be issued out of order | |
EP2223217B1 (en) | System, apparatus, and method for modifying the order of memory accesses | |
CN1238793C (zh) | 分布式存储器控制和带宽优化 | |
CN102203752B (zh) | 具有多个队列之间的仲裁的数据处理电路 | |
CN101609438B (zh) | 存储器系统、其访问控制方法和计算机程序 | |
CN100416529C (zh) | 用于确定动态随机存取存储器页面管理实现的方法和装置 | |
US8880745B2 (en) | Efficient scheduling of transactions from multiple masters | |
CN101346692A (zh) | 多处理器系统中的高性能队列实现 | |
CN101221493A (zh) | 并行处理器中的多线程执行 | |
US7418540B2 (en) | Memory controller with command queue look-ahead | |
US20140101381A1 (en) | Managing banks in a memory system | |
GB2376315A (en) | Data bus system including posted reads and writes | |
GB2442354A (en) | Managing system management interrupts in a multiprocessor computer system | |
CN112948293A (zh) | 一种多用户接口的ddr仲裁器及ddr控制器芯片 | |
CN115357377A (zh) | 内存控制调度方法、装置、计算机设备及存储介质 | |
US20020116438A1 (en) | Method and apparatus for shared resource management in a multiprocessing system | |
EP1760580A1 (en) | Processing operation information transfer control system and method | |
CN101042926A (zh) | 存储器控制方法,存储装置以及存储器控制器 | |
US8886844B2 (en) | Efficient scheduling of read and write transactions in dynamic memory controllers | |
US10852956B1 (en) | Structure of a high-bandwidth-memory command queue of a memory controller with external per-bank refresh and burst reordering | |
Wang | Analysis of NIC and Test of PCI Multi-Bus Simulator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120905 Termination date: 20131228 |