CN1452745A - 包含具有改良存储器请求仲裁机制的存储器控制器的总线桥 - Google Patents

包含具有改良存储器请求仲裁机制的存储器控制器的总线桥 Download PDF

Info

Publication number
CN1452745A
CN1452745A CN 00819403 CN00819403A CN1452745A CN 1452745 A CN1452745 A CN 1452745A CN 00819403 CN00819403 CN 00819403 CN 00819403 A CN00819403 A CN 00819403A CN 1452745 A CN1452745 A CN 1452745A
Authority
CN
China
Prior art keywords
request
page
bus
memory
memory controller
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
Application number
CN 00819403
Other languages
English (en)
Inventor
S·诺瓦克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN1452745A publication Critical patent/CN1452745A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Abstract

公布了一种总线桥(102),其包含具有改良的存储器请求仲裁机制的存储器控制器(210)。存储器控制器(210)接收各种请求以对主存储器(104)进行读取或写入。在一特定实施例中,存储器控制器(210)可经配置而将这些进入的请求分类为页面触击请求、页面遗漏存储体请求、页面遗漏不同芯片选择请求及页面冲突请求。存储器控制器(210)经配置而基于等待时间来将这些请求优先化。页面触击请求具有比页面遗漏存储体请求更高的仲裁优先级,页面遗漏存储体请求具有比页面遗漏不同芯片选择请求更高的仲裁优先级,页面遗漏不同芯片选择请求具有比页面冲突请求更高的仲裁优先级。由于存储器控制器(210)基于优先级而提供请求服务,从而强化了诸如SDRAM总线的存储器总线(106)的使用。

Description

包含具有改良存储器请求仲裁机制的存储器控制器的总线桥
                       发明背景
1. 技术领域
本发明涉及计算机系统,且尤其涉及在存储器控制器内使用的仲裁机制。
2. 背景技术
计算机系统通常包含经一个或一个以上的总线而互连的多个装置。例如,很多传统计算机系统包括透过总线桥连接至主存储器的处理器。该总线桥透过高频宽区域扩展总线,诸如外设部件互连(PCI)总线,可连接至各种外围设备,诸如网络接口卡、视频加速器、声卡、SCSI适配器、电话卡等等。该总线桥透过第二扩展总线,诸如图形加速端口(Advanced Graphics Port,AGP)总线,更可连接至图形控制器。
该总线桥可进一步包含存储器控制器。存储器控制器接收各种请求而对该主存储器进行读取或写入。存储器控制器可以从各种来源,诸如处理器或透过其中一个扩展总线所连接的外围设备,接收这些进入的请求。在内部,该总线桥可包含处理器总线接口、PCI总线接口及AGP总线接口,以提供适当的接口给该存储器控制器。
在某些设备中,主存储器可以使用同步动态随机存取存储器(synchronous random access memory,SDRAM)来实现。图1说明示例性存储器子系统100,该系统包含透过SDRAM总线12连接至多个SDRAM模块16A~16C的存储器控制器10。该多个SDRAM模块16A~16C透过表示为14A~14C的存储器扩展槽连接至SDRAM总线12。每个SDRAM模块示意性地包含多个存储体(即图中所示存储体1~存储体4)。每个存储体包含多个页面。存储器控制器10接收存储器存取地址,该存取地址限定在给定模块内的给定存储体中所要存取的页面。为了选择含有所要存取的页面及存储体的特定模块,该存取地址决定所要确证的芯片选择信号CS1~CS3。
在对SDRAM内的特定位置进行读取或写入之前,该特定位置常驻的页面必须激活或打开。通过存储器控制器10在SDRAM总线12上所启动的激活周期来打开页面。在页面打开后,通过存储器控制器10所启动的读取/写入周期完成读取或写入。由于无法同时打开给定存储体中的两个页面,在打开一给定页面之前,在该存储体的另一页面就需要关闭。存储器控制器10通过在SDRAM总线12上启动预先充电周期而关闭页面。
当对应的SDRAM周期(例如读取/写入周期、激活周期及预先充电周期)为SDRAM总线12上的存储器控制器10所启动时,用于伺服特定的读取或写入请求的等待时间视存储器子系统100的状态而定。例如,考虑一种情况,其中存储器控制器10接收请求,对于特定的存储体进行读取或写入。
由于该页面已经激活,存储器控制器10只启动读取/写入周期,以对该选定页面进行读取或写入。对于已经激活的页面的请求通常称为页面触击请求(page hit request)。由于存储器控制器10仅启动一个周期,故页面触击请求具有最低的等待时间。
另外,存储器控制器10可能接收到请求,要打开不具有激活页面的存储体内的页面。该选定页面通过存储器控制器10所启动的激活周期来打开或激活。随后由存储器控制器10启动读取/写入周期,对该打开的页面进行读取或写入。要打开在不具有激活页面的存储体内的页面的请求通常称为页面遗漏存储体请求(page miss bank request)。因为存储器控制器10要启动两个独立的周期,故页面遗漏存储体请求具有第二低的等待时间。
另外,存储器控制器10可能接收请求,要打开在不同模块内的页面。在一般所称的一个周期往返瞬间(turnaround bubble)中,首先对当前激活模块取消选定,随后选择含有待存取页面的模块。一个周期往返瞬间必须确保两个模块——即取消选定的及选定的模块——不同时驱动SDRAM总线106。在选择适当的模块后,该选定页面即通过激活周期打开。然后启动读取/写入周期,以对该打开页面进行读取或写入。要打开不同模块内的页面的请求通常称为页面遗漏不同芯片选择请求(page miss-different chip select request)。因为存储器控制器10要启动一个周期往返瞬间及两个独立的周期,故页面遗漏不同芯片选择请求具有第三低的等待时间。
另外,存储器控制器10可能接收请求,要打开在已经激活的存储体内的未激活页面。存储器控制器10通过启动预先充电周期来使当前激活页面关闭或解除激活。选定页面随后通过激活周期来打开或激活。个别的周期、该读取/写入周期接着初始化以由该打开页面读取或写入至该打开页面。要打开在已激活存储体内的未激活页面的请求通常称为页面冲突请求(page conflict request)。因为存储器控制器10要启动三个独立的周期,故页面冲突请求具有最长的等待时间。
在有些应用中,可配置存储器控制器10,使得依照接收的顺序而服务于进入的请求。存储器控制器10按照接收顺序而提供服务请求的缺点在于,一种可能已经依据特定类型而分类的请求可能变成分类为有较长等待时间的另一种不同类型的请求。例如,若存储器控制器10接收到页面冲突请求且其后有连续三个页面触击请求,而且按接收顺序对它们提供服务,则存储器控制器10首先服务页面冲突请求。然而,在服务该页面冲突请求之后,页面触击请求可能变成页面冲突请求。存储器控制器10通过启动预先充电周期来关闭当前页面,并且通过启动激活周期来激活选定页面,随后启动读取/写入周期,从而对页面冲突请求提供服务。然而,所打开的选定页面与页面触击请求所请求的页面不同。该页面触击请求可能随后变成页面冲突请求。也就是说,前者的页面触击请求可能请求对不再处于激活状态的过去的激活页面进行读取或写入。于是可能必须关闭当前页面,并激活一个新页面,这增加了请求的服务时间。存储器控制器10按照接收顺序而服务进入的请求可能无法最佳化地使用存储器总线。因此,需要更有效地存取SDRAM。
发明内容
以上所述问题大部分可以通过包含具有改良的存储器请求仲裁机制的存储器控制器的总线桥所解决。在一个实施例中,总线桥包括透过存储器总线连接至主存储器的存储器控制器。总线桥进一步包括两者均连接至存储器控制器的处理器总线接口及第一外围总线接口。处理器总线接口在存储器控制器及处理器之间提供接口。第一外围总线接口在存储器控制器及第一外围总线之间提供了接口。
存储器控制器接收各种请求,对主存储器进行读取或写入。存储器控制器可由处理器总线及第一外围总线接口接收这些进入的请求。在特定实施例中,存储器控制器经配置以接收这些进入的请求并在其中进行仲裁。存储器控制器可以经配置来将这些进入的请求分类,分为页面触击请求、页面遗漏存储体请求及页面遗漏不同芯片选择请求。因为所请求页面已经激活,页面触击请求具有最低等待时间。然而,因为需要以激活周期打开选定页面,并随之以读取/写入周期从而对该选定页面进行读取或写入,与页面触击请求相比,页面遗漏存储体请求就具有更长的等待时间。因为具有一个周期往返瞬间,并随之以激活及读取/写入周期,页面遗漏不同芯片选择请求就具有比页面触击及页面遗漏存储体请求更长的等待时间。可以配置存储器控制器,从而根据等待时间而使这些请求作优先化排列。结果,页面触击请求具有比页面遗漏存储体及页面遗漏不同芯片选择请求更高的仲裁优先级。页面遗漏存储体请求具有比页面遗漏不同芯片选择请求更高的仲裁优先级。存储器控制器将接着服务那些具有较高仲裁优先级的请求,再服务那些具有较低仲裁优先级的请求,从而可以改善存储器总线(诸如SDRAM总线)的使用。
在另一特定实施例中,存储器控制器接收其它进入的请求,诸如页面冲突请求,并在其中进行仲裁。因为存储器控制器启动预先充电、激活及读取/写入周期,页面冲突请求具有比页面触击、页面遗漏存储体及页面遗漏不同芯片选择请求更长的等待时间。因此,可进一步配置存储器控制器,为页面遗漏不同芯片选择请求提供比页面冲突请求更高的仲裁优先级。存储器控制器接着服务那些具有较高仲裁优先级的请求,再服务那些具有较低仲裁优先级的请求,从而可以改善存储器总线(诸如SDRAM总线)的使用。
在又一特定实施例中,可以配置存储器控制器,在排除服务具有较低优先级的请求的范围内,避免页面触击请求的重复服务。存储器控制器包含可编程逻辑单元,该单元将页面触击请求连续服务的数目限制为一至三十二个。可编程逻辑单元包含配置为储存页面触击限制的寄存器及连接至该寄存器的计数器。配置该计数器,用以对该存储器控制器所连续服务的优先级触击的数目进行计数。
附图简要说明
在熟读以下细节描述及参考附图后,本发明的其它目的及优点将变得显而易见,其中:
图1说明示例性存储器子系统。
图2为包含总线桥的计算机系统的一项实施例的方块图。
图3为总线桥的一项实施例的方块图。
图4为存储器控制器的一项实施例的方块图。
图5为图4的判优器的优先级逻辑块的一项实施例的方块图。
图6为图5的分类多路复用器的分类逻辑的一项实施例的方块图。
图7说明图5的优先级选择多路复用器的优先逻辑的一项实施例。
图8说明于存储器控制器中的调度器的一项实施例。
虽然通过附图和以下详细描述所展示的特定实施例,易于得到本发明的各种改型及可选形式。然而应了解,这些附图及其详细描述并非意在将本发明限定于所公开的特定形式,反之,本发明涵盖所有落在为所附权利要求书所界定的本发明的精神及范畴内的所有改型、等值及替代方案。
实施本发明的模式
图2说明计算机系统的一项实施例。计算机系统200包含透过总线桥102连接至各种系统组件的处理器101。在计算机系统200中,主存储器104透过存储器总线106连接至总线桥102。图形控制器108透过AGP总线110连接至总线桥102。而且,多个PCI(外设部件互连)装置112A~112B透过PCI总线114连接至总线桥102。
处理器101例如为用来做例证的AthlonTM微处理器。然而,需要了解的是在计算机系统200的其它实施例中,亦可使用其它类型的微处理器。在其它实施例中,可进一步将外部高速缓存单元(未示)连接至处理器101。
总线桥102在处理器101、主存储器104、图形控制器108及连接至PCI总线114的装置之间提供接口。当从连接至总线桥102的其中一个装置接收到一个指令时,总线桥102将此指令发送给目标装置。总线桥102通常将指令加以转换,使其从源装置或总线所用的协议转换为目标装置或总线所用的协议。
主存储器104为一种在其中储存应用程序及数据的存储器。处理器101主要使用主存储器104。在一项实施例中,主存储器104可以是动态随机存取存储器(DRAM),或者最好在其它实施例中,主存储器104可以是同步动态随机存取存储器(SDRAM)。
PCI装置112A~112B为可做为例证的各种外围设备,例如诸如网络接口卡、视频加速器、声卡、硬盘或软盘驱动器、小型计算机系统接口(SCSI)转接器及电话卡。同样,工业标准体系结构(ISA)装置118为可做为例证的各种外围设备的其中一项,诸如调制解调器、声卡及各种数据采集卡,诸如通用接口总线(GPIB)或字段总线接口卡。
设置图形控制器108以控制显示装置的绘制及图像。图形控制器108可实施为典型的图形加速器,在本领域中公知,该图形加速器用于绘制三维数据结构,该数据结构可以有效地对主存储器104移入及移出。图形控制器108因此可以是AGP总线110的主控制器,其中图形控制器可以请求及接收对于总线桥102内的目标接口的存取,并且因此得以存取主存储器104。
需要注意,虽然在以上描述中使用了AGP总线110及PCI总线114作为例子,任何外围总线标准均可使用。如同以下更详细描述的那样,总线桥102可接收来自CPU总线103、PCI总线114及AGP总线110的请求,对于主存储器104进行读取或写入。总线桥102可依据优先化机制来使这些请求分类,这种优先化机制考虑到每个请求相对于各个其它请求的优先级以及主存储器在请求时的状态。通过这种方式,总线桥102可便利地优化存储器总线106的频宽的使用,因此增加计算机系统的整体性能。
参考图3,在此说明总线桥的一项实施例。为简明起见,对应于图2所示组件的电路组件将以相同编号来表示。总线桥102包含CPU接口204、PCI接口212、AGP接口214及存储器控制器210。存储器控制器210连接至CPU接口204、PCI接口212及AGP接口214。存储器控制器210还经存储器总线106连接至主存储器104。需要注意的是总线桥102可以实施于单一的集成电路芯片上,或者可将其实施于图2所示计算机系统200的其它组件内。
如同下文中将进一步描述的那样,存储器控制器210使用多个队列(queues)作为请求缓冲机制。将各队列配置为分别透过CPU接口204、PCI接口212及AGP接口214而接收来自CPU总线103、PCI总线114及AGP总线110的请求。
现参考图4,该图显示存储器控制器的一项实施例的方块图。为了简明起见,对应于图2及图3中所示组件的电路组件将以相同编号来表示。存储器控制器210包括连接至调度器320及图形地址再变换表(graphics address remapping table,GART)表格途径330的判优器310。判优器310亦连接至CPU接口204、PCI接口212及AGP接口214。调度器320透过存储器总线106连接至主存储器104。
判优器310包含存储器读取队列(memory read queue,MRQ)224、存储器写入队列(memory write queue,MWQ)222、高级图形端口队列(advanced graphics port queue,AGPQ)226及优先级逻辑块315。可配置判优器310,以接收来自CPU接口204、PCI接口212及AGP接口214的外部存储器请求。还可配置判优器310,以接收来自GART表格途径330的其中一项内部存储器请求及其中一项旁通请求(bypassrequest,BYP)。外部请求储存于MRQ224、MWQ222或AGPQ226的其中之一内。MRQ224储存对主存储器104读取的请求。MWQ222储存对主存储器104写入的请求,而AGPQ226储存对主存储器104读取或写入的请求。需要注意,在一项特定实施例中,可将MRQ224实施于四个独立的缓冲器内,从而适应四个存储器读取请求。在此为了简化缘故而描述其中一个队列。MWQ的尺寸为一个项目并且AGPQ的尺寸为一个项目。然而需要注意,在各种其它实施例中,MRQ224、MWQ222及AGPQ226的尺寸可以是不同的。一旦请求处于它们个自的队列内时,就会根据主存储器104的状态而随后将它们进一步分类。优先级逻辑块315依据固定的优先级来选择其中一个请求并将其提供给调度器320,优先级将于下文中进一步描述。调度器320接着将读取或写入的请求调度至存储器总线106上。
这一特定实施例中,主存储器104实施于SDRAM内。如上所述,SDRAM存取通常发生于页面模式内。这些页面模式存取可以分类成为页面触击请求(PH)、页面遗漏存储体请求(PMb)、页面遗漏不同芯片选择请求(PMc)及页面冲突请求(PC)。基于与每种请求的类型相关的等待时间而给出请求的优先级。
现参见图5,该图显示图4的判优器310的优先级逻辑块的一项实施例的方块图。为简明起见,对应于图4中所示组件的电路组件将以相同编号来表示。优先级逻辑块3 15包含分类多路复用器410A、410B、410C及410D,多路复用器使用组合逻辑而将多个从图4的MRQ224、MWQ222及AGPQ226接收到的请求分类为上述的四个类别:页面触击(PH)、页面遗漏存储体(PMb)、页面遗漏不同的芯片选择(PMc)及页面突冲(PC)。为了便于讨论,分类多路复用器410A、410B、410C及410D每一个皆可称为分类多路复用器410。要注意在其它实施例中,可以具有额外数目或较少数目的分类多路复用器410,视类别数目而定。配置分类多路复用器410,以根据图6所示的分类方式而从每个类别中选择一个请求(例如PH、PMb、PMc及PC)。分类多路复用器410的输出将输入至优先级选择多路复用器420。
优先级多路复用器420选择下一个待调度的请求给调度器320。优先级选择多路复用器420从下列外部/内部请求中进行选择:随机预先充电(opportunistic precharge,OP)、来自AGP接口214的高优先级请求(Hi AGP)、高优先级存储器写入请求(Hi MWQ)、来自GART表格路径(GTW)330的内部请求,以及来自分类多路复用器420的四个类别的请求(PH、PMb、PMc、PC)与内部空闲预先充电信号。一旦使请求优先化,优先级选择多路复用器420配置为将其中最高优先级的请求传送给调度器320。优先级选择方法将于下文的图7中描述。
优先级选择多路复用器420基于这些请求所显示的等待时间,使来自分类多路复用器410的输出请求(例如来自PH、PMb、PMc及PC的输出请求)优先化。如前所述,PH请求具有在PMb、PMc及PC请求之上的较高仲裁优先级。然而,为了避免对于具有较低优先级的请求产生服务匮乏,可将优先级选择多路复用器420配置为当达到预定的限制时,即停止服务PH请求。优先级选择多路复用器420可包含可编程逻辑单元421,该单元将页面触击请求的连续性服务数目限制为一至三十二个。可编程逻辑单元421包含配置用于储存PH请求限制的限制寄存器422及连接至限制寄存器422的计数器423。计数器423配置用于为优先级触击的数目进行计数,触击通过调度器230而连续性地服务。一旦计数器423达到可编程的限制,优先级选择多路复用器420即可选择不同的请求,例如PMb或PMc。计数器423将接着重置为零,并且将开始重新对于调度器320连续性服务优先级触击的数目进行计数。
参考图6,该图显示图5的分类多路复用器的分类逻辑的一项实施例的方块图。为简明起见,对应于图5中所显示的组件的电路组件将以相同编号来表示。分类多路复用器410使用包括多个多路复用器的组合逻辑以选择最高的优先级请求。需要注意的是其它实施例可使用其它逻辑块及配置。
分类多路复用器410亦包含内部信号,用以指示非AGPQ请求或MWQ请求是有效的。这种内部请求称为无效分类指针(invalid categorypointer,INV)。来自存储器读取队列0(MRQ0)的请求将给定为最高优先级;而INV将给定为最低优先级。多路复用器610为来自MRQ0的请求提供比来自存储器读取队列1(MRQ1)的请求更高的优先级。多路复用器620为来自存储器队列2(MRQ2)的请求提供比来自存储器读取队列3(MRQ3)的请求更高的优先级。多路复用器630为来自MRQ0及MRQ1的请求提供比来自MRQ2及MRQ3的请求更高的优先级。多路复用器640为来自MWQ的请求提供比来自AGPQ更高的优先级。多路复用器640进一步为来自AGPQ的请求提供比无效分类指针更高的优先级。多路复用器650为来自MRQ0~MRQ3的请求提供比来自MWQ及AGPQ的请求更高的优先级。分类多路复用器410的输出是有效的分类请求指针,用于输入至图4的优先级选择多路复用器420内。
现参见图7,该图说明图5的优先级选择多路复用器420的优先逻辑的一项实施例。优先级选择逻辑420的组合逻辑包括多个双输入多路复用器。需要注意的是在其它实施例中,亦可以使用其它逻辑配置。优先级选择多路复用器420为其进入的请求指派优先级,由最高至最低如下:旁通(BYP)、OP、Hi MWQ、Hi AGP、GTW、PH、PMb、PMc、PC及空闲预先充电。
多路复用器710给予OP比Hi MWQ更高的优先级。多路复用器720给予Hi AGP比GTW更高的优先级。多路复用器730给予PC比空闲预先充电更高的优先级。多路复用器740给予PH比PMb更高的优先级。多路复用器750给予PMc比PC及空闲预先充电两者更高的优先级。多路复用器760给予预先充电及Hi MWQ比Hi AGP及GTW更高的优先级。多路复用器770给予PH及PMb比PMc、PC及空闲预先充电更高的优先级。多路复用器780给予预先充电、Hi MWQ、Hi GP及GTW比PH、PMb、PMc、PC及空闲预先充电更高的优先级。多路复用器790给予旁通最高的优先级。多路复用器790的输出为传送至调度器320的选定请求。
如同更详细于下文中所描述的,BYP请求只在无当前有效芯片选择时发送。这可能在存储器控制器210完全空闲时发生。由于没有当前有效的芯片选择信号,即会将PMc请求作为PMb请求处理。只要接受BYP请求,该BYP请求即可以直接通过图5的调度器320而在一个周期内传送至图4的存储器总线106上。
由于请求可以在一个周期内置于存储器总线106上,BYP为给定的最高优先级。然而,存储器控制器完全空闲的情况是很少的。OP请求被给予所有其它请求中第二高的优先级。在接受了8个四倍字长(quad word)PH或PMb请求之后仅一个周期发送OP请求,以减少发生PC请求的可能性。对于判优器310而言,当超过可编程数目的周期中都没有新的有效请求出现时,即发送空闲预先充电请求,因此空闲预先充电请求被给予所有请求中最低的优先级。
图8说明图5的调度器320的一项实施例。为简明起见,对应于图2至图7中所显示的组件的电路组件将以相同编号表示。调度器320将从图5的优先级选择多路复用器420所接收的请求调度到图8的存储器总线106上。调度器320包括连接至优先级多路复用器840的三个队列。该三个队列为:预先充电队列(pre-charge queue,PQ)820、激活队列(active queue,AQ)810及读取/写入队列(read/write queue,RWQ)830。可配置调度器320以提供具有最高优先级的PQ820,其后为AQ810,再接着为RWQ830。
启动OP周期的请求将装入PQ820内。启动激活周期的请求将装入AQ810内。启动读取/写入周期的请求将装入RWQ830内。重要的是要注意在一特定的实施例中,AQ810及PQ820的尺寸是“一个”深度。RWQ830的尺寸为“三个”深度。“一个”深度迫使调度器在最后的请求完成处理并且存储器总线106变成空闲之前的最近的可能时刻接受下一个请求。一直等待,直到由图5的判优器310接受下一个请求的最近的可能时刻为止,这给了判优器310以机会来检验更多的请求,从而增加了出现PH或PMb请求的可能性。然而需要注意的是,在图8的调度器320中,队列的尺寸可能随着不同的实施例而改变。
参考图1的描述,SDRAM模块16A~16C的每个存储体包含由特定的存储器存取地址所编址的多个页面。根据图4中判优器310所接收的请求的特定类型,图8的调度器320会启动一个或一个以上的周期以存取所请求的页面。例如,当调度器320接收PH请求时,启动读取/写入周期的请求将装入图8的RWQ830内。因此调度器320只启动读取/写入周期以对该地址位置进行读取或写入。当调度器320接收PMb请求时,同时启动激活周期及读取/写入周期两者的请求将相应地装入AQ810及RWQ830。由于AQ810具有比RWQ830更高的优先级,激活周期将在读取/写入周期之前启动。当调度器320接收PMc请求时,启动激活周期及读取/写入周期的请求亦将相应地装入激活队列810及读取/写入队列830。在图1的描述中所描述的一个周期往返瞬间后,图8的调度器320将启动激活周期,其后是读取/写入周期。
若调度器320接收PC请求,则启动预先充电周期、激活周期及读取/写入周期的请求将分别装入PQ820、AQ820及RWQ830。由于PQ820具有最高的优先级,预先充电周期将首先执行,随后是激活周期,再接着是读取/写入周期。然而,由于PC请求通常提供最低等级的等待时间,可将PC请求转换成OP请求且后接以PMb请求。这使得能将更多在PC之后接收的最佳化请求插入到OP及PMb之间。
若调度器320接收BYP请求,在概念上这将是PMc请求。然而,由于依照定义没有激活芯片选择,该请求将作为PMb请求处理。调度器320因此在一个周期内透过AQ820而将该请求传送至存储器总线106。
除了在存储器总线106上调度及优化事件,调度器320亦可以配置来控制各种其它与SDRAM相关的活动,包括:对于SDRAM的更新周期,由于SDRAM的重置、功率消耗增加(power up)及功率消耗降低(power down)所导致的SDRAM的初始化及配置。
虽然本发明的系统及方法结合数个实施例而描述,但并非意在限定于此处所提出的特定的形式,反之,本发明意在涵盖可以合理地包含于由所附权利要求书所定义的本发明的精神及范围内的替代、改动及等值方案。
产业应用性
本发明可应用于计算机系统。

