Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3145103B2 - 命令及びアドレス制御回路 - Google Patents
[go: Go Back, main page]

JP3145103B2 - 命令及びアドレス制御回路 - Google Patents

命令及びアドレス制御回路

Info

Publication number
JP3145103B2
JP3145103B2 JP27612590A JP27612590A JP3145103B2 JP 3145103 B2 JP3145103 B2 JP 3145103B2 JP 27612590 A JP27612590 A JP 27612590A JP 27612590 A JP27612590 A JP 27612590A JP 3145103 B2 JP3145103 B2 JP 3145103B2
Authority
JP
Japan
Prior art keywords
instruction
register
address
data
memory
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
JP27612590A
Other languages
English (en)
Other versions
JPH03248229A (ja
Inventor
チルダース ジム
ライネック ピーター
タエク チュン ムー
裕 宮口
Original Assignee
テキサス インスツルメンツ インコーポレイテッド
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,500 external-priority patent/US5210836A/en
Application filed by テキサス インスツルメンツ インコーポレイテッド filed Critical テキサス インスツルメンツ インコーポレイテッド
Publication of JPH03248229A publication Critical patent/JPH03248229A/ja
Application granted granted Critical
Publication of JP3145103B2 publication Critical patent/JP3145103B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30083Power or thermal control instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/325Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3873Variable length pipelines, e.g. elastic pipeline
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Image Processing (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、広くは、単一命令多重データプロセッサに
関し、より詳しくは、明瞭度改善形テレビジョン(Impr
oved Definition Television、IDTV)のようなデジタル
信号処理に特別な用途を見出すことができる、処理エレ
メントの一次元配列を備えたプロセッサに関する。ま
た、本発明は、プロセッサ、テレビジョン、ビデオシス
テム及び他のシステムの改善、及びこれらの装置の作動
方法及び制御方法の改善に関するものである。
従来の技術 データ信号を高速かつ正確にリアルタイム処理するこ
とは、汎用のデジタル信号処理、民生用電子機器、工業
用電子機器、図形及び画像処理、計装、医療用電子機
器、軍事用電子機器、及び他人間での通信及び自動車用
電子機器への適用に望まれており、幾つかの広い技術領
域を命令している。一般に、ビデオ(映像)信号のリア
ルタイム画像処理のようなビデオ信号処理を行う場合に
は、短い時間間隔で多量のデータ操作及びデータ処理を
行う必要がある。書物「Electronic Design」(1984年1
0月31日付発行、207〜218頁)及び「Electronic Desig
n」社の幾つかの出版物(1984年11月15日付発行、289〜
300頁、1984年11月29日付発行、257〜266頁、1984年12
月13日付発行、217〜226頁、及び1985年1月10日付発
行、349〜356頁)において、Davisその他らは、画像処
理について議論している。
ビデオ信号の処理には、当該ビデオ信号の垂直及び水
平同期信号と同期した、データ及びアドレス制御信号を
発生できる制御装置(コントローラ)が必要である。本
発明は、特にこのような制御装置と共に使用するのに適
した命令ジェネレータを開示するものである。
発明の要約 簡単に説明すると、本発明は、その一実施例において
は次のように構成されている。すなわち、アドレス可能
なメモリロケーションに記憶された制御命令及びアドレ
ス命令を備えた命令プログラムメモリと、該命令プログ
ラムメモリ及び制御回路の入力に接続されていて、受け
た作動モード信号に応答して前記アドレス可能なメモリ
ロケーションにアドレスするプログラムカウンタとを有
しており、前記命令プログラムメモリが、前記アドレス
された制御命令及びアドレス命令を、前記プロセッサエ
レメントの入力に書込むようになっており、前記命令プ
ログラムメモリの出力に接続されていて、前記命令プロ
グラムメモリからの制御命令に応答して、前記アドレス
された制御命令をラッチしかつ再供給すべく作動する分
岐回路を備えている制御回路と、前記命令プログラムメ
モリの出力に接続されておりかつ前記制御命令が再供給
されている間に前記アドレス命令を連続的に増大させる
カウント分岐回路を備えているアドレス命令制御回路と
を更に有している。
好ましい実施例の詳細な説明 以下、本発明の好ましい実施例について図面を参照し
ながら説明を行う。いくつかの図を通じて使用している
類似した参照符号は類似しているかあるいは相当する部
分を示している。
好ましい実施例のSVP(同期ベクトル・プロセッサ)
は改良定義テレビジョン(IDTV)、拡張定義テレビジョ
ン(EDTV)システムで用いられる3−Dアルゴリズムを
リアルタイムで実行することのできる汎用マスク・プロ
グラマブル単命令・多重データ・縮小命令セット計算
(SIMD−RISC)装置である。本発明のSVPは好ましい実
施例ではビデオ信号を処理するものとして開示するが、
SVPのハードウェアは、特別のフィルタや機能をアーク
テクチャに含むことがないので、多くの異なった用途に
おいても同様に作動する。一般的には、SVPは多数の入
力データを並列に処理しようとしているいかなる状況で
も使用できる。
代表的な用途、たとえば、ビデオ信号処理では、入力
層と出力層がデータ・ソース(たとえば、ビデオカメ
ラ、VCR、レシーバなど)、データ・シンク(たとえ
ば、ラスク・ディスプレイ)と同期して作動する。同時
に、計算層が、パケットのすべての要素(普通は、VECT
ORと呼ばれるが、テレビ/ビデオ環境では、単一の水平
方向表示線を含むすべてのサンプル)に対して同時にプ
ログラマブル機能を適用することによって所望の変換を
行う。こうして、SVPは同期ベクトル処理に対してアー
キテクチャ的に簡素化される。
第1図において、テレビまたはビデオのシステム100
が同期ベクトル・プロセッサ装置102を包含する。シス
テム100はラスク走査式のCRT104も包含し、これは普通
のテレビ受信機で用いられているような標準のアナログ
・ビデオ回路108からアナログ・ビデオ信号を入力部106
で受け取る。アンテナ110からのビデオ信号は、チュー
ナを含むRF、IFステージ112、IFストリップおよび同期
セパレータ回路を介して通常の方法で増幅、瀘波、ヘテ
ロダイン操作され、ライン114のところにアナログ複合
または成分ビデオ信号を発生する。周波数変調した(F
M)オーディオ成分の検出が別個に行われるが、これ以
上ここでは説明しない。水平同期、垂直同期およびカラ
ー・バーストがコントローラ128によって用いられてSVP
102にタイミングを与えるが、SVPのデータ経路の部分で
はない。ライン114のアナログ・ビデオ信号はアナログ
・ディジタル変換器116によってディジタル変換され
る。ディジタル化されたビデオ信号は、ライン118のと
ころで、同期ベクトル・プロセッサ102に入力される。
プロセッサ102はライン118に存在するディジタル・ビ
デオ信号を処理し、ライン170に処理済みのディジタル
信号を送る。この処理済みのビデオ信号は、次いで、デ
ィジタル・アナログ変換器124によってアナログ変換さ
れてから、ライン126を経て標準のアナログ・ビデオ回
路108に送られる。記録された信号その他の標準でない
信号のソース、たとえば、ビデオ・テープ・レコーダ13
4からアナログ・ディジタル変換器116にビデオ信号を与
えても良い。VCR信号はライン136に送られ、チューナ11
2をバイパスする。プロセッサ102は1つのフィールド・
メモリ120に1つ(またはそれ以上)のビデオ・フレー
ムを格納することができる。このフィールド・メモリ
は、図示例では、Texas InstrumentsのModel TMS4C1060
フィールド・メモリ装置である。フィールド・メモリ12
0はコントローラ128からライン138、140を通して制御と
刻時を受ける。
ライン114のビデオ信号入力は、たとえば、14.32MHz
(カラー・サブキャリヤ周波数、3.58MHzの4倍)のサ
ンプリング率でアナログ・ディジタル変換器116によっ
て8ビットのディジタル化ビデオ・データに変換され
る。SVP102には全部で40本の入力ラインが通じている。
先に述べたように、ディジタル化ビデオ信号にはそのう
ちの8本が用いられる。他の入力ラインはフレーム・メ
モリ出力部、別のテレビソースなどのための入力部とし
て用いられる。ディジタル・アナログ変換器124は14.32
MHzの率で8ビット・プロセッサ出力をアナログに変換
するように改造することもできる。残りの出力ラインは
他の信号のために用いることができる。あるいは、ディ
ジタル・アナログ変換器116、124は或る特定の目的のた
めに所望に応じて異なったサンプリング率で作動しても
良い。
プロセッサ102はコントローラ128によって制御され
る。コントローラ128はプロセッサ102へライン130を通
して24のマイクロコード制御ビットと14のアドレス・ビ
ットを与える。比較的遅い速度の場合、コントローラ12
8は適当な標準のマイクロプロセッサあるいはマイクロ
コントローラ装置、たとえば、市販されているTexas In
strumentsのModel TMS370C050である。もっと速い速度
では、より高速のコントローラがRAMあるいはROMにソフ
トウェア・コードを記憶しているか、あるいは、ステー
トマシンまたはシーケンサが用いられる。コントローラ
128はプロセッサ102と同じ半導体チップに設けられてお
り、特に、それがアドレス・カウンタを組み合わせたRO
M内に格納されたコードのみを含んでいるときには、第
1図のユニット132を形成する。マイクロ命令が、一回
のサイクルの範囲内で、7つの基本ゲーティング・ALU
機能の操作を制御できる。PEのすべては同じ命令、すな
わち、アーキテクチャ指定Single Instruction Multipl
e Data(SIMD)で制御される。
第2図の好ましい実施例では、SVP装置102は1024個の
1ビット処理要素103(PE)を有する一次元アレイを包
含する。
個々のプロセッサ要素150が第3図に示してある。各
プロセッサ要素105は、40×1に編成された40ビット・
データ入力レジスタ(DIR)154と、128×1に編成され
た第1の128ビット・レジスタ・ファイル(RF0)158
と、作業用レジスタA、B、C、M162と、128×1に編
成された第2の128ビット・レジスタ・ファイル(RF1)
166と、24×1に編成された24ビット・データ出力レジ
スタ(DOR)168とを包含する。第3図に示すプロセッサ
102は、さらに、DIR/RF0レジスタ154/158、作業用レジ
スタA、B、C、M162、算術論理ユニット164の間での
データの読み出し、書き込みを制御する第1の読み出し
/書き込み回路156を包含する。第2の読み出し/書き
込み回路167が設けてあって、DOR/RF1レジスタ166/16
8、作業用レジスタA、B、C、M162、算術論理ユニッ
ト164の間でのデータの読み出し、書き込みを制御す
る。
PE内のデータの流れは3つの、すべて同時に作動する
層またはパイプライン・ステップ(すなわち、入力、出
力、計算)にパイプライン化される。入力層では、デー
タ入力レジスタ(DIR)が1パケットのデータをワード
逐次的に獲得あるいは蓄積する。計算層では、プログラ
ムされた動作がワードあたりプロセッサを経て既に獲得
されたパケットのすべての要素について同時に実施され
る。出力層は、また別のパケットをデータ出力レジスタ
(DOR)から出力ピンヘ、ここでも再び、ワード逐次的
に転送する。
計算層パイプラインの各位相内で、多数のサイクル/
命令が必要な動作を実施する。入力・出力層、すなわ
ち、入力・出力パイプライン・ステップは1サイクルあ
たり1つのデータワードを蓄積するが、データのパケッ
ト全体を転送するのに多重サイクルを用いることによっ
てI/Oピン要件を最小限に抑えている。1パケットあた
りのデータワード数は、プロセッサ要素アレイのサイズ
に対して各用途あるいはシステム主題毎にハードウェア
あるいはソフトウェアで定められる。たとえば、この好
ましい実施例では、1024である。
計算層または計算パイプライン・ステップは多重サイ
クルを用いてデータを処理する。各データに割り当てら
れたALU、データ経路は1ビット幅である。したがっ
て、多ビット・ワードについての機能は多重サイクルに
おいて計算され得る。
DIR154は、入力151にイネーブル信号が与えられたと
きに、ライン118からディジタル化ビデオ信号をロード
する。このイネーブル信号は1−of−1024コミュテー
タ、シーケンサまたはリング・カウンタ148に送られ
る。コミュテータ148は、ライン118に標準のビデオ信号
が存在するとき、水平ブランキング期間の終わりにトリ
ガ操作されて始動し、アナログ・ディジタル変換器116
のサンプリング率(周波数)と同期した1024回までのサ
イクル中(14.32MHz)継続する。同様に、DOR168は、入
力部172にイネーブル信号を与えられたときに、処理済
みのビデオ信号をライン170に与える。このイネーブル
信号は別の1−of−1024コミュテータ、シーケンサまた
はリング・カウンタ174から受け取られる。コミュテー
タ174は水平ブランキング期間の終わりにトリガ操作さ
れて始動し、アナログ・ディジタル変換器124のサンプ
リング率と同期した1024サイクルにわたって継続する。
各PEはそれに最も近い4つの隣接のPE(左に2つ、右
に2つ)と直接連絡している。2つのPFの各々が独立し
たアドレス指定・読み出し−修飾−書き込みサイクルを
行って、2つの異なったRF位置を読み出し、データを算
術論理ユニット(ALU)によって処理し、その結果を一
回だけのクロック・サイクルでレジスタ・ファイルRF0
またはRF1位置の1つに書き戻すことができる。
外部ラインが第3図のプロセッサ・アレイにおけるプ
ロセッサ要素、PE150、のすべてに共通に接続してあ
る。これらのラインは後に詳しく説明するが、ここで簡
単に説明しておくと、40本のデータ入力ライン118、7
本のDIR/RF0ライン131、24本のマスタ制御ライン130、
クロック・リセット信号ライン142、144、2本のテスト
・ライン146、7本のDOR/RF1アドレス・ライン133、24
本のデータ出力ライン170および1本の1ビット大域出
力178(GO)ラインを含む。
入力/出力 SVPのI/Oシステムはデータ入力レジスタ154(DIR)
と、データ出力レジスタ168(DOR)とを包含する。DIR,
DORは、順次に、デュアルポート式メモリにアドレス指
定され、高速シフト・レジスタとして作動する。DIR、D
ORは、共に、好ましい実施例では、ダイナミックメモリ
である。
DIR、DORが一般的な場合にPE150に同期しているの
で、データがDOR/RF1とPE150間で転送される前に或る種
の同期が行われなければならない。これは、通常は、ビ
デオ用途では水平ブランキング期間中に生じる。或る用
途では、DIRDORおよびPEは同期して作動し得るが、いず
れにしても、レジスタのうちの一方のレジスタの両方の
ぽおとに同時に読み出し、あるいは、書き込みを同時に
行うのは勧められない。
データ入力レジスタ 再び第2図を参照して、プロセッサ102のDIRは40960
ビットのデュアルポート式ダイナミックメモリである。
1つのポート119は1024個の40ビットのワードとして編
成され、機能的には、1024ワード・ライン・メモリの書
き込みポートをエミュレートする。第4図はDIR書き込
みのためのタイミング図である。40個のデータ入力部11
8(DI1〜DI39)がタイミング信号、書き込みイネーブル
190(WE)、リセット書き込み192(RSTWH)および書き
込みクロック194(SWCK)と一緒に用いられる。WE190は
書き込み機能と、アドレス・ポインタ148(コミュレー
タ)増分機能の両方をSWCK194と同期して制御する。高
レベルのとき、RSTWH192ラインはアドレス・ポインタ14
8をSWCKの次の立ち上がり縁で1024ワード・バッファに
おける最初のワードにリセットする。SWCK194は連続ク
ロック入力部である。最初の2回のクロック遅延の後、
データ198の1つの40ビット・ワードがSWCK194の各引き
続く立ち上がり縁で書き込まれる。データ・ワード0〜
Nを書き込もうとしている場合、WEはSWCKのN+4の立
ち上がり縁について高レベルに留まる。アドレス・ポイ
ンタ148は、原則として、1−0f−1024、シーケンサま
たはリング・カウンタを包含し、これは、水平ブランキ
ング期間の終わりでトリガ操作されて始動し、アナログ
・ディジタル変換器116のサンプリング周波数で同期し
た1024サイクルにわたって動作を継続する。入力コミュ
レータ148は水平走査速度の1024倍以上で刻時される。
出力コミュレータ174は、必ずしもではないが、入力部
と同じ率で刻時され得る。
ここで、説明の目的で、プロセッサ102が1024個のプ
ロセッサ要素を持つものとして述べたが、これ以外の数
のプロセッサ要素を持っていても良いことは了解された
い。実際の数は使用されるテレビジョン信号伝送基準、
すなわち、NTSC、PAL、SECAMあるいは非テレビジョン用
途における機能の所望システムに関係する。
データ入力レジスタ154の第2ポート121は1024ビット
からなる40個のワードとして編成される。各ビットは1
つのプロセッサ要素150に対応する。ポート121は、物理
的には、RF0の絶対アドレス・スペーすであり、そこに
マッピングされる。したがって、DIR、RF0は互いに排他
的な回路となる。アッセンブラ・コードの所与のアッセ
ンブリ言語について一方がオペランドによってアドレス
指定されたとき、他方はアドレス指定されることがな
い。両方に対する基準を含むアッセンブリ言語ラインは
アッセンブリ時にエラーを発生することになる。これに
ついては後にもっと詳しく説明する。
DIR154はDOR168から独立して作動する。したがって、
それ自身のアドレス・ライン131とそれ自身の制御ライ
ン135のいくつかを持っている。DIR154の正しい機能は
多くのライン(すなわち、C21、C8、C2、C1、C0)、WRM
234の内容によって、そして、アドレスRF0A6〜RF0A0
(第5図参照)によって決定される。制御ラインC2=1
はDIR154を選定する。7つのアドレス・ラインRF0A6〜R
F0A0は読み出しあるいは書き込みを行うべき1−of−40
ビットを選定し、C1、C0は書き込みソース(C0、C1が読
み出ししない事項について)を選定する。ラインC1、C0
の或る組み合わせでは、DIR154についての書き込みソー
スはC21、C8の状態ならびに作業用レジスタM234の内容
に依存する。これらはプロセッサ102の融通性を高め得
るM依存命令と呼ばれる命令を構成する。表1はDIR154
についての制御ライン機能を示している。
ここで、「m」は{RF0A6、RF0A5、...RF0A0}の二進コ
ンビネーションであり、0<=m<=39の範囲にある。
範囲40<=m<=127は予約される。
第5図のプロセッサ要素論理図はRF0158およびDIR154
の相互連絡を示している。C21、C8、C2、C1、C0およびR
F0A6〜RF0A0は1024のPEすべてに共通の制御/アドレス
・ラインである。信号C280およびM250は、それぞれ、WR
C248、WRM234からのものである。SM262はALU260からの
ものである。R322、2R324、L310、2L312はこのPEの4つ
の最も近いものからの信号である。40個のDIRワードは
コピーライテッド・キー・ニーモニックスを用いる命令
によって読み出しあるいは書き込みされる。すなわち、
INP(m)(ここで、0≦m≦39)またはXX INP(m)
(ここで、XXはNear−neighborオプションである)。
ハードウェアをより効率よくするために、同じアドレ
ス・ラインおよび同じハードウェアのかなりの部分をDI
R154とDRO158の間で共有する。
以下の表2のメモリ・マップは8ビット・アドレスを
必要とする。このアドレスは下位ビットとしてMSB、ア
ドレス・ラインRF0A6〜RF0A0としての制御ラインC2(RF
0A7)からなる。C2は、DIR154対RF0158の選定が命令ニ
ーモニックに内在するので、アドレスと考えなれない。
データ出力レジスタ ここで再び第3図を参照して、DOR168は24576ビット
のデュアルポート式ダイナミックメモリである。1つの
ポート169はそれぞれ24ビットの1024個のワードとして
編成され、1024ワード・ライン・メモリの読み出しポー
トを機能的にエミュレートする。データ出力部(DO0〜D
O23)170は第6図の読み出しイネーブル(RE)、リセッ
ト読み出し(RSTRH)および逐次読み出しクロック(SRC
K)の信号と一緒に用いられる。SRCK496は連続クロック
入力である。RE490は、SRCK496と同期して、読み出し機
能とアドレス・ポインタ増分機能の両方を使用可能にし
たり、不能にしたりする。高レベルの場合、RSTRH494は
SRCK496の次の立ち上がり縁498で1024ワード・バッファ
の最初のワードに対してアドレス・ポインタ(コミュテ
ータ)をリセットする。最初の2つのクロック遅延の
後、データのうちの1つの24ビット・ワードがSRCKのそ
の後の立ち上がり縁毎にその後のアクセス時間で出力さ
れる。データ・ワード0〜Nを読み出そうとしている場
合には、REはSRCKのN+3個の立ち上がり縁について高
レベルに留まらなければならない。DIR154について上述
したように、アドレス・ポインタ174も同様に1−of−1
024コミュテータまたはリング・カウンタを包含し得
る。
データ出力レジスタ168の第2ポート167はそれぞれ10
24ビットの24個のワードとして編成される。各ビットは
1つのプロセッサ要素150に対応する。DOR168のポート1
67は、物理的にFR1166の絶対アドレス・スペースの一部
であり、そこにマッピングされている。したがって、DO
R168およびRF1166は相互に排他的な回路である。一方が
所与のアッセンブリ・ラインを介してオペランドによっ
てアドレス指定されると、他方はアドレス指定され得な
い。これら両方に対する基準を含むアッセンブリ・ライ
ンはアッセンブリ時エラーを発生することになる。これ
については後にもっと詳しく説明する。
DOR168はDIR154から独立して作動する。したがって、
それはそれ自体のアドレス・ライン133とそれ自体の制
御ライン137のうちのいくつかを有する。DOR168の正し
い機能は多くのライン(C21、C5、C4、C3)、WRM234の
内容およびアドレスRF1A6〜RF1A0によっって決定される
(第5図参照)。制御ラインC5=1はDOR168を選定す
る。7本のアドレス・ライン133は読み出したり書き込
んだりしようとしている1−of−24ビットを選定し、C
4、C3は書き込みソースを選定する。制御ラインC4、C3
の或るコンビネーションの場合、書き込みソースDOR168
はC21の状態ならびに作業用レジスタM234の内容に依存
する。これらはプロセッサ102の融通性を高めるM依存
命令と呼ばれる命令を形成する。表3はDOR168について
の制御ライン130の機能を示す。
ここで、「q」は{RF1A6、RF1A5・・・RF1A0}の二進
コンビネーションであり、0<=q<=23の範囲にあ
る。
範囲24<=q<=127は予約されている。
第5図の論理図はRF1とDORの相互接続状態の詳細を示
している。C21、C5、C4、C3およびRF1A6〜RF1A0は1024
個すべてのPEに共通の制御/アドレス/データ・ライン
である。信号C280およびM250は、それぞれ、WRC248、WR
M234からのものである。SM262およびCY264はALU260から
のものである。
ハードウェアをより効率よくするために、同じアドレ
ス・ライン133と同じハードウェアのかなりの部分がDOR
168、RF1166の間で共有されている。
以下の表4のメモリ・マップは8ビット・アドレスを
必要とする。このアドレスは、下位ビットとして、MS
B、アドレス・ラインRF1A6〜RF1A0(133)として制御ラ
インC5(RF1A7)で構成されている。C5は、DOR168対RF1
1166の選定が命令ニーモニックにビットC5分だけ内在し
ているため、アドレスとは考えられない。
PEレジスタ・ファイル 第3図において、各PE150は2つのレジスタ・ファイ
ル、RF0158およびRF1166を含む。各RFはPE150あたり256
ビットの全体に対して読み出し/書き込みメモリの1ビ
ット分の128個のワードからなる。
プロセッサ・アレイ105には2つのアドレス指定構造
があり、RF0158に対する1つの131は1024個すべてのPE
をカバーし、RF1166に対する1つの133は1024個すべて
のPEをカバーする。両レジスタ・ファイルは独立したア
ドレス、セレクタ、命令のラインが組み合わせてある
が、同じ制御器130およびタイミング142回路を共有して
いる。このことは、両レジスタ・ファイルが同時にデー
タを読み出し、電気的効率のために、互いに独立して書
き込みを行う。
RF0158およびRF1166は読み出し専用であっても、ある
いは、C248あるいはM234レジスタを含むいくつかのソー
スから書き込むか、もしくは、ALU260のSM262出力によ
って直接書き込みを行っても良い。また、M依存命令
は、状態的には、ALU260から直接かあるいは近接のもの
160からCY264出力のようなデータ・ソースを許す。以下
の表5の「X」は左隣の310または右隣の322を表わし、
「X2」はWRM234における値に依存して2番目の左隣の31
2または2番目の右隣の324を表わしている。他のデータ
は、RFを最初にこれらの場所のうちの1つに通すことに
よって書き込まれ得る。
以下の表5は各レジスタ・ファイルについてのありそ
うな書き込みデータ・ソースを示す。
上述したように、レジスタ・ファイルRF0およびRF1は
独立してアドレス指定でき、したがって、1ビットの乗
算・蓄積作業を一回だけのプロセッサ・サイクルで実施
できる。すなわち、以下の算術式が一回のクロック・サ
イクルで各PEによって求められ得る。
R1(p)′=(R0(n)M)+R1(p) ここで、 M=WRM(作業用レジスタM)に含まれる値、 R0(n)=アドレスnでのRF0に含まれる値、 R1(n)=アドレスpでのRF1に含まれる値、 R1(p)′=アドレスpでのRF1に書き戻されるべき値 である。
好ましい実施例において、レジスタ・ファイル、デー
タ入力レジスタおよびデータ出力レジスタは読み出し専
用ダイナミックメモリであり、運転中のプログラムによ
って暗黙のうちにリフレッシュされない限り周期的にリ
フレッシュされる。多くの用途(たとえば、ディジタル
テレビ)では、プログラムは、ソフトウェアループがリ
フレッシュ期間よりも頻繁に繰り返される場合には、RF
をリフレッシュ状態に保つことになる。これはプログラ
ムによって使用されている任意の記憶場所をリフレッシ
ュ状態に保ち、一方、使用済みのビットを未リフレッシ
ュ状態に留めておくことができる。また、或るプログラ
ムでは、リフレッシュ期間内で当該記憶場所のすべてを
読み出すだけで、両RFを確実にリフレッシュすることが
できる。
レジスタ・ファイル0(RF0) RF0158はRF1166から独立して作動する。したがって、
それはそれ自体のアドレス・ライン131とそれ自体の制
御ラインのうちのいくつかを有する。RF0158の正しい機
能は多くのライン(C21、C8、C1、C0)、WRM234の内容
およびアドレスRF1A6〜RF1A0によっって決定される(第
5図参照)。制御ライン448 C2=0はRF0158を選定す
る。7本のアドレス・ライン131は読み出したり書き込
んだりしようとしている1−of−128ビットを選定し、C
1、C0は書き込みソースを選定する。制御ラインC1、C0
の或りコンビネーションの場合、書き込みソースRF0158
はC21およびC8の状態ならびに作業用レジスタM234の内
容に依存する。これらはプロセッサ102の融通性を高め
るM依存命令と呼ばれる命令を形成する。表6はレジス
タ・ファイル0158についての制御ライン機能を示す。
ここで、「n」は{RF0A6、RF0A5・・・RF0A0}の二進
コンビネーションであり、0<=n<=127の範囲にあ
る。
第5図の論理図はRF0158とDIR154の相互接続状態の詳
細を示している。C21、C8、C2、C1、C0およびRF0A6〜RF
0A0は1024個すべてのREに共通の制御/アドレス・ライ
ンである。信号C280およびM250は、それぞれ、WRC248、
WRM234からのものである。SM262はALU260からのもので
ある。R322、2R324、L310および2L312はこのPEに最も近
い4つのものからの信号である。
ハードウェアをより効率よくするために、同じアドレ
ス・ライン131と同じハードウェアのかなりの部分がDIR
154、RF0158の間で共有されている。表2のメモリ・マ
ップは8ビット・アドレスを必要とする。このアドレス
は、MSBとして制御ラインC2で構成されている。アドレ
ス・ラインRF0A6〜RF0A0はより下位のビットである。C2
は、DIR対RF0の選定が命令ニーモニックに内在している
ため、アドレスとは考えられない。他のレジスタはメモ
リ・スペースにマッピングされており、表2のメモリ・
マップ内のすべての未定義メモリ・スペースは予約され
ている。
レジスタ・ファイル1(RF1) RF1166はRF0158から独立して作動する。したがって、
それはそれ自体のアドレス・ライン133とそれ自体の制
御ラインのうちのいくつかを有する。RF1166の正しい機
能は多くのライン(C21、C5、C4、C3)、WRM234の内容
およびアドレスRF1A6〜RF1A0(133)によっって決定さ
れる。制御ラインC5=0はRF1を選定する。7本のアド
レス・ライン133は読み出したり書き込んだりしようと
している1−of−128ビットを選定し、C4、C3は書き込
みソースを選定する。制御ラインC4、C3の或るコンビネ
ーションの場合、書き込みソースはC21の状態ならびに
作業用レジスタM234の内容に依存する。これらはプロセ
ッサの融通性を高めるM依存命令と呼ばれる命令を形成
する。表8はレジスタ・ファイル1についての制御ライ
ン機能を示す。
ここで、「p」は{RF1A6、RF1A5・・・RF1A0}の二進
コンビネーションであり、0<=p<=127の範囲にあ
る。
第5図の論理図はRF1166とDOR168の相互接続状態の詳
細を示している。C21、C5、C4、C3およびRF1A6〜RF1A0
は1024個すべてのPEに共通の制御/アドレス・ラインで
ある。信号C280およびM250は、それぞれ、WRC248、WRM2
34からのものである。SM262およびCY264はALU260からの
ものである。
ハードウェアをより効率よくするために、同じアドレ
ス・ライン133と同じハードウェアのかなりの部分がDOR
168、RF1166の間で共有されている。表4のメモリ・マ
ップは8ビット・アドレスを必要とする。このアドレス
は、MSBとして制御ラインC5で構成されている。アドレ
ス・ラインRF1A6〜RF1A0はより下位のビットである。C5
は、DOR対RF1の選定が命令ニーモニックに内在している
ため、アドレスとは考えられない。他のレジスタはメモ
リ・スペースにマッピングされており、表4のメモリ・
マップ内のすべての未定義メモリ・スペースは予約され
ている。
読み出し/書き込み回路 第3図において、ブロック156、169、すなわち、ラベ
ル付きの読み出し/書き込み回路は1つまたはそれ以上
のセンスアンプを包含する。第7図は1×128に構成さ
れた128ビットのダイナミック・ランダムアクセス・メ
モリからなるRF0を示している。実際には、RF0データ・
メモリ158およびDIR入力レジスタ154が同じ1×168DRAM
けたの部分となっているが、DIR154は、それが入力部DI
0−39から並列に40ビットで書き込まれるという点でRF0
158と異なる。同様の配列がDOR/RF1についても存在す
る。しかしながら、DORには24個(DO0−23)のみの並列
出力ラインが設けられる。或る実施例において、1つの
プロセッサ要素150あたり2つのセンスアンプがある。D
IR/RF0について1つの156があり、DOR/RF1については他
の167がある。各センスアンプはデータ・レジスタ154ま
たは168、あるいは、レジスタ・ファイル158または166
のアドレス指定された部分に対してデータの読み出し、
書き込みを行う。検出されたデータは、レジスタ、マル
チプレクサ508(第7図)およびメモリ・バンクDIR/RF
0,DOR/RF1の間で、I/Oライン500、502、504、506を経て
やりとりされる。DRAMけたの1×128メモリRF0158部分
においてアドレス指定される特定のビットは1024個すべ
てのプロセッサ要素150によって共有される128本のワー
ド・ライン160によって選ばれる。コントローラ128は1
−of−64アドレス選定のために6つのアドレス・ビット
131AをDIR154へ与える。(7番目のビットは、DIR選定
については「=0」、DIR非選定については「=1」と
いうように復号される。)そして、コントローラ128は
1−of−128アドレス選定については7つのアドレス・
ビット131BをBF0158に与える。同じアドレス選定は1024
個すべてのプロセッサ要素150のRF0またはDIRに行われ
る。同様にして、RF1と呼ばれる第2の1ビット幅のダ
イナミック・メモリ166がプロセッサ102の出力側で用い
られ、再び、1−of−128アドレス選定について7個の
アドレス・ビット133Aを受け取る。入力コミュテータ14
8は水平走査速度の1024倍以上で刻時され、その結果、
入力レジスタ154の1024個すべてが水平走査期間中にロ
ードされ得る。出力コミュデータ174は入力と同じ速度
で刻時され得るが、必ずしもその通りでなくても良い。
コミュテータ148からのポインタ入力151は1セット40
個の入力トランジスタ516を駆動するように示してあ
り、これらのトランジスタは40本のデータ・ライン118
(並列入力部DI0−DI39からの)をダイナミック・メモ
リ・セル518に接続する。これらのセルはデュアルポー
トであり、ワード・ライン526によってアドレス指定さ
れたとき、アクセス・トランジスタ520およびセンスア
ンプ156に接続された折り返しビット・ライン522、524
を介して書き込み、読み出しされる。この168ビット・
ダイナミック・ランダムアクセス(DRAM)けたのDIR部
分についてはワード・ライン526のうちの40本が、RF0部
分についてはワード・ライン160のうちの128本が設けて
ある。
先に述べたように、DIRは2トランジスタ・デュアル
ポート・セルである。読み出しおよび書き込みは各ポー
ト毎に実施され得る。DIRは高速ダイナミック・シフト
・レジスタとして作動する。デュアルポートの特徴は、
DIRの内外へのデータの同期通信を可能とすることにあ
る。ダイナミック・セルを用いることによって、シフト
・レジスタ・レイアウトはかなり縮小される。ダイナミ
ック・セルを用い得るが、これはセル動作にとっては必
須ではない。
データ出力レジスタは3トランジスタ・デュアルポー
ト・ゲインセルを利用する。たいていの用途において、
読み出し、書き込みはポート167のところで可能である
が、読み出しのみは第2ポートで実施される。DOR168
は、高速ダイナミック・シフト・レジスタとしても作動
する。DORは、ゲイン・トランジスタ回路と共に、記憶
された電荷を破壊することなくコンデンサ519の読み出
しをを許す。作動にあたって、セル519の論理「1」が
トランジスタ1640の1VTより大きい場合、セレクト・ラ
イン172がオンとなったとき、ライン1642は、最終的
に、論理「0」、すなわち、0ボルトに引かれることに
なる。セル519の電荷が1VTより低い(すなわち、論理
「0」または低レベル)場合、ライン1642の電荷は予充
電値に留まることになる。トランジスタ1642はセル読み
出しセレクト・トランジスタである。24本すべてのデー
タ出力ライン560がトランジスタ1642によって同時に検
知される(すなわち、トランジスタ1642がプロセッサ要
素セルを選ぶ)。図示のように、ノード1650は絶縁され
ている。この接続は他のプロセッサ要素セルを読み出し
ているときに発生するノイズによるセル内データの喪失
の可能性を減らす。各128セル部は信号を検知すべく出
力ラインにコンパレータ1634を有する。基準電圧がコン
パレータ入出力部1636に印加される。トランジスタ1630
のソース1638はVDDに接続してある。しかしながら、こ
れは必須要件ではなく、ソース1638を別の電圧レベルに
接続しても良い。
第8a図〜第8d図はDOR回路のいくつかのラインおよび
ノードでの電圧レベルを示している。
第9図は別のDORセルを示している。
先に述べたように、ビデオ用途のためのPE150の好ま
しい実施例では、40ビット幅の入力データバス118と24
ビット幅の出力データバス170とを利用する。これらの
バス幅は、8fsc(35ns)の高い刻時速度と組み合わせ
で、1024DIR154またはDOR168についてのバス幅全体が刻
時期間全体にわたってパワーアップされなければならな
い場合には、バスライン上のパワードレンおよびノイズ
を大きくすることになる。しかしながら、個々のDIR
(またはDOR)のみが刻時期間の任意特定の部分で読み
出されたり、書き込まれたりするため、書き込まれつつ
あるDIR168のみ、あるいは、任意所与の時刻に書き込ま
れつつあるDIRを含むDIRシリアル・アレイの一部のみを
パワーアップすることができる。
第10図はSVP120入力バスライン118パワードレン、ノ
イズ低減制御回路580を示している。この回路580はDIR1
54書き込み中にSVP102のノイズおよびパワー要求を低減
する。説明のために、1024×40DIRアレ154は8つのセグ
メントまたは部分586a−hにセグメント化され、各セグ
メントが128個のPE150を含む。データは、対応する制御
ユニット602の制御の下に作動しているコミュテータ148
の1セグメントによって各128DIRセグメント586の記憶
場所に刻時される。制御ユニット1(602a)はライン11
8上の入力ビデオ・データ信号の水平走査速度と同期す
るように調時されたクロック入力608の1セグメントを
有する。8つの制御ユニット602の各々はリセット信号6
10を受け取るように接続してある。リセット信号は、最
初の制御ユニット602aをして残りのユニット602b−hを
パワーアップ、パワーダウンさせる。制御ユニット602
の出力信号はコミュテータ588が上述したように作動可
能とするコミュテータ・イネーブル信号151を含む。個
々の制御ユニット602の出力信号は、現在作動している
セクションへのデータ信号書き込みが完了間近であると
きに次の隣接の制御ユニットをパワーアップするパワー
アップ出力信号606も含む。たとえば、ライン118からDI
Rセクション586aへのデータ読み出しがひとたび完了間
近となったならば、次の隣接の制御ユニット602bがその
コミュテータ・セグメント588bを使用可能とし、データ
の書き込みの準備を整える。ひとたびセグメント602bが
コミュテータ・セクション588bを使用可能としたなら
ば、ライン604a上の信号が先の制御ユニット602aをパワ
ーダウンする。これはこの制御ユニット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のセット入力部がトリガされると、その
Q入力部が付勢されてドライバ628を使用可能にする。
ドライバ628が使用可能とされると、それらの入力部の
クロック信号がコミュテータ588a入力部に与えられる。
作動のためのコミュテータ588aのパワーアップはフリッ
プフロップ614のQ出力信号の高レベルで開始する。コ
ミュテータ・イネーブル信号151はライン118上に存在す
るビデオ・データ信号の最初の40ビットの、第1のDIR
記憶場所への読み出しをトリガする。
クロック信号608は、先に述べたような入力ビデオ信
号速度と調時されたコミュテータ588をトリガする。同
じクロック信号が同時にすべてのクロック入力部608に
与えられる。しかしながら、ドライバ608b−608hが不能
とされているので、それらの対応するコミュテータ588b
−588hも付勢されない。次いで、コミュテータ588aは第
1セグメントのDIR記憶場所0−127に対応する各信号ラ
イン1510〜151127を使用可能とする。信号ライン151127
がDIR127について使用可能とされると、イネーブル信号
がフリップフロップ620bのセット入力部にも与えられ、
また、ライン606を経てパワーアップ・コミュテータ588
bへ与えられる。フリップフロップ620bのセット入力部
またはQ入力部はドライバ608bを付勢し、クロッキング
信号をコミュテータ588bに送り、コミュテータ588bに関
して説明したような作動を行わせる。信号ライン151128
がコミュテータ588bによって付勢されると、信号がパワ
ーダウン・コミュテータに通じるライン604を経てフリ
ップフロップ620aのリセット入力部に送られてドライバ
628aを消勢する。ドライバ628aの消勢はデータの40ビッ
トがDIR127に入力された後に行われる。パワーアップ・
パワーダウン・シーケンスは、すべてのコミュテータ58
8a−588hがDIR記憶場所0−1023をロードするように作
動してしまうまで継続する。フリップフロップ622は、
コミュテータ588hの動作が完了した後にリセット信号61
0によってリセットされる。
次いで、制御回路580が書き込まれつつある回路部分
をパワーアップするだけでパワードレンを低減する。こ
れは、また、データ・ラインに存在する可能性のあった
ノイズを低減するのにも役立つ。
第12図はプロセッサ102のDOR168すなわち出力側で使
用するためのパワー・ノイズ低減回路を示す。第12図の
回路は第11図の回路と同様に作動する。DIRおよびDORを
8つのセクションに分解することはほんの説明のためだ
けである。チップ・レイアウトに応じて、32またはそれ
以上のセクションを持っていても良い。加えて、コミュ
テータは別の実施例では制御ユニットの一部である。コ
ミュテータ・セグメント588は個別のコミュテータとし
て作用する単一のコミュテータの部分であり得るし、あ
るいは、複数の個別のコミュテータがあっても良い。
標準・非標準信号 テレビは多くの信号ソースを持つ。これらの信号ソー
スは2つのタイプに分類できる。すなわち、標準タイプ
と非標準タイプである。標準信号はディジタル回路にと
っては理想的であり、非標準信号はディジタル・テレビ
ジョン・システムにとっては多くの問題を提起する。標
準信号の一例は、カラー・バースト周波数、水平同期期
間、垂直同期期間およびこれら3つの間の位相関係がす
べてほとんど定数であるテレビ・ステーションである。
VCRは非標準信号ソースの良い例である。このホームVCR
は、水平同期パルスとクロマ・バーストの間の精密な関
係が記録/再生プロセス中に失われ、テープ・ジッタの
導入が引き続くフィールド間のタイミング関係を壊すた
めに、このように分類される。
ビデオ・データ信号がライン118を通してSVP102に連
続的に送られるが、アレイ・データ入力レジスタ109は
一度に1本だけのビデオ走査線を保持する。先に説明し
たように、水平ブランキング期間中、データの現在保持
されている走査線RF0レジスタ・ファイルにシフトされ
て入力レジスタを新しいデータ走査線に対して自由にす
る。次のブランキング期間および走査線期間中、レジス
タ・ファイルRF0およびRF1に先に保持されているデータ
はPEによって処理される。レジスタ・ファイル・データ
は近接の通信ネットワークを経て他のプロセッサ要素へ
も転送され得る。一般的には実施されないが、DIRまた
はDORのデータはプロセッサ要素で直接処理しても良
い。この事象シーケンスは、入力信号にぽおず(水平ブ
ランキング期間)が存在しない非標準信号用途では望ま
しいことではない。このような用途の一例として、入力
信号がVCR出力である場合がある。この場合、プロセッ
サ要素成分間で(たとえば、DIR対RF0およびRF1対DOR)
信号を停止させたり、データを転送したりする時間がな
い。この問題を解決すべく、第13図に示すSVPアーキテ
クチャを使用できる。第13図において、1024個のデータ
入力レジスタ154は複数のセグメントに分割される。こ
の例において、DIRは2つのセグメント、左650、右652
に分割される。ここで、所望に応じてもっと多くのセグ
メントがあっても良いことは了解されたい。各セグメン
ト650、652は全プロセッサ要素の半分(512)を包含す
る。説明を容易にするために、左側から1つだけプロセ
ッサ要素を、右側から1つのプロセッサ要素を示す。作
動にあたって、ライン118上のデータ信号はセグメント6
50のDIRに転送され、一方、セグメント65内に先に格納
されていたデータはレジスタ・ファイル656へ同時に転
送される。DIRセグメント652からのデータがレジスタ・
ファイル656へ転送された後、セグメント650DIRはそれ
らのデータをレジスタ・ファイル654へ転送し、セグメ
ントDIR652は新しいデータをロードする。このようにし
て、レジスタ・ファイルへシフトされる前にりプロセッ
サのDIRの半分だけが満たされているだけで良い。
セグメント選定および動作を制御する制御回路688の
例も第13図に示してある。制御回路658はDIRセレクト・
トランジスタ、たとえば、左半分にはトランジスタ67
0、672、右半分にはトランジスタ674、676を包含する。
セレクト・トランジスタ670はDIRとプロセッサ要素セン
スアンプ678の間に接続したソースとドレインを有す
る。トランジスタ670のゲートはANDゲート682の出力部
に接続してある。ANDゲート682の入力リード線692はXFE
RLEFTまたはXFERIGHT信号を受け取る。入力リード線690
はマイクロコード制御ビットC2を受け取る。C2=1の場
合、DIRが選定され、C2=0の場合、RF0が選択される。
トランジスタ672が、同様に、DIR650とセンスアンプ6
78の間に接続してある。同様に、セグメント652のトラ
ンジスタ674、676が接続してある。各セグメント制御回
路の各DIRも2つのトランジスタのネットワークを包含
しており、このネットワークは作動中に所望に応じてセ
ンスアンプを既知状態にする。左半分のDIRにはトラン
ジスタ662、664、右半分のDIRにはトランジスタ666、66
8がある。
トランジスタ662はトランジスタ670のソースに接続し
たソースと、接地したドレンを有する。同様に、トラン
ジスタ664のソースはトランジスタ672のソースに接続し
てある。しかしながら、トランジスタ664のドレンはVDD
に接続してある。トランジスタ662、664のゲートはAND
ゲート684の出力部に接続してある。ANDゲート684は2
つの入力部を有する。入力部688はインバータ686の出力
部に接続してあり、このインバータの入力部はXFERLEFT
/XFERIGHT信号に接続する。ANDゲート684の入力部690は
制御ビットC2に接続してある。
ANDゲート684からの制御出力はセグメント半分650か
ら652へクロス結合してあり、出力が左側のトランジス
タ662、664と右側のトランジスタ674、676を制御するよ
うになっている。ANDゲート682の出力は、同様に、プロ
セッサ102の左半分と右半分の間にクロス結合してあ
る。左側で、ゲート682出力はトランジスタ670、672を
制御する。右側で、ゲート682はトランジスタ666、668
を制御する。
作動にあたって、XFERLEFT、C2信号の高レベルはAND
ゲート684から低レベル信号出力を、ANDゲート682から
高レベル信号出力を生じさせる。これはRF0への転送の
ために左側DIRの内容を選択し、ローディングのために
右側DIRを付勢する。C2が1である間にリード線692上に
ある低レベル信号またはXFERRIGHT信号はローディング
のために左側DIRを選択し、RF0へのデータの転送のため
に右側DIRを選択する。このシーケンスは繰り返され
て、DIR走査がピストン状の要領で交互にデータを絶え
ず受信、送信する。
完全走査線がDIRにロードされ、レジスタ・ファイル
に転送された後、プロセッサ102によって実行されたソ
フトウェア・プログラムが転送されてきた偶数アドレス
・データをゼロで論理和演算し、のデータを回復する。
転送されてきた奇数アドレス・データは1で論理積演算
されてオリジナルのデータを回復する。これが第14図に
示してある。データ・ライン118から受け取られたデー
タが回復された後、先に述べたように2セグメント処理
が開始し得る。
第15図は当初に転送されたデータを回復するための別
の手段を示す。偶数、奇数のアドレスを個別に回復する
代わりに、第13図のトランジスタ664、668のドレインを
アースに結合し、奇数、偶数のアドレスを等しく処理す
ることができる。これは次のように生じる。最初の半分
を入力:(XFERLEFT=1);M=1,A=INP(j)、B=0,
C=0,R1(n)=SM。次に第1データを論理和演算し、
第1部分の結果は次の通り:(SFERLEFT=0);M=1,A
=R1(n),B=INP(j),C=1,R1(n)=CY。
第16図は第13図のDIR制御回路をやや異なった状態で
より詳しく示している。第17図は第13図のDOR制御回路
をやや異なった状態でより詳しく説明している。
レジスタ・ファイル・リフレッシュ 上述したように、レジスタ・ファイルはダイナミック
・セルからなり、これらのセルは引き続くリフレッシュ
期間で適当にリフレッシュされてそれらの内容を保つ。
ソフトウェアによって使用されたアドレスのみがリフレ
ッシュされる必要がある。残りすべてのアドレスは、そ
れらのデータが不要なので、リフレッシュなしで良い。
リフレッシュ動作はデータ保存を必要としている各ア
ドレスへの読み出しだけである。したがって、多くの用
途において、ソフトウェア・プログラムは、ソフトウェ
ア・ループがリフレッシュ期間よりも頻繁に反復される
場合に、RFをリフレッシュ状態に保つことになる。
SVP102内の256Kすべてのビットをリフレッシュするの
はほんの64回のサイクルを必要とするだけである。これ
は、各RFが実際に一時に2ビット(1PFあたり全体で4
ビット)を読み出し、リフレッシュするからである。SV
P102のすべてに対して完全なリフレッシュを実施するに
は、各RFを作業用レジスタに読み込み、2回ずつアドレ
スを増分し、64回繰り返す。次のプログラムはリフレッ
シュ動作を示している。
たとえば、 ALU 第5図において、ALU164が単純な全加算器/減算器26
0プラス1ビット乗算器258(ANDゲート)として示して
ある。入力部はWRM234、WRA238、WRB242、WRC248および
制御ラインC21 252から来る。ALU164の出力はSUM262
(SM)、Carry264(CY)およびBorrow266(BW)であ
る。
ALUのダイアグラム 再び第5図を参照して、ALU164は制御ラインC21によ
って制御される2つの作動モードを有し、一方のモード
では、乗算器258が使用可能とされ、M依存命令が不能
とされる(C21=0)。第2のモードでは、乗算器258が
「パススルー」すなわち不能とされ、M依存命令が使用
可能とされる(C21=1)。
ALU164の作動モードの選択は実行されているプログラ
ム命令にのみ依存する。すなわち、SVPアッセンブラ
は、所与のアッセンブリ・ラインの命令が「M依存」を
要求する場合にはALU164の作動モードを「M依存命令使
用可能」にセットする。さもなければ、作動モードは
「使用不能」にセットされる。これは、M依存サブ命令
が使用中の間、加算器/減算器260を正しく機能させる
ように行われる。すなわち、乗算器258およびM依存サ
ブ命令の全クラスが作業用レジスタを共用し、したがっ
て、相互に排他的となる。
表10は乗算器258が使用可能であるか、使用不能であ
るかに応じたALU164の動作を示す。
ALU164は表11に示す論理演算を実施し、その間、M依
存命令は使用不能とされる。所与のアッセンブリ・ライ
ンの命令がM依存でない場合には、全ラインの全命令に
ついてM依存命令が不能とされる。
PE作業用レジスタ 第2図の実施例において、1プロセッサ要素毎に4つ
の作業用レジスタ162(WR)、すなわち、WRM、WRA、WR
B、WRCがある。4つすべてのレジスタは、データ転送
元、転送先が異なっていることを除いて同じであり得
る。第5図に示すように、各WRはデータ・せれくたまた
はマルチプレクサと、フリップフロップとを包含する。
4つすべてのレジスタは、有効データがRFから到達した
直後に内部SVPタイミング回路によって同時に刻時され
る。
表12は4つの作業用レジスタのそれぞれについてのデ
ータ転送元を例示している。
ここで、 M、A、B、Cは作業用レジスタ RF0、RF1はレジスタ・ファイル L、R、L2、R2は近接入力部 CY、BWはALUからのCarry、Borrow出力部 KCBは条件付きCarry/Borow(WRMの関数) 1、0は論理レベル 作業用レジスタM(WRM) WRM234、すなわち、乗算器レジスタが乗算、除算、マ
スキング演算、いくつかの論理演算および条件付き(M
依存)演算において使用される。WRM234はALU内の乗算
器ブロック258の2つの入力部のうちの1つである。さ
らに、WRM234はライン250を経て接続していてMUXを分割
し、条件付きCarry/Borrow(KCB)命令を制御し、ライ
ン382を経てRF1 MUXに接続していて条件付きCarry書き
込み(KCY)命令を制御し、ライン406を経てRF0 MUX1
に接続して条件付き方向命令、XB、XR0(n)、XINP
(m)、XOUT(q)を制御する。WRM234はRF0 MUX2に
も接続していて、RF0へ直接書き込まれる。一般的に
は、WRM234は「1」をロードされて、乗算器258がWRAの
値をALU164の加算器/減算器へ直接送るようにしなけれ
ばならない。
データ・セレクタ232(n−to−1乗算器)が表13に
示すような制御ラインC20、C19、C18、C8の関数としてW
RM234についての可能性のある10個のデータ・ソースの
うちの1つを選ぶ。加えて、ラインR、R2、L、L2から
取ったデータは選定された近接のもの160内の4つのソ
ースのうちの1からのものであり得る。
作業用レジスタA(WRA) WRA238(加数/被減数レジスタ)は汎用作業用レジス
タであり、ALU164の関わるたいていの作業で使用され
る。WRAはALU164内の乗算器ブロック258への2つの入力
部のうちの第2入力部256であり、加算器/減算器ブロ
ック260に入力する正項である。WRAはC MUX244への入
力部である。
データ・セレクタ236(n−to−1マルチプレクサ)
が表14に示すような制御ラインC17、C16、C15、C8の関
数としてWRA238についての可能性のある10個のデータ・
ソースのうちの1つを選ぶ。加えて、ラインR、R2、
L、L2から取ったデータは選定された近接のもの160内
の4つのソースのうちの1つからのものであり得る。
作業用レジスタB(WRB) WRB242(加数/被減数レジスタ)は汎用作業用レジス
タであり、ALU164の関わるたいていの作業で使用され
る。減算において、WRB242は常にWRA238から引かれる。
WRAはL/R MUX305への入力部でもある。
データ・セレクタ240(n−to−1マルチプレクサ)
が表15に示すような制御ラインC14、C13、C12、C8の関
数としてWRBについての可能性のある10個のデータ・ソ
ースのうちの1つを選ぶ。加えて、ラインR、R2、L、
L2から取ったデータは選定された近接のもの160内の4
つのソースのうちの1つからのものであり得る。
作業用レジスタC(WRC) WRC248(桁上げ/借りレジスタ)はALU164への桁上げ
(または借り)入力部である。多重ビット加算におい
て、WRC248はビット間の先行加算からのCY264を保持す
る。一方、多重ビット減算では、WRC248はBW266ビット
を保持する。WRC出力はA、B、MレジスタおよびRF0
MUX1へ行く。
データ・セレクタ244(n−to−1マルチプレクサ)
は、表16に示すように、WRM234の内容によって、制御ラ
インC21、C11、C10、C9の関数としてWRC248についての
9個の可能性のあるデータ・ソースのうちの1つを選
ぶ。すなわち、これら4本の制御ラインの或る種のコン
ビネーションの場合、WRC248へ送られるべきデータは作
業用レジスタM234の内容に依存する。これらはプロセッ
サ102の融通性をより大きくできるM依存命令と呼ばれ
る命令を形成する。WRC248はオペランド規制詞KCB(条
件付き桁上げ/借り)を含む任意のM依存命令を実行す
る。
近接通信および大域出力 近隣通信システムを各PE150に設けて4つの最も近い
隣接PE(中間PE150の左に2つ、右に2つ)の直接記憶
・レジスタ読み出し/書き込み能力を得るようにするこ
とができる。加えて、同じ回路を用いてGOまたは大域出
力部178と呼ばれる大域フラグを作ることができる。GO1
78信号は、DOR168をロードし、クロックアウトする必要
なしにSVPの外側に内部事象をフラグ付けする方法の1
つである。
近隣通信 再び第2図を参照して、各PEは4つの隣接PEへファン
アウトされるL/R(すなわち左/右)と呼ばれる1つの
出力308を発生する。各PE150も4つのL/R信号(4つの
近接PEの各々から1つずつ)を入力する。これらは、L2
312(左へ2番目のPE)、L310(左へ1番目のPE)、R
322(右へ1番目のPE)、R2 324(右へ2番目のPE)
と命名される。第15図はいくつかのプロセッサ要素を横
切って連続的なこの相互接続システムを示している。
データ・セレクタ305(4−to−1マルチプレクサ)
は、制御ラインC7、C6の関数としてL/Rライン308へ出力
すべきPE(n)内の4つのデータ・ソースのうちの1つ
を選ぶ。論理ZER0304、WRB268の内容、または、レジス
タ・ファイルRF0(RAM0)288あるいはRF1(RAM1)286の
いずれかからの位置が1つの隣接プロセッサ要素に連絡
され得る。表17において、L/R308のためのデータ・ソー
スが制御ラインの関数として挙げてある。
大域出力 次に第18、19図を参照して、大域出力信号824はPEを
出る1024個すべてのL/Rライン178の論理OR852の均等物
である。すなわち、プロセッサ・アレイ102内の1つま
たはそれ以上のPE103がそのL/Rライン178に論理1レベ
ルを出力すると、GO信号824も論理1を出力することに
なる。GO信号は高レベルにある。第19図はPE(n)を出
るL/R信号の発生および大域フラグ信号、GO(大域出
力)との関係を示している。
近隣通信を用いるとき、同じアッセンブリ・ライン上
の命令がGO命令と一緒に同じハードウェアを共有してい
るため、それらの使用がほぼ相互に排他的となることに
注意されたい。いずれにしても、SVPアッセンブラは生
じる可能性のある任意のコンフリクトにフラグ付けする
ことになる。
縦続SVPチップ 第20図に示すチップ・レベルで、近隣通信ラインは外
側に持って行かれており、その結果、1024個より多いビ
ットの処理幅が必要の場合、多数のSVPを従属しても良
い。SVP102の左には、L、2L出力部、L、2L入力部があ
る。右にはR、2R出力部とR、2R入力部がある。相互接
続との混乱を避けるべく、これらのピンは、CC0L792、C
C1L794、CC2L796、CC3L798、CC0R800、CC1R802、CC2R80
4、CC3R806と命名し、CC0LをCC0Rへ接続する等のみが必
要である。
第20図は2つまたはそれ以上のSVPについての縦続連
結を示している。末端の入力部は図示のようなたいてい
の場合には接地しなければならないが、これは特定の用
途に応じて異なる。SVPの別の相互接続法が第21図に示
してある。第21図の相互接続法では、ビデオ処理システ
ムの画像を循環接続を行うことによってシリンダのまわ
りに巻き付けることができる。これらのラインを用いる
場合、R/L/2R/2L転送を行ってSVPチップ間に充分な伝幡
時間を与える待機状態さいくるを命令と一緒に用いなけ
ればならない。待機状態シングル命令についての内部バ
ス・タイミング図が第24図に示してある。
命令モード SVPには4つの命令モードがある。すなわち、シング
ル、ダブル、待機状態シングルおよびアイドルの4モー
ドである。最初の2つのモードは任意の有効アッセンブ
リ命令ラインとの組み合わせで作動し、3番目のモード
は左右の隣接したプロセッサ要素にデータを送る命令と
共に作動し、4番目のアイドル・モードでは、PEは電力
節減のために刻時されない。
すべての命令は1回のクロック・サイクルだけで完了
するが、このクロック・サイクルの持続時間はサイクル
のタイプに応じて異なる。2種類のサイクル長があり、
「正常」と「拡張」である。「拡張」サイクルの長さは
「正常」サイクルの長さの約1.5倍である。「拡張」時
間は待機状態シングル命令の待ち部分、あるいは、ダブ
ル命令中に実施される付加的な動作のためのものであ
る。アイドル命令はさらに電力節減のためにのみ拡張さ
れる。
現行サイクルについて命令のモードをセットする制御
ビットは2つある。4つのモードが、表18に、制御ビッ
トC23、C22の関数として示してある。
アッセンブリ中、ディフォルトはシングル命令モード
である。このアッセンブリ・シーケンスで適切なシング
ル命令対が現れると、各対は、アッセンブラ・ダイレク
ティブによって不能とされない限り、自動的に1つのダ
ブル命令と交換される。ダブル命令の使用で、全体的な
実行時間を短縮できる。
シングル命令モード シングル命令モードは4つのモードのうちの最も基本
的なモードである。〈READ〉−〈REGISTER〉−〈ALU〉
−〈WRITE〉シーケンスはただ1回の正常クロック・サ
イクルで実施される。表19はシングル命令のためのオプ
コード構造を示している。
ここで、{aaaaaaa}はRF1についての7ビット・アドレ
ス・フィールド、{bbbbbbb}はRF0についての7ビット
・アドレス・フィールド、{n nnn...nnn}はオプコー
ドのレジスタ制御ビットである。
待機状態シングル命令モード 待機状態シングル命令モードはシングル命令モードの
時間拡張バージョンである。〈READ〉−〈WAIT〉−〈RE
GISTER〉−〈ALU〉−〈WRITE〉シーケンスは一回の拡張
クロック・サイクルで実施される。追加した「WAIT」期
間は、2つ以上のSVP装置を縦続したときにチップ境界
を移動する信号の伝幡時間を許す。この命令モードは、
SVPが縦続されていない場合には、不要である。
SVPアッセンブラ命令はこのモードをライン毎に使用
可能とすることができる。アッセンブラはこの命令を検
討してそれが近隣通信を使用しているかどうかを判断
し、適切な待機状態命令を発する。アッセンブリ時間ダ
イレクティブは4つあり、WAITL、WAITR、WAITB、WAITN
である。
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−データ方向命令と無関係にシングル。このダイ
レクティブは先に発行されたWAITxダイレクティブをオ
フとするのに用いられる。
表20は待機状態シングル命令についてのオプコード構
造を示している。
ここで、{aaaaaaa}はRF1についての7ビット・アドレ
ス・フィールド、{bbbbbbb}はRFOについての7ビット
・アドレス・フィールド、{n nnn...nnn}はオプコー
ドのレジスタ制御ビットである。
ダブル命令モード SVPアッセンブラおよびハードウェアは2つのシング
ル命令に相当する命令を自動的に発生し、実行すること
ができるが、実行のためには拡張サイクルを必要とす
る。全体的なスループット利点はこの能力から得られ
る。この拡張サイクル中、〈READ〉−〈REGISTER〉−
〈ALU〉−〈REGISTER〉−〈ALU〉−〈WRITE〉シーケン
スが実施される。第2のALU・レジスタ動作のために
は、この拡張サイクルに対する追加の時間が使用され
る。これが可能となるのは、拡張サイクルが読み出し/
書き込み動作中に各レジスタ・ファイル毎に2ビット・
キャッシュから作動するからである。SVPアッセンブラ
は、可能なときにはいつでもシングル命令をダブル命令
に変換することによってこれらキャッシュの最善の使用
法を決定する。この動作は2つのアッセンブラ・ダイレ
クティブ、DRI,ERIによってオン、オフされ得る。
ダブル命令は、2つの引き続く命令のパターンが表21
a,21bに示すようなものである場合に使用される。レジ
スタ・ファイル・アドレスに、読み出されつつあるかあ
るいは書き込まれつつある場合に示したようになってい
ることだけが必要がある。
ここで、 xxxxxxx=注意不要 aaaaaa0=RFI、第1命令についての7ビット・アドレス bbbbbb0=RF0、第1命令についての7ビット・アドレス aaaaaa1=RFI、第2命令についての7ビット・アドレス bbbbbb1=RF0、第2命令についての7ビット・アドレス n nnn...nnn=22ビット制御オプコード このアッセンブラはこれら4つのタイプの命令パター
ンをダブル命令に随意に組み込み、それらそれぞれのオ
プコードは表22に示すようになる。
ここで、 0000000=メモリが使用されない場合アッセンブラはゼ
ロを占める。
aaaaaa0=RF1、ダブル命令についての7ビット・アドレ
ス bbbbbb0=RF0、ダブル命令についての7ビット・アドレ
ス n nnn...nnn=22ビット制御オプコード アイドル命令モード このアイドル命令モードは、主として、電力を節約す
ることを意図している。このモードは、PEが現行データ
・パケットの処理を完了し、次のパケットのために待機
状態にあるときにはいつでも実行され得る。アイドル命
令が発せられたとき、独立して制御されるDIR、DORを除
いて、並列のプロセッサの全回路は刻時を停止する。
WRは静的であり、したがって、維持される。しかしな
がら、RFは動的である。維持する必要のあるビットは前
述したように選択的にリフレッシュされなければならな
い。
アイドル命令中、オプコード・フィールドの残部は命
令レジスタにラッチされるが、引き続く論理ブロックに
よって無視される。ビットC21〜C0はこの時点でゼロで
あって、処理が再開したときに内部パイプラインが正し
く充填されるようにしなければならない。表23がアイド
ル命令についてのオプコード構造を示している。
ここで、 (xxxxxxx)=RF1についての7ビット・アドレス・フィ
ールド、注意不要 (xxxxxxx)=RF0についての7ビット・アドレス・フィ
ールド、注意不要 0 000...000=22ビット制御はアイドル中ゼロ 外部バス動作 SVPチップについての外部バス130の動作は単純であ
る。38ビット・マイクロコード命令(24制御、14アドレ
ス)を持つ装置と、適正なセットアップ、ホールド時間
を持つストローブPCKが存在することだけが要件であ
る。データ入力部154、データ出力部168のレジスタはプ
ロセッサ・アレイ154に対して非同期であり、プロセッ
サ・アレイ105がDIRまたはDORへあるいはそこからのデ
ータの転送を行う前に或る種の同期形態が必要である。
内部バス動作 外部プロセッサ・クロック(PCK)の立ち上がり縁
が、内部バス171についてのタイミングを生成する一連
の内部クロックをトリガする。第22図はシングル命令モ
ードについての、SVP102の内部バス171への事象のシー
ケンスを示している。
SVPアッセンブラは、2つのシングル命令(アドレス
・フィールドを除いてこれらのシングル命令が同一であ
る場合)からダブル命令と呼ぶものを生成する。
アッセンブラによって生成されたダブル命令は対応す
るハードウェア・モードを必要とする。第23図はダブル
命令サイクルについての事象のシーケンスを示してい
る。
SVPを縦続した場合(第20、21図)、チップ間の遅速
伝幡経路は、近隣通信を使用しているときには、余分な
時間を必要とする。待機状態シングル・サイクルを持た
せることによって遅速サイクルに順応できる。このサイ
クルはシングル命令の動作を実施するが、第24図に示す
ようにダブル命令サイクルの時間を必要とする。
アイドル・サイクルでは、PA105を必要とするまでほ
とんどパワーダウンさせる。これは第25図に示してあ
る。
命令ルール SVPはマイクロコード・レベルでプログラムされる。
これらのマイクロコード「サブ命令」が組み合ってSVP
アッセンブリ言語における1本の命令ラインの命令部分
を作る。この章は、これらの命令を構成する方法および
アッセンブラがコンフリクトについてチェックする方法
を説明する。この章における主要トピックのいくつかを
次に挙げる。
* 命令ラインを形成するルール −オペランド転送先/転送元名称 −サブ命令を組み合わせるルール −オプコード・フィールド * 命令コンフリクト・マスク 命令ラインを形成するためのルール SVPアッセンブリ・ソースは他のアッセンブラのもの
と同様である。すなわち、各ラインが、1つの命令、1
つのアッセンブラ・ダイレクティブ、コメントあるいは
マクロ・ダイレクティブを含む。しかしながら、SVPア
ッセンブリ・ラインは、1つの命令を含む1本のライン
がいくつかのサブ命令を包含するという点で異なる。こ
れらのサブ命令が組み合わさってアッセンブリ時に単一
のオプコードを生成する。
「命令ライン」はオプションのラベル、1つ以上のサ
ブ命令プラスオプションのコメント・フィールドからな
る。
有効「命令」は互いに衝突しないように1つ以上のサ
ブ命令からなる。
「サブ命令」は3つの部分からなる。すなわち、転送
先オペランド、割り当てオペレータ(SVPアッセンブラ
は「=」記号を認識する)および転送元オペランドを、
この順序で包含する。すなわち、 <転送先オペランド>=<転送元オペランド> オペランド転送先/転送元名称 表24はサブ命令およびそれらのオペランドの有効範囲
(10進)についての正当なオペランド転送先/転送元名
称を示す。
ここで、 K、XはWRMの状態に基づく条件付き命令を示す。
Kは条件付き転送元が隣接のALUであることを示す。
Xは条件付き転送元が隣接のプロセッサからのものであ
ることを示す。
サブ命令を組み合わせるルール 転送元(ソース)オペランドは1つの命令ラインで2
回以上指定され得る。
B=A、C=Aは正当である。
転送先オペランドは1つの命令ラインで指定され得る。
B=A、C=Bは正当である。
C=A、C=Bは不当である。
各レジスタ・ファイルは、アドレスが各サブ命令と同じ
である場合に、転送元として2回以上指定され得る。
A=R0(13)、B=R0(13)は正当(同アドレス) A=R0(13)、B=R0(100)は不当(同RF、異アド
レス) A=R0(13)、B=R1(100)は正当(異RF) RF0、RF1、DIR、DORの1つだけがアッセンブリ・ライン
で転送先オペランドとして指定され得る。
C=BW、R0(10)=SMは正当(単メモリ書き込み) R0(13)=A、R1(13)=Bは不当(2つのメモリ・
グランクへの同時書き込み) 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は不当(R0&INP) 一般に、レジスタ・ファイルR0、R1のための上述のうち
の任意のルールがINP(DIR)、OUT(DOR)に同様に適用
できるが、ただし、「n」、「p」のアドレス範囲が0
〜127、「m」が0〜39、「q」が0〜23である場合を
除く。
すなわち、命令:B=R0(10)、R0(10)=SMが正当で
あるから、同じRFにおいて、B=INP(10)、INP(10)
=SMも正当である。
第26図はプロセッサ要素150の別の実施例を示してい
る。第26図のプロセッサ要素151は1つ毎に4つのセン
スアンプを有する。2つはDIR/RF0書き込み、読み出し
作業用であり、2つはDOR/RF1書き込み、読み出し作業
用である。第26図の実施例の場合、レジスタ・ファイル
0、レジスタ・ファイル1は、それぞれ、各メモリ・サ
イクルで2つのデータ・ビット(全体で1サイクルあた
り4つのビット)を読み出す。しかしながら、4つのデ
ータ・ビットのうちの2つだけが単一サイクル作動モー
ドで使用される。これら読み出し動作を無駄にしないよ
うに、4つのビットは、2つの2ビット・キャッシュ・
メモリ・バンクを形成するように処理しても良い。この
フォーマットでは、検出されても使用されなかったデー
タが使用され、サイクル時間が短縮され得る。
データ、データ(バー)反転アドレスの読み出しを補
正すべく、信号1658、1660がそれぞれの読み出し/書き
込み制御回路に与えられる。あるいは、入力データ・ラ
インが他のすべての反転された信号を持っていても良
い。この実施例では、他のすべてのデータ出力ラインも
反転されることになる。
第27a図は、プロセッサ要素の各レジスタ・ファイル
からデータを読み出し、そのデータをレジスタ・ファイ
ル・メモリ・バンクの1つに書き込む一回のサイクル動
作を示している。第27b図は、ダブル命令サイクルが引
き続くアドレスを持つ1サイクルでどのようにして読み
出しを2回行うかを示している。しかしながら、2つの
完全サイクル時間を完了することなく、ほぼ1.5サイク
ル時間で済む。
これは第28図に示してあり、以下に一例を示す。ここ
で、4ビット数X3X2X1X0とY13Y12Y11Y10の加算を考え
る。合計はXを置き換えた5ビット数、X4X3X2X1X0とな
る。X4は先の桁上げと2MSB(X3、Y13)の合計から得ら
れる。これは負数をカバーするのに必要である。最初
は、桁上げはない。この加算についての命令セットは表
25に示してある。
ビットX0,X10の加算を実行するために第1の命令を実
行する際、センスアンプはアドレス指定された記憶場所
RF0(0)、RF1(0)に格納されていたデータを読み出
す。これらアドレス位置はDRAM桁の偶数ビットライン位
置で示され得る。引き続く命令セットが、それぞれ、ア
ドレス位置RF0(1)、RF1(11)(アレイ内の次のビッ
トライン)からビットX1、Y11を読み出す。これらは各
センスアンプについての偶数のビットラインに続く奇数
のビットラインで示すことができる。これは加算が完了
するまで繰り返される。
ここで再び表25の命令セットを参照して、ここでわか
るように、命令ライン2、3、4は、記憶されたデータ
のアドレス指定位置が異なっていることを除いて同じで
ある。もし、先に述べたように、或る偶数のビットライ
ンで読み出しシーケンスが始まったならば、データは引
き続く偶数−奇数、偶数−奇数のブロックから同時に読
み出される。したがって、偶数データ読み出しに続く命
令が同じで或るならば、先に読み出されたデータを使用
することができる。そうでなければ、これは廃棄される
ことになる。上記の例に適用されたように、命令1、2
はダブル命令(DI)に変換できない。ダブル命令につい
てのアドレス・ルールのうちの1つは満たされる(両ア
ドレス指定レジスタが偶数位置から、次いで、奇数のア
ドレス指定位置から読み出しを行う)が、これらの命令
は同じではない。ここで、命令1、たとえば、桁上げ
(CY)は0であるが、命令2、たとえば、CYは「C」レ
ジスタを経て順方向へ伝幡した桁上げに等しいことに注
目されたい。命令3、4を検査すれば、これらの命令が
ダブル命令を形成するように組み合わせ得ることが迅速
にわかる。ここで、偶数アドレス読み出しの後に奇数ア
ドレス読み出しが行われ、両命令が同一(アドレス指定
位置を除いて)であるということに注目されたい。最終
ビットを計算する命令番号5は孤立しており、それと組
み合わせるべき命令がないので、そのままでは組み合わ
せることはできない。表25は、命令の組み合わせによ
る、上記の単純な例におけるサイクル時間の短縮を示し
ている。上記例では、サイクル時間は5〜4.5サイクル
分短縮される。
ダブル命令概念によれば、レジスタ・セット毎に3つ
以上のセンスアンプを使用できる。たとえば、3つまた
は4つのセンスアンプ(それぞれ、1プロセッサ要素あ
たり全体で6つ、8つのセンスアンプ)を使用した場
合、3倍、4倍の圧縮を行ってさらにサイクル時間を短
縮できる。
オプコード・フィールド オプコードの制御部分は8つの8進数からなる。これ
らの数字の各々は第5図の回路ブロックの1つに対応
し、オプコード・フォーマットを持つ小さいファミリア
リティによって、ユーザが直接オプコードを読み出すこ
とができる。表26は、どのビットがどのブロックに対応
するかを示している。「CIC」は条件付き命令制御であ
る。
ここで、 CIC=条件付き命令制御 WRM=作業用レジスタ「M」 WRA=作業用レジスタ「A」 WRB=作業用レジスタ「B」 ERC=作業用レジスタ「C」 NNC=近隣制御 RFI=レジスタ・ファイル1、データ出力レジスタ制
御 RF0=レジスタ・ファイル0、データ入力レジスタ制
御 第29図において、ここに示すコントローラ128はSVP10
2と、ソフトウェア・プログラム開発・テレビジョン動
作エミュレーション・システム900とに接続している。
開発システム900は、ホストコンピュータ・システム912
と、ホストコンピュータ・インターフェース・ロジック
914と、パターン生成器916と、データ・セレクタ918と
を包含する。
ホストコンピュータ・システム912は開発システム900
において種々の形態を採り得る。このような形態として
は、パーソナル・コンピュータ、遠隔制御ユニット、テ
キスト・エディタその他の制御アルゴリズムを開発する
手段がある。ホストコンピュータ・インターフェース・
ロジック914はテレビジョン受像器の主マイクロコント
ローラをエミュレートする回路を包含する。開発システ
ム900では、ホストコンピュータ・インターフェース・
ロジック914はパターン生成器916と協働してホストコン
ピュータ・システム912と局所通信バス930の共有領域を
作る。パターン生成器916は代数精度のためプログラム
・アルゴリズムをテストするタイミングその他のパター
ンを生成する。パターン生成器916はSVPアルゴリズム、
ハードウェア・デバッギングのためのリアルタイム・テ
スト・ビデオ・データも発生する。データ・パターン・
プログラマ(または、セレクタ)918は40本の入力ライ
ン920の中から、あるいは、データ・パターン生成器916
によって生成されたデータ・パターンからSVPへ入力す
るためのデータを選択するのに用いる。図示したよう
に、データ・セレクタ918は、直列で、40本のデータ入
力ライン920と40本のSVP入力ピン118の間に挿入されて
いる。開発システム900において、捕獲(または、フィ
ールド)メモリ121が設けてあって、24本の出力ライン1
70のうちの8本からの処理済みのデータを捕獲する。24
本の出力ラインのうちの望みの8本は、3−−−→18進
マルチプレクサ171によって選定される。こうして、処
理済みのビデオ・データのフィールドが捕獲され(また
は、格納され)、SVP動作のリアルタイム分析のために
ホスト・インターフェース914またはホストコンピュー
タ・システム912あるいはこれら両方に戻される。
ホストコンピュータ・インターフェース・ロジック91
4とホストコンピュータ912の間のハードウェア・インタ
ーフェース932は普通の並列インターフェース接続によ
って開発システム900で達成される。別の実施例では、
インターフェース速度が主要要件でないときには、普通
のEIA RS−232Cケーブルをしようすることもできる。P
HILIPS ELECTRONICS CORPORATIONの製造するIICバス
を、ホストコンピュータ・インターフェース・ロジック
914とコントローラ128の間のインターフェース・ライン
930として用いても良い。
ビデオ信号処理用途では、コントローラ128はSVPプロ
セッサ装置102のための制御信号を発生する。これらの
制御信号は第1図のライン110上の入力テレビジョン信
号の垂直同期成分および水平同期成分と同期させられ
る。
第30図はテレビジョン・マイクロコントローラ1700を
示している。このマイクロコントローラ1700は初期化
(システム・パワーアップ)の際に内部テレビジョン回
路をプリセットする。マイクロコントローラ1700は、外
部信号(たとえば、パーソナル・コンピュータ・キーパ
ッド1702、遠隔制御ユニット1704またはビデオ信号デコ
ーダ1712からの信号)を受け取り、それを復号し、他の
テレビジョン・システム構成要素に制御信号を伝送す
る。このようなシステム構成要素としては、コントロー
ラ128、SVPプロセッサ装置102、オーディオ処理回路、U
HF・VHFチューナなどがある。たとえば、これら外部制
御信号としては、コントラスト、輝度、色調がある。ビ
デオ信号デコーダ1712はサブタイトル、第2言語信号の
ような信号を受け取り、復号する。
ここで再び第30図を参照して、コントローラ128は、
マスク・コントローラ902、垂直タイミング生成器904、
水平タイミング生成器906、定数生成器908および命令生
成器910を包含する。作動にあたって、コントローラ128
はSVPプロセッサ装置102に、ライン946を経て演算定数
を、ライン948を経て制御命令を、ライン950を経てタイ
ミング信号を与える。水平タイミング生成器906からの
外部制御ライン938、垂直タイミング生成器904からの外
部制御ライン952およびマスタ・コントローラ902からの
外部制御ライン934は他の開発システム構成要素にタイ
ミング、制御信号を与える。第20、21図に関連して先に
説明したように、いくつかのSVPプロセッサ装置を相互
に縦続することができる。このような構成要素として
は、特別目的マルチプレクサと外部フィールド・メモリ
がある。
第31図は開発システム900から分離したコントローラ
・アーキテクチャ128を示している。第31図のコントロ
ーラ128は別個の集積回路であっても良い。この実施例
では、外部制御ライン934、938、952は設けてない。マ
スタ・コントローラ902(MC)はホストコンピュータ・
インターフェース・ロジック914またはTVシステム・マ
イクロコントローラ1700によって翻訳されたようなユー
ザからの外部指令を判断し、一連の制御こおどを発生
し、これらの制御コードを、垂直タイミング生成器90
4、水平タイミング生成器906、命令生成器910、特殊マ
ルチプレクサ(図示せず)および一度にすべてのフィー
ルドまたはフレームを切り換えるのを必要とする他の所
望の外部ロジックへ送る。マスタ・コントローラ902は
ユーザがソフトウェアをダウンロードできるようにする
外部プログラマブル・メモリを含み得る。しかしなが
ら、好ましくは、マスタ・コントローラ・ロジックおよ
びプログラムはファームウェアでチップ上に設けられ
る。
マスタ・コントローラ902からのデータ出力はライン9
32、936を通して垂直タイミング生成器904、水平タイミ
ング生成器906のそれぞれに与えられる。垂直タイミン
グ生成器904はライン944、940、942を経て制御信号を、
水平タイミング生成器906、定数生成器908および命令生
成器910のそれぞれに送る。水平タイミング生成器906か
らのタイミング信号出力はライン950を経てプロセッサ1
02に与えられる。同様に、定数生成器908は演算定数を
発生し、命令生成器910は制御命令をランイン946、948
を通してプロセッサ102に与える。
簡単に言えば、全体の作業において、マスタ・コント
ローラ902はフィールドまたはフレーム速度でビデオ信
号処理を制御し、垂直タイミング生成器904はライン速
度で垂直方向演算を制御する。水平タイミング生成器90
6はピクセル速度で水平方向演算を制御する。制御指令
は、単純な2ワイヤ式同期逐次バス930を通してTVシス
テム・コントローラ1702からマスタ・コントローラ902
へ送られる。作動モード(画像中画像、多重スクリーン
画像、静止画像など)と補助レジスタ1196(第52図)の
内容を後に詳しく説明する。しかしながら、簡単に言え
ば、指令バス930を経て「シャープネス」のようなSVPプ
ロセッサ装置システム変数を送る。マスタ・コントロー
ラ902は条件付きジャンプやベクトル化ジャンプを含む
種々の命令を持つファームウェア・プログラマブル状態
マシンである。
第31図において、マスタ・コントローラ902がさらに
詳細に示してある。第32図のマスタ・コントローラの実
施例は、逐次データ入力部954と逐次クロック入力部956
を有する非同期・同期変換ロジック部958を包含する。
マイクロコントローラ1700からマスタ・コントローラ90
2へのデータ転送は、逐次データ入力部930を介して逐次
通信法によって行われる。好ましい実施例では、逐次デ
ータのフォーマットは最上位ビットを初めに持つ10ビッ
ト・ワードである。
先に述べたように、マイクロコントローラ1700からの
逐次クロック・逐次データ出力はデータ・ライン930a、
930bを経てマスタ・コントローラ902に与えられる。非
同期・同期変換ロジック958はライン930を通して逐次信
号入力を受け、それらを逐次フォーマットから並列フォ
ーマットに変換する。非同期・同期変換ロジック958は
この仕事を行うためのレジスタを包含する。ひとたび並
列フォーマットに置かれると、データはこれらのレジス
タ内に保持され、所望の時点でデータ・ライン960また
は1198に与えられる。ロジック958からの10個のデータ
・ビットのうち8つのビットは並列で8ビット・レジス
タ962にロードされる。上部4つのビットはデータ・ラ
イン964を経てマルチプレクサ968に転送され、下部4つ
のビットは同様にデータ・ライン966を経て転送され
る。マルチプレクサ968はライン970、972を通して外部
フラグ入力も受け取る。非同期・同期変換ロジック958
はライン957に1ビット・フラグ出力を与える。
作動にあたって、ライン964からの4つのビットはコ
ントローラ128[画像内画像(PIP)]などのための制御
命令または作動モードを示す。PIPモードが示された場
合には、データ・ライン966を通して転送されてきた4
つのビットはテレビジョン・スクリーン上のサブ画像を
置くべき部位を示す。4本のラインの場合、16個の可能
性のある位置のうちの1つが示され得る。外部フラグ97
0、972は、2つ以上のSVPが縦続されているときに同期
動作の同期を可能とするか、あるいは、1つのSVPと付
加的な外部ハードウェア・コントローラ(ソフトウェア
・プログラムのどの命令でコントローラ128が新しい信
号の実行を開始すべきかを示すのに加えて存在している
場合)との間の同期を可能とする。
マルチプレクサ出力974はマスク・イネーブル・ロジ
ック976に与えられる。ロジック976はレジスタ962から
のデータ・ビットにテストを行う。ライン982上のマス
ク・イネーブル・ロジック出力はマスタ・コントローラ
・アドレス・カウンタ984がシーケンスでアドレス指定
を続けるか、あるいは、ジャンプを行うかを制御する。
マルチプレクサ968の出力はマルチプレクサ980への入力
としてライン978を経て与えられる。マルチプレクサ980
はマスタ・コントローラ・アドレス・プログラム・カウ
ンタ984へ入力を与える9本のデータ出力ライン986を有
する。マスタ・コントローラ・アドレス・カウンタ984
からライン988へ与えられたアドレスはマスタ・コント
ローラ・プログラム・メモリ990の記憶場所をアドレス
指定する。アドレス信号も、サブルーチン呼び出し動作
のためにライン992を経てリターン・レジスタ994へ与え
られる。レジスタ994の出力はライン996を経て別の入力
としてマルチプレクサ980へ与えられる。
マスタ・コントローラ・プログラム・メモリ990は14
本の出力ライン998を有する。マイクロコード出力は垂
直タイミング生成器904および水平タイミング生成器906
のためのアドレスおよび演算モード命令を含む。これら
の信号はライン936、932を経てHTGおよびVTGへ送られ
る。ライン998上のマイクロコード出力ビットのうちの
いくつかは命令デコーダ1002へ送られ、そこで復号され
る。この命令デコーダはライン1004を経てマルチプレク
サ980およびマスタ・コントローラ・プログラム・アド
レス・カウンタ984へ演算制御信号を与える。加えて、
ライン988からのマイクロコード出力ビットは、ライン1
008を経て、マルチプレクサ980へ別の入力として、そし
て、マルチプレクサ968のための制御として与えられ
る。
マスタ・コントローラ902は補助レジスタ制御ロジッ
ク1012も含む。非同期・同期変換ロジック958からの9
本の信号ランイン1198は補助レジスタ制御ロジック1012
へ入力部として接続してある。補助レジスタの動作は第
40図を参照しながら後に説明する。
次に第33図を参照して、ここには、第31図の垂直タイ
ミング生成器904がより詳しく示してある。垂直タイミ
ング生成器(VTG)904は、出力部944、940、942に、水
平タイミング生成器906、定数生成器908および命令生成
器910のための制御コードを発生する。開発システム900
において、定数生成器908も外部制御ライン952を経て一
本の水平ラインの或る解像度を必要とする回路へタイミ
ングを与える。垂直タイミング生成器904は垂直方向シ
ーケンス・カウンタ(VSC)1020を包含する。この垂直
方向シーケンス・カウンタ1020はアップ・カウンタであ
る。カウンタ1020はライン932を経てマスタ・コントロ
ーラ902から制御モード信号を受け取る。モード信号
は、とりわけ、画像中画像動作が望まれているかどうか
を示す。モード信号は、本質的には、垂直方向シーケン
ス・カウンタ1020のための出発アドレスである。VSC102
0は垂直方向シーケンス・メモリ1024のためのアドレス
を与える。垂直方向シーケンス・メモリ1024は水平タイ
ミング生成器906、命令生成器910および定数生成器908
の初期化および同期動作のためのタイミングその他の信
号を記憶する。垂直方向シーケンス・メモリ1024に記憶
された情報シーケンスは或る代表的な動作中繰り返され
る。メモリ1024は、情報シーケンスを記憶するのに加え
て、記憶されたシーケンスが繰り返された回数を記憶す
る。シーケンス・メモリ1024はランダムアクセス・メモ
リ(RAM)、読み出し専用メモリ(ROM)あるいは他の形
態のプログラマブル・ロジック・アレイ(PLA)を包含
し得る。
繰り返し回数はライン1027を経てリピート・カウンタ
1028に与えられる。リピート・カウンタ1028はダウン・
カウンタであり、繰り返しシーケンス回数からカウント
ダウンを行う。カウンタ1028がリピート・ビットの終わ
りを検知すると、制御信号がライン1032を経てカウンタ
制御ロジック1034に送られる。カウンタ制御ロジック10
34はライン1036を通して信号を信号垂直方向シーケンス
・カウンタ1020に送り、次のアドレス位置へ進める。別
の信号がライン1040を経て増分垂直方向ループ・カウン
タ1030に送られる。カウンタ制御ロジック1034の初期化
は入力テレビジョン信号のうちの垂直方向、水平方向同
期信号によって制御される。これらの同期信号はライン
1038を経て与えられる。
ここで再び垂直方向シーケンス・メモリ1024を参照し
て、ライン1026上の信号の制御成分は垂直方向ループ・
カウンタ1030に与えられて所望の位置でループ・カウン
タを始動する。ライン1042に与えられた垂直方向ループ
・カウンタ出力は垂直方向ループ・メモリ1044の記憶場
所をアドレス指定する。メモリ1044もRAM、ROM、PLAの
いずれかであり得る。メモリ1044はHTG、VTGおよび命令
生成器(IG)のためのループ・パターン(プログラ
ム)、始動アドレスおよびラベルを記憶する。垂直ルー
プ・メモリ1044からの制御データ・ビットはリピード・
カウンタ1028に与えられてルーピング・シーケンスが完
了し、増分すべきであることを示す。ビットはレジスタ
・ロード・シーケンサ1054にも与えられる。レジスタ・
ロード・シーケンサ1054はラッチ1048、1050または1054
を制御する復号クロックを含む。レジスタ・ロード・シ
ーケンサ1054は垂直ループ・カウンタ1044を増分させる
ための増分信号も発生する。データは、水平方向ライン
時間毎にラッチ1048、1050、1052から刻時される。
作動にあたって、垂直方向ループ・カウンタ1030は出
力信号1042を垂直方向ループ・メモリ1044に与え、この
メモリは水平タイミング生成器モード・ラッチ1048、定
数生成器モード・ラッチ1050、命令生成器モード・ラッ
チ1052、レジスタ・ロード・シーケンサ1054およびリピ
ート・カウンタ1028によってラッチされるモード制御信
号をファンアウトする。レジスタ・ワード・シーケンサ
1054は出力を垂直方向ループ・カウンタ1030およびラッ
チ1048、1050、1052に与える。モード・ラッチの各々
は、トリガされたときに出力ライン944、940、942を通
して、水平タイミング生成器、定数生成器および命令生
成器に信号を与える。
垂直タイミング生成器904機能としては、水平タイミ
ングを異なったモードへ変更すること、演算命令を変更
してテレビジョン信号をズームであるいは異なったフィ
ルタ・アルゴリズムで処理すること、外部マルチプレク
サを変更することもある。このリストはほんの例示であ
り、種々の機能の排除を意味するものではない。
次に第34図を参照して、ここには、第31図の水平タイ
ミング生成器906をより詳しく示してある。垂直タイミ
ング生成器904からの7本の出力ラインのうちの2本は
水平方向シーケンス・カウンタ(HSC)1062に与えられ
ている。7本のうち残りの2本はマルチプレクサ1074へ
の入力として与えられている。マルチプレクサ1074への
他の2本の入力ライン936は第31図のますた・コントロ
ーラ902からのモード制御信号である。第30図のテレビ
ジョン・システム・コントローラ1702からの制御信号は
入力の選択を制御する。或る種のテレビジョン動作モー
ド、たとえば、16サブ画像画像内画像において、垂直タ
イミング生成器のいくつかのパターンは、たとえ水平タ
イミング生成器のパターンが変化したとしても、変化す
ることはない。この場合、マルチプレクサ1074はVTG制
御ビットのうちの2つを垂直タイミング生成器を避けて
て直接水平タイミング生成器にバイパスするのに用いら
れる。したがって、7つのHTG制御ビットは、すべて、V
TGから来るか、あるいは、5つがVTGから来るか、残り
の2つがマスタ・コントローラからのものとなる可能性
がある。マルチプレクサ1074の出力はラッチ1078によっ
てラッチ操作を受ける。ラッチ1078はテレビジョン・シ
ステムのマスタ・クロックによって刻時される。
ライン944上のVTGモード信号入力は水平方向シーケン
ス・カウンタ1062の出発位置である。カウンタ1062のカ
ウンタ出発位置出力はラッチ1078からの2つのビットと
組み合わされて水平方向シーケンス・メモリ1066の記憶
場所をアドレス指定する。7ビットVTGモード入力によ
れば、128個までの異なったパターンが識別され得る。
各パターンは23ビット幅−−バスライン幅950である。
水平方向シーケンス・メモリ1066は、テレビジョン・ス
クリーン上に所望のループ(あるいは、パターン)が生
じたときにそれを示す情報を記憶する。たとえば、16個
の可能性のあるサブ画像位置があるとすれば、タイミン
グ開始は、サブ画像が置かれる位置に応じて異なること
になる。リピート・カウント値はライン1084を経てリピ
ート・カウンタ1088へ与えられる。カウンタ1088はルー
プが繰り返される回数を計数するアップ・カウンタであ
る。所望回数の繰り返しがあったならば、カウンタ制御
ロジック1092が水平方向シーケンス・カウンタ1062にシ
ーケンスの合図を行う。カウンタ制御ロジック1092はラ
イン1094を通して与えられたテレビジョン信号のうちの
水平方向信号によって初期化される。
第31図のホスト・インターフェース914はすべての機
能ブロックおよび読み出し、書き込み回路へブレークポ
イント・リクエスト(BPREQ)または割り込みフラグを
与えることができる。ブレークポイント信号を使用する
ことによって、プログラマは、たとえば、アルゴリズ
ム、タイミングなどを検査する任意の水平方向ライン
で、プログラム実行を停止させ得る。
HSM1066からのメモリ出力の成分は水平方向ループ・
カウンタ1086のための出発位置を与える。制御信号がラ
イン1100を経てHSM1086の動作を制御するように与えら
れる。水平方向ループ・カウンタ1086は水平方向ループ
・メモリ1104にアドレスを与える。ループ・メモリ1104
は繰り返されるパターンが何に類似して見えるかを示す
データを保持する。メモリ1104からの24個の出力ビット
のうちの1つがライン1108を通して与えられて、ループ
の終わりがきたことを示す。残りの23個のビットはSVP
プロセッサ102への入力としてラッチ1110内にラッチさ
れる。
作動にあたって、水平タイミング生成器(HTG)906は
ピクセル・クロック率でのタイミング・エッジを必要と
するSVP回路、フィールド・メモリ装置、DIR、DOR、外
部マルチプレクサ、D/A変換器などのためのタイミング
信号を発生する。これは1つのサンプル・クロックの分
解能まで下げたタイミング・エッジを発生することがで
きる。水平タイミング生成器は、また、水平方向におい
てタイミングが何に見えるかを示す。特殊効果を望むな
らば、水平方向タイミングは画像内画像、多重画像、ズ
ームなどのどれを望んでいるかに従って変化することに
なる。このモードでは、水平方向タイミングはデータの
取り扱いを許す或る特定の水平ラインで変更され得る。
第35図は第31図の定数変成器908のブロック図であ
る。5つの垂直タイミング生成器モード・ビットが定数
シーケンス・カウンタ116に与えられる。5つのビット
は32の異なった定数ストリングまでを識別できる。各定
数ストリングは15−ビットまで−−出力バス幅946を持
ち得る。ライン1118上のCSC出力はループ・アドレス値
および定数シーケンス・メモリ1120内に記憶された対応
する繰り返し値をアドレス指定する。定数シーケンス・
メモリ・アドレスは定数ループ・カウンタ1126のための
出発位置を選定する。カウンタ1126は指示位置で出発
し、ループ・ビットの終わりに達するまで増分する。0
〜31の範囲の繰り返し値はリピート・カウンタ1128(ダ
ウン・カウンタ)に与えられる。リピート・カウンタが
ゼロまで減分すると、ライン1130上の信号がカウンタ制
御ロジック1132に合図を送り、定数シーケンス・カウン
タ1116を増分させる。カウンタ制御ロジックはループ信
号の終わりまでループ・カウンタ1126の増分も行う。定
数ループ・カウンタ1126は定数ループ・メモリ1142に対
する出発記憶場所を示す。定数ループ・メモリ1142から
の16個の出力ビットはループ信号の終わりを告げ、リピ
ート・カウンタ1128を減分させる。
ループ・メモリ1142は個々のプロセッサ要素のための
唯一の演算定数を記憶する。このデータはエミュレート
されたフィルタの値を含む。CG908はHTGと同期して作動
し、発生したデータをデータ入力レジスタへ刻時する。
次いで、IGの常駐プログラムがこれらの定数をプロセッ
サ・レジスタ・ファイルに転送する。定数生成器は1つ
のサンプル・クロック期間の分解能を持つデータ・スト
リームを発生することができる。
第36図は第31図の命令生成器910をより詳しく示して
いる。命令生成器910はジャンプ・フラグ調停制御ロジ
ック1244を包含し、これは水平同期信号1218、垂直タイ
ミング生成器904からのモード制御信号1220およびフラ
グ信号1222を受け取る。ジャンプ・フラグ調停ロジック
1224は7個のベクトル化ジャンプ・アドレス・ビットの
うちの5個を命令プログラム・レジスタ・マルチプレク
サ(IPRX)1230の入力部1226に与える。ライン1226上の
5個のビットは7個前部の最下位のビットである。
ジャンプ・フラグ調停ロジック1224は、また、命令デ
コーダ1234へジャンプ信号1228も与える。命令デコーダ
1234は多重出力信号を与える。ライン1236は出力信号の
うちの1つをジャンプ・フラグ調停ロジック1224の入力
に搬送する。ライン1238は4ビット復号マルチプレクサ
出力制御信号1238をIPRX1230へ搬送する。ライン1240は
制御信号を増分制御ロジック1242、大域回転アドレス生
成器(RF1)1244および大域回転アドレス生成器(RF0)
1246に搬送する。ライン1240に与えられた4ビット制御
信号は大域回転アドレス生成器1244、1246に、それぞれ
のレジスタ・ファイルについてのデータをロードあるい
はシフトするように命令する。増分制御ロジック1242に
与えられた信号は、アドレス・カウンタ1290、1292を、
シングル命令動作が実施されている場合には+1増分に
セットし、ダブル命令動作が実施されている場合には+
2増分にセットする。
IPRX1230は11ビット命令アドレスをライン1248を通し
て命令プログラム・レジスタ1250へ与える。命令ポイン
ト・レジスタ1250からの出力信号1252は命令プログラム
・メモリ1258のためのアドレスとなる。アドレス1252は
IPRX1230のホールド入力部1254にも与えられる。ホール
ド入力部は、所望に応じて、読み出しのための出力メモ
リ・アドレスを保持する。アドレス1252は+1増分制御
ロジック1256へも与えられる。増分ロジック1256はリタ
ーン・レジスタ1264を増分させるか、あるいは、IPRX12
30に次のアドレスに進むように命令する。リターン・ア
ドレスは呼び出し入力信号によってラッチされる。
命令プログラム・メモリ(IPM)1258はマイクロコー
ドでSVPシステム・アレイ命令セットを記憶する。アレ
イ命令セットはここでは早期に与えられる。44個のビッ
トの完全記述がそこに与えられる。命令プログラム・メ
モリ1258からの44個の命令ビットは、アレイ命令セット
で述べたように、種々の位置へ分岐される。たとえば、
ビット番号43はブレークポイント・フラグである。この
ビットはライン1270を経てブレークポイント・コントロ
ーラ1274へ与えられる。他の制御ビットはIPRX1230のベ
クトル、ジャンプ、呼び出し入力部に与えられ、そし
て、命令デコーダ1234の入力部1238へ与えられる。フラ
グを選定するためのマスク値ビットはライン1223を経て
ジャンプ・フラグ調停ロジック1224へ与えられる。ブレ
ークポイント・ビット読み出し中にブレークポイント・
コントローラ1274が使用可能とされているならば、ブレ
ーク信号がライン1280、1284へ与えられて動作を停止さ
せ、テストを行う。ブレークポイント・コントローラ12
74は、また、ブレークポイント・ライン(BP1ine)入力
信号1276とリセット信号入力1278も受け取る。命令ビッ
ト0〜23は命令プログラム・メモリ(IPM)1258から制
御コード・ラッチ1288へ分岐される。ビット25〜31はRF
0アドレス・カウンタ1290へ分岐される。ビット32〜38
はRF1アドレス・カウンタ1292へ分岐される。ビット39
〜42はリピート・カウンタ1294と増分制御ロジック1242
へ分岐される。増分制御カウンタ1242命令デコーダから
の入力1240も受け取り、これは大域回転アドレス生成器
(RF1)1244、(RF0)1246へ4ビット制御入力も受け取
る。制御コード・ラッチ1288からのラッチ命令出力1194
は補助レジスタ・コントローラ・ロジック1196に与えら
れ、これはライン1198を通して大域変数信号も受け取
る。出力1194もライン1200を通してマイクロコード・ビ
ット0〜23として直接与えられる。出力948はSVPプロセ
ッサ装置へ与えられる。
作動にあたって、命令生成器910はSVPプロセッサに、
所望のクロック率でデータのストリーム、命令、アドレ
スおよび制御信号を送る。生成されたマイクロコードは
第1図のSVP102のプロセッサ要素算術ロジック・ユニッ
ト、マルチプレクサ、レジスタなどを扱ったり、それに
命令を与えたりする。命令生成器910は、コア命令に加
えて、SVPコア・プロセッサを単一のマイクロプロセッ
サのように作動させる命令を生成することができる。こ
のモードでは、無条件ジャンプ、呼び出し、或る種のフ
ラグ・テスト命令flag0、1などについてのジャンプの
ような命令が実施される。フラグは外部でテストしても
良い。命令生成器901は垂直タイミング生成器904あるい
はマスタ・コントローラ906から内部制御コードを受け
取ったり、水平タイミング生成器906からフラグを受け
取ったりすることができる。
作動中、命令プログラム・メモリ(IPM)1258に記憶
されている命令マイクロコードが命令デコーダ1234によ
って取り出され、解釈、実行される。復号信号のいくつ
かは命令プログラム・レジスタ・マルチプレクサ(IPR
X)1230のアドレス選択として使用されて命令プログラ
ム・レジスタ(IPR)1250にラッチされたアドレスを変
更する。命令コードは種々のタイプの命令セット、たと
えば、条件付きまたは無条件ジャンプ、サブルーチン呼
び出しまたはリターン、更新モード値でのベクトル・ア
ドレス指定、シングルまたはダブル命令、大域変数の分
布のための補助レジスタ制御、RAM FILE(0、1)ア
ドレスのための大域回転などを制御する。
ブレークポイント信号がデバッギング・ステージ中に
主張されたとき、ブレークポイント・コントローラ1274
はIPR1250の内容を所定の値にセットし、プログラムの
流れを特殊なサブルーチンに移動させ、SVP動作で処理
されたデータをテストする。このブレーク機能はびでお
信号の所与のフレーム内でBPLINE1276水平ラインのマス
ク可能入力によって制御され得る。
リピート・カウンタ1294は、この命令コードと繰り返
しカウント数の組み合わせとして多数の連続した同一の
命令を示すことによってIPM1258内の必要量の記憶場所
を減らす。たとえば、リピート・カウンタ1294がゼロで
ないとき、命令プログラム・メモリは進まない。これ
は、同じ命令が異なったアドレスでのみ繰り返されるた
めである。これは多数の記憶場所に格納されることなく
1つの命令の繰り返しを許す。命令セットで説明したよ
うに、命令リピート値はビット39〜42としてマイクロコ
ードで符号化される。
第37図は第1図のコントローラ128とSVPプロセッサ装
置102の別の接続関係を示している。オシレータ1157
は、ライン1156を経て種々のSVPシステム成分へタイミ
ング信号を与えるように示してある。オシレータは入力
信号の水平、垂直同期信号によってトリガされる。出力
ライン1160a、1160bは定数生成器908およびマルチプレ
クサ1164にクロッキング信号を与える。クロッキング信
号はライン1158を経て命令生成器910にも与えられる。
同様の接続が必要に応じて他の構成要素についてもなさ
れ得る。第37図において、マルチプレクサ1164は、デー
タ入力レジスタ154へのデータ・ソースとして、入力デ
ィジタル化ビデオ信号あるいは定数生成器908からの定
数を選ぶ。データ入力レジスタ154への他の入力は第1
図のフィールド・メモリ120のようなフィールド・メモ
リその他のデータ・ソースからの出力を含む。
定数は、データ処理中に使用するために、個々のプロ
セッサ要素レジスタ・ファイルへ所定のパターンで与え
られる。定数生成器は各プロセッサ要素に、所望に応じ
て、独特の定数値を持たせる。それと対照的に、大域変
数はすべてのSVPプロセッサ要素に同じものを与える。
入力ビデオ信号との衝突を避けるために、定数は入力ビ
デオ信号とは別個にロードされる。定数は、水平タイミ
ング生成器906によって与えられるタイミングで、DIR15
4へシフトされる。ビデオ用途においては、すべての水
平ラインと同じ頻度で新しい定数を与えることができ
る。
第38図は第35図の定数生成器アーキテクチャの別の実
施例を示す。第38図の回路は、出力ライン1122、1178、
1124を有するシーケンス・メモリ1120(タイミング・パ
ターン番号を受け取るための入力ライン1179を有する)
を包含する。出力部1122はループ・カウンタ1182へルー
プ・パターン番号を与え、このカウンタがライン1184を
経てループ・メモリ1142へアドレスを与える。出力部11
78はタイミング・シーケンス信号の終わりを制御ロジッ
ク1132へ与え、この制御ロジックはライン1188を経てル
ープ・メモリ1142からループ信号の終わりも受け取る。
出力部1124は命令パターンの反復回数を示すN−ビット
数をリピート・カウンタ1128に与える。
第39、40図はシーケンス・メモリ1120およびループ・
メモリ1142内に記憶されている内容の例である。第39図
において、カラムIはメモリ1120内に記憶されたパター
ンのタイミング・パターンについてのエントリを有す
る。カマルIIはタイミング・シーケンス信号の終わりに
ついてのエントリを有する。この例において、信号は、
1つのストリングに続いて論理高または1、あるいは、
いくつかのループ・パターンが繰り返された場合には論
理低または0である。ループ・パターンが1つだけの場
合、ただ1つのビットが与えられる。カラムIIIは各ル
ープ・パターンについての反復回数についてのエントリ
を有する。カラムIVは繰り返そうとしているループ・パ
ターンの数についてのエントリを有する。
第40図はループ・メモリ1142の内容を示しており、カ
ラムIは第39図のカラムIVに対応するループ・パターン
数についてのエントリを有する。カラムIIはループ信号
の終わりについてのエントリを有する。この信号は複数
のゼロに続いて論理高または1となる。この例におい
て、メモリ1142には4つの異なったループが格納され
る。カラムIIIは繰り返されるべき定数を示している。
第41図はSVPプロセッサ装置102にタイミング・パター
ン#4の定数を与えるための事象のシーケンスについて
の流れ図である。シーケンスは、プログラム命令が定数
生成器908にSVPプロセッサ102に定数を与えるように命
令したときに位置1198で始まる。シーケンスはステップ
1200へ進み、タイミング・パターン数をカウンタ1116へ
入力する。カウンタ1116からのタイミング・パターン数
はシーケンス・メモリ1120内でパターンのシーケンスを
アドレス指定するのに用いられる。タイミング・パター
ン数はこの例では4つである。次いで、シーケンスはス
テップ1202へ進み、カウンタ出力1118がタイミング・パ
ターン・シーケンス#4のための出発記憶場所をアドレ
ス指定する。次に、シーケンスはステップ1204へ進み、
シーケンス・メモリ1120が制御ロジック1170に合図を送
って、シーケンス・カウンタ1116をゼロにリセットさせ
る。シーケンスは、次いで、ステップ1206へ進み、シー
ケンス・メモリ1120がリピート・カウンタ1128へループ
を繰り返す回数をロードし、ループ・カウンタ1182へ最
初のループをロードする。この例において、タイミング
・パターン#4には3つのループがある。最初のルー
プ、ループ・パターン#3は31回繰り返されることにな
っている。第2のループもループ・パターン#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が検出しないならば、ルー
プ内の最後の定数が通過し、ループ信号の「1」端が来
るまでステップ1208から動作が繰り返される。次いで、
シーケンスはステップ1214へ進み、制御ロジック1170が
ループ・カウンタ1182をリセットし、それぞれ、ライン
1186、1192上の信号を介してリピート・カウンタ1128を
減分する。次に、シーケンスはステップ1216へ進む。こ
のステップ1216で、リピート・カウンタ1128がゼロに達
していなかったならば、シーケンスはステップ1207へ戻
る。リピート・カウンタ1128がゼロに達していれば、シ
ーケンスはステップ1221へ進み、制御ロジック1132がシ
ーケンス・カウンタを+1増分し、シーケンスはステッ
プ1206へ戻り、これらのステップが繰り返される。ステ
ップ1223で、シーケンス・カウンタのカウント数がシー
ケンスの数よりも大きい場合には、動作はステップ1227
で停止する。
大域回転アドレス・カウンタ(RF0、RF1のため) 第42図において、ここには、本SVP装置102で実現でき
る、N−ビット分解能の5極式有限インパルス応答(FI
R)フィルタ792が示してある。第18図の第2最近接アー
キテクチャを使用することによって、2N個の命令を単一
近接アーキテクチャにわたって節減できる。たとえば、
後に説明する命令セットに言及すれば、プロセッサ102
はN個のビットを2Lから1Lへ動かして加算を行うのにN
個の命令を必要とすることがわかる。同様に、Nビット
を2Rから1Rへ動かすには、N個の命令が必要である。第
2最近接接続を持つことによって、単一の近隣通信ネッ
トワークについて2N個の命令が節減される。たとえば、
12ビットFIRが実現されている場合、第2最近接配置は
単一近隣ネットワークの実行時間の68%より短い時間で
良いことになる。
SVPがソフトウェア・プログラマブル装置であるの
で、第42図のFIR(水平フィルタ)に加えて、種々のフ
ィルタおよび他の機能を実現できる。その例としては、
垂直FIRフィルタ、一時FIRフィルタ、IIRフィルタ(垂
直・一時)がある。
第43図において、ここには、4つのライン・メモリが
示してある。すなわち、8ビット・ライン・メモリ824
と、6ビット・ライン・メモリ826と、2つの4ビット
・ライン・メモリ828、830である。これらのライン・メ
モリは本SVP装置102でエミュレートされ得る。この技術
を説明するために、ここで、第44a図がビット位置00〜7
F(0〜127)を有するレジスタ・ファイル、たとえば、
プロセッサ要素nのRF0を示していると仮定する。第44a
図のレジスタ・ファイルは多数の部分に分解し得る。こ
の例では、レジスタ・ファイルは2つの上下の部分(必
ずしも等しくない)に分解される。上方部分はビット位
置00〜3Fを含む。下方ビット位置は40〜7Fである。もし
上方部分が大域回転メモリとして示されているならば、
下方部分は通常の作業用レジスタ・ファイルとして用い
られ得る。理解を容易にするため、大域回転部分は、た
とえば、「Q」ビット「P」ワードとして再編成され得
る。ここで、P×Qは全大域回転スペース以下である。
これが第44a図の上方部分の展開図である第18b図に示し
てある。第44b図の大域回転領域の各ラインは水平姿勢
で積み重ねた状態に置き換えられたレジスタ・ファイル
の8ビットを含む。このメモリ領域の1つのアドレスが
指定されると、それは全大域回転スペース内で「回転値
=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図のレジスタ・ファイル1 1244のための大域回転ア
ドレス生成器は同じであり、したがって、次の説明は両
方の生成器に当てはまる。大域回転アドレス生成器1246
はライン1281を経てレジスタ・ファイル0アドレス・カ
ウンタから相対レジスタ・アドレスを受け取る。この相
対アドレスはライン948を経てレジスタ・ファイル0に
おけるレジスタ位置をアドレス指定するように与えられ
る。マイクロコード・ビット32〜37はライン1374、1382
を経て命令プログラム・メモリ1258から与えられた11個
のビットのうちの6個である。ライン1374を経て与えら
れた6個のビットは、全レジスタ領域における、回転ス
テップ中に回転させられるレジスタの量を定める。これ
は、先の例では、ワード長Pである。工学設計目的のた
めに、ビット32〜37で定められる値は、この例では、2
の因数によって基準化される。基準化されたP値はレジ
スタ1370に与えられる。ライン1382を経て命令プログラ
ム・メモリ1258から与えられたマイクロコード・ビット
C48〜42は、先の例では、全大域回転面積すなわちQを
定める。工学設計目的のために、回転面積は8の因数で
基準化される。基準化されたQ値はレジスタ1380へ与え
られる。大域回転を始めようとするとき、第36図の命令
デコーダ1234ライン1243Aを経てRF0へ信号LMRx(RF0に
対してはx=0、RF1に対してx=1)を与える。信号L
MRxはモジュラス・レジスタ(MOD REG)1380、回転レ
ジスタ(ROT VAL REG)1370およびオフセット・レジ
スタ(OFST REG)1450に与えられる。OFST REG1450の
機能については後に説明する。信号LMRxはライン1374、
1382上に存在する値をそれぞれレジスタ1370、1380にロ
ードし、レジスタ1450をリセットする。大域回転を使用
する前には、一度、LMRx命令を実行するだけで良い。大
域回転サイズが変っていないか、あるいは、新しい大域
回転が始まっていない場合には、再実行する必要はな
い。
加算器(ADD−a)1390がROT VAL REG1370の内容を
OFST REG1450の現内容に加える。ライン1396に与えら
れたOFST REG出力はそのレジスタ・ファイル絶対アド
レスとライン1291に与えられたレジスタ・ファイル相対
アドレスの差の半分である。ADD−aはライン1600を通
して減算器−a1373の「+」入力部とデータ・セレクタ
−a1372の「1」入力部に新しいオフセット値を出力す
る。減算器−a1373はMOD REG1380からモジュラス値の
4つの最上位ビット(MSBs)を引き、そして、ADD−a13
90から6ビット出力を引く。この減算を実行する前に、
2つのゼロ最下位ビット(LSBs)がレジスタ1380から大
域回転領域出力値へ加えられる。2つのゼロLSBsの加算
は、大域回転領域出力を4倍する。減算器1373はオプシ
ョンであり、オフセット値が定められた大域回転領域の
外側にあるかどうかをテストする。この例では、減算器
出力が正(論理低)の場合、オフセット値は大域回転領
域内にある。データ・セレクタ出力1602はデータ・セレ
クタ−a1372の「0」出力部に与えられる。
データ・セレクタ1372は、セレクタ出力が正の場合、
減算器1373の出力を入力として選ぶ。ADD−a1390からの
出力は、セレクタ出力が負である場合(オフセット値が
大域回転領域の外にある場合)に選ばれる。データ・セ
レクタ−a1372から出力された新しいオフセット値は、
命令生成器から信号GRLx1243によって刻時されたとき、
オフセット・レジスタ1450によってラッチされる。GRLx
命令が実行されて大域回転を開始する。これは、通常、
走査線の始めあるいは終わり、または、DIRからRF0へ、
または、RF1からDORへの転送の前に生じる。
次に第45図の入力ライン1291を参照して、レジスタ・
ファイル相対アドレスを定める7つのビットは、コンパ
レータ(COMP)1440への1入力として、そして、データ
・セレクタ−c(DSEL−c)1420への1入力として与え
られる。COMP1440へ与えられた7つのビットは8ビット
入力のうちのLSBビットである。MSBはライン1379に与え
られたゼロビットである。COMP1440への第2入力はMOD
REG1380からの5ビット出力である。5つの出力ビッ
トはCOMP1440へ8ビット入力のうちの最上位ビットを与
える。3つのLSBビットはライン1379からゼロとして与
えられる。コンパレータ1440は相対アドレス1291をモジ
ュラス値レジスタ1384の出力と比較する。前述したよう
に、出力1384は基準化値である。3つのゼロLSBの加算
は、基準化値を8倍する。コンパレータ1440は大域回転
についてのテストを行う。相対アドレスがモジュラス・
レジスタ1380出力以上である場合には、アドレス指定さ
れたレジスタ・ファイルは定められた大域回転領域の外
にあり、大域回転は実施されない。コンパレータ出力13
88はORゲート1376へ2つの入力のうちの1つとして与え
られる。第2入力はマイクロコード制御ビットC2(レジ
スタ・ファイル1がアドレス指定されている場合にはC
5)である。先に述べたように、もしマイクロコード・
ビットC2(またはC5)が1である場合には、アドレス指
定はDIR(DOR)または補助レジスタに行われる。もしC2
(C5)が1の場合には、大域回転は行われない。相対ア
ドレスがレジスタ・ファイルの外にある場合には、大域
回転領域データ・セレクタDSEL−c1420は、ORゲート137
6から出力された信号に応答して、その絶対アドレス出
力948として相対アドレス入力を選ぶ。
減算器−b、SUB−b、1400は2つの入力のうちの1
つとして相対アドレスを受け取る。他の入力はオフセッ
ト・レジスタ1450出力1604プラス加算された0 LSBビ
ットである。減算器−b1400はオプションであり、大域
回転テストを実施する。減算器−bは相対アドレス値12
91と定められたオフセット値の間の引き算を行う。ライ
ン1402上の出力は絶対アドレスである。絶対アドレス値
1402は、2つの入力の1つとして、加算器(ADD−b)1
410に与えられ、もう一方の入力として、データ・セレ
クタ−b(DSEL−b)1419へ与えられる。もし出力1402
が負であれば、DSEL−b1419への信号1394がそれをしてA
DD−bからの出力1606を絶対アドレスとして選ばせる。
ADD−bは、負のアドレスがないので、負アドレスの発
生を抑える。ADD−b1410はモジュラス・レジスタ値1384
(3つの加算0 LSBビットと共に)を減算器−b出力1
402へ加える。これにより、ADD−bからの絶対アドレス
出力は正となる。第42c図は前述の事象シーケンスにつ
いての流れ図であり、流れ図42aの続きである。
前記の第42図の論理図において、ADD−aは6ビット
加算器であり、ADD−bは6ビット加算器であり、SUB−
aは4ビット減算器であり、SUB−bは6ビット減算器
であり、DSEL−aは4ビット・データ・セレクタであ
り、DSEL−bは4ビット・データ・セレクタであり、DS
EL−cは6ビット・データ・セレクタであり、COMPは8
ビット・コンパレータである。
[MOD REG]の値は<モジュラス値>/8であり、次の
通りである。
〈モジュラス値〉=0、8、16、24、・・・112、12
0、128 [MOD]=0、1、2、3、・・・14、15、16 [ROT VAL REG]の値は<回転値>/2であり、上記の
例の場合、0と[MOD REG]4の間の任意数である。
もし命令生成器(REL ADRS)からの相対アドレスが
[MOD REG]8の内容以上であるならば、(REL ADR
S)はDSEL−cによって出力される。さもなければ、モ
ジュロ・アドレスはDSEL−cによって出力されて大域回
転を実施する。
(REL ADRS)<[MOD REG]8の場合、((REL
ADRS)−[OFST REG]2)mod([MOD REG]
(REL ADRS)>=[MOD REG]8の場合、(REL AD
RS)である。
第46a、46b図は大域回転についての流れ図の一部であ
る。
第47図において、コントローラ128から受け取られた
アドレス、データ制御信号その他の信号のパイプライン
化のための回路が例示してある。図示の回路はファクタ
生成器1440へ入力1438を与えるアドレス・バッファ1436
を包含する。これの出力はドライバ1444によってファク
タ・デコーダ1448をアドレス指定するように与えられ
る。デコーダ1448の出力1450はライン1454へ与えられた
サンプル周波数で刻時されるラッチ1452へ与えられる。
ラッチ1452はクロッキングとライン1458上の活性低入力
との間でリセットされ得る。ラッチ1452の出力は、制御
の下に、たとえば、データ入力レジスタ、入力レジスタ
・ファイル、出力レジスタ・ファイルまたはデータ出力
レジスタのワードライン1462の制御の下に、このセクシ
ョンの制御ライン入力に与えられる。外部コントローラ
が用いられる場合、チップパッド・コンタクト1432は制
御信号をSVPコア102へ入力するように与えられる。第47
図のタイプの回路はDOR側でも使用され得る。第48図は
パイプライン回路についての種々の入力、出力の表であ
る。
第49図において、ここに示すタイミング図は、先に実
行された命令のアウトカムを決定する必要なしにSVPへ
連続的に信号を与える能力から生じる装置の改良速度を
説明するものである。信号1431は外部コンタクト・パッ
ド1432を経てSVP装置102コアに与えられる有効メモリ・
アドレス信号である。信号1450はアドレス・デコーダ14
48のの復号信号出力である。信号1462は、たとえば、DI
Rワード・ラインへ与えられるドライバ1456の信号出力
を示している。時刻t0で有効アドレス信号が与えられた
場合、信号は復号され、時刻t1でラッチ1452へ与えられ
る。一方、時刻t3で信号はラッチされる。サンプリング
時、復号アドレスは選定されたワード・ラインへ与えら
れる。動作速度は、先の信号が実行される前にアドレス
・バッファへ後続の信号を連続的に与えることによって
かなり改善される。本回路において、ラッチは、新しい
アドレス(次の動作のためのもの)が入力バッファ、フ
ァクタ生成器/ドライバおよびアドレス・デコーダを通
してパイプライン化している間に現行動作のアドレスの
状態を保持する。先に述べたように、本パイプライン化
技術は、データ信号、制御信号、命令、定数および実際
に所定のシーケンスで与えられるすべての他の信号へ適
用できる。
第50図において、ここには、入力バッファをラッチと
して構成することによって信号をさらにパイプライン化
する方法を示している。これらのラッチは、次に、リセ
ット1482またはサンプル信号1484あるいはこれら両方の
或る程度の導出によってリセット、刻時され得る。コン
タクト・パッド1486はマスタ・クロック入力信号を受け
取り、この信号はパイプライン化システムを通じて最終
的に与えられる。同様に、クロック生成器1496はシステ
ムのためのラッチ・リセット信号を発生する。このタイ
プの装置はコントローラからのすべての制御、アドレス
信号のために設けることができる。
第51図は大域変数の分布を制御するのに適したコント
ローラ回路を示している。先に述べたようなコントロー
ラはSVP処理要素へアドレス指定、制御、データ信号を
与える。SVPへ変数をロードし、これらの変数を全体的
に分布させるために、第51図のコントローラ・ハードウ
ェアを使用し得る。
図示のように、このコントローラは、1セットの補助
レジスタ1570と、SVP処理要素のM個のレジスタを変調
して変数を分布させるアドレス指定構造とを含むように
修正し得る。補助レジスタおよび変調部1196はRAMメモ
リのような補助記憶レジスタ1510と2−→1マルチプレ
クサ(MUX)1574とを包含する。補助レジスタ1570は8
ビット・ロード・データ入力部1562、データ書き込み入
力部1564および5ビット×1として編成されるレジスタ
・アドレスまたは読み出しポート1568を有する。補助レ
ジスタ出力1572はMUX1574の高入力部をトリガするよう
に与えられる。MUX1574への低入力はオプコード出力の
ビットC18である。ライン1576はMUX1574へ補助レジスタ
命令イネーブル信号を与える。補助レジスタ1570は後に
もっと詳しく説明する。
第51図を参照して、ここには、1つのプロセッサ要素
のレジスタ・ファイル1(RF1)およびデータ出力レジ
スタ(DOR)のメモリ・マップが示してある。前述した
ように、メモリ・マップ内の補助レジスタ・アドレスは
RF1/DORのための未使用アドレスの一部である。作動に
あたって、メモリ内のDORアドレス「上方の」領域をア
ドレス指定する作用は補助レジスタを選定する。補助レ
ジスタ内に記憶されたデータはそれぞれ8ビットの4ワ
ードとして書き込まれるが、それぞれ1ビットの32ワー
ドとして読み出される。補助レジスタ・ビットの状態が
読み出された時、補助レジスタ出力かオリジナルのオプ
コード・ビットC18のいずれかが、補助レジスタMUXイネ
ーブル・ラインの状態に応じて、Mレジスタ・データ・
セレクタMUXへ直接送られる。オプコードC19、C20が共
に1であれば、0か1がレジスタMで選ばれる。すなわ
ち、{C20,C19,C18}={110}ならば、M出力=0、
{C20,C19,C18}={111}ならば、M出力=1。
第52図は第36図の補助レジスタ・コントローラ・ブロ
ック1196を示している。全部で32個の1ビット大域変数
を記憶するためのレジスタ・セット内には4個の8ビッ
ト・レジスタ1608A−Bがある。これらの変数はライン1
562を経てレジスタに与えられる。各レジスタ・セット1
608A−Bはライン1563を経て補助レジスタから書き込み
クロック信号を受け取るクロック信号入力部を有する。
各レジスタ・セットは、ロード(LD)または書き込みイ
ネーブル入力部1610と1−→4デコーダ1616からの出力
部として接続された出力イネーブル(OE)1612とを包含
する。レジスタ1608A−Bのための読み出し/書き込み
イネーブルはそれぞれのライン1614A−Bを経て対応す
るデコーダ出力部へ接続される。2ビット・レジスタ・
アドレスは2−→1データ・セレクタ1620からライン16
18を経てデコーダ1616へ与えられる。データ・セレクタ
1620は3つの入力部を有する。入力部1295はライン1562
を通して与えられた8ビイットで書き込まれたレジスタ
を識別する2ビット・アドレスである。入力部948Aは読
み出されるべきレジスタを識別する2ビット・アドレス
である。この2ビットはレジスタ・ファイル・アドレス
・ビットのうちのビット3、4である。入力部1295また
は948Aのいずれかは補助書き込みイネーブル・クロック
信号1564によって選ばれる。ビット0〜 は8−→デー
タ・セレクタ1622のセレクト入力部へ与えられる。デコ
ーダ1616が或る特定のレジスタへ出力イネーブル信号を
与えると共に、クロック信号がレジスタ・クロック入力
部に存在するとき、レジスタ・ファイル・アドレス・ビ
ット0〜2はライン1572を経て2tolデータ・セレクタ15
74へ入力するためのレジスタ・セット内のビットを識別
する。先に述べたように、データ・セレクタ1574はSVP
プロセッサ・アレイへ入力するためのC18′ビットまた
はオリジナルのC18ビットのいずれかとして1つの大域
変数を選ぶ。この選択は、レジスタ・アドレス・ビット
5、6およびC5制御ビットによって決定される。上記の
例はレジスタ・ファイル1への大域変数のアドレス指定
について詳しく説明したが、この原理はレジスタ・ファ
イル0をアドレス指定するにも応用できる。レジスタ・
ファイル0をアドレス指定したとき、制御ビットC5は制
御ビットC2となる。
RF1、DORのためのメモリ・マップ(表4)において、
補助レジスタのアドレスは予約領域にある。しかしなが
ら、ハードウェアは命令生成器910内に設置されてい
る。こうして、補助レジスタは1セット(Nセットでは
ない)のレジスタで実現できる。レジスタ・ビットは、
DORと異なって、1つのアドレス値によってのみアドレ
ス指定される。ここで、N個のビット(すなわち、処理
要素の数と一致する1024個のビット)は1つのアドレス
値によって同時にアドレス指定される。SVPコアの物理
的なメモリの外側のアドレスが作られたときに、補助レ
ジスタはアドレス指定される。
第53図において、例として、ROMメモリを有するSVPコ
ントローラがコントローラ・メモリのメモリ要件を低減
するための回路と組み合わせて示してある。簡単に言え
ば、この低減はリピート・カウンタ1588のカウント/ホ
ールド入力を図示のようにコントローラに通じるプログ
ラム・カウンタ1584へ加えることによって行われる。コ
ントローラ・データおよびアドレス位置はプログラム・
カウンタのNビット出力によって順序付けされる。プロ
グラム・カウンタは、それぞれ、信号入力部1596、1598
を経て刻時、リセットされる。コントローラは複数の出
力信号、すなわち、16までカウントアップできる、リピ
ート・カウンタ1588への入力である4ビット・カウント
信号1600と、ラッチ1590によってラッチされるマイクロ
コードまたはマイクロ命令とも呼ばれる24ビット・オプ
コード1602と、RF0オペランド・アドレスに対するアッ
プ・カウンタ1592によって使用される7ビット・アドレ
ス1604と、RF1アドレス・アップ・カウンタ1594を経て
与えられる同様の7ビット・アドレス1606とを与える。
さらに、1ビット制御信号1607が制御ロジック1586に与
えられてシングルあるいはダブルどちらの命令が実現さ
れつつあるかを示す。
リピート・カウンタのリプル桁上げ出力はプログラム
・カウンタのカウント/ホールド入力部に入力されて、
リピート・シーケンスが終了するまでこのプログラム・
カウンタの動作を停止させる。ひとたびこの命令が適正
回数繰り返されると、リプル桁上げ信号がプログラム・
カウンタにその動作を再開させる。このリプル桁上げ信
号は制御ロジックにも入力されてそれを所与の条件につ
いての適正な状態に置く。すなわち、リピート・カウン
タが作動しているならば、制御ロジックは2ビット・コ
ードをレジスタ・ファイル・アップ・カウンタへ出力
し、それをカウント・モードに置く。リピート・カウン
タが作動していなければ、レジスタ・ファイル・アップ
・カウンタはラッチ・モードに入る。この2ビット出力
は、カウントがシングル命令モードについては1、ダブ
ル命令モードについては2を掛けるべきかどうかも示
す。
32ビット加算の例が上記回路の利点を説明する。2つ
の32ビット・ワードの加算についての命令セットが表27
に省略した形で示してある。
先に説明した2つの4ビット・ワード加算例(表25)
に関連して考察した場合、命令セットのうちの命令2〜
31を15個のダブル命令に圧縮することができることは明
らかである。次いでリピート・カウンタ・モードを実施
することによって、15個のダブル命令は含まれるハード
ウェアによって15回繰り返してただ1つの命令として組
み立てることができる。したがって、2つの32ビット・
ワードの加算は33個から4個の命令まで減らされる。リ
ピート・カウンタが使用中のとき、プログラム・カウン
タが停止し、2つのアドレス・カウンタがシングル命令
については1を自動増分し、ダブル命令については2を
自動増分する。上記の説明から明らかなように、本発明
に従って行われるようなコントローラ・メモリ減少はダ
ブル命令と同時に使用するしないにかかわらず実現され
得る。たとえば、上記の32ビット加算例をダブル命令な
しに実現した場合、リピート・カウント・ビット値が増
大してより大きいピート・カウント数に備えることもで
きるし、あるいは、最初のリピートを2回実施すること
もできる。
第54図は本同期ベクトル・プロセッサ/コントローラ
・チップの別の実施例を示している。第54図において、
命令生成器の補助レジスタはSVPプロセッサ・アレイを
持つチップ上に設けられている。先に述べたように、コ
ントローラ1626およびSVP装置1628は装置1630を形成し
ている1つのシリコン・チップ上に設けることができ
る。クロック・オシレータ1632は伝送されてきたテレビ
ジョン信号に対してフェーズロックされ、コントローラ
部にクロッキング信号を与える。クロック・オシレータ
1634は、一般に、SVP作動速度と合うように刻時され
る。
第1図およびそれに関連した記述は、SVP装置および
コントローラをテレビジョン・システムにどのようにし
て組み込むかを説明している。また、そこには、ビデオ
カセット/テープ・レコーダ134の出力136を伝送ビデオ
信号の代わりにSVPプロセッサにどのようにすれば与え
ることができるかも示されている。あるいは、SVP装置
/コントローラ・システムは、ビデオ・テープ・レコー
ダ内に直接組み込んでも良い。これを行う方法の一例が
代55図に示してある。ブロック1630はシステム1629のた
めの1つあるいはそれ以上のSVP装置を含み得る。シス
テム1630は複合またはS−VHSビデオ信号の同調受信の
ための普通のチューナ回路1644を包含する。カラー分離
・復調回路1642は同調信号を処理し、出力は先に述べた
要領でSVPシステム1630に与えられる。処理済みの信号
出力は回路1640によってカラー変調され、複合ビデオ信
号またはS−VHSビデオ信号のいずれかが変調器1640か
ら出力される。複合ビデオ信号は回路1638によってRF変
調され、ディスプレイのためのテレビジョン・アンテナ
入力部またはモニタ入力部に与えられる。
記録モード中、処理済みのビデオ信号は回路1634によ
ってフェーズ・FM変調され、普通の要領でヘッド・ロジ
ック1636によって記録される。再生中、記録された信号
はテープから読み出され、フェーズ・FM復調回路1632に
送られる。その後、信号は、再び、SVPシステム1630に
よって処理され、出力として与えられ得る。1つまたは
それ以上のフィールド・メモリ120は第1図に関連して
先に説明した要領でデータを捕獲し得る。
ここに開示し、説明した同期ベクトル・プロセッサ装
置・コントローラ・システムはビデオ用途に限定されな
い。SVPの独特のリアルタイム性能は多数の信号処理用
途に対して融通性のある設計方法を与える。これらの用
途のうちのいくつかを表27に挙げる。
表 27 汎用DSP −ディジタル・フィルタリング −たたみ込み −相関 −高速フーリエ変換 −二次元適応フィルタリング −神経ネットワーク 消費者 −レーダ検出器 −ディジタル・ビデオ/オーディオTV −ミュージック・シンセサイザ 産業 −ロボット工学 −視覚検査 −グラフィックス/像形成 −ロボット視覚 −画像送信/圧縮 −パターン認識 −画像強調 −同形処理 −ワークステーション −アニメーション/ディジタル・マップ 計測 −スペクトル分析 −関数生成 −パターン整合 −地震波処理 −過渡分析 −ディジタル・フィルタリング 医療 −患者モニタリング −超音波機器 −診断具 −NMR像形成 −PETスキャン像形成 軍事 −レーダ処理 −ソナー処理 −像処理 −ナビゲーション −ミサイル誘導 −無線周波モデム −センサ融合 電気通信 −エコー除去 −ADPCMトランスコーダ −イコライザ −データ暗号化 −FAX −セルラー電話 −スピイカフォン −ディジタル・スピーチ −補間(DSI) −ビデオ会議 −展開スペクトル通信 自動車 −振動分析 −音声命令 −ディジタル・ラジオ −セルラー電話 −広域位置確認 第56図は汎用ディジタル信号処理(DSP)システムを
示す。第56図のシステムは一般的なものであり、ディジ
タル・フィルタリング、たたみ込み、相関、高速フーリ
エ変換、コサイン、サイン、アダマール、ウォルシュ変
換および適応フィルタリングに使用できる。第56図のシ
ステムはアナログ入力をディジタル信号へ変換するアナ
ログ・ディジタル変換器を包含する。SVPシステムはデ
ータ・ストリーム内に配置してあり、ディジタル信号を
受け、処理済みのデータ信号を出力するようになってい
る。処理済みのデータはアナログ・ディジタル変換器に
よってアナログに変換できるし、処理済みのディジタル
信号を直接出力することもできる。システムのためのタ
イミングおよび制御はタイミング・制御回路によって行
われ得る。
第57図はSVPシステムを組み込んだグラフィックス/
画像処理システムを示している。SVP装置はホストコン
ピュータに対する指令を受け取り、ホストコンピュータ
と組み合ったメモリから画像、オーバレイなどを受け取
る。フレーム・メモリを使用してさらなる処理ののため
の再入力を行うべくデータ・フレームを捕獲することが
できる。SVP出力はディジタル・アナログ変換器によっ
てディジタル化し、マトリックスによって処理し、ディ
スプレイで表示することができる。第57図の汎用システ
ムは画像について種々の作業を実施するのに使用するこ
とができる。第57図のシステムは多くのコンピュータに
おいてグラフィックス・ボードを置き換えるのに使用で
きる。可能性のある作業としては、画像を組み合わせる
こと(オーバレイ)、カラー変換、ズーム・イン/アウ
ト、フィルタリング、スペクトル分析および製図(引き
出し線、円、テキストなど)がある。
第58図はSVPシステムを組み込んだ視覚検査システム
を示している。このシステムは検査あるいは分析しよう
としている物体を見るためのビデオ・カメラを包含す
る。カメラはアナログ・ディジタル変換器の入力部にビ
デオ信号を出力し、このアナログ・ディジタル変換器は
アナログ・ビデオ信号をディジタル化し、SVPシステム
へディジタル入力を与える。SVPシステムは、また、光
学ディスクのようなメモリあるいはマスク記憶ソースか
らの記憶画像を備えることもある。SVPは出力をディス
プレイその他のインジケータ手段かつまたホストコンピ
ュータに与えることができる。ホストコンピュータはタ
イミング・制御回路を制御するのに使用できる。このタ
イミング・制御回路はアナログ・ディジタル変換器、メ
モリおよびSVP装置システムへも信号を与える。第58図
の視覚検査システムは記憶していたマスク像と比較する
ことによって装置の点検を実施し得る。出力は差を示す
画像、単純な合格/不合格表示、あるいは、もっと複雑
なリポートであり得る。システムはどの装置が点検され
つつあるかを自動的に判断することができる。他のタイ
プのセンサ、たとえば、赤外線センサ、X線センサなど
も同様に用いることができる。画像の事前、事後の処理
を行って出力をさらに増強することができる。
第59図はSVPシステムを組み込んだパターン認識シス
テムを示す。SVP装置はアナログ・ディジタル変換器の
出力部からディジタル化された入力信号を受け取る。記
憶したパターンをSVPに与えて外部メモリで処理しても
良い。入力データが処理されてから、パターン番号がSV
Pから出力される。アナログ・ディジタル変換器、記憶
パターン・メモリおよびSVPは制御・タイミング回路か
らの出力信号の制御の下に作動し得る。パターン認識シ
ステムは入力データを記憶してあるデータと比較する。
このシステムは視覚点検システムを越えており、入力デ
ータを分類する。SVPの速度により、多くの比較はリア
ルタイムで行われ得る。データの長いシーケンスも分類
し得る。スピーチ認識用途の例が第60図に示してある。
第60図は8キロヘルツの周波数を有するスピーチ・デー
タ・サンプルを示している。スピーチが比較的低い率、
たとえば、8キロヘルツでディジタル化されるので、SV
Pは伝送スピーチ・データについての多数の計算を実施
するのに多くの時間を有する。1024個のサンプル分の長
さの入力は、普通、データ処理に約8分の1秒を要し、
これは約140万個の命令に相当する。加えて、SVPは多く
のデータ・ラインを格納し、ワード、フレーズ、そし
て、センテンスさえ認識することができる。
第61図はSVPを利用する代表的なレーダ処理システム
を示す。検出されたレーダ信号はアンテナからRF/IF回
路に伝送され、FM/AM出力がアナログ・ディジタル変換
器に与えられる。ディジタル化出力信号はSVPによって
処理され、出力はディスプレイに与えられるか、あるい
は、メモリに格納される。このシステムはパルスレーダ
・データを処理し、その結果を記憶するか表示する。
第62図は同期ベクトル装置を利用する映像電話を示し
ており、送信側と受信側を図示している。ビデオ・カメ
ラが対象物を映し、アナログ信号をアナログ・ディジタ
ル変換器によってディジタル化する。ディジタル化出力
はSVP装置へ入力される。他の入力はテーブルやフレー
ム・メモリの出力を含む。SVP DRMS出力はフィルタ回
路内で瀘波され、電話線に与えられる。受信側で、電話
線はアナログ・ディジタル変換器に送信されてきたデー
タを送り、このアナログ・ディジタル変換器において、
ディジタル化信号が同期ベクトル装置によって処理され
る。入力信号はフレーム・メモリ内に記憶されていたデ
ータと一緒に処理され得る。SVP出力はディジタル・ア
ナログ変換器によってディジタルからアナログに変換さ
れ、マトリックスに送られ、ディスプレイに表示され
る。映像電話システムは入力画像を圧縮し、DTMF値とし
て符号化し、電話線を通じて受信機へ送る。SVPにおい
て直接トーンを発生するのにサイン・テーブルが使用さ
れる。受信側で、DTMFトーンはディジタル化され、SVP
で検出され、圧縮解除される。
第63a、63b図は同期ベクトル・プロセッサを利用する
ファクシミリ・システムを示しており、送信側を図示し
ている。書類スキャナが伝送しようとしている書類を走
査し、走査された二進データがSVPに入力される。タイ
ム・テーブルを用いてSVPに直接トーンを生成すること
ができる。SVPは符号化とトーン生成を行う。トーンは
フィルタへの出力であり、次いで、電話線に送られる。
受信側で、電話線から受信したデータはアナログ・ディ
ジタル変換器によってディジタルに変換され、トーン検
出および復号のためにSVPに与えられる。復号したSVP出
力はプリンタで印刷される。
第64図は走査された書類をASCIIファイルに変換するS
VPベースの書類走査システムである。スキャナ出力はSV
Pに送られ、そこにおいて、キャラクタ・テーブルと一
緒に処理され、処理済みの出力はメモリに記憶される。
この書類スキャナ・システムはFAX機と同様にデータを
ディジタル化するが、データについてのパターン認識を
実施し、それをASCIIフォーマットに変換する。
SVPは確実なビデオ伝送に使用できる。このシステム
は第65図に示してある。システムは出力を入力バッファ
に与えるビデオ信号ソースを包含する。バッファ処理を
受けた信号は処理のためにSVPへ送られる。SVPおよび入
力バッファはコントローラの下に作動できる。SVPから
の符号化された信号は送信機へ送られ、そこで、受信機
へ送られ、再び、入力バッファ処理を受け、受信側でSV
Pによって復号される。上記システムのSVPは、各プロセ
ッサ要素においてピクセルに任意の定数を掛け合わせる
ことによってビデオ信号を暗号化することができる。プ
ロセッサ要素への暗号化定数のマッピングは符号化、復
号同期ベクトル・プロセッサにおいてROM符号化パター
ンによって定義される。エンコーダはコード・ワードを
復号用SVPへ送る。このコード・ワードは受信装置を変
化させて符号化パターンの逆数を掛けることによって復
調する。送信された信号の例が第66図に示してある。
SVPチップはピン・グリッド・アレイ・パッケージに
まとめられる。第67図はチップ・パッケージのピンアウ
トである。
SVPピン・グリッド・アレイ・チップ・ピンアウト SVP SEチップのためのピンの名称とパッケージ・ピ
ン座標を表28に示す。
信号記述 この章では、SVPについての信号記述を説明する。以
下の表29には、信号名、この信号タイプにおけるピンの
数、そのピンが入力であるか出力であるかの違い、簡単
なピン機能の説明が示してある。
命令セット概要 以下の章はいくつかの正当なサブ命令ニーモニックの
リストを示す。より高いレベルの命令はこれらの基本形
から作ることができる。リストにある指定オペレータ
「=」の左の値は転送先オペランドであり、右の値は転
送元オペランドである。
〈転送先_オペランド〉=〈転送元_オペランド〉 記載量を減らすために省略形を用いており、ニーモニ
ックに入ったときの混乱を避けるためにいくつかのシノ
ニムを用いている。
WRM(すなわち、M依存サブ命令)の値にデータ・ソ
ースが存在するサブ命令は3本のラインを示す。最初の
ラインはプログラムへ入力されるサブ命令を示し、2番
目、3番目のラインは、それぞれ、(WRM)=0または
(WRM)=1のいずれかに依存する演算結果を示す。
「(WRM)」は作業用レジスタWRMの内容である。
たとえば、 命令は8つのカテゴリにグループ分けされる。
すなわち、RF0、RF1、WRA、WRB、WRC、WRM、ALU、GOで
ある。完全を期せば、2つ以上のカテゴリにいくつかの
命令が現れる。
命令プログラム・メモリ1258(第34図)のためのSVPア
レイ命令セット 以下の表は正当なSVPアレイ・サブ命令のすべてのリ
ストを示している。また、各サブ命令についてのオプコ
ードとコンフリクト・マスクも示している。コンフリク
ト・マスクはアッセンブラが用いて、同じライン上の2
つのサブ命令を組み合わせることができるかどうかを決
定する。
前記命令のすべては22ビット・アレイ・オプコード・
フィールド+アドレス・フィールドによって記述され
る。これらの命令およびIGコントローラ命令のバリエー
ションはこれらおよび他のビットで記述される。
以下の表においては、次の省略形を用いる。
x−注目不要 b−ブレークポイント・ビット、b=1:隣接アドレスに
BPセットあり b=0:隣接アドレスに
BPセットなし r−リピートカウンタの2の補数、0〈=r〈=15 m−DIRアドレス値、 0〈=m〈=127 n−DIRアドレス値、 0〈=n〈= 39 p−R1メモリ・アドレス値、 0〈=p〈=127 q−DORアドレス値、 0〈=q〈= 23 k−補助レシスタ・アドレス値、 0〈=k〈= 95 z−命令モード(付録C参照) SVP命令生成器命令セット 以下の表は正当な命令ニーモニックと、命令生成器+
シングル、待機状態、ダブル命令についてのアレイ命令
のバリエーションのためのオプコードのリストを示して
いる。
IG命令の説明 x− 注目不要 b− ブレークポイント・ビット rrrr − 2の補数フォームにおける4ビッ
ト・リピート・カウント値 ppppppp − RF1またはDORまたはAUXについて
の7ビット・メモリ・アドレス nnnnnnn − RF0またはDIRについての7ビット
・メモリ・アドレス ii..i iii iii − 付録Bからのアレイ命令オプコー
ド 00..0 − フィールド内のすべてのビットが
ゼロである vvvvv − IGモード入力ピンからの5ビット
値 aaaa aaaaaaa − 11ビット・ジャンプ・アドレス cccc cc00000 − 5つのLSB=00000での11ビット・
ジャンプ・アドレス mmmm mm − 2で割った6ビット回転モジュラ
ス。したがって、回転モジュラスは2の整数倍でなけれ
ばならない。
有効値:0〈=mmmmmm〈=63 zzzzz − 4で割った5ビット回転ステップ
値。したがって、回転ステップ値は4の整数倍でなけれ
ばならない。
有効値:0〈=zzzzz〈=31 上記のオプコード・テーブルに示すIG命令の機能を以
下に説明する。
アレイ命令 シングル 待機状態シングル ダブル アイドル ジャンプ命令 JMP〈adr1〉 アドレス〈adr1〉への無条件ジ
ャンプ JME〈va1〉,〈adr1〉 MODE EQUALでのジャンプ。
〈va1〉=〈(モードレジスタ)のとき、〈adr1〉へジ
ャンプさもなければ、次のステートメントに行く。
JMT〈adr2〉 MODE TABLEへジャンプ。〈(モ
ードレジスタ)〉の相対テーブル・エントリ点による
〈adr2〉でのモードテーブルへのジャンプ。〈adr2〉は
11ビット・アドレスであり、5個のLSBは00000に等し
い。絶対アドレスは(〈adr2〉AND O7EOh)+〈(モー
ドレジスタ)〉〈adr2〉でのテーブルは、たいてい、主
プログラム内のサブ命令へのJMP命令を含みそうであ
る。しかしながら、このテーブルでは任意の命令を使用
できる。このテーブルは5ビット境界に置かれなければ
ならない。
フラグ・テスト命令 JFAZ〈adr1〉 FLAG‘A'ZEROでジャンプ。フラグ「A」
がゼロのとき、〈adr1〉へジャンプ。さもなければ、次
のステートメントへ行く。これはハードウェア・フラグ
である。
JFBZ〈adr1〉 FLAG‘B'ZEROでジャンプ。フラグ「B」
がゼロのとき、〈adr1〉へジャンプ。さもなければ、次
のステートメントへ行く。これはハードウェア・フラグ
である。
呼び出し/リターン命令 CALL〈adr1〉 CALL。「リターン・レジスタ」に現行ア
ドレス+1を置く。次いで、〈adr1〉へ無条件でジャン
プ。これはシングルレベルCALLである。CALL命令がネス
トされている場合には、RET命令が最後のCALLに続く命
令に戻る。
RET RETUN。アドレス:〈(リターンレジス
タ)〉へ戻る。
モード・レジスタ命令 UMR モード・レジスタを最も近い値で更新する。IGは
タイミング生成器およびマスタ・コントローラと非同期
で作動する。したがって、所定の時刻に新しいモード値
を得る必要がある。外部回路(通常は、垂直タイミング
生成器)が任意の時点でIGの一時モード・レジスタを更
新することになるが、その値はUMR命令が実行されるま
でIG命令に影響することはない。この値は次のUMR命令
が実行されるまで有効状態に留まる。
大域回転命令 LRM0〈mod〉、〈rot〉 RF0についての回転モジュラス
・レジスタをロードする。RF0のメモリ領域はアドレス
0、〈mod−1〉間で大域回転メモリとして宣言され得
る。〈mod〉は大域回転モジュラスであり、0、2、4
・・・122、124、126の有効値を有する。命令GRL0が実
行されたとき、大域回転スペース内のメモリは〈rot〉
ビット分だけ回転させられることになる。〈rot〉は
0、4、8、・・・116、120、124の有効値を有する。
LRM1〈mod〉、〈rot〉 RF1についての回転モジュラス
・レジスタをロードする。RF1のメモリ領域はアドレス
0、〈mod−1〉間で大域回転メモリとして宣言され得
る。〈mod〉は大域回転モジュラスであり、0、2、4
・・・122、124、126の有効値を有する。命令GRL1が実
行されたとき、大域回転スペース内のメモリは〈rot〉
ビット分だけ回転させられることになる。〈rot〉は
0、4、8、・・・116、120、124の有効値を有する。
GRL0 RF0モジュロ〈mod〉ステップ〈ro
t〉を左へ大域回転させる。ここで、〈mod〉、〈rot〉
はLRM0命令で定義される。
GRL1 RF1モジュロ〈mod〉ステップ〈ro
t〉を左へ大域回転させる。ここで、〈mod〉、〈rot〉
はLRM1命令で定義される。
マスタ・コントローラ(MC)の命令セット OUT 出力制御信号 MCは「OUT」命令の後にその実行を中断する。
「FSYNC」がきたときにその実行を再開する。
TBOUT 出力テーブル掲示制御信号 テーブルは16個の「OUT」命令までで構成しなければな
らない。
「OUT」命令の1つは「COMB」の内容によって選ばれ
る。
転送先テーブルは16の境界に置かなければならない。
JMP〈label〉へジャンプ TCMA Test COMA COMAが〈c〉に等しい場合、〈labe
l〉へジャンプ。
COMAが〈c〉に等しくない場合、次の命令を実行。
転送先は4の境界になければならない。
TXF10 「flag1」、「flag0」をテスト。〔((c XNOR
flag1)OR m)AND((d XNOR flag0)OR n)〕の場合、
ジャンプ。
「flag1」、「flag0」が〈cd〉に等しい場合、〈labe
l〉にジャンプ。
「flag1」、「flag0」が〈cd〉に等しくない場合、次の
命令を実行。
このフラグ・テストは〈,m〉でマーク付けされる。“0"
=test,“1"=mask転送先は4の境界に置かなければな
らない。
TXF32 「flag3」、「flag2」をテストする。
〔((c XNOR flag3)OR m)AND((d XNOR flag2)OR
n)〕の場合、ジャンプ。
「flag3」、「flag2」が〈cd〉に等しい場合、〈labe
l〉にジャンプ。
「flag3」、「flag2」が〈cd〉に等しくない場合、次の
命令を実行。
このフラグ・テストは〈mn〉でマーク付けされる。
転送先は4の境界に置かなければならない。
ALIGN2 次の4×N(Nは整数)アドレスから以下の命
令を生成。
ALIGN4 次の16×N(Nは整数)アドレスから以下の命
令を生成。
ファイル;入力ファイル 対象ファイル リフト掲示ファイル 命令フォーマット;ラベル・フィールド 命令フィールド ニーモニック・フィールド オペランド・フィールド コメント・フィールド 定数;2進整数 8進整数 10進整数 16進整数 記号 指示;.PAGE .TITLE“string" .WIDTH〈width〉 .COPY〈file name〉 .END .SET〈value〉 .ASECT 1 TCMA、TCMB、TXF10、TXF32のみが2LSB′s=00の
アドレスへジャンプできる。 2 TBOUTのみが4LSB′s=0000のアドレスをポイン
トできる。これら4つのLSBはCOMBで置換される。アッ
センブラはこれを理解し、正しい境界に〈label〉を置
かなければならない。 4 c=1+INTEGER(b/4) ここで、本発明の種々の実施例がハードウェア、ソフ
トウェアあるいはマイクロコード化したファームウェア
を使用できることを了解されたい。ここでのプロセスお
よび状態変換ダイアグラムもマイクロコード化した実施
例およびソフトウェアベース実施例のためのダイアグラ
ムを表わしている。接続および結合は、オーミック、直
接電気的、容量ディジタル、アナログ・インタフェース
結合的、電磁的、光学的その他任意の適当な手段であり
得る。本発明を図示実施例に関連して説明してきたが、
この説明は限定の意味で行ったつもりはない。本発明の
図示実施例ならびにその他の実施例についての種々の変
更および組み合わせは本明細書を参照すれば当業者には
明らかであろう。したがって、本書の特許請求の範囲が
本発明の範囲に入るこのような変更あるいは実施例をカ
バーするものと考える。
以上の記載に関連して、以下の各項を開示する。
(1) 作動モード信号を受ける入力と、制御命令及び
アドレス命令を与える出力とを有する命令及びアドレス
制御回路であって、前記制御命令及びアドレス命令を受
ける入力を各々が備えている複数の1ビット並列演算プ
ロセッサエレメントを備えたビデオ信号処理デバイスと
共に使用する命令及びアドレス制御回路において、 アドレス可能なメモリロケーションに記憶された制御
命令及びアドレス命令を備えた命令プログラムメモリ
と、 該命令プログラムメモリ及び制御回路の入力に接続さ
れていて、受けた作動モード信号に応答して前記アドレ
ス可能なメモリロケーションにアドレスするプログラム
カウンタとを有しており、前記命令プログラムメモリ
が、前記アドレスされた制御命令及びアドレス命令を、
前記プロセッサエレメントの入力に書込むようになって
おり、 前記命令プログラムメモリの出力に接続されていて、
前記命令プログラムメモリからの制御命令に応答して、
前記アドレスされた制御命令をラッチしかつ再供給すべ
く作動する分岐回路を備えている制御回路と、 前記命令プログラムメモリの出力に接続されておりか
つ前記制御命令が再供給されている間に前記アドレス命
令を連続的に増大させるカウント分岐回路を備えている
アドレス命令制御回路とを更に有していることを特徴と
する命令及びアドレス制御回路。
(2) 前記アドレス命令制御回路のカウント分岐回路
が、前記アドレス命令を1つずつ又は2つずつ連続的に
増大させる制御論理手段を更に備えていることを特徴と
する前記項1に記載の命令及びアドレス制御回路。
(3) 前記命令及びアドレス制御回路が、 前記プロセッサエレメントの作動変数を記憶する補助
記憶手段であって、前記制御回路の分岐回路に接続され
た第1入力と前記作動変数及び補助記憶手段の制御命令
を受ける第2入力とを備えている補助記憶手段と、 該補助記憶手段の制御命令に応答して、前記補助記憶
手段からの1ビットのデータを前記制御命令からの1ビ
ットのデータに代える命令デコーディング回路とを更に
有していることを特徴とする前記項1に記載の命令及び
アドレス制御回路。
(4) 前記命令及びアドレス制御回路が、 前記各プロセッサエレメントに第1レジスタセットを
アドレスするアドレス命令を連続的に増大させる第1ア
ドレスカウンタと、前記各プロセッサエレメントに第2
レジスタセットをアドレスするアドレス命令を連続的に
増大させる第2アドレスカウンタとを有していることを
特徴とする前記項1に記載の命令及びアドレス制御回
路。
(5) 前記命令及びアドレス制御回路が、 前記アドレス命令制御回路と前記プロセッサエレメン
トへの前記入力との間に接続されたアドレスモジュール
制御回路を更に有しており、該アドレスモジュール制御
回路が、グローバル回転命令に応答して前記第1及び第
2レジスタセットの一部を割り当てるように構成したこ
とを特徴とする前記項1に記載の命令及びアドレス制御
回路。
(6) 前記命令及びアドレス制御回路が、 前記ビデオ信号からの同期化信号を受ける入力を備え
た同期化制御回路であって、前記同期化信号に応答して
命令及びアドレス制御回路の作動を制御する同期化制御
回路を更に有していることを特徴とする前記項1に記載
の命令及びアドレス制御回路。
(7) 第1ビデオ信号を処理して処理ビデオ信号を発
生させるべく作動する処理デバイス用の命令制御回路に
おいて、 前記第1ビデオ信号の水平及び垂直同期成分に相当す
る水平及び垂直制御信号を受けるべく接続された入力
と、制御命令のシーケンスを出力すべく作動する第1分
岐回路とを備えている第1回路手段と、 該第1回路手段に接続されておりかつ前記制御命令の
シーケンスに応答して制御コード及びメモリアドレスデ
ータを前記処理デバイスに供給する第2回路手段とを有
していることを特徴とする命令制御回路。
(8) 前記第1回路手段が、 前記制御命令を記憶する命令プログラムメモリと、 該命令プログラムメモリに接続されていて、該命令プ
ログラムメモリから制御命令を取り出しかつこの取り出
した命令をデコードすべく作動する命令デコーダとを備
えていることを特徴とする前記項7に記載の命令制御回
路。
(9) 前記回路手段が、 前記第1分岐回路に接続されていて命令のシーケンス
を反復させる反復回路を更に備えていることを特徴とす
る前記項8に記載の命令制御回路。
(10) 前記第2回路手段が、 前記第1回路手段に接続されていて、前記メモリアド
レスデータを1つずつ又は2つずつ増大させる手段を備
えているアドレス増分器を更に備えていることを特徴と
する前記項8に記載の命令制御回路。
(11) アドレス情報をもつ制御命令をアドレス可能な
メモリロケーションに記憶するメモリ手段を有してお
り、該メモリ手段が、アドレスを受け入れるアドレス入
力と前記制御命令及びアドレス情報の出力とを備えてお
り、 前記アドレス入力に接続された出力と制御信号に応答
してアドレス可能なロケーションを前記メモリ手段に増
大させつつアドレスする手段とを備えた第1カウント回
路と、 前記メモリ手段のアドレス出力に接続された入力を備
えたアドレスアップカウンタであって、増分カウント制
御信号に応答して、前記アドレス情報を増大させつつ入
力しかつこのように増大したアドレス情報を出力として
供給するアドレスアップカウンタとを有していることを
特徴とする電子回路。
(12) 前記メモリ手段からの制御命令に応答して、前
記制御信号を連続的に増大させるか、前記第1カウント
回路のアドレス手段の増分を中止させる反復カウント回
路を更に有していることを特徴とする前記項11に記載の
電子回路。
(13) アドレス情報を備えた制御命令のためのアドレ
ス可能なメモリロケーションをもつメモリデバイスを反
復アクセスさせて、前記制御命令を処理デバイスに供給
し、 反復させた各制御命令についてのアドレス情報を増大
させ、前記反復制御命令と同時に、前記増大させたアド
レス命令を前記処理デバイスに供給する工程からなるこ
とを特徴とする方法。
(14) 制御命令及びアドレス命令制御装置において、 制御命令及びアドレス命令をアドレス可能なメモリロ
ケーションに記憶するメモリ手段を有しており、該メモ
リ手段が、アドレスを受け入れるアドレス入力と前記ア
ドレス命令及び制御命令の出力とを備えており、 前記アドレス入力に接続された出力と制御信号に応答
してアドレス可能なロケーションを前記メモリ手段に増
大させつつアドレスするアドレス手段とを備えた第1カ
ウント回路と、 前記メモリ手段からの制御命令に応答して、前記制御
信号を連続的に増大させるか、前記第1カウント回路の
アドレス手段の増分を中止させる反復カウント回路と、 前記メモリ手段の出力の1つに接続された入力を備え
ていて、ラッチ出力における制御命令を受けてラッチす
るラッチ回路と、 前記メモリ手段の第1アドレス出力に接続された入力
と、及び増分カウント制御信号に応答するカウント分岐
回路であって、前記ラッチ回路により前記制御命令がラ
ッチされるときに前記入力アドレス命令を1つずつ又は
2つずつ増大させ、この増大したアドレス命令を出力と
して供給する分岐回路とを備えている第1アドレスアッ
プカウンタと、 前記メモリ手段の第2アドレス出力に接続された入力
と、及び増分カウント制御信号に応答するカウント分岐
回路であって、前記ラッチ回路により前記制御命令がラ
ッチされるときに前記入力アドレス命令を1つずつ又は
2つずつ増大させ、この増大したアドレス命令を出力と
して供給する分岐回路とを備えている第2アドレスアッ
プカウンタと、 前記反復カウント回路からのカウント信号及び前記メ
モリ手段からの制御命令に応答して、増分カウント制御
信号を前記第1アドレスアップカウンタ及び前記第2ア
ドレスアップカウンタに供給する制御論理回路とを更に
有していることを特徴とする制御命令及びアドレス命令
制御装置。
(15) データ処理デバイスに制御信号及びアドレス信
号を供給する制御装置の出力制御回路において、 多ビットデータ信号入力ライン、単一ビット信号出力
ライン及びデータ信号記憶用のアドレス可能な複数のレ
ジスタファイルを備えているメモリセルと、 該メモリセルに接続された書込み可能回路とを有して
おり、前記メモリセルが、前記書込み可能回路からの書
込み信号に応答して、データ信号を前記レジスタファイ
ルに書き込むことができるようになっており、 前記メモリセルに接続されたアドレス回路を更に有し
ており、前記メモリセルが前記制御装置からのアドレス
信号に応答して前記レジスタファイルにアドレスするよ
うになっており、 前記単一ビット出力ラインに接続された第1単一ビッ
ト入力及び前記制御装置の出力に接続された第2単一ビ
ット入力を備えたデータセレクト論理手段を更に有して
おり、該データセレクト論理手段が、制御信号に応答
し、出力信号データとして、前記第1単一ビット入力又
は前記第2単一ビット入力に存在する信号を選択するよ
うに構成したことを特徴とするデータ処理デバイスに制
御信号及びアドレス信号を供給する制御装置の出力制御
回路。
(16) リニア配列に編成された複数の1ビットプロセ
ッサエレメント(150)を備えた同期ベクトルプロセッ
サSVPデバイス(102)。全てのプロセッサエレメント
は、シーケンサ、ステートマシン又は制御回路(制御装
置、128)により共通して制御され、並列処理デバイス
として作動できるようになっている。各プロセッサエレ
メント(150)は、1セットの入力レジスタ(154)、2
セットのレジスタファイル(158、166)、1セットの作
業レジスタ(162)、1ビットの全加算器/減算器を備
えた算術論理ユニット(164)及び1セットの出力レジ
スタ(168)を有している。ビデオ機器に適用する場合
には、マスタ制御回路(902)、垂直タイミング発生回
路(904)、定数発生回路(908)、水平タイミング発生
回路(906)及び命令発生回路(910)を備えたデータ入
力制御回路(128)が提供される。
【図面の簡単な説明】
第1図は同期ベクトル・プロセッサを用いるビデオ・シ
ステムを示す。 第2図は第1図のシステムで用いられる同期ベクトル・
プロセッサをより詳しく示している。 第3図は第2図の同期ベクトル・プロセッサの1つのプ
ロセッサ要素を示す。 第4図はデータ入力レジスタ書き込みについてのタイミ
ング図を示す。 第5図は第3図のプロセッサ要素の論理図を示す。 第6図はデータ出力レジスタ読み出しについてのタイミ
ング図を示す。 第7図は第3図のプロセッサ要素をより詳しく示してい
る。 第8図はDOR予充電回路の種々のノードでの電圧レベル
を示すグラフである。 第9図は第7図の実施例のための別の3トランジスタDO
Rを示す。 第10図はDIRノイズ低減回路を示す。 第11図は第10図よりも詳しくノイズ低減回路を示す。 第12図はDIRノイズ低減回路を示す。 第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パッケージングに適したピン・グリッド・
アレイ・パッケージを例示している。 図面において、100……TVまたはビデオ・システム、102
……同期ベクトル・プロセッサ装置、103……処理要
素、104……CRT、108……アナログ・ビデオ回路、110…
…アンテナ、112……チューナ、116……アナログ・ディ
ジタル変換器、124……ディジタル・アナログ変換器、1
28……コントローラ、134……ビデオ・テープ・レコー
ダ、148……コミュテータ、150……プロセッサ要素、15
4……データ入力レジスタ、156……センスアンプ、158
……レジスタ・ファイル、164……算術ロジック・ユニ
ット、166……レジスタ・ファイル、167……読み出し/
書き込み回路、168……データ出力レジスタ、174……コ
ミュテータまたはシーケンサまたはリング・カウンタ、
232、236、240、244、305……データ・セレクタ、234…
…作業用レジスタM、580……制御回路、588……コミュ
テータ、614、620、622……フリップフロップ、628……
ドライバ、666、668、670、672、674、676……トランジ
スタ、684……ANDゲート、686……インバータ、900……
ソフトウェア・プログラム開発・テレビジョン動作エミ
ュレーション・システム、902……マスタ・コントロー
ラ、904……垂直タイミング生成器、906……水平タイミ
ング生成器、908……定数生成器、910……命令生成器、
912……ホストコンピュータ・システム、914……ホスト
コンピュータ・インターフェース・ロジック、916……
パターン生成器、918……データ・セレクタ、932……ハ
ードウェア・インターフェース、934……垂直タイミン
グ生成器、952……水平タイミング生成器、958……非同
期・同期変換ロジック、968……マルチプレクサ、976…
…イネーブル・ロジック、980……マルチプレクサ、984
……アドレス・カウンタ、990……プログラム・メモ
リ、994……リターン・レジスタ、1020……垂直シーケ
ンス・カウンタ、1024……垂直シーケンス・メモリ、10
28……リピート・カウンタ、1030……垂直ループ・カウ
ンタ、1034……カウンタ制御ロジック、1044……垂直ル
ープ・メモリ、1048、1050、1052……制御ラッチ、1054
……レジスタ・ロード・シーケンサ、1062……水平シー
ケンス・カウンタ、1074……マルチプレクサ、1078……
ラッチ、1120……定数シーケンス・メモリ、1126……定
数ループ・カウンタ、1128……リピート・カウンタ、11
42……ループ・メモリ、1224……ジャンプ・フラグ調停
ロジック、1234……命令デコーダ、1242……制御ロジッ
ク、1244、1246……大域回転アドレス生成器、1258……
命令プログラム・メモリ、1274……ブレークポイント・
コントローラ、1290、1292……アドレス・カウンタ、12
94……リピート・カウンタ、1370……回転値レジスタ、
1380……レジスタ、1400……減算器−b、1436……アド
レス・バッファ、1440……コンパレータ、1450……オフ
セット・レジスタ、1448……デコーダ、1452……ラッ
チ、1456……ドライバ、1584……プログラム・カウン
タ、1588……リピート・カウンタ、1592、1594……アッ
プカウンタ、1626……コントローラ、1628……SVP装
置、1632、1634……オシレータ、1700……テレビジョン
・マイクロコントローラ、1702……パーソナルコンピュ
ータ・キーパッド、1704……遠隔制御ユニット、1712…
…ビデオ信号デコーダ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI G06F 15/80 G06F 15/80 (72)発明者 ピーター ライネック アメリカ合衆国 テキサス州 78644 ロックハート ルート 1 ボックス 143ジー (72)発明者 ムー タエク チュン 大韓民国 ソウル 138‐160 ソングパ ク ガラクドン 9‐1005 プラザ ア パートメント 199 (72)発明者 宮口 裕 東京都世田谷区松原4―29―11 (56)参考文献 特開 昭63−307534(JP,A) 特開 昭63−172339(JP,A) 特開 昭64−29932(JP,A) 特開 昭60−79468(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/22 - 9/42 G06F 15/16 - 15/177 G06F 15/80

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】外部ソースから動作モード信号を受信する
    ための入力と、複数の1ビット並列動作プロセッサ素子
    を有しているビデオ信号処理装置に命令を供給するため
    の出力とを有している命令発生回路であり、各プロセッ
    サ素子は、命令を受信するための入力を有し、かつ対応
    する制御コード及びレジスタアドレスに従って命令を実
    行し、各命令は、制御コード及びレジスタアドレスから
    構成されており、少なくとも一つの命令の制御コード
    は、命令が反復命令であるということを示している、該
    命令発生回路であって、 アドレス可能なメモリ位置に記憶された複数の命令を有
    している命令プログラムメモリと、 該命令プログラムメモリは、アドレス入力で対応するア
    ドレスの受信に応答して命令出力で前記制御コード及び
    前記レジスタアドレスを含んでいる命令を供給し、該命
    令記憶メモリは、少なくとも一つの第1の反復命令及び
    少なくとも一つの第2の反復命令を記憶し; 前記命令プログラムメモリの前記アドレス入力に接続さ
    れかつ前記外部ソースから動作モード信号を受信するモ
    ード入力を有しているプログラムカウンタと、 該プログラムカウンタは、アドレスを前記受信した動作
    モード信号に対応している前記命令プログラムメモリの
    前記アドレス入力に供給し; 前記命令プログラムメモリの前記命令出力に接続された
    入力、及び前記命令プログラムメモリからリコールされ
    た命令の前記制御コードを一時的に記憶しかつその中に
    記憶された前記制御コードを前記ビデオ信号処理装置に
    供給するために前記ビデオ信号処理装置に接続された出
    力を有している制御コードラッチと; 前記命令プログラムメモリの前記命令出力に接続された
    入力、及び前記命令プログラムメモリからリコールされ
    た命令の前記レジスタアドレスを一時的に記憶しかつそ
    れに記憶されたレジスタアドレスを前記ビデオ信号処理
    装置に供給するための前記ビデオ信号処理装置に接続さ
    れた出力を有しているレジスタアドレスラッチと; 前記命令プログラムメモリの前記命令出力、前記制御コ
    ードラッチ及び前記レジスタアドレスラッチに接続され
    た命令デコーダ回路と、 該命令デコーダ回路は、そこに記憶された前記制御コー
    ドを前記ビデオ信号処理装置に再び供給するために前記
    制御コードラッチを制御しかつそこに記憶された前記レ
    ジスタアドレスを増分しかつ前記命令プログラムメモリ
    からリコールされた前記命令の制御コードが反復命令を
    示すということの検出により該増分したレジスタアドレ
    スを前記ビデオ信号処理装置に供給するために前記レジ
    スタアドレスラッチを制御し、該命令デコーダ回路は、
    前記命令プログラムメモリからリコールされた前記命令
    の制御コードが第1の反復命令を示すということの検出
    により一つだけそこに記憶された前記レジスタアドレス
    を増分するために前記レジスタアドレスラッチを制御
    し、かつ前記命令プログラムメモリからリコールされた
    前記命令の制御コードが第2の反復命令を示すというこ
    との検出により2つだけそこに記憶された前記レジスタ
    アドレスを増分するために前記レジスタアドレスラッチ
    を制御する; を備えていることを特徴とする命令発生回路。
  2. 【請求項2】外部ソースに接続された外部入力、前記制
    御コードラッチに接続された制御コード入力、及び前記
    ビデオ信号処理装置に接続された制御コード出力を有し
    ている補助レジスタメモリを更に備え、前記補助レジス
    タメモリは、前記制御コードラッチから受信した所定の
    制御コード及び所定の外部入力の検出により前記制御コ
    ードラッチに記憶された前記制御コードの前記所定の部
    分の代わりに外部入力に対応している制御コードの所定
    の部分を供給することを特徴とする請求項1に記載の命
    令発生回路。
  3. 【請求項3】各プロセッサ素子が、 作業用レジスタメモリと、 対応するアドレスで複数のM個のデータワードを記憶す
    るためのアドレス可能レジスタファイルメモリと、 前記アドレス可能レジスタファイルメモリの前記対応す
    るアドレスは、アドレス空間の第1の部分を占有し、 対応するアドレスで複数のL個のデータワードを記憶す
    るためのデータ出力レジスタと、 前記データ出力レジスタの前記対応するアドレスは、前
    記第1の部分とは異なる前記アドレス空間の第2の部分
    を占有し、前記複数の処理素子の前記データ出力レジス
    タは、LビットのN個のデータワードを出力するために
    一緒に接続されており、 前記作業用レジスタメモリ及び前記アドレス可能レジス
    タファイルメモリのアドレスされた部分または受信した
    命令に対応している前記データ出力レジスタの間でデー
    タの操作及びデータの転送のために前記作業用レジス
    タ、前記アドレス可能レジスタファイルメモリ及び前記
    データ出力レジスタに接続された論理演算装置と を含んでいる複数のN個のプロセッサ素子と; 対応するアドレスで複数のデータワードを記憶するため
    の補助レジスタメモリと、 前記補助レジスタメモリの前記対応するアドレスは、前
    記第1及び第2の部分とは異なる前記アドレス空間の第
    3の部分を占有し、前記アドレスが前記アドレス空間の
    前記第3の部分内に入る場合に前記レジスタファイルメ
    モリまたは前記データ出力レジスタのアドレスされた部
    分からのデータの転送のために前記処理素子への命令の
    供給により前記補助レジスタメモリ内の対応するアドレ
    スに記憶されたデータを各処理素子の前記作業用レジス
    タに書込むために各処理素子の前記補助レジスタメモリ
    及び前記作業用レジスタに接続された包括的な可変分配
    回路と、 を含んでいる前記処理素子のそれぞれに共通命令を供給
    するための命令発生器と を備えていることを特徴とするプロセッサ装置。
  4. 【請求項4】各処理素子は、前記受信した命令に対応し
    ている前記作業用レジスタのソースの選択のために前記
    作業用レジスタに接続されたマルチプレクサを更に含
    み、各処理素子の前記マルチプレクサは、前記補助レジ
    スタへの接続を含むことを特徴とする請求項3に記載の
    プロセッサ装置。
  5. 【請求項5】各処理素子では、 前記アドレス可能レジスタファイルメモリは、1ビット
    のデータワードを記憶し;かつ 前記作業用レジスタ、前記レジスタファイルメモリ及び
    前記データ出力レジスタは、それぞれ1ビットのデータ
    ワードを記憶し、かつ 前記マルチプレクサは、前記作業用レジスタに書込まれ
    る「1」を供給する「1」入力及び前記作業用レジスタ
    に書込まれる「0」を供給する「0」入力を含み、各処
    理素子の前記補助レジスタと前記作業用レジスタとの前
    記接続は、前記補助レジスタメモリの前記アドレスされ
    たデータワードが「1」であるならば前記マルチプレク
    サに前記作業用レジスタに書込まれる前記「1」入力を
    選択させかつ前記補助レジスタメモリの前記アドレスさ
    れたデータワードが「0」であるならば前記マルチプレ
    クサに前記作業用レジスタに書込まれる前記「0」入力
    を選択させることを特徴とする請求項4に記載のプロセ
    ッサ装置。
  6. 【請求項6】前記命令発生器では、 前記補助レジスタメモリは、マルチビットデータワード
    を記憶している複数のマルチビットメモリと、前記複数
    のマルチビットメモリの一つだけの選択のための前記補
    助レジスタメモリ選択回路と、かつ前記アドレスの最下
    位のビット部分に対応している前記選択されたマルチビ
    ットデータメモリからリコールされたマルチビットデー
    タワードの1ビットを選択するためのデータ選択回路と
    を含むことを特徴とする請求項5に記載のプロセッサ装
    置。
  7. 【請求項7】各処理素子は、 対応するアドレスで複数のJ個のデータワードを記憶す
    るためのデータ入力レジスタ、前記データ出力レジスタ
    の前記対応するアドレスは、前記第1のアドレス空間と
    は異なる第2のアドレス空間の一部分を占有し、前記複
    数の処理素子の前記データ入力レジスタは、Jビットの
    Nデータワードを入力するために一緒に接続されてい
    る、を更に含み、かつ 前記論理演算装置は、前記データ入力レジスタに更に接
    続されかつ受信した命令に対応している前記データ入力
    レジスタのアドレスされた部分へ及びその部分からデー
    タを転送することができるように構成されていることを
    特徴とする請求項3に記載のプロセッサ装置。
  8. 【請求項8】各処理素子は、少なくとも一つの追加作業
    用レジスタを更に含み、 前記論理演算装置は、前記少なくとも一つの追加作業用
    レジスタに更に接続されかつ受信した命令に対応してい
    る前記少なくとも一つの追加作業用レジスタへ及びその
    レジスタからデータを転送することができるように構成
    されていることを特徴とする請求項3に記載のプロセッ
    サ装置。
JP27612590A 1989-10-13 1990-10-15 命令及びアドレス制御回路 Expired - Fee Related JP3145103B2 (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US42147389A 1989-10-13 1989-10-13
US42148689A 1989-10-13 1989-10-13
US421473 1989-10-13
US421486 1989-10-13
US421500 1989-10-13
US07/421,500 US5210836A (en) 1989-10-13 1989-10-13 Instruction generator architecture for a video signal processor controller

Publications (2)

Publication Number Publication Date
JPH03248229A JPH03248229A (ja) 1991-11-06
JP3145103B2 true JP3145103B2 (ja) 2001-03-12

Family

ID=27411314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27612590A Expired - Fee Related JP3145103B2 (ja) 1989-10-13 1990-10-15 命令及びアドレス制御回路

Country Status (4)

Country Link
EP (1) EP0428269B1 (ja)
JP (1) JP3145103B2 (ja)
KR (1) KR0179362B1 (ja)
DE (1) DE69030712T2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212628B1 (en) 1998-04-09 2001-04-03 Teranex, Inc. Mesh connected computer

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4432052A (en) * 1981-04-13 1984-02-14 Texas Instruments Incorporated Microcomputer device using dispatch addressing of control ROM
EP0317218B1 (en) * 1987-11-13 1998-01-28 Texas Instruments Incorporated Serial video processor and method

Also Published As

Publication number Publication date
DE69030712T2 (de) 1997-12-18
EP0428269B1 (en) 1997-05-14
EP0428269A2 (en) 1991-05-22
KR910008594A (ko) 1991-05-31
KR0179362B1 (ko) 1999-05-15
JPH03248229A (ja) 1991-11-06
EP0428269A3 (en) 1993-06-16
DE69030712D1 (de) 1997-06-19

Similar Documents

Publication Publication Date Title
US5628025A (en) Timing and control circuit and method for a synchronous vector processor
US5598545A (en) Circuitry and method for performing two operating instructions during a single clock in a processing device
US5210836A (en) Instruction generator architecture for a video signal processor controller
US5539891A (en) Data transfer control circuit with a sequencer circuit and control subcircuits and data control method for successively entering data into a memory
US5163120A (en) Second nearest-neighbor communication network for synchronous vector processor, systems and methods
KR100283161B1 (ko) 모션 평가 코프로세서
US5909224A (en) Apparatus and method for managing a frame buffer for MPEG video decoding in a PC environment
Lee et al. MediaStation 5000: Integrating video and audio
CA1254659A (en) Programmed implementation of real-time multiresolution signal processing apparatus
US5408673A (en) Circuit for continuous processing of video signals in a synchronous vector processor and method of operating same
US5680600A (en) Electronic circuit for reducing controller memory requirements
US6961084B1 (en) Programmable image transform processor
US5105387A (en) Three transistor dual port dynamic random access memory gain cell
JP3187823B2 (ja) 同期ベクトル・プロセッサのための第2最近接通信ネットワーク、システムおよび方法
US5327541A (en) Global rotation of data in synchronous vector processor
JP3412817B2 (ja) データ入力回路
US5452425A (en) Sequential constant generator system for indicating the last data word by using the end of loop bit having opposite digital state than other data words
CA1309185C (en) Stored-program controller with a conditional branch facility as for a video signal processor
JP3145103B2 (ja) 命令及びアドレス制御回路
US5293637A (en) Distribution of global variables in synchronous vector processor
US5239628A (en) System for asynchronously generating data block processing start signal upon the occurrence of processing end signal block start signal
KR100199073B1 (ko) 동기 벡터 프로세서 내의 신호 파이프라이닝
US6334180B1 (en) Processor coupled by visible register set to modular coprocessor including integrated multimedia unit
AU622879B2 (en) Pixel interpolation circuitry as for a video signal processor
JPH11112873A (ja) 画像処理方法及び装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees