具有带式随机存取存储器和地址发生器装置的单指令多数据单元阵列处理机.pdf

上传人:1****2 文档编号:994750 上传时间:2018-03-24 格式:PDF 页数:159 大小:5.49MB
返回 下载 相关 举报
摘要
申请专利号:

CN86107558

申请日:

1986.12.09

公开号:

CN86107558A

公开日:

1987.06.17

当前法律状态:

撤回

有效性:

无权

法律详情:

||||||公开

IPC分类号:

G06F15/16

主分类号:

G06F15/16

申请人:

国际标准电气有限公司

发明人:

史蒂文·格雷戈里·莫顿

地址:

美国纽约州10022

优先权:

1985.12.12 美国 808314

专利代理机构:

上海专利事务所

代理人:

吴淑芳

PDF下载: PDF下载
内容摘要

一种单元阵列处理机,由至少两个并行处理机构成地址发生器,可对阵列芯片外的大量存储器编地址,并对本身产生一个地址,以便与每个处理机联系的动态随机存取存储器使用该地址发生器的号码,可减少地址译码逻辑线路的数量和存储器的功耗。内部宽度为256位宽的存储器为16个16位处理机提供256位数据,并与其合在一块芯片上,可省去大量引线。处理单元包括数据处理单元和地址处理单元,具有互换性,可提高仪器的成品率和可靠性。

权利要求书

1: 一种应用排列成由行和列组成的矩阵的许多处理机的这类单元阵列,其特征在于,在上述阵列里的每一个处理机能与在水平方向和垂直方向的左、右、上、下的其它处理机连通,以完成算述运算,其改进措施包括: 排列在一行里的上述许多处理机中至少有两个上述处理机在上述行里操作而形成地址信息,并且 分立的存储器装置,每一个上述分立的存储器装置耦合到位于上述行里的上述两个处理机,以接收所产生的上述的地址信息。
2: 按照权利要求1所述的单元阵列,其特征在于,每一个上述分立的存储器是一个动态随机存取存储器(DRAM)。
3: 按照权利要求1所述的单元阵列,其特征在于,上述至少两个处理机在上述行里是相邻的。
4: 按照权利要求1所述的单元阵列,其特征在于在上述行里的上述处理机连接到存放一给定位数的共用总线上,连同一个地址译码器装置耦合到上述总线,以使上述两个处理机能经由上述总线耦合到上述译码器上,从而选择位于上述行里的任何其它处理机。
5: 按权利要求4所述的单元阵列,其特征在于,上述地址译码器装置包括一个耦合到与各个处理机联系的上述存储器装置的行译码器,通过使用一个比上述给定的数小的第一个位数来选择上述存储器装置。
6: 按权利要求5所述的单元阵列,其特征在于,上述地址译码器装置包括一个耦合到上述存储器装置的列译码器并操作,通过使用一个比上述给定的数小的第二个位数在纵列里选择一个处理机。
7: 按照权利要求1所述的单元阵列,其特征在于,每一个处理机包括逻辑装置,在里面存储地址数据,用以确定在上述行里的哪一个 处理机被选出来,以提供上述地址形成。
8: 按照权利要求7所述的单元阵列,其特征在于,在上述行里上述许多处理机中任何两个能选出来以形成上述地址,与在上述行里的处理机一起工作,提供算术运算。
9: 按照权利要求7所述的单元阵列,其特征在于,上述逻辑装置包括一个多端口随机存取存储器(RAM)。
10: 按照权利要求4所述的单元阵列,其特征在于,它还包括耦合到上述总线、用以将数据传输到上述地址形成处理机的装置。
11: 按照权利要求1所述的单元阵列,其特征在于,上述每一个处理机是一个16位处理机。
12: 按照权利要求4所述的单元阵列,其特征在于,上述公用总线存放32位数据。
13: 按照权利要求4所述的单元阵列,其特征在于,以第一个给定位数的操作来确定一个行地址,并以第二个给定位数的操作确定一个列地址。
14: 按照权利要求13所述的单元阵列,其特征在于,上述第一个和第二个给定的位数是8。

说明书


下列美国专利及申请案包含的主题与揭示一般地涉及相联阵列处理机或单元阵列处理机的内容有关。

    参见美国专利4546428号,标题为“具有卧式多路转换器的相联阵列”,发表在1985年10月8日,作者S·G·莫顿,已转让给这里的受让人。

    参见美国专利4507748号,标题为“具有可变长度快速培增能力的相联处理机”,发表在1985年3月26日,已转让给这里的受让人。

    参见美国专利4536855号,标题为“快速进位传送的阻抗恢复”由S·G·莫顿在1985年8月20日发表,已转让给这里的受让人。

    参见由S·G·莫顿等人在1983年3月8日递交的序列号为473362的申请案,标题为“具有动态配位功能的相联阵列”,它已转让给这里的受让人。

    参见由S·G·莫顿在1983年3月8日递交的序列号为473362的申请案,标题为“具有五个运算通路的相联阵列”,它已转让给这里的受让人。

    参见由S·G·莫顿在1985年11月13日递交的序列号为799718的申请案,标题为“具有内部单元控制和处理的阵列重构”,它已转让给这里的受让人。

    参见由S·G·莫顿在1985年12月2日递交的序列号为803364的申请案,标题为“用于单元阵列处理机的地址发生器”,它已转让给这里的受让人。

    参见由S·G·莫顿在1985年10月2日递交的序列号为782850的申请案,标题为“一种特别适宜于与超大规模集成电路一起使用的阵列重组装置和方法”,它已转让给这里的受让人。

    参见由S·G·莫顿在与此同一天递交的题为“应用动态重组的矢量位片的单指令多数据单元阵列处理装置”的申请案,它已转让给这里的受让人。

    参见由S·G·莫顿在与此同一天递交的题为“应用与数据总线耦合的多重状态逻辑的单指令多数据单元阵列处理装置”的申请案,它已转让给这里的受让人。

    参见由S·G·莫顿在与此同一天递交的题为“具有可变嵌套深度矢量处理机控制结构的单指令多数据单元阵列处理装置”的申请案,已转让给这里的受让人。

    参见由S·G·莫顿在与此同一天递交的题为“用于可动态重组单元阵列处理机芯片的制造测试数据存储装置”的申请案,它已转让给这里的受让人。

    参见由S·G·莫顿在与此同一天递交的题为“用于单元阵列处理机的双线/三口随机存取存储器”的申请案,它已转让给这里的受让人。

    参见由S·G·莫顿在与此同一天递交的题为“单元阵列处理机芯片的测试方法和装置”的申请案,它已转让给这里的受让人。发明背景

    本发明一般地涉及阵列处理机,特别是涉及一种具有高度并行,及带有单指令多数据(S    IMD)结构的高度规则设计的单元阵列处理机。在当前的技术状况下,人们对相联处理机或阵列处理机已经作了广泛的研究,通常,这样一种处理机是由排列成矩阵形式的独立处理单元构成的复合体。这种处理单元的组合能够编程序从而可以解决复杂的数学问题,在涉及各种形式的这类处理机的文献中,已经有了许多出色的论文。

    例如,可参考1985年6月发表在《IEEE计算机杂志》上的一篇论文,题为《多重处理技术》。吴传连(Chuan-Lian    Wu)著,另一篇论文发表在《高技术》杂志1985年7月20~28页上,题为《并行处理进入商业界》E·J·勒奈著。

    这些能够执行和求解各种复杂的问题的处理机附带有许多独特的特征和要求,目前许多处理机使用单指令、单数据体系结构,这一特殊的体系结构很适用于规则应用的场合,它不可避免地高度结构化,并可形成不同规模而不需要附加很多费用。

    关于上述结构,单指令多数据体系结构是高度规则化的,数据部件被整块处理,当每个数据的计算要求比较一致时,输入数据量极大,要求的响应时间可非常短和严。在单指令多数据机中既有阵列处理机,也有单元阵列处理机。阵列处理机通常具有高性能的运算元件流水线,而几乎没有并行性,并对数据组作运算。

    单元阵列处理机是高度并行的,它具有一个处理机阵列,其中每一处理机对一数据组作运算,处理机的这种多重性完全得益于高度结构化的超大规模集成电路设计。特别是当它被下面所要描述的容错技术加以扩展时。

    如前所述,现有技术中已经提供了各种类型的阵列处理机。然而毕竟只有少量的单元阵列处理机。一种这样的装置由Good    Year制造并标志为MPP。见《IEEE计算机学会》杂志,1980年80页至85页上发表的K·E·Butcher所著的题为《大规模并行处理机的设计》一文。这篇论文叙述了一种单元阵列处理机。

    这类处理机对数据流进行存储和处理。上述处理机设计成以位串行、字并行的方式工作。每个字一位接一位地存入一系列的存储单元。总之,在这种结构里存在许多问题,增加运算时间。因此在本申请里所描述的处理机是以位并行,字并行的方式工作,因此,在存储器寻址方面具有更大的灵活性,并允许以简单而有效的方式编制同样的程序。

    根据本发明,所述的阵列芯片可以在单元阵列型高度并行处理机中用作一模块,根据本发明的处理机使用一单指令多数据结构,在这种结构里需要大量的算术逻辑单元和存储器,以便由单指令流对多数据流进行并行运算,这种系统需要大量完全相同的处理部件。

    这些处理部件必须紧密地互相连结,以便相互间灵活地传送数据。另外,必须设置一个高速输入/输出数据的装置,以使处理部件能得到充分而有效的使用。

    这样,如下面将叙述的那样,这一体系结构以一种非常有效的方式利用处理部件,因而使其不致长期处于闲置状态。

    本发明的目的之一在于使能够集积到一块集成电路板上的处理部件达到最大数目。

    本发明的另一个目的在于使每个处理部件的效能达到最大。

    本发明还有一个目的在于为同一芯片上的处理部件提供局部存储器,这样在芯片外得到数据不会受到延迟。

    正如下面将说明的那样,高速输入/输出系统设置得允许将新数据移进移出芯片上的存储器,下面将看到,一种典型的系统是在一块单个的阵列芯片上使用二十个16位处理机单元,该芯片上具有使用者可用的256K位动态随机存取存储器(DRAM),处理机单元的数目和DRAM的容量都是较随意的。

    最佳实施例要求在一块芯片上至少具有18个16位处理器加上两个备用的处理器,采用16位处理器是为了最大限度地提高单精度操作和双精度操作的浮点运算效能,指数包括在每个字最有效的16位里,这一系统应用动态容错技术对阵列配置实现软件控制,一块芯片上任何数量的处理单元可以同时工作以增加字长,尽管典型的配置可是16个16位处理机,或8个32位处理机,或4个64位处理机。

    此外,处理机两两结合而形成地址,这些地址用来定义芯片上的存储器地址阵列片外的数据地址,当阵列芯片外的数据被定义地址时,芯片的主存储器总线以分时多路方式工作,其中要求一系列的存储器周期对插件板上阵列芯片的所有单元提供数据,因而这种分时多路方式显著地增加了对所有单元取数所需的时间,在这种机器上程序设计的目的正是尽量减少对这种存储器存取数。

    芯片上两个备用的处理部件可以用来克服制造上的缺陷,并显著地增加可以经济地安置在一块芯片上的处理机的数量。而且,该措施改善了系统的性能并减小了系统的尺寸,因为它使得大量的处理机能够同时位于单块芯片上,而不是位于多个芯片上。

    因为连结到芯片上的许多引线为芯片上的所有处理单元所共用,那么如果在一块芯片上具有一单个32位带有存储器的处理机及存储器,则为了提供与前一块芯片同样的连接,就必须在每一块芯片上重复同样的总线连接和指令连接,这样,至少需要八块芯片,而不是单块芯片,每块具有大约100条引线以完成同样的操作功能。

    因此,本装置的另一个目的在于利用大量非常廉价的处理机最大限度地提高效能,其中每个处理机装备一千字左右的适中的存储器。不过,它还不同程度地取决于随机存取存储器(RAM)制造能力的现状,可以采用静态或动态RAM类型。因此,本发明的又一个目的是尽可能地减小引线数、减小功耗和幅射噪声,为了达到这些目的,下面将叙述2∶4电平转换器,这种2∶4电平转换器能够减少器件的引线数目,并从而减小封装尺寸和成本。

    此外,通过应用这种转换器,现在可以使用一种称为2/3/4总线体系结构的技术,这一体系结构以其多达四条的独立总线提供多路信号,其做法是设法在最少数目的引线上传输最大量的数据。这些引线是与紧密地定位的各芯片连接的,即,这一技术适用于单独的一块电路板上,而不是用于跨接多个电路板。

    就具有一单块线路板来说,事实上这些不同的芯片似乎是位于同一块圆片上的,在圆片上设计了一种专用的信号设置型式,这一信号设置型式在一条信号引线上设置两个数据位。在常规的接口电平下,如晶体管-晶体管逻辑(TTL)电路,在一根特定的引线上设置逻辑0或逻辑1。在下述的技术中,在一根信号引线上设置四个电平,例如逻辑00,逻辑01,逻辑10和逻辑11。基本上是由一个2位数一模转换器在引线上设置信息。同样,由一个2位模-数转换器从引线上接收信息。数一模转换器是以这种方式设计的,通过采用多个电源引线,每一根对应一个电压电平,而没有模拟电路,使得所消耗的功率减至最小。这一系统的抗干扰度在不必对付底板噪声的紧密排列的场合下是绰绰有余的。

    四种电平信号是准备用作同种芯片之间的通信,对于不同的芯片之间通信,需要一个2∶4电平转换器缓冲芯片。在一根引线上设置四个逻辑电平的另一种优点是可以减小所产生的噪声,因为平均电压变化是电源电压的一半,不象在常规的互补金属-氧化物-半导体(CMOS)芯片里那样等于电源电压,同时,还能进一步减小驱动引线所必需的功率。因相对于大容量引线来说,其能量消耗与线路电容同电压平方的乘积成正比。这样,电压摆幅减半,功耗就减小。

    置有少量二态总线或大量四态总线的芯片还提供一个相容机构。此外,比其它总线都窄的高速输入/输出总线是以这样一种方式控制,即在两种电平的时刻可用作字节,或在四种电平的时刻用作16位字,这样可以折衷选择作为总线带宽函数的接口电平,而每秒提供的转换数则是相同的。

    通过提供四种电平,而不是通过时钟频率倍增而位数减半的办法使这些总线的时钟频率减至最小,由于在较高时钟频率的多个芯片间有时钟歪斜的问题,增大时钟频率还会显著增加驱动总体所需的功率。此外,为提供倍频时钟所要求的极短的响应时间,驱动元件的尺寸还须做得更大。

    这样,为了进一步改进单元阵列处理机的工作性能和为其提供一种简单的系统结构,在此显示了包括在本说明书中的各种技术,这些技术将作详细叙述。这些技术能够提供上述所希望有的优点,并因而改进处理机的工作以及降低成本。

    本发明的一个特点是在一单块集成电路芯片上设置处理部件,用软件控制这些处理部件以克服制造上的缺陷从而结合在一起而形成不同长度的字。以及取代那些在处理机寿命期间失效的单元,因而延长机器的有效寿命。

    这些单元通过分时多路总线与外部存储器连通。总线宽度为32位,每一单元同时连至总线的上下两部分。随着写入单元内的配置位的不同,根据置于单元内的有效位数来决定这一单元是连通总线的上半部分或是下半部分。因而,这些单元在每一芯片供给了20个这样的单元而其中4个作为备用部分的情况下这些单元形成长度自16位至256位不等的字。

    下面叙述所应用的另一种技术,将大量的DRAM结合在一块芯片插板上,正如下面将要说明的,本发明的关键之处在于两个16位单元可以结合在一起作为地址发生器,因而对阵列芯片外部大量的存储器寻址,另外,在插板上产生一个供DRAM使用的地址。

    本发明的进一步特点在于聚集和应用了大量可动态重组的16位片子的技术和装置。该16位芯片可启动和截止任意集群的处理单元以响应工作于其上的数据,其目的是允许定义一群字长,并根据工作于其上的数据来决定某些处理部件的启动或截止,正如下面将说明的这一技术可以完成复杂的功能,同时更有效地使用位于阵列中的所有处理机单元。

    本发明的另一个特点在于,每一个阵列芯片在制造测试时已编入失效单元位置的程序于其中。这些数据可以在系统初始化时读出,所以不需要重新检测失效单元的位置。而且,描述了一种技术,其中,一批这样的芯片,估计每一个可能具有不同的一批失效单元,可提供一种简单的方法将它们共同结合在系统里,以便读出所有芯片上的缺陷信息。

    本发明的另一个特点是采取同时测试多个单元以便减少测试时间的措施,设置一个芯片测试逻辑,这样可以在一条公共总线上同时监测多个单位的输出。当失效单元被定位时,在软件控制下它们可以被排除,以致可以同时着手对其余单元进行测试,这样可以显著减少测试时间和降低芯片成本。

    本发明的另一特点在于独特的多端口RAM结构,用若干个静态存储器单元组成一具有两个读出口和一个写入口的存储器,而两个读出口用于从两个不同的存储单元内读出数据,接着用于一起写入一单个存储单元内。

    图1是按照本发明的阵列芯片的框图。

    图2是应用在阵列芯片中的逻辑单元的详细框图。

    图3是按照本发明的存储器单元块的框图。

    图4是对阵列芯片所作的引出线连接法的一览表。

    图5是指令总线位一览表。

    图6是按照本发明建立的阵列芯片的算术逻辑单元指令一览表。

    图7是指令总线时标的一系列时标图。

    图8是按照本发明的通用控制逻辑的框图。

    图9是按照本发明的可应用的总线配置系列图。

    图10A、图10B和图10C是按照本发明的2至4电平转换器的框图。

    图11是总线引线用途一览表。

    图12A和图12B是外部总线接口框图。

    图13是高速输入/输出接口框图。

    图14A和14B是随机存取存储器行地址逻辑框图。

    图15是逻辑单元控制逻辑框图。

    图16是非最佳化的可编程序的逻辑阵列位的表格。

    图17是逻辑单元启动逻辑的框图。

    图18是逻辑单元总线接口框图。

    图19是多端口随机存取存储器框图。

    图20A、图20B和图20C是静态存储器单元框图。

    图21是处理机状态字位用途表。

    图22是本发明所应用的片型表。

    图23是状态寄存器交替输入的框图。

    图24A和图24B形成一个显示多端口随机存取存储器地址译码器的框图。

    图25是通路逻辑概貌的系列框图。

    图26A、和26B和26C分别是进位通路多路转换器、零通路多路转换器和启动通路多路转换器的框图。

    图27是算术及逻辑运算单元(ALU)D总线多路转换器框图。

    图28是算术逻辑单元通路多路转换器框图。

    图29是乘商寄存器(MQ)交替输入多路转换器框图。

    图29A是MQ通路多路转换器框图。

    图30是状态通路多路转换器框图。

    图31是循环通路多路转换器框图。

    图32是算术逻辑单元功能表。

    图33是布尔指令通路概貌框图。

    图34是短布尔指令数据通路框图。

    图35是长布尔指令数据通路框图。

    图36是非运行片操作框图。

    图37是移位和循环指令表。

    图38是单字移位指令通路概貌框图。

    图39是算术或逻辑移位或右循环(短)数据通路框图。

    图40是算术或逻辑移位或右循环(长)数据通路框图。

    图41是逻辑移位或左循环(短)数据通路框图。

    图42是逻辑移位或左循环(长)数据通路框图。

    图43是双字移位指令通路概貌框图。

    图44是双逻辑移位或左循环(短)数据通路框图。

    图45是双逻辑移位或左循环(长)数据通路框图。

    图46是双算术或逻辑移位或左循环(短)数据通路框图。

    图47是双算术或逻辑移位或左循环(长)数据通路的框图。

    图48是交换指令通路概貌的框图。

    图49是交换(短)数据通路的框图。

    图50是交换(长)数据通路的框图。

    图51是中间数据处理机四路左移和右移通路概貌的框图。

    图52是中间数据处理机四路左移数据通路的框图。

    图53是中间数据处理机四路左移数据通路的框图。

    图54是四路移位通路概貌的框图。

    图55是四路左移(短)数据通路的框图。

    图56是四路左移(长)数据通路的框图。

    图57是四路算术右移(短)数据通路的框图。

    图58是四路算术右移(长)数据通路的框图。

    图59是64位字左循环的框图。

    图60是算术左移(短)数据通路的框图。

    图61是算术左移(长)数据通路框图。

    图62是双算术左移(短)数据通路框图。

    图63是双算术左移(长)数据通路框图。

    图64是迭代定点指令表。

    图65是固定乘第一个通路概貌的框图。

    图66是固定乘第一个(短)数据通路的框图。

    图67是固定乘第一个(长)数据通路的框图。

    图68是固定乘通路概貌的框图。

    图69是固定乘中间(短)数据通路的框图。

    图70是固定乘中间(长)数据通路的框图。

    图71是固定乘最后一个通路概貌的框图。

    图72是固定乘最后一个(短)数据通路的框图。

    图73是固定乘最后一个(长)数据通路的框图。

    图74是固定除第一个通路概貌框图。

    图75是固定除第一个(短)数据通路框图。

    图76是固定除第一个(长)数据通路框图。

    图77是固定除中间通路概貌框图。

    图78是固定除中间(短)数据通路框图。

    图79是固定除中间(长)数据通路框图。

    图80是固定除最后一个通路概貌框图。

    图81是固定除最后一个(短)数据通路框图。

    图82是固定除最后一个(长)数据通路框图。

    图83是一个寻找通路用途的框图。

    图84是带有控制器的单元处理机阵列的框图。

    图85是特殊指令表。

    图86是处理机启动操作表。

    图87是外部总线接口功能表。

    图88是逻辑单元输入/输出控制器功能表。

    图89是逻辑单元总线接口功能表。

    图1表示的是按照本发明的阵列芯片。

    由图1可见,芯片上置有20个16位处理机,标号从200至219,每个处理机联结到一个小的动态随机存取存储器,即DRAM,标号从220至239。一个16位处理机例如处理机200连接到一个相应的DRAM例如220,从220至239的所有处理机通过行译码器240加上分布式列译码器并行寻址,以便为16位处理机所用。

    16个16位处理机可接收有效的256位,即一次传送16×16位DRAM单元。这种传送地址是由两个一起工作的16位处理机产生,以形成一个芯片上和不在芯片上使用的32位地址。由哪两个单元产生地址的选择是由软件控制的,但具有这样的限制,即在它们之间不可能有数据处理机。实际上,形成地址寄存器的两个单元必须以相邻单元的形式存在,诸如201和202,或217和218。然而,在两个形成地址发生器的单元之间却可以存在一失效的处理机。

    因此,若处理机218失效,则处理机217和219可用作地址发生器。按照图1的框图,二十个16位处理机的两个可以出故障,而阵列芯片仍将保持全部性能。如果失效的处理机超过两个,则芯片的性能降低。

    图1还显示了一个公用总线250。该公用总线250是32位宽,用标号为32的切斜线表示。公用总线将其全部宽度都联接到各个16位处理机。16位处理机当它在一个字中构成一特定的有效位数,如最低有效位是16位,或最高有效位是16位,它也被分配至公用总线的上一半或下一半,从而使总线结构对16位处理机失效的组合不敏感。

    公用总线250联接到具有X/Y总线输入和I/Z总线输入的外部总线接口电路242。这两个输入都与总线输入接口242经由32位连接,并且基本上是双向的输入/输出总线。如图1所见,来自构成地址发生器的两个16位处理机的地址越过公用总线250通向行译码器和分布式列译码器的输入端C,如DRAM里的220。

    在这种方式中,按照由行译码器和列译码器所选择的地址,DRAM220至239同时向关联的16位处理机提供一个字,可以看到,芯片上的DRAM与不在芯片板上的取相同的聚集形式。在这种配置中,一个13位的存储器地址通过外部总线接口242被导入芯片。地址的低八位流入行译码器240,高八位则启动列译码器的选择8K32位字中的一个。由不在芯片板上所看到的全部寻址也可用于芯片板上的情况。

    在与工作的16位处理机连接的DRAM中配置一张表,并且一16位处理机可以在该表中存取任何存储单元,并不限于局部的DRAM。可是,在这种情况下,只有16位或32位在板上的DRAM同时工作,处理机集以分时多路传输形式被循环通过,以致如果需要的话,各个处理机可按次序由该表中存取。

    指令接收器243接收来自外部总线接口242的指令总线,该指令总线控制16位处理机。指令接收器243包括一个寄存器和一个指令译码器,寄存器用于接收进入芯片的指令总线,并在它通过16位处理机时对总线起缓冲作用,指令译码器在X/Y总线、I/Z总线、程序I/O口(左)和程序I/O口(右)需要时,用来控制引线驱动器的驱动和接收。一组缓冲器245用于接收芯片所要求的各种时钟和控制信号。

    外部总线接口242接收X/Y总线和I/Z总线,选择这四条总线之一并使数据通向或取自公用总线250。这一总线接口有能力在与其关连的总线上提供晶体管-晶体管逻辑电路(TTL)或四级兼容性。高速输入/输出接口(HS    I/O    Intf)241将高速I/O数据与16位处理机连通。该HS    I/O    Intf还能用双电平逻辑或四电平逻辑工作,以使与芯片相关联的输入/输出引线上所能传递的数据量增至最大。注意下面一点很重要,即奇偶校验位由16位处理机通到局部DRAM系统以便检验由DRAM存储的数据的完整性。

    测试接口和可编程序只读存储器(PROM)244在正常芯片操作时传送不在芯片上的奇偶错误信息,在系统初始化时则传递制造过程中的测试数据。

    参照图2,它示出了阵列芯片逻辑单元的框图。逻辑单元对芯片上DRAM的数量不敏感,由此随着技术的发展可较容易地置入改进了的存储器或逻辑单元。逻辑单元的核心是多端口随机存取存储器(MPR)301,该MPR301存储由软件控制输入的数据,用来选择该单元运行或不运行。若该单元处于不运行状态,则这一单元看起来就如同不存在一样,并且其状态也不会改变,除非有可能改变配置。片配置或表征码确定一个单元工作于计算存储器地址还是计算数据。还确定32位地址的下一半或上一半16位片是要求的,以及32位单精度浮点字下一半或上一半16位片是要求的。片配置或表征码还对总线接口300是将该单元的16位连接至公用总线的下一半15至0位还是上一半31至16位作选择。此外,表征码也为断开处理机的串行联接提供了一种手段。

    在一个并行处理机中,常常需要询问处理机集,这样,单个的外部控制装置可以同单个处理机通讯。在执行一种运算,其中一个计算结果用的并行处理机子集对于外部公用控制是有意义的这样一种情况下,该公用控制需要一种方法来依次一个一个地选择处理机来执行运算。提供了一种所谓的“寻找机构”,寻得满足条件的第一个处理机,然后就由该处理机执行计算,当第二个满足这一条件的处理机被找到时,第一个处理机就被放弃或解脱。

    在上述情形下,需要预定处理机的程序,并为此目的提供一配置状态。通路逻辑303和启动逻辑304提供了该寻得/放弃机构以及提供基本条件的运算机构。其中处理机集将计算某一运算,并且,仅有那些满足某一条件的处理机才可能继续计算下去。

    有一种称为“向量如果/否则”(VECTOR    IF/ELES)功能的方法,为条件运算集提供嵌套结构,这是一也连接入寻得/放弃机构的结构,而且,由启动逻辑所确定的单元的运行状态是经由写入启动线上的总线接口300与连接到该单元的局部存储器连通的。这样,单元处于运行之中,或正在进行高速输入/输出(I/O)传送时,数据会被写入其局部DRAM。

    此外,由于单元集可以结合在一起以形成任意长度的字,由最有效的片所驱动的启动逻辑就将其运行状态传送给字的有效位较低的处理机,使它们从属于最高有效位的片,该从属条件是通过启动左(Enable    L)和启动右(Enable    R)信号获得。

    多端口随机存取存储器(MPR)301除了包括包含配置位和状态寄存器的处理机状态字(PSW)以外,还包括15个供程序设计器用的通用寄存器。这15个通用寄存器加上一个向逻辑单元输入和取出数据的程序存储器数据寄存器(PMDR),可以通过作为I总线309的一部分的读地址(RA)和写地址(RWA)线的最后四个有效位被寻址。多端口存储器301还包括四个供指令集微程序设计器用的通用寄存器,MPR301可以同时存取两个存储单元,如由RA或读/地址输入端选出的A地址或由RWA或读/写地址输入端选出的B地址。

    然后这两个输出靠算术及逻辑运算单元(ALU)302依照来自I总线309的指令一齐处理,结果在同一周期从ALU数据(D)总线310写回到MPR301。通路逻辑303具有这样的机构,它能在程序块中将各个处理机单元联在一起以形成长于16位的字,还能执行诸如移位和循环功能,单元N的通路逻辑通过通路L(左)信号308与在其左单元N+1的通路逻辑相连。

    存在六个通路左(L)信号:算术及逻辑运算单元左(ALUL),乘商寄存器左(MQL),循环左(Loop    L),状态左(Status    L),进位左(carry    L)和零左(Zero    L),其中只有ALUL,Loop    L,Status    L和MQL这四条从芯片上引出,连接到单元N-1的通路逻辑的右(R)侧也具有六个信号。算术及逻辑运算单元右(ALUR),乘商寄存器右(MQR),循环右(Loop    R),状态右(Status    R),进位右(carry    R)和零右(Zero    R)。这里也只有ALUR,MQR,Loop    R和Statusr这四条从芯片上引出,还有来自逻辑304的启动左(Enable    L)和启动右(Enable    R)两个信号。

    从芯片上引出的四个左信号和四个右信号提供了处于不同芯片上的处理机之间使数据迅速地移位的方法。不打算构成跨接多个芯片的字,这就是为什么大多数时间临界信号,如进位和零信号并不横越芯片边界的原因。本设计的一个重要特点是可以在一单块芯片上设置足够数量的16位处理机,以便提供大量比较长的字,如八个32位字或四个64位字,或一个很长的256位字。

    通路逻辑303还包括双向装置,其中左通路和右通路,如ALUL和ALUR,可以在该单元失效的情形下以及在MPR301相应地设置表征码的情形下双向地互相联结。由于在ALU,MQ,Loo    P和Status四条通路上的信息流向取决于指令,而指令控制305又由于其长度较大易于出故障,在发生故障的场合就需要有一个微小的逻辑最小值简单地提供跨越通路逻辑303的信息的双向传送。

    此外,为了使逻辑数量减至最小必须对一单元起作用成为微小得不可见,在系统初始化时,一条直接通到MPR的复位线被触发,这样可以直接清除表征码位,迫使直接译码的不运行状态不通过控制逻辑305,从而将通路逻辑置入旁路状态以供在单元失效时使用,正常的单元则按所要求的片型处于运行状态。

    启动逻辑304还包括在芯片一单元内的实标识符(ID)。因此,在系统初始化时可以依次对每一个单元寻址,并相应地设定其配置。这样每一单元的启动逻辑中置入一个实地址,在20个单元的芯片和一个实地址译码器的情况下,实地址(0-19)是各单元的唯一区别。各个单元的其它部分都是相同的。

    随着初始化,程序设计器可以通过存储在处理机状态字(PSW)中以及配置表征码中的一个单元的虚地址对该单元寻址,这样程序设计器并不察觉到那些失效的存储单元。

    控制逻辑305提供了对总线309上传递的指令进行译码的手段。该指令连同片型配置表征码306一起被译码,以对于每一个指令每一个片型控制每一个单元的运行。控制逻辑305成为可编程序逻辑阵列(PLA),这样一种控制数据流的方法其后将作描述。控制逻辑(305)控制着将要描述的多路转换器,使得数据能按照在指令总线309上传送的特定类型的指令移动。注意指令总线309还联接到启动逻辑304,通路逻辑303以及MPR301和总线接口300,总线接口300则连接到高速输入/输出总线,公用总线的上半部分31位到16位和下半部分15位到0位,以及到局部存储器。

    总线接口300包括奇偶生成和校验装置,用来检验一单元和其存储器之间各种数据传送的完整性,总线接口300还包括列译码器用于整个存储器变换模式,其中为了在32位连通的情况下选择两个16位DRAM,在0到15范围的处理机单元的虚标记可以配置在一个地址最有效的四位上。

    参照图3,它画出了一个存储单元的框图,它是包含在每一单元内的存储器402,如图1中用序数220至239标明的,局部存储器的最佳实施例包括通常的每位一个晶体管的DRAM单元阵列,四个字宽的存储器402是按照线性行选择输入400来选择的,线性行选择输入400还通往行选择输出401。

    设想利用常规的方法提供备用行和备用列以增加与每一逻辑单元相联系的存储器的容量,这在输出端409示作在线性行选择里的备用线和备用列线的储备。备用线的数量并不很重要,基本上是按照使器件成本减至最小的原则来选择的。

    在DRAM中备用行和备用列的储备是在制造测试时用静态选择方式实现的,通常并不认为在DRAM中提供行和列的软件配置会影响成本。读/写逻辑403和通常的DRAM一样包括读出放大器,缓冲器和备用列逻辑。四个字宽的总线通向列选择逻辑404,该列选择逻辑404根据两个列选择位来挑选16个数据位和一个奇偶位的四个字块中的一个,还设置一个列选择线的锁存器。由此形成16个数据位和一个奇偶位的17行,经局部存储器总线407到逻辑单元,在该存储装置的总列数为20单元×(4×(16数据位+1奇偶位)+1备用位)等于1380。

    读写逻辑403、DRAM单元阵列402和列选择逻辑404都处于控制线408的控制下,它称作存储器控制,并提供读或写操作以及更新功能。来自逻辑单元的写启动线405决定一个特定的存储器是否存储信息。写启动线在三种情况下使用,第一种是矢量情况,16个处理机的某一子集在运行中;另一种是全局存储情况,一个或两个存储器单元在运行中,第三种情况高速输入/输出数据被导入所有逻辑单元的存储器。

    参照图4它显示了在例如图1所示的阵列芯片上引线连接的概况,总共105根引线分为六组,即高速输入/输出总线,X/Y总线,I/Z总线,存储器控制线,程序I/O线和其它。图上还看到关于这些引线的某些说明。如指出高速(H/S)输入/输出总线共有8条数据引线用于输入/输出信息或数据,并可在双电平或四电平下工作。这些说明指出了许多引线如X/Y总线和I/Z总线的引线都可以工作在双电平或四电平下。这一特殊的工作方式后面将加以描述。

    参照图5,它表明阵列所用的指令总线位,这些位分成八组:读地址,读/写地址,处理机启动,串行输入选择,操作码,外部总线接口控制,逻辑单元总线接口控制和备用指令位。可以看到,共有32位来表示指令位。

    参见图6,它显示了数据通路指令集的概况设置,常用的两个变量的简单的布尔函数,如A+B,A-B,A或B以及如在乘除法步骤里迭代定点操作,重要的是注意,为了使长度减至最小,并最大限度提高各处理机的效率,以及提供可变的字长,乘法和除法操作是作为一个步骤并重复操作完成,而不是用并行组合逻辑例如16×16乘法器来完成的。

    浮点是作为一系列的定点操作来完成的,另外,还提供了一组移位和循环操作,这些在后面都将详细描述。

    参见图7,它显示了指令总线时序的一个特殊的例子,时序与由图1里的缓冲器245接收的外部算术及逻辑运算单元时钟(ExtALUCLK)有关。该例子以单个指令IO为例说明其通过芯片的全部逻辑时序。在时钟脉冲Cl下降沿之前的一段准备时间从外部指令总线上发现IO处于稳态。外部指令总线还必须在外部ALU时钟的下降沿之后的占用时间保持稳定。

    芯片内部时钟相位B略微延迟于外部时钟,在时钟脉冲B0时将外部指令总线接收并锁定,随着时钟脉冲Cl的下降沿,时钟脉冲B0也下降,随后是一个很短的时间延迟t,出现时钟相位A,时钟脉冲A1使接收到的指令总线延迟,并将其送入各个单元。注意此时芯片的内部时序是完全同步,可随机接收由时钟脉冲B0取样的缓冲器移走的指令总线,从时钟脉冲A1的开始直至时钟脉冲B2结束代表指令执行的译码阶段。

    随着时钟脉冲B1上升沿的出现,所有单元的寄存器接收指令总线,并将其送至可编程序逻辑阵列(PLA)进行指令译码,或送至地址译码器进行多端口RAM读/地址译码器和读/写地址译码,寄存器位于每一单元之中,而不是公用逻辑中,这样,从时钟脉冲B2的上升沿开始用逻辑传送至各单元的时间就不会影响译码时间。

    时钟B和逆时钟C足够宽,PLA功能和地址译码功能可以在进入由时钟脉冲A2和B2所标志的执行阶段之前完成,PLA和MPR地址译码器的输出在时钟脉冲A2开始之前锁定,一直保持到执行阶段结束。在时钟脉冲A2开始时,可以对多端口RAM进行存取,因而ALU操作则根据状态触发器来选择。一旦选择了多端口RAM和ALU的输出,算术逻辑运算(operation)就开始了。多端口RAM的输出在时钟脉冲A2期间保持不变,这样,在利用脉冲B2的写阶段期间ALU的输入也就不会改变。

    从算术或逻辑运算得到的数据在时钟脉冲B2结束时成为有效的,这时数据被存入多端口RAM读/写地址存储单元,芯片左右通路的输出也成为有效的,此时,可以开始执行下一条指令,因为译码阶段是与IO指令的执行阶段同时出现的。

    参照图8,它显示了公用控制逻辑框图,时钟发生器1007产生图7所示时钟相位A和B。产生这些时钟相位的电路是现有技术中熟知的,可以由图7确定,许多包括多谐振荡器的电路都可以产生图7所示的时钟脉冲。

    指令总线连接至电路1002,可以看到该电路每一位置都具有一个场效应晶体管,时钟相位B作用到它的栅极,指令总线的一位连至源极或漏极。场效应晶体管用作开关器件,当栅极接收到一个合适的电压时,其源极和漏极之间呈低阻状态,如果在栅极上加一个极性相反的电压,则源极和漏极之间表现出极高的电阻。

    组件1002中场效应晶体管(FET)的输出连接到一个反相器,反相器的输出则送到位于组件1003中的第二个FET的输入端,第二个FET的栅极接收时钟相位A,并包含有与组件1002相同的电路。该电路1003的反相器有一个连接到下一个开关1004的输出,该开关在FET栅极接收时钟相位B,开关1004的输出则直接送至可编程序逻辑阵列或PLA1005,1005的输出又送到再下一个开关器件1006,它是在时钟相位A期间工作的。

    如所指出的,指令总线是连接到1002的,它还连接到1003,然后直接通往各个单元。锁存器1004使各单元的延迟一致,PLA1005则提供了通路填充驱动器流向线,它锁定在1006上。

    同时,显示了一个可编程序只读存储器1009,在芯片测试时被载入,并对进入操作系统的阵列芯片组的配置提供帮助,在可编程序只读存储器(PROM)1009里总共约存储256位,为数据提供了足够的存储空间并留有一定数量的备用位,PROM1009是用常规方法实现的,可以用激光编制程序,或更经济地,用电编制程序的方法,PROM1009的容量通常被编制成8位宽度×32个存储单元,一次对寄存器1010载入一个字节,并在测试控制逻辑1008的控制下提供下一个字节时将其移出。

    在芯片选择信号为真并且复位信号的下降沿出现的情况下,测试控制逻辑1008被初始化,并且输出程序开始,在许多阵列芯片中各可以有不同组合的失效单元,外部控制逻辑必须了解哪些单元是失效的,这样可以配置正常的单元,该PROM1009可以在系统初始化时通过寄存器1010和测试控制逻辑1008读出,通常包括下列数据。

    1.器件的序号;

    2.制造日期编号;

    3.部件号;

    4.参数的数据如时钟频率;

    5.单元状态,即逻辑单元和存储单元中缺陷的位置;

    6.备用位。

    图8列出了可编程序只读存储器数据(PROM    DATA)标题的缩写表。

    当复位结束时,芯片选择(CS)是高的,这时PROM1009由时钟相位B移位,见图7。在复位不足而未移位时输出奇偶错误总线,此时缓冲器1012上拉(Pullup)晶体管不能提供线连“或”电路连接。注意,即使存在一些缺陷,芯片仍然可以使用。

    例如,在存储器内有一个较大的裂缝,我们仍然可以使用芯片,只要不用片载存储器就行。这样,20个单元中可以有16个用于数据操作,或者,也可以在地址发生不要求片载DRAM时使用,这样,如果至少有16个存储单元可供使用,那末它们就有可能用于16个数据处理机。那些没有相当好的存储器单元的逻辑单元则构成地址处理机。如前所述,组成地址发生器的两个单元必须是相邻的,尽管可能存在介于其间的不起作用的单元。第三种可能性是芯片可以只使用一半容量,其目的是提供8个16位处理机加上2个地址处理单元,这样一共可以有十个失效单元,而不是两个或四个。

    参照图9,它表明了总线配置情况。情况A显示了一种使用晶体管-晶体管逻辑电路(TTL)全部兼容性的常规互连。这里,I总线和Y总线是除了高速输入/输出总线(目前可忽略)之外仅有的总线。

    情况B是中间的互连例A。控制线1104呈现逻辑01状态,约为1.65伏。在此情况下,指令总线仍与TTL兼容。而X总线和Y总线则具有四种电平,五种状态。每条总线包含16条线加上一条奇偶线,可提供32个数据位加上2个奇偶位。

    情况C是中间的互连例B。控制线由逻辑10状态驱动,约3.3伏。X总线保留通常的三态总线,而I总线和Z总线是五态总线,各具有16条线,分别提供32个数据位加上2个奇偶位。

    情况D表明最大限度的互连:依据控制线C上约5(4.95)伏的逻辑11电平,I、X、Y和Z每根总线都具有五种电平,这种最大限度的互连状态对于尽可能减小消耗在互连上的功率,尽可能地提高连通性是最有用的。重要的是注意,四电平逻辑限制在I/O引线上使用。这样,内部逻辑如所描述的双向多路转换器和内部总线都可以是通常的双电平逻辑。

    参照图10A,它详细地显示了2至4电平转换器,显示一个2至4电平选择器1200,该选择器具有两个输入端,标为B0和B1,在四电平逻辑控制时使用B0和B1,双电平逻辑控制时只使用B0。B0和B1的内部位可以是0或1,通向四电平选择器1200的输入端,该选择器在方向信号控制下工作,这是在一组件下显示的,利用该组件,方向信号加到反相器1213的输入端,它通过与门1220将所显示的输出信号(OUT)耦合至组件1200,并将输入(IN)信号送至模数转换器1205。

    正如下面将说明的,数据在B0、B1和电平移位器1204之间传送,反之亦然。在2电平至4电平选择线(2L/4L)控制下,三个双向元件1201、1202和1203按如下方式移动数据:

    对双电平操作来说,当奇/偶状态线为偶时,Bo位经过双向门1203和1202至电平移位器1204的两个输入端,当奇/偶状态线为奇时,B1经过1201和1215送至电平移位器,这样,对双电平逻辑来说电平移位器1204的Bo和B1是等同的,对四电平逻辑来说,Bo通过通路元件1203送至电平移位器1204的Bo位,而内部B1则通过通路元件1201送至电平移位器1204的B1输入端,对进入电平移位器1204的数据来说,这些通路则是反向的。

    对四电平操作来说,来自电平移位器1204的Bo位通过门1203送至Bo内部通路元件1203,而来自电平移位器1204的B1位则通过元件1201送至B1内部通路元件1202。

    在双电平操作中外部引线1212上的电压电平是通常的CMOS信号,如0或5伏,这类的信号用得很广,比如所示的用在CMOS系统中,四电平的具体选择是任意的,为了简单起见,假定高电平工作电压为5伏,四种状态在地至5伏之间均匀分布。进入输入端1212的数据被送入电平移位器1204,以便把芯片内可能不同的工作电压(该电压对于小工艺规程设备可相当低,)转换成用于输出设备的增大了的可能高电平的工作电压。如果输入和输出的工作电压相同,则不需要电平移位器1204。

    不管怎样,电平移位器是熟知的器件,在现有技术中有着各种电平移位装置,这类装置通常用来对接各种数字逻辑系统和其它不同类型的数字逻辑系统。

    电平移位器1204的输出端连向数/模转换器D/A1206的输入端,如果可能,1206就在输出线1212上置一个电压,D/A转换可以是允许或被禁止,这取决于到允许端E的输入信号。

    若数据进入芯片,则A/D转换器1205接收来自引线1212的双电平或四电平电压,并在Bo和B1上产生输出,A/D转换器1205可以用若干方式实现,这是精通该项技术的人所共知的。该技术中熟知的脉冲转换器,一般用于快速操作。如果启动输入E表明数据正在接收,则A/D转换器1205的Bo和B1的输出端启动,可以看到,A/D转换器1205和数一模(D/A)转换器1206的启动输入端都是由门1213驱动的,该门输入端具有方向信号,不管怎样,只要启动输入表明数据正在接收,A/D转换器1205产生有效的Bo和B1输出。在此情况下,Bo和B1被送至电平移位器1204,然后经过2至4电平选择器1200,接着送至内部总线,因此,内部总线在信号进入引线1212时就收到了与它所产生的同样的逻辑电平。

    参照图10B,它显示了最低功率的数/模转换器,如图10A的D/A转换器1206,使用这一转换器可使芯片上的功率消耗减至最小。通常考虑略微增加引线的数量以供给最佳电压来驱动输出引线,而不是在芯片上采用模拟手段来产生各种电压。

    例如,地通常视为0伏,VBB为1.65伏,Vcc为VBB的两倍,即3.3伏,VDD为VBB的三倍即4.95伏,接近5伏,此处未示出。图10B的译码器1207接收Bo和B1,并且当启动时,在四个选择中产生一个输出,接通低压降开关1208至1211之一,这样就在连到引线1212上的输出端(“数据输出”DATA OUT)设置一个电压输出,如果译码器的启动不为真,则00至11中没有一个输出有效。

    参照图10C,它表明2-4电平转换器1214的符号,这些符号在其它图中将用到,注意,在上面的讨论中,2-4电平选择器包括许多双向开关例如1202和1203。这些开关可以用CMOS结构或其它结构的场效应晶体管(FET)器件来实现,双向开关的使用、执行过程和控制在现有技术中是熟知的,实际上所提到的选择器电路1200正如所描述的那样工作。

    参照图11,它表示2-4电平总线引线用途,与图10结构产生的各种电平相对应,为了使一组引线用作构成一条或两条总线,必须按表所示连接数据位,例如,对双电平逻辑来说,引线1至32包含X0至X31,可是对四电平逻辑来说,同样的引线既包含X总线,又包含Y总线,该表显示一可减小芯片引线的复杂性的方法,这样一条或两条总线都可以连接到单独一组引线上。

    例如,在四电平逻辑时,线1包含X0和X1,然而线2,本来在双电平逻辑时只包含X1,现在则同时包含Yo和Y1,所以可以成对地来取用这些引线,一对引线可以具有X0和X1,也可以具有两对X(N)/X(N+1)和Y(N)/Y(N+1)的对。I总线和Z总线的连线示于引线50至81,它工作在模拟状态。注意,引线数目只是例举的,具体的引线数目是任意的,但是引线成对结合则是非常重要的。

    图12表示外部总线接口,16个如图12A中那样的2位单元形成总线接口逻辑,四个2-4电平转换器1400至1403连接到四条I/O线∶1407至1410,这些I/O线分成两组:X/Y对1407和1408,I/Z对1409和1410,X/Y对可以在两种方式下使用,在双电平方式里,X线被传送,线1407传送位X[N],线1408传送位X(N+1)。在四电平方式里,线1407传送位X(N)和X(N+1)两位,线1408则作为Y总线,提供Y(N)和Y(N+1)两位。

    I/Z对以模拟方式工作。双电平时,线1409传送位I(N),而线1410传送位I(N+1),图8的A/D转换器1013选择双电平或四电平操作方式,并接收总线配置信号,总线配置信号产生X/Y四电平信号,该信号被2-4电平转换器1400和1401接收,总线配置信号还产生I/Z四电平信号,该信号被2-4电平转换器1402和1403接收。

    所有四条总线X、Y、Z和I可通过双向收发器1404和1405被多路传送至公用总线。

    因为在四电平时有四个信号源Bo,双向收发器1404就有四个输入端以接收来自每一条总线的Bo,这些信号依次成为公用总线位N,四个信号中的一个传送给公用总线,它由公用逻辑的四个信号XIN、YIN、ZIN和IIN中选择出来,类似地,也有四个信号源B1被选择出来。

    I总线不是双向的,存在一单个的I总线的位N源,它是2-4电平转换器1402。不管外部I总线是处于双电平模式还是四电平模式,I总线位2都有两个源。所以,多路转接器1406从2-4电平转换器1402和1403接收其输出信号,并利用I/Z四电平信号选择其中适当的源传送入I总线B(N+1)LO,(零电平在每个单元进一步得到缓冲)。

    信号从芯片内向芯片外的传送如同从公用总线经过一个2-4电平转换器1400至收发器1404,并输出到线X/Y(N)1407,是以下列方式传送的:在不存在输入信号有效时,由X输出,Y输出,Z输出和I输出之一选作有效输出,偶数位是通过2-4电平转换器1400的位另输入从公共总线传输至各引线,而奇数位如公用总线B(N+1)位则是通过收发器1405传输,由2-4电平转换器1401的位1输入端接收的,这时,X/Y总线工作在双电平方式。2-4电平转换器中奇偶的规定便于边界引线和内部总线的规则连接。

    这一具有总线多路转接和最少量互连的规则的2位单元简化芯片上总线的多重安置。四条I/O引线1407至1410是彼此相邻的,并被折弯成围绕着芯片周围的四个方块。

    上拉(pull    up)晶体管1420和1421在装置制造测试时使用,如下面将说明的它们随外部总线接口控制指令被可编程序的逻辑阵列(PLA)1422导通。为了减少芯片的测试时间从而减少成本,可通过对所有芯片进行初始化到同一状态,同时测试所有芯片,并利用公用总线检验它们的输出,在此情况下各单元就要用有效的下拉(pull    down)晶体管驱动公用总线,测试器可以通过一根外部总线来监测公用总线。如果产生预料不到的结果,表示有失效的单元存在,则测试器可以依次询问每一单元,直至失效单元被找到,此时该单元就被断开,同时再继续其它单元的测试。

    PLA1422产生缓冲控制信号,这将在图85中描述。

    缓冲器1424检查芯片启动总线,外部逻辑利用它来确定芯片是否正在驱动外部总线。

    图13表示高速I/O接口的框图,同时说明2-4电平转换器的另一用途,在这里,一单组八条引线1522至1529接收高速I/O总线。与图12中两组不同的总线共用一组引线作为X和Y这一情形不同,本电路允许在四电平方式时一次传送16位数据,或在双电平方式里在连续的低字节和高字节下一次传送8位数据。

    各引线位赋值如下:在四电平方式里,引线1522接收位0和1,引线1523接收位2和3等。顺序的各对位由顺序的引线接收。在双电平方式里,各引线也是依次按顺序接收更多的位,如引线1522接收位0,引线1523接收位1,这是对传送最少有效字节的情形而言。在传送最多有效字节时,则引线1522接收位8,引线1523接收位9,以此类推。

    模/数转换器1500接收高速I/O模式,I/O选择信号是四电平的,该信号选择三种工作模式:在双电平操作里,这一引线选择低字节或高字节,与之对应,引线上呈现逻辑00或最高逻辑电平11。对于四电平,16位操作,引线的逻辑值介于00和11之间,A/D转换器1500的状态是由逻辑门1501通过1503译码,提供双电平高字节信号,双电平低字节信号和四电平高速I/O信号。在四电平操作里,芯片接收高速I/O数据,引线I作方式如下:2-4电平转换器1504通过1509,1510,1514,1515,1518,1519和1520启动它们的B0和B1输出,多路转换器1505接收来自与引线1522至1525相联系的各个2-4电平转换器线的八位输出,并在高速I/O输入信号控制下通过缓冲器1506将其送至高速I/O数据总线0到7位,多路转换器1516则与引线1526至1529相联系的八位通过缓冲器1517送至高速I/O数据总线的8到15位,反过来,数据从芯片传送至这些引线时,多路转换器1511接收来自高速I/O数据总线上Bo到B7八位数据,并将这八位数据送入2-4电平转换器1504,1509,1510和1514。高速I/O数据总线位8至位15则通过缓冲器1513送入四个最高有效位的转换器1515,1518,1519和1520。

    双电平操作时,首先传送最低有效位字节,这8位取自八个2-4电平转换器,并在与门1508控制下存储入锁存器1507,与门1508是在传送高速I/O低字节和时钟发生器1530接收I/O时钟时被驱动的。时钟发生器1530如外部算术逻辑运算单元时钟(Ext    ALU    CLK)所说明的那样产生互不重迭的时钟。

    传送高字节时,多路转换器1516接收来自2-4电平转换器的8位数据,并将其送入高速I/O数据总线位8到位15,此时锁存器1507能够使多路转换器1505进入高速I/O数据总线位0位7,双电平模式传送时,最低有效字节直接通过多路转换器1511出来到八条引线上,此时锁存器1512存储来自高速I/O数据总线位8到位15最高有效位的状态。

    传送高字节时,是通过寄存器1512的。

    图14A表示随机存取存储器(RAM)行地址逻辑的框图。假定该RAM地址宽度为10位,每一单元具有1024个存储单元,尽管这一数量是任意的,地址进入多路转换器/锁存器(MUX/LATCH)1702,来自公用总线位0-7的每一RAM行地址位都被送到译码器1704,译码器1704和备用行选择器1705在现有技术中是熟知的,用于DRAM设计和操作中从DRAM阵列的256行加上备用行中选出某一行。

    备用行选择器1750假定被提供了较少量的备用行,则在制造过程的挑选中可能排除缺陷行。

    为了便于更新,采用了计数器1701。在更新操作时该计数器1701的输出通过MUX/LATCH1702置位于RAM行地址,控制逻辑1700在存储器控制线的控制下,通过MUX/LATCH1702传送数据,并使计数器的更新操作增加。

    图14B更详细地显示MUX/LATCH。若地址选通脉冲出现,地址位就可通过传输单元1760传送,这一状态存放在反相器1708的输入端,导致反相锁存输出。在这种情况下,译码器1704切断反相电平,不过这与一般的讨论无关。

    另一方面,计数器在其选通脉冲控制下通过单元1707输出,并在传输单元1707和1706都不为真时将其输出存储在反相器1708的输入端。

    参照图15,它显示了逻辑单元控制逻辑的框图,来自公用逻辑的指令总线L2一般是通过一个传输晶体管2000和一个反相器2001被一锁存器接收,它产生指令总线L3,指令总线L3通往图24的多端口RAM地址译码器以及PLA2004,它接收片配置表征码和操作(OP)码位,PLA的许多输出端如图16中的表所列的那样,一般是被传输晶体管2005和反相器2006寄存,形成PLA总线,PLA总线中的八位进入多路转换器2007,在状态触发器控制下产生算术逻辑单元操作(ALUOP)。

    对于状态触发器不敏感的那些指令,如简单布尔操作,状态触发器是不关心的,这时,多路转换器2007具有两组相同的四位输入,如果状态触发器是有影响的,则输入0表示状态触发器为假的情况,输入1表示状态触发器为真的情况。

    算术逻辑单元操作(ALUOP)送到图2的算术逻辑单元302,指令总线L3的一些位既不含操作码也不含多端口RAM地址,它们从包括2002和反相器2003的寄存器经过,便得到了与通过PLA2004和MPR地址译码器的那些位相同的延迟。

    图17是处理机启动逻辑,PLA2200接收状态寄存器总线,传送进位位,负位,零位和溢出位(C、N、Z、O),并接收指令总线L4,传送读地址的最低四个有效位。该PLA2200产生单一的位向量如果/否则(VIE)输出,此处利用条件选择位来选择由状态寄存器各二进制位决定的16个条件之一,当条件为真,则VIE输出为假,因为当VIE寄存器如ALU零逻辑检测出的那样为全零时,VIE逻辑保持处理器驱动。

    VIE输出信号由在ALU通路MUXES的多路转换器5309接收,这在图28还将详细表示,比较器2001产生虚单元选择信号,使读地址(RA)的最低四个有效位与状态寄存器总线的四个二进制位相配合,状态寄存器的这四位是用来传送虚单元选择表征码的,这一信号有各种应用,如可为写启动逻辑所用。PLA2202接收五位读地址位并产生实际单元选择信号,它也被写启动逻辑使用,这一PLA2202是各单元间唯一不同的电路,形成线性的单元译码,最右边的单元译码为0,其余单元依次增长为1,2,3等,这一功能用于芯片初始化时使用重新配置指令,这样,一特定的单元可以被配置到一特定的片。

    PLA2203产生处理机启动信号,它控制单元局部存储器和MPR的写入,其真值表示于图上。

    图18是逻辑单元总线接口框图,这一逻辑连接单元至32位公共总线、16位局部存储器总线和16位高速I/D数据总线,单元存储器总线3005是程序存储数据寄存器PMDR    I/O交替工作总线,它通过收发器3003连接到公用总线位31至16,或通过收发器3002连接到公用总线位15至0。使用哪一个收发器的选择是在如同在PLA总线里反映那样的水平表征码控制下由总线控制3004作出的。一偶数片作为32位字的位0~15通过收发器3002连接到公用总线的最低16个有效位上,一奇数片作为16至31位连接在公用总线的31至16位上,通过收发器3003连接,16位偶数片高中低偶数片(MILE)连接至公共总线15至0位,16位奇数片如高中低奇数片(MILO)连接至公用总线31至16位。

    局部存储器数据通过收发器3001连接到总线3005用奇偶发生器/校验器3000校验从局部存储器接收的数据的奇偶性,结果可以查出奇偶错误,发出单元奇偶错误信号,由图23的趋稳(sticky)奇偶错误触发器接收,奇偶发生器/校验器按常规方法设计成具有异门的树形以检验奇数奇偶性。经收发器3008到高速I/O数据总线的接口是双缓冲的。输入存储数据寄存器(IMDR)A3006和输入存储数据寄存器(IMDR)B3007则处于I/O控制器3009的控制下。

    该双缓冲器可以在前一矢量被输出或被局部存储器接收时接收下一矢量,另外,I/O存储器数据寄存器MDR3006和3007可以对连接到公共总线的程序存储器数据寄存器PMDR交替工作I/O总线3005进行存取,则数据从外部存储器送入这些寄存器。此时外部存储器被连接到共用总线(分时多路)上。

    总线控制器3004Fare的功能由图87表明,I/O控制器3009的功能由图86表明。

    缓冲器3020用来使ALU数据总线通过缓冲器3002和3003直接送到共用总线,无须经过PMDR,这在地址操作中是很有用的。这时,可以在一个周期内用地址单元计算出新地址,并将其送入局部存储器和列地址寄存器。

    外部存储器连接至X、Y或Z总线之一,寻找是由两个配合在一起以形成地址发生器的单元来完成的。

    图19是多端口RAM的框图,指令总线L3由译码器4001和4000接收,读地址(RA)由读地址译码器4001接收,它在4020产生22条A选择线。读/写地址(RWA)由读/写地址译码器4000译码,产生22条B选择线,即4021,这些线由PMDR4002,处理机状态字(PSW)4004,乘商寄存器(MQ)4006和通用寄存器4030接收。

    A选择线选择存储器22个存储单元中的一行,以驱动内部多端口随机存取存储器(INT    MPR)A总线4008,B选择线选择22行之一驱动内部多端口随机存取存储器(INT    MPR)B总线4009,存储单元由反相锁存器4010锁定,并产生MPRA输出4013,读/写存储单元由反相锁存器4014锁定,产生MPRB输出4016。

    每一反相锁存器由一输送晶体管4011和反相器4012组成,如锁存器4014。锁存器4014在时钟相位A控制下前半周锁存数据,后半周则在与门4019的控制下由缓冲器4018和反相缓冲器4017修改数据。

    存储器的存储单元如将要进一步说明的那样是静态的,要求真或假的输入,反之,提供真或假输出。反相器4015在4009上互补真输出信号,使得锁存器4014输出为真,程序存储数据寄存器(PMDR)具有PMDR交替(ALT)I/O信号,除了在读地址和读/写地址控制下工作外,每一位使用一个如4003那样的反相器,类似地,处理机状态字(PSW)也有PSW交替I/O信号,用反相器4005接收用以写入。

    MQ具有一外部输入,MQ交替I/O信号利用反相器4007进行写操作。另外,PSW可以被直接复位。这样,片配置位在初始化时呈现不启动状态。

    图20表示静态存储器单元。其中,图20A对应于MPR没有交替输入的情形。图20A应用于15个通用寄存器和四个系统通用寄存器。采用了传统的六管静态存储单元设计,以便减小功率消耗和提供无时钟存储。一对跨接的反相器4101和4102构成了基本单元。

    反相器4102输出Q或真,反相器4101输出 Q或假。这些反相器中每一个的上拉晶体管具有中等大小的阻抗,输出可以被较低阻抗的串联输入晶体管4100和4103下拉,实现将数据写入单元。重要的是,注意,静态单元中必须在4104出现数据和在4105出现数据以供写入,及提供实现MPR的一个理想的手段,因为在这样一种MPR里,要求两种不同的输出。所以,在时钟相位A时信号线之一,例如4104,被用来连接读/写地址译码器以提供MPRB输出,信号线4105用来连接读/地址译码器以提供MPRA。这些输出在时钟相位A时存入锁存器。时钟相位B时,两条信号线4104和4105同读/写地址译码器和时钟相位B一起用来将数据和数据写入所选择的单元。这样只需要两种信号用于读和写MPR,不象其他设计,两条线用于输出,第三条线用于输入,这会进一步增加执行MPR所要求的存储器译码逻辑数量。

    输送晶体管4100和4103的阻抗与上拉晶体管4100和4102的阻抗相比较小,所以逻辑零可通过而进入单元。

    图20B是典型的存储位。用于MQ寄存器、处理机状态字(PSW)寄存器和程序存储数据寄存器(PMDR)在这三种情形下,寄存器不仅必须可读地址和读/写地址,而且当其它存储单元被MRP存取时,还必须接受另外的输入,基本存储单元由交叉耦合反相器4110和4111以及连接到MPRA和B总线4118和4119的输送晶体管4113和4114组成。

    另外,通过晶体管4112和复位信号4120的直接复位仅供作包含配置位的处理机状态字使用,对未工作的片来说该位必须置于零。这样,复位信号迫使所有单元进入未启动状态,与所有总线脱离,所以它们不会互相干扰。对于位单元的交替输入通过相应于ALTI/O输入4123的晶体管4115和4116提供。触发器操作由相连的反相器4117实现。这样,当ALT选通线4122和4121都有效时,来自信号引线4123的数据被写入单元。令4122有效,则数据可被不破坏地读出单元,在4122里,数据流出单元进入ALTI/O线4123。

    下列方式可使进入单元的引线数目减至最少,即使用一条双向总线,而不是一条线用于输入,另一条线用于输出。这样,在图20A和20B所示的两种情形下,使用一对引线连接至该单元,既可以从两种不同的存储单元得到输出,也可以在图20A的情况下使用两条线写入一单个的存储单元,或在图20B的情况下使用单根线来发送和接收数据到一特定的存储单元,而不是多个存储单元。

    图20C显示指令存储数据寄存器(IMDR)的结构。静态触发器由反相器4136和4137构成。数据可以从PMDR    ALT    I/O口和HS    I/O数据口进入或读出,指令定序器必须确保每次只执行一项写操作。图86描述了控制读/写晶体管4132和4135,以及写晶体管4131和4134的各种功能。

    图21是处理机状态字位用途表,状态寄存器占五位,进位触发器通常存储进位输出,它来自算术逻辑单元(ALU)最高位片的最高有效位,负触发器存储该片里ALU输出最高有效位,零触发器测定累加结果是否为零。溢出触发器接收来自最高位片最高有效位的溢出输出。趋稳溢出触发器存储其本身的“或”(OR)和来自该片最高有效位溢出输出。进位、负、零和溢出触发器会随着每条算术指令改变。但是趋稳溢出触发器只有在软件控制下在该位输入零才能被清零。此时可以完成一系列的运算,然后可询问趋稳溢出触发器,以查看其中是否产生溢出输出,不必在每一条指令执行后检查溢出触发器。

    这五个状态位仅在字的最有效片上有效。它们是在跨越字的片直至该处存储累加结果的所有片上产生的,因此应该可忽略。四位虚单元标识符是在系统初始化时同配置表征码一起写入。这样应用程序可以直接与十六个工作的数据处理机中任何一个直接通讯。由于一块芯片上只有一个由二个16位处理机组成的单个的32位地址发生器,所以就不会对哪个地址单元正在与该芯片通讯产生混淆。四个配置表征码位的状态将在下一附图中加以描述。

    此外,还有一位处理机启动,它由矢量如果/否则(IF/ELSE)逻辑控制,若该位为真,则指令修改单元存储内容,不过,这一与矢量IF/ELSE逻辑相联系的存储内容的修改与该位状态无关。趋稳奇偶错误位在每当单元接收到包含奇偶错误的数据时建立。该位是其本身与奇偶错误位的“或”(OR),它一旦建立,就将一直保持到由程序或输入处理机状态字所清除为止。当任一趋稳奇偶错误位被建立,芯片输出的奇偶标志也将建立。

    图22是位片类型和它们对于公用总线的赋值表,共有十一个数据表征码状态和二个地址表征码状态,注意,虚单元标识符(ID),配置表征码和处理机启动字的处理机启动位都与处理机启动的状态无关。这样就可以对它们进行修改而无需考虑处理机的现役性,配置状态用途如下:

    1.非现役片一配置表征码的初始状态是待用的,这一状态在确认了对芯片的复位输入后被建立,并造成处理机单元不与图1中的公用总线250连接,而且对各通路(图2中的308,307,311和312)上的水平信息流来说是不存在的。

    2.数据最低有效位片/最低有效位处理机(DLSS/LSP)-DLSS/LSP状态配置一位片包含一个字的零位,不论该字用于定点或浮点算术运算。此外,该处理机阻断了状态通路以开始定位操作。

    3.数据最低有效位片(DLSS)-DLSS状态配置的位片包含一个字的零位,无论该字用于定点或浮点算术运算都是如此。另外,该处理机阻断状态通路以开始定位操作。数据中间有效位片奇数片DISSO包括大于32位的字如32至47各数据位。在一个最低有效位片和一个最高有效位片之间可以配置任意数量的中间有效位片奇数和偶数的状态。

    4.最高-中间-最低奇数片/最低有效位处理机位片(MILO/LSP)-MILO/LSP状态提供了一个16位处理机,它包含一个字的最高有效位,中间有效位和最低有效位各部分,使用公用总线的16至31位。此外,处理机阻断状态通路以开始定位操作。

    5.最高-中间-最低偶数片/最低有效位处理机位片(MILE/LSD)-这一状态提供一个16位处理机,它包括一个字的最高有效位,中间有效位和最低有效位各部分,使用公用总线的位零至15。此外,这一处理机阻断了状态通路以开始定位操作。

    6.最高-中间-最低奇数片(MILO)-这一状态提供了一个16位处理机,它包括一个字的最高有效位,中间有效位和最低有效位各部分,使用公用总线16至31位。

    7.最高-中间-最低奇数片(MILO)-这一状态提供一个16位处理机,它包括一个字的最高有效位,中间有效位和最低有效位各部分,使用公用总线位0至15。

    8.数据中间有效位奇数片(DISSO)-DISSO位片包括大于32位的字如位32至47。支持定点操作和浮点操作。

    9.数据中间有效位偶数片(DISSE)-DISSE位片包括大于32位的字如位48至63,在一个数据最低有效位片和一个数据最高效位片之间可以配置任意数量的中间有效位奇数片/偶位片状态,支持定点操作和浮点操作。

    10.数据最高有效位片单精度浮点(DMSS/SPFP)-DMSS/SPFP位片提供定点操作的最高有效位片和单精度浮点操作的最高有效位片,单精度浮点采取美国电子和电气工程师协会(IEEE)规定的形式,尽管每个字具有8位指数和23位尾数。

    11.最高有效位片-定点和双精度浮点MSS/DPFP-MSS/DPFP状态提供了用于定点的最高有效位片和用于双精度浮点的最高有效位片,双精度浮点也按照IEEE的规定加以定义,提供一符号/数值尾数符号位加上15位指数以及48位尾数,定点算术运算也可以用任何一个最高有效位片状态来完成,不过仅具体地定义了两个浮点格式,从理论上说,利用四个以上的位片可以获得更高精度的浮点运算,尽管指数位可以得到的最大位数随双精度浮点格式的不同而不同。

    12.地址最低有效位片(ALSS)-上述五个状态只适用于数据处理机,ALSS或地址最低有效位片所配置的位片则可利用地址发生器的下面一半。

    13.地址最高有效位片(AMSS)-AMSS位片用于32位地址发生器的上面一半,构成地址发生器的位片同样也支持单精度浮点数算术运算,尽管未必认为有这一需要。因为送到存储器去的地址是用定点数来表示的。

    参照图23,它显示了状态寄存器交替工作输入端。状态寄存器ALTI/O的每一位用一个锁存器接收,每一锁存器包括一个由时钟相位A计时的输送晶体管4400和一个用来产生移位寄存器总线(SRbus)输出的缓冲器,如4401,三态缓冲器4402由时钟状态B计时,交替负载X接收外部移位寄存器总线并通过I/O线将数据送回到状态寄存器,如图所示,X随位不同而变化,因为这些位被写入不同的组内,多路转换器4403在PLA总线控制下选择两个输入之一送回到进位触发器,或(OR)门4404计算趋稳性溢出位,或门4405计算单元趋稳性奇偶错误。另外,趋稳性奇偶位现役信号(Active)被与(AND)门4406控制,以驱动下拉晶体管4407,这一晶体管驱动各单元公用的奇偶总线以表明奇偶错误离开芯片,或非(NOR)门4408接收四个片配置表征码位以产生非现役输出,为整个通路逻辑所用。

    图23还表示了状态寄存器其余各位的赋值情况。

    参照24A,它显示了多端口RAM地址译码器,图24-A描绘了逻辑框图,指令总线L3通到22个译码器之一4502译出读地址,并通到译码器4506译出读/写地址PLA4509对优先地址进行译码,这一地址的输入不依赖于处理机启动。这些译码器按照传统方法设计,都具有一个5位输入端并选择22个输出之一。每个输出通到输送晶体管4503,再通过其后的一个反相器4504,最终产生选择信号。这样,在周期一开始就立即可以使用。所以,多端口RAM可以迅速地进行存取,其输出由ALU处理。地址译码与PLA操作同时开始,如图7所示,地址流水线与PLA操作流水线互相配合,这样它们保持同一相位。

    图24B是存储器布局图,它表明处于地址1至15的15个通用寄存器以及PMDR,PSW,VIE和MQ,最后三个存储单元19,20和21是中间单元,它们在指令执行期间用于除去浮点,对用户来说是不可用的,用户可以直接使用PMDR和15个用户通用存储单元于总共16个寄存器,因为VIE寄存器的修改与处理器的启动状态无关,所以它和三个中间结果存储器之一在处理器万一未工作时也可以被写入,22个译码器之一4506对读/写地址进行译码,其输出被输送晶体管和反相器如4507和4508锁定,结果产生读写地址N(RWAN)输出。PLA4509也对读/写地址进行译码,其单一输出由晶体管4510和反相器4511锁存,产生优先地址输出。该PLA将多端口RAM的各个存储单元分为处理机未启动时不可以被写入的一组和处理机未启动时可以被写入的另一组,VIE寄存器不需要特殊的硬件。

    图25是通路逻辑框图,共有七条通路,即进位通路逻辑5000,ALU通路逻辑5001,MQ通路逻辑5002,状态通路逻辑5003,循环通路逻辑5004,零通路逻辑5005和启动通路逻辑5006。其中三条通路,进位、零和启动是单向的,其它四条是双向的,每一个方向由一个指令决定,每条通路由配置位间接控制。所以当位片未启动时,信息流越过这些通路而出现,似乎单元并不存在。这时,这一单元对数据流来说就成为不出现的,尽管还是会带来微小的时间延迟。

    图26A是用于非双向通路的多路转换器(MUXES),图中多路转换器5100包括进位通路MUXES,外部MUX包括在多路转换器5100。该MUX5100只有两个信号源,即进位右和ALU进位输出,产生进位左信号。多路转换器被强制地传送进位右信号,结果,由与门5107测得的那样,单元不启动。输入MUX5101产生ALU进位输入信号,它来自多个信号源输出信号,如图中所示。此外,在由提供程序逻辑阵列(PLA)5109的控制逻辑确定的最低有效片的情况里,那些信号源的选择处于指令总线的控制下。整个这些描述中所用到的PLA总线各位表示在图16中。

    图26B显示多路转换器5102,它将零右信号,或ALU零右信号,或这两者的与信号(5103)送至零左信号,与门5104使多路转换器将零右信号传送至零左信号,结果单元不启动,在低有效位片的情形下则将ALU零信号传送到零左信号,如果该位片不是最低有效位片,那末将与门5103的输出传送到零左信号。

    图26C是启动通路MOX5105,在位片非现役或该位片不是最高有效位片的情形下,它将启动左传送到启动右。若位片处于启动状态或者是最高有效位片,则将处理机启动触发器通向启动右,每当位片非现役时与门5106沟通启动左和启动右之间的连接。

    图27是ALU数据总线多路转换器,这里未提供浮点数加速电路,MUX5200一般在位片上位1到位14,该多路转换器通过ALU控制总线位N而变成ALU数据总线位N,也可以将ALU控制总线输入端的位N+1或位N-1传给ALU数据总线。另外,MQ位N可以传送到ALU数据总线位N。多路转换器5201提供ALU数据总线位0,多路转换器5202则提供ALU数据总线位15,这最后两个多路转换器与以5200为代表的其它多路转换器的不同在于它们位于字的末端,因而作为输入端具有其特别之处,即位于一个位片右侧的下一位处于单元之外,而超出位15的下一位则到左面去了,因而也处于单元之外。

    图28是ALU通路MUXES的框图,从MUXES5300至5307这组单元可以看作是一个单独的部件,具有垂直方向的来自顶部的输入端,外加左右的连接和垂直输出。这一概念表示在如图36的流程图中,参照6404,在任一给定时刻,可由多路转换器5300向多路转换器5303提供一输入以驱动ALU左通路,或可由多路转换器5304向5305提供输入以驱动ALU右通路。不过,不存在多路转换器5303和5305同时启动的情形,在该情况下原则上有一单个的输入或者驱动左通路,或者驱动右通路,若这一单元处于启动状态,则由与门5301和5302接收的PLA总线将多路转换器输出端5303和5305之一启动,若单元未被启动,则输送晶体管5306被导通,以双向方式连接ALU左信号和ALU右信号,这样数据可以从左到右或从右到左通过该单元传送。不需要在可能存在缺陷的单元中用控制逻辑操纵以选择信息应当是从左至右流动还是从右至左流动。

    多路转换器5303以一种不变的方式将左信号传送至右信号。类似地,多路转换器5303也以不变的方式将右信号送至左信号。缓冲器5307和5308提供来自左右接线信号到单元内,以供内部使用。这些输出可以看成是单一的输出,因为它们不会被同时使用。

    在PLA总线控制下,多路转换器5309对ALU通路的最高有效位提供一输入。这一输入用于各种右移操作以及算术左移操作。在指令总线控制下,多路选择器5311允许用户为那些需要某种输入信号的指令,如右移,选择ALU通路最高有效位的四个输入之一。相应地,多路转换器5310在PLA总线控制下,为用户控制最低有效位的那些指令提供ALU通路最低有效位的输入,指令总线控制下的多路转换器5312由PLA总线选择,用以传送ALU通路的最低有效位。

    图29是无浮点加速电路的MQ交替输入多路转换器。多路转换器5400一般具有位4到位11,将MQ在四位之任一位送至输出端。另外,ALT控制总线位N也可以被传送到MQ位N上。这一转换器是三态的,在这三个状态里只有一条双向交替工作输入总线连到MQ触发器。在周期的时钟B相位期间,该转换器的输出被启动。输送晶体管5401和缓冲器5402在第一个状态即周期的时钟相位A期间对MQ触发器状态取样,缓冲器5402的输出用于下述的所有多路转换器。

    多路转换器5400的用途是在MQ通路中提供一位左移、右移和四位左移、右移。这对中间数据处理机位传送来说是十分有用的,对浮点的规格化和非规格化也是十分有用的。多路转换器5403至5410输送位片上低四位有效位和高四位有效位,因为这里包括了从单元左端或右端得到偶数位的例外情形。这些特殊位,如MQ位0,5411中的交替输入L2,取自下一个图。另外,必须注意,在所有八个多路转换器5403至5410的输出端设置由5401和5402表示的锁存器。

    图29A是MQ通路多路转换器。由5500至5506各单元组成的电路构成了如图45中用7802表示的MQ多路转换器,MQ通路是比较简单的,只有MQ位15可通过多路转换器5501传送到MQ左,以及只有MQ位0可通过多路转换器5500传送到MQ右。若单元处于工作状态则这些多路转换器被启动,其中之一可以由PLA总线通过与门5502和5503选择。若单元未工作,则多路转换器的输出是不允许的,输送晶体管5504将以一种类似于ALU通路逻辑的双向方式来连接MQ左和MQ右。MQ右信号和左信号由缓冲器5505和5506缓冲,供单元内部使用。MQ四位高有效位和四位低有效位的输入由多路转换器5507至5514控制其输出又通过图29的多路转换器5403至5410。

    多路转换器5307至5514对于MQ寄存器提供了通常的末端条件,反相器5515用于某些除法指令中,后面还将加以说明。

    图30是状态通路多路转换器组。多路转换器5600提供了流经多路转换器5601的信号,然后由状态左传送。多路转换器5604提供了流经多路转换器5605的信号,然后由状态右传送。若该单元处于工作状态,则多路转换器5601或5605被启动,选择哪一个启动是由连接到与门5602和5603的PLA总线决定的。若该单元未工作,则这些多路转换器不被启动,输送晶体管5606经由ALU和MQ通路接通。多路转换器5607选择状态左信号或状态右信号之一传送到状态左右多路转换器输出端,该输出端的走向之一是状态触发器的输入端。状态通路有多种用途,典型的是传送进位位,乘法位或除法操作中的符号比较。

    图31显示循环通路多路转换器组,这一电路的操作对状态通路多路转换器组来说是模拟态的,但有很少的输入传到循环左和循环右通路。循环通路通常用来将字的两个极端如在位0和位31里的字端连接在一起。所以称作两端之间的闭合循环。这与一般连接两个单元的相邻端,如位15和16的ALU通路和MQ通路情况不同,单元5700至5708表示图72中的循环通路多路转换器10806,这里,多路转换器5700和5704又可以看作构成四个选择器中的一个,它送入到多路转换器5703和5705以传送循环左通路或右通路。实际上,这里的图31已被优化了,因为MQ位13和ALU控制总线位0这两个信号只传送到左通路,而MQ位2和MQ位15这两路信号只传送到右通路。所以,PLA总线只要用一位就足以选择两个信号源之一,因在同一时刻只能是左通路或右通路处于启动状态,而不需要用两位来选择四个输入之一。

    图32是16位布尔指令的ALU功能。这些是0,1或两个变量A和B的基本功能,它们可以同时从MPR中读出。

    图33是16位布尔指令通路概貌,操作数A和B由读/地址和读/写地址选择,从MPR读出。根据选定的ALU的操作方式对这些操作数进行操作,进位输出输入到进位触发器6100。进位触发器的当前状态经由循环通路6103通向多路转换器6102,由S表示,它在下面所有的图中用作方式选择器,这一选择器对ALU提供进位输入,将结果送回到MPR6101,指令总线可以为那些依赖进位输入的操作在0,1间作选择,或将进位触发器输入信号输入到进位输入。

    图34表示16位短布尔指令通路用途,ALU6201位0的进位输入由选择器6200在指令总线控制下选择。由ALU操作所规定的操作与指令总线的操作相同,它被通过ALU数据总线MUX6217并写入MPR6218,6218也提供至ALU6201的输入。ALU6216最高有效位的进位输出通过进位输入多路转换器6219传送而输入进位触发器6220。这一进位触发器的输出则传送到状态通路多路转换器6221,在那里,它在其合适的引线上进行测试,并进一步传送到进位输入多路转换器或选择器6200。

    图35表示16位长布尔指令的通路用途,可以将多个位片连在一起,S多路转换器6301可在任意的最低有效位片的情况下操作,它将0,1或进位触发器输出信号送至ALU的最低有效位,如6302的最低有效位,最高有效位片的进位输出例如来自ALU6303的进位输出通过进位左多路转换器6304一直传送到下一位片的进位右多路转换器6305,由6305将其输入至位片6306进位输入的最低有效位,对最高有效位片来说,来自ALU6307的输出传送到进位输入多路转换器6308,在那里,它是最高有效位片进位触发器6309的输入,来自进位触发器6309的输出则成为状态通路多路转换器6310的输入,在状态通路多路转换器6310,它经由状态右连接送回至下一片,在此处,它变成循环左连接而输出提供给进位触发器的多路转换器6311连接到S多路转换器。

    图36表示通路用途和非现役位片。进入进位右多路转换器6400的进位信号绕过全部ALU直接进入进位多路转换器6401。循环通路多路转换器6402以及状态MQ和ALU多路转换器6403、6404和6405以双向模式工作,其中,数据自左向右传送或自右至左越过它们,与该单元任何操作无关。对于零通路,通路也可以从右至左通过,而启动通路被从左至右旁路。所以,这一单元对经过它的信息流来说变成不可见的。

    图37是移位和循环指令表。这些指令施于算术或逻辑移位和循环等各组,执行交换和四倍移位,当聚集的字长由配置位及其包含的位片规定时,该过程便被确认。

    图38是用于右移的单字移位指令通路的概貌。这意味着位N移至位N-1。在所有情况下,由读/写地址所寻址的MPR存储单元里的内容依据移位逻辑进行操作,并被输入由读/写地址所指定的MPR的存储单元内。这样,在包括算术或逻辑移位和循环的右移的单一操作中,可同时获得移动和移位。移出操作数最低有效存储单元的那一位经由循环通路传送到S多路转换器7101。

    依靠用于串行输入选择线的指令总线,S多路转换器7101可以将各个操作数的最高有效位仍旧送回最高有效位去用于符号扩展操作。另一方面,进位触发器,可在一系列移位操作中作为连接,对循环来说,最低有效位被送回到最高有效位。此外,在逻辑移位中,逻辑0可能被移入。对左移来说,即位N被移至位N+1,最高有效位被移入进位触发器7105并经由循环通路移至S多路转换器7103,在指令总线控制下,逻辑0、逻辑1、或移出顶端的位可以被移入最低有效位,存回到多端口RAM7104中去。

    只有在各种最高-中间-最低(MIL)位片中,进位触发器也可在S多路转换器7103的输入端使用,在字长超过16位的情况下,如果要将进位触发器置入最低有效位,就必须完成移位再加置一个进位到最低有效位上,而加法操作实际上将最高有效位片上的进位触发器移到最低有效位片上。不过在MIL位片中,进位触发器很易采用。

    图39是算术逻辑右移或右循环短数据通路。ALU操作是A+CIN(进位输入),进位输入由多路转换器7200置零。ALU数据总线多路转换器7202选择左侧的输入位1,这样,ALU7203的输出位15被送入位14ALU数据总线多路转换器7208。在指令总线控制下,从S多路转换器7204移入最高有效位。它是由指令总线从位15ALU7203,进位触发器7206和状态通路多路转换器7207中选择的,7207提供从最低有效位ALU7201移出的位。

    图40是算术逻辑移位或右循环长数据通路,除了各个位片间的ALU通路是连在一起的以外,这一操作与短数据通路的操作完全相同。在32位字的情况下,ALU位16即7306经由ALU通路多路转换器7305连接,将信号送到低有效位的位片,即ALU通路多路转换器7303,它又将信号送到位15    7304,类似地,移出位0即ALU7301的位0通过状态通路多路转换器7302,在那里它由下一个最高有效位片状态通路多路转换器7306接收,并传送到进位触发器输入端多路转换器7308直至S多路转换器7309。因为ALU操作也是A+CIN,所以通过多路转换器7310对最低有效进位输入置零。

    图41是逻辑左移或左循环短数据通路,其操作与逻辑右移或右循环短数据通路相反。ALU位0即7402的输出连接到位1即算术逻辑单元数据总线多路转换器7403以提供1位左移。算术逻辑单元位15即7404的输出连接到状态通路多路转换器7405,它的输出则被送到进位触发器输入端多路转换器7406,又返回到指令总线控制下的S多路转换器7400,并由此输入位0,即ALU数据总线多路转换器7407。

    图42是逻辑移位或左循环(长数据)通路,它显示两个位片的操作情况,要得到任意长度的字,只要将来自7511的ALU最高有效位(msb信号通过状态通路多路转换器送到右侧的下一个位片,同时,最末一个位片将状态通路多路转换器7501的输出连接到选择器7507,以便为位0ALU数据总线多路转换器7502所用,ALU操作也是A+CIN,通过多路转换器7500对进位链的最低有效位和位0即ALU7503置零,ALU输出在从ALU7503传送到ALU数据总线多路转换器7504时向左移1位。

    ALU越过各片的连接由ALU多路转换器如从ALU7505至多路转换器7506控制。在此,它被送回到下一个多路转换器7508,然后通过多路转换器7509输入到ALU数据总线多路转换器7510,最高有效位ALU输出7511通过多路转换器7513送到最有效进位触发器。

    图43是算术或逻辑移位或右循环的双字移位指令通路概况操作数从MPR移出,向右移一位,移出MPR的最低有效位通过循环通路传送到乘商寄存器MQ7601的最高有效位,MQ的最低有效位通过状态通路传送到选择器多路转换器7602,它处于指令总线控制之下,S多路转换器可通过逻辑零,MPR的最高有效位,进位触发器7603,或MQ最低有效位被送入MPR7600的最高有效位,以模拟方式进行逻辑左移位左循环的双重工作,来自MPR7604的最高有效位被传送到最高有效进位触发器7607,并通过循环通路传送到处于指令总线控制下的S多路转换器7606。

    逻辑0、逻辑1或循环通路的输出中任一个可以被连接到MQ寄存器7605的最低有效位。来自MQ的最高有效位通过状态通路传送到MPR7604的最低有效位,ALU操作也是A+CIN,此时CIN被置零,这样在MPR可以得到移位和移动的结合,尽管在MQ中不存在这种灵活性,在MPR所选择的存储单元必须与MQ的不同,注意,在左移和右移情形下,都是MPR存储的信息送入较高有效位置,而不是MQ寄存器存储的信息送入较高有效位置,这与做乘法时MPR和MQ寄存器里的存储单元的用法是一致的,即最低有效位从MQ寄存器产生,最高有效位从多端口RAM产生。

    图44是双字逻辑移位和双字左循环的短数据通路,多路转换器7711迫使ALU置进位输入和零,MQ寄存器位0    7702的输入由多路转换器7700在可编程序逻辑阵列(PLA)总线控制下提供,该总线选择0用于移位或选择状态通路多路转换器7709的输出用于数据,来自MQ全部寄存器位0    7702的数据被送到MQ位1多路转换器7703,对MQ左移一位也有类似上述的情形,最高有效MQ位7704被送到循环通路多路转换器7705,在那里,它被连接到多路转换器7706,它是ALU数据总线位0即多路转换器7707的输入端。由ALU输出的最高有效位7708传送到状态通路多路转换器7709,在那里,它通过进位触发器输入端多路转换器7710传送到进位触发器以及多路转换器7700

    图45是双逻辑移位或左循环的长数据多路,此外,其操作除了数据从使用ALU通路和MQ通路多路转换器7801,7802,7803和7804通过多个位片外,是与短数据操作类似的。另外,由进位输出多路转换器7805和进位通路多路转换器7806构成了进位通路,虽然事实上逻辑零是出现在多路转换器组上,此外,最高有效位片的左侧通过多路转换器7807,7809,7808和7810连接到具有最低有效位片的右侧。

    图46是双字算术逻辑移位或左循环的短数据通路,ALU最高有效位7900被向右移动一位至ALU数据总线位14多路转换器7901,类似地,ALU最低有效位7902连接到循环通路多路转换器7903,并送到乘商寄存器(MQ)最高有效位多路转换器7904,以及MQ位157905,MQ最高有效位则移动到位14,MQ输入端多路转换器7906,同样,MQ7909的最低有效位7907被送入连接到进位触发器多路转换器7910的状态通路多路转换器7908以及处于指令总线控制下的S多路转换器7911。

    S多路转换器用于选择循环、算术移位,逻辑移位或带进位的逻辑移位。

    图47是双算术逻辑移位或左循环长数据通路,右侧最高有效位为ALU位16    8015,它与MQ8009的位16通过ALU和MQ通路多路转换器8000及8001经各自的多路转换器8002和8003分别连接到下一个较低有效位片,如ALU的8016和MQ位15    8010的左侧,从最高有效位片的最高有效位至最低有效位片的最低有效位的外侧由循环通路和状态通路多路转换器8006和8007连接在一起,如连接到8004和8005,MQ寄存器位0    8013通过状态通路多路转换器8007连到多路转换器8005以及进位触发器8017和S多路转换器8014。S多路转换器逐在指令总线控制下为多端口RAM8018的最高有效位提供输入。

    图48是交换指令通路概况,指令将MPR存储的信息移至MQ,并将MQ存储的信息返回到MPR。在指令总线控制下,经由S多路转换器8100、MPR8101的存储单元的读出就可加上0、1、或加上进位触发器8102,这一结果被移入MQ8103,而MQ8103存储的信息则被输入MPR8101,这一操作对浮点是特别有用的,在那里,尾数部分必须先于非规格化进行交换。

    图49显示可由一个处理机提供的交换短指令操作。ALU最低有效位8202的输入来自S多路转换器8200,它通过状态通路转换器8206提供逻辑零,逻辑1或进位触发器8209的输出。

    位0MPR存储单元8201被通过MQ位0多路转换器8203连接到MQ位0    8204,MQ位0则通过数据总线位0多路转换器8205进入MPR位0    8201,来自ALU最高有效位8208的进位通过进位多路转换器8207进入进位触发器8209。

    图50是交换长指令的操作情况,与图49中短指令操作的唯一区别在于,各位片间的进位通路都是由进位多路转换器8304和8305实现的,最高有效位进位触发器8303是通过由包括多路转换器8302和8301的状态通路进入到在最低有效位片8300的S多路转换器。

    图51是中间数据处理机四位左移和右移通路的概貌,这些指令跳过地址处理机在各个数据处理机之间一次将数据移动四位,注意,若某一数据处理机在处理机状态字的处理机启动位不适用,数据仍可从处理机读出但不能存入。移位机构是在各MQ之间,留下存储单元和MPR空着,以便供简单移动或增量操作,图中数据处理机包括8700、8701、8702和8703,在指令总线控制下根据进位输入选择器8700的操作完成一个步骤,选择0、1,对MIL位片来说,还可选择进位触发器。数据从MQ通过未由指令改变的地址位片,送到图示的MQ8709。

    既然所有工作的数据处理机都参与了这一操作,那么,在四个步骤里可以在所有数据处理器之间传送16位,处理器N在四位左移时将数据传送至处理机N+1,或在四位右移时将数据传送至处理机N-1。

    图52是中间数据处理器四位左移操作,这里,S多路转换器8801只与一个最低有效位片有关,另外,进位通路从进位左多路转换器8802一直延伸到下一个更高有效位位片的进位输入多路转换器8801,MQ的四个最低有效位8803、8804、8805和8806被左移到下一个MQ的四个最高有效位8807至8810,MQ的四个最高有效位8815至8818通过四个多路转换器8819至8822传送到左边的下一位片,在地址或未工作的位片中数据仅仅是通过各别的多路转换器,然后进入下一数据位片,那时,信号可以从多路转换器引入MQ输入多路转换器8824至8827,并写入到MQ四个最低有效位8803至8806,在MIL位片中使进位触发器8803可为选择8801所用,以输入到ALU进位输入通路。

    图53是中间数据处理机四位右移情形,它以类似的方式工作,除了信息流是从左至右,在那种情况下,MQ的四个最低有效位8900至8903通过多路转换器8916至8919传送到右边。所有地址或未工作位片的多路转换机只是将数据从左至右传送到下一个数据处理机的最高有效位片。其中,数据从多路转换器引入到MQ输入端多路转换器8920至8923,以及MQ的四个最高有效位8912至8915。

    图54表示四位左移操作,它与中间数据处理机器四位左移操作非常相似,只是移位被限制在处理机内,四位被移入的数据位在四位左移的情况下可以是零,或者对四位右移来说,是符号位。对左移来说,选择器9004在指令总线控制下,供给0或1,或在MIL位片的情形下,输入进位触发器信号至ALU进位的最低有效位,ALU提供加法操作,该加法操作完全独立于移位操作,并且允许加法或移动与移位操作同时执行,MQ寄存器9007供给4位左移,同时,将零送回四个最低有效位中。

    对右移来说,MPR执行加法或移动操作极相似于左移操作。用选择器9000向ALU提供进位输入,其结果存储在多端口RAM中,输出送至进位触发器9002,它可返回到选择器S9000,在MPR执行操作的同时,MQ通路则产生右移,此时MQ的最高有效位馈入MQ的四个最高有效位,以供符号扩展操作,在希望实现逻辑移位操作的场合,必须用一个稍后的与指令来屏蔽掉MQ的最高有效位。

    图55详细说明四位左移(短)指令的通路操作,在指令总线控制下,选择器9100供给进位输入至ALU9101的最低有效位,ALU9102最高有效位的进位输出被传送到进位输入多路转换器9103和进位触发器9104,它被送到在MIL位片中的S多路转换器9100。在ALU和MPR操作的同时,由MQ执行4位左移,MQ的四个最低有效位9109至9112被移入MQ的四个次最高有效位9113至9116,而MQ的四个最低有效位9109至9112通过多路转换器9105至9108写入逻辑零。

    图56表示四位左移长数据通路操作情况,与上图的情形完全相同,只是在四条算术通路完成了相邻单元间的连接的情况下可支持任何字长。此外,低有效位片的进位输出通过进位通路上的多路转换器9202送到下一块最高有效位片的进位输入多路转换器9203,最高有效位片的进位输出即ALU9204被输入到进位触发器9206,MQ的四个最低有效位9211至9214则由多路转换器9207至9210写入0,在较低有效位片的四个MQ的高有效位MQ位9215至9218通过通路多路转换器9219至9222,输入到其后的最高有效位片9223至9226,然后通过MQ多路转换器9227至9230被输入在该位片里的MQ的四个最低有效位9231至9234。

    图57表明四路算术右移通路操作,ALU和MPR操作与前一例子相同,但是MQ通路自左至右移位,其中MQ的四个最高有效位9309至9312通向MQ的四个最低有效位9313至9316。MQ四个最高有效位9309至9312的输入由多路转换器9305至9308提供,它们接收MQ最高有效位9309的输出以实现算术移位操作。ALU最高有效位9302的输出通向进位触发器9304,它供作选择器多路转换器9300的输入,使其能够为ALU最低有效进位输入9301所用,这一连接只在MIL位片才是可用的,因为对于较长的字,没有可用的通路。

    图58表明四位算术右移长数据通路操作,它与前例类似,只是相邻位片的MQ连接是由通路逻辑提供,这样,高有效位片的四个MQ低有效位9415至9418经过通路多路转换器9419至9422,在那里它们被其后的较低有效位位片的通路多路转换器9423至9426接收,其输出通过MQ多路转换器9427至9430送到在该位片里的MQ多路转换器的四个最高有效位9431至9434。S多路转换器9400只有逻辑0和逻辑1可作为ALU操作的输入,通过在较低有效位位片里的进位输出多路多路转换器9402形成跨越位片的ALU操作,该进位输出多路转换器连接到下一块有效位片的进位输入多路转换器9403。最高有效位片的进位触发器9406不能用于S多路转换器9400,因为状态通路被状态通路多路转换器9422和9426之间的MQ连接所用尽。

    图59表示64位字的左循环,这一例子将表明如何形成很长的字,因为该原理可用于任一指令。即,某些连接只沟通相邻单元,而另一些信号则经过所有单元,以驱动最左边单元的左边至最右边单元的右边。最低有效位片如MPR9504和ALU9503如前例那样向左移一位。注意,在本图中位片为16位,不象其它图中在某个时刻只显示出一位。

    来自ALU最高有效位9503的数据位通过ALU通路水平多路转换器9506,在那里,它被其左侧的下一个多路转换器9507接收,并通过多路转换器9509进入MPR9508的最低有效位,最高有效位传给其后的中间有效位片,并由此一直传到前面所述的最高有效位片,在最高有效位片中多路转换器9511传送字外的数据供测试用以及使它进入位片循环,ALU的最高有效位9512必须被向右移动,这一操作由多路转换器9513执行,多路转换器9515和9516是直通的,9517也是如此,这是为了测试目的,并传送至S多路转换器9501,S多路转换器在指令总线控制下将最高有效位逻辑零传送到多路转换器9502,以存储在最低有效位片的多端口RAM9504中。

    另外,ALU9512组成的最高有效位片的最高有效位被传送到进位触发器9514,它位于最高有效位片里,这对于测试由最高有效位片传送出来的数据位是十分有用的,对与其它移位指令的连接也是十分有用的。

    图60表示算术左移短通路操作,通过多路转换器9600将多端口RAM9602的最低有效位置零。通过多路转换器9601将进位通路的最低有效位置零。每一ALU如9604的输出通过ALU多路转换器向左移动1位,由9603接收,ALU的次最高有效位9605被除去,ALU位9605的值不同于ALU最高有效位9607时进行溢出校验,多端口RAM的最高有效位9606内存储的信息被返回到本身,提供一算术移位,通过该操作保存了符号位。

    图61表明算术左移长数据通路操作,它与图60类似,不同的只是表明了多个位片的操作。在此情况下,多端口RAM的最低有效位9702和ALU最低有效进位输入9703被置零,在最高有效位片里最高有效位9704的输出被传送到ALU多路转换器9705,在那里,它被次最高有效ALU多路转换器9706接收,并传送到多端口RAM单元9707。最高有效位片上的符号位如在多端口RAM9708里的再次得到保留。

    图62表明双重算术左移短通路操作,在此情况下,MQ寄存器9801和9802存储的信息被向左移一位,并通过ALU通路输入到MPR。通过多路转换器9800对MQ最低有效位置零,MQ最高有效位9803通过循环多路转换器9804输入到MPR最低有效位9805,而MPR最低有效位9805里的那一位则被移到MPR的次最高有效位9806,而且,保留MPR的最高有效位9807以便于算术移位,同时检测溢出条件

    图63表明双重算术左移长通路操作,它与图62的类似,不同的只是显示多个位片的情形。在此情形下,MQ寄存器状态,如位9901和9902通过MQ通路多路转换器9903,它由多路转换器9915接收,并引入到次最高有效位片上的MQ最低有效位9910,MQ最高有效位9912经过循环多路转换器9913,并由循环多路转换器9904接收,它位于最低有效位片上,并传送到MPR的最低有效位9906,该位来自MQ最高有效位,将通过所有中间有效位片的循环多路转换器。ALU和在较低有效位片上的最高有效位的输出通过ALU多路转换器9905送到次最高有效位片上的ALU多路转换器9914,此处,它被引入到该位的MPR9906,MPR的最高有效位9911也保留,以便于算术移位操作。

    图64列出了执行乘法和除法操作的迭代定点指令表,乘法是用一系列的加法和移位操作实现的,除法则用一系列不恢复除法步骤实现。这些算法对任何字长来说,每位需要一个时钟周期。操作可以被分为前、中、后序列。这里,中间操作按照字的位数减1执行,前段操作使流水线初始化,这样,控制通路中改变由ALU所执行的操作的冗长的传播延迟就与ALU计算同时执行,而不是依次执行,使时钟频率达到最大。后段操作通常处理符号位。

    图65表示固定乘第一通路概况,在所有情形下,由读地址寻址的MPR存储单元A,它存放被乘数,它在整个过程中不变。由读/写地址寻址的MPR存储单元B存放部分乘积,在这一序列结束后成为最高有效位片(MSBS)。MQ寄存器开始存放乘数,最后成为最低有效位片(LSBS),这一算法是熟知的,在《高级微型器件双极型微处理机逻辑和接口数据手册》(ADVANCED    MICRODEVICESBIPOLARMICROPROCESSCR    LOGICAND    INTERFACE    DATA    BOOK)1983年,第6-59到6-62页中作了详细的描述。

    图65还表明了固定乘第一通路操作,MPR存储单元10001B被清除,因为它将用于累加结果。可是,MQ10101不变。最低有效位仅被复制到进位触发器10102和最低有效位片,它还通过状态通路传送到所有现用的位片里的状态触发器10103。重要的是,状态触发器被复制在所有现用的位片上,因为一个字的所有位片必须配合加或传送部分结果,以便执行加法或移位算法。

    图66详细表示固定乘第一短通路操作。ALU输出被置零,并被写入到多端口RAM的读/写存储单元10201,MQ最低有效位10202连接到状态通路多路转换器10203,在此它被复制到状态触发器10204和进位触发器10205以为以后的各周期所用。

    对乘法和除法操作来说,重要的是,ALU操作取决于状态位,如图15的指令可编程序逻辑阵列(PLA)2004具有两组四个输出,因为存在着两种可能的ALU操作,而状态触发器选择这两种ALU操作之一以便为乘法提供加法或传送操作,由于算术逻辑单元仅当指定了操作码时才开始操作,所以必需在时钟周期一开始就指定操作,而且由于状态触发器的流水线结构,这是有可能的。

    图67详细表明固定乘第一长通路操作,该操作与前图的类似,只是MQ最低有效位10302必须通过状态多路转换器10303到其后的最高有效位片状态多路转换器10306,在此,它被输入状态触发器10307以及最低有效位片的进位输入触发器10305和状态触发器10304。

    图68表明固定乘中间通路概貌。ALU可以传送部分积,或将其与存储在多端口RAM中的被乘数相加,ALU输出可以向右移一位,同时最低有效位进入MQ,此时MQ的多路转换器将被向右移一位,移出MQ10401的那一位存入最低有效位片的进位触发器10402,并通过状态通路传送到各现用位片如状态触发器10403。进入多端口RAM的最高有效位是图28所定义的乘法最高有效数据位(MSB)。进位触发器10402和最低有效位被保存用于固定乘最后指令,固定乘法器中间指令将ALU进位输入置零。

    图69表示固定乘中间短通路情形,MQ次最低有效位10504通过状态通路多路转换器10505,并被存入状态触发器10507和进位触发器10506,MQ最高有效位10513右移到其后的低有效位10509。ALU最高有效位10512被右移一位而存储在MPR的次最高有效位10510中,ALU最低有效位10502的输出通过循环通路多路转换器10508并进入MQ最高有效位10513。通过多路转换器10500将ALU进位通路置零。

    图70显示固定乘中间长通路,它与前一例子相同,不同的只是通过由通路多路转换器连接相邻的位片可支持任意字长。在此情形下,在较高有效位片里的ALU的最低有效位10600的输出通过ALU多路转换器10601传送到其后的较低有效位片。它由ALU多路转换器10602接收并送到多端口RAM位片的最高有效位片10603,同样,处于较高有效位片上的MQ最低有效位10604通过MQ多路转换器10605传送到右侧下一块位片,它由MQ多路转换器10606接收,由那里进入MQ最高有效位10607,ALU进位通路最低有效位10608被置零,MQ最低有效位10611通过状态通路多路转换器10612传送到位片10613和10614里的状态触发器和进位触发器,并且,被送到所有的较高有效位片,如经过状态多路转换器10615存入状态触发器10616。

    图71表明固定乘最后通路概况。在二进制补码运算里,最高有效位规定为负权重,并且定点乘法后段指令用来产生乘积的最后1位,无符号运算可以采用固定乘中间指令,对固定乘最后指令来说,进位触发器10700被输入到ALU,用于MPR型10701情况,MPR的ALU输出又被右移一位,以进入MQ10702,若乘数为负,这时,状态触发器为“真”,ALU就减去部分积,而不是如固定乘中间那样加上它,结果,进位输入是有效的,这就是为什么固定中间指令要产生它的原因。

    图72是固定乘最后短通路操作,它与固定乘中间完全相同,所不同的只是进位触发器10808通过进位输入多路转换器10805,以便为ALU之最低有效位所使用,该位又被ALU的所有各位如最低有效位10804使用。由于这是最后一个周期,不再需要使用状态通路多路转换器10811以输入状态触发器10810。

    图73表示固定乘最后长指令,与短操作类似,不同的只是相邻位片间的连接是由算术通路提供的,在此情况下,处于较高有效位片的ALU最低有效位10900通过ALU多路转换器10901送到其后的较低有效位片,在那里由ALU通路多路转换器10908接收,并传送到多端口RAM的最低有效位10911,同样,最低有效位10903和较高的有效位片通过MQ多路转换器10904连接到其后的较低有效位片,并由MQ多路转换器10909接收,以写入该位片的MQ较高有效位10912。

    作为最低有效位片的进位触发器10936通过进位输入多路转换器10910传送到链式转换装置(Chaim    Change),另外各位之间和各位片之间的进位通路通过进位多路转换器10913和10914完成。MQ最低有效位10915失去了,因为它在前一周期中已被状态触发器10916和10917所获取。

    图74表示固定除第一通路概貌,执行的算法是不可恢复的除法,这在该技术中是熟知的,在《高级微型器件(AMD)双极型数据手册》1983,第6-60页中得到描述,将计数器的最低有效位(LSB)写入MQ,该LSB将被移入MPR。MQ还保存商数,来自多端口RAM11000最高有效位片的符号比较输出如同在图30中的那样,通过状态通路传送到所有状态触发器如11004,到MQ11001最低有效位的进位触发器11002及到反相器11003。

    图75详细显示固定除第一短操作,ALU操作为A+CIN,这里,多路转换器11103将进位输入置零。这样,当MPR11100通过ALU11101并传送到MPR下一个较高有效位11102时,MPR存储的信息被移动一位,MQ最高有效位11108通过循环多路转换器11109,在此,它被通过多路转换器11104进入MPR的最低有效位11100,符号比较进到状态多路转换器11110,在此它被送到状态触发器11111和进位触发器11112,并通过反相器11107进到MQ最低有效位11106,另外,当MQ位11106被写入MQ11105时,MQ被左移一位。注意,在高级微型设备(AMD)数据手册中,符号比较的定义与前面图中的定义方法略有不同,数据手册定义符号比较在一位滞后的输出,而前面图中定义它为一位滞后的输出,尽管计算符号比较的逻辑操作是相同的。

    图76表示固定除第一长操作,可用于任意字长。它与单片操作的区别如下:位于最低有效位片上的ALU最高有效位11200通过ALU多路转换11204,在此,被下一个最高有效位片上的ALU多路转换器11208所接收。并存入该位片的MPR低有效位11211,同样,MQ最高有效位11201的输出通过MQ多路转换器11205传送到下一个最高有效位片,在此,它被MQ多路转换器11209接收,再送入MQ最低有效位11210。MQ最高有效位11212通过循环多路转换器11206传送到右侧,在那里由下一个最低有效位片如循环多路转换器11202接收,以进入到MPR最低有效位11215。

    因为循环必须在MQ最高有效位和MPR最低有效位之间闭合,则循环通路仅仅横过由它们所修改的所有中间有效位片,同样,符号比较进入状态多路转换器,存入所有状态触发器如11213和11215,并传送到所有的中间有效位片而不被修改,直到由最低有效位片11203所接收,在此,它通过反相器11216存入MQ最低有效位11217。

    从ALU位11200到多路转换器11204之间各相邻位片的连接通向ALU的下一位,用以使多路转换器11208存入MPR位11211,同样,MQ在通过MQ位11201后移经多路转换器11205由下一个MQ多路转换器11209接收以进入MQ最低有效位11210。MQ最多路转换器11209表示最高有效位片的操作,这里,为了测试,将右侧的传送到左侧。

    图77表示固定除中间通路概貌。这一步骤执行需要N-1个周期,这里N为字长,最低有效位片的进位触发器11300被用于MPR进位输入,符号比较输出11305通过状态通路传送到一个字的所有的状态触发器如11303,它还被送到MQ11302作为商数的最低有效位,并存入进位触发器11300,ALU运算可以是加或减,取决于进位触发器,它反映最高有效位的符号比较,ALU也可以从部分余数中减去分母,若部分余数为正的话,否则的话部分余数将加上分母,若部分分子为负。

    图78表示固定除中间短通路,ALU最高有效位11400并不直接输出,而是被符号比较输出获取,后者通过状态多路转换器11402传送到状态触发器11404和进位触发器11403以及MQ最低有效位11407。最低有效位11409的输出被左移一位并存储在MPR11410的次最高有效位中。同样,MQ最低有效位11407被左移一位并存入次MQ最高有效位的11411,MQ最高有效位的11405通过循环多路转换器11401送到MPR最低有效位11408。

    图79表示固定除中间长通路,它再次说明相邻位片是如何互相连接的,以及MQ最高有效位11508是如何传送到循环多路转换器11510的。它通过所有中间位片循环通路最终到达最低有效位片11504的循环通路,在此,它被送入MPR最低有效位11516,而且,来自MPR最高有效位11518的符号比较输出通过状态多路转换器11511,在那里它被存入所有的状态触发器11509和11507,并存入最低有效位片,存入进位触发器11506以及进入MQ最低有效位11517。

    各相邻位片、的内缘之间的连接,例如自ALU11500至MPR次最高有效位11515之间的连接是通过进位多路转换器11519和11520完成的,类似地,MQ最高有效位11501和较低有效位片通过MQ通路多路转换器11503连接到次最高有效位通路多路转换器11513以输入到位片的MQ最低有效位11514中去。

    此外,较低有效位片的ALU多路转换器11500的输出通过ALU11502传送到次最高有效位片,在此,由ALU多路转换器11512接收,输入到MPR最低有效位11515,对于最高有效位片,ALU通路多路转换器将ALU控制总线位15信号送到左侧以供测试,MQ多路转换器11513对MQ触发器11508也是如此作。

    图80表示固定除最后通路概貌,这一步骤确定余数的符号,它被保存在MPR中,并合拢MQ中一位间隙。MPR11601带有来自进位触发器11600的进位输入,若状态触发器为假,它就做加法,若状态触发器为真,则做减法,MQ向左移一位,将最低有效位(lsb)置零。

    图81表示用于MIL位片的固定除最后(短)通路操作。进位触发器11703被传送到ALU的最低有效位11704,其结果被存储在MPR的最低有效位11705,一个零通过多路转换储器11700存入MQ的最低有效位11705,其输出被左移一位至MQ触发器11702。

    图82表示固定除最后(长)通路操作,低有效位片上的MQ的最高有效位11802被传送到MQ通路多路转换器11803,在此,它被次最高有效位多路转换器11805接收,以输入到该位片里的MQ最低有效位11806。

    在最高有效位片中,MQ多路转换器11805将右侧的传送至左侧以供测试,另外,进位通路通过进位一通路多路转换器11808和11809在ALU的相邻位如11807和11810之间是连续的。

    图83表明寻找通路(find    poth)用途,图中显示四块位片,通过对MIL状态设置表征码将每一位片配置为一个16位处理机。另外,与ALU12200相联的最右侧的处理机被设置为最低有效处理机(LSP)状态,而其余三个处理机被设置成中等最高有效处理机(IMSP)状态,每一处理机执行某些算术或布尔操作,并装入状态触发器。然后执行推/如果(PUSH/IF)指令,输入VIE寄存器,以VIE寄存器为基准,若处理机被启动,则每一处理机的零左线为真,若处理机不被启动,则为假。这一例子假定有任意两个处理机处于工作状态,即,与ALU12206和12216相联的处理机。

    寻找操作是一个从最低有效处理机开始跨越各处理机的串行处理机。在此情形下,或门12203和带反相输入的与非门12202接收一个零,而不是状态右连接,因为位于该处理机的零左未被认定,或门12203输出为零,它被送到下一处理机的多路转换器12210,与非门12208在输出端产生1,因为在12207的零左信号为真,并且状态右输入为假,或门12209将处理机为真的条件传送到左侧,由或门12214和12219接收,与非门12213则在输出端产生假,因为输入状态线为真,如同与非门12218所作的一样,因为它的输入状态线也为真,所以,与非门12202、12213和12218产生零,只有12208产生信号真。

    这些状态由寻找(FIND)操作存入VIE寄存器,它位于系统部分多端口RAM。此外,只有第一个被寻得的处理机保持启动。

    图85列出了用于阵列芯片的特殊指令表。这些指令用来初始化和测试芯片[配置(RECON)和重新配置(CONFIG)]以及控制矢量如果/否则机构,矢量如果/否则指令的详细操作将在图86说明。

    图84是带控制器的单元处理机阵列,这一处理机阵列的关键单元是4×4阵列芯片的矩阵。数字13000至13006中13000至13003表示行,13003至13006表示列,在一列里的阵列芯片通过垂直总线13011连接到垂直存储器13007,这些阵列芯片里的单元在分时多路转换器的基础上,首先是在芯片之间,随后是在给定芯片的单元之间共用水平存储器13008。X总线通常被连接到水平存储器,Y总线则被连接到垂直存储器,各相邻芯片之间的连接是靠左/右连接如13013实现的。右边或右下阵列芯片13000由13012连接到芯片13006,它是阵列最左上端的芯片。

    高速输入/输出总线提供给每个行,该行的芯片如13000至13003并行连接。芯片阵列、水平存储器和垂直存储器都处于控制器的控制之下,并主要包括控制(c)块13015,它向所有的阵列芯片传播微指令,这些微指令由指令总线传播。控制器从系统存储器13017接收宏指令,系统存储器总线13018可以被传播到阵列芯片控制总线上的所有阵列芯片。控制器通过接口13014与主机连通,主机提供程序存储和控制器接口。

    本系统的典型用途可以是,例如,一个图象处理程序从主机通过接口,通过公用总线13018送到系统存储器13017,控制器13015从那里取出指令,并命令高速输入/输出装置如电视摄象机通过高速输入/输出总线13009将信息送入阵列芯片,当数据被安置在阵列芯片的存储器中时,该图象可以被压缩,或特征可被辨认。那时,处理过的数据可以被传送出高速输入/输出总线,送到一显示装置,如监示器。

具有带式随机存取存储器和地址发生器装置的单指令多数据单元阵列处理机.pdf_第1页
第1页 / 共159页
具有带式随机存取存储器和地址发生器装置的单指令多数据单元阵列处理机.pdf_第2页
第2页 / 共159页
具有带式随机存取存储器和地址发生器装置的单指令多数据单元阵列处理机.pdf_第3页
第3页 / 共159页
点击查看更多>>
资源描述

《具有带式随机存取存储器和地址发生器装置的单指令多数据单元阵列处理机.pdf》由会员分享,可在线阅读,更多相关《具有带式随机存取存储器和地址发生器装置的单指令多数据单元阵列处理机.pdf(159页珍藏版)》请在专利查询网上搜索。

一种单元阵列处理机,由至少两个并行处理机构成地址发生器,可对阵列芯片外的大量存储器编地址,并对本身产生一个地址,以便与每个处理机联系的动态随机存取存储器使用该地址发生器的号码,可减少地址译码逻辑线路的数量和存储器的功耗。内部宽度为256位宽的存储器为16个16位处理机提供256位数据,并与其合在一块芯片上,可省去大量引线。处理单元包括数据处理单元和地址处理单元,具有互换性,可提高仪器的成品率和可靠。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1