JPS58101345A - コンピユ−タ制御装置 - Google Patents

コンピユ−タ制御装置

Info

Publication number
JPS58101345A
JPS58101345A JP57154730A JP15473082A JPS58101345A JP S58101345 A JPS58101345 A JP S58101345A JP 57154730 A JP57154730 A JP 57154730A JP 15473082 A JP15473082 A JP 15473082A JP S58101345 A JPS58101345 A JP S58101345A
Authority
JP
Japan
Prior art keywords
address
microinstruction
output
stack
input
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.)
Granted
Application number
JP57154730A
Other languages
English (en)
Other versions
JPS635776B2 (ja
Inventor
ゴ−ドン・エル・デマス
ジヨン・イ−・ヒンクル
ジエイ・ト−マス・モ−ラン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS58101345A publication Critical patent/JPS58101345A/ja
Publication of JPS635776B2 publication Critical patent/JPS635776B2/ja
Granted legal-status Critical Current

Links

Classifications

    • 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 本発明の分野 本発明はデータ・プロセッサに関し、具体的には高速信
号処理コンピュータのための制御装置に関する。
本発明の背景 大部分の先行技術に基く汎用ディジタル・コンピュータ
は、主記憶装置が一方で局外の二次記憶装置に接続され
、他方で中央処理ユニットへ接続された中央システム構
成を採用している。主記憶装置のハードウェアは、しば
しば階層レベルに分割され、小型の迅速アクセス作業記
憶装置は直接に中央処理・ユニットへ接続され、バッキ
ング・レベルの大型低速アクセス大容量記憶装置は、最
初の高速作業記憶装置レベルへ接続される。例えば、K
11burnその他による米国特許第3218611号
は、特定のデータがどこに記憶されているかを追跡する
ディレクトリ・レジスタを有する階層構成を説明してい
る。
主記憶装置における記憶階層の要求は、メモリのペース
をCPU速度と合わせる必要性から生じるとともに、同
時に、大量の計算問題を処理する必要から要求される大
きな物理的メモリ・サイズを与えるためである。しかし
、大型サイズと迅速なアクセス速度は、主記憶装置の設
計上両室しない目的である。何故ならば、メモリ容量が
増大すると、それだけ物理的パッケージは大きくなシ、
これは転送時間を増大させるからである。主記憶装置の
階層構成は主記憶装置とCpUとの間の速IfJマツチ
させることができるが、別個の記憶転送制御プログラム
に対する必要性をもたらす。このプログラムは、大容量
記憶装置と作業記憶装置との間、及び作業記憶装置と演
算処理ユニットとの間で、データ転送を調整する。更に
、基本的な演算データ処理タスクを実行するための監視
兼演算処理制御プログラムも必要である。
演算パイプライン演算を有する信号処理コンピュータに
独特の他の問題も生じる。信号処理演算動作は高度に反
復的であり、シーケンシャルなパイプライン構成がその
ような動作を実行させる場合のスループットを実質的に
改善することが発見された。例えば、G、L、Krat
zその他による米国特許第4041461号は、ビーム
形成、有限インパルス応答(FIR)濾波、及び高速フ
ーリエ変換(FFT)のように、高度に反復的な信号処
理動作を実行するだめの順次パイプライン演算構成を含
む演算プロセッサを説明している。演算パイブライ、ン
を制御するため、演算エレメント・コントローラが、そ
れ自体のマイクロ゛命令シーケンサを含む演算プロセッ
サ中に含まれる。この演算エレメント・コントローラは
別個の制御プロセッサによって制御される。この制御プ
ロセッサは、全体的信号処理動作のための監視兼記憶マ
ネジャとして働く。また、第3のプロセッサが大容量デ
ータ記憶装置と作業記憶装置との間、及び大容量データ
記憶装置と入出力チャネルとの間で、データ転送を制御
する。Kr、atzその他による米国特許で説明された
システムは、高速フーリエ変換のように高度に反復的な
1つの動作を延長された計算時間で実行するためには良
好に働くが、いくつかのプロセッサは、1つの種類の処
理タスクから他の種の処理タスクへ切替えるため、かな
り長い切替時間を必要とする。かくて、比較的短い時間
間隔の中で、ビーム形成計算タスクから有限インパルス
応答濾波タスクへの切替え、次いで、高速フーリエ変換
計算への切替が望まれた場合、Kr a t zその他
の米国特許に説明された制、御アーキテクチャ−は、そ
のような切替えを容易には許さない。
制御プロセッサは、その監視兼記憶管理機能を実行しな
ければならず、かつ記憶転送コントロー、う及び・演算
エレメント・コントローラへ、望まれる′新しい種類の
タスクを実行するために必要な新しいタスク・シーケン
ス及びパラメータ、S伝達しなければならないっ 本発明の目的 本発明の目的は、階層記憶構成を必要とせず、大容量記
憶装置のアクセスと演算処理ユニットの速度とをマツチ
させる改善されたデータ処理システムの制御装置を提供
することである。
本発明の他の目的は、メモリ転送、演算処理及び入出力
転送に対する記憶プログラム制御を単純−化する、デー
タ・プロセッサのための制御機構を提供することである
本発明の他の目的は、先行技術よりも早い時間内で1つ
のタスクから他のタスクへ変化させるため、パイプライ
ン演算、アーキテクチャ−のための柔軟性に富んだ制御
機構を提供することである。
本発明の要約 本発明の目的は、ここに開示される機能プロセッサのた
めの制御ユニットによって達成され石っこの機能ユニッ
トは、データ転送及び2レベル・メモリ・システムに関
連した転送制御を除くことによって、プログラミングの
複雑性を最小にし、かつパイプライン演算アーキテクチ
ャ−におけるプログラム・タスク切替えの柔軟性を改善
・する。
これは、メイン・メモリ(MM)アドレス又はアドレス
増分を記憶するメモリ・アドレス・スタックへアクセス
し、かつ係数メモリ・アドレス又はLドレス増分を記憶
する係数アドレス・スタックへアクセスし、かつブラン
チ及びループ制御パラメータを記憶するマイクロ命令シ
ーケンス制御ブランチ・スタックへアクセスするための
共通のページ・アドレシングを使用することによって達
成される。これによって、外部的制御及び関連した実行
時間のオーバヘッドなしに、信号処理サブルーチンの長
いシーケンスを連鎖することができる。
マイクロプログラム記憶装置は、マイクロ命令がマイク
ロ命令シーケンサによって順序付けられるマイクロプロ
グラムを含む。マイクロ命令は、共通のページ番号を使
用して、ブランチ・パラメータ・スタックから一連のル
ープ・サイクルの最初のものを呼出し、メイン・メモリ
・アドレス・スタックから演算プロセッサ中で処理され
るべき関連オペランドのためメイン・メモリの開始アド
レスを呼出し、係数スタックから、そのマイクロ命令期
間中パイプライン演算ユニットにあるオペランドと共に
処理されるべき関連係数の最初のものを呼出す。更にメ
イン・メモリ・スタックは、演算ユニットがその機能を
完了した後に、処理されたデータを書込むべきメモリ・
アドレスを含む。
更に同一のマイクロ命令は、演算パイプラインにおいて
、そのマイクロ命令期間に実行されるべきスクラッチ・
パッド・メモリ動作と演算エレメントとを呼出す。結果
のプロセッサ・システムは、メモリ転送、演算処理、及
び入出力転送の開始を実行するため、単一のマイクロプ
ロゲラ本を必要とするのみである。
不発用に関連した他の特徴は回帰バッファ動作である。
この動作において、複数のメイン・メモリ・モジュール
が、演算ユニットにある複数のスクラッチ・パッド・バ
ッファの各々へ、同期的態様で循環的に接続される。そ
れによって、メモリ転送、演算処理及び入出力転送の結
合動作のスループットが最大にされる。他の特徴として
、制御ユニットは二重クロック構成を使用する。この構
成によって、スクラッチ・パッド記憶エレメント及び演
算エレメントは、マイクロ命令がマイクロプログラム記
憶装置からアクセスされる速度の2憧で動作するように
、選択的に制御されることができる。パイプライン演算
アーキテクチャ−のたメ+7) 制御ユニットは、ルー
プ兼ブランチ制御動作と、記憶アクセス動作及びパイプ
°ライン演算動作とを緊密に結合して制御し、プログラ
ミング・タスクの変更に対して、即時のかつ柔軟性ある
応答を与える。
システムの概要 緒言 広範囲の処理機能を柔軟にかつ効率的に実行することの
できるパイプライン演算アーキテクチャ−について新し
い制御方式が説明される。制御ユニット及び演算ユニッ
トの全体的組合せは、機能処理エレメント(FPE)と
呼ばれる。
FPEアーキテクチャ−の説明 FPEアーキテクチャ−は、広範囲の信号処理機能を柔
軟にかつ効率的に実行するよう設計されている。FPE
はモジュラ−形の演算/メそり・ユニット(AMU)及
び制御ユニツ)CCU)を使用し、これらのユニットは
初期プログラム・ロード(IPL)を介して機能的に組
込まれる。それぞれの機能的に組込まれた処理セグメン
ト内で高度の予備動作を可能とするため、システム監視
コントローラとの相互作用は最小にされる。CU及びA
MUの集合はマイクロプログラム化゛することができ、
大型システムに関連した処理機能を実行するため相互接
続される。CUへ組込まれた特殊機能は、機能的に組込
まれたプロセッサの内部制御能力を高め、システム監視
コントローラの介入を最小にする。
AMU及びCUアーキテクチャ−と共に使用されること
のできる広範囲な信号処理機能によって以前には独特の
個別的に設計されたユニット(ビーム形成ユニット、濾
波ユニット、高速フーリエ変換ユニット、広帯域処理ユ
ニットなど)の中で実行された機能について、同一のマ
イクロプログラム可能なエレメントを使用することが可
能となる。更に、各機能について特別に設計されたアー
キテクチャ−が使用される場合の如く、異った機能を実
行する時にも、マイクロコード・フォーマットは変化し
ない。かくて、大型システム内のハードウェアの共通性
が、基本的ハードウェア・モジュール・レベル及ヒ機能
ユニット・レベルニ対して拡張され1.マイ久ロコード
・フォーマットの共通性がシステム全体を通して存在す
るようになる。
FPEの特性 信号処理に対してFPEを広く適用するため、次のよう
な設計上の特性が限定された。
処理 a、多次元空間・時間)濾波及びスペクトル分析。
FPEは多次元FFT、周波数領域ビーム形成、時間領
域ビーム形成、周波数帯域シフト及び帯域形成を実行す
ることができる。
b0回旋及び相関。
FPEは、整列、限定、アレイ分割及び変換領域空間処
理の如きソーナー機能のために、直接又は変換領域で回
旋及び相関ずけを実行することができる。
C8検出及び事後検出動作。
FPEは、値及び平方された値の検出、積分雑音平均評
価、再量子化及び出力データのバッキングを実行するこ
とができる。
パラメータ a、濾波機能 FPEは有限インパルス応答(FIR)又は無限インパ
ルス応答(IIR)を濾波する。FIR濾波は、任意の
整数データのデシメーション及び/又は挿入率で計算さ
れることができる。
計算効率は、対称的なインパルス応答に対して2倍にさ
れる。IIR濾波は、基本ステージのマイクロプログラ
ムを反復して適用することにより、カスケード状2次ス
テージを使用して構成されることができる。
b、FFT。
FPEは基数2及び混合基数F F、 Tを与える。
混合基数FFTは周波数領域ビーム形成で直交Jサンプ
リングを行うために必要である。
C,プロセッサは分散した主記憶装置から覗られたデー
タの上で働く(作業記憶装置は必要でない)。
演算エレメントは、大型のランダムにアドレス可能なメ
モリから得られたデータをアドレスすることができる。
これは2次元FFTの苦しい問題を軽減する。主記憶装
置から作業記憶装置へ(又はその逆)のデータ転送は除
かれる。
d、内部レコード端データ処理。
FPEは回帰スクラッチ・パッド及びメイン・メモリに
データを記憶しくモジュロ・ラップ)、従って、一時的
レコードの端部におけるサンプル(バッチ)は、特別の
処理を快しない。例としては、濾波インパルス応答がレ
コード端を取囲み、前のレコード及び現在のレコードか
ら信号サンプルが必要とされる時である。
アーキテクチャ− a、マイクロコード化パイプライン・プロセッサ。
高度利用信号処理機能の大部分は、回旋フィルタの変化
である。基本的動作は、信号サンプルの有限の組を重み
すけ、合計をとることである。従って、この能力を含む
マイクロコード化パイプライン・プロセッサは、ビーム
形成、帯域形成、スペクトル分析、平滑化、積分などの
、広範囲の信号処理機能を高速で実行するため効率的に
働く。
b0分散された処理、メモリ及び制御。
処理及び制御の分散によって、システムの機能セグメン
トを更に独立して開発することができる。機能の追加又
は変更は、他の機能による共用プロセッサの時間使用に
依存しない。分散メモリはメモリ階名におけるレベルを
1つだけ減少させ、かつアクセスの競争を除く。分散さ
れたメモリ・モジュールは、バス接続を介して1つの分
散メモリから他の分散メモリへデータを転送するように
設計されてbる。
(!+ 標準的ハス・インターフェイス。
AMUは外部データ転送及び演算エレメント転送のため
に別個のボートを有している。2つのボートは同一の基
本記憶モジュ6−ル(BSM)′からは働かず、従って
、タイムシェアリング及び競争は外部転送における要因
とはならない。
d、データ・ブロックのバッチ処理。
システム監視コントローラの介入を最小にするため、大
量のデータ・バッチがAMUの中で処理される。その結
果、外部同期及びデータ転送制御要件は、それほど緊密
に分散プロセッサへ結合されない。
e、単一レベルの制御及びメモリ。
プロセッサは2つの基本ユニットを含む。それらは、第
1図に示されるように制御ユニット(CU)2及び演算
/メモリ・ユニット(AMU ) 4である。制御ユニ
ット2は、AMU4の演算パイプライン動作の各マシン
・サイクルに必要なマイクロプログラム制御を与え、か
つメイン・メ、モリ6と外部入出力待ち行列バッファと
の間でデータを転送するために必要なアドレシングとタ
イミングを与える6制御ユニツト2は、1つ又はそれ以
上の演算/メモリ・ユニット4へ接続されることができ
る。1つを超えるAMU4がCU2へ接続された時、全
てのAMUはロックされたステップで同じ動作を実行す
る。
AMU4のパイプラインは、実数又は複素数のデータを
−伴う、広範囲の前方送り及び後方送りの信号処理アル
ゴリズムを効率的に実行するように設計される。加算機
能10′は、プロセッサのスループットを増大させるた
め、アルゴリズムの計算を節減する因数分解を可能にす
る。例えば、対称FIRフィルタにおける同一のインパ
ルス応答係数によって乗算される信号サンプルの加算と
、Winograd形のアルゴリズム(例えばW i 
n o g r a dフーリエ変換)で同一の重みを
受取る変数の加算との因数分解である。これについての
詳細は、音響学についてのI EEE )ランザクジョ
ン「音声と信号処理J (Speech′and  S
ignalProaeasinglVol、ASSP−
25,42、Apri11977、H,Fm Silv
erman、An  Introductionto 
 Programming  the  Winogr
ad¥o・urier Transform Algo
rithm(WFTA))を参照されたい。
乗算器12の出力で2″5の加算(又は累算)を実行す
ることのできる能力は、2点FFTノ(ターフライの如
く複素数データ処理で使用される。このアルゴリズムの
大部分の簡単な因数分解においては、4つの乗算及び6
つから8つまでの加算か使用される。逆に、大部分の濾
波動作は、乗算ごとに1つの累算動作を必要とするのみ
である。後に演算/メモリ・ユニットに関して説明する
ように、乗算・加算速度に関するこの要件の対立は乗算
器12の速度の2倍で動作する演算論理ユニツ) (A
LU)を、加算機能20′ のために使用することによ
って解消され、従って追加のノ・−ドウエアは導入され
ない。
制御ユニット2は、メイン・メモリ・アドレス及びアド
レス増分、係数記憶装置アドレス及びアドレス増分、カ
ウント関数ブランチ(RFC)ノ(ラメータを記憶する
ための1024段になったスタック14を使用する。こ
れによって、外部制御及び関連した実行時間のオーバヘ
ッドなしに、信号処理サブルーチンの長いシーケンスを
連鎖することができる。
信号処理アルゴリズムをマイクロコード化した経験によ
れば、アルゴリズムは通常8個より少ないレジスタのス
タックを必要とする。従って、信号処理マイクロプログ
ラムを連鎖し、かつそれを異なった初期化パラメータと
使用するなめ、1024個のレジスタを有するスタック
14はページへ副分割される。その副分割は、状況ビッ
トをセットしてページを識別するリンク・マイクロ命令
を使用することによってなされる。状況ビットは、スタ
ック14をそれぞれ16個のレジスタより成る64個の
ページへ分割する。
初期プログラム・ロード(IPL)の段階で記憶された
多数の初期化パラメータは、スタック14の内容を以後
変更することなく、多くの処理連鎖が実行されることを
可能にする。変更が必要とされるときにも、その頻度は
少なく、結果として生じるシステム監視コントローラと
の相互作用は最少にされる。
他の特徴は、5つの(即ち、メイン・メモリ・アドレス
、係数アドレス、マイクロプログラム・アドレス)の各
スタックのために、16個の現アドレス・レジスタを含
むことであるっスタック中に記憶されたアドレスは、指
定された現アドレス・レジスタヘロードされることがで
き、次いでこのアドレスは、ベース・アドレス/増分ス
タックの内容を変更することなく、増加されることがで
きるっその結果、マイクロプログラムは、ペース・アド
レス/増分値をスタック中に復元することを記憶してお
く必要はない。何故ならば、それらの値は変更されない
からである。多数の現アドレス(走行中のアドレス)を
同時に保持しておくことができるので、アドレス発生に
かなりの柔軟性が得られる。
制御ユニット2のアドレス発生器は、メイン・メモリ6
のバッファ・アドレスを回帰さセルことができる。バッ
ファ・アドレスの回帰能力は、入力スクラッチ・パッド
16のためにも含まれ、がつFIR濾波、FFT平滑化
1.及び他の滑走感型機能のためにマイクロコード・サ
ブルーチンの反復的変化例をコード化する必要性を除く
。メイン・メモリのアドレス発生器18は、基本記憶モ
ジュールの境界(データ・バッチ)を横切ってアドレス
することを可能にし、レコード端に近いデータ・ポイン
トを処理する特別のマイクロコードに対する必要性を除
く。
FPEモジュール(Cu2及びAMU4)は、システム
監視コントローラの最小の介入しか必要としない、機能
的に組込まれた処理モジュールにおいて、多様な信号処
理を行なうように設計されている。典型的なプロセッサ
構成の単純化された例が第2図に示される。
演算/メモリ・ユニット(AMU ) 演算/メモリ・ユニット4に関連する設計パラメータは
表1にリストされている。演算/メモリ・ユニット4の
更に詳細なブロック図は第3図に示される。メイン・メ
モリ6Iri演算パイプライン・エレメントへ専属化さ
れ、他の演算エレメントと共用されない。もつと大型の
システム構成では、1個のAMU4の出力オペランドは
、外部転送ボートを介して次の処理段階を実行するAM
Uへ通される。第2のメイン・メモリ・ポートは、演算
エレメント4のスクラッチ・パッド16との間でオペラ
ンドを転送する。要するに、演算/メモリ・ユニット4
は、マイクロ命令制御の下で、メイン・メモリ乙の1つ
又はそれ以上の基本記憶モジュールから直接に働く。演
算/メモリ・ユニット4は、分散したメイン・メモリ6
から直接に転送されたデータ上で働くから、作業記憶装
置又はメイン・メモリ乃至作業記憶装置の転送制御は必
要でない。マイクロ命令は、4MHzマシン・サイ\ クルで、メイン・メモリ6及びスクラッチ・パッド16
のアドレシング、データ転送のスイッチング、tinす
、ALU動作、係数選択、丸めなどの全てを制御する。
スクラッチ・パッド16は、第3図に示されるように機
能的にはSPOからSF5とラベルを付された6個の部
分に割当てられている。メイン・メモリ6からスクラッ
チ・パッドspo、SPl、SF3への全てのデータ転
送は丸め装置21によって右方ノットされることができ
る。この丸め動作は、マイクロコードによって直接に指
定されることができ、又はFFTブロック浮動小数点丸
め動作のために、データに依存させることもできるース
クラッチ・パッドSPO及びSPlは、全ての滑走感型
アルゴリズムのために、回帰バッファ・アドレシングを
有する。回帰バッファ・アドレシングは、と・れらのス
クラッチ・バラ)’、!7)中で、書込み及び読出し動
作のために使用され、書込み及び読出しアドレスを増加
させるためのモジュロ16の加算器を使用することによ
って達成される。この特殊機能の使用例は、後にFIR
濾波の処理フローを説明する際に示す。
IIR濾波及び4点FFTバターフライのようなフィー
ドバック・アルゴリズムの場合、ALUloへ入力を待
ち行列゛させるため、スクラッチ・パッドSP5が使用
される。フィードバックのための別個スクラッチ・パッ
ドは、メイン・メモリ6からの転送と書込競争が生じる
のを除く。A’LU10は、重みずけの前に1対のオペ
ランドを合計すΣことを可能にし、よってFjR濾波の
如きアルゴリズムについて、パイプラインのスループッ
トを2倍にする。この特殊機能の例は、後にFIR濾波
の処理フローを説明する時に示す。重みすけされた1対
が必要とされない時、オペランドは直接に加算器10を
通って乗算器12へ送られる。
表  1 演算/メモリ・ユニットのパラメータ ・4 M Hzマシン・サイクル ・マシン・サイクル当りの機能 (半精度のオプションも同じモジュール・タイプを使用
する) 事前加算(16+16) 乗算(16X’167 2個のアキュムレータ(32+32) 6個の位取り装置 丸め装置(62→16) 振動バッファ・メイン・メモリ 演算エレメントとの間の4 M Hz転送インターフェ
イスとの間の4MHz転送乗算器12の第2ポートは、
係数記憶装置24又は5PO1SP5から入力を受取る
。係数記憶装置24の入力は、濾波インパルス応答サン
プル、1のFFT累乗累乗上−ム形成開孔遮断加重、粗
レゾリュージョン帯域シック・サンプルなトラ表わす。
5PO1SP5からの入力は、平方数(y=x2 )、
複素数共役乗算、直接実施相関などのために使用される
。乗算器12に続く位取り装置22は、累算のオーバフ
ローを防止するため使用されるとともに、ALU20と
結合して、要項積分のような1次線形差分方程式におけ
る( 1−2−’)の重みを形成するために使用される
。位取り装置22は乗算器12又はSF3、SF3、S
F3がら入力を受取る。
ALU20は多様な機能を持つ演算論理ユニットであシ
、積分、ビーム形成゛、一時的FIR濾波部分合計、・
数量近似、出力データの再量子化及びバッキングなどの
ためにスクラッチ・パッドSP5、、及びSF3と結合
して使用される。スクラッチ・パッドSP2は、スクラ
ッチ・パッドSP3及びSF3へ書込む場合の競争を避
けるため、メイン・メモリ6からデータを転送するため
に使用される。
乗算器12より後の全ての処理ブロックは、8MHzで
動作し、基本マシン・サイクルごとに2つの動作が実行
される。これによって、ALU及びスクラッチ・パッド
の形式でハードウェアを付は加えることなく、必要に応
じて、加算対乗算率(加算/乗算)を2:1へ増大させ
ることができる。この比率は、FFTのようなアルゴリ
ズムのために必要である。
位取り装置23は、52ビツトから16ビツトへ丸めを
実行する前に、最有意のノ・−フ・ワード方向へデータ
を左方シフトするために使用される。
飽和出力にはオーバフローが発生する。丸め装置26は
、スクラッチ・パッドSP5又はSF3へ転送するため
の丸め出力を発生する。完全な32ビツトの出力は、ス
クラッチ・パッドSP6へ転送するためのものであシ、
短縮された16ビツトの出力はスクラッチ・パッドSP
5へ転送するためのものである。スクラッチ・パッドS
P6は、メイン・メモリ6へ出力を転送するための待ち
行列バッファとして使用される。SF3から上方又は下
方のハーフ・ワード(16ビツト)を転送することによ
って、メイン・メモリ6へ二重に転送することができ、
隣接したアドレス・ロケーションヲ使用して、フル・レ
ゾリュージョンの32ビツト・オペランドがメイン・メ
モリ乙に記憶される。
状況ビット論理28は、前のFFT段階の実行において
最有意ビットが発生したことを感知し、浮動小数点の位
取りを禁止し、SP2/SP3又はS P 5/SP 
4からALU20へ条件付きでデータを転送し、前のA
LU20の動作によって発生された符号の関数として条
件付きブランチを実行するために使用される。
メイン・メモリ6のモジュラ−性及び相互接続は第4図
に示される。基本記憶モジュール(BSM)は、64に
ワード×16ビツトである。データ転送速度は、基本記
憶モジュールに対して4MHzである。第4図に示され
るように、各基本記憶モジュールは、2つのソースの1
つから入力データを受収り、2つのシンクの1つへ出力
データを送るように割当てることができる。メモリ・モ
ジュールは、回帰バッファ様式で割当てることができる
。通常、1個の基本記憶モジュールが外部ポート30へ
割当てられ、2個の基本記憶モジュールが内部(演算エ
レメント転送)ポートへ割当てられる。2個の基本記憶
モジュールが演算ニレメン)(AE)データ転送のため
に使用される時、2個の連続したバッチから得られたデ
ータは、AEによる使用のために利用可能となり、レコ
ード端又はバッチ端に近いデータを処理するため、特別
のマイクロコードが必要となることはない。1づのモジ
ュールは最新のバッチを含み、他のモジュールは古いバ
2ツチを含む。
マイクロ命令中の制御ビットは、基本記憶モジュールの
割当てを回帰させるために使用される。
振動バッファ又は回帰バッファが使用されない時、外部
データ転送のために、サイクル・スチール動作を使用す
ることができる。
制御ユニットの概観 %FPEの制御は、単一のコントローラ及びプログラム
記憶装置を用いて達成される。プログラム記憶装置は、
信号処理サブルーチン及び標準的リンケージ・プログラ
ムのライブラリィを含む。
全てのプログラミング(サブルーチン及びサブルーチン
のリンケージ)について、単一レベルのコントローラ及
び単一の命令フォーマットを使用することにより、プロ
グラミング・タスクが顕著に単純化される。
制御ユニット2は、マイクロプログラム記憶装置39に
記憶されたマイクロ命令を介して、各マシン・サイクル
のために全ての演算エレメント・パラメータを限定し、
マイクロプログラム・シーケンサ38を介して、演算エ
レメント動作を連鎖する。マイクロ命令は、Cu2に関
連したAMU4のために、メイン・メモリ6及びスクラ
ッチ・ハツト16のアドレシング、データ通路の切替え
、位取り、ALU動作、係数選択、丸めなどの全てを制
御する。Cu2は1つ又はそれ以上のAMU4を制御す
ることができ、1個を超えるAMU、4が接続された時
、それらは全てロックされたステップで動作する。
マイクロ命令のフォーマットは第5図に示される。マイ
クロ命令の基本フィールドは、次のような事項を制御す
る。
a、メイン・メモリ6/スクラツチ・パッド12のデー
タ転送 り、ALUloの機能及びデータ・ソースの制御C6乗
算器12の入力及び係数記憶装置24の制御 d、ALU20の機能、データ・ソース及びデータ宛先
の制御(2つのサブサイクル) e、丸め装置26の機能及びデータ宛先の制御16位取
り装置の制御(3つの位取り装置21.22.26) g、マイクロプログラム・シーケンスのためのブランチ
制御 り0条件付き動作、コントローラにおけるアドレス・ス
タック・ページングのために状況ビット論理を制御する
こと。
メイン・メモリ6とスクラッチ・パッド16との間のデ
ータ転送の特徴は次のとおシである。
1、 メイン・メモリ6とスクラッチ・パッド5PO1
SP1、SF3の双方について、循環ファイル・アドレ
シングが行われる。
2、演算ユニットはメイン・メモリ6から直接働く。
6、 アドレス増分機能が設けられる。
4、データに依存するメイン・メモリのアドレシングが
計算される。
ベース・アドレス及び増分値は、決して変更又は更新さ
れない。従ってマイクロプログラマは、それらを元の値
へ復元することを覚えておく必要はない。
ALUloの制御の特徴は次のように要約できる。
1、 それは8機能のALUである。
2、 フィードバック又はメイン・メモリ及びスクラッ
チ・パッドの入力は、Aポートについて選択可能である
6、スクラッチ・パッドSPO及びSPlについて、循
環ファイル・アドレシングが存在する。
、4.ALUloは、対称インパルス応答及びアルゴリ
ズムのWinograd因数分解を伴うFIR濾波につ
いて優先的に使用される。
係数制御 マイクロ命令の係数制御フィールドは、次のような能力
を有する。
1、 スクラッチ・パッド又は乗算器12の第2ポート
への係数人力が選択可能である。
2、係数記憶装置24について、アドレス及び増分の指
定が行われる。
6、係数記憶装置24の1部分から、データに依存した
テーブル・ルックアップが実行される。
ALU20の制御(サブサイクル1/2)ALU20の
制御フィールドは、基本の4 M Hzマシン・サイク
ルごとに2つのALU実行を可能とするため反復される
。制御機能の特徴は次のとおシである。
1、基本の4 M Hzのマシン・サイクルごとに2つ
の実行が生じる。
2、入力は5つのスクラッチ・パッドの1つから選択さ
れる。
6、部分合計/即時的結果は、2つのスクラッチ・パッ
ドのいずれかへ記憶される。
4、それは16機能ALUである。
5、ALU20はアキュムレータとして優先的に使用さ
れる。更にそれは数量近似及び再量子化に使用される。
丸め装置26は次のような特徴を有する。
1、16ビツト又は62ピツトの出力が利用可能である
2、左方シフトは、オーバフローを伴う飽和値を生じる
6 基本の4 M Hzマシン・サイクルごとに、2つ
の実行が生じる。
位取り制御 演算パイプライン・エレメントを通して、位取り装置2
1.22.23が分散されている。
1、 位取り装置21は、FFTブロック浮動小数点の
ために、データに依存した制御オプションを有する。
2、位取り装置22は、累算過程におけるオーバフロ□
−を防止する。
乙、 位取り装置23は、16ビツトの丸められた出力
のためにデータを位置ずけるために使用され、かつ任意
選択的なデータに依存した制御を有する。
位取りは、量子化の歪みを最小にし、かつ同時にスペク
トル分析の前に飽和の歪、みを防止するため、AMUJ
内で実行される広範囲の利得調整を含む。位取り装置2
1は、演算パイプラインへ転送された16ビツト・オペ
ランドの上で、0から7ビツトまでの右方シフトを実行
する。ALU 10における1対のオペランドの合計は
、オーバフローを防止するため1ピツトの右方シフトを
必要とし、固定した位取り因数であってよい。
逆に、長いFFTは変換出力で広いダイナミック範囲を
必要とし、先天的に、計算の全段階を通してオーバフロ
ーを防止する位取りは、利用可能なビットの非効率的使
用を招く。従って、ブロック浮動小数点位取り及びデー
タ依存の位取りが実行されてよい。その場合、FFT計
算の次の段階で使用される位取り因数は、前の段階で発
生した最大絶対値の関数である。基数2.3.4.5の
段階では、要求される最大の右方シフトは約4ビツトで
あり、これは位取り装置21の能力範囲内Cある。
位取り装置22は、32ビツト・オペランドを0ビツト
から15ビツトまで右方シフトすることができる。重み
ずけられた合計におけるアキュムレータ入力の位取りは
、重みの絶対値の合計の逆数より大きくない因数を使用
すべきである。これは1から2′15まで因数範囲を与
え、十分過ぎるほどである。更に、これは要項積分のよ
うな1次線形差分方程式における柔軟な時定数制御を与
える。
位取り装置26は、丸める前に有意のデータ・ピットを
上半分の量子化位置へ置くために使用される。
ブランチ制御 マイクロプログラム・シーケンスのブランチ制御は、外
部の制御なしに、多数の信号処理サブルーチンの連鎖を
可能にする。これは、システム監視コントローラの側で
頻繁なアクションを取る必要性を除く。ブランチの特性
は次のとおりである。
1、 ブランチ形式 条件付き カウントの関数 ブランチ・アンド・リンク 2、 アドレスへのブランチ、アドレス+変位へのブラ
ンチ 3.512までの入れ子ループ 4、 カウント・パラメータのブランチ機能について、
512ワードのスタック 5、?;ブランチスタックは外部的にロードされること
ができる (以下余白) 況(スタック書ポインタ制御) このフィールドは、マイクロ命令シーケンサ・スタック
、メイン書メモリ・アドレス・スタック、係数記憶装置
アドレス・スタックにおけるページ制御のために使用さ
れる。更に、それは状況ビットをセット及びリセットす
るために使用される。
状況ピッ)O(SBO)は、閾値動作の関数として、条
件付きブランチ及び条件付きデータ選択のために使用さ
れる。状況ピッ)1(SBi)は、条件付きブランチの
ために使用される。
信号処理において大きい計算負荷を表わす若干の信号処
理アルゴリズムが、AMU4における処理フローを例示
するため選択された。
FIR濾波 対称インパルス応答を有する偶数長さのFIR瀘波が第
6図に示されるフローのために使用される。濾波式は次
のように表わすことができる。
YDiは時点Diにおける濾波出力サンプルを示す。
D=デシメーション率 hk=に番目のインパルス応答サンプルX =時点mに
おける濾波入力信号サンプルフィルタの長さは偶数であ
るから(L/2=整数)、インパルス応答係数によって
乗算される前に相互に加えられる2つの信号サンプルは
、常に奇数及び偶数のサンプルである。従って、回帰バ
ッファ・スクラッチ・パッドSPO及びSPlにロード
する場合、偶数サンプルはSPOにロードされ、奇数サ
ンプルはSPIにロードされる。加重前に加えられる2
つのサンプルは、常にALUloの別個のポートで利用
可能であり、ALU10を用いてカッコ内の一対のサン
プルの合計をとることができる。次にサンプル対は、乗
算器12を使用して加重される。係数記憶装置24は、
hk係数を与える。位取り装置22は、L/2加重サン
プル対の合計におけるオーバフローを防止するために使
用される。前に、位取り装置21は、奇数及び偶数サン
プルの合計におけるオーでバフローを避けるため、メイ
ン・メモリ6から偶数及び奇数のサンプルを転送する間
に使用された。ALU20及びSF3は、加重サンプル
対の合計に使用される。SF3は、部分合計記憶装置と
して使用される。全てのL/2対が合計嘔れた時、出力
は、16ピツトへ丸めるため、位取9装置26及び丸め
装置26へ送られる。出力サンプルは、メイン・メモリ
6へ転送するため、SF3の中で待ち行列にされる。濾
波サブルーチンは各出力サンプルのために反復され、出
力毎にL/2マシン・サイクルを必要とする。必要なメ
イン・メモリ6の転送の数はD+1である。D個の新し
い入力サンプルはスクラッチ・パッド16へ送られ、1
つの出力サンプルが転送される。転送サイクルの数と計
算サイクルの数とを等式化すると、L=2D+2を得る
。2のデシメーションについては、濾波処理は、Lが6
又はそれより大であ不時、演算エレメント・スループツ
l十分に利用する。従って、実用的な全てのフィルタに
ついて、アーキテクチャ−は良好にマツチする。
第7図はSPO及びSPlのモジュロ16アドレシング
が、どのようにして濾波を単純化するかを示す。上方の
列はSPOに記憶された偶数サンプルを表わし、下方の
列はSPlに記憶された奇数サンプルを表わす。最初の
濾波出力は、信号サンプル0から7までを含むものと仮
定する。サンプル0及び7はALU 10へ送られ、加
算され、加重され、次いでSF3へ記憶される。SPO
のアドレスは1だけ増加され、spiのアドレスは1だ
け減少され、サンプル2及び5が、加重前に合計のため
に利用可能となる。これはもう2回だけ反復され、サン
プル対4−5及び6−1が、加重前゛に、合計のために
利用可能となる。次にSPoのアドレスが2だけ減少さ
れ、SPlのアドレスが4だけ増加され、サンプル2か
ら9までに関するフィルタ計算が開始される(デシメー
ションが2である時)。SPOが1だけ増加され、SP
lが1だけ減少される内部ループが反復され°る。
奇数及び偶数サンプルをスクラッチ・パッド16ヘロー
ドするため、同様な手順が使用される。
2つのスクラッチ・パッドについて、アドレス増分は1
であり、それぞれの内部ループ実行毎に一対のサンプル
(D=2)がスクラッチ・パッド16へ転送される。
第8図は、スクラッチ・パッドSPO及びSPlの回帰
バッファ中アドレシングのために、単純な4ビツト・ス
ライス加算器42、マルチプレクサ44、アドレス・レ
ジスタ46、増分器48がどのようにしてモジュロ16
加算器として使用されるかを示す。
高速フーリエ変換(FFT) 複素数データ及びフィードバックを含むフローを例示す
るため、4点FFTバターフライが選択された。第9図
に示されるように、4点バターフライは、2個のFFT
段・階の各々について一対の2点バターフライの実行を
表わす。、第1段階へ入力される4つの複素数データ・
サンプルの中で、2つのサンプル(C%D)は1の累乗
機によって乗算されねばならないが、他の2つのサンプ
ル(A、B)はそうでない。
サンプルC及びDはメイン・メモリl’ら位取り・装置
21會介してスクラッチ・パッドSPOへ転送され、サ
ンプルA及びBは、位取り装置21を介してSF3へ転
送される。サンプルC及びDはメイン・メモリ6から位
取9装置21を介してスクラッチ拳パッドSPoへ転送
され、サンプルA及びBは、位取り装置211に介して
SF3へ転送される。位取り器21は、4点2段階アル
ゴリズム実行の間にオーバフローを防止するため、デー
タ依存ブロック浮動小数点モードで使用される。
第1段階が実行されて出力A′、B′、C’、D’全発
生する。とれらはスクラッチ。パッド16に記憶され、
メイン・メモリ6の追加的転送を必要とすることなく、
第2段階の実行が可能となる。
B′及びD′は第2段階で1の累乗根によって乗算され
ねばならないので、それらはフ、イ、ドパツク・バッフ
ァSP5へ導かれる。中間点A′及びC′は乗算されて
はならず、一時的バッファSP3及びSB4に記憶され
る。次に第2段階が実行され、出力(A  SB  、
C、D  )か、メイン・メモリ6へ戻されるためにS
B6で待ち行列にされる。基本的2点パターフライ等式
は次のような形式を有するので、必要な加算及び減算を
実行するため、ALU20の2つのサブサイクルが使用
される。
A’=A+WC C’=A−WC 1の累乗根は、係数記憶装置24によって与えられる。
第1段階の終りにおけるフィードバック及び一時的変数
の記憶との競争を避けるため、メイン・メモリ6との間
の全ての転送について、別個のバッファが設けられるこ
とに注意されたい。
4点FFTアルゴリズムは、内部ループ実行のために1
6個のマシン・サイクルを必要とし、8個の複素数入力
及び出力を転送するため16個のマシン・サイクルを必
要とするので、マツチしたものと言え巻。FFTはきち
んと実行されるわけでなく、従ってビット反転ハードウ
ェアは設計中に含まれない。演算エレメントのために利
用可能な大型の糾型的には64にワード)ランダムにア
ドレス可能なメイン・メモリ6は、作業スペースをFF
Tサイズの2倍に等しくとることができる。
これはコスト上有効な手法である。FFTが実行されて
いない時、この資源は他の使用にあてることができる。
時間遅延ビーム形成 時間遅延ビーム形成は、適当に遅延されたセンサ信号サ
ンプルの加重合計を表わす。
ここで、Bm、□は、m番目のビーム出力のに番目の時
間サンプルであり、W は、p番目の水り−・・   
 p 管検漏器信号のに番目の時間サンプルであり’ Dm%
 Pはm番目のビーム及びp番目のセンサに対する遅延
