保持指令、数据高速缓存之间相关性的机制的制作方法

文档序号:6414751阅读:295来源:国知局
专利名称:保持指令、数据高速缓存之间相关性的机制的制作方法
技术领域
本发明一般地涉及分为二支的数据高速缓冲存储器与指令高速缓冲存储器的相关性,并且具体地涉及保持数据高速缓冲存储器及指令高速缓冲存储器二支间相关性的各种指令。更具体地,本发明涉及带有源(subject)高速缓冲存储器项的多个拷贝的多处理机系统中用于保持数据高速缓冲存储器和指令高速缓冲存储器之间的相关性的各种指令以及系统总线事务处理。
超标量精简指令系统(RISC)处理机典型地在存储分级结构中的至少层1(L1)级内包括分为二支的数据高速缓冲存储器和指令高速缓冲存储器。由于现代超标量处理机所需的带宽,必须把数据的和指令的高速缓(冲)存(储器)分开,这样和单高速缓存访问相比在每个处理机周期中这种方式下的取指令和数据引用更为优越。典型地嵌入在处理机硬件内的并且其执行时间设计成为一个处理机周期或更短的L1高速缓冲存储器从而通常是分为二支的,因此在相同的处理机周期期间可以向分离的高速缓冲存储器发出指令和数据引用。
二支的数据和指令的高速缓冲存储器在保持相关的存储器分级结构的问题上增添了附加的情况,即要对所有的处理机提供单一的存储器内容图。例如,处理机会周期性地修改数据高速缓冲存储器的数据,而该数据实际上是以后要执行的指令。比如当装入程序在把代码装入到存储器后解出代码的连接时会出现这种情况。另一个例子是,拷贝存储器内容页的处理机不区分指令和数据,而且可能把相同的页内容拷贝到指令高速缓冲存储器以及数据高速缓冲存储器二者中去。为了释放包含着一部分被拷贝页面的高速缓存单元,需要相继地进行指令高速缓冲存储器块失效以及清除操作。
大部分当前可使用的超标量处理机不包括任何保持分为二支的层1的高速缓冲存储器的相关性的机制;也就是说,不论是在不同的处理机中或相同的处理机中,一个L1高速缓存的改变不会自动地反映到其它L1高速缓存中。大多数超标量处理机中,保持分为二支的数据及指令的高速缓存的相关性是委托给软件的。软件典型地通过清洗原始包含着指令的被修改过的数据高速缓存项并且若相同的高速缓存项驻留在指令高速缓存中还使这些项无效来解决保持分支的高速缓存之间的相关性问题。对于程序源码内的所有修改过的行采取这些动作,一次一张页面。
所有的超标量处理机支持把修改过的数据从层1超高速缓存写入到系统存储器中的指令。程序页可以使用这种指令使某被修改高速缓存行立即是从处理机外部可视的。这在图形应用程序中是有用的,它用于把显示信息写入到存储器变换图形适配程序或显示缓冲器中,然而这种指令的最普遍使用是用于对分成二支的数据/指令高速缓存相关性的软件管理上。当用于这种目的时,在把修改的数据写入到存储器的指令的后面可以跟着一条使指令高速缓存中的相同单元失效的指令。例如在PowerPCTM族设备中,把修改的数据写入到系统存储器的指令是数据高速缓冲存储器块存储(dcbst)指令,而使指令高速缓冲存储器中的缓存单元的失效的指令是指令高速缓冲存储器块失效(icbi)指令。
在执行dcbst指令时,有效地址被计算、被翻译并且进行保护违背检查。若该地址关联的高速缓存单元不含有修改的数据,该高速缓存块不被改变(把该指令对待为空操作),并在系统总线上启动清除操作。若该高速缓存块包含修改过的(弄脏的)数据,则把该数据从数据高速缓存推入到系统总线中。该高速缓存块中的所有字节被写到系统存储器,并把该高速缓存块的相关状态置为排它的(E),该状态表示该高速缓存块包含和系统存储器中对应单元相容的有效数据,但该数据只能在存储器分级结构该层中的所有高速缓存内的源高速缓存中找到。然后,在系统总线上启动写操作。
在执行icbi指令时,有效地址重新被计算、被翻译并进行保护违背检查。若定址的高速缓存块位于指令高速缓存中,该指令高速缓存块标记为无效的,这表示该高速缓存项--在地址标记上以及内容上--是无效的,并表示不和系统存储器或存储器分级结构的同层中的任何其它高速缓存是相关的。在所有处理机的数据高速缓存内保持高速缓存块的内容及状态都不改变。在系统总线上无条件地启动icbi或ikill操作,以使存储器分级结构中的所有其它指令高速缓存的适当高速缓存行变为无效。
在执行典型的程序源码期间不规律地出现上述的指令对。然而,当应用于清洗最初包含着指令的被修改过的数据高速缓存项和使指令高速缓存内的高速缓存块无效时,一次清洗掉一个高速缓存块的各完整存储器页。这样在相对短的周期内会执行一个大组的dcbst/icbi指令对。
多处理机系统中周期性地出现的另一个需要是,对于要写入到先前包含着指令的替代高速缓存单元处的高速缓存项,要使新近修改过的高速缓存项是和系统存储器相关的,并且使所有指令超高速缓存中的新高速缓存单元是无效的。也就是说,需要把高速缓存项x的内容写入到高速缓存项y,并更新和高速缓存项y对应的系统存储器,以及使系统中所有指令高速缓存中的高速缓存项y无效。在现有技术中为达到这个结果需要执行若干指令把高速缓存项x的内容写入到超高速缓存内的高速缓存项y中,然后在高速缓存项y上执行dcbst指令,接着再在高速缓存项y上执行icbi指令,并且最后执行同步(sync)指令以保证所有指令已完成。
从而需要为清洗最初包含着对系统存储器的指令的高速缓存块中的修改过的数据以及为使指令高速缓存中的高速缓存块无效提供一种改进的机制。在单个指令和系统总线操作下实现该机制是更有好处的。
从而本发明的一个目的是为保持分为二支的数据高速缓冲存储器和指令高速缓冲存储器的相关性提供一种改进的机制。
本发明的另一个目的是为保持分为二支的数据高速缓存和指令高速缓存的相关性提供改进的指令。
本发明的再一个目的是,为在具有多个源高速缓存项的拷贝的多处理机系统中保持数据高速缓存和指令高速缓存之间的相关性提供改进的指令及改进的系统总线事务处理。
如现在说明的那样达到上述目的。根据处理机模式或指令模式,不同地对待数据高速缓冲存储器块存储(dcbst)指令或等效指令。通过在某处理机寄存器里设置位组或者通过在该指令内设置提示位置,可以进入该指令的相关性保持模式,在该模式下该指令用于保持分为二支的数据高速缓存和指令高速缓存之间的相关性。在相关性保持模式下,该指令既把修改的数据推到系统存储器又使指令高速缓存中的高速缓存项无效。当在相关性保持模式执行数据高速缓存块存储指令或等同指令后处理机接着相继地发出目标为相同高速缓冲单元的指令高速缓冲存储器块无效(icbi)指令或等同指令时,这些指令空操作。执行相关性保持模式下的数据高速缓存块存储指令导致一种新颖的在系统总线上启动的系统总线操作。该总线操作引导其它具有分为二支的数据高速缓存和指令高速缓存的部件把它们数据高速缓存中的规定高速缓存项至少消除到指令/数据高速缓存相关并且使它们指令高速缓存中的规定高速缓存项无效。当逐一反复地在把数据的一页或多页写入系统存储器中采用本保持相关性的机制时,该机制节约处理机周期并且减少地址总线以及数据总线的业务量。
在下述详细的书面说明中本发明的这些以及其它的目的、特性以及优点将变为清晰。
在附属权利要求书中叙述确信为表征本发明的新颖特性。然而,通过在参照下述示范实施方式的详细说明时连带阅读各附图将最好地理解本发明本身、使用的最佳方式以及它的其它目的和优点,附图是

图1表示根据本发明的一种最佳实施方式的多处理机数据处理系统;图2是根据本发明的一种最佳实施方式的在分为二支的数据高速缓存和指令高速缓存之间保持相关性的机制的逻辑框图;以及图3表示用于实现根据本发明的一种最佳实施方式的在分为二支的数据高速缓存和指令高速缓存之间保持相关性的机制而执行的指令及操作的流程图现参考各附图并特别参考图1,图1中表示根据本发明的一种最佳实施方式的多处理机数据处理系统。数据处理系统100是一个包括多个处理机102-116的对称多处理机(SMP)系统,处理机最好是可从纽约州Armonk镇和国际商用机器公司购到的PowerPCTM处理机族中的一种处理机。虽然在该示范性的实施方式中示出八的处理机,熟练的技术人员明白,在根据本发明的多处理机数据处理系统中可采用较少的或更多的处理机。
每个处理机102-116包括层1(L1)数据高速缓存118-132以及L1指令高速缓存134-148。虽然在示范性实施方式中示出分为二支的指令高速缓存和数据高速缓存,熟练的技术人员可认识到可以在任何处理机102-116中采用单个合二为一的L1高速缓存。但是,在把指令高速缓存和数据高速缓存分成二支(至少在存储分级结构的一层中)的系统中,本发明是特别有用的。
为了使数据存取执行时间为最短,可以在数据处理系统100中实施多层的高速缓冲存储器,例如层2(L2),层3(L3)或更多的高速缓存层。在本示范性实施方式中,从完整地解释本发明的优点和特性的角度进行选择,表示出带有分为二支的L2数据高速缓存156-164及指令高速缓存166-172的L2高速缓存控制器150-156。L3高速缓存控制器174和176分别操作一元化的指令/数据(I/D)高速缓存178和180。在所示的实施方式中,系统存储器182最终完整了存储分级结构。
采用较低的高速缓存层--L2及L3--以使L1高速缓存的数据分级,较低的高速缓存层典型地具有逐渐增大的存储容量以及逐渐增长的存取执行时间。作为例子,L1数据高速缓存118-132和L1指令高速缓存134-148可能各具有32KB的存储容量以及大约1-2个处理机周期的存取执行时间。L2数据高速缓存158-164和L2指令高速缓存166-172可能各具有512KB的存储容量以及5个处理机周期的执行时间,而L3高速缓存178和180可能具有4MB的存储容量但是存取执行时间大于15个处理机周期。这样,L2高速缓存158-164以及166-172和L3高速缓存178和180充当处理机102-116和系统存储器182之间的中间存储器,系统存储器182具有大得多的存储器容量但是可能具有大于50个处理机周期的存取执行时间。
数据处理系统100中采用的高速缓存分级结构的层数以及高速缓存分级结构的配置都是可变的。本示例中示出的L2高速缓存158-164以及166-174和L3高速缓存178、180是连接在它们各自的处理机102-116和系统存储器之间(通过系统总线184)的专用高速缓存。但是,和本发明一起还可以采用共享高速缓存和采用和较高高速缓存层并行运行的后备高速缓存。熟练的技术人员可意识到,可以采用与所述的层数及配置不同的排列。此外,仅描述了为了理解本发明所需的完整数据处理系统。熟练的技术人员可意识到,根据已知的技术可对数据处理系统100添加其它部件。这样的修改和变更是在本发明的精神和范围之内的。
参考图2,图中示出根据本发明的一种最佳实施方式的用于保持分为二支的数据高速缓存和指令高速缓存之间的相关性的机制的逻辑框图。出于描述和解释本发明的数据/指令高速缓存相关性机制的目的,利用图1中示出的处理机102和104、它们各自的数据高速缓存118和120及指令高速缓存134和136、系统存储器182和总流总线184。然而,熟练的技术人员可意识到,本发明的机制也可以作用到其它的设备,例如图1中所示的L2高速缓存158-164及166-172和L3高速缓存178和180。
图2中所示的每个L1高速缓存包括高速缓冲存储器202和高速缓存目录204,图2中示出后二者是和处理机102的L1数据高速缓存118有关的。每个L1高速缓存可以是一个n路成组相联高速缓存,例如采用32位的地址。从而,高速缓冲存储器或数据阵列202包括一些相同的组(class)或列,每个组或列含有存储几个高速缓存行的足够存储器。也称作为高速缓存块的高速缓存行是用来描述相关性状态的高速缓存单元。在当代的数据处理系统中高速缓存行典型地为32、64或128字节(B)长。
高速缓存目录204也含有一些各包含n个目录项的列,每个目录项和高速缓冲存储器的相同列中的某对应高速缓存行相关。每个目录项至少包括一个标记字段206、一个相关性状态字段208以及一个最近使用(LRV)字段210。标记字段206用于存储在相关的高速缓存行中所存储的数据的系统存储器地址的标记字段(例如,位
)。通过预定义的位组合,相关性状态字段208定义在相关的高速缓存行中存储的数据的相关性状态。LRU字段210表示相对于相同组中的其它高速缓存行该相关的高速缓存行多近被访问过,从而指示若出现需要替换某高速缓存行应该同相同的组中舍出那个行。
每个处理机102和104各包括一个模式位212和214,模式位可用于控制处理机应如何对待dcbst指令(在本发明的说明中引用了PowerPCTM体系结构中专用的dcbst、icbi和其它指令名,其意图是包括用于其它处理机的类似指令,与具体的指令名无关)。可以在一个专用寄存器(SPR)中容纳模式位212和214,通过技术上周知的传进/传出SPR指令(mtspr,mfspr)用户层软件访问该寄存器。若某具体处理机的模式位214处于第一状态(例如未设置),dcbst指令具有当代处理机使用该指令下的相同作用若目标高速缓存块的相关性状态字段208处于修改过状态,目标高速缓存块216中的数据被推到(218)系统存储器182中的对应单元220中。但是,若模式位214处于第二状态(例如,设定),则把dcbst指令对待为是dcbst和icbi指令的组合。在该“相关性保持”模式下,该指令完成多个结果若相关性状态字段208被修改过,把目标高速缓存块216中的数据推到系统存储器120中的相应单元,并且与相关性状态字段208无关,启动一种新颖的系统总线操作222。取决于处理机104和系统总线184之间是否存在较低层的高速缓存(例如L2或L3高速缓存),系统总线操作222为“清除w/ikill”或“写w/消除w/ikill”中的一种。操作222的“写”部分逻辑上引导各行高速缓存把目标高速缓存单元里的修改过数据写入到系统存储器120。操作222的“清除w/ikill”部分引导处理机102清除其L1数据高速缓存118中的源高速缓存单元(把修改过的数据推到系统存储器同时保持数据高速缓存项有效)并且使其L1指令高速缓存134中的源高速缓存单元无效。
上面叙述通过在某处理机寄存器中设置模式位实现dcbst指令的双重特性,但也可以通过其它机制实现该双重特性。例如,可以根据已知的技术设置和dcbst指令相关的“提示”位组。类似于其它指令,dcbst指令包括一个操作码字段和二个操作数字段,其中一个操作数字段未被使用。在称之为“提示”位组中的该未使用操作数字段中的位组里可设置能由处理机检测的目的是支持使用这些hint位组的执行码。以这种方式,新一代的处理机可以支持双重特性的dcbst指令,并且在老一代的不提供这种支持的处理机中仍运行原有的可执行码。还可以在相继的指令高速缓存块失效指令或等效指令中设置hint位置,以用于下面更详细说明的目的中。
相关性保持模式下的dcbst指令可以不是把修改过的数据从头到尾的写入到系统存储器120,而代之以仅把修改过的数据写入到I/D相关的层。把修改过的数据从头到尾地写入到系统存储器要付出相当大的性能代价。从而,最好把修改过的数据只写到某个指令/数据高速缓存相关的层--即,存储分级结构中所采用的合二而一的高速缓存的最高层。在图中示出的例子中这在L3高速缓存178及180上发生。
在本发明的用于保持分为二支的数据高速缓存和指令缓存之间的相关性的机制中,可以以不同的方式利用由设定模式位214或提示位组而产生的dcbst/icbi组合指令。可以在存储器的一个整页224中或者在存储器的几个页中顺序地反复执行该组合指令,以更新图形部件或显示器缓冲器。不再需要单独的icbi指令,并且当设定模式位214时来自本地处理机的各icbi是空操作的。在多机种系统下,当设定模式位214时仍可以把窥探出的icbi处理为icbi。备择地,在把高速缓存单元x的内容已被复制到同一高速缓存内的不同单元y并且对单元y写入修改的数据(y′)的情况下,可以利有组合的dcbst/icbi指令以使横向高速缓存中的对应高速缓存单元失效。
现参照图3A-3C,其中示出为实施根据本发明的一种最佳实施方式的用于保持分为二支的数据高速缓存和指令高速缓存之间的相关性的机构的指令及操作执行的进程的高层流程图。图3A表示用于处理由某本地处理机发出的dcbst指令的进程。该进程开始于步骤302,其表述为接收某dcbst指令或等效指令。接着该进程通过步骤304,其判定是否在相关性保持模式下接收该指令。例如可以通过判定是否设定模式位或提示位组做出该判定。若未在相关性保持模式下接收该指令,进程进入步骤306,该步骤表述判定是否修改过该指令的目标高速缓存项。若没有,进程进入步骤308,其表示在更低层的总线上启动清除操作,然后进入后面说明的步骤312。
再参照步骤306,若dcbst指令或等效指令的目标高速缓存项含有修改过的数据,该进程进入步骤310,其表示利用写w/清除总线操作把该修改的数据推入更低层的总线。接着进程通过步骤312,该步骤判定是否已确定在发出该dcbst指令或等效指令的处理机和系统存储器之间的存储分级结构中的最低层高速缓存。若没有,进程进入步骤314,其表示前进到存储分级结构中下一个更低层的高速缓存,并且然后返回到步骤306以便为下一个更低层的高速缓存重复步骤306-314中所示的处理。从而对该处理迭代以通过存储分级结构中的所有高速缓冲层。再参照步骤312,一旦达到并处理最低层的高速缓存,该进程转而进入步骤316,其表示在接收到下个dcbst指令或等效指令前该进程变为是空闲的。
再参照步骤304,若在相关性保持模式下接收dcbst指令或等效指令,进程转而进入到步骤318,其判定所检查的高速缓存层是否是I/D相关的。例如可以通过确定该高速缓存是用合二为一的高速缓存还是用分为二支的I/D高速缓存实现做出判定。若被检查的高速缓存位于存储分级结构的I/D相关点,进程进入步骤320,其表示对最低层总线启动ikill总线操作。然后进程通过上面说明过的步骤316。
再参照步骤318,若被检查的高速缓存层不位于存储分级结构的I/D相关点,则进程转而进入步骤322,其判定该dcbst指令或等效指令的目标高速缓存项是否修改过。若未修改过,进程进入步骤324,其启动更低层总线上的消除操作,然后进入上面说明过的步骤316。
再参照步骤322,若dcbst指令或等效指令的目标高速缓存项包含修改过的数据,进程转而进入步骤326,其中利用写w/消除总线操作把修改过的数据推向更低层总线。接着进程通过步骤330,其判定是否确定过存储分级结构中的最低层高速缓存。若没有,进程进入步骤332,其中表示进入存储分级结构中的下个更低层的高速缓存,然后返回到步骤318以便对下个更低高速缓存层重复步骤318-322中所示的处理。从而迭代该处理以通过存储分级结构中的所有高速缓冲层。再参照步骤322,一旦达到并处理最低层的高速缓存,进程转而进入步骤316,其表示在接收下一个dcbst指令或等效指令前该进程变为是空闲的。
图3B表示处理本地处理机发出的icbi指令的进程。该进程开始于步骤334,其表示接收某icbi指令。接着进程通过步骤336,以判定是否设置了控制着组合的dcbst/icbi指令的处置的位(例如,dcbst指令和icbi指令中的处理机模式位或提示位)。若设置了,进程进入步骤338,其中对该icbi指令进行空操作。但若未设置该位(不在相关性保持模式下接收该指令),进程转而进入步骤340,其表示使指令高速缓存中的目标高速缓存项失效,然后进入步骤342,以启动系统总线上的ikill操作。从步骤338或342,进程进入步骤344,其表示在接收相继的icbi指令之前该进程变成是空闲的。
图3C表示处理从系统总线窥探到的清除w/ikill总线操作的进程。该进程开始于步骤346,它检测系统总线上的清除w/ikill操作。进程接着通过步骤348,其表示窥探该操作的高速缓冲层是否位于I/D相关点(例如,高速缓存是否是一个合二为一的高速缓存。若是,进程则进入后面说明的步骤354。若不是,进程则转而进入步骤350,以判定用于该窥探出的清除w/ikill操作的目标高速缓存项是否修改过。若未修改,进程转入后面说明的步骤358。但是,若修改过,进程转而进入步骤352,以判定窥探到的操作的目标高速缓存项是否在更高层的高速缓存中被修改过。
若在更高层的高速缓存中修改过被窥探的操作的目标高速缓存项,进程进入步骤354,以便对更高层的高速缓存启动清除w/ikill操作。但是,若未修改过,进程转而进入步骤356,以启动对下一更低层高速缓存的w/清除操作,并接着通过步骤358,以启动对更高层高速缓存的ikill操作。从步骤354或358进入步骤360,其表示在窥探出另一个清除w/ikill操作之前进程变成是空闲的。
本发明能把dcbst指令有效地用于保持分为二支的数据高速缓存和指令高速缓存之间的相关性。当采用本发明的机制时,由于仅发出一条而不是二条指令,节省了处理机周期。由于并行地而不是从串行方式出现指令高速缓存块失效指令和清除操作,系统性能得到提高。执行本发明的组合dcbst/icbi机制的结果是启动一种新颖的系统总线操作。由于仅启动一个总线操作以替代二个总线操作,该系统总线操作下的地址总线业务量得到减少,相似地数据总线业务量得到减少,尤其当把本发明的机制实施于仅把修改的数据写到I/D相关点的情况时。虽然说明并示范在一种存储分级结构中实现本发明,其中从存储分级结构的较高层中接收及处理所有指令,本发明的机制也可应用于这样的体系结构,在其中从系统总线传送并且自窥探结构式操作以进行并发处理。这种体系结构例如公开在美国专利申请09/839,445、09/839,443、09/839,441、09/839,442、09/834,115、09/834,114中,它们作为本文的参考文献。
重要的是请注意,虽然本发明是在完整功能下的数据处理系统的环境下说明的,熟练的技术人员理解,本发明的机制在各种形式的计算机可读指令的介质下是能分配的,并且本发明可以同等的应用,而与实现这种分配的具体类型的信号载运介质无关。具体地,一组程序指令可以包括一条设置着模式位的指令,该模式位改变对待dcbst指令的方式,在该指令后面跟着一条或多条dcbst指令。计算机可读介质的例子包括例如软盘和CD-ROM的可记录型媒介以及诸如数字和模拟通信链路的传输式媒介。
虽然参照最佳实施方式具体地示出并说明本发明,熟练的技术人员理解,在不违背本发明的精神及范围下在形式上以及细节上可对它做出各种改变。
权利要求
1.一种保持分为二支的指令高速缓存和数据高速缓存之间的相关性的方法,包括检测远程部件启动的总线上的操作,其中该操作包括一个目标高速缓存地址以及信号组,以便若在和该目标高速缓存地址对应的数据高速缓存单元中有修改过的数据,把该修改的数据写入到包含该数据高速缓存单元的存储分级结构中的指令/数据高速缓存相关点;以及使和该目标高速缓存地址对应的指令高速缓存单元失效;以及响应对该操作的检测,判定检测该操作的部件是否包括一个在和该目标高速缓存地址对应的数据高速缓存单元上含有修改的数据的数据高速缓存;以及响应判定出该数据高速缓存在和该目标高速缓存地址对应的数据高速缓存单元上含有修改过的数据,把该修改的数据写入到指令/数据高速缓存相关点。
2.权利要求1的方法,其特征在于,判定检测该操作的部件是否包括一个在和该目标高速缓存地址对应的数据高速缓存单元上含有修改的数据高速缓存的步骤还包括判定该部件是否包括合二为一的指令/数据高速缓存。
3.权利要求1的方法,其特征在于,判定检测该操作的部件是否包括一个在和该目标高速缓存地址对应的数据高速缓存单元上含有修改的数据高速缓存的步骤还包括判定和该部件内的某指令高速缓存分支的数据高速缓存是否含有修改的数据;以及判定在该存储分级结构内该检测该操作的部件和某本地处理机之间的更高层部件是否在和该目标高速缓存地址对应的数据高速缓存单元上含有修改过的数据。
4.权利要求3的方法,特征在于还包括响应判定出该更高层部件在和该目标高速缓存地址对应的数据高速缓存单元上含有修改过的数据,把该部件和该更高层部件相连接的总线上启动操作。
5.权利要求3的方法,特征在于还包括响应判定出该更高层部件不在和该目标高速缓存地址对应的数据速缓存单元上含有修改过的数据,把修改过的数据写入到指令/数据高速缓存相关点。
6.权利要求5的方法特征在于还包括在该存储分级结构内的把该设备和该更高层部件连接起来的总线上启动指令高速缓存块失效操作。
7.权利要求1的方法特征在于还包括响应判定出该数据高速缓存不在和该目标高速缓存地址对应的数据高速缓存单元上含有修改过的数据,在该存储分级结构内的连接该部件和该较高层部件的总线上启动指令高速缓存块失效操作。
8.一种用于保持分为二支的指令高速缓存和数据缓存之间的相关性的设备,包括一个包含着分为二支的指令高速缓存及数据缓存的存储部件;一条连接高速缓存和某远程设备的总线;窥探逻辑电路,用于监视该远程设备在该总线上启动的操作;用于该存储部件的控制器逻辑电路,以支持包括着一个目标高速缓存地址以及信号组的操作,从而若在和该目标高速缓存地址对应的数据高速缓存单元中有修改过的数据,把该修改的数据写入到包含该数据高速缓存单元的存储分级结构中的指令/数据高速缓存相关点;以及使和该目标高速缓存地址对应的指令高速缓存单元失效;以及装置,其响应对总线上的该操作的检测并且响应判定出和该目标高速缓存地址对应的数据高速缓存单元含有修改过的数据,把该修改的数据写入到指令/数据高速缓存相关点。
9.权利要求8的设备,特征在于还包括用于判定在和该目标高速缓存地址对应的数据高速缓存单元是否含有修改过的数据的装置。
10.权利要求8的设备特征在于还包括用于判定在该存储分级结构内处于该存储部件和某本地处理机之间的某更高层存储部件是否包括一个在和该目标高速缓存地址对应的数据高速缓存单元上包含着修改过的数据的数据高速缓存。
11.权利要求10的设备特征在于还包括用于响应判定出更高层设备在和该目标高速缓存地址对应的数据高速缓存单元上含有修改的数据在把该部件与更高层设备连接起来的总线上启动操作的装置。
12.权利要求10的设备特征在于还包括用于响应判定出更高层设备在和该目标高速缓存地址对应的数据高速缓存单元上不含有修改的数据,把修改的数据写入到指令/数据高速缓存相关点的装置。
13.权利要求12的设备特征在于还包括用于在连接该部件和该存储分级结构内的某更高层设备的总线上启动指令高速缓存块无效操作的设备。
14.权利要求8的设备特征在于还包括用于响应判定出该数据高速缓存在和目标高速缓存地址对应的数据高速缓存单元上不含有修改的数据,在连接该设备和该存储分级结构内的更高层设备的某总线上启动指令高速缓存块无效操作的设备。
15.一种数据处理系统,包括一个向第一部件发出组合的数据高速缓存块存储以及指令高速缓存块无效的指令的处理机;一条连接该第一部件的总线,其中该第一部件响应接收从该处理机接收的该指令在该总线上启动和该指令对应的总线操作;以及和该第一部件连接并包括一个数据高速缓存和一个指令高速缓存的第二部件,它响应由该第一部件启动的总线操作把来自某数据高速缓存单元的具有某地址的数据写入到第三部件并且使具有该地址的指令高速缓存单元无效。
16.权利要求15的数据处理系统,其特征在于,第二部件是一个高速缓冲存储器。
17.权利要求15的数据处理系统,其特征在于,第二部件是一个处理机。
18.权利要求15的数据处理系统,其特征在于,第三部件是一个更低层的高速缓存。
19.权利要求15的数据处理系统,其特征在于,第三部件是系统存储器。
20.权利要求15的数据处理系统,其特征在于,响应判定出某包括一个数据高速缓存和一个指令高速缓存的更高层部件在拥有该地址的数据高速缓存单元上含有修改过的地址,该第二部件在连接第二部件和更高层部件的总线上启动和该指令对应的总线操作。
全文摘要
根据处理机或指令模式,不同地对待数据高速缓存块存储(dcbst)指令或等效指令。通过设定处理机寄存器中的位组或者设定该指令的提示位组可以进入该指令的相关性保持模式,在该模式下利用该指令保持分为二支的数据高速缓存和指令高速缓存之间的相关性。在该相关性保持模式下,该指令既把修改过的数据推入系统存储器又使指令高速缓存中的高速缓存项无效。
文档编号G06F12/08GK1229950SQ98125949
公开日1999年9月29日 申请日期1998年12月30日 优先权日1998年2月17日
发明者拉维·库玛·阿里米利, 约翰·斯蒂芬·唐森, 杰里·唐·勒维斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1