用于改进超高速缓存性能的输入/输出页面删除确定制造技术

技术编号:2886233 阅读:209 留言:0更新日期:2012-04-11 18:40
定义一个具有大尺寸(例如,4K字节)但带有特殊的高速缓存行特征的专用“I/O”页面。对于DMA读,PCI主桥路可以按可高速缓存的读访问该I/O页面的第一高速缓存行,而其它的所有行是按不可高速缓存地访问的(带有不高速缓存意图的DMA读)。对于DMA写,PCI主桥路按可高速缓存地访问所有的高速缓存行。通过把第一行定义成是高速缓存的,为了在PCI主桥路中使整页数据无效只需由L1/L2超高速缓存在系统总线上使一条高速缓存行无效。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术一般地涉及数据处理系统,尤其涉及从主存储器和一个或更多的超高速缓冲存储器预取数据的处理系统。更具体地,本专利技术涉及改进直接存储器存取及超高速缓冲存储器的性能改进。在现代微处理器系统中,随着技术不断改进处理器周期时间不断减小。此外,抽象执行、更深的流水线、更多的执行元件等的设计技术持续改进处理系统的性能。由于处理器需要更迅速地从存储器得到数据和指令,性能的改进对系统的存储器接口加上更重的负担。为了提高处理系统的性能,经常使用超高速缓冲存储器系统。技术上周知采用超高速缓存的处理系统。超高速缓存是速度很高的存储器部件,其通过在最短的等待时间量下可使处理器(“CPU”)得到现用的程序和数据以提高数据处理系统的速度。采用大的片上超高速缓存(L1超高速缓存)以帮助减小存储器等待时间,并且L1超高速缓存常常通过更大的片外超高速缓存(L2超高速缓存)扩大。超高速缓存充当超高速缓存行数据的存储区。超高速缓存典型地划分成“行”,每个行具有相关的“标记”和属性位组。超高速缓存的各行含有主存储器数据的拷贝。例如,在超高速缓存中“4K页面”的数据可定义成由32行来自存储器的数据所组成,其中每行具有128个字节。超高速缓存系统背后的主要优点是在快速的超高速缓存中保持最频繁访问的指令和数据,从而整个处理系统的平均存储器存取时间接近超高速缓存的访问时间。尽管超高速缓存的尺寸只是主存储器的很小的一部分,由于程序的“访问点”特性,在快速超高速缓存中可成功地找到大部分的存储器请求。该特性把存储器访问限制在存储器的一些局部区域(在本例下,L1和L2)中。超高速缓存的基本操作是周知的。当处理器需要访问存储器时,检查超高速缓存。若在超高速缓存中找到处理器寻址的字时,则从快速的超高速缓存读该字。若未在超高速缓存中找到处理器寻址的字,则访问主存储器以读该字。接着把含有该被访问的字的一个字块从主存储器转移到超高速缓存中。以这种方式,把附加的数据转移到超高速缓存中(预取),从而对存储器的此后访问有可能在快速的超高速缓存中找到所要的字。经常实施预取技术以事先向片上L1超高速缓存提供存储器数据以减少等待时间。理想地,足够提前地预取数据和指令从而当处理器需要时L1超高速缓存中总存在所需指令和数据的拷贝。技术上对指令和/或数据的预取是周知的。在需要高的I/O直接存储器存取(DMA)性能的系统(例如,图形系统)中,典型地可按如下管理送往I/O的系统存储器数据1)系统处理器通过一系列的对系统存储器空间中的一组4K字节(4K)页面缓冲器的存储而生成数据。这使得在L1/L2超高速缓存中把数据标成“修改过的”(在超高速缓存中有效,不对系统存储器回写)。2)处理器启动I/O部件以执行对这些生成的4K页面的DMA“读”。3)I/O部件进行一系列的对系统存储器的读入。4)以I/O部件名义执行DMA操作的PCI主桥路预取并且高速缓存“共享”(在超高速缓存中有效,在系统存储器中有效)状态下的数据。当PCI主桥路读数据时L1/L2把各数据超高速缓存行从“修改过的”状态改变到“共享”状态(即,L1/L2介入并一起把数据直接提供给或“推到”可对该数据的存储器中)。5)当DMA部件结束时,可重新使用4K缓冲器组(即,软件具有一组固定的通过其中流通数据的缓冲器)。为了保持DMA I/O性能,PCI主桥路可包含它自己的超高速缓存,以用于预取/高速缓存共享状态下的数据。这允许把DMA数据移近数据使用者(例如,I/O部件)以使DMA“读”的性能最高。当PCI主桥路在系统总线上发布可高速缓存的读时,由于PCI主桥路执行可高速缓存的读使得L1/L2从“修改过的”状态变到“共享的”状态。当软件希望重新使用该4K页面的超高速缓存空间以存储新的DMA数据时,由于L1/L2超高速缓存中的每行已变成“共享”状态,该状态改变行为会产生性能上的损失。为了进行新的存储,L1/L2必须对每行执行一个系统总线命令以表明行已从“共享的”转到“修改过的”。必须对4K页面中的每个高速缓存行(共有32行)这样做,即使其旧数据没有用(PCI主桥路需要该数据现在是无效的指示)。在新的存储可被执行前必须在系统总线上完成这些附加的存储器相容性业务即这32个系统总线命令以改变所有这些超高速缓存行的状态,会明显地降低处理器性能。已经显示,和“已修改过的”状态下相比,当L1/L2超高速缓存处于“共享的”状态下时处理器存储4K页面可能需要的时间要长4-5倍。这是因为需要附加的相容性业务以把每条高速缓存行的状态改变成“修改过的”。从而需要提供一种提高直接存储器存取部件的速度和效率的方法和设备。还需要提供一种减少改变L1/L2超高速缓存中的数据页面的状态所需要的系统总线命令的数量的方法和设备。从而本专利技术的一个目的是提供一种减少改变L1/L2超高速缓存中缓冲器的状态时所需要的系统总线命令的数量的方法和设备。本专利技术的另一个目的是提供一种提高直接存储器存取部件的速度和效率的方法和设备。本专利技术的再一个目的是提供一种允许超高速缓存用一次总线操作清除存储器缓冲器的方法和设备。现说明如何达到上述目的。定义一个具有大尺寸(例如,4K字节)但带有特殊的高速缓存行特征的专用“I/O”页面。对于DMA读,PCI主桥路可以按可高速缓存的读来访问该I/O页面的第一高速缓存行,而其它的所有行是可按不可高速缓存地访问的(带有不高速缓存意图的DMA读)。对于DMA写,PCI主桥路按可高速缓存地访问所有的高速缓存行。PCI主桥路保持尺寸为该I/O页面的数据的高速缓存监听颗粒性,这意味着若主桥路检测到I/O页面内的任何高速缓存行上的存储型(无效型)系统总线操作,该页面内的已高速缓存的数据被转为无效(L1/L2继续把该页面中的所有高速缓存行对待成是可高速缓存的)。通过把第一行定义成是可高速缓存的,为了在PCI主桥路上使整页数据无效只需由L1/L2超高速缓存在系统总线上使一条高速缓存行无效。可以直接在L1/L2超高速缓存中无需系统总线操作下出现对该I/O页面中的其它高速缓存行的全部存储,因为这些行在L1/L2超高速缓存中保持着“修改过的”状态。在下述详细书面说明中本专利技术的上述以及其它目的、特点和优点将变为清楚。在附属权利要求书中叙述本专利技术的确信为新颖性的特性。然而,通过在连带附图下阅读下述对一个示范实施例的详细说明会最好地理解本专利技术本身以及优选的使用方式、它的其它目的及优点,附图中附图说明图1描述可在其中实现本专利技术的优选实施例的数据处理系统的高层方块图;图2A是用于依据本专利技术的优选实施例使用专用DMA I/O页面的方法的高层流程图;图2B描述用于依据本专利技术的优选实施例重新使用专用DMA I/O页面的方法的高层流程图;图3是依据本专利技术的优选实施例的为执行处理器存储的L1/L2相关性处理的流程图;图4是依据本专利技术的优选实施例的使用专用DMA I/O页面的方法的高层流程图,其中PCI主桥路可服务于DMA请求;以及图5是依据本专利技术的优选实施例的使用专用DMA I/O页面的方法的一部分的高层流程图,其中PCI主桥路可监听系统总线相关性。现参照附图,具体参照图1,其中描述依据本专利技术的一种优选实施例的多处理器数据处理系统。数据处理系统100是一个多处理机(SMP)系统10本文档来自技高网...

【技术保护点】
一种改进直接存储器存取和超高速缓存的性能的方法,包括步骤: 定义一个存储器缓冲器,其中所述存储器缓冲器内的第一高速缓存行是可按高速缓存读的; 还把所述存储器缓冲器内的其余高速缓存行定义为处于修改过的状态;并且 响应于所述超高速缓存试图把所述第一高速缓存行从共享状态改变到修改过的状态,使所述整个存储器缓冲器无效。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:加里迪恩安德森罗纳德艾克斯韦尔阿罗佑布拉德里乔治夫雷盖伊莱恩古施瑞
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1