である。
2次元アドレシングの利点は、上記の等式から1] せることのできる能力は、任意の幾何学的形状を!スる
プレイについて、直裁的時間領域ヒ−A (D形成を可
能にする。
最近時に利用可能なサンプルが使用される際の(外挿な
し)時間領域ビーム形成について、処理フローが第10
図に示される。信号サンプルはメイン・メモリ6から2
次元的にアドレスされ、spoへ送られ、ALUIOを
介して乗算器12へ導かれ、そこでサンプルの重み付け
がなされる。
透光係数は係数記憶装置24から得られる。ビーム出力
を発生するために使用されたp個のセンサ時間サンプル
のすべては、順次にアドレスされる。
部分的合計はSB3に記憶される。p個のセンサ信号の
全てが合計された時、出力(B    )は 、−Sk 位取り装置23及び丸め装置26を通され、SB6を介
してメインOメモリ6へ転送される。ビーム出力を発生
するため、センサーサンプルを連続的に合計できる能力
は、部分和ビーム形成アーキ)・ p′テクチャ−と比較して、非常に直裁なアルゴリズム
を可能にする。更にプロセッサは、非常に効率的に周波
数領−ビーム形成を実行できる能力を有する。
時間領域ビーム形成は空間FIRを濾波することである
。このアーキテクチャ−によって、計算は出力速度で実
行され、データ・デシメーションは効率的に使用される
ことができる。これは、狭帯域処理が時間領域ビーム形
成器と組合せて使用されるシステムでは重要である。も
しセンサ信号が多くの場合、ナイキスト率でサンプルさ
れないか、又は実効サンプル率を増加させるだめの外挿
法が使用されないならば、均一間隔の線形アレイ中に、
ひどい側方ロープの減衰が生じる。外挿法は、大きな遅
延誤差を有するセンサについて一時的サンプルの隣接し
たセットを抽出し、外挿フィルタリングを適用すること
によって、ビーム形成の計算に含ませることができる。
開孔加重及び外挿加重は合成加重へ結合されることがで
き、合成加重は係数記憶装置に記憶される。従って、元
のセンサ・サンプル率がナイキスト率の約4倍から5倍
である時、良好な効率を生じる線形間挿法については、
間挿を必要とするセンサのためにサンプル対が演算エレ
メントへ送られ、各サンプルに1つずつの2つの重みが
使用される。高次の間挿も同じようにして実行するこ・
とができる。計算上の負荷が帯域によって決定された出
力サンプル速度の関数である時、時間領域ビーム形成を
FIR瀘波濾波て実行することのできる他の利点は、入
れ子になった開孔線形プレイを使用する時に生じる。計
算負荷は帯域幅の関数であり、信号帯域幅から独立した
一定のチャネル利用ではない。
機能処理エレメント(FPE)の ハードウェアの説明 FPEは、4MHzの基本マシン・サイクルで動作する
マイクロプログラム制御の信号プロセッサである。パイ
プラインの制御機能は、制御ユニツ)CCU)2上で区
分化され、単一のCu2が、いくつかの演算/メモリ・
ユニツ) (AMU ) 4をロック・ステップ方式で
駆動さすることかできるように、Cu2の上で区分され
ている。以下の説明は、単一のAMU/CU構成に限定
したものである。
プロセッサ  パイプライン 第3図の演算パイプライン(AP)は各種の位取す装置
、スクラッチ・パッド・メモリ、加重用ALU、乗算器
及び丸め装置から構成される。それは時間段階のシーケ
ンスで動作し、8MHzの速度でデータ・スループット
を発生することができる。パイプラインを通して、2の
補数演算が実行される。APの全体は、第5図のマイク
ロ命令によって制御される。プロセッサは、入力データ
をメイン・メモリ6から4 MHzの実行速度で受取る
。位取シ装置21は、メイン・メモリ6から1.6ビツ
トのデータを受取シ、通常モードにある時はマイクロ命
令から取られた3ビツト・シフト・コードの制御の下で
、又データ依存モードにある時は前に処理されたデータ
によって決定されるコードから暇られた3ビツト・シフ
ト・コードの制御の下で、上記データを0から7ビツト
位置だけ右方シフトする。上記のモードは、マイクロ命
令によって指定される。データ依存位取シ制御は、状況
コード論理によって決定される。
2の補数データが開用され、従ってシフトによって空に
された高順位ピッ〜トは、入力の符号(0は正、1は負
)を充填される。位取シ装置21はカスケード形の4路
マルチプレクサで構成されてよい。
位@シされた入力データは、マイクロ命令によって限定
された3つのスクラッチ・パラ)’SPO。
sPl、SF3の1つによって受取られる。メイン・メ
モリ6のソース・ロケーションからスクラッチ書パッド
のシンク・ロケーションへ行なわれる全ての転送は、マ
イクロ命令ビットによって指定される。
メインダモリ6は、出力シンクとして5PO1SP1、
SF3を有することができ、入力ソースとしてSF6を
有することができる。
スクラッチ−パッドは16ワードの高速静電トランジス
タ・トランジスタ論理(TTL)ランダム・アクセス・
メモリであって、3状態出力を有し、点種のソースを相
互に母線化(ワイヤオア)することができる。これはハ
ードウェア多重化の必要性を除く。
ALUloは高速の16ビツト、16機能モジュールで
あって、これは出カ機能F=A、B、A十Bを有する。
このALUのための機能コードはマイクロ命令ビットに
よって指定される。
ALUのAポート入力は、マイクロ命令によって決定さ
れたところに従ってsPo又はSF3であることができ
る。Bポート入力は直接にSPlから配線される。これ
らスクラッチ・パッドに対するアドレシングは、直接に
マイクロ命令ビットによって指定される。ALUloの
出力は、乗算器12の被乗数■レジスタに記憶される。
ALUloを通るスクラッチ・パッドからのデータ転送
は、パイプラインの段階1である(全体の経過時間:1
25ナノ秒)。
乗算器12のY入力は、マイクロ命令ビットによって制
御される。ソースはALUloのAポートから来るSP
O又はSF3であシ、又は制御ユニットに置かれた係数
記憶装置24から来る16ピツトの値である。このデー
タは、マイクロ命令ビットのデコードによって制御され
る2人カマルチプレクサを介して、乗算器12の入力へ
送られる。
乗算器12は、高速低電力大型集積(L−8I)M置で
あって、オン4−ドの入力及び出力レジスタを有してい
る。この装置は16X16ビツトであり、250ナノ秒
(ns)内に、2の補数倍精度の積を生じる。積はクロ
ック信号によって出力レジスタへ入れられ、そこで後の
動作のために安定に保存される。乗算器12は、パイプ
ラインの段階2及び3である(全体の経過時間:375
n8)。
パイプラインのこの時点までは、演算は4MHzの速度
で走っており、新しいデータは250na毎に処理され
る。この時点から後はデータは8MHzの速度で処理さ
れる。これによって、多くの信号処理アルゴリズムで共
通に必要とされるように、乗算毎に2つの加算を実行す
ることができる。マイクロ命令はCu2から4 M H
zでのみ利用可能となるので、もし必要であれば、マイ
クロ命令中の制御ビットが二重にされる。(ALU20
及び丸めシンク・コード)。二重にされない場合、制御
ピットは2つの動作(位取り及び丸め)のために維持さ
れる。乗算の最初の125nsはサブサイクル1と呼ば
れ、第2の125ngはサブサイクル2と呼ばれる。今
後、サブサイクル1に関するデータ・フローを説明する
が、同様の独立した処理がサブサイクル2で起る。
ALU20の入力にある位取り装置22は、マイクロ命
令ビットから与えられた4ビット位取りコードの制御の
下で、32ピツト・データを0から16ピツト位置だけ
右方シフトすることができる。位取り装置22は、位取
シ装置21について説明したように、カスケード形4人
カマルテプレクサ嗜モジュールで構成される。更に、位
取シ装置21と同じように、シフト過程で空にされた高
順位ビット部分に符号が充填される。
位取り装置22に対するデータ・ソースは、積の出力又
はSF3、SF3、SF3であることができる。このデ
ータは、マイクロ命令ビットによって制御される2人カ
マルチプレクサを介してゲートされる。もしマルチプレ
クサのスクラッチ・パッド・ボートが選択されると、A
LU20へのソースとして使用されている同じスクラッ
チ・パッドの内容が、同時に位取り装(122へ送られ
る。
位取り装置22は、パイプラインの段階4である(全部
で500naの経過時間)。
ALU20は、32ピツト幅データ通路のために、2つ
の高速機能発生器を使用して構成される。
−このALUで要求される機能は、F=ASB、A十n
、B−A、IAI±IB1、及びIBI−IAlである
。モジュールはB −Aを直接に与えることができない
ので、B−A機能の間に入力を交差させるため、各ポー
トの前方に2人カマルチプレクサが設けられる。
2人カマルチプレクサは、入力として段階遅延の位取シ
装置22の値又はスクラッチ・パッドSP2、SPY、
SF3のバスを有する。ALU20のデータ・シンクは
、SF3又はSF3又は出カデータ用位取シ装置25で
ある。マイクロコード設計の制約として、同じサブサイ
クルでは、ソースのスクラッチ・パッドはシンクのスク
ラッチ・パッドとして選択されることはできない。AL
U機能、ソースのスクラッチ・パッド及びそのアドレス
、シンクのスクラッチ・パッド及びそのアドレスを制御
するマイクロ命令ビットは、サブサイクル1については
ビットの最初のフィールドであシルサブサイクル2につ
いてはビットの第2フイールドである。ALU20はパ
イプラインの段!15である(全体の経過時間=625
ナノ秒)。
位取り装置23は、処理されたデータの出力を正規化し
、且つマイクロ命令から得られる2ンツトの位取シ制御
ビットの制御下で、32ビツトのデータを0,2.4又
は6ビツト位置だけ左方ヘシフトする。この位取レコー
ドは、サブサイクル1及びサブサイクル2の双方でデー
タへ印加される。位取シ装置23はオーバフロー保護回
路を有する。この回路は、左方ヘシフトされる有意ビッ
トを感知し、データが正であるが負であるかに従って、
オーバフローが検出された時に、出力を01・・・・・
・又は10・・・・・・0へ強制する。位取シ装置23
は、基本的には4つの可能なシフト条咋のためにハード
ワイヤされた4人カマルチプレクサから構成される。こ
のマルチプレクサの出方は、シフトされたデータ又は強
制された値を通す2人カマルチプレクサへ送られる。オ
ーバフロー検出論理は、フィールド・プログラム可能論
理アレイ(FPLA)で構成される。位取り装置23は
パイプラインの段階6である(全体の経過時間=750
 n a )。
パイプラインの最後の段階は、出力データ用丸め装置2
6である。丸め装置26は高順位の16個のデータ・ビ
ット上で動作する。32ビツトの一データは、変更され
ないで通されるが、又は16個の0が続いた高順位15
ピツト及び符号へ丸められる。マイクロ命令の丸め指令
は、サブサイクル1及びサブサイクル2の双方で、デー
タへ印加される。
丸め装置26に対するシンクはSF3又はSF6である
ことができる。SP’5は16ビツトの幅であシ、従っ
て丸めモードが選択されない時、データを符号及び15
ビツトへ切詰める。SF6は32ビツトのメモリであシ
、メイン・メモリ6へ転送するための出力データをバッ
ファする。SF5又はSF3のアドレスは、・′1組の
マイクロ命令ビットニよって直接に指定され、他のマイ
クロ命令ビットは記憶されるべきサブサイクル・データ
を指定する。もしEl及びE2ビットの双方がアクチブ
であれば、サブサイクル1のデータは指定されたアドレ
スへ記憶されるべきであシ、サブサイクル2のデータは
指定されたアドレスに1を加えたところに記憶されるべ
きである。出力データ用丸め装置は、変更されないデー
タ又は0を低順位16ビツト・データ・フィールドへ送
るため、機能発生器モジュール及び2人カマルチプレク
サを使用して構成される。丸め装置26はパイプライン
の段階7である(全体の経過時間:875na)。
SF3は実際には2個の16ビツト・メモリである。完
全精度(32ビツト)のデータは16ビツトのメイン・
メモリ6へ2つの連続した転送を行なうことが必要であ
る。
°ロセツサ・メイン0メモリ メイン・メモリ6は6個のメモリ・モジュールで構成さ
れる(第11図)。その各々は16ビツトの幅であシ、
且つ64にワードの高さである。
3個のモジュールは循環ファイル(又は回帰バッファ)
様式に設計され(第12図)、任意の時点でモジュール
の2つが演算パイプラインと通信するため切換えられ、
tlE3のモジュールは入力データ処理器及び出力デー
タ指導器と通信している。
処理サイクルの終シで、マイクロ命令はモジュールを回
帰させ、処理結果を外部へ出し且つ新しい入力データ争
レコードを受は取ったモジューノ嗜e々イブラインに対
して新′しい入力データ・モジュールとなる。
前に新しい入力データ・レコードを有していたモジュー
ルは、今やデータ・レコード及び現在処理された結果の
重複バッファとなり、前に処理された結果を有するモジ
ュールは、今や処理されたデータをホスト・システムへ
与え、且つ次の新しい入力データ ・レコードを累積す
るため、外部へ接続される。
それぞれのメイン・メモリ・モジュールへの入力は、2
人カマルチプレクサ182である。マルチプレクサ18
2は、1つの入力34として演算パイプラインのSF3
を有し、他の入力30として入力データ処理器を有する
。各モジュールの出力は、2個の3状態(T/S )バ
ッファ184へ入る。1つのバッファ184は、線36
によって演算パイプラインへ接続され、他のバッファ1
84は、線32によって卯カデータ指導器へ接続される
。入力マルチプレクサ及びT/Sバッファの制御は、メ
イン・メモリ・アドレス発生器18aによって、線18
0を介して実行される。アドレス発生器18aは、メイ
ンeメモリ・モジュールの各々へのアトルス線を多重化
し、且つこれらモジュールへチップ選択兼書込能動信号
を与える。
プロセッサのタイミング プロセッサの基本的タイミングは、4MHzの6つの位
相によって与えられる。AMU4の場合、位相1は2 
M ’Hz及び4 M Hzの方形波信号を発生するた
めに使用される。これらの信号は、各種のメモリ制御及
びパイプライン・ステージング・サイクルを規制するた
めに使用される。第13図は、メイン・メモリからスク
ラッチ・パッドへのデータ転送の基本タイミング・シー
ケンス、及びスクラッチ・パラ)”(SPO又は5P1
)がらパイプラインの6つの段を通るデータの処理シー
ケンスを示す。
第13図かられかるように、時間ゼロ(to)の時点で
パイプラインに入ったデータは、875n8の後に丸め
装置26の出力で利用可能となる。
−凰且二=2」− 制御ユニッ)(CU)2の目的は次のとおシである。
1、 マイクロプログラム、スタック、及び係数ハラメ
ータの初期プログラム・”−ト(IPL)を行なうこと
2、マイクロプログラム記憶装置39のために次のアド
レスを発生すること。
3、係数記憶装置24のアドレスを発生すること。
4、 スクラッチ・パッド16のアドレスを発生するこ
と。
5、 メイン・メモリ6のアドレシング及び制御を行な
うこと。
CU2の機能は、第14図に示される。各種(ト)クシ
ョンによって実行される。これらのセクションは次のと
おシである。
1、IPLコントロール52 2、 マイクロプログラム記憶装置69及びマイクロプ
ログラム・シーケンサ38 3、乗数係数記憶装置24 4、 スクラッチ9パツド・アト・レス発生器185、
メイン・メモリ・アドレス発生器18 a制御ユニット
Φハードウェアの概観 IPLコントロール52 IPLコン、トロール52は、データをコンピュータか
らプロセッサへ転送する。IPLの間にロードされるべ
き装置は次のとおりである。
1、 マイクロプログラム記憶装置 2、係数記憶装置 6、 カウント関数ブランチ(RFC)プリセット及び
アドレス令スタック 4、RFCループ・カウント・スタック5、係数アドレ
ス/増分スタック 6、 メイン・メモリφアドレス/増分スタックマイク
ロプログラム・シーケンサ38 第15図のマイクロプログラム・シーケンサ58は、マ
イクロプログラム記憶装置39の全てのアドレシング及
びシーケンス制御を行なう。実行できる機能としては、
現アドレスの1の加算、入れ子ループ、条件付きまたは
無条件ブランチがある。
シーケンサ38はマイクロ命令デコード論理206、プ
ログラムφカウンタ208、ループ制御論理210、初
期ループ[株]カウント・スタック212、現ループ・
カウント・スタック214、無条件/条件(UB/CB
)ブランチ・アドレス・スタック216、カウント関数
ブランチ(RFC)スタック218、ブランチ・アンド
・リンク・アドレス記憶装置220を含む。
ループ参カウント・スタック212及び214Ω各々は
、512個の値を含む。初期ループ・カウント・スタッ
ク212はル′−ブ・サイズ(ループ毎に2048回の
繰返し)を含む。それはIPLの間に初期化され、動作
過程の間不変のままである。現ループ・カウントΦスタ
ック214は、マイクロプログラム中の各ループの現在
の値、及びループが満足されたかどうかを示すビットを
含む。カウント関数ブランチ・スタック218はBFC
命令のために512個のアドレスを含み、ブランチQア
ドレス嗜スタック216は無条件及び条件付き命令のた
めに512個のアドレスを含む。
次に、シーケンサ38によって制御されるマイクロ命令
の各々について説明する。
C0NT(継続) 継続命令はプログラム・カウンタ208に含まれるプロ
グラム・カランBpc)値を増加させ、記憶装置590
次のマイクロ命令にアクセスする。
スタック値に対しては、変更はなされない。
RFC(カウント関数ブランチ) RFCマイクロ命令は全てのループ活動を制御する。シ
ーケンサ38は、任意のループ(入れ子になったもの、
又はそうでないもの)の2048回までの繰返しを実行
する能力を与える。
ループとして限定されたコード・シーケンスの終りに、
BFC動作コードが現われる。マイクロ命令のブランチ
拳スタック・ポインタ・フィールド156によって限定
されたところに従って、現ループ・カウント・スタック
214がアクセスされ、そのアンダフロー・ビット21
5が検査される。もしビット215がオフであれば、そ
れはループが完了していないことを示す。動作コードが
そのように表示すると、プログラム・カウンタ208は
、BFCスタック218の指定されたロケーションから
、ループ中の開始アドレス値をロードされる。もしビッ
ト215がセントされていれば、プログラム・カウンタ
208はアドレスを1だけ増加される(pc+1)。こ
の場合、現ループφウント・スタック214にある値は
、後にこのループへ戻・る可能性を想定して、初期値へ
変更される。
UB(無条件ブランチ) 無条件ブランチが指定された時、プログラム・カウ゛ン
タ208はブランチ9アドレス・スタック216から直
接にロードされる。
CB501CBS1(条件付きブランチ)条件付きブラ
ンチは、特定の動作コードと状況ピントの状態とに基づ
いて起る。
もし指定された状況ピントがオンであれば、プログラム
・カウンタ208はブランチ・アドレス争スタック21
6からロードされる。もしピントがオンでなければ、プ
ログラムはアドレス内容十1へ進む(ブランチ無し)。
DBCR(ブランチ・カウント ・レジスタ減少) この動作コードは、現ループ・カウント拳スタンク21
4の指定されたアドレス内容を輯出し、それを減少させ
、その結果を同じアドレスに書戻す。現ループ・カウン
トが読出された時、もしピント215が検出されると、
ループを再初期化するため、初期ループ・カウントが現
ループ・カウントと入替る。プログラムはアドレスPC
+1へ進む。
マイクロプログラム記憶装置 マイクロプログラム記憶装置39は、プロセッサのため
に2048個のコード・ワードを与える。
各ワードは128ビツトの幅である。マイクロ命令の各
種の奇令フィールドは、第5図に示される。
マイクロプログラムのアドレスは、4096ワードのマ
イクロコードまで拡張して発生することができる。
係数記憶装置24及び係数記憶アドレス発係数記憶装置
24及び係数記憶アドレス発生器18cは、演算ニレメ
ン)(Ag)のために、乗算器12の全ての係数を与え
る。係数記憶装置24はIPLO間にロードされ、マイ
クロ命令ワードによってアクセスされる。係数記憶アト
Vス発生118cは、マイクロ命令を介して選択された
アトVシング・モードに基いて係数記憶装置の全てのア
ドレスを発生する。
この機能は第16図の係数記憶装置24、第17図のア
ドレス/増分スタック60及・びアドレスALU62t
−使用する。
係数記憶アドレス発生器には、4つの基本的制御状態が
存在する。これらの状態は、マイクロ命令のピット(第
5図参照)によって選択される。
これらの状態は、係数記憶アドレスを発生するため、ス
タック60から喉られたアドレス又は増分を使用する。
係数記憶アドレス発生器18cの4つの制御状態は、矢
のとおシである。
(1)  アドレス・モード (2)増分モード (3)テーブルeルックアップ・モード(4)スクラッ
チ・パッド選択モード 最初の3つのモードにおいて、係数記憶装置24は、乗
算器120入力として選択される。スクラッチ・パッド
選択モードにおいて、sPlは乗算器12の入力を与え
、係数記憶装置24はロック・アウトされる。
アト7ス・モードにおいて、アドレス/増分スタック6
0の中で発見された12ビツトのアドレスは、現係数ア
ドレス・スタック60’へ直接にゲートさ・れる。スタ
ック60’のアドレスは、現アドレス・スタック・ポイ
ンタによって指定さ糺る。スタック60′は、増加され
るべきアドレスの一時的記憶装置となシ、又は選択され
た現係数アドレスを単にバッファする。
増分モードにおいて、アドレス/増分スタック60から
叡られた12ビット増分値は、同じマイクロ命令の現ア
ドレス・ポインタによって選択されたt6t!lの現係
数アドレスの1つへ加えられる。
テーブル・ルックアップ・モードにおい父、現係数アド
レスはSPIデータである。この12ビツト・アドレス
は、アドレスALU62を通され、現アドレス・ポイン
タによって指定された現係数アドレス・スタック60′
のロケーションに記憶される。
スクラッチ・パッド・アトVス発生118b前に概説し
たように、マイクロ命令は演算エレメント内でスクラッ
チ・パッド16の読出し、許込み、アトVシングを選択
するフィールドを含む。
各種のビットの割当てを詳細に説明するのではなく、実
際のスクラッチ・パッドの機能、即チパッドの選択、ア
ドレス論理、続出/l込共通回路に焦点金しぼって説明
する。
第18図はスクラッチ・パッド選択機能の概要を示す。
マイクロ命令ピットは、それぞれの選択デコーダに隣接
して垂直方向に並べて示される。
デコード出力に隣接したカッコは、続出/書込アドレス
選択を示す。例えば、5PORはSPO読出アドレスの
起点であり、sptlwは5pas込アドレスの起点で
ある。Uは上位りは下mt示す。実際の続出又は書込ア
ドレスは適当な選択線ヘゲートされる。
spa又はSPlの場合、最終的な続出/IF込アドノ
スは、関連したアドレス・フィールドから直接に取られ
た絶対アドレスであってよく、又はそれはアドレス・フ
ィールドが増分値を含む増加されたアドレスであってよ
い。他の全てのスクラッチ・パッドは直接にアドレスさ
れる。
アドレスがデコードされると、適当な読出又はi込制御
信号が選択されたスクラッチ・パッドへ印加される。各
スクラッチ・パッドは具体的場合に対処する制御信号を
発生する同じような回路を有する。
メイン會メモリ・アドレス発生器 メイン・メモリ・アドレス発生器 9図に示される。それは8flの64にワードBSMを
カバーするアドレスを与える。発生されたア、ドレスの
長さは19ビツトである。最順位の3ビツトは線180
を介して8個のBSMの1つを選択し、低順位の16ビ
ツトは、線146を介して、選択されたBSM内のロケ
ーションにアクセスする。
メイン・メモリ嗜アトVス発生W18aは現アドレス・
レジスタ80、基本アドレス/増分スタック64、メイ
ン・メモリ・アドレス・レジスタ151、モジュロMカ
ウンタ66、BSM選択のためのALU84.86.8
8、及びアドレス計算のためのALU82に含む。
現アドレス・レジスタ80は161m1までの現在の又
は更新可能なメイン−メモリ、・アドレスを記憶する。
アドレス/増分スタック64はページ形式で構成された
1024個のベース・アドレス又は増分を含む。ここで
個々のページは16飼のアドレス又は増分を含む。ペー
ジは、ページ・ビット154′f:2月することによっ
て選択される。モジュロMカウンタ66は、「ファイル
回帰」マイクロ命令の使用及びIPLの時にセットアツ
プ・レジスタで「回帰している」ものとして限定された
BSMの数の関数として、メイン・メモリ・アドレスの
最有意の3ビラトラ発生する。アドレス/増分スタック
64の出力の最有意ビットは、アドレスが固定BSMに
対するものであるか、又は回帰BSMに対するものであ
るかを示すため使用される。
新しいメイン・メモリ・アドレスは、実行された各マイ
クロ命令の結果として計算される。ページ・ビット15
4と、マイクロ命令中の4ビツト・ベース・スタック・
ポインタ145とを連結することによって形成された1
0ビツト・アドレス計算用して、アドレス/増分スタッ
ク64から直が取出される。
ALU82は、結果の16ビツト・フィールドがアドレ
スとして指定されたか、又は増分として指定されたかに
従って、このフィールドを通過させるか又は指定された
稈アドレス・ロケーションの出力へ加える。
ベース・アドレスの高順位3ビツト180は、B SM
i選択するために使用される。固定BSMが選択された
時、これらの3ビツトは、もしアドレス/増分ビットが
アドレスを示すならば、ALU82の16ビツト出力1
46へ付加され、もしアドレス/増分ビットが増分を示
すならば、アドレス/増分スタック64の最有意3ビッ
トへ加工られる。回帰BSMが選択された時、3ビツト
180は、現アドレス・し5ジスタ80の最有意3ピッ
トへ加えられるか(アドレス/増分ビット=増、fi−
の時)、又はモジュロMカウンタ66の内容へ加えられ
る(アドレス/増分ビット−アドレスの時)。
ALU84.86.88は、「ファイル回帰」指令がI
PLで限定された回帰可能なりSMの境界を越えて88
M値を進ませる時点を検出するために設けられる。
モジュロMカウンタ66は、I25時に線186を介し
てモジュロ・ベース[t−ロードされる。
この値は、回帰バッファ様式で動作されるべきBSMO
数(0から7まで)である。マイクロ命令ワード中のフ
ィールド190にあるビット124−126は、バッフ
ァを回帰させることが望まれる度にカウンタを増加させ
るため、線188を介してモジュロMカウンタ66へ印
加されることができる。例えば、I25時に、M=3が
モジュロMカウンタヘロードされ、3BSM回帰バッフ
ァ動作ヲ能動比する。次いで、外部バス・インターフェ
イス・二二ツ)(BIU)は、入力50(第11図〕を
介して、BSMの全容量の半分までデータをロードする
よう要求してよい。この時点で、モジュロMカウンタ6
6から線180へ出力されたBSMポインタ値P=1に
よって、BSMlが指示されているものと仮定する。8
8M2はAUからのロード入力へ接続され、BSMlは
入力30へ接続され、BSMOはAUからの線36へ接
続される。BIUがデータt−BsM1へロードし次続
、それはスタート・パルスをマイクロプロクラム拳シー
ケンサ38へ送る。シーケンサ38はマイクロプログラ
ム記憶装置39の最初のマイクロ命令にアクセスする。
そのマイクロ命令のピッ)124−126は、BSMポ
インタPを1だけ増加させる線18日上の制御信号を形
成する。P=2の新しい値は、マルチプレクサ182及
び3状態バツフア184へ至る制御線180へ出力され
る。バッファ184はBSMIの出力を演算/メモリ・
ユニット4へ至る線36へ接続する。88M2は線32
及びBIUからのロード人力30へ接続され、BSMO
はAUからのロード人力34へ接続される。
(以下余白) 制御ユニット・アーキテクチャ−の詳細な説明これまで
の概説かられかるように、制御フィールド部分、演算フ
ィールド部分、記憶フィールート部分を含むマイクロ命
令ワードに基いて、マイクロ命令制御スタック、データ
・メモリ制御スタック、及び係数メモリ制御スタックに
アクセスするため、共通のページ番号を使用することは
、パイプライン式信号処理コンピュータの制御動作、演
算動作、及び入出力動作の間に緊密な協働関係をもたら
す。この緊密な協働関係は、タスク変化に対するシステ
ムの応答を早くすることができ、それによって、パイプ
ライン式演算動作が概して厳格なシーケンシャル構造を
必要とするにもかかわらず、汎用コンピュータで達成さ
れる柔軟性に類似した大きな柔軟性を、システムの動作
特性として与夕ることになる。
この顕著な利点は、第15図、第20図、第21図に詳
細に示される制御ユニットによって達成される。第20
図は、マイクロプログラム・シーケンサ38、アドレス
/増分(係数ベース)スタック60、及びアドレス/増
分(メイン・メモリ・、ベース)スタック64にるる制
御スタックに対して統一した制御を示す機能的ブロック
図でるる。
第15図はマイクロプログラム・シーケンサ38の詳細
な構造を示している。第21図はスクラッチ・パッド・
アドレス発生器18b及び演算制御論理の詳細な構造を
示す。
第15図に示されるように、マイクロプログラム記憶装
置39Fiアドレス入力と、レジスタ100に対するマ
イクロ命令ワード出力とを有する。
レジスタ100は、マイクロ命令ワードを記憶するため
のものでるる。各マイクロ命令ワードは、ページ・アド
レス・フィールド154、ブランチ・スタック・ポイン
タ・フィールド156、ブランチ制御フィールド262
を含む制御フィールド200を有する。更に、各マイク
ロ命令ワードは演算フィールド202、記憶フィールド
204を含む。
マイクロ命令ワードを4 M Hzの速度で出力するよ
うマイクロプログラム配憶装置へ信号を与えるため、4
MHzの反復速度でクロック信号150を発生するクロ
ックが、マイクロプログラム記憶装置39へ接続される
。各マイクロ命令ワードは、対応す、h 250 n 
aのマイクロ命令期間中、マイクロプログラム記憶装置
39のアドレス入力へ印加されたアドレスのところでそ
れぞれアクセスされる。
デコード論理(シーケンス・デコーダ)206は、クロ
ック信号150を入力され、かつ1つの入力をマイクロ
命令記憶装置出力のブランチ制御フイ;ルド232へ接
続され、4MHzの反復速度でマイクロ命令ワード中の
ブランチ制御命令をデコードした出力を発生する。
カウント関数ブランチ(RFC)スタック218は ペ
ージ・アドレス入力をマイクロプログラム記憶装置出力
のページ・アドレス・フィールド154へ接続され、ポ
インタ・アドレス入力をブランチ・スタック・ポインタ
・フィールド156へ接続され、制御入力をデコード論
理206の出力へ接続されて出力を発生する。RFCス
タック218は、複数のページ群の中にマイクロ命令ル
−プ開始地点アドレスを記憶している。各ページ群は、
ページ・アドレス入力匹よってアクセスされる。また各
ページ、群は、ポインタ・アドレス入力によってアクセ
スされる複数の開始地点アドレスを有する。RFCスタ
ック218は、デコード論理206からの出力に応答し
て、新しいループ開始地点アドレスを選択的に出力し、
かつマイクロプログラム記憶装置39から出力された最
新のマイクロ命令ワードのブランチ制御フィールド23
2がその中にループ終了命令を有するかどうかを示す信
号を出力する。
現ループ・カウント・スタック214は、ページ・アド
レス入力をマイクロプログラム記憶装置用カッページ・
アドレス・フィールド154へ接続され、ポインタ・ア
ドレス入力をブランチ・スタック・ポインタ・フィール
ド156へ接続され、かつ出力を有する。現ループ・カ
ウント・スpyり214は複数のページ群の中に現マイ
クロ命令ループ・カウントを記憶する。各ページ群はペ
ージ・アドレス入力によってアクセスされる。また各ペ
ージ群は、ポインタ・アドレス入力によってアクセスさ
れる複数のループ・カウントを有する。
現ループ・カウント・スタック214は、デコード論理
206の出力に応答して、新しいループ・カウントを選
択的に出力するとともに、マイクロプログラム記憶装置
39から出力された最新のマイクロ命令ワードのブラン
チ制御フィニルド232が、その中にループ終了命令を
有するかどうかを示す信号を出力する。
ループ制御論理(減算器)210は、入力を現ループ・
カウント・スタック214へ接続され、出力をスタック
214の入力へ接続され、与えられたループ・カウント
値を1だけ減少させて、その減少された値を新しい現ル
ープ・カウントとして、現ループ・カウント・スタック
214の入力へ出力する。
ゼロ検出器228は、入力をループ制御論理210へ接
続され、出力をデコード論理206へ接続され、減少さ
れた現ループ・カウントがゼロになった時、ゼロ検出信
号をデコード論理206へ出力する。
プログラム・カウンタ208F1.4 MHzのクロッ
ク信号入力、BFCスタック218の出力へ接続された
入力、デコード論理206の出力へ接続された制御入力
、マイクロプログラム記憶装置39のアドレス入力へ接
続された出力を有する。
プログラム・カウンタ208は、マイクロプロ、グラム
記憶装置39から出力された最新のマイクロ命令ワード
のアドレスをプログラム・カウント(PC)として記憶
し、4MHzの繰返し速度でPCを1だけ増加させて、
それを次のマイクロ命令記憶アドレスとする。プログラ
ム・カウンタ208は、マイクロプログラム記憶装置3
9から出力された最新のフィクロ命令ワードのブランチ
制御フィールド232が、その中にループ終了命令を有
する表示をデコード論理206が出力する時デコード論
理206がゼロ検出器228からゼロ検出信号を受取っ
ていないことに応答して、BFCスタック218からの
ループ開始地点アドレスを、次のマイクロ命令記憶アド
レスとして選択的に出力する。
このようにして、ループのマイクロ命令シーケンスは、
信号処理コンピュータの中で柔軟性をもうて制御される
ことができる。
更に第15図のマイクロプログラム・シーケンサ38は
、初期ループ・カウント・スタック212を含む。スタ
ック212は、ページ・アドレス入力をマイクロプログ
ラム記憶装置出力のページ・アドレス・□フィールド1
54へ接続され、ポインタ・アドレス入力をブランチ・
スタック・ポインタ・フィールド156へ接続され、か
つ出力を有する。初期ループ・カウント・スタック21
2は複数のページ群の中に初期マイクロ命令ループ・カ
ウントを記憶し、各ページ群はページ・アドレス入力に
よってアクセスされ、かつ各ページ群はポインタ・アド
レス入力によってアクセスされる複数の初期ループ・カ
ウントを有する。初期ループ・カウント・スタック21
2は、マイクロブログラム記憶装置59から出力された
最新のマイクロ命令ワードのブランチ制御フィールド2
32が、その中にループ初期化命令を有していることの
表示をデコード論理206がスタック212へ出力した
ことに応答して、新しい初期ループ・カウントを選択的
に出力する。
ループ制御論理210は、初期ループ・カウント・スタ
ック212の出力へ接続された入力、デコード論理20
6の出力へ接続された制御入力を有する。ループ制御論
理210は、マイクロプログラム記憶装置39から出力
された最新のマイクロ命令ワードのブランチ制御フィー
ルド232が、その中にループ初期化命令を有すること
の表示をデコード論理206がループ制御論理210へ
出力したことに応答して、新しい初期ループ・カウント
を減少させることなく現ループ・カウント・スタック2
14の入力へ転送する。
このようにして、ループのマイクロ命令シーケンスは、
信号処理コンピュータの中で柔軟性をもって初期化され
ることができる。
ループ制御論理210は、減少された現ループ・カウン
トがゼロでるる時、デコード論理206がゼロ検出器2
28からゼロ検出信号を受取ったことに応答して、初期
ループ・カウント・スタック212からの新しい初期ル
ープ・カウントを現ループ・カウント・スタック214
へ転送する。
−このようにして、現ループ・カウント・スタックは、
ループの完了後、自動的に再初期化されることができる
更に第15図のマイクロ命令シーケンサ38は、ブラン
チ・アドレス・スタック216を含む。スタック216
は、マイクロプログラム記憶装置比カッページ・アドレ
ス・フィールド154へ接続されたページ・アドレス入
力、ブランチ・スタック・ポインタ・フィールド156
へ接続されたポインタ・アドレス入力、デコード論理2
06の出力へ接続された制御入力、プログラム・カウン
タ208の入力へ接続された出力を有する。ブランチ・
アドレス・スタック216は、複数のページ群の中にマ
イクロ命令ブランチ先アドレスを記憶している。各ペー
ジ群はページ・アドレス入力によってアクセスされ、か
つ各ページ群はポインタSアドレス入力によってアクセ
スされる複数のブランチ先アドレスを有する。ブランチ
・アドレス・スタック216は、マイクロプログラム記
憶装置69から出力された最新のマイクロ命令ワード。
のブランチ制御フィールド232が、その中にフ。
ランチ動作命令を有することの表示をデコード論理20
6がスタック216へ出力したことに応答して、新しい
ブランチ先アドレスを選択的に出力する。
プログラム・カウンタ208は、マイクロプログラム記
憶装置39から出力された最新のマイクロ命令ワードの
ブランチ制御フィールド232が、その中にブランチ動
作命令を有することの表示をデコード論理206がプロ
グラム・カウンタ208へ出力したことに応答して、新
しいフ゛ランチ先アドレスを新しいプログラム・カウン
ト(pc)として記憶し、それを次のマイクロプログラ
ム記憶装置アドレスとして出力する。
このようにして、ブランチのマイクロ命令動作は、信号
処理コンピュータの中で柔軟性をもって制御されること
ができる。
ブランチ動作命令は、無条件ブランチでも条件付きブラ
ンチでもよい。
条件ビット・レジスタ234は、その入力を監視される
べき条件を有するソースへ接続される。
そのような条件としては、例えば演算/メモリ・ユニッ
ト4におけるオーバフロー条件がるる。条件ビット・レ
ジスタ234・は、その出力をデコード論理206の入
力へ接続される。条件ビット・レジスタは、監視される
源の条件を示す条件ビットを記憶する。
更に、マイクロ命令ワードの制御フィールド200は、
状況制御フィールド230を含む。
デコード論理206は、マイクロ命令ワードの中にある
条件応答命令を4 M Hzの繰返し速度でデコードす
るため、マイクロプログラム記憶装置出力の状況制御フ
ィールド230へ接続された入力を有する。
ブランチ・了ドレス・スタック216Fi、ブランチ制
御フィールド262がその中に条件付きブランチ命令を
有していること、状況制御フィールドがその中に条件部
−答命令を有していること、条件ビット・レジスタがそ
の中にオンの条件ビットを有していることの表示をデコ
ード論理206がスタック216へ出力したことに応答
して、条件付きブランチ先アドレスを記憶し、かつ新し
い条件付きブランチ先アドレスを選択的に出力する。
プログラム・カウンタ208は、新しい条件付きブラン
チ先アドレスを新しいプログラム・カウント(PC)と
して記憶し、デコード論理206に応答して、PCを新
しいiイクロプログラム記憶装置アドレスとして出力す
る。
このようにして、条件付きブランチ動作は信号処理コン
ピュータの中で柔軟性をもって制御されることができる
更に、第15図のマイクロプログラム・シーケンサ58
は、′ブランチ・アンド・リンク・アドレス記憶装置2
20を含む。記憶装置220は、アドレス入力、デコー
ド論理206からの出力へ接続された制御入力、プログ
ラム・カウンタ208の出力へ接続されたデータ入力、
及びプログラム・カウンタ208の入力へ接続されたデ
ータ出力を有する。ブランチ・アンド・リンク・アドレ
ス記憶装置220は、N個の記憶装置ロケーションを有
する。このロケーションは、マイクロプログラム記憶装
置39から出力された最新のマイクロ命令ワードのブラ
ンチ制御フィールドが、その中にブランチ・アンド・リ
ンク命令を有していることの表示をデコード論理206
が記憶装置220へ出力したことに応答して、増加され
たプログラム・カウントPC+1をマイクロ命令の「ブ
ランチからの戻り」アドレスとして記憶するためのもの
でろる。
モジュロNカウンタ222Fi、デコード論理206の
出力へ接続された制御入力、及びブランチ・アンド・リ
ンク・アドレス記憶装置22017)7ドレス入力へ接
続された出力を有する。モジュロNカウンタ22・2は
、ブランチ・アンド・リンク命令の表示を発生するデコ
ード論理206に応答して、1だけ増加される。モジュ
ロNカウンタ2′22は、マイクロプログラム記憶装置
59から出力された最新のマイクロ命令ワードのブラン
チ制御フィールド232が、その中に「ブランチからの
戻り」命令を有することの表示をデコード論理206が
カウンタ222へ出力したことに応答して、1だけ減少
される。
ブランチ・アンド・リンク・アドレス記憶装置220は
、「ブランチからの戻り」命令の表示を与えるデコード
論理206に応答して、記憶されたマイクロ命令の[ブ
ランチからの戻りJT)”L/スを出力する。
プログラム・カウンタ20Bは、[ブランチからの戻り
」アドレスを新しいプログラム・カラン) (PC)と
して記憶し、デコード論理206に応答して、PCを次
のマイクロプログラム記憶装置アドレスとして出力する
こ9ようにして、ブランチ・アンド・リンク及び「ブラ
ンチからの戻り」動作は、信号処理コンピュータの中で
柔軟性をもって制御されることができる。
本発明の制御の一貫性は、更に第20図を参照して理解
することができる。マイクロ命令ワ、−ドは、記憶フィ
ールドの中にメイン・メモリ・ポインタ・フィールド1
45含有する。更に、制御ユニット2はメイン・メモリ
用アドレス/増分スタック64を含む。スタック64は
、4MHzのクロック信号入力、マイクロプログラム記
憶装置出力のページ制御フィールド154へ接続された
ページ・アドレス入力、メイン・メモリ・ポインタ・フ
ィールド145へ接続されたポインタ・アドレス入力、
及びメイン・メモリ6のアドレス入力へ接続された出力
を有する。スタック64は、複数のページ群の中にデー
タ・アドレスを記憶してイル。各ページ群は、そのべ7
ジ・アドレス入力によってアクセスされ、かつ各ページ
群はそのポインタ・アドレス入力によってアクセスされ
る複数のデータ・アドレスを有する。スタック64は、
マイクロプログラム記憶装置から出力された最新ノマイ
クロ命令ワードのページ・アドレス・フィールド154
及びメイン・メモリ・ポインタ・フィールド145に応
答して、メイン・メモリ6のデータ・ワードにアクセス
“する。これらの動作は4 M Hzの繰返し速度で実
行される。
このようにして、マイクロ命令ワード及びそれに応答し
て動作されるべきデータは、信号処理コンピュータの中
で柔軟性をもってアクセスされることができる。
更に、マイクロ命令ワードtま係数メモリ・ポインタ・
フィールド160を含む。更に、制御ユニット2tfi
係数メモリ用アドレス/増分スタック60を含む。スタ
ック60は、マイクロプログラム記憶装置出力のページ
・アドレス・フィールド154へ接続されたページ・ア
ドレス入力、係数メモリ・ポインタ・フィールド160
へ接続されたポインタ・アドレス入力、係数記憶装置2
4のアドレス入力へ接続された出力を有する。係数メモ
リ用アドレス/増分スタック60は、複数のページ群の
中に係数メモリ・アドレスを記憶する。各ページ群は、
そのページ・アドレス入カニよってアクセスされる。ま
た各ページ群は、そのポインタ:アドレス入力によって
アクセスされる複数の係数メモリ、・アドレスを有する
。スタック60Fi、マイクロプログラム記憶装置39
から出力された最新のマイクロ命令ワードのページ・ア
ドレス・フィールド154及び係数メモリ・ポインタ・
フィールド160に応答して、係数記憶装置24の係数
ワードにアクセスする。これらの動作は、4MHzの繰
返し速度でなされる。
このようにして、マイクロ命令ワード、及びそれ〆よっ
て動作されるべきデータ及び係数は、信号処理コンピュ
ータの中で柔軟性をもってアクセスされることができる
演算動作、データ記憶アクセス動作、ブランチ及びルー
プ制御動作の緊密な協働は、第21図を参照して理解す
ることができる。マイクロ命令ワードは、記憶フィール
ド204の中に第1及び第2のスクラッチ・パッド・ポ
インタ・フィールド162及Q164を含む。
制御ユニット2は、第2のクロックを含む。第2クロツ
クは、8MHzの反復速度で第2のクロック信号152
を発生する出力を有する。これは第1のクロック信号1
50の反復速度の2倍である。従って、250nsの持
続時間である各マイクロ命令時間の間に、125nsの
2つのクロック・パルスが発生される。
マルチプレクサ166は、8MHzクロック信号152
へ接続されたクロック入力、マイクロプログラム記憶装
置出力の第1スクラツチ・パッド・ポインタ・フィール
ド162へ接続された第1人力、第2スクラツチ・パッ
ド・ポインタ・フィールド164へ接続された第2人力
、及び出力を有する。マルチプレクサ166は、マイク
ロ命令時間の第1の半サイクルで、その出力を1つの入
力に接続し、マイクロ命令時間の第2の半サイクルで、
その出力を他の1つの入力へ接続する。
演算/メモリ・ユニット4は、スクラッチ・パッドSP
O(第3図)を含む。spoは、8MHzのクロックへ
接続されたクロック信号入力、マルチプレクサ166(
第21図)の出力へ接続された7ドレス人力115、メ
イン・メモリ6のデータ出力へ接続されたデータ入力、
演算エレメントALU10の入力へ接続されたデータ出
力を有する。スクラッチ・パッドSPOは、マイクロ命
令時間の第1の半サイクルで、第1スクラツチ・パッド
・ポインタ・フィールド162(第21図)に応答して
、その中の第1のロケーションから第1のデータ・ワー
ドを読出し、そのデ・−タ・ワードをALUloへ出力
する。スクラッチ・パッドSPOは、第2のデータ・ワ
ードをその中の第2のロケーションへ書込む。第2のデ
ータ・ワードは、マイクロ命令時間の第2の半サイクル
で、第2スクラツチ・パッド・ポインタ・フィールド1
64に応答して、メイン・メモリ6からデータ入力へ印
加される。
このようにして、スクラッチ・パッドSPOは、マイク
ロ命令がマイクロプログラム記憶装置39からアクセス
される速度の2倍で動作するように、マイクロ命令ワー
ドによって制御される。
マイクロ命令ワードは、演算フィールド202の中に第
1の演算エレメント制御フィールド170を含む。AL
Ulo(第3図)は、4 M Hzクロックへ接続され
たクロック信号入力、マイクロプログラム記憶装置出力
の第1演算エレメント制御フイールド170へ接続され
た制御人力174、係数記憶装置24の係数ワード出力
又はスクラッチ・パッドSP1へ選択的に接続されるデ
ータ入力、及び出力を有する。ALUIOは、第1演算
エレメント制御フイールド170に応答して、各マイク
ロ命令時間中に1度だけ、第1の結果値を発生する。前
に説明したように、ALUloは2人力加算動作を実行
する。第5図に示されるマイクロ命令ワード・フォーマ
ットを参照すると、第1演算エレメント制御フイールド
170はビット101−103を占め、第1スクラツチ
・パッド・ポインタ・フィールド162Fiピント96
−99を占めることがわかる。
マルチプレクサ166の出力は、第1及び第2のステー
ジ・レジスタ114及び116を通され、かつ線115
を介して8 M Hzの速度で、スクラッチ・パッドS
PO(第6図)のアドレス入力へ与えられる。第1演算
エレメント制御フイールド17111、ステージ・レジ
スタ1ン2を介して4MHzの反復速度で送られ、線1
74を介して、ALUlo(第3図)の制御入力へ送ら
れる。スクラッチ・パッドSP1の制御及び動作は、S
POについて説明したものと同様でろるが、その制御及
びアドレス信号は、線117を介して制御ユニット2か
らSPlへ出力される。
前述したように、ALUIOは4MHzの反復速度で動
作し、その合計値を乗算器12の第1人力へ与える。乗
算器12は、同じように4MHzの速度で動作し、上記
の合計値と、係数記憶装置24から線167を介して4
MHzの反復速度で入力される係数とを乗算する。乗算
器12によって出力された積は、マルチプレクサ169
及び−位取り装置22を介してALU20へ与えられる
乗算器12の出力にるる積の値は、250naのマイク
ロ命令時間中有効に保持される。マルチプレクサ139
は、スクラッチ・パッドSP3、SF3、SF3に記憶
されたデータも通すことができる。位取り装置22Fi
、8 MHzの速度で動作し、マルチプレクサ139か
らの出力値を、第2の演算エレメントALU20(第3
図)の第1データ入力へ与える。
第21図の制御ユニットにおいて、マイクロ命令ワード
は第6スクラツチ・バンド・ポインタ・フィールド12
2(第5図のビット64−67)、第4スクラツチ・パ
ッド・ポインタ・フィールド125(第5図のビット4
2−45)、第2演算エレメント制御フイールド124
(第5図のヒラ)71−74)、及び第5演算エレメン
ト制御フイールド125(第5図のビット49−52)
を含む。
第21図の制御ユニットは第2のマルチプレクサ168
′を含む。マルチプレクサ168’U、8 M Hzク
ロックへ接続されたクロック信萼入力152、第6スク
ラツチ・パッド・ポインタ・フィールド122及び第2
演算エレメント制御フイールド124へ接続された1対
の入力、第4スクラツチ・パッド・ポインタ・フィール
ド123及び第6演算エレメント制御フイールド125
へ接続された第2の1対の入力、及び1対の出力を有す
る。マルチプレクサ168′は、その1対の出力を、マ
イクロ命令時間の第1の半サイクルでそ・の第1の1対
の入力へ接続し、マイクロ命令時間の第2の半サイクル
でその第2の1対の入力へ接続する。
第2の演算エレメントALU20は、8 M Hzクロ
ックへ接続されたクロック入力、マルチプレクサ12を
介して第1の演算ニレメン)ALUloの出力へ接続さ
れた第1のデータ入力、第2のデータ入力、第2のマル
チプレクサ168′から来る出力の1つへ接続された制
御人力131、及び出力を有する。ALU20は、マイ
クロ命令時間の第1半サイクルで第2演算エレメント制
御フイールド124に応答し、かつマイクロ命令時間の
第2半サイクルで第3演算エレメント制御フイールド1
25に応答して、各マイクロ命令時間に2回、和の結果
値を発生する。
このようにして、ALU20tj:、マイクロ命令がマ
イクロプログラム記憶装置39からアクセスされる速度
の2倍で動作するように、マイクロ命令ワードによって
制御される。
スクラッチ・パッドS P 3Fi、8 MHzクロッ
クへ接続されたクロック入力、マルチプレクサ168′
から来る出力の1つへ接続されたアドレス人力133、
ALU20の入力へ接続されたデータ出力を有する。5
P3Fi、その中の第1のロケーションから第1のデー
タ・ワードを読出し、マイクロ命令時間の第1の半サイ
クルで第3スクラツチ・パッド・ポインタ・フィールド
122に応答して、上記データ・ワードをALU20へ
出力する。SF3は、その中の第2の一ロケーションか
ら第2のデータ・ワードを読出し、マイクロ命令時間の
第2半サイクルで第4スクラツチ・パッド・ポインタ・
フィールド123に応答して、上記データ・ワードをA
LU20へ出力する。ALU20に対する制御信号は、
マルチプレクサ168′からステージ・レジスタ126
.130を8MHzの速度で通過し、線161を介して
ALU20へ出力される。SF3に対するアドレス及び
制御信号は、マルチプレクサ168′からステージ・レ
ジスタ128.130を通過し、線133を介してSF
3へ出力される。第3図に示されるスクラッチ・パッド
SP4は、SF3と同じように制御されるとともに動作
し、線135を介して制御及びアドレス情報を受取る。
代替的動作モードとして、SF3及び5P4tj、マイ
クロ命令時間の交互の半サイクルで、ALU20の第2
の入力へデータを交互に与えるようにしてもよい。スク
ラッチ・パッドs p s Fi、その中の第1のロケ
ーションから第1のデータ・ワードを読出し、マイクロ
命令時間の第1の半サイクルで、第6スクラツチ・パッ
ド・ポインタ・フィールド122に応答して、上記デー
タ・ワードをA L U 2.0へ出力する。SF3は
、その中の第2のロケーションから第2のデータ・ワー
ドを読出し、マイクロ命令時間の第2の半サイクルで、
第4スクラツチ・パッド・ポインタ・フィールド125
に応答して、上記データ・ワードをALU20へ出力す
る。SF3及びSF3の双方は、それらのアドレス及び
制御入力を、マルチプレクサ168′の出力対の1つへ
接続される。5P3Fiマイクロ命令時間の第1の半サ
イクルで制御情報を利用し、5P4Fi第2の半サイク
ルで制御情報を利用する。
ALU20は、8 M Hzの反復速度で動作し、位取
シ装置23及び丸め装置26を介して、和の出力をフィ
ードバック用スクラッチ・パッドSP5又は出力用スク
ラッチ・パッドSP6へ与える。
5P5Fi、更に処理を行うため、データをA L U
loへ与えることができる。SF3は、処理されたデー
タをメイン・メモリ6へ戻す。
更にマイクロ命令ワードは、スクラッチ・パッド・ポイ
ンタ・フィールド144(第5図のピッ)25−32 
)を含む。アドレス増加器120は、8 M Hzで動
作するクロックへ接続されたクロック入力、スクラッチ
・パッド・ポインタ・フィールド144へ接続されたア
ドレス入力、及び出力を有する。アドレス増加器120
は、マイクロ命令時間の第1半サイクルで、その出力へ
スクラッチ・パッド・ポインタ・フィールド144を転
送し、第2半サイクルで、その出力においてスクラッチ
・パッド・ポインタ・フィールド144を1の値だけ増
加させる。
スクラッチ・パッドSP5は、’8MHzクロックへ接
続されたクロック入力、アドレス増加器120の出力へ
接続されたアドレス入力線141、ALU20の出力へ
接続された一一夕入カを有する。SF3は、マイクロ命
令時間の第1半サイクルで、スクラッチ・パッド・ポイ
ンタ・フィールド144に応答して、その中の第1のロ
ケーションへALU20からの第1の結果値を書込む。
SF3は、マイクロ命令時間の第2半サイクルで、増加
されたスクラッチ・パッド・ポインタ・フィールド14
4に応答して、ALU20から来た第2の結果値を、そ
の中の第2のロケーションへ書込む。
アドレス増加器120の出力は、8MHzの速度でステ
ージ・レジスタ143及び144を通過し、アドレス値
及び制御値は、線141を介してSP5へ出力される。
SP、6J’t、制御ユニット2へ接続され、SP5と
同じように動作する。
ALU20に関して言えば、SP3は、その出力をマル
チプレクサ13.9及び位取り装置22を介して送るこ
とによシ、そのデータ出力をALU20の第1の入力へ
選択的に接”続させることができる。同様に、SP3か
らのデータ出力は、マイクロ命令時間の交互の半サイク
ルに、ALU20の第1及び第2の入力へ選択的に接続
されることができる。マイクロ命令時間の第1の半サイ
クルで、スクラッチ・パッド・ポインタ・フィールド1
22に応答してSP3の第1のロケーションから第1の
データ・ワードが読出されて、ALU20の第1の入力
へ出力されることができる。SP6は、マイクロ命令時
間の第2の半サイクルで、スクラッチ・パッド・ポイン
タ・フィールド124に応答して、その中の第2のロケ
ーションから第2のデータ・ワードを読出し、かつそれ
をALU20の第2人力へ出力することができる。
代替的動作モードにおいて、SP3は、マイクロ命令時
間の第1半サイクルで、第1のデータ・ワードを、マル
チプレクサ159及び位取り装置22を介してALU2
0の第1人力へ出力することができ、SP4は、マイク
ロ命令時間の第2半サイクルで、第2のデータ・ワード
をALU20の第2人力へ出力することができる。SP
6は、マイクロ命令時間の第1の半サイクルで、スクラ
ッチ・パッド・ポインタ・フィールド122に応答して
、その中の第1のロケーションから第1のデータ・ワー
ドを読出し、それをALU20の第1の入力へ出力する
。SP4は、マイクロ命令時間の第2の半サイクルで、
スクラッチ・)(ラド・ポインタ・フィールド124に
応答して、その中にるる第2のロケーションから第2の
データ・ワードを読出し、それをALU20の第2人力
へ出力する。
制御ユニットの動作の詳細な説明 演算/メモリ・ユニット4が簡単な演算動作を実行して
いる間、制御ユニット2がループを実行する動作を説明
する。表2は、ループを実行する一連のマイクロ命令を
示し、そのループの間に第16図のタイミング図に示さ
れた演算動作が実行される。
表2において、ページ・フィールド154は第5図のピ
ッ)17−20に対応し、状況制御フィールド230F
i第5図のビット13−16に対応し、ブランチ・スタ
ック・ポインタ・フィールド156Fiピツ)8−11
に対応し、ブランチ制御フィールド252はビット4−
7に対応し、メイン・メモリ・ポインタ145フイール
ドはビット117−120に対応し、spポインタ・フ
ィールド162はビット96−99に対応し、SPポイ
ンタ・フィールド164はビット105−108に対応
し、制御フィールド170はビット10T−103に対
応し、係数メモリ・ポインタ・フィールド160はビッ
ト80−83に対応し、SC/RNDフィールド168
はビット21−45.53−57.75−79に対応し
、spポインタ・フィールド122Fiビット64−6
7に対応し、制御フィールド124はビット71−74
に対応し、SPポインタ・フィールド123はビット4
2−45に対応し、制御フィールド125はピッ)49
−52に対応する。
表2は一連のマイクロ命令ワードを示す。これらのワー
ドは、プログラム・カウンタの番号41−49.60−
61によりラベルを付されている。
マイクロ命令41は、マイクロ命令42−48から構成
されるループを初期化する。マイクロ命令41Fi、「
5」のページ番号、「2」のブランチ・ポインタ、「ル
ープ初期化」のブランチ制御情報を有している。このブ
ランチ制御情報は、初期ループ・カウント・スタック2
12(第15図)のページ6に記憶された初期ループ・
カウント値(ポインタ値2)を、現ループ・カウント・
スタック214の対応するアドレスへ転送させる。プロ
グラム・カウンタ208は1だけ増加され、従ってプロ
グラム・カラン)r 42 Jはループの始めにマイク
ロ命令42をアドレスする。
ここで、ループが成る期間動作しており、従って演算/
メモリ・ユニット4における演算パイプラインは、完全
に満たされ動作しているものと仮定する。マイクロ命令
42−46は、同一のページ番号3ケ使用し、かつブラ
ンチ制御フィールド232の中にるる継続命令−を使用
する。この継続命令は、各ステップでプログラム・カウ
ンタ208を1だけ増加させる。
第13図のタイミング図でわかるように、マイクロ命令
42は、演算/メそり・ユニット達のために次のオペラ
ンドをアクセスするため、メイン・メモリ(MM )6
に対してアドレス発生を生じさせる値を、メイン・メモ
リ・ポインタ・フィールド145の中に含む。第13図
及び表2に示されるように、マイクロ命令43はSPポ
インタ・フィールド164の中に、メイン・メモリ6か
らアクセスされたオペランドが書込まれるべきSPOの
ロケーションを示すポインタ値を含む。更にマイクロ命
令45の時、乗算器12へ入力される係数についてアド
レス発生を行うため、係数メモリ・ポインタ・フィール
ド160にエントリイが存在する。次のマイクロ命令4
4において、SPポインタ・フィールド162には、マ
イクb命令時間SC1の間にALUloへ読出されるべ
きオペランドのSPOにおけるアドレスを示すエントリ
イが存在する。更に制御フィールド170には、マイク
ロ命令時間SC1の間にSPOからのオペランドを加算
すべきことを加算器へ命するエントリイが存在する。A
LUloからの傘針は乗算器12へ出力され、マイクロ
命令時間の第2半分SC2の間で利用可能となる。従っ
て乗算器12F′i、第13図に示されるように、マイ
クロ命令時間の第2半分、SC2と続くマイクロ命令時
間の第1半分SC1の間に、その乗算を実行することが
できる。
次のマイクロ命令45の間に、マイクロ命令時間の第2
半分で、位取シ動作が位取り装置22の中で実行される
。位取り動作は、マイクロ命令45のフィールド168
によって制御される。
マイクロ命令46では、マイクロ命令時間の第1半分S
C1の間に第1のスクラッチ・パッド及びALU20の
動作が実行され、マイクロ命令時間の第2半分SC2の
間に、第2のスクラッチ・パッド及びALU20の動作
が実行される。SPポインタ・フィールド122は、マ
イクロ命令時間の最初の半分でSF3の指定されたロケ
ーションからALU20へオペランドを転送させるため
のエントリイを有し、制御フィールド124は、マイク
ロ命令時間の最初の半分で指定さtた加算器動作を実行
させるためのエントリイを有する。次に、マイクロ命令
時間の第2半分の間に、SPポインタ・フイ、−ルド1
23はSF3からALU20へオペランドを転送するた
めのエントリイを有し、制御フィールド125Fi、マ
イクロ命令時間の第2半分の間にオペランドの加算を制
御するエントリイを有する。フィールド168は、マイ
クロ命令時間の第2半分の間に位取り動作、を制御する
エントリイを有する。
マイクロ命令47のブランチ制御フィールド262は、
ループ・カウント減少命令を含む。この命令は、マイク
ロプログラム・シーケンサ′58のループ制御論理21
0をして、現ループ・カウント・スタック214からア
クセスされたループ・カウント値を1にけ減少させ、こ
の減少値でスタック214の上記ループ・カウント値と
置換する。
更に、マイクロ命令47は、メイン・メモリ・ポインタ
・フィールド145に、メイン・メモリのためにアドレ
ス発生動作を開始させるエントリイを含む。それは、演
算パイプライン動作の結果を記憶させるためのものでる
る。更に、マイクロ命令47Fi、フィールド168に
エントリイを含む。
このエントリイは、丸め装置26をして、演算パイプラ
イン(演算/メモリ・ユニット4)における演算動作の
結果について所望の丸め動作を実行させる。
マイクロ命令48は、ブランチ制御フィールド252に
エントリイを含む。このエントリイは、ループ・カウン
ト関数のブランチに対する命令でるる。ブランチ・スタ
ック・ポインタ156は、カウント関数ブランチ・スタ
ック218の関数として、ベージ3のロケーションに対
するブランチ・ポインタ値を含む。スタック218は、
現在動作されつつるるループの先頭のためにマイクロ命
令アドレス42を含′む。カウント関数ブランチ(BF
CU)命令は、スタック218をして、値’42をプロ
グラム・カウンタ208へ出力させる。デコード論理2
06は、プログラム・カウンタ208をして、値42を
pcの新しい値として、マイクロプログラム記憶装置3
9へ通過させるが、それはデコード論理206が、第1
5図のゼロ検出器228からゼロ検出信号を検出しなか
った時に限られる。もし検出しておれば、ループ・カウ
ントがゼロへ減少しており、ループ動作が完了したこと
を示す。もしデコード論理206がゼロ検出器228か
らのゼロ検出信号を検出すると、それは、プログラム・
カウンタ208へ、現在のプログラム・カウント(PC
)値48が1だけ増加されるべきでるり、新しいPC値
49が、マイクロプログラム記憶装置5?から次の命令
をアクセスするだめのアドレスとして使用されるべきこ
とを知らせる。これによって、プログラムは現在のルー
プから脱出する。
表2のマイクロ命令49は、ブランチ制御フィールド2
52に、条件付きブランチ命令CB50のエントリイを
含む。これは、指定された条件が満足されているかどう
かを決定するため、条件ビット・レジスタ234がデコ
ード論理206によってテストされることを要求する。
もし条件が満足されていれば、マイクロ命令49の状況
制御フィールド230にめるエントリイは、ブランチパ
アドレス・スタック216のブランチ・スタック・ポイ
ンタ・フィールド156で指定されたロケーションへの
ブランチ動作を指定する。これはスタック216からの
条件付きブランチ・アドレスのアクセスを生じる。この
ブランチ・アドレスは、プログラム・カウントの新しい
値として、プログラム・カウンタ208へ出力される。
この値はプログラム・カウンタ208を通過し、マイク
ロプログラム記憶装置69ヘアドレス入力として印加さ
れる。例として、ブランチ・アドレス・スタック216
からアクセスされた新しいpc値は、命令番号60とす
る。マイクロ命令60は、新しいページ番号5を有する
とともに、そのブランチ制御フィールド262に継続命
令を有する。以上の説明によって、1つのプログラム・
サブルーチンから他のプログラム・サブルーチンへ、容
易にかつ柔軟性をもって変更がなされ得ることがわかる
無条件ブランチ動作及び条件付きブランチ動作第24図
は無条件ブランチ及び条件付きブランチの制御を示す。
一連のマイクロ命令10及び11が無条件ブランチによ
って一連のマイクロ命令30−34へ行き、そこで条件
付きブランチが実行されて、一連の命令40−44へ行
き、更に条件付きブランチによって命令12へ行くもの
と仮定する。第24図に示されるように、マイクロ命令
10は、ブランチ制御フィールド232に継続命令を含
む。これは、プログラム・カウンタ208をして、現在
のプログラム・カウント(PC)値を1だけ増加させ、
その値を次のマイクロ命令アドレスとして印加する。新
しいPC値11はマイクロ命令11にアクセスするが、
マイクロ命令11t/′i、ブランチ制御フィールド2
32に無条件ブランチ(UB)命令を含む。ブランチ・
アドレス・スタック216は、マイクロ命令11によっ
て指定されたページ番号及びブランチ・スタック・ポイ
ンタ番号アドレスでアクセスされる。スタック216か
らアクセスされた無条件ブランチ・アドレスは、新しい
pc値でるり、これを3.0と仮定する。この値30は
、プログラム・カウンタ208を通り、新しいアドレス
としてマイクロプログラム記憶装置69へ印加される。
新しいシーケンスのマイクロ命令30−34へブランチ
すると、マイクロ命令50はブランチ制御フィールド2
62に継続命令を含む。この命令は、プログラム・カウ
ンタ208をして、pc値を1だけ増加させ、PC値3
1を生じる。次のマイクロ命令61は、ブランチ制御フ
ィールド252に継続命令を含み、プログラム・カウン
タ208をして、pc値を1だけ増加させ、pc値32
を生じる。状況制御フィールド230は、条件ピント・
レジスタCo234をゼロヘセットさせる命令を含む。
マイクロ命令62は、ブランチ制御フィールド232に
、条件付きブランチ命令CB50を含む。これは、デコ
ード論理206をして条件ビット・レジスタ234の状
態を検査せしめ、もし条件ビットが1でめれば、ブラン
チ・スタック・ポインタ・フィールド156で指定され
たロケーションへブランチさせる。条件ビットはゼロヘ
セットされているから、条件は満足されず、プログラム
・カウンタ208は、デコード論理206によってPC
値を1だけ増加するよう命令され、値63を生じる。
マイクロ命令56はブランチ制御フィールド232に継
続命令を含む。これは、プログラム・カウンタ208を
して、PC値を1だけ増加させ、値34を生じる。この
マイクロ命令時間中、状況制御フィールド250は、条
件ビット・レジスタ264を1ヘセントさせる命令を含
む。次のマイクロ命令34は、レジスタ234の状態を
テストする条件付きブランチ命令CB50でるる。今や
条件ビットは1でめるから、デコード論理206は、ブ
ランチ・アドレス・スタック216をして、マイクロ命
令54の中で指定されたページ番号及びブランチ・スタ
ック・ポインタ番号のところに記憶されたアドレス値を
、新しいPC値として出力させる。デコード論理206
は、プログラム・カウンタ208をして、この新しいP
C値(40であると仮定する)を、マイクロプログラム
記憶装置69への新しいアドレス入力として通過させる
。条件ビットのセットは、第24図のマイクロ命令51
及び33で示されるように、状況制御フィールド250
からの命令によって明示的に実行されることができ−る
同じようにして、マイクロ命令40−44の動作が実行
される。マイクロ命令40及び41は継続を要求する。
マイクロ命令42の間に、状況制御フィールド250は
、AlH20の符号に基いて条件ビットをセットするよ
う要求する。その時間におけるALU符号値が正である
ものと仮定すると、条件ビット・レジスタ234はゼロ
ヘセットされる。マイクロ命令42の間、条件行きブラ
ンチ命令CB50は条件ビットのテストを行う。条件ビ
ットはゼロでめるから、ブランチはとられず、PC値は
1だけ増加されて、値43を生じる。
マイクロ命令43の間、状況制御フィールド230は、
条件ビットをAlH30の符号値ヘセントするよう求め
る。符号値幅員でるると仮定すると、条件ビットは1ヘ
セントされる。マイクロ命令44は、ブランチ制御フィ
ールド232に条件付きブランチ命令CB50を含む。
これは条件ビン。、トのテストを要求する。今や条件ビ
ットは1であるから、ブランチ・アドレス・スタック2
16はマイクロ命令44に含まれるページ番号及びブラ
ンチ・スタック・ポインタ番号に基いてアクセスされ、
了ドレス値が新しいPC値(12であると仮定する)と
して出力される。値12は、プログラム・カウンタ20
8を通って、次のマイクロ命令に対する新しいマイクロ
命令アドレスとして、マイクロプログラム記憶装置59
のアドレス入力へ送られる。以上の説明に@うて、1つ
のプログラム・サプルーチlから他のプログ□ラム・サ
ブルーチンへの変化が、容易にかつ柔軟性をもってなさ
れ得ることがわかる。
ブランチ・アンド・リンク動作 第23図を参照して、ブランチ・アンド・リンク動作を
説明する。マイクロ命令50及び51で始まる一連の命
令は、マイクロ命令70−79へブランチ及びリンク動
作を行い、リターン命令は、マイクロ命令79でプログ
ラムをマイクロ命令52以下のシーケンスへ戻す。マイ
クロ命令50は、ブランチ制御フィールド232に継続
命令を含み、これは次のPC値を51にする。マイクロ
命令51はブランチ制御フィールド232にブランチ・
アンド・リンク(BAL )命令を含み、これは51の
pc値を1だけ増加して52の値にする。この値は、デ
コード論理206の制御の下に、プログラム・カウンタ
208によって、ブランチ・アンド・リンク・アドレス
記憶装置220の入力へ転送される。52の値は、記憶
装置220のモジュロNカウンタ222によってアドレ
スされたロケーションに記憶される。次にデコード論理
206は、記憶装置220における次の記憶動作のため
に、モジュロNカウンタ222を制御して、そのアドレ
ス値を1だけ増加する。記憶装置220における記憶ロ
ケーションの数を16とすれば、N=16でるり、モジ
ュロNカウンタ222はモジュロ16カウンタでるる。
マイクロ命令51にるるブランチ・アンド・リンク命令
は、デコード論理206をして、ブランチ・アドレス・
スタック216へ信号を発生せしめて、マイクロ命令5
10ページ値及びブランチ・スタック・ポインタ値によ
って指定されたロケーションへアクセスさせる。そのよ
うにしてアクセスされたアドレス値が70でろると仮定
すると、その値は、PCの新しい値としてプログラム・
カウンタ208へ出力される。次に70の値は、プログ
ラム・カウンタ208を介して、マイクロプログラム記
憶装置39のアドレス入力へ、ブランチが生じたマイク
ロ命令のアドレスとして送られる。第23図において、
マイクロ命令79がアクセスされるまで、マイクロ命令
70及び78がブランチ制御フィールド232に継続命
令を有していることを示している。
マイクロ命令79はブランチ制御フィールド252にリ
ターン命令を含む。これは、デコード論理206を′し
て、モジュロN力やンタ222を減少せしめ、かつその
減少した値をブランチ・アンド・リンク・アドレス記憶
装置220へ印加せしめる。次に記憶装置220は、前
に記憶された5、−゛ 2の値を新しいPC値としてプログラム・カウンタ20
8へ出力するよう制御される。次にプログラム・カウン
タ2.08H152の値をプログラムのリターン・アド
レスとして、マイクロプログラム記憶装置39のアドレ
ス入力へ送るように、デコード論理206によって制御
される。次に、プログラムはマイクロ命令52.53と
いうように継続する。
かくて、制御スタック、メモリ・ポインタ・スタックの
ために共通のページ値をマイクロ命令によって指定し、
かつマイクロ命令の中にブランチ動作命令、記憶装置ア
クセス命令、及び演算動作命令を含ませることによって
、制御の統一性が得られ、その結果、ループ及びブラン
チ制御動作と、記憶装置アクセス動作と、パイプライン
式演算動作との緊密に結合された制御が達成され、処理
タスクの変化に対して、即時のかつ柔軟性るる応答が得
られることがわかる。
【図面の簡単な説明】
第1図は制御ユニット及び演算/メモリ・ユニットの機
能的ブロック図、第2図は複数の機能プロセッサ・ユニ
ットを使用する分散処理システムのシステム・ブロック
図、第5図は演算/メモリ・ユニットの機能的ブロック
図、第4図はメイン・メ% リ・モジュールの相互接続
を示す機能的ブロック図、第5図はマイクロ命令のフォ
ーマットを示す図、第6図は有限インパルス応答濾波計
算を実行している時の演算/メモリ・ユニットのデータ
・フロー図、第7図は有限インパルス応答濾波計算に対
するスクラッチ・バンド・メモリ・アドレス増加の実行
を示すデータ・フロー図、第8図はスクラッチ・パッド
・モジュール加算器の機能的ブロック図、第9図1d4
点高速フーリエ変換バターフライ計算を実行している時
の演算/メモリ・ユニットのデータ・フロー図、第10
図は時間遅延ビーム形成計算を実行している時の演算/
メモリ・ユニットのデータ・フロー図、第11図はメイ
ン・メモリ構成の機能的ブロック図、第12図は回帰バ
ッファ概念を示す略図、第15図はプロセッサ・タイミ
ングに対するタイミング図、第14図蝉機能処理ユニッ
トの機能ブロック図、第15図はマイクロプログラム・
シーケンサの機能ブロック図、第16図はマイクロプロ
グラム記憶装置及び係数記憶装置の機能ブロック図、第
17図は乗算器係数コントローラの機能的ブロック図、
第18図はスクラッチ・パッド・メモリ・アドレス選択
のための動作図、第19図はメイン・メモリ・アドレス
発生器の機能ブロック図、第20図は制御スタック、メ
イン・メモリ・ポインタ・スタック、及び係数メモリ・
ポインタ・スタックをページ・アドレスに〜よって統一
的に制御することを示す全体的機能ブロック図、第21
図は制御ユニット2の詳細な機能ブロック図、第22図
はループ制御動作の順次的流れ図、第23図はブランチ
・アンド・リンク動作の順次的流れ図、第24図は無条
件/条件付きブランチ動作の順次的流れ図でるる。 2・・・・制御ユニット、4・・・・演算/メモリ・ユ
ニット、6・・・・メイン・メモリ、10′、20′・
・・・加算機能、12・・・・乗算器、14・・・・ス
タック、16・・・・スクラッチ・パッド、18・・・
・アドレス発生器、24・・・・係数記憶装置、68・
・・・マイクロプログラム・シーケンサ、39・・・・
マイクロプログラム記憶装置、154・・・・ページ・
アドレス・フィールド、156・・・・ブランチ・スタ
ック・ポインタ・フィールド、122.123.144
.162、i64・・・・スクラッチ・パッド・ポイン
タ・フィールド、145・−・・・、メイン・メモリ・
ポインタ・フィールド、124.125.170・・・
・演算エレメント制御フィールド、200・・・・制御
フィールド、202・・・・演算フィールド、204・
・・・記憶フィールド、206・・・・デコード論理(
シーケンス・デコーダ)、208・・・・プログラム・
カウンタ、210・・・・ループ制御論理(減算器)、
212・・・・初期ループ・カウント・スタック、21
4・・・・現ループ・カウント・スタック、216・・
・・ブランチ・アドレス・スタック、218・・・・カ
ウント関数ブランチ・スタック、220・・・・ブラン
チ・アンド・リンク・アドレス記憶装置、228・・・
・ゼロ検出器。 出願 人 インターナシ四カル・ビジネス・マシーンズ
・コーポレークタン手  続  補  正  書(自発
) 昭和57年10月27日 特許庁長官 若 杉 和 夫 殿 1、事件の表示 昭和57年 特許願 第 154730号2、発明の名
称 コンピュータ制御装置 五補正をする者 事件との関係  特許出願人 住 所 アメリカ合衆国10504、ニューヨーク州ア
ーモンク(番地なし) 4、代理人 住 所 郵便番号 106 東京都港区六本木−丁目4番34号 第21森ビル 日本アイ・ビー・エム株式会社内 5、補正命令の日付 昭和 −年−−一」−一日 6、補正の対象 (1)図面 (2)委任状 (3)優先権証明書 7 補正の内容 (1)添付複写図に未配の如く、第1図中の&照番−号
「10」をrl[1’−1に補正し「20」を「20′
」に補正する2、 (2)委任状を別紙のとおりに補正する3゜(3)優先
権証明書全別紙のとおりに補正する3゜8、添付書類

Claims (1)

  1. 【特許請求の範囲】 下記の構成要件(イ)乃至チ)を具備するコンピュータ
    のための制御装置。 (イ)ページ・アドレス・フィールド・ブランチ制御フ
    ィールド、及びブランチ・スタック・ポインタ・フィー
    ルドを含む制御フィールド群、演算フィールド群、及び
    記憶フィールド群含有する複数のマイクロ命令ワードを
    記憶し、かつアドレス入力及び上記マイクロ命令ワード
    の出力を有するマイクロ命令ワード中。 (ロ)上記マイクロ命令記憶装置へ接続され、クロック
    信号を所定の反復速度で発生して、上記マイクロ命令記
    憶装置から上記所定の反復速度で上記マイクロ命令ワー
    ドを出力させるクロック手段。 それぞれのマイクロ命令ワードは、対応するマイクロ命
    令時間の叩に上記アドレス入力へ印加されたアドレスに
    従ってアクセスされる。 (/ウ  上記クロック手段へ接続されたクロック入力
    、上記マイクロ命令ワード出力のブランチ制御フィール
    ドへ接続された入力、及び出力を有し、上記所定の反復
    速度で上記マイクロ命令ワード中のブランチ制御命令を
    デコードするシーケンス・デコーダ。 に)上記マイクロ命令ワード出力のページ・アドレス・
    フィールドへ接続されたページ・アドレス入力、上記マ
    イクロ命令ワード出力のブランチ・スタック・ポインタ
    ・フィールドへ接続されたポインタ・アドレス人力、上
    記シーケンス・デコーダの出力へ接続された制御入力、
    および出力を有し、複数のページ群の中にマイクロ命令
    ループ開始地点アドレスを記憶するループ・カウント関
    数アドレス・スタック。上記ページ群の各々は上記ペー
    ジ・アドレス入力によってアクセスされ、各ページ群は
    上記ポインタ・アドレス入力によってアクセスされる複
    数のループ開始地点アドレスを有し、かつ上記ループ・
    カウント関数アドレス・スタックは、上記マイクロ命令
    記憶装置から出力された最新のマイクロ命令ワードがル
    ープ終了命令を有する旨の衣示信号を上記シーケンス・
    デコーダが出力したことに応答して、新しいループ開始
    地卓アドレスを出力する。 (ホ)上記マイクロ命令ワード出力のページ・アドレス
    ・フィールドへ接続されたページ・アドレス入力、上記
    マイクロ命令ワード出力のブランチ・スタック・ポイン
    タ・フィールドへ接続されたポインタ・アドレス入力、
    上記シーケンス・デコーダの出力へ接続された制御入力
    、入力及び出力を有し、複数のページ群に現在のマイク
    ロ命令ループ・カウントを記憶する現ループ・カウント
    ・スタック。1記ページ群の各々は上記ページ・アドレ
    ス入力によってアクセスされ、各ページ群は上記ポイン
    タ・アドレス入力によってアクセスされる複数のループ
    ・カウントを有し、かつ上記現ループ・カウント・スタ
    ックは、上記マイクロ命令記憶装置から出力された最新
    のマイクロ命令ワードのブランチ制御フィールドがルー
    プ終了命令を一有する旨の衣示信号を上記シーケンス・
    デコーダが出力したことに応答して、新しいループ・カ
    ウントを出力する。 (へ)上記現ループ・カウント・スタックの出力へ接続
    された入力、及び上記現ループ・カウント・スタックの
    入力へ接続された出力を有し、ループ・カウント入力値
    を1だけ減少させ、減少された値を上記現ループ・カウ
    ント・スタックの入力へ新し、い現ループ・カウントと
    して出力する減算手段。 (ト)上記減算手段の出力へ接続された入力、及び上記
    シーケンス・デコーダの入力へ接続された出力を有し、
    減少された上記現ループ・カウントがゼロである時、ゼ
    ロ検出信号を上記シーケンス・デコーダへ出力するゼロ
    検出器。 (イ)上記クロック手段へ接続されたクロック入力、上
    記ループ・カウント関数アドレス・スタックの出力へ接
    続された入力、上記シーケンス・デコーダの出力へ接続
    された制御入力、上記マイクロ命令記憶装置のアドレス
    入力へ接読された出力を有し、かつ上記マイクロ命令記
    憶装置から出力された最新のマイクロ命令ワードのアド
    レスをグログラム・カウントとして記憶し、上記プログ
    ラム・カウントを上記所定の反復速度で1だけ増加させ
    て次のマイクロ命令記憶装置アドレスとするプログラム
    ・カウンタ。該プログラム・カウンタは、上記マイクロ
    命令記憶装置から出力された最新のマイクロ命令ワード
    のブランチ制御フィールドがループ終了命令を有する旨
    の衣示信号を上記シーケンス・デコーダが出力した時、
    該シーケンス・デコーダが上記ゼロ検出器から上記ゼロ
    検出信号を受取っていないことに応答して、上記ループ
    ・カウント関数アドレス・スタックから上記ループ開始
    地点アドレスを出力させる。 (以下余白)
