JPS59161730A - パイプライン演算器 - Google Patents

パイプライン演算器

Info

Publication number
JPS59161730A
JPS59161730A JP58035971A JP3597183A JPS59161730A JP S59161730 A JPS59161730 A JP S59161730A JP 58035971 A JP58035971 A JP 58035971A JP 3597183 A JP3597183 A JP 3597183A JP S59161730 A JPS59161730 A JP S59161730A
Authority
JP
Japan
Prior art keywords
data
register
input
precision
output
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
JP58035971A
Other languages
English (en)
Other versions
JPH0534696B2 (ja
Inventor
Shigeo Abe
阿部 重夫
Tadaaki Bando
忠秋 坂東
Masao Takato
高藤 政雄
Hidekazu Matsumoto
松本 秀和
Hideyuki Hara
秀幸 原
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP58035971A priority Critical patent/JPS59161730A/ja
Publication of JPS59161730A publication Critical patent/JPS59161730A/ja
Publication of JPH0534696B2 publication Critical patent/JPH0534696B2/ja
Granted legal-status Critical Current

Links

Classifications

    • 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

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はパイプライン演算器に関し、特に単精度パイプ
ライン演算器で倍精度演算を実行するパイプライン演算
器に関するものである。
〔発明の背景〕
パイプライン方式のベクトルプロ毛ツサにおいては、パ
イプライン制御が複雑となるため演算器の入カビソト長
の2倍精度(倍精度)の演算は、通常ハードワエアでは
サポートしていない。しかしながら、計算精度を保つ上
からは、部分的に倍精度演算を実行することが必要とな
る。例えば関数演算等においては、パラメータの値が大
きくなったときの精度を保証するためには、春海他「ミ
ニコンによる数値計算のおとしあなJ、bltVoL 
8. A6 (1976)に示されるように倍精度乗算
が必要とされている。ノ・−ドウエアで倍精度演算がサ
ポートされていない場合、倍精度演算をソフトウェアで
実現すると、その演算が極めて遅くなり、パイプライン
演算による高速化が実現できないという欠点があった。
〔発明の目的〕
本発明の目的は、単精度のパイプライン演算器で倍精度
演算を高速に実行することが可能なパイプライン演算器
を提供するにある。
〔発明の概要〕
第1図を用いて本発明の詳細な説明する。図は、n段の
パイプラインステージよジなるパイプライン演算器を模
式的に表わしたもので 300−1゜301−1は、パ
イプライン演算器の第1段の演算回路及び対応するコン
トローラ、302−1゜303−1は各々、第1段コア
トローラに対する入力信号線及び第1段の演算回路を制
御する信号線、同様に、300−2,301−2,30
2−2.303−2は、各々第2段の演算回路、コント
ローラ、入力信号線出力制御信号線、また300−n、
301−n、302−n、’303−nは、第n段目の
演算回路、コントローラ、入力信号線及び出力制御信号
線である。
第1段目のコントローラ301−1は、新たに命令を実
行するときは、その命令の実行に必要な演算種類等の情
報を入力信号302−1よりもらい(以下これをコマン
ド命令と言う)、また命令を継続して実行する場合は、
継続して実行するだめの情報をもらう。(以下これをブ
ツシュ命令と旨う。)これらの命令と、コントローラの
内部状態により、演算回路300−1及び第2段目のコ
ントローラ301−2に対する制御信号を生成して各々
、303−1..302−2により上記ユニットに伝え
る。演算回路300−1では、制御信号303−1に従
って演算が実行される。第1段コントローラ301−1
から第2段コントローラ301−2に伝えられる制6I
lI信号でも新たな命令を開始するか、命令を継続して
実行するかが指定されこの情報と内部状態に従って、制
御信号が生成され、演算回路300−2及び次段のコン
トローラが制御され、以下同様の制御が行なわれる。
このように構成することにより、パイプライン演算器に
対して外部からは、命令を実行する際に、コマンド命令
により必要な情報を与え、あとはその命令を実行するに
必要なマシンサイクル数だけブツシュ命令を発行するこ
とにより命令が実行され、倍精度パイプライン演算の制
御が高速に実行できる。
以F具体的実施例に従って本発明の詳細な説明する。第
2図に本発明が適用されるプロセッサの全体構成図を示
す。
゛ ホスト(HO8T)コンピュータ1はインクフェイ
ス部2を介し演算ユニット3、レジスタファイル4、メ
モリ部5およびアドレス演算部6、更にはマイクロプロ
グラムコントローラ7に接続されており、マイクロプロ
グラム内容が可変とされたマイクロプログラムコントo
−ラフuホストコンピュータ1による制御下にそのマイ
クロプログラムを実行することによって演算ユニット3
やアドレス演算部6などに制御タイミング信号やアドレ
ス信号などを出力するものとなっている。このようにし
てなるプロセッサの構成は特に新規なものではないが、
本発明はその構成における演算ユニットの一部を構成す
るパイプライン演算器に関するものである。
第3図はその演算ユニットの構成を示したものであり、
図示の如く32ビツト乗算器10と64ピツト加算器1
1とから主に構成されるようになっている。ここでは3
2ビツトの演算を単精度の演算、64ビツトの演算を倍
精度の演算と呼んでいる。乗算器10は4段のパイプラ
インステージ10−1〜10−4よりなるパイプライン
乗n器として構成され、また、加算器11ば3段のパイ
プラインステージ11−1〜11−3よりなるパイプラ
イン加算器として構成され例えば米国特許第4,075
,704号で例示されているようなパイプライン加算器
とされる。乗算器10については後に詳述するところで
あるが、乗算器10への乗算データの入力は32ビツト
乗算器右入力信号バス14および32ビツト乗算器左入
力信号バス15より行なわれる。また、その出力である
乗算結果のうち上位32ビツトは16ピットデータバス
16の他、信号線21.18によってそれぞれ32ビッ
ト加算器右入力信号バス12、レジスタファイルに送出
される一方、その下位32ビツトは信号線22によって
加算器11に右入力下32−      ビットとして
入力されるようになっている。一方、加算器11への加
算データの入力は単精度データの場合は勿論のこと、倍
精度データが2度に分けて入力される場合も原則として
加算器右入力信号バス12および32ビット加算器左入
力信号バス13を介して行なわれる。但し、倍精度デー
タの場合に乗算器10よシ右入力下32ビットが、加算
器11よシ左入力下32ビットが与えられる場合には右
入力上32ビツト、左入力上32ビツトのみが加算器右
入力信号バス12および加算器在入力信号バス13より
入力されるようになっている。また、その出力である加
算結果のうち上位32ビツトはデータバス16の他、信
号線17゜20によってそれぞれレジスタファイル、加
算器在入力信号バス13に送出される一方、その下位3
2ビツトは信号線19によって左入力として直接加算器
11に入力されるようになっている。
本図において()内数字は、各信号線の本数を示してお
り、以下間4Mである。
−また、303=1m〜303−4mおよび303−1
a〜303−4aはそれぞれ各パイプラインステージを
制御する制御信号で詳細は後述する。
次に第4図によりレジスタファイル4について説明する
。レジスタファイル4は主にFIFO(First−I
n、pirst−Qut)レジスタ31と2ポートレジ
スタ33とから構成されるようになっている。FIFO
レジスク31へのデータの書込は信号線17.18から
の加算器出力、乗算器出力の何れかをセレクタ30で選
択したうえ1ビット書込信号WE−k”1”の状態にお
くことによって、また、FIFOレジスタ31からのデ
ータの加算器右入力信号バス12、加算器在入力信号バ
ス13への読出は1ビット読出信号R,EをIT 11
jの状態におくことによって行なわれるようになってい
るものである。また、2ポートレジスタ33へのデータ
の書込は信号線17.18からの加算器出力、乗算器出
力の何れか、またはデータバス16上のデータがセレク
タ32で選択されたうえ5ビット書込アドレス信号WA
によって指定されたアドレ・スに書込されるようになっ
ている。2ポートレジスタ33からのデータの読出しは
また5ビット読出しアドレス信号RAI 、RA2によ
っている。
読出しアドレス信号几A1によって読出されたデータは
加算器在入力信号バス13および乗算器圧入力信号バス
15に、また、読出しアドレス信号11、 A 2によ
って読出されたデータは加算器右入力信号バス12およ
び乗算器右入力信号バス14に読み出されるようになっ
ているものである。
次にメモリ部5およびアドレス演算部6について第5図
により説明する。メモリ部5は2つの同一構成のメモリ
(1)41およびメモ1バII)45よりなりその周辺
回路構成も全く同様となっている。即ち、メモ1J41
,45へのデータの書込はデータバス16上のデータを
メモリデータライトレジスタ42.46にセットした状
態でメモリアドレスレジスタ43.47上り書込アドレ
ス信号を与えることによって行なわれるようになってい
る。メモリアドレスレジスタ43 、47 idl&述
するアドレス演算部6からのアドレス信号を保持し必要
な場合には保持されているアドレス信号をインクリメン
トしたりデクリメントするようになっている。
また、メモリ41.45からのデータの読出はメモIJ
 7ドレスレジスタ43,4.7より読出アドレス信号
