首页> 中国专利> 利用单处理器芯片升级的多处理器系统

利用单处理器芯片升级的多处理器系统

摘要

一种利用单处理器芯片升级的多处理器系统,具有近似单处理器系统的结构,但只要插入一个CPU,便可扩充成多处理器系统,且所插入的CPU不必与原有的CPU完全相同。

著录项

  • 公开/公告号CN1091538A

    专利类型发明专利

  • 公开/公告日1994-08-31

    原文格式PDF

  • 申请/专利权人 宏碁电脑股份有限公司;

    申请/专利号CN93102406.4

  • 发明设计人 沈振来;石国标;廖文禄;

    申请日1993-02-20

  • 分类号G06F15/16;

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人程天正;马铁良

  • 地址 中国台湾

  • 入库时间 2023-12-17 12:31:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2007-04-25

    专利权的终止未缴年费专利权终止

    专利权的终止未缴年费专利权终止

  • 2002-09-18

    专利申请权、专利权的转移专利权的转移 变更前: 变更后:

    专利申请权、专利权的转移专利权的转移

  • 1999-12-08

    授权

    授权

  • 1994-08-31

    公开

    公开

  • 1993-11-03

    实质审查请求的生效

    实质审查请求的生效

说明书

本发明是关于一种以单处理器芯片升级的多处理器系统。

随著电脑技术的不断进步和中央处理器单元(CPU)的不断开发,不论是电脑制造商或是电脑使用者都面临一项极大的困扰,那就是:最初推出或是购买时原本为最新机种的电脑,数年之间,已落伍而成为跟不上时代的机种,例如使用286CPU的个人电脑系统,即为最好的例证。

当然,旧型号的电脑并非不能使用,但为了配合相关的软硬件的发展,使用者常常必须设法更新其配备,才能与相关环境相配合。因此,使用者必须面对如下的升级问题:(1)如何适应于CPU的更新(由286、386至486,乃至于将来INTEL公司即将推出的P5(即586)),而相对应地提升其本身所有的电脑设备;(2)原本为单处理器系统的电脑,在不敷需要时,如何扩充为多处理器的电脑系统。

要解决上述问题,不断购买新电脑机种当然是一项不切实际的作法。为了适应CPU的不断更新,目前一般可采取的作法有两种,第一种是将与CPU有关的电路板全部更换,如此一来不但不符经济效益,而且对使用者而言,必须与原销售厂商接触,也十分不便。另一种作法是由宏基电脑所提出的,其解决办法是将安置CPU的电路板予以特殊设计,要更新CPU时,将新的CPU插入电路板上的预设位置,而旧有的CPU即同失效(disabled)。第二种方法比第一种方法为佳,因为可以不必更换整个电路板,不过此方法仍然不理想,因为(1)使旧有的CPU失效,十分可惜;(2)此方法并不能解决由单处理器系统扩充到多处理器系统的升级问题。

要了解所述由单处理器系统扩充到多处理器系统的问题,必须先了解目前的单处理器系统与多处理器系统之间的差异。图1示出已知的单处理器系统的一例,其中包括有一个CPU11,一个CPU总线12,一个局部总线13,一个周边总线(EISA    bus)14,一个内部周边总线(XD    bus)15,在CPU总线与局部总线之间有CPU-局部总线接口16,在局部总线与EISA总线之间有局部-EISA总线接口17,在EISA总线与XD总线之间有EISA-XD总线接口18。有一个系统控制器19与CPU总线12和局部总线13相沟通。另有一个总线控制器20与局部总线13,EISA总线14和XD总线15相沟通。在总线控制器20中包含有一个共处理器接口21,当CPU11中发生共处理器错误(coprocessor    error)时,CPU11与共处理器接口21之间借助于共处理器错误(FERR*)信号线24与忽略错误(IGNNE*)信号线25相沟通。此时共处理器接口21产生一个中断请求(interrupt    request),送往中断控制器22的第IRQ13号中断输入端。中断控制器22同时接收由EISA总线14而来的多个中断输入(IRQ1、IRQ3、……IRQ12、IRQ14与IRQ15),这些中断比如说来自打印机、硬盘机……等等;在中断控制器22的内部有一个仲裁器(未示出),此仲裁器对各中断请求加以仲裁,经判断过优先次序后,中断控制器22经由INT信号线26送出中断命令(interrupt    command)给CPU11,然后由CPU11来执行中断例行程序。

