在处理各种地址故障中的高速暂存器的抗错能力制造技术

技术编号:2893498 阅读:197 留言:0更新日期:2012-04-11 18:40
由多级目录存贮器的缓冲存贮器管道段组成的一个高速暂存器子系统,它被至少是一对独立操作的中央处理器和一个先进先出(FIFO)设备所共享,它们以紧耦合方式连接到公共系统总线。高速暂存器子系统包括若干可编程控制电路,它们被用来接收代表由高速暂存器子系统所执行的操作类型的信号。这些信号逻辑地组合成输出信号,以指出当发现任何一个地址故障或系统故障时要否刷新目存贮器的内容,以便保证高速暂存器数据的一致性。(*该技术在2008年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及高速暂存器系统,特别是由多个处理部件所共享的高速暂存器系统。题为“多处理机所公用的管道式的高速暂存器”与本专利技术属同一领域的专利请求,它所提出的高速暂存器子系统有两个可供多个请求源共享的管道段,这些请求源包括若干独立操作的中央处理器。第一管道段做目录搜索和比较操作,而第二管道段执行从高速缓冲存贮器取出所要的数据並把它传送给请求源的操作。计时和控制装置与请求源连接並为每一处理器分配时间片,从而借助于管道段使各请求源的操作在时间上错开。于是各处理器的操作彼此独立而不会冲突。当多个处理器共享一个高速暂存器或主存贮器时会产生一系列可能导致不合一的事件或操作。为了克服这个缺点,一种办法是使各处理器分享可利用的存贮空间並提供一种互锁机构,此机构用来防止一个处理器修改正在被另一处理器存取的信息。虽然这种解决办法对主存来说性能良好,但对高速暂存器而言,可能导致过多的数据替换或频繁的倒腾(thrashing),从而降低了高速暂存器的命中率。此外这种安排降低了每个处理器独立操作的能力。为了克服这个问题,属于同一领域的题为“由两个处理器共享的合二而一的高速暂存器系统”的专利申请提出了另一种解决办法,它准许每个处理部件能够完全独立地操作,措施是在缓冲存贮器(舞台)中包含有单独的登记替换情况的装置,並把可以利用的高速暂存器的总存贮空间的一半分配给替换装置使用,在一个处理器的每个目录分配周期内,核对已经分给另一个处理器的空间,看看是否有重复分配出现。对于重复分配的与较低优先权的处理器有关的那个单元的地址被存放到重复分配存贮器中,允许最早对它进行数据替换,从而保持独立操作的处理器之间数据的一致。虽然上述安排防止了独立操作的处理部件之间数据的不一致性,但是在紧耦合的处理系统中,处理部件或数据处理部件公用一个公共的主存,在这种情况下,仍可能出现数据的不一致性。为了保持这种系统中数据的一致性,每个处理部件有一个相关联的高速暂存器和一个监听设备,此设备用于监督其它处理部件施加于公共系统总线的对存贮器的写操作。这就使得该处理部件能够随着其它处理部件对主存中的相应数据所作的改变来更新其高速暂存器中的内容,从而保证了高速暂存器的一致性。在更新过程中,有时会发生处理部件无法准确地更新高速暂存器的情形。例如,由监听设备收到的数据可能有错或者作用于总线的存贮写操作超时。后一种情况可以发生在包含有抗错(resiliency)特性的系统中,所谓抗错特性就是象GeorgeJ.Barlow和JamesW.Keeley的专利申请中提到的那些。该申请的序号是06/623264,1984年6月21日归档並转让给本专利的同一个代理人。通常,如果数据产生畸变,将会发现一个错误条件並使此数据报废。如果畸变了的数据交给了高速暂存器部件,由此产生的命中或者未命中的结果不伴随有可信任指示。例如,如果未命中是假的,它将导致重复分配,而一个虚假的命中可能去更新错误的处理部件的数据。在这个节骨眼上,无论采取什么动作都会使该高速暂存器的内容前后不一致。上述说明对于每个处理器发出的内存写操作而言也是适用的,也就是说,如果那个处理器作用于系统总线的内存写操作有错,那么这个写操作将不会更新属于该处理机自己的高速暂存器中的内容,从而防止进一步引起破坏。但是这种办法也增加了潜在的不一致性。为了克服上述缺点,一种可能的解决办法是在整个系统中提供附加的检错和纠错能力,以便能够重新构造坏的或者畸变了的数据。但是,这种方法造价昂贵並且十分费时,以致于大大降低了高速暂存器的性能。而且,它还不能保证在有抗错特性的系统中各种特定条件下的一致性。因此,本专利技术的基本目标是提供一种方法和装置,此方法和装置能够以高可靠的方式保持高速暂存器的一致性又不牺牲总体性能。本专利技术的进一步的目标是保持紧耦合的抗错数据处理系统中的一致性。在一个高速暂存器子系统的优先推荐的实例中实现了本专利技术的上述目标和优点。本例中这个高速暂存器子系统有供至少是一对独立操作的中央处理器和一个先进先出(FIFO)的设备共享的多级目录存贮器和一些缓冲存贮器的管道段,这个先进先出设备接到紧耦合的数据处理系统中的系统总线,该总线是由系统中的其它部件公用的。高速暂存器的本实施例还包括许多可编程控制电路,这些电路接到系统总线以便经监听设备从该系统总线接收各种不同类型的总线操作信号和命令信号,这些信号规定了高速暂存器所要执行的各种操作和周期。这些信号的逻辑组合将产生一个输出信号,以指出当发现有一个地址错或系统错时要否刷新目录存贮器中的内容,在有些情况下,该输出信号与指示高速暂存器地址错的若干信号相组合,以说明请求输入源所提供的地址不可靠或目录地址有错。对不同类型的地址错误作不同的处理使刷新操作只有在地址故障将造成高速暂存器不一致的情况下才进行。如果象通常那样对两个不同类型的地址错误采取相同的动作的话,可以利用单错或复错信号。上面得到信号与表示出现其它事件或命令的别的信号相互组合以产生一个目录复位信号。这个信号作用于多级目录存贮器的所有各级上,以便在需要时刷新其内容,从而保持高速暂存器的长期一致性。也就是说,在本专利技术所作的系统中,假定高速暂存器子系统在长时间内所能保持的数据和按照与它有关的中央处理器的命令经常进行刷新或清除所能保持的数据一样。在最佳实施例中,刷新是指使得当前地址无效的所有存贮单元的目录内容清成零。对比整个存贮器用新数据来转存的做法,本专利技术所作的刷新是适度的。这种做法允许把一个不相容的条件转换为对高速暂存器的慢速重新加载过程(即产生一系列未命中操作),而同时还允许继续执行高速暂存器的操作,这就不要使高速暂存器旁路或使其退化,而且在可能唤醒必要的软件恢复程序来恢复高速暂存器的操作之前,在不致于显著地降低性能的情况下就能使操作继续。此外,在执行高速暂存器的操作时,本专利技术所用的方法还提供错误情况下的恢复能力。本专利技术发现並利用了这样的事实目录可以看作为紧耦合系统中的冗余部分。因而可以在某种情况下暂时地略为降低其效率,以便按保持高速暂存器的一致性。在最佳实施例中,系统事件指的是在高速暂存器的任何操作周期使目录被刷新的事件,这包括系统总线超时条件,第三方总线周期错条件的FIFO溢出错。代表其它条件的信号可能以很高的概率导致高速暂存器的一致性,这些信号在需要时能够作为输入加到控制电路。可编程的逻辑阵列控制电路是这样编程的,使之滤掉刷新期间的那些周期和系统事件来保持一致性。此外该电路也为这种增加提供方便。在某些情况下,能够以很高的故障恢复能力来处理几种错误条件而不必刷新其目录。这种条件之一是处理器从主存要到的数据含有主存贮器所告知的不可纠正的存贮错误的情形。如同题为“过程式存贮器中的读操作”的与本题有关的那个专利请求中所述,高速暂存器子系统在一个内存读请求的初始处理期间就为所要的数据预先分配一个目录存贮单元。本专利技术的这一个实施例准许在下半个处理周期内收到来自系统总线的不可纠正的主存数据时,解除前面已经分配好的目录单元。这个不可纠正的数据被送到发出请求的那个处理器进行错误分析,但是不存到高速暂存器中。用执行去分配的周期的办法,保证了高速暂存器的一致性。对于其它类型的存贮器响应,也可能实现类似的去分配周期的处理。从下面的说明中,结合附随的本文档来自技高网...

【技术保护点】
具有抗错性能的高速暂存器,在处理存贮器请求期间发现有不同类型的地址故障时能保持一致性,每个存贮请求有第一和第二两份地址,所说的高速暂存器包括:.一个目录存贮器,它包括:..一个用来接收请求的输入寄存器;..一组分为若干级的存储器 ,每一级包括一组存贮单元相应地用来贮存所述的存贮请求的第一份地址,所述的目录存贮器中的每一组单元可被所述的第二份地址之一来存取;..用来产生第一种错误信号以指出发现了第一种地址故障的机构;.与上述输入寄存器相连的地址校验机构,此机构 的用途是产生第二组地址错信号,用来指示发现了第二类地址故障;.一个数据存贮器,它有和所述的目录存贮器一样多的级别和相应的存贮单元,数据存贮器中的各组单元可以被第二份地址所访问;.与所述的目录存贮器连接并用来接收指示各种高速暂存器周期 的信号的可编程控制电路机构,上述的高速暂存器周期是由高速暂存器在响应所述的请求时执行的,所说的可编程控制电路机构响应所说的信号而产生一个输出信号,此信号指出:按照所说的第一、二两类地址错误的特点,在哪些周期内要刷新所说的目录存贮器以保持高速暂存器的一致性,从而一面使高速暂存器继续操作一面随着正常的高速暂存器操作周期的继续进行慢慢地使数据存贮器重新复制。...

【技术特征摘要】
...

【专利技术属性】
技术研发人员:乔治J巴洛詹姆斯W卡洛里吉斯特M尼贝
申请(专利权)人:霍尔韦尔布尔公司
类型:发明
国别省市:US[美国]

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

1