JP57154730A 1981-12-07 1982-09-07 コンピユ−タ制御装置 Granted JPS58101345A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US328167 1981-12-07
US06/328,167 US4450525A (en) 1981-12-07 1981-12-07 Control unit for a functional processor

Publications (2)

Publication Number Publication Date
JPS58101345A true JPS58101345A (ja) 1983-06-16
JPS635776B2 JPS635776B2 (ja) 1988-02-05

Family

ID=23279799

Family Applications (2)

Application Number Title Priority Date Filing Date
JP57154730A Granted JPS58101345A (ja) 1981-12-07 1982-09-07 コンピユ−タ制御装置
JP57187672A Granted JPS58103042A (ja) 1981-12-07 1982-10-27 コンピユ−タ制御装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP57187672A Granted JPS58103042A (ja) 1981-12-07 1982-10-27 コンピユ−タ制御装置

Country Status (4)

Country Link
US (1) US4450525A (ja)
EP (2) EP0081034B1 (ja)
JP (2) JPS58101345A (ja)
DE (1) DE3280260D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6020242A (ja) * 1983-07-15 1985-02-01 Sony Corp プログラム制御回路

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4556938A (en) * 1982-02-22 1985-12-03 International Business Machines Corp. Microcode control mechanism utilizing programmable microcode repeat counter
US4672532A (en) * 1982-06-14 1987-06-09 Tektronix, Inc. Software/hardware integration control system
JPS603036A (ja) * 1983-06-20 1985-01-09 Hitachi Ltd 処理履歴情報の取得・参照方式
US4564901A (en) * 1983-07-21 1986-01-14 Burroughs Corporation Method of performing a sequence of related activities via multiple asynchronously intercoupled digital processors
FR2554936B1 (fr) * 1983-11-10 1986-08-29 Saulnier Dominique Systeme d'echange d'informations a etiquettes electroniques
FR2559928A1 (fr) * 1984-02-17 1985-08-23 Pick Systems Co-processeur microprogramme
US4809156A (en) * 1984-03-19 1989-02-28 Trw Inc. Address generator circuit
US4791551A (en) * 1985-02-11 1988-12-13 Analog Devices, Inc. Microprogrammable devices using transparent latch
EP0221741A3 (en) * 1985-11-01 1991-01-16 Advanced Micro Devices, Inc. Computer microsequencers
JPH071498B2 (ja) * 1985-11-28 1995-01-11 株式会社日立製作所 パルス入出力プロセッサ及びそれを用いたマイクロコンピュータ
US4841435A (en) * 1986-10-29 1989-06-20 Saxpy Computer Corporation Data alignment system for random and block transfers of embedded subarrays of an array onto a system bus
US4839801A (en) * 1986-11-03 1989-06-13 Saxpy Computer Corporation Architecture for block processing computer system
US4872132A (en) * 1987-03-13 1989-10-03 Zoran Corporation Method and means for block floating point arithmetic
JPS63273101A (ja) * 1987-04-30 1988-11-10 Fanuc Ltd プログラマブル・コントロ−ラ
US4926355A (en) * 1987-07-02 1990-05-15 General Datacomm, Inc. Digital signal processor architecture with an ALU and a serial processing section operating in parallel
US4891754A (en) * 1987-07-02 1990-01-02 General Datacomm Inc. Microinstruction sequencer for instructing arithmetic, logical and data move operations in a conditional manner
US5058007A (en) * 1987-11-05 1991-10-15 Raytheon Company Next microinstruction generator in a microprogram control unit
US5117498A (en) * 1988-08-19 1992-05-26 Motorola, Inc. Processer with flexible return from subroutine
US5043879A (en) * 1989-01-12 1991-08-27 International Business Machines Corporation PLA microcode controller
US5109497A (en) * 1989-01-27 1992-04-28 Hughes Aircraft Company Arithmetic element controller for controlling data, control and micro store memories
US6253307B1 (en) * 1989-05-04 2001-06-26 Texas Instruments Incorporated Data processing device with mask and status bits for selecting a set of status conditions
FR2678400B1 (fr) * 1991-06-27 1995-08-04 Texas Instruments France Processeur de protocole destine a l'execution d'un ensemble d'instructions en un nombre reduit d'operation.
US5471626A (en) * 1992-05-06 1995-11-28 International Business Machines Corporation Variable stage entry/exit instruction pipeline
US5557759A (en) * 1995-06-07 1996-09-17 International Business Machines Corporation Video processor with non-stalling interrupt service
US6031842A (en) * 1996-09-11 2000-02-29 Mcdata Corporation Low latency shared memory switch architecture
US6035378A (en) * 1997-12-16 2000-03-07 Ncr Corporation Method and apparatus for dynamically monitoring memory page access frequency in a non-uniform memory access computer system
US6035377A (en) * 1997-12-17 2000-03-07 Ncr Corporation Method and apparatus for determining memory pages having greatest frequency of access in a non-uniform memory access computer system
JP3737650B2 (ja) * 1999-07-09 2006-01-18 株式会社東芝 統合コントローラ及び制御システム
DE10085390T1 (de) * 1999-12-10 2003-04-30 Mosaid Technologies Inc Kanata Verfahren und Vorrichtung zur Adressuche längster Übereinstimmung
US6707831B1 (en) * 2000-02-21 2004-03-16 Hewlett-Packard Development Company, L.P. Mechanism for data forwarding
US7966421B2 (en) * 2000-06-21 2011-06-21 SAtech Group, A.B. Limited Liability Company Method and apparatus for logically expanding the length of a search key
US7417986B1 (en) * 2001-09-04 2008-08-26 Cisco Technology, Inc. Shared buffer switch interface
GB2425860A (en) * 2005-05-05 2006-11-08 Advanced Risc Mach Ltd Multi-dimensional fast fourier transform
KR101496340B1 (ko) * 2008-10-31 2015-03-04 삼성전자주식회사 프로세서 및 메모리 제어 방법
US11764940B2 (en) 2019-01-10 2023-09-19 Duality Technologies, Inc. Secure search of secret data in a semi-trusted environment using homomorphic encryption

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB979632A (en) 1960-04-20 1965-01-06 Nat Res Dev Improvements in or relating to electronic digital computing machines
NL273031A (ja) * 1960-12-30
US3740728A (en) * 1972-01-19 1973-06-19 Hughes Aircraft Co Input/output controller
IT951233B (it) * 1972-04-07 1973-06-30 Honeywell Inf Systems Sistema di comando di un calcola tore mediante microprogrammazione ed estensione dinamica delle fun zioni di controllo ottenuta da reti logiche
US3900834A (en) * 1972-09-05 1975-08-19 Bunker Ramo Memory update apparatus utilizing chain addressing
US4068304A (en) * 1973-01-02 1978-01-10 International Business Machines Corporation Storage hierarchy performance monitor
US3984817A (en) * 1973-11-08 1976-10-05 Honeywell Information Systems, Inc. Data processing system having improved program allocation and search technique
US3980992A (en) * 1974-11-26 1976-09-14 Burroughs Corporation Multi-microprocessing unit on a single semiconductor chip
US3935563A (en) * 1975-01-24 1976-01-27 The United States Of America As Represented By The Secretary Of The Navy Computer footprint file
US4016543A (en) * 1975-02-10 1977-04-05 Formation, Inc. Processor address recall system
CA1059639A (en) * 1975-03-26 1979-07-31 Garvin W. Patterson Instruction look ahead having prefetch concurrency and pipe line features
JPS593790B2 (ja) * 1975-06-20 1984-01-26 日本電気株式会社 Fft エンサンシヨリソウチ
US4041461A (en) 1975-07-25 1977-08-09 International Business Machines Corporation Signal analyzer system
JPS5263038A (en) * 1975-10-01 1977-05-25 Hitachi Ltd Data processing device
DE2555963C2 (de) * 1975-12-12 1982-10-28 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Funktionsmodifizierung
US4041462A (en) * 1976-04-30 1977-08-09 International Business Machines Corporation Data processing system featuring subroutine linkage operations using hardware controlled stacks
US4156925A (en) * 1976-04-30 1979-05-29 International Business Machines Corporation Overlapped and interleaved control store with address modifiers
US4075704A (en) * 1976-07-02 1978-02-21 Floating Point Systems, Inc. Floating point data processor for high speech operation
US4064554A (en) * 1976-08-16 1977-12-20 Texas Instruments Incorporated Microcomputer with code conversion
US4115853A (en) * 1976-12-21 1978-09-19 Allen-Bradley Company Jump structure for a digital control system
US4181934A (en) * 1976-12-27 1980-01-01 International Business Machines Corporation Microprocessor architecture with integrated interrupts and cycle steals prioritized channel
US4181935A (en) * 1977-09-02 1980-01-01 Burroughs Corporation Data processor with improved microprogramming
US4138730A (en) * 1977-11-07 1979-02-06 Communications Satellite Corporation High speed FFT processor
JPS54127653A (en) * 1978-03-28 1979-10-03 Toshiba Corp Data processor
DE2966916D1 (en) * 1978-10-06 1984-05-24 Hughes Aircraft Co Modular processor system
US4245302A (en) * 1978-10-10 1981-01-13 Magnuson Computer Systems, Inc. Computer and method for executing target instructions
GB2040519B (en) * 1979-01-03 1983-08-17 Honeywell Inf Systems Data processing systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6020242A (ja) * 1983-07-15 1985-02-01 Sony Corp プログラム制御回路