图2所示为多处理器系统的一例,其中包括有两个CPU31、41,每个CPU均具有一个相关的CPU总线32、42,它们分别通过一个处理器总线接口33、43而与多处理器总线34沟通。与多处理器系统相似地,多处理器系统中也包括有一个系统控制器50、一个中断控制器51、以及EISA总线38、XD总线39和多处理器-EISA总线接口48、EISA-XD总线接口49。

两CPU31、41各有其对应的控制端口35、45与共处理器接口36、46,CPU41并具有一个中断向量端口47。共处理器接口36、46与CPU31、41的连系方式与前述多处理器系统中相似,故在此不必赘述。

由于在多处理器系统中仅能有一个CPU与系统的周边I/O直接有关(其理由在此不予详述,可参阅与多处理器系统设计有关的文献),因此在两CPU31、41的中断安排上略有不同。当CPU31要中断CPU41时(除了因共处理器错误所造成的中断外,CPU31是CPU41的唯一中断来源),CPU31写入CPU41的控制端口45中,CPU41接收到中断命令后,便会从中断向量端口47中取得所需的信息并根据控制端口中的数据来执行必要的中断例行程序。另一方面,当CPU41要中断CPU31时,CPU41同样必须写入CPU41要中断CPU31时,CPU41同样必须写入CPU31的控制端口35中,但由于CPU41并非CPU31的唯一中断来源,因此CPU41对CPU31的中断必须经过中断控制器51的仲裁。如图所示,CPU41对CPU31的中断请求经第IRQ13号输入端输入至中断控制器51中。经过仲裁之后,中断控制器送出中断命令给CPU31,之后CPU31便根据中断控制器51与控制端口35中的数据来执行相对应的中断例行程序。

在以上说明及附图中,省略了存储器及一些次要的部分,因为单处理器系统与多处理器系统的最大差异,在于各CPU中断方式的不同。

由以上比较可以看出,由单处理器系统扩充到多处理器系统实在是困难重重。对于此一问题目前一般的解决方法是采用图2的结构,在主机母板上预留两个CPU接口卡插入槽,并将与CPU31、41有关的电路分别制作在两个电路板30、40之上,当两个插入槽内仅插有一个CPU电路板30时,便为单处理器系统,而于需要扩充时,可购置另一块CPU电路板,将其插入第二个插入槽中,便构成多处理器系统。此方法的缺点是:使用者仍必须与原销售厂商接触,而且必须购置与原有的CPU电路板相匹配的另一块CPU电路板;如此一来不但成本较高,而且在原有CPU已落伍时,使用者可能会无法找到所需的材料而无法达到扩充的目的。换言之,除了在扩充系统时具有经济成本上的种种不利因素之外,此方法也不能适应解决CPU的升级问题。

有鉴于此,本发明的一项目的便是要提供一种利用单处理器芯片升级的多处理器系统,此系统具有单处理器的系统结构,但只要借助插入一个CPU组件,便可转变成多处理器系统。

本发明的另一项目的是要提供一种利用单处理器芯片升级的多处理器系统,此系统在多处理器状态时,其中的两CPU组件不必对称,而可以是不同厂家出品、频率不同的同等级CPU,或为不同等级的CPU(例如一为486CPU,一为P5CPU),只要所用的CPU符合某些基本条件即可。

本发明的又一目的是要提供一种利用单处理器芯片升级的多处理器系统,在适应CPU的更新时,可在该系统中直接插入较新等级的CPU组件,这样一来,除了使系统升级外,并仍可保留原有的CPU组件,而将系统同时由单处理器系统转变成多处理器系统。

本发明的再一目的是要提供一种利用单处理器芯片升级的多处理器系统,此系统与公知技术的多处理器系统(例如图2)相比较,具有大为简化的结构。

本发明的结构基本上包含:

单处理器芯片结构,其中包含有第一CPU、多个总线、多个总线间接口、系统控制器及总线控制器;

第二CPU;

第一CPU控制端口;

第二CPU控制端口;

CPU中断向量端口;以及

处理器转换电路。

详细地说,根据本发明的一个方面,本发明的利用单处理器芯片升级的多处理器系统包括:

第一中央处理器单元(CPU);

总线系统,包括CPU总线、局部总线、周边总线与内部周边总线;

总线接口系统,包括CPU-局部总线接口,局部-周边总线接口,周边-内部周边总线接口;

系统控制器,与CPU总线及局部总线沟通;

总线控制器,与局部总线、周边总线及内部周边总线沟通,该总线控制器中包含有共处理器接口、仲裁器及中断控制器,其中当第一CPU产生共处理错误时,该共处理器接口接收由第一CPU而来的共处理器错误信号,并输出忽略错误信号给第一CPU,且该共处理器接口输出信号给该仲裁器,仲裁器输出仲裁所得值给中断控制器,中断控制器根据该仲裁所得值以及由周边总线而来的信号,从而判断是否应送出信号中断第一CPU;

第二或更多个CPU;

处理器转换电路,用以接收由系统控制器而来的信号并分配给所述各CPU之一,以及接收各CPU经CPU总线而来的信号并整合传送给系统控制器;

第一CPU控制端口,包括输入部分与输出部分,输入部分接收由内部周边总线而来的信号,其输出则连接至输出部分以及连接至总线控制器;该输出部分接收由输入部分而来的信号以及由第一CPU而来的处理器误差信号,其输出则连接至内部周边总线;

所述总线控制器中的仲裁器除接收由共处理器接口而来的信号外,尚接收由第一CPU控制端口的输入部分而来的信号,经过仲裁之后,输出所得值给中断控制器;

与该第二或更多CPU相关的第二或更多共处理器接口,与该第二或更多个CPU经第二或更多个CPU的共处理器错误信号线与忽略错误信号线沟通,所述共处理器接口有一中断输出;

第二或更多CPU的中断向量端口,与内部周边总线沟通;

第二或更多CPU的控制端口,与内部周边总线沟通,并有一中断输出;

前述第二或更多共处理器接口的中断输出与第二或更多CPU控制端口的中断输出经或门连接后,输入至对应的第二或更多CPU。

上述结构中,可在CPU总线上加入一个由WEITEK公司出品的共处理器,以增进系统的运算能力。此外,总线控制器中的共处理器接口、仲裁器与中断控制器均可独立分离出来。又,在不设置处理器转换电路的情形下,亦可借助其他安排方式来实施本发明。

本发明的上述及其他目的、特征及优点,可由以下的对较佳实施例的说明以及参阅附图来获得更清楚的概念,附图中:

图1    示出公知的单处理器系统的一例;

图2    示出公知的多处理器系统的一例;

图3    示出本发明的利用单处理器芯片升级的多处理器系统的第一实施例;

图4    示出本发明的利用单处理器芯片升级的多处理器系统的第二实施例;

图5示出本发明的利用单处理器芯片升级的多处理器系统的第三实施例。

较佳实施例的详细说明

以下我们将参照图3-5来说明本发明的较佳实施例。

图3    示出本发明的第一实施例,其中包括有两个CPU11A与11B。系统中,标号12至19、24至26的元件与图1中的相对应元件功能相同,在此便不作赘述。

如前所述,多处理器系统中仅能有一个CPU与系统的I/O直接有关,因此必须为各CPU安排不同的中断方式。本实施例中,为第一CPU11A安排有一个控制端口27(图中下方的虚线方框),此控制端口27与内部周边总线(XD总线)15连接。为了说明方便起见,我们将控制端口27分成输入(27A)与输出(27B)两个部分。当CPU11B要中断CPU11A时,CPU11B便写入控制端口27的输入部分27A中;控制端口27随即送出对第一CPU11A的中断请求信号给总线控制器20。总线控制器20中除如前述地包括有一个共处理器接口21和一个中断控制器22之外,另包括有一个IRQ13仲裁器23,此仲裁器23接收由共处理器接口21与由控制端口27而来的信号,经仲裁判定优先次序后,再送入中断控制器22的第IRQ13号输入端中。中断控制器22于是送出中断命令给CPU11A。CPU11A根据中断控制器22的中断向量(interruptvector)数据,便可得知此一中断是由IRQ13号输入端而来,或是由周边总线(EISA总线)14上的其他中断来源而来。若是由IRQ13号输入端而来,则CPU11A再根据控制端口27的输出部分27B中的共处理器错误输入值24A,便可判定此中断是由CPU11B所发出,或是由自身的共处理器错误所产生。

另一方面,当CPU11A要中断CPU11B时,只要写入CPU11B的控制端口29中;由于除了CPU11B自身的共处理器错误之外,CPU11A是CPU11B的唯一中断来源,因而CPU11B可轻易判断出中断的来源,并执行对应的中断例行程序。

有关两CPU间业务量的分配,则是通过一个处理器转换电路19A来执行。此转换电路19A接收由系统控制器19而来的业务信息,并将其通过CPU总线12而分配给CPU11A或CPU11B。另一方面,两CPU要反馈信息给系统控制器19时,亦是先经由转换电路19A整合后,再传送给系统控制器19。因此,就系统控制器19的观点来看,可以视为仅面对一个CPU而已。

上述结构与公知如图2的多处理器系统相比较,具有如下的优点:(1)减少了各CPU本身的相关CPU总线32、42,以及对应的多处理器接口33、43,因此可大为简化系统的结构;(2)由单处理器系统升级到多处理器系统时,只要加入第二个CPU11B,而不必添购整个CPU电路板;(3)两CPU11A、11B不必为相同厂牌,甚至不必为同等级的CPU,只要两CPU均能配合系统本身的逻辑协议即可。

图4示出本发明的另一个实施例。由于CPU本身的运算能力有某些限制,因此在公知技术的单处理器系统中,曾有人另在CPU总线12上加入一个由WEITEK公司出品的共处理器,以协助CPU处理某些运算。又如图2,在多处理系统中,亦有人加入此种共处理器60A、60B。在图4所示的实施例中,我们也同样提供此一WEITEK共处理器60。WEITEK共处理器的共处理器错误信号线61(61A、61B)与CPU11A的共处理器错误信号线24(24A)经与门连接后,输入IRQ13仲裁器23与第一CPU输2出控制端口27B中,以待有共处理器错误产生时,经前述相似的过程来中断第一CPU11A而予以处理。

图5示出本发明的第三实施例,其中包括有两个CPU311A(P1)与311B(P2)。多处理器系统300包含一个局部总线(Local    Bus)312,具有地址总线312A、数据总线312B及控制总线312C;一个周边总线(EISA    Bus)313,亦具有地址、数据及控制三部分,分别标号为313A、313B及313C。另有一个内部周边总线(XD    Bus)314。在局部总线312和周边总线313之间有一个EISA接口315,由信号351A和信号315B将Local    Bus    312上的312A和312B总线信号转成信号315C和315D至EISA    Bus    313上。在EISA    Bus和XD    Bus间有一XD接口316,可由信号316A将EISA    Bus    313上的数据信号313C转成信号316B和XD    Bus    314沟通。

有一系统控制器(SYSC)317经由信号318和319与Local    Bus上的地址和控制信号312A及312C相连,同时经由信号320和EISA    Bus    313上的控制信号313C相连。另有一总线控制器(BUSC)321,经由信号324与SYSC317沟通,并由信号322和323与EISA    Bus上的地址及控制信号313A和313C连接,同时接受EISA    Bus    313来的中断请求信号326。

如前所述,多处理器系统仅能有一CPU与系统的I/O直接有关,因此处理器P1与P2间必须以中断来沟通。当P2要中断P1时,P2便经由信号331写入一特定的值下命令至P1的控制端口330,此控制端口330即送出信号328至BUSC321,告知欲中断P1。该信号328即与图3中的WINT信号28相同,是IRQ13的来源。BUSC321在接到WINT信号328后便会激励其内部的IRQ13信号,在仲裁器(未画出)判定优先权由IRQ13获得后,BUSC321于是送出中断信号INT1    325给P1。P1根据BUSC321提供的中断向量(Interrup    vector),到指定的地址去执行中断服务例行程序(InterruptService    Routine)。

类似地,若P1要中断P2时,会经由信号333写入一特定的值下命令至P2控制端口332,P2经由信号INT2    334得知有中断来,然后在SYSC    317的控制下,经信号336由P2中断向量端口335读取中断向量,并执行相对应的中断服务例行程序。

P1和P2之间之所有地址和数据以及一部分控制信号均相接在一起再放到Local    Bus    312上。该信号分别为326、327和329。另外P1和P2间的一部分控制信号338和339会先经由一局部总线接口(Local    Bus    Interface)337处理,再成为信号340送至局部总线312上。该接口337会仲裁P1和P2使用局部总线312的权利,并在任一CPU起动存储器周期(memory    cycle)时负责窥探(snoop)的动作。

本系统300中还包含有一个ROM    BIOS    348,以信号349来与XD    Bus    314沟通。一EISA元件350,由信号351、352、353和EISA    Bus上的313A、313B、313C连接。另有一系统存储器(system    memory)341,经信号342而与局部总线上的数据312B沟通,并经信号343来接受SYSC317的控制。还有一个系统高速缓冲存储器(system    cache),由信号345和346与Local    Bus上的地址及数据信号相连,并由信号347接受SYSC    317的控制。

由以上说明相信已可对本发明的内容获得充分的了解。不过应注意的是,上述较佳实施例仅是供说明之用,本发明的保护范围应由权利要求书的范围来确定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号