JP2664666B2 - プロセッサ - Google Patents

プロセッサ

Info

Publication number
JP2664666B2
JP2664666B2 JP60179224A JP17922485A JP2664666B2 JP 2664666 B2 JP2664666 B2 JP 2664666B2 JP 60179224 A JP60179224 A JP 60179224A JP 17922485 A JP17922485 A JP 17922485A JP 2664666 B2 JP2664666 B2 JP 2664666B2
Authority
JP
Japan
Prior art keywords
instruction
signal
processor
mode
register
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 - Lifetime
Application number
JP60179224A
Other languages
English (en)
Other versions
JPS6184736A (ja
Inventor
リユク・マリ
バーマン・バラゼシユ
Original Assignee
フィリップス コミュニカシオン ダントレプリズ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from FR8412799A external-priority patent/FR2569285B1/fr
Priority claimed from FR8412801A external-priority patent/FR2569286B1/fr
Application filed by フィリップス コミュニカシオン ダントレプリズ filed Critical フィリップス コミュニカシオン ダントレプリズ
Publication of JPS6184736A publication Critical patent/JPS6184736A/ja
Application granted granted Critical
Publication of JP2664666B2 publication Critical patent/JP2664666B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5324Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3828Multigauge devices, i.e. capable of handling packed numbers without unpacking them
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining

Landscapes

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

Description

【発明の詳細な説明】 本発明は単精度、倍精度及び複素データ等の異なるデ
ータ形式のデータを扱うプロセッサに関する。 更に詳述すると、本発明は少なくとも1つのデータラ
インにより転送されるデータをプログラム−メモリから
命令レジスタに入力される命令に従って処理するプロセ
ッサであって、この命令レジスタが命令ラインを介して
演算制御部に結合され、当該プロセッサは命令ラインに
結合されたモード回路を有し、該モード回路が、 プログラム−メモリに記憶され且つ令名ラインを介し
て供給される命令中に含まれる単精度又は倍精度を含む
ようなデータ形式を宣言するデータ形式宣言命令を検出
するよう構成され、 検出されたデータ形式宣言命令に対応するモードを識
別するモード信号を前記演算制御部に供給して、データ
が当該制御部において先に宣言されたデータ形式に従う
種々の形式の値として処理されるようにしたプロセッサ
に関する。 上述したような形式のプロセッサは、例えば、特開昭
58−56040号公報から既知である。この公報に示された
データ処理装置は、16ビット2進数形式及び32ビット浮
動小数点形式等の読出しデータを処理することができ
る。 単精度の実数の演算は比較的簡単な方法により実行す
ることが可能であるが、倍精度叉はもっと複雑な複素数
を処理する場合には、プログラム−メモリ中に全ての論
理演算の詳細及び中間計算結果のワーキング−メモリ又
は演算レジスタ等へのデータ経路等を指示する完全な命
令群を用意する必要がある。 本発明は冒頭で述べたようなプロセッサであって、異
なる命令による全ての演算を詳細にプログラムすること
なく異なるモードにおいてデータを容易に処理すること
ができるようなプロセッサを提供することにある。 この目的を達成するため、本発明によるプロセッサ
は、周期的なフェーズ信号を前記演算制御部に供給して
当該プロセッサに各処理フェーズを周期的に実行させる
ような出力端子を有するクロック装置を有し、該クロッ
ク装置が前記データ形式宣言命令により決定される前記
モードに従って前記フェーズ信号の繰り返し周波数及び
相対位相を変更するように構成されていることを特徴と
している。 従って、本発明は異なるモードにおける等価な演算を
単一の命令を用いつプログラムすることができるという
利点を有する。また、上記演算制御部の動作はフェーズ
信号を変更することにより当該モードに調整することが
できる。この調整により、種々の処理フェーズが開始さ
れるフェーズ信号の周波数及び相互のタイミングが調整
される。例えば、単精度では複数のフェーズ信号が同時
に発生するように統合されて、複数の処理動作がより一
層頻繁に及び同時に実行される。 本発明によるプロセッサの一実施例は、前記演算制御
部が先行する命令の間にレジスタに記憶されたキャリー
信号を用いて命令を実行するように構成され、該キャリ
ー信号がステータスレジスタ中の複数個のキャリー信号
からモード信号及び処理フェーズに従って選択されるこ
とを特徴としている。このようにして、次から次へと実
行する演算においてキャリーを準備することができ、こ
のキャリーは当該演算が実行されるモードに適応したも
のとなる。 本発明によるプロセッサの他の実施例であって、デー
タ形式が複素数形式であるようなプロセッサは、上記の
複数個のキャリー信号が異なる処理フェーズで選択され
る実数キャリーと虚数キャリーとを含んでいることを特
徴としている。これらの異なる処理フェーズは実数値及
び虚数値の演算に作用し、各値は先行する演算から別個
のキャリーを受ける。 図面につき本発明の実施例を説明する。 第1図に示す本発明プロセッサにはこの図の左半部に
おける演算制御部に論理演算装置10を設ける。この論理
演算装置には16ビットオペランド入力端子A、16ビット
オペランド入力端子B、ボロー入力端子RE、及び実行さ
れた演算の結果が16ビットで現れる出力端子SALUを設け
る。これら演算の性質は制御コード入力端子Kに供給さ
れる“alu"コードに依存する。又、論理演算装置10には
その状態コードを発生する出力端子STを設ける。この論
理演算装置10にはそのオペランド入力端子Aに第1図に
示すように接続された2進シフト装置12(BARREL SHIFT
ER)を設ける。 かように2進シフト装置12に結合された論理演算装置
10は標準の型式のものとすることができ、これにより5
ビット2進ワードの形態で現れる“alu"コードに従って
第16図に示す演算を行い得るようにする。小文字で表さ
れるニューモニックコードはこの2進ワードに相当す
る。又、量(RTE)は入力端子REに供給される信号の値
を示す。 更に第16図には出力端子STに現れるデータの情報をも
示す。即ちデータ“sr"は出力端子SALUにおける数の符
号を示し、“rt"はボローの値を示し、“z"は出力端子S
ALUの数が零に等しい場合を示し、“ov"はオーバーフロ
ーのある場合を示し、“mov"は記憶されたオーバーフロ
ーを示し、“aov"は値SA15SA14を示し、ここにSA15及
びSA14はSALUレジスタ(出力端子SALU)に含まれる数の
最上位2進ビットを示し、記号は“排他的OR"演算を
示す。 尚、第16図において記号+、・、及びは夫々ニュー
モニックコード“lou"、“let"、“xou"に対する論理O
R、論理AND及び排他的OR演算を表わす。 オペランドA及びBはメモリ15及び16から夫々取出
し、これらメモリにはアドレス回路17及び18をそれぞれ
接続する。これらメモリには書込みモード又は読出しモ
ードの何れかにおける信号WEと、バリデーション信号
(夫々CS1及びCS2)とを夫々供給する。メモリ15の出力
端子を出力レジスタ19、マルチワイヤライン(本例では
16ワイヤ)BUSX及び2進シフト装置12を経てオペランド
Aの入力端子に接続する。同様にメモリ16の出力端子を
出力レジスタ20、マルチワイヤライン(16ワイヤ)BUSY
及びマルチプレクサ21を経てオペランドBの入力端子に
接続する。出力レジスタSALUに含まれる結果は先入れ先
出し型のメモリ25又は1組のアキュムレータ27に記憶し
得るようにする。出力マルチプレクサ30によって、論理
演算装置10により実行され、メモリ25叉はアキュムレー
タ27に記憶され叉は記憶されていない演算の結果のメモ
リ15及び16へのルーチング(経路確立)を行い得るよう
にする。この目的のために、マルチワイヤラインBUSZを
出力マルチプレクサ30の出力側に接続すると共にメモリ
15及び16に夫々割当てられた入力レジスタ31及び32に接
続する。更に2個の追加の出力レジスタ33及び34をメモ
リ15及び16に対して夫々設けてその出力側とマルチワイ
ヤラインBUSY及びBUSXとの間を夫々接続し得るようにす
る。 論理演算装置10の出力側を、アキュムレータ装置27の
入力側、FIFOメモリ25の入力側及び多数の入力端子を有
するマルチプレクサ30の或る入力端子に夫々接続する。
これがため、マルチワイヤラインBUSZはFIFOメモリ25の
出力側、論理演算装置10の出力側、レジスタ74の出力側
及びアキュムレータ装置27の出力側に夫々接続されるよ
うになる。又、アキュムレータ装置27の出力側をマルチ
プレクサ21を経て論理演算装置10のオペランド入力端子
Bに接続する新たな接続ラインを設ける。 この接続ラインを設けることによって、パイプライン
システムによるアキュムレーションを行うことができ
る。即ち、アキュムレータ装置27に含まれる数を、ライ
ンバスBUSX,BUSY又はBUSZを用いることなく論理演算装
置10のオペランド入力端子Bに転送することができる。
従って何等の処理時間を費やすことなくこれらラインバ
スにより転送されたデータに対する新たな演算、例えば
乗算装置250(第9図参照)による乗算を行うことがで
きる。 第1図のプロセッサの完全な演算はプログラムカウン
タ52によりアドレスされたプログラムメモリ50に含まれ
る一連の命令によって制御する。実行される命令を命令
レジスタ54に記憶し、この命令レジスタ54の出力側をマ
ルチワイヤ(本例では32ワイヤ)ラインBUSIに接続す
る。このマルチワイヤラインBUSIから2個のデコーダ55
及び56により信号CS1及びCS2を発生させてメモリ15及び
16がこのラインBUSIにより転送された命令によって使用
されるか又は使用されないことを認識し得るようにす
る。 第1図に示すプロセッサの演算をクロック装置60の周
波数で実行する。 本発明によれば、種々のモード(特に単精度モード、
倍精度モード、複素演算モード)で実行されるプロセッ
サに、クロック装置60に含まれモード宣言命令(第2図
参照)によりトリガされる処理フェーズ(位相)(φ0,
φ1,φ2,φ3,……)を発生する手段と、以降の命令が宣
言されたモードで実行されるべくモード指示を行う手段
(モード回路62)とを設ける。各フェーズφ0,φ1,φ2,
φ3の時間間隔はTT(第3図参照)に等しくする。これ
らフェーズ信号は1組のワイヤφ0−3により転送す
る。 前記ラインBUSIに現れる32ビットの命令は、第2図に
示すように、その第0ビット目I0と第1ビット目I1との
組み合わせが特定とビットパターンの場合はモード宣言
命令であり、更に、これらモード宣言命令は第8ビット
目I8と第9ビット目I9との組み合わせのビットパターン
により下記の3種類のモード宣言命令(単精度SP、倍精
度DP及び複素演算CX)の何れかとして認識される。 I8=0 I9=1 単精度モード I8=1 I9=0 倍精度モード I8=1 I9=1 複素演算モード モード回路62は、上記モード宣言命令を認識するデコ
ーダ兼記憶回路(図示せず)によって、認識された命令
に応じて、出力側に接続されたワイヤSP、CX、DPの何れ
かに論理値“1"のレベル信号を発生する。ワイヤSP、C
X、DPの組をMODとする。 クロック装置60は、認識されるモードSP、CX、DPに応
じて4つのフェーズ信号φ0〜φ3を出力する。この場
合、単精度モードSPの場合は第3a図に示すように周期比
が0.5のフェーズ信号を発生する。第3a図から明らかな
ように、信号φ0は信号φ2に等しく、同様に信号φ1
は信号φ3に等しく、信号φ0及びφ2と、信号φ0及
びφ3とは逆位相となる。これらフェーズ信号が能動状
態になる期間はTTに等しい。尚、信号φ0と信号φ1と
の組み合わせ信号は、フェーズ信号φ01として後に参照
する。また、当該クロック装置60はメモリ15及び16に対
する書込信号WEも発生する。 一方、倍精度モードDP及び複素演算モードCXにおいて
は、当該クロック装置60が発生するフェーズ信号φ0〜
φ3の周期比は第3b図に示すように各々0.25となり、各
フェーズ信号の位相は能動状態となる期間TTに等しい期
間づつ各々ずらされたものとなる。 論理演算装置10をこれら種々のモードで演算させるた
めには第1図に示すように命令コード兼ボロー管理回路
70及びステータス(状態)レジスタ管理回路72を設け
る。ステータス(状態)レジスタは記号74で示す。この
レジスタ74によって、そのRTR及びRTIラインにモードに
よって異なる意味を有するボロー値を発生する。 アドレス回路17及び18には第4図に示す種々の上述し
たモードで演算を行う手段を設ける。 斯かる第4図における90はメモリ15(16)用のアドレ
スを含んでいるレジスタを表わし、このレジスタ90はBU
SIラインに接続される回路92によってロードされる。な
お、回路92は本発明の要部ではないのでこれについては
詳述しないものとする。レジスタ90内に含まれるすべて
のビット位置はメモリ15(16)用のアドレスコードを単
精度モードで記憶し、またこれにより形成されたアドレ
スコードの最下位ビットは複素モード又は倍精度モード
でクロック信号と置換される。この場合、斯かるクロッ
ク信号は信号φ1及びφ2を入力端子にて受信する“O
R"ゲート96によって形成する。2−入力マルチプレクサ
94の一方の入力端子は、最下位ビットを含んでいるレジ
スタ90の位置に接続し、他方の入力端子には信号φ1+
信号φ2を供給し、マルチプレクサ94の制御端子には信
号SPを供給することにより、このマルチプレクサによっ
て一方の単精度モードと、他方の複素兼倍精度モードと
の間でのアドレッシングの変更を行うことができる。 従って、複素モードでは連続アドレスで配置される実
数及び虚数オペランドをアドレスすることができる。例
えば、実数部は偶数アドレスに配置され、かつ虚数部は
奇数アドレスに配置され、これは自動的に行われる。こ
のことは、倍精度の場合に最下位側の各ビット及び最上
位側の各ビットについても云えることである。 本発明について詳述する前に、本発明に関連する命令
の構成につき説明する。 第17図は種々のCODALUに関するI10〜I14におけるビッ
ト値を示したものである。 第6図に詳細に示した制御コード兼ボロー管理回路70
によって第18図に示した演算を実行することができる。 なお、 Re(A):Aの実数部であり、これはAの虚数部の前に発
生する。オペランド入力AF(1/2)におけるIm(A):A
の最上位部であり、これはAの最下位部の後に発生す
る。オペランド入力Aにおけるf(A)……Re(B)、
Im(B),F(B)及びf(B)は上述した所と同じであ
る。 RTR:単及び倍精度モードにも用いられる実数部に対する
ボローである。 RTI:虚数部に対するボローである。 回路70によって処理すべく入力コードはBUSIラインか
らか、又はレジスタ99を経てBUSXラインからのいずれか
から到来する。 しかし、BUSXラインから到来するコードはBUSIライン
から到来するCODALUコードに依存させる。これらのCODA
LUコードはデコーダ回路100(第6図)によって復号化
され、この復号結果(即ち、信号F1,F2及びF3)を信号
φ1によって定められる時間に発生させるために、上記
デコーダ回路100にはレジスタ101を後続させる。デコー
ダ回路100の目的は下記のCODALUコードを復号化するこ
とにある。 信号F3は、CD1叉はCD3なるCODALUを処理する場合には
“1"レベルとなる。この信号がANDゲート105を開くた
め、BUSXラインによって搬送されるデータは、ゲート10
5の他方の入力端子に供給されるφ2信号が有効となる
場合にレジスタ99に記憶される。信号F1及びF2は3つの
入力端子E1,E2及びE3を有しているマルチプレクサ110を
制御する。レジスタ99の一群の出力端子はマルチプレク
サ110の入力端子E1に接続し、マルチプレクサ110の入力
端子E2には、ユニット(論理演算装置)10によって実行
すべき演算が必要とされないことを意味する“nop"コー
ドに相当する信号を永久に供給し、マルチプレクサ110
の入力端子E3は命令の位置I10〜I14に対応するBUSIライ
ンのワイヤに接続する。従って、コードCODALU=CD1の
場合には、マルチプレクサ110の入力端子E1と出力端子
Sとの間が接続され、CODALU=CD2の場合には、マルチ
プクレサ110の入力端子E1と出力端子Sとの間が接続さ
れ、CODALU=CD3の場合には、マルチプレクサ110の入力
端子E2と出力端子Sとの間が接続され、かるCODALU=CD
1,CD2及びCD3の場合には、入力端子E3と出力端子Sとの
間が接続される。 マルチプレクサ110の出力端子に現れる種々のコード
はデコーダ120によって復号化され、このデコーダはそ
の種々の出力端子S0〜S7に信号を発生する。これらの信
号は“0フリップ−フロップ”レジスタ122に供給さ
れ、このレジスタのクロック入力端子は信号φ1を受信
する。 レジスタ122は、その出力端子SL0〜SL7に現れる信号
をデコーダ120の出力端子S0〜S7に現れる信号に対応さ
せる。 論理演算装置(以下、ユニットとも称す)10のK入力
端子に供給されるコードは、2入力ORゲート128の出力
端子及びレジスタ122の出力端子SL1〜SL4に現れる信号
により形成される。ORゲート128の一方の入力端子はレ
ジスタ122の出力端子SLOに得られる信号を受信し、他方
の入力端子はANDゲート130からの出力信号を受信する。
2個の入力端子を有しているANDゲート130の一方の入力
端子はレジスタ122の出力端子SL5に現れる信号を受信
し、他方の入力端子はORゲート132の出力信号を受信す
る。このORゲート132の2つの入力端子は信号φ0及び
φ3をそれぞれ受信する。ユニット10のK入力端子に供
給される信号をそれぞれ信号S0′,S1′,S2′,S3′,S4′
と称する。 デコーダ回路125はユニット10のRF入力端子に対する
ボロー(借り)を管理し、斯かるデコーダ回路はレジス
タ122の出力端子SL5,S6,SL7からの信号と、ステータス
レジスタ74からの信号RTR及びRTIと、MOD信号を受信す
る。 デコーダ回路120に供給されるコードをSI0,SI1,SI2,S
I3及びSO4と呼ぶ場合には上記回路120を次のような動作
をすべく配線する。 S0=SI0 S1=SI1 S2=SI2 S3=SI3 S4=SI4 即ち、これらのビットは実際上ユニット10に直接転送
される。 信号S5は複素モードでのみ、しかも演算A+Bの場
合にのみ有効となる。なお、BはBの共役値を表わ
し、CODALUニューモニックコードはADDCであり、これに
対応する2進ワードは(01010)である。これがため信
号S5はつぎのようになる。即ち、 S5=▲▼・I11・▲▼・I13・▲▼ 信号S6は、CODALUコードがボローの加入、即ち、コー
ドAMB,BMA,APBC,BMAC,APBC及びADDCを含む場合に有効と
なる。 信号S7はCODALUコードがボロー“1"、即ちコードAMB,
BMAを含む場合に有効となる。 プログラマブル論理回路網によって形成され、かつワ
イヤRTR,RTI,MODおよびφ0−3に接続されるボロー管
理回路125はデコーダ回路120と同様に第19図、第20図及
び第21図を用いて容易にプログラムすることができる。
RTRが単精度及び倍精度モードにおけるボローの値及び
複素モードにおける実数ボローの値を転送し、RTIが複
素モードにおける虚数ボローの値を転送することは明ら
かである。 第7図はステータスレジスタ74及びその管理回路72を
詳細に示したものである。ステータスデータはユニット
10から到来する。これらのデータは“st",“rt",“z",
“ovf",“mov",“aov"と称したものである。これらの種
々のデータは動作モードに従ってプリップ−フロップ15
1,152,……158に適切に記憶させる必要がある。上記デ
ータを記録させるためには各プリップ−フロップのクロ
ック入力端子に信号を供給する必要があり、この信号は
いずれも2個の入力端子を有しているORゲート161〜168
によって形成する。これらのORゲートの第1入力端子は
ANDゲート170の出力端子に接続する。ANDゲート170は2
つの入力端子を有しており、これはレジスタ管理回路72
の一部を形成する。ANDゲート170の一方の入力端子は信
号φ2を受信し、他方の入力端子はデコーダ回路180の
出力信号を受信する。BUSIラインに接続されるデコーダ
回路180は、第5図に示したタイプの命令中におけるCOD
ALU位置(第17図参照)にSTAコードを見出す場合に有効
出力信号を発生する。デコーダ回路180の出力信号はマ
ルチプレクサ182の制御端子にも供給する。マルチプレ
クサ182は2個の入力端子を有しており、その一方の入
力端子はBUSXラインに接続して、デコーダ回路180の出
力端子に現れる有効信号がフリップ−フロップ151〜158
のデータ入力端子をBUSXラインに分岐させ、かつこのラ
インによって転送されるデータが上記プリップ−フロッ
プに記憶されるようにする。 マルチプレクサ182の他方の入力端子は論理回路190を
介してユニット10のステータス出力端子STに接続する。
斯かる論理回路190はORゲート161〜168の第2入力端子
への信号B1〜B8も発生する。この論理回路190はBUSIラ
インから到来するデータ、クロック信号φ0−3及び動
作モードデータMODを受信する。論理回路190にはフリッ
プ−フロップ195、196、197及び198も接続する。これら
フリップ−フロップについては後に詳述するが、フリッ
プ−フロップ195は倍精度及び複素演算モードで“z"を
一時記憶し、フリップ−フロップ196、197及び198は複
素演算モードで“ov"、“mov"及び“aov"を各々一時記
憶するためのものである。 論理回路190はつぎのようなことを考慮して容易に設
計することができる。 A)単精度モード: −ユニット10のステータス出力端子STに現われるデータ
“sr"は、NOP,CD3,STAを除くすべてのCODALUコードに対
する信号φ3の縁部によってフリップ−フロップ151(S
R)にロードさせる; −フリップ−フロップ152(SI)に対するローディング
を禁止させる; −ユニット10のST出力端子に現われるデータ“rt"は、N
OP,CD3,STAを除くすべてのCODALUコードに対する信号φ
3の縁部によってフリップ−フロップ153(RTR)にロー
ドさせる; −フリップフロップ154(RTI)に対するローディングは
禁止させる; −ユニット10のST出力端子に現われるデータ“z"は、NO
P,CD3,STAを除くすべてのCODALUコードに対する信号φ
3の立上り縁によってフリップ−フロップ155(z)に
ロードさせる; −データ“ov",“mov",“aov"は、NOP,CD3,STAを除くす
べてのCODALUコードに対する信号φ3の立上り縁によっ
てフリップ−フロップ156(OV)、157(MOV)及び158
(AOV)にそれぞれロードさせる。 B)複素モード: −データ“sr"は、一方では信号φ3の縁部によってフ
リップ−フロップ151にロードさせ、他方ではNOP,CD3,S
TAを除くすべてのCODALUコードに対する信号φ1の縁部
によってフリップ−フロップ152(SI)にロードさせ
る; −データ“rt"は、一方では信号φ3の縁部によってフ
リップ−フロップ153(RTR)にロードさせ、他方ではNO
P,CD3,STAを除くすべてのCODALUコードに対する信号φ
1の縁部によってフリップ−フロップ154(RTI)にロー
ドさせる; −データ“ov",“mov",“aov"は、信号φ3によって最
初はレジスタ196,197及び198にそれぞれロードさせ、つ
いで信号φ1で(OV+ov)をフリップ−フロップ156
に、(AOV+aov)をフリップ−フロップ157に、(MOV+
mov)をフリップ−フロップ158にロードさせる; −データ“z"は信号φ3でフリップ−フロップ195にロ
ードさせ、かつ出力信号Zを信号φ1で信号zと合成し
て、フリップ−フロップ155に信号φ1における値Z・
zをロードさせるようにする。(従ってZの値“1"は実
数及び虚数値の双方が0に等しいことを示す)。 C)倍精度モード: −データ“sr"及び“rt"は、信号φ1の縁部にてフリッ
プ−フロップ151(SR)及び153(RTR)にロードさせ
る; −データ“ov",“mov"及び“aov"は、信号φ1の縁部に
てフリップ−フロップ156(OV)、157(MOV)及び158
(AOV)にロードさせる; −データ“z"に対しては最下位の0により信号φ3で最
初にロードさせたフリップ−フロップ195を再び用い、
ついでこのフリップ−フロップの出力信号とデータzの
最上位値との間の論理AND演算の結果をフリップ−フロ
ップにロードさせる。 第8a及び8b図は単精度モード及び複素モード兼倍精度
モードにおける実行命令の実行の仕方を示すタイミング
線図である。 単精度モードの場合には、時間t0に命令Jnが生じ、こ
の命令はプログラムカウンタの内容によって与えられた
アドレス“n"に割当てられるプログラムメモリ50から到
来する。斯かるアドレスは時間t0の以前における時間t
-1にて既に発生させる。時間t0からは位相φ0−2にわ
たってデータがBUSX及びBUSYラインに転送される。位相
φ0−2に後続する位相φ13の期間中並びにその他のす
べてのφ13位相の期間中にBUSX及びBUSYラインは用いら
れず、これらのラインはプレロード状態に置かれる。命
令JnはOnオペランドを包含し、これらのオペランドは位
相φ02の開始時における時間t1にBUSX及びBUSYラインに
よって転送される。Jn命令によって命令された演算結果
SAnは時間t2にユニット10の出力レジスタSALUに見い出
される。命令Jnによって、マルチプレクサ30の出力端子
に得られるデータをメモリ15及び16に転送させることも
できる。この場合は、位相φ13が開始する時間t3からBU
SZライン上のデータZnが転送される。即ち、このφ13の
位相期間中にはBUSZラインが利用でき、位相φ02の間は
プレロード状態となる。第8図にはメモリ15及び16の書
込みを規定する信号WEも示してある。メモリ15及び16は
命令サイクルで読取り又は書込み状態に置かれる。これ
がため動作をつぎのように要約することができる。即
ち、 プログラムカウンタ52は各命令の開始時にインクリメ
ント(増分)され、これはつぎの命令(n+1)のアド
レスを用意して、命令Jnの実行と平行してプログラムメ
モリをアドレスするためである。命令Jnのソースオペラ
ンドはつぎのサイクルにて利用でき、命令Jnの演算論理
オペランドもサイクル(n+1)にて有効となる。この
ことからして、命令Jn時にBUSZラインによりセーブされ
るデータは先の計算結果である。これがため、プロセッ
サには3つのパイプラインが存在して、下記の3つの動
作が同時に行われる。即ち、 −命令Jn+1に体するプログラムカウンタ52の増分、 −命令Jnのオペランドに対する探索、 −命令J(n−1)によって要求されるユニット10の演
算。 複素兼倍精度モードにおけるプロセッサの演算を第8b
図につき説明する。 BUSX及びBUSYラインは位相φ0及びφ2の期間中にデ
ータを転送し、またBUSZラインは位相φ1及びφ3の期
間中にデータを転送する。なお、命令JInは時間t10に現
れ、この命令は複素又は倍精度モードに実行されるべき
ものとする。斯かる命令は、複素モードにおけるオペラ
ンドの実数部又は倍精度モードにおける最下位部を表わ
すデータORnを時間t11にBUSX及びBUSYラインに出現させ
る。ついで時間t12に開始するつぎの位相φ0の期間中
にBUSX及びBUSYラインは複素モード又は倍精度モードに
応じた虚数部または最上位部を転送する。 メモリ15及び16のアドレスコードが変化するようにす
るのが好適である。最下位の2進素子は、アドレスコー
ドが2つの連続位相φ2及びφ0の期間中に同じとなら
ないようにゲート96(第4図参照)の出力信号によって
変更させる。ユニット10の出力レジスタSALUは、位相φ
3の期間中には期間t13に演算結果を実数部又は最下位
ビットで供給し、位相φ1の期間中には時間t14に演算
結果を虚数部及び最上位ビットで供給する。 BUSZラインは時間t15で開始する位相φ1中、実数部
或いは下位複数ビットを転送し、この転送は命令JInに
よって命令される。虚数部および上位複数ビットは時間
t13で開始する位相φ3中に転送される。種々のメモリ1
5および16は命令サイクル中読出しモード或いは書込み
モードにされる(信号WEはデータをメモリ内に書込むこ
とを認定する)。 複素モードおよび倍精度モードにおける動作は次の相
違を有するだけで単精度モードに極めて類似している。
JIn命令に対し実数部或いは下位複数ビットを探索する
のはJIn−1命令の虚数部或いは上位複数ビットの計算
と同時に行なわれる。 第9図は本発明によるプロセッサの1好適例を示す。
この実施例は“PIPE−LINE"においてユニット10と一緒
に機能する乗算装置250を存在させた点で、前述した例
とは相違する。この装置250にはBUSX及びBUSYラインに
接続された16ビットオベラント用の2つの入力端子252
および253が設けられている。装置250の出力端子254は
マルチプレクサ255の2つの入力端子の一方に接続さ
れ、このマルチプレクサ255の出力端子はユニット10の
オベランド入力端子Aに接続され、このマルチプレクサ
の他方の入力端子はBUSXラインに接続されている。 第10図は、乗算装置250の構成を詳細に示す。この乗
算装置は4つの乗算サブユニット261,262,263および264
より成る乗算ユニット260から成っている。これらのサ
ブユニットはこれらの入力端子EMB1,EMB2,EMB3およびEM
B4に供給される第1の16ビットオベランドとこれらの入
力端子EMA1,EMA2,EMA3およびEMA4に供給される第2の4
ビットオベランドとのそれぞれの乗算演算を行なう。こ
れらのサブユニット261〜264は標準設計のものとする
為、それらの詳細な説明は必要ないと思われるが、必要
ならばM.ベランジャー(Bellanger)氏著“デジタル信
号処理(Dgital signal proces−sing)”、特にその第
343および344頁を参照しうる。 入力端子EMA1は16ビット信号用の2つの入力端子を有
するマルチプレクサ270の出力端子に接続されている。
この入力端子EMA1は信号MUX1により制御されるこのマル
チプレクサ270の16本の出力ワイヤに接続されている。
入力端子EMB1も、16ビット信号用の2つの入力端子を有
し信号MUX2により制御されるマルチプレクサ272の出力
端子に接続されているも、この入力端子EMB1はこのマル
チプレクサ272の4本の出力ワイヤに接続されている。
これら4本の出力ワイヤはマルチプレクサ272の出力端
子に得られる数の下位4ビットを転送する。入力端子EM
B2は上記の数の上位4ビットを、遅延TTを導入する遅延
ユニット275を経て受け、入力端子EMB3は、それらの遅
延TTを導入する2つの遅延ユニット276および277を経て
上記の上位4ビットに続く4つのビットを受け、入力端
子EMB4、それぞれ遅延TTを導入する3つの遅延ユニット
278,279および280を経て残りの4ビットを受ける。入力
端子EMA2,EMA3およびEMA4は、マルチプレクサ270の出力
端子に縦続接続された遅延ユニット281,282および283の
出力端子にそれぞれ接続されている。これらの遅延ユニ
ット281,282および283もそれぞれ遅延TTを導入する。 乗算サブユニットの出力は2部分に分割されており、
乗算サブユニットの各々に対する一方の部分PL1,PL2,PL
3およびPL4はこれらのサブユニットから生じる下位4ビ
ットを伝送し、これらが相俟って乗算の結果得られる下
位16ビットPr15〜Pr0を形成する。しかし、部分PL1に対
し遅延ユニット285,286および287が、部分PL2に対し遅
延ユニット288および289が、部分PL3に対し遅延ユニッ
ト290が存在し、これら遅延ユニットの各々が遅延TTを
導入することに注意する必要がある。サブユニット261,
262,263および264の各々に対する出力の他方の部分PM1,
PM2,PM3およびPM4である。これらの部分は16ビットを転
送する。出力信号PM1,PM2およびPM3はサブユニット262,
263および264にそれぞれ供給される。出力PM4は乗算の
結果の上位ビットPr31〜Pr16を表わす。2入力マルチプ
レクサ320は“F"にセットされた際にビットPr31〜Pr16
を、“f"にセットされた際にビットPr15〜Pr0を選択
し、この選択は制御信号MUX3に依存する。このマルチプ
レクサ320の出力端子は、制御信号MUX4受けて“O"或い
は“A"にセットされるマルチプレクサ322の2つの入力
端子の一方と、信号LRMTを受ける記憶制御端子を有する
レジスタ324と、セット制御信号SPを受けるマルチプレ
クサ325の2つの入力端子の一方とに接続されている。
マルチプレクサ322の他方の入力端子は数“O"を16ビッ
トで受け、“O"にセットされると、この数“O"がその出
力端子に現われ、“A"にセットされると、出力端子に現
われる数はマルチプレクサ320から到来する数である。
マルチプレクサ322およびレジスタ324の出力端子は加算
−減算ユニット326の(−)および(+)入力端子にそ
れぞれ接続されており、この加算−減算ユニット326に
はこれを加算状態或いは減算状態、すなわちレジスタ32
4の出力端子に存在する数からマルチプレクサ322の出力
端子に存在する数を減算する状態にセットする為の“+
/−”信号を受ける制御端子が設けられている。このユ
ニット326の出力端子は一方では、マルチプレクサ325を
経て、記憶制御信号LPRを受けるレジスタ328に接続さ
れ、他方では、記憶制御信号LPIを受けるレジスタ330に
直接接続されている。これらのレジスタの出力端子はマ
ルチプレクサ335の2つの入力端子にそれぞれ接続され
ており、このマルチプレクサ355には、これを“R"にセ
ットしてこのマルチプレクサの出力端子をレジスタ328
に接続するか或いは“I"にセットしてこのマルチプレク
サの出力端子をレジスタ330に接続するための信号MUX5
を受ける制御端子が設けられている。マルチプレクサ33
5の出力端子は乗算装置250の出力端子を構成する。 入力端子252および253におけるオペランドは乗算ユニ
ットによって処理される前にレジスタの列を経て転送す
る。入力端子252は一方ではレジスタ350に接続され、他
方では縦続接続された2つのレジスタ352および354の組
に接続されており、レジスタ350および354はANDゲート3
55およびANDゲート356から到来する記憶制御信号をそれ
ぞれ受ける。レジスタ352の記憶制御信号は信号LaTであ
る。ANDゲート355はその入力端子に信号φ0および信号
CRX′を受け、ANDゲート356はその入力端子に信号φ3
および信号CRXを受ける。 レジスタ350および354の出力端子はマルチプレクサ27
0の2つの入力端子に接続されており、このマルチプレ
クサは信号MUX1により制御されて“a"或いは“b"にセッ
トされる。“a"にセットされると、このマルチプレクサ
の出力端子はレジスタ354に接続され、“b"にセットさ
れると、この出力端子はレジスタ350に接続される。同
様に入力端子253は一方ではレジスタ360に接続され、他
方では縦続接続された2つのレジスタ362および364の組
に接続されており、レジスタ360および364はANDゲート3
65および366から到来する記憶制御信号をそれぞれ受け
る。レジスタ362の記憶制御信号は信号LaTである。AND
ゲート365はその入力端子に信号φ0および信号CRX′を
受け、ANDゲート366は信号φ3および信号CRYを受け
る。レジスタ360および364の出力端子はマルチプレクサ
272の入力端子にそれぞれ接続されている。このマルチ
プレクサ272は信号MUX2により制御されて“a"或いは
“b"にセットされる。“a"にセットされると、このマル
チプレクサの出力端子はレジスタ364に接続され、“b"
にセットされると、この出力端子はレジスタ360に接続
される。種々の信号LaT,CRX,CRX′,CRY,CRY′,MUX1,MUX
2,MUX1′,MUX2′,MUX3,MUX4,MUX5“+/−",LPIおよびL
Pは制御回路380および遅延ユニット381,382,383,384に
よって生ぜしめられる。この制御回路は乗算命令コード
CMUに依存する以下の表IIに示す機能を遂行する。この
乗算命令コードはビットNo.0およびNo.1が“O"に等しい
ことで表わされるOPIN型命令のビット20および21に位置
する。コードCMUは4つの値を取ることができ、その種
々の可能性を表IIに示してある。 従って制御回路380は以下の論理式に依存する種々の
制御信号を生じる。 LaT=φ2 CRX=▲▼・▲▼・I20 CRX=▲▼・▲▼・I21 MUX1′=φ0+φ3+▲▼ MUX2′=φ0+φ2+▲▼ MUX3=(φ0+φ3)・DP MUX4=CX MUX5=φ1+φ2 “+/−”=(φ0+φ3)・CX LPI=φ3・▲▼ LPR=(φ1+▲▼)+(φ0・SP) 遅延ユニット381,382は、位相φ1で作用して信号CRX
およびCRYを遅延させ、これにより信号CRX′およびCR
Y′を形成する伝達フリップ−フロップである。遅延ユ
ニット383および384は信号MUX1およびMUX2をTT/2だけ遅
延させ、これにより信号MUX1およびMUX2を生ぜしめる。
信号MUX1およびMUX2の値“1"は“b"へのセッテイングが
考慮されていることを表わしこれら信号の値“0"は“a"
へのセッテイングが考慮されていることを表わす。信号
MUX3の値が“1"となることは、“F"へのセッテイングが
考慮されており、信号MUX3の値が“0"となることは、
“f"へのセッテイングが考慮されていることを表わす。
信号MUX4の値が“1"となることは、“0"へのセッテイン
グが考慮されており、信号MUX4の値が“0"となること
は、“A"へのセッテイングが考慮されていることを表わ
す。信号MUX5の値が“1"となることは、“R"へのセッテ
イングが考慮されており、信号MUX5の値が“0"となるこ
とは、“I"へのセッテイングが考慮されていることを表
わす。信号“+/−”が1に等しいと、(−)符号が考
慮されており、信号“+/−”が0に等しいと、(+)
符号が考慮されている。 乗算サブユニット261,262,263および264の特徴を特定
するのが好ましい。 サブユニット261,262および263は5ビット×16ビット
演算を2の補数で行なう。5ビットオペランドの正負符
号ビットは強制的に0にする。これらのサブユニットは
これらの出力端子に20ビットを生ぜしめる。 サブユニット264は4ビット×16ビット演算を2の補
数で行ない、出力端子に19ビットを生ぜしめる。オペラ
ンドSおよびPを呼び出す場合、これらの割当てられた
指標がビットの位置を表わし、従って出力をで表わすことができる。ここにP0およびS0は正負符号を
表わす。最初の丸括弧内の和はサブユニット264に関す
るもので、従って4ビットを有する。 サブユニット261および262間、サブユニット262およ
び263間、サブユニット263および264間にはそれぞれバ
ッファレジスタ401,402および403が挿入されており、こ
れらバッファレジスタは回路60により与えられる信号H
により動作し、この信号HはTTに等しい周期を有すると
いうことに注意すべきである。 先ず最初、単精度モードで乗算装置250の作動を説明
する。この為に第12および13図を参照する。 乗算を意味する命令JnがBUSIラインに現われる瞬時tt
0(第12図)を考慮する。次に瞬時tt1でBUSX及びBUSYラ
インにオペランドPおよびRがそれぞれ現われ、ゲート
355および365の出力端子における信号が有効となり、オ
ペランドPおよびRが、信号MUX1およびMUX2により適切
にスイッチングされたマルチプレクサ270及び272の出力
端子に現われる。サブユニット261は直ちに、オペラン
ドPとオペランドRの4ビットR3,R2,R1,R0との第1の
部分乗算を開始し、その結果を時間TT後に生ぜしめる。
瞬時tt2(第13図)を考慮するに、下位ビットPr3,Pr2,P
r1,Pr0はすでに計算されており、出力端子PL1に現われ
ている(第13図におけるボックス261を参照)。しか
し、この結果はユニット300,301および302の遅延の各々
の合計に等しい遅延後に得られるだけである。 サブユニット262は瞬時tt2で第2の部分乗算を開始す
る。オペランドPは依然として入力端子EMA2に現われ、
ビットR7,R6,R5,R4が入力端子EMB2に現われる。ビットP
r7,Pr6,Pr5,Pr4は期間TT後に現わる(第13図のボックス
262を参照)。 瞬時tt3では、オペランドPとオペランドRのビットR
11,R10,R9,R8とが入力端子EMA3およびEMB3にそれぞれ現
われる。その結果(ビットPr10,Pr9,Pr8)が期間TT後に
得られる(第13図のボックス263を参照)。 瞬時tt4では、オペランドPとビットR15,R14,R13,R12
とがサブユニット264の入力端子EMA4およびEMB4にそれ
ぞれ現われる。乗算の完全な結果は乗算サブユニット26
4の出力端子PM4と、適当な個数の遅延ユニットにそれぞ
れ接続された種々の出力端子PL1,PL2,PL3,PL4とに現わ
れる。しかし、単精度モードでは2進エレメントPr30…
…Pr16のみを考慮する。この目的の為に、マルチプレク
サ320に信号MUX3を供給し、この信号によりレジスタ328
が出力端子PM4と連通するようにこのマルチプレクサ320
をセットする。瞬時tt5では、信号LPRが有効となり、乗
算の結果が信号MUX5により“R"にセットされたマルチプ
レクサ335を経て出力端子254に得られるようになる。乗
算が命令Jnによってトリガされる場合でも、その結果は
2度の命令後に、すなわち命令Jn+2に対して得られるだ
けであるということに注意すべきである。このことは本
発明のプロセッサをプログラミングする際に考慮する必
要がある。 次に乗算装置の演算を複素モードで説明する。この場
合、乗算 (p+jQ)×(R+js) を行なう方法を説明するも、その結果は明らかに 〔(P×R)−(Q×S)〕+j〔(Q×R)+(P×
S)〕 となる。このことは、4つの乗算P×R;Q×S;Q×Rおよ
びP×Sを行なう必要があるということを意味する。 この説明の為に第13図および第14図を参照する。 一方のオペランドに関しては、実数部がレジスタ352
および354を伝達し、虚数部がレジスタ350を伝達するよ
にするのが好ましい。他方のオペランドに対しては、実
数部がレジスタ362および364を伝達し、虚数部がレジス
タ360を伝達する。 瞬時tt10(第14図)で複素モードの乗算を意味する命
令JJnが現われる。瞬時tt11ではオペランドPおよびR
がBUSX及びBUSYラインにそれぞれ得られる。これらのオ
ペランドは直ちにレジスタ352及び362内にロードされ、
このことを第14図で(352)および(362)を付したライ
ン上に示してある。期間TTだけ離れた瞬時tt12では、オ
ペランドPおよびRがレジスタ352及び362からレジスタ
354および364にそれぞれ伝達される。マルチプレクサ27
0および272は適切な値の信号MUX1およびMUX2によりすで
に位置“a"にセットされており、乗算P×Rが第13図に
応じて且つ単精度モードと同じ速度で開始され且つ進行
される。瞬時tt13では虚数部のみのオペランドjQおよび
jSがBUSX及びBUSYラインにそれぞれ現われる。これらの
オペランドはレジスタ350および360内にそれぞれロード
され、マルチプレクサ270および272が位置“b"にセット
され、乗算が開始される。乗算Q×Rを行なう為には、
瞬時でマルチプレクサ272を位置“a"にセットし、マルチプ
レクサ270を位置“b"に維持し、乗算P×Sを行なう為
には、マルチプレクサ272を位置“b"にセットし、マル
チプレクサ270は位置“a"に維持する。瞬時tt15では新
たなオペランドP′およびR′を複素モードの乗算の為
に生ぜしめうる。この演算は前の乗算が終了されるのを
待つことなく期間TT後に開始される。瞬時tt25では乗算
P×Rの結果が乗算サブユニットの出力端子Pr31……Pr
16に得られる。こ結果は、マルチプレクサ320がすべて
の複素モード作動中位置“F"にされてレジスタ内にロー
ドされる。瞬時tt26ではQ×Sの結果が現われ、この結
果は瞬時tt25で減算位置にセットされている加算・減算
ユニット326の負入力端子にマルチプレクサ322を経て供
給される。このユニット326から生じる出力データは乗
算の実数部である量RP−QSを表わす。この結果は瞬時tt
27でレジスタ328内にロードされる。この瞬時tt27で
は、ビットPr31……Pr16は量Q×Rを表わし、この量が
レジスタ324内に直にロードされ、ユニット326は加算位
置にセットされる。次に瞬時tt28で値P×Sが計算さ
れ、瞬時tt29で虚数部j〔(Q×R)+(P×S)〕を
レジスタ330ないにロードしうるようになる。マルチプ
レクサ335はその出力端子に、位相φおよびφ2中レジ
スタ328内に含まれている実数部が得られ、位相φ3お
よびφ0中レジスタ330内に含まれている虚数部が得ら
れるようにする。 命令JJnによってトリガされた複素乗算の結果は2つ
の命令後にすなわち命令JJn+2で得られるようになると
いう事実を考慮する必要がある。 最後に倍精度モードでの乗算装置の作動を説明する。
この場合、オペランドは16ビットで組織的に2度現れ
る。第1に下位複数ビット(pおよびr)が伝達され、
第2に上位複数ビット(PおよびR)が伝達される。実
際には後の説明から明らかなように、乗算装置250は下
位複数ビットを無視し、上位複数ビットで作動を行な
う。しかし、結果(32ビット)は出力端子254に16ビッ
トずつ2度で得られる。最下位ビットは重要ではなく、
実際には31ビットのみを考慮する。 瞬時tt30(第15図参照)で、倍精度モードでの乗算作
動を意味する命令JKnが現れる。瞬時tt31ではオペラン
ドの下位複数ビットpおよびrがBUSXおよびBUSYライン
にそれぞれ現われるも、これらは無視する。瞬時tt32で
これらラインに現れる上位複数ビットPおよびRはレジ
スタ350および360内にそれぞれロードされ、期待値の結
果が瞬時tt33に生じる。マルチプレクサ320に供給され
る適切な命令(MUX3)によりレジスタ324は乗算結果の
下位ビットPr15……Pr0の出力端子に接続される。この
レジスタ324内にこれら下位ビットがロードされ、これ
らと同じ下位ビットが瞬時tt34にレジスタ328内にロー
ドされる。これと同時にマルチプレクサ320がその他の
位置、すなわち位置“F"にセットされ、レジスタ324が
上位ビットPr31……Pr16をロードしうるようになる。こ
れら上位ビットは瞬時tt35でレジスタ330内にロードさ
れる。これらの種々のデータを出力端子254に得られる
ようにする為に、マルチプレクサ335が出力端子254をレ
ジスタ328および330に周期的に順番に接続する(瞬時tt
33およびtt34)。 他のモードの場合のように、命令JKnによって開始し
た積は2度の命令後に、すなわち命令JKn+2で得られ
る。
【図面の簡単な説明】 第1図は本発明プロセッサの構成を示すブロック回路
図、 第2図は第1図のプロセッサに用いられる命令フォーマ
ットを示す説明図、 第3aおよび3b図はフェーズ信号の状態を示す説明図、 第4図は第1図のプロセッサの1部であるアドレス回路
の構成を示すブロック回路図、 第5図は第1図のプロセッサに用いられる他の命令フォ
ーマットを示す説明図、 第6図は第1図のプロセッサの制御管理回路の構成を示
すブロック回路図、 第7図は第1図のプロセッサのステータスレジスタ及び
その管理回路の構成を示すブロック回路図、 第8図は第1図のプロセッサの作動を説明するタイミン
グチャート図、 第9図は乗算装置を有する本発明プロセッサの他の例を
示すブロック回路図、 第10図は本発明による乗算装置の構成を示すブロック回
路図、 第11図は実行すべき乗算を表わす命令のフォーマットを
示す説明図、 第12図は単精度モードにおける乗算ユニットの作動を示
すタイミングチャート図、 第13図は乗算装置の1部分である乗算ユニットにおける
計算の態様を示す説明図、 第14図は複素演算モードにおける乗算装置の作動を示す
タイミングチャート図、 第15図は倍精度モードにおける乗算装置の作動を示すタ
イミングチャート図、 第16図ないし第21図は、各々、本発明の実施例において
使用される命令コード及びそれらのニーモニックコード
等につき説明するための図表である。 10……論理演算装置、12……2進シフト装置 15,16……メモリ 17,18……アドレス回路 19,20……出力レジスタ 21……マルチプレクサ 25……FIFOメモリ、27……アキュムレータ 30……出力マルチプレクサ 31,32……入力レジスタ 33,34……出力レジスタ 50……プログラムメモリ 52……プログラムカウンタ 54……命令レジスタ、55,56……デコーダ 60……クロック装置、62……モード回路 70……制御コード兼ボロー管理回路 72……ステータスレジスタ管理回路 74……ステータスレジスタ 90,99,101……レジスタ 92……レジスタロード用回路 94……2−入力マルチプレクサ 96,128,161〜168……ORゲート 100,120,180……デコーダ回路 105,130,170……ANDゲート 110,182……マルチプレクサ 122……“0"フリップ−プロップジスタ 125……デコーダ回路(ボロー管理回路) 151〜158,195,198……フリップ−フロップ 190……論理回路、250……乗算装置 255,270,272,320,322,325,335……マルチプレクサ 260……乗算ユニット 261,262,263,264……乗算サブユニット 275〜283,285〜290,381〜384……遅延ユニット 324,328,330,350,352,354,360,362,364……レジスタ 326……加算減算ユニット 380……制御回路 401,402,403……バッファレジスタ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭58−56040(JP,A) 特開 昭57−59245(JP,A) 特開 昭54−92143(JP,A) 特開 昭57−101944(JP,A) 特開 昭53−33551(JP,A) 特開 昭54−117649(JP,A) 特開 昭56−114022(JP,A)

Claims (1)

  1. (57)【特許請求の範囲】 1.少なくとも1つのデータラインにより転送されるデ
    ータをプログラム−メモリから命令レジスタに入力され
    る命令に従って処理するプロセッサであって、前記命令
    レジスタが命令ラインを介して演算制御部に結合され、
    当該プロセッサが前記命令ラインに結合されたモード回
    路を有し、該モード回路が、 前記プログラム−メモリに記憶され且つ前記令名ライン
    を介して供給される命令中に含まれる単精度又は倍精度
    を含むようなデータ形式を宣言するデータ形式宣言命令
    を検出するよう構成され、 検出されたデータ形式宣言命令に対応するモードを識別
    するモード信号を前記演算制御部に供給して、データが
    当該制御部において先に宣言されたデータ形式に従う種
    々の形式の値として処理されるようにしたプロセッサに
    おいて、 当該プロセッサが、周期的なフェーズ信号を前記演算制
    御部に供給して当該プロセッサに各処理フェーズを周期
    的に実行させるような出力端子を有するクロック装置を
    有し、該クロック装置が前記データ形式宣言命令により
    決定される前記モードに従って前記フェーズ信号の繰り
    返し周波数及び相対位相を変更するように構成されてい
    ることを特徴とするプロセッサ。 2.前記演算制御部が先行する命令の間にレジスタに記
    憶されたキャリー信号を用いて命令を実行するように構
    成され、該キャリー信号がステータスレジスタ中の複数
    個のキャリー信号から前記モード信号及び前記処理フェ
    ーズに従って選択されることを特徴とする特許請求の範
    囲第1項に記載のプロセッサ。 3.前記データ形式の中の一つが複素数形式であり、前
    記の複数個のキャリー信号が異なる処理フェーズにおい
    て選択された実数キャリーと虚数キャリーとを含んでい
    ることを特徴とする特許請求の範囲第2項に記載のプロ
    セッサ。 4.前記演算制御部が論理演算装置を含み、該論理演算
    装置に対し前記命令レジスタ中の命令の制御の下で前記
    フェーズ信号に応じて相互に異なるような制御ワードを
    供給するようになっていることを特徴とする特許請求の
    範囲第1項に記載のプロセッサ。 5.前記制御ワードが、前記命令の制御の下で、前記命
    令ラインからの情報と前記データラインからの情報とか
    ら選択的に決定されることを特徴とする特許請求の範囲
    第4項に記載のプロセッサ。
JP60179224A 1984-08-14 1985-08-14 プロセッサ Expired - Lifetime JP2664666B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR8412799A FR2569285B1 (fr) 1984-08-14 1984-08-14 Processeur pour effectuer suivant differents modes le traitement de donnees et dispositif de multiplication convenant pour un tel processeur
FR8412801A FR2569286B1 (fr) 1984-08-14 1984-08-14 Processus de signal destine plus particulierement a effectuer des operations de filtrage adaptatif
FR8412801 1984-08-14
FR8412799 1984-08-14

Publications (2)

Publication Number Publication Date
JPS6184736A JPS6184736A (ja) 1986-04-30
JP2664666B2 true JP2664666B2 (ja) 1997-10-15

Family

ID=26224110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60179224A Expired - Lifetime JP2664666B2 (ja) 1984-08-14 1985-08-14 プロセッサ

Country Status (5)

Country Link
US (1) US4755965A (ja)
EP (1) EP0173383B1 (ja)
JP (1) JP2664666B2 (ja)
AU (1) AU4614085A (ja)
DE (1) DE3577242D1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2617300B1 (fr) * 1987-06-26 1989-12-01 Thomson Semiconducteurs Multiplieur-accumulateur
FR2633128B1 (fr) * 1988-06-17 1990-10-05 Trt Telecom Radio Electr Procede de demodulation d'un signal en bande laterale uniq ue et demodulateur par lequel est mis en oeuvre le procede
FR2633127A1 (fr) * 1988-06-17 1989-12-22 Trt Telecom Radio Electr Procede de modulation d'un signal en bande laterale unique et modulateur par lequel est mis en oeuvre le procede
CA1311063C (en) * 1988-12-16 1992-12-01 Tokumichi Murakami Digital signal processor
US5086407A (en) * 1989-06-05 1992-02-04 Mcgarity Ralph C Data processor integrated circuit with selectable multiplexed/non-multiplexed address and data modes of operation
JP2559868B2 (ja) * 1990-01-06 1996-12-04 富士通株式会社 情報処理装置
EP0499979A3 (en) * 1991-02-16 1993-06-09 Semiconductor Energy Laboratory Co., Ltd. Electro-optical device
ATE180907T1 (de) * 1991-10-29 1999-06-15 Advanced Micro Devices Inc Arithmetik-logik-einheit
KR930014281A (ko) * 1991-12-07 1993-07-22 김광호 범용 디지탈 신호 처리 시스템
US5424969A (en) * 1992-02-05 1995-06-13 Fujitsu Limited Product-sum operation unit
DE4218769A1 (de) * 1992-06-06 1993-12-09 Philips Patentverwaltung Verfahren und Anordnung zum Bilden der Summe einer Kette von Produkten
US5371832A (en) * 1992-06-12 1994-12-06 Siemens Aktiengesellschaft Fuzzy logic controller having high processing speed
NL9400607A (nl) * 1994-04-15 1995-11-01 Arcobel Graphics Bv Dataverwerkingscircuit, vermenigvuldigingseenheid met pijplijn, ALU en schuifregistereenheid ten gebruike bij een dataverwerkingscircuit.
FR2718866B1 (fr) * 1994-04-19 1996-05-15 Sgs Thomson Microelectronics Dispositif de calcul arithmétique et logique et procédé de commande.
US5692207A (en) * 1994-12-14 1997-11-25 International Business Machines Corporation Digital signal processing system with dual memory structures for performing simplex operations in parallel
US5732207A (en) * 1995-02-28 1998-03-24 Intel Corporation Microprocessor having single poly-silicon EPROM memory for programmably controlling optional features
US6643765B1 (en) 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US5983257A (en) * 1995-12-26 1999-11-09 Intel Corporation System for signal processing using multiply-add operations
US5787025A (en) * 1996-02-28 1998-07-28 Atmel Corporation Method and system for performing arithmetic operations with single or double precision
US5778247A (en) * 1996-03-06 1998-07-07 Sun Microsystems, Inc. Multi-pipeline microprocessor with data precision mode indicator
US5752271A (en) * 1996-04-29 1998-05-12 Sun Microsystems, Inc. Method and apparatus for using double precision addressable registers for single precision data
US6205459B1 (en) 1996-12-18 2001-03-20 Yamaha Corporation Digital signal processor and digital signal processing system incorporating same
US6170001B1 (en) * 1998-05-27 2001-01-02 Arm Limited System for transfering format data from format register to memory wherein format data indicating the distribution of single or double precision data type in the register bank

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5849881B2 (ja) * 1975-12-05 1983-11-07 株式会社日立製作所 デ−タシヨリソウチ
US4293907A (en) * 1978-12-29 1981-10-06 Bell Telephone Laboratories, Incorporated Data processing apparatus having op-code extension register
US4298936A (en) * 1979-11-15 1981-11-03 Analogic Corporation Array Processor
JPS5759245A (en) * 1980-09-26 1982-04-09 Fujitsu Ltd Double-length multiplier
JPS5776634A (en) * 1980-10-31 1982-05-13 Hitachi Ltd Digital signal processor
US4484301A (en) * 1981-03-10 1984-11-20 Sperry Corporation Array multiplier operating in one's complement format
JPS5856040A (ja) * 1981-09-29 1983-04-02 Nec Corp デ−タ処理装置
US4608634A (en) * 1982-02-22 1986-08-26 Texas Instruments Incorporated Microcomputer with offset in store-accumulator operations
US4589067A (en) * 1983-05-27 1986-05-13 Analogic Corporation Full floating point vector processor with dynamically configurable multifunction pipelined ALU

Also Published As

Publication number Publication date
DE3577242D1 (de) 1990-05-23
US4755965A (en) 1988-07-05
JPS6184736A (ja) 1986-04-30
EP0173383B1 (fr) 1990-04-18
EP0173383A1 (fr) 1986-03-05
AU4614085A (en) 1986-02-20

Similar Documents

Publication Publication Date Title
JP2664666B2 (ja) プロセッサ
KR920006283B1 (ko) 디지탈신호 처리방식
US5473554A (en) CMOS multiplexor
US5226171A (en) Parallel vector processing system for individual and broadcast distribution of operands and control information
JP3983857B2 (ja) ベクトルレジスタの複数バンクを用いた単一命令複数データ処理
US4754421A (en) Multiple precision multiplication device
US4228498A (en) Multibus processor for increasing execution speed using a pipeline effect
JPH0731603B2 (ja) Forth特定言語マイクロプロセサ
JPS6351287B2 (ja)
JPH1195981A (ja) 乗算回路
US5948053A (en) Digital signal processor architecture using signal paths to carry out arithmetic operations
US4247893A (en) Memory interface device with processing capability
US4939684A (en) Simplified processor for digital filter applications
US4065666A (en) Multiply-divide unit
JP3458518B2 (ja) 並列プロセッサ
EP0428625A1 (en) Apparatus and method for flexible control of digital signal processing devices
US3001708A (en) Central control circuit for computers
US5025257A (en) Increased performance of digital integrated circuits by processing with multiple-bit-width digits
US5034909A (en) Digit-serial recursive filters
US5650952A (en) Circuit arrangement for forming the sum of products
JPH01169669A (ja) 高速数値演算装置
JP2654451B2 (ja) データ出力方法
JP3278441B2 (ja) ベクトル処理装置
US6792442B1 (en) Signal processor and product-sum operating device for use therein with rounding function
JPS58158745A (ja) パイプライン制御形情報処理装置