を与えることによって行なわれる。・そのアドレス信号
によって指定されたアドレスより読み出されたデータは
メモリデータリードレジスタ40.44を介しアドレス
演算部6に出力される他、既述の信号バス12〜15や
信号線48゜49を介してデータバス16上に出力可と
されるようにしてなる。次にアドレス演算部6について
説明すれば、アドレス演算部6は2ボートレジスタ51
およびALU(数値論理演痺部)53を含むものとなっ
ている。このうち2ボートレジスタ51は4ビットアド
レス信号WK1.WK2に対応して2つの読出ポートを
有するものと々っておリ、壕だ、2ポートレジスタ51
へのデータの書込は/’、 L ’U 53出力、テー
クバス上のデータの何れかをセレクタ50によって選択
したうえアドレス信号WKIによって1マシンサイクル
の後半に行なわれるものとなっている。2ポートレジス
タ51の倒れか一方の読出ボートからの読出データは直
hlA、LU51に右入力として入力されるが、左入力
はメモリデータリードレジスタ40.44からのメモリ
読出データの何れか、または2ポートレジスタ51の他
方の読出ポートからの読出データをセレクタ52によっ
て選択したものとされる。ALU51はそれら左入力、
右入力のデータにもとづき所定の演算を行なうが、その
演算結果はメモリアドレスレジスタ43.47や2ポー
トレジスタ511にセント可となっているものである。
なお、演算ユニットやアドレス演算部などでの動作はマ
イクロプログラムコントローラに格納されているマイク
ロプロゲラl、01語によって規定されるようになって
いる。また、演算ユニットやレジスタファイルなどから
の信号バスへのデータ出力も何れか1つのみしか2選択
されないようになっている。
第6図に第3図のパイプライン乗算器の構成を□示して
いる。これによると全体は符号演算部分、指数演算部分
および仮数演算部分よりなるものとなっている。先ず″
第6図を具体的に説明する前に単精度データ、倍精度デ
ータのデータフォーマットを第7図(a)、 (b)に
より説明しておく。第7図(a)。
(b)はそれぞれ単精度データ、倍精度データのフォー
マットを示すが、これによると単精度データは全体とし
て32ビツトよシな9、符号S1指数E8.仮数Fsは
それぞれ1ビツト、8ビツト、23ビツトが割当され、
しかして単彷度データは式(1)に示すデータを表わす
ものとなっている。
単精度データ= (−1)  ・2   ・1.F8・
・・(1)但し、Bsは指数E8のバイアス分を、寸だ
、Sは11117かパ0”の値をとり ” 1 ”であ
る場合にはその単精度テークは負のテークであることを
、パ0”の場合には正のデータであることを示すように
なっている。
また、倍精度データは全体が64ビツトよりなり一符号
81指数ED、仮数Foにはそれぞれ1ビツト、11ビ
ツト、52ビツトが割当られ単精度データの場合と同様
にその倍精度データは式(2)に示すデータを表わすも
のとなっている。
go”。
倍精度データ=(−1)l!・2   ・1.FD  
・・・(2)但し、BDは指数EDのバイアス分を示し
ている。
ここでデータの乗算の態様を考えれば、3つの場合が考
えられる。その1つは2つの単精度データを乗算しその
結果を単精度データとして得る場合である。その2は単
精度データの乗算結果を倍精度データとして得る場合で
あり、その3は2つの倍精度データを乗算しその結果を
倍精度データとした場合である。何れの乗算態様におい
ても乗算結果が負のデータとなるか正のデータとなるか
は符号Sが同一ビット状態か否かによって直ちに知れる
ものとなっている。即ち、符号Sが同一ビット状態であ
れば乗算結果は正のデータを、同一ビット状態でなけれ
ば乗算結果は負のデータを示すととになるものである。
問題は乗算結果における指数と仮数である。ここで2つ
の単精度データの指数をEst、 El!2  とし、
しかも乗算結果を単精度データとして得る場合を想定す
ると、乗算結果における指数は以下のように求められ、
まだ変形されることになる。
(Est  Bs)+(’Es2Bs)=Es+ + 
Es2 2BS ””(Es++E11z  Bs)  Bs     
−−(3)即ち、E[lI  とEs2 を加えたもの
からBsを差し引く必要があるものである。同様にして
倍精度データを乗算しその結果を倍精度テークとして得
る場合にも2つの指数を加えたものからBDを差し引く
必要がある。問題は単精度データを乗算しその結果を倍
精度データで得る場合である。この場合には式(3)は
式(4)のよりに変形され得るから、Elll  とE
s2 を加えたものから(28s  Bo)を差し引け
ばよいことになる。
(EsIBs) + (El12  Bs )=(Ea
t+Es22Bs+Bo)  Bn   −−(4)し
だがって、何れの場合でも乗算結果における祠号は直ち
に、また、指数も上記のようにして求め得るが、問題は
そのようにして求められた指数は必ずしも正しくはなく
、仮数の演算結果如何によっては補正される必要がある
というjことである。
例えば2つの単精度データの仮数をそれぞれ1゜F s
 1.1.FS2とした場合その乗算結果(C(1゜p
Bl ) X (1,FS2 ) ) )は2進表示で
” 10.0 ”未満 It 111以上となり、乗算
結果が11、・・・・・・″となつだり10、・・・・
・・″となる場合には、乗算結果における仮数を1、・
・・・・・・・・”といった形にすると同時に、別途求
めておいた指数には°”1″を加える必要があるという
わけである。なお、バイアス分Bs、Boは本発明に直
接間するものではないが、指数のビット数が固定となっ
ている場合には、表現し得るデータの範囲がバイアス分
BS、BDKよって拡張されるものとなっている。
さて、パイプライン乗算器の一例での構成を第6図によ
り説明すれば、その構成は概ね上記説明に沿ったものと
なっている。乗算されるべき2つの単精度データあるい
は倍精度データは乗算器右入力信号バス14および乗算
器属人力信号バス15より32ビット単位にフローティ
ング乗算器10に入力されたうえ乗算されるが、先ず符
号演算よp説明すれば以下のようである。
即ち、乗算されるべき2つの単精度データあるいは倍精
度データの符号Sは第7図(a)、(b)からも判るよ
うに0番目ビット位置のビット状態として示されている
から、そのビット状態を排他的論理オUゲート111に
よって比較することにより容易に知られることは明らか
である。この比較結果はレジスタ112,113を介し
レジスタ114に格納されるようになっている。レジス
タ114に格納された符号の演算結果がこの後どのよう
に処理されるかは後述するところである。
次に指数演算部分について説明すれば、第7図(a)、
 (b)K示すデータフォーマットの1番目ビット位置
よシ11番目ビット位置までのビット状態が指数部入力
制御回路101,102に取り込凍れ所定に配列制御さ
れたうえで11ビツト容量のレジスタ103,104に
セットされるようになっている。この場合指数部入力制
御回路101゜102は同一構成とされその具体的構成
は第8図に示すところであるが、これによると入力され
るデータが単精度データであるか倍精度であるかによっ
て配列制御は異なるものとなっている。即ち、単精度デ
ータが入力される場合にはその旨を示す信号MALによ
って出力ゲートが所定に制御され、レジスタ103.’
104の1番目ビット位置から3番目ビット位置には”
 o ”のビット状態が、またその4番目ビット位置よ
り11番目ビット位置までには1番目ビット位置から8
番目ビット位置までのビット状態が右方向に3ビット分
シフトされた形で入力された9えセットされるよう(・
ζなっているものである。また、倍精度データが入力さ
れる場合には結果的に1番目ビット位置から11番目ビ
ット位置までのビット状態はそのままレジスタ103,
104の対応するビット位置にセットされる。これによ
り単精度データであるか倍精度データであるかとは無関
係に指数のみが抽出され、しかもそのMSBは揃えられ
るものである。
このようにしてレジスタ103,104にセットされた
指数は次に加算器105によって加算されるが、この加
算値からは指数に対するバイアス分が加算器107によ
って差し引かれるように−なっている。ここでいうバイ
アス分とは既述のBS 。
Bnまたけ2BS   BDでありセレクタ106はそ
のうちの何れかを乗算態様に応じて選択しているわけで
ある。このようにしてバイアス分が差し引かれた加算値
はレジスタ108を介しレジスタ109にセットされる
が、これ以後については前の場合と同様後述するところ
である。
さて、最後に仮数演算部分について説明すれば、この部
分においては第7図(a)、 (b)に示す仮数F B
FDが1.Fs 、1.FnO形に戻されたうえ2つの
単精度データあるいは倍精度データの仮数の乗算が行な
われるようになっている。先ず乗算器右入力信号バス1
4および乗算器在入力信号バス15からの32ビット単
位の単精度データあるいは倍精度データは仮数部入力制
御回路115゜116においてその仮数のみ小抽出され
る。第9図はその仮数部入力制御回路115,116の
構成を示したものである。これによると信号MSL。
MIB、I、 、 MJ)ULはそれぞれ単精度デョタ
が入力される場合、倍精度データ上32ビツトが入力さ
れる場合、倍精度データ上32ビツトが入力される場合
のみ1′″の状態におかれ出力ゲートがそれぞれの場合
に応じ所定に制御されるようになっている。先ず単精度
データが入力される場合にはそのO番目ビット位置から
7番目ビット位置1でのビット状態は全て0″としで、
また8番目ビット位置のビット状態はIt I IIと
して、更に9番目ビット位置から31番目ピット位置ま
でのビット状態はそのitとしてレジスタ117.11
8にセットされる。この場合8番目ビット位置のピッ1
へ状態を” 1 ”とおくのはFsだけでは仮数として
の用をなさないが、1.Fsとすることによって初めで
仮数としての意味をもつようになるからである。また、
倍精度データ上32ビツトが入力される場合も同様にし
てO番目ビット位置から10番目ピット位置までのビッ
ト状態は110 IIとして、11番目ピット位置のビ
ット状態はII I IIとして、12番目デッド位置
から31番目ピット位置廿でのビット状態はそのま寸と
してレジスタ117.118にセットされるが、倍精度
データ下32ピッ、トが入力される場合にはそのま寸し
・シフタ11.7,118にセットされるようになって
いる。このようにしてレジスタ117.11’8にセッ
トされた32ビツトデータは乗算器119によって□乗
算されるところとなるが、第10図はその回路構成を示
したものである1、これによると乗gil19は16ビ
ツト入力32ビツト出力の乗算回路201〜204よシ
なり、それぞれ入力データ上位16ピツト乗算、左入力
データ下位16ビツトと右入力データ上位16ビツトと
の乗算、左入力データ上位16ビツトと右入力データ下
位16ビツトとの乗算、入力データ下位16ビツト乗算
を行ない、これら4つの結果は各々レジスタ120にセ
ットされるようになっている。レジスタ120にセット
された結果は次に加算器122でセレクタ121出力と
加算されるようになっている。加算器122は5人力の
もので、上記4つの乗算結果についての加算は第11図
に示す組合せで64ピツト1牌で行なわれるが、セレク
タ121出力をも考慮した場合でのそれは76ビツト幅
となっている。加算器122からの加算結果はレジスタ
124にセットされるが、乗算されるべきデータが単精
度データである場合にはその加算結果が最終的な乗算結
果として得られることになる。
しかしながら、乗算されるべきデータが倍精度データで
ある場合は32ビツトデータの乗算組合せは4通シある
から、単精度データの乗算に比し3マシンサイクル分だ
け多くの時間を要することになる。倍精度データの乗算
の場合には下32ビツト乗算、下32ビットと上32ビ
ットとの乗算、上32ピットと下32ピットとの乗算、
上32ビツト乗算が順次行なわれつつ各乗算結果は加算
器122で加算されるが、最終的な乗算結果を得るだめ
には各加算結果を所定に加算することが必要となる。レ
ジスタ124の出力を入力とするシフタ123ばそのた
めに設けられたものである。単精度データの乗算の場合
セレクタ121の出力は勿論IT 077とされるが、
倍精度データの乗算の場合にはシフタ123出力がセレ
クタ121を介し1加算入力として加算器122に入力
可とされるようになっているものである。シフタ123
はレジ′スタ124の出力をそのまま出力するか、右方
向に32ビツトシフトさせて出力するようになっている
。即ち、先ず下32ビツト乗算が行なわれる場合にはセ
レクタ121出力は°゛0″とされた状態で加算器12
2で加算が行なわれる。次に下32ビットと上32ピッ
トとの乗算が行なわれる場合にはレジスタ124出力は
32ビツト右方向にシフトされた状態でレジスタ120
の出力と加算されるようになっている。32ビツト右方
向にシフトさせるのは桁合せのためである。この後止3
2ビットと下32ピットとの乗算が行なわれるが、この
場合にはセレクタ121の出力はレジスタ124出力そ
のものとされる。これは、既に前の乗算で桁合せが済ま
されているからである。最後に上32ピット乗算が行な
われるが、この場合には再び桁合せを行なうべくレジス
タ124出力は右方向に32ビツトシフトされた状態で
レジスタ10出力と加算される。この加算での加算結果
が倍精度データ乗算における仮数の最終的な乗算結果と
して得られるものである。
さて、以」二のようにして仮数の乗算結果が求められる
が、第12図(a)〜(d)はレジスタエ24にセット
される仮数の最終的な乗算結果のデータフォーマットを
示しだものである。このつち、第12図(a) 、 (
b)は単精度データ乗算に係るものを、まだ、第12図
(C)、 (d)は倍精度データ乗算に係るものを示し
ている。図示の如く単精度データ乗算に係るものは16
番目ビット位置か17番目ビット位置に初めてu I 
I+が現われるものであることが判る。
因みに18番目ビット位置以降のデータが小数点以下の
データとなるから、第12図(a)のように16番目ビ
ット位置に°゛1″が現われる場合にはその乗算結果を
1ビツト右方向にシフトさせると同時に、指数の演算結
果に1を加える操作が必要となる。これと同様にして倍
精度データ乗算に係るものにおいては24布目ビット位
置以μ5ヤが小数点以下のデータと方るから、第12図
(C)のような場合には上記と同様な操作が必要と万る
。第6図に2けるセレクタ125,127および加算器
110はその操作のために設けられたものである。
セレクタ125は単精度データ乗算の際は16番目ビッ
ト位置のビット状態が、−また、倍精度データ乗算デー
タ乗算の隙には22届目ビツト荷置のビット状態が” 
i ”である場合に低敷の乗算結果金1ビット右方向に
ソフトさせるべく機能するものである。また、セレクタ
127は単精度データ乗算の際は16番目ビット位置の
ピントを、倍精度データ乗算の際には22番目ビット位
置のビットを選択出力するだめのものであり、燻択出力
されたビットは加算器110でレジスタ109からの指
数演算結果とカロ算されるようになっている。
これにより指数の補正が行なわれるものである。
したがって、レジスタ114からの符号演算結果、加算
器110からの指数演算結果およびセレクタ125から
の仮数演算結果をそのときの乗算態様に応じて所定に配
列し直しだ状態で出力するようにすれば、乗算態様に応
じた乗算結果が所定のフォーマットで得られることにな
るものである。
出力制御回路126の構成を第13図に示す。
図においてM2O,MDO,MDUO,MDLOがTl
 IItのときは、各々単精度乗算、倍精度乗算で一度
に、倍精度乗算で2度に分けて出力するときの上位32
ビツト及び下位32ビツトを出力することを示す。M8
0=1のときは、出力信号線の0ビツト目に符号出力信
号線128のデータを、1〜8ビツト目に指数部信号線
12904〜11ビツト目のデータを1〜8ビツト目に
、仮数部信号線130018〜40ビツトのデータを、
9〜31ビツト目に出力する。倍精度で一度に出力する
場合は、MDO−1として、出力信号線のOビット目に
符号出力信号線128のデータを、1〜11ビツト目に
指数部信号線129の1〜11ビツト目のデータを、1
2〜63ビツト目に仮数部信号線130の24〜75ビ
ツト目のデータを出力する。倍精度で上位32ビツトの
出力時にはMDUO=1として、出力信号線のO〜31
ビット目までは、MDO=1と同じデータが出力される
倍精度で下位32ビツトの出力時には、MDLL−jl
として、出力信号線の0〜31ビツト目に、仮数部信号
線130044〜75ビツト目のデータが出力される。
第14図に第3図のパイプライン加q4器の構成を示す
。図において、201,202は指数部入力制御回路、
203は、201,202の出力の差をとる加算器、2
04は、203の結果をラッチするレジスタ、205は
、加算器203の結果に従って201,202の出力の
一方を選択するセレクタ、206は、選択結果をラッチ
するレジスタ、207.20″8は仮数部入力制御回路
、209.210は、207,208の出力をラッチす
るレジスタ、211は、レジスタ209゜210の一方
を選択するセレクタ、212は、レジスタ204の値に
従ってセレクタ211の出力をシフトするシック、21
3,214は各々レジスタ210とシフタ212の出力
及びレジスタ209とシフタ212の出力を選択するセ
レクタ、215は加算器、216は、先頭から連続した
Oの数を計数するカウンタ、217ば、216の結果を
ラッチするレジス、り、218は、、 加H621sの
演算結果をラッチするレジスタ、219は、レジスタ2
06の値をラッチするレジスタ1.220は、レジスタ
219のイ品′から、レジスタ217の値を引く加算器
、221ば、レジスタ218の値を符号十絶対値の値に
変換する回路、222は、レジスタ2]7の領分だけシ
フトするシフタ、223は、出力制御回路、315aは
、第1段のレジスタのラッチ許可信号である。
指数部入力制御回路201,202は、データが単精度
が倍精度かに従ってデータ入力を制御する回路で第8図
と同じ構成である。加算器203では、指数部入力制御
回路201,202の差をとり、その結果をレジスタ2
04にセットし、また、セレクタ205は、加算器20
3の演算結果により、指数部入力制御回路201,20
2の・大きい方の値を選択する。この結果はレジスタ2
06にセットされる。
仮数部入力制御回路207の構成を第15図に示す20
8の構成も同じである。入力データが単精度のときは、
制御信号As比が1″となり符−号は、そのま丘通し、
1−10ビット目の出力は((011に、また11ビツ
ト目に′1″を立て、入力データの9〜31ビットを1
2〜34ビツト目に出力し、35〜63ビツトは0″と
する。また倍精度のときは、一度に人力される揚巻と、
上位32ビツト、下位32ビツト別々にセットされる場
合とに分かれる。一度に倍精度データが入力されるとき
は、ADI(、が′1″となり入力データ〜がその−1
ま出力される。倍精度で上1位及び−上位32ビツトが
別々に入力される場合は、どちらのデータも入力側の0
〜31ビット目にあり、上位32ビツトのときは、AD
UR二′°1”となり、0〜31ビットの入力データが
そのまま出力のO〜31ビットに出力し、下位32ビツ
トの入力時は、ADIJをat I Plとしθ〜31
ビットの入力データを32〜63ビツト目に出力する。
この出力データはレジスタ209にランチされる。セレ
クタ211では、加算器203の演算結果に従ってレジ
スタ209,210のうち、指数部の小さい方のデータ
を選択してシフタ212に入力し、レジスタ204の値
だけ、シフタ212で右シフトする。セレクタ213は
、レジスタ210の出力がセレクタ211で選択された
場合は、シフタ212の出力を、そうでないときはレジ
スタ210の出力を選択する。セレクタ214の動作も
、セレクタ213と同様である。セレクタ213.21
4の出力は、加算器215で加算恣れ、絶対値変換回路
221によシ、加算器出力が負のとき、符号士絶対値表
現としてレジスタ218にラッチされる。カウンタ21
6は、絶対値変換回路221の出力の先頭から連続し九
゛0″の数を、カウントし、レジスタ217にセットす
る。レジスタ219は、レジスタ206の内容をセット
する。
シフタ222は、レジスタ217の10ビツト目が°゛
1″のとき入力データを右に1ビツトシフトし 111
J)でないときはその領分だけ左にシフトする。加算器
220は、レジスタ217010ビツト目が”1″のと
きはレジスタ219のイ直ヲ+1し、(t OIIのと
きは、レジスタ219の値からレジスタ217の値を引
いて、出力制征)回路223の入力とする。
出力制御回路223は、第13図とほぼ同じ構成であり
、単精度、倍精度上位32ビット及び倍精度で2度に分
けて出力するときは\下位32ビットが出力バスめ0〜
31ビツト目に、また倍精度で一度に64ビツト出力す
るときは、出カッ〈スの32〜63ビツトに倍精度下位
32ビットが出力される。
第16図に本発明の中心をなすパイプライン演算回路の
コントローラの基本構成を示す。図において310,3
11はデコーダ、312はセレクタ、313はリードオ
ンリーメモリ(ROM)、314は、レジスタ、315
は、第1段ステージラッチ許可信号、316はセレクタ
、317はROM、318はレジスタ、319は第2段
以降のステージラッチ許可信号、320はセレクタ、3
21はROM、322はレジスタである。
入力信号#302−1から入力される命令は、次の4つ
ぐ大別される。
(1)  コマンド命令;新たな命令の開始を指示する
この命令により2段目以降のバイグラインステージも実
行される。
(2)ブツシュ命令:先に入力された命令を継続して実
行することを示し、各パイプラインステージの処理が実
行される。
(3)  データセット命令:パイプライン演算器の第
1段のレジスタにラッチ信号が送出されるが、2段目以
降の処理は実行されない。
(4)  ノーオペ命令:演算器のパイプライン処理を
行なわないことを指示する命令。
デコーダ310は、入力信号線302−1の内容をデコ
ードし、コマンド命令のとき、あるいはデータセット命
令のときは、レジスタ314からの当該コントローラが
命令を実行中か、命令待ちかの情報により、命令待ちの
とき(は、セレクタ312が、入力信号線302−1を
選択し、実行中でデータセット命令のとき、あるいはブ
ツシュ命令、ノーオペ酷令のときは、レジスタ314の
出力を選択する。セl/クタ312の出力は、几0M3
13のアドレスとなり、11,0M313の出力は、制
御信号線303−1を介して、・くイブライン演算器の
第1段目に送られるとともに、レジスタ314の入力と
なる。デコーダ311は、入力信号線302−1がコマ
ンド命令、あるいはブツシュ命令であるとき信号線31
9が′1”となり、クロックに同期して、レジスタ31
4.31’8゜322にラッチ許可信号を送るとともに
、入力信号線302−1の内容が、コマンド、ブツシュ
あるいはデータセント命令であるとき、ランチ舘可信号
線315を介して、パイプライン演算器の第1段のレジ
スタに、ラッチ許可信号を送出する。 ・コントローラ
301−2〜301−nの動作は、301−1とほぼ同
じであるが、301−2を例にとって説明すれば、几Q
M313の出力には、セレクタ316の入力のどちらを
選ぶかの信号が含まれており、これにより、ROM31
3の出力とレジスタ318の出力のどちらかが選ばれて
、ROM317のアドレスとな゛す、ROM317の出
力がラッチレジスタ318にセットされる。2段目以降
ランチレジスタ318,322が直接演算回路の制御信
号として出力されているが、これは、2段目以降は制御
信号を早いタイミングで確定する必要があるためである
。またセレクタ316゜320のセレクト信号は通常の
場合は、入力信号線302−1にコマンドが入力されて
から、1マシンサイクルずつ遅れて各段が動作するよう
に決めればよい。
以下第6図、第14図の乗算器、加算器に例をとって、
第16図のコントローラの動作を更に詳\しく説明する
。乗算器、加算器のコントローラを正則するため第16
図の信号線のサフィックスにm、aをつけている。第6
図のパイプライン乗算器を用いて単精度乗算を行なうと
きのステップは以下の、ようになる。
(1)  WKRA2(1)<S米>WKF!、AI(
2)(2)        < push )(3) 
        <push>(J  WKWA(1)
←< push >、ここでステップ(1)は、コ1′
−トレジスタ33のアドレス1,2のデータをMl−み
出して単精度乗算を行なうことを指定するコマンド命令
、(2)〜(4)はブツシュ命令でステップ(4)で結
果が得られ、コボートレジスタ33のアドレス1に結果
を格納することを示している。
このときの各パイプラインステージがコントローラによ
ってどのように動作するかを第17図に示す。ステップ
(1)のコマンド命令を実行する際は、第16図におい
て、入力信号線302−1の単精度乗算のコマンド命令
をデコーダ310mでデコードして、セレクタ312m
は、入力信号線302−1 mを選択し、ROM313
mよシ制御情報が読み出され、制御信号線303−’1
mを介して、パイプラインの第1段の回路に送られる。
これにより、第8図において、M8L=″′1″となり
、入力データの単精度の指数部データが抽出され、第6
図のレジスタ103,104の入力となる。
また仮数部においても、第9図でM S L −” 1
 ”となり、単精度の仮数部データが、レジスタ117
゜118の入力となる。第16図のテコーダ311mに
より、第1段レジスクラッチ許可信号315mが出され
、レジスタ103,104,117゜118に上記デー
タがラッチされる。第16図のレジスタ314mにもラ
ッチ信号が入るが、単精度演算においては、演算が−マ
シンサイクルで完了するため、レジスタ314には、ノ
ーオペに相当するアドレスがラッチされる。またセレク
タ316mは、ROM313mよりRO〜1313mの
出力が選択されるように指定され、ROM317mの内
容がレジスタ318.mにセットされる。
次にブツシュ命令が入ると、セレクタ312mでは、レ
ジスタ314mの内容がセレクトされるが、レジスタ、
I l 4 mにはノーオペに相当するアドレスがラッ
チされているため、制御信号m303− l mからは
、ノーオペの信号が送られる。ブツシュ命令のため、レ
ジスタ314mにラッチ信号が入るが、このときにもノ
ーオペに相当するアドレスがラッチされる。コントロー
ラ301−2mでは、入力信号302−1mがブツシュ
命令であるため、セレクタ315mは、レジスタ318
mの内容が選択されるように制御され、第6図のパイプ
ラインの第2段のステージに単精度乗算の制御信号が制
御信号線303−2mを介して送られる。このマシンサ
イクルで演算を完了するため、レジスタ318mにはノ
ーオペに相当するアドレスがラッチされる。以下同様に
次のブツシュ命令では、第3段目で加算が、また最後の
ブツシュでは、第4段目でデータの正規化が行なわれ、
単精度の結果が出力される。
次に倍精度乗算で出力を、上32ビット及び下32ビツ
ト2回に分けて出力する場合の演算ステップは以下のよ
うになる。
(It  NC<D data set>INTD(R
L)(2)  INTD(LL)<D米2>NC,WK
WA(1) ←INTD(LL)C3)  INTD(
LU)<push>NC,WKWA(2)、−INTD
(LU)(4)  WKRAI(IK+)ushンIN
TD (RU)(5)  WKRA1(2Kpush)
NC(6)        (push) (力        (push) (8)  0UTD([Jl←<push)(9)  
0UTD(1)←< push >第3図のインクフェ
イス部2からデータが入力され、結果もインクフェイス
部2に返すとする。
ステップ(1)で])dataset は、倍精度デー
タを入力することを意味し、LNTD (R,L)は、
インタフェース部からの入力データが、乗算器右入力の
下32ビットであることを意味している。ステップ(2
)以降のFLU、LL、LUも、右入力上32ビツト、
左入力の下32ビット、上32ビットであることを意味
している。またNCは、入力レジスタにセット信号を入
れず、前のデータをそのt−i残しておくことを意味し
ている。ステップ(2)では、D米2は、倍精度乗算し
た結果を、2回に分けて出力することを意味し、INT
D (LL)を2ボートレジスタ33のアドレス1に書
き込むと共に、乗輝器の右入力とする。ステップ(3)
では、工ND(LLI)を2ボートレジスタ33のアド
レス2に書き込むとともに、乗445の左入力とする。
ステップ(4)では、WKRA(])と、において、入
力データがそのitレジシフjL7,118の入力とな
る。
ステップ(1)では左入力はNCとなっているだめ、レ
ジスタ117へのクロックは入らないが、レジスタ11
8にはクロックが入り、IN’f’D(RI、)がセッ
トされる。
ステップ(2)において、倍粍゛度乗算のコマンド命令
が発行され、第16図のコントローラ301−1mにお
いて、セレクタ312で、入力信号線302−1 mが
選択され、ROM313mから制御信号が送出され、第
6図レジスタ117に、INTD(LL)がセットされ
る。またセレクタ316mにおイー(、ROM313 
mよ、9ROM313mの出力が選択されるように指定
され、RO114317mの内容がレジスタ318mに
セットされる。
ステップ(3)のブツシュ命令では、コントローラ30
1−1mは、セレクタ312 mでレジスタ314mの
出力が選択され、ROM313mから制御信号が送出さ
れ、INTD(LU)の指数部、及び仮数部が各々レジ
スタ103.i17にセットされる。またコントローラ
301−2mでは、制御信号が3’ 03−2rnを介
して送られるとともにブツシュ命令のため、レジスタ3
18 mの出力がセレクタ316mで選択されて、レジ
スタ318mにセラ) INTD(RU)を乗算器の入
力とする。ステップ(5)fU、2ボー1− レジスタ
33 ノWKRA(2)の内容を乗算器の左入力とする
。ステップ(8)、 (9)において、0UTD(IJ
)、 0UTD(lヨ)は、乗算器64ビツト出力の上
位32ビツト及び下位32ビツトであることを示してい
る。
第18図にこのときのパイプライン演算の流れを示す。
ステップ(1)のデータセット命令が入力されたとき第
16図のコントローラ301−1mが、命令待ちの状態
であるとすると、デコーダ310mは、セレクタ312
mで入力信号線302−1mを選択するようにデコード
する。これによシ、ROM 313 mの内容が制御信
号ill 303−1. mより出力される。デコーダ
311mは、データセット命令のだめ、2段以降、ラン
チ許可信号319は送出せず、またレジスタ314m、
318m。
322mにもクロックは入らない。しかしながら第1段
目のラッチ許可信号は、デコーダ311 rnより、信
号線315 Inを介して送出される。制御信号線30
3−1mにより、仮数部に関しては、第9図においてM
DLL=1となり、仮数部制御回路115,116され
る。制御信号線303−2”により、下32ビット同志
の乗算が乗算回路119で行なわれ、レジスタ120に
セットされる。以ド同様に、コントローラにより制御さ
れて倍精度の乗算が実行される。倍精度乗算の場合は、
第1段目から第3段目のコントローラは、4ステツプの
演算が完了すると、命令待ちの状態となり、第4段目の
コン)o−ラは、出力を2度に分けて行なうため、2ス
テツプで演算が完了している。倍精度で一度に演算結果
を出す場合は、1ステツプで演算が完了することになる
次に第14図のパイプライン加算器の制御方式について
説明する。この加算器は、64ビツト幅であるが入力が
32ビツトバスあるいは64ビットバスで倍精度データ
が入力される。このため32ビツトバスで倍精度データ
が入力されるときには、上位32ビツト、下位32ビツ
トと、2度に分けて入力されることとなる。インタフェ
イス部2からの入力データで倍精度加算を行ないその結
果を64ビット一度に出力するときの手順は以下のよう
になる。
(])WKWA(1)←INTD(LU)(21WKW
A(1)<D+221>INTD(RU)(3)   
N C< da ta set > INTD (RL
)(4)  INTD (LL)< IIUSh > 
  N C(5)        < push >(
6)   F’AINP’−(pLI5 h)このとき
のパイプライン制御の流れは第19図のように寿る。ス
テップ(1)ではインタフェース部2からは、1度に2
ワードのデータを転送できないため、あらかじめ、2ボ
ートレジスタ33のアドレス1に加算器在入力の上位3
2ビツトを記憶しておく。ステップ(2)のD−1−2
21は、倍精度加算で左、右入力とも2回に分けて入力
され、出力は64ビツト1度に々されることを示してい
る。
コントローラ301−18においで、セレクタ312a
は、入力信号30.2−12を選び、ROM313 a
は、上位32ビツトをセットする制御信号を制御信号線
303−13から送出する。
これによシ指数部制御回路201.202は、倍精度デ
ータの指数部を出力し、加算器203の結果及びこれに
基づいたセレクタ205の出力が各各レジスタ204,
206にセットされる。1入仮数部制御回路207,2
08は第15図において、ADUR=1のときレジスタ
209,210の上位32ビツトにセットさせる。また
レジスタ314aにはROM313 aの内容がセット
されレジスタ318aの出力がセレクタ316aで選択
され、これによりROM317 aの出力がセットされ
る。
ステップ(3)のデータセット命令では、コントロ−ラ
301−13において、デコーダ3’l Oaは、命令
実行中でかつ、データセットであるため、レジスタ31
4aの内容をセレクタ312aで選択する信号を生成す
る。これにより下32ビットをセットする制御信号が出
され、デコーダ311aで生成された第1段レジスタラ
ッチ許可信号315 ;]によりレレジスフ29の下3
2ピットに入力データINTD(RJ、)がセットされ
る。但し右入力データの指定はNCであるため、レジス
タ210′?まセットキれない。データセット命令では
、レジスタ3]、4a、318a、322a及び2段目
以降の演算器のレジスタには、ラッチのクロックが入ら
ないためパイプラインステージの処理は、進められない
ステップ(4)でのブツシュ命令では、コントローラ3
0.1−12において、レジスタ314aの出力がセレ
クタ312aで選ばれ、再び下32ビットをラッチする
制御信号が送出され、レジスタ210の下32ビットに
、INTD(LL)がラッチされる。ステップ(4)に
おいて第1段目の処理を完ステップ(5)のブツシュ命
令により、第2段の加算が実行され、第2段の演算を完
了する。
ステップ(6)のブツシュ命令で第3段のコントローラ
が処理を開始し、倍精度を一度に出力し、処理を終了す
る。7但しここで倍精度データを一度に出力できるのは
、加算器11に入力するときである。
〔発明の効果〕
本発明を実施することにより、単精度演算器における倍
精度パイプライン演算及び、単精度の入力バスしか持た
ない倍精度パイプライン演算器の倍精度パイプライン演
算制御が極めて容易に行ないつる。即ち、倍精度演算を
開始する際その演算に必要な演算モード、入力データの
設定の仕方、出力方法等を設定したあとは、演算の回数
分、演算器に演算継続指令を出すことにより結果が得ら
れるため、演算結果がどのタイミングで得られるかだけ
をユーザが管理するだけでよく、倍精度パイプライン演
算が、単精度パイプライン演算と同程度の複雑さで実現
できることになる。壕だデータセット命令は、フローテ
ィングプロセッサが、本発明で示したようなレジスタフ
ァイルを持っていなくても、゛パイプライン演算器の入
力レジスタをバッファとして用いることにより、パイプ
ライン演算が実現でき、ハードウェア削減の上からも効
果があ、・5゜
【図面の簡単な説明】
第1図は、本発明によるパイプライン演算器を説明した
図、第2図は、本発明が適用される。プロセッサの全体
構成を示した図、第3図は、演算ユニットの構成を示し
た図、第4図はレジスタファイルの構成を示した図、第
5図は、メモリ及びアトシス演算部を説明した図、第6
図は、パイプライン乗算器の構成を示した図、第7図は
、単精度、倍精度のフォーマットを示した図、第8図は
、乗算器指数部入力制御部の構成を示した図、第9図は
、乗算器仮数部入力制御回路の構成を示した図、第10
図は、乗算回路の構成を示した図、第11図は倍精度乗
算手順上説明した図、第12図は、単精度、倍精度乗算
結果のビット構成を説明した図、第13図は乗算器の出
力制御回路の構成を説明した図、第14図はパイプライ
ン加算器の構成を説明した図、第15図は、加算器の仮
数部入力制御回路の構成を説明した図、第16図は本発
明になるパイプライン演算器のコントローラの構成を説
明した図、第17図は単精度乗病、の手順を説明した図
、第18図は倍精度パイプライン乗算の手順を説明した
図、第19図は倍精度パイプラ・イン、乗算の手順を説
明した図である。 3・・・演算ユニツ)、300−1〜300−n・・・
パイプラインステージ、301−1〜301−n・・・
コントローラ、310,311・・・デコーダ、312
.316,320・・・選択回路、313゜317.3
21・・・メモリ、314,318゜詰//固 第12 rEJ ソ /7 (fEJ →・嘗  コマンL )・1.7.、プ7ン7 ヮ’7
..x慧41’Z ヵ

Claims (1)

    【特許請求の範囲】
  1. i、複iのパイプラインステージからなる演算回路と各
    パイプラインステージを制御する制御回路を有するパイ
    プライン演算器において、パイプラインステージ対応に
    制御回路を設け、各制御回路は対応するパイプラインス
    テージへの演算の内容に応じた制御信号および次段制御
    回路が同一の制御信号を繰返し、出力すべきか否かの信
    号を含むマイクロプログラムを格納する記憶手段と、該
    記憶手段から読み出した内容を一時的に記憶するレジス
    タ手段と、当該記憶手段の読み出しアドレスを該レジス
    タ手段から得だアドレスとするかこれ以外のアドレスと
    するかを決定する選択手段を有し、第1段の制御回路の
    選択手段はパイプライン演算器で行うべき演算の内容を
    指定するコマンド命令および当該命令を繰返し実行する
    ことを指定するブツシュ命令によシ制御され、後段の制
    御回路の選択手段は、前段の制御回路の記憶手段から読
    み出された内容′により制御されるようにしたことを特
    徴とするパイプライン演算器。
JP58035971A 1983-03-07 1983-03-07 パイプライン演算器 Granted JPS59161730A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58035971A JPS59161730A (ja) 1983-03-07 1983-03-07 パイプライン演算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58035971A JPS59161730A (ja) 1983-03-07 1983-03-07 パイプライン演算器

Publications (2)

Publication Number Publication Date
JPS59161730A true JPS59161730A (ja) 1984-09-12
JPH0534696B2 JPH0534696B2 (ja) 1993-05-24

Family

ID=12456803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58035971A Granted JPS59161730A (ja) 1983-03-07 1983-03-07 パイプライン演算器

Country Status (1)

Country Link
JP (1) JPS59161730A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5730042A (en) * 1980-07-30 1982-02-18 Nippon Telegr & Teleph Corp <Ntt> Control system for instruction executing sequence

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5730042A (en) * 1980-07-30 1982-02-18 Nippon Telegr & Teleph Corp <Ntt> Control system for instruction executing sequence

Also Published As

Publication number Publication date
JPH0534696B2 (ja) 1993-05-24

Similar Documents

Publication Publication Date Title
US4578750A (en) Code determination using half-adder based operand comparator
US5068819A (en) Floating point apparatus with concurrent input/output operations
TW201820125A (zh) 執行複數的熔合乘-加指令的系統與方法
JPS6351287B2 (ja)
Cook et al. System design of a dynamic microprocessor
US5704052A (en) Bit processing unit for performing complex logical operations within a single clock cycle
JPH07225671A (ja) 結果正規化機構と動作の方法
US7370180B2 (en) Bit field extraction with sign or zero extend
JPH06202850A (ja) データ処理装置
US3202805A (en) Simultaneous digital multiply-add, multiply-subtract circuit
JPH06242953A (ja) データ・プロセッサ
JP3834145B2 (ja) ネスト可能な遅延分岐命令を有するマイクロプロセッサを備えたデータ処理装置及びそのマイクロプロセッサを動作させる方法
JP2006518060A (ja) 単一命令多重データ管理のための方法および計算機プログラム
JPH096610A (ja) データ処理システムにおいて複合命令の実行中にオペランドを交換するための方法およびシステム
JPS5968058A (ja) フロ−テイング乗算器
JPS59161730A (ja) パイプライン演算器
US6240540B1 (en) Cyclic redundancy check in a computer system
US6393452B1 (en) Method and apparatus for performing load bypasses in a floating-point unit
JPS59106043A (ja) パイプライン演算回路
JPS58149542A (ja) デ−タ処理装置
JP2654451B2 (ja) データ出力方法
US6792442B1 (en) Signal processor and product-sum operating device for use therein with rounding function
JP3441847B2 (ja) データメモリを有するプロセッサ
JPH01187638A (ja) プロセッシングユニット
KR100233289B1 (ko) 레지스터 파일의 데이터 디펜던시 체크를 위한 장치