本发明涉及一种在自保护数据处理系统中使系统初始化和复位的装置。 在数据处理系统中,为了只抹去或除掉在接下去的操作中不需要的信息(例如,记录或处理错误数据的信息、错误修正的信息、在出现间断的错误或由于维护时重复中断操作的信息),需要精密的系统初始化和复位。
在现行的具有专用服务处理器的数据处理系统中,根据具体的机器状态(例如,接通电源、故障、加载),依靠常驻在专用服务处理器中的微程序,经过相应的服务接口,在中央处理单元(CPU)的部分区域中可以实现系统初始化和复位。
如上所述,这种有选择的和根据机器状态地初始化/复位仅对清除或抹掉那些接下去的操作不需要的信息(或者那些必须是已知的、并且定义为初始状态作为下一步处理的基础的信息)是必要的。
除了通过切断和接通电源开关而产生普通复位来进行系统初始化和复位的那些低造价系统以外,在那些无专用服务处理器和专用服务系统的数据处理系统中,必须采取一些特殊的措施。
因此,本发明的目的是提出一种在数据处理系统内有选择(根据状态)的系统初始化和复位的解决方案。
为此,本发明公开了一种自保护数据处理系统中的一种装置,该装置通过将用以代表内部处理器状态的那些处理器的锁存器置于初始状态(“1”或“0”)而使系统初始化和复位,该装置的特征在于安排在复位区(S、I、F)内的这些处理器的锁存器(SRLI……SRLV)是交错的初始化或复位的,在各个复位区内部组装一组锁存器,这些处理器的锁存器必须根据系统初始化或复位的原因(如开机)在系统重新启动之前予以初始化或复位,这些复位区是串联的。
上面描述的这些特点产生了有效管理一个电子数据处理系统的系统初始化或复位的优点。
通过参阅以下附图有助于完全理解本发明:
图1表示一种数据处理系统的一般结构的示意性方框图,这种数据处理系统构成了本发明的周围环境。
图2是这种复位结构的操作框图;
图3和图4是根据本发明的系统初始化和复位所需电路的框图;
图5是为实现系统初始化和复位对图3和图4的装置进行控制的信号脉冲图。
现参照图1,图1是具有各种复杂部件的一个常规的数据处理系统的框图,这些部件是由总线互连的。如图所示,这里没有可以支持处理单元(PU)1的用来处理接通电源的顺序、程序装入、或者错误记录、分析和恢复的专用服务处理器。处理器总线10将中央控制部件,即处理单元1经过高速缓冲/主存贮器控制器(Cache CTL/ST-CTL)3和5以及主存贮器总线(MM-bus)13连接到主存贮器(MM)4。处理器总线10还将处理器连接到选择浮点处理器8以及至少还连接一个I/O总线适配器7。I/O总线适配器7将处理器总线10经过I/O总线连接到各种I/O装置和其它部件(如通信适配器等)。I/O总线适配器7还被指定将各种控制监测部件与该系统连接,该控制监测部件诸如用户工程盘(CE-P)。电池操作时间的日时钟(TOD)、只读存贮器(ROM)、操作员盘(PAN)、电源控制器(PWR-CTL)或两个辅助装置(SUPPL)。存放控制程序的控制存贮器(CNTL-ST)2经过独立的控制存贮器总线11连接到处理单元(PU)1。
系统时钟的产生和分配均集中在时钟芯片(CLCK)6上进行,该时钟芯片6具有多条连线,几乎与所有的系统部件相连接。作为一个例子,下面描述的三个初始化/复位区是限定在处理单元1中的。当然,也可以采用任何其他的有理由的复位区的个数。下面所描述的复位概念中是假设三个链式移位寄存器锁存器(存贮元件)的区,这些锁存器根据电平检测扫描设计规则,即LSSD规则(level sensitive scan design rules)用于实现这一系统设计。移位寄存器存贮器靠闪动或波动复位。“电平检测扫描设计规则在E.B.Aichelberger的论文“Alogic design Structure for LSI testability”中已予以描述,该文刊登在“Proceedings of the Design Automation Conference”No.14,20-22,1977年7月,路易斯安那州,新奥尔良市,第462-468页。
三个复位区定义如下:
S区(接通电源复位区)包括除了用以形成存贮阵的那些存贮单元以外该系统的全部移位寄存器锁存器(SRL)。
工区(系统复位区)包括用作指示锁存器(检查指示器)的全部移位寄存器锁存器。但是,部分维护和/或服务电路的锁存器不包括在内。例如,处理单元(PU)芯片1的微指令地址比较寄存器和各自的停止电路不复位。这样就提供了在一些条件装入那些寄存器的情况校验和检查系统在一些条件下复位功能的机会。
下面列举一些由用户人工调动的使系统强制复位操作的功能:
初始微代码装入(Initial Micro Code Loading(IML)),
系统复位(有/无存贮器清零)和系统程序脱机(有/无存贮器和初始程序装入(IPL)的清除)。
F区集装的各功能锁存器(校验复位区)。这个区只包括处理单元(PU)的移位寄存器锁存器(SRL),这些锁存器必须在处理单元(PU)为执行错误处理微程序而重新起动之前复位成无错误状态。
为了避免处理单元不受控的处理或不受时间表约束的动作,必须根据存放在校验电路或校验器中的校验信息进行自保护(非校验终止优先),这是一种“始终热校验”原理。由于一些处理器部件的有选择地复位,则要求特定的微程序的一次新的起动,形成“错误映象”的错误指示器和错误状态(error stati)继续保持复位操作,并且可由接下去的微程序存取和处理,这一微程序也受该校验装置的保护。
图3中所示的复位控制器20位于时钟芯片6上,所有的复位请求线(RRL)与复位控制器20相接,在该线上的各个信号可使整个系统或部分系统初始化或复位。图3左侧从上到下的信号分别是:“电源接通复位”信号(POR)、“初始微程序装入”信号(IML)、“系统复位清零”信号(SRC)、“系统复位正常”信号(SRN)、“装入清零”信号(LC)、“装入正常”信号(LN)和“校验复位”信号(CHR)。这些信号将在下文予以详细解释。
图2所示的复位操作是系统特定的并根据硬件设计和结构要求而制定的。
复位操作顺序是根据一个数据处理系统内的硬件和逻辑区上其清零效应的深度以某一顺序安排的。最重要的清除动作(电源接通复位)可以认为是由一系列单一的复位动作所支持的总动作,其它的复位动作涉及到该逻辑总量中很少部分,这意味着许多信息保持其初始的状态。
“系统复位清零”信号(SRC)、“系统复位正常”信号(SRN)、“装入清除”信号(LC)和“负载正常”信号(LM)导致I区和F区锁存器的复位。
“校验复位”信号(CHR)使F区的锁存器复位。
为了遥控起见,各给定的复位功能可以通过单元支持接口(USI)进行交替地起动。
复位控制器20有一组输出线21~24,用以将各种控制信号传送给处理器芯片1、浮点处理器8、存贮控制器5和包括在计算机系统内的其它各个芯片,图1表示出这样一个计算机系统的例子。
输出线21用于将并行三比特的复位条件信息传送给处理器芯片1,输出线22和23把共用时钟信号、移位时钟A(SCLA)和移位时钟B(SCLB)分配给各芯片。移位时钟A控制主锁存器,移位时钟B控制链式移位寄存器锁存器(SRL)的从锁存器。
复位区还由双线线路24控制,它将复位控制器20连接到除了处理器芯片1以外的其它芯片上。这两条线的四种不同的状态足以选择三个给定的复位区(S区、I区、F区;I区、F区;单独F区)和指示“无复位”状态。输出线21包括三条线,因此可以表示八种不同状态。其中有七个不同的复位原因和一个“无复位”状态。这七种复位状态以两种方式使用:(1)除了双线的输出线24以外它们指定三个复位区,(2)它们详细提供复位的原因。复位原因表示在称之为复位指示器的锁存器内,这些锁存器只能由错误处理子程序的微指令进行检测(读出)和复位。存放在所有复位指示器的锁存器中的信息可对系统复位的原因进行详细的分析,以后可以用于在计算机系流重新起动之后控制该微程序。
输出线21仅连接到这样一片芯片,该芯片提供的逻辑电路要求由微指令存取复位信息,在这一特定的情况下该芯片就是处理单元(PU)芯片。
时钟芯片6内的复位控制器20还由校验复位信号控制,由错误芯片起动。校验复位信号经过停止线14传送,其详细情况在欧洲专利申请88108138.4中已予描述。
表
上表给出了关于各种比特组合方式的形成在线21上传送的三比特复位条件码,在线24上传送的两比特区复位码的比特组合以及取决于通过各条RRL线馈送到复位控制器20上的输入信号而被复位的各个区的全面情况。
如图4所示,线24上直接解码的各个信号在接收侧被用于将移位时钟A(SCLA)连接到各复位区F、I S的移位寄存器的锁存器SRLI……SRLm,SRLl……SRLt,SRLl……SRLv的主锁存器上。而移位时钟B(SCLB)永久地连接到移位寄存器锁存器的各从属锁存器上,线24上的SIF复位比特的解码由与门31、33、34和或门32进行,例如,当唯有复位区F必须复位时,SIF复位比特组合“01”必须加在线24上。线24上的反向比特组合也与一串行数据输入一起馈给与门30。与门30的输出信号在任何情况下都是二进制0,但是,一种代码组合“00”表示无复位条件除外,这一点是可以从表中看出来的。由于SRL链35的输入和移位时钟A和B的脉冲都是二进制0,从而,二进制0通过移位寄存器链35的复位区F的所有级传送,所以使所有级复位为0。
在F区以外传送是不可能的,因为只有满足与门31的符合条件,则移位时钟A才只经过线22a传送到F区的主锁存器。
当复位区F和I要复位时,例如在“装入正常”的情况下(SIF复位码为“10”),加上启动与门33,则移位时钟A的脉冲经过线22b传送给I区的主锁存器。二进制0通过F区,再继续通过I区的各锁存器传送。
在“电源接通复位”(SIF复位码为“11”)的情况下,所有三个与门31、33和34都被启动,移位时钟A的脉冲通过线22a、22b和22c传送到移位寄存器链35的所有主锁存器。
于是二进制0通过寄存器链传送,直到到达其末端为止。
图5中所示的脉冲图和使移位寄存器链35的锁存器复位的过程可以更详细地看出该系统是怎样工作的。图5上部前两行表示加在主锁存器的移位时钟A的脉冲,和加在移位寄存器链35内的移位寄存器锁存器的从属锁存器的移位时钟B的脉冲。
第三行表示有一个复位请求(例如“系统复位清除(SRC)”)到述“复位请求”线RRL上的状态。如第四行所示,用下一个移位时钟A的前沿,开启复位指示器锁存器。同样加在移位寄存器锁存器上的、未表示出的功能时钟将在下一个移位时钟B的前沿到来时停止,如第五行所示。
线21上的复位条件码和线24上的SIF复位码将在下一个移位时钟B的前沿到来时,如第六和七行所示。在电路时延所产生的固有延时之后,选择复位区I和F的信号有效,如图5的第八和九行所示,以及强制使移位寄存器链35的输入端信号为0,如第十行所示。
第十一行表示移位时钟A的选通脉冲在线22a和22b上有效。
图5的下面部分表示通过构成本例的移位寄存器链的锁存器LT1~LT2048的O传送情况。在每个移位寄存器级中,0从其主锁存器M传送到其从锁存器S。在此传送的末端,所有的锁存器或级都复位为0。
一个给定系统中的复位链的最大长度决定了位于复位控制器20中的计数器40的最大计数值。该计数器以接近移位时钟脉冲的关系增加,其计数值传送给比较器38。寄存器39用来存放等于用以构成一个链的移位寄存器级数的优选值的或选定值,在本例中等于2048。比较器38检测当计数器40的实际计数等于该链的这个优选的最大长度值时的情况,该值已存放在寄存器39内。此时比较器38的输出信号从二进制1变为0,因而传输门36a和b不再在22x和22y上传输SIF解码(解码0=无复位)。这就结束0的传送。
如果该最大计数比该链的锁存器数小,则二进制0的传送在到达该链末端之前就要停止,留下一些未确定状态的锁存器。而较大的计数无有害影响,因为O的传送在该链末端处停止。
根据该处理器电路的逻辑设计,在该链内的某个个别的锁存器的复位状态必须假设为反相形式,这就意味着二进制1。这些特定的锁存器在其各的输入端和输出端都需要一个反向器级(双反相)。另一种较经济和解决方案是在随后的移位寄在器级要求零复位状态时简单地使用了前一个锁存器和该各别锁存器的“非Q”输出端。
进一步如图4所示,与门30产生二进制0以供传送。每当线24上的SIF复位码的比特都不是0时,在链35的输入端D1处强制为二进制0,这与串行数据输入线22Z上被提供的什么电平无关,所述的线22Z在非复位状态下将串行数行数据送到该链输入端D1。