CN1099492A - 用于双微处理器的处理器系统的处理器接口片 - Google Patents
用于双微处理器的处理器系统的处理器接口片 Download PDFInfo
- Publication number
- CN1099492A CN1099492A CN94108182A CN94108182A CN1099492A CN 1099492 A CN1099492 A CN 1099492A CN 94108182 A CN94108182 A CN 94108182A CN 94108182 A CN94108182 A CN 94108182A CN 1099492 A CN1099492 A CN 1099492A
- Authority
- CN
- China
- Prior art keywords
- microprocessor
- address
- bus
- request
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1654—Error detection by comparing the output of redundant processing systems where the output of only one of the redundant processing components can drive the attached hardware, e.g. memory or I/O
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1637—Error detection by comparing the output of redundant processing systems using additional compare functionality in one or some but not all of the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6022—Using a prefetch buffer or dedicated prefetch cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
Abstract
一种用于双微处理器的处理系统的处理器接口
片,包括耦连于两级联运行的微处理器的处理器接口
片和维护诊断片。该处理器接口片包含:微处理器与
主存间的逻辑,微处理器和主存间的多个微处理器请
求的流水线逻辑,微处理器发出读请求前的预取数逻
辑,允许引导程序出现在主存中任何地方的逻辑,和
智能限定中断流的逻辑。维护诊断片包含测到故障
时暂停任一微处理器、和微处理器故障状态变化之前
读出微处理机和次超高速缓冲存贮器状态的逻辑。
Description
本发明涉及处理器接口电路领域。特别是在本发明的一实施例中在微处理器或一组微处理器与其它处理器电路之间提供一种改进的接口。
在多数情况下,微处理器设计得能比与其通信的外部组件运行得更快。不幸的是,微处理器常常在外部装置发生特定动作前不能进行处理,因此使用这种微处理器的处理器系统受到不利影响。这种瓶颈效应的一个原因在于在同一集成电路即,芯片上的两电路之间的通信比由相互芯片总线或其它接口分开的两电路之间的通信快得多。于是,与微处理器需快速交互作用的解决办法之一是在微处理器片上设置像数据和指令超高速缓冲存贮器那样的更多电路。然而,在微处理器片上增加更高等级的器件会使诊断错误愈发困难。这是因为当一个内部错误在微处理器中得到检测并从芯片滤出到诊断系统时,微处理器连续操作改变着其内部电路状态,诊断系统在出错时刻的状态不再知道之前只有很少的调查错误原因的时间。例如,如果一个数据错误发生在微处理器的深内层,但在输出之前由微处理器的内部逻辑检测到并明确定位,则外部电路可能将它作为有效数据进行动作,因此使处理器系统不可靠。
微处理器的另一问题是微处理器总线,绝大多数的微处理器请求和响应这些请求都通过它。微处理器总线载有写请求及被写的数据、读请求、返回给微处理器的读和写的应答和给微处理器的中断信号。这种总线上的通信常常限制了能够从微处理器接受和提供给它的数据的速度。
由上可见,改进微处理器的接口是需要的。
在本发明的处理器接口系统的一实施例中,提供了一种处理器接口片和维护诊断片,它们与设计成级联方式运行的两个微处理器相耦连。该微处理器接口片包括:级联微处理器和主存贮器之间的接口逻辑,在微处理器和主存贮器之间为多个微处理器请求设置流水线的逻辑,在一个微处理器发出预取数据的读请求之前预取数据的逻辑,不管微处理器设置的引导程序(boot)码的固定存贮器地址允许从物理存贮器中任何地方中的引导程序码产生引导程序的逻辑,和智能限制处理器总线上的在微处理器和处理器接口片之间的中断信息流逻辑。维护诊断片包括:若检测到错误时,暂停任一微处理器操作、并在故障期间的微处理器的状态变化到可能隐藏故障原因的数据的不同状态之前读出这些微处理器和与微处理器相连的次超高速缓冲贮存器(secondary cache)的状态的逻辑。
对这里所述本发明的性质和优点的理解可参照下面说明书部分和所附附图得到认识。
图1显示了本发明的包括两个微处理器、微处理器接口片(PIC)和维护诊断片(MDC)的处理器系统的整体概示框图;
图2是说明微处理器和维护诊断片之间跟踪一个故障的交互作用的定时图;
图3进一步详细表明PIC的框图,它包括一个引导程序地址翻译电路,一个预取数队列,一个中断过滤器和请求流水线;
图4是更详细表明预取数队列的方框图;
图5是更详细表明引导程序地址翻译电路的框图;
图6是由微处理器寻址的物理存贮器映象图;
图7是更详细说明中断过滤器的方框图;
图8显示三等级中断优先级的例子。
图1是本发明处理器系统10的整体概示图。在一较佳实施例中,处理器系统10包含:两个微处理器,和处理器板上的几个特殊用途的芯片,然而其它结构是可能的,例如包括在一个芯片上包含几个电路或为单个功能设置几个芯片。图1所示的处理器系统10具有:两个微处理器12(0,1),一个维护和诊断片(MDC)14,一个处理器接口片(PIC)16,一个存贮器接口片(MIC)20,一个主存贮器22,一个次超高速缓冲存贮器30。还包括了一些未图示的其它组件。
也设有几个总线相互连接器件。处理器总线(Pbus)18耦连PIC16和微处理器12(0,1);维护总线(Mbus)24耦连MDC14到PIC16和MIC20并载有去和来自MDC14的诊断指令和数据;内部总线(Ibus)26将PIC16耦连到MDC14和MIC20;和次超高速缓冲存贮器总线28将微处理器12(0,1)耦连到次超高速缓冲存贮器30。
为了可靠性,几个总线使用信息线和检查线,这里信息线载有总线具有的独立信号(如数据、指令、地址、控制信号等),而检查线载有作用于信息线上值的函数的检查信号和一个例如校验和、奇偶性、或其它纠错码(ECC)操作的校验函数值。例如,Ibus26部分地包含:32根信号线和4根奇偶线,这里每根奇偶线载有32根信息信号线中的8根线的偶校验。图1中,某些总线没有将检查线与信息线分开显示。
微处理器12能以一个“全主控器”(complete master)模式工作,这里一个微处理器控制Pbus18和SC bus28两者的信息线和检查线,或它们能以“锁步”(lockstep)或“部分主控器”(partial master)模式工作,这里每个微处理器12控制Pbus18和SCbus28的总线。为了可靠,两个微处理器12都读总线并执行相同的指令,但是,只有一个微处理器,一总线主控器驱动该总线的信息线,而另一微处理器12监视该信息线并将那些线上的值与若它作为那总线的主控器时已在那些线上驱动的值(它的“潜在”输出)进行比较。如果非主微处理器的值不符合总线信息线上的值,则它触发一个“输出失配”的故障,这种情况与图2相联系解释。为了进一步的可靠性,一总线的主控器不驱动该总线的检查线,而非主控器则驱动。这样,如果微处理器工作正常,但相互不同步,则总线上的其它装置因检查线将不可能正确会注意到错误。
图1表明一个微处理器12(0)作为 SCbus28的主控器并标以“SC Master”(Secondary Cache Master),而另一微处理器12(1)是Pbus18的主控器且标为“SIMaster”(System Interface Master-Pbus18是这种情况下的“系统接口”)。于是,当以锁步方式工作时,SC Master 12(0)驱动SCbus28的信息线(地址/数据/纠错码)并监视SCbus28的检查线(Adr/cnt奇偶-地址和控制线奇偶),而SIMaster12(1)驱动SCbus28的检查线和监视SC总线(bus)28的信息线。相反,SI主控器(master)12(1)驱动Pbus18的信息线(地址/数据)并监视Pbus18的检查线(纠错码/奇偶),而SC主控器12(0)驱动Pbus18的检查线并监视其信息线。
在某些实施例中,一个微处理器可以是SC主控器和SI主控器两者,换言之,一个是全主控器”,而另一微处理器是一个“全听者(complete listener)”,它复制完全主控器的操作,而不驱动任何线,除了可能出现的它的故障线外,在这种情况下,它不与全主机分享,虽然SC总线(bus)28的ECC线实际上是检查线,但它们与信息线相组合。这是由于ECC线由次超高速缓冲存贮器30用于作错误检查,且如果所有进入次超高速缓冲存贮器30的线来自同样的微处理器,则次超高速缓冲存贮器30能运行得更快而不用顾虑可能出现在两微处理器12(0,1)之间的定时关系方面的轻微变化,所述变化,使到达次超高速缓冲存贮器30的地址和数据与ECC信号在时间上有偏移。这种定时关系的变化可能由于制造微处理器时的处理工艺的变化引起的。
在一较佳实施例中,微处理器12(0,1)是由MTI division ofsilicon Graphics公司制造的R4400微处理器。
除总线(Ibus、Pbus、SC bus、Mbus)外,还有各组件之间的其它信号线。从PIC16至MDC14的出错信号线载有一个CE/UCE出错信号,这表明PIC在Pbus上遇到一个可校正或不可校正的错误。如果Pbus的检查线上的校验(check)值不能正确地反映Pbus的信息线上的信息值校验函数,则PIC确立CE/UCE出错信号。
在每个微处理器12和MDC之间设有:FAULT*(故障)、RESET*(复位)和MODEIN(状态进入)三根线。FAULT*线由微处理器检测到故障时进行低电位驱动。RESET*和MODEIN线由MDC14驱动。RESET*信号为低电位有效信号,当该信号为低电平时保持微处理器复位状态,而MODEIN信号控制微处理器的模式。
当RESET*信号被确立时(由MDC14保持其低电平)则MODEIN信号控制着FAULT*线上的信号含义。
图2更详细地显示了FAULT*、RESET*和MODEIN信号的相互作用。图2是一个时间图,它被分成标有A-K的周期时间,它们是些不等的时间间隔,但区分出这些信号线上的不同的活动周期。这些周期时间间隔简明地描述在表1中。
时间间隔说明
A:SI主控器和/或SC主控器确立它们的FAULT*线由MDC对其检测。
B:MDC确立RESET*信号给两个微处理器。
C:MDC继续确立两者的RESET*信号(即保持RESET\+*线为低电平)且确立两MODEIN信号(驱动MODEIN线为高电平),在上述状态中,每个微处理器的FAULT*线表明(向低电平变化)那个微处理器是否相信一个输出失配是引起错误的第一个错误。
D:MDC继续确立两个RESET*信号并驱动两MODEIN线为高电平,在这种情况下,每个微处理器的FAULT*线表明(向低电平变化时)微处理器是否相信出现一个输入错误。
E:MDC仅释放SI主控器的RESET*信号,在这点上SI主控器成为控制SC bus28、Pbus18和两总线的检查线的全主控器。
F:MDC再次确立SI主控器的RESET*信号并不确立SC主控器的RESET*信号,在这种情况下,SC主控器变成全主控器。在这时间周期的未端,MDC再次确立SC主控器的RESET*信号。
G:MDC不确立RESET*信号给两微处理器,且它们作为部分主机运行。在该期间的未端MDC再次确立两者的RESET*信号。
H:MDC不确立给SI主控器的RESET*信号,并保持(继续确立)给SC主控器的RESET*信号。在该周期中,SI是全主控器。
I:MDC再次确立SI主控器的RESET*信号并不再给SC主控器确立RESET*信号,在该期间,SC主控器是全主控器。
J:MDC确立两者RESET*信号一段时间。
K:MDC对两者都不确立RESET*信号,且两微处理机变成部分主控器。
表1为跟随故障的处理周期。
时间图(周期A)或者以SC主控器(图1中12(0)所示)或者以SI主控器(图1中12(1)所示)检测到一个故障开始,并通过将其FAULT*线驱动为低电平给以确立。该信号由MDC14接受。对某些错误、如PIC用不正确的奇偶性驱动Pbus18,两微处理器12都可能对它们分别的出错线确立。对于其它错误,仅一个微处理器12可检测到错误。
在任何情况下,当出现错误时,MDC14必须迅速测定微处理器12的状态。微处理器12的状态就是它内部寄存器和标志位的值。对于完全的诊断,MDC14也必须获取每个微处理器12的主超高速缓冲存贮器的内容和共享的次超高速缓冲存贮器30(见图1)的内容。当微处理器用于其指令和数据分别贮存的情况下,则主超高速缓冲存贮器包括一个主指令超高速缓冲存贮器和一个主数据超高速缓冲存贮器。
一旦MDC接收到FAULT*信号,则MDC确立两微处理器的RESET*线期间B。当RESET*信号被确立时,则微处理器进入除FAULT*线外其所有输出均为三态输出状态。这允许其它锁步微处理器能完全控制各总线而不会有干扰。微处理器12包含其中一位能被置位且复位后能被记忆的内部逻辑。该位表明:当处于部分主控器模式时,微处理器12是一个SI主控器还是一个SC主控器。每当微处理器12复位且该复位至少保持某个预定时间量时,则微处理器的主控器模式在全主控器模式和部分主控器模式之间翻转(toggle)。
除了保持微处理器12处于复位状态外,MDC也在Mbus24上发送一个保持信号以保持耦连到Ibus26的装置的状态。
当处于复位模式时,微处理器12中的逻辑在FAULT*线上进一步提供取决于MODEIN线(周期B、C)的状态的错误指示。当MODEIN线为低电平时,如果一个输出失配首先触发错误线产生起始FAULT*脉冲,则FAULT*线为低电平(逻辑O)。如上面所解释,当由另一微处理器驱动的一根线被驱动到与该微处理器的潜在输出的不同值上时,可从该微处理器得到一个输出失配出错。除非输出逻辑是错误的,否则一个微处理器不能由逻辑检测到它正在驱动的线上的一个输出失配。由于每个微处理器12是某些线的主控器,所以输出失配指示将表明在SC bus28上,或在Pbus18上可能出现的失配的线。如果检测到一个输出失配,则由检测该错误的微处理器将FAULT*线驱动到低电平(逻辑O)。
接着在周期C中,从FAULT*线读出来自每个微处理器12的输入故障历史位。当维持RESET*线低电位的MDC将MODEIN线驱动到高电平时,微处理器12在它们的FAULT*线上输出一个输入故障历史位,并将这些FAULT*线驱动为低电位以指明一个输入故障。该输入故障历史位不表明该输入故障是所发生的第一故障,而只是表明自输入故障位被复位以来的某个时刻确实出现了输入故障。
在MDC检测到该故障后,MDC将诊断码装入微处理器的存贮器22中的引导程序存贮单元上。该引导程序存贮单元是复位后由微处理器读出的第一指令存贮单元(尽管,按下面的说明,该地址可由引导程序地址再定位器194再定位给物理存贮器的存贮单元)。
一旦该诊断码被装入,则RESET*信号不再确立给微处理器12(1)(SI主控器处于部分主控器模式),且它如上面所述作为全主控机运行。该诊断码使微处理器12(1)转贮它的状态和它的主超高速缓冲存贮器的内容(周期E)。诊断码通常这样写以使运行该码时不使用主超高速缓冲存贮器,结果是它首先能被读而不受到破坏。
由于微处理器12(0)上的RESET*线仍被确立,所以那微处理器的输出线处于3态。这允许微处理器12(1)运行诊断码使它作转贮而不受微处理器12(0)的干扰。然后所转贮的数据由PIC接收并传递给MIC20以存贮在存贮器22中用于以后的分析。当然,给出的是已产生的故障,两微处理器12的任一个可能不能正常运行且可能干扰到诊断数据的收集。
在期间(周期)E的末端,微处理器12(1)的RESET*线再次被确立。在周期F开始时,解除微处理器12(0)的RESET*线的确立并且它开始运行诊断码以转贮它的状态和主超高速缓冲存贮器。一旦两微处理器12已转贮了它们的状态和主超高速缓冲存贮器,则次超高速缓冲存贮器30需要转贮。
因为MDC14不直接连到SC bus28,所以次超高速缓冲存贮器30必须通过微处理器12之一转贮。为了这个目的,MDC14能够直接与SC bus28连接,但连接另一装置到SC bus28会降低它的响应时间,所以MDC14通过微处理器12来读次超高速缓冲存贮器30。直到引起故障的问题被诊断为止,如果有一个不知道哪个微处理器12出故障,所以次超高速缓冲存贮器总是用两个锁步操作的微处理器来读出,然后分别使用各微处理器提供三份作分析用的次超高速缓冲存贮器的拷贝。
如果在锁步的微处理器12(0,1)读出次超高速缓冲存贮器30期间出现输出失配,则对其不加考虑。因为每个微处理器12当它的复位线被释放时会置为部分主控器模式,所以在锁步(两个部分主控器)模式(周期G)下首先读次超高速缓冲存贮器30。注意,为了使SC主控器成为部分主控器,则SC主控器在周期F和G之间必须已复位某一定时间,如图2中所示。
在周期G中,两微处理器12运行相同的码,该码指令它们把次超高速缓冲存贮器30的内容转储到PIC16,并通过它给MIC20以便存贮在存贮器22中。如果在该转贮期间产生输出失配,则对一FAULT*线确立,但是MDC并不对其加以考虑(虽然可注意到并被MDC记录)。当然,诊断码通常这样来写以使运行该码时不使用次超高速缓冲存贮器。
在周期H期间,微处理器12(1)作为完全主控器转贮次超高速缓冲存贮器30的内容,并在周期I中,微处理器12(0)作为全主控器转贮次超高速缓冲存贮器30的内容。
周期J表明在微处理器12(0)中复位线翻转部分/全主控器模式所需要的一定时间间隔。一旦状态和每个微处理器12的主超高速缓冲存贮器和次超高速缓冲存贮器30已转贮,则MDC14通过不确立RESET*线能进入分析该转贮或冷复位微处理器12(周期K)。
图3更详细地显示了PIC16结构。该PIC包含许多未显示的元件,并粗略地分成:-Pbus接口部分180、-Ibus接口部分182,一请求流水线(pipeline)195,一预取队列196,和一中断过滤器198。
Pbus接口部分180包含用于从Pbus18读数据和把来自PIC16的几个其它组件的数据输出到Pbus18的逻辑。图3所示的Pbus接口部分180的组件包含:耦连到Pbus18的多位输入驱动器202,耦连到输入驱动器202的Pbus输入寄存器250,在输入寄存器250输出的一命令通道和预取队列196之间耦连的一预取队列监视器254、具有从一多路转接控制器256接收的选择输入和耦连到一Pbus输出寄存器248的输出的一Pbus输出多路转接器246,该寄存器248依次耦连到一多位输出驱动器252的一输入端。寄存器250的输出分成一命令通道和一写数据通道,该命令通道指向预取队列监视器254和请求流水线195,而该写数据指向请求流水线195的写缓冲器208。
Ibus接口部分182包含用于从Ibus26读数据和将来自PIC16的几个其它组成的数据输出到Pbus26的逻辑。图3所示Ibus接口部分182的组成包含:连接Ibus26的第二多位输入驱动器242,连接输入驱动器242的Ibus输入寄存器244,具有从第二多路转接控制器212接收的选择输入和连接到引导程序地址再定位器194的输出的Ibus输出多路转接器210,该再定位器194输出到依次连接第二多位输出驱动器214的输入端的Ibus输出寄存器240。寄存器244的输出分成两个输出,其一个输出用于中断进入中断过滤器198,而另一输出用于存贮读回答进入预取队列196,
现在参见图3进一步详细描述请求流水线195。按照下面的请求流水线195的描述,预取队列196的说明请参照图4,而中断过滤器198的描述请参照图7。
请求流水线195包含:一流水线尾寄存器PTAIL(DMI)204(1),一流水线头寄存器PHEAD(DMO)204(2),一流水线控制器206,和一写缓冲器208。写缓冲器208包含一用于表明写缓冲器是满还是空的满/空标志位209。流水线控制器206也包含一表明写缓冲器208的空或满的程序的寄存器(未图示),和一个能与该寄存器比较以确定是发送输入写请求给Ibus26还是等待写缓冲器208进一步写入的可编程阈值(也未图示)。
一个如表明其请求是存贮器读请求和表明要读地址的微处理器请求的命令部分,或是存贮在流水线尾、流水线头中,或是直接传送到多路转接器210并加到Ibus26上。在某些情况下,一个存贮器读请求可能不到达该请求流水线,而会通路到预取队列196。当微处理器要读的数据已存在预取队列中时会出现这种情况。这种情况是通过将读请求的地址部分与用于预取队列196的缓冲器的所存贮的地址标识符相比较测定的。然而,如果读请求确实进入请求流水线195,则它能直接通过请求流水线195传送或存贮在PTAIL或PHEAD中。如果PTAIL和PHEAD为空且Ibus26空闲,则读请求直接传送到多路转接器210。
如果Ibus26忙,则读请求放入PHEAD,且流水线控制器206在Ibus18上返回一个请求接受给微处理器,以便微处理器能继续运行。如果PHEAD占用,则读请求放入PTAIL,并当PHEAD空时移入PHEAD;流水线控制器206再返回一个请求接受给微处理器。如果PTAIL也被占用,那么读请求保持在输入寄存器250中,且流水线控制器不回送一个请求接受。直到流水线控制器206回送一个请求接受为止(这时读请求最后装入PTAIL或PHEAD,或送到Ibus26),微处理器避免使用Pbus18发送更多的请求。
写请求被放入PTAIL204(1)且写数据从Pbus18上采集下来进入写缓冲器208。当写缓冲器208满时,则满/空标志位109置为“满”。当数据的阈值量装入写缓冲器208时,则流水线控制器206将写请求从PTAIL移到PHEAD。如果Ibus26可用,则写请求移至那儿,且当写请求和所随数据送到该总线上时,则满/空标志位置为“空”。在图3所示实施例中,一次仅一个写请求能处于请求流水线中,但是对于总线性能和所分配的芯片区域具有不同限制的其它实施例可具有多个写缓冲寄或两个以上流水线级204。
为了避免发送废弃数据给微处理器,预取队列监视器254监视写请求并向预取队列196发信号,以使该预取队列已从由写请求要写的存贮器存贮单元所检索出的任何数据无效。连接流水线控制器206和多路转接控制器212的虚线用来表明流水线控制器206送信号给多路转接控制器212,如有这种情况请求流水线195的输出将被输出到Ibus26上。
由于当一个写请求和它的写数据在PIC16中构成时仅访问Ibus26,所以Ibus26是足够使用的。由于要得到所有的写数据需要几个Pbus18的总线周期,所以直到写缓冲器208至少充填到存贮在流水线控制器206中的可编程阈值为止,Ibus26是不用的。
图4更详细地显示了预取队列196。预取队列196包含:一控制状态机312,一最新使用寄存器(MRU)310,和两个缓冲器(PFQ0,PFQ1226(0.1)。MPU310指向最新使用缓冲器226。每个缓冲器包括:8数字和相联的奇偶位存贮器,一个地址标识符寄存器302,一有效性标志位304,一硬故障标志位306,和一不可校正存贮器错误(UCME)标志位308。控制状态机312通过总线接口寄存器耦连到Ibus26和Pbus18,并且被连接用来读和写存贮器区和每个缓冲器226的各标志位。控制状态机312也接收来自预取队列监视器254的信号,这些信号用来将预取数据加给Pbus18并使正被读入缓冲器226之后的已写数据无效。控制状态机312包含一个经多路转换器210形成存贮器读请求的出口。
预取队列196操作如下。对于非预取操作,PFQ0用作一个Ibus缓冲器。对于预取操作,或通过监视器254或由Ibus26来的数据,使控制状态机312知道一个读请求的读地址。然后控制状态机312从跟随实际被请求的数据块的地址产生数据的请求,或在Ibus26上形成如在读申请中所请求数据两倍那么多的一个单个请求。作为实际被请求的数据块在Pbus18上一直送到微处理器,且另一半存贮在预取队列缓冲器226中直至被请求为止。
假定MRU310已表明PFQ1最新被使用,且两个有效性标志位304(0,1)都已复位。当一读请求送给PIC16时,则预取队列不能填入读请求,所以该请求由请求流水线195将其放到Ibus26上。一个通常的读请求请求8个字,但是为了填预取队列则Ibus26上的请求则请求16个字。如果该16字请求越过一个DRAM(动态随机存取存贮器)的页界面,那么该请求作为两个8字请求发出。当这16个字返回时,则8个字送去填该请求,而另8个字存贮在PFQ0(最旧的缓冲器)中。MRU310翻转指向PFQ1,标识符寄存器302(0)用存贮在PFQ0中的后8个字的地址更新,且有效性标志位304(0)置位。
如果在读前8个字期间,产生一个硬故障即UCME,则这种状况的指示传送到微处理器。然而如果这种错误出现在后8个字中,则微机实际请求引起该错误的数据之前该指示是不会传送给微处理器的。如果通过读后8个字产生硬故障,则硬故障标志位306(0)置位,如果读后8个字出现UCME,则UCME标志位308(0)置位。
当PFQ监视器254表明对于一个与标识符寄存器302(0,1)之一相匹配的地址发出一个读请求时,该请求由预取队列填写,且填写该请求的缓冲器226由复位它的有效性标志位304来标以无效。任何时候只要存在一个无效的缓冲器226,则另8个字能被获取,结果预取队列196几乎不会成为数据流的瓶颈。当一写请求送给请求流水线195时,则PFQ监视器254将该写地址加给控制状态机312,该状态机312将该地址与标识符寄存器302(0,1)进行比较。如果该写地址与任一标识符寄存器相匹配,则控制状态机312复位与该匹配标识符寄存器相关联的缓冲器226的有效性标志位304。
图5更详细地显示了引导程序(boot)地址再定位器194。在图5中,引导程序地址再定位器194包含:一个引导程序外矢量指示寄存器(BEV-PIC)218,它用于存贮表明引导程序地址再定位是否执行的一位(bit);两位引导程序地址寄存器220;六个双输入多路转接器402(1-6),一个与门400和一个异或(XOR)门404。一个地址包含32位和4个奇偶位,一个奇偶位对应于地址的一个字节(8位)。奇偶位为偶数奇偶,以致dmo_γ_pb[3]是dmo_γ[31∶24]的一个XOR,dmo_γ_Pb(2)是dmo_γ(23∶16)的一个XOR,依此类推。
寄存器220和BEV_PIC218能以若干方式置位,如通过MDC14可对这些方式进行控制。一种MDC14插值进入寄存器的方法,是通过把所需要的值插入扫描数据并在寄存器上进行扫描,读出它们的当前内容,同时插入新内容。
引导程序再定位器194有一总线输入,一总线输出、和一指明该总线内容是否为要放到Ibus26上的地址的输入。如果该总线内容不是要放到Ibus上的地址,则该数据通过引导程序地址再定位器而不修改。与门400有两个输入端,一个来自BEV-PIC218而另一个来自表明输入是否为用于Ibus26的地址的一输入端。如果两者都为真,那么与门400输出逻辑1(SELECT=1)给多路转接器402(1…6)的选择输入端,这样在总线上产生地址的再定位。然而,如果与门400输出逻辑0(SELECT=0),则总线上的数据通过引导程序地址再定位器194而不变化。
表2显示了多路转接器的逻辑和它对地址线各位的作用。
Line(s) SELECT=0 SELECT=1
31:24 dmo_a[31:24] 0
23:22 dmo_r[23:22] 0
21 dmo_r[21] boot_adr[1]
20:17 dmo_r[20:17] 0
16 dmo_r[16] boot_adr[0]
15:08 dmo_r[15:08] dmo_r[15:08]
07:00 dmo_r[07:00] dmo_r[07:00]
parity3 xor(dmo_r[31:24]) 0
parity2 xor(dmo_r[23:16]) xor(dmo_r[21:16])
parity1 xor(dmo_r[15:08]) xor(dmo_r[15:08])
parity0 xor(dmo_r[07:00]) xor(dmo_r[07:00])
表2.引导程序再定位寻址
图6显示从OX00000000到OXFFFFFFFF的32位地址的存贮映象,这表明引导程序地址再定位的作用。在一处理器系统的实施例中,操作系统希望存贮在以OX00000000起始的低地址的物理存贮器中,并且分段成32、64、128,或256兆字节(MB)。然而,微处理器12希望在OXIFC0OOOO处找到引导程序码。或通过使用至少508Mb的存贮器并分隔出OXOOOOOOOO至OXIFCOOOOO的空间,或通过在OXIFCOOOOO处添加一个小存贮器,它含有包括一转移到该物理存贮器中的一存贮单元的码,就能同时满足上述两者的需要。当微处理器12正在运行中,它能用它的内部翻译后备缓冲区(TLB)执行虚拟存贮器地址翻译,但是随着一个复位,它自己还不能构成虚拟存贮器操作。引导程序码在这种建立中起帮助作用,所以该引导程序码必须定位进或再定位于微处理机12所希望的那一个地址。
4个物理地址空间部分(标以00,01,10,和11)可用于引导程序码。由于这些部分全位于第一个4MB存贮器内,所以它们全都位于上面讨论的实施例的所安装的物理存贮器内。引导程序地址再定位器194将地址再定位到这4个部分之一,由标为BOOT-ADR[1∶0]的引导程序地址寄存器220的内容确定这4部分中的一特定部分。
图5所示的以虚线表示的多路转接器402(3)表明:由于在上例任何方式中引导程序地址的位20∶17为全零,所以该转接器实际上是不需要的。在这种情况下,多路转接器402(3)能被删去而节省了芯片的实际区域。
图7详细显示了中断过滤器198,它包含:一个中断变换寄存器452,一第三优先级中断寄存器460,一第三优先级中断屏蔽472一第二优先级中断寄存器464,一第二优先级中断屏蔽466,一多线比较器470,一输出驱动器480,和输入驱动器482。图7也显示了微处理器12中的中断寄存器450。
这里显示了一中断输入路径:一中断从Ibus26传出并依次通过寄存器460、屏蔽462、寄存器464、屏蔽466并到达内部总线490。内部总线490的5根线接于中断变换寄存器452,该寄存器452有5根线输出到比较器470。比较器470的比较器输出耦连到驱动器480的一输出使能端。驱动器480的输入端是内部总线490。驱动器482的输出提供给寄存器和屏蔽,而驱动器482的输入和驱动器480的输出通过Pbus接口部分180(未图示,参见图3)耦连到Pbus18。微处理器12的中断寄存器450也耦连到该Pbus。
在操作中,来自Ibus26的中断被过滤,以便只有到达微处理器12的那些中断是会改变中断寄存器450的内容的中断,然而,微处理器12可随意查询或改变中断过滤器198中的任何中断寄存器或屏蔽。
图8更详细地显示了寄存器460、464。虽未图示,但屏蔽462、466分别包含寄存器460、464的每个中断的一位。
Ibus26上所接收的中断按它们的中断号存入寄存器460中。对于某些中断,一个值与该中断号一起传递且该值与中断设置指示一起被存贮,这种设置要么是置位状态要么是复位状态(即,一种已清除中断)。这些进入的中断被屏蔽并按照如图8所示的优先权方案被优化。一个中断的优先权由它的中断号和它的优先权分组确定。例如,在中断组int_io[19∶10]中,int_io[19]有最高优先权。因此,如果由在Ibus26上进入的中断事件设置int_io[19]和一些低优先权的中断,只有int_io[19]中断会被传递以触发下一优先权级的int_a[15]中断。编号“19”也可存贮在int_a[15]中、其结果很容易确定产生该int_a[15]中断的优先权组中的中断号。当int_io[19]被清除,那么下一个最高优先权中断会传送到int_a[15]。
屏蔽寄存器包含每个中断的标志位,且如果屏蔽位置位,则那中断不送到下一级。因此,如果int_io[19]的屏蔽位置位,则int_io[19]中断虽然是最高优先权中断也不会传送到int_a[15]。
同样,中断在第二级上也优先权化。这样使中断减少至第一级上的5个。然而即使不同的中断号是缩小了,但是由于一个中断常常会以所有方法传送到第一优先级,所以中断的频率未必下降。为了减少Pbus上的更新中断寄存器450的通讯量,所以用中断变换寄存器452保持一份中断寄存器450中应具有的复制品。通过将屏蔽466输出到内部总线490对中断变换寄存器452进行更新,且中断变换寄存器452的该预更新内容通过比较器470与内部总线490的内容进行比较。如果内部总线490的内容改变了中断变换寄存器452的内容,那么内部总线490的内容输出到Pbus,要不然不对Pbus输出。在这种方式中,中断寄存器450和中断变换寄存器452相互反射,除了更新中断寄存器450时的任何延迟外。当然,如果微处理器12从内部修改中断寄存器450,它也应该更新中断变换寄存器452。因为微处理器12当必须进行它的操作时能够访问中断过滤器198的寄存器和屏蔽,所以整个中断数据不需要每次都送给微处理器12。
现在已对本发明作了描述,上面的描述是说明性的并不作为限定。根据上述揭示内容,本领域中技术人员可显而易见地对本发明做出种种变化。因此,本发明的保护范围不应由上面的描述加以确定,取而代之,应由所附权利要求书及它们的整个等效范围加以限定。
Claims (12)
1、一种引导程序地址翻译装置,其中,一微处理器具有一地址空间并通过向总线发送一包括地址的请求来请求来自该地址空间的指令,所述地址处于该地址空间内,具有所需指令,其中,随一微处理器复位,该微处理器请求由固定地址指向的一第一引导程序指令,且其中,该固定地址包含多个地址位,其特征在于,所述装置包含:
一引导程序检测装置,它随一微机复位后输出一引导信号;
一地址划块装置,响应所述引导信号并将其耦连到总线,用于划分一部分所述固定地址的地址位;
一地址替换装置,响应所述引导信号并将其耦连到总线,当固定地址不指向一物理地址且所述引导程序信号被确立时,用于对所述分块的地址位替换被替换的多个地址位,所述被替换的多个地址位当与固定地址的未分块地址进行组合时在一指令存贮器中产生一物理地址;和
微处理器构成仅执行有效地址的请求之后用于禁止所述地址替换装置的禁止装置。
2、如权利要求1所述的翻译装置,其特征在于,所述地址划块装置和所述地址替换装置包含一多位输入端、具有响应所述引导信号的选择控制输入端的2对1多路转接器。
3、如权利要求1所述的翻译装置,其特征在于,其中,总线上的地址包括满足奇偶判别的奇偶位,且其中,所述地址替换装置可进一步包含包括被替换的奇偶位的装置,其中,所述被替换的奇偶位满足所述奇偶判别。
4、一种微处理器请求流水线,其中来自一微处理器的请求被保持直到被请求装置已准备好接受该请求为止,其特征在于,所述流水线包含:
用于至少存贮来自该微处理器的两个请求的请求存贮装置;
当所述请求是一个请求写所述数据到该请求中所指定的一存贮器单元时用于存贮与请求相关联的数据的存贮装置;
向该微处理器表明该请求已被接受的控制逻辑装置;和
当被请求装置已准备好接受该请求时输出一请求的输出装置。
5、一种预取队列,其中,一微处理器请求从一外部数据源到该微处理器的放在请求数据单元中的包含操作码、地址、或指令的数据,其特征在于,该预取队列包含:
用于校正从数据源检索到的数据中的错误的错误检测装置,其中,当在所述检索数据中检测到一不可校正的错误时,所述错误检测装置输出一不可校正的存贮器错误信号;
用于从数据源检索除微处理器所请求的数据单元外的更多数据的检索装置;
与所述检索装置相耦连的队列存贮装置,用于存贮从所述数据单元检索到的所述数据的过量数据;
与所述错误校正装置相耦连的错误标志位存贮装置,该存贮装置用于当检索到所述过量数据并被存贮进所述队列存贮装置时、存贮所述不可校正的存贮器错误信号的状态指示;和
与所述队列存贮装置和所述错误标志位存贮装置相耦连的队列检索装置,该检索装置用于检索所述过量数据和与所述过量数据关联的错误标志位,并用当微处理器请求来自所述过量数据的地址的数据时用于将所述过量数据和所述过量数据错误标志位加给所述微处理器。
6、如权利要求5所述装置,其特征在于,其中所述过量数据是一个数据单元。
7、如权利要求5所述的装置,其特征在于,其中所述过量数据是来自邻接于由所述微处理器请求的所述数据单元的某个地址的某个地址的数据。
8、如权利要求5所述的装置,其特征在于,其中所述数据源是一个可寻址的存贮器。
9、一种中断处理装置,其中,一个微处理器接收来自处理器总线上的多个中断源的中断信号,其中,该中断信号在该微处理器的中断寄存器中置位或复位中断标志位且该微处理器作用于这些中断标志位的状态,其特征在于,所述中断处理装置包含:
一中断变换寄存器,其中,所述中断变换寄存器存贮表明该中断变换寄存器中的中断标志位的状态的数据;和
耦连于处理器总线和多个中断源之间并耦连于所述中断变换寄存器的中断过滤装置,它用于接收中断信号并防止处理器总线上的不改变中断寄存器的状态的中断信号发生转移,所述中断过滤装置比较所述接收的中断信号和所述中断变换寄存器的内容以确定所述信号是否是会改变该中断寄存器的状态的信号。
10、如权利要求9所述的装置,其特征在于,其中,所述微处理器使用一个中断优先权编码器以决定各中断被处理的级别,并还使用一个屏蔽寄存器和屏蔽模式以便中止一个中断的处理,其中,所述微处理器对从该中断优先权编码器输出的中断进行处理,且其中,如果一个对应的中断信号被接收且不受屏蔽且其优先权不低于先前收到的另一中断的优先权,则中断优先权编码器输出该中断,所述中断过滤装置可进一步包含:
一存贮屏蔽位的屏蔽寄存器,其中某一屏蔽位与某一中断信号相关联,且当其置位时,它的关联的中断不被考虑;和
一使各中断优先权化的外部优先权编码器,其中所述中断过滤装置防止中断信号在处理器总线上传输,这样不会改变微处理器中的优先权编码器的输出,所述中断过滤装置比较、屏蔽和优先权化所述接收的中断信号和所述中断变换寄存器和所述外部屏蔽寄存器的内容、以确定如果一个信号被接收该信号是不是一个会改变微处理器中的中断寄存器的输出。
11、一种处理器接口电路,它将以级联方式工作的微处理器耦连到一内部总线以处理存贮器的读、写请求和由微处理器发出的输入/输出访问,其特征在于,所述处理器接口电路包含:
一处理器总线接口,它维持微处理器和该处理器接口电路之间的处理器总线上的双向数据通道;
一内部总线接口,它维持处理器接口电路和内部接于处理器系统的微处理器请求处理器之间的总线上的双向通道,所述微处理器请求处理器至少包含一个响应微处理器的请求读和写一个存贮器的存贮器接口电路;
一引导程序地址再定位器,它与所述处理器总线接口耦连以便所述引导程序地址再定位器访问一存贮器访问请求的地址部分,所述引导程序地址再定位器用于,当一引导程序指示器置位并所述地址部分不指向由所述存贮器接口电路访问的所述存贮器中的某个地址时,对所述地址部分中的某地址进行再定位;
一请求流水线,它耦连于所述处理器总线接口和所述内部总线接口,当所述内部总线接口不能立刻接受微处理器请求时在所述请求输出到所述内部总线接口之前,它用于接受所述请求并确认所述请求;
一预取队列,它耦连于所述处理器总线接口和所述内部总线接口,它用于获取和保存来自所述存贮器的预期数据块,所述预期块是存贮器中紧跟由微处理器已请求的块的某个块;和
一中断过滤器,耦连于所述内部总线接口和所述处理器总线接口,用于接收来自所述内部总线的中断信号并传递给来自第一级中断的处理器总线中断,这里所述第一级中断对微处理器的程序流具有当前作用,所述过滤器还用于存贮来自第二级中断的中断,这里所述第二级中断直到所述存贮的中断对所述程序流会有作用时为止(这种情况极少)对所述程序流没有当前作用。
12、一种在锁步、双微处理器处理系统中提取各微处理器和一超高速缓冲存贮器的状态的方法,其中,第一微处理器是一个处理器总线主控制器而第二微处理器是一个超高速缓冲存贮器总线主控器,其特征在于,所述方法包含步骤:
检测一故障:
保持第一和第二微处理器处于复位状态;
从每个微处理器提取一输出故障指示位;
从每个微处理器提取一输入故障历史位;
使第一微处理器脱离所述复位状态;
当第一微处理器既是处理器总线主控器又是超高速缓冲存贮器总线主控器、且阻止第二微处理器驱动该处理器总线和该存贮器总线时,提取第一微处理器的内部状态。
使第一微处理器回到所述复位状态;
使第二微处理器脱离所述复位状态;
当第二微处理器又是处理器总线主控器又是超高速缓冲存贮器总线主控器、且阻止第一微处理器驱动该处理器总线和该超高速缓冲存贮器总线时,提取第二微处理器的内部状态;
使第二微处理器回到所述复位状态;
使第一和第二微处理器脱离所述复位状态;
用锁步模式下的第一和第二微处理器提取超高速缓冲存贮器的内容,其中,第一微处理器是处理器总线主控器而第二微处理器是超高速缓冲存贮器总线主控器;
使第一和第二微处理器回到所述复位状态;
使第一微处理器脱离所述复位状态;
当第一微处理器又是处理器总线主控器又是超高速缓冲存贮器总线主控器且阻止第二微处理器驱动该处理器总线和该超高速缓冲存贮器总线时,用第一微处理器提取超高速缓冲存贮器的内容;
使第一微处理器回到所述复位状态;
使第二微处理器脱离所述复位状态;
当第二微处理器同时为处理器器总线主控器和超高速缓冲存贮器总线主控器且阻止第一微处理器驱动该处理器总线和该超高速缓冲存贮器总线时,用第二微处理器提取超高速缓冲存贮器的内容;
使第二微处理器回到所述复位状态;和
使第一和第二微处理器脱离所述复位状态,其中,第一和第二微处理器再次为锁步模式,其中,第一微处理器为处理器总线主控器和第二微处理器为超高速缓冲存贮器总线主控器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/088,562 | 1993-07-06 | ||
US08/088,562 US5435001A (en) | 1993-07-06 | 1993-07-06 | Method of state determination in lock-stepped processors |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1099492A true CN1099492A (zh) | 1995-03-01 |
Family
ID=22212092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN94108182A Pending CN1099492A (zh) | 1993-07-06 | 1994-07-06 | 用于双微处理器的处理器系统的处理器接口片 |
Country Status (8)
Country | Link |
---|---|
US (5) | US5435001A (zh) |
EP (1) | EP0636973B1 (zh) |
JP (5) | JP2955469B2 (zh) |
KR (1) | KR100249642B1 (zh) |
CN (1) | CN1099492A (zh) |
AU (1) | AU671543B2 (zh) |
CA (1) | CA2127081A1 (zh) |
DE (1) | DE69434473T2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1294493C (zh) * | 2003-04-29 | 2007-01-10 | 国际商业机器公司 | 利于计算机环境的错误处理的方法与系统 |
CN100461135C (zh) * | 2003-04-02 | 2009-02-11 | 智慧第一公司 | 变更高速缓存数据区段的方法与装置 |
CN1755660B (zh) * | 2004-09-28 | 2010-09-29 | 惠普开发有限公司 | 冗余处理器中的诊断存储器转储方法 |
CN104484299A (zh) * | 2014-12-05 | 2015-04-01 | 中国航空工业集团公司第六三一研究所 | 一种松耦合的Lockstep处理器系统 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3292864B2 (ja) * | 1995-02-07 | 2002-06-17 | 株式会社日立製作所 | データ処理装置 |
US6738894B1 (en) * | 1995-02-07 | 2004-05-18 | Hitachi, Ltd. | Data processor |
US5732209A (en) * | 1995-11-29 | 1998-03-24 | Exponential Technology, Inc. | Self-testing multi-processor die with internal compare points |
US5751641A (en) * | 1995-12-27 | 1998-05-12 | Sgs-Thomson Microelectronics, Inc. | Microprocessor memory test circuit and method |
GB9622684D0 (en) | 1996-10-31 | 1997-01-08 | Sgs Thomson Microelectronics | An integrated circuit device and method of communication therwith |
DE69715558T2 (de) * | 1996-10-31 | 2003-05-22 | Sgs Thomson Microelectronics | Mikrorechner mit Urladungsystem |
KR100502400B1 (ko) * | 1997-07-31 | 2005-11-03 | 삼성전자주식회사 | 복수의주변저장장치선택제어기능을갖는컴퓨터및그선택제어방법 |
US6052802A (en) * | 1997-12-31 | 2000-04-18 | Intel Corporation | Apparatus and method for cycle accounting in microprocessors |
US6353805B1 (en) | 1997-12-31 | 2002-03-05 | Intel Corporation | Apparatus and method for cycle accounting in microprocessors |
US6122679A (en) * | 1998-03-13 | 2000-09-19 | Compaq Computer Corporation | Master DMA controller with re-map engine for only spawning programming cycles to slave DMA controllers which do not match current programming cycle |
US6247101B1 (en) | 1998-07-01 | 2001-06-12 | Lsi Logic Corporation | Tagged access synchronous bus architecture |
US7386711B1 (en) * | 2002-01-08 | 2008-06-10 | Cisco Technology, Inc. | Method and apparatus for redirecting the boot operations of one or more systems |
US6966042B2 (en) * | 2003-03-13 | 2005-11-15 | International Business Machine Corporation | System for detecting and reporting defects in a chip |
US7437593B2 (en) * | 2003-07-14 | 2008-10-14 | International Business Machines Corporation | Apparatus, system, and method for managing errors in prefetched data |
US20060136696A1 (en) * | 2004-12-16 | 2006-06-22 | Grayson Brian C | Method and apparatus for address translation |
FR2883998A1 (fr) * | 2005-04-05 | 2006-10-06 | St Microelectronics Sa | Coprocesseur securise comprenant un circuit de detection d'un evenement |
US8032745B2 (en) * | 2005-12-20 | 2011-10-04 | International Business Machines Corporation | Authentication of I2C bus transactions |
JP2009080747A (ja) * | 2007-09-27 | 2009-04-16 | Panasonic Corp | マルチプロセッサ装置および情報処理装置 |
JP2009199344A (ja) * | 2008-02-21 | 2009-09-03 | Toshiba Corp | データ処理装置 |
US8244947B2 (en) * | 2009-02-20 | 2012-08-14 | Qualcomm Incorporated | Methods and apparatus for resource sharing in a programmable interrupt controller |
US8589603B2 (en) * | 2010-08-30 | 2013-11-19 | International Business Machines Corporation | Delaying acknowledgment of an operation until operation completion confirmed by local adapter read operation |
GB2493340A (en) * | 2011-07-28 | 2013-02-06 | St Microelectronics Res & Dev | Address mapping of boot transactions between dies in a system in package |
JP2013196393A (ja) * | 2012-03-19 | 2013-09-30 | Fujitsu Ltd | 演算処理装置及び演算処理装置の制御方法 |
US20150052293A1 (en) * | 2012-04-30 | 2015-02-19 | Blaine D. Gaither | Hidden core to fetch data |
US9170969B2 (en) * | 2013-01-20 | 2015-10-27 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Cached PHY register data access |
US10289467B2 (en) | 2013-03-28 | 2019-05-14 | Hewlett Packard Enterprise Development Lp | Error coordination message for a blade device having a logical processor in another system firmware domain |
WO2014158152A1 (en) | 2013-03-28 | 2014-10-02 | Hewlett-Packard Development Company, L.P. | Making memory of compute and expansion blade devices available for use by an operating system |
US9747116B2 (en) | 2013-03-28 | 2017-08-29 | Hewlett Packard Enterprise Development Lp | Identifying memory of a blade device for use by an operating system of a partition including the blade device |
US10474389B2 (en) * | 2016-07-05 | 2019-11-12 | Hewlett Packard Enterprise Development Lp | Write tracking for memories |
CN111400111B (zh) * | 2020-03-12 | 2024-02-27 | 北京交大思诺科技股份有限公司 | 一种具有备机失步状态的安全计算机平台 |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4038533A (en) * | 1976-09-29 | 1977-07-26 | Allen-Bradley Company | Industrial control processor system |
US4339793A (en) * | 1976-12-27 | 1982-07-13 | International Business Machines Corporation | Function integrated, shared ALU processor apparatus and method |
US4378589A (en) * | 1976-12-27 | 1983-03-29 | International Business Machines Corporation | Undirectional looped bus microcomputer architecture |
US4181934A (en) * | 1976-12-27 | 1980-01-01 | International Business Machines Corporation | Microprocessor architecture with integrated interrupts and cycle steals prioritized channel |
US4219881A (en) * | 1977-12-30 | 1980-08-26 | Honeywell Inc. | Digital input control circuit |
US4291370A (en) * | 1978-08-23 | 1981-09-22 | Westinghouse Electric Corp. | Core memory interface for coupling a processor to a memory having a differing word length |
US4215399A (en) * | 1978-08-24 | 1980-07-29 | Texas Instruments Incorporated | Special function control system for a dual microprocessor programmable process control system |
US4484271A (en) * | 1979-01-31 | 1984-11-20 | Honeywell Information Systems Inc. | Microprogrammed system having hardware interrupt apparatus |
NL7907179A (nl) * | 1979-09-27 | 1981-03-31 | Philips Nv | Signaalprocessorinrichting met voorwaardelijke- -interrupteenheid en multiprocessorsysteem met deze signaalprocessorinrichtingen. |
FR2474201B1 (fr) * | 1980-01-22 | 1986-05-16 | Bull Sa | Procede et dispositif pour gerer les conflits poses par des acces multiples a un meme cache d'un systeme de traitement numerique de l'information comprenant au moins deux processus possedant chacun un cache |
US4347567A (en) * | 1980-02-06 | 1982-08-31 | Rockwell International Corporation | Computer system apparatus for improving access to memory by deferring write operations |
US4442504A (en) * | 1981-03-09 | 1984-04-10 | Allen-Bradley Company | Modular programmable controller |
DE3119117C2 (de) * | 1981-05-14 | 1993-10-21 | Bosch Gmbh Robert | Vorrichtung zum Rücksetzen von Recheneinrichtungen |
GB8310003D0 (en) * | 1983-04-13 | 1983-05-18 | Gen Electric Co Plc | Input signal handling apparatus |
US4757445A (en) * | 1983-09-12 | 1988-07-12 | Motorola, Inc. | Method and apparatus for validating prefetched instruction |
GB8401804D0 (en) * | 1984-01-24 | 1984-02-29 | Int Computers Ltd | Data storage apparatus |
US4642758A (en) * | 1984-07-16 | 1987-02-10 | At&T Bell Laboratories | File transfer scheduling arrangement |
US4682284A (en) * | 1984-12-06 | 1987-07-21 | American Telephone & Telegraph Co., At&T Bell Lab. | Queue administration method and apparatus |
JPS61262845A (ja) * | 1985-05-16 | 1986-11-20 | Matsushita Electric Ind Co Ltd | マイクロコンピユ−タのリセツトスタ−ト装置 |
US4716523A (en) * | 1985-06-14 | 1987-12-29 | International Business Machines Corporation | Multiple port integrated DMA and interrupt controller and arbitrator |
EP0205692B1 (en) * | 1985-06-18 | 1991-10-16 | International Business Machines Corporation | Improvements in microprocessors |
JPS6254349A (ja) * | 1985-09-02 | 1987-03-10 | Nec Corp | アドレス変更方式 |
US4761732A (en) * | 1985-11-29 | 1988-08-02 | American Telephone And Telegraph Company, At&T Bell Laboratories | Interrupt controller arrangement for mutually exclusive interrupt signals in data processing systems |
JPH0652896B2 (ja) * | 1986-03-20 | 1994-07-06 | 沖電気工業株式会社 | 起動制御方式 |
US4805098A (en) * | 1986-05-05 | 1989-02-14 | Mips Computer Systems, Inc. | Write buffer |
US4797817A (en) * | 1986-12-10 | 1989-01-10 | Ncr Corporation | Single cycle store operations in a virtual memory |
US4843608A (en) * | 1987-04-16 | 1989-06-27 | Tandem Computers Incorporated | Cross-coupled checking circuit |
IT1215539B (it) * | 1987-06-03 | 1990-02-14 | Honeywell Inf Systems | Memoria tampone trasparente. |
JPH01159649A (ja) * | 1987-12-16 | 1989-06-22 | Hanshin Gijutsu Kenkyusho:Kk | 現像処理タンク |
US5016167A (en) * | 1987-12-21 | 1991-05-14 | Amdahl Corporation | Resource contention deadlock detection and prevention |
JPH01223541A (ja) * | 1988-03-03 | 1989-09-06 | Fujitsu Ltd | インタリーブメモリ装置 |
US4926323A (en) * | 1988-03-03 | 1990-05-15 | Advanced Micro Devices, Inc. | Streamlined instruction processor |
DE68920435T2 (de) * | 1988-06-30 | 1995-08-10 | Wang Laboratories | Steuereinheit für den speicher. |
US5006980A (en) * | 1988-07-20 | 1991-04-09 | Digital Equipment Corporation | Pipelined digital CPU with deadlock resolution |
JPH02144635A (ja) * | 1988-11-25 | 1990-06-04 | Nec Corp | 装置障害診断方式 |
US4965717A (en) * | 1988-12-09 | 1990-10-23 | Tandem Computers Incorporated | Multiple processor system having shared memory with private-write capability |
JPH0719222B2 (ja) * | 1989-03-30 | 1995-03-06 | 日本電気株式会社 | ストアバッフア |
US5263161A (en) * | 1989-07-26 | 1993-11-16 | Massachusetts Institute Of Technology | Non-busy waiting resource control |
US5295258A (en) * | 1989-12-22 | 1994-03-15 | Tandem Computers Incorporated | Fault-tolerant computer system with online recovery and reintegration of redundant components |
US5165038A (en) * | 1989-12-29 | 1992-11-17 | Supercomputer Systems Limited Partnership | Global registers for a multiprocessor system |
US5239629A (en) * | 1989-12-29 | 1993-08-24 | Supercomputer Systems Limited Partnership | Dedicated centralized signaling mechanism for selectively signaling devices in a multiprocessor system |
US5168570A (en) * | 1989-12-29 | 1992-12-01 | Supercomputer Systems Limited Partnership | Method and apparatus for a multiple request toggling priority system |
US5269006A (en) * | 1990-01-11 | 1993-12-07 | Micral, Inc. | Method and apparatus for arbitrating access to a microprocessor having real and protected modes |
JPH03252731A (ja) * | 1990-03-01 | 1991-11-12 | Fujitsu Ltd | マイクロプロセッサ |
US5301333A (en) * | 1990-06-14 | 1994-04-05 | Bell Communications Research, Inc. | Tree structured variable priority arbitration implementing a round-robin scheduling policy |
GB2245726B (en) * | 1990-06-29 | 1994-08-24 | Sun Microsystems Inc | Accessing an option board in a computer system |
JPH04306735A (ja) * | 1991-04-04 | 1992-10-29 | Toshiba Corp | 非同期割込み禁止機構 |
US5473775A (en) * | 1991-10-11 | 1995-12-05 | Kabushiki Kaisha Toshiba | Personal computer using flash memory as BIOS-ROM |
US5517624A (en) * | 1992-10-02 | 1996-05-14 | Compaq Computer Corporation | Multiplexed communication protocol between central and distributed peripherals in multiprocessor computer systems |
US5414848A (en) * | 1993-04-01 | 1995-05-09 | Intel Corporation | Method and apparatus for sharing a common routine stored in a single virtual machine with other virtual machines operating in a preemptive muli-tasking computer system |
GB2279162B (en) * | 1993-06-15 | 1997-11-19 | Ibm | Interrupt-driven processor system |
-
1993
- 1993-07-06 US US08/088,562 patent/US5435001A/en not_active Expired - Lifetime
-
1994
- 1994-06-27 DE DE69434473T patent/DE69434473T2/de not_active Expired - Fee Related
- 1994-06-27 EP EP94304669A patent/EP0636973B1/en not_active Expired - Lifetime
- 1994-06-29 CA CA002127081A patent/CA2127081A1/en not_active Abandoned
- 1994-07-04 AU AU66144/94A patent/AU671543B2/en not_active Ceased
- 1994-07-05 KR KR1019940015987A patent/KR100249642B1/ko not_active IP Right Cessation
- 1994-07-05 JP JP6153211A patent/JP2955469B2/ja not_active Expired - Fee Related
- 1994-07-06 CN CN94108182A patent/CN1099492A/zh active Pending
-
1995
- 1995-04-21 US US08/426,335 patent/US5778171A/en not_active Expired - Lifetime
- 1995-04-21 US US08/426,365 patent/US5590337A/en not_active Expired - Lifetime
- 1995-04-21 US US08/426,504 patent/US5539890A/en not_active Expired - Lifetime
- 1995-04-21 US US08/426,751 patent/US6397315B1/en not_active Expired - Fee Related
-
1998
- 1998-05-28 JP JP10147067A patent/JP3098489B2/ja not_active Expired - Fee Related
- 1998-05-28 JP JP14706898A patent/JP3272664B2/ja not_active Expired - Fee Related
- 1998-05-28 JP JP10147065A patent/JPH1115687A/ja active Pending
- 1998-05-28 JP JP10147066A patent/JPH10320227A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100461135C (zh) * | 2003-04-02 | 2009-02-11 | 智慧第一公司 | 变更高速缓存数据区段的方法与装置 |
CN1294493C (zh) * | 2003-04-29 | 2007-01-10 | 国际商业机器公司 | 利于计算机环境的错误处理的方法与系统 |
CN1755660B (zh) * | 2004-09-28 | 2010-09-29 | 惠普开发有限公司 | 冗余处理器中的诊断存储器转储方法 |
CN104484299A (zh) * | 2014-12-05 | 2015-04-01 | 中国航空工业集团公司第六三一研究所 | 一种松耦合的Lockstep处理器系统 |
CN104484299B (zh) * | 2014-12-05 | 2017-12-22 | 中国航空工业集团公司第六三一研究所 | 一种松耦合的Lockstep处理器系统 |
Also Published As
Publication number | Publication date |
---|---|
JPH1115687A (ja) | 1999-01-22 |
JPH1153302A (ja) | 1999-02-26 |
JPH10320227A (ja) | 1998-12-04 |
JPH07200510A (ja) | 1995-08-04 |
AU6614494A (en) | 1995-01-19 |
JPH10320215A (ja) | 1998-12-04 |
AU671543B2 (en) | 1996-08-29 |
KR950004023A (ko) | 1995-02-17 |
JP3272664B2 (ja) | 2002-04-08 |
US6397315B1 (en) | 2002-05-28 |
EP0636973A2 (en) | 1995-02-01 |
DE69434473T2 (de) | 2006-05-18 |
US5590337A (en) | 1996-12-31 |
JP3098489B2 (ja) | 2000-10-16 |
EP0636973A3 (en) | 1995-06-28 |
EP0636973B1 (en) | 2005-08-31 |
DE69434473D1 (de) | 2005-10-06 |
US5435001A (en) | 1995-07-18 |
US5539890A (en) | 1996-07-23 |
CA2127081A1 (en) | 1995-01-07 |
US5778171A (en) | 1998-07-07 |
KR100249642B1 (ko) | 2000-03-15 |
JP2955469B2 (ja) | 1999-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1099492A (zh) | 用于双微处理器的处理器系统的处理器接口片 | |
CN1029167C (zh) | 具有双总线结构的计算机系统的仲裁控制逻辑 | |
KR920007276B1 (ko) | 어드레스 고장처리용 캐쉬 메모리장치 | |
US4768148A (en) | Read in process memory apparatus | |
US9128871B2 (en) | Memory system with variable length page stripes including data protection information | |
US5404361A (en) | Method and apparatus for ensuring data integrity in a dynamically mapped data storage subsystem | |
US5522065A (en) | Method for performing write operations in a parity fault tolerant disk array | |
CN1095130C (zh) | 用于可变宽度数据转移的可调深度/宽度先进先出缓冲器 | |
EP0115454A2 (en) | Bus for data processing system with fault cycle operation | |
CN1155965C (zh) | 改正和检测差错的信号处理器 | |
US4920539A (en) | Memory error correction system | |
US7100071B2 (en) | System and method for allocating fail-over memory | |
CA2097782A1 (en) | Posted write disk array system | |
US6205517B1 (en) | Main memory control apparatus for use in a memory having non-cacheable address space allocated to DMA accesses | |
CN1794186A (zh) | 寻址错误和地址检测系统和方法 | |
EP0175620A2 (en) | Access verification arrangement for digital data processing system which has demand-paged memory | |
JPH03501305A (ja) | バスデータの伝送検証システム | |
US4920536A (en) | Error recovery scheme for destaging cache data in a multi-memory system | |
US5838892A (en) | Method and apparatus for calculating an error detecting code block in a disk drive controller | |
CN1232219A (zh) | 流水线型多处理器系统 | |
US7136972B2 (en) | Apparatus, system, and method for distributed management in a storage system | |
US6134623A (en) | Method and system for taking advantage of a pre-stage of data between a host processor and a memory system | |
AU703572B2 (en) | An interrupt processing apparatus | |
US6397297B1 (en) | Dual cache with multiple interconnection operation modes | |
CN117234423A (zh) | 加速单元、存储控制芯片、固态硬盘和读写请求处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C01 | Deemed withdrawal of patent application (patent law 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |