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
JPS5947346B2 - プロセツサ - Google Patents
[go: Go Back, main page]

JPS5947346B2 - プロセツサ - Google Patents

プロセツサ

Info

Publication number
JPS5947346B2
JPS5947346B2 JP53143469A JP14346978A JPS5947346B2 JP S5947346 B2 JPS5947346 B2 JP S5947346B2 JP 53143469 A JP53143469 A JP 53143469A JP 14346978 A JP14346978 A JP 14346978A JP S5947346 B2 JPS5947346 B2 JP S5947346B2
Authority
JP
Japan
Prior art keywords
bit
bits
register
multiplier
bus
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
Application number
JP53143469A
Other languages
English (en)
Other versions
JPS5494849A (en
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 JPS5494849A publication Critical patent/JPS5494849A/ja
Publication of JPS5947346B2 publication Critical patent/JPS5947346B2/ja
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/4806Computations with complex numbers
    • G06F7/4812Complex multiplication

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 技術分野 本発明は信号処理装置に関し、更に具体的には2個の複
素数オペランドの積の合計を計算するように設計された
特殊マイクロプロセツサに関する〇技術の背景文字認識
、データ転送、スペクトル分析等の技術分野で使用され
る信号処理は、短い時間内で非常に多数のデータ・エレ
メントを処理しなければならない0通常のコンピユータ
を使用しては、リアル・タイムでそれを処理することは
できない〇従来まで、特殊応用例のために作られた特殊
のアナログ及びデイジタル回路が信号処理を実行した〇
信号処理用に市販された初期のデイジタル装置は、比較
的高価なマイクロプロセツサの形態をとつていた。
フランス特許第74−43561号(公告番号2296
221)は、主従関係に基づいたモジユラ形信号処理装
置を説明している0基本的装置は、制御ユニツトとして
使用されるマイクロプロセツサと、乗算器兼累算器とし
て使用される特殊マイクロプロセツサとを含んでいる0
もし信号処理がより大きな計算能力を必要とすれば、乗
算器兼累 二算器として働く第2のマイクロプロセツサ
が最初のマイクロプロセツサに付加される〇スペクトル
分析及び高速データ処理の分野では、信号処理は本質的
に複素数のたたみ込み(COnvO−1uti0n)及
び相関(COrrelatiOn)の積を計算しな シ
ければならない(デイジタル・フイルタリング、デイス
クリートなフーリエ変換の計算)。
即ち、2個の複素数オペランドの積の合計を計算しなけ
ればならない。これは明らかに非常に大きな計算能力を
必要とする。何故ならば、2個の複素数オペ 5ランド
の積を計算するためには4回の乗算が実行されねばなら
ず、そのうちの2回は積の実数部を計算するために必要
であり、他の2回は虚数部を決定するために必要である
0これら4回の乗算は概念的には逐次的に実行され、割
当てられた短時 3間のうちにそれを終らせることはで
きない0それらを並列に実行することはできるが、その
場合、前述した特許で説明される装置では、少なくとも
2個のマイクロプロセツサを設けることが必要である0
これらマイクロプロセツサは、4回の乗算 4結果の実
数部及び虚数部をまとめるように設計されたアルゴリズ
ムに従つて、乗算器兼累算器として働く。本発明の開示 本発明は、2個の複素数オペランドの積の合計を計算す
ることのできる1個の特殊マイクロプロセツサを設ける
ことによつて、上記の欠点を克服したものである0本発
明の装置に従えば、2個の複素数オペランドの積の実数
部及び虚数部は、1個の乗算兼累算ユニツト中で同時に
計算される〇本発明のマイクロプロセツサは、積の合計
S=Σ±Piを計算することのできる特殊プロセツサで
ある0ここで各々の積Piは乗数Ai+JBi及び被乗
数Cl+JDlより成る2個のnビツト複素数オペラン
ドの積である0j=(:]である。
このプロセツサは命令ストレージと、該ストレージから
読出された命令を解読し且つプロセツサの動作を制御す
る手段と、データ・ストレージと、乗算兼累算ユニツト
とを含む。上記乗算兼累算ユニツトは、データ・ストレ
ージから逐次に読出されるオペランドAi,Bi,Ci
,Diを貯蔵するいくつかのバツフアと、2個の乗算器
兼累算器装置(MAC)を含む。乗数の実数部Al及び
虚数部B1は、それぞれMACの乗数人カへ印加され、
被乗数の実数部CiはMACの被乗数人カへ印加される
。MACは積AiCi及びBiCiを同時に計算する。
次いで、被乗数の虚数部DiはMACの被乗数人カへ印
加される。MACの乗算器部分は積BlDiを計算し、
それを積AiClへ加算する0MACの累算器部分は積
AiDlを計算し、それをBiCiへ加算する。従つて
、2個のMACは同時に積Piの実数部及び虚数部を与
える。本発明の実施例 本発明のマイクロプロセツサを組込んだ信号処理装置が
第1図に示されている0この装置は2個の相補的マイク
ロプロセツサより成る。
その1個は2個の複素数オペランドの積の合計を計算す
るためにパイプライン方式で動作する特殊目的マイクロ
プロセツサ(PMAU)であり、他の1個はPMAUの
ための制御ユニツト(CU)として働く汎用目的マイク
ロプロセツサである0PMAUは2個の16ビツト×1
6ビツトの乗算器兼累算器装置(MAC)より成る1個
の乗算兼累算ユニツトを含む0上記MACは重複方式で
動作して、2個の複素数オペランドの積の実数部及び虚
数部を同時に計算し且つその積を合計することができる
。CUは任意の汎用目的マイクロプロセツサで構成され
てよく、それは例えば前記フランス特許第74−435
61号で説明されている形式のものでよいo処理される
べきアナログ信号は、線1を介してアナログーデイジタ
ル(A/D)変換器2の入力へ印加され、そこで位相ロ
ツク発振器(PLO)の制御の下に特定時間にサンプル
され定量化される。
変換器2によつて与えられたデイジタル・サンプル値は
バス3を介してPMAUへ送られる〇PMAU及びCU
は双方向性バス4によつてデータを交換する0CUは各
種の入出力装置と結合して独立のタスクを実行すること
ができる0例えば、データ転送の応用例において、アナ
ログ入力信号は人力信号自体を処理することによつて指
示される特定の時間にサンプルされる0第1図の装置に
おいて、線5はPMAUがPLOを制御する事実を示す
。この図において、信号処理は適当な順序で実行される
、時間から独立した一連の基本的タスクへ分割される0
大きな計算能力を必要とする基本的タスクはPMAUで
実行され、加算又は論理動作(AND,OR,Excl
usiveORなど)に関するものはCUで実行される
。ここで第2A図一第2E図を参照すると、そこには本
発明のPMAUのプロツク図が示されている。
このユニツトは、主として命令ストレージ10及び関連
したアドレシング回路11、データ・ストレージ12及
び関連したアドレシング回路13、乗算兼累算ユニツト
14、インターフエイス15より構成されるo命令スト
レージ10は読取り専用ストレージ(ROS)であり、
この具体的例では2K個のマイクロ命令を含む0マイク
ロ命令の谷々は36ビツトの長さを有し、アドレシング
回路11によつて与えられた単一アドレスによつてアク
セスされる0マイクロ命令アドレスは10ビツトの長さ
を有し、従つて4K個のマイクロ命令をアドレスするこ
とができる0次のマイクロ命令のアドレスは、現在のマ
イクロ命令又はCUから受取られた制御ワードから得ら
れるoデータ・ストレージ(RAM)12は、本実施例
では1024個の18ビツト・データ・ワードを貯蔵す
ることができる。
各々のデータ・ワードは16個のデータ・ビツト、1個
のフラグ・ビツト、1個の制御ビツトを含む0RAMア
ドレシング回路13は、データ・ストレージ12を間接
的にアドレスするための3個のインデツクス・レジスタ
を含む〇乗算兼累算ユニツト14は重複モードで動作す
る2個の16ビツト×16ビツト乗算器兼累算器装置(
MACl及びMAC2)を含む。
インターフエイス15は、8ビツト双方向性バス4を介
してCUとPMAUとの間でデータを交換する。
更にこのインターフエイスは、13ビツトバス3を介し
て処理されるべき信号のデイジタル・サンプル値をアナ
ログーデイジタル変換器2によつて与えられる通りに受
取るo第2図の装置を詳細に説明する前に、マイクロ命
令のフオーマツトを説明しておく〇マイクロ命令フオー
マツト 各マイクロ命令は36ビツトの長さを有し、次のような
フイールドを含む。
パリテイ・フイールド 2ビツト原フイー
ルド又は宛先フイールド 6ビツト動作コード・フイ
ールド 2ビツトRAMアドレス・フイール
ド 10ビツトインデツクス・フイールド
1ピット乗算ユニツト制御フイールド 6ビツ
トブランチ・フイールド 2ビツト「次の
命令アドレス」フイールド 7ビツト(以上第3図参
照)パリテイ・フイールド(ビツト0及び35)このフ
イールドは命令ストレージ10を制御するために使用さ
れる0ビツトOは命令ストレージ10の最初の半分を制
御する。
その値はマイクロ命令の前半の18ビツトが奇数の1を
含むようにされる。ビツト35は命令ストレージ10の
第2半分を制御する。その値はマイクロ命令の後半の1
8ビツトが奇数の1を含むようにされる。原/宛先フイ
ールド(ビツト2〜7)6ビツトのこのフイールドは、
マイクロ命令が実行されている間に、データが送られる
べき装置又はデータが受取られるべき装置を指定する0
これに関連する装置は、後述するように直列器、乗算兼
累算ユニツ口4の出力レジスタ、累算器、インターフエ
イス15の入出力(1/O)レジスタ、A/Dレジスタ
、インデツクス・レジスタの任意のものである。
下記の表は、アドレスされる装置に従つて原/宛先(S
/D)フイールドのビツト2〜7の値を示したものであ
る。インデツクス・フイルド(ビツト20) この1ビツト・フイールドはデータ・ストレージ12の
アドレシング・モードを指定する。
インデツクス・ビツトがOへセツトされた時、RAMア
ドレスはRAMアドレス・フイールドによつて与えられ
る(直接アドレシング)。このビツトが1へセツトされ
た時、RAMアドレスはRAMアドレス・フイールドに
よつて指定されたインデツクス・レジスタから得られる
(間接アドレシング)。RAMアドレス・フイールド(
ビツト10〜19)このフイールドの10ビツトは、R
AMの直接アドレス、インデツクス・レジスタのアドレ
ス、又は現在の命令の後にインデツクス・レジスタの内
容へ加えられるべき増分値を指定する。更にこ;動作コ
ード及びブランチ・フイールド(ビツト88〜9,26
〜27)これらの4ビツトは、データ・ストレージ12
に関して移動されるデータの方向及びブランチ条件を指
定する0更にそれらはフラグ・ビツトがデータ・ストレ
ージ12へ書かれるべきかどうかを指定すると共に、C
Uへ送られる中断要求を制御する。
各種の動作及びブランチ条件は次のように定義される〇
のフイールドは、ステータス・レジスタ、PLOl又は
マイクロプロセツサへ接続された他の装置のために即時
指令を与える。
インデツクス・ビツト(ビツト20)がOへセツトされ
た時、このフイールドはRAMの直接アドレスを指定す
る0インデツクス・ビツトが1へセツトされた時、RA
Mアドレス・フイールドはビツト18〜19に従つて次
のような意味を有するOビツト18ビツト19 10RAMアドレスはインデツクス・ レジスタIR2から与えられる〇 11RAMアドレスはインデツクス・ レジスタIR3から与えられる。
ビツト15〜17これらのビツトは、ビツト18〜19
によつて指定されたインデツクス・レジスタの内容へ加
えられるべき増 分値を限定する。
この増分はRAMアクセスの後に指定されたインデツ クス・レジスタの内容へ加えられる〇 ビツト10〜14これらのビツトは、ビツト18〜19
によつて指定されたインデツクス・レジスタの内容と結
合される。
ビツト10〜14がインデツクス・レジスタ IRl又はIR2(6ビツトレジスタ) と共に使用される時、ビツト10〜 13はRAMアドレスの最有意ビツト となり ビツト14インデツクス・レ ジスタの最有意ビツトと0R結合さ れる。
ビツト10〜14がインデツクス・レジスタIR3(1
0ビツト レジスタ)と共に使用される時、そ れらはIR3の最有意ビツトと0R 結合される(第3図参照)。
ビツト18及び19の双方が0へセツトされた時、ビツ
ト10〜17は制御ビツトとなり、次のような意味を有
する〇ビツト10この制御ビツトはPLOの周波数を増
加させる〇ビツト11この制御ビツトはPLOの周波数
を減少させる〇ビツト12このビツトはインデイケータ
(IND)信号をりセツトさせる〇ビツト13〜17こ
れらのビツトはPMAUの8ビツト制御バイトのビツト
11〜15を1へセツトするために使用される〇 「次の命令アドレス」フイールド(ビツト28〜34)
このフイールドは、次のマイクロ命令アドレスの全部又
は1部を含む0後述するエントリイ・モードの動作では
、エントリイ・レジスタ(アドレス・レジスタ)が能動
化され、「次の命令アドレス」(NIA)フイールドの
ビツト28〜33がエントリイ・レジスタへ書込まれ、
ビツト34が無視される0後述するプロセシング・モー
ドの動作では、ビツト34の設定値に従いプロセシング
・レジスタ(アドレス・レジスタ)に対して左寄せ又は
右寄せされる0もしビツト34が0へセツトされていれ
ば、ビツト28〜33は左寄せされ、ビツト34が1へ
セツトされていれば、ビツト28〜33は右寄せされる
(第5図参照)。
ビツト28〜33は、マイクロ命令が実行されている間
、エントリイ・レジスタ又はプロセシング・レジスタへ
負荷される。乗算ユニツト制御フイールド(ビツト1及
び21〜25)このフイールドは乗算兼累算ユニツト1
4の動作を制御する。
ビツト1 このビツトはMAClとMAC2との交差接
続を制御する0もしビツト1がOベセツトされていれば
、直列器SERlはRACl又はLAClへ入り、直列 器SER2はRAC2又はLAC2へ 入る〇 もしビツト1が1へセツトされていれ ば、SERlはRAC2又はLAC2 へ入り、SER2はRACl又は LAClへ入る〇 ビツト21このビツトはMACl及びMAC2で起るデ
ータ・シフトを制御する0もしこのビツトがOへセツト
されていれば、 シフトは起らない0もしこのビツトが 1へセツトされていれば、シフトが実 行される〇 ビツト22このビツトは ビツト23によつて指定され
た累算器から出力レジスタ−の負荷を制御する0出力レ
ジスタが負荷 された後に、ビツト22は累算器をO へセツトし、まるめワード(ROund OffwOrd)をセツトし、次の動作の準備を行う。
もしビツト22がOへセツトされていれば、動作は生じ
ないoも しビツト22が1へセツトされていれ ば、出力レジスタが負荷され、累算器 が0へセツトされ、まるめワードがセ ツトされる。
ビツト23このビツトは、どの累算器が直列器の出力を
受取るべきか、又はどの累算器の内容を出力レジスタ−
負荷すべきか を指示する0このビツトがOへセツト されている時、それは右方累算器を指 定し、それが1へセツトされている時、 左方累算器を指示する〇 これらのビツトはS/Dフイールドに よつて指定された累算器又は直列器へ 負荷されるオペランドのフオーマツト を指定する。
直列器に負荷される場合、 ビツト23 ビツト24 〜25 累算器に負荷される場合、 RAMアドレス回路(第2A図) ここで再び第2A図〜第2E図を参照する0命令ストレ
ージ10から読出されたマイクロ命令の2個のパリテイ
・ビツトは、線20を介してパリテイ制御回路21へ印
加される。
パリテイ制御回路21は通常型のものであり、排他的0
R回路のトリ一より成る。勿論、回路21はマイクロ命
令の他の34ビツトを受取るが、説明を簡単にするため
、これらのビツトを回路21へ印加する線は示されてい
ない0回路21は命令ストレージ10の各半分について
行われたテストの結果を示す2個のビツトを発生するが
、これらのビツトは線22を介してインターフエイス1
5へ印加される。RAMアドレス・フイールド(ビツト
10〜19)の10ビツトと、マイクロ命令のインデツ
クス・ビツト(ビツト20)は、11ビツトバス23を
介して命令レジスタ24へ印加される。命令レジスタ2
4に貯蔵されたビツト18〜20はデコード回路25へ
印加され、ビツト10〜17は2出力バス切替ゲート2
6の入カへ印加される。ゲート26の出力の1つはバス
27を介してインターフエイス15へ接続され、他の出
力はバス28を介してストレージ・アドレス・レジスタ
RAR29の入カへ接続される。増分レジスタ30は、
その出力をゲート31,32,33を介して3個のイン
デツクス・レジスタIRl,IR2,IR3の入カへ接
続される。インデツクス・レジスタIRl,IR2,I
R3からの出力は、それぞれゲート34,35,36を
介してストレージ・アドレス・レジスタ29へ印加され
るo更にこれらの出力は、それぞれ原ゲート38,39
,40を介して0Rゲート37の入カへ印加される。0
Rゲート37の出力は、バス41を介して18ビツト双
方向性内部バス42へ接続される0内部バス42は、バ
ス43及び宛先ゲート44,45,46を介してインデ
ツクス・レジスタIRl,IR2,IR3の入カへ接続
される0更に内部バス42は、バス48を介してデコー
ド回路47へ接続される〇動作において、マイクロ命令
の実行中、デコード回路25はビツト18〜20をデコ
ードする。
もしビツト18及び19の双方がOへセツトされており
、ビツト20が1へセツトされていれば、命令レジスタ
24に貯蔵されたビツト1,0〜17は制御ビツトであ
る。これらの制御ビツトは、ゲート26及びバス27を
介してインターフエイス15へ印加される。もしインデ
ツクス・ビツト20がOへセツトされていれば、ビツト
10〜17はデータ・ストレージ・アドレスを指定し、
従つてこれらのビツトはゲート26及びバス28を介し
てアドレス・レジスタ29に貯蔵される0もしビツト1
8及び19のいずれかがOへセツトされておらず 且つ
インデツクス・ビツト20が1へセツトされていれば、
これはデータ・ストレージ12の間接アドレシングに関
係している0デコード回路25は、ビツト18〜19が
インデツクス・レジスタIRl,IR2,IR3のいず
れを指定するかに従つてゲート34,35,36の1個
を能動化する0命令レジスタ24に貯蔵されたビツト1
0〜14はバス28を介してアドレス・レジスタ29へ
印加される0そこで上記ビツトは第4図に示されるよう
に、ビツト18及び19によつて指定されたインデツク
ス・レジスタの内容と結合される0このようにしてアド
レス・レジスタ29で得られたアドレスは、RAMアド
レス・バス49を介してデータ・ストレージ12へ印加
される。データストレージ12で実行される読出し及び
書込み動作は後に説明する。アドレス・レジスタ29が
負荷された後、指定されたインデツクス・レジスタの内
容は、ビツト15〜17によつて限定された値だけ増加
する。ビツト15〜17は、バス28及びバス50を介
して増分レジスタ30へ負荷されている0増分レジスタ
30に貯蔵された増分値はゲート31,32,33を介
して指定されたインデツクス・レジスタへ印加される。
上記のゲートはビツト18〜19をデコードするデコー
ド回路25によつて能動化されている0説明を簡単にす
るため、増分値をインデツクス・レジスタの内容へ加え
る回路は図面に示されていない。インデツクス・レジス
タIRl〜IR3は、 !マイクロ命令の実行中又は後
に説明する制御ワードの実行中、内部バス42を介して
負荷することができる0マイクロ命令が実行されている
間にインデツクス・レジスタを負荷することは、そのマ
イクロ命令の原/宛先(S/D)フイールドのビツト3
〜5によつて制御される0命令メモリ10から読出され
たマイクロ命令のS/Dフイールドの6個のビツト2〜
7はバス51上で得られるので、その中のビツト3〜5
はバス52を介して命令レジスタ53へ負荷される0デ
コード回路54は、インデツクス・レジスタIRl〜I
R3のいずれがビツト3〜5によつて指定されたかに従
つて、制御線(図示せず)を介して宛先ゲート44〜4
6の1個を能動化する。次いで内部バス42上にあるデ
ータはバス43、能動化された宛先ゲート44,45,
46の1個を介して指定されたインデツクス・レジスタ
へ負荷される0内部バス42上に存在する制御ワードの
実行中、インデツクス・レジスタの負荷は後述する如く
制御ワードのビツト3〜5の制御の下で実行される。デ
コード回路47は制御ワードのビツト3〜5をデコード
し、インデツクス・レジスタIRl〜IR3のいずれが
ビツト3〜5によつて指定されたかに従つて、宛先ゲー
ト44〜46の1個を能動化する。次いで制御ワードの
ビツト6〜17は、バス43及び能動化されたゲート4
4,45,46の1個を介して指定されたインデツクス
・レジスタへ負荷される。インデツクス・レジスタの内
容は、マイクロ命令の実行中、そのマイクロ命令のS/
Dフイールドのビツト3〜5の制御の下でデータ・スト
レージ12へ貯蔵されてよい。デコード回路54は、イ
ンデツクス・レジスタIRl〜IR3のいずれがビツト
3〜5によつて指定されたかに従つて、原ゲート38〜
40の1個を能動化し、指定されたインデツクス・レジ
スタの内容は能動化された原ゲート、0Rゲート37、
バス41を介して内部バス42上に置かれる。制御ワー
ドが内部バス42上に置かれる方法は、後にインターフ
エイス15の動作と関連して説明する0RAM読出し/
書込み動作 データ・ストレージ(RAM)12との間のデータ転送
についてこれから説明する0データ・ストレージ12の
データ入力はデータ入力バス60を介して内部バス42
へ接続される0データ・ストレージ12のデータ出力は
データ出力バス61へ接続され、出力バス61は3個の
ゲート62,64,65を含むバス切替ゲート62へ接
続されている。
バス61はゲート63の入カへ接続され、ゲート63の
出力はバス66を介して内部バス42へ接続されている
。ゲート64はその入力を乗算兼累算ユニツト14の出
力バス67へ接続され、その出力はバス66を介して内
部バス42へ接続されている。バス42はゲート65の
入カへ接続され、ゲート65の出力は乗算兼累算ユニツ
ト14の入力バス68へ接続されている0マイク口命令
の実行中、データ・ストレージ12で実行される読出し
及び書込み動作は、マイクロ命令の動作コード・フイー
ルド・ビツト8〜9によつて制御される。命令ストレー
ジ10の出力にあるバス69上で得られるこれらのビツ
トは、命令レジスタ70に貯蔵され、デコード回路71
によつてデコードされる。デコード回路71は、マイク
ロ命令フオーマツトの欄で説明したように、ビツト8〜
9の値に従つて読出し/書込み(R/W)制御線72を
選択的に能動化する0線72はデータ・ストレージ12
へ接続されている〇書込み動作が実行されるべきである
時、R/W制御線72がアツプとなり、内部バス42上
にあるデータが入力データ・バス60を介してデータ・
ストレージ12へ転送され、RAMアドレス・バス49
上にあるアドレスに従つてそこへ貯蔵される0内部バス
42上のデータは、前述したようにインデツクス・レジ
スタの1個から来るか、乗算兼累算ユニツト14の出力
バス67から来るか、後述するようにインターフエイス
15から来る〇出力バス67上にあるデータは、ゲート
64を介して内部バス42へ転送される。
ゲート64はデコード回路73によつて能動化され、S
/Dフイールドのビツト2〜7はバス51及び74を介
してデコード回路73へ印加される0ビツト2〜7が出
力レジスタREGl又はREG2をデータ源として指定
する時に、ゲート64はデコード回路73によつて能動
化される〇読出し動作が実行されるべきである時、R/
W制御線72はダウンとなり、RAMアドレス・バス4
9上のアドレスによつて指定されたデータ・ストレージ
12のデータは、データ出力バス61及びR/W制御線
72によつて能動化されたゲート63を介して内部バス
42上に置かれる。
ROSアドレシング回路(第2E図)アドレシング回路
11は2個のアドレス・レジスタを含む。
即ち、6ビツトのエントリイ・レジスタは命令ストレー
ジ10の64個の低順位ビツト位置のみをアドレスする
ために設けられ、12ビツトのプロセシング・レジスタ
は命令ストレージ10の全ての内容をアドレスするため
に設けられる0これら2種のレジスタは、現在のマイク
ロ命令の「次の命令アドレス」(NIA)フイールドか
ら負荷されるか、制御ユニツト(CU)から受取られた
制御ワードから負荷されてよい。NIAフイールドは命
令ストレージ10の出力にあるバス80上で利用可能で
あり、そのビツト28〜34はバス切替ゲート81へ入
力される0ゲート81は上記ビツトをエントリイ・レジ
スタ又はプロセシング・レジスタのいずれかへ負荷する
0ゲート81の制御は後に説明する0エントリイ・レジ
スタ及びプロセシング・レジスタは内部バス42からゲ
ート65、入力バス68(第2C図)、バス82、バス
切替ゲート83を介して負荷されてもよい。ゲート83
はバス84を上記レジスタへ選択的に接続する。ゲート
83の制御については後に説明する0エントリイ・レジ
スタ及びプロセシング・レジスタからの出力は、1組の
ゲート85,86を介して0Rゲート84の人カへ印加
される。ゲート85及び86は、それぞれラツチ87の
真及び補の出力によつて制御される0ラツチ87は、イ
ンターフエイス15からのA/D要求線88及びデコー
ド回路71からのA/Dテスト線89によつて制御され
る〇デコード回路71は前述した如く動作コード・フイ
ールドのビツトをデコードし、又ブランチ・フイールド
のビツト26〜27をデコードする。
これらのビツトは命令レジスタ70に貯蔵されているが
、バス90を介してそこへ負荷されたものである0ブラ
ンチ・フイールドのビツト26及び27がそれぞれ1及
びOへセツトされている時、デコード回路71はA/D
テスト線89を能動化する。A/Dテスト線89は2個
のANDゲート91及び92の第1入カへ接続され、A
NDゲート91,92の出力はそれぞれラツチ87のセ
ツト及びりセツト入カへ接続されている。A/D要求線
88はANDゲート91の第2入カへ直接に接続され、
イ5ンバータ93を介してANDゲート92の第2人カ
へ接続されている00Rゲート84からの出力は12ビ
ツト・ワードを与える。このワードの最低順位ビツトは
排他的0Rゲート94の第1入カへ接続され、ブランチ
論理回路95から来るブランチ条件線は排他的0Rゲー
ト94の第2入カへ接続される。0Rゲート84からの
出力ワードの高順位11ビツトは、排他的0Rゲート9
4からの出力と一緒になつて、命令ストレージ10から
フエツチされるべきマイクロ命令の12ビツトアドレス
を形成し、このアドレスは12ビツト・バス96を介し
て命令ストレージ10へ印加される0ブランチ論理回路
95は、マイクロ命令フオーマツトの説明時に掲げた表
に従つて、ブランチ条件線95′を選択的に能動化する
0論理回路95はA/Dテスト線89及びA/D要求線
88へ接続され、線89及び88の双方がアツプになつ
た時にブランチ条件線95′を能動化する。
線88のアツプは、「A/D要求線が1ならばブランチ
」の条件に対応する。更に、ブランチ論理回路95は中
断終了テスト線(図示せず)及び中断終了線(図示せず
)へ接続される0これら線の双方がアツプとなつた時、
ブランチ条件線95″が能動化される0これは「中断終
了ならばブランチ」の条件に対応する。
中断終了テスト線はデコード回路71から来る0デコー
ド回路71はビツト8,9,26,27がそれぞれ0,
0,0,1へセツトされた時に中断終了テスト線をアツ
プにする0中断終了線はインターフエイス15中の中断
制御115から来る〇更に、ブランチ論理回路95はフ
ラグ・ビツト・テスト線(図示せず)へ接続される0こ
の線はデータ・ストレージから読出されたワードのフラ
グ・ビツトが1状態にある時に、アツプとなつてブラン
チ条件線95′を能動化する。これは1−フラグ・ビツ
トが1ならばブランチ」の条件に対応する〇フラグ・ビ
ツト・テスト線はデコード回路71から来る0デコード
回路71は、ビツト8,9,26,27がそれぞれ0,
1,0,1へセツトされた時、フラグ・ビツトテスト線
をアツプにする0フラグ・ビツトは線97を介して論理
回路95へ印加され、回路95はそのビツトを入力バス
42から受取る。更に論理回路95はREGl符号テス
ト線(図示せず)へ接続され、出力レジスタREGlの
内容に関連した符号ビツトを乗算兼累算ユニツト14か
ら受取る0REG1符号テスト線がアツプであり符号ビ
ツトがO状態にある時、回路95はブランチ条件線95
″を能動化する〇これは「MAClの結果が正ならばブ
ランチ」の条件に対応する。REGl符号ビツトは線9
8を介して論理回路95へ印加される0REG1符号テ
スト線はデコード回路71から来る。デコード回路71
は、ビツト2,9,26,27がそれぞれ1,0,0,
1又は1,1,0,1へセツトされた時、REGl符号
テスト線をアツプにする。更に、論理回路95は線12
4を介してインターフエイス15によつて与えられるイ
ンデイケータ(IND)を受取り、A/Dテスト線89
がアツプであリインデイケータが1状態にある時に、ブ
ランチ条件線95″を能動化する。ブランチ条件線95
′が能動化された時、0Rゲート84によつて与えられ
た出力ワードの最少有意ビツトと1ビツトとのモジユロ
2加算が実行される0それによつて、アドレス・レジス
タに含まれるアドレスが偶数の場合(最少有意ビツトが
O)、上記アドレスのすぐ後に続くマイクロ命令へブラ
ンチし、アドレス・レジスタに含まれるアドレスが奇数
の場合(最少有意ビツトが1)、上記アドレスのすぐ前
のマイクロ命令へブランチすることが可能となる〇イン
ターフエイス15(第2B図)インターフエイス15は
8ビツト双方向性バス4へ接続された18ビツト入出力
(1/0)レジスタ100を含み、PMAU及びCU(
第1図参照)間を交換されるデータは上記レジスタに貯
蔵される01/Oレジスタ100は、バス101を介し
て内部バス42へ接続される出力を有する0内部バス4
2は、バス102及びゲート103を介してI/Oレジ
スタ100の入カへ接続される。
更にインターフエイス15は16ビツトのステータス・
レジスタ104を含む。ステータス・レジスタ104は
内部バス42及びバス105を介して負荷されてよい0
ステータス・レジスタ104の内容は、バス106を介
して双方向性バス4上に直接に置かれてよい0ステータ
ス・レジスタ104は8ビツトPLO制御バイト及び8
ビツトPMAU制御バイトを含む。PLO制御バイト ビツトO これは制御ワード・ビツトである〇ビツト
1 これはフラグ・ビツトである。
ビツト2〜6これらのビツトは各種の信号処理速度を限
定する0第1図の装置のモデム応用例では、ビツト2〜
4はビツト速度 を限定し、ビツト5〜6は信号速度を 限定する。
ビツト7 このビツトはサンプリング速度を限定する〇
ビツトO及び1は、バス105を介して内部バス42か
ら得られる0ビツト2〜7はバス107を介してPLO
カウンタ108へ印加される0第1図及び第2図の実施
例では、外部のPLO(第1図)は発振器自体であり、
PLOによつて与えられるパルスの位相及び周波数を変
化させる一連の通常型分割器はインターフエイス15に
含まれPLOカウンタ108として示される0カウンタ
108は線109を介して外部発振器によつて与えられ
たパルスを受取り、アナログーデイジタル変換器のため
に線110を介してサンプリング・パルスを与え、又C
Uのためにそれぞれ線111及び112を介してビツト
速度及び信号速度でパルスを与える0PL0カウンタ1
08は、バス107を介して受取られた8ビツトPLO
制御バイトのビツト2〜7によつて制御され、且つマイ
ク口命令が制御ワードである時(即ち、前述した如くR
AMアドレス・フイールドのビツト18〜19が共にO
である時)、実行されつつあるマイクロ命令のRAMア
ドレス・フイールドのビツト10〜11によつて制御さ
れる。
これらのビツト10〜11はバス27及び113を介し
てPLOカウンタ108へ印加される。PMAU制御バ
イト 8ビツトPMAU制御バイトは、ハードウエア又はソフ
トウエア制御の下で書かれた情報を含む。
ビツト8 このビツトは、命令ストレージ10の前半
部で実行されるパリテイ・チエツタの結果を示す。
ビツト9 このビツトは、命令ストレージ10の後半
部で実行されるパリテイ・チエツクの結果を示す〇 ビツト10このビツトは、CUによる読出しエラー又は
書込みエラーを示す〇ビツト11これらのビツトは割当
てられておらず、〜15?プログラマがソフトウエア・
チエツク を行うのに使用してよい。
ビツト8〜9は、パリテイ・チエツク回路21により線
22を介してステータス・レジスタ104へ負荷される
0ビツト11〜15はバス27を介してマイクロ命令の
RAMアドレス・フイールドのビツト13〜17により
レジスタ104へ負荷される。
マイクロ命令のビツト18〜19は共にOであり、ビツ
ト20は1である0CUによつて読出し動作が行われ、
PMAUによつて書込み動作が行われる時(又はその反
対の時)、常にビツト10が1へセツトされる0CUに
よつて実行される読出し動作及び書込み動作は後に説明
する。8ビツトのPMAU制御バイト中に1ビツトがあ
れば、中断例外要求手順を開始してそれをCUへ知らせ
るのに十分である0このため、PMAU制制バイトのビ
ツトが0R結合され、その結果は線114を介して中断
制御装置115へ印加される。
0R結合の結果が1ビツトの時、中断制御装置115は
CUへ接続された中断例外線116を能動化する。
更に装置115は、現在のマイクロ命令の動作コード及
びブランチ・フイールドのデコード結果に応答して、線
117を介してデコード回路71(第2A図)から通常
の中断要求信号を受取る〇更に中断制御装置115は線
117上のアツプ・レベルに応答して、CUへ接続され
たノーマル中断線118を能動化する0装置115は中
断保持線119へ接続され、I/Oレジスタ100に貯
蔵された制御ワード(後に説明する)のビツト2が中断
保持線119へ印加される。更に、インターフエイス1
5は13ビツトA/Dレジスタ120を含み、処理され
るべき信号のデイジタル・サンプル値は、A/D変換器
2(第1図)からバス3を介して受取られた時に、A/
Dレジスタ120に貯蔵される。
このサンプル値は、ゲート121及びバス122を介し
て内部バス42へ転送される。A/D要求論理回路12
3(後に説明する)は、レジスタ120が負荷された時
に、線88上にA/D要求表示信号を与える〇デコード
回路126は、PMAU及びCU間のデータ交換を制御
し、且つ処理されるべきサンプル値がA/Dレジスタ1
20から内部バス42へ転送されるのを制御する0デコ
ード回路126は、バス51(第2A図)及び127を
介して、実行されているマイクロ命令のS/Dフイール
ドのビツト3〜5を受取り、且つバス69及び128を
介して、そのマイクロ命令の動作コード・フイールド・
ビツトを受取る0更にデコード回路126は線124を
介してインデイケータ(IND)信号を与える。このI
ND信号は、実行されているマイクロ命令のRAMアド
レス・フイールドのビツト18〜19が共にOでありビ
ツト20が1である時、上記フイールドのビツト12に
よつてOへリセツトされる。このビツト12は、バス2
7及び線125を介してデコード回路126へ印加され
る。デコード回路129は、PMAUとCUとの間で交
換されるタグをデコードする0これらのタグとして、次
のようなものがある。
TDこのタグはCUから受取られ、バス4を介してCU
から与えられたデータが 有効であるかどうかを示す。
T このタグはタグTDが受取られたことを示し、
PMAUからCUへ送られる。
昏晶U選択このタグはCUから受取られ、CUがいくつ
かの処理ユニツトへ接続されている時に、そのPMAU
を選択する働き をする〇 TAlこのタグはPMAUとCUとの間で交換され、/
0レジスタ100との間のデータ転送を制制する。
TA2このタグはPMAUとCUとの間で交換され、デ
ータ・ビツトとして使用され !る0 R/W このタグはCUから受取られ、PMAUとC
Uの間で起る交換の方向を制御する。
制御ワード(CW) 1
CUは制御ワードによつてPMAUを管理する。
CUから受取られた制御ワードはI/0レジスタ100
に貯蔵され、次いでデータ・ストレージ12に貯蔵され
るか、又は直ちに実行される0それは18ビツトの長さ
を有し、PMAUによつて中断が要求された後、CUに
よつて転送される0制制ワードのフオーマツトは第6図
に示されている〇ビツトO これは制御ビツトであり
、ワードが制制ワードかデータ・ワードかを示す。もし
ビツトOがOへセツトされていれ 二ば ビツト2〜1
7はデータ・ビツト である0ワード(ビツトO〜17)は データ・ストレージ12へ貯蔵される べきである〇 もしビツト0が1へセツトされていれ Cば、ビツト0
〜17は制制ワードを構 成する。
ビツ日 このビツトは、制御ワードが直ちに実行され
るべきか、又はデータ・ストレージ12に貯蔵されるべ
きかを示す。
もしビツト1が0へセツトされていれ ば、制御ワードはデータ・ストレージ 12へ書込まれるべきである。
もしビツト1が1へセツトされていれ ば、制御ワードは直ちに実行されるべ きである〇 ビツト2 このビツトはCUに中断を要求させるか、又
は要求された中断を維持させる〇もしビツト2が0へセ
ツトされていれ ば、中断は生じない〇 もしビツト2が1へセツトされていれ ば、中断はPMAUによつて要求される (即時実行の場合、即ちビツト1が1 へセツトされている場合にのみ)。
ビツト3〜5これらのビツトは宛先レジスタを指定する
0ビツト6〜17がそこへ負荷される。
ビツト6〜17これらは、宛先レジスタへ負荷されるべ
きデータ・ビツトである0これらのビツトは宛先レジス
タのフオーマツト に対して右寄せされる。
PMAU/CUデータ転送 CUはPMAUとのデータ交換を開始しなくてもよい。
データ転送の前に、PMAUは中断を要求する。次いで
データ転送がCUによつて開始される。CUはPMAU
選択タグを能動化することによつてPMAUへ直接にア
クセスする。このタグが無能化された時、PMAUはC
Uから切離される0CUによつて実行される書込み動作
(CUからPMAUへ)制御ユニツト(CU)からのデ
ータは、1時に9ビツトずつI/Oレジスタ100へ負
荷される。
タグR/Wは0へセツトされる〇タタグTAlは、CU
によつてバス4上に置かれた8個のビツトが、I/0レ
ジスタ100の最有意ビツト(MSB)ポジシヨンへ負
荷されるべきか、最小有意ビツト(LSB)ポジシヨン
へ負荷されるべきかを示す。
もしタグTAlが0へセツトされていれば、8個のビツ
トはMSBポジシヨンへ負荷されるべきであり、もしl
へセツトされていれば、LSBポジシヨンへ負荷される
べきである。タグTA2は次のようなデータ・ビツトと
して使用される。
一般的には、CU書込み動作においては、先ずLSBポ
ジシヨンが負荷される。バス4からの8ビツトはI/0
レジスタ100のポジシヨン10〜17へ負荷され、タ
グTA2はポジシヨンl(フラグ)へ負荷される。続い
てCUによりバス4上に置かれた8ビツトはI/0レジ
スタ100のポジシヨン2〜9へ負荷され、次のTA2
はポジシヨンO(制御ビツト)へ負荷される。もしレジ
スタ100のポジシヨンO及びlの双方がlへセツトさ
れていれば、レジスタ100に含まれるワードは制御ワ
ードであり、その制御ワードは直ちに実行されねばなら
ない。
この場合、ポジシヨン2は現在の中断を維持するために
lへゼツトされてよい。もしポジシヨン0及び1のいず
れかがlへセツトされていなければ、レジスタ100に
含まれるワードは内部バス42上に置かれてデータ・ス
タレージに貯蔵される。この場合、ステータス・レジス
タ104によつて中断例外が要求されなければ、書込み
動作が完了すると、直ちに中断要求線がダウンになる。
制御ワードは、アドレシング回路11のエントリイ・レ
ジスタ及びプラセシング・レジスタへのデータ負荷を行
う。
デコード回路47(第2A図)は内部バス42上にある
制御ワードのビツト3〜5をデコードし、ゲート83(
第2E図)を制御する2本の制御線129を選択的に能
動化する。線129は、もしエントリイ・レジスタ及び
プロセシング・レジスタのいザれも宛先レジスタでなけ
ればゲート83をプロツクし、そのいずれかが宛先レジ
スタであればゲート837!−してバス82の内容をこ
れらROSアドレス・レジスタへ選択的に転送させる。
もしROSアドレス・レジスタの1個(プロセシング・
レジスタ)が宛先レジスタであれば、内部バス42上に
ある制御ワードのビツト6〜17は、ゲート65(第2
C図)、バス68,82、ゲート83を介してプロセシ
ング.Z4レジスタへ転送される。
ゲート65は内部バス42上にある制御ワードのビツト
3〜5に応答するデコード回路73によつて能動化され
る。CUによつて実行される読出し動作(PMAUから
CUへ)CUはステータス・レジスタ104又はI/0
レジスタ100の内容を読出すことができる。
/0レジスタ100の場合、それは前もつてPMAUに
よつてデータを負荷されていなければならない。タグR
/Wはlへセツトされる。
タグTAlは、バス4上にあるビツトがI/0レジスタ
100又はステータス・レジスタ104のMSBポジシ
ヨン又はLSBポジシヨンから来なければならないこと
を指示する。
もしこのタグが0へセツトされていけば、ビツトはMS
Bポジシヨンから負荷されるべきであるし、もしlへセ
ツトされていれは、LSBポジシヨンから負荷されるべ
きである。タグTA2は、I/0レジスタ100又はス
テータス・レジスタ104のいずれの内容が読出される
べきであ3るかどうかを指示する。
もしタグTA2がOへセツトされていれば、レジスタ1
00が読出されるべきであるし、それが1へセツトされ
ていれば、レジスタ104が読出されるべきである。レ
ジスタ104の場合、その内容はバス106を介して直
接lこバス4へ印加される。レジスタ104は、中断要
求手順がPMAUによつて開始されない時でも、任意の
時点で読出されることができる。乗算兼累算ユニツト1
4 乗算兼累算ユニツト14は2個の同様な16ビツトXl
6ビツト乗算器兼累算器装置(MACl及びにMAC2
)を含む。
MACl及びMAC2はフランス特許出願第76−34
820号に説明されている乗算器兼累算器装置と同一の
ものであつてよい。MAClは16ビツト直列化器SE
Rl、左右の16ビツト累算器LACl及びRACl、
16ビツト出力レジスタREGlを含む。同様にMAC
2は16ビツト直列化器SER2、左右の16ビツト累
算器LAC2及びRAC2、16ビツト出力レジスタR
EG2を含む。直列化器及び累算器の各々は接頭語Bを
付された入カバツフアと独自に関連している。従つてM
ACl及びMAC2は入カバツフアBSERl,BLA
Cl,BRACl,BSER2.,BLAC2,BRA
C2を含む。ユニツト14への入力バス68はバス切替
ゲート130の入カへ接続される。バス切替ゲート13
0は2つの出力を有し、それぞれインバータ131を介
してMAClの入力バス132及びMAC2への入力バ
ス133へ接続されている。補数信号が線160を介し
てインバータ131へ印加される。ゲート130は現在
のマイクロ命令のS/Dフイールドのビツト3〜5によ
つて制御される。上記ビツトはバス51及び134を介
してそこへ印加される。入力バス132上へ転送された
ビツトは、入カバツフアBSERl,BLACl,BR
AClへ並列に印加される。SERlの直列出力はAN
Dゲート135及び136を介してそれぞれLACl及
びRAClの乗数人カへ接続される。LAClの直列出
力は、RAClの直列入カへ接続される。RAClの直
列出力は線137を介してLAClの直列入カへ接続さ
れる。LACl及びRAClからの並列出力は出力レジ
スタREGlへ送られ、REGlの出力はMAClから
の出力バス138へ接続される。入力バス133上へ転
送されるビツトは、入カバスフアBSER2,BLAC
2,BRAC2へ並列に印加される。SER2の直列出
力は、ANDゲート139及び140を介して、それぞ
れLAC2及びRAC2の乗数人カへ接続される。LA
C2の直列出力はRAC2の直列入カへ接続され、RA
C2の直列出力は線141を介してLAC2の直列入カ
へ?続される。LAC2及びRAC2からの並列出力は
出力レジスタREG2へ送られ、REG2の出力はMA
C2からの出力バス142へ接続される。更に、SER
lの直列出力は、線143及びANDゲート144,1
45を介してLAC2及びRAC2の乗数人カへ接続さ
れる。更に、SER2の直烈出力は、線146ANDゲ
ート147,148を介してLACl及びRAClへ接
続される。出力バス138及び142はバス切替ゲート
149の入カへ接続され、ゲート149の出力はユニツ
ト14からの出力バス67へ接続される。ゲ゛一ト14
9はバス51を介してそこへ印加された現在のマイクロ
命令のS/Dフイールドのビツト5〜7によつて制御さ
れる。更に、ユニツト14はデコード回路150を含む
。デコード回路150は、バス151を介して、現在の
マイクロ命令のS/Dフイールドのビツト2〜5を受取
り、且つバス152を介して現在のマイクロ命令の乗算
ユニツト制御フイールドの6ビツトを受取る。回路15
0は、後に詳細に説明するように、制御線(図示せず)
によつてユニツト14の動作を制御する。更zこ、回路
150は線160上に補数信号を与える。この補数信号
は、乗算ユニツト制御フィールートのビツト24〜25
のデコード結果によりインバータ131へ印加される。
直列化器及び累算器及びこれらに関連したバツフアより
成るプロツク、即ちBSERl+SERl,BLACl
+LACl,BRACl+RACl,BSER2+SE
R2,BLAC2+LAC2,BRAC2+RAC2は
同じような16ビツトのユニツトより成る。
これらユニツトの各々は2個の基本的な8ビツト.コン
ポ一j、ントより構成される。即ち、それらは8個の最
有意ビツトを含むコンポ=ネットMと、8個の最少有意
ビツトを含むコンポーネントLで構成される。ここで第
7図を参照すると、そこに基本的8ビツト・コンポーネ
ントが示されている。
このコンポーネントは8つの入力XO〜X7を有し、そ
こへ入力バス132又は133から8個のビツトが並列
に印加される。これらのビツトは、基本的コンポーネン
トがMコンポーネントとして使用されるかLコンポーネ
ントとして使用されるかに従つて、最有意ビツトか最少
有意ビツトである。入力XO〜X7は、それぞれ8個の
ラツチPHO〜PH7の入カへ接続される。これらのラ
ツチはコンポーネントの8ビツト入カバツフアを形成す
る。ラツチPHO〜PH7の出力は、それぞれ8個のA
NDゲート160〜167の入力の1つへ接続される。
各ANDゲートの他の入力は、乗数線へ接続される。A
NDゲート160〜167の出力は、それぞれセル0〜
セル7と表示された8個のセルの第1の合計入カへ接続
されている。これらのセルは、第8図を参照して詳細に
説明するが、加算器又は減算器のセルであつて、その各
々は第2の合計入力と合計出力とを有する。セル1〜7
の各々は、その第2合計入力を先行するセルの合計出力
へ接続され、セル0の第2合計入力は基本的コンポーネ
ントの直列入力SXへ接続される。セル1〜6の合計出
力は、それぞれ6個のANDゲート1b9〜174の入
カへ接続され、これらANDゲートの出力は、それぞれ
6個の出力S1〜S6へ接続される。セル0の合計出力
は排他的0Rゲート175の入カへ接続され、このゲー
トの他の入力はセル1のキャリー出力へ接続される。排
他的0Rゲ゛一ト175の出力は、ANDゲ゛一ト16
8の入力の1つへ接続される。AMDゲート168〜1
74の各々の他の入力は、出力ゲートとレーベルを付さ
れた線へ接続される。ANDゲート168の出力は出力
SOへ接続される。セル7の合計出力は、出力S7へ直
接に接続される。出力SO〜S7は基本的コンポーネン
トの8ビツト並列出力を構成する。更に、セル7の合計
出力は、コンポーネントの直列出力へ接続される。コン
ポーネントの全てのセル0〜7へは、クロツク線が並列
に接続されている。デコード回路176はデコード回路
150(第2D図)から3本の制御線CTRLO,CT
RLl,CTRI.2を入力として受取り、セル1へ接
続された[lへのS1セツト」線、セルモ接続された[
LSB加算」線、セル1へ接続された[0へのS1セツ
ト」線、セル0へ接続された「MSB減算」線、AND
ゲート168〜174へ接続された「出力ゲート」線、
ラツチPHO〜PH7へ接続された[入力X」線、セル
0及び2〜7へ接続された「0へのセツト」線を選択的
に能動化する。これらの線Sこあるコマンドは、次の表
に従つて制御.線CTRLO,CTRlCTRL2から
発生される。(X=無視) コマンドの説明 出力ゲート このコマンドはセル0〜6の内容を出力S
O〜S6へ転送させる。
0へのセツト このコマンドはセル1を除く全てノのセ
ルをOへセツトする。
0へのS1セツト このコマンドはセル1を0へセツト
する。
lへのS1セツト このコマンドはセルlをlへセツト
する。
入力Xこのコマンドは入力XO〜X7にあるビツトをそ
れぞれラツチPHO〜PH7へ負荷させる。
LSB加算 このコマンドは+lをセル7の内容へ加算
させる。
これはLコンポーネントでのみ働く。+1は16ビツト
・ワードの最少有意ビツトへ加算される。MSB減算
このコマンドはセル0を減算器セルへ転送する。
これは累算器のコンポーネントMでのみ働く。直列化器
SERl及びSER2において、入力XO〜X7は入カ
バス−接続され、コンポーネントMの出力S7はコンポ
ーネントLの直列入力SXへ接続され、コンポーネント
Lの出力S7は直列化器の直列出力であり、出力SO〜
S6は使用されない。
コンポーネントL於びMの乗数線は相互に接続されてい
る。各々の累算器において、コンポーネントM及びLの
入力XO〜X7及び出力SO〜S7は、それぞれ入力バ
ス及び出力バス−接続されている。コンポーネントMは
、その乗数線を累算器の乗数人カへ接続され、その直列
入力SXを累算器の直列入力SYへ接続され、その出力
S7をコンポーネントLの直列,人力SXへ接続される
。コンポーネントLは、その乗数線を累算器の乗数人カ
へ接続され、その直列出力S7を累算器の直列出力へ接
続される。ユニツ口4の動作を説明する前に、一般的な
加算器セル及び減算器セルを説明する。
加算器セルは3つの入力及び2つの出力を有する。1つ
の出力は合計出力であり、入カへ印加された3個のビツ
トのモジユロ2加算に等しいビツトを与える。
他の出力はキヤリロ出力であり、3個の人カビツトの加
算から生じたキャリー・ビツトを与える。第1の入力は
、AN]vゲート160〜157の1個がセルに関連し
ている時に、オペランド・ビツトを受取る。第2の入力
は、左方のセルの「合計」出力ビツトを受取り、第3の
人力は、lクロツク・タイムたけ遅れた上記左方セルか
づのキャリー・ビツトを受取る。真理表は次の通りであ
る。減算器セルは、加算器セルの入力及び出力と同じよ
うに接続された3つの入力(オペランド、合計、キャリ
ー)と2つの出力(合計及びキャリー)を有する。減算
器セルにおいて、オペランド及びキャリー入カビツト(
これらは負である)は、次の真理表に従つて合計ビツト
(これは正である)から減算される。次に第8図を参照
して、加算器セル又は減算器セルとして使用することの
できる例示的セルを説明する。
このセルは排他的0R回路180を含む。
回路180は入力線181を介して前述したオペランド
・ビツトを受取り、入力線182を介して先行するセル
から合計ビツトを受取り、入力線183゛からキャリー
・ビツトを受取る。回路180からの出力はラツチ18
4へ入力される。このラツチは合計出力ビツトを貯蔵し
、且つクロツク・パルスがクロツク線を介してそこへ印
加させる時に、セルの合計出力線185へ上記合計出力
ビツトを与える。セルがセル0又はセル2〜6のいずれ
かである時、[0へのセツト」線がラツチ184へ接続
される0セル1の場合、「oへのS1セツト」線がラツ
チ184へ接続される。多数決回路186は線181を
介してオペランド・ビツトを受取り、線183を介して
キャリー・ビツトを受取り、線188を介して合計ビツ
ト(これは排他的0R回路187によつて反転されても
、反転されなくてもよい。)を受取り、これら3つの入
力の1の数がOの数を越える時に、lビツトを発生する
。回路186の出力はラツチ189へ接続される。この
ラツチは加算動作の結果発生させたキャリー・ビツトを
貯蔵し、クロツク・パルスが受取られた時に、キャリー
・ビツトを回路180及び186へ印加する。クロツク
線及び「oへのセツト」線(又は[OへのS1セツ目線
)がラツチ189へ接続される。更にセル0の場合、M
SB減算線が排他的0R回路187の入カへ接続される
。MSB減算線がOの論理レベルにある時、回路187
は先行するセルから受取られた合計ビツトを変更せず、
それを回路186の入カへ印加する。次いでセルは加算
器セルとして動作し、真理表1に従つて合計ビツト及び
キャリー・ビツトを与える。MSB減算線がlの論理レ
ベルにある時、排他的0R回路187は先行するセルか
ら受取つた合計ビツトを反転し、この反転したビツトを
回路186へ入力する。次いでセルは減算器セルとして
動作し、真理表1こ従つて合計ビツト及びキャリー・ビ
ツトを与える。セル7とセル0〜6との間の唯一の相異
は、セル7がLSB加算線上にあるビツトヘオペランド
・ビツトを加える半加算器を含むことである。半加算器
からの出力は、第8図に示される線181へ印加される
。LSB加算線上にある信号が論理0である時、セル7
は通常の加算器セルであり、この信号が論理1である時
セル7の内容は+l、だけ増加される。動作 これから乗算器兼累算器装置の1つ(例えばMACl)
の動作を説明する。
MAClは16ビツト・オペランドAi,Biの積の代
数合計Sを計算することができる(S=Σ±AiBi)
−上記の積は、直列接続された左右の累算器LACl及
びRAClより構成される32ビツト累算器中で、周知
の乗算アルゴリズムを使用して部分的積を連続的に加算
し且つシフトすることによつて得られる。
RAClの最右方ポジシヨンはLAClの最左方ポジシ
ヨンへ接続される。クロツク・パルスの制御の下で、累
算器LACl及びRACl中の各ポジシヨンの内容は、
すぐ右のポジシヨンヘシフトされ、最右方ポジシヨンの
内容は最左方ポジシヨンヘシフトされる。積の部分合計
は、LACl及びRAClへ交互に累積される。
例えば、次のような合計Sを計算することが望まれると
する。最初の乗算の部分積はLACl中に累積されて右
方へシフトされ、乗算動作が完了すると、積AlBlの
最少有意ビツトはRAClの最右方ポジシヨンlこ来る
第2乗算の部分積はRAClに累積されて右方へシフト
され、従つてそれらは同一の重さを有する第1の積のビ
ツトへ加えられる。第3乗算の部分積はLAClに累積
される。以下同様である。原則として、奇数番目の乗算
の部分積はLAClに累積され、偶数番目の乗算の部分
積はRAClに累積される。
しかし、この構成は逆になつてもよいことに注意された
い。前者の場合、奇数番目の乗算は左方へ累積され、偶
数番目の乗算は右方へ累積される。オペランドは2の補
数コードで表現された16ビツト2進数である。最左方
ビツトは符号ビツトである。このビツトは正の数に対し
て0であり、負の数に対してlである。2の補数で表現
されたコードを得る方法は、全てのビツトを反転して結
果の数に+1を加算することである。
オペランドが乗算され累算される前に、その2qの補数
は次のような条件を満たすようにして得られなければな
らない。1.乗数は常に正でなくてはならない。
2.積の前の符号は常に正でなくてはならない。
下記の表は、積の前の符号及び乗数の符号に従つて、オ
ペランドの2の補数が必要であるかどうかを示す。乗数
は第1オペランドAiであり被乗数は第2オペランドB
iであると仮定する。26進数の2の補数は、そのビツ
トを反転し結果の2進数へlを加算することによつて決
定される。
反転は第2C図のインバータ131によつて実行される
。このインバータは排他的0R回路を含み、その第1入
力は符号ビツト又は乗算ユニツト制御フイールドのビツ
ト24〜25をデコードすることによつて得られた補数
信号を受取り、その第2入力は反転されるべきオペラン
ドのビツトを受取る。排他的0R回路の出力で得られる
ビツトは、オペランドが反転されるべきであれば、人力
ビツトを反転したものであり、反転が必要でない場合に
は入カビツトに等しい。十lの加算は直列化器及び累算
器中で実行され、「LSB加算」コマンドによつて開始
される。
このコマンドは最少有意ビツト+lを加算させる。2の
補数表現を使用すると、最有意ビツトを除く全てのビツ
トへ正の重みを割当て、最有意ビツトへ負の重みを割当
てることによつて、オペランドの値が得られる。
各累算器の最有意ビツトのポジシヨンは、減算可能なポ
ジシヨンでなければならない。従つて、累算器のコンポ
ーネントMのセル0は、「MSB減算」コマンドによつ
て減算可能iこされる。次に第2D図及び第7図を参照
する。
MAClは動作において唯一の乗算器兼累算器装置であ
ると仮定する。ANDゲート144,145,147,
148は禁止されてMAC2がMAClと干渉しないよ
うにされる。乗算兼累算ユニツト14はT秒のサイクル
で動作する。
T秒の各サイクルは次の時間間隔を含む。1.入カバツ
フアが負荷される制御時間間隔。
2.直列化器及び累算器のクロツク線へ8個のクロツク
・パルスが印加される「加算及びシフ目時間間隔(第9
図参照)。
連続した制御時間間隔の間に、オペランドはユニツト1
4への入力バス上で順次に利用可能となる。
例1サイクルl 制御時間間隔 乗数A1はユニツト14への入力バス68上で利用可能
となる。
A1は、S/Dフイールドのビツト2〜5の制御の下で
、ゲート130を介してMAClへの入力バス132上
へ転送される。A1の符号がテストされ、もし負であれ
ば、A1はインバータ131で反転される。A1が反転
されても反転されなくても、それはSERlの入力X線
の制御の下にBSERlへ負荷される。「加算及びシフ
ト」時間間隔 この時間間隔では、何の動作も生じない。
サイクル2 制御時間間隔 被乗数B1がユニツト14への入力バス68上で利用可
能となる。
被乗数B1は、S/Dフイールドのビツト3〜5の制御
の下で、MAClへの入力バス132上へ転送される。
B,は、A1の符号及び乗算ユニツト制御フイールドの
ビツト24〜25に従つて、インバータ131で反転さ
れ又は反転されない。上記ビツト24〜25は、前記の
表に従つて「積の前の符号」を与える。次いでB,は、
LAClの入力X線の制御の下でBLAClへ負荷され
る。乗数A1は、SERlのコンポーネントM及びLの
乗数線を能動化することによつて、BSERlからSE
Rl(即ち、SERlのセル)へ転送される。
もしA1が反転されていれば、SERlの最右方ビツト
はSERlのLSB加算線の制御の下で+lだけ増加さ
れ、A,の2の補数を決定するプロセスが完了する。「
加算及びシフ目時間間隔 A1とB1とを乗算するプロセスが始まる。
乗算ユニツウ制御フイールドのビツト21はクロツクを
能動化し、このクロツクは8個のクロツク・パルスを与
こる。最初のクロツク・パルスが生じると、A,の最少
有意ビツトがLAClの乗数人力へ印加され、そのビツ
トが1であるかOであるかに従つて、被乗数B1又は1
6個のOがLAClセルの内容へ加えられる。このよう
にして得られた部分積は、右方へlポジシヨンだけシフ
トされる。次のクロツク・パルスが生じると、A,の第
2ビツトの値に従つて、B1又は16個のOがSERl
の内容へ加えられ、新しい部分積がシフトされる。[加
算及びシフト」時間間隔の間に、8回の昼算及びシフト
が生じる。もしB1がインバータ131によつて反転さ
れていれば、LAClのコンポーネントLは、LSB加
算線の匍脚の下で、B1の2の補数を決定するプロセス
を完了する。サイクル3制御時間間隔 乗数A2がサイクル1と同じようにして BSERlへ負荷される。
「加算及びシフト」時間間隔 8個のクロツク・パルスがA1とB1とを乗算するプロ
セスを完了する。
サイクル4 制御時間間隔 B2がBRAClへ負荷される。
「加算及びシフ目時間間隔 8個のクロツク・パルスがA1とB1とを乗算するプロ
セスを開始する。
サイクル5 制御時間間隔 動作なし。
「加算及びシフト」時間間隔 8個のクロツク・パルスがA1とB,とを乗算するプロ
セスを完了する。
サイクル6 これはクリア・サイクルである。
「加算及びシフト」時間間隔に8個のパルスがキャリー
を伝播させる。サイクル7 これはクリア・サイクルである。
サイクル8 結果のSはRAClの出力で利用可能である。
RAClへ印加された出力ゲート・コマンドは出力レジ
スタREAlへSを負荷させる。〔注意) 2個の16
ビツトオペランドの乗算の積は、勿論、32ビツト・ワ
ードによつて限定される。
この積を連続的に処理するためには、それを16ビツト
へ切りつめることを要する。MAClでは、第10図に
示されるように、』記の切りつめは、16ビツトの結果
かRAClの15個の低順位ビツト位置とLAClの最
高順位ビツト位置とで構成されるか、又はLAClの1
5個の低順位ビツト位置とRAClの最高順位ビツト位
置とで構成されるようにして成される。これまでの説明
では、第2D図に示されるように、説明を簡単にするた
め、結果はRACl又はLAClのいずれにおいても利
用可能であるように説明した。
切りつみの結果、サイクル8では、結果SがREGlへ
負荷された後、次の動作の間に負荷されるべき累算器(
即ち、この例ではLACl)が、ゼロヘリセツトされる
代り(こ次の値へセツトされる。
これは切りつめによつて必要なまるめ (ROundOff)を行わせるワードである。
このワード(以下、まるめワードと呼ぶ。)は、乗算が
実行される前に、被乗数を受取る累算器べ負荷される。
まるめワード中のlビツトによるキャリー発生を待機す
る必要をなくすため、セル1のキャリー出力を排他的0
R回路175(第7図)の入力へ印加して、キャリーを
予測することができる。
本実施例のサイクル8へ戻る。SがREGlへ負荷され
た後、LAClがまるめワードをセツトされ、RACl
がゼロヘリセツトされる。このため、「0へのセツト」
及び「0へのS1セツ目コマンドがLAClのコンポー
ネントL1及びRAClのコンポーネントM及びLへ印
加され、「0へのセツ口及び[lへのS1セツト」コマ
ンドが、LAClのコンポーネントMへ印加される。次
に、2個の複素オペランドが乗算される場合のユニツト
14の動作を説明する。例 複素オペランドA1+JBl及びC1+JDlの積P1
を計算したいものと仮定する。
積P,は次のように書ける。
P,=AlCl−BlCl+』(AlDl+BlCl)
ここでP1の実数部及び虚数部は並列に計算される。
動作の順序は次の表に示される。サイクルl 制御時間間隔 乗数A,がユニツト14の入力バス68上で利用可能と
なる。
A,は、S/Dフイールドのビツト3〜5の制御下で、
MAClの入力バス132へ導かれ、又必要ならばイン
バータ131で反転される。次いで、A1はBSERl
へ負荷される。このため、デコード回路150は、SE
Rlを指定するS/Dフイールドのビツト2〜5をデコ
ードし、SERlのコンポーネントM及びLの入力X線
を能動化する。もしA1がインバータ131によつて反
転されていれば、回路150はSERlのコンポーネン
トLOLSB加算線を能動化する。「加算及びシフ目時
間間隔動作なし。
サイクル2 制御時間間隔 乗数B1が入力バス68上で利用可能となり、サイクル
lと同じようにBSER2へ負荷される。
「加算及びシフト」時間間隔動作なし。
サイクル3 制御時間間隔 被乗数C1がユニツト14の入力バス68上に存在する
ゲート130はS/Dフイールドのビツト2〜5をデコ
ードし、C1をMAClの入力バス132及びMAC2
の入力バス133へ印加する。C1は表におけるA1の
符号及び積の前にある符号(この実施例では+)に従つ
てインバータ131で反転され又は反転されず、且つ乗
算ユニツト制御フイールドのビツト24〜25によつて
フオーマツトを指定される。次いで、C1はBLACl
及びBLAC2へ負荷される。
このため、デコード回路150は累算器を指定するS/
Dフイールドのビツト2〜5をデコードし、且つ左方の
累算器を指定する乗算ユニツト制御フイールドのビツト
23をデコードし、LACl及び1.AC2のコンポー
ネントM及びLの入力X線を能動化する。更に回路15
0は、もしC1が反転されていれば、LACl及びLA
C2のコンポーネントL(7)LSB加算線を能動化す
る。乗数A1及びB1は、SERl及びSER2の乗数
人力を能動化することによつて、それぞれSERl及び
SER2のセルへ負荷される。次いで、これらの入力は
非能動的にされる。しかしA1及びB1は、それぞれB
SERl及びBSER2に貯蔵されたままである。デコ
ード回路150は、乗算ユニツト制御フイールドのビツ
ト1及び23に応答して、ANDゲート135及び13
9を能動化する。[加算及びシフト」時間間隔 乗算ユニツト制御フイールドのビツト21が1へセツト
され、クロツクはMACl及びMAC2へ8個のパルス
を与える。
これによつて、A1とC1との乗算プロセス及びB1と
C1との乗算プロセスがそれぞれ開始される。クロツク
・パルスが発生する時に、SERl及びSER2のそれ
ぞれの内容はlポジシヨンだけ右方へシフトされ、最右
方のビツトはB,又はゼロがそれぞれLACl又はLA
C2へ負荷されるのを選択的に制御し、LACl及びL
AC2のそれぞれの内容がlポジシヨンだけ右方へシフ
トされる。サイクル4 制御時間間隔 被乗数D1がユニツト14の入力バス68土に存在する
それはゲート130を介してMAClの入力バス132
上へ転送され、又それは表に掲けられている通りに、B
1の符号及び積BlDlの前の符号(本実施例では一)
に従つて、インバータ131で反転され又は反転されな
い。D1はMAC2の入力バス133上へ転送され、又
それは表に掲けられている通りに、A1の符号及び積A
lDlの前の符号に従つて反転され又は反転されない。
次いでD,がS/Dフイールドのビツト2〜5及び乗算
ユニツト制御フイールドのビツト23の制御の下でBR
ACl及びBRAC2へ負荷される。デコード回路15
0は、もしRAClに対する被乗数が反転されていれば
、RAClのコンポーネントLOLSB加算線を能動化
し、もしRAC2のコンポーネントL(7)LSB加算
線を能動する。「加算及びシフ目時間間隔 8個のクロツク・パルスがMACl及びMAC2へ印加
されると、これらの装置はそれぞれA,とC,との乗算
プロセス、及びB1とC1との乗算プロセスを完了する
サイクル5 制御時間間隔 乗数A1及びB1は、それぞれSERl及びSER2の
セルへ再び負荷される。
サイクル4の間に負荷されたSERlとSER2のセル
は、16個のクロツク・パルスの後にクリアされている
。A1及びB1は、SERl及びSER2の乗数人力を
能動化することによつて負荷される。SERl及びSE
R2のコンポーネントL(7)LSB加算線は、もしA
1及びB,が反転されていれば能動化される。デコード
回路150は、乗算ユニツト制御フイールドのビツト1
及び23に応答して、ANDゲート145及び148を
能動化する。こうして、直列化器及び累算器が交差接続
される。「加算及びシフト」時間間隔乗算ユニツト制御
フイールドのビツト21が1へセツトされ、8個のクロ
ツク・パルスがMACl及びMAC2へ印加されて、そ
れぞれ−B,とD1との乗算プロセス、A1とD1との
乗算プロセスが開始される。
クロツク.パルスが発生する時、SERl及びSER2
のそれぞれの内容がlポジシヨンだけ右方へシフトされ
る。最右方ビツトはRAC2及びRAClへそれぞれD
,及びOが負荷されるのを選択的に制御し、RACl及
びRAC2のそれぞれの内容が1ポジシヨンだけ右へシ
フトされる。サイクル6 制御時間間隔 動作なし。
「加算及びシフト」時間間隔 8個のクロツク・パルスがMACl及びMAC2へ印加
されると、これらの装置はそれぞれ−B1とD,との乗
算プロセス、及びA1とD1との乗算プロセスを完了す
る。
サイクル7 これはクリア・サイクルである。
制御時間間隔 動作なし。
「加算及びシフ目時間間隔 8個のクロツク・パルスがMACl及びMAC2へ印加
されて、キャリーを伝播させる。
サイクル8 これはクリア・サイクルである。
このサイクルの終りに、P,の実数部AlCl−B,D
lがRAClで利用可能となり、P1の虚数部AlDl
+B,ClがRAC2で利用可能となる(実施例1の注
意を見よ)。
サイクル9 制御時間間隔 RACl及びRAC2の内容がそれぞれ出力レジスタR
EGl及びREGへ負荷される。
このため、デコード回路150は乗算ユニツト制御フイ
ールドのビツト22〜23をデコードし、RACl及び
R−AC2のコンポーネントM及びLの出力ゲート線を
能動化する。実施例 2個の複素オペランドの2つの積の合計を得る方法を、
これから簡単に説明する。
P1及びP2の合計Sは次のように書ける。
1′4′)−J−ム′ Sの実数部(実数S)は 実数S=A,C,−B,Dl+A2C2−B2D2Sの
虚数部(虚数S)は▲−息−一4−TSl&1〆4 次の動作シーケンスはSの計算を要約したものである。
概略的動作 タイミング PMAUサイクルはT秒の持続時間を有し、T秒の各サ
イクルの間に、マイクロ命令が命令ストレージ(ROS
)10から読出され、その間に先行するマイクロ命令が
実行される(第9図参照)。
PMAUによつて実行される2つの主たる機能1.それ
は処理されるべき信号のデイジタル・サンプル値を貯蔵
する。このサンプル値はアナログーデイジタル変換器2
から受取られる。以上はエントリイ・モードの動作であ
る。
2.それは信号のデイジタル・サンプル値を処理理する
これはプロセシング・モードの動作である。エントリイ
・モードの動作 アナログーデイジタル(A/D)変換器2による変換が
完了すると、デイジタル・サンプル値がバス3を介して
PMAUへ印加される(第1図)。
A/Dレジスタ120(第2B図)が一杯になると、直
ちにA/D要求論理回路123は線88上のA/D要求
信号をlへセツトする。PMAUはプロセシング・モー
ドで動作するものと仮定するマイクロプログラムの実行
中、例えばアドレスが1000のマイクロ命令であつて
「次の命令アドレス」フイールドが同じアドレス100
0を含んでいるマイクロ命令は、そのブランチ・フイー
ルド・ビツトによつて、線89上のA/Dテスト信号を
1へセツトする。A/D要求信号及びA/Dテスト信号
は共にlへセツトされるから、ゲート85(第2E図)
は能動化され、ゲート86はプロツクされ、エントリイ
・レジスタに貯蔵されたエントリイ・ルーチン中の最初
のマイクロ命令のアドレスがROSlOへ入力される。
こうして工ンヘリイ・ルーチンが起動され、A/Dレジ
スタ120に含まれるサンプル値がRAMl2へ負荷さ
れる。このため、デコード回路126はA/Dレジスタ
120をソース・レジスタとして指定するS/Dフイー
ルドのビツトをデコードし、ゲート121を能動化して
、内部バス42を介してサンプル値をRAMl2へ負荷
する。同時に、デコード回路126は線124上のイン
デイケータIND信号をlへセツトする。サンプル値が
〜Φレジスタ120から出されると、直ちにA/D要求
論理回路123はA/D要求信号をOへセツトする。エ
ントリイ・ルーチンの実行中、エントリイ・レジスタは
、バス80及びゲート81を介して「次の命令アドレス
」フイールドによつて更新される。ゲ゛一ト81はラツ
チ87からの真の出力がアツプになつている限り、バス
80の内容をエントリイ・レジスタへ印加する。エント
リイ・ルーチンは、A/Dテスト信号をlへセツトする
マイクロ命令で終了する。A/D要求信号はOへセツト
されるので、ゲート85がプロツクされ、ゲート96が
能動化され、それによつてプロセシング・レジスタに含
まれるアドレスが0Rゲート84に印加される。プロセ
シング・レジスタに含まれるアドレスは、アドレスが1
000のマイクロ命令における「次の命令アドレス」フ
イールドによつて負荷されたアドレス1000である。
上記マイクロ命令はエントリイ・モードの動作を起動し
た。A/Dテスト信号及びインデイケータ信号は共に1
へセツトされるので、ブランチ論理回路95はブランチ
条件線95′をlの論理レベルヘセツトする。プロセシ
ング・レジスタによつて0Rゲート84へ印加されたア
ドレス1000は、排他的0Rゲート94によつて変更
され、プロセシング・モードの動作を再開するため、ア
ドレス1001がROSlOへ入力される。エントリイ
・モードの動作へ入らせるマイクロ命令の[次の命令ア
ドレス」フイールドによつて限定されたアドレスを使用
することにより、プログラムは任意所望のアドレスでプ
ロセシング・モードの動作を再開してよい。プロセシン
グ・モコドの動作この動作はROSlOに貯蔵されたマ
イクロ命令によつて制御される。
関連する各種の動作は既に説明した。プロセシング・モ
ードの動作において、プロセシング・レジスタは、バス
80及びゲート81を介して、実行されているマイクロ
命令の「次の命令アドレス」フイールドlこよつて更新
される。ゲ゛一ト81は、ラツチ87の真の出力がダウ
ンである限り、バス80の内容をプロセシング・レジス
タへ印加する。PMAUとCUとの間のデータ転送は、
プロセシング・モードの動作中に起こる。PMAUマイ
クロプログラムをデイジタル・サンプル値の受取り速度
へ同期化させるため、「サンプル値待機」マイクロ命令
がマイクロプログラム中に設けられている。
このマイクロ命令は閉ループ式であり、その動作コード
とブランチ・フイールドは、「動作なし」及び「A/D
テス目を指定する。デイジタル・サンプル値が受仰られ
ると、直ちにPMAUはエントリイ・モードの動作へ切
替えられる。本明細書において、「プロセツサ」及び「
命令」の語へ「マイクロ」の接頭語を付加して用いてい
るが、それは本発明の範囲に何らの制限を課するもので
はなく、一般的に「命令」を使用するプロセツサヘ本発
明を適用できることが当業者に分るであろう。
【図面の簡単な説明】
第1図は本発明のマイクロプロセツサを組込んだ信号処
理システムの略図であり、第2図は第2A図から第2E
図までの配置を示し、第2A図〜第2E図は本発明のマ
イクロプロセツサの詳細を示す図であり、第3図はマイ
クロ命令のフオーマツトを示し、第4図は間接アドレシ
ングを利用してRAMアドレスを形成する方法を示し、
第5図は現在の命令の「次の命令アドレス」フイールド
からROSアドレスを形成する方法を示し、第6図は制
御ワード(CW)のフオーマツトを示し、第7図は乗算
兼累算ユニツト14の基本的コンポーネントを示し、第
8図は加算器セル又は減算器セルの略図であり、第9図
は本発明のプロセツサの動作を示すタイミング図であり
、第10図は乗算器兼累算器中で結果を切りつめる様子
を示す。 10・・・・・命令ストレージ、11・・・・・・アド
レシング回路、12・・・・・・データ・ストレージ、
13・・・・・・アドレシング回路、14・・・・・・
乗算兼累算ユニツト、15・・・・・・インターフエイ
ス。

Claims (1)

    【特許請求の範囲】
  1. 1 2つの複素数オペランドAi+jBi(これを乗数
    と呼ぶ)及びCi+jDi(これを被乗数と呼ぶ)の積
    Piの合計S=Σ±Piを計算するプロセッサにして(
    ここでj=√(−1))、プロセッサの動作を制制する
    命令を貯蔵する命令ストレージと、該命令ストレージか
    ら読出された命令をデコードする手段と、複素数オペラ
    ンドを貯蔵するデータ・ストレージと、それぞれ乗数入
    力及び被乗数入力を有する第1及び第2の乗算器兼累算
    器装置と、第1及び第2の乗数入力バッファと、第1及
    び第2の被乗数入力バッファと、データと・ストレージ
    から読出された乗数の実数部Aiを上記第1乗数入力バ
    ツフアへ転送するための第1のゲート手段と、データ・
    ストレージから読出された乗数の虚数部Biを上記第2
    乗数入力バツフアへ転送するための第2のゲート手段と
    、データ・ストレージから読出された被乗数の実数部C
    i又は虚数部Diを上記第1及び第2の被乗数入力バツ
    フアへ同時に転送するための第3のゲート手段と、上記
    第1及び第2乗算器兼累算器装置の1つで積AiCiを
    計算させ他の1つで積BiCiを同時に計算させるため
    、上記第1及び第2乗数入力バッファから上記第1及び
    第2装置の乗数入力へ上記実数部Ai及び虚数部Biを
    印加し、上記第1及び第2被乗数入力バッファから上記
    第1及び第2装置の被乗数入力へ上記実数部Ciを印加
    する手段と、上記第1及び第2乗算器兼累算器装置の1
    つで積−BiDiを計算させ他の1つで積AiDiを計
    算させ、且つこれらの積を上記の積AiCi又はBiC
    iへ加算させて上記の積Piの実数部AiCi+BiD
    i及び虚数部BiCi+AiDiを上記第1及び第2装
    置の各々で計算させるため、上記第1及び第2乗数入力
    バッファから上記第1及び第2装置の乗数入力へ上記実
    数部Ai及び虚数部Biを印加し、上記第1及び第2被
    乗数入力バッファから上記第1及び第2装置の被乗数入
    力へ上記虚数部Diを印加する手段とを具備するプロセ
    ッサ。
JP53143469A 1977-12-30 1978-11-22 プロセツサ Expired JPS5947346B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR000077/39966 1977-12-30
FR7739966A FR2413712A1 (fr) 1977-12-30 1977-12-30 Microprocesseur specialise pour le calcul de la somme de produits de deux operandes complexes

Publications (2)

Publication Number Publication Date
JPS5494849A JPS5494849A (en) 1979-07-26
JPS5947346B2 true JPS5947346B2 (ja) 1984-11-19

Family

ID=9199635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53143469A Expired JPS5947346B2 (ja) 1977-12-30 1978-11-22 プロセツサ

Country Status (6)

Country Link
US (1) US4202039A (ja)
JP (1) JPS5947346B2 (ja)
DE (1) DE2855722A1 (ja)
FR (1) FR2413712A1 (ja)
GB (1) GB2011672A (ja)
IT (1) IT1160374B (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4354249A (en) * 1980-03-24 1982-10-12 Motorola Inc. Processing unit for multiplying two mathematical quantities including at least one complex multiplier
DE3066955D1 (en) * 1980-06-24 1984-04-19 Ibm Signal processor computing arrangement and method of operating said arrangement
US4511987A (en) * 1982-03-25 1985-04-16 Texas Instruments Incorporated Method of entering and performing operations on complex numbers on calculators
US4528641A (en) * 1982-11-16 1985-07-09 The United States Of America As Represented By The Secretary Of The Air Force Variable radix processor
US4589085A (en) * 1983-04-26 1986-05-13 The United States Of America As Represented By The United States Department Of Energy Hardware multiplier processor
US4561066A (en) * 1983-06-20 1985-12-24 Gti Corporation Cross product calculator with normalized output
US4800486A (en) * 1983-09-29 1989-01-24 Tandem Computers Incorporated Multiple data patch CPU architecture
EP0197945A1 (en) * 1984-09-28 1986-10-22 Motorola, Inc. A digital signal processor for single cycle multiply/accumulation
US4779218A (en) * 1985-09-04 1988-10-18 Jauch Jeremy P Complex arithmetic unit
GB8715184D0 (en) * 1987-06-29 1987-10-21 Gec Avionics Stereoscopic presentation of data
US5349676A (en) * 1991-02-11 1994-09-20 General Electric Company Data acquisition systems with programmable bit-serial digital signal processors
US5808927A (en) * 1994-10-18 1998-09-15 International Business Machines Corporation Apparatus for performing two's complement and unsigned multiply accumulate
US5771186A (en) * 1995-06-07 1998-06-23 International Business Machines System and method for multiplying in a data processing system
US5939693A (en) * 1998-02-02 1999-08-17 Motorola Inc. Polynomial calculator device, and method therefor
US11074073B2 (en) 2017-09-29 2021-07-27 Intel Corporation Apparatus and method for multiply, add/subtract, and accumulate of packed data elements
US10664277B2 (en) 2017-09-29 2020-05-26 Intel Corporation Systems, apparatuses and methods for dual complex by complex conjugate multiply of signed words
US10552154B2 (en) * 2017-09-29 2020-02-04 Intel Corporation Apparatus and method for multiplication and accumulation of complex and real packed data elements
US11243765B2 (en) 2017-09-29 2022-02-08 Intel Corporation Apparatus and method for scaling pre-scaled results of complex multiply-accumulate operations on packed real and imaginary data elements
US10795677B2 (en) 2017-09-29 2020-10-06 Intel Corporation Systems, apparatuses, and methods for multiplication, negation, and accumulation of vector packed signed values
US11256504B2 (en) 2017-09-29 2022-02-22 Intel Corporation Apparatus and method for complex by complex conjugate multiplication
US10795676B2 (en) 2017-09-29 2020-10-06 Intel Corporation Apparatus and method for multiplication and accumulation of complex and real packed data elements
US10802826B2 (en) 2017-09-29 2020-10-13 Intel Corporation Apparatus and method for performing dual signed and unsigned multiplication of packed data elements
US10534838B2 (en) 2017-09-29 2020-01-14 Intel Corporation Bit matrix multiplication
US10514924B2 (en) 2017-09-29 2019-12-24 Intel Corporation Apparatus and method for performing dual signed and unsigned multiplication of packed data elements

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1037737A (en) * 1964-07-01 1966-08-03 Ampex Improvements in or relating to computer systems
GB1151302A (en) * 1967-05-18 1969-05-07 Tesla Np Improvements in and relating to Computer Equipment for Numerical Solution of Complex Number Problems
US3673399A (en) * 1970-05-28 1972-06-27 Ibm Fft processor with unique addressing
US3725686A (en) * 1971-01-29 1973-04-03 Hughes Aircraft Co Polyphasor generation by vector addition and scalar multiplication
CH530643A (de) * 1971-04-22 1972-11-15 Hasler Ag Verfahren und Einrichtung zum Erkennen einer vorbestimmten Frequenz in einem Frequenzgemisch
US3800130A (en) * 1973-07-09 1974-03-26 Rca Corp Fast fourier transform stage using floating point numbers
US3926367A (en) * 1974-09-27 1975-12-16 Us Navy Complex filters, convolvers, and multipliers
US4086657A (en) * 1976-08-18 1978-04-25 The United States Of America As Represented By The Secretary Of The Air Force Five-stage four-bit complex multiplier

Also Published As

Publication number Publication date
DE2855722A1 (de) 1979-07-12
FR2413712B1 (ja) 1980-08-22
IT1160374B (it) 1987-03-11
US4202039A (en) 1980-05-06
FR2413712A1 (fr) 1979-07-27
IT7831079A0 (it) 1978-12-21
JPS5494849A (en) 1979-07-26
GB2011672A (en) 1979-07-11

Similar Documents

Publication Publication Date Title
JPS5947346B2 (ja) プロセツサ
US4367524A (en) Microinstruction execution unit for use in a microprocessor
US4597053A (en) Two-pass multiplier/accumulator circuit
US5426600A (en) Double precision division circuit and method for digital signal processor
US4949291A (en) Apparatus and method for converting floating point data formats in a microprocessor
EP0789297A2 (en) Data processor and method of processing data
GB1585284A (en) Cpu/parallel processor interface with microcode extension
JP2008059595A (ja) 算術プロセッサ
JPS63273134A (ja) マクロ命令パイプラインを用いてマイクロ命令を変更する方法及び装置
JPH0113130B2 (ja)
JP2807343B2 (ja) 情報処理システム
US3290493A (en) Truncated parallel multiplication
US5822557A (en) Pipelined data processing device having improved hardware control over an arithmetic operations unit
US5386534A (en) Data processing system for generating symmetrical range of addresses of instructing-address-value with the use of inverting sign value
US5276822A (en) System with enhanced execution of address-conflicting instructions using immediate data latch for holding immediate data of a preceding instruction
US3489888A (en) Floating point look-ahead binary multiplication system utilizing two's complement notation for representing negative numbers
JPS58163060A (ja) マイクロプロセツサ・システム、マイクロコンピユ−タ装置及びマイクロプロセツサ装置
JP3394052B2 (ja) 多精度運算方法及び多精度運算装置
US5204962A (en) Processor with preceding operation circuit connected to output of data register
US7590677B2 (en) Processor with summation instruction using overflow counter
JP2760808B2 (ja) データ処理装置
JP2542120B2 (ja) 情報処理装置
JP2706459B2 (ja) 小数乗算器を有するマイクロプロセッサ
JP2922979B2 (ja) 中央演算処理装置
JPH026089B2 (ja)