对高速缓冲存储器探测粒度的动态管理制造技术

技术编号:2891805 阅读:148 留言:0更新日期:2012-04-11 18:40
一种系统和方法根据直接存储器存取式I/O设备的状态来动态地在段与页面之间改变探测比较的粒度,而所述I/O设备则在与CPU时钟比较时异步地向系统总线上的设备写。通过利用页面地址粒度,由于在探测比较期间不使用可能无效的段地址,所以不会产生错误的探测命中。由于与CPU时钟相异步操作的设备已经请求了段地址,所以该地址在CPU时钟确定探测比较发生时会处于过渡状态。一旦上述异步设备变为不活动的,则系统会自动返回至页面和段地址的探测比较粒度。(*该技术在2014年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及到提供计算机系统内的高速缓冲存储器的相干性,所说的计算机系统带有中央处理器(CPU)以及通过“探测”(snooping)来监控该系统总线的其它设备。具体地说,通过改变用于比较和判别数据的内存地址的准则来保持异步总线之间的相干性,而所述之数据则为一第一设备所拥有并且为另一设备所请求。带有异步总线和探测协议的一般多高速缓冲存储器系统的问题在于存在着写入高速缓冲存储器的数据地址无效的一个时间间隔。如果在这一时间间隔内(因更新和探测比较之间的异步性)产生探测比较,那么,错误的响应会引起性能降低或系统内不正确的数据。这种错误的响应可能包括虚假的探测命中或未被识别的真实的探测命中。具体地说,由于向包括在输入/输出通道控制器(IOCC)之内的高速缓冲存储器的写入或从该高速缓冲存储器中的读取的输入/输出(I/O)设备的异步特性,在上述I/O设备终止与一个存储器段的交互作用并开始与另一存储器段的交互作用时会存在一个时间间隔。因此,用于探测比较的段地址会处于过渡状态,从而,如果在上述地址过渡期间内对系统进行探测,那么,就会产生错误的探测命中或无法探测到监控命中。美国专利第5119485号说明了一种通常的用于保持高速缓冲存储器相干性的方案,此方案涉及到使来自另一总线主控设备的编码控制信号与一总线接口控制电路联接起来以便有选择地使数据总线能进行控测。美国专利第5072369号说明了跨越不同总线映射地址以确保相干性。也就是说,一接口电路将所选择的总线地址映射到另一总线上的相应地址,从而,当一第一总线上的总线主控设备试图读或者写时,一总线接口电路通过存取上述第二总线的存储器中的相应地址而产生响应。美国专利第5025365号说明了保持总速缓冲存储器相干性的另一种方法,这种方法具有允许在不同时间间隔内更新每个高速缓冲存储器的分布式目录。这就会在两次更新之间的时间间隔内引起目录的不一致性。将一种系统总线协议处理成能提供周期性的校正操作以通过更新所述分布式目录来保持数据的相干性。美国专利第5193170号包括一CPU、随机存取存储器(RAM)和只读存储器(ROM)。在ROM被映射至RAM方式的过程中完成一次探测操作以探测任何的CPU写操作,而且,若探测到CPU的写操作,则将高速缓冲存储器无效的信号送给CPU。美国专利第4945486号包括一系统处理器,这些处理器通过一共享数据总线与各个产生同步请求信号的处理器相连接。一同步控制器在同步总线上广播上述处理器的状态,因而允许启用对该总线的探测去控制通信。应该注意到,通常的系统都使用了各种技术如映射、分布式目录、同步处理器、允许位等来保持高速缓冲存储器的相干性。这些通常的系统都解决了同步系统中高速缓冲存储器的相干性问题,但都未提及当系统中至少有两个总线为异步时所面临的更多问题。所以,可以看出,重定义系统中现有参数以便在不需要附加复杂逻辑情况下在异步总线之间提供高速缓冲存储器相干性的系统是十分优越的。概括地说,本专利技术在某些时候对探测比较即判断是否业已出了探测命中使用了页面地址而不是段地址。本文所述用的存储器的页面是指一组存储器段,其中,一个页面可以是4K字节,一个段可以是32字节,因此,每个页面有128个段。存储器地址包括页面地址和段地址。一般情况下,系统在段层次上保持高速缓冲存储器的一相干性,即如果页面地址与段地址均相同,则认为产生了一次窥探命中。但是,本专利技术能根据在与CPU时钟作比较时异步进行的直接存储器存取(DMA)操作的状态(活动地或不活动的)来动态地在段与页面之间改变探测比较的粒度(granularity)。通过利用页面地址的粒度,本专利技术能确保不会产生错误的探测命中,这是因为,在探测比较过程中不使用可能无效的段地址。在总线主控设备请求页面地址时,通过抑制该总线主控设备而将DMA操作变成不活动的,并且与CPU时钟同步地更新IOCC探测比较地址。这样,如果总线主控设备请求的是页面地址处的数据而不是IOCC当前正在使用的数据,那么,本专利技术的数据处理系统就会自动地将该总线主控设备设置成不活动的状态。当DMA操作活动时,所述总线主控设备会异步地与包含在诸如IOCC之类设备内的1级(L1)高速缓冲存储器进行交互作用。这就会使IOCC异步地更新用于探测比较的地址,因为,上述总线主控设备控制着独立于CPU时钟的命令时钟。依照本专利技术,IOCC在DMA活动期间只在页面地址基础上窥探系统总线。通过利用页面粒度,若其它设备向与DMA总线主控设备当前正在存取的段处于同一页面内的存储器段请求数据,则会出现探测命中。在这种情况下,IOCC通过发出一ARTRY_信号而抑制其它设备直至DMA的活动完成。一旦DMA操作结束或暂时不活动,那么就允许进行所请求的存储器存取。在所述总线主控设备向存储器写的情况下,正在请求的设备将存取已更新的拷贝。而且,当DMA操作不活动时,IOCC所占有的数据的地址是静态的,从而不存在能使段地址无效的过渡态并且所述探测比较的粒度会回复至段地址级上。具体地说,假设I/O总线主控设备正在从IOCC高速缓冲存储器中读取数据,即该总线主控设备请求各种存储器地址直至所有的数据都已被读取或出现某些类型的中断条件。在DMA活动期间,当其它设备请求处于和总线主控设备正在存取的数据在同一页面上的段地址之内的数据时,该总线主控设备会在探测比较操作过程中使该探测比较地址的段部分得以更新。在这种情况下,会发出一ARTRY_信号以控制上述正在请求的设备直至所述总线主控设备结束活动,从而保持了相干性。所以,由于存储器地址的比较是在页面地址之间而不是在段地址之间进行的,因而本专利技术的数据处理系统将不会探测不到可能的探测命中。通过这种方式可以避免存储器段之间的过渡过程中的存储器地址之段部分的可能的无效性并确保高速缓冲存储器的相干性。如上所述,如果DMA式总线主控设备所请求的存储器地址跨越了页面边界,处理就会中断并且探测比较会被复位成与CPU时钟同步,从而保持了相干性。所以,依照前述概略说明,通过下述参照附图的说明和后附权利要求,本专利技术的目的、特征和优点对本领域的普通技术人员来说会变得更加明确,在附图中附图说明图1是可以使用本专利技术的数据处理系统的方框图;图2显示了时钟信号,它说明了从I/O总线上的总线主控设备向一输入/输出控制芯片的数据写操作的异步特征;图3是本专利技术所使用的逻辑组件的概略图,所说的逻辑组件是本专利技术用探测协议向系统内提供高速缓冲存储器的相干性的;图4显示了存储器的页面,每一页面均带有多个段,I/O总线主控设备的DMA式设备可对这些段进行写操作;图5是示意性的存储器地址,它显示了识别存储器存储单元的页面,段及字节偏移量所需的细目段;图6显示了段地址实际位的实例,该段地址的实际位是可以加以改变的并负责专利技术所要解决的问题;以及图7是显示了多个32字节的存储器段的单个4字节字的偏移部分。参见图1,它显示了可以使用本专利技术的数据处理系统的方框图,其中,参照标号1是内部带有1级(L1)高速缓冲存储器3的中央处理器。该CPU可以是几种市售处理器中的任何一种,如PowerPC601微处理器(PowerPC是IBM公司的商标)。系统总线5将CPU1与输入/输出通道控制器7和存储器子系统11连接起来,而本文档来自技高网...

【技术保护点】
一种利用探测协议来保持系统内高速缓冲存储器相干的方法,其中,在由CPU所决定的时间内产生探测比较,所述方法的特征在于,它包括的步骤有:通过提供具有页面部分和段部分的地址请求对来自存储器的数据的占有权;与上述CPU时钟相异步地活动地存 取一第一设备内部高速缓冲存储器中的上述数据;以及在活动地存取上述内部高速缓冲器期间只利用上述地址的页面部分实现所述的探测比较。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:RK阿里米利DG格雷戈尔AM杨斯
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1