CN86108178A - 使用动态可重构向量位片的单指令多数据单元阵列处理机 - Google Patents
使用动态可重构向量位片的单指令多数据单元阵列处理机 Download PDFInfo
- Publication number
- CN86108178A CN86108178A CN198686108178A CN86108178A CN86108178A CN 86108178 A CN86108178 A CN 86108178A CN 198686108178 A CN198686108178 A CN 198686108178A CN 86108178 A CN86108178 A CN 86108178A CN 86108178 A CN86108178 A CN 86108178A
- Authority
- CN
- China
- Prior art keywords
- bus
- bit
- unit
- data
- path
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
Abstract
一包括由软件控制以克服制造缺陷的处理单元的矩形阵列。处理单元相互配合形成不同长的字和替代使用期内的故障单元以延长寿命,并通过分时多路转换总线(32位宽)与芯片外存储器联系。单元数据输入单元配置位的有效位数通过总线顶半或底半部分联系。在一芯片有20个这种单元(4个备用)时形成16至256位的字。每单元有16位MPR及通路逻辑。上述芯片可实现向量位位片作用。这些单元以S I DM在同指令流不同数据流下操作。
Description
下列美国专利及申请案包含的主题内容可能与本发明披露的内容有关,即一般地涉及到关联处理机或单元阵列处理机。
参见美国专利第4,546,428号,标题为“具有横卧式多路转换器的关联阵列”,1985年10月8日发表,发明人为S.G.Morton并转让给了这里的受让人。
参见美国专利第4,507,748号,题为“具有可变长度快速乘法能力的关联处理机”,1985年3月26日发表,并已转让给这里的受让人。
参见美国专利第4,536,855号,1985年8月20日发表的题为“用于快速移位传送的阻抗恢复”,发明人S.G.Morton,已转让给这里的受让人。
参见题为“具有动态可配位功能的关联阵列”的申请案,其序列号为473,362,由发明人S.G.Morton等人1983年3月8日提交,已转让给这里的受让人。
参见发明人S.G.Morton 1983年3月8日提交的序列号为473,362的申请案,题为“具有五个运算通路的关联阵列”,已转让给这里的受让人。
参见S.G.Morton 1985年11月13日提交的序列号为799,718的申请案,题为“具有内部单元控制和处理的阵列重构,已转让给这里的受让人。
参见S.G.Morton 1985年12月2日提交的序号为803,364的申请案,题为“单元阵列处理机的地址发生”,已转让给这里的受让人。
参见S.G.Morton 1985年10月2日提交的序列号为782,850的申请案,题为“特别适用于大规模集成电路使用的阵列重构设备和方法”,已转让给这里的受让人。
参见题为“具有导通频带随机存取存储器和地址发生器设备的单指令多数据单元阵列处理设备”,由S.G.Morton同日提交的申请案,并已转让给这里的受让人。
参见题为“使用多(重状)态逻辑以联接数据总线的单指令多数据单元阵列处理机”、由S.G.Morton同日提交的申请案,并已转让给这里的受让人。
参见题为“具有嵌套深度矢量处理机控制结构的单指令多数据单元阵列处理装置”、由S.G.Morton同日提交的申请案,并已转让给这里的受让人。
参见题为“为动态可重构单元阵列处理机芯片制造测试数据的储存设备”,由S.G.Morton同日提交的申请案,已转让给这里的受让人。
参见题为“用于单元阵列处理机的双线/三通道端口随机存取存储器”、由S.G.Morton同日提交的申请案,已转让给这里的受让人。
参见题为“单元阵列处理机芯片的测试方法和设备”、由S.G.Morton同日提交的申请案,已转让给这里的受让人。
本发明总的涉及阵列处理机,特别是涉及具有单指令多数据体系结构的高并行、高度规则性设计的单元阵列处理机。
在目前的技术状态下,已对关联处理机或阵列处理机进行了广泛的研究。基本上,这样的一台处理机组合了排列在一个矩阵中的大量的单个处理单元,这种处理单元的组合可进行编程而使解决复杂的数学问题成为可能。已有许多优秀的文章是涉及到这种处理机的各种形式的。
例如登载在1985年6月“美国电子和电气工程师协会计算机”(《IEEE COMPUTER》)上的一篇题为“多重处理技术”的文章,作者Chuan-Lian wu。外一篇发表在《高级技术》(《HIGH TECHNOLOGY》)1985年6月第20页-28页,题为“并行处理开始认真解决问题”,作者E.J.Lerner。
这些能够执行和完成各种复杂的问题的处理机附带有许多独特的特征和要求。许多现有的处理机使用单指令、单数据构造,这一特殊的结构很适于规则性的应用,它高度结构化,可以形成不同大小的结构而不须很多附加费用。
关于上述结构,单指令多数据(SIMD)结构是高度规则化的,数据单元被整块处理,输入数据的容量很大,并且当每个数据的计算要求相当一致的时候,所要求的响应时间可以很短。在单指令多数据机中既有阵列处理机,也有单元阵列处理机。阵列处理机通常具有高性能的运算单元流水线,并行度小,并且可以对数据阵列进行操作或运算。
一台单元阵列处理机是高度并行的,它具有一个处理机阵列,每个处理机对一个数据阵列起作用。这种多重处理机完全得益于高度结构化的超大规模集成电路(V1 SI)设计,特别是被下面将要描述的容错技术扩展的时候。
如前所述,现有技术提供了多种类型的阵列处理机,然而仅仅是一个有很少单元的阵列处理机。一种这样的设备由古德依尔(Goodyear)制造并称为MPP(Massively Parallel Processor)。见《IEEE计算机》杂志,1980年,第80~85页上发表的K.E.Butcher所著的题目为“大规模并行处理机设计”的论文,该文描述了一种单元阵列处理机。
这种处理机数据流进行储存和处理。上面描述的处理机被设计成位串行、字并行方式。每个字一位接一位地存入一个接一个的存储单元。总之,增加了运算时间出现了许多制作上的问题。因此,本申请中将要描述的处理机以位并行,字并行的方法工作,所以,在存储器寻址方面具有更大的灵活性,允许以简单而有效的方式编制程序。
根据本发明所述的阵列芯片,可在一个单元阵列型的高度并行的处理机中用作一组件块,根据本发明的处理机使用单指令多数据结构,在这种结构里需要大量的算术逻辑单元和存储器用以由单指令流来并行操作多重数据流。这种系统需要大量的完全相同的处理单元。
这些处理单元必须紧密相互联接以便灵活地相互传送数据。另外,必须提供一个高速输入/输出数据的装置,以使处理单元能得到充分而有效的使用。
下面将要述及,该结构以一种最有效的方式利用处理单元从而可以防止处理单元被长时间的闲置。
因此,本发明的目的之一在于使可以集成到一块单板集成电路的处理单元的数量达到最大。
本发明的进一步目的是使这些处理单元的每一个的操作效能达到最大。
本发明的另一个目的是为同一芯片的处理单元提供局部存储器以致在芯片外获得数据不遭到延迟。
正如下文将要说明的,高速输入/输出结构被提供以允许向电路板上的(芯片上的)存储器移入新的数据和从其中取出。典型的系统是在一单阵列芯片上用了20个16位处理机单元,上述芯片具有256K位的动态随机存取存储器(DRAM)提供给使用者,单元的数量和DRAM的容量都是相对任意的。
较佳的实施例要求在一块芯片上至少具有18个16位处理机加上两个备用处理机。处理机采用16位宽是为了扩大用于单精度和双精度运算的浮点运算的效能。指数被包含在字的最高有效16位中。该结构应用动态容错技术来提供阵列结构的软件控制。尽管典型的结构是16个16位处理机、8个32位处理机或4个64位处理机,一块芯片上任意数目的单元可一起工作以增加字长。
此外,两个处理机结合在一起以产生地址。这些地址可被用来寻址电路板在的(芯片上的)存储器或寻址阵列芯片外的数据。当从阵列芯片外寻址数据时,芯片的主存储器总线以分时多路转换器方式操作,其中,需要一系列存储周期来向芯片上的所有单元提供数据。因此,这种分时多路转换器显著地增加了所有单元取数据所需要的时间,在编制本机器的程序时将尽量减少这种存储器存取的次数。
芯片上提供两个备用处理单元以克服制造缺陷的措施显著地增加了可被经济地置于一个芯片的处理机的数量。而且,该措施通过使大量的处理机能够同时位于一单芯上而不是被包含在多个芯片上而改善了系统的效能并减小了系统的尺寸。
由于进入芯片的许多引线为芯片上的所有处理单元所共用,那么如果在一块芯片上具有一个带存储器的单32位处理机,为了提供与本芯片同样的联接关系,就必须在各个芯片上重复总线和指令的接线。因此,需要至少八个芯片而不是一个单片,而且每个芯片要有约100条引线以完成同样的功能操作。
因此,本设备的另一个目的是通过使用大量廉价处理机最大限度地提高效能,其中每个处理机在一个千字区域中配备着一个中等数量的存储器,不过,这也是任意的,因为这取决于目前随机存取存储器(RAM)电路的制造能力,静态或动态的RAM都可以用。所以,本发明的进一步目的是尽可能减小引线的数量,减小功耗和辐射噪声。为了达到这些目的,将叙述一个2∶4电平转换器。该转换器能减少器件引线数,并因此而减小封装尺寸和成本。
此外,使用这种转换器,人们能利用将被称作2/3/4总线结构的技术,该结构提供了在多达4条的总线上传输信号的多种方法。其作法是提供一个能在最小数量的引线上传输最大数量的数据的手段(means),这种引线是与紧密布置的芯片相联系的。即,这是一种适用于单线路板而不是跨接许多电路板的技术。
就单线路板的意义来说,事实上,这些各种各样的芯片似乎是在同一块圆片上,该圆片上的信号系统不是供共同使用的,该信号方案是将两个数据位置于一根引线上,在常规的接口中,如晶体管-晶体管逻辑电路(TTL)中,在一根特定的引线上设置的电平是逻辑0或逻辑1。在下文将描述的技术中,四个电平,即逻辑00、逻辑01、逻辑10、逻辑11被置于一根引线。基本上是由一个2位数-模转换器在引线上设置信息,同样,由一个2位模-数转换器从引线上接收信息。数-模转换器是这种方式设计的:通过提供大量电源引线,一个引线对应于一个电压电平,而不用模拟电路,来减少功率消耗。这种系统的抗干扰度在不必对付底板噪声时的紧密排列的场合是绰绰有余的。
四种电平信号是准备用于同种芯片间的通讯的,对于不同芯片间的通讯,需要一种2∶4电平转换器缓冲芯片。在一根引线上设置四个逻辑电平的另一个特点是可减少噪声产生,因为平均电压变化是电源电压的一半,而不象在常规的互补金属氧化物半导体(CMOS)芯片中的等于电源电压。它进一步减少了驱动引线所必需的功率,因为大电容引线的能量消耗与线路电容同电压平方的乘积成正比,电压摆幅减半以后,功耗就相应减小。
在置有少量两态总线或大量四态总线的芯片中提供了一个相容机构。此外,比其它总线都窄的高速输入/输出总线是以这样一种方式控制的,即可以用作两种电平时的字节,也可以用作四种电平时的16位字。这样可以在总线带宽和接口电平之间作折衷处理,只要每秒传送的数目是相同的就可以。
通过四种电平,而不是提供时钟频率增加一倍而位数减半的办法使这些总线的时钟频率减至最小值,由于在较高时钟频率时的多个芯片间有时钟频率偏移的问题,增加时钟频率还会显著增加驱动总线所需的功率,此外,时钟频率加一倍时要求极短的响应时间,因此,驱动元件的尺寸要做得大得多。
这样,为了进一步改进单元阵列处理机的工作性能和为了简化结构,在本说明书中给出了各种技术。将就这些技术作详细说明,使用这些技术将提供上述所期望的特点从而改进处理机的操作并降低成本。
本发明的一个特征是在一块单集成电路芯片上设置处理单元。这些处理单元由软件控制以克服制造缺陷,并从而结合在一起以形成不同长度的字,和取代那些在处理机的使用期限内失效的单元来延长机器的有效寿命。
这些单元通过分时多路转换总线与外部存储器联系。总线为32位宽,每个单元同时与总线的上、下两部分相联接。根据输入单元内的配置位,单元按照置于单元的有效位来决定通过总线的上半部分或下半部分进行联系。所以这种单元在每一单芯片上装置了20个这种单元其中4个作为备用部件的情况下,将形成16位和256位字长之间的字。
现将描述所应用的第二种技术,这一技术包括将大量的动态随机存取存储器(DRAM)结合在同一块芯片上。这是本发明的关键之点,即两个16位单元可结合在一起作为一个地址发生器,以致使阵列芯片外部的大量存储器可被寻址,并且可在电路板上产生地址以借DRAM使用。
本发明的进一步特征在于组合和应用了大量可动态再配置16位片的技术和装置,这种16位片可启动和截止任意多的处理单元以根据其所操作的数据来进行响应,其目的是允许定义一组字长,然后根据其所操作的数据来确定哪些处理单元将被启动或被截止。如将要说明的,这种技术在提供对位于阵列中的所有处理单元的最有效的使用的同时,完成复杂的功能。
本发明的另一个特征是每个阵列芯片在制造测试时间内,把有缺陷单元的位置编制程序入芯片内的能力。此数据可以在系统初始化时读出而无须进行测试来重新测定有缺陷单元的位置。而且,描述了一种技术,其中这些芯片组,每个芯片可能有不同的缺陷单元组,可在系统中被组合在一起,该系统还提供一种简单的从所有芯片中读出缺陷信息的方法(means)。
本发明的再一个特征是可以同时测试多个单元以达到减少测试时间的目的。芯片上有测试逻辑可以同时在一条公用总线上监测多个单元的输出。当有缺陷单元的位置确定后,它们可以在软件控制下被排除,以有缺陷单元的位置确定后,它们可以在软件控制下被排除,以便可同时进行其余单元的测试。这样测试时间得以显著减少并减少芯片成本。
本发明另一个特点是多端口随机存取存储器的独特结构。用静态存储单元组成了一个具有两个读端口和一个写端口的存储器,其中两个读端口用于从两个不同的存储单元内读出数据。接着用于一起入一单个存储单元。
图1示出了根据本发明的阵列芯片框图;
图2示出用于阵列芯片的逻辑单元的详细框图;
图3示出了根据本发明的存储单元块的框图;
图4示出一阵列芯片上的引线表;
图5为指令总线位一览表;
图6为根据本发明的阵列芯片的运算器(ALU)指令集表;
图7为指令总线时序的一系列定时序图;
图8为根据本发明的公用控制逻辑框图;
图9为根据本发明的一系列可用总线配置图;
图10A、10B、10C为根据本发明2-4电平转换器框图;
图11为总线引线应用表;
图12A和B为外部总线接口框图;
图13为一高速输入/输出接口框图;
图14A和14B是随机存取存储器(RAM)行地址逻辑框图;
图15为逻辑单元的控制逻辑框图;
图16为非最佳化可遍程序逻辑阵列位表;
图17为逻辑单元启动逻辑框图;
图18为逻辑单元的总线接口框图;
图19为多端口随机存取存储器框图;
图20A、20B和20C为静态存储单元框图;
图21为处理机状态字位的应用表;
图22为应用于本发明的位片种类表;
图23为状态寄存器交换输入的框图;
图24A和24B构成的框图示出了多端口随机存取存储器的地址译码器;
图25为一系列通路逻辑框图;
图26A、26B和26C为进位通路多路转换器、零通路多路转换器和使能通路多路转换器框图;
图27为算术及逻辑运算单元(ALU)数据(D)总线多路转换器框图;
图28为ALU通路多路转换器框图;
图29为乘商寄存器(MQ)交替输入多路转换器框图;
图29A为乘商寄存器通路多路转换器框图;
图30为状态通路多路转换器框图;
图31为循环通路多路转换器框图;
图32为ALU功能表;
图33为布尔(Boolean)指令通路框图;
图34为短布尔指令数据通路框图;
图35为长布尔指令框图;
图36为非现用位片运算;
图37为移位和循环指令表;
图38为单字移位指令通路概述框图;
图39为算术或逻辑移位或循环向右(短)数据通路框图;
图40为算术或逻辑移位或循环向左(长)数据通路框图;
图41为逻辑左移位或左循环(短)数据通路框图;
图42为逻辑左移位或左循环(长)数据通路框图;
图43为双字移位指令通路概述框图;
图44为双逻辑左移位或左循环(短)数据通路框图;
图45为双逻辑左移位或左循环(长)数据通路框图;
图46为双算术或逻辑右移或右循环(短)数据通路框图;
图47为双算术或逻辑右移或右循环(长)数据通路框图;
图48为交换指令通路概述框图;
图49为交换(短)数据通路框图;
图50为交换(长)数据通路框图;
图51为中间数据处理机四元左移位和右移位通路框图;
图52为中间数据处理机四元左移位数据通路框图;
图53为中间数据处理机四元右移位数据通路框图;
图54为四元移位通路概述框图;
图55为四元左移位(短)数据通路框图;
图56(a)、56(b)为四元左移位(长)数据通路框图;
图57为四元组算术右移位(短)数据通路框图;
图58(a)、58(b)为四元组算术右移位(长)数据通路框图;
图59为用于一64位字的左循环框图;
图60为算术左移位(短)数据通路框图;
图61为算术左移位(长)数据通路框图;
图62为双算术左移位(短)数据通路框图;
图63为双算术左移位(长)数据通路框图;
图64为迭代定点指令表;
图65为固定乘第1个通路概述框图;
图66为固定乘第1个(短)数据通路框图;
图67为固定乘第1个(长)数据通路框图;
图68为固定乘通路概述框图;
图69为固定乘中间(短)数据通路框图;
图70为固定乘中间(长)数据通路框图;
图71为固定乘最后一个通路框图;
图72为固定乘最后一个(短)数据通路框图;
图73为固定乘最后一个(长)数据通路框图;
图74为固定除第1个通路概述框图;
图75为固定除第1个(短)数据通路框图;
图76为固定除第1个(长)数据通路框图;
图77为固定除中间通路概述框图;
图78为固定除中间(短)数据通路框图;
图79为固定除中间(长)数据通路框图;
图80为固定除最后通路概述框图;
图81为固定除最后(短)数据通路框图;
图82为固定除最后(长)数据通路框图;
图83为一个寻找通路使用框图;
图84为带有控制机的单元处理机阵列框图;
图85为特别指令表;
图86为处理机启动操作表;
图87为外部总线接口功能表;
图88为逻辑单元输入/输出(I/O)控制机功能表;
图89为逻辑单元总线接口功能表;
参照图1,图中示出了根据本发明的一个阵列芯片。
从图1可以看出,布置在芯片上的是20个16位处理机,标号为200到219,它们每个均与标号为200到239的一个小的动态随机存取存储器或DRAM相连接。每个16位处理机如处理机200被联接到一个有关的动态随机存取存储器如220。所有的动态随机存取存储器如220到239通过行译码器240及分布式列译码器并行地寻址以供16位处理机使用。
16个16位处理机可接收净256个位,即16位通过16个动态随机存取存储器单元一次传送(转移),这样输送的地址是由两个16位处理机一起产生以形成一个供芯片上和芯片外用的32位地址。选其中哪两个单元来产生地址是由软件控制的,但有一个限制,即在它们之间不能有数据处理机。基本上,形成地址寄存器的两个单元必须是相邻单元例如201和202或217和218。但是,在形成地址发生器的两个单元之间可以有一个有缺陷的处理机存在。
因此,如果处理机218是有缺陷的处理机,则处理机217和219能被用作地址发生器。根据图1的框图,20个16位处理机中两个可以是有缺陷的,并且阵列芯片仍将具有完整的运行性能。如果有缺陷的处理机多于两个,则性能就不完整了。
图1还示出了一个公用总线250,此公用总线250为32位宽,由标号为32的斜线表示,公用总线将其全部宽度与各个16位处理机联接。16位处理机,当其配置成在一个字中有一个特定有效位数如最低有效16位或最高有效的16位时,亦被分配到公用总线的上一半或下一半,以使总线结构对那些16位处理机故障的组合不敏感。
公用总线250与一个具有X/Y总线输入和I/Z总线输入的外部总线接口电路242相联接。两个输入接口都通过32位与总线接口242联接并基本上都是双向的输入/输出总线。从图1可见,来自被形成地址发生器的两个16位处理机的地址通过公用总线250被送到行译码器及分布式列译码器输入C如动态随机存取存储器中的220。
这种方式中,如220至239的各个动态随机存取存储器根据由行译码器和列译码器选择的地址同时向有关的16位处理机提供1个字。在芯片上的动态随机存取存储器也可被看作是芯片外的动态随机存取存储器的聚集形式。在这种结构中,1个13位的存储器地址通过外部总线接口242被导入芯片。地址的下部的8位流入行译码器240。地址的上部8位作用于列译码器,用以从8K32位字中选择一个。从不在芯片插件板所看到的全局寻址也可以用作芯片插件板的寻址。
在与现役的16位处理机连接的动态随机存取存储器中配置着一个表,一个16位处理机可以存取该表中的任何单元而不限于局部动态随机存取存储器的存取。但是,在这种情况下,在同一时刻仅能有16位或32位的芯片上动态随机存取存储器是现役的,而处理机组将通过分时多路转换的方式被循环使它们在需要时可依次向该表存取。
指令接收器243从外部总线接口242接受指令总线。该指令总线控制16位处理机。指令接收器包括一个当指令总线进入芯片时捕获指令总线的和当指令总线传送到16位处理机时缓冲总线的寄存器,以及包括一个指令译码器,该译码器用来控制驱动器和接收器用于控制X/Y总线、I/Z总线、程序(Pgm)I/O左和Pgm I/O右所要求的引线驱动器。一组缓冲器245被提供用来接收芯片所要求的各种时钟和控制信号。
外部总线接口242接受X/Y总线和I/Z总线,选择该四个总线中的一个并使数据通向或取自公用总线250。这个总线接口具有在有关的总线上和晶体管-晶体管逻辑电路(TTL)或4-电平极容的能力。高速(HS)I/O接口(Intf)241使高速I/O数据与16位处理机相通。该高速I/O接口还与两电平或四电平逻辑线路一起使可以在与芯片有关的输入/输出引线上传送的数据量达到最大。必须指出的是:为了验证动态随机存取存储器的数据储存是否完整,从16位处理机到局部动态随机存取存储器位(DRAMS)通过一个奇偶校验位。
测试接口和可编程序只读存储器(PROM)244在常规芯片操作过程中,奇偶检验误差信息传出芯片,在系统初始化过程中传送制造的测试数据。
参照图2,图中示出了阵列芯片逻辑单元框图。该逻辑单元对芯片上的动态随机存取存储器的数量不敏感。随着技术的发展,可以比较容易地安装改进的存储器或逻辑单元。逻辑单元的心脏是多端口随机存取存储器(MPR)301,MPR301存储通过软件控制输入的结构数据,以选择单元是现役或非现役。如果单元为非现役,其表现为不可见,且它的状态除了有可能改变结构外不会改变。位片结构或掩码(表征码)确定了一个单元是用来计算存储器地址,还是用于计算数据,还确定了需要什么样的16位片来作为32位地址的下半或上半部或作为32位单精度浮点字的下半或上半部分。位片结构或掩码还决定总线接口300是将单元的16位接入公用总线的下半部如位15到0,还是将其接入公用总线的上半部如位31到16。此外,掩码提供了中断处理机串行连接的手段(means)。
在并行处理机中,经常需要询问处理机集以使一个单一的外部控制装置可以与一个单一的处理机相通。在执行一个运算,其中一个用以计算结果的并行处理机子集对于外部公用控制是有意义的这种情况下,公用控制需要一个方法以依次挑选出一个接一个的处理机来执行运算。提供一个所谓“寻找机构”(“find mechanism”),在那里第一个满足一个条件的处理机可被发现,然后由该处理机执行计算。然后该处理机在可获得下一个满足条件的处理机时被丢失或释放。
在这种情况下,需要为此目的预定一系列处理机并提供一个结构(配置)状态。通路逻辑303和使能逻辑304提供该获得/丢失机构,以及提供基本条件运算机构,其中处理机集将求解某些运算,并且仅那些满足某些条件的处理机才可以继续计算。
有一种称作向量如果/否则(VECTOR1F/ELSE)功能的方法(means),提供用于一组条件运算的嵌套结构,并且该结构也接入寻找/丢失机构。此外,由使能逻辑确定的单元的现役状态通过写入启动线上的总线接口300与连接该单元的局部存储器相联系,所以只有当单元是现役的或正在进行高速I/O传送时,数据才被写入它的局部动态随机存取存储器。
此外,由于单元集可配合在一起以形成位意长的字,由最高有效位片驱动的使能逻辑将它的现役状态传给所有字中较低有效位的处理机,使它们可被从属到最高有效位片。通过左使能(Enable L)和右使能信号获得从属条件。
多端口随机存取存储器(MPR)301除了包括含有配置位和状态寄存器的处理机状态字(PSW)外,还包含15个供程序编制器用的通用寄存器。该15个通用寄存器外加一个向逻辑单元送入和取出数据的程序存储数据寄存器(PMDR),可通过作为指令(I)总线309一部分的读地址(RA)和读写地址(RWA)线的4个最低有效位被寻址。MPR301还包含4个通用寄存器供指令集微程序编制器使用。MPR301能同时存取两个存储单元,如由读/地址(RA)输入选出的地址A或由读/写地址(RWA)输入所选出的地址B。
然后这两个输出由算术及逻辑运算单元(ALU)302根据来自I总线309的指令被操作,并且结果在同一周期通过ALU数据(D)总线301被写回到MPR301。通路逻辑303包括在一程序块中将单元连在一起的机构,形成比16位长的字和执行诸如移位和循环功能。单元N的通路逻辑通过L通路(左)信号308与左面单元即单元(N+1)的通路逻辑相联接。
有6个左(L)通路信号:ALU左、MQL(乘商寄存器左)、循环左、状态左、进位左、零左,虽然仅其中四个:ALU左、循环左、状态左和乘商寄存器左从芯片上退出。连接单元(N-1)的右侧的通路逻辑同样有6种信号:ALU右、MQ右、循环右、状态右、进位右和零右。这里也只有其中4个:ALU右、乘商寄存器右、循环右和状态右退出芯片。还有两个从使能逻辑304来的使能左和使能右通路信号。
退出芯片的4个左和4个右信号提供了在不同芯片上的处理机间的快速移位手段(means)。并不打算构成跨越多芯片的字,这就是为什么最大时间临界信号,例如“进位”和“零”不是横跨芯片边界的原因。该设计的一个重要特点是在一个单片上可实现足够数目的16位处理机,以提供大量相当长的字,如8个32位的字或4个64位的字或一个非常长的256位字。
通路逻辑303还包括双向装置,其中左通路和右通路如ALU左和ALU右可在已认为单元是失效的和在MPR301中的掩码相应地被设置的情况下,被双向地联在一起。由于四个通路:ALU、乘商寄存器、循环和状态的信息流的方向取决于指令,并且指令控制305由于其较大的尺寸而易出故障,所以必需有少量的逻辑电路;在发生故障的情况下跨越过通路逻辑303提供信息的双向传送。
此外,为了使逻辑线路的数目减至最小必须使单元成为不可见。系统被初始化时,引向MPR的复位线被启动,使掩码位可以被清除,迫使一个不经过控制逻辑305而被直接解码的非现役状态来使通路逻辑进入旁路状态供单元有缺陷时使用。完好单元则按照所要求的位片类型使起作用。
使能逻辑304还在芯片内包含单元的实(际)标识符(ID),以便在系统初始化时可对每一单元轮流寻址并相应地建立它的配置。因此在每一单元的使能逻辑内建立了一个实(际)地址。对于一个20单元芯片和一个实地址的解码器来说该实地址0-19是单元之间的仅有的差异。单元在其他方面都是相同的。
初始化之后,程序编制器可以通过它的与配置掩码一道存储在处理机状态字(PSW)中的虚(拟)地址对单元寻址。该程序编制器是对故障单元的位置不敏感的。
控制逻辑305提供解译在总线309上发送的指令的手段。该指令连同片配置掩码306一起被解释,以控制对每条指令、每个位片配置、每个单元的操作。控制逻辑305被用作为可编程序的逻辑阵列(PLA)以控制数据流。控制逻辑305控制如下面要描述的各种多路转换器,使数据能根据在指令总线309上传送的特别的指令转移。注意,指令总线309还与使能逻辑304、通路逻辑303以及多端口随机存取存储器301和总线接口300相联接。总线接口300提供向高速输入/输出总线、标定为位31到16和位15至0的公用总线上半部分和下半部分、以及向局部存储器的联接。
总线接口300包括奇偶发生器和检验装置以证实在单元和其存储器之间传送的各种数据的完整性。总线接口300还包括一列译码器用于全局存储器变换方式,其中在区域0至15范围内的单元的虚标态被与一个地址的4个最有效位相配比,以在32位传送的情况下选择两个16位动态随机存取存储器。
参照图3,其中示出了一存储单元的方块图,它是包括在各个单元中的并已在图1中用参考号220至239表示的存储器402。较佳的局部存储器的实例包括通常的每位一个晶体管的随机存取存储器阵列,根据传到线性行选择器输出401的线性行行选择输入400选择一个4个字宽的存储器402。
假定采用常规方法,需要提供备用行和备用列来提高与各个逻辑单元联系的存储器输出。图中用线性行选择里的备用行的储备和输出409处的备用列表示。备用件的数目并不重要并是以尽量减少设备成本为基准来选择的。
动态随机存取存储器(DRAM)中备用的行和列是在制造测试中以静态选择的方式提供的。对DRAM中的行和列提供软件配置是经济的。读/写逻辑403包括诸如在常规动态随机存取存储器中的读出放大器、缓冲器和备用列逻辑线路。4字宽的总线被通向列选择逻辑404,该列选择逻辑404根据两个列选择位从有着16个数据位和1个奇偶校验位的四个字块中选择一块,也提供一个用于列选择线的锁存器,最后产生的17根线(16位数据和一位奇偶位)经过(局部)存储器总线407传入逻辑单元。该存储器中的列总数为20单元乘上(4×16数据位+1奇偶位)+1备用位)等于1380。
读/写逻辑403、动态随机存取存储器单元阵列402和列选择逻辑404均受控制线408控制,该控制线408称为存储器控制线,提供读、写操作以及刷新功能。来自逻辑单元的写入启动线405确定某一存储器是否存储信息,此写启动线用于三种情况:用于写矢量,此时一些16位处理机的子集是现役的;第二用于全局存储,一个或两个存储单元将被启动;第三用于高速I/O数据被输入到所有逻辑单元的存储器内时。
参照图4,图中示出了阵列芯片例如在图1中说明的那种阵列芯片上的引线的接线情况。总共105个引线可分为6大种类。它们是高速I/O、X/Y总线、I/Z总线、存储器控制总线、程序I/O总线和其它。可以看到,关于这些引线在图上都有一定的标志,例如指明高速(H/S)I/O总线有8条数据引线用于输入/输出信息或数据并可在2或4电平(下面将会说明)下操作。这些注释说明了许多引线,例如X/Y总线及I/Z总线上的引线,也能操作于2或4电平。这种方式的操作将在下面描述。
参照图5,图中示出了阵列使用的指令总线。指令总线位分成八类:读地址、读/写地址、处理机启动、串行输入选择、OP(操作)码、外部总线接口控制、逻辑单元总线接口控制、和备用指令位。从图可见,总共有32个有关指令的位。
参照图6,图中示出了数据通路指令集。通常的基本二变量布尔(Boolean)函数如A+B、A-B、A或B的以及在乘除过程中迭代定点操作等都包括在内。重要的是,为了减少尺寸和因此扩大各个处理机单元的输出以及为了提供可变字长,乘除操作作为步进重复操作,而不用并行组合逻辑如一个16×16的乘法器。
浮点类似地被作为一系列基于定点指令的操作来提供,另外提供了一组移位和循环操作。这些均将下面描述。
参照图7。图7中示出了指令总线时序的一个例子,时序以图1中缓冲器245接收的外部ALU时钟为参考(基准)。该例子系沿着一条单指令的定时,从IO(单指令)通过芯片整个逻辑线路,一个先于时钟脉冲C1的下降沿的预设(准备)时间发现外部I总线上的IO处于稳态。外部I总线必须在外部ALU时钟下降沿之后在一保持时间内保持稳定状态。
芯片内的时钟相位B比外部时钟稍微滞后一些。外部I总线由时钟脉冲B0接收和寄存。在时钟脉冲C1的下降沿之后,时钟脉冲B0也下降并在滞后一个tA后时钟相位A上升,时钟脉冲A1延迟所接收的I总线并将其送向单元。注意,这时候芯片内部的定时是完全同步的,在I总线接收中的所有随机性由缓冲器除去,缓冲器由时钟脉冲B0取样。从时钟脉冲A1的开始到时钟脉冲B2的结束代表了指令执行的译码阶段。
随着时钟脉冲B1上升沿,各单元的寄存器接受指令总线并将指令总线向指令PLA发送以便对指令译码,或将其向地址译码器发送用以为多端口随机存取存储器读/地址和读/写地址译码。寄存器被安置在各个单元内而不是安置在公用逻辑线路上以便从时钟脉冲B2的上升沿开始使自公用逻辑至单元的传送时间与译码时间无关。
时钟B和逆向时钟C的脉冲时间是足够宽的,以致使PLA功能和地址译码功能可在进入由时钟脉冲A2和B2标志的执行阶段之前实现。PLA和MPR地址译码器的输出在时钟脉冲A2开始处被锁存,在那里他们一直被保持到执行阶段结束。在时钟脉冲A2开始时,多端口随机存取存储器可被存取并因此根据状态触发器选择ALU的操作。一旦多端口随机存取存储器的输出和ALU操作被选择,便开始算术逻辑运算。多端口随机存取存储器的输出在时钟脉冲A2期间被稳定使它们在利用脉冲B2的写相位时钟过程中在ALU的输入处不会改变。
来自算术或逻辑运算的数据在时钟脉冲B2的末端成为有效,此时其被锁存入多端口随机存取存储器的读/写地址单元,芯片的输出如左通路和右通路的输出成为有效。这时,由于译码阶段与IO指令的执行相位同时发生,有可能发生下一指令的执行。
参照图8。图8所示为公用控制逻辑框图,时钟发生器1007产生如图7所示的时钟相位A和时钟相位B。产生这种时钟相位的电路是本技术领域熟知的,并且可从图7中确定,有许多包含多谐振荡器的电路,它们能产生图7所示的时钟脉冲。
I总线由电路1002锁住。从图中可见,该电路的每个位包括一个场效应晶体管,场效应晶体的栅极上加有时钟相位B,I总线中的1位则与源极和漏极相连接。场效应晶体管为一个开关装置,在它的栅极收到一个合适的电压时便在源极和漏极之间呈现一个低阻抗,当一个极性相反的电压加到栅电极时在这些电极间呈现出一个极高的阻抗。
组件1002中场效应晶体管(FET)的输出电极与倒相器联接。倒相器的输出接到组件1003中第二FET的输入电极。第二FET在其栅电极接收时钟相位A并且它包括与1002相同的电路,电路1003的倒相器的输出与又一个开关1004联接。开关1004在FET的栅电极接收时钟相位B。开关1004输出被引向可编程序的逻辑阵列(PLA)1005,其输出与又一个在时钟相位A过程中操作的开关装置1006相联接。
如图所示,I总线由1002锁存。该总线再由1003锁存并然后被导向单元。锁存器1004与在单元中的延迟相适应,可编程序逻辑阵列1005提供由1006锁存的通路配垫驱动器定向线。
图中所示的可编程序只读存储器1009在芯片测试时被输入,它用来帮助一组阵列芯片的配置成可以运行的系统。在可编程序只读存储器(PROM)1009中储存的总共大约256个位,为所述数据以及一些备用位提供了足够的贮藏量。和通常一样,可编程序只读存储器是用激光或用电方法编程的,用这种方法最最经济。可编程序只读存储器1009的容量一般编制成8位宽×32单元,每次给寄存器1010装入一个字节并在测试控制逻辑1008控制下,当下一个字节被提供时,被移出寄存器。
当芯片选择信号为“真”和复位的下降沿出现的情况下,测试控制逻辑1008被初始化,并且输出序列开始。由于每一阵列芯片中缺陷单元可能有各种组合形式,外部控制逻辑必须知道哪些单元是有缺陷的以便组合可工作的单元,通过寄存器1010和在系统初始化时的测试控制逻辑1008可读出可编程序只读存储器1009,它一般包含下列数据:
1.器件的顺序号,
2.制造日期码,
3.部件号码
4.参数数据如时钟频率,
5.单元状态,即逻辑单元和存储单元中缺陷的位置,
6.备用。
图8在PROM DATA标题下示出了这些数据的缩写表。
当复位停止,(芯片选择)(CS)为高电平时可编程序只读存储器1009通过时钟相位B被移出,见图7,当复位电平为低电平时奇偶错误输出并在缓冲器1012上拉(Pullup)晶体管不能提供一个线“或”连接时不产生移位。注意,即使有不少缺陷芯片仍可使用。
例如,如果存储器中存在一个大缺陷,芯片仍可用于不用片载存储器的场合,在这种情况下,20个单元中16个将被用来操作数据。或者,可用于地址发生器不需要片载动态随机存取存储器的场合。在这种情况下,如果16个存储器单元是可运行的,则它们就有可能被用于16个数据处理机,地址处理机可以从没有相应的良好的存储器单元的逻辑单元构成。如上面曾指出过,包括地址发生器的两个单元必须是相邻单元,中间可以允许出现有缺陷的单元。第三种可能是芯片可以用一半容量,其目的是让它提供8个16位处理机及两个地址处理单元,这时,就允许有10个故障单元而不是2个或4个。
参照图9,其中示出了总线配置情况。实例A为一种常规的相互连接法,利用了晶体管-晶体管逻辑电路的相容性,其中I总线和Y总线是除了高速I/O总线(目前我们暂时不考虑它)以外的仅有的总线。
实例B示出了中间相互连接A,控制线1104为逻辑01状态,约为1.65伏。此时,指令总线保持与TTL相容而X总线和Y总线是4电平,5个状态,每个包含16条线加1个奇偶线,可提供32个数据位加2个奇偶位。
实例C是中间互连接B,控制总线由逻辑10驱动,逻辑10状态约为3.3伏。X总线仍为常规的三态总线,而I总线和Z总线为五态总线,每个包含17条线提供32个数据位及两个奇偶位。
实例D示出了一种最大相互连接,根据C线上具有大约5(4.95)伏电平的逻辑11,每条I、X、Y和Z总线被构成为可用于五种电平。该最大相互联接方法是芯片的较佳应用它可以在最大连接的同时将连接中所消耗的功率减至最小。要注意:4电平逻辑只限于I/O引线以便使内部逻辑线路如将要描述的双向多路转换器和内部总线均可能是常规的2电平逻辑线路。
参照图10A。图中详细示出了2~4电平转换器和2~4电平选择器1200,该选择器1200有两个输入,分别由B0和B1表示。B0用于2电平逻辑控制,B0和B1用于2电平逻辑控制。内部B0和B1可是零或1并被接到在定向信号控制下操作的4电平选择器1200的输入,这在组件下面示出,由此,定向信号被加到反相器1213的输入,它通过“与”门1200提供所示的与组件1200耦合的输出信号(OUT),和IN信号则加到A/D转换器1205。
如将要说明的,数据在B0、B1和电平移位器1204之间传送,反之亦然。在2电平到4电平选择线(2L/4L)的控制下,三个双向单元如1201、1202和1203按下列方式移动数据。
在两电平操作且奇数/偶数置于偶数时,位B0通过双向门1203和1202传到电平移位器1204的两个输入。当奇/偶置于“奇”时,位B1通过1201和1215传送到电平移位器。因此,对于2电平逻辑,电平移位器1204的B0和B1是相等的。对于4电平逻辑,B0通过通路单元1203传到电平移位器1204的位B0,内部B1通过通路单元1201传送到电平移位器1204的B1输入。对于进入电平移位器1204的数据,则这些通路倒向。
在4电平操作时,来自电平移位器1204的B0通过门1203传送到B0内部通路单元1203,来自电平移位器1204的B1通过单元1201传送到B1内部通路单元1202。
在两电平操作中,在外部引线1212处看到的电压电平为常规CMOS(互补金属氧化物半导体器件)信号,例如0或5伏。这种类型的信号被广泛地使用并如所指示的用于CMOS系统中。4电平的选择是任意的。为简便起见,假定5伏为高电平操作电压并且4态均匀地分布在地电压和5伏之间。为使数据流入末端1212,数据通过电平移位器1204,以将芯片内部的、对小器件来说可能相当低的不同工作电压转变成高电平工作电压以输出器件之用。如果输入和输出工作电压相同,则不需要电平移位器1204。
任何情况下,电平移位器都是众所周知的部件,在已有技术中有许多这种电平移位器的实例。这种器件经常用作种种数字逻辑系统与别的类型不同的各种数字逻辑系统之间的接口。
电平移位器1204的输出被传向数字-模拟转换器D/A1206的输入,如果此转换器被启动,就在输出引线1212上输出一个电压。数/模转换器的启动或截止取决于向使能(启动)端(E)施加的输入信号。
为了数据进入芯片,A/D转换器1205从引线1212接收2电平或4电平电压并产生输出信号B0和B1,模/数转换器1205可通过很多方法构成,这些方法是本技术领域的技术人员所熟知的。一种本领域的技术人员所熟知的瞬时转换器一般能用于快速操作。如果使能输入端E表明正在接收数据,则模拟/数字转换器1205的B0和B1输出为现役。如图中可以看出,通向模拟/数字转换器1205和数字/模拟转换器1206的使能输入信号是从门1213得到的,门1213在其输入有定向信号。任何情况下,如果使能输入表示出正在接收数据,模拟/数字转换器1205产生现役的B0和B1输出。此时,B0和B1被导向电平移位器1204,然后通过2~4电平选择器1200,导向内部总线。所以内部总线在信号是从引线1212进来的情况下会接收和它所产生的相同的逻辑电平。
参照图10B。图中示出了一个最小功率数字/模拟转换器。这种转换器和图10A中的所示的数/模转换器1206相类似。该转换器用来减少芯片的功率消耗。考虑到为了能提供最佳电平用以驱动输出引线而不是通过芯片上的模拟装置来产生电平,稍微增加一点引线的数量被认为是可取的。
例如,地电压一般表示为0电压,VBB为1.65伏,VCC两倍于VBB为3.3伏,VDD3倍于VBB为4.95伏(在其它地方近似为5伏)。图10B中的译码器1207接受B0和B1并在被启动的情况下产生一个4中选1的选择来接通低压降开关如开关1208到1211中的一个。这样在与引线1212相连接的输出端(数据输出)产生1个电压输出。如果译码器启动非“真”,则00到11的输出均为非现役。
参照图10C,其中示出了2~4电平转换器1214的符号,在其它图中亦将采用。请注意,按上述内容,2电平~4电平选择器包括多个双向开并如1202和1203,这些开关能通过CMOS结构的场效应晶体管或其它方法来实现。双向开关的使用、实现和控制是本技术领域的技术人员所熟悉的,基本上,上面指出的选择器电路1200是按所描述的那样工作的。
参照图11,其中示出了2~4电平总线的应用,它和图10结构产生的电平是一致的,为了应用一组引线构成1或2条总线,必须按表中所示那样连接数据位。故,例如对于2电平逻辑,引线1至32应包含X0到X31,而对于4电平逻辑,相同的引线将包含X和Y总线两者。该表示出了一种减小芯片接线复杂性的方法使一条或2条总线可以被连接到单一的一组引线上。
例如,在4电平逻辑中,引线1将包含X0和X1,而引线2,以前在2电平逻辑中包含X1,现在包含Y0和Y1。因此,引线可成对地利用,其中一对引线可以具有X0和X1或X(N)/X(N+1)和Y(N)/Y(N+1)对。I和Z总线的接线示于引线50至81并以模拟方式操作。注意,引线号数只是例子,具体的引线编号是任意的,但引线的配对是极其重要的。
图12示出了外部总线接口。图12A的2位单元重复16次以形成总线接口逻辑线路,4个2~4电平转换器如1400至1403连接于4条I/O引线1407到1410。这些I/O引线位于两组:X/Y对1407和1408以及I/Z对1409和1410。X/Y对可用于两种工作方式,在2电平方式中,X被传送,此时,引线1407传送位X(N),引线1408传送位X(N+1)。在4电平方式中,1407传送位X(N)和X(N+1),此时引线1408作为Y总线,提供位Y(N)和Y(N+1)
I/Z对以模拟方式工作。在2电平情况下,引线1409传送位I(N),引线1410传送位I(N+1)。2电平或4电平操作的选择是由图8中的模拟/数字转换器1013完成的,它接受总线配置信号。总线配置信号产生信号X/Y4L,由2~4电平转换器1400至1401接收,信号I/Z4L,由2~4电平转换器1402至1403接收。
所有4条总线如X、Y、Z、I可通过双向收发机1404和1405多路传输到公用总线。
由于在4电平情况下存在4个B0信号源,双向收发机1404具有4个输入以从这些总线的每一个接受B0信号。这些信号又变成公用总线位N。4个信号中哪一个传送到公用总线,由来自公共逻辑的4个信号XIN,YIN,ZIN和IIN选出。同样,存在着四个供选择的B1信号源。
I总线是单方向的,只有一个单一信号源I总线位N,它是2~4电平转换器1402。但是I总线位2有两个信号源,这取决于外部I总线是处于2电平方式还是处于4电平方式。因此,多路转换器1406接收2~4电平转换器1402和1403的输出,在那里I/Z4L信号选出适当的信号源传送到I总线B(N+1)LO(零电平在各个单元进一步被缓冲)。
信号从芯片内向芯片外的传送例如从公共总线通过一2~4电平转换器1400向收发机1404的传送以及传送到引线X/Y(N)1407,按下列步骤发生:现役的输出由X输出、Y输出、Z输出和I输出中的一个选择,在此期间,没有现役的输入信号。偶数编号的位从公共总线通过2~4电平转换器1400的输入位0被传送到引线,而奇数编号的位如公共总线B(N+1)通过收发机1405并被2~4电平转换器1401的输入即位1接收,此处X/Y总线是以2电平方式工作的。2~4电平转换器中奇数和偶数的供给方便了边缘引线和内部总线之间的规则连接。
具有总线多路转换和一个最低限度的相互联接的通用(规则)的2位单元简化了芯片中总线的多重布置。4条I/O引线1407到1410相互毗邻并且围绕着芯片周长重复成4个组块。
上拉(pull-up)晶体管1420和1421用于制造器件的测试时,它们由可编程序逻辑阵列(PLA)1422按照将在后面说明的外部总线接口控制指令接通,为了减少测试芯片的时间,及测试费用,所有的芯片可同时地通过将它们初始化到相同的状态,并利用公用总线检验它们的输出来进行测试。在此情况中,单元将用现役的下推(pull-down)晶体管驱动公用总线并且测试器将通过一根外部总线监视公用总线。如果产生非期望的结果,则表明有一个故障单元,测试会依次询问各个单元直到故障单元被查出。到那时,该单元将被关闭,同时其余单元的测试将重新开始。
可编程序的逻辑阵列1422产生将在图85中所描述的缓冲控制信号。
缓冲器1424考察芯片现役总线,该总线用于外部逻辑,以确定一个芯片是否正在驱动一条外部总线。
图13示出了高速I/O接口的框图并举出了一2~4电平转换器的另一个用途。在这种情况下,一单个8引线组如1522到1529接受高速I/O总线,此电路不是提供两种不同的总线合用一同一引线组如在图12中的X/Y的可能性,而是允许数据一次用4电平方式以16位传送或者一次以8位按顺序低字节和高字节用2电平方式传送。
位是按下列方式分配到引线的:在4电平工作方式中,引线1522接受位0和位1,引线1523接受位2和3等等都是顺序相继的引线接受顺序相继成对的位。在2电平方式中,引线一个挨着一个依次接受顺序较高的位,如引线1522接受位0和引线1523接受位1,在这两种情况下都是针对正在传送最低有效字节。在当最高有效位正被传送的情况下,则引线1522将具有位8和引线1522获得位9等等。
模拟-数字转换器1500接收高速I/O方式,I/O选择信号是4电平信号。信号选择三种方式的操作:在2电平操作时,该引线选择在引线上可能是逻辑00的低字节或者选择在引线上可能是最高逻辑电平11的高字节。在4电平16位操作中,引线将呈现一个中间值,A/D转换器1500的状态由门1501到1503译码,提供信号2L高字节、2L低字节和4电平高速I/O,4电平操作中,芯片从高速I/O数据引线接收数据,其操作方式如下:2~4电平转换器1504到1509、1510、1514、1515、1518、1519和1520启动它们的B0和B1输出。多路转换器1505从与引线1522到1525相联系的2~4电平转换器接收8个输出并将它们在高速I/OIN信号控制下通过缓冲器1506传送到高速I/O数据总线位0至7。多路转换器1516将与引线1526到1529相联系的8个位通过缓冲器1517传送到高速I/O数据总线位8至15。相反,对于数据从芯片传送到引线,多路转换器1511从高速I/O数据总线位0至位7接收8个位并将它们传送到2~4电平转换器1504、1509、1510和1514。高速I/O数据总线的位8至位15经过缓冲器1513后传送到4个最高有效位转换器1515、1518、1519和1520。
在2电平操作中,首先传送最低有效字节。从8个2~4电平转换器中取出8个位,并在“与”门1508控制下存储到锁存器1507中,该“与”门是当传送高速I/O低字节时被驱动的,I/O时钟由时钟发生器(CLK GEN)1530接收,CLK GEN1530产生同在解释外部算术逻辑运算单元时钟(EXT ALU CLK)时解释过的一样的非重叠时钟脉冲。
在传送高字节时,多路转换器1516从2~4电平转换器接收8位并将它们传送到高速I/O数据总线位8至15,在此同时锁存器1507使多路转换器1505能够传送到高速I/O数据总线位0至7。以2电平方式传送时,最低有效字节直接通过多路转换器1511传送8条引线时,锁存器1512存储从高速I/O数据总线位8至15来的最高有效位的状态。
当传送高字节时,经过锁存器1512。
图14A示出了随机存取存储器(RAM)行地址逻辑框图,RAM地址在本实例中被表示为10位宽,在这里假定每个单元有1,024个存储单元,其实这可以是任意的。该地址进入多路转换器/锁存器(MUX/LATCH)1702。每一个取自公共总线位0至7的RAM行地址位被传送到译码器1704。译码器1704和备用行选择块1705都是本技术领域设计DRAM的人所熟悉的。它用来在DRAM阵列中从256加备用行中选择1行。
备用行选择器1705假定有少量的备用行使故障行可被淘汰。
为了便于更新,提供一个计数器1701。该计数器1701的输出在更新操作过程中通过多路转换器/锁存器1702以代替随机存取存储器行地址。受存储器控制线控制的控制逻辑1700通过多路转换器/锁存器1702传送数据并在每次更新操作后使计数器加1。
参照图14B。图中详细示出了MUX/LATCH。如果存在地址选通的话,一个地址可以通过通路单元1706。被储存在反相器1708输入端的状态产生反相的锁存输出。此时的译码器1704不以反相电平工作,但它与这里概括性的描述是无关宏旨的。
当通路单元1707及1706都不是“真”的时间内计数器的输出也可以在计数器选通的控制下通过单元1707,储存在反相器1708的输入处。
参照图15。图中示出了逻辑单元的控制逻辑框图,来自公共逻辑的指令总线L2由具有通路晶体管2000和反相器2001的锁存器接受以产生指令总线L3。指令总线L3接到图24中的多端口RAM的地址译码器以及接受位片配置掩码和操作码位的PLA2004上。PLA的许多输出,如在图16表中列出的,由具有通路晶体管2005和反相器2006的锁存器锁存以产生PLA总线。在状态触发器的控制下,PLA的8个位进入多路转换器2007以产生ALU操作(OP)。
对于状态触发器不敏感的那些指令如简单的布尔(Boolean)运算,状态触发器是无关器件,在此情况中多路转换器2007的输入包含两组4个相同的位,如果状态触发器是必要的则状态触发器为“伪”输入为0,状态触发器为“真”输入为1。
ALU OP传向图2中ALU302,一些指令总线L3位即不包含操作码(OP)也不包含多端口随机存取存储器地址,通过包括2002和反相器2003的锁存器,以使它们与通过PLA2004和MPR地址译码器的那些位具有相同数量的延迟。
图17为处理机使能逻辑。PLA2200接受输送进位、负、零和溢出位(C、N、Z、O)的状态寄存器总线,以及接受输送读地址的4个最低有效位的指令总线L4。该可编程序逻辑阵列2200产生一个单位的VIE(向量如果/否则)输出,此处条件选择位被用来挑选由状态寄存器位定义的16种条件中的一个。当条件为“真”时,VIE输出为“伪”,这是由于当VEI寄存器包含如由ALU零逻辑测定的所有零时,VEI逻辑保持处理机的现役状态。
VIE的输出信号由ALU通路多路转换器(MUXES)中的多路转换器5309接收,这将在图28中详细说明。比较器2201产生虚(拟)单元选择信号使读地址(RA)的4个最低有效位与输送虚(拟)单元选择掩码的4个状态寄存器总线位相对应。该信号可用于写使能逻辑等场合。PLA2202接收五个RA位并产生实际单元选择信号,该信号也用于写使能逻辑。该PLA2202是单元与单元不同的唯一电路并产生一个线性单元译码,在那里最右面的单元被译码为零,接着单元依次译码为1、2、3等等。该功能被应用于使用重新配置指令的芯片初始化,使某一单元可配置到一特定的位片中去。
PLA2203产生处理机使能信号。它控制对单元的局部存储器及MPR的写入,它的真值表示于图中。
参照图18,图中示出了逻辑单元总线接口的框图。该逻辑单元将单元连接于32位公共总线、16位局部存储器总线、和16位高速I/O数据总线。作为程序存储数据寄存器(PMDR)交替I/O总线的单元存储器总线3005,通过收发机3003被接到公共总线位31至16或通过收发机3002被接到公共总线位15至0。将使用哪个收发机的选择是由总线控制3004完成的,它是受反映在可编程序逻辑阵列总线中的水平掩码控制的。一个偶数位片,如32位字上的位0至15通过收发机3002连接到公共总线的16个最低有效位。一个奇数位片,如位16至31,通过收发机3003连接到公用总线位31至16。16位偶数位片如高中低偶数片(MILE)连接到公用总线位15-0,16位奇数位片如MILO连接到公用总线位31-16。
局部存储器数据通过收发机3001与总线3005连接,从局部存储器接收的数据由奇偶发生器/检验器3000进行奇偶检验。当被检验出一个奇偶错误时。发出单元奇偶错误信号,由示于图23的自持奇偶错误触发器收取。奇偶发生器检验器为常规设计,它具有一个异或门树用以检验奇-奇偶校验。通过收发机3008的高速I/O数据总线的接口被双(倍)缓冲。输入存储数据寄存器A(IMDRA)3006和输入存储数据寄存器B(IMDRB)3007均受I/O控制器3009控制。
双缓冲允许一个I/O数据向量的接收。而先前的向量被送向局部存储器或从其中接收,此外,由于I/O存储数据寄存器(MDR)的3006和3007可以向PMDR交替I/O总线3005进行存取,该I/O总线3005可与公用总线联接,当数据是以共用总线(分时多路转换器)方式被询问时,数据从外部存储器装入上述这些寄存器。
总线控制300 Fare的功能示于图87。I/O控制器3009的功能示于图86。
缓冲器3020被用来将ALU数据总线通过缓冲器3002或3003直接送往公用总线而避免PMDR。这对于地址操作是有用的,地址操作中在一个单循环周期内一个地址可由地址单元来计算并传入局部存储器被存入一个新地址和列地址寄存器。
外部存储器被连接到任何X、Y、或Z总线中,寻址由两个单元提供,该两个单元结合在一起形成地址发生器。
参见图19。图中示出了多端口随机存取存储器的框图。指令总成L3由译码器4001和4000接受。读地址(RA)由在4020处产生22条选择A线的读地址译码器4001接受。读/写地址(RWA)由在4021处产生22条选择B线的RWA译码器4000译码。这些线由PMDR4002、程序状态字(PSW)4004,MQ4006和通用寄存器4030接受。
选择A线选出一单行存储器,22个存储(字)单元中的一个,来驱动INT MPRA总线4008。选择B线选择22行中的一行以驱动INT MPRB总线4009。单元由反相锁存器4010锁存以产生MPRA输出4013,读/写单元由反相锁存器4014锁存以产生MPRB4016。
每个反相锁存器包括通路晶体管4011和反相器4012如锁存器4014。锁存器4014在时钟相位A控制下在周期的前部分锁存数据,因为在周期的后部分数据将“与”门4019的控制下,被缓冲器4018和反相缓冲器4017修改。
存储器的储存单元如将要进一步说明的那样是静态的,要求“真”和“伪”输入并相反地提供一个“真”和“伪”输出。反相器4015在4009上补充“真”输出使锁存器4014的输出为“真”值。PMDR具有PMDR ALT(交替)I/O信号,除在读地址和读/写地址控制下的操作之外,每位使用一个反相器如4003。同样,处理机状态字(PSW)具有PSW ALTI/O由反相器4005接收用于写入操作。
乘商寄存器(MQ)有一外部输入,MQ ALT I/O用反相器4007进行写操作。此外,PSW可直接复位以使位片配置位在初始化时间内呈现非现役状态。
图20为静态存储单元图,图20A是MPR,但其中没有交替输入。图20A要15个通用寄存器和4个系统通用寄存器。一种常规的6个晶体管静态存储单元电路被应用以达到减小功率消耗和提供无时钟储存的目的。一对交叉连接的反相器4101和4102提供基础单元。
反相器4102提供Q或“真”输出,反相器4101提供Q或“伪”输出。这些反相器的每一个的上拉晶体管都具有中等阻抗使输出可被相对低的阻抗的串联输入晶体管4100和4103下拉以达到把数据写入单元的目的。这里要着重说明的是使用静态单元,使其中4104中的数据和4105中的反相数据(
数据)必须提供给单元以进行写入操作,提供了一个实现MPR的理想装置,因为在这种MPR中,需要两个不同输出。因此,在时钟相位A中,其中一条线如线4014用来和读/写地址译码器一起以提供MPRB输出,信号线4105被用来连同读/写地址译码器一起以提供MPRA输出。这些输出在时钟相位A过程中被存储进一个锁存器。在时钟相位B过程中,两条信号线4104和4105与读/写地址译码器和时钟相位B一起使用以将数据和
数据写入被选出的单元。因此只需要两个信号来对MPR进行读和写,而其它设计需要两条线用于输出,第三条线用于输入,这样进一步增加了实现MPR所需要的存储器译码逻辑的数量。
通路晶体管4100和4103与上拉晶体管4100和4102相比,具有较低的阻抗,以便可以让逻辑零送入单元。
图20B为一典型的用于MQ寄存器、PSW、PMDR的存储位。在这三种应用中,不但寄存器必须是根据读地址和读/写地址是可存取的,而且必须在其它存储单元在MPR中被存取时接收附加输入。基本存储单元由交叉连接的反相器4110和4111组成,通路晶体管4113和4114则连接到4118和4119处的MPRA和MPRB总线。
此外,通过晶体管4112和复位信号4120的直接复位仅与处理机状态字一起使用。处理机状态字包含对于非现役位片必须被置零的配置位。按这种方法,一个复位信号将使所有单元进入非现役状态,使它们与所有总线断开从而使它们彼此互不影响。根据ALT I/O输入4123通过晶体管4115和4116提供位单元交替输入。触发器操作配备组合反相器4117一起提供,当ALT选通线4122和4121均被认定时,来自信号引线4123的数据将被写入单元。数据也能通过确定4122而非破坏性地从单元读出,其中数据将流出单元而进入ALT I/O线4123。
这能使进入单元的线的数量减到最小,即一条线对应一条双向总线而不是一条用于输入,另一条线用于输出。因此在图20A和20B所示两实例中,用一对线进入单元,一条线能从两个不同单元获得输出,或者如图20A那样,利用两条线向单一的存储单元写入,或者如图20B那样,利用一条单一的线同时向某一单元发数据或写数据以代替多重单元。
图20C示出了指令存储数据寄存器。一个静态触发器包括反相器4136和4137。数据可通过两个源PMDR ALT I/O和高速I/O数据写入或读出。指令顺序器必须保证一次只执行一个单一的写入操作。图86描述了控制读/写晶体管4132和4135以及写晶体管4131和4134的功能。
参照图21。图中示出了处理机状态字位应用表。状态寄存器占5个位。有一个进位触发器,它存储着ALU的进位输出,它来自ALU 的最高有效位片的最高有效位。负触发器存储芯片上ALU输出的最高有效位。零触发器确定累加的结果是否是零。溢出触发器从最高有效位片上的最高有效位接收溢出输出。保留或趋稳(Sticky)溢出触发器存储其自身的“或”和来自芯片上最高有效位的溢出输出。进位、负、零和溢出触发器可随每个运算指令改变,但趋稳溢出触发器仅能靠在软件控制下以将零装入该位来清除,在该情况中,可进行一系列计算,然后询问趋稳溢出触发器,看它们是否有一个具有一个溢出的输出,而不是在每个指令后必须检查一下溢出触发器。
这五个状态位仅在字的最高有效位片上有效。它们在所有芯片上产生,这些位片在那以前一直是跨越字的位片存储累加结果,因此应该忽略不计。系统初始化时4位虚拟单元标识符与配置掩码一起被输入以致使应用程序可直接与16个现役的数据处理机中的任何一个相互通信。由于一个芯片上仅存在一个由两个16位处理机组成的单一的32位地址发生器,一个芯片中就不存在正在与哪些地址单元通信的模糊不清的情况。有4个配置掩码,它的状态将结合下图描述。
此外,存在一个由向量IF/ELSE(如果/否则)逻辑控制的处理机使能(位)。如果该位为“真”,则单元中的存储可在一个指令过程中被修改,而与向量IF/ELSE逻辑相联系的存储器的修改与该位的状态无关。趋稳奇偶误差位在包含奇偶错误的数据被单元接收的时候置位,并且该位是其自身及奇偶错误位的“或”,一旦该位被置位,将保持不动直到被程序或PSW输入清除为止。当任何趋稳奇偶错误位被置位时,芯片输出处的奇偶错误特征位将被置位。
参照图22。图中示出了芯片类型和它们对公用总线的分配表。表中有11个数据掩码和两个地址掩码状态。请注意,虚(拟)单元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/LSP)-该MILE/LSP状态提供一个16位处理机,它包含一个字的最高有效、中间有效、最低有效部分,使用的是公用总线的位0至15。此外,该处理机断开该状态通路,开始寻找操作。
6.最高-中间-最低奇数位片(MILO)-该状态提供一个16位处理机,它包括一个字的最高有效、中间有效、和最低有效部分。使用的是公用总线的位16至31。
7.最高/中间/最低偶数位片(MILE)-该状态提供了一个16位处理机,它包含一个字的最高有效、中间有效、和最低有效部分。使用的是公用总线位的0至15。
8.数据中间有效位片奇数位片(DISSO)-该DISSO位片包含大于32位的字位如32至47位。定点和浮点操作均可支持。
9.数据中间有效片偶数(DISSE)-该DISSE包含大于32位的字位如48至63位,在数据最低有效位片和数据最高有效位片之中可以配置任意数量的中间有效位片奇/偶状态。定点和浮点操作均能支持。
10.数据最高有效位片单精度浮点(DMSS/SPFP)-该DMSS/SPFP位片提供定点操作的最高有效位片和单精度浮点操作的最高有效位片。对所描述的结构按照美国电子和电气工程师协会(IEEE)规定采取单精度浮点,尽管有一个字具有8位指数和32位尾数(数值部分)。
11.最高有效位片-定点和双精度浮点数(MSS/DPFP)-MSS/DPFP状态提供用于定点的最高有效位片或用于双精度浮点的最高有效位片。双精度浮点也按照IEEE的规定加以定义,提供符号/数值尾数符号位加一个15位指数以及48位尾数。定点算术运算也可以用任何一个最高有效位片状态来完成,不过仅对两个浮点格式具体地定义。从理论上说,利用四个以上的位片可以获得更高精度的浮点运算,尽管指数位可以得到的最大位数随双精度浮点格式的不同而不同。
12.地址最低有效位片(ALSS)-上述五种状态只适用于数据处理机,ALSS或地址最低有效位片所配置的位片则可以是地址发生器的下面的一半。
13,地址最高有效位片(AMSS)-AMSS位片可配置为一个32位地址发生器的上面一半。配置成地址发生器的位片也支持单精度浮点运算,然而未必有这一需要,因为送到存储器的地址是用定点表示的。参照图23。图中示出了状态寄存器的替换输入。状态寄存器ALT I/O的每一位用一个锁存器接收,每个锁存器包括由时钟相位A计时的通路晶体管4400和一个缓冲器如4401以产生移位寄存器总线(SR BUS)的输出,三态缓冲器4402由时钟相位B计时,交替负载X接收外部移位寄存器总线并通过I/O线将数据送回到状态寄存器。如图所示,X随位的不同而变化,因为这些位被写在几个组内。多路转换器4403在PLA总线控制下选择两个输入中的一个送回进位触发器,或(OR)门4404计算趋稳溢出位,OR门4405计算单元自持奇偶错误。此外,自持奇偶位由与门4406用启动(Active)信号控制选通,以驱动下拉晶体管4407。该晶体管驱动各单元公用的奇偶总线以表明芯片的奇偶错误不在芯片内,“或非”门4408接收四个位片配置掩码位以产生非现役输出用于整个通路逻辑。
图23还示出了状态寄存器其余各位的配置(赋值)情况。
参照图24-A。图中示出了多端口RAM/地址译码器,图24-A,说明了逻辑框图。指令总线L3接到22个译码器之一4502上以解译读地址,并接到译码器4506以解译读/写地址。PLA4509对独立于处理机启动装入的优先地址译码,这些译码器为常规设计,都具有一个5位的输入并选择22个输出中的一个。每个输出均接到通路晶体管4503,其后有一个反相器4504产生选择信号,使其在周期一开始就可供使用。因此,多端口RAM可以迅速地被存取,其输出由ALU处理。如图7所示,地址译码器与PLA的操作同时开始,并且地址流水线与PLA操作的流水线相互配合以使他们处于同相位。
图24-B示出了一个存储器布局,它表明处于地址1至15中存在的15个通用寄存器以及PMDR、PSW、VIE和MQ。最后三个存储单元19、20和21为中间单元,它们在指令执行期间用于除去浮点,而不是供用户使用的。用户可以直接使用总共为16个寄存器的PMDR和15个通用存储单元,因为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)。图26-A中,进位通路MUXES、外部MUX包括在多路转换器5100。该多路转换器5100只有两个源,即进位右和ALU进位输出,产生进位左信号。如果,“与”门5107测得单元不启动,则多路转换器被强制传送进位右信号。内部MUX5101产生ALU进位输入信号,它来自多个信号源输出信号如图中所示。此外,在由提供可编程序逻辑阵列(PLA)5109的控制逻辑确定的最低有效位片的情况下,那些信号源的选择是受指令总线控制的。整个说明中所用到的PLA总线示于图16。
图26B为多路转换器5102,它把零右信号,零右“与”5103 ALU零或ALU零送至零左信号。在单元为非现役的情况下“与”门5104迫使多路转换器将零右信号传送到零左信号。在最低有效位片的情况下则将ALU零信号传送到零左信号,如果位片不是最有效位片,则将“与”门5103的输出传送到零左信号。
图26C为使能通路多路转换器5105,在位片待用(非现役)或该片不是最高有效位片时,它将使能左传送到使能右,若位片处于现役状态或是最高有效位片,则将处理机使能触发器接至使能右,每当位片是非现役时,“与”门5106迫使使能左与使能右相联接。
图27为ALU数据总线多路转换器,此时未提供浮点加速电路。MUX5200一般在位片上是位1~14。该多路转换器通过ALU控制总线位N成为ALU数据总线位N,或者将位N+1或位N-1的ALU控制总线输入传给ALU数据总线。另外,MQ位N可以被送到ALU数据总线位N多路转换器5201提供ALU数据总线位0,多路转换器5202则提供ALU数据总线位15,这最后两个多路转换器与以5200为代表的其它多路转换器的不同之处在于它们位于字的末端,因而作为输入端具有其特别之处,即位于一个位片右侧的下一位处于单元之外,而超出位15的下一位将向左,因而也处于单元外边。
图28为ALU通路MUXES框图,从MUXE5300到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的四位中任一位送至输出端。另外,ALU控制总线位N也可以被传送到MQ位N上,这一转换器是三态的,因为只有一条双向交替输入总线连到MQ触发器,在周期的时钟B相位期间,该转换器的输出被启动。通路晶体管5401和缓冲器5402在周期的时钟相位A期间对MQ触发器状态取样,缓冲器5402的输出用于下述的所有多路转换器。
多路转换器5400的目的是在MQ通路中提供一位左移和右移以及4位左移和右移,这对中间数据处理机位传送来说是很有用的,对浮点规则和非规则化也很有用。多路转换器5303至5410输送位片上4个最低有效位和4个最高有效位,是因为这涉及从单元左端或右端得到偶数位的例外情况。这些特殊位,如MQ位0,5411中的交替输入L2,取自下一个图。另外,必须注意,在所有八个多路转换器5403到5410的输出端都设置有5401和5402一类的锁存器。
图29A为MQ通路转换器。由单元5500至5506组成的电路构成了如图45中用7802表示的MQ多路转换器,MQ通路较简单,只有MQ位15可通过多路转换器5501送到MQ左以及只有MQ位0可通过多路转换器5503传到MQ右,若单元处于现役状态则这些多路转换器被启动,其中之一可以由PLA总线通过“与”门5502和5503选择。若单元非现役,则多路转换器的输出是不启动的,通路晶体管5504将以类似于ALU通路逻辑的双向方式来连接MQ左和MQ右。MQ右信号和左信号由缓冲器5505和5506缓冲,供单元内部使用,MQ四个最高和四个最低有效位的输入由多路转换器5507至5514控制,其输出再通过图29中的多路转换器5403至5410。
多路转换器5507至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个布尔(Boolean)指令及ALU的功能,这些是0、1或可同时从MPR中读出的两个变量A和B的基本功能。
图33为16个布尔指令通路。操作数A和B由读/地址和读/写地址选择从MPR读出,根据所选择的ALU运算操作方式对这些操作数进行运算,进位则被输入进位触发器6100,进位触发器的现状态经循环通路6103进入由S表示的多路转换器6102,它在下列图中通常是用作方式选择器的,该选择器向ALU提供输入,其结果被返回到MPR6101,指令总线可选择0或1,或进位触发器输入来执行根据进位输入来执行的那些运算。
图34示出了16布尔指令通路(短)实例简略图,对ALU6201的位0的进位输入由选择器6200在指令总线控制下选择。与指总线相同的由ALU操作所确定的操作通过ALUD总线多路转换器如6217并被写入还向ALU6201提供输入的MPR6218,最高有效ALU6216的进位输出通过进位输入多路转换器6219并输入进位触发器6220,进位触发器的输出通过状态通路多路转换器6221,可在那里的合适的引线处供测试之用,输出也被送入到进位输入MUX或选择器6200。
图35示出了16布尔指令通路(长)实例。大量的位片可被联接在一起,S多路转换器6301可在任意最低有效位片中运行,向最低有效ALU6302提供一个0或1,或进位触发器。最大有效位片的进位输出,如ALU6303的进位输出,通过左进位多路转换器6304,在那里,它继续进入下一个位片的右进位多路转换器6305,此后它再输入位片6306内的进位输入最低有效位。对最高有效位片来说,来自ALU6307的输出传送到进位输入多路转换器6308,在那里它是最高有效位片进位触发器6309的输入,来自进位触发器6309的输出则成为状态通路多路转换器6310的输入,在状态通路多路转换器6310,它经状态右连接送回到下一位片。
图36为通道应用和非现役位片,进入右进位多路转换器6400的进位直接进入进位输出多路转换器6401而不通过整个ALU。循环通路多路转换器6402以及状态MQ和ALU多路转换器如6403、6404和6405是以双向方式工作的,数据从左向右,或从右向左通过它们,与单元的任何工作无关。通路也可以从右向左通过,并且使能通路从左向右被旁路以到达零通路。因此,该单元对于通过它的信息流是看不见的。
参照图37。图中示出了一个移位和循环指令表。这些指令分成作为进行变换和四重移位的算术或逻辑移位和循环指令。该过程可被看成累加字长是由它包含的配置位和位片组成的。
图38给出了综述右移位的单一字移位指令通道。这就是说第N位走向N-1位。在所有情况下,由读/写地址寻址的MPR单元的内容是由移位逻辑所操作并被输入到由读/写地址所规定的MPR单元。这样,移动和移位可以从一个能提供算术或逻辑移位与循环的右移位的单一操作中获得。操作数的最低有效位置的位移位是通过循环通路被传送到S多路转换器7101的。
视选择线中串行I总线而定,S多路转换器7101可提供将操作数的最高有效位回送到最高有效位,用于符号扩展运算,或者,进位触发器可安装来作为移位之间的连接运算。对于循环,最低有效位被反馈至最高有效位。此外,可以移进一逻辑“0”作逻辑移位。对于左移位,即N位移至N+1位的移位,最高有效位送入进位触发器7105并且通过循环通路移到S多路转换器7103。在指令总线控制下,无论是逻辑“0”,逻辑“1”或者从顶点移出的位都可被移入最低有效位并被储存回多端口随机存取存储器7104。
仅仅在MIL(高中低)位片中,进位触发器也可以在多路转换器7103的输入端处取用。对大于16位的字长,如里希望将进位触发器置于最低有效位,就需要进行一次移位然后做一次加法把进位放到最低有效位中而加法运算事实是上将在最高有效位片内的进位触发器移到最低有效位片中去。但是在MIL(最高-中间-最低)(有效)位片中,进位触发器是容易得到的。
参见图39,图中示出了算术逻辑移位或循环向右短(数据通路)。此ALU运算是A+CIN(进位输入),进位输入由多路转换器7200强制为零。ALU总线多路转换器7202选择左边一位使得ALU的7203即位15的输出被送入到位为14的ALUD总线多路转换器7208。最高有效位在I总线的控制下从S多路转换器7204被移进,它在位15ALU7203和进位触发器7206以及提供从最低有效ALU7201移出的位的状态通路多路转换器7207间进行选择。
图40展示了算术逻辑移位或循环向右长数据通路。除了ALU通路在不同位片之间连在一起之外,运算是与前面的短运算完全相同的。在32位字的情况下,ALU位16 7036通过ALU通路多路转换器7305连在一起以便把信号传送到较低有效位片,即ALU通路多路转换器7303,它将信号传送到7304中的位15。同样,以0位ALU7301移出的位通过状态通路多路转换器7302被传送,在7302中,它由下一个最高有效位片状态通路多路转换器7306接收并被传送到进位触发器输入多路转换器7308内和S多路转换器7309上。由于ALU运算是再一次的A+CIN,通过多路转换器7310零被强制送入到最低有效进位输入。
图41为逻辑移位或循环向右环短数据通路,其运行与逻辑移位或循环向右短数据通路相反。ALU位0即7402的输出被连接到位1运算器总线多路转换器7403以达到1位左移。自ALU位15即7404的输出连接到状态通路多路转换器7405,状态通路多路转换器7405的输出被进入进位触发器的输入多路转换器7406,再返回到指令总线控制下的S多路转换器7400,以此地再输入到ALU数据总线的位0多路转换器7407。
图42为逻辑移位或循环向左(长)数据通路,其中示出了两个位片的运行。
只要将ALU最高有效位(msb)信号从7511通过状态多路转换器并进入右边的下一个位片,便可获得一个任意长的字,其最后一个位片将状态通路多路转换器7507的输出接入选择器7501以供ALU数据总线位0多路转换器7502使用。ALU的操作仍是A+CIN,故通过多路转换器7500将0推入进位链的最低有效位并进入ALU位07503。ALU的输出从ALU7507向ALU数据总线多路转换器7504左移1位。
跨越位片的ALU的连接是通过ALU的多路转换器控制,如从ALU7505到多路转换器7506,在那里它被送到下一个多路转换器7508,之后通过多路转换器7509输入ALU数据总线多路转换器7510。最高有效ALU的输出7511通过多路转换器7513送入最高有效进位触发器。
图43为用于双算术或逻辑移位或循环向右的双倍移位指令通路。操作数从多端口随机存取储器(MPR)向右移一位,从多端口随机存取存储器出来的最低有效位通过环形通路输送到MQ7601的最高有效位。MQ的最低有效位通过状态通路输送到指令(I)总线控制下的选择器多路转换器7602。S多路转换器可通过逻辑零、多端口随机存取存储器的最高有效位、进位触发器7603、或乘商最低有效位进入多端口随机存取存储器7600的最高有效位。以模拟方式工作的双逻辑左移位循环中,取自多端口随机存取存储器7604的最高有效位被传送到最高有效进位触发器7607并通过环形通路在指令总线控制下传送到多路转换器7606。
任何逻辑零、逻辑1或循环通路的输出可以连接到7605处的MQ最低有效位。取自乘商寄存器的最高有效位通过状态通路传送到多端口随机存取存储器7604的最低有效位。ALU的操作仍是A+CIN,其中CIN(进位输入)被置零,故在多端口RAM可得到移位和移动的组合,虽然在乘商寄存器中不存在这种灵活性。在多端口随机存取存储器选择的单元必须与乘商寄存器的不同。注意,在左移位和右移位的情形下,MPR的内容被送入比MQ的内容更高的有效位置。这同做乘法时MPR和MQ中的单元的使用是一致的,其中最低有效乘积来自MQ和最高有效位来自MPR。
图44示出了双逻辑移位和双循环向左短数据通路。ALU的进位输入和零由多路转换器7711推入,在7702处MQ位0的输入在PLA总线控制下通过多路转换器7700提供,上述总线选择0用于移位、或选择状态通路多路转换器7709的输出用于数据,取自乘商寄存器位0 7702的数据送到乘商寄存器位1多路转换器7703并且对于所有乘商寄存器向左移位1位是同样情况。最高有效乘商寄存器位7704传送到7705处的环形通路多路转换器,此处与作为位0 ALU数据总线(ALU-D)多路转换器7707的输入的多路转换器7706相联接。ALU7708发出的最有效位送到状态通路多路转换器7709,在那里,它通过进位触发器的输入多路转换器7710传到进位触发器,并且也传送到多路转换器7700。
图45为双逻辑移位和双循环向左长数据通路,其操作,除了数据是利用ALU通路和乘商寄存器通路多路转换器7801、7802、7803和7804通过多片之外,是与短数据通路的操作类似的。此外,虽然事实上逻辑零会在多路转换器上出现,进位通路是通过进位输出多路转换器7805和进位通路多路转换器7806构成的。此外,最高有效位片的左缘通过多路转换器7807、7809、7808、和7810连接到具有最低有效位片的右边缘。
图46为双算术逻辑移位或循环向右短数据通路。7900处ALU的最高有效位向右移1位到达ALU数据总线位14多路转换器7901,类似地,运算器7902最低有效位连接到7903处环形通路多路转换器,此处被连接到乘商寄存器最高有效位多路转换器7904和7905处乘商寄存器位15。乘商寄存器最高有效位被移到位14乘商寄存器的输入多路转换器7906。类似地,乘商寄存器7907的最低有效位传送到与进位触发器多路转换器7910连接的状态通路多路转换器7908并在指令总线控制下传送到S多路转换器7911。
S多路转换器提供对循环移位、算术移位、逻辑移位或带进位的逻辑移位的选择。
图47示出了双算术逻辑右移位或右循环长数据通路。最大有效位片的右边如ALU位16 8015和8009处的乘商寄存器位16通过8000和8001处的ALU和乘商寄存器通路多路转换器通过各自的多路转换器8002和8003连接到下一个较低有效位片如ALU8016的左边和8010处的乘商寄存器位15左边。从最大有效位片的最高有效位至最低有效位片的最低有效位的外缘通过环形通路和状态通路多路转换器8006和8007连接在一起,如连接到8004和8005一样。乘商寄存器位0如8013通过状态通路多路转换器8007连到多路转换器8005并进入进位触发器8017和S多路转换器8014。S多路转换器也在指令总线控制下为多端口随机存取存储器(RAM)8018的最高有效位提供输入。
图48为交换指令通路概况,该指令将多端口随机存取存储器(MPR)的内容转移到乘商寄存器(MQ)并把乘商寄存器的内容移回MPR。在指令总线控制下,通过S多路转换器8100,多端口随机存取存储器8101的单元读出可以加上0,1或进位触发器8102。该结果被移入乘商寄存器8103并将乘商寄存器8103的内容输入MPR8101。该操作特别适用于浮点,其尾数必须在非规范化以前被交换。
图49示出了如可由处理机供给的交换短操作。8202处ALU最低有效位的输入由8200处通过状态通路多路转换器8206提供逻辑0、逻辑1或进位触发器8209的输出的S多路转换器提供。
MPR单元位0即8201通过乘商寄存器位0多路转换器8203进入乘商寄存器位0即8204。乘商寄存器位0则通过ALU数据总线位0多路转换器8205进入MPR位0即8201。来自ALU最高有效位8208的进位通过进位多路转换器8207进入进位触发器8209。
图50示出了交换长指令的操作,与图49中短指令操作的唯一区别是,位片之间的进位通路是由进位多路转换器8304和8305实现的,最高有效进位触发器8303是通过包含8302和8301多路转换器的状态通路进入最低有效位片8300的S多路转换器的。
图51为中间数据处理机器位左、右移位通路。这些指令越过地址处理机在数据处理机之间一次移4位。注意,如果一个数据处理机被处理机状态字的处理机使能位所禁止,则数据仍可从该处理机读出但不能存储在其内。移位机制是在乘商寄存器之间,让单元及多端口随机存取存储器(MPR)提供简单移动或增量加1操作。图中所示的包括单元8700、8701、8702和8703的数据处理机在指令总线控制下,通过进位输入选择器8700的操作完成一个移动提供选择0、1,或者对MIL位片来说,提供进位触发器。数据从乘商寄存器,越过未被指令改变的地址位片进入下一个数据处理机下一个乘商寄存器8709。
由于所有现役的数据处理机都参与了该操作,在4个步骤里可在所有数据处理机之间传送16位。处理机N向处理机N+1传数据以完成四位左移位或向处理机N-1传数据以完成右移四位操作。
图52示出了中间数据处理机的四位左移位操作,这里,S多路转换器8801仅与最低有效位片有关。另外,进位通路将从左进位多路转换器8802继续到下一个较高有效位片的进位输入多路转换器8801。MQ的4个最低有效位如8803、8804、8805和8806向左移至下一个MQ的四个最高有效位8807至8810。MQ的四个最高有效位8815至8818通过四个多路转换器8819至8829传送到左边下一个位片。在地址或未启动位片中数据仅仅通过相应的多路转换器并进入下一个数据片。此时,信号将从多路转换器进入MQ的输入多路转换器如8824到8827并且可被输入四个最低有效乘商寄存器位如8803至8806。在MIL位片中进位触发器8803可为选择器8801所用以向ALU进位输入通路提供输入。
图53示出了中间数据处理机四位右移位,它除了信息流是从左向右,MQ的4个最低有效位8900到8903是通过多路转换器8916至8916向右转移的之外,其余的工作方式都是相似的。所有地址或非启动位片的多路转换器将仅将数据从左向右传送到下一个数据处理机的最高有效位片,其中数据将从多路转换器被送入MQ的输入多路转换器8920至8923并且被送入MQ的4个最高有效位8912至8915。
四位左移位操作示于图54。它的操作与中间数据处理机四位左移位的操作非常相似,只是移位被限制在处理机内和被移入的4位在四位左移位时是零而在四位右移位时是符号位。左移位时,在I总线控制下,选择器9004供给一个零或1,或在MIL位片的情况下,进位触发器进入ALU的进位的最低有效位,ALU提供加法操作。该加法操作完全独立于移位操作并允许加法或移动与移位操作同时执行。MQ寄存器9007供给四位左移,将零送入4个最低有效位。
对于右移位来说,MPR执行的加法和移位操作与左移位操作完全类似,选择器9000向结果存储在多端口RAM的ALU提供进位输入,输出送入进位触发器9002,它可以反馈到选择器S9000。在MPR执行操作的同时,MQ通路则产生右移,此时MQ最高有效位馈入到MQ的四个最高有效位,以供符号扩展操作,在希望实现逻辑移位操作的场合,必须用一个稍后的“与”指令来屏蔽掉MQ的最高有效位。
图55详细说明四位左移(短)指令的通路操作。在指令总线控制下,选择器9100将进位提供给ALU的最低有效位9101,ALU最高有效位9102的进位输出被传送到进位输入多路转换器9103和进位触发器9104,它被送到MIL位片中的S多路转换器9100。在ALU与MPR操作的同时,MQ执行4位左移操作,MQ的四个最低有效位9109到9112被移入到MQ的下面四个次最高有效位9113至9116,而MQ的四个最低有效位9109至9112通过多路转换器9105至9108被送入逻辑零。
图56(a)、56(b)表示四位左移长数据通路操作情况,与上图的情况完全相同,只是在四条算术通路完成了相邻单元之间的连接的情况下可维持任何字长。此外,较低有效位片的进位输出通过进位通路上的多路转换器9202送到下一块最高有效位片上的进位输入多路转换器9203。ALU最高有效位片9204的进位输出被输入到进位触发器9206,MQ的四个最低有效位9211至9214则通过多路转换器9207至9210输入0,在较低有效位片上的MQ的四个最高有效位如MQ位9215至9218传到通路多路转换器9219至9222,它输入到下面较高有效片如9223至9226,在那里它们通过MQ多路转换器如9227至9230被输入该位片上MQ的4个最低有效位9231至9234。
图57示出是四元算术右移位通路操作,ALU和MPR的操作与前面例子相同,但是MQ通路自左至右移位,其中MQ的4个最高有效位9309至9312传向MQ的4个较低有效位9313至9316。MQ的4个最高有效位的输入由多路转换器9305至9308提供,它们接收MQ的最高有效位的输出以实现一算术移位操作。ALU9302最高有效输出传向进位触发器9304,它作为输入提供给选择多路转换器9300使其能用于ALU最低有效进位输入9301。由于没有通路适用于较长的字,该连接仅适用于MIL位片。
图58(a)、58(b)示出四元算术右移位长通路操作,它除了相邻位片之间的MQ连接是由通路逻辑提供的之外,其余的操作是与前面例子相类似的。在这处情况下,较高有效位片MQ的4个最低有效位9415至9418经过通路多路转换器94019至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如前例那样把“1”向左移。注意在本图中位片均为16位,不象其它图中在某个时刻只显示出一位。
来自ALU9530最高有效位的数据位通过算术逻辑单元通路水平多路转换器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被弃去,算术逻辑单元位9605的值不同于算术逻辑单元最高有效位9607时进行溢出较验,多端口RAM的最高有效位9600内存储的信息被返回到本身,提供算术移位,通过该操作保存了符号位。
图61表明算术左移长数据通路操作,它与图60类似,不同的只是表明了多个位片的操作。在此情况下,多端口RAM的最低有效位9702和ALU最低有效进位输入9703被置零。在最高有效位片里最高有效位9704的输出被传送到ALU多路转换器9705,在那里,它被次最高有效ALU多路转换器9706接收,并传送到多端口RAM单元9707。最高有效位片上的符号位如在多端口RAM9708里的再次得到保留。
图62示出了双重算术左移短通路操作。此情况下,MQ寄存器9801和9802的内容被向左移1位并通过ALU通路输入MPR。一个零通过多路转换器9800被加到MQ的最低有效位,MQ的最高有效位9803通过循环多路转换器9804输入到MPR的最低有效位9805,MPR最低有效位的位9805被移到MPR的次最高有效位9806,而且,保留MPR的最高有效位9807以便算术移位和检验溢出。
图63示出了双重算术左移长通路操作,它与图62的类似,不同的只是示出了多个片。在该情况下MQ寄存器状态例如MQ位9901和9902通过MQ通路多路转换器9903,该9903被多路转换器9915接收并移入次最高有效片的MQ的最低有效位9910。MQ的最高有效位9912通过环形多路转换器9913并由在最低有效片上的循环多路转换器9904接收,并传送到MPR最低有效位9906。该来自MQ最高有效位的位将通过所有中级有效片的循环多路转换器。ALU和在较低有效片上最高有效位的输出通过ALU多路转换器9905传到次最高有效片上ALU多路转换器9914,在那里被移入该位9906,MPR的最高有效位仍被保留以便于算术移位操作。
图64列出了完成乘法和除法运算的迭代定点指令。乘法是通过一系列加法和移位操作实现的,除是通过一系列不恢复除法步骤来实现。这些算法对每个字长需要一个时钟周期。操作可分为前、中和后序列,其中中间操作按照字的位数减1来实现,前序列操作使流水线初始化以使控制通路中改变ALU所执行的操作的冗长的传播延迟,与ALU计算并行执行而非与ALU操作串联执行,使时钟速率最大。后序列操作一般处理符号位。
图65示出了固定乘第1通路概况。在所有情况下,由“读地址”寻址的MPR单元A,包含一个被乘数,它在整个过程中不变。如由“读/写”地址寻址的MPR单元B,包含部分积,在这一序列结束后成为最高有效位片(MSBS)。MQ初始包含乘数,然后为最低有效位片(LSBS)。这种算法是广为人知的并且在《高级微型设备双极型微处理机逻辑和接口数据手册》(ADVANCED MICRODEVICES BIPOLAR MICROPRO-CESSORLOGIC AND INTERFACE DATEBOOK》1983年,第6-59至6-62页中详细作了描述。
图65还示出了固定乘的前序列操作。MPR10,001单元B被清除,是由于它将在乘积中被累加。但是,MQ10,101不变。最低有效位仅被复制到进位触发器10,102,和最低有效片,它还通过状态通路传入所有现役片中的状态触发器10,103。重要的是,由于字的所有片必须配合加法或传送部分积以执行加法或移位算法,状态触发器被复制到所有现役片。
图66细致地示出了固定乘第1短通路操作。ALU输出被置零并被写入多端口RAM读/写单元10,201。MQ最低有效位10,202连接到状态通路多路转换器10203,从该处被复制到状态触发器10,204和进位触发器10,205以供以后周期所用。
对乘法和除法运算重要的是ALU的操作取决于状态位,如图15中的指令PLA2004具有两组4个输出,因为存在两种可能的ALU操作,而状态触发器选择这两种ALU操作之一用以提供乘法的加载传送操作。由于算术逻辑单元仅当它的操作码被指定时才开始工作,必需在时钟周期一开始就指定操作,而且这是可能的因为状态触发器是流水线结构。
图67详细示出是固定乘第1长通路操作。其操作与前面的图类似,不同的只是MQ最低有效位10,302必须通过状态多路转换器10303到其后的最高有效片状态多路转换器10,306,至此它被输入状态触发器10307以及最低有效位片的进位输入触发器10,305和状态触发器10304。
图68示出了固定乘中间通路概况,ALU传送部分积或将该部分积加到存储在多端口RAM中的被乘数,ALU的输出将向右移一位,同时最低有效位进入MQ,这时,MQ的多路转换器将向右移一位。被移出MQ10401的位存入最低有效片的进位触发器10402,并通过状态通路传入所有现役片中状态触发器如状态触发器10403。进入多端口RAM的最高有效位是图28所定义的乘法MSB。进位触发器10402和最低有效片被保存以供固定乘最后指令之用。固定乘法器中间指令将ALU进位输入置零。
图69示出了固定乘法中间短数据通路,MQ次最低有效位10,504通过状态通路多路转换器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示出了固定乘最后(指令)通路概况。在二进制补码运算中,最高有效位定义为负权(negative weight),和一固定乘后指令被用来产生乘积的最后1位。无符号算术运算时,可用固定乘中间指令。对于固定乘后指令通路,进位触发器10700可输入MPR10701的ALU.MPR的运算器输出再向右移一位以进入MQ10702,如果乘数为负值,这时状态触发器为“真”,ALU将减去一个部分积而不是如固定乘中间那样加上它。结果,进位输入是有效的,这就是为什么它要通过固定乘中间指令来产生。
图72为固定乘最后短通路操作,它与固定乘中间操作完全相同,只是进位触发器10808是通过进位输入多路转换器10805以供ALU的最低有效位使用,以象最低有效位10804那样供ALU的所有位使用。由于这是最后的周期,不再需要使用状态通路多路转换器10811来输入状态触发器10810。
图73示出了固定乘最后长指令通路,除了相邻位片间的联接是由运算通路提供的之外它与短指令操作类似。在这种情况下,较高有效位片上的ALU最低有效位10900通过ALU多路转换器10901并传给下一个较低有效位片,从那里由ALU通路多路转换器10908接收,并传入多端口RAM的最低有效位10911。同样,最低有效位10903和较高有效位片通过MQ多路转换器10904传给下一个较低有效片并由MQ多路转换器10909接收以进入该片上MQ的最高有效位10912。
最低有效片的进位触发器10936通过进位输入多路转换器被送给链式转换。此外位和片之间的进位通路通过进位多路转换器10,913和10914来完成。因为MQ最低有效位10915在前一周期中已被状态触发器10916和10917收取故而失去。
图74示出了固定除第1通路概貌,所执行的算法是不可恢复除法,这种算法是众所周知的技术,在《高级微型设备双极型数据手册》1983年,第6-60页至6-65页有详细描述。将分子的最低有效位(LSB)输入MQ,该LSB将被移入MPR。MQ还保存商数,来自如图30定义的多端口RAM11000最高有效位片的符号比较输出通过状态通路传送到所有状态触发器如11004、到MQ11001最低有效位的进位触发器11002直到反相器11003。
图75详细示出了固定除第1短操作。ALU的操作为A+CIN,其中进位输入零是由多路转换器11103施加的,以致随着MPR11100通过ALU11101并传入MPR下一个较高有效位11102,MPR的内容移动了一位。MQ的最高有效位11108通过循环多路转换器11109,从那里再通过多路转换器11104进入MPR最低有效位11100。符号比较进到状态多路较换器11110,从那里它被传送到状态触发器11111和进位触发器11112,并通过反相器11107进入MQ最低有效位11106,另外,MQ随着MQ位11,106输入MQ11105而向左移一位。注意在高级微型设备数据手册(AMD Data Book)中符号比较的定义与这些图上的定义略有不同。数据手册定义符号比较在延迟1位的输出处,而这些图却定义它作为一位延迟的输入,虽然计算符号比较的逻辑运算是相同的。
图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最低有效位(LSB)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中闭合一位间隙,具有从进位触发器11600的进位输入的MPR11601在状态触发器为“伪”时执行一加法,在状态触发器为“真”时做减法,MQ左移一位,向最低有效位(lsb)送一个零。
图81表示用于MIL(最高-中间-最低)位片的固定除最后(短)通路操作。进位触发器11703传送到ALU的最低有效位11704,其结果被存储在MPR最低有效位11705,通过多路转换器11700向MQ的最低有效位11701存入一个零,其输出被左移一位到MQ触发器11702。
图82示出了固定除最后(长)通路操作,最低有效片上的MQ的最高有效位11802被送到MQ通路多路转换器11803,从那里它被次最高有效位多路转换器11805接收,以进入该位片上的MQ最低有效位11806。
在最高有效位片中,MQ的多路转换器11805将从右传向左以供测试。另外,进位通路通过进位-通路-多路转换器11808和11809在ALU相邻位如11807和11810之间是连续的。
图83示出了寻找通路(fnid path)实例。图中示出四个位片,每个位片通过对MIL状态设置配置掩码而被配置为一个16位处理机。另外,与ALU12200相联的最右侧的处理机在其它三个处理机被置于中间最高有效处理(IMSP)状态时被置为最低有效处理机(ISP)状态。每个处理机执行某些算术或布尔(Boolean)运算并装入状态触发器。然后执行PUSH/IF指令,装入VIE(向量如果/否则)寄存器,基于VIE寄存器,如果处理机是启动的,则每个处理机的零左线为“真”,若处理机未被启动,则其零左线为“伪”。此例子假定任意两个处理机仍处于现役状态,即,与ALU12206和ALU12216相联系的处理机。
寻找操作是从最低有效处理机起跨越处理机的一个串行处理机,在此情况下,或门12203和带反相输入的与非3(NAND)门12202接收一个零而不是状态右连接,由于该处理机上的零左线未被断定,或门12203的输出为零,它被送到下一个处理机的多路转换器12210,与非门12208在输出处产生1,因为在12207的零左信号为“真”,而且状态右输入为“伪”。或门12209将处理机为真的条件传送到左边,由或门12214和12219接收,与非门12213在输出端产生“伪”,因为输入状态线为真,与非门12218也一样,因为它的输入状态线也为真。所以,与非门12202、12213和12218产生零,只有12208产生信号“真”。
这些状态由FIND(寻找)操作推入多端口RAM系统部分的VIE寄存器。在该点,仅仅第一个1被发现的处理机将保持启动。
图85列出了用于阵列芯片的特殊指令。这些指令用于初始化和测试芯片(配置和重新配置)以及控制向量如果/否则机构。向量如果/否则(Vector IF/ELSE)指令将在图86详细说明。
图84示出了带控制机的单元处理机阵列,该处理机阵列的关键元件是4×4阵列芯片的矩阵。13000至13006。13000至13003表示行,13003至13006表示列,在一列里的阵列芯片通过垂直总线如13011连接到垂直存储器如13007。这些阵列中的单元在分时多路转换器基础上共用该垂直存储器,首先在芯片之间然后是在给定芯片内的单元之间。类似地,一行,如13000到13003,也在分时多路转换器基础上共用横向存储器如13008,首先在该行的芯片之间,然后在芯片内的单元之间。X总线通常连向横向存储器,Y总线通常被连向垂直存储器。各相邻芯片之间的连接是靠左/右连接如13013实现,右边或右下侧阵列芯片13000由13,012连接到阵列中左上角芯片13,006。
高速输入/输出(I/O)总线13009提供给每一行,该行与该行的芯片并行联接如13000至13003。此芯片阵列,横向存储器和垂直存储器均受控制器的控制,并主要包括控制(C)块13015,它向所有的阵列芯片传播微指令。这些微指令由指令总线传播,控制器从系统存储器13017接收宏指令,系统存储器总线13018可被输送到阵列芯片控制总线上的所有阵列芯片。控制器通过接口13014与主机连通,主机提供程序存储和控制器接口。
本系统的典型用途是,例如,一个图像处理程序,它从主机通过接口、共用总线13018输入系统的存储器13017,控制器13015从那里取出指令,并命令高速I/O器件,例如一个电视摄像机,通过高速I/O总线如13,009把信息输入阵列芯片。当数据是被放置在阵列芯片的存储器中时,图像将被压缩或特点将被辨认。这时,处理过的数据将从高速I/O总线传向显示设备,如一个监视器。
Claims (17)
1、一种应用排列成X/Y矩阵的多个处理单元的单元阵列,所述单元的每个均与其它单元相联接以使数据能向左、右、水平或垂直方向传送,特征在于其改进之处包括:
一个能够传送给定数量的位的公用总线,第一个若干位表示第一总线段和第二个若干位表示第二总线段,所述总线与一行中所述处理单元的每一个相联接,
与所述每一单元相联系并用来使所述单元根据所选择的方式自所述总线的第一总线段或第二总线段接收和传送数据的逻辑装置。
2、根据权利要求1的单元阵列,其特征在于每个所述处理机为一单一的16位处理机。
3、根据权利要求1的单元阵列,其特征在于所述公用总线是具有32位宽的总线,以全位宽与每个所述处理机相联接。
4、根据权利要求1所述的单元阵列,其特征在于所述与每个所述单元相联系的逻辑装置包括一个与每个所述单元和所述公用总线相联接以存储有关所述选择方式的信息的分离的存储装置。
5、根据权利要求4的单元阵列,其特征在于进一步包括一个行译码器,其与所述阵列的各行相联系的并与每个所述各个单元的存储器相联接以使一行中的各个单元能够根据与所述公用总线的所述第二总线段或所述第一总线段的操作而被选择。
6、根据权利要求5的单元阵列,其特征在于进一步包括一个总线接口装置,该装置具有与所述公用总线联接的输出,并且具有多重输入端,所述每个输入端与分离的数据总线联接,每一个数据总线的位宽与所述公用总线相同,和选择所述输入总线中任何一个以使所选择的输入总线与一输出端相联接的装置。
7、根据权利要求4的单元阵列,其特征在于所述存储器均为动态随机存取存储器(DRAM)。
8、根据权利要求7的单元阵列,其特征在于所述动态随机存取存储器可容纳256千位的数据。
9、根据权利要求1的单元阵列,其特征在于所述公用总线进一步包括一预定数目的奇偶检验位。
10、根据权利要求9的单元阵列,其特征在于所述预定数目的奇偶检验位为2。
11、根据权利要求5的单元阵列,其特征在于进一步包括与所述公用总线联接的、可驱动所述译码器以使所述处理机根据其与表明一个特定长的数字字的公用总线段的操作而被选择的地址发生装置。
12、根据权利要求6的单元阵列,其特征在于所述总线接口装置包括用于使所述总线输出能够提供多个不同输出电平中任何一个的逻辑电平控制装置。
13、根据权利要求1的单元阵列,其特征在于进一步包括一个与每个所述处理机联接的指令总线和把所述指令总线联接到所述公用总线的装置。
14、根据权利要求13的单元阵列,其特征在于它包括一个具有与所述公用总线联接的输入和与所述指令总线联接的输出的接收器。
15、根据权利要求14所述的单元阵列,其特征在于其中所述指令接收器包括与电平转换器联接的使所述指令总线能与所述公用总线在不同的可选择的逻辑电平上相联接的双向收发机。
16、根据权利要求1的单元阵列,其特征在于进一步包括与所述公用总线联接的、用以检验所述给定数量的位数的奇偶的奇偶发生检验装置。
17、根据权利要求1的单元阵列,其特征在于进一步包括:
与所述公用总线联接的、使所述阵列能够响应存储在所述外部存储器中的数据的外部存储装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/808,392 US4852048A (en) | 1985-12-12 | 1985-12-12 | Single instruction multiple data (SIMD) cellular array processing apparatus employing a common bus where a first number of bits manifest a first bus portion and a second number of bits manifest a second bus portion |
US808392 | 1985-12-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN86108178A true CN86108178A (zh) | 1987-08-05 |
Family
ID=25198633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN198686108178A Pending CN86108178A (zh) | 1985-12-12 | 1986-12-03 | 使用动态可重构向量位片的单指令多数据单元阵列处理机 |
Country Status (5)
Country | Link |
---|---|
US (1) | US4852048A (zh) |
EP (1) | EP0234146A3 (zh) |
JP (1) | JPS62217353A (zh) |
CN (1) | CN86108178A (zh) |
ES (1) | ES2014039A6 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126194A (zh) * | 2010-09-24 | 2016-11-16 | 英特尔公司 | 用于向量前导零、向量后导零、向量操作数 1 计数和向量奇偶性计算的功能单元 |
CN112947894A (zh) * | 2017-04-28 | 2021-06-11 | 英特尔公司 | 用来执行用于机器学习的浮点和整数操作的指令和逻辑 |
CN113900713A (zh) * | 2021-12-09 | 2022-01-07 | 江苏清微智能科技有限公司 | 一种粗粒度可重构阵列并行指令配置装置及处理器 |
Families Citing this family (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1229782B (it) * | 1989-05-22 | 1991-09-11 | Face Standard Ind | Metodo ed apparato per riconoscere parole verbali sconosciute mediante estrazione dei parametri e confronto con parole di riferimento |
AU645785B2 (en) * | 1990-01-05 | 1994-01-27 | Maspar Computer Corporation | Parallel processor memory system |
WO1991019256A1 (en) * | 1990-05-30 | 1991-12-12 | Adaptive Solutions, Inc. | Mechanism providing concurrent computational/communications in simd architecture |
JP2959104B2 (ja) * | 1990-10-31 | 1999-10-06 | 日本電気株式会社 | 信号処理プロセッサ |
US5963746A (en) * | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | Fully distributed processing memory element |
ATE180586T1 (de) * | 1990-11-13 | 1999-06-15 | Ibm | Paralleles assoziativprozessor-system |
US5966528A (en) * | 1990-11-13 | 1999-10-12 | International Business Machines Corporation | SIMD/MIMD array processor with vector processing |
US5590345A (en) * | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
US5815723A (en) * | 1990-11-13 | 1998-09-29 | International Business Machines Corporation | Picket autonomy on a SIMD machine |
US5734921A (en) * | 1990-11-13 | 1998-03-31 | International Business Machines Corporation | Advanced parallel array processor computer package |
US5963745A (en) * | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | APAP I/O programmable router |
US5765012A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library |
US5765011A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
US5630162A (en) * | 1990-11-13 | 1997-05-13 | International Business Machines Corporation | Array processor dotted communication network based on H-DOTs |
US5617577A (en) * | 1990-11-13 | 1997-04-01 | International Business Machines Corporation | Advanced parallel array processor I/O connection |
US5809292A (en) * | 1990-11-13 | 1998-09-15 | International Business Machines Corporation | Floating point for simid array machine |
US5708836A (en) * | 1990-11-13 | 1998-01-13 | International Business Machines Corporation | SIMD/MIMD inter-processor communication |
US5588152A (en) * | 1990-11-13 | 1996-12-24 | International Business Machines Corporation | Advanced parallel processor including advanced support hardware |
US5765015A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Slide network for an array processor |
US5794059A (en) * | 1990-11-13 | 1998-08-11 | International Business Machines Corporation | N-dimensional modified hypercube |
US5625836A (en) * | 1990-11-13 | 1997-04-29 | International Business Machines Corporation | SIMD/MIMD processing memory element (PME) |
US5828894A (en) * | 1990-11-13 | 1998-10-27 | International Business Machines Corporation | Array processor having grouping of SIMD pickets |
EP0492970B1 (en) * | 1990-12-21 | 1995-08-02 | Sun Microsystems, Inc. | Method and apparatus for extending computer architecture from thirty-two to sixty-four bits |
US5175858A (en) * | 1991-03-04 | 1992-12-29 | Adaptive Solutions, Inc. | Mechanism providing concurrent computational/communications in SIMD architecture |
US5594918A (en) * | 1991-05-13 | 1997-01-14 | International Business Machines Corporation | Parallel computer system providing multi-ported intelligent memory |
US5918029A (en) * | 1996-09-27 | 1999-06-29 | Digital Equipment Corporation | Bus interface slicing mechanism allowing for a control/data-path slice |
JP2642039B2 (ja) * | 1992-05-22 | 1997-08-20 | インターナショナル・ビジネス・マシーンズ・コーポレイション | アレイ・プロセッサ |
US5448521A (en) * | 1993-11-12 | 1995-09-05 | International Business Machines Corporation | Connecting a short word length non-volatile memory to a long word length address/data multiplexed bus |
US5943242A (en) | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
DE19651075A1 (de) | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
DE19654595A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
DE19654593A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit |
US6338106B1 (en) | 1996-12-20 | 2002-01-08 | Pact Gmbh | I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures |
EP1329816B1 (de) | 1996-12-27 | 2011-06-22 | Richter, Thomas | Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.) |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
DE19704728A1 (de) | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
DE19704742A1 (de) * | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
DE19807872A1 (de) | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. |
EP1228440B1 (de) | 1999-06-10 | 2017-04-05 | PACT XPP Technologies AG | Sequenz-partitionierung auf zellstrukturen |
WO2001084861A1 (en) * | 2000-04-28 | 2001-11-08 | Hi-G-Tek Ltd. | Apparatus and methods for cellular communication |
ATE476700T1 (de) | 2000-06-13 | 2010-08-15 | Richter Thomas | Pipeline ct-protokolle und -kommunikation |
US7595659B2 (en) | 2000-10-09 | 2009-09-29 | Pact Xpp Technologies Ag | Logic cell array and bus system |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US6990555B2 (en) * | 2001-01-09 | 2006-01-24 | Pact Xpp Technologies Ag | Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.) |
US7581076B2 (en) | 2001-03-05 | 2009-08-25 | Pact Xpp Technologies Ag | Methods and devices for treating and/or processing data |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US7210129B2 (en) | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
WO2005045692A2 (en) | 2003-08-28 | 2005-05-19 | Pact Xpp Technologies Ag | Data processing device and method |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
JP2004533691A (ja) | 2001-06-20 | 2004-11-04 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データを処理するための方法 |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US7577822B2 (en) | 2001-12-14 | 2009-08-18 | Pact Xpp Technologies Ag | Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization |
WO2003060747A2 (de) | 2002-01-19 | 2003-07-24 | Pact Xpp Technologies Ag | Reconfigurierbarer prozessor |
AU2003214003A1 (en) | 2002-02-18 | 2003-09-09 | Pact Xpp Technologies Ag | Bus systems and method for reconfiguration |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
WO2005010632A2 (en) * | 2003-06-17 | 2005-02-03 | Pact Xpp Technologies Ag | Data processing device and method |
AU2003286131A1 (en) | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
JP4388895B2 (ja) | 2002-09-06 | 2009-12-24 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | リコンフィギュアラブルなシーケンサ構造 |
EP1974265A1 (de) | 2006-01-18 | 2008-10-01 | PACT XPP Technologies AG | Hardwaredefinitionsverfahren |
WO2010011813A1 (en) * | 2008-07-23 | 2010-01-28 | Alkermes, Inc. | Complex of trospium and pharmaceutical compositions thereof |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1377859A (en) * | 1972-08-03 | 1974-12-18 | Catt I | Digital integrated circuits |
US3979728A (en) * | 1973-04-13 | 1976-09-07 | International Computers Limited | Array processors |
US3984819A (en) * | 1974-06-03 | 1976-10-05 | Honeywell Inc. | Data processing interconnection techniques |
US4065808A (en) * | 1975-01-25 | 1977-12-27 | U.S. Philips Corporation | Network computer system |
US4214302A (en) * | 1978-04-24 | 1980-07-22 | Texas Instruments Incorporated | Eight bit standard connector bus for sixteen bit microcomputer |
US4447878A (en) * | 1978-05-30 | 1984-05-08 | Intel Corporation | Apparatus and method for providing byte and word compatible information transfers |
US4304002A (en) * | 1978-11-23 | 1981-12-01 | International Computers Limited | Data processing system with error checking |
US4380046A (en) * | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
US4314349A (en) * | 1979-12-31 | 1982-02-02 | Goodyear Aerospace Corporation | Processing element for parallel array processors |
JPS5779551A (en) * | 1980-11-06 | 1982-05-18 | Nec Corp | Information transfer device |
-
1985
- 1985-12-12 US US06/808,392 patent/US4852048A/en not_active Expired - Fee Related
-
1986
- 1986-12-03 CN CN198686108178A patent/CN86108178A/zh active Pending
- 1986-12-10 EP EP86402737A patent/EP0234146A3/en not_active Withdrawn
- 1986-12-12 JP JP61295073A patent/JPS62217353A/ja active Pending
- 1986-12-12 ES ES8603403A patent/ES2014039A6/es not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126194A (zh) * | 2010-09-24 | 2016-11-16 | 英特尔公司 | 用于向量前导零、向量后导零、向量操作数 1 计数和向量奇偶性计算的功能单元 |
CN112947894A (zh) * | 2017-04-28 | 2021-06-11 | 英特尔公司 | 用来执行用于机器学习的浮点和整数操作的指令和逻辑 |
CN113900713A (zh) * | 2021-12-09 | 2022-01-07 | 江苏清微智能科技有限公司 | 一种粗粒度可重构阵列并行指令配置装置及处理器 |
Also Published As
Publication number | Publication date |
---|---|
ES2014039A6 (es) | 1990-06-16 |
JPS62217353A (ja) | 1987-09-24 |
EP0234146A3 (en) | 1989-07-05 |
EP0234146A2 (en) | 1987-09-02 |
US4852048A (en) | 1989-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN86108178A (zh) | 使用动态可重构向量位片的单指令多数据单元阵列处理机 | |
CN86107558A (zh) | 具有带式随机存取存储器和地址发生器装置的单指令多数据单元阵列处理机 | |
CN1095114C (zh) | 算术机逻辑单元的运算方法以及算术和逻辑单元 | |
CN1129066C (zh) | 处理器及其运算方法以及数据处理器 | |
CN1080906C (zh) | 一种数据处理系统及其方法 | |
CN1062426A (zh) | 归约处理器 | |
CN1153349C (zh) | 多值逻辑电路体系结构:补充对称逻辑电路结构 | |
CN1056356A (zh) | 分布处理存储器 | |
CN1436335A (zh) | 用于设计可配置处理器的自动处理器生产系统及方法 | |
CN1860441A (zh) | 用于可重新配置环境中的高效高性能数据操作元件 | |
CN1063168A (zh) | 并行处理装置 | |
CN1886744A (zh) | 在可扩展的处理器架构中增加高级指令所用的方法和装置 | |
CN101986264A (zh) | 用于simd向量微处理器的多功能浮点乘加运算装置 | |
CN1273893C (zh) | 模块化计算机系统以及相关方法 | |
CN1280755C (zh) | 系统大规模集成电路与电子设备 | |
CN1115631C (zh) | 具有risc结构的八位微控制器 | |
CN1284180A (zh) | 利用布尔逻辑和可编程结构进行地址分析的方法和装置 | |
CN1516001A (zh) | 一种新型risc流水线微控制器构架及其操作方法 | |
CN1505819A (zh) | 相联存储器及其检索方法、网络设备及网络系统 | |
CN1103467C (zh) | 宏指令集对称式并行体系结构微处理器 | |
Kolagotla et al. | VLSI implementation of a 200-MHz 16/spl times/16 left-to-right carry-free multiplier in 0.35/spl mu/m CMOS technology for next-generation DSPs | |
CN1228711C (zh) | 一种可重构寄存器堆及其构造方法 | |
CN1533655A (zh) | 在单个芯片上基于单元的交换结构的构造 | |
JPH0418336B2 (zh) | ||
Sravani et al. | Novel Asynchronous Pipeline Architectures for High-Throughput Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C01 | Deemed withdrawal of patent application (patent law 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |