CN1042282C - 用于同步矢量处理机的第二最近邻通讯网络、系统和方法 - Google Patents

用于同步矢量处理机的第二最近邻通讯网络、系统和方法 Download PDF

Info

Publication number
CN1042282C
CN1042282C CN90108413A CN90108413A CN1042282C CN 1042282 C CN1042282 C CN 1042282C CN 90108413 A CN90108413 A CN 90108413A CN 90108413 A CN90108413 A CN 90108413A CN 1042282 C CN1042282 C CN 1042282C
Authority
CN
China
Prior art keywords
data
register
signal
instruction
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN90108413A
Other languages
English (en)
Other versions
CN1054871A (zh
Inventor
吉姆·蔡尔德斯
彼得·雷耐克
黑洛希·米牙古奇
尤塔加·塔加哈希
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taxas Instruments Inc (us) 13500 North Central Expressway Dallas Taxas 75265
Texas Instruments Inc
Original Assignee
Taxas Instruments Inc (us) 13500 North Central Expressway Dallas Taxas 75265
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US07/421,499 external-priority patent/US5163120A/en
Application filed by Taxas Instruments Inc (us) 13500 North Central Expressway Dallas Taxas 75265 filed Critical Taxas Instruments Inc (us) 13500 North Central Expressway Dallas Taxas 75265
Publication of CN1054871A publication Critical patent/CN1054871A/zh
Application granted granted Critical
Publication of CN1042282C publication Critical patent/CN1042282C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures 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
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02BINTERNAL-COMBUSTION PISTON ENGINES; COMBUSTION ENGINES IN GENERAL
    • F02B75/00Other engines
    • F02B75/02Engines characterised by their cycles, e.g. six-stroke
    • F02B2075/022Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle
    • F02B2075/027Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle four

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Processing (AREA)
  • Complex Calculations (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

一种同步矢量处理机SVP,具有多个构造成一个线性阵列的1位处理单元。处理单元都由一定序器、一状态机器或控制电路控制来启动操作,形成一并行处理装置。每一处理单元包括一组输入寄存器、两组寄存器文件、一组工作寄存器、一个包括-1位全加/减器的算术逻辑单元和一组输出寄存器。SVP包括互连电路,使各个处理单元能从其任一侧的第一和第二最邻近元素检索数据和向它们传送数据。

Description

用于同步矢量处理机的第二最近邻通讯网络、系统和方法
总的来说,本发明涉及到单指令多数据处理机。具体地说,本发明涉及具有一维处理单元阵列的处理机,该种处理机在诸如改良分辨率电视(IDTV)之类数字信号处理中有特殊用途。另外,本发明涉及对该种处理机、电视和视频系统的改进,以及其他系统的改进,和它们的操作和控制方法。
在通用数字信号处理、消费品电子学(电子系统)、工业电子学、制图和成象、仪表、医用电子学、军用电子学、通讯和汽车电子学应用等广阔的技术领域中,人们要求能对数据信号进行快速和准确的实时处理。一般来说,视频信号处理,例如视频信号的实时图象处理,要求在短时间内对大量数据进行处理。在《电子设计》1984年10月31日一期的207页至218页、1984年11月15日一期的289页至300页、1984年11月29日一期的257页至266页、1984年12月13日一期的217页至226页和1985年1月10日一期的349页至356页中,戴维斯等人对图像处理作了探讨。
在许多数据处理应用中,视频信号处理要求采用有限脉冲响应(FIR)数字滤波器。如果仔细选定取样频率的话,各滤波器的系数可以是2的乘方的小的比值,或者至少是2的乘方的简单组合。实时视频信号处理要求工作着的处理机以最快的速率接收并处理视频信号和模拟数字滤波器所必需的数据。在已有技术中,相当大部分处理时间消耗在从阵列中相邻处理机那儿获取取样数据。例如,阵列中的处理机将不得不执行一系列指令,以寻址、读出和传送位于其下一个相邻处理机中的数据,直到该数据到达阵列中所要求的位置。在一个大的阵列中,将数据从一个处理机传送到下一个,直到它到达所要求的位置的这一程序是很费时间的。如果只有有限的时间用来接收和处理数据,大量的数据检索时间当然会导致数据处理时间较少。因此,本技术领域中需要有一种用于减少同步矢量(向量)处理机中数据检索时间的技术。
简短地说,本发明包括连接成一串行链的处理电路,每个所述处理电路包括:一数据处理单元,它的数字输入端与其它处理电路的每个数据处理单元的数字输入端连接在一起,用于输入所述控制和地址信号,该数据处理单元包括一个算术逻辑单元、连接到所述算术逻辑单元的多个数据存储寄存器和连接到所述数据存储寄存器的数据多路转换器;第一和第二寄存器接口;第一和第二定序电路,用于按顺序有选择地激活寄存器接口的工作。每个数据处理单元向左和向右连接至第一和第二最近邻的数据处理单元。第二最近邻连接允许更快速地沿串行链传送数据,加速完成许多任务。例如,可在本发明中使用5极有限脉冲响应(FIR)滤波器,其所需的执行时间小于单个近邻网络的68%。
本发明的新颖特征见所附的权利要求书。然而参照下面的详细说明,并联系附图,将能最好地理解发明本身和它的其它特征及优点,其中:
图1是采用一同步矢量处理机的视频系统;
图2更详细地示出图1系统中所采用的同步矢量处理机;
图3示出图2同步矢量处理机的一个处理单元;
图4示出用于数据输入寄存器的写入的时序图;
图5示出图3处理单元的逻辑图;
图6示出数据输出寄存器的读出的时序图;
图7更详细地示出图3的处理单元;
图8示出了描述-DOR预充电电路不同节点上的电压电平图;
图9示出了与图7实施例中略有不同的另一个三晶体管DOR单元;
图10示出-DIR降噪电路
图11是比图10更为详细的降噪电路;
图12示出了一DIR降噪电路;
图13示出了一数据输入控制电路;
图14示出复原由图13电路传送的数据的方法;
图15示出了复原被传送数据的另一种方法;
图16示出一DOR控制电路;
图17示出一DIR控制电路;
图18示出一处理单元的近邻互连关系;
图19示出全局输出的逻辑图;
图20示出多重SVP芯片互连关系;
图21示出另一种多重SVP芯片互连关系;
图22示出单指令方式的时序图;
图23示出双指令方式的时序图;
图24示出等待状态单指令模式的时序图;
图25示出空闲指令方式的时序图;
图26示出一个有4个读出放大器的处理单元;
图27a和27b示意性地示出图26的4读出放大器处理单元的读出/写入周期;
图28示意出采用双周期指令的4位加法;
图29示出一个采用SVP器件的开发系统;
图30示出一电视控制器;
图31示出一用于SVP视频系统的控制器;
图32示出图31控制器的主控制器部分;
图33示出图31控制器的垂直定时信号发生器部分;
图34示出图31控制器的水平定时信号发生器部分;
图35示出图31控制器的常数发生器部分;
图36示出图31控制器的指令发生器部分;
图37示出另一种指令发生器;
图38示出另一种常数发生器;
图39示意性地示出图38的顺序存储器的内容;
图40示意性地示出图38的循环存储器的内容;
图41是图38常数发生器的流程图;
图42示出一有限脉冲响应滤波器;
图43是行存储器的示意图;
图44a给出SVP寄存器文件的图示;
图44b给出图44a中一部分的分解重组图;
图45示出一全局循环电路;
图46a和46b是全局循环操作的同一流程图的一部分;
图47示出信号流水线电路;
图48示出图47类型电路的各种信号输入和输出;
图49示出采用图47流水线电路的信号流的时序图;
图50示出另一种流水线电路;
图51示出一全局变量分配控制电路;
图52示出一辅助寄存器和控制电路;
图53示出存储器简化控制电路;
图54示出另一SVP控制器/处理机系统;
图55示出一SVP磁带录像机系统;
图56示出一基于SVP的通用数字信号处理系统;
图57示出一基于SVP的制图成像处理系统;
图58示出一基于SVP的目检系统;
图59示出一基于SVP的图形识别系统;
图60示出一示意性的话音(语言)信号;
图61示出基于SVP的雷达处理系统;
图62示出基于SVP的可视电话系统;
图63a和63b示出基于SVP的传真系统;
图64示出基于SVP的文件扫描器;
图65示出基于SVP的安全(保密)视频信号传输系统;
图66示出用于图65系统的示意性的视频信号;
图67是适合用于SVP封装的一种插脚网格状阵列封装。
下面对本发明较佳实施例的讨论参照附图进行。在各附图中,凡是相同或相应的部件均采用相同的编号。
较佳实施例的SVP(同步矢量处理机)是一种通用掩模可编程单指令、多数据、简化指令组系统计算(SIMD-RISC)装置,该装置能执行在分辨率提高和扩展的电视(IDSV和EDTV)系统中有用的实时三维算法。虽然在该实施例中揭示出本发明的SVP是用于视频信号处理的,但是SVP的硬件在许多不同的应用场合中也工作得很好,因此,其结构不限于特定的滤波器或其他功能。一般来说,该SVP可以用在有大量输入数据要平行地处理的任何场合。
在一个典型的应用中,例如在视频信号处理中,输入和输出层分别与数据源(例如摄像机、VCR、接收器等等)和数据接收器(数据源)(例如光栅显示)同步地工作。同时,计算层通过同时应用可编程子例行程序于一数据包(通常称为一个矢量:在TV/视频环境中所有采样值由一个单一的水平显示线组成)的所有元素而执行所需要的变换。这样,SVP在结构上组成流水线,以进行同步矢量处理。
在图1中,TV或视频系统100包含同步矢量处理装置102。系统100包括一光栅扫描型的CRT104,在输入106处从普通TV接收器中用到的标准模拟视频电路108接收一模拟视频信号。从天线110传来的视频信号以通常的方式经由包括调谐器、IF级联放大器和同步分离电路的RF和IF级112放大、滤波和外差,在线路114上产生模拟合成视频信号或模拟成分视频信号。调频(FM)音频成分的检波单独进行,在此不作进一步讨论。控制器128利用水平同步信号、垂直同步信号和色同步信号给SVP102提供定时,因而,它们不是SVP的数据通道的一部分。线路114上的模拟视频信号由模/数转换器116转换成数字信号。数字化视频信号提供给线路118,以输入同步矢量处理机102。
处理机102处理线路118提供的数字视频信号,并在线路170上给出一处理后的视频信号。然后,处理后的视频信号在沿着线路126提供给标准模拟视频电路108前由数/模转换器124转换成模拟信号。视频信号可以由诸如录像机134之类录制信号源或其它非标准信号源提供给模/数转换器116。VCR信号给出在线路136上,避开了调谐器112。处理机102能够在场存储器120中存储一个(或多个)视频帧,作为示意,该存储器可以是德克萨斯仪器公司的TMS4C1060型场存储器。场存储器120在线路138和140上接收来自控制器128的控制和时钟脉冲。
线路114上的视频信号输入由模/数转换器116以例如14.32MHz(彩色副载波频率3.58 MHz的4倍)的取样频率转换成8位数字化视频数据。SVP102总共有40根输入线。8根线用于数字化视频信号。其他输入线用于帧存储器输出、其他TV源等等。数/模转换器124也能以14.32MHz的频率重建,将8位的处理机输出转换成模拟信号。其余的输出线可以用于其它信号。或者,如果需要,模/数转换器116和数/模转换器124可以在不同的取样频率下工作以供特定目的之用。
处理机102由控制器128控制。控制器128在线路130上给处理机102送去24个微(代)码控制位和14个地址位。对于较低的速度,控制器128可以采用一标准的微机或微控制装置,例如,可从市场购得的德克萨斯仪器公司型号为TMS370 C050的装置。对于较快的速度,可采用较高速度的控制器在RAM或ROM中存储软件代码,或者采用一个状态机器(state machine)或定序器。控制器128可以和处理机102设置在同一半导体芯片上,形成图1的单元132,尤其是当它只含有存储在带有相关的地址计数器的ROM中的代码时。微指令在单个周期中能够控制7个基础(或“原始”)选通,和ALU功能。所有的PE由同一指令控制,单指令多数据(SIMD)的结构名称由此而来。
在图2的较佳实施例中,SVP装置102包括一个有1024个1位处理单元103(PE)的一维阵列。
图3中描绘了一个处理单元150。每一个处理单元150包括一个40位的数据输入寄存器(DIR)154,它构造成40×1;一个第一128位寄存器文件(RF0)158,构造成128×1;工作寄存器A、B、C和M162;一个算术逻辑单元164,它包括一个1位的全加/减器;一个第二128位寄存器文件RF1166,构造成128×1;和一个24位的数据输出寄存器(DOR)168,构造成24×1。图3描述的处理机102还包括第一读/写电路156以控制DIR/RF0寄存器154/158、工作寄存器A、B、C和M162和算术逻辑单元164之间的数据读出和写入。第二读/写电路167用来控制DOR/RF1寄存器166/168、工作寄存器A、B、C和M162和算术逻辑单元164之间的数据读出和写入。
各个PE内的数据流在输入、输出和计算这三个同时进行的层或流水线步骤中流水传送。在输入层,数据输入寄存器(DIR)以字串行方式获得或者聚集起一个数据包。在计算层,在已获得的数据包的所有单元上以每字一个处理机的方式同时执行程序化的操作。输出层也以字串行的方式将另一数据包从数据输出寄存器(DOR)输出到输出脚。
在计算层流水线的每一阶段中,大量周期/指令执行所要求的操作。输入和输出层或者流水线步骤每个周期积累一个数据字,但是,通过利用多周期传送整个数据包,将对I/O脚的要求减到最少。对于每种应用或系统,每一数据包的数据字的数量由硬件或软件建立,视处理单元阵列的大小而定。在此较佳实施例中为1024。
计算层或者流水线步骤也用多个周期来对数据进行操作。用于每个数据字的ALU和数据通道为1比特宽。因而,对多比特的字的操作可以在多个周期中进行。
当启动信号加在输入151上后,DIR154从线路118装入数据化视频信号。该启动信号由一1024选1的转接器、定序器或环形计数器148提供。当线路118上给出一标准的视频信号时,转接器148被触发,在水平回描消隐时期的结尾启动,并持续工作1024个周期(在14.32 MHz频率下),与模/数转换器116的取样频率同步。类似地,当启动信号提供给输入172后,DOR168在线170上提供处理过的视频信号。此启动信号来自另一1024选一转接器、定序器或环形计数器174。转接器174在水平回描消隐时间末尾被触发而开始工作,一直继续1024个周期,与模/数转换器124的取样速率同步。
每个PE与它的四个最邻近的近邻(左边两个和右个两个)直接相通。两个RF中的每一个都能进行独立的寻址和读出-修改-写入,因而,在单个时钟周期中,可以读出两个不同的RF单元,数据由ALU进行操作,其结果写到寄存器文件RF0或RF1单元之一中。
外部线路共同地都连到图3中处理机阵列的所有处理单元PE150。这些线路将在后文详细讨论,概括地说,它们包含40根数据输入线118、7根DIR/RF0地址线131、24根主控制线130、时钟和复位信号线142和144、2根测试线146、7根DOR/RF1地址线133、24根数据输出线170和1根1位全局输出(GO)线178。
SVP的I/O系统包括数据输入寄存器154(DIR)和数据输出寄存器168(DOR)。DIR和DOR是顺序寻址双端口存储器,起到高速移位寄存器的作用。在此较佳实施例中,DIR和DOR都是动态存储器。
因为在一般情况下DIR和DOR与PE150异步,在数据于DIR/DOR和PE150之间传送之前,必须发生某种形式的同步。在视频应用中,这发生在水平回描消隐期间内。在某些应用中,DIR、DOR和PE可以同步地工作,但在任何情况下,不推荐同时对寄存器之一的两个端口进行读或写。
再次参见图2,处理机102的DIR是一40960位的动态双端口存储器。端口119构造成用于1024个40位的字,并在功能上模拟一1024字行存储器的写入端口。图4示出了DIR写入的时序图。40根数据线118(DI0至DI39)与写入启动190(WE)、复位写入192(RSTWH)和写入时钟194(SWCK)定时信号一起使用。WE190与SWCK194同步地控制写入功能和地址指针148(转换器)增量功能(递增功能)。当为高电平时,RSTWH192线在SW CK的下一个上升沿将地址指针148复位到1024字缓冲器中的第一个字。SWCK是一持续的时钟输入。在起始的两个时钟脉冲之后,在SWCK194每一后续的上升沿写入一个40位的数据字198。如果数据字0到N要被写入,WE在SVCK的N+4个上升沿上保持高电平。地址指针148通常可以包括一个1024选1的转接器、定序器或环形计数器,在水平回描消隐期间结束时被触发,并持续工作与A/D转换器116的取样频率同步的1024个周期。输入转接器148以水平扫描频率的1024倍以上的频率工作。输出转接器174可以,但不是必须,与输入处于同一频率。
此时应该注意到,虽然为了讨论的目的,处理机102被描绘成具有1024个处理单元,但是它可以有更多或较少的单元。实际数量涉及到所采用的电视信号发射标准,亦即NTSC、PAL或SECAM,或者涉及到非电视应用中所需要的系统或功能。
数据输入寄存器154的第二个端口121构造成用于40个1024位的字,每一位对应于一个处理单元150。端口121实际上是RF0绝对地址空间的一部分,并已映象到其中。因此,DIR和RF0是互不相容的电路。当其中一个被汇编代码的给定汇编语言行中的操作数寻址时,另一个不能被寻址。对两者都引用的汇编语言行将产生汇编-时间差错,这将在下文详细讨论。
DIR154独立于DOR168而工作,因而,有其自身的地址线131和一些自己的控制线135。DIR154的确切功能由许多线路C21、C8、C2、C1、C0、WRM234的内容和地址RF0 A6至RF0 A0(见图5)确定。当控制线C2=1时选择DIR154。7根地址线RF0 A6-RF0 A0选择要被读出或写入的40位中的一位,而C1和C0选择写入源(对于读出,C0和C1无作用)。在线路C0和C1某些组合下,DIR154的写入源依赖于C21和C8的状态以及工作寄存器M234的内容。这些形成了被称为M相关指令的能赋予处理机102更多灵活性的指令。表1示出了DIR154的控制线功能。
表1
C21  C8    C2   C1   C0 (WRM)     DIR上的操作
 x    x    0    x    xx    x    1    0    0x    x    1    1    0x    x    1    1    10    x    1    0    11    0    1    0    11    0    1    0    11    1    1    0    11    1    1    0    1     xxxxx0101 选出RF0DIR(m)被写入DIR(m)(刷新)SM被写入DIR(m)(WRM)被写入DIR(m)(WRC)被写入DIR(m)右PE的L/R线到DIR(m)左PE的L/R线到DIR(m)右边第二个PE的L/R线到DIR(m)左边第二个PE的L/R线到DIR(m)
其中,(m)是二进制组合{RF0 A6,RF0 A5,……RF0 A0},
并在范围0<=m<=39内。
范围40<=m<=127被保留。
图5的处理单元逻辑图详细描述了RF0158和DIR154的互连关系。C21、C8、C2、C1、C0和RF0 A6至RF0 A0是所有1024个PE共用的控制/地址线。信号C280和M250分别来自WRC248和WRM234。SM262来自ALU260。R322、2R324、L310和2L312是来自该PE的4个最邻近的近邻的信号。40个DIR字通过采用有版权的关键助记忆码由指令读出或写入:INP(m)当0≤m≤39时;或者××INP(m),当××为一近邻任选项时。
为了使硬件效率更高,DIR154和RF0158共用相同的地址线和许多硬件。
下面的表2的存储变换(映象)需要一个8位的地址。该地址由乍为MSB(最高有效位)的控制线C2(RF0 A7)和作为最低有效位的地址线RF0 A6至RF0 A0给出。因为,指令助记忆码中DIR154相对RF0158的选择是隐含的,所以C2不被认为是一个地址。
表2
Figure C9010841300171
DIR/RF0存储变换(映象):h表示16进制
再次参见图3,DOR168是一24576位的动态双端口存储器。一个端口169构造成用于1024个24位的字,并在功能上模拟一1024字行存储器的读出端口。数据输出(DO0至DO23)170与图6的读出启动(RE)、复位读出(RSTRH)和串行读出进钟(SRCK)等信号一起使用。SRCK496是一持续的时钟输出。RE490与SRCK496同步地启动及停止读出功能和地址指针增量功能。当为高电平时RSTRH494在SRCK496的下一个上升沿498将地址指针(转接器)复位到1024字缓冲器的第一个字上。在最初的的两个时钟脉冲的延迟之后,在SRCK每一接着出现的上升沿之后经过一存取时间,输出一个24位的数据字。如果数据字0到N要被读出,则RE必须在SRCK的N+3个上升沿上保持高电平。如前面联系DIR154讨论过的那样,地址指针174可以类似地包括一1024选1的转接器或环形计数器。
数据输出寄存器168的第二个端口167构造成用于24个1024位的字,每一位对应于一个处理单元150。DOR168的端口167实际上是RF1 166的绝对地址空间的一部分,并变换(映象)到其中,因此,DOR168和RF1 166是互不相容的电路。当其中一个由一给定汇编行中的操作数寻址时,另一个就不能被寻址。两者都引用的一条汇编语言行将产生汇编-时间差错,这在后文详细讨论。
DOR168相对于DIR154独立地工作,因此它有其自身的地址线133和一些自己的控制线137。DOR的确节功能由许多线路C21、C5、C4、C3、WRM234的内容和地址RA1 A6至RF1 A0(见图5)确定。控制线C5=1时选择DOR168。7根地址线133选择要读或写入的24位中的一位,而C4和C3选择写入源。在控制线C4与C3的某些组合下,写入源DOR168取决于C21的状态和工作寄存器M234的内容。这些构成了被称为M相关指令的能赋予处理机102更多灵化性的指令。表3给出了DOR168的控制线130的功能。
表3
C21   C5   C3   C0 (WRM) DOR上的操作
 x    0    x    xx    1    0    0x    1    0    1x    1    0    00    1    1    11    1    1    11    1    1    1     xxxxx01 选出RF1DOR(q)被写入DOR(q)(刷新)(WRC)被写入DOR(q)SM被写入DOR(q)CY被写入DOR(q)KCY一条件进位:DOR(q)被写入DOR(q)CY被写入DOR(q)
其中,q是二进制组合{RF1 A6,RF1 A5,……RF1 A0},并在
范围0<=q<=23内,
范围24<=q<=123被保留。
图5的逻辑图详细描述了RF1和DOR的互连关系。C21、C5、C4、C3和RF1 A6至RF1至A0是所有1024个PE共用的控制/地址/数据线。信号C280和M250分别来自WRC248和WRM234。SM262和CY264来自ALU260。
为了使硬件的效率更高,DOR168和RF1 166共用地址线133和许多硬件。
下面表4的存储变换(映象)需要一8位的地址。该地址由作为MSB的控制线C5(RF1 A7)和作为最低有效位的地址线RF1 A6至RF1 A0(133)构成。因为在指令助记忆码中DOR168相对于RF1166的选择由C5位隐含,所以C5不被看作是一个地址。
表4
  C5      绝对地址                           相对地址
DOR/RF1存储变换(映象):h表示十六进制
图3中,第一PE150含有两个寄存器文件RF0 150和RF1 166。每一RF包括读/写存储器中每字1位的128个字,每个PE150共有256位。
在处理机阵列105中有两个寻址结构:其中之一131用于RF0158,覆盖所有1024个PE,另一个133用于RF1 166,覆盖所有1024个PE。两个寄存器文件都有独立的地址线、选择线和指令线与其相连,但是共用同一控制130和定时142的电路。这意味着两个寄存器文件同时读数据,而为了电气效率,它们互相独立地写数据。
RF0 158和RF1 166可以是只读的,或者能够从包括C248或M234寄存器在内的几个源写入,或者直接由ALU260的输出SM262写入。另外,M相关指令有条件地允许直接来自ALU260或者来自近邻160的输出CY264之类的数据源。根据WRM234中的值,下面表5中的“×”代表左邻310或右邻322,“×2”代表第二左邻312或第二右邻324,视WRM234中的值而定。其它数据可以用先把它传到这些位置之一的方法写入一个RF中。
下面的表5示意出各个寄存器文件的可能的写入数据源:
表5
寄存器文件                        写入数据源RF0  F1    M    C    X    X2    SM    CY    KCY
 RF0RF1     *         *    *    *     *    **         *               *      *     *
如上所述,寄存器文件RF0和RF1就能独立地被寻址,因而,在单个处理机周期中能够进行1位乘一累加操作(运算)。亦即,下面的算术表达式可以在一个时钟周期内由每个PE计算出来:
R1(P)’=(R0(n)*M)+R1(p)
其中
M=WRM(工作寄存器W)中所含的值
R0(n)=RF0中地址n处所含的值
R1(p)=RF1中地址p处所含的值
R1(p)’=要写回到RF1中地址p处的值
在较佳实施例中,寄存器文件、数据输入寄存器和数据输出寄存器是动态只读存储器,它们被周期性地刷新,除非被运行程序隐含地刷新。在许多应用中(例如数字式TV)中,如果软件循环比刷新周期重复得更频繁,程序将保证RF被不断刷新。这将使被程序用到的任何存储器单元被刷新,而让未用到的单元保持未被刷新。另外,一程序在刷新周期内通过简单地读所有有关的存储单元,就可以显式地刷新两个RF。
RF0 158相对于RF1 166独立地工作,因而它有其自己地址线131和一些自己的控制线。RF0 158的确切功能由许多线路如C21、C8、C2、C1、C0、WRM234的内容和地址RF0 A6至RF0 A0(见图5)决定。控制线448 C2=0时选择RF0 158。7根地址线131选择要读或写的128位中的1位,而C1和C0选择写入源。在控制线C1和C0的某些组合下,RF0 158的写入源取决于C21和C8的状态和工作寄存器M234的内容。这些形成了称为M相关指令的使处理机102更灵活的指令。表6示出了寄存器文件RF0158的控制线功能。
表6
C21   C8   C2   C1   C0 (WRM)     DOR上的操作
 x    x    1    x    xx    x    0    0    0x    x    0    1    0x    x    0    1    10    x    0    0    11    0    0    0    11    0    0    0    11    1    0    0    11    1    0    0    1     xxxxx0101 选出DIRRF0(n)被写入RF0(n)(刷新)SM被写入RF0(n)(WRM)被写入RF0(n)(WRC)被写入RF0(n)右PE的L/R线至RF0(n)左PE的L/R线至RF0(n)第二右PE的L/R线至RF0(n)第二左PE的L/R线至RF0(n)
其中,“n”是二进制组合{RF0 A6,RF0 A5,……RF0 A0}
并且在0<=n<=127的范围内
图5的逻辑图详细描述了RF0 158和DIR154的互连关系。C21、C8、C2、C1、C0和RF0 A6至RF0 A0是所有1024个PE所共用的控制/地址线。信号C280和M250分别来自WRC248和WRM234。SM262来自ALU260。R322、2R324、L310和2L312是来自4个最近邻的信号。
为了使硬件效率更高,DIR 154和RF0 158共用地址线131和许多硬件。表2的存储变换(映象)需要一8位地址。该地址由作为MSB的控制线C2组成。地址线RF0 A6至RF0 A0是最低有效位。因为DIR相对RF0的选择隐含在指令助记忆码中,所以C2不作为地址考虑。其它寄存器变换(映象)到存储器空间内,因而表2的存储变换(映象)中未定义的存储空间被保留。
RF1 166的工作独立于RF0 158,因而它有自己的地址线133和一些自己的控制线。RF1 166的确切功能由许多线路如C21、C5、C4、C3、WRM234的内容和地址RF1 A6至RF1 A0(133)决定。控制线C5=0选择RF1。7根地址线133选择要读或写的128位中的一位,而C4和C3选择写入源。在控制线C4和C3的某些组合下,写入源取决于C21的状态和工作寄存器M234的内容。这些形成了称为M相关指令的、使处理机更灵活的指令。表8示出了寄存器文件1的控制线功能。
表8
 C21  C5   C4   C3   (WRM)  DOR上的操作
 x    1    x    xx    0    0    0x    0    0    1x    0    1    00    0    1    11    0    1    11    0    1    1     xxxxx01 选出DORRF1(p)写入RF1(p)(刷新)(WRC)写入RF1(p)SM写入RF1(p)CY写入RF1(p)KCY-条件进位:RF1(p)写入RF1(p)CY写入RF1(p)
其中,“p”是二进制组合{RF1 A6,RF1 A5,……RF1 A0}
并且在0<=p<=127的范围内
图5的逻辑图详细描述了RF1 166和DOR168的互连关系。C21、C5、C4、C3和RF1 A6至RF1 A0是所有1024个PE共用的控制/地址线。信号C280和M250分别来自WRC248和WRM234。SM262和CY264来自ALU260。
为了使硬件效率更高,DOR168和RF1166共用地址线133和许多硬件。表4的存储变换(映象)需要一个8位地址。该地址由作为MSB的控制线C5组成。地址线RF1 A6至RF1 A0是最低有效位。因为DOR相对于RF1的选择隐含在指令助记忆码中,所以,C5不作为地址考虑。其它寄存器变换(映象)入存储空间内,所以表4存储变换(映象)中未定义的存储空间被保留。
图3中,标有读/写电路的方框156和169包括一个或多个读出放大器。图7描述了RF0,它包括一构造成1×128的128位动态随机存取存储器。实际上,RF0数据存储器158和DIR输入寄存器154是同一1×168 DRAM列的组成部分,但是,DIR154不同于RF0 158之处在于DIR154可以从输入DI0-39并行写入40位。DOR/RF1的构造类似。然而,只给DOR提供了24根并行输出线(DO0-23)。在一个实施例中,每一处理单元150有两个读出放大器。其中之一156用于DIR/RF0,另一个167用于DOR/RF1。每一读出放大器阅读或者将数据写入数据寄存器154或168、或者寄存器文件158或166中被寻址的部分。读出后的数据通过I/O线500、502、504和506在寄存器和多路转换器(508)和存储体DIR/RF0和DOR/RF1之间传送,见图7。DRAM列的1×128存储器RF0158部分中被寻址的位由所有1024处理单元150共用的控制器128和字线160选定。控制器128给DIR154提供6个地址位131A,以进行64选一的地址选择(第7位“=0”时选择DIR,“=1”时不选择DIR),并给RF0 158提供7个地址位131B,以进行128选1的地址选择。对于所有1024个PE150的RF0或DIR提供相同的地址选择。类似地,在处理机102输出一侧采用一个称为RF1的1比特宽的第二动态存储器166,接收7个地址位133 B,用于128选1的地址选择。RF1166存储器与一24位的称为DOR的数据输出寄存器168相关连,接收5个地址位133 A,用于32选1的地址选择。输入转接器148在频率为水平扫描频率1024倍以上的时钟脉冲下工作,所以,在水平扫描期间,所有1024个输入寄存器154都可被装入。输入转接器174可以在与输入相同的频率下工作,但这不是必需的。
从转接器148来的指针输入151驱动(一组)40个输入晶体管516,它们将40根数据线118(来自并行输入DI0-DI39)连接到动态存储器单元518。这些单元是双端口的,当它们被字线526寻址时,通过存取晶体管520和连到读出放大器156的折叠位线522、524被写入或读出。对于该168位的动态随机存取(DRAM)列的DIR部分有40根字线526,对于RF0部分有128根字线160。
在前面曾经说过,DIR是一个两晶体管的双端口单元。可以对每个端口进行读和写。该DIR起到一高速动态移位寄存器的作用。该双端口特性使DIR具有不同步的数据输入和输出。通过采用动态单元,移位寄存器的布局大为减小。虽然可以采用一个空单元,但这不是单元操作所要求的。
数据输入寄存器采用一个3晶体管双端口增益单元。在大多数应用中,允许在端口167处进行读和写,但是对第二个端口只进行读。DOR168也起到一高速动态移位寄存器的作用。带有晶体管增益电路的DOR168允许读出电容519而不损失贮存的电荷。在操作中,如果单元519上的逻辑“1”高于晶体管1640的1VT,则当选择线172导通时,线1642将最终被拉到逻辑“0”或零伏。单元519上的电量少于1VT(即为逻辑“0”或低电平),线1642上的电荷将保持在预充值。晶体管1642是单元读选择晶体管。所有24根数据输入线560同时由晶体管1642检测(亦即,晶体管1642选择PE单元)。如图示,节点1650是孤立的。这种连接关系减少了由于读出其它PE单元时产生的噪声而导致单元中的数据损失的可能性。再一128单元段有一比较器1634在输出线上检测信号。参考电压加在比较器输入1636上。晶体管1630的源极1638连到VDD。但是,并不要求这样。源极3638可以连到另一电压电平。
附图8a-8d示意出DOR电路的几条线路和节点上的电压电平。
图9示出另一种DOR单元。
如前所述,用于视频的PE150的一个较佳实施例采用一40位宽的输入数据总线118和一条24位宽的输出数据总线170。这些总线宽度与高时钟速度8fsc(35ns)一起,在1024个DIR154或DOR168的全部总线宽度都必须在整个时钟周期内供电时,导致在总线上有大的功率消耗和噪声。但是,因为在时钟周期的某一特定时刻,只有一个DIR(或DOR)被读出或写入,任何时候,只对被写入的DOR168,或者包括DIR的DIR串行阵列的被写入的一部分供电。
图10描绘出SVP102的输入总线118降低功率消耗和噪声的控制电路580。电路580降低了SVP102在DIR154写入期间的噪声和功率要求。出于讨论和说明的目的,1024×40DIR阵列154分成8段或者8个部分586a-h,每一段包括128个PE150。数据经由在相应的控制单元602的控制下工作的转换器148的一段送到各个128DIR段586的存储单元中。控制单元1(602a)有段时钟输入608,与线路118上视频数据信号输入的水平扫描频率同步。8个控制单元602的每一个连接成接收一复位信号610。复位信号使第一控制单元602a得电,而使其余单元602b-h断电。控制单元602的输出信号包括一个转接器启动信号151,用于启动转接器588,使之像前面所述那样工作。整个控制单元602的输出信号还包括一供电输入信号606,用于在当前工作段的数据信号写入接近完成时为下一相邻控制单元供电而进行工作。例如,当从线路118到DIR段586a的数据读出一旦接近完成,下一相邻控制单元602b就启动其转接器段588b,以准备好进行数据写入。一旦段602b启动转接器段588b,线路604a上就有一个信号使前一控制单元602a断电,因为它已完成了向段586a的数据写入。对于每一段重复这种供电/断电控制顺序,直到所有1024个DIR被装入。在这种方式中,在时钟周期的一部分,只有被写入的DIR群的转接器得到供电。根据前面描述过的SVP102的操作,在视频数据信号扫描线水平回描消隐期间,所有586a-h各段的DIR数据被送进RF0,同时,控制器复位信号进入工作,一根新的扫描线准备好被输入。
现在参见附图11,下面将对图10中的降低功耗和噪声的控制电路580的一个较佳实施例的逻辑框图进行较详细的描述。图11中,控制电路580包括触发器614、620和622在内的多个子电路。
在操作时,610上的一个复位信号触发触发器614和620a的S或置位输入端。同一复位信号610触发触发器620b-620g的清零输入端,并触发触发器622的复位输入端。当触发器620a的置位输入端被触发时,其输出被激活,启动驱动器628。驱动器628启动后,其输入端的时钟信号被传到转换器588a的输入端。转接器588a的得电工作从触发器614的Q输出信号的高电平开始。转接器启动信号151触发在线路118上出现的第一批40位视频数据信号向第一批DIR存储单元的读入。在转接器588a结束后线路604上的一个信号将触发器614复位。
时钟信号608如前所述触发与输入视频信号频率同步的转接器588。同样的时钟脉冲信号同时还提供给所有时钟输入608。但是,因为驱动器628b-628h被禁止,它们的相应的转接器588b-588h未被激活。转接器588a依次启动对应于第一段的DIR存储单元0-127的各根信号线1510至151127。因为为了DIR127的写入,信号线151127被启动,所以,启动信号也提供给了触发器620b的置位输入端,并通过线路606使转接器588b得到供电。象联系转接器588a描述过的那样,触发器620b的置位或Q输出激活驱动器698b,以将时钟信号传送给转接器588b,使之工作。因为信号线151128被转接器588b激活,所以,通过线路604有一个信号提供给触发器620a的复位输入端,使驱动器628a停止工作,以使转接器断电。驱动器628a的停止工作发生在40位数据输入DIR127之后。供电和断电的循环一直进行到所有转接器588a-588h将DIR存储单元0-1023都装入为止。在转接器588h操作结束后,触发器622被一复位信号610复位。
控制电路580仅仅通过为被写入的电路部分供电而显著地减少了功率耗用。这对降低本来会在数据线上出现的噪声也起了作用。
图12示出了一用在DOR168中或处理机102的输出一侧的降低功率和噪声的电路。图12的电路,其工作与图11的电路类似。将DIR和DOR分成8个部分只是为了说明的方便。根据芯片的不同布局,可以相象到有32个或更多的部分。另外,在另一实施例中,转接器可以是控制单元的一部分。转接器段588可以是单个转接器的各个部分,起到独立的转接器的作用,或者也可以采用多个单独的转接器。
电视有许多信号源,它们可以分成两类:标准的和非标准的。对于数字电路,标准的信号是理想情况,而非标准的信号给数字电视系统带来许多困难。标准信号源的一个例子是电视台,其色同步信号频率、水平和垂直同步周期以及它们三者之间的相位关系都是基本上不变的。家庭VCR是非标准信号源的很好的例子。它被这样分类是因为在记录/重放过程中水平同步脉冲与彩色同步信号之间精确的关系被破坏,并且磁带的晃动使连续的场之间的定时关系失真。
虽然视频数据信号在线路118上持续不断地传给SVP102,但是,阵列的数据输入寄存器DIR109一次只保持一根视频扫描线。如前所述,在水平回描消稳期间,当前保持的扫描线数据移到寄存器文件RF0中,以便让输入寄存器接收新的扫描线数据。新的扫描线是在水平回扫消隐期之后提供的。在下一消隐期和扫描线时间内,RF0和RF1中当前保持的数据由各个PE进行处理。通过近邻的通讯网络,寄存器文件数据还能传送给其它处理单元。虽然这样的执行不多,但是DIR或DOR中的数据可以直接由处理单元处理。在非标准信号应用中,输入信号中不存在停顿(水平回描消隐期),不希望有这种事件顺序。这种应用的一个例子是当输入信号为VCR输出时。在这种情况下,没有时间停止信号及在处理单元之间传送数据。例如从DIR传到RF0和从RF1到DOR。为了解决这个问题,可以采用图13中示出的SVP结构。图13中,1024个DIR154分成多个段。在这一例子中,DIR分成两段,左边为650,右边为652。应该注意到,如果需要,可以有更多的段。每一段650和652包括总的处理单元的一半(512个)。为了便于图示和讨论,图中只示出了左侧的一个PE和右侧的一个PE。在操作中,线路118上的数据信号传入段650的各个DIR,而先前存在段652中的数据同时被传送入PE656。当来自段652的DIR的数据传给RF656之后,段650的各个DIR将其数据传给RF654,而段652的DIR装入新数据。在这种方式中,在向RF移送之前处理机只有一半DIR需要装满。
图13中还示出一个用于控制段选择和操作的控制电路658。控制电路658包括DIR选择晶体管,例如,左半侧的晶体管670和672,右半侧的674和676。选择晶体管670源极和漏极连在DIR和PE的读出放大器678之间,晶体管670的栅极连至与门682的输出。与门682的输入引线692接收一XFERLEFT或者XFERRIGHT信号。输入引线690接收微码控制位C2。当C2=1时,DIR被选中,当C2=0时,RF0被选中。
晶体管672以类似方式连接在DIR650和读出放大器678之间。段652的晶体管674和676也类似地连接。每段的控制电路的每个DIR还包括一双晶体管网络,根据需要在操作中驱使读出放大器达到一已知的状态。这些就是左边一半DIR的晶体管662和664,以及用于右边一半DIR的晶体管666和668。
晶体管662的源极连至晶体管670的源极,其漏极接地。与此类似,晶体管664的源极连至晶体管672的源极。但是,晶体管664的漏极连至VDD。晶体管662和664的栅极连至与门684的输出。与门684有两个输入。输入688连至倒相器686的输出,倒相器的输入连至XFERLEFT/XFERRIGHT信号。与门684的输入690连至控制位C2。
与门684的控制输出从段的一半650交叉耦合到652,因而,该输出控制左侧的晶体管662和664,以及右侧的晶体管674和676。与门682的输出相类似交叉耦接在处理机102的左右两半之间。在左侧,与门682的输出控制晶体管670和672,在右侧,与门682控制晶体管666和668。
在操作中,XFERLEFT和C2信号的高电平导致与门684的低电平信号输出,以及与门682的高电平信号输出。这选择左侧DIR的内容传送到RF0,并激活右侧DIR进行装入。当D2为1时,引线692上的低电平或XFERRIGHT信号选择左侧DIR进行装入,而右侧DIR传送数据到RF0。重复这个序列,因而DIR扫描以一种类似活塞运动的方式交替地持续接收和传送数据。
在一全扫描线装入各DIR中并传送给寄存器文件之后,由处理机102执行的一个软件程序将被偶地址数据传送的数据与零作逻辑“或”运算,以恢复原始数据。被奇地址数据传送的数据与1作逻辑“与”运算,以恢复原始数据。这在图14中示出。从数据线118接收到的数据被复原后,前面讨论过的两个段处理就可以开始。
图15示出了用于恢复原始传送数据的另一方案模式。此方案不采用将偶和奇地址分开复原的办法,图13中的晶体管664和668的漏极可以接地,奇和偶地址能得到同样的处理。下列过程将会发生。输入第一半部分:(XFERLEFT=1),M=1,A=INP(j),B=0,C=0,R1(n)=SM,然后将第一批数据与第一部分的结果相或(进行或运算):(XFERLEFT=0);M=1,A=R1(n),B=INP(j),C=1,R1(n)=CY。
图16更详细并且稍为不同地描绘出图13的DIR控制电路。图17则更详细但稍为不同地示出图13的DOR控制电路。
前面讨论过,寄存器文件由适合于在连续的刷新周期内刷新以保持其内容的动态单元构成只有那些软件要用到的地址需要被刷新。其余地址可以不刷新,因为它们的数据是不需要的。刷新操作仅仅是对需要保留数据的各个地址的读出,因而,在许多应用中,如果软件循环比刷新周期重复得更频繁,该软件程序将保持各个RF被刷新。刷新SVP102中的所有256 K位需要64个周期。这是因为,每个PE每一次实际上读出和刷新2位(总的是每一PE有4位)。要对所有SVP102进行一次完整的刷新,必须将每一PE读出到任一工作寄存器,每次给地址加2,并重复64次。下列程序是一个刷新操作程序。
例如:
A=R0(0):    B=R1(0);    刷新4×1024位
A=R0(2):    B=R1(2);    地址加2
A=R0(124):  B=R1(124);
A=R0(126):    B=R1(126);    刷新完成。
图5中,ALU164被描绘成一个简单的全加/减器260加上一个一位的乘法器258(与门)。输入来自WRM234、WRA238、WRB242、WRC248的控制线C21 252。ALU264的输出是“和”262(SM)、进位264(CY)和借位266(BW)。
再参见图5,ALU164有两个受控制线C21控制的工作方式:在第一种方式中,乘法器258被启动,而M相关的指令被禁止(C21=0),而在第二种方式中,乘法器258为“通过”或者禁止,而M相关指令被启动(C21=1)。
ALU164工作方式的选择仅取决于被执行的程序指令。亦即,如果一给定汇编语言行中的指令要求“M相关”,则SVP汇编语言将ALU164的工作方式设定为“M相关指令启动”,否则该工作方式设为“禁止”。这样做是为了使加法/减法器260在使用M相关指令时,正确地工作。亦即,乘法器258和全部M相关分指令共用工作寄存器M234,因而是互不相容的。
表10示出ALU164的行为取决于乘法器258是被启动还是被禁止。
表10
   C21   M    A    B    C    SM   CY   BW
    0    0    x    0    00    0    x    0    10    0    x    1    00    0    x    1    1x    x    0    0    0x    x    0    0    1x    x    0    1    0x    x    0    1    1     0    0    01    0    11    0    10    1    10    0    01    0    11    0    10    1    1
 x    1    1    0    0x    1    1    0    1x    1    1    1    0x    1    1    0    11    x    1    0    01    x    1    0    11    x    1    1    01    x    1    1    1     1    0    00    1    00    1    01    1    11    0    00    1    00    1    01    1    1
ALU164在M相关指令禁止时将执行表11中示出的逻辑运算。如果给定汇编行中没有指令是M相关的,则对于整个行中的所有指令,M相关指令都被禁止。
表11
C21 M  A  B  C     SM  CY     BW
 0  0  X  0  00  0  X  1  1     00  01     01
 0  0  X  0  c0  0  X  b  00  0  X  1  c0  0  X  b  10  0  X  b  c     cb非c非bb异或c  00cbb与c     cb11b或c
 X  1  a  b  0X  1  a  0  cX  1  0  b  cX  1  a  b  c     a异或ba异或cb异或ca异或b异或c  a与ba与cb与c注[1] (非a)与b(非a)与cb或c注[2]
 X  1  a  b  1X  1  a  1  c     a异或非ba异或非c  a或ba或c (非a)或b(非a)或c
    X 1 1 b c    b异或非c  b或c   b与c
    1 X a b 01 X a 0 c1 X 0 b c1 X a b c     a异或ba异或cb异或ca异或b异或c  a与ba与cb与c注[1] (非a)与b(非a)与cb或c注[2]
    1 X a b 11 X a 1 c1 X 1 b c    a异或非ba异或非cb异或非c  a或ba或cb或c (非a)或b(非a)或cb与c
    0 m a 0 00 m a 0 10 m a 1 00 m a 1 1     m与am与非am与非am与a   0m与am与a    0m与非am与非a1
    0 m 1 b 00 m 1 b 10 m 1 0 c0 m 1 1 c     m异或bm异或非bm异或cm异或非c  m与bm或bm与cm或c (非m)与b(非m)或b(非m)与c(非m)或c
注[1]:CY=(C与(a异或b))或(a与b)
注[2]:BW=(C与非(a异或b))或((非a)与b)
在图2的实施例中,每一处理单元150(PE)有4个工作寄存器162(WR):WRM、WRA、WRB和WRC。除了它们的数据源和目的(去向)不同之外,4个寄存器可以都相同。在图5中进一步示出,每一WR包括一数据选择器或多路转换器和一触发器。在有效数据从各个RF来到之后很短时间内,4个寄存器同时由内部SVP定时电路供给时钟脉冲。
表12示出4个WR中每一个的示意性数据源。
表12
 WR                源M  A  B  C  RF0  RF1  L   R  L2
 MABC *        *   *    *   *   *  **     *   *    *   *   *  **  *   *    *   *   *  **     *   *    *
WR             源
MABC R2    CY    BW    KCB   0     1*                       *     **                       *     **                       *     **     *     *    *     *
其中,M、A、B和C是工作寄存器,RF0和RF1是寄存器文件,
L、R、L2和R2是近邻输入CY和BW是来自ALU的进位
和借位输出KCB是条件进位/借位(WRM的功能)1和
0是逻辑电平。
乘法寄存器WRM234在乘法、除法、屏蔽操作、一些逻辑操作和条件(M相关)操作中用到。WRM234是ALU中乘法器块258的两个输入之一。另外,它通过线路250连接到除法MUX以控制条件进位/借位(KCB)指令,通过线路382连到RF1 MUX1以控制条件借位写入(KCY)指令,通过线路406连到RF0 MU×1以控制条件流向指令:XR、XR0(n)、XR1(p)、XINP(m)和XOUT(q)。WRM234还连到RF0 MUX2的输入,因而,它可以直接被写入RF0。一般,WRM234应该装入一个“1”,因而乘法器258将把WRA的值直接传给ALU164中的加法/减法器。
如表13中所示,数据选择器232(n选1的多路转换器)根据控制线C20、C19、C18和C8为WRM234从十个可能的数据源中选择一个。另外,取自线路R、R2、L和L2的数据可以是来自选中的近邻160中4个源之一。
表13
   C20  C19  C18  C8  WRM上的操作
    0    0    0    x0    0    1    x0    1    0    x0    1    1    00    1    1    11    0    0    01    0    0    11    0    1    x1    1    0    x1    1    1    x NOP(无操作)RF0(n)写入WRMRF1(p)写入WRM右PE的L/R线路装入WRM第二右PE的L/R线路装入WRM左PE的L/R线路装入WRM第二左PE的L/R线路装入WRM(WRC)装入WRM0装入WRM1装入WRM
加数/被减数寄存器WRA238是一个通用的工作寄存器,在大多数涉及到ALU164的操作被用到。WRA是ALU164中乘法器块258的两个输入中的第二个输入256,进入加法器/减法器块260的是正的项。WRA也是C MUx244的输入。
如表14所示,数据选择器236(n选1的多路转换器)根据控制线C17、C16、C15和C8的信号给WRA238从10个可能的数据源中选择一个。另外,取自线路R、R2、L和L2的数据可以是来自选中的近邻160中4个源之一。
表14
    C17  C16  C15  C8  WRM上的操作
    0    0    0    x0    0    1    x0    1    0    x0    1    1    00    1    1    11    0    0    01    0    0    11    0    1    x1    1    0    x1    1    1    x NOP(无操作)RF0(n)写入WRARF1(p)写入WRA右PE的L/R线路装入WRA第二右PE的L/R线路装入WRA左PE的L/R线路装入WRAWRA第二左PE的乙/R线路装入WRA(WRC)装入WRA0装入WRA1装入WRA
加数/被减数寄存器WRB242是通用工作寄存器,在大多数涉及ALU164的操作中用到。在分指令操作中,WRB242总是从WRA238中被减去。WRB也是L/R MUx305的一个输入。
,数据选择器240(n选1的多路转换器)根据控制线C14、C13、C12和C8上的信号给WRB选择10个可能的数据源中的一个。另外,取自线路R、R2、L和乙2的数据可以来自选中的邻近元素160内4个源之一。
表15
   C14  C13  C12  C8  WRM上的操作
    0    0    0    x0    0    1    x NOP(无操作)RF0(n)写入WRB
 0    1    0    x0    1    1    00    1    1    11    0    0    01    0    0    11    0    1    x1    1    0    x1    1    1    x RF1(P)写入WRB右PE的L/R线路装入WRB第二右PE的L/R线路装入WRB左PE的L/R线路装入WRB第二左PE的L/R线路装入WRB(WRC)装入WRB0装入WRB1装入WRB
进位/借位寄存器WRC248是ALU164的进位(或借位)输入。在多位加法中,WRC248保持来自以前各位之间的加法的CY264,而在多位减法中,WRC248保持BW266位。WRC的输出去到A、B和M寄存器,以及去到RF0 MUX1。
如表16所示,数据选器244(n选1的多路转换器)根据控制线C21、C11、C10和C9的信号以及WRM234的内容,给WRC248选择9个可能的数据源中的一个。亦即,在这四根控制线的某些组合下,要流向WRC248的数据取决于工作寄存器M234的内容。这些形成了被称为M相关指令的、能为处理机102提供更多灵活性的指令。WRC248执行任何含有操作数说明符KCB(条件进位/借位)的M相关指令。
表16
   C21  C11  C10  C9 (WRM) WRM上的操作
    x    0    0    0x    0    0    1x    0    1    0   xxx NOP(无操作)RF0(n)装入WRCRF1(p)装入WRC
    x    0    1    10    1    0    01    1    0    01    1    0    0x    1    0    1x    1    1    0x    1    1    1     xx01xxx (WRA)装入WRCCY装入WRCBW装入WRCCY装入WRCBW装入WRC0装入WRC1装入WRC
在每一PE150中可以配备一近邻通讯系统,以便为4个最近邻PE(最邻近PE150的左边两个和右边两个)提供直接存储器和寄存器读/写能力。另外,同一电路可以用来产生一称为GO或全局输出178的全局标志。该GO178信号是向SVP的外部标志一内部事件的方法,而不必装入DOR168并输出。
再次参见图2。每一PE产生一个称为L/R(或左/右)的输出308,它被扇出到4个邻近的PE。每一PE150还输入4个L/R信号,其4个近邻元素中每一个来一个信号。它们被标为L2 312(左边第二个PE)、L310(左边第一个PE)、R322(右边第一个PE)和R2 324(右边第二个PE)。图15以几个处理单元连起来的方式示出了该互连系统。
数据选择器305(4选1的多路转换器)根据控制线C7和C6的信号选择PE(n)内4个数据源中的一个输出到L/R线路308。WRB268的内容逻辑零304或者寄存器文件RF0(RAM0)288或RF1(RAM1)286中任一个的一个存储单元可以连通到一邻近的处理单元PE。
在表17中,L/R308的数据源作为控制线的函数列出。
表17
    C7   C6     L/R上的操作
    0    00    11    01    1     输出逻辑零至L/R输出RF0(n)至L/R输出RF1(p)至L/R输出(WRB)至L/R
现在参见图18和19,全局输出信号824等于从各PE出口的所有1024根L/R线路178的逻辑或852。亦即,如果处理机阵列102中有一个或多个PE103在L/R线路178上输出一逻辑1电平,则GO信号824也将输出一逻辑1。该GO信号是高有效电平。图19还示出从PE(n)出口的L/R信号的产生,以及它与全局标志信号、GO(全局输出)的关系。
在同一汇编语言行中和GO指令一起采用近邻元素通讯指令时必须小心,因为两种指令共用同一硬件,因而,它们的使用通常是相互不容的。在任何情况下,SVP汇编程序将标志出可能发生的任何冲突。
图20示出的芯片级中,近邻元素通讯线路延伸到外部,因而,如果需要大于1024位的处理宽度,多个SVP可以级联起来。SVP102的左边是输出L和2 L,以及输入L和2 L。右边有输出R和2 R和输入R和2 R。为了避免与互连混淆,这些插脚命名为CC0L792、CC1 L794、CC2 L796、CC3 L798和CC0 R800、CC1 R802、CC2 R804、CC3 R806,因而只需要将CC0 L连至CC0 R,等等。
图20示出2个或更多个SVP的级联关系。如图所示在大多数情况下,两端的输入应该接地,但这视具体的应用而定。图21中示出了另一种SVP的互连。图21的互连通过形成环绕的连接关系,使得视频处理系统中的图像能够环绕一个柱面。当用到这些线路时,对于涉及到L/R/2R/2L传送的指令必须用一个等侯状态周期,为各SVP芯片之间提供足够的传递时间。图24中示出用于等候状态单指令的内部总线时间图。
SVP中有4种指令方式:单、双、等候状态单和空闲。头两种方式结合任一有效的汇编指令行而工作,第三种方式与将数据连通给最近邻(紧接)的处理单元的左和右单元的指令一起工作,而第四种方式是一空闲方式,这时,各个PE无时钟脉冲供给,以节省电功率。
所有指令的完成只需要一个时钟周期,但是,该时钟周期的时间长度随着周期的类型而不同。有两种周期长度即“普通”和“扩展”周期长度。“扩展”周期的长度约为“普通”周期长度的1.5倍。延长的时间可供等候状态单指令的等候部分用,或者供在双指令过程中执行的附加的ALU操作之用。扩展空闲指令只是为了进一步节省电力。
有两个控制位用于设定当前周期的指令方式。表18中示出随控制位C23和C11而变的4种方式
表18
   C23  C22    指令类型 PCK时钟周期
    0    00    10    01    1     单指令等候状态单指令双指令空闲指令     普通扩展扩展扩展
在汇编过程中,单指令方式是缺省的。当在汇编序列中出现适当的单指令对时,每一对将自动地被一双指令替代,除非汇编指令禁止这样。采用双指令可减少总的执行时间。
单指令方式是4种方式中最基本的。<读>-<寄存器>-<ALU>-<写>序列是在单个普通时钟周期中内执行的。表19详细地示出单指令的操作码结构。
表19
                        C C C                           C
  RF1Aj      RF0Aj      2 2 2                           0指令
  6-----0    6-----0    3 2 1---------------------------0
---------------------------------------------------------单    aaaaaaa    bbbbbbb    0 0 n nnn nnn nnn nnn nnn nnn nnn
其中,{aaaaaaa}=RF1的7位地址字段,
      {bbbbbbb}=RF0的7位地址字段
      {n nnn…nnn}是操作码的寄存器控制位
等侯状态单指令方式是单指令方式的时间扩展形式。一<读>-<等候>-<寄存器>-<ALU>-<写>序列可在在单个扩展时钟周期内执行。其中加上的“等候”期可作为在有两个或更多SVP装置级联时信号越过芯片边界的传播时间。如果SVP不级联,该指令方式通常是不需要的。
SVP汇编指令允许该方式一行接一行地被启用。汇编程序检查该指令,查看它是否用到任何近邻元素通信,并产生适当的等候状态指令。共有4个汇编时间指令:WAITL、WAITR、WAITB和WAIT-N。
WAITL方式=如果汇编程序行中任何指令包括有对从左边进入该SVP的数据的引用,例如,A=LR0(n),或者A=XR0(n),则等侯,否则,方式=单指令方式。
WAITR方式=如果汇编程序行中任一指令含有对从右边进入该SVP的数据的引用,例如,A=RR0(n)或A=XR0(n),则等候,否则方式=单指令方式。(WAITB方式=如果汇编程序行中任一指令含有对从左或右方进入SVP的数据的引用,例如,A=RR0(n)或A=LR0(n)或A=XR0(n),则等候,否则,方式=单指令方式。
WAITN方式=不管数据方向指令如何都是单指令方式。该指令用于关断前面发出的任一WAIT指令。
表20详细示出等候状态单指令的操作码结构。
表20
                         C C C                           C
       RF1Aj    RF0Aj    2 2 2                           0指令
      6-----0  6-----0   3 2 1---------------------------0等候状态 -----------------------------------------------------单(指令)  aaaaaaa  bbbbbbb   0 1 n nnn nnn nnn nnn nnn nnn nnn
其中,{aaaaaaa}=用于RF1的7位地址字段,
      的7位地址字段
      {n nnn…nnn}是操作码的寄存器控制位
SVP汇编程序和硬件能够自动地产生并执行相当于两个单指令的一个指令,但执行时需要一扩展的周期。这种能力带来了总的信息通过量(吞吐量)方面的优点。在扩展的周期中,可以执行一<读>-<寄存器>-<ALU>-<寄存器>-<ALU>-<写>序列。扩展周期的附加时间用于第二个ALU和寄存器操作。这是可能的,因为在读/写操作过程中扩展周期用各个寄存器文件的2位超高速缓(冲)存(储器)进行工作。SVP汇编程序确定怎样在可能的情况下通过将单指令转换成双指令而最好地利用这些超高速缓(冲)存(储器)。这种操作可以由两个汇编指令DRI和ERI分别打开和关断。
如果连续的两个指令的形式如表21a、b所示,将采用双指令。寄存器文件地址在写或读的时候只需要如表中所示出的那样。
表21a
表21a
                       C C C                           C
     RF1Aj    RFAj     2 2 2                           0指令   6-----0   6-----0   3 2 1---------------------------0
  ------------------------------------------------------两指令都读/写RF0和RF1 RF1:第一个单aaaaaa0  bbbbbb0   0 0 n nnn nnn nnn nnn nnn nnn nnn第二个单aaaaaa1  bbbbbb1   0 0 n nnn nnn nnn nnn nnn nnn nnn两指令都只读/写RF0第一个单xxxxxxx  bbbbbb0   0 0 n nnn nnn nnn nnn nnn nnn nnn第二个单xxxxxxx  bbbbbb1   0 0 n nnn nnn nnn nnn nnn nnn nnn
表21b
                      C C C
     RF1Aj    RF0Aj      2 2 2                             0指令
     6-----0  6-----0     3 2 1-----------------------------0两指令都只读/写RF1第一个单
     xxxxxxx xxxxxxx 0 0 n nnn nnn nnn nnn nnn nnn nnn第二个单
     xxxxxxx xxxxxxx 0 0 n nnn nnn nnn nnn nnn nnn nnn两指令都不读/写RF0或RF1第一个单
     aaaaaa0 xxxxxxx 0 0 n nnn nnn nnn nnn nnn nnn nnn第二个单
     aaaaaa1 xxxxxxx 0 0 n nnn nnn nnn nnn nnn nnn nnn其中,xxxxxxx=无关
  aaaaaa0=RF1第一指令的7位地址字段
  bbbbbb0=RF0第一指令的7位地址字段
  aaaaaa1=RF1第二指令的7位地址字段
  bbbbbb1=RF0第二指令的7位地址字段
  n nnn……nnn=22位控制操作码汇编程序将可选择地把这4种指令模式汇编成双指令,它们的各个操作码如表22中所示。
表22
                       C C C                           C
     RF1Aj    RF0Aj    2 2 2                           0指令    6-----0  6-----0   3 2 1---------------------------0
--------------------------------------------------------双      aaaaaa0  bbbbbb0   1 0 n nnn nnn nnn nnn nnn nnn nnn双      0000000  bbbbbb0   1 0 n nnn nnn nnn nnn nnn nnn nnn双      aaaaaa0  0000000   1 0 n nnn nnn nnn nnn nnn nnn nnn双      0000000  0000000   1 0 n nnn nnn nnn nnn nnn nnn nnn
其中,0000000=存储器未使用时汇编程序填以零
aaaaaa0=RF1双指令的7位地址
bbbbbb0=RF0双指令的7位地址
n nnn……nnn=22位控制操作码
空闲指令主要用于节省电功率。在各个PE完成对当前数据包的处理并在等候下一数据包的任何时候都能执行。当遇到一个空闲指令时,除了独立控制的DIR和DOR之外,并行处理机的所有电路被停止供给时钟脉冲。
各个WR是静态的,因而被保持。但是,各个RF是动态的,需要保持的位必须象前文讨论的那样有选择地刷新。
表23
                       C C C                              C指令    RF1Aj    RF0Aj     2 2 2                              0
   6-----0  6-----0    3 2 1------------------------------0
 ----------------------------------------------------------空闲   xxxxxxx  xxxxxxx    1 1 0    000 000 000 000 000 000 000   其中,(xxxxxxx)=RF1的7位地址字段无关(随意)
     (xxxxxxx)=RF0的7位地址字段无关(随意)
     0 000……000=空闲时22控制位为零。
SVP芯片的外部总线130的操作是非常简单的,因为唯一的要求是给装置提供一38位的微码指令(24个控制位,14个地址位),以适当的装置选通PCK,并保持一定时间。因为数字输入154和数据输出168寄存器异步于处理机阵列105,在处理机阵列105向/从DIR或DOR传送数据之前需要某种形式的同步。在视频应用中,这可能通过在水平消隐时间内传送来进行。
外部处理机时钟(PCK)的上升沿触发一系列内部时钟脉冲,它们产生内部总线171的定时信号。图22示出在单指令方式下SVP102的内部总线171上的事件序列。
SVP汇编程序自动地从两个除了地址字段之外完全相同的单指令产生一双指令。
由汇编程序产生的双指令需要一相应的硬件方式。图23示出双指令周期的事件序列。
在级联各个SVP时(图20和21),芯片之间较慢的传播通道在用到近邻元素通讯需要额外的时间。通过采用一等候状态单周期来适应慢的周期。该周期执行单个指令周期的操作,但是需要双指令周期的时间,如图14所示。
空闲周期允许PA105主要处于断电状态,直到需要它为止。这在图25中示出。
SVP在微码级程序化,这些微码“分指令”组合起来形成SVP汇编语言中指令行的指令部分。这一节解释怎样构成这些指令和汇编程序如何对冲突作检验。这一节的某些主要内容是:
*形成指令行的规则
一操作数目的地/源名称
一组合分指令的规则
一操作码字段
*指令冲突屏蔽
SVP汇编程序源与其它汇编程序类似,每一行包括一个指令,一汇编命令,注解或宏命令。但是,SVP汇编程序行不同之处在于,含有一个指令的一行包括几个分指令。这些分指令在汇编时组合起来,产生单个操作码。
一“指令行”由一可选用的标号、一个或多个分指令加上一可选用的注释字段构成。
一有效“指令”由一个或多个分指令构成,因而没有分指令与其它指令的冲突。
一个“分指令”包括三部分:一目的地操作数,一赋值算符(SVP汇编程序认识“=”符号),和一源操作数,次序如下;
<目的地操作数>=<源操作数>。
表24列出了用于分指令的合法操作数目的地/源名称,以及操作数的有效范围(十进制):A,B,XB,C,M              工作寄存器SM,CY,KCY,BW,KCB        ALU输出R0(n),XR0(n),X2Ra(n)          寄存器文件R0,
  LR0(n),L2R0(n)          地址n,0<=n<=127■
  RR0(n),R2R0(n)INP(m),XINP(m),X2INP(m)       数据输入寄存器位
  LINP(m),L2INP(m)        0<=m<=39
  RINP(m),R21NP(m)R1(p),XR1(p),X2R1(p)    寄存器文件R1,
  LR1(p),L2R1(p)          地址P,0<=p<=127
  RR1(p),R2R1(P)OUT(q),XOUT(q),X2OUT(q)        数据输出寄存器位,
   LOUT(q),L2OUT(q)        0<=q<=23
   ROUT(q),R2OUT(q)AUX(h),AUXi(j)     辅助寄存器输出0<=h<=31
                             0<=i<=3
                             0<=j<=7
GO             全局输出线
其中,K、X表示基于WRM的状态的条件指令;
K表示条件源是当前ALU,
X表示条件源来自一近邻元素处理机。
在一指令行中源操作数可以规定一次以上。
B=A,C=A是合法的
在一指令行中可以规定一个目的地操作数:
B=A,C=B是合法的
C=A,C=B是不合法的
如果对每个分指令地址相同,则各个寄存器文件可以一次以上地被指定为源操作数:A=R0(13),B=RO(13)是合法的(同一地址)A=R0(13),B=R0(100)不合法(同一RF,不同地址)A=R0(13),B=R1(100)合法(不同RF)
在一汇编行中RF0、RF1、DIR和DOR中只有一个可以指定为目的地操作数:
C=BW,R0(10)=SM合法(单一存储器写入)
R0(13)=A,R1(13)=B不合法(两个存储器组同时写入)
如果R0、R1、INP或者OUT被指定为源操作数和目的地操作数,该源地址和目的地址必须相同:
B=R0(22),R0(22)=SM合法(读/修改/写入)
C=R0(22),R1(123)=C合法(不同RF)
C=R0(22),R0(123)=C不合法(同一RF,不同地址)
B=R1(25),INP(10)=SM合法(不同RF)
B=R0(25),INP(10)=SM不合法(RO和INP在同一RF中)
一般,前面示出的适用于寄存器文件R0和R1的任一规则也适用于INP(DIR)和OUT(DOR)指令,其例外之处是‘n’和‘p’的地址范围为0到127,‘m’为0至39,‘q’为0至23。
亦即,因为指令:
B=R0(10),R0(10)=SM    合法
所以
B=INP(10),INP(10)=SM也合法
图26示出处理单元150的另一个实施例。如图所示,图26的处理单元151每一单元包括4个读出放大器。两个用于DOR/RF0写和读操作。两个用于DOR/RF1写和读操作。图26的实施例中,寄存器文件0和1在每个存储器周期中各读两位数据(总共为每一周期4位)。但是,在一单周期操作方式下只用到4个数据位中的两个。为了避免浪费这些读操作,可以通过形成两个两位超高速缓冲存储体的方式处理这4位数据。在这种方式下,本来未用到的数据也用到了,并实现了周期时间的缩短。
为了补偿数据和反相数据的读出,给各个读/写控制电路提供了地址信号1658和1660。或者,输入数据线可以每隔一个信号反相。在该实施例中,数据输出线也每隔一个反相。
图27a示出从一个PE的每个RF读数据并将数据写入寄存器文件存储体之一中的单周期操作。图27b示出双指令周期如何允许在一个周期中以连续的地址进行两次读出。但是,只需要约1.5个周期的时间,而不需要两个完整的周期时间来完成。
这在图28和下列例子中示出。假定有一个4位数X3X2X1X0和Y13Y12Y11Y10相加。其和将是5位数X4X3X2X1X。X4得之于前一进位与2个MSB(X3和Y13的和。)这必须包括负数。最初没有进位。用于这种加法的一个指令摘录在表25中。
表25
                                    周期    双周期
                               指令指令                                    单   双   时间
                              行数M=1,A=R0(0),B=R1(10),C=0,R0(0)=SM   1    1    1     1M=1,A=R0(1),B=R1(11),C=CY,R0(1)=SM  2    1    1     1M=1,A=R0(2),B=R1(12),C=CY,R0(2)=SM  3    1    1M=1,A=R0(3),B=R1(3),C=CY,R0(3)=SM   4    1         1.5
                C=CY,R0(4)=SM   5    1    1     1总计                                15   5    4    4.5
在执行第一个指令时,为了进行位X0和Y10的相加,读出放大器读出被寻址单元RF0(0)和RF1(10)中存储的数据。这些地址的存储单元可以称为DRAM列的偶位线存储单元。其后的指令组从阵列下一位线上的地址单元RF0(1)和RF1(11)分别读出位X1和Y11。这些可以称为每一读出放大器的奇位线。重复这些操作,直到加法完成。
再次参见表25中的指令组,从表中可以看出,除了存储数据的被寻址单元不同之外,指令行2、3和4是相同的。如果象前面讨论的那样,读序列在一偶位线上开始,可以看到,数据同时从连续的偶奇块中读出。因此,如果紧随偶数据的读出的指令相同的,就可以使用前面读出的数据,这本来是要浪费掉的。运用于上述例子时,指令1和2未转换成一双指令(DI),虽然满足了双指令的地址规则之一(两个被寻址寄存器都先从偶存储单元随后从奇存储单元读出),但是指令不相同。注意,指令1说的是进位(CY)等于0,而指令2说的是CY等于通过‘C’寄存器向前传的进位。看一看指令3和4,很快能看到,这两个指令可以组合起来,形成一双指令。注意先是偶地址读出随后为奇地址读出,并且两个指令相同(除了被寻址单元外)。计算最后一位的指令数5是独立的,因而不能组合,因为没有指令要与它组合。表25示出在上面简单的例子中由于指令的组合而实现的周期时间的节约。在上一个例子中,周期时间从5个周期减到4.5个。
根据双指令思想,每一寄存器组可以采用两个以上的读出放大器。例如,如果采用3个或4个(每一PE读出放大器总数分别为6个和8个),则可以做到三倍和四倍的压缩从而进一步减少周期时间。
操作码的控制部分由8个8进制数构成。每一数字对应于图5中一个电路部分,因而,只要稍许熟悉一点操作码格式就可以直接读操作码。表26示出那些位对应于哪些部分。‘CIC’是条件指令控制。
表26
控制线 C21  -    -    -    -    -    -    0
8进制数字双重 7    6    5    4    3    2    1    0
2进制数字权重 2   211  111  111  111   098  765  432  109  876  543  210
对应电路部分 CIC WRM  WRA  WRB  WRC  NNC  RF1  RF0
其中,CIC=条件指令控制
  WRM=工作寄存器‘M’
  WRA=工作寄存器‘A’
  WRB=工作寄存器‘B’
  WRC=工作寄存器‘C’
  NNC=近邻元素控制
RF1=寄存器文件1和数据输出寄存器控制
RF0=寄存器文件0和数据输入寄存器控制
图29中示出的控制器128连到SVP102和软件程序开发和电视操作模拟系统900。开发系统900包括一主计算机系统912、一主计算机接口逻辑914、一模式发生器916和一数据选择器918。开发系统900中的主计算机系统可以有多种形式。这些形式包括一个人计算机、一遥控单元、一文字编辑机或者用于开发一控制算法的其它装置。主计算机接口逻辑916包括用于模拟电视机的主微控制器的电路。在开发系统900中,主计算机接口逻辑914与模式发生器916协同工作,以连接主计算机系统912和局部通讯总线930。模式发生器916产生定时和其它模式来测试程序算法的代数精度。模式发生器916还为SVP算法和硬件调试(排除故障)提供实时测试视频数据。数据模式编程器(或选择器)918用来从40根输入线920或者数据模式发生器916产生的数据模式中选择要输入SVP的数据。如图所示,数据选择器918串联地插在40根输入线920和40只SVP输入插脚118之间。在开发系统900中,提供一个俘获(或者字段)存储器121,以从24根输出线170中的8根获得处理后的数据。24根输入线中需要的8根由一3选1的8进制多路转换器171选出。利用这一方式,可以获取(或存储)处理后的视频数据的一个字段,并返回给主接口914和/或计算机系统912,供SVP的操作实时分析。
主计算机接口逻辑914和主计算机912之间的硬件接口932在开发系统900中由传统的并行接口连接实现。在另一实施例中,当接口速度不作为首要考虑因素时,可以采用一个通常的EIA RS-232C电缆。飞利浦电子公司制造的ⅡC总线可以用作为主计算机接口逻辑914和控制器128之间的接口线路930。
在视频信号处理应用中,控制器128产生与图1中线路110上输入电视信号的垂直同步成分和水平同步成分同步的SVP处理装置102的控制信号。
图30示出一电视微控制器1700。微控制器1700在初始化(系统得电)时预置内部电视电路。微控制器1700接收例如那些来自私人计算机键盘1702、一遥控单元1704或者一视频信号解码器1712的外部信号,将它们译码,并将控制信号传给其它电视系统成分。这些系统成分包括控制器128、SVP处理装置102、音频处理电路、UHF和VHF调谐器等等。例如,这些外部控制信号包括对比度、亮度和色调。视频信号译码器1712接收并译出诸如分标题和第二语言之类的信号。
再次参见图30,控制器128包括一主控制器902、一垂直定时信号发生器904、一水平定时信号发生器906、一常数发生器908和一指令发生器910。在操作中,控制器128通过线路946向SVP处理装置102提供操作常数,通过线路948提供控制指令并通过线路950提供定时信号。来自水平定时信号发生器906的外部控制线938,来自垂直定时信号器904的控制线路952和来自主控制器902的控制线路934,为其它开发系统成分提供定时信号和控制信号。前文参照图20和21解释过,几个SVP处理装置可以级联在一起。这些成分包括专用多路转换器和外部字段存储器。
图31示出从开发系统900中取出的控制器结构128。图31示出的控制器128可以作为一单独的集成电路存在。在该实施例中,没有外部控制线934、938和952。主控制器902(MC)解释由主计算机接口逻辑R914或者TV系统微控制器1700翻译过来的来自用户的外部命令,并产生一串控制码给垂直定时信号发生器904、水平定时信号发生器906、指令发生器910、专用多路转换器(未画出)和其它要求每一场或帧转换一次的所需要的外部逻辑。主控制器902可以包括能允许用户卸载软件的外部可编程存储器。但是,最好以固件形式将主控制器逻辑和程序设在芯片中。
主控制器902数据的输出分别由线路932和936提供给垂直定时信号发生器904和水平定时信号发生器906。垂直定时信号发生器904分别通过线路944、940和942给水平定时信号发生器906、常数发生器908和指令发生器910提供一控制信号。水平定时信号发生器906的定时信号输出通过线路950供给处理机102。类似地,常数发生器908通过线路946向处理机102提供操作常数,而指令发生器910通过线路948提供控制指令。
简短地说,在总的操作中,主控制器902通过场扫描频率或帧扫描频率来控制视频信号的处理,而垂直定时信号发生器通过行扫描频率控制垂直方向的操作。水平定时信号发生器906通过象素频率控制水平方向的操作。控制命令从TV系统控制器1702通过一简单的2线同步串行总线930传给主控制器902。后文将详细讨论操作模式(要求有不同特征,例如画中画、多屏幕图象、静止图象或其它)和图52的辅助寄存器1196的内容。简短地讲,它们通过命令总线930给SVP处理系统传送诸如‘锐度’之类的变量。主控制器902是带有各种包括条件和矢量转移的指令的固件可编程状态机器。
图31中更详细地示出了主控制器902。图32的主控制器实施例包括带有一串行数据输入954和串行时钟输入956的异步至同步的转换逻辑部分958。微控制器1700到主控制器902的数据传输采用串行通信方式,通过一串行数据输入930进行。在较佳实施例中,串行数据的格式是一10位的字,最高有效位在先。
前面提到,微控制器1700的串行时钟和串行数据输出通过数据线930a和930b供给主控制器902。异步至同步的转换逻辑958接收线路930上的串行信号,并将它们从串行格式转换到并行格式。它包括实现这种任务的寄存器。数据一旦形成并行格式,就保持在寄存器中,并在需要的时候送列数据线960或1198上。逻辑958来的10位数据中8位并行装入8位寄存器962。前4位由数据线964传给多路转换器968,最后4位类似地由数据线966传送。多路转换器968还接收线路970和972上的外部标志输入。异步至同步的转换逻辑还在线路957上提供一1位的标志输出。
在操作中,线路964来的4位表示一控制指令或控制器128的一种操作模式(画中画(PIP)等等)。如果指定PIP模式,数据线966上传送的4位描述在电视屏幕上设置分图象的点。利用4根线,可以指定16个可能的位置中的一个。在两个或多个SVP级联时,外部标志970和972启动异步操作的同步化,或者启动一SVP和附加的外部硬件控制器之间的同步化,如果除了指出控制器128在软件程序中何种指令下开始处理一新的信号之外,它们还存在的话。
多路转换器输出974供给屏蔽启动逻辑976。逻辑976执行对寄存器962来的数据位的测试,976在线路982上的输出控制主控制器地址计数器984是继续依次寻址还是进行转移。多路转换器968的输入还通过线路978供作为多路转换器980的输入。多路转换器980有9根数据输出线986给主控制器地址程序计算器984提供输入。线路988上从主控制器地址计数器984来的地址对主控制器程序存储器990中的存储单元寻址。地址信号还通过线路992返回寄存器994,以进行子程序调用操作。寄存器994的输出通过线路996给出,作为多种转换器980的另一个输入。
主控制器程序存储器990有14根输出线998,微码输入包括给垂直定时信号发生器(VTG)904和水平定时信号发生器HTG906的地址和操作模式指令。这些信号通过线路936和932供给HTG和VTG。线路998上的一些微码输出位还送给指令译码器1002并译码,译码器1002则通过线路1004给多路转换器980和主控制器程序地址计数器984提供操作控制信号。另外,线路998来的微码输入位还通过线路1008给出,作为多路转换器980的另一个输入,和多种转换器968的控制。
主控制器902还包括辅助寄存器控制逻辑1012。异步至同步转换逻辑958的9根信号线1198连作为辅助寄存器控制逻辑1012的输入。辅助寄存器的操作将在后文参照图40讨论。
现在参见图33,它更详细地示出图31的VTG904。VTG904在输出944、940和942上产生控制码,分别给HTG906、常数发生器(CG)908和指令发生器(IG)910。在开发系统900中,CG908还通过外部控制线952向要求分辨率为一根水平线的电路提供定时信号。VTG904包括一垂直序列计数器(VSC)1020。VSC1020是一上行计数器。它通过线路932从主控制器902接收一控制方式信号。例如,该信号指定是否需要一画中画操作或其他操作。实质上,该模式信号(控制方式信号是VSC(垂直序列计算器)1020的起始地址。VSC1020给垂直序列存储器(VSM)1024提供一个地址。VSM1024存储定时信号和其它信号,用于HTG906、IG910和CG908的初始化和同步操作。在一个典型的操作中,存储在VSM1024中的信息序列被重复。存储器1024除了存储该信息序列之外,还存储该序列重复的次数。VSM1024可以包括RAM、ROM或者其它形式的可编程逻辑阵列(PLA)。
重复次数通过线路1027提供给重复计数器(RC)1028。RC1028是从重复序列次数向下计数的下行计数器。当RC1028遇到重复结束位时,通过线路1032供给计数器控制逻辑(CCL)1034一个控制信号。CCL1034在线路1036上给出一个信号以指示VSC1020进到,下一地址单元。通过线路1040给出另一信号来使垂直循环计数器(VLC)1030增量。CCL1034的初始化由输入电视信号中的垂直和水平同步信号控制。该同步信号通过线路1038提供。
再次参见VSM1024,线路1026上的信号的控制成分供给VLC1030,以在一需要的存储单元开始起动该VLC。线路1042上给的VLC的输出对垂直循环存储器(VLM)1044中的存储单元寻址。VLM1044也可以是RAM、ROM或PLA。它为HTG、VTG和IG存储循环模式(程序)、起始地址和标号。VLM1044的控制数据位提供给重复计算器RC1028,以指示一个循环序列已完成,并使之增量。多个数据位还提供给寄存器装入定序器(RLS)1054。RLS1054包括一解码后的时钟,以控制锁存器1048、1050或1052。RLS1054还提供一增量信号,使VLC1044增量。数据以高达每一水平扫描线时间输出一次的频率从锁存器1048、1050和1052输出。
在操作中,VLC1030提供一个输入信号1042给VLM1044,VLM1044则扇出方式控制信号,该信号由水平定时信号发生器方式锁存器1048、常数发生器方式锁存器1050、指令发生器方式锁存器1052、RLS1054和RC1028锁存。RLS1054提供一个输出给VLC1030以及锁存器1048、1050和1052。各个方式锁存器在被触发后在输出线944、940和942上提供各自的信号给HTG、CG和IG。
VTG904的功能还包括将水平定时改成不同的方式,改变操作指令以处理图象变比的电视信号,或者用一不同的过滤算法处理,以及改变外部多路转换器。这里仅列举其中的一部分作为说明的例子,其功能远不只这一些。
现在参见图34,其中更详细地示出图31的HTG906。VTG904的7根输出线中的五根连至水平序列计数器(HSC)1062。余下两根作为多路转换器1074的输入。多路转换器1074的另外两根输入线936是来自图31的主控制器902的方式控制信号。从图30的电视系统控制器来的控制信号控制输入之间的选择。在一些电视操作方式下,例如16分画面画中画方式下,VTG中的部分模式将不会改变,即使HTG中的模式改变了。在这种情况下,多路转换器1074用来将VTG控制位绕过VTG,而直接给HTG。因此,7个HTG控制拉可以都来自VTG,或者,其中5个来自VTG,而余下两个来自主控制器。多路转换器1074的输出由锁存器1078锁存。锁存器1078由电视系统的主时钟供给时钟脉冲。
线路944上的VTG方式信号输入是水平序列计数器(HSC)1062的起始单元。HSC1062的计数起始单元输出与来自锁存器1078的两位数据结合,对水平序列存储器(HSM)1066中的一个存储单元寻址。对7位的VTG方式输入,可以得到128个不同的模式。每一模式是23位宽一总线宽度950。HSM1066存储着指出在电视屏幕上何时出现所需循环(或模式)的信息。例如,如果有16个可能的分画面位置,定时起始将随着分画面所处位置而变化。重复计数值通过线路1084供给重复计数器1088。计数器1088是计数循环的重复次数的上行计数器。当进行完所需次数的重复后,计数器控制逻辑CCL1092发出信号给HSC1062,使之进行排序。CCL1092由线路1094上的电视信号中的水平信号起动。
图31的主接口914能够提供断点请求(BPREQ)或者中断标志给所有功能块和读写电路。采用断点信号后,程序员能够停止程序的执行,例如,在任一水平扫描线上停止,以检查算法、定时等等。HSM1066的存储器输出的一个成分给水平循环计数器(HLC)1086提供一起始单元。通过线路1100提供一控制信号1100来控制HSM1086的操作。HLC1086提供一个地址给水平循环存储器(HLM)1104。HLM1104保持了描述被重复的模式象什么的数据。HLM1104的24个输出位之一给在线路1108上,以指出循环的结尾已到来。余下23位锁存在锁存器1110中,用于输入到SVP处理机102。
在操作中,HTG906为需要象素时钟频率下的定时边沿的SVP电路、字段存储器装置、DIR、DOR、外部多路转换器、D/A转换器等等产生定时信号。它能够产生分辨率直至一个取样时钟脉冲的定时边沿。该HTG还描述在水平方向定时将是怎样的。如果需要特殊效果,水平定时将根据是否需要画中画、多画面、图像变比等等来变化。在这种方式下,水平定时可以在某一水平扫描线上变化以允许进行数据操作。
图35示出图31的常数发生器CG908的方框图。5个VTG方式位被供给常数序列计数器(CSC)1116。5位能够形成32个不同的常数串。每一常数串可以有15位-输出总线宽度946。
线路1118上的CSC输出对存储在常数序列存储器(CSM)1120中的循环地址值和对应的重复值进行访问。该CSM地址给常数循环计数器(CLC)1126选择一起始单元。CLC1126从该单元开始并增量,直到到达一循环位的端部末尾。在0至31之间变化的重复值供给到重复计数器RC1128,它是一下行计数器。当该RC减量到零时,线路1130上有一个信号发给常数控制逻辑(CCL)1132,以使CSC1116增量。CCL还使CLC1126增量,直至遇到循环信号的末尾。CLC1126给CLM1142指出一个起始存储单元。CLM1142来的16个输出位之一形成循环信号的尾端,以使RC1128减量。
CLM1142存储用于各个PE的唯一的操作常数。这些数据包括用于被模拟的滤波器的值。CG908与HTG同步地工作,以将所产生的数据输入各个DIR。随后IG中的一个常驻程序将这些常数传送到处理机的RF中。CG能够产生分辨率为一个取样时钟周期的数据流。
图36更详细地示出图31的IG910。IG910包括一转移标志仲裁控制逻辑(JFAL)1224,该逻辑1224接收一水平同步信号1218、来自VTG904的方式控制信号1220和标志信号1222。JFAL1224将11个矢量转移地址位中的5位提供给指令程序寄存器多路转换器(IPRX)1230的输入1226。线路1226上的这5位数据是总的11位数据中的最低有效位。JFAL1224还提供一转移信号1228给指令译码器1234。指令译码器1234提供多个输出信号。线路1236将输出信号之一送回到JFAL1224的一个输入。线路1238将一4位的译码后多路转换器输出控制信号1238送至IPRX1230。线路1240将控制信号送到增量控制逻辑1242、全局循环地址发生器(RF1)1244和全局循环地址发生器(RF0)1246。线路1240上的4位控制信号指示全局循环地址发生器1244和1246给其各自的寄存器文件装入或转换数据。提供给增量控制逻辑1242的信号设定地址计数器1290和1292的增量当进行单指令操作时为+1,当进行双指令操作时为+2。IPRX1230在线路1248上提供一11位的指令地址给指令程序寄存器1250。指令指针寄存器1250的输出信号1252是指程序存储器1258的一个地址。地址1252也回到IPRX1230的HOLD(保持)输入1254。如果需要,该输入保持该存储器地址,以进行再寻址。地址1252还提供给+1增量控制逻辑1256。增量逻辑1256使返回寄存器1264增量,或者指示IPRX1230进到下一地址。返回寄存器由一CALL(调用)输入信号锁住。
指令程序存储器(IPM)1258存储微码形式的SVP系统阵列指令组。该指令组是在早一些时候提供的。其中给出对该44位指令的完整的描述。IPM1258的44指令位转移给阵列指令组中提出(规定)的不同的存储单元。例如,位数43是断点标志。这一位通过线路1270提供给断点控制器1274。其它控制位提供给IPRX1230的VEC-TOR(矢量)、JUMP(转移)和CALL(调用)输入,以及指令译码器1234的输入1282。选择标志的屏蔽值位通过线路1223提传给JFAL1224。如断点控制器1274在断点位读出过程中启动,线路1280和1284上给出一个中断点信号,停止操作,来进行测试。中断点控制器1274还接收一个中断点行(BP行)输入信号1276和一复位信号输入1278。指令位0至23从IPM1258转移到控制码锁存器1288。位25至31转移到RF0地址计数器1290。位32至38转移到RF1地址计数器1292。位39至42转移至重复计数器1294以及增量控制逻辑1242。增量控制计数器1242还接收来自指令译码器的输入1240,后者还提供一4位控制输入全局循环地址发生器(RF)1244和(RF0)1246。控制码锁存器1288的锁存的指令输出1194提供给辅助寄存器和控制逻辑1196,该逻辑还接收线路1198上的全局变量信号。输出1194还在线路1200上直接形成微码位0至23。输出948供给SVP处理装置。
在操作中,IG910以所需时钟频率传送给SVP处理机阵列一个数据流、指令、地址和控制信号。所产生的微码操作并指示图1中SVP102的处理单元ALU、多路转换器、寄存器等等。除了核心指令之外,IG910还能产生允许SVP核心处理机以筒单的微机形式工作的指令。在这种方式下,将执行诸如无条件转移、调用和在某些标志测试指令标志0、1上的转移之类的指令。该标志可以在外部测试。IG910能从VTG904或主控制器906接收内部控制码,并从HTG906接收标志。
在操作过程中,存储在指令程序存储器IPM1258中的指令微码被指令译码器1234取出,解释并执行。解码后的某些信号可用作为IPRX1230的地址选择,以改变锁存在指令程序寄存器(IPR)1250中的地址。指令码控制种种不同类型的指令组,例如,条件或无条件转移、子程序调用或返回、以更新后的方式值作矢量寻址、单或双指令、全局变量分配的辅助寄存器控制和RAM文件10和11地址的全局循环等等。
当在调试阶段认定有中断点信号时,断点控制器1274以一预定值设定IPR1250的内容,将程序流移入特定的子程序,以测试由SVP操作处理过的数据。该中断功能可以由在视频信号给定帧内的BP行1276的水平扫描行的可屏蔽输入控制。
重复计数器1294通过把大量连续而相同的指令表示为指令码和重复计数量的组合来减少了所需要的IPM1258的存储单元数。例如,当重复计数器1294不为零时,IPM不步进,因为只是以一不同的地址重复同一指令而已。这样就能多重复一个指令,而不必将它存储在多个存储单元中。如指令组中所述,指令重复值在微码中编码成位39至42。
图37示出图1中控制器128和SVP处理机装置102之间的另一种连接关系。振荡器1157通过线路1156给各个SVP系统部分提供定时信号。该振荡器由输入视频信号中的水平和垂直同步信号触发。输出线1160a和1160b给CG908和多路转换器1164提供时钟信号。时钟信号还通过线路1158提供给IG910。如果必需,与其它部分也可以形成类似的连接关系。在图37中,多路转换器1164选择输入的数字化视频信号或来自CG908的常数作为DIR154的数据源。DIR154的其它输入包括诸如图1的字段存储器120之类的字段存储器或者其它数据源的输出。
常数以可预定的模式提供给各个处理单元寄存器文件,以在数据处理时使用。如果需要的话该CG可以允许每个PE有唯一的常数值。相反,全局变量告诉所有SVP处理单元以相同的事情。为了避免与输入的视频信号冲突,常数与输入的视频信号分开装入。这些常数由HTG906提供的定时信号移入DIR154中。在视频应用中,新常数的提供可能频繁到每一水平扫描线一次的程度。
图38示出图35中CG结构的另一种实施例。图38的电路包括具有输出线1122、1178和1124的顺序存储器1120(具有输入线1176,以接收定时模式数)。输出1122提供一循环模式数给循环计数器1182,后者则通过线路1184提供一个地址给循环存循器1142。输出1178给控制逻辑1132提供定时顺序信号的端点,控制逻辑1132还通过线路1188接收从循环存储器1142来的循环信号的端点。输出1124提供给重复计数器1128一N位的数,表示指令模式的重复次数。
图39和40示出存储在顺序存储器1120和循环存储器1142中的内容的例子。图39中,列Ⅰ具有存储器1120中所存模式的定时模式数的入口。例Ⅱ具有定时顺序信号端点的入口。在该例子中,如果有几个循环模式要重复,则在一串逻辑低电平或零之后信号为逻辑高电平或1。如果只有一个循环模式,则提供一位。列Ⅲ有每一循环模式重复数的入口。列Ⅳ有要重复的循环模式的循环模式数的入口。
图40则表示出循环存储器1142的内容。列Ⅰ有对应于图39的列Ⅳ的循环模式数的入口。列Ⅱ有循环信号端点的入口。该信号为多个零之后的一个逻辑高电平或1。在这一图示中,存储器1142中存储34个不同的循环。列Ⅲ罗列出要重复的内容。
图41是用于给SVP处理装置102提供定时模式#4的常数的事件序列流程图。当程序指令指示CG908提供常数给SVP处理机102时,该序列从位置1198开始。序列进到步骤1200,将定时模式数输入计数器1160。计数器1116的定时模式数用来在顺序存储器1120中寻址模式序列。本例中定时模式数为4。该序列然后进到步骤1204,计数器输出1118为定时模式序列#4寻址起始存储单元。序列然后进到步骤1204,顺序存储器1120发信号使控制逻辑1170将顺序计数器1116复位至零。序列再进到步骤1206,顺序存储器1120将重复循环的次数装入重复计数器1128,以重复循环并将第一个循环装入循环计数器1182。本例中,在定时模式#4下有3个循环。第一循环,即循环模式#3,要重复31次。第二循环也是循环模式#3,重复31次。本例中,5位地址将最大重复数设为31。通过改变位宽度,可以指定更大的数字。在当前情况下,如果需要重复31次以上,则只需要重复同一循环模式即可。这由定时模式#4完成。
在步骤1206之后,序列进到步骤1207,顺序存储器1120将第一循环模式的重复次数装入重复计数器1128。本例中这是#3。循环计数器的输出访问循环存储器1142中的一个存储单元。序列然后进到步骤1208,循环存储器1174输出对应于循环#3的常数串。本例中,常数串是8-5-7-3-2-19。然后,序列进到步骤1210,控制逻辑1132使循环计数器1182随着每个常数的传递而增量。在步骤1212,如果控制逻辑1132未遇到循环位的端点,则从步骤1208开始重复操作,直至循环中的最后一个常数被传送,并且遇到循环信号的端点“1”。序列然后进入步骤1214,控制逻辑1170分别通过线路1186和1192上的信号使循环计数器1182复位,和使重复计数器1128减量。接着,序列进入步骤1216。在步骤1216,如果重复计数器1128未减到零,则序列返回步骤1207。如果达到零,则进入步骤1221,控制逻辑1132使顺序计数器加1,并且序列返回到步骤1206,并重复这些步骤。如果在步骤1223,顺序计数器的计数大于序列数,则操作停在步骤1227。
在图42中,示出一个有N位分辨率的5极有限脉冲响应(FIR)滤波器792,它可以用在SVP装置102中。通过采用图18的第二最近邻元素结构,相对单个近邻元素结构,能够省掉2N个指令。例如,参见后文中的指令组,其中示出,处理机102需要有N个指令,来将N位从2L移到1L,以执行一个加法运算。类似地,从2R将N位移1R也需要N个指令。通过采用第二最近邻元素连接关系,相对单个近邻元素通讯网络,节省了2N个指令。例如,如果采用-12位的FIR,则第二最近邻元素结构只需要单个近邻元素网络执行时间的68%以下。
因为SVP是软件可编程装置,除了图42的FIR(水平滤波器)之外,还可以采用多种滤波器,以及其它的功能。例如,它们包括,垂直和时间FIR滤波器和IIR滤波器(垂直和时间的)。
图43中示出4个行存储器:一个8位行存储器824;一个6位行存储器826,两个4位行存储器828和830。这些行存储器可以在SVP装置102中模拟出来。为了说明这种技术,假定图44a代表一寄存器文件,例如是处理单元N的RF0,具有位存储单元00至7F(0至127)。寄存器文件44a可以分成多个块。本例中,它被分成两块,下部和上部(两者不必相等)。上部包括位存储单元00至3F,下部为40至7F。如果上部指定为全局循环存储器,则下部可以用作为普通的操作寄存器文件。为了便于理解,全局循环部分可以看作为例如“Q”位的“P”个字,其中P×Q小于或等于总的全局循环空间。这在图18b中示出,图18b是图44的上部的分解图。图44b的全局循环区域的每一行包括以层叠水平方式转置的8位寄存器文件。当在该存储区域内指定一个地址后,它位移一总全局循环空间的“循环值=Q”的模数。这样,寄存器文件的独立的行存储器分组被循环,而不需要在整个存储体内移动数据。在这随后的例子中说明。
如果图43的4个例示行存储器位于图44b的全局循环区域中,并且执行一个全局循环指令,则数据的移动路线将是:B→C;C→D;D→E;E→G;G→H;H→M和J;M→N;J→K;N和K→B。初看起来,移动E→G、H→M和J、N和K→B象是错的,因为在全局循环之前存在的老数据好象只是被移位。但实际不是这样,因为紧接全局循环之后,新的数据值A、F、I和L写入那些存储单元,这样,老的值E、H、K和N被丢失,这在行存储器中是可以想象的。为了模拟1-水平延迟,全局循环指令每一水平扫描线时间执行一次。SVP的硬件允许设定Q的值和全局循环空间的最大值。
图45是图36寄存器文件0(RF0)1246的全局循环地址发生器的逻辑图。用于图36的RF1 1244的全局循环地址发生器是相同的,因此,下面的讨论适用于两者。全局循环地址发生器1246通过线路1291从RF0地址计数器接收一相对寄存器地址。这相对地址通过线路948提供给RF0中的地址寄存单元。微码位32至37是通过线路1374和1382由指令程序存储器1258提供的11位中的6位。由线路1374给出的这6位限定了要在一个循环步骤中循环的总寄存器区域中寄存器的数量。在前一例子中它是字母P。出于工程设计的目的,本例中由位32至37限定的值以因数2放大。放大的P值给到寄存器1370。指令程序存储器1258通过线路1382给出的微码位C48至42限定总的全局循环区域,或者限定前一例子中的Q。为了工程设计,循环区域放大8倍。放大后的Q值提供到寄存器1380。当全局循环要开始时,图36的指令译码器1234通过线路1234A为RF0提供一个信号LMRx(对RF0,x=0,对RF1,x=1)。信号LM-Rx提供给模数寄存器(MODREG)1380、循环值寄存器(ROT VALREG)1370和位移寄存器(OFST REG)1450。OFST REG 1450的功能将在后文进一步讨论。信号LMRx分别将线路1374和1382上给出的值装入寄存器1370和1380,并使寄存器1450复位。在用到全局循环之前,只需要执行一次LMRx指令。如果全局循环的大小未变,或者新的全局循环未开始,则无需再执行。
加法器(ADD-a)1390将ROT VAL REG 1370的内容加到OF-ST REG 1450的当前内容上。OFST REG在线路1396上的输出是寄存器文件绝对地址与线路1291上给出的寄存器文件相对地址之差的一半。ADD-a在线路1600上输出一新的位移值给减法器-a1373的“+”输入,和数据选择器-a1372的“1”输入。减法器-a1373从MOD REG 1380减去模数值的4个最高有效位(MSB)和从ADD-a 1390减去6位输出。在执行这次减法运算之前,两个为零的最低有效位(LSB)先加到寄存器1380的全局循环区域输出值上。加上两个零LSB使得全局循环区域输出乘以4。减法器1373是供选择采用的,它测试位移值是否在限定的全局循环区域之外。本例中,如果减法器输出为正(逻辑低电平),则该位移值在全局循环区域内。数据选择器输出1602提供给数据选择器-a 1372的“0”输入。
如果选择器输出为正,则数据选择器1372选择减法器1373的输出作为输入。如果选择器输出为负-表示位移到全局循环区域之外,则选择ADD-a 1390的输出。数据选择器-a 1372的输出为修正后的位移值。当位移寄存器1450接到指令发生器的信号GRLx1243后,数据选择器-a 1372的新的位移值输出由位移寄存器1450锁存。GRLx指令被指行来启动一全局循环。通常,这发生在一条扫描线的开始或结束,或者在DIR到RF0或HF1至DOH的传送之前。在水平行扫描过程中执行一次传送也是可能的。
现在参见图45的输入线1291,组成寄存器文件相对地址的7位作为比较器(COMF)1440的一个输入、和数据选择器-c(DSEL-c)1420的一个输入。提供给COMP1440的这7位是一8位输入中的LSB位。MSB是线路1379上的零位。COMP1440的第二个输入是来自MOD REG 1380的5位输出。这5个输出位提供了COMP1440的8位输入中的最高有效位。3个LSB位是线路1379给出的零。比较器1440将相对地址1291与模数值寄存器1384的输出相比较。如前所述,输出1384是放大了的值。添加上3个零LSB将该放大的值乘以8。比较器1440测试全局循环。如果相对地址大于或等于模数寄存器1380的输出,则被寻址的寄存器文件存储单元在限定的全局循环区域之外,全局循环不执行。比较器输出1388作为或门1376两个输入之一。第二个输入是微码控制位C2(如果访问RF1,则为C5)。前面讨论,如果微码C2(或C5)是1,则对DIR(DOR)或辅助寄存器寻址。如果C2(C5)为1,则不作全局循环。当相对地址在寄存器文件全局循环区域之外时,数据选择器DSEL-c 1420响应或门1376的信号输出,选择相对地址输入作为其绝对地址输出948。
减法器-b 1400接收相对地址作为其两个输入之一。另一输入是位移寄存器1450的输出1604加上-0 LSB位。减法器-b 1400是供选择采用的,它执行全局循环测试。减法器-b将相对地址值1291和限定的位移值相减。线路1402上的输出是绝对地址。绝对地址值1402作为ADD-b 1410的两个输入之一、和DSEL-b 1419的两个输入之一。如果输出1402为负,给DSEL-b 1419的信号1394使DSDL-b 1419选择ADD-b的输出1606为绝对地址。因为没有负地址,所以ADD-b对负地址的产生进行修正。ADD-b 1410将模数寄存器值1384(添加了3个0 LSB位)加到减法器-b的输出1402上。这产生了ADD-b的正的绝对地址输出。图42c前述事件序列的流程图,是图42a的继续。
在前述图42的逻辑图中,ADD-a是6位加法器,ADD-b是6位加法器,SUB-a是4位减法器,SUB-b是6位减法器。DSEL-a是4位数据选择器,DSEL-b是4位数据选择器,DSEL-c是6位数据选择器,COMP是8位比较器。
[MOD REG]的值是<模数值>/8:
<模数值>=0,8,16,24,…112,120,128
[MOD]=0,1,2,3,…14,15,16
[ROT VAL REG]的值为<循环值>/2,在上一例子中,是0和[MOD REG]*4之间的任何数字。
如果指令发生器的相对地址(REL ADRS)大于或等于[MODREG]*8的内容,(REL ADRS)由DSEL-c输出。否则,由DSEL-c输出模数地址,以执行全局循环。
如果(REL ADRS)<[MOD REG]*8:((RELADRS)-[OFSTREG]*2)mod([MOD REG]*8。
如果(REL ADRS)>=[MOD REG]*8:(RELADRS),
图46a和46b是部分全局循环流程。
在图47中,示出了用于流水传送从控制器128接收到的地址信号、数据信号、控制信号和其它信号的例示电路。该说明用的电路包括用于向因子发生器1440提供输入1438的地址缓存器1436,其输出通过驱动器1444提供给地址因子译码器1448。译码器1448的输出1450提供给以线路1454上给出的取样频率为时钟频率的锁存器1452。锁存器1452可以由线路1458上的有效低电平输出在接收时钟脉冲之间复位。锁存器1452的输出提供给被控制部分的控制线输入,例如DIR、输入寄存器文件、输出寄存器文件或DOR的字线1462。如果用一个外部控制器,则提供一个芯片焊接面触点1432,以将控制信号输入SVP102,图47类型的电路也可以用在DOR一侧。图48是一流水线电路的各种输入和输出的表。
图49中给出一时间表,以说明装置速度的提高,该速度得之于装置无须确定前面执行的指令的输出而连续地提供信号给SVP的能力。信号1431是通过外部触点1432提供给SVP装置102的有效存储器地址信号。信号1450是地址译码器1448的译码信号输出。信号1462示出被提供给DIR字线的驱动器1456的信号输出。如果在时间t0提供了一个有效的地址信号,则该信号被译码,并在时间t1传给锁存器1452,在时间t3被锁存住。在取样时,译码后的地址提供给选中的字线。由于在前一信号被处理完之前能连续地提供随后的信号给地址缓存器,操作的速度显著地提高了。在目前的电路中,当新地址(用于下一操作)流水通过输入缓存器、因子发生器/驱动器、连线和地址译码器时,锁存器保持当前操作的状态。前面提到,该流水线技术适用于数据信号、控制信号、指令、常数和实际上所有其它以预定顺序供给的信号。
图50中示出怎样通过将输入缓存器构造成一锁存器而进一步流水传送信号。这些锁存器可以由复位1482和/或取样信号1484的某些导出信号复位和供给时钟脉冲。触点1486接收最后提供给整个流水线系统的主时钟输入信号。类似地,时钟发生器1496为系统产生锁存信号和复位信号。对这种类型的装置可供给所有来自控制器的控制信号和地址信号。
图51示出适合于控制全局变量的分配的控制电路。前面讨论过,控制器提供地址、控制和数据信号给SVP处理单元。为了将变量装入SVP,并全局性地分配,可以采用图51的控制器硬件。
图中示出,控制器可作修改,引入一组辅助寄存器1570和一寻址结构,该结构调制SVP处理单元的M寄存器,以分配变量。辅助寄存器和调制部分1196包括一辅助存储寄存器1510,例如RAM存储器,以及一个2选1的多路转换器(MUX)1574。辅助寄存器1570有一8位装入数据输入1562、一数据写输入1564和构造成5位×1的寄存器地址或读端口1568。辅助寄存器写入端口构造成2位×8。辅助寄存器输出1572用来触发MUX1574的H(高电平)输入。MUX1574的L(低电平)输入是操作码输出的C18位。线路1576给MUX1574提供一辅助寄存器指令启动信号。后文将详细讨论辅助寄存器1570。
参见图51,其中示出一处理单元的RF1和DOR的存储变换。如前所述,存储变换中的辅助寄存器地址是一部分RF1/DOR未使用的地址。在操作中,对存储器DOR地址之“上”的区域寻址的行动选中了辅助寄存器。存储在辅助寄存器中的数据各以4个8位字的形式写入,而各以32个1位字的形式读出。当辅助寄存器位的状态被读时,根据辅助寄存器MUX启动线的状态,或者辅助寄存器的输出或者原始操作码位C18被直接传给M寄存器数据选择器MUX。如果操作码位C19和C20都为1,则选中寄存器M中的一个零或1,亦即,如果{C20,C19,C18}={110},M输出=0,如果{C20,C19,C18}={111},则M输出=1。
图52描绘出图36的辅助寄存器和控制器装置1196。该寄存器组有4个8位寄存器1608A-D用于存储总共32个1位的全局变量。变量通过线路1562提供给寄存器。各寄存器1608A-D有一时钟信号输入,以通过线路1563接收一写入时钟信号。每个寄存器组还包括连接1→4译码器1616的一个输出的一个装入(LD)或写入启动输入1610和一输出启动(OE)1612。寄存器1608A-D的读/写启动通过各线路1614A-D连到相应的译码器输出。一2选1的数据选择器1620通过线路1618向译码器1616提供一2位的寄存器地址。数据选择器1620有3个输入。输入1295是一2位地址,找出要写入线路1562上的8位数据的寄存器。输入948 A是一2位地址,找出要阅读的寄存器。这2位是寄存器文件地址位的第3、4位。输入1295或者948 A由辅助写入启动时钟信号1564选出。位0至7提供给一8选1数据选择器1622的选择输入。当译码器1616在寄存器时钟输入处有一时钟信号出现时给特定的寄存器提供一输出启动信号的时候,寄存器文件地址位0至2确定寄存器组中一位数据,用于通过线路1572输入到2选1数据选择器1574。象前面说过的那样,数据选择器1574选择一全局变量或者原始的C18位作为输入到SVP处理机阵列的C18位。选择由寄存器地址位5和6以及C5控制位决定。虽然上述例子详细描述了将全局变量送入RF1的情况,但是其原理也适用于RF0。当对RF0寻址时,控制位C5将由控制位C2代替。
在RF1、DOR的存储变换(表4)中,辅助寄存器的地址在保留区域内。但是,硬件位于指令发生器910中,利用这一方式,辅助寄存器可以只采用一组(而不是N组)寄存器。一个地址值只对一寄存器位寻址,而与DOR的情况不同,对于DOR,一个地址值同时对N位(亦即,对应于处理单元数的1024位)寻址。当给出在SVP的实际存储器之外的地址时,则对辅助寄存器寻址。
在图53中,作为例子,联系用于减少对控制存储器的存储要求的电路,示出了一个有ROM的SVP控制器。简短地说,这种减少是通过给控制器增加重复计数器1588和程序计数器1584的计数/保持输入而实现的。控制器数据和地址存储单元由程序计数器的N位输出排序。程序计数器分别由信号输入1596和1598给出时钟和复位。控制器提供多个输出信号:输入重复计数器1588的4位计数信号允许重复计数至16;亦称作微码或微指令的由锁存器1590锁存的24位操作码1602;被上行计数器1592用作RF0操作数地址的7位地址1604;被上行计数器1594用作为RF1地址的类似的7位地址1606。另外,给控制逻辑1586提供一个1位的控制信号1607,以表明正在采用单指令还是双指令。
重复计数器的行波进位输出输入到程序计数器的计数/保持输入,使它停止操作,直到重复序列结束。一旦指令被重复了正确的次数之后,该行波进位输出使程序计数器重新开始操作。该行波进位信号还输入到控制逻辑,使它进入给定条件下的正确状态:如果重复计数器在工作,控制逻辑输出一2位的码,给寄存器文件上行计数器,使它们进入计数方式中。如果重复计数器不在工作,寄存器文件上行计数器将进入锁存方式。这2位的输出还表示出计数是单指令方式下的1,还是双指令方式下的2。
一个32位加法运算的例子将说明上述电路的优点。下面,在表27中以缩略形式示出了用于32位字的加运算的指令组
表271)M=1,A=R0(1),B=R1(1),C=0,R1(1)=SM2)   A=R0(2),B=R1(2),C=cy,R1(2)=SM
(3),    (3),    (3)=
 |       |       |
 |       |       |
 |       |       |
(30)    (30)    (30)
A=R0(31),B=R1(31),C=cy,R1(31)=SM3)     A=R0(32),B=R1(32),C=cy,R1(32)=SM
                       C=cy,R1(33)=SM
“双指令”将30个指令压缩成15个指令,然后,“重复”将15个指令压缩成1个指令。
如果联系前面讨论过的两个4位字加法运算例子(表25)考虑的话,很清楚,指令组的指令2至31可以压缩成15个双指令。然后再采用重复计数器方式,该15个双指令可以汇编成由硬件重复执行15次的一个单指令。这样,两个32位字的加法运算从33个指令减至4个指令。当重复计数器工作时,程序计数器停止,两个地址计数器对于单指令自动增量1,或者对于双指令自动增量2。从对操作的上述讨论中,可以很清楚地看出,根据本发明所描述的控制器存储器的减少采用双指令或不采用双指令的情况下都能够实现。例如,如果上述32位加法运算例子不采用双指令,则可以增大重复计数位值,从而能进行较大的重复计数,或者第一次重复执行两遍。
图54示出同步矢量处理机/控制器芯片的另一个实施例。图54中,芯片中与SVP处理机阵列一起,包括有指令发生器和辅助寄存器。前面提到,控制器1626和SVP装置1628可以制作在一块硅芯片上,形成器件1630。时钟振荡器1632与传送来的电视信号相位同步(锁定),并向控制器部分提供时钟信号。通常,时钟振荡器1634给出与SVP操作速度相匹配的时钟脉冲。
图1以及对图1的描述详细示出SVP装置和控制器是怎样结合在一个电视系统中的。其中还包括了录象机134如何用其输出136代替视频信号提供给SVP处理机的描述。或者,SVP装置/控制器系统可以直接结合在一录象机中。图55中示出了怎样做到这点的一个例子。对于系统1629,装置1630可以包含一个或多个SVP器件。系统1630包括通常的调谐电路1644,用于合成视频信号或者S-VHS视频信号的调谐接收。彩色分离和解调电路1642处理该调谐后的信号,其输出以前面讨论过的方式传送给SVP系统1630。处理后的信号输出由电路1640作了色彩调制,调制器1640输出一合成的视频信号或S-VHS视频信号。合成的视频信号由电路1638作RF调制,并作为电视天线的输入,或者作为监视器的输入,以进行显示。
在录制方式中,处理过的视频信号由电路1634作相位调制和频率调制,并以通常的方式由磁头逻辑1636记录下来。在重放过程中,所记录的信号从磁带上读出,并传给相位和频率解调电路1632。随后,信号可再由SVP系统1630处理,作为输出。可以采用一个或多个字段存储器120来获取数据,方式同前面参照图1讨论过的一样。
这里揭示并讨论的同步矢量处理装置和控制系统不限于视频应用。SVP独特的实时性能为大量的信号处理应用提供了灵活的设计途径。表27中列出了它们的部分应用场合。
表27
通用DSP                  医疗
-数字滤波            -病人监视
-褶合式变换          -超声装置
-对射变换            -诊断工具
-快速傅里叶变换      -NMR成像
-第二维自适应滤波    -PET扫描成像
-中性网络
                     军事
消耗装置             -雷达处理
-需达探测器          -声纳处理
-数字式视频/音频     -成像处理
TV
-音乐合成器          -导航
                   -导弹引导
工业               -无线电频率调制解调装置
-机器人            -传感器汇合
-目检
制图/成像          远距离通信
-机器人视觉        -回声消除
-图像传输/压缩     -ADPCM代码转换机
-图案识别          -均衡器
-图像增强          -数据密码化
-固态处理          -FAX(传真)
-工作站            -蜂窝式电话
-动画/数字映象     -扬声电话
                   -数字语言
仪表               -内插法(DSI)
-频谱分析          -电视会议
-函数发生          -扩展频谱通信
-图形匹配
-地震处理          汽车
-瞬态分析          -振动分析
-数字滤波          -话音命令
                   -数字无线电
                   -蜂窝式电话
                   -全局定位
图56示出一个通用数字信号处理(DSP)系统。该系统是通用的,可以用于数字滤波、褶合式变换、对射变换、快速傅里叶变换、余弦、正弦、哈达马德(Hadamard)变换、沃尔士(Walsh)变换和自适应滤波。这些还只是一些例子。图56的系统包括一模/数转换器,用于将模拟输入转换成数字信号。数据流中设置了一个SVP系统,以接收数字信号,并提供一个处理后的数据信号输出。处理后的数据可以由一数/模转换器转换成模拟信号,或者该处理后的数字信号可以直接作为输出。系统的定时和控制可由一定时和控制电路提供。
图57示出包含-SVP系统的制图/成像处理系统。该SVP装置从一主计算机接收命令,并从与该主计算机相连的一个存储器接收图像、覆盖等等。可以用一个帧存储器来获取一帧数据,作重新输入,以进一步进行处理。SVP的输出可以由一数/模转换器模拟化,再由一矩阵变换电路处理,在显示器上显示出来。图57的通用系统可以用来进行对图像的各种操作。系统57在许多计算机中可用来代替制图板。还有一些可能的操作包括图像混合(梳理)(覆盖)、变换色彩、移向/移离、过滤、频谱分析和图画生成(画线条、圆圈、正文等等)。
图58示出包含一SVP系统的目检系统。该系统包括一个摄像机,用于摄取要检验或者分析的物体。该摄像机输出一视频信号给-A/D转换器的输入,转换器将模拟视频信号数字化,并提供给SVP系统一个数字输入。该SVP系统还得到了来自一个存储器或者诸如光盘之类的屏蔽存储源的存储图像。SVP能提供一个输出给一个显示器或者其它显示装置,以及主计算机。该主计算机可用来控制一个定时和控制电路,该电路也提供信号给A/D转换器、存储器和SVP系统。图58的目检系统可以通过将物体与储存的标准图像比较而进行物体的检验。其输出可能是表示差别的一幅图,简单的合格/不合格显示,或者是一更复杂的报告。系统可以自动地确定正在检验哪一器件。也可以采用其它类型的探测器,例如红外探测器、X射线探测器等等。为进一步增强输出,可以对图像进行预处理和后处理。
图59示出一采用SVP系统的图形识别系统。SVP装置接收来自一模/数转换器的输出的数字化输入信号。储存的图形也可以由一外部存储器提供给SVP用于处理。输入的数据经过处理,从SVP输出一图形号。模/数转换器、储存图形的存储器和SVP可以在一控制和定时电路的输出信号控制下工作。图形识别系统将输入数据与储存的数据进行比较。该系统不但可以用作目检系统,而且可以将输入数据进行分类。由于SVP的速度快,许多比较可以实时地进行。长的数据序列可以分类。图60是一个语音辨识应用的例子。图60的语音数据取样具有8 KHz的频率。因为语音被以较低的频率(8KHz)数字化,SVP有足够的时间对传送来的语音数据进行大量运算。1024个取样信号长的输入将提供约8分之一秒的时间来处理数据,这时间对应于大约140万条指令。另外,SVP能存储许多行数据,从而辨别出字、短语、甚至句子。
图61示出一个采用SVP的典型的雷达处理系统。测到的雷达信号从天线传送到一RF/IF电路,其FM/AM输出提供给模/数转换器。数字化的输出信号由SVP进行处理,其输出提供给一个显示器,或者储存在存储器内。该系统处理脉冲雷达数据,并且将结果储存或者显示。
图62是采用SVP的可视电话(电视电话)系统。图62示出了发送和接收侧。撮像机撮下物体,由模/数转换器将模拟信号数字化。数字化的输出作为SVP的输入。其它输入包括帧存储器的输出和图表。SVP DTMS的输出由滤波电路滤波且提供给电话线。在接收端,电话线将传来的数据送给一模/数转换器,其中,数字化的信号由-SVP处理。输入的信号可以和帧存储器中储存的数据一起处理。SVP的输出由数/模转换器转换成模拟值,并放入一矩阵变换电路中,再由一显示器显示出来,可视电话(电视电话)系统压缩输入的图像,然后将它们编码成DTMF值,通过电话线送给一个接收器。SVP中采用符号表直接产生语音。在接收端,DTMF音被数字化,然后在SVP中检波和去压缩。
图63a和63b示出采用SVP的传真系统。图63示出了发送和接收。文件扫描器扫描要传送的文件,扫描所得到的二进制数据作为SVP的输入。在SVP中可以采用时间表直接产生音调(色调)。SVP进行编码和音调(色调)发生。音调(色调)输出到滤波器,再给到电话线上。在接收端,从电话线收到的数据由模/数转换器转换成数字信号,提供给SVP,作音调(色调)检出和解码。解码后的SVP输出由打印机打出。
图64是一基于SVP的文件扫描系统,它将被扫描的文件转换成ASCⅡ文件。扫描输出提供给SVP,与字符表一起处理,处理后的输出储存在存储器中。文件扫描系统象传真机一样将数据数字化,但是对数据进行模式辨别,并将它转换成ASCⅡ格式。
SVP可以用于保密的电视传送。图65中示出这种系统。该系统包括一视频信号源,它提供一个输出到一输入缓存器。缓冲存储后的信号提供给SVP,以进行处理。SVP和输入缓存器可以在一个控制器的控制下工作。经SVP编码后的信号传给一发送器,由后者发送给一个接收器,在接收端再次被缓冲存储,并由SVP解码。上述系统中的SVP可以通过将每个处理单元中的象素乘以一任意常数将视频信号编成密码。密码常数对存储单元的映象由编码和解码SVP中的ROM编码模限定。编码器传送一个编码字给解码SVP。该编码字通过与编码模式相反地倍乘而由接收装置解调。图66中示出了被传送的信号。
SVP芯片封装在一插脚栅格阵列封装中。图67是该芯片封装的插脚图。
图28中示出了插脚名称和SVP SE芯片的封装插脚的对照表。
表28
信号    插脚# 信号    插脚# 信号    插脚# 信号    插脚#
 D136    C13D137    C12D138    B13D139    A15Vss     D11SWCK    A14RSTWH   C11WE      B12CCOL    A13Vdd     D10CC1L    C10CC2L    B11CC3L    B10Vss     A12RF0A0   D9RF0A1   B9RF0A2   A10RF0A3   A9Vdd     A8RF0A4   B7RF0A5   C7RF0A6   D7RF1A0   B6Vss     C6RF1A1   D6RF1A2   C5RF1A3   A4RF1A4   BdVdd     A3RF1A5   D5RF1A6   C4  SRCK    C2Vss     A1D00     E4D01     B1D02     E3D03     D2Vdd     C1D04     F4D05     F3D06     E2D07     F2Vss     D1D08     E1D09     G4D010    G2D011    F1Vdd     G1D012    H4D013    H3D014    H1D015    J1Vss     J2D016    J4D017    K2D018    K3D019    L1Vdd     K4D020    L3D021    M1D022    M2D023    N1  C9      L5C10     N3Vdd     N4C11     P3C12     R1C13     R2C14     N5C15     P4C16     M6C17     N6C18     P6Vdd     R4C19     M7C20     N7C21     P7C22     R7Vss     N8C23     R8TEST1   P9TEST2   N9TEST3   M9RESET   R10PCK     P10G0      R11CC0R    P11CC1R    M10CC2R    N11CC3R    R12Vss     P12D10     R13D11     M11  D17    N13Vdd    M13D18    N14D19    R15D110   L12D111   P15Vss    L13D112   M14D113   N15D114   K12D115   L14Vdd    M15D116   L15D117   J12D118   J14D119   K15Vss    J15D120   H12D121   H15D122   G14D123   G12Vdd    F15D124   F14D125   E15D126   F12D127   E13Vss    D15D128   D14D129   C15D130   E12D131   D13
 C0    B3C1    A2C2    B2C3    D4RE    C3RETRH D3  Vss   L4C4    M3C5    N2C6    P1C7    P2C8    M4  D12    N12D13    P13Vss    R14D14    P14D15    M12D16    L11  Vdd     C14D132    B15D133    B14D134    D12D135    E11
这一节给出SVP的信号的说明。下面,表29列出信号名称、该信号类型的插脚数量、输入还是输出、以及对插脚功能的简短的说明。
表29
信号名称 #插脚数    I/O     说    明
RESETPCKGO 111 IIO 全局信号:处理机复位-将所有内部流水线锁存器复位并控制各个PE的电路以及DIR和DOR电路。处理机时钟-各个PE及其控制电路的主时钟。全局输出-来自软件指令控制下的所有1024个PE的线或信号。
RF0A6-RF0A0RF1A6-RF1A0 77 II 地址线:用于RFO中128位的RAM和40位的DIR的7位地址。用于RF1中128位的RAM和24位的DOR的7位地址。
C0-C1C2 21 II PE控制线:给RFO/DIR选择数据源的2个控制位。对于存储器操作在RFO和DIR之间作出选择的1个控制位。
C3-C4C5C6-C8C9-C11C12-C14C15-C17C18-C20C21C22-23 213333312 IIIIIIIII 给RF1/DOR选择数据源的2个控制位。对于存储器操作在RF1和DOR之间作出选择的1个控制位。为邻近元素通信选择数据源的3个控制位。给工作寄存器C选择数据源的3个控制位。给工作寄存器B选择数据源的3个控制位。给工作寄存器A选择数据源的3个控制位。给工作寄存器M选择数据源的3个控制位。给各个PE选择条件指令方式的1个控制位。选择各个PE的指令方式为单/双/等候状态单或者空闲方式的2个控制位。
CC0L-CC1LCC2L-CC3LCC0R-CC1RCC2R-CC3R 2222 IOOI 级联信号:8条线路,使得多个SVP装置能被级联起来,以提供1024的整数倍个PE,以便在连续的近邻元素通讯过程中并行操作。
数据输入寄存器信号:
    SWCKRSTWHWEDI0-DI39     11140     IIII 串行写入时钟-DIR写入时钟。复位写入-用于DIR的同步复位信号。写入启动-用于DIR的同步写入启动。数据输入-DIR的并行数据输入。
SRCKRSTRHRED00-D023 11124 IIIO DOR信号:串行读出时钟-DOR读出时钟。复位读出-用于DOR的同步复位信号。读出启动-用于DOR的同步读出启动。数据输出-DOR的并行数据输出。
    VddVss     1213     I 电源-5伏接地
    TEST1-TEST3 3 NC 工厂测试信号-开路
以下各节列出一些合法的分指令助记忆码。从这些原始指令可以生成较高级的指令。表中赋值等符‘=’左边的值是目的地操作数,而右边是源操作数:
<目的地__操作数>=<源__操作数>
在列入助记忆码时,采用了缩写以减少打字时间,并采用一些代替名来防止混淆。
逻辑引用    实际引用         说明               地址范围
R0(n)       →RF0(n)  →寄存器文件0,地址n;   0<=n<=127R1(p)       →RF1(p)  →寄存器文件1,地址p;   0<=p<=127INP(m)      →DIR(m)  →数据输入寄存器,地址m;0<=m<=39OVT(q)      →DOR(q)  →数据输出寄存器,地址q;0<=q<=23M           →WRM     →工作寄存器MA           →WRA     →工作寄存器AB           →WRB     →工作寄存器BC           →WRC     →工作寄存器c
其数据源取决于WRM的值的分指令(亦即M相关分指令)示出三条路线。第一条路线表示进入程序的分指令,第二和第三条路线分别表示取决于(WRM)=0或(WRM)=1的操作结果。‘(WRM)’是工作寄存器WRM的内容。
例如:
R0(n)=XR0(n)    ←    进入汇编程序行
     =RR0(n);(WRM)=0←(WRM)=0时的数据源
     =LR0(n);(WRM)=1←(WRM)=1时的数据源
指令分成8类:RF0、RF1、WRA、WRB、WRC、WRM、ALU和GO。为了完整起见,某些指令出现在一个以上的分类中。
寄存器文件RF0/数据输入寄存器助记忆码<DEST>=<SRC>    条件    操作存储分指令R0(n)=C              (WRC)至RF0(n)R0(n)=SM             ALU的和至RF0(n)R0(n)=M              (WRM)至RF0(n)INP(m)=C             (WRC)至DIR(m)INP(m)=SM            ALU的和至DIR(M)INP(m)=M                   (WRM)至DIR(m)R0(n)=0                    逻辑0至RF0(n)INP(m)=0                   逻辑0至DIR(m)M相关存储分指令R0(m)=XB
  =RB;     (WRM)=0    右(WRB)至RF0(n)
  =LB;     (WRM)=1    左(WRB)至RF0(n)INP(m)=XB
  =RB;     (WRM)=0    右(WRB)至DIR(m)
  =LB;     (WRM)=1    左(WRB)至DIR(m)R0(n)=X2B
  =R2B;    (WRM)=0    第二右(WRB)至RF0(n)
  =L2B;    (WRM)=1    第二左(WRB)至RF0(n)INP(m)=X2B
  =R2B;    (WRM)=0    第二右(WRB)至DIR(m)
  =L2B;    (WRM)=1    第二左(WRB)至DIR(m)M相关传送分指令R0(n)=XR0(n)
  =XR0(n); (WRM)=0    右RF0(n)至RF0(n)
  =LR0(n); (WRM)=1    左RF0(n)至RF0(n)INP(m)=XINP(m);
  =RINP(m);(WRM)=0    右DIR(m)至DIR(m)
  =LINP(m);(WRM)=1    左DIR(m)至DIR(m)R0(n)=XR1(p)
 =RR1(p);  (WRM)=0    右RF1(n)至RF0(n)
 =LR1(p);  (WRM)=1    左RF1(n)至RF0(n)R0(n)=XOUT(q)
 =ROUT(q); (WRM)=0    右DOR(q)至RF0(n)
 =LOUT(q); (WRM)=1    左DOR(n)至RF0(n)INP(m)=XR1
  =RR1(p);  (WRM)=0    右RF1(p)至DIR(m)
  =LR1(p);  (WRM)=1    左RF1(p)至DIR(m)INP(m)=XOUT(q)
  =ROUT(q); (WRM)=0    右DOR(q)至DIR(m)
  =LOUT(q); (WRM)=1    左DOR(q)至DIR(m)R0(n)=X2R0(n)
  =R2R0(n); (WRM)=0    第二右RF0(n)至RF0(n)
  =L2R0(n); (WRM)=1    第二左RF0(n)至RF0(n)INP(m)=X2INP(m)
  =R2INP(m);(WRM)=0    第二右DIR(m)至DIR(m)
  =L2INP(m);(WRM)=1    第二左DIR(m)至DIR(m)R0(n)=XX2R1(p)
  =R2R1(p); (WRM)=0    第二右RF1(p)至RF0(n)
  =L2R1(p); (WRM)=1    第二左RF1(p)至RF0(n)R0(n)=X2OUT(q)
  =R2OUT(q);(WRM)=0    第二右DOR(q)至RF0(n)
  =L2OUT(q);(WRM)=1    第二左DOR(q)至RF0(n)INP(m)=X2R1(p)
  =R2R1(p); (WRM)=0    第二右RF1(p)至DIR(m)
  =L2R1(p); (WRM)=1    第二左RF1(p)至DIR(m)INP(m)=X2OUT(q)
  =R2OUT(q);(WRM)=0    第二右DOR(q)至DIR(m)
  =L2OUT(q);(WRM)=1    第二左DOR(q)至DIR(m)读分指令R0(n) =R0(n)                无操作或读RF0(n)INP(m)=INP(m)               无操作或读DIR(m)
寄存器文件RF1/数据输出寄存器助记忆码<DEST>=<SRC>      条件          操作存储分指令R1(p) =C                     (WRC)至RF1(p)R1(p) =SM                    ALU的和至RF1(p)R1(p) =CY                    ALU的进位至RF1(p)OUT(q)=C                     (WRC)至DOR(q)OUT(q)=SM                    ALU的和至DOR(q)OUT(q)=CY                    ALU的进位至DOR(q)M相关存储分指令R1(p) =KCY
  =R1(p);    (WRM)=0    无操作或读RF1(p)
  =CY   ;    (WRM)=1    ALU的进位至RF1(p)OUT(q)=KCY
  =OUT(q);   (WRM)=0    无操作或读RF DOR(q)
  =CY    ;   (WRM)=1    ALU的进位至RF DOR(q)读分指令R1(p) =R1(p)                 无操作或读RF1(p)OUT(q)=OUT(q)                无操作或读RF DOR(q)工作寄存器WRA助记忆码<DEST>=<SRC>       条件         操作装入分指令A  =0                     逻辑0至WRAA  =1                     逻辑1至WRAA  =A                     无操作A  =C                     (WRC)至WRA装入分指令
A=R0(n)     RF0(n)至WRA
A=INP(m)    DIR(m)至WRA
A=R1(p)     RF1(p)至WRA
A=OUT(q)    DOR(q)至WRA从左PE装入WRA:输出至右PE的WRA
A=LR0(n)    左RF0(n)至WRA
A=LINP(n)   左DIR(n)至WRA
A=LR1(p)    左RF1(p)至WRA
A=LOUT(q)   左DOR(q)至WRA
A=LB        左(WRB)至WRA从第二左PE装入WRA:输出至第二右PE的WRA
A=L2R0(n)   第二左RF0(n)至WRA
A=L2INP(m)  第二左DIR(m)至WRA
A=L2R1(p)   第二左RF1(p)至WRA
A=L2ROUT(q) 第二左DOR(q)至WRA
A=L2B       第二左(WRB)至WRA从右PE装入WRA:输出至左PE的WRA
A=RR0(n)    右RF0(n)至WRA
A=RINP(m)   右DIR(m)至WRA
A=RR1(p)    右RF1(p)至WRA
A=ROUT(q)   右DOR(q)至WRA
A=RB        左(WRB)至WRA从第二右PE装入WRA:输出至第二左PE的WRA
A=R2R0(n)   第二右RF0(n)至WRA
A=R2INP(m)  第二右DIR(m)至WRA
A=R2R1(p)   第二右RF1(p)至WRA
A=R2OUT(q)  笫二右DOR(q)至WRA
A=R2B       第二右(WRB)至WRA
工作寄存器WRB助记忆码<DEST>=<SRC>  条件      操作装入分指令B=0                逻辑0至WRBB=1                逻辑1至WRBB=B                无操作B=C                (WRC)至WRB装入分指令B=R0(n)            RF0(n)至WRBB=INP(m)           DIR(m)至WRBB=R1(p)            RF1(p)至WRBB=OUT(q)           DOR(q)至WRB从左PE装入至WRB;输出至右PE的WRBB=LR0(n)           左RF0(n)至WRBB=LINP(m)          左DIR(m)至WRBB=LR1(p)           左RF1(p)至WRBB=LOUT(q)          左DOR(q)至WRBB=LB               左(WRB)至WRB从第二左PE装入至WRB:输出至第二右PE的WRBB=L2R0(n)          第二左RF0(n)至WRBB=L2INP(m)         第二左DIR(m)至WRBB=L2R1(p)          第二左RF1(p)至WRBB=L2ROUT(q)        第二左DOR(q)至WRBB=L2B              第二左(WRB)至WRB从右PE装入至WRB:输出至左PE的WRBB=RR0(n)           右RF0(n)至WRBB=RINP(m)          右DIR(m)至WRB
B     =RR1(p)          右RF1(p)至WRB
B     =ROUT(q)         右DOR(q)至WRB
B     =RB              右(WRB)至WRB从第二右PE装入至WRB:输出至第二左PE的WRB
B     =R2R0(n)         第二右RF0(n)至WRB
B     =R2INP(m)        第二右DIR(m)至WRB
B     =R2R1(p)         第二右RF1(p)至WRB
B     =R2OUT(q)        第二右DOR(q)至WRB
B     =R2B             第二右(WRB)至WRB
工作寄存储器WRC助记忆码<DEST>=<SRC>     条件        操作装入分指令
C     =0               逻辑0至WRC
C     =1               逻辑1至WRC
C     =C               无操作
C     =A               (WRA)至WRC
C     =CY              ALU进位至WRC
C     =BW              ALU借位至WRC装入分指令
C     =R0(n)           RF0(n)至WRC
C     =INP(m)          DIR(m)至WRC
C     =R1(p)           RF1(p)至WRC
C     =OUT(q)          DOR(q)至WRC存储分指令
R0(n) =C               (WRC)至RF0(n)
INP(m)=C               (WRC)至DIR(m)
R1(p) =C               (WRC)至RF1(p)OUT(q)=C                      (WRC)至DOR(q)M相关装入分指令
C=KCB
 =BW;         (WRM)=0    ALU借位至WRC
 =CY;         (WRM)=1    ALU进位至WRC
工作寄存器WRM助记忆码<DEST>=<SRC>        条件         操作装入分指令
M=0                       逻辑0至WRM
M=1                       逻辑1至WRM
M=C                       (WRC)至WRM
M=M                       无操作装入全局变量分指令
M=AUXi(j)                 (Aux Reg i,位k)至WRM
M=AUX(h)                  (Aux Reg位h)至WRM装入分指令
M=R0(n)                   RF0(n)至WRM
M=INP(m)                  DIR(m)至WRM
M=R1(p)                   RF1(p)至WRM
M=OUT(q)                  DOR(q)至WRM从左PE装入WRM:输出至右PE的WRM
M=LR0(n)                  左RF0(n)至WRM
M=LINP(m)                 左DIR(m)至WRM
M=LR1(p)                  左RF1(p)至WRM
M=LOUT(q)                 左DOR(q)至WRM
M=LB                      左(WRB)至WRM从第二左PE装入至WRM:输出至第二右PE的WRM
 M=L2R0(n)               第二左RF0(n)至WRM
 M=L2INP(m)              第二左DIR(m)至WRM
 M=L2R1(p)               第二左RF1(p)至WRM
 M=L2OUT(q)              第二左DOR(q)至WRM
 M=L2B                   第二左(WRB)至WRM从右PE装入至WRM:输出至左PE的WRM
 M=RR0(n)                右RF0(n)至WRM
 M=RINP(m)               右DIR(m)至WRM
 M=RR1(p)                右RF1(p)至WRM
 M=ROUT(q)               右DOR(q)至WRM
 M=RB                    右(WRB)至WRM装入分指令
 M=R2R0(n)               第二右RF0(n)至WRM
 M=R21NP(n)              第二右DIR(m)至WRM
 M=R2R1(p)               第二右RF1(p)至WRM
 M=R2OUT(q)              第二右DOR(q)至WRM
 M=R2B                   第二右(WRB)至WRM存储分指令R0(n) =M                     (WRM)至RF0(n)INP(m)=M                     (WRM)至DIR(m)
             全局输出助记忆码(DEST>=<SRC>      条件           操作输出分指令
GO=0                     逻辑0至GO
GO=B                     (WRB)至GO
GO=R0(n)                 RF0(n)至GO
GO=INP(m)                DIR(m)至GO
GO  =R1(p)                  RF1(p)至GO
GO  =OUT(q)                 DOR(q)至GO算术逻辑单元助记忆码<DEST>=<SRC>       条件          操作存储分指令R0(n) =SM                     ALU的和至RF0(n)INP(m)=SM                     ALU的和至DIR(m)R1(p) =SM                     ALU的和至RF1(p)OUT(q)=SM                     ALU的和至DOR(q)R1(p) =CY                     ALU进位至RF1(p)OUT(q)=CY                     ALU进位至DOR(q)装入分指令
 C=CY                     ALU进位至WRC
 C=BW                     ALU借位至WRCM相关存储分指令R1(p) =KCY
  =R1(p) ;  (WRM)=0      无操作或读RF1(p)
  =CY    ;  (WRM)=1      ALU进位至RF1(p)OUT(q)=KCY
  =OUT(q);  (WRM)=0      无操作或读DOR(q)
  =CY    ;  (WRM)=1      ALU进位至DOR(q)
C =KCB
  =BW    ;  (WRM)=0      ALU借至WRC
  =CY    ;  (WRM)=1      ALU进位至WRC
用于图34的指令程序存储器1258的SVP阵列指令组:
下列表中列出所有合法的SVP阵列分指令。还列出了各个指令的操作码和冲突屏蔽。汇编语言采用冲突屏蔽来决定在同一行的两个分指令是否可以组合起来。
前面所有指令由22位的阵列操作码字段加上地址字段表述。这些指令和IG控制器指令的变化在这些和其他位中描述。
在下表中采用下列缩写:
x-无关
b-中断位点,b=1:BP设在立即地址处
            b=0:立即地址处无BP。
r-重复计数的二进制补码  0<=r<=15
m-R0存储器地址值        0<=m<127
n-DIR地址值             0<=n<39
p-R1存储器地址值        0<=p<127
q-DOR 也址值            0<=q<23
k-辅助寄存器地址值      64<=k<95
z-指令方式(见附录C)助记忆码
Figure C9010841300931
4 3 3 2 2 2--0     来自指令发生器的44位的字3 9 2 5 2 1--0RF0分指令
R0(n)=R0(n)    b r x n z     00000000      无操作或读RF0(n)
INP(m)=1NP(m)  b r x m z     00000004      无操作或读DIR(m)
R0(n)=C        b r x n z     00000001      (WRC)至RF0(n)
R0(n)=SM       b r x n z     00000002      ALU的和至RF0(n)
R0(n)=M        b r x n z     00000003      (WRM)至RF0(n)INP(m)=C        b r x m z   00000005    (WRM)至DIR(m)INP(m)=SM       b r x m z   00000006    ALU的和至DIR(m)INP(m)=M        b r x m z   00000007    (WRM)至DIR(m)R0(n)=0        b r x n x   10000001    逻辑0至RF0(n)INP(m)=0        b r x m x   10000005    逻辑0至DIR(m)R0(n)=XR0(n)   b r x n x   10000101
  =RR0(n);   (WRM)=0               右RF0(n)至RF0(n)
  =LR0(n);   (WRM)=1               左RF0(n)至RF0(n)INP(m)=XINP(m)  b r x m x   10000105
  =RINP(m);  (WRM)=0               右DIR(m)至DIR(m)
  =LINP(m);  (WRM)=1               左DIR(m)至DIR(m)R0(n)=XR1(p)   b r p n x   10000201
  =RR1(p);   (WRM)=0               右RF1(p)至RF0(n)R0(n)=XOUT(q)  b r q n x   10000241
  =ROUT(q);  (WRM)=0               右DOR(q)至RF0(n)
  =LOUT(q);  (WRM)=1               左DOR(q)至RF0(n)INP(m)=XR1(p)   b r p m x   10000205
  =RR1(p);   (WRM)=0               右RF1(p)至DIR(m)
  =LR1(n);   (WRM)=1               左RF1(p)至DIR(m)INP(m)=XOUT(q)  b r q n x   10000245
  =ROUT(q);  (WRM)=0               右DOR(q)至DIR(m)
  =LOUT(q);  (WRM)=1               左DOR(q)至DIR(m)R0(n)=XB       b r x m z    10000301
  =RB;       (WRM)=0               右(WRB)至RF0(n)
  =LB;       (WRM)=1               左(WRB)至RF0(n)INP(m)=XB       b r x m x    10000305
  =RB;       (WRM)=0               右(WRM)至DIR(m)
  =LB;       (WRM)=1               左(WRM)至DIR(m)R0(n)=X2R(n)   b r x n x    10000501
  =R2R0(n);  (WRM)=0               第二右RF0(n)至RF0(n)
  =L2R0(n);  (WRM)=1               第二左RF0(n)至RF0(n)INP(m)=X21NP(m) b r x m x    10000505
   =R21NP(m);   (WRM)=0               第二右DIR(m)至DIR(m)
   =L2INP(m);   (WRM)=1               第二左DIR(m)至DIR(m)
   =LR1(p)  ;   (WRM)=1               左RF1(p)至RF0(n)R0(n)  =X2R1(p)    b r q n x    10000601
   =R2R1(p);    (WRM)=0               第二右RF1(p)至RF0(n)
   =L2R1(p);    (WRM)=1               第二左RF1(p)至RF0(n)R0(n)  =X2OUT      b r q n x    10000641
   =R2OUT(q);   (WRM)=0               第二右(WRB)至RF0(n)
   =L2OUT(q);   (WRM)=1               第二左(WRB)至RF0(n)INP(m) =X2R1(p)    b r p m x    10000605
   =R2R1(p);    (WRM)=0               第二右RF1(p)至DIR(m)
   =L2R1(p);    (WRM)=1               第二左RF1(p)至DIR(m)INP(m) =X2OUT(q)   b r q m x   10000645
   =R2OUT(q);   (WRM)=0               第二右DOR(q)至DIR(m)
   =L2OUT(q);   (WRM)=1               第二左DOR(q)至DIR(m)R0(n)  =x2B        b r x n z   10000701
   =R2B;        (WRM)=0               第二右(WRB)至RF0(n)
   =L2B;        (WRM)=1               第二左(WRB)至RF0(n)INP(m) =X2B        b r x m z   10000705
   =R2B;        (WRM)=0               第二右(WRB)至RF0(n)
   =L2B;        (WRM)=1               第二左(WRB)至RF0(n)RF1分指令:R1(p) =R1(p)      b r p x z   00000000    无操作或读(p)OUT(q) =OUT(q)     b r q x z   00000040    无操作或读DOR(q)R1(p) =C          b r p x z   00000010    (WRC)至RF1(p)R1(p) =SM         b r p x z   00000020    ALU的和至RF1(p)R1(p) =CY         b r p x z   00000030    ALU的进位至RF1(p)OUT(q) =C          b r q x z   00000050    (WRC)或DOR(q)OUT(q) =SM         b r q x z   00000060    ALU的和至DOR(q)OUT(q) =CY         b r q x z   00000070    ALU的进位至DOR(q)R1(p) =KCY        b r p x x   10000030    条件CY写入
   =R1(p);     (WRM)=0                无操作或读RF1(p)
  =CY          ;(WRM)=1                ALU的进位至RF1(p)OUT(q)=KCY         b r q x x    10000070    条件CY写入
  =OUT(a)      ;(WRM)=0                无操作或读DOR(q)
  =L2B         ;(WRM)=1                ALU的进位至DOR(q)WRA分指令:
A =0           b r x x z    00600000    逻辑0至WRA
A =1           b r x x z    00700000    (WRB)至WRA
A =A           b r x x z    00000000    无操作
A =C           b r x x z    00500000    (WRC)至WRA
A =R0(n)       b r x n z    00100000    RF0(n)至WRA
A =INP(m)      b r x m z    00100004    DIR(m)至WRA
A =R1(p)       b r p x z    00200000    RF1(p)至WRA
A =OUT(q)      b r q x z    00200040    DOR(q)至WRA
A =LR0(n)      b r x n z    00400100    左RF0(n)至WRA
A =LINP(m)     b r x m z    00400104    左DIR(m)至WRA
A =LR1(p)      b r p x z    00400200    左RF1(p)至WRA
A =LOUT(q)     b r q x z    00400240    左DOR(q)至WRA
A =LB          b r x x z    00400300    左(WRB)至WRA
A =L2R0(n)     b r x n z    00400500    第二左RF0(n)至WRA
A =L2INP(m)    b r x m z    00400504    第二左DIR(m)至WRA
A =L2R1(p)     b r p x z    00400600    第二左RF1(p)至WRA
A =L2OUT(q)    b r q x z    00400640    第二左DOR(q)至WRA
A =L2B         b r x x z    00400700    第二左(WRB)至WRA
A =RR0(n)      b r x n z    00300100    右RF0(n)至WRA
A =RINP(m)     b r x m z    00300104    右DIR(m)至WRA
A =RR1(p)      b r p x z    00300200    右RFI(p)至WRA
A =ROUT(q)     b r q x z    00300240    右DOR(q)至WRA
A =RB          b r x x z    00300300    右(WRB)至WRA
A =R2R0(n)     b r x n z    00300500    笫二右RF0(n)至WRA
A =R21NP(m)    b r x m z    00300504    第二右DIR(m)至WRA
A =R2R1(p)     b r p x z    00300600    第二右RF1(p)至WRA
A =R2OUT(q)    b r q x z    00300640    第二右DOR(q)至WRA
A=R2B        b r x x z    00300600    第二右(WRB)至WRAWRB分指令:
B=0          b r x x z    00600000    逻辑0至WRB
B=1          b r x x z    00700000    (WRB)至WRB
B=B          b r x x z    00000000    无操作
B=C          b r x x z    00050000    (WRC)至WRB
B=R0(n)      b r x n z    00010000    RF0(n)至WRB
B=INP(m)     b r x m z    00010004    DIR(m)至WRB
B=R1(p)      b r p x z    00020000    RF1(p)至WRB
B=OUT(q)     b r q x z    00020040    RFOUT至WRB
B=LRO(n)     b r x n z    00040100    左RF(n)至WRB
B=LINP(m)    b r x m z    00040104    左DIR(m)至WRB
B=LR1(p)     b r p x z    00040200    左RF1(p)至WRB
B=LOUT(q)    b r q x z    00040240    左DOR(q)至WRB
B=LB         b r x x z    00040300    左(WRB)至WRB
B=L2R0(n)    b r x n z    00040500    第二左RF0(n)至WRB
B=L2INP(m)   b r x m z    00040504    第二左DIR(m)至WRB
B=L2R1(p)    b r p x z    00040600    第二左RF1(p)至WRB
B=L2OUT(q)   b r q x z    00040640    第二左DOR(q)至WRB
B=L2B        b r x x z    00040700    第二左(WRB)至WRB
B=RR0(n)     b r x n z    00030100    右RF0(n)至WRB
B=RINP(m)    b r x m z    00030104    右DIR(m)至WRB
B=RR1(p)     b r p x z    00030200    右RF1(p)至WRB
B=ROUT(q)    b r q x z    00030240    右DOR(q)至WRB
B=RB         b r x x z    00030300    右(WRB)至WRB
B=R2R0(n)    b r x n z    00030500    第二右RF0(n)至WRB
B=R21NP(m)   b r x m z    00030504    第二右DIR(m)至WRB
B=R2R1(p)    b r p x z    00030600    第二右RF1(p)至WRB
B=R2OUT(q)   b r q x z    00030640    第二右DOR(q)至WRB
B=R2B        b r x x z    00030700    第二右(WRB)至WRBWRC分指令:
C=0          b r x x z    00006000    逻辑0至WRC
 C=1          b r x x z    00007000    逻辑1至WRC
 C=A          b r x x z    00003000    WRA至WRC
 C=C          b r x x z    00000000    无操作
 C=CY         b r x x z    00004000    ALU的进位至WRC
 C=BW         b r x x z    00005000    ALU的借位至WRC
 C=RF0(n)     b r x n z    00001000    (WRB)至WRC
 C=INP(m)     b r x m z    00001004    DIR(m)至WRC
 C=R1(p)      b r p x z    00002000    RF1(p)至WRC
 C=OUT(q)     b r q x z    0002040     DOR(q)至WRCR0(n)=C          b r x n z    00000001    (WRC)至RF0(n)INP(m)=C          b r x m z    00000005    (WRC)至DIR(m)R1(p)=C          b r p x z    00000010    (WRC)至DIR(m)OUT(q)=C          b r q x z    00000050    (WRC)至RF1(p)
 C=KCB        b r x x x    10004000    条件CY/BW
  =BW         ;(WRM)=0                ALU的进位至WRC
  =CY         ;(WRM)=1                ALU的借位至WRCWRM分指令:
 M=0          b r x x z    00060000    逻辑0至WRM
 M=1          b r x x z    00070000    逻辑1至WRM
 M=C          b r x x z    05000000    (WRC)至WRM
 M=M          b r x x z    00000000    无操作
 M=AUXi(j)    b r k x z    06000040    AUX REG i位j至WRM
                                       ;k=i*8+j+64,0<=3,0<=j<=7
 M=AUX(j)     b r k x z    06000040    AUX REG位j至WRM
                                       ;k=j+64,0<=j<=31
 M=R0(n)      b r x n z    01000000    RF0(n)至WRM
 M=INP(m)     b r x m z    01000004    DIR(m)至WRM
 M=R1(p)      b r p x z    02000000    RF1(p)至WRM
 M=OUT(q)     b r q x z    02000040    DOR(q)至WRM
 M=LR0(n)     b r x n z    04000100    左RF0(n)至WRM
 M=LINP(m)    b r x m z    04000104    左DIR(m)至WRM
 M=LR1(p)     b r p x z    04000200    左RF1(p)至WRM
 M=LOUT(q)     b r q x z    04000240    左DOR(q)至WRM
 M=LB          b r x x z    04000300    左(WRB)至WRM
 M=L2R0(n)     b r x n z    04000500    第二左RF0(n)至WRM
 M=L2INP(m)    b r x m z    04000504    第二左DIR(m)至WRM
 M=L2R1(p)     b r p x z    04000600    第二左RF1(p)至WRM
 M=L2OUT(q)    b r q x z    04000640    第二左DOR(q)至WRM
 M=L2B         b r x x z    04000700    第二左(WRB)至WRM
 M=RR0(n)      b r x n z    03000100    右RF0(n)至WRM
 M=RINP(m)     b r x m z    03000104    右DIR(m)至WRM
 M=RR1(p)      b r p x z    03000200    右RF1(p)至WRM
 M=ROUT(q)     b r q x z    03000240    右DOR(q)至WRM
 M=RB          b r x x z    03000300    右(WRB)至WRM
 M=R2R0(n)     b r x n z    03000500    第二右RF0(n)至WRM
 M=R2INP(m)    b r x m z    03000504    第二右DIR(m)至WRM
 M=R2R1(p)     b r p x z    03000600    第二右RF1(p)至WRM
 M=R2OUT(q)    b r q x z    00300640    第二右DOR(q)至WRMM=R2B         b r x x z    03000700    第二右(WRB)至WRBR0(n)=M         b r x n z    00000003    (WRM)至RF0(n)INP(m)=M         b r x m z    00000007    (WRM)至DIR(m)ALU分指令:R0(n)=SM        b r x n z    00000002    ALU的和至RF0(n)INP(m)=SM        b r x m z    00000006    ALU的和至DIR(m)R1(p)=SM        b r p x z    00000020    ALU的和至RF1(p)OUT(q)=SM        b r q x z    00000060    ALU的和至DOR(q)R1(p)=CY        b r p x z    00000030    ALU的进位至RF1(p)OUT(q)=CY        b r q x z    00000070    ALU的进位至DOR(q)C=CY          b r x x z    00004000    ALU的进位至WRCC=BW          b r x x z    00005000    ALU的借位至WRCR1(p)=KCY         b r p x x    10000030=R1(p)       ;(WRM)=0                无操作或读RF1(p)=CY          ;(WRM)=1                ALU的进位至RF1(p)OUT(q)=KCY         b r q x x    10000070
=OUT(q)    ;(WRM)=0                无操作或读DOR(q)
=CY        ;(WRM)=1                ALU的进位至DOR(q)C=KCB       b r x x x    10004000
=BW        ;(WRM)=0                ALU的借位至WRC
=CY        ;(WRM)=1                ALU的进位至WRCGO分指令:GO=O         b r x x z    00000000    逻辑0至GOGO=B         b r x x z    00000300    (WRB)至GOGO=R(n)      b r x n z    00000100    RF0(n)至GOGO=INP(m)    b r x m z    00000104    DIR(m)至GOGO=R1(p)     b r p x z    00000200    RF1(p)至GOGO=OUT(q)    b r q x z    00000240    DOR(q)至GO
SVP指令发生器的指令组
后文的表中列出了用于指令发生器的所有合法的指令助记忆码及其操作数,以及对于单指令,等候状态单指令和双指令的阵列指令变化。
用于IG指令的图表符号:
x-无关
b-中断点位
rrrr-二进制补码形式的4位重复计数值
ppppppp-用于RF1或DOR或AUX的7位存储器地址
nnnnnnn-用于RF0或DIR的7位存储器地址
ii…i iii iii-来自附录B中的阵列指令操作码
00..0-在字段中的所有位都是零
vvvvv-来自IG方式输入插脚的5位值
aaaa aaaaaaa-11位转移地址
cccc cc 00000-11位转移地址,其中,5个LSB=00000
mmmm mm-除以2的6位循环模数,因此,循环模式必须是2
        的整数倍。有效值:0<=mmmmmm<=63
zzzzz-除以4的5位循环步长。因此,循环步长值必须是4的
整数倍有效值:0<zzzzz<=31指令操作码:
  助记忆码             44位操作码
            4    3    3    2    2    2...0    0    0
            3    9    2    5    2    1...6    3    0阵列指令:    (目录见附录B)单              b    rrrr  ppppppp  nnnnnnn  000   ii..i  iii  iii等候状态单      b    rrrr  ppppppp  nnnnnnn  001   ii..i  iii  iii双              b    rrrr  ppppppp  nnnnnnn  010   ii..i  iii  iii空闲            b    rrrr  xxxxxxx  xxxxxxx  011   xx..x  xxx  xxx转移指令:JMP<adrl>       b    aaaa  aaaaaaa  xxxxx00  100   00..0  000  000JME<adrl),<val> b    aaaa  aaaaaaa  vvvvv00  100   00..0  000  100JMT<adr2>       b    cccc  cc00000  xxxxxxx  100   00..0  000  x00标志测试指令:JFAZ<adr1>      b    aaaa  aaaaaaa  xxxxx01  100   00..0  000  000JFBZ<adr1>      b    aaaa  aaaaaaa  xxxxx10  100   00..0  000  000调用返回指令,CALL<adr1>      b    aaaa  aaaaaaa  xxxxxxx  101   00..0  000  x00RET             b    xxxx  xxxxxxx  xxxxxxx  101   00..0  100  x00方式寄存器指令:UMR             b    xxxx  xxxxxxx  xxxxxxx  110   00..0  000  x00全局循环指令:LRMO<mod>,<rot> b    mmmm  mmzzzzz  xxxxx00  110   00..0  100  x00LRM1<mod>,<rot> b    mmmm  mmzzzzz  xxxxx01  110   00..0  100  x00GRL0          b    xxxx  xxxxxxx  xxxxx10  110   00..0  100  x00GRL1          b    xxxx  xxxxxxx  xxxxx11  110   00..0  100  x00操作码表中所列IG指令的功能说明如下:阵列指令;
等候状态单
空闲转移指令:JMP<adr1>          无条件转移至地址<adr1>JME<val>,<adr1>    等同方式下的转移。如果<val>=<(方式寄
               存器)>,则转移至<adr1>,否则进入下一
               语句JMT<adr2>          转移至方式表。转移至<adr2>方式表,<(方
               式寄存器)>的相对表入口点<adr2>是-
               11位的地址,有5个LSB等于00000。绝
               对地址是:
               (<adr2>与07E0h)+<(方式寄存器)>
               <adr2>处的表一般包含转到主程序内子程
               序的JMP指令;但是,可以采用表中任何
               指令。该表必须位于一5位的边界上。标志测试指令:JFAZ<adr1>         标志‘A’为零时转移。如果标志‘A’为零,
               转移至<adr1>,否则进到下一语句。这是
               硬件标志。JFBZ<adr1>         标志‘B’为零时转移。如果标志‘B’为零,
               转移<adr1>,否则进到下一语句。这是
               硬件标志。调用/返回指令:CALL<adr1>         调用。将当前地址加1放入“返回寄存器”
               中,然后无条件地转移到<adr1>。这是单
               级调用;如果调用指令嵌套,返回指令将
               在前面一次调用后返回到该调用指令。RET                返回,返回到地址:<(返回寄存器)>。方式寄存器指令:UMR              用最近的值更新方式寄存器。IG与定时信号发生器和主控制器异步工作。这样,必须在可预计的时间内获取新的方式值。外部电路(通常为垂直定时信号发生器)将在任何时候更新IG的临时方式寄存器,但是,在执行一个UMR指令之前,该值不会影响IG指令。该值将保持有效,直
             到下一UMR指令被执行。全局循环指令:LRM0<mod>,<rot>  装入RF0循环模数寄存器。RF0的中的一
             个存储区域可以说明作为在地址零和
             <mod-1>之间的全局循环存储器。<mod>
             是全局循环模数,具有有效值0、2、4…
             122、124、126。当指令GRL0被执行时,
             全局循环空间内的存储器将循环<rot>
             位。<rot>有效值为0、4、8…116、120、124。LRM1<mod>,<rot>  装入RF1循环模数寄存器。RF1中的一个
             存储区域可以说明作为地址零和<mod-
             1>之间的全局循环存储器。<mod>是全局
             循环模数,有效值为0、2、4…122、124、12
             6。当指令GRL1被执行时,全局循环空间
             内的存储器将循环<rot>位。<rot>有效值为
             0、4、8…116、120、124。GRL0             使左RF0全局循环,模数<mod>,步长
             <rot>,其中,<mod>和<rot>由LRM0指令定
             义。GRL1             使左RF1在全局循环,模数<mod>,步长
             <rot>,其中,<mod>和<rot>由LRM1指令定
             义。主控制器(MC)的指令组:OUT             输出控制信号。MC将在“OUT”指令之后
            暂停其操作,当“FSYNC”到来时重新开始
            操作。编码                          标号          助记忆码D C B A 9 8 7 6 5 4 3 2 1 0<-m->   <h>     <…v…>   1 1    OUT       <m>,  <v>,   <h>M M M M H H V V V V V VC C C C T T T T T T T T3 2 1 0 G G G G G G G G
    9 8 5 4 3 2 1 0TBOUT表格化的输出控制信号。该表格必须由多达16个“OUT”指
 令构成。“OUT”指令之一由“COMB”的内容选择。目的地表
必须位于16的边界上。编码                           标号           助记忆码D C B A 9 8 7 6 5 4 3 2 1 0<-tbl.->  0 0 0 0 0 0 1 0 1                   TBOUT<table>JMP转移至<1abel>编码                           标号           助记忆码D C B A 9 8 7 6 5 4 3 2 1 0<---dest.--->   1 1 0 1 0                   JMP<lable>TCMA测试COMA,如果COMA等于<c>,则转移至<label>,如果CO-
MA不等于<c>则执行下一指令。目的地必须位于4的边界
上。
    编码                           标号         助记忆码D C B A 9 8 7 6 5 4 3 2 1 0<--dest.-->  <-c->    0 0                TCMA<C>,<1able>TXF10测试“flag1”和“flag0”。如果[((c XNOR flag1)ORm)AND((d
XNOR flag0)OR n)]则转移。如果“flag1”和“flag0”等于<cd>,
则转移至<label>。如果“flag1”和“flag0”不等于<cd>,则执行
下一指令。标志测试由<,m>屏蔽。“0”=测试,“1”=屏蔽。
目的地必须位于4的边界上。编码                           标号         助记忆码D C B A 9 8 7 6 5 4 3 2 1 0TXF32测试“flag3”和“flag2”。如果[((c XNOR flag3)OR M)AND
((d XNOR flag2)OR n)],则转移,如果“flag3”和“flag2”等
子<cd>,则转移至<labcl>。如果“flag3”和“flag2”不等于<cd>,
则执行下一指令。标志测试由<mn>屏蔽。目的地必须位于4
的边界上。编码                           标号        助记忆码D C B A 9 8 7 6 5 4 3 2 1 0ALIGN2从下-4×N(N为整数)地址产生随后的指令。ALIGN4从下-16×N(N为整数)地址产生随后的指令。文件:输入文件
      目标文件列表文件指令格式:标号字段指令字段助记忆码字段操作数字段注释字段常数:二进制整数
  八进制整数
  十进制整数
  十六进制整数
  符号命令:.页
  .标题“String”.宽度<width>
  .复制<file name>
  .结束
  .设定<value>
  .ASFCT
  地址                      编码                标号         助记忆码-----------------   ----------------------------    -----    --------------------B 7 6 5 4 3 2 1 0    D C B A 9 8 7 6 5 4 3 2 1 0-----------------   ----------------------------    -----    --------------------
                                                         ALIGN2<---- a ----> 0 0   <-M01-> <h′> <---S01--->1 1    STL0:    OUT M01,S01,h<---- a ----> 0 1   <--- 4(a+1) ---->  1 1 0 1 0             JMP STL1
                                                         ALIGN2<--- a+1 ---> 0 0   <-M01-> <h> <---S11--->  1 1    STL1:    OUT M01,S11,h<--- a+1 ---> 0 1   <--- 4(a+2) ---->  1 1 0 1 0             JMP STL2
                                                         ALIGN2<--- a+2 ---> 0 0   <--- a+1 --->  0 0 0 1 0 0 0    STL2:    TCMA 0001b,STL1*1<--- a+2 ---> 0 1   <--- a+1 --->  0 0 1 0 0 0 0             TCMA 0010b,STL1*1<--- a+2 ---> 1 0   <---- b ---->  0 0 1 1 0 0 0             TCMA 0011b,PIP*1<--- a+2 ---> 1 1   <--- 4c ---->  0 1 0 0 0 0 0             TCMA 0100b,MLT*1
                                                         继续编码
                                                         ALIGN2<---- b ----> 0 0   <-- c -->  0 0 0 0 0 0 1 0 1    PIP:     TBOU T PTBO     *3<---- b  ---> 0 1   <--- a+2 --->  1 0 0 1 0 1 0             TXF10 10b,01b,STL2
                                                                         *1<---- b  ---> 1 0   <- c+1 ->  0 0 0 0 0 0 1 0 1             TBOUT PT B2     *3<---- b  ---> 1 1   <---4(a+2)---->    1 1 0 1 0             JMP STL2
*4                                                       ALIGN4<-- c --> 0 0 0 0   <-M10-> 0 0 <--P010--->  1 1    PTB0:    OUT M10,P010,0<-- c --> 0 0 0 1   <-M10-> 0 1 <--P010--->  1 1             OUT M10,P010,1<-- c --> 0 0 1 0   <-M10-> 1 0 <--P011--->  1 1             OUT M10,P011,2<-- c --> 0 0 1 1   <-M10-> 1 1 <--P011--->  1 1             OUT M10,P011,3
*4                                                       ALIGN4<- c+1 -> 0 0 0 0   <-M10-> 0 0 <--P210--->  1 1    PTB2:    OUT M10,P210,0<- c+1 -> 0 0 0 1   <-M10-> 1 0 <--P210--->  1 1             OUT M10,P210,2<- c+1 -> 0 0 1 0   <-M10-> 0 1 <--P211--->  1 1             OUT M10,P211,1<- c+1 -> 0 0 1 1   <-M10-> 1 1 <--P211--->  1 1             OUT M10,P211,3
*1 TCMA、TCMB、TXF10和TXF32只能转移到有两个LSB=00的地址处。汇编程序应该理解这一点,并将(label)设在正确的边界上。
*3 TBOUT只能指出有四个LSB=0000的地址。这四个LSB由COMB代替。汇编程序应理解这一点,并将(label)设在正确的边界上。
*4 C=1+INTEGER(b/4)
应该理解,本发明的各种实施例可以采用硬件、软件或微码化的固件。这儿的流程图和状态变换图也代表了微码化的和基于软件的实施例。连接和耦接可以是欧姆接触、直接电气连接、容性数字式的、模拟接口、电磁耦合、光学的、或者通过其它适当的手段实现。虽然本发明联系例举的实施例作了说明,但是本发明不限于这些实施例。参照这些说明,本技术领域中的熟练者将很容易对这些实施例作出种种修改和组合,以及提出本发明的其它实施例。因而,期望所附的权利要求能把任何这样的修改或实施例都纳入本发明的精神实质的实际范围之内,加以保护。

Claims (8)

1.一种数据处理装置,其特征在于,包括:
连成一串行链的多个处理电路,每个所述处理电路包括:
一个数据处理单元,它具有一个数字输入端,该输入端与其它处理电路的各个数据处理单元的数字输入端连在一起,用于输入所述控制和地址信号,该数据处理单元包括一个算术逻辑单元、连接到所述算术逻辑单元的多个数据存储寄存器、和连接到所述数据存储寄存器的数据多路转换器;
第一寄存器接口,它包括用于并行输入所述第一数字数据信号的第一组位寄存器,和第二组位寄存器,所述第一和第二组位寄存器可由所述数据处理单元分别单独访问;
第二寄存器接口,它包括第三组位寄存器,以及具有一并行数字输出端用以产生经处理的数字数据信号的第四组位寄存器,所述第三和第四组位寄存器可由所述数据处理单元分别单独访问;
第一定序电路,它由第一公用线路连接到每个处理电路内的第一寄存器接口,并响应时钟脉冲,按顺序有选择地激活每个所述第一寄存器接口的工作;
第二定序电路,它由第二公用线路连接到每个处理电路内的第二寄存器接口,并响应时钟脉冲,按顺序有选择地激活每个所述第二寄存器接口的工作;
由此,所述数据处理单元既可由所述控制器控制而独立地操作,也可与所述第一和第二寄存器接口协同操作;
第一左数据输入端;
第二左数据输入端;
第一左数据输出端;
第二左数据输出端;
第一右数据输入端,它连接到串行级联网络中一相邻处理装置的所述第一左数据输出端;
第二右数据输入端,它连接到所述相邻处理装置的所述第二左数据输出端;
第一右数据输出端,它连接到所述相邻处理装置的所述第一左数据输入端;
第二右数据输出端,它连接到所述相邻处理装置的所述第二左数据输入端;
由此,所述数据处理单元可由所述控制器控制,成为具有许多处理电路的单个处理装置,等同于所述独立的数据处理装置处理电路的和。
2.如权利要求1所述的数据处理装置,其特征在于,每个所述处理电路还包括:
第一读出放大器,它连接至所述第一寄存器接口和所述数据处理单元,以在所述第一寄存器接口和所述处理单元之间传送数据;
第二读出放大器,它连接至所述第二寄存器接口和所述数据处理单元,以在所述第二寄存器接口和所述处理单元之间传送数据;
3.如权利要求2所述的数据处理装置,其特征在于,所述第一和第二读出放大器包括一对读/写数据线,它们连接至所述寄存器组中所述位寄存器的数据输入/输出线,并且可以同时传送所述各个寄存器组中两个相邻位寄存器的数据。
4.如权利要求1所述的数据处理装置,其特征在于,将所述处理电路的所述第一左数据输入端、第二左数据输入端、第一右数据输入端和第二右数据输入端连接成一些所述数据多路转换器的输入端。
5.如权利要求1所述的数据处理装置,其特征在于,每个所述处理电路还包括:
一个全局输出端。
6.如权利要求5所述的数据处理装置,其特征在于,还包括:
一个线或电路,它具有多个输入端和一个输出端,一个输入端被连接用来接收所述处理电路的一个全局输出端。
7.如权利要求1所述的数据处理装置,其特征在于,
多个集成电路,每个集成电路包括多个连成一串行链的处理电路,每个集成电路对于所述串行链中的第一数据处理单元具有第一左数据输入端、第二左数据输入端、第一左数据输出端和第一左数据输出端,并且对于所述串行链中的最后一个数据处理单元具有第一左数据输入端、第二左数据输入端、第一左数据输出端和第一左数据输出端;
所述多个集成电路排成串行链,其中,
所述串行链中第一集成电路的所述第一左数据输入端和所述第二左数据输入端接地;
所述串行链中中间集成电路的所述第一和第二左数据输入端分别与一右侧相邻集成电路的第一和第二右数据输出端相连;
所述串行链中中间集成电路的所述第一和第二左数据输出端分别与一左侧相邻集成电路的第一和第二右数据输入端相连;
串行链中最后一个集成电路的所述第一右数据输入端和所述第二右数据输入端接地。
8.如权利要求1所述的数据处理装置,其特征在于,多个集成电路,每个集成电路包括多个连成一串行链的处理电路,每个集成电路对于所述串行链中的第一数据处理单元具有第一左数据输入端、第二左数据输入端,第一左数据输出端和第一左数据输出端,并且对于所述串行链中的最后一个数据处理单元具有第一左数据输入端、第二左数据输入端、第一左数据输出端和第一左数据输出端;
所述多个集成电路排成环形链,其中,
所述环形链中每个集成电路的所述第一和第二左数据输入端分别与一右侧相邻集成电路的第一和第二右数据输出端相连;
所述环形链中每个集成电路的所述第一和第二左数据输出端分别与一左侧相邻集成电路的第一和第二右数据输入端相连。
CN90108413A 1989-10-13 1990-10-13 用于同步矢量处理机的第二最近邻通讯网络、系统和方法 Expired - Fee Related CN1042282C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US42148889A 1989-10-13 1989-10-13
US07/421,499 US5163120A (en) 1989-10-13 1989-10-13 Second nearest-neighbor communication network for synchronous vector processor, systems and methods
US421,488 1989-10-13
US421,499 1989-10-13

Publications (2)

Publication Number Publication Date
CN1054871A CN1054871A (zh) 1991-09-25
CN1042282C true CN1042282C (zh) 1999-02-24

Family

ID=27025268

Family Applications (1)

Application Number Title Priority Date Filing Date
CN90108413A Expired - Fee Related CN1042282C (zh) 1989-10-13 1990-10-13 用于同步矢量处理机的第二最近邻通讯网络、系统和方法

Country Status (5)

Country Link
EP (1) EP0422964B1 (zh)
JP (1) JP3187823B2 (zh)
KR (1) KR0184865B1 (zh)
CN (1) CN1042282C (zh)
DE (1) DE69030705T2 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU671781B2 (en) * 1993-10-28 1996-09-05 Motorola, Inc. Demodulator logic unit adaptable to multiple data protocols
SE9402551L (sv) * 1994-07-22 1995-10-30 Integrated Vision Prod Anordning vid en bildbehandlingsprocessor
JPH0877002A (ja) * 1994-08-31 1996-03-22 Sony Corp 並列プロセッサ装置
US5659785A (en) * 1995-02-10 1997-08-19 International Business Machines Corporation Array processor communication architecture with broadcast processor instructions
KR100306769B1 (ko) * 1999-03-13 2001-09-13 손재익 하 ·폐수 처리 슬러지를 이용한 혼합연료의 제조 방법 및 이의 용도
KR100598702B1 (ko) * 2000-03-22 2006-07-11 넥스원퓨처 주식회사 수신데이터의 수신감도 측정 시스템
US7017064B2 (en) * 2001-05-09 2006-03-21 Mosaid Technologies, Inc. Calculating apparatus having a plurality of stages
US8281395B2 (en) * 2009-01-07 2012-10-02 Micron Technology, Inc. Pattern-recognition processor with matching-data reporting module
US10367543B2 (en) * 2015-09-24 2019-07-30 Semiconductor Components Industries, Llc Calibration for spread spectrum clock generator and method therefor
CN107037262B (zh) * 2017-04-25 2020-02-11 成都玖锦科技有限公司 一种大数据频谱分析系统及其方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4380046A (en) * 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
US4860248A (en) * 1985-04-30 1989-08-22 Ibm Corporation Pixel slice processor with frame buffers grouped according to pixel bit width

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0317218B1 (en) * 1987-11-13 1998-01-28 Texas Instruments Incorporated Serial video processor and method
DE69031865T2 (de) * 1990-02-28 1998-08-06 Texas Instruments Inc Ein SIMD-Prozessor als digitales Filter

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4380046A (en) * 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
US4860248A (en) * 1985-04-30 1989-08-22 Ibm Corporation Pixel slice processor with frame buffers grouped according to pixel bit width

Also Published As

Publication number Publication date
CN1054871A (zh) 1991-09-25
DE69030705T2 (de) 1997-12-11
DE69030705D1 (de) 1997-06-19
KR910008566A (ko) 1991-05-31
EP0422964B1 (en) 1997-05-14
KR0184865B1 (ko) 1999-05-15
EP0422964A2 (en) 1991-04-17
EP0422964A3 (en) 1993-06-23
JPH0436856A (ja) 1992-02-06
JP3187823B2 (ja) 2001-07-16

Similar Documents

Publication Publication Date Title
CN1145362C (zh) 视频数据处理方法及装置
CN1042282C (zh) 用于同步矢量处理机的第二最近邻通讯网络、系统和方法
CN1149952A (zh) 解码视频图像的装置和方法
CN1048563C (zh) 用于信息处理系统的图形处理器以及外部存储系统
CN1993709A (zh) 信号处理设备
CN1076378A (zh) 用于电视游戏系统等具有可编程图形处理器的外部存储系统
CN1145123C (zh) 视频信息智能管理系统
CN1194317C (zh) 通信装置和通信方法
CN1144434A (zh) 视频解压缩方法和装置
CN1890630A (zh) 在寄存器和存储器之间移动数据的数据处理设备和方法
CN1894659A (zh) 在寄存器和存储器之间移动数据的数据处理设备和方法
CN1656465A (zh) 可缩放的高性能3d图形显示
CN1306697A (zh) 可变长度编码与解码的处理电路和处理方法
CN1218587C (zh) 测试应用程序的装置和方法
CN1442797A (zh) 数据处理装置和程序
CN1160947C (zh) 视频显示器
CN1279435C (zh) 数字信号处理器
CN1882936A (zh) 封包元数据和使用其的目标/同步服务提供系统
CN1163823C (zh) 微处理器和操作处理执行方法
CN1066834C (zh) 快速90度旋转双态图象的系统
CN1110780C (zh) 视频信息智能管理系统
CN1898641A (zh) 微控制器指令集
CN1073791A (zh) 图象处理设备
CN1110778C (zh) 视频信息智能管理系统
CN1720516A (zh) 用于数据处理系统的单元式引擎

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C15 Extension of patent right duration from 15 to 20 years for appl. with date before 31.12.1992 and still valid on 11.12.2001 (patent law change 1993)
OR01 Other related matters
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee