在具有高速缓存的数据处理系统内减少耗用时间的方法与装置制造方法及图纸

技术编号:2858834 阅读:227 留言:0更新日期:2012-04-11 18:40
数据处理器(120)确认特定的数据处理操作,其中处理器中数据将被储存在高速缓存(124)中仅供使用一次。数据处理器(120)分配存储器位置至高速缓存(124)的至少一条高速缓存线。然后在中央处理单元(122)上运行的譬如数据通信驱动程序的数据发生器将数据元素写入到分配的存储器位置。数据耗用器(160)通过送出“读取一次(READ  ONCE)”请求至主桥接器(130)而读取数据元素。主桥接器(130)提供“读取一次”请求至存储器控制器(126),该存储器控制器(126)读取来自高速缓存(124)的数据并解除分配该至少一条高速缓存线而不执行从高速缓存至主存储器(170)的回写。在一种形式的存储器控制器(126)中,通过发出标记该相关的高速缓存线的下一个状态无效的探测信号,而解除分配该至少一条高速缓存线。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术大体上涉及数据处理系统,而更具体地涉及具有高速缓存的数据处理系统。
技术介绍
一种增加计算机系统性能的已知方法是包含有本地的、高速的存储器,如已知的高速缓存。高速缓存增加系统的性能,因为一旦中央处理单元(CPU)在特定的地址存取数据元素,则其下一个存取将是邻接的地址的可能性很高。高速缓存取得并储存数据,该数据邻接位于从较慢的主存储器或较低层级的高速缓存来的该请求的数据段(piece)。在非常高性能的计算机系统中,能以层级的方式设置几个高速缓存。最靠近CPU的已知为上层或“L1”的高速缓存,为高速缓存层级划分中最高层级者,而通常也是最快速的。其它的一般较慢的高速缓存则以降低层级的次序设置,开始是“L2”高速缓存,依此往下类推,直到连接到主存储器的最低层级的高速缓存为止。当要储存和抛弃数据时,高速缓存遵循着某些指导原则。例如,许多处理器遵循着“分配于写入(allocate-on-write)”策略,该策略规定对应于由CPU写入的存储器位置的高速缓存线将被储存在高速缓存中。通常高速缓存遵循着已知为“最近最少使用(least-recently-used;LRU)”的策略,以决定一旦所有的位置已经占满后,将抛弃而空出哪个位置以让新的数据元素使用。高速缓存一般包含多个状态位以指示高速缓存线在遍及整个系统中维持数据相干的状态。一种共同使用的相干协议已知为“MOEDI”协议。依照此协议各高速缓存线包括状态位以指示该线是在哪一个MOEDI状态,包括指示高速缓存线已经被修正(M)的位、高速缓存线已经独占(E)或共享(S)的位、或者高速缓存线为无效(I)的位。自有(O)状态指示在一个高速缓存中该线被修正,在其它的高速缓存中可以存在共享副本,并且存储器中的数据是陈旧的。在一典型的构造中,所有的高速缓存结合着中央处理单元(CPU)设在同一集成电路中,而主存储器位于芯片之外。主存储器是系统中最慢和最廉价的存储器,其可以用较低成本但相对较慢的动态随机存取存储器(DRAM)芯片构成。此特性造成芯片外的动态随机存取存储器的主存储器的存取具有瓶颈,因而希望尽一切可能来避免这些瓶颈。而且在最近几年,微处理器的速度增加要快于DRAM的存取速度,如此更加重了此瓶颈问题。
技术实现思路
依照本专利技术,提供一种用于减少数据处理系统中耗用时间的方法,该系统包括高速缓存和较低层级存储器系统。首先将存储器位置分配给高速缓存的至少一条高速缓存线。数据发生器将数据元素写入到至少一条高速缓存线。接收从数据耗用器来的读取一次请求。响应于此请求,通过直接从高速缓存读取数据元素而将数据元素提供至数据耗用器。高速缓存线接着解除分配而不存取较低层级的存储器系统。在一种形式中本专利技术包括数据处理器,该数据处理器具有包括高速缓存、主桥接器、和存储器控制器的中央处理单元。主桥接器连接到中央处理单元,并配合用于接收从数据耗用器来的对于数据元素的读取一次请求。存储器控制器具有连接到主桥接器的输入,并具有连接到中央处理单元的输出。存储器控制器响应接收读取一次请求,而将用于数据元素的探测信号发出至中央处理单元。该探测信号指示至少一条含有请求的数据元素的高速缓存线的下一个状态将是无效的。若高速缓存含有该数据元素,则中央处理单元提供该数据元素至主桥接器,高速缓存标记该至少一条无效的高速缓存线。附图说明以下将结合附图说明本专利技术,其中相同的参考标记表示相同的元件,其中图1显示了在现有技术已知的数据处理系统中与数据流和控制信号相关的时序图;图2显示了依照本专利技术的与数据流和控制信号相关的时序图;图3显示了依照本专利技术的数据处理系统的方块图; 图4显示了能够用来形成读取一次(READ ONCE)请求包的“超传输(HyperTransport)”包的编码表。具体实施例方式图1显示了在现有技术已知的数据处理系统中与数据流和控制信号相关的时序图10。如图1所示,垂直轴代表时间,时间是从上向下流逝。图1将三个装置(节点)描绘为沿着水平方向分布的垂直线。标示“节点A(NODE A)”的第一节点为数据耗用器。例如,节点A可对应于譬如数据通信信道的发射器的输入/输出装置。对于此例节点A可以有相关的直接存储器存取(DMA)控制器以支持数据流。第二节点,标示“节点B(NODE B)”,为较低层级存储器系统,并包括了主存储器和可能的一个或多个较低层级高速缓存。第三节点,标示“节点C(NODE C)”,为具有高速缓存的数据发生器,譬如运行应用程序的中央处理单元。在数据通信关系上,节点C将使用在存储器中的循环缓冲器系统来产生数据帧形式的数据,而由连接到节点A的数据通信装置用于最终传输。现在将说明数据流和控制信号。首先运行在节点C的应用程序,譬如通信协议驱动程序,建立数据帧。节点C通过执行储存操作,而将用于数据帧的数据写到存储器位置。因为没有给其本地的高速缓存分配地址,因此节点C启动一储存请求至由箭头12所表示的主存储器。存储器控制器在节点B于时间14期间启动一存储器存取,并发送无效探测信号16至所有的高速缓存,包括节点C。无效探测信号通知在系统中的所有高速缓存,该存储器控制器为了相干(coherency)的目的,而企图分配在独占状态(exclusive state)的高速缓存线至节点C。当数据从较低层级存储器系统送回时,存储器控制器将该数据前传至在节点C上的数据处理器的高速缓存,如箭头18所示。然后处理器在时间周期20期间将数据写入高速缓存线。此种类型的操作为传统的分配于写入(allocate-on-write)的操作。高速缓存写入完成后,在节点C的应用程序经通过通知信息22将建立的数据帧信号从节点C发送至节点A。节点A响应DMA读取请求24回到节点B。节点B在时间26期间启动存储器存取,并发送探测信号28至节点C。因为此数据表示促在于节点C的高速缓存中,因此数据处理器返回该数据以满足此请求,如箭头30所示。然后在节点A的数据耗用器于时间周期32期间将数据写入至通信信道的先入先出(first-in,first-out;简称FIFO)存储器、传输缓冲器、或类似的装置。在根据系统中其它事件的未决定时间量过去之后更迟些,储存在节点C的高速缓存中的修正的高速缓存线变成最近最少使用(LRU)的高速缓存线,而将被舍弃。因此节点C通过发送修正的数据至节点B的较低层级存储器系统而执行回写,如箭头36所示。在节点B的存储器控制器于时间周期38期间将数据写入至较低层级存储器系统。值得注意的是此种传统的操作于时间周期14和38期间需要针对主存储器的一个读取和一个写入,因此占据着主存储器总线。对于施行高带宽通信协议的系统,将频繁地重复此操作,而耗用了相当的有效带宽部分。在最近几年主存储器的速度已经增快,但是并没有如处理器速度般的快速,因此对于此项操作希望能减少所需的主存储器总线的带宽。为了减少主存储器带宽,本专利技术人认识到通信操作是一特殊情况,其中可仅依据在处理器的高速缓存内的数据而操作,而全然避免了对主存储器所需的任何存取。而且因为数据将仅可使用一次,因此并不须作后续的回写。为了避免回写,本专利技术人已设计了一种方法和相对应的数据处理系统,来发出如此状况的信号并防止发生回写。也可用一般目的的高速缓存来施行,该高速缓存响应无效探测信本文档来自技高网
...

