能选取多信息源中独立发生事件的总线监视器的制作方法

文档序号:6405901阅读:148来源:国知局
专利名称:能选取多信息源中独立发生事件的总线监视器的制作方法
技术领域
本发明涉及计算机系统工作的监视,更具体地说,涉及选取触发状态的装置与方法。
对于监视计算机系统的性能与工作,例如工作时系统总线上出现的状态,经常出现的问题是监视器的用户选取被监测状态的能力。举例来说,按以往技术,监视器的用户通常只能在监视过程开始后的一定时间内获取在单信息源中发生的全部事件,但不能够在监视开始后的任何时刻选取可能在多信息源中独立发生的某些特定事件的有关信息。也就是说,先有技术中监视器的工作方式很象一台磁带记录器,把它打开,它就会记录发生的一切,直至磁带走到头。因此,除非监视器的存储容量是海量,否则,用户要获取偶尔发生的或者监视过程开始后很久才发生的事件就十分困难。实际上,也许无法获取感兴趣的事件,因为监视器的数据记录器已饱和,或者已存满数据,尤其对于间歇性的事件,例如某些故障,或者在系统正常工作中偶尔发生的事件,更是如此。此外,另一个问题是先有技术中的监视器一般都不能够有选择地来确定与获取感兴趣的事件,为了获取感兴趣的数据必须获取大量不感兴趣的数据。它们也不能监视来自不同信息源的事件,为了确定不同信息源之间的相关性,需要反复进行监视。
本发明提出一种用于计算机系统的监视器装置,它能够有选择的检测与记录系统工作过程中预选点上的状态。本监视器包括一个触发控制码存贮器,存放一组可选的触发控制码,其中每一个控制码对应于一个表示发生相应被测状态的能发信号。本监视器还包括一个触发信号发生器,与系统中第一组选择点相联,它们与第一组选择点上的被选状态相应,产生表示发生相应被选状态的触发信号。触发输出电路装置响应触发控制码与触发信号,以根据出现的对应于被选触发控制码的能发信号产生触发信号输出。此外,还有一个中间存储器与系统中第二组选择点相联,并与触发信号输出相应,用来记录第二组选择点上的状态。
第一组选择点,即系统中受监视的用来检测发生选择状态的那些点,可能包括系统第一总线中的线、指示系统总线上出现非法状态的电路输出,以及产生表示系统总线以外的点上发生被选状态的触发信号的电路输出。
第二组选择点,即发生被选的触发状态时其状态需要被记录的那些点,可能包括系统第一总线中的线、系统第二总线中的线、以及一组系统第一与第二总线以外的点。
本发明的另一个方面是触发信号发生器,它包括一个存放触发信号图形的触发信号存储装置,其中每个触发信号图形对应于一个系统第一总线上要检测的被选状态。触发信号存储装置包括其地址读出输入与系统第一总线中的线相连的第一端口以及与触发信号输出装置相连接的数据输出端口,以产生对应于被测总线状态的触发信号图形。每个触发信号图形均存放在触发信号存储器单元中,其地址对应于表示相应被测状态的系统第一系统总线上的信号图形。
此外,触发信号存储器是一个双口存储器。系统还进一步包括一个处理器装置,用来产生触发信号存储器的写入地址以及写入触发信号存储装置的触发信号图形。在本发明中,触发信号存储装置还有一个第二端口,其数据输入和写入地址输入与处理器装置相联,以接收和存储由处理器装置提供的触发信号图形。
触发控制码存储器存放一组触发控制码,以选定被检测的状态中哪一个可能产生一个触发信号输出。触发控制码中包括一组总线控制码,其中每个总线控制码对应于一组总线触发信号中的一个,每个总线触发信号表示系统总线上一个被选状态。触发控制码还包括一组错误控制码,其中每个错误控制码对应于一组错误触发信号中的二个,每个错误触发信号代表系统总线上的一个反常状态。系统总线上的反常状态可能是错误状态、非法状态或超时状态。
触发器控制码还可能包括一组触发序列控制码,其中每个触发器序列控制码对应于一个触发信号的序列组合,由触发序列控制码中规定的每个触发信号必须发生在触发控制码所确定的序列之中。
触发控制码还可能包括一组外部触发控制码,其中每个外部触发控制码对应于一组来自系统总线以外的信息源的外部触发信号中的一个,并对应于一组系统总线控制码和相应的总线触发信号中的一个。总线控制码与触发序列控制码可以选用外部触发信号替代总线触发信号来产生触发信号输出,或者以逻辑“与”的方式与对应的总线触发信号产生触发信号输出,也可以逻辑“或”的方式与有关的总线触发信号产生触发信号输出。
最后,中间存储器包括许多子中间存储器,每个子中间存储器对应于并记录出现在第二组选择点中的一相应点上的状态。
而每个子中间存储器又包括一个静态存储装置,其数据输入与第二组选择点的有关点相联,还包括一个动态存储器,其数据输入与静态存储器的数据输出相联。子中间存储器对相应的触发信号输出作出响应,获取出现在第二组选择点上的状态送入静态存储器,并将获取的状态转存到动态存储器以记录获取的状态。
由此可知,本发明的目的在于提出一种能够选取多信号源中独立发生事件的总线监视器,以提供一种改进装置,来监视与记录系统工作过程中发生的状态。
有关本发明的上述与其它目的、特征与优点,通过以下附图所示的对于本发明及其实施例的叙述将得到进一步的了解。其中

图1是包括本发明总线监视器的系统框图;
图2是本发明的总线监视器框图;
图3是本发明的触发控制码的图形表;
图4是本发明的触发信号存储装置;以及图5是产生的以及存放在本发明触发信号存储器中的触发信号图形结构。
参阅图1,这是一个包含本发明总线监视器12的示范性系统10的框图。如图所示,系统10至少包括一个完成信息处理的中央系统14以及存放程序与数据的存储器16。中央系统14、存储器16以及诸如其它中央系统和存储器的其它系统部件,通过系统总线(SYSBUS)相联的输入输出控制器。象SYSBUS 18这样的系统总线,在技术上是众所周知的,不妨以MEGABUS作为(MEGABUS是BULL HN信息系统公司的商标),它曾用于BULL HN信息系统的DPS6与MRX计算机系统。
此外,系统10还包括一条联结存储器16与中央系统CCS14的专用总线(PBUS),它只用来传送信息,即将程序中的指令与数据从存储器16送到中央系统14。专用总线20并不是本发明的一部分,也不能作为本发明的一个限制,它是计算机系统中常有的专用总线的一个代表,在系统10中是用来提高存储器16向中央系统14读信息的速度。在系统10中,存储器写入操作是按通常方式在系统总线18上完成的,某些存储器读出操作可以按通常方式通过系统总线18完成。然而,许多存储器读出操作是字组读出,例如读出八个双倍长的字。在这些字组读出操作中,读出命令以及读出字组的起始地址按通常读出操作的方式通过系统总线18送到存储器16,而八个双倍长的字组则通过专用总线20从存储器16送到中央系统14。这样,由于避开了通用系统总线18上使用的复杂而低速的通讯协议,提高了字组读出操作的速度。
如图1所示,中央系统14与中央处理单元总线(CPUBUS)22相联,分别通过双向系统总线接口(SBI)24和单向专用总线接口(PBI)26,使中央系统14中的各个部件能与系统总线18,专用总线20与中央处理器单元22通讯。
中央系统14本身由几个部件组成,其中有一个中央处理单元(CPU)28,在本实施方案的系统10中可以是Intel80386微处理器,行家们对它都是很熟悉的。因此,中央处理单元总线22就是标准的32位80386总线,采用80386数据、指令与命令格式,执行80386的总线协议与规程。
与中央处理单元28相联的是一个中央处理单元28用来存放数据与指令的本地随机存取存储器(RAM)30,一个只读存储器(ROM)32用来例如存放系统引导程序以及以下即将讨论的与总线监视器12有关的可擦可编程只读存储器(EPROM)34。最后,中央系统14还包括其它一些与中央处理单元28有关的部件,统称为处理与通讯部件(PCE)36,它可以包括中断处理逻辑以及如磁盘驱动控制器和串并行端口控制器这一类通讯控制器等的公知的功能。
现在来讨论总线监视器12,如上所述,总线监视器12的作用是连续监视系统10工作时第一组可选监视点上的状态。以下将会介绍,这些点包括系统10的总线,特别是系统总线18,还可能包括存储器16,以及系统10内外其它一些选择点。
如果总线监视器12检测到出现在一个或多个第一组点上的多个予选触发状态中任何一个,则总线监视器12将产生表示出现该状态的触发信号输出。这样一个状态,或者一个由这些触发信号组成的可选时序,将对出现在第二组可选采样点上的状态进行采样与存储,供以后查照。以下将介绍,第二组点可能包括部分或全部第一组点,例如出现在系统总线18上的信号,也可能包括系统10中的另一些,例如专用总线20。
总线监视器12的主要功能块中包括一个触发信号控制器38与中间存储器40。触发信号控制器38有一组包括第一组被监视状态的输入。如图所示,触发信号控制器38的这些输入接到系统总线118、可选外部触发信号源(EXTTRG)42以及非法/错误状态触发信号源(ILGL/ERR)44。以下将说明,触发信号控制器38可编程以检测某些状态,即出现在被监视输入端上的状态或信号的组合、图形或序列,它还产生表示测得一个或几个程控选择状态的有关触发信号输出。这些触发信号可直接用来启动采样当时出现在系统10内监视点上的状态,触发信号控制器38还可以程控产生被选触发信号时序列的输出。
总线监视器12是通过中央系统14进行程控的,如图所示,触发信号控制器38通过总线监视器接口(BMI)46与中央处理机总线22作双向联接。这种联接允许中央系统14将被选的触发信号状态写入触发信号控制器38和把触发信号控制器38的状态读出。
中间存储器40包括一个存储体,用来存储和记录当触发状态被触发信号控制器38检出时出现在系统10中的采样状态,因此它有一个从触为信号控制器38连接过来的采样控制输入。中间存储器40的数据输入与第二组被选采样点相联,如图1所示,它们包括系统总线18中的命令与地址线、专用总线20中的线、以及一组来自外部触发信号42的外部可选点。以后将说明,中间存储器40的采样输入还包括由触发信号控制器38产生的时间标志。
此外,中间存储器40还有一组与中央处理总线22相联的数据输出,所以中间存储器40中的内容可读入中央系统14进行分析,或者传送到其它装置,例如遥控监视设备。
最后,总线监视器12有一个从中央处理单元总线22连接到系统总线18的中断/图形可编程寄存器(IPPR)48。工作在第一种方式时,中央系统14在本身的控制下通过中断/图形可编程寄存器组48可将测试图形写入系统总线8,此时中断/图形可编程寄存器组48由中央系统14控制用来测试系统总线18以及与系统总线18相联的系统部件。工作在总线监视器方式时,中央系统14可以将系统或中央处理单元中断命令这一类被选命令写入中断/图形可编程寄存器组48,并将命令存入寄存器组48,直到出现来自触发信号控制器38的触发器输出时命令被写入系统总线18为止。
以上已说明了包含本发明总线监视器12的系统10的总体结构与工作原理,以及总线监视器12的一般结构与工作原理。以下将较详细地叙述总线监视器12。
B.总线监视器12(图2)B.1 中间存储器40参阅图2,图中除了中断/图形可编程寄存器48以外已示出了较详细的总线监视器12框图。
图2上部一行是中间存储器40,如图所示,它包括三个子中间存储器,每个对应于系统10中的一个点,当出现来自触发信号控制器38的有关触发信号输出时,该点上的状态将被记录下来。如图所示,这些子中间存储器是系统总线中间存储器(SSL)50,专用总线中间存储器(PSL)52,以及外部触发器中间存储器(XSL)54。每个子中间存储器有三个中间存储器段,每段被指定用来记录系统10内相应点上的某一组状态。如图所示,系统总线中间存储器50包括系统总线数据中间存储器(SDSL)、系统总线地址中间存储器(SASL)58、系统总线命令中间存储器(SCSL)60,以及系统总线时间标志中间存储器(STSL)62。专用总线中间存储器52包括专用总线数据中间存储器(PDSL)64与专用总线时间标志中间存储器(PTSL)66。外部寄存器中间存储器54包括外部数据中间存储器(XDSL)68与外部时间标志中间存储器(XTSL)70。
系统总线数据中间存储器56、地址中间存储器58、命令中间存储器60和时间标志中间存储器62的数据输入端分别与系统总线18的数据线、地址线、命令线和时间标志发生器的输出相联。专用总线数据中间存储器64、时间标志中间存储器66的数据输入端分别与专用总线20中的线与时间标志发生器相联。外部数据中间存储器68和外部时间标志中间存储器70的数据输入端分别与外部采样点(例如,外部触发信号42)和时间标志发生器相联。系统总线中间存储器50、专用总线中间存储器52和外部寄存器中间存储器54的数据输入端,如以下所述,还与触发器控制器38相联,因此系统总线中间存储器50、专用总线中间存储器52和外部触发信号中间存储器54可以接收与存储启动采样的触发信号以及启动采样的触发信号的有关信息。
如图所示,系统总线中间存储器50、专用总线中间存储器52和外部触发信号中间存储器54的数据输出并接到中间存储器输出寄存器(SOR)72的数据输入,输出寄存器72的数据输出再接到中央处理单元总线22。以后将说明,中央系统14可通过输出寄存器72将任一个系统总线中间存储器50、专用总线中间存储器52或外部触发信号中间存储器54中的内容选读到中央处理机总线22。
在这个总线监视器12的实施例中,系统总线中间存储器50、专用总线中间存储器52和外部触发信号中间存储器54均包括图象随机存取存储器,象个人计算机那样用来存放与提供视频显示信号。众所周知,图象存储器由两个存储部件组成,第一个是存放大量信息(例如显示屏上显示的图形)的容量大、速度较低的动态存储器,另一个是容量较小、速度较高的静态存储器。正常使用时,数据以较低的速度写入图象存储器中的动态存储器部分,接着有选择地以较高的速度将数据送入存储器的静态存储器部分,例如送到图形显示器。然而在总线监视器12中,数据是以高速度读入图象存储器的静态存储器部分的,因此可以高速获取系统10中监视点(例如系统点线18)上出现的信息,并将它们送入图象存储器中容量较大、速度较低的动态存储器部分,接着可以从这里以低得多的速度读出。在中间存储器40中采用图象存储器可得到这样一种存储器,它既有图象存储器中静态存储器的写数和数据获取的高速性,又具有图象存储器中动态存储器所提供的大容量、低成本这些优点。
B.2 总线监视器接口(BMIS)46位于图2左下角的是总线监视器接口46,如图所示,它包括系统总线监视器接口(SBMI)74、专用总线监视器接口(PBMI)76和外部总线监视器接口(XBMI)78,它们分别作为中央处理机总线22与系统总线中间存储器50、专用总线中间存储器52和外部寄存器中间存储器54之间的接口。系统总线监视器接口74、专用总线监视器接口76和外部总线监视器接口78实质上都是一样的,每个均包括一个数据输入端与中央处理机总线22相联的地址与寄存器计数器(ADRRC)80,计数器的时钟输入与中间存储器40的读写控制和定时电路相联。以后将进一步说明,这些地址与寄存器计数器80为中间存储器40产生与提供读写地址,并可从中央系统14装入地址,例如用来选择将从中间存储器40读出的信息,以及予置采样信息写入中间存储器40的起始地址。地址与寄存器计数器80中与读写控制和定时电路相联的时钟输入主要用来产生将采样信息写入中间存储器40以及从中间存储器40读出记录信息的逐个地址。
系统总线监视器接口74、专用总线监视器接口76和外部总线监视器接口78还均包括一个和地址与寄存器计数器80输出相联的译码器82,它对地址与寄存器计数器的内容进行译码,在目前这个总线监视器12的实施方案中,用来产生系统总线中间存储器50、专用总线中间存储器52和外部寄存器中间存储器54的地址和列选择输入信号。最后,系统总线监视器接口74、专用总线监视器接口76和外部总线监视器接口78还均有一个暂存器(RS)84,其数据输入与相应地址与寄存器计数器80的输出相联,其数据输出与中央处理机总线22相联,因此计数器80中的内容可通过中央处理机总线22读入中央系统14。
B.3 控制与定时,寄存器与存储器部件与总线监视器接口46相邻的是两个一般化的控制与定时部件,即寄存器/中间存储器控制/译码器(RSCD)86和控制与定时电路(CNTLTMG)88,后者在上面介绍总线监视器接口46时刚提到过。这些部件主要用来控制访问上述总线监视器接口46中的寄存器、系统总线中间存储器50、专用总线中间存储器52、外部触发信号中间存储器54和中间存储器输出寄存器72中的存储单元以及总线监视器12中其它寄存器与存储单元,以后还对它们详细描述。寄存器/中间存储器控制器/译码器86与中央处理机总线22相联,接收并翻译来自中央系统14的地址码与操作命令码,例如将一个地址写入总线监视器接口46或者根据一个地址从一个或几个中间存储器40的存储单元读出信息的地址和命令,它还向总线监视器12的各个部件提供有关的控制输出,其中包括对控制与定时电路88。控制与定时电路88,顾名思义,为总线监视器12中的寄存器和存储单元,特别是系统总线中间存储器50、专用总线中间存储器52与外部触发信号中间存储器54提供全面的控制与定时信号。如图所示,控制与定时电路88有一个输入与触发器检测逻辑的一个触发器输出相联,以下将说明,这是为了控制将被选采样点上的数据写入系统总线中间存储器50、专用总线中间存储器52和外部触发信号中间存储器54,如上所述,当总线监视器12检出一个被选的触发状态时这个电路产生一个时间标志。寄存器/中间存储器控制/译码器86和控制与定时电路88均采用一般的设计与工作方式,它们在很大程度上取决于以下将详述的总线监视器12的工作方式,以及为总线监视器12中各寄存器与存储单元所选用的具体电路。由于寄存器/中间存储器控制/译码器86和控制与定时电路的设计对于行家们都是熟知的,对于这两个电路以下不再作详细的说明。
B.4 触发信号控制器38组成触发信号控制器38的主要部件示于图2的右下角部分,它包括一个触发控制寄存器(TRIGENR)90、触发信号存储器(TRIGMEM)92、非法/错误状态测检器(ELGL/ER)94、触发信号检测器逻辑(TRIGDET)96、触发信号寄存器(TRIGREG)98与时间标志发生器(TSG)100。以下将说明,触发信号存储器92和非法/错误状态测检器94的输出以及外部触发信号42的输入均为表示发生被监视状态的触发信号,触发控制寄存器90则以触发控制码的形式存储信息,以决定采样触发信号时结果应当是哪一些状态。触发信号控制器逻辑96和触发信号寄存器98将表示发生被监视状态的触发器与当前和以前来自触发控制寄存器90的触发状态输入相比较,当一组被监视的状态与触发控制寄存器90中的判定信息相符时产生一个触发信号输出TRIGS。
B.4.1 触发控制寄存器90(图3)
如图所示,触发控制寄存器90的数据输入与中央处理机总线22相联,接收并存放一组程控的可选触发控制码,每个码表示一个将导致触发信号检测器逻辑96和触发信号寄存器98产生触发信号输出的被监视状态或被监视状态的组合。或者表示一个将导致产生这种触发信号输出的触发信号时序组合。以下将说明,触发信号检测器逻辑96和触发信号寄存器98的这种触发信号输出将导致对当时系统10中被选采样点上呈现的状态进行采样,并将状态存入中间存储器40的适当部分。触发信号输出还可以对中央处理机28产生中断,决定包括系统总线中断存储器50、专用总线存储器52或外部寄存器中间存储54的中间存储器40的组成部件中哪一个中间存储器将接收与存储信息。
在目前这个触发控制寄存器90的实施方案中用的触发控制码中有16个控制码直接与从系统10中被监视点送到触发信号检测器逻辑96的16个相应触发信号输入有关,以及其它一些控制码用来决定触发状态、这16个触发状态的某些组合或时序。以下将说明,触发控制寄存器90还可以存储使触发信号检测器逻辑96和寄存器98对总线监视器12产生其它控制信号的其它控制码,举例来说,产生一个输出信号将中断/图形可编程寄存器组48中的命令,例如中央系统14的中断命令,送到系统总线18。
参阅图3,其中示出了目前实施方案中触发控制寄存器90的图表。如图所示,寄存器90可以多达32个控制码,其中绝大多数均与某些触发信号或触发信号组合、序列的置位有关。
从触发控制寄存器90的左边开始,前面一组码有12个触发控制码(ENable TRigger?),从ENTRGA到ENTRGM,用来选通总线监视器12以分别响应触发信号A~M中的各个触发信号。这些代码中,前面从ENTRGA到ENTRGH八个触发控制码与系统总线10上的状态有关。从ENTRGA到ENTRGH中的每个触发控制码分别对应于触发信号A到H中的一个触发信号,以下将说明,它们由触发信号存储器92产生。触发信号A~H中的每个触发信号又对应于包含80位系统总线18内命令码、地址码和数据码的80条线上的一个程控可选状态组合。ENTRGA~ENTRGH均为1位码,它决定相应的触发信号是否要记录由触发信号存储器92检出的发生予定有关触发信号状态这一事件。
这一组内剩下的三个控制码ENTRGJ、ENTRGK和ENTRGL均为1位码,分别对应于由非法/错误状态检测器94产生的触发信号J、K与L,它们用于检测系统10总线上发生的错误或非法状态,以及检测诸如系统总线18上超时状态这一类的状态。
在目前这个总线监视器12的实施方案中,这些多级的或多重控制的触发信号总是从触发信号G“开始”,逐个向触发信号A推进。此外,序列中触发控制码ENTRGA~ENTRGG必须置为真值,使得所求序列中前面与最后的触发信号状态能够检测出来。例如,对于双状态触发信号,要求(TRGIFF)(ENTRGF)(ENTRGG)全部均置为真值TRGIFF为真,因此只有当前级触发信号F产生时最后触发信号状态G才产生,ENTRGF为真,将前面的触发信号F置位,ENTRGG为真,将最后一个触发信号G置位。同样,对于三状态触发信号,要求(TRFIFE)(TRGIFF)(ENTRGE)(ENTRGF)(ENTRGG)使最后一个能发信号G依赖于前面的触发信号E与F,使产生触发信号G、F与E。应当指出,这里要求从触发信号G向触发信号A推进并不对可能建立的序列加以实质性的限制,因为触发信号~G可以分别指派给任何一个要检测的被选状态;也就是说,触发信号A~G的字母次序纯属习惯排列,对哪些触发信号分派给哪些触发信号状态或触发信号状态的组合,不可以任何限制。还应当指出,在一般情况下,TRIGFF用作时序操作的控制码,如TRIGFF不为真值,当出现相应状态时触发器A~H中的任一个均可出现。
顺着触发控制寄存器90中列出的控制码次序,后面的四个控制码(ENable external TRigger?)ENXTRD、ENXTRE、ENXTRF和ENXTRG分别与外部触发信号源42的外部触发信号XD、XE、XF和XG相对应。这四个外部触发信号和四个与其对应的由触发信号存储器92提供的内部触发信号D、E、F和G,以各种不同的方式配合工作。
首先,通过程序利用触发信号存储器42中的“无关”码将触发信号D、E、F或G封锁,并设置触发信号XD、XE、XF或XG的控制码,任一个触发信号XD、XE、XF或XG均可用来替代触发信号D、E、F或G中的相应触发信号,关于这一点在以下谈到触发信号存储器92时还将说明。这样,触发信号XD、XE、XF或XG将代替触发信号D、E、F或G进行工作。
其次,通过合适的程序控制触发信号存储器42中的触发信号D、E、F或G,同时设置触发信号XD、XE、XF或XG以及相应触发信号D、E、F和G的控制码,则任一个触发信号XD、XE、XF或XG均可用来与相应的触发信号D、E、F或G按“与”的方式进行工作。在介绍触发信号存储器92时已谈到,在以后还将说明,触发信号D、E、F和G都是根据系统总线18上出现的80位状态产生的;利用触发信号XD、XE、XF和XG可将80位状态扩展到81位状态。其第81位代表非系统总线18状态,即外部触发信号状态。
第三,对触发信号XD、XE、XF或XG以及触发信号D、E、F或G中的几个予定信号设置触发控制码,同时与上述第一种情况相反,将触发信号存储器92中的触发信号D、E、F或G通过程序设置动作码而不是“无关”码,则任一个触发器XD、XE、XF或XG,均可与触发器D、E、F或G中的任何一个独立使用。外部触发器的这种用法将产生一个“或”操作功能,例如,对触发器XF或者触发器F产生一个触发信号。
最后,触发信号XD、XE、XF和XG可以按上述任何一种方式产生在讨论控制码TRBIFA,TRCIFB、TRIGDIFC、TRIGEIFD、TRIGFIFE与TRIGIFF时曾提及的时序触发信号状态。外部触发信号的这种用法可以允许建立这样一个时序触发信号状态,例如,它需要在序列中出现触发信号XF而不是触发信号F,或者相反,或者序列中同时出现触发信号XF和F。
触发控制寄存器90中的其它代码与触发信号产生没有直接关系,但用来控制与选通总线监视器12与系统10的其它一些操作。
例如,外部时钟选通码ENXTCK(ENable eXternal ClocK)用来选通与外部触发信号源42的触发信号有关的时钟,将状态从外部触发信号源42送入外部触发信号中间存储器52,例如,与外部触发信号源42输入相联的总线上的周期数。
中断触发信号码TRGINT(TRigger INTerrupt)是控制码,如果设置以真值,则当总线监视器12检出触发信号C时,或者当TRGIFF不为真值并且检出触发信号A~L中的任一个时,它使中央处理机28中断中央系统14的工作。这种中断通常是利用中断/图形可编程寄存器组48中的中断命令来完成的,当出现触发器状态时将它送到系统总线18。
复位触发器码TRGRST(TRigger ReSeT)控制触发器38在每个系统总线18周期的终点将触发器寄存器99中存放触发信号A~F的寄存器复位,所以只要TRGRST置位,在每个系统总线18周期均可检测与记录触发信号A~F。
串行选通存储器码SERENM(SERial ENable Memery)控制将信息从系统总线18写入系统总线中间存储器50的时钟。当这个控制码不置位时,没有任何信息可写入系统总线中间存储器50;这个控制码通常在系统10的总线,特别是系统总线18受监视时被置位,当中央系统14正在读出中间存储器40的内容时被复位。控制码SERENP和SERENX按类似方式分别控制将信息写入专用总线中间存储器52和外部触发信号中间存储器54。
增量地址存储码INCRAS(INCRement Address Stcre)是控制码,当它置位时,在总线监视器12将数据读入系统总线中间存储器50,专用总线中间存储器52与外部触发信号中间存储器54的时候,将系统总线监视器接口74、专用总线监视器接口76与外部总线监视器接口78的地址与寄存器计数器80中的中间存储器40地址增1。当数据记录过程结束以及中间存储器40中的信息正在检查与处理时,INCRAS被复位。
最后,控制码QLTWRP和PRTEVN是用来测试系统与总线监视器12的代码。质量试验环境方式码QLTWRP(Quality Test Wraparound Mode)使总线监视器12只响应由总线监视器12起动的系统10总线操作引起的那些触发信号状态。偶数校验码PRTEVN(Parity Even)将系统总线18上的所有奇偶位设置为偶数校验,用来在系统总线18上产生测试状态。
B.4.2 触发状态输入外部触发信号源42与非法/错误状态检测器94(图2)如图所示,触发信号控制寄存器90的触发控制输出与触发信号测检器96的第一组输入相联。触发信号检测器96的第二组输入与触发信号存储器92的输出,非法/错误状态检测器94和外部触发信号源42相联。触发信号检测器96的第二组输入包括一组受触发信号控制器38监视的一组系统10状态。以上已说明,这组被监视状态输入中的某些输入,例如来自外部触发信号源42的输入,直接与触发信号状态源相联,其它的输入,例如来自触发信号存储器92与非法/错误状态检测器94的输入,则间接由受监视的状态产生。
首先考虑来自外部触发信号源42的输入,这些输入称作“外部”输入,因为它们来自系统总线18和专用总线20以外的点,并且不对这些输入进行任何处理或逻辑运算,直接将这点接到触发信号检测器96。如以上所述,触发信号检测器96的这些输入包括触发信号XD、XE、XF和XG,而且还可能包括存储器16、中央处理机28或中央系统14中的点,一般地说,包括与系统总线18相联的各种其它系统部件中的点,或者甚至还包括系统10以外的点和设备,例如外部设备,或其它系统,也可能包括由总线监视器12的用户选定的任意点。
非法/错误状态检测器94的输入接到系统总线18、专用总线20以及系统10内在正常监视过程中要进行监视的那些设备与部件。这些输入专门用于系统中这些点上发生的错误状态,用来检测系统总线18与专用总线20上确定的错误状态。在目前这个实施方案中,非法/错误状态检测器94由组合逻辑组成,例如可编程逻辑阵列,它接收这些输入并产生一组表示错误状态的触发信号。
非法/错误状态检测器94的两个输出,即触发信号J和K,是由分别与系统总线18和专用总线20中的命令和控制总线相联的输入产生的,它们表示系统总线18或专用总线20上的特定错误状态,当出现这些状态时产生触发信号J或K。这些总线错误状态,举例来说,可能是指示总线上发生多重或不相容响应的命令信号,例如同时回答与不等待信号、同时不回答与等待信号、同时回答与等待信号;也可能是总线上发生不正常的定时状态,例如短响应或断开状态。
最后,非法/错误状态检测器94产生触发信号L用来指示系统10尤其是系统总线操作中的定时错误。产生触发信号L的输入接到控制系统总线操作的系统10内的各种设备,例如各种对系统总线18或专用总线20具有总线控制能力的设备。当这个电路测得超时状态时,即当前的总线操作在正常允许时间内尚未完成,则触发信号L作为输出信号产生。
B.4.3 触发信号状态输入触发信号存储器92(图2、4与5)参阅触发信号存储器92,如上所述,由触发控制寄存器90产生的触发控制码有八个,即ENTRGA~ENTRGH,与系统总线10上的状态相关。每个触发控制码分别对应于八个触发信号A~H中的一个,每个触发信号又对应于包含80位系统总线18的命令、地址与数据位的80条线上的一个程控可选的状态组合。这八个触发信号A~H由触发信号存储器92产生,每个均可由程序选择。
如图2所示,触发信号存储器92是一个双端口的存储器。它的第一个端口包括第一地址输入,即状态地址输入(CA),以及存储器地址输入,即状态数据输入(CDI),两者均与中央处理器总线22相联。触发信号存储器92的第二个端口包括第二地址输入,即触发信号地址(TA),它与系统总线18相联,触发信号存储器92的数据输出,即触发信号数据输出(TDC),与触发信号检测器96的触发信号输入相联。
触发信号存储器92在功能上有八位宽,每位对应于其中一个触发信号A~H,存放对应于被检测的系统总线18状态的触发信号位A~H的代码图形。每个触发信号A~H的代码图形占用一个触发信号存储器92存储单元,其地址对应于一个特定的系统总线18代码位组合,该组合表示要检测的相应系统总线状态。因为系统总线18上出现的信号接到触发信号存储器92的第二端口地址输入TA,因此当预定的被监视状态出现在系统总线18时,将从触发信号存储器92读出触发信号A~H的代码图形,这个图形已选定与某个特殊的系统总线18状态相对应。
触发信号位图形由中央系统14产生或提供,通过触发存储器92的第一端口,即通过92的CA与CDI,由中央系统14将它们写入触发信号存储器92的有关单元。作为例子,这些触发信号图形可以在中央系统14中运行的软件控制下产生,或者在中央系统14的控制下由外部信源送入,也可以存在中央系统14的EPROM34内,在中央系统控制下从EPROM34读出,写入触发存储器92。
此后并当总线监视器12正在监视系统总线18的活动时,系统总线18中命令,地址和数据总线上的数位就作为读出地址送到触发信号存储器92第二端口的地址输入,即TA。当系统总线18上出现的数位组合与要检测的系统总线18状态相一致时,则选定表示该系统总线18状态并根据系统总线18上的地址输入位组合存在触发信号存储器92地址单元中触发信号位A~H的图形,从触发信号存储器92读入触发信号检测器96,从而产生选定的一组触发信号A~H。
如上所述,本发明中系统10的系统总线18最多可包括80条线。这80条线包括32个地址位、7个用于其它功能的特征位、32个数据位和8个命令位。
本实施方案中的触发信号存储器92包括8个8×1024的双端口子存储器102~116,以及8个“与”门,其联接如图4所示。可以看到,来自系统总线18的80条地址输入线分成8段,每段10位,触发信号图形也相应地分成8个触发信号段,每段8位,每个触发信号段占用子存储器102~116中的一个,保存与触发信号A~H中的每个信号相对的位置。将来自系统总线18的每个0位地址段与触发信号存储器92的每个8×1024子存储器内的一个单元相关联,则触发信号存储器92就能检测系统总线18上的数位组合与存放在8个子存储器102~116中的触发信号图形是否一致。如果系统总线18的地址与要检测的系统18状态相符,或者某个特定的触发信号段已确定为“无关”状态,则子存储器102~116中每个触发信号段存储单元的内容在某些触发信号位置上为逻辑“1”。如果触发信号存储器92子存储器102~116中某一地址内8个触发信号段均含逻辑1,则这些“1”可由“与”门118检出,并将触发信号A~H中有关的“1”送到触发信号检测器96。
为了叙述方便,设系统总线18上发生下列状态时触发信号存储器92输出触发信号A(a)00010000(b)00000000(e)10000000(d)00000000(e)11000000(f)00000000(g)11111111(h)00110000(i)00000000(j)11100011。
不考虑“无关”状态的可能性,在这种状态下触发信号图形有(a)子存储器地址0001000由触发信号A位置上为1;
(b)子存储器地址00000000内触发信号A位置上为1;
(c)子存储器地址10000000内触发信号A位置上为1;
(d)子存储器地址00000000内触发信号A位置上为1;
(e)子存储器地址11000000内触发信号A位置上为1;
(f)子存储器地址00000000内触发信号A位置上为1;
(g)子存储器地址11111111内触发信号A位置上为1;
(h)子存储器地址00110000内触发信号A位置上为1;
(i)子存储器地址00000000内触发信号A位置上为1;
(j)子存储器地址11100011内触发信号A位置上为1;
当上列代码或状态出现在系统总线18的80条线上时,所有子存储器102~116的触发信号A输出端均为逻辑“1”,因此“与”门从触发信号存储器92输出一个触发信号A。
产生触发信号A~H中一个或几个信号并将它送入触发信号检测器94的过程示于图5。如图所示这个过程包括两步。
第一步是建立用户映射120,这一步对要产生的每个触发信号A~H规定一个系统总线18 80条线上出现的状态或信号。这一过程示于图5的上部,它表示用户映射120。如图所示,用户映射120有8行80列,每行对应触发信号A~H中的一个信号,每列对应系统总线18中的一条线。
对于要产生的触发信号A~H中每个信号,用户首先选择A~H中哪个触发信号要确定,然后定义一个包括1到80项的布尔乘积函数(“与”函数),其中每项表示积极参与产生触发信号的80个系统总线18信号中的一个信号,从而为该触发信号确定触发状态。接着,用户根据被监视状态要求相应线上的信号是逻辑“1”还是逻辑“0”,然后对每个系统总线18的信号或线赋予一个状态,逻辑“1”或者逻辑“0”,即确定触发状态。在确定触发状态时不用的信号赋以“无关”状态。在确定触发状态时,除了逻辑“1”与逻辑“0”状态以外又加上了“无关”状态,这就要求参与定义触发的状态的每条线或每个信号的状态至少由两位来确定。
第一步的过程示于图5的上部,对于触发信号A,用户映射部分系统总线18的确定过程用影线表示。
在过程的第二步中,用户映射120转换为硬件映射122,它表示触发信号存储器92中的实际触发图形。如图4下部份所示,硬件映射122结构上分成8块,分别对应于包括触发信号存储器92的8个子存储器102~116与系统总线18的10线一组的8组线,每块与子存储器102~116的第二端口地址输入,即触发信号存储器92的TA相联。每块硬件映射122包括8行,如图所示,每列对应于其中一个触发信号A~H,它有1024行,每行对应于子存储器102~116地址单元中的一个单元,它们可以用系统总线18中各组线产生的10位地址输入进行单独访问。存放在子存储器102~116即硬件映射122中的触发图形是这样产生的将用户映射120的每一行分为8段,每段10位,对于给定的一个触发信号,每段表示系统总线18的一组线(10条线)上信号的布尔组合,这组线决定该触发信号的部分触发状态。
其中一段在用户映射120中用影线表示。每个10位段均可以有1024个不同的值,决定对应的1024个不同的二进数,每个数值均以1-1对应的方式分配给硬件映射122列中的对应1位单元,1位单元的地址相当于这段的“数值”。因此,如果列中单元的二进制地址等于用户映射120段中的数值,则硬件映射122列中的任何1位单元置“1”。对于用户映射120中的一个触发信号规定的一个10位段,图5示出了将触发信号和触发状态从用户映射120映射到硬件映射122中的触发图形,它说明了怎样将段映射到硬件映射122的单列子存储块中的单地址单元。
对于每个触发信号状态,即对于用户已定义的触发信号A~H中的每个信号,这个过程的结果是,在硬件映射122的8块8列中产生一个相应的由1与0组成的触发图形,对用户映射120的每个10位段产生一个图形。
形成的触发图形可以直接写入触发信号存储器92,或者在多数情况存入存储器16或中央系统14中的RAM30,并在监视操作开始前写入触发信号存储器92。此外,本文在其它地址已说明,有些予定的与常用的触发图形可以“永久”存在中央系统14的EPROM34中,在被总线监视器12的用户选中时使用。
B.4.4 触发信号检测器96与触发信号寄存器98触发信号检测器96本质上是一个“与/或”电路,它将外部触发信号源42、非法/错误状态检测器94和触发信号存储器92产生的触发信号,与触发控制寄存器90产生的触发控制码相比,当相应的触发信号和触发控制码发现产生系统10状态时,输出一个触发信号TRIGS。在这一方面,触发寄存器98是用来锁存产生TRIGS输出的触发信号,因此,前面已说过,产生TRIGS信号的触发信号可以连同系统10中各采样点上的采样数据一起存在中间存储器40中。
此外,曾经说明过,有些触发信号是由相继出现触发信号A~H和XD~XH中的其它信号产生的。因此,触发信号寄存器不仅存储直接引起TRIGS的触发信号,而且还存储这些触发信号的发生序列,并将这一信息反给触发检测器96。当发生已被确定并受触发控制码控制的特定触发信号序列时,由触发信号检测器96产生TRIGS。在关系总线监视器12的说明中,在说明其它部分时,例如说明触发信号寄存器90及其存储的控制码,以及说明触发信号存储器92及其存储的触发图形,已经对完成触发信号检测器96与触发信号寄存器98的功能所需的逻辑实施方案与详细设计,以及这两个电路要完成的操作,同样都作了全面的叙述。因此关于触发检测器96与触发寄存器98这里将不再详述。
B.4.5 中断/图形可编程寄存器48
如上所述,由触发信号检测器96和触发信号寄存器98产生的TRIGS输出启动将系统总线18、专用总线20以及外部触发信号源42中的数据记录到中间存储器40。此外,以上已提到,总线监视器12包括一组联接中央处理机总线22与系统总线18的中断/图形可编程寄存器(IPPR)48。如上所述,工作于第一种方式时,在中央系统14的控制下通过寄存器48可让中央系统14将测试图形写到系统总线18上,因此中断/图形可编程寄存器48可由中央系统14用来测试系统总线18以及与系统总线18相联的系统部件。
工作于总线监视方式时,中央系统14可以将系统或中央处理机中断命令这一类予选的命令写入中断/图形可编程寄存器48。这些命令一直留在寄存器48,直到出现由触发信号检测器96和触发信号寄存器98产生的触发信号TRIGS输出,此时将它们送到系统总线18。在目前这个总线监视器12的实施方案中,在极多数情况下这个命令是中央处理机28中断命令,它将中断中央处理机28当时正在执行的操作,所以监视器12可以中断系统10的操作。
这一中断命令在系统总线18周期的终点出现在系统总线18上,它终止了系统总线周期。系统总线中间存储器50中与涉及产生触发信号的被监视状态的事件有关的信息组,在这种情况下将从触发信号本身开始,然后将状态送到系统总线18,作为该触发状态的结果对它们采样,例如该系统总线18周期内在系统总线18上出现的状态,最后以中断命令的出现而告终,中断命令是系统总线18上出现的最后一组状态。为了取得记录在系统总线中间存储器50、专用总线中间存储器52和外部触发器中间存储器54三个存储器中的数据相关关系,还将中断命令放入专用总线中间存储器52和外部触发器中间存储器54的时间标志中间存储器,即中间存储器66和70,如果这些中间存储正在记录发生中断命令的事件。
B.4.6 时间标志如上所述,触发控制器38里有一个时间标志发生器(TSG)100,实质上这是一个计数器,当出现由触发检测器96和触发寄存器98产生的触发信号TRIGS时开始计数。出现触发信号在每个采样操作的起点将时间标志发生器100的计数输出写入中间存储器50,这样,总线监视器12的用户就可以确定发生每个触发状态的相对时间。根据总线监视器12该采样周期内中间存储器40中哪些部分正在记录数据,时间标志发生器100计数输出的最低位也写入专用总线中间存储器52和外部触发器中间存储器54,以取得系统总线中间存储器50、专用总线中间存储器52和外部触发器中间存储器54内数据之间的相关关系。
由于写入到中间存储器40内三个子存储器中的采样数据不是此相关的,因此需要记录系统总线中间存储器50中的时间标志计数值以及中间存储器52和54中的部分时间标志计数值。举例来说,各监视和采样操作不一定导致数据都写入到中间存储器40的三个部分,因此对于同样一个操作中间存储器40的三个子存储器中占用相同地址单元的信息组是不需要的。例如,如果系统总线18上只监视与系统总线18本身有关的状态,则发生该状态时最后得到的数据只写入系统总线中间存储器50。
此外,在采样操作中存放在中间存储器40的三个子存储器中的信息组是不等长的。例如,产生触发状态并使系统总线18上的数据写入系统总线中间存储器50的典型系统总线18操作(如从存储器16读数的系统总线18命令)只占用一个系统总线周期,因此,当系统总线18状态引起一个触发信号时,总线监视器12只记录一个系统总线18周期内的数据。然而。专用总线20操作以及由输入引起的某些操作则可能占用一个以上的系统总线18周期。例如,从存储器16读数的命令可能只占一个系统总线18周期,但通过专用总线20实际从存储器16读数将占用8个相继的专用总线20周期,因此,如果该操作产生一个触发信号并将数据记入中间存储器40,则中间存储器40必须将一个系统总线18周期内的数据记入系统总线中间存储器50,将8个相继的专用总线20周期内的数据记入专用总线中间存储器52。
权利要求
1.计算机系统中用来选取与记录系统运行过程中予选点上状态的监视器,它包括存放一组可选触发控制码的装置,每个控制码对应于一个表示发生相应被测状态的触发信号,与第一组系统内部选择点相联的装置,对第一组点上发生的选择状态作出响应。产生表示发生相应选择状态的触发信号,响应触发控制码与触发信号的装置,在发生对应于被选触发控制码的触发信号时,输出触发信号,以及与系统内部第二组选择点相联的中间存储器,响应触发信号输出,以记录这些点上的状态。
2.要求1中的监视器,其中第一组选择点包括系统第一总线的线。
3.要求1中的监视器,其中第二组选择点包括系统第一总线的线。
4.要求1中的监视器,其中第二组选择点包括系统第二总线的线。
5.要求1中的监视器,其中第一组选择点包括第一系统总线,产生触发信号的装置包括存储触发信号图形的触发信号存储器,每个图形对应于第一系统总线上要检测的一个选择状态,其中触发信号存储器包括第一端口,有一个与第一系统总线的线相联的读地址输入和一个数据输出端口,该输出与产生对应于被测总线状态的触发信号图形的触发信号输出装置相联,其中每个触发信号图形存放在触发信号存储器的单元中,其地址相当于第一系统总线上表示对应被测状态的信号图形。
6.权利要求5中的监视器,其中触发信号存储器是一个双端口存储器,系统还包括一个处理器装置,用来产生触发信号存储装置的写地址,并提供要写入触发信号存储装置的触发图形,其中触发信号存储装置还有一个第二端口,其数据输入和写地址输入与处理器装置相联,以接收和存储由处理器装置产生的触发图形。
7.权利要求1中的监视器,其中存储触发控制码的装置包括存储一组总线控制码的装置,其中每个总线控制码对应于其中一个总线触发信号,每个总线触发信号表示系统总线上的一个选择状态。
8.要求1中的监视器,其中触发控制码包括一组触发序列控制码,每个触发序列控制码对应于一个触发信号的序列组合,由触发序列控制码确定的每个触发信号必须发生在按触发控码确定的序列之中。
9.要求1中的监视器,其中中间存储器包括一组子中间存储器,每个子中间存储器对应于并记录第二组选择点中一个相应点上的状态,其中每个子中间存储器包括一个其数据输入与第二组选择中相应点相联的静态存储器,以及一个其数据输入与静态存储器数据输出相联的动态存储器,子中间存储器响应对应的触发信号输出,将被选第二组点上出现的状态记录到静态存储器,并将获取的状态送入动态存储器以记录获取的状态。
10.一种有选择地检测一个操作系统的点上的信号状态的监视器装置,其特征在于一个与所述系统的第一组点相接的状态感测电路(92),用来感测在所述第一组点上的信号状态,根据出现的所述预定状态产生第一类输出信号(A~H);一个控制电路(90),用来存放一组对应于所述第一输出的不同值的码,并用来发送代表所述码的第二类输出信号;以及一个操测电路(96、98),它与所述状态感测电路及所述的控制电路相接并响应所述第一类和第二类信号,以产生对应于第二类输出信号的第三类输出信号。
11.权利要求10中的进一步提供用来记录操作系统中特定点上信号状态的监视器装置,其特征在于存储装置(40),它与所述系统的第二组点及所述操测电路相连接并响应所述第三类信号,记录出现在所述第二组点的信号状态表示。
12.权利要求10中的监视器装置,其进一步特征在于所述状态感测电路(92)包括一个可寻址存贮器,以保守第一类信号的不同图形的可寻址单元,以及将第一组点上的所述信号状态作为一个地址加到所述可寻址存贮器中的装置。
13.权利要求11中的监视器装置的进一步特征在于一个计时发生器,它产生表示所述监视器装置中事件发生的相对时间的计时信号,及所述存储装置(40)进一步与所述计时发生器相连接,以记录与所述信号状态表示相关联的计时信号。
全文摘要
用于记录一系统中选择点处状态的监视器包括给出触发信号以提供与特定的检测状态相应的码的发生器,以及响应触发信号以记录所述状态的存贮装置,发生器包括一具有读地址输入和数据输出的存贮器以提供相应于特定状态的信号的模式。在发生器中,提供触发启动码,它包括相应于选定状态的码,相应于误差信号的码,相应于触发信号序列结合的码以及相应于外触发信号的码。
文档编号G06F11/34GK1055252SQ9010602
公开日1991年10月9日 申请日期1990年12月21日 优先权日1989年12月22日
发明者道格拉斯·约翰·安吉利斯, 亨利·佛尔特·杰罗姆·马多克斯, 阿瑟·彼得斯, 唐纳德·詹姆斯·拉恩本, 威廉·劳沦斯·索尔特曼茨 申请人:布尔·Hn·信息系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1