Claims (10)

1.一种总线桥(102),包括:
用于控制存取存储器(104)的存储器控制器(210);
连接至该存储器控制器(210)的处理器总线接口(204),其中该处理器总线(204)在该存储器控制器(210)及处理器(101)之间提供接口;
连接至该存储器控制器(210)的第一外围总线接口(212),其中该第一外围总线接口在该存储器控制器(210)及第一外围总线(114)之间提供接口;
其中该存储器控制器(210)经配置以从该处理器总线接口(204)及第一外围总线接口(212)接收多个进入的请求并在其中进行仲裁,其中该存储器控制器(210)将所述多个进入的请求分类成为页面触击请求、页面遗漏存储体请求及页面遗漏不同芯片选择请求,其中该存储器控制器(210)经配置而为该页面触击请求提供比该页面遗漏存储体请求更高的仲裁优先级,并且其中该存储器控制器(210)经配置而为该页面遗漏存储体请求提供比该页面遗漏不同芯片选择请求更高的仲裁优先级。
2.如权利要求1所述的总线桥(102),其中该存储器(104)透过存储器总线(106)连接至该总线桥(102),其中该存储器总线(106)为同步动态随机存取存储器总线。
3.如权利要求1所述的总线桥(102),其中该存储器控制器(210)包括:
经配置而在所述进入的请求之间仲裁的判优器(310),其中该判优器(310)包括经配置而将所述多个进入的请求进行分类的多个分类多路复用器(410)。
4.如权利要求3所述的总线桥(102),其中每一个所述多个分类多路复用器(410)都为多路复用单元,其中每个多路复用单元包括经配置而从所述多个进入的请求中选择一个请求的多个多路复用器(610~650)。
5.如权利要求4所述的总线桥(102),其中该判优器(310)进一步包括:
经连接而从所述多个分类多路复用器接收多个经分类的进入的请求的优先级选择多路复用器单元(420),其中该优先级选择多路复用器单元(420)经配置而基于固定的优先级来选择待调度的优先级请求,其中该优先级选择多路复用器单元(420)包括多个多路复用器(710~790)。
6.如权利要求5所述的总线桥(102),其中该存储器控制器(210)进一步包括:
经连接而接收由该优先级选择多路复用器单元(420)所选择的该优先级请求的调度器(320),其中该调度器(320)经配置而将该优先级请求调度到该同步动态随机存取存储器总线上,其中该调度器包括预先充电队列(820)、激活队列(810)及读取/写入队列(830),其中将预先充电周期装入该预先充电队列内,其中将激活周期装入该激活队列内,其中将读取/写入周期装入该读取/写入队列内。
7.如权利要求1所述的总线桥(102),其中该存储器控制器(210)进一步经配置而将所述多个进入的请求分类成为页面冲突请求,其中该存储器控制器(210)经配置而为该页面遗漏不同芯片选择请求提供比该页面冲突请求更高的仲裁优先级。
8.如权利要求7所述的总线桥(102),其中所述多个进入的请求包括:
至少一个来自该处理器总线接口(204)的请求;
至少一个来自该第一外围总线接口(212)的请求;
至少一个来自该第二外围总线接口(214)的请求;以及
至少一个来自图形地址再变换表(GART)表格路径(330)的请求。
9.一种操作存储器控制器(210)的方法,包括:
从处理器总线接口(204)及第一外围总线接口(212)接收进入的请求;
将该进入的请求分类成为多个类别,其中所述多个类别包括页面触击请求、页面遗漏存储体请求及页面遗漏不同芯片选择请求;
在该进入的请求中进行优先化,其中该页面触击请求接收比该页面遗漏存储体请求更高的仲裁优先级,其中该页面遗漏存储体请求接收比该页面遗漏不同芯片选择请求更高的仲裁优先级。
10.一种计算机系统,包括:
连接至处理器总线接口(204)的微处理器(101),其中该微处理器(101)产生一个或多个请求;
连接至存储器总线接口的主存储器(104);
经连接而在该处理器总线接口(204)、该存储器总线接口、第一外围总线接口(212)及第二外围总线接口(214)之间提供接口的总线桥(102),其中该第一外围总线接口(212)产生至少一个请求,其中该第二外围总线接口(214)产生至少一个请求;
其中该总线桥(102)包括存储器控制器(210),其中该存储器控制器(210)经配置而从该处理器总线接口(204)、该第一外围总线接口(212)及该第二外围总线接口(214)接收多个进入的请求并在其中进行仲裁,其中该存储器控制器(210)将所述多个进入的请求分类成为页面触击请求、页面遗漏存储体请求及页面遗漏不同芯片选择请求,其中该存储器控制器(210)经配置而为该页面触击请求提供比该页面遗漏存储体请求更高的仲裁优先级,其中该存储器控制器(210)经配置而为该页面遗漏存储体请求提供比该页面遗漏不同芯片选择请求更高的仲裁优先级。
CN 00819403 2000-04-03 2000-11-21 包含具有改良存储器请求仲裁机制的存储器控制器的总线桥 Pending CN1452745A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US54123400A 2000-04-03 2000-04-03
US09/541,234 2000-04-03

Publications (1)

Publication Number Publication Date
CN1452745A true CN1452745A (zh) 2003-10-29

Family

ID=24158732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 00819403 Pending CN1452745A (zh) 2000-04-03 2000-11-21 包含具有改良存储器请求仲裁机制的存储器控制器的总线桥

Country Status (6)

Country Link
EP (1) EP1269330B1 (zh)
JP (1) JP2004500667A (zh)
KR (1) KR20020089428A (zh)
CN (1) CN1452745A (zh)
DE (1) DE60009355T2 (zh)
WO (1) WO2001075620A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101087343B (zh) * 2006-06-06 2010-11-17 株式会社理光 数据处理装置及其方法
CN101211321B (zh) * 2006-12-28 2012-09-05 英特尔公司 分层存储器读取/写入微指令调度器
CN104765577A (zh) * 2015-04-28 2015-07-08 杭州中天微系统有限公司 一种频率自适应的高速存储系统
CN106528464A (zh) * 2016-11-08 2017-03-22 英业达科技有限公司 内存访问冲突控制的计算机系统
CN109491785A (zh) * 2018-10-24 2019-03-19 龙芯中科技术有限公司 内存访问调度方法、装置及设备

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961834B2 (en) * 2001-10-12 2005-11-01 Sonics, Inc. Method and apparatus for scheduling of requests to dynamic random access memory device
US7194561B2 (en) * 2001-10-12 2007-03-20 Sonics, Inc. Method and apparatus for scheduling requests to a resource using a configurable threshold
US6804738B2 (en) 2001-10-12 2004-10-12 Sonics, Inc. Method and apparatus for scheduling a resource to meet quality-of-service restrictions
US6578117B2 (en) * 2001-10-12 2003-06-10 Sonics, Inc. Method and apparatus for scheduling requests using ordered stages of scheduling criteria
US7020762B2 (en) * 2002-12-24 2006-03-28 Intel Corporation Method and apparatus for determining a dynamic random access memory page management implementation
KR100518576B1 (ko) * 2003-05-24 2005-10-04 삼성전자주식회사 버스 중재기 및 버스 중재방법
US7665069B2 (en) 2003-10-31 2010-02-16 Sonics, Inc. Method and apparatus for establishing a quality of service model
US9087036B1 (en) 2004-08-12 2015-07-21 Sonics, Inc. Methods and apparatuses for time annotated transaction level modeling
KR100690621B1 (ko) * 2005-02-04 2007-03-09 엘지전자 주식회사 버스 중재방법
KR100784385B1 (ko) * 2005-08-10 2007-12-11 삼성전자주식회사 공유 자원에 대한 접근 요청을 중재하는 시스템 및 방법
US8868397B2 (en) 2006-11-20 2014-10-21 Sonics, Inc. Transaction co-validation across abstraction layers
JP5034551B2 (ja) * 2007-02-26 2012-09-26 富士通セミコンダクター株式会社 メモリコントローラ、半導体メモリのアクセス制御方法およびシステム
KR100973419B1 (ko) * 2008-06-11 2010-07-30 인하대학교 산학협력단 버스 중재 방법 및 장치
US8615637B2 (en) * 2009-09-10 2013-12-24 Advanced Micro Devices, Inc. Systems and methods for processing memory requests in a multi-processor system using a probe engine
US8683128B2 (en) 2010-05-07 2014-03-25 International Business Machines Corporation Memory bus write prioritization
US8838901B2 (en) 2010-05-07 2014-09-16 International Business Machines Corporation Coordinated writeback of dirty cachelines
KR20140028618A (ko) 2012-08-29 2014-03-10 삼성전자주식회사 쓰기 페일을 줄이는 메모리 장치, 이를 포함하는 메모리 시스템 및 그 쓰기 방법
KR102098248B1 (ko) 2013-06-03 2020-04-07 삼성전자 주식회사 온도에 따라 완화된 타이밍 요건으로 사용되는 메모리 장치 및 이를 이용하는 메모리 콘트롤러
CN110729006B (zh) * 2018-07-16 2022-07-05 超威半导体(上海)有限公司 存储器控制器中的刷新方案

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222223A (en) * 1989-02-03 1993-06-22 Digital Equipment Corporation Method and apparatus for ordering and queueing multiple memory requests
US5638534A (en) * 1995-03-31 1997-06-10 Samsung Electronics Co., Ltd. Memory controller which executes read and write commands out of order
US5745913A (en) * 1996-08-05 1998-04-28 Exponential Technology, Inc. Multi-processor DRAM controller that prioritizes row-miss requests to stale banks
EP0924621A3 (en) * 1997-12-22 2000-06-28 Compaq Computer Corporation Computer system including bridge logic having a fair arbitration mechanism to support isochronous devices

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101087343B (zh) * 2006-06-06 2010-11-17 株式会社理光 数据处理装置及其方法
US8179548B2 (en) 2006-06-06 2012-05-15 Ricoh Company, Ltd. Apparatus and method for data processing
CN101211321B (zh) * 2006-12-28 2012-09-05 英特尔公司 分层存储器读取/写入微指令调度器
CN104765577A (zh) * 2015-04-28 2015-07-08 杭州中天微系统有限公司 一种频率自适应的高速存储系统
CN104765577B (zh) * 2015-04-28 2017-08-15 杭州中天微系统有限公司 一种频率自适应的高速存储系统
CN106528464A (zh) * 2016-11-08 2017-03-22 英业达科技有限公司 内存访问冲突控制的计算机系统
CN109491785A (zh) * 2018-10-24 2019-03-19 龙芯中科技术有限公司 内存访问调度方法、装置及设备
CN109491785B (zh) * 2018-10-24 2021-01-26 龙芯中科技术股份有限公司 内存访问调度方法、装置及设备

Also Published As

Publication number Publication date
EP1269330A1 (en) 2003-01-02
JP2004500667A (ja) 2004-01-08
EP1269330B1 (en) 2004-03-24
WO2001075620A1 (en) 2001-10-11
KR20020089428A (ko) 2002-11-29
DE60009355D1 (de) 2004-04-29
DE60009355T2 (de) 2005-02-24

Similar Documents

Publication Publication Date Title
CN1452745A (zh) 包含具有改良存储器请求仲裁机制的存储器控制器的总线桥
CN110226157B (zh) 用于减少行缓冲冲突的动态存储器重新映射
US6671761B2 (en) Bus system
CN1154049C (zh) 双端口管道两级高速缓冲存储器系统
US8095744B2 (en) Device for controlling access from a plurality of masters to shared memory composed of a plurality of banks each having a plurality of pages
US8838901B2 (en) Coordinated writeback of dirty cachelines
CN112088368B (zh) 动态的每存储体和全存储体刷新
CN1934549A (zh) 管理存储器访问请求的方法和装置
EP1262878A2 (en) Self-optimizing crossbar switch
US20200133905A1 (en) Memory request management system
US8209497B2 (en) Multi-port memory and system using the same
US20120203969A1 (en) Memory bus write prioritization
US20120144104A1 (en) Partitioning of Memory Device for Multi-Client Computing System
US8006026B2 (en) Multi-port memory and computer system provided with the same
CN112416851B (zh) 一种可扩展的多核片上共享存储器
WO1999034294A1 (en) Optimal multi-channel memory controller system
US20020108019A1 (en) Cache system with DMA capabilities and method for operating same
US7263587B1 (en) Unified memory controller
CN1577304A (zh) 动态总线仲裁方法和总线仲裁器
CN117716679A (zh) 地址转换类型分组的传输
US6360305B1 (en) Method and apparatus for optimizing memory performance with opportunistic pre-charging
US20020108021A1 (en) High performance cache and method for operating same
US7664907B1 (en) Page stream sorter with dynamic binning
US8560784B2 (en) Memory control device and method
JP2016085684A (ja) メモリーアクセス装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned
C20 Patent right or utility model deemed to be abandoned or is abandoned