Also Published As

Publication number Publication date
EP0081034B1 (en) 1990-10-17
JPS58103042A (ja) 1983-06-18
JPS635775B2 (ja) 1988-02-05
JPS635776B2 (ja) 1988-02-05
EP0297626A2 (en) 1989-01-04
DE3280260D1 (de) 1990-11-22
EP0297626A3 (en) 1990-05-09
US4450525A (en) 1984-05-22
EP0081034A3 (en) 1986-10-01
EP0081034A2 (en) 1983-06-15

Similar Documents

Publication Publication Date Title
JPS58101345A (ja) コンピユ−タ制御装置
EP0053457B1 (en) Data processing apparatus
US4594655A (en) (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions
CA1297195C (en) Digital signal processor
US5179530A (en) Architecture for integrated concurrent vector signal processor
US5175702A (en) Digital signal processor architecture with plural multiply/accumulate devices
US8904152B2 (en) Efficient complex multiplication and fast fourier transform (FFT) implementation on the ManArray architecture
US5175863A (en) Signal data processing system having independently, simultaneously operable alu and macu
US5075840A (en) Tightly coupled multiprocessor instruction synchronization
US5261113A (en) Apparatus and method for single operand register array for vector and scalar data processing operations
JP3983857B2 (ja) ベクトルレジスタの複数バンクを用いた単一命令複数データ処理
US4202035A (en) Modulo addressing apparatus for use in a microprocessor
JPS6058490B2 (ja) 命令ブランチ機構
US4862407A (en) Digital signal processing apparatus
US6330657B1 (en) Pairing of micro instructions in the instruction queue
JPS6125188B2 (ja)
US4837678A (en) Instruction sequencer for parallel operation of functional units
Kratz et al. A microprogrammed approach to signal processing
JPH0766372B2 (ja) 浮動小数点演算処理装置
Swartzlander VLSI architecture
JPS6125166B2 (ja)
JP2760808B2 (ja) データ処理装置
Ungerboeck et al. The SP16 signal processor
JPH0298777A (ja) 並列積和演算回路及びベクトル行列積演算方法
Jaragh et al. Application of a microprogrammable microprocessor in digital signal processing analysis