当前位置: 首页 > 专利查询>英特尔公司专利>正文

提供流水线存储器控制器的设备制造技术

技术编号:2882866 阅读:139 留言:0更新日期:2012-04-11 18:40
一种流水线存储器控制器,包括解码级和调度级,其中调度级包括命令队列来存储多个命令。在一个实施例中,调度级还包括超前逻辑电路,其可修改存储器命令被存储在命令队列中的顺序。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及计算机系统领域,并且尤其涉及处理存储器存取请求领域。
技术介绍
计算机系统的性能部分依赖于对系统存储器(例如,计算机系统的主要通用目的存储区)进行存取的速度。例如微处理器仅如向微处理器提供数据操作数一样快地来执行指令。很多数据操作数需要从系统存储器获得。因此,对系统存储器进行存取的速度对微处理器能完成指令执行的速度有很大的冲击。结果,持续要求提高对系统存储器进行存取的速度。对系统存储器进行存取通常受称为存储器控制器的单元的控制。存储器控制器从计算机系统内的其它单元(例如中央处理单元(CPU),图形加速器等)接收存储器存取请求(例如,请求读出存储在存储器中的数据或请求向存储器写入数据)。存储器控制器仲裁同意多个请求对存储器进行存取的顺序。而且,存储器控制器还准备/编译要被传送到系统存储器的存储器存取请求。例如,存储器控制器可解码存储器请求为一个或多个要由系统存储器执行的命令(根据存储器协议),以完成存储器请求。存储器控制器处理存储器请求的速率部分依赖于存储器控制器与系统存储器之间的存储器总线(即电子路径)的带宽(即数据传输率)。例如,存储器控制器通常仅以等于或小于存储器总线上数据传输/控制率的速率向系统存储器提交请求。否则,存储器请求将由存储器控制器以比它们被传输的速率更快的速率来准备,并且结果产生瓶颈效应。过去,存储器总线的带宽相对慢。结果,存储器控制器能够以串行方式(即,在开始处理随后的存储器请求之前完成一个存储器请求)处理存储器请求。但是,尽管以串行方式处理请求,存储器控制器仍能够填充大部分的存储器总线带宽。但是,存储器总线的技术上的进步已经增加了存储器总线上数据传输/控制的带宽。结果,为了采用增加的带宽的优点,要求提高存储器控制器的速度来处理存储器请求。专利技术概述本专利技术提供一种包括解码级和调度级的流水线存储器控制器,其中调度级包括命令队列,以存储多个命令。在一个实施例中,调度级还包括超前逻辑电路,其可修改在命令队列中被存储存储器命令的顺序。附图简述本专利技术通过举例方式示出,并且并不限制于附图,在附图中相同的参考号表示相似元件,其中附图说明图1是实施根据一个实施例的存储器控制器的计算机系统的框图;图2是实施根据一个实施例的存储器控制器的具有多个处理器的计算机系统的框图;图3示出表示流水线操作的定时图;图4是描述操作根据一个实施例的存储器控制器的步骤的流程图;图5是根据一个实施例的实施芯片集合(chipset)的存储器控制器的计算机系统的框图。详细说明描述一种用于提供高性能存储器控制器的方法和设备。在一个实施例中,存储器控制器在具有多个级的流水线结构中执行存储器请求。结果,多个请求并行执行,这提高了处理存储器请求的吞吐量(即速度和效率)。另外,在一个实施例中,流水线存储器控制器包括具有一个或多个命令队列以存储多个要被传输到系统存储器的存储器命令的调度级。在一个实施例中,调度级还包括超前逻辑电路,其比较当前存储在命令队列中的存储器命令和要被存储在该队列中的新的存储器命令。基于比较结果,超前逻辑电路把新的存储器命令调度到命令队列的选择的时隙中,这避免存储器冲突和定时或规则违反和/或存储器命令的加速执行。在下面的描述中,提出多个细节。但是显然对于熟悉本领域的技术人员而言,本专利技术没有这些特定的细节也可执行。在其它实例中,为了避免混淆本专利技术,以框图形式而并非具体地表示出已知的结构和装置。图1是实施根据一个实施例的存储器控制器105的计算机系统101的框图。如所示的那样,存储器控制器105执行从计算机系统内的其它组件接收到的存储器请求。例如,存储器控制器105将执行从处理器103和/或图形控制器104接收到的存储器请求。存储器控制器105还能够执行从连接于计算机系统的另外的外围部件,如盘驱动器、键盘和其它计算机系统内的其它分立的组件接收到的存储器请求。而且,在另外的实施例中,存储器控制器105可提供在具有多个处理器的计算机系统中,如图2中的框图所示。如图1所示,一个实施例的存储器控制器105在流水线结构中执行存储器请求。例如,在一个实施例中,存储器控制器105包括4个级请求级,解码级,调度级和发布级。如图1所示,各个级在一个时钟周期中完成。但是在另外的实施例中,在不背离本专利技术的范围的情况下,在存储器控制器105中可包括更多或更少的级。另外,级可要求多于或少于一个时钟周期来完成。如前面所讨论的那样,流水线结构允许多个指令并行执行,即使在存储器控制器105内的独立的级上。例如,如图3所示,在第一时钟周期中,请求级接收到第一请求。在第二时钟周期中,第一请求在解码级执行,并且在请求级执行第二请求。在第三时钟周期中,在调度级执行第一请求,在解码级执行第二请求,并且在请求级执行第三请求等。并行执行多个指令的结果是存储器控制器105能够在每一个时钟周期完成处理存储器请求。操作图1所示的存储器控制器105的一个实施例的步骤在图3的流程图中说明。在步骤402中,存储器控制器105从计算机系统内的组件接收一个或多个请求。在一个实施例中,请求在存储器控制器105的判优器处被接收。在一个以上的存储器请求由存储器控制器105同时接收到的情况下,判优器用于确定存储器请求由存储器控制器105进行处理的顺序。在一个实施例中,判优器实施预定的优先级顺序。例如,图形控制器104可具有第一优先级并且处理器103具有第二优先级。结果,如果存储器请求从图形控制器104和处理器103同时被接收到,图形控制器的存储器请求将在处理器的请求之前被处理。但是在另外的实施例中,在不背离本专利技术的范围的情况下可实施确定处理多个存储器请求的顺序的另外的技术。在步骤404中,存储器控制器105的解码级解码存储器请求。例如,在一个实施例中,解码级解码请求来确定请求的预定操作(例如读出数据或写入数据),以及请求的存储器地址。接着,存储器地址信息与解码的存储器请求的操作一起被传送到存储器控制器105的随后的级。带有存储器请求的地址信息部分依赖于在系统中实施的存储器类型。例如,在图1所示的一个实施例中,系统存储器115由多个可编址存储器装置构成,每一个具有多个可编址存储器页。存储器页包括多个存储器存储位置(例如行和列)。因此,解码的存储器请求可提供包括存储器装置ID、存储器页的地址信息以及规定存储器地址的行和列。但是,在一个实施例中,仅可打开每个存储器装置的存储器的一页。结果,在一个实施例中,解码级确定是否由各个存储器请求寻址的存储器页已经被打开(即确定是否有命中页)。例如,当前解码的存储器请求寻址的存储器装置的存储器页已经由较早的存储器请求的命令打开,和/或将要由存储在命令队列之一中的命令打开。尤其,在一个实施例中,解码级包括识别当前打开的存储器的页的页命中逻辑电路111。结果,解码级比较当前解码的存储器请求寻址的页与识别为当前打开的和/或要由命令队列中已经存在的命令打开的页。把比较结果传送到存储器控制器105的下一级,然后将其用来确定哪个命令必须来完成存储器请求。例如,要由当前解码的存储器请求存取的存储器装置的页可以已经被调度来由较早的存储于命令队列中的存储器请求的页打开命令来打开。结果,对于当前解码的存储器请求而言,打开页命令不是必要的。另一方面,本文档来自技高网...

【技术保护点】
一种流水线存储器控制器,包括: 解码级;和 连接于所述解码级的调度级,所述调度级包括命令队列来存储多个命令。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:PK尼扎MW威廉斯
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1