【技术保护点】
一种在具有分级存储器的数据处理系统(100)中的存储器存取方法,存储器包括高速缓存(124)和较低层级存储器系统(170),该方法包括下列步骤:为高速缓存(124)的至少一条高速缓存线分配存储器位置;通过数据发生器(122) 将数据元素写入该至少一条高速缓存线;以及接收从数据耗用器(160)来的用于该数据元素的读取一次请求,响应该读取一次请求通过直接从该高速缓存(124)读取该数据元素而提供该数据元素至该数据耗用器(160),随后解除分配该至少一条高速缓 存线而不须存取该较低层级存储器系统(170)。

【技术特征摘要】
US 2002-9-30 10/261,6421.一种在具有分级存储器的数据处理系统(100)中的存储器存取方法,存储器包括高速缓存(124)和较低层级存储器系统(170),该方法包括下列步骤为高速缓存(124)的至少一条高速缓存线分配存储器位置;通过数据发生器(122)将数据元素写入该至少一条高速缓存线;以及接收从数据耗用器(160)来的用于该数据元素的读取一次请求,响应该读取一次请求通过直接从该高速缓存(124)读取该数据元素而提供该数据元素至该数据耗用器(160),随后解除分配该至少一条高速缓存线而不须存取该较低层级存储器系统(170)。2.如权利要求1所述的方法,其中该解除分配的步骤包括响应该读取步骤标记该至少一条高速缓存线无效的步骤。3.如权利要求1所述的方法,其中该分配步骤包括分配该存储器位置至该高速缓存(124)的至少一条高速缓存线,而不存取该较低层级存储器系统(170)的步骤。4.如权利要求1所述的方法,其中写入该数据元素的步骤包括写入数据通信数据帧的至少一部分的步骤。5.一种用于减少数据处理系统中耗用时间的方法,该数据处理系统具有包括高速缓存和较低层级存储器系统的分级存储器,该方法包括下列步骤接收对于数据元素的读取一次请求;探测在该高速缓存的至少一条高速缓存线中该数据元素的出现;关联于该探测步骤而指示该至少一条高速缓存线的下一个状态将是无效的;以及若该数据元素是储存在该高速缓存中,则通过提供来自该高速缓存的该至少一条高速缓存线的数据并接着无效该至少一条高速缓存线,或者若该数据元素不是储存在该高速缓存中,则从该较低层级存储器系统中...

【专利技术属性】
技术研发人员:P康威
申请(专利权)人:先进微装置公司
类型:发明
国别省市:US[美国]

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

1