CN1035573C - 微处理器总线接口协议分析器 - Google Patents
微处理器总线接口协议分析器 Download PDFInfo
- Publication number
- CN1035573C CN1035573C CN92112289A CN92112289A CN1035573C CN 1035573 C CN1035573 C CN 1035573C CN 92112289 A CN92112289 A CN 92112289A CN 92112289 A CN92112289 A CN 92112289A CN 1035573 C CN1035573 C CN 1035573C
- Authority
- CN
- China
- Prior art keywords
- signal
- bus
- circuit
- microprocessor
- state
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4217—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种涉及到高性能微机的协议监控装置,用于监控由微机发出的所有命令,检测该协议在什么时候没有被正确完成以及在什么时候在某预定时间周期内被完成。当监视器/定时器电路检测到一个协议误差时,监控装置产生一个输出控制信号,该信号不引入微机,从而使得它能继续进一步的处理。此外,监控装置包括一个寄存器,用于存贮在协议误差期间微机所执行的地址和命令。同一寄存器也被用于记录其它任何类型误差的地址的命令信息。
Description
本发明涉及到一种数据处理系统,特别是涉及一种容错处理器。
当把执行愈来愈多需要高可靠性的临界任务赋予给处理器件时,就增加了对该处理器的容错需要。容错设计的一个目标就是通过使某个系统能够在限定错误数量的情况下去执行其预期的功能来改善其可靠性。
在数据处理系统中,通过在硬件、软件、信息和/或计算中的冗余已经实现了容错。一个容错策略被认为包括下述一个或多个成份。它包括:掩蔽(一般误差的动态校正);封锁(避免跨规定边界的误差传播);误差检测(故障迹象的检测);诊断(识别与所检测的误差相关的故障模式);修复/结构变换(通过将其旁路来排除或取代发生故障的成份或机制)和系统恢复(将该系统校正到可以继续工作的状态)。
一个现有的流水线中央处理系统在系统的每块电路板上都包括有一个或多个在与其相关的流水级呈现异常情况时用以进行检测的异常事件(UEV)检测电路。所谓异常情况是指就其通常所执行的功能而论,由某一级所执行的功能是没有意义的。这种检测器电路能够检测出异常情况状态,诸如假设某个异常的设备状态就所施加的输入信号而言是无意义的,即发送或接收一个不正常的命令序列,不正常的命令序列试图执行一个与以前所执行的操作互不相容的操作或试图到一个与正常操作互不相容的固件控制存贮单元进行存取。处理器的接口板包括一些特殊的寄存器电路,用于存贮属于提供给系统总线的最后一个实际地址的系统总线地址信息以及属于最后一个封锁存贮器操作的地址。如果不管是由于什么原因在流水线级中出现了故障,那么实际地址寄存器的地址内容就指向软件、最后的实际地址或与存取该系统总线相连的处理器所使用的I/O通道号。有关上述的进一步信息,可以参考George J.Barlow等人的美国专利5,193,181,其发明名称为“用于多处理机系统的流水线处理单元的恢复方法和装置”。
当上述处理器被用于这种异常情况的检测时,它被提供在系统总线的接口级并且不直接起处理器的作用。即,UEV指示通常被存贮在存贮器的一个区域,用以执行后面的诊断分析以确定故障成份。另外,在系统级上,不需要高速的检测装置。特别重要的是,该装置仅仅能够检测由该处理器发送给系统总线的错误的命令序列。
因此,本发明的一个主要目的就是提供一种装置,它能够监视高性能微处理器的协议。
本发明上述目的和优点是通过耦合到高性能微处理器总线接口的本发明一个最佳实施例的监控装置实现的。该监控装置包括一个状态设备,用于接收多个总线协议控制信号和确定微处理器协议序列是否 完成。当一个正确协议序列被遵循或在一个予先设定的时间周期内没有结束时,该监控装置将产生适当的准备好响应信号,该信号避免微处理器中止操作。使得微处理器能进行进一步的处理,诸如采取必要措施以引起一个请求误差处理的非屏蔽中断。
详细地讲,该监控装置包括一种定时器电路,其中一个用于监控由微处理器发送给外部系统的命令,而另一个用于监控由该微处理器发出的在诸如读/写内部寄存器的局部总线上执行内部操作的命令或者用于执行局部存储器的操作。
除了上述以外,本发明的监控装置还包括一个输出地址寄存器,该存贮器耦合到微处理器地址和命令线,耦合到状态设备上。在每个微机总线操作周期内,状态设备向该寄存器加载。当检测到协议误差或另外一种产生非屏蔽中断(NMI)的误差情况时,状态设备禁止进一步向地址寄存器加载,借此,当产生误差时获取由微处理器发出的恰当的地址和命令。
本发明上述的其它的目的及优点通过下面结合附图的详述可得到更好的理解。
图1示出了一个多处理机系统和方框图,该系统包括有本发明的监控装置。
图2详细示出了图1中的处理单元,该处理单元中包括了本发明的监控单元。
图3详细示出了本发明的监控装置。
图4示出了包括于图2所示处理单元中的微处理器方框图。
图5是一个表示了图4所示微处理器使用的总线协议的状态图。
图6是一个用于表示本发明监控装置工作的附图。
图1示出了一个多处理机系统10,该系统包括多个中央处理单元10-2至10-6和同等处理器12-2和12-4,它们都被耦合到系统总线16和主存贮器或系统存贮器14上。如图所示,每一个处理器都包括一个总线接口区,它能使某个单元以命令、中断、数据或响应/状态的形式将需要的信息传递给系统总线16上的另一个单元或从该另一单元接收所需的信息。在最佳实施例中,系统总线16同步操作,并使用一个分离总线周期协议,该协议通过在一个单元正在等待主存贮器提供数据以响应该单元提出的较早请求的时间周期内允许其它单元的总线周期的方法来提供较高的性能,有关这种总线接口和操作的进一步信息,可参考美国专利3997896。
参见图1,可以看到每个同等处理器12-2和12-4包括一个微机12-20、一个局部存贮器12-30和接口总线,如图示,接口总线被耦合到模块12-40的总线接口电路上。微处理器12-20和局部存贮器12-30通过一个局部处理器总线12-25耦合到一起。微处理器12-20是一个高性能32位处理器,它工作的时钟速度高达33MHZ,在该最佳实施例中,它相当于Intel80486芯片。Intel芯片80486包括一个微机、一个浮点运算协同处理器、一个存贮器超高速缓冲控制器和一个8KRAM超高速缓冲单元。主要处理功能是微处理器完成的,而诸如浮点运算的附加处理功能是由算术协同处理器来执行的。内部的超高速缓冲单元提供所需处理数据的快速存取。在本最佳实施例中,同等处理器12-2和12-4在UNIX操作系统的控制下进行工作。
在图1中,处理器10-2和10-6作主处理器使用。在最佳实施例中,每个处理器都是采用Bull DPS 6000系统的形式,该系统在BUII.HVS专家操作系统控制下工作。在图1所示系统中,每个处理器都被配置得可以独立工作,并且可以对诸如输入/输出单元,主存贮器或类似的所有系统资源进行存取。
图2较详细地示出了图1所示的处理器12-2。在最佳实施例中,如图所示,除了模块12-22的时钟发生电路以外,微处理器12-20、局部存贮器12-30和相关的状态机 12-200及12-300、控制电路一起也被配置在一个单一的子插件板上。模块12-22的时钟发生器电路产生一个唯一的33MHZ单一频率时钟信号CLKREF,该信号除了对构成处理器12-2的所有其它电路以外,还对微机12-20提供主定时和内部操作频率。系统和总线接口电路12-24、输入和输出寄存器和状态设备12-80及12-66包含在主插件板上。这两块插件板构成了一个完整的处理器。
详细地讲,微机12-2和局部存贮器12-30被一起耦合到局部总线12-25的地址、致据和命令/控制处理器总线上,如图所示。模块12-24的电路用作接口电路,它把控制信号施加给内部耦合到总线状态机12-200的微处理器总线接口。通过产生一个适当的总线协议作为一个由外部状态设备(XSM)12-66所产生的控制信号的功能,状态机12-200被用于控制对局部总线12-25的微处理器存取。正如这里所解释的,XSM12-B6控制局部存贮器12-30的存取以响应来自系统总线16的外部请求。
如图示,响应由未示出的时钟逻辑电路所产生的使能信号CYCREQ,从系统总线16所接收的外部请求被装入接收数据、地址和命令寄存器12-42至12-46。地址和命令信号由模块12-52和12-54的地址和命令转换成适当的形式并被存贮在模块12-62和12-64的两组排队寄存器的可用寄存器中。如所示,模块12-62的寄存器共同通过三态电路连接到一个输出总线(X总线)上。此后,响应使能信号EADQTP,所存贮的地址和命令信号通过模块12-72和12-74的驱动电路被加到处理器总线上。
与装入寄存器12-42的外部请求相关的任何数据被模块12-50的可编程阵列逻辑(PALs)重新排列为所需要的形式并被存贮在模块12-60的多个寄存器中一个适当的寄存器中,上述多个寄存器通过三态电路被共同连接到一个输出总线(Q总线)上。该数据字的不同字节被从称为系统总线的大endian格式转换成微处理器12-20所使用的小endian 格式。这是由通过适当地重新组合连接器端子联接方式所构成的模块12-70的字节转换电路所实现的。
模块12-80的处理器状态设备(PSM)控制由微处理器12-2O所起动的事件或请求的传送和处理。如图示,由微处理器12-20所产生的指示在系统总线16上的一个操作的命令被加到模块12-82的微处理器到总线命令发生器上,随后,该发生器产生适当的系统总线命令。除了适当的地址和数据以外,该总线命令也被装入一个处理器命令寄存器12-84。如图2所示,地址和数据分别通过一个地址总线和Q数据总线被装入寄存器12-86和12-88。这一切都是为响应由控制信号的PSM状态设备12-80所产生的使能装载信号PTDTLD而作出的,上述控制信号是作为发生器12-82和模块12-90的系统总线响应电路的输入信号而施加的。
此外,PSM12-80处理由微处理器12-20所启动的内部I/O请求,用于读/写连接到Q总线上的多个内部寄存器12-68中不同的每一个。这些寄存器包括通道地址寄存器(CAR)和实际地址寄存器(PAR)。CAR寄存器用于存贮作为在正常I/O操作期间I/O命令的一部分传送给系统总线16的通道号信息,PAR寄存器用于存贮事件地址信息。附录中包含了有关这些寄存器的进一步信息。
图3以方框图的形式示出了本发明的监控电路12-250,如图所示,监控电路12-250包括一个串联的不可屏蔽中断汇流电路(NMI)(模块12-250a),模块12-250b的状态设备电路和模块12-250c的操作定时器电路。NMI电路12-250a响应相应于信号ILLACC-、DBPDE+、PRTUAR+和MBOTOR+的所测误差状态,产生不可屏蔽中断信号NMI。该信号被加到微处理器12-20和模块12-250b的状态设备电路上以作为输入信号,这些电路通过在微处理器12-20发出命令期间从中所接受的BLAST来监视总线协议信号RDY。它通过一系列状态定序并产生所需的控制信号以用于确定协议进行顺利并处于所需的时间周期之内。
如图示,状态电路12-250b产生外部请求选择信号EXTREQT和操作超时(time out)使能信号OPTMEN,后者作为输入信号施加给模块12-250c的定时器电路。这些电路提供两个定时间隔,一个间隔用于监视内部请求(即32时钟间隔),另一个用于监视外部请求(即250毫秒)。
此外,模块12-250b的状态电路还产生一个实际地址寄存器装载信号PARLD,该信号使来自局部总线12-25的地址和命令上的信号通过图2所示的Q总线被装入PAR寄存器12-251。
另外,状态设备电路12-250b还产生一个延迟的字符组准备好信号DHBRDY(即延迟一个时钟的信号BRDY),该信号作为一个内部输入被加给状态设备电路12-250b。用于产生图3各不同信号的方程列于附录中。
图4详细地示出了微处理器12-20和不同的接口信号。接口被分成两部分,这两部分表明与Inte 180486芯片的实际电路无必要相关性的不同功能,地址总线和总线控制线包含了大部分线。地址线是双向的,用以适应超高速缓冲总线探听(Snooping)能力。超高速缓冲控制部分包括6个引线,用以控制微机的内部超高速缓冲。超高速缓冲使能(KEN)输入最常用于存贮器不能被高速缓冲的不适用区域。
地址保持(AHOLD)和外部地址选通(EADS)输入允许一个外部设备向微处理器12-20提供一个地址。若该地址和处理器内高速缓冲中的地址一致,则相关的数据被标记作无效。清仓(FLUSH)超高速缓冲输入被用于通知微机:它的超高速缓冲的所有内容都是无效的。页面通写(Write-tnrough)(PWT)和页面高速缓冲失效(cache-disable)(PCD)输出端子反映了置于内部页面项或页面字典项寄存器中的页面标志位的状态。它们表示软件已被作用到逻辑存贮页的超高速缓冲控制。
总线控制部分包括13个端子,用于控制属于微处理器总线控制状态机的处理器总线。总线请求(BREQ)输出信号表明微机需要地址/数据总线。既使是在一个有效但不完整的周期内,补偿(backoff)输入(BOFF)也能使得一个外部设备取得对所有地址/数据总线的控制。微机使用伪时钟输出信号(PLOCK)来表示一个事件的执行需要一个总线周期以上才能完成。而总线锁定信号(LOCK)被用于指示一个读改写操作,在该操作中,没有其它的系统元件在现行操作完成以前能够检查正被修改的项目。微处理器不允许在另外的总线主导装置能够完成总线控制的地方发生总线保持请求(HOLID)。即微处理器将不产生相应于总线保持请求的保持应答信号(HLDA)。
存贮器/输入一指出(M/1O),数据控制(D/C)和写/读(W/R)信号用于定义被启动的总线周期的类型。地址状态输出信号(ADS)指出什么时候这些总线周期定义信号和地址信号是有效的。非字符组准备好的输入信号(RDY)表明现行总线周期已经完成。字符组准备好输入信号(BRDY)和字符组最后信号(BLAST)被用于执行字符组传送操作。
字符组准备好信号表明现行周期已经完成,且在除非出现BLAST信号的情况下,在一个时钟周期内系统将继续数据传送。BLAST信号规定字符组传输已经完成。
非屏蔽中断请求信号指示什么时候产生外部非屏蔽中断。为了在一个特定的时钟周期内进行适当的检测,NMI信号必须在电平上升以前至少保持几个时钟周期的低电平状态。
有关使用这些信号的进一步信息,可参考Inte 1989年11月出版物,卷号为240440-002,名称“i486微处理器”。
参考图1至图3,下面还将参照图5和图6来叙述本发明的监控装置的操作。
图5示出了微处理器总线状态机12-200在对总线12-25进行同步存取以向外部和内部资源发出命令过程中的全部操作(即:局部存贮器读/写操作和系统总线存贮器I/O操作)。
详细地讲,图5示出了微处理器总线状态机12-200 在对总线12-25进行同步存取以实现存贮器读/写操作和I/O操作过程中的所有操作如所述,该状态机跟随微处理器的操作,在本最隹实施例中,是跟随Intel 486微处理器的操作。如从图5中看到的,状态机12-200处于空闲状态(T1)并且保持该状态直到在没有保持(!HOLD)和补偿(!BOFF)前提下从该微处理器接收一个内部请求。当发生这种情况时,它定序到状态T1,该状态相应于总线周期的第一个时钟周期。在该状态中,有效的地址和状态被驱动,并产生地址选通ADS。
在没有补偿情况下,状态机12-200如图所示定序到状态T2。当处于这种状态时,第二和随后的总线周期被执行。在每一个这样的周期内,在写操作或读操作情况下,数据线被驱动,准备好(RDY)和字符组准备好(BRDY)线的状态被取样。当发出补偿(BOFF)时,总线周期失灵,状态机12-200定序到状态Tb。当处于这种状态时,状态机12-200执行故障总线周期的第二和随后的时钟周期。如图5所示,状态机12-200将保持在状态Tb直到保持(!HOLD)和补偿(!BOFF)不再存在。在这段时间内,状态机12-200通过定序到状态T1b重申总线周期。当处于这种状态时,状态机12-200执行重新开始的总线周期的第一个时钟周期。当在状态T1时,它除了要产生一个地址选通(ADS)外,还要驱动有效的地址和状态线。
如从图5看到的,状态机12-200 0定序在状态T2去完成该操作。还可以看到,缓冲(BOFF)以同样的方式影响从状态T1到状态Tb的定序,在图5所示情况下,状态机12-200在具有另一请求时,从状态T2定序到状态T1,而在没有一个请求时返回到状态Ti。
图6是一个状态图,它表示了图3所示状态机电路12-250的定序状态。如图所示,状态机电路12-250b开始处于空闲状态,并且保持该状态只要微处理器12-20不产生一个地址选通信号!ADS。微处理器只要产生地址选通信号ADS并且没有保持应答缓冲或系统总线清除信号(即:!HOTLDA、QBBOFF、!MBMCLR)出现,状态设备电路12-250b就定序到状态1,在没有系统总线清除信号MBMCLR的情况下,状态设备电路从状态2定序到4,以响应连续的时钟信号REFCLK。在状态3期间,状态机电路12-250b产生PAR装载信号PARLD,该信号用于将微处理器12-20在当前总线操作周期内所发出的地址和命令装入PAR寄存器12-251。
当在状态4时,状态机电路12-250b产生一个操作定时器信号OPTMEN+,该信号被施加到模块12-250c的定时器电路上。这就使得该定时器电路能够启动用于外部请求的250毫秒间隔或用于内部请求的32时钟间隔,来自PSM状态机:12-80的信号MBREQT的状态规定了是哪一种类型的请求,若信号MBREQT是二进制值“1”,就选择250毫秒间隔,若上述信号为二进制值“0”,则选择32时钟间隔。
如果定时器电路超过了所选择的间隔,那么它将产生一个系统总线操作超时信号MBOTOR,该信号被加到NMI汇流电路12-250a。这就导致产生一个信号NMI,该信号使得状态设备电路12-250b产生一个超时信号MBTZCK,后者又发送给状态设备12-80,从而导致产生一个准备好信号QBRDY。信号NMI同时还禁止产生装载信号PARLD+。
信号QBRDY除了将状态机电路12-250b重新置位到空闲状态以外,还要清零微处理器总线状态机。当在没有其它的地址选通信号(!ADS)或保持应答(!HLDA)或缓冲(!BOFF情况下产生清除信号(BLAST)时,就要遵循这条通路。
在没有缓冲或保持应答(即、!HLDA或!BOFF)的情况下(这表明局部存贮器12-30已经向微处理器12-20发出了准备好信号以指示总线协议进行顺利)。状态电路12-250b在一个准备好(RDY)信号出现也返回到空闲状态,当状态电路12-250b返回到空闲状态时,就使得操作定时器信号QPTMEN+的复位禁止模块12-250c的定时器电路。
如从图6所看到的如果在有清除信号时产生内部信号DHBRDY 并且在没有保持应答或补偿(即!HLDAA或!BOFF)的情况下产生另一个地址选通,那么,状态机电路12-250b将定序到状态5,然后返回到状态2。这个定序保证除在背对背(back toback),总线周期情况下该定时器电路被禁止外,还能向PAR寄存器装入有效信息(提供从地址选通信号产生时开始的三个时钟周期)。
除了上述以外,监控装置还为存贮器提供导致其它类型非屏蔽误差条件的地址和命令。这包括发生其地址不包括在局部存贮器12-30范围以内的非法存贮器存取(即:信号ILLACC),以及对数据总线奇偶误差的检测(即:信号DBPDE)或对系统总线不能获得资源的检测(即:信号PTRUAR)。产生这些信号中的任何一个信号都导致产生一个向微处理器12-20传送的信号NMI。
上述展示了本发明的监控装置是如何仅增加了少量电路就能检测由微处理器12-20引入给局部存贮器12-30或系统总线16的总线协议定序的不正确结束的。
本专业以内的技术人员可以理解,可以在不脱离本发明技术的情况下作出许多变化。如:本发明可以和不同类型的协议和命令一起使用。另外,当本最佳实施例利用不同的PAL电路去执行某些功能时,在某些例子中,这些功能可以被相互结合在一起并使用一个单一的电路来执行它。另外,本发明也不受限于任何特殊类型的电路。
附录
符号的叙述:
(其中:#=OR;(或:):!=非;&=与)1.状态设备PAL电路12-250b模块XCM 58端子说明:(输入)REFLCK 端子1; “基准时钟HOTRDY 端子2; “来自DB的准备好信号HOTBRDY 端子3; “来自DB的字符组准备好信号HOTADS 端子4; “来自DB的地址选通信号MBMCLR 端子5; “主插件主清除脉冲HOTHLDA 端子6; “来自DB的保持应答!QBRDY 端子7; “来自主插件的准备好信号!QBBOFF 端子8; “来自主插件的补偿信号MBT2CK 端子9; “系统定时2时钟DBBLAST 端子10; “来自DB的最后字符组!MBREQT 端子11; “系统请求!OUTENA 端子13; “输出使能(逻辑O)MBNMI 端子14; “系统非屏蔽中断(输出)!PARLOAD 端子15;EXTREQT 端子16; “外部请求Q0 端子19;Q1 端子20;Q2 端子17;OPTMEN 端子21; “操作超时使能DHBRDY 端子18; “来自DB的延迟字符组准备好方程:状态设备状态定义IDLE(空闲) =^B011;STAE-1(状态1) =^B010;STATE-2(状态2) =^B100;STATE-3(状态3) =^B100;STAEA-4(状态4) =^B111;STATE-5(状态5) =^B11O;STATE-6(状态6) =^B001;STATE-7(状态7) =^B000;OPTMOUT =[Q2、Q1、Q0];。状态设备状态定义结束。方程式PARLOAD =!MBNMI & (OPTMOUT=STATE-3) ;DHBRDY :=HOTBRDY & !HOTHLDA& !QBBOFF ;EXTREQT:=MBREQT ;OPTMEN :=(OPTMOUT=STATE-4);状态设备方程式:STATE-DIAGRAM OPTMOUT;STATE IDLE(状态空闲);若HOTADS & !HOTHLDA & !QBBOFF & !MBMCLR,则处于状态1;否则处于空闲状态状态-1状态:若是!MBMCLR 则处于状态-2;否则处于空闲状态;状态-2状态:若是!MBMCLF 则处于状态-3,否则处于空闲状态;状态-3状态:若是!MBMCLR 则处于状态-4,否则处于空闲状态;状态-4状态:若 QBRDY#MBMCLR#(HOTRDY &!HOTHLDA &!QBBOFF)#
(DHBRDY & DBBLAST & !MBMCLR &(!HOTADS # HOTHLDA #
QBBOFF)) 则:空闲否则若 DHBRDY & DBBLAST & HOTADS & !HOTHLDA &!QBBOFF &
!MBMCLR则处于状态-5 ; 否则处于状态-4;状态-5状态:若是 MBMCLR 则是空闲,否则为状态-2;状态-6状态:转向状态-7;状态-7状态: 转向空闲;II寄存器a.实际地址寄存器(PAR)
实际地址寄存器(PAR)记录由微处理器12-20所产生的每个事件的地址。当信号NMI起作用时,该寄存器停止记录,而当通过读出该伴随寄存器的内容而对NMI信号作出应答时,该寄存器再次开始记录。通过读通道地址寄存器,微处理器12-20的NMI处理程序软件可以确定非法事件控制引线M/O、D/C和W/R的状态。响应PAR读操作而返回的数据是按字节调动的且两个最高有效位是被反相的。读PAR以响应功能代码值60。b.通道地址寄存器(CAR)
通道地址寄存器在发出一系列I/O命令以前被预先装入了软件,它是一个16位的寄存器,用于以位码元0-9的形式存贮一个I/O通道号,该通道号被传送给系统总线16以指示微处理器I/O目的地址在I/O操作时发出INW/OUTW命令。此外,位码元12-10存贮由微处理器12-20所发出的每个事件的M/IO,D/C和W/R引线的状态。响应功能代码值40读CAR寄存器,而响应功能代码值41对该CAR寄存器写入。
在依据所展示和叙述的本发明最佳形式的措施和规定的情况下,可以作出某些变动而不脱离本发明和独立权利要求的精神,并且在某些情况下,本发明的某些特性可以被用于获得某些益处而不需要相应地使用其它特性。
Claims (14)
1.一种与微处理器连在一起使用的监控装置,上述微处理器与依据预定总线协议执行存储器读和写操作的一个存储器一起被耦合到一个同步总线上,所述微处理器包括一个用于处理非屏蔽中断NMI的中断接口,所述监控装置包括:
输入电路,用于接收指示误差状态的若干信号,并耦合到所述中断接口上,所述输入电路响应上述或若干信号中的任何一个以产生NMI信号;
状态机,耦合到所述输入电路以接收所述NMI信号,并耦合到所述同步总线上,所述的状态机被编程以产生一个预定序列的状态信号,用于监视所述微处理器在所述总线上发出命令时所产生的总线协议信号序列;
耦合到所述状态机和所述输入电路上的操作定时器电路装置,当处于第一预定状态时,所述定时器电路装置被所述状态机所使能从而启动一个相当于完全执行由微处理器所发出的某种命令通常所需时间间隔的预定时间间隔,依据所述的总线协议信号,在从指示所述命令正常完成的所述状态机接收复位信号以前,所述的定时器电路装置在所述预定时间间隔的终点处产生一个超时信号,且所述输入电路响应所述超时信号产生所述NMI信号并传送给所述的中断接口。
2.根据权利要求1的监控装置,其中,
所述的监控装置还进一步包括耦合到所述同步总线和所述状态机的寄存器电路装置,当处于第二预定状态时所述的寄存器电路装置被所述状态机使能,以存储在现行总线操作周期内施加给所述总线的每个命令的地址和命令信号,且所述状态机响应所述NMI信号,从而禁止进一步使能所述寄存器电路,以便于微处理器的中断处理。
3.根据权利要求1的监控装置,其中,所述的操作定时器电路包括用于产生若干预定时间间隔的装置,上述时间间隔中的每一个都与每个不同种类的命令有关。
4.根据权利要求3的监控装置,其中所述定时器电路装置产生上述若干预定时间间隔的第一个预定时间间隔,该间隔相当于一个由所述微处理器完全执行一个内部命令所通常需要的间隔。
5.根据权利要求4所述的监控装置,其中,所述微处理器耦合到系统总线上,用于传送和接收命令给/从其同连接到所述系统上的单元,并且其中所述的定时器电路装置产生上述若干预定时间间隔的第二预定时间间隔,该间隔相当于由所述微处理器完全执行所述系统总线上的一个外部命令通常所需的间隔。
6.根据权利要求1所述的监控装置,其中所述状态机包括一个同步可编程阵列逻辑PAL电路,该电路被编程,用于产生所述预定序列的状态信号,所述PAL电路最初被置于空闲状态,并且响应一个地址选通信号定序到第一状态,然后响应随后的时钟信号通过后继状态定序到第二预定状态。
7.根据权利6所述的监控装置,其中,所述的PAL电路响应下一个时钟信号从所述的第二状态定序到所述第一预定状态以用于使能所述定时器电路,在产生由所述总线协议信号的状态所规定的多个事件中的一个以前,所述PAL电路仍保持在所述第一状态。
8.根据权利要求7所述的监控装置,其中,所述事件的第一个包括产生第一协议信号,该信号表明在不存在表示所述同步总线上已经配置了其它命令的信号的情况下,多字传输已经完成,或者表明所述微处理器已经允许其它单元对所述总线的控制或被迫中止对所述总线的控制。
9.根据权利要求8所述的监控装置,其中,所述事件的第二个包括接收一个准备好信号,该信号表示所述命令是正常的,在没有表明所述微处理器已经允许所述其它单元去控制所述总线或该微处理器被迫中止对所述总线的控制的信号的情况下,所述准备好信号禁止所述操作定时器电路装置并使所述PAL电路返回到所述空闲状态。
10.根据权利要求9所述的监控装置,其中,当有表明多字传输已经完成的信号存在,以及在不存在表明所述微处理器已经允许其它单元对所述总线的控制或该微处理器被迫中止对所述总线进行控制的信号的情况下有表明将其它的命令应用于所述总线的信号存在时,接收一个准备好的信号时,所述的PAL电路从所述第一状态定序到第三状态,并且,所述PAL电路从所述第三状态定序到一个较早的状态,以保证将涉及到由微处理器在背对背总线周期情况下施加给所述总线的下一个命令的有效信息装入所述寄存器装置。
11.根据权利要求5所述的监控装置,其中,所述加到所述输入电路的若干信号包括表明发生了非法存储器存取的信号、对数据总线奇偶误差的校验信号或对系统总线不可得资源进行检测的信号。
12.根据权利要求1所述的监控装置,其中,所述NMI信号使所述微处理器去核对一个过程,用以查明所述中断的原因,并借此避免中断微处理器。
13.用于在数据处理系统中,在预定时间间隔内报告一个命令适当完成失败的装置,其中数据处理器(12-20)发出命令,以使在所述数据处理系统中执行各操作,并且其中所述系统在所述命令执行期间内检测其内错误的出现,并在出现这种错误时产生错误指示信号(ILLACC,DBPDE,PTRUAR);所述装置的特征在于:
一个信号收集电路(12-250a),具有多个用于接收各信号的输入端,响应于所述输入端的任一个上的信号的出现,在其一个输出端上产生一个第一输出信号(NMI),其中的多个所述输入端被连接来接收相应的所述错误指示信号;
一个排序装置(12-250b),具有第一、第二输入端以及多个输出端,响应于所述第一输入端上信号的出现,在输出端上顺序产生多个第二输出信号(PARLOAD,MBT2CK,OPTMEM);以及
一个定时电路(12-250c),具有一个输入端和一个输出端,所述定时电路响应于其所述输入端上信号的出现,在其所述输入端上出现所述信号之后的一预定时间间隔之后,在其所述输出端上产生一第三输出信号(MBOTOR),所述定时电路的所述输入端连接到所述排序装置的一个所述输出端,用于接收所述第二输出信号中的第一个信号(OPTMEN),所述定时电路的所述输出端连接到所述信号收集电路的一个所述输入端。
14.权利要求13的装置,其中所述数据处理器在发出每一个所述命令时,产生附加数据以补充命令,所述装置特征在于:
一个寄存器电路(12-251)连接到所述数据处理器,当由一个加到其一输入端的信号使能时,用于接收并存储所述附加数据,所述寄存器电路的所述输入端连接到所述排序装置的另一所述输出端,用于接收所述第二输出信号中的第二个信号(PARLOAD),仅在所述第二个信号(PARLOAD)出现期间,所述寄存器电路才被使能;以及
所述排序装置的所述第二输入端,连接到所述信号收集电路的所述输出端,所述排序装置响应于其所述第二输入端上出现一个信号(NMI),终止连接到所述寄存器电路的第二输出信号(PARLOAD)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US771,581 | 1991-10-04 | ||
US07/771,581 US5293384A (en) | 1991-10-04 | 1991-10-04 | Microprocessor bus interface protocol analyzer |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1072522A CN1072522A (zh) | 1993-05-26 |
CN1035573C true CN1035573C (zh) | 1997-08-06 |
Family
ID=25092283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN92112289A Expired - Fee Related CN1035573C (zh) | 1991-10-04 | 1992-10-04 | 微处理器总线接口协议分析器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5293384A (zh) |
EP (1) | EP0535697A1 (zh) |
CN (1) | CN1035573C (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2374492A (en) * | 1991-07-22 | 1993-02-23 | Banyan Systems Incorporated | System bus monitor for compiling data regarding use of a system bus |
JPH05134954A (ja) * | 1991-11-15 | 1993-06-01 | Fujitsu Ltd | ネツトワーク処理装置 |
US5524233A (en) * | 1993-03-31 | 1996-06-04 | Intel Corporation | Method and apparatus for controlling an external cache memory wherein the cache controller is responsive to an interagent communication for performing cache control operations |
US5546560A (en) * | 1993-06-22 | 1996-08-13 | Advance Micro Devices, Inc. | Device and method for reducing bus activity in a computer system having multiple bus-masters |
US5396505A (en) * | 1993-07-06 | 1995-03-07 | Tandem Computers Incorporated | Programmable error-checking matrix for digital communication system |
EP0667533A3 (en) * | 1994-02-14 | 1996-06-12 | Hewlett Packard Co | Signal loss detector. |
US5778194A (en) * | 1996-04-08 | 1998-07-07 | Symbios, Inc. | Method and apparatus for measuring performance of a computer bus |
US5850388A (en) * | 1996-08-02 | 1998-12-15 | Wandel & Goltermann Technologies, Inc. | Protocol analyzer for monitoring digital transmission networks |
US5850386A (en) * | 1996-11-01 | 1998-12-15 | Wandel & Goltermann Technologies, Inc. | Protocol analyzer for monitoring digital transmission networks |
US6195593B1 (en) | 1997-09-03 | 2001-02-27 | Seiko Epson Corporation | Reusable modules for complex integrated circuit devices |
US6496890B1 (en) | 1999-12-03 | 2002-12-17 | Michael Joseph Azevedo | Bus hang prevention and recovery for data communication systems employing a shared bus interface with multiple bus masters |
US7191256B2 (en) * | 2003-12-19 | 2007-03-13 | Adams Lyle E | Combined host interface controller for conducting communication between a host system and multiple devices in multiple protocols |
US20050216215A1 (en) * | 2004-03-26 | 2005-09-29 | Yau Wei-Guan | Timer system and method capable of dynamically compensating a difference between a count value and a threshold value for the imprecision of a timer |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0157075A1 (en) * | 1980-04-10 | 1985-10-09 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Modular data processing system |
WO1991010195A1 (en) * | 1990-01-05 | 1991-07-11 | Sun Microsystems, Inc. | High speed active bus |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4926315A (en) * | 1981-10-01 | 1990-05-15 | Stratus Computer, Inc. | Digital data processor with fault tolerant peripheral bus communications |
US5067071A (en) * | 1985-02-27 | 1991-11-19 | Encore Computer Corporation | Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus |
US4956842A (en) * | 1988-11-16 | 1990-09-11 | Sundstrand Corporation | Diagnostic system for a watchdog timer |
US5193181A (en) * | 1990-10-05 | 1993-03-09 | Bull Hn Information Systems Inc. | Recovery method and apparatus for a pipelined processing unit of a multiprocessor system |
-
1991
- 1991-10-04 US US07/771,581 patent/US5293384A/en not_active Expired - Lifetime
-
1992
- 1992-10-02 EP EP92116896A patent/EP0535697A1/en not_active Withdrawn
- 1992-10-04 CN CN92112289A patent/CN1035573C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0157075A1 (en) * | 1980-04-10 | 1985-10-09 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Modular data processing system |
WO1991010195A1 (en) * | 1990-01-05 | 1991-07-11 | Sun Microsystems, Inc. | High speed active bus |
Also Published As
Publication number | Publication date |
---|---|
US5293384A (en) | 1994-03-08 |
CN1072522A (zh) | 1993-05-26 |
EP0535697A1 (en) | 1993-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1035573C (zh) | 微处理器总线接口协议分析器 | |
US4543628A (en) | Bus for data processing system with fault cycle operation | |
EP0141743B1 (en) | Pipeline error correction | |
CN1139036C (zh) | 防止对先前的故障设备完成加载或存储操作的方法及装置 | |
US5469542A (en) | Serial diagnostic interface bus for multiprocessor systems | |
US7003698B2 (en) | Method and apparatus for transport of debug events between computer system components | |
EP0412268A2 (en) | Apparatus for interconnecting a control unit having a parallel bus with a channel having a serial link | |
RU2137182C1 (ru) | Выполнение инструкции обработки данных | |
EP0288650B1 (en) | Protocol and apparatus for a control link between a control unit and several devices | |
EP1703392A2 (en) | Method and apparatus for detecting failures in a partitioned large scale computer system | |
EP0529557A2 (en) | Apparatus for preventing computer data destructively read out from storage unit | |
US5136594A (en) | Method and apparatus for providing bus parity | |
JPS6035698B2 (ja) | デ−タ処理システム | |
JP2001306411A (ja) | 情報処理装置及び情報処理方法 | |
JP3261665B2 (ja) | データ転送方法及びデータ処理システム | |
JP2645021B2 (ja) | バス異常検査システム | |
JPH01116747A (ja) | キャッシュlsi | |
KR970002400B1 (ko) | 다중프로세서 인터럽트 요청기에서의 인터럽트 송신 및 완료 제어방법(Control scheme of interrupt go and done in a multiprocessor interrupt requester) | |
EP0278263A2 (en) | Multiple bus DMA controller | |
JPH0398140A (ja) | パラレルバスシステム | |
JPH0230060B2 (zh) | ||
JPH0235340B2 (zh) | ||
JP2538643B2 (ja) | プログラマブル・コントロ―ラ | |
JPH01277951A (ja) | データ転送装置 | |
JPH0291750A (ja) | バススタック障害の診断方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |