CN1021147C - 具有共用控制存储器的多处理机控制器 - Google Patents

具有共用控制存储器的多处理机控制器 Download PDF

Info

Publication number
CN1021147C
CN1021147C CN90100762A CN90100762A CN1021147C CN 1021147 C CN1021147 C CN 1021147C CN 90100762 A CN90100762 A CN 90100762A CN 90100762 A CN90100762 A CN 90100762A CN 1021147 C CN1021147 C CN 1021147C
Authority
CN
China
Prior art keywords
mentioned
microprocessor
order
micro
processor
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
Application number
CN90100762A
Other languages
English (en)
Other versions
CN1044720A (zh
Inventor
爱德华·F·格斯森
约翰·W·布雷德利
约瑟夫·P·加德纳
艾尔弗雷德·F·沃托莱托
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Inc
Original Assignee
Bull HN Information Systems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bull HN Information Systems Inc filed Critical Bull HN Information Systems Inc
Publication of CN1044720A publication Critical patent/CN1044720A/zh
Application granted granted Critical
Publication of CN1021147C publication Critical patent/CN1021147C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Microcomputers (AREA)
  • Multi Processors (AREA)
  • Advance Control (AREA)

Abstract

一个联结在一系统母线和外设之间的控制器,至少具有两个微处理机。其中一个微处理机控制同外设的数据传递,另一个控制同系统总线的数据传递。这些微处理机共用一个数据缓冲器和控制存储器。这种共用之所以是可能的,乃是由于具备控制器定时装置,该定时装置同步对控制器共用部件的独占存取。当系统第一次启动时,这些微处理机被用来控制执行将它们指向其一组微指令起点的测试指令。一旦指向了它们的一组微指令,即开始正常运行。

Description

前后相互参照的有关申请。
下列专利申请以同一天提出的紧急申请转让给同一受让人,它们包含相关主题。
题目    发明人    申请号
具有表明数据缓    Edward    F.Getson,Jr.
冲管理页数的外    John    W.Bradleg    &
围控制器    JoSeph    P.Gardner
Alfred    F.Votolato
具有EEPROM固件    Edward    F.Getson,Jr
存储器的控制器    John    W.Bradleg    &
Joseph    P.Gardner
Alfred    F.Votolato
用于限制使用具    George    J.Barlow
有分布式控制存    John    W.Bradley    &
取的异步母线的    Edward    F.Getson,Jr
方法和设备
本发明一般属于数据处理系统,特别地属于用来在数据处理系统 和外围设备之间控制数据传递的外设控制器。
多数现代数据处理系统既执行输入操作,也执行输出操作,例如从一键盘读出或者送数据到一行式打印机。为了工效和分工,在该数据处理系统中,对外设的输入和输出操作通常由外设控制器加以控制。一般的方案是所有这些控制器在系统母线和外设之间起中间媒介作用。
这些外设控制器已经不断地被要求来同时处理来自大量不同外设的事务。而每一个外设可以具有很不相同的操作特性。因此,为了使这些控制器控制大量外设的不同操作特性,现在外设控制器采用具有微程序的微处理机,以适应不同的外设的要求。
在本发明的一个最佳实施例中,一外设控制器至少在一系统母线和外设间具有用于临时储存数据传递的一数据缓冲器。它也可具有两个微处理机,其第一微处理机控制系统母线和数据缓冲器之间的数据转移;而第二微处理机控制数据缓冲器和外设之间的数据转移。此外,一公共控制存储器被联结到上述两个微处理机。该控制存储器包括控制该两个微处理机的第一和第二微指令序列。
在该最佳实施例中,一测试微指令储存在该控制存储器内。当系统加电时,该测试指令使每个微处理机指向其微指令序列的起点。
该控制器具有时钟电路,该时钟电路产生一个被分成多个周期的时钟信号。该时钟信号用来控制微处理机的运行。每一微处理机被指定在一周期的一部分上,在此期间,微处理机可单独地存取控制存储器。在最佳实施例中,该时钟电路还控制微处理机对暂存器的存取,该暂存器用于微处理机的通讯。在最佳实施例中,该时钟电路还起控制占据数据缓冲器的作用。每一个微处理机被指定在一 周期的一部分上,在此期间,它可单独地存取暂存器,并且在一周期的一部分可占据数据缓冲器。所说一周期的部分,可以是,也可以不是微处理机用于寻址该控制存储器所指定的相同部分。
根据以下随附图对本发明更详细地说明,本发明的上述和其它的目的、特征以及优点将会是显而易见的。在附图中,同样标号属于同一元部件。
图1为控制器的方块图。
图2更详细地表示图1控制器的部分。
图3更详细地表示图1控制器的时钟电路。
图4更详细地表示用于处理机间通讯的存储器。
图5表示由时钟电路产生的时钟信号以及微处理机的操作定时。
图6是用来说明初始化序列的定时程序。
图7表示控制存储器的机构,并用来说明初始化序列。
在图1所说明的本发明的最佳实施例中,控制器9控制系统母线2和外设1间的数据传递。该控制器9能够控制来自许多不同型号外设1的数据传递,并被设计成用于控制多至16个数据通道的数据传递,其中两个通道并非由外设使用,这样,该控制器能同时控制多至14个外设。
该控制器的基本部件包括两个微处理机10和12。它们被联结起来,以便彼此间可以通讯,并且允许共用一个控制存储器14。该控制存储器14由一随机存取存储器(RAM)组成,例如日立(Hitachi)6789。它们也被联结起来以便共用暂存器16,以及允许共用数据缓冲器18X和18Y。在该最佳实施例中,该暂存器16由几个随机存取存储器(RAMs)组成,例如日立(Hitachi)6789和6267P-45,而数据缓冲器是一 RAM,例如Hitachi6287。标志为微处理机B的微处理机12控制系统母线2和数据缓冲器18X以及18Y之间的数据传递;而标志为微处理机A的微处理机10控制数据缓冲器18X、18Y和外设1之间的数据传递。这些微处理机10和12的操作由时钟电路38控制。以下将讨论该时钟电路38的细节。
该控制器可适应不同的系统母线和不同的外设。为适应系统母线或外设的变化,新的固件必须装入控制存储器14。一外设接口20联结在微处理机B和外设1之间,它符合小计算机系统(SCSI)接口规范,(ANSI    SPEC.X3.131)。在最佳实施例中,这个接口是一个Western数字3392    SCSI控制器芯片。该外设接口20执行命令、信息、数据,以及状态传递功能。一系列驱动器和接收器3联结到外设接口20,这些驱动器和接收器送信息到外设1或接收来自外设1的信息。同样一接口4提供给系统母线2和控制器的接口。该接口4在上面提及的Barlow等人的申请中作了更充分的描述。
本发明并不局限于两个微处理机,可以使用两个以上的微处理机,但是至少必须使用两个微处理机。然而,使用两个以上的微处理机无论如何将要求改变同步方法。
图2更详细地表示微处理机A的部件,这些部件包括一指令寄存器22A。用于接收由控制存储器14输入的微指令;还包括解码电路28A,用于对输入的微指令解码。解码单元采用TeXaS测试仪74S138和74S139。同样,在微处理机A中具有一定序器24A。在最佳实施例中,该定序器24A是一种先进的微型器件AMD2910A。该定序器24A控制微处理机的执行顺序。在微处理内还包括一ALU(运算单元)单元31A,当由输入的微指令所控制时,该单元执行计算。该ALU单元31A 具有输出寄存器11A,用于在需要输出之前存储其输出。由图2可以看出,微处理机B同样由具有下标B的相同的部件所组成。
图3表示时钟电路38的基本部件,而来自该电路的具体的时钟信号在图5中加以说明。该时钟电路包括一20兆周的时钟91,其输出是时钟信号CLKOSC-00。CLKOSC-00馈送到一反相电路88和一D触发器93。它还用于控制器9的其它部件。
CLKOSC-00馈送到D触发器93的时钟信号。该触发器93的置位和复位输入端都处于高电平。由于置位和复位输入端均为低电平有效,所以在典型的操作期间,触发器不置位或复位。D输入端为触发器93的有补输出端CK10MZ-00,无补输出端是CK10MZ+00。
如上述CLKOSC-00也接至一反相器88,从该反相器88的输出是CLKOSC+00。
D触发器93的CK10MZ+00馈送到另一触发器95。该触发器95属于JK型触发器。CK10MZ+00信号是有补的,并用作JK触发器95的一时钟信号。低电平有效的置位和复位输入端都处于高电平。K输入端也同样处于高电平。J输入端是信号CLKHLT-OX,只在当处于测试方式时,才产生并使用CLKHLT-OX。该信号被用来暂停时钟,而在正常操作期间并不使用。该触发器提供两个输出:CLKSIG+00和它的补码CLKSIG-00,这两个信号都是控制器使用的基本定时信号。
为了馈送到JK触发器95,CK10MZ+00信号馈送到两个与非门(NAND)90和92。在第一个与非门90中,CK10MZ+00同CLKSIG+00共同相与非,输出是CLKSTA-00,并由控制器的其它部件所使用。在另一与非门NAND92中,CLKSIG-00同CK10MZ+00共同相与非,产生CLKSTC-00,同样由控制器的其它部件所使用。
信号CLKOSC+00的补码,对于两个JK触发器96和102而言,起时钟输入作用。JK触发器96具有都处于高电平的J、K和置位输入端,它的复位输入端是CLKSIG-00、该JK触发器96产生两个用于控制器别处的输出:CLKSTB+00以及其补码CLKSTB-00。在另一JK触发器102中,CLKOSC+00用作时钟信号,同样具有其处于高电平的J、K和置位输入端。但复位输入端是不同的。信号是CLKSIG+00,JK触发器的两个输出信号是UPSTB+00和UPSTB-00。
图5表示上述所有信号的相互关系。它们在控制器中的控制操作将在下面详细地加以讨论。
图4表示暂存器16的主要部件。最主要的部件是存储单元30,其它部件包括两个地址寄存器32、34,它们存储来自各微处理机10和12的运算器31A和31B的地址。地址寄存器32和34同多路转接器36一起工作。多路转接器从地址寄存器32和34中的一个选择一个地址。送到存储器单元30的数据输入,以及从存储器单元30输出的数据输出都分别储存在输入寄存器33A和33B以及输出寄存器35A和35B中。
控制存储器14包括用于控制每一个微处理机10和12的微指令组。当其中的一个微指令从控制存储器读出时,该指令在下面将要讨论的时刻被闩锁在指令寄存器22A或22B中,为了便于说明,假定它是被记录在指令寄存器22A中。由指令寄存器22保持的不同的微指令位转到解码电路28A。ALU31A,和/或定序器24A。微指令字段,如它的操作码由解码电路28进行解码。
如果该指令要求存取暂存器16,则在暂存器16中的一个地址由ALU31A进行计算。如果要求存取数据缓冲器18X和18Y,则ALU31A也必须计算一个地址。如前所述,定序器24A用微处理机控制微指令 的执行次序,它确定下一个将被执行的微指令的地址。在经这些部件的处理之后,微指令的执行就完成了,于是,保持在定序器24A中的下一个微指令地址转到控制存储器14中,这样整个周期将重复。
以上对于微处理机10和12中的一个操作的说明仅孤立地对微处理机进行了描述。因为不论是微处理机10还是12,它们都是共用同个控制存储器14和暂存器16,时钟电路同步上述两者,以便每一个处理机对共用的资源14和16都要进行充分地存取。当考虑需要排除昂贵和低效硬件并防止微处理机之间出现矛盾时,本发明允许这样的共用存取。
图5表示用于本发明最佳实施例中的基本定时图。为便于说明,回顾图5所示时钟信号在控制器运行期间如何使用,这将是有帮助的。一个好的起始点就是点55,在该点上,一微指令被记录在微处理机A的指令寄存器22A中。这是使用CLKSIG+00来完成的,只要时钟信号到达指令寄存器22A。如在图5中所能看到的,在CLKSIG+00的高电平部分的前沿处,微指令将被记录在指令寄存器中。指令寄存器22A在实际上至少由三个寄存器22AA,22AB和22AC(图2)组成。每一个寄存器保存三分之一的微指令。
一旦微指令被记录在指令寄存器22A中,微指令二进制位立即被输送到微处理机A的其它单元。因此,在点55到62之间的半个CLKSIG+00周期的时间内,微指令开始执行。如前所述,由指令寄存器22AA,22AB和22AC保持的微指令二进制位输送的地方,由它们代表的字段来确定。这些二进制位输送到解码电路28A,ALU31A,和/或定序器24A。
那些输送到解码电路28A的二进制位在它们被解码之前必须等 待,直到解码电路被启动为止。解码电路28A由若干解码单元28AA,28AB,28AC,28AD和28AE组成,其中每一个单元都具有各自启动它的时钟信号。这样,当微指令二进制位在CLKSIG+00一周期内被解码时,取决于进入具体解码电路的时钟信号。对指令进行解码以便占据或释放数据缓冲器18的解码电路28AA具有CLKSTC-00的补码作为它的一个启动输入信号。结果,只有在时间期间63才能启动解码单元28AA。同样,将指令进行解码以便写入数据缓冲器的解码单元28AB具有CLKSTA-00的补码作为它的一个启动输入信号。只有在时间期间64才能启动它。还要限制解码单元28AC启动的时间期间,该单元将微指令进行解码,以便由微处理机A写入暂存器16。它的一个启动输入信号是补码CLKSTB-00,它只能在时间期间65被启动。同样,解码单元28AE具有补码CLKSTB-00作为它的一个启动输入信号。
如上所述,微指令的二进制位不仅送入解码电路28A,而且还送入ALU31A。这些二进制位用于由ALU31A执行的运算。运算含意取决于已记录在指令寄存器22A中的微指令。ALU31A的输出储存到输出寄存器11A,这些寄存器具有一时钟输入信号OCISTB+00。OCISTB+00为CLKSTB-00的补码和OPCOD1-00的补码相与的结果。OPCOD1-00是由解码单元28AD中的一个所产生的信号。
这里有四种类型的微指令:置位/复位,ALU,测试与转移以及转移。微指令的前两位数告诉人们该微指令是哪种类型的指令。OPCOD1-00是输出信号,它表示该微指令是一种ALU类型的微指令。OPCODO-00表示一种转移微指令;OPCOD2-00表示一种测试与转移微指令;而OPCOD3-00表示一种置位/复位指令。它们都是低电平 有效。这样,对于高电平的OCISTB+00,CLKSTB-00必须是低电平的,以及OPCOD1-00必须是低电平的。
上面还提到二进制位进到定序器24A。该定序器24A,像指令寄存器22A那样,使用CLKSIG+00作为它的时钟信号。在CLKSIG+00信号的上升沿,来自ALU31A以及解码电路28A的字段都记录到定序器24A中,但是不能输出,直到UPRCEN-OA为高电平。UPRCEN-OA是与非门119的输出,该与非门119具有输入信号:CLKSIG-00和UPRCEN+00(一测试信号;在正常运行期间处高电平)。在正常运行期间,UPRCEN-OA受CLKSIG-00的控制。这样,字段将在点55记录到定序器24A。微处理机B具有相应的信号UPRCEN+OB和CLKSIG+00。在正常运行期间UPRCEN+OB处于高电平。UPRCEN-OB是来自具有输入信号CLKSIG+00和UPRCEN+OB的与非门118的输出。在点62之前,定序器24A最后所得到的输出是无效的。在点60,该微指令数据被记录到指令寄存器22A。
由定序器24A产生的地址在点62送到控制存储器的开头部分。该地址在点62开始的半周期内用来检索来自控制存储器14的微指令。该检索到的微指令,在点60之前并不记录到指令寄存器22A。截止到点60,完成执行上述取微指令的程序。在点60,对于微处理机A,周期重新开始。
以上讨论说明,包括在最佳实施例中的同步操作。在点62,微处理机B具有记录在它的指令寄存器22B内的微指令。它重复以上对微处理机A所描述的步骤,但是微处理机B运行在同微处理机A异相的CLKSIG+00的半周期。微处理机间定时差异可以从对每一个微处理机的时钟信号上看出来。开始时,到微处理机B的指令寄存器的 时钟信号为CLKSIG-00,进而,解码单元利用不同的时钟电路。负责用于对要求暂存器存取的微指令进行解码的解码单元28BC和28BE用UPSTB-00补码作为它们的时钟信号。对微指令进行解码,以便释放或占所据数据缓冲器18X和18Y的解码电路28BA,用CLKSTA-00的补码作为它的时钟信号。此外,对指令进行解码,以便写入数据缓冲器的解码单元28BB,用CLKSTC-00的补码为它的时钟输入。
由于这些时钟信号作用的结果,在时间期间67,对于在点58和62之间的CLKSIG-00的一段时间,数据缓冲器只可以被微处理机B占据或释放。同样,由微处理机B写入暂存器被限制在时间期间66,而写入数据缓冲器被限制在时间期间68。同步电路既允许微处理机10,也允许微处理机12充分地共用暂存器16,控制存储器14,以及数据缓冲器18X和18Y而不出现矛盾。
每一个微处理机10和12的定序器24A和24B也依赖不同的时钟信号。如前所术,CLKSIG+00是用于定序器24B的时钟信号。此外,定序器24A依靠CLKSIG-00作为它的输出允许。另一方面,定序器24B依靠CLKSIG+00作为它的输出允许。
当检查了微处理机的字段在何处送到指令寄存器22A之后,有必要进一步观察解码电路28A的输出。如果要求数据缓冲器占据或释放的一微指令被解码,则解码单元适当的输出被转到在程序阵列逻辑(PLA)中实现的占据逻辑19。在最佳实施例中,使用PAL20R4A和PAL20L8A芯片。占据逻辑19确定一数据缓冲器是否被微处理机10和12中的一个所占据。PAL19联到多路转接器27和29。这些多路转接器用于选择地址寄存器23和25的一个地址。它们由信号CLKSIG+11定时,该信号通过一反相器120由取补CLKSIG+00得到的。然而, 数据缓冲器18X和18Y不是本发明的中心点。这样,在有关的具有页式数据缓冲管理的外设控制器的申请中将对数据缓冲器和占据逻辑作更为详尽地说明。
如果由解码电路28A解码的微指令试图存取暂存器16,该解码电路28A的适当的信号将送到该暂存器16。有两个信号是特别感兴趣的:SPMIDA-00和SRIA02-00。信号SPMIDA-00来自解码器28AC,并指示要求一个指令,以便使保持在暂存器地址寄存器32中的地址为增量地址。信号SRIA02-00指示该暂存器地址寄存器32用微指令的AOP字段加载。该AOP字段由微指令的第7到第10位组成。这两个信号特别有趣,是因为它们的补码相或产生SPMCLK+00。SPMCLK+00用作地址寄存器32的输入时钟信号。
在暂存器16中存取的地址由ALU31A进行运算,运算后的地址在SPMCLK+00的高电平部分的前沿记入暂存器地址寄存器32。但是在多路转接器36选择那个地址寄存器32之前,该地址是不使用的。它选择哪一个地址寄存器,这将取决于CLKSIG+00的状态。如果CLKSIG+00是高电平,则多路转换器将选择地址寄存器32,相反,如果CLKSIG+00是低电平,将选择地址寄存器34。这样,在接着半周期的半周期时间里,地址装入地址寄存器32和34之前,多路转接器36不作选择。例如,在62和60之间的半个周期期间,地址寄存器32会接受一个地址。但是直到紧接60的半周期为止,在存储单元30中由地址表示的存储器位置不能加以存取。一旦进行选择,在地址寄存器中的地址被用于存取存储单元30。
所有对存储单元30的输入均储存在输入寄存器33A和33B中。寄存器33A储存微处理机A的输入,而33B储存微处理机B的输入。输入 寄存器33A和33B的时钟信号总是处于高电平,因此,它们的同步由它们的输出启动控制。它们的输出分别由SPMWEN-OA的补码和SPMWEN-OB的补码启动。SPMWEN-OA和SPMWEN-OB取自多路转接器121。如果CLKSIG+00为高电平,和SPMWRT-OA为高电平,则SPMWEN-OA为低电平,并且启动输出来自输入寄存器33A。同样,如果CLKSIG-00为低电平,而SPMWRT-OB为高电平,则SPMWEN-OB为低电平,并且启动输出来自输入寄存器33B,输出被储存在输出寄存器35A和35B中。35A储存用于微处理机A的输出,而35B储存用于微处理机B的输出。输出寄存器35A用CLKSIG+00作为它的时钟信号,而输出寄存器35B用CLKSIG-00作为它的时钟信号,这样,两个输出寄存器35A和35B是半个周期异相。
为了说明,以上讨论集中在微处理机A。应当指出,微处理机B的运行是类同的。两个微处理机10和12之间的差别在于控制它们运行的定时信号。在多数场合中,对于在讨论微处理机A时的每一个信号,对微处理机B存在相应的信号。以上对主要相应信号已作出讨论。
以上对定时的说明乃是为了直观的解说目的。微处理机A和微处理B能够以不同于所描述的方案进行同步(即微处理机A和微处理机B,在当它们执行给定任务时能够交换次序(Swap    times))。再者,若使用两个以上的微处理机,则不得不改变定时。例如使用三个微处理机,则一个周期将分成三个部分,而在各自的时间期间内,每一部分执行自己的操作。这些变化也包括在本发明之内。
为了利用本发明的控制存储器14,它必须首先作操作准备。准备工作包括把测试微指令装入控制存储器14的初始位置50(见图7)。 每一个微处理机10和12的微指令组52和54也分别装入控制存储器14。它们可以组织成像图7那样的结构形式,或者也可组织成别的形式。如果有这种要求的话。当微处理机10和12开始运行时,它们被指向储存测试微指令的初始位置50。
该测试微指令包括测试与转移型的微指令。测试微指令测试微处理机执行的测试微指令的全同性。测试微指令了解微处理机中的一个微处理机的全同性。例如,假定它了解微处理机A的全同性,它用已知的全同性来比较执行测试微指令的微处理机的全同性。如果同一性与已知的同一性相符,则产生转移。因此,当执行测试微指令时,其同一性与已知的同一性相符的微处理机A将转移到它的微指令组52的起点。相反,当微处理机B执行测试微指令时,同一性不符合,因此,它就不能转移。按顺序的下一个微指令:微处理机B的一组微指令54的起点将被取出。
图6表示定时处理过程,在点5,测试指令记录到微处理机A,在紧接点5的半个周期期间,按测试指令开始执行指令。在点6,测试微指令记录到微处理机B,在紧接点6的半个周期期间,微处理机A将转移。微处理机B开始执行测试指令。在点7,用于微处理机A的一组微指令52的第一个微指令将记录到微处理机A。对于微处理机A的处理在前面已加以描述。在紧接点7的半周期期间,微处理机B将完成测试指令的执行,并且在点8装入一组微指令54的第一个指令。在点8之后,对于微处理机B的处理在前面已加以描述。
本发明提供了若干优点,这些优点改善了系统性能而优于现有技术。首先它不要求昂贵和累赘的硬件去同步微处理机,其次它比现有技术的效率高,因为它共用数据缓冲器,暂存器和一个控制存 储器。这里并不需要单独的数据缓冲器,暂存器,而特别是不需要单独的用于每一个微处理机的控制存储器。第三,提供了同步,伪的或视在的同时读/写能力。所有这些都是优点。应当理解的是,这些例举的优点并不是详尽无遗的。
当对照一最佳实施例具体地指明并描述了本发明的时候,本专业技术人员将理解在不超出由附加权利要求所限制的本发明的精神和范围内可以做出形式和细节上的不同的改变。

Claims (4)

1、一个用于在与之相连的第一单元(2)和第二单元(3)之间传输数据的控制器,其中上述控制器包括第一处理器(12)和第二处理器(10)以及数据缓冲器(18,19);上述第一处理器控制上述第一单元与上述缓冲器之间的数据传输,上述第二处理器控制上述第二单元与上述缓冲器之间的数据传输,上述控制器的特征在于包括:
一个计时部件(38)用于产生一个周期时钟信号,上述时钟信号的周期包括间隔基本上相同的第一和第二半周期,并且向上述第一和第二处理器提供上述时钟信号;
一个与上述二个处理器相连的一个控制存储器(14),上述控制存储器存储用于控制上述第一处理器微指令的第一组(54)和用于控制上述第二处理器的微指令的第二组(52),每个上述组对于控制由各自处理器执行的特殊功能来说是唯一的;
上述第一处理器由上述时钟信号的上述第一半周期同步以存取上述控制存储器,以在上述第一半周期期间获得微指令;
上述第二处理器由上述时钟信号的上述第二半周期同步,以存取上述控制存储器以在上棕第二半周期期间获得微指令。
2、根据权利要求1的控制器,进一步的特征在于在上述各半周期中,处理器存取上述控制存储器,每一处理器只存取其各自的微指令组。
3、根据权利要求1的控制器,进一步的特征在于从上述第一和第二单元接收的数据暂时存储于上述数据缓冲器,其中上述处理器与上述缓冲器连接以控制这样接收的数据写入缓冲器,以及上述处理器由上述第一和第二半周期同步,只在各自上述半周期之一期间内存取上述缓冲器。
4、一种同步控制器部件的方法,该控制器包括有缓冲器、第一第二微处理器、定时装置及控制存储器,控制数据在一数据处理系统总线和外设之间的传递,包括步骤:
a.用定时装置把时间分成多个周期;
b.在一周期的第一部分的起点,由第一微处理器从控制存储器取出一个指令;
c.在所说周期的所说第一部分期间,
由第一微处理器开始执行其取出的微指令;以及
由第二微处理器完成执行其先前取出的微指令;
d.在所说的周期第二部分的起点,由第二微处理器从控制存储器取出指令;
e.在所说周期的第二部分期间,由第二微处理器开始执行其取出的微指令;以及
f.重复上述步骤b-e。
CN90100762A 1989-01-10 1990-01-10 具有共用控制存储器的多处理机控制器 Expired - Fee Related CN1021147C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/295,629 US5081609A (en) 1989-01-10 1989-01-10 Multiprocessor controller having time shared control store
US07/295,629 1989-01-10

Publications (2)

Publication Number Publication Date
CN1044720A CN1044720A (zh) 1990-08-15
CN1021147C true CN1021147C (zh) 1993-06-09

Family

ID=23138542

Family Applications (1)

Application Number Title Priority Date Filing Date
CN90100762A Expired - Fee Related CN1021147C (zh) 1989-01-10 1990-01-10 具有共用控制存储器的多处理机控制器

Country Status (9)

Country Link
US (1) US5081609A (zh)
EP (1) EP0378071B1 (zh)
JP (1) JPH02226457A (zh)
KR (1) KR940011594B1 (zh)
CN (1) CN1021147C (zh)
AU (1) AU622748B2 (zh)
CA (1) CA2007004C (zh)
DE (1) DE69032511T2 (zh)
NO (1) NO900093L (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5347638A (en) * 1991-04-15 1994-09-13 Seagate Technology, Inc. Method and apparatus for reloading microinstruction code to a SCSI sequencer
NL9301129A (nl) * 1993-06-29 1995-01-16 Nederland Ptt Processorcircuit omvattende een eerste processor, en systeem omvattende het processorcircuit en een tweede processor.
US9513744B2 (en) * 1994-08-15 2016-12-06 Apple Inc. Control systems employing novel physical controls and touch screens
US5564027A (en) * 1995-04-20 1996-10-08 International Business Machines Corporation Low latency cadence selectable interface for data transfers between busses of differing frequencies
KR960043938A (ko) * 1995-05-27 1996-12-23 김광호 멀티프로세서 제어시스템의 단위 프로그램에 대한 메세지 과부하 제어방법
US20090273574A1 (en) 1995-06-29 2009-11-05 Pryor Timothy R Programmable tactile touch screen displays and man-machine interfaces for improved vehicle instrumentation and telematics
US5644174A (en) * 1996-03-22 1997-07-01 Sun Microsystems, Inc. Universal AC sequencer for a server
CA2299550A1 (en) * 1999-03-31 2000-09-30 International Business Machines Corporation Dynamic i/o allocation in a partitioned computer system
CN100440193C (zh) * 2002-12-05 2008-12-03 亮标公司 数据处理系统的引擎装置以及相应的数据处理系统和方法
US20080129707A1 (en) * 2004-07-27 2008-06-05 Pryor Timothy R Method and apparatus employing multi-functional controls and displays
US20100231506A1 (en) * 2004-09-07 2010-09-16 Timothy Pryor Control of appliances, kitchen and home
US20120151153A1 (en) * 2009-07-03 2012-06-14 Axel JANTSCH Programmable Controller

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3500466A (en) * 1967-09-11 1970-03-10 Honeywell Inc Communication multiplexing apparatus
US3651482A (en) * 1968-04-03 1972-03-21 Honeywell Inc Interlocking data subprocessors
IT991096B (it) * 1973-07-10 1975-07-30 Honeywell Inf Systems Calcolatore elettronico con reti funzionali indipendenti per l esecuzione simultanea di opera zioni diverse sugli stessi dati
JPS5410219B2 (zh) * 1973-12-07 1979-05-02
US3909799A (en) * 1973-12-18 1975-09-30 Honeywell Inf Systems Microprogrammable peripheral processing system
JPS5194734A (en) * 1975-02-19 1976-08-19 Tajushorisochino enzanseigyohoshiki
US4028668A (en) * 1975-12-22 1977-06-07 Honeywell Information Systems, Inc. Apparatus for selectively addressing sections and locations in a device controller's memory
US4124888A (en) * 1975-12-24 1978-11-07 Computer Automation, Inc. Peripheral-unit controller apparatus
US4084229A (en) * 1975-12-29 1978-04-11 Honeywell Information Systems Inc. Control store system and method for storing selectively microinstructions and scratchpad information
US4062058A (en) * 1976-02-13 1977-12-06 The United States Of America As Represented By The Secretary Of The Navy Next address subprocessor
US4156925A (en) * 1976-04-30 1979-05-29 International Business Machines Corporation Overlapped and interleaved control store with address modifiers
US4050097A (en) * 1976-09-27 1977-09-20 Honeywell Information Systems, Inc. Synchronization technique for data transfers over an asynchronous common bus network coupling data processing apparatus
US4085450A (en) * 1976-12-29 1978-04-18 Burroughs Corporation Performance invarient execution unit for non-communicative instructions
US4296464A (en) * 1977-03-03 1981-10-20 Honeywell Inc. Process control system with local microprocessor control means
JPS5440537A (en) * 1977-09-07 1979-03-30 Hitachi Ltd Pipeline control system
US4246637A (en) * 1978-06-26 1981-01-20 International Business Machines Corporation Data processor input/output controller
US4321665A (en) * 1979-01-31 1982-03-23 Honeywell Information Systems Inc. Data processing system having centralized data alignment for I/O controllers
US4327408A (en) * 1979-04-17 1982-04-27 Data General Corporation Controller device with diagnostic capability for use in interfacing a central processing unit with a peripheral storage device
US4371932A (en) * 1979-07-30 1983-02-01 International Business Machines Corp. I/O Controller for transferring data between a host processor and multiple I/O units
US4322792A (en) * 1979-12-14 1982-03-30 Burroughs Corporation Common front-end control for a peripheral controller connected to a computer
US4348723A (en) * 1980-04-15 1982-09-07 Honeywell Information Systems Inc. Control store test selection logic for a data processing system
US4323967A (en) * 1980-04-15 1982-04-06 Honeywell Information Systems Inc. Local bus interface for controlling information transfers between units in a central subsystem
US4488231A (en) * 1980-09-29 1984-12-11 Honeywell Information Systems Inc. Communication multiplexer having dual microprocessors
US4384285A (en) * 1981-02-19 1983-05-17 Honeywell Information Systems Inc. Data character video display system with visual attributes
US4603400A (en) * 1982-09-30 1986-07-29 Pitney Bowes Inc. Mailing system interface interprocessor communications channel
WO1984003192A1 (en) * 1983-02-07 1984-08-16 American Telephone & Telegraph Data network interface
JPS60122450A (ja) * 1983-12-05 1985-06-29 Hitachi Ltd マイクロ・プロセッサ
US4695943A (en) * 1984-09-27 1987-09-22 Honeywell Information Systems Inc. Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization
US4800523A (en) * 1985-02-25 1989-01-24 Itt Corporation Device interface controller having device specific and device common instructions separately stored
US4750113A (en) * 1985-02-28 1988-06-07 Unisys Corporation Dual function I/O controller
US4754396A (en) * 1986-03-28 1988-06-28 Tandem Computers Incorporated Overlapped control store
US5010476A (en) * 1986-06-20 1991-04-23 International Business Machines Corporation Time multiplexed system for tightly coupling pipelined processors to separate shared instruction and data storage units
US4890218A (en) * 1986-07-02 1989-12-26 Raytheon Company Variable length instruction decoding apparatus having cross coupled first and second microengines
JPS63228250A (ja) * 1987-03-17 1988-09-22 Fujitsu Ltd 入出力制御装置
US4821170A (en) * 1987-04-17 1989-04-11 Tandem Computers Incorporated Input/output system for multiprocessors
US4890225A (en) * 1988-04-01 1989-12-26 Digital Equipment Corporation Method and apparatus for branching on the previous state in an interleaved computer program
US5117387A (en) * 1988-08-18 1992-05-26 Delco Electronics Corporation Microprogrammed timer processor

Also Published As

Publication number Publication date
CN1044720A (zh) 1990-08-15
CA2007004A1 (en) 1990-07-10
JPH02226457A (ja) 1990-09-10
EP0378071B1 (en) 1998-07-29
CA2007004C (en) 1994-06-07
US5081609A (en) 1992-01-14
EP0378071A2 (en) 1990-07-18
KR900012156A (ko) 1990-08-03
EP0378071A3 (en) 1991-08-28
DE69032511T2 (de) 1999-04-29
DE69032511D1 (de) 1998-09-03
AU622748B2 (en) 1992-04-16
AU4772290A (en) 1990-07-19
NO900093L (no) 1990-07-11
NO900093D0 (no) 1990-01-09
KR940011594B1 (ko) 1994-12-22

Similar Documents

Publication Publication Date Title
US5809288A (en) Synchronized MIMD multi-processing system and method inhibiting instruction fetch on memory access stall
US5606520A (en) Address generator with controllable modulo power of two addressing capability
US5459843A (en) RISC-type pipeline processor having N slower execution units operating in parallel interleaved and phase offset manner with a faster fetch unit and a faster decoder
US5522083A (en) Reconfigurable multi-processor operating in SIMD mode with one processor fetching instructions for use by remaining processors
US5768609A (en) Reduced area of crossbar and method of operation
US5664214A (en) Parallel processing computer containing a multiple instruction stream processing architecture
US3573852A (en) Variable time slot assignment of virtual processors
CN1021147C (zh) 具有共用控制存储器的多处理机控制器
US3760369A (en) Distributed microprogram control in an information handling system
US3573851A (en) Memory buffer for vector streaming
EP0102242A2 (en) Data processing apparatus
GB2122781A (en) Multimicroprocessor systems
EP0515165A1 (en) A Memory access device
Kartashev et al. A multicomputer system with dynamic architecture
JPS6315608B2 (zh)
JPH05205005A (ja) ロジック・シミュレーション・マシン用ホスト・インタフェース
WO1988003292A1 (en) Data alignment system
JPS6319854Y2 (zh)
US4947369A (en) Microword generation mechanism utilizing a separate branch decision programmable logic array
EP0114194B1 (en) Microword generation mechanism utilizing a separate branch decision programmable logic array
EP0242003A2 (en) Processor internal bus control
CN1174317C (zh) 访问存储器的方法
SU1070557A1 (ru) Микропрограммный процессор
JPS5924364A (ja) プロセス同期回路
JPH09305530A (ja) Dmaコントローラ

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