本发明涉及个人计算机,更具体地涉及赋有能够通过RE-SET(复位)信号的出现继续处理而避免系统故障的能力的个人计算机。 就总体而言个人计算机系统,特别是IBM(国际商用机器公司)个人计算机已为当今现代化社会的许多部分提供计算能力而受到广泛应用,个人计算机系统通常可定义为桌上的、落地式的或者便携式的微型计算机,它包含一个具有单一的系统处理器与相关联的易失性及非易失性存储器的系统单元,一台显示监视器,一个键盘,一个或多个软盘驱动器,一个固定盘存储器以及一台可选用的打印机。这些系统的区别特征之一为使用一块母板或系统板来将这些部件连结在一起。这些系统主要是为单一的用户提供独立的计算能力而设计的,并且价格低廉便于个人或小型企业购置。这些个人计算机系统的实例有IBM的个人计算机AT以及IBM的个人系统/2型号25、30、L40SX、50、55、65、70、80、90与95。
这些系统可归入两大系列。通常称作系列Ⅰ型号的第一系列使用以IBM个人计算机AT与其它“IBM兼容”机为代表的总线体系结构。称作系列Ⅱ型号地第二系列使用以IBM的个人系统/2型号50到95为代表的IBM微通道总线体系结构。起初,系列Ⅰ型号一般使用INTEL(英特尔)8088或8086微处理器作为系统处理器。这些处理器具有寻址一兆字节存储器的能力。稍晚的系列Ⅰ型号以及系列Ⅱ型号一般使用较高速的INTEL80286、80386及80486微处理器,它们能以一种实址方式操作以仿真较低速的IN-TEL8086微处理器或者以一种保护方式操作而将寻址范围从一兆字节在某些型号中扩展到四千兆字节。80286、80386及80486的实址方式特征本质上为针对8086与8088微处理器编写的软件提供硬件兼容性。
在所有使用INTEL X86微处理器的这种个人计算机中,用作系统CPU(中央处理单元)的微处理器可以被在系统初始加电或一定的操作状态下发布的一个适当的RESET信号所复位(在后一场合下有时称作HOTRESET(热复位)信号)。一台X86处理器的复位终止正在进行的任何操作并使该处理器返回到一种已知状态。正在进行中的一个周期的异常终止可能因种种不同原因导致计算机系统的操作故障。这对于诸如上述系列Ⅱ系统中那样一种先进的计算机系统尤为真实。例如,如果当一台处理器已经接收了一个HOLD(保持)信号时又接到一个RESET信号,则该微处理器的应答保持确认信号(HLDA)可能损失或丢失,从而破坏系统的正常处理流程。同样,在一个被RESET信号触发的复位期间接到一个HOLD信号可能得到一个过早的HLDA信号然后再被丢失而产生与上述第一种错误相同的后果。在一个活动的总线周期中接到一个RESET信号有可能导致该总线周期的截断,又导致诸如使一台从属设备停留在一种不能恢复的状态中这样的系统故障。最后,如果所涉及的系统是在局部处理器总线上提供替代控制者的一种系统,则省缺的系统处理器(通常是CPU)接收到一个RESET信号将导致该处理器在复位时获取局部总线而不顾及该局部处理器总线相对于替代控制者的状态。
迄今为止,已经认识到Intel X86处理器的这些问题。在1988年11月22日颁布并转让给Compag(康派克)计算机公司的Culley(克利)美国专利4787031中已经提出了一种解决方案,其中任何RESET信号必须等待到任何未完成的微处理器HOLD信号服务完为止。然而,所提出的这一解决方案仍然受到下述可能性的损害;可能丢失一个HLDA信号,将出现周期截断,或者省缺的控制者与替代的控制者之间的不必要争用使系统的某些部分停留在一种中间状态中。
记住了上述内容,本发明的一个目的便是保证即使在接收到一个RESET信号的情况下也能使处理有次序地继续进行,否则存在着破坏正常处理的潜在后果。在实现本发明的这一目的中,对识别一个RESET信号的到达,确认微处理器与相关的局部处理器总线的状态,以及只有当这样做允许正常的处理流继续进行时才实行该RESET信号提供了措施。
已经阐述了本发明的某些目的,其它目的将在结合附图的说明的过程中显出,其中:
图1为实施本发明的一台个人计算机的透视图;
图2为图1的个人计算机的某些部件的一个分解透视图,其中包括一个机壳、一个上盖、及一块平板,并示出了这些部件之间的某些连系;
图3为图1与图2的个人计算机的某些部件的一个示意图;以及
图4与5为当根据本发明生成一个复位信号时展示图3的个人计算机的操作的信号图。
虽然下面将参照在其中示出本发明一个较佳实施例的附图对本发明进行更全面的描述,但在下述说明一开始就应理解,对于适当领域中的技术人员而言,有可能对这里所描述的发明进行修改而仍然得到其有利结果。从而,下述说明应理解为面向适当领域中的技术人员的一个广义的教导性公开而不是对本发明的限制。
下面更具体地参见附图,实施本发明的一台微型计算机示出在图1中并总体地以10表示。如上所述,计算机10可具有一台相关联的显示器11、键盘12以及打印机或绘图仪14计算机10具有一个上盖15,它与机壳19合作定界一个封闭的屏蔽空间以容纳用于处理与存储数字数据的加电的数据处理与存储部件,如图2所示。这些部件中至少有一些是安装在一块多层平板20或母板上的,该平板20安装在机壳19上并且提供一种手段用于电气地互连上面所指出的部件以及诸如软盘驱动器、各种形式的直接存取存储器设备、辅助卡或板等其它相关部件的计算机10部件。
机壳19有一块底板及一块后面板(图2)并限定了至少一个开放的舱室用于接纳一个数据存储器设备,诸如磁盘或光盘的盘驱动器、磁带后备驱动器等。在所示的型式中,上层舱室22适用于接纳具有第一尺寸的外设驱动器(诸如称作3.5英寸驱动器的那些)。一个软盘驱动器(一种公知的能够接纳插入其中的一片软盘并且使用该软盘来接受、存储及发送数据的可卸下介质直接存取存储器设备)可以设置在该上层舱室22中。
在将上述结构与本发明相关联以前,对一个计算机系统10的一般操作进行一次简要的回顾是有意义的。参见图3,该图中示出了展示诸如根据本发明的系统10的计算机系统的各部件的一台个人计算机的方框图,其中包括安装在平板20上的部件以及平板与个人计算机系统的I/O槽及其它硬件的连接。连接到该平板上的为系统处理器32。虽然任何适当的微处理器都可以用作CPU(中央处理器)32,一种适用的微处理器便是INTEL出售的80386。该CPU32是由一条高速CPU局部总线34连接到一个总线接口控制单元35,到易失性随机存取存储器(RAM)36(这里示出为单一的直接插入式存储器模块(SIMM),以及到存储着对CPU32进行基本输入/输出操作的指令的BIOS(基本输入输出系统)ROM(只读存储器){\38。
BIOS ROM38包含用于在I/O设备与微处理器32的操作系统之间进行接口的BIOS。存储在ROM38中的指令可以复制到RAM36中以减少BIOS的执行时间。
虽然此后本发明是具体参照图3的系统方框图进行描述的,但是在下面的描述一开始就应理解为根据本发明的装置与方法是设计成可以用于平板的其它硬件配置上的。例如,系统处理器可以是一个Intel80486微处理器。
现在回到图3,CPU局部总线34(包括数据、地址及控制部件)同时提供微处理器32与一个数值或数字协处理器39以及一个小型计算机系统接口(SCSI)控制器40之间的连接。如计算机设计与操作领域的技术人员所知的,SCSI控制器40可以连接只读存储器(ROM)41、RAM42、以及在该图右侧所列出的该I/O连接件所便于连接的各种合适的外部设备。SCSI控制器40在控制存储器存储设备中,起存储控制器的作用,这些存储设备如固定的或可卸下的介质的电磁存储设备(也称作硬盘与软盘驱动器)、光电的、磁带以及其它存储设备。
总线接口控制器(BIC)35耦合CPU局部总线34与一条I/O总线44并且在其他功能中起协议转换器、存储器控制器、DMA(直接存储器存取)控制器等作用。通过总线44,BIC35与一条可选特性的总线相耦合,例如具有多个I/O槽的一条微通道总线,这些槽用于接纳微通道适配卡45,后者可进一步连接到一个I/O设备或存储器(未示出)。I/O总线44包括地址、数据与控制部件。I/O总线可以配置成不同于微通道规格的其它总线规格。
沿I/O总线44耦合的有各种I/O部件,诸如一个视频信号处理器46,它是与一个用于存储以字符为基础的信息(在48处指示)以及用于存储以图形或图象为基础的信息(在49处指示)的视频RAM(VRAM)相关联的。与处理器46交换的视频信号可以通过一个数字到模拟转换器(DAC)50传送到一个监视器或其它显示设备。同时还提供了直接将VSP46连接到这里称为自然图象输入/输出的措施,后者可采取视频录像机/放象机,摄象机等形式。I/O总线44也与一个数字信号处理器(DSP)51耦合,后者具有可用于存储用于由DSP51信号处理的软件指令及在这种处理中所涉及的数据的相关指令RAM52及数据RAM54。DSP51通过设置一个音频控制器55提供音频输入与输出处理,并通过设置一个模拟接口控制器56对其它信号进行处理。最后,I/O总线44与带有相关的电可擦除可编程只读存储器(EEPROM)59的一个输入/输出控制器58相耦合,通过该控制器58并使用一个串行端口与传统的外围设备交换输入与输出,这些外围设备包括软盘驱动器、一台打印机或绘图仪14、键盘12、一个鼠标器或指示设备(未示出)。
在转到对提供给个人计算机10的功能的更详细的描述以前,首先考虑一台个人计算机所支持的所谓多控制者或总线控制者是适当的。这里所用的“控制者”是一个设计为获得对一条总线的控制并在该总线上驱动地址、数据与控制信号的处理器或任何电路。具有了这种权限,使得一台控制者设备能够在系统存储器与其它设备之间传送信息。
已经提出过控制者区分为三种类型-系统控制者(通常为CPU)、DMA控制器、以及总线控制者。系统控制者控制并管理系统配置。它通常是系统中的省缺控制者。省缺控制者在没有其它控制者需要总线时占有总线。一个DMA控制者是一种特殊类型的控制者,它在DMA从属者与存储器从属者之间传送数据,并且并不对总线进行仲裁,而是服务于作为仲裁者的DMA从属者。如这里所使用的,一个总线控制者对总线的使用进行仲裁并支持与一个I/O从属者或存储器从属者的信息传送。
什么使一台设备成为一个“总线控制者”可能是含糊不清的,因为总线控制者并不一定需要一个处理器。同样,一个总线控制者有可能在被另一个总线控制者访问时被调用而作为一个从属者应答。一个总线控制者是以通过仲裁获得对总线的控制权限并控制一个规定的总线全周期执行而得到辨识的。一般说来,有三种类型的总线控制者:全功能、特殊功能控制器、以及可编程特殊功能控制器。它们之间的基本区别是灵活性的程度、功能及成本。全功能总线控制者是最灵活、具有最大功能、并且成本最高的一种。通常,一个全功能总线控制者具有自己的可编程CPU并且能够控制包括操作系统软件在内的所有系统资源。特殊功能控制器具有最小的灵活性、功能、及成本。通常,一个特殊功能控制器使用逻辑电路但没有CPU,用于执行一种特定的功能而只要求少量的或者不需要其它控制者的协助。可编程特殊功能控制器介乎其它两者之间。特殊功能与可编程特殊功能控制器之间的主要差别在于修改该总线控制者的功能和/或执行特性的能力。这种修改可以通过使用处理单元或者通过可设置的寄存器来完成。
在这里所给出的定义的范围内,CPU32与SCSI控制器40可作为直接耦合到或在局部总线34上的控制者进行操作,而I/O控制器58、DSP51、VSP46以及可能存在的安装在微通道槽中的辅助板45则可能全部作为直接耦合到或在输入/输出总线44上的控制者进行操作。
根据本发明,响应一个复位条件并且只有当BIC35已经获得了对局部处理器总线34及输入/输出总线44的控制以后,BIC35将生成一个这里称作X86RESET或者CPU-RESET(中央处理器单元复位)信号的信号。这里所指的复位条件包括一个停机周期(如有关Intel80286、80386及80486微处理器的技术资料中所定义的)以及一个热复位信号。热复位是用于指一个软件生成的指示有必要将处理器返回到一种已知状态的信号名。总线接口控制器35识别一个企图启动CPU微处理器32的复位的复位信号的接收并且延迟向该微处理器发送复位信号直到该总线接口控制器已经挡住了任何潜在地请求这种访问的设备对局部处理器总线34及输入/输出总线44的访问。如与本主题发明共同拥有的*提交的序号为*的共同未决(等批)申请中所更详细地描述的,BIC35通过与I/O总线44交换一定的信号(ARBUS0,1,2,3;PREEMPT#;及BURST#)作为该总线的一个中央仲裁控制点(CACP)进行工作,并且通过与CACP、I/O总线44及直接连接到局部处理器总线44的控制者交换一定的信号(ARBUS0,1,2,3;PREEMPT#;BURST#;BPQ1#至BRQn#;BGT1#至BGTn#;CACP-HOLD;CACP-HLDA;CPU-HOLD;及CPU-HLDA)同时作为一个局部总线仲裁控制点(LBACP)进行工作。在图4与5中表示了这些信号中的某一些,其中示出了根据本发明的个人计算机10的操作的示例性序列。在图4与5的各图中,时间的推移由线CLK2上的时钟周期表示。为了对本发明任何程度上的全面理解,在本发明书中包含上述共同未决申请作为参考。
在图4的序列中,请求了一个HOTRESET(热复位)(在1所指示的一个第一点上)。在一个省缺控制者控制该输入/输出总线44时它被挂起。在这一事件中,在(2)所指示的一个第二点上,BIC35驱动CPU-HOLD(CPU保持)信号使之活跃。然后,处理器在一个第三点(3)上通过发布一个确认信号CPU-HLDA(CPU保持确认)放弃总线,使BIC35准备好服务于该挂起的RESET请求。然后BIC35将CPU-RESET驱动活跃,而复位过程则活跃40个CLK2周期(在第四与第五点4与5之间指示)。在完成了复位过程时,系统达到一种初始化状态,并且如果没有挂起的总线控制者请求则BIC35驱动CPU-HOLD使之不活跃。
图5的序列展示在一个仲裁周期中接收到一个HOTRE-SET信号。如在一个第一点(1)所指示的,当ARB/GNT#为高电平或活跃时系统请求了HOTRESET。此后在一个第二点(2)上CPU-HOLD被驱动活跃,而此后处理器在一个第三点(3)上放弃该总线。然后,CPU-RESET被BIC35驱动活跃40个CLK2周期(在第四与第五点4与5之间),并且在内部初始化之后,该处理器在一个第六点(6)上进入一种保持状态。然后在一个第七点(7)上,BIC35的CACP功能可以自由将该总线授权给一个请求中的输入/输出控制者。
在附图与说明书中描述了本发明的一个较佳实施例,而且虽然所使用的是特定的名词,这样给出的说明书只是在广义的与说明性的意义使用术语的并且不是为了限制的目的。