JPS59106043A - パイプライン演算回路 - Google Patents
パイプライン演算回路Info
- Publication number
- JPS59106043A JPS59106043A JP57215595A JP21559582A JPS59106043A JP S59106043 A JPS59106043 A JP S59106043A JP 57215595 A JP57215595 A JP 57215595A JP 21559582 A JP21559582 A JP 21559582A JP S59106043 A JPS59106043 A JP S59106043A
- Authority
- JP
- Japan
- Prior art keywords
- register
- data
- calculation
- input
- stage
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 description 16
- 238000010606 normalization Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001954 sterilising effect Effects 0.000 description 1
- 238000004659 sterilization and disinfection Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、パイプライン動作を行なうパイノンイン演算
回路に関し、特に単一の演算が行なわれる場合にその演
算結果が速やかにして得られるようになしたパイノンイ
ン演算回路に関するものである。
回路に関し、特に単一の演算が行なわれる場合にその演
算結果が速やかにして得られるようになしたパイノンイ
ン演算回路に関するものである。
ベクトル演算などにおいては繰シ返し同一種類の70−
ティング演算が行なわれるが、このような場合にパイプ
ライン方式の演算回路は演算を高速化するものとして有
効なものとなっている。一般にパイプライン方式の演算
回路においては、入力データは複数のステージを順次経
ることによって演算処理されるようになっており、各ス
テージ間には途中処理結果を一時的に保持するレジスタ
手段が設けられるようになっている。各ステージでは1
マシンサイクルの間に部分的な処理が実行されるように
なっているわけであるが、一般にステージ数が多い程に
演算の高性能化が図れるものとなっている。例えば1マ
シンサイクルが100nsである3ステージの演算回路
を想定した場合、300nsの遅れを有するも演算結果
は100ns毎に得られることになる。一方、1マシン
サイクルが50nSである6ステージのそれを想定した
場合には同一の遅れを有するも5Qns毎に演算結果が
得られることになる。したがって、全体的に演算回数が
多い程に高性能化が図れるというものでらる。
ティング演算が行なわれるが、このような場合にパイプ
ライン方式の演算回路は演算を高速化するものとして有
効なものとなっている。一般にパイプライン方式の演算
回路においては、入力データは複数のステージを順次経
ることによって演算処理されるようになっており、各ス
テージ間には途中処理結果を一時的に保持するレジスタ
手段が設けられるようになっている。各ステージでは1
マシンサイクルの間に部分的な処理が実行されるように
なっているわけであるが、一般にステージ数が多い程に
演算の高性能化が図れるものとなっている。例えば1マ
シンサイクルが100nsである3ステージの演算回路
を想定した場合、300nsの遅れを有するも演算結果
は100ns毎に得られることになる。一方、1マシン
サイクルが50nSである6ステージのそれを想定した
場合には同一の遅れを有するも5Qns毎に演算結果が
得られることになる。したがって、全体的に演算回数が
多い程に高性能化が図れるというものでらる。
このように同−m類の演算が繰シ返し連続的に行なわれ
る場合パイプライン方式の演算回路は有効なものとなっ
ているが、問題は演算が繰シ返し行なわれなく唯1回の
み、即ち、単発的に演算が行なわれる場合には演算結果
が速やかに得られないということである。単発的な演算
はスカラ演算を行なう場合に主に行なわれるが、上記2
つの例からすれば演算結果が得られる迄に300nsの
時間を要するというものである。
る場合パイプライン方式の演算回路は有効なものとなっ
ているが、問題は演算が繰シ返し行なわれなく唯1回の
み、即ち、単発的に演算が行なわれる場合には演算結果
が速やかに得られないということである。単発的な演算
はスカラ演算を行なう場合に主に行なわれるが、上記2
つの例からすれば演算結果が得られる迄に300nsの
時間を要するというものである。
よって本発明の目的は、単発的な演算が行なわれる場合
に速やか処して演算結果が得られるパイプライン演算回
路を供するにある。
に速やか処して演算結果が得られるパイプライン演算回
路を供するにある。
この目的のため本発明は、各ステージ間に設けられてい
るレジスタ手段に起因して演算結果が速やかにして得ら
れないことに着目し、単発演算時にるってはレジスタ手
段への入力データをレジスタ手段内部を介してそのまま
即出力させるか、あるいはレジスタ手段をバイパスする
ようにして次ステージに与え、前ステージからの途中処
理結果は次ステージで非同期で処理されるようにしたも
のである。
るレジスタ手段に起因して演算結果が速やかにして得ら
れないことに着目し、単発演算時にるってはレジスタ手
段への入力データをレジスタ手段内部を介してそのまま
即出力させるか、あるいはレジスタ手段をバイパスする
ようにして次ステージに与え、前ステージからの途中処
理結果は次ステージで非同期で処理されるようにしたも
のである。
以下、本発明を説明する。
先ず本発明を具体的に説明する前に簡単ながら本発明に
係るパイプライン方式のデータ処理装置の概要について
説明しておく。
係るパイプライン方式のデータ処理装置の概要について
説明しておく。
第1図から第4図はその概要構成を示したものである。
このうち第1図はその全体構成を示すが、これによると
ホスト(HO8T)コンピュータ1はインタ7工イス部
2を介し演算ユニット3、レジスタファイル4、メモリ
部5およびアドレス演算部6、′更にはマイクロプログ
ラムコントローラ7に接続されておシ、マイクロプログ
ラム内容が可変とされたマイクロプログラムコントロー
ラ7はホストコンピュータ1による制御下にそのマイク
ロプログラムを実行することによって演算ユニット3や
アドレス演算部6などに制御タイミング信号やアドレス
信号などを出力するものとなっている。このようにして
なるプロセッサの構成は特に新規なものではないが、本
発明はその構成における演算ユニットを構成する加算器
や乗算器に関するものである。
ホスト(HO8T)コンピュータ1はインタ7工イス部
2を介し演算ユニット3、レジスタファイル4、メモリ
部5およびアドレス演算部6、′更にはマイクロプログ
ラムコントローラ7に接続されておシ、マイクロプログ
ラム内容が可変とされたマイクロプログラムコントロー
ラ7はホストコンピュータ1による制御下にそのマイク
ロプログラムを実行することによって演算ユニット3や
アドレス演算部6などに制御タイミング信号やアドレス
信号などを出力するものとなっている。このようにして
なるプロセッサの構成は特に新規なものではないが、本
発明はその構成における演算ユニットを構成する加算器
や乗算器に関するものである。
第2図はその演算ユニットの構成を示したものであシ、
図示の如く32ビット乗算器10と64ピント加算器1
1とから主に構成されるようになっている。このうち乗
算器10は4段のステージ回路10−1〜10−4よ)
なるパイプライン乗算器として構成され、また、加算器
1工は3段のステージ回路11−1〜11−3よシなる
パイプライン加算器として構成される。これらは例えば
米国%軒第4,075,704号で例示されているよう
なものである。これら乗算器、加算器については後に詳
述するところであるが、乗算器10への乗算データの入
力は32ビット乗算器右入力伯号バス14および32ビ
ット乗算器左入力信号バス15よシ行なわれる。また、
その出力である乗算結果のうち上位32ピントは32ビ
ントデータバスエ6の他、信号線21.18によってそ
れぞれ32ビット加算器右入力信号バス12、レジスタ
ファイルに送出される一方、その下位32ビツトは信号
線22によって加算器11に右入力下32ピットとして
入力されるようになっている。一方、加算器11への加
算データの入力は単精度データの場合は勿論のこと、倍
精度データが2度に分けて入力される場合も原則として
加算器右入力信号バス12および32ビット加算器左入
力信号バス13を介して行なわれる。但し、倍精度デー
タの場合に乗算器10よシ右入力下32ピントが、加算
器11よシ左入力下32ビットが与えられる場合には右
入力上32ビツト、左入力上32ピントのみが加算器右
入力信号バス12および加算器在入力信号バス13よ)
入力されるようになっている。また、その出力である加
算結果のうち上位32ビツトはデータバス16の他、信
号ffi 17 。
図示の如く32ビット乗算器10と64ピント加算器1
1とから主に構成されるようになっている。このうち乗
算器10は4段のステージ回路10−1〜10−4よ)
なるパイプライン乗算器として構成され、また、加算器
1工は3段のステージ回路11−1〜11−3よシなる
パイプライン加算器として構成される。これらは例えば
米国%軒第4,075,704号で例示されているよう
なものである。これら乗算器、加算器については後に詳
述するところであるが、乗算器10への乗算データの入
力は32ビット乗算器右入力伯号バス14および32ビ
ット乗算器左入力信号バス15よシ行なわれる。また、
その出力である乗算結果のうち上位32ピントは32ビ
ントデータバスエ6の他、信号線21.18によってそ
れぞれ32ビット加算器右入力信号バス12、レジスタ
ファイルに送出される一方、その下位32ビツトは信号
線22によって加算器11に右入力下32ピットとして
入力されるようになっている。一方、加算器11への加
算データの入力は単精度データの場合は勿論のこと、倍
精度データが2度に分けて入力される場合も原則として
加算器右入力信号バス12および32ビット加算器左入
力信号バス13を介して行なわれる。但し、倍精度デー
タの場合に乗算器10よシ右入力下32ピントが、加算
器11よシ左入力下32ビットが与えられる場合には右
入力上32ビツト、左入力上32ピントのみが加算器右
入力信号バス12および加算器在入力信号バス13よ)
入力されるようになっている。また、その出力である加
算結果のうち上位32ビツトはデータバス16の他、信
号ffi 17 。
20によってそれぞれレジスタファイル、加算器在入力
信号バス13に送出される一方、その下位32ビツトは
信号線19によって左入力として直接加算器11に人力
されるようになっている。
信号バス13に送出される一方、その下位32ビツトは
信号線19によって左入力として直接加算器11に人力
されるようになっている。
次に第3図にょシレジスタ7アイルについて説明すれば
、レジスタファイル41d3EFCFIFO(1”1r
st−In、 F’1rst−Qut)レジスタ31と
2ボートレジスタ33とから構成されるようになってい
る。FIIi’Oレジスタ31へのデータの書込は48
号m17.18からの加算器出力、乗算器出力の何れか
をセレクタ3oで選択したうえ1ビツト書込個号WEを
II 1j)の状態におくことによって、ま/ζ、)’
II”0レジスタ31からのデータの加算器右入力信号
バス12、加n器左入カイロ号バス13への続出は1ビ
ツトに比信号REをパ1”の状態におくことによって行
なわれるようになっているものである。また、2ボート
レジスタ33へのデータの書込は信号線17.18から
の加算器出方、乗算器出力の何れが、またはデータバス
16上のデータがセレクタ32で選択されたうえ5ピン
ト1込アドレス伯号WAによって指定されたアドレスに
書込されるようになっている。2ボートレジスタ33か
らのデータの読出はまた5ビット読出アドレス信号RA
I、RA2によっている。読出アドレス演算部A1によ
って読出されたデータは加算器在入力信号バス13およ
び乗算器在入力信号バス15に、また、読出アドレス信
号R,A2によって読出されたデータは加算器右入力信
号バス12および乗算器右入力信号バス14に読み出さ
れるようになっているものである。
、レジスタファイル41d3EFCFIFO(1”1r
st−In、 F’1rst−Qut)レジスタ31と
2ボートレジスタ33とから構成されるようになってい
る。FIIi’Oレジスタ31へのデータの書込は48
号m17.18からの加算器出力、乗算器出力の何れか
をセレクタ3oで選択したうえ1ビツト書込個号WEを
II 1j)の状態におくことによって、ま/ζ、)’
II”0レジスタ31からのデータの加算器右入力信号
バス12、加n器左入カイロ号バス13への続出は1ビ
ツトに比信号REをパ1”の状態におくことによって行
なわれるようになっているものである。また、2ボート
レジスタ33へのデータの書込は信号線17.18から
の加算器出方、乗算器出力の何れが、またはデータバス
16上のデータがセレクタ32で選択されたうえ5ピン
ト1込アドレス伯号WAによって指定されたアドレスに
書込されるようになっている。2ボートレジスタ33か
らのデータの読出はまた5ビット読出アドレス信号RA
I、RA2によっている。読出アドレス演算部A1によ
って読出されたデータは加算器在入力信号バス13およ
び乗算器在入力信号バス15に、また、読出アドレス信
号R,A2によって読出されたデータは加算器右入力信
号バス12および乗算器右入力信号バス14に読み出さ
れるようになっているものである。
最後にメモリ部5およびアドレス演算部6について第4
図により説明すれば、メモリ部5は2つの同一構成のメ
モリ41,45よシなシその周辺回路構成も全く同様と
なっている。即ち、メモリ41.45へのデータの書込
はデータバス16上のデータをメモリデータライトレジ
スタ42゜46にセントした状態でメモリアドレスレジ
スタ43.47よシ書込アドレス信号を与えることによ
って行なわれるようになっている。メモリアドレスレジ
スタ43.47は後述するアドレス演算部6からのアド
レス信号を保持し必要な場合には保持されているアドレ
ス信号全インクリメントしたシデクリメントするように
なっている。また、メモリ41.45からのデータの読
出はメモリアドレスレジスタ43.47よha出子アド
レス信号与えることによって行なわれる。そのアドレス
信号によって指定されたアドレスよシ読み出されfcf
−夕はメモリデータリートビ・ジスタ40゜44を介し
アドレス演算部6に出力される他、既述の信号バス12
〜15や信号線48.49を介してデータバス16上に
出力可とされるようにしてなる。次にアドレス演算部6
について説明すれば、アドレス演算部6は2ボートレジ
スタ51およびALU (数値論理演算部)53を含む
ものとなっている。このうち2ポートレジスタ51は4
ピントアドレス信号WKI、WK2に対応して2つの読
出ボートを有するものとなっておシ、まだ、2ポートレ
ジスタ51へのデータの書込はALU53出力、データ
バス上のデータの何れかをセレクタ50によって選択し
むうぇアドレス信号WK 1によって1マシンサイクル
の後半に行なわれるものとなっている。2ボートレジス
タ51の何れか一方の読出ボートからの読出データは直
接ALU51に右入力として入力されるが、左入力はメ
モリデータリードレジスタ40.44からのメモリ続出
データの何れか、まだは2ボートレジスタ51の他方の
読出ボートからの読出データをセレクタ52によって選
択したものとされる。ALU5工はそれら左入力、右入
力のデータにもとづき所定の演算を行なうが、その演算
結果はメモリアドレスレジスタ43.47や2ポートレ
ジスタ51にセット可となっているものである。
図により説明すれば、メモリ部5は2つの同一構成のメ
モリ41,45よシなシその周辺回路構成も全く同様と
なっている。即ち、メモリ41.45へのデータの書込
はデータバス16上のデータをメモリデータライトレジ
スタ42゜46にセントした状態でメモリアドレスレジ
スタ43.47よシ書込アドレス信号を与えることによ
って行なわれるようになっている。メモリアドレスレジ
スタ43.47は後述するアドレス演算部6からのアド
レス信号を保持し必要な場合には保持されているアドレ
ス信号全インクリメントしたシデクリメントするように
なっている。また、メモリ41.45からのデータの読
出はメモリアドレスレジスタ43.47よha出子アド
レス信号与えることによって行なわれる。そのアドレス
信号によって指定されたアドレスよシ読み出されfcf
−夕はメモリデータリートビ・ジスタ40゜44を介し
アドレス演算部6に出力される他、既述の信号バス12
〜15や信号線48.49を介してデータバス16上に
出力可とされるようにしてなる。次にアドレス演算部6
について説明すれば、アドレス演算部6は2ボートレジ
スタ51およびALU (数値論理演算部)53を含む
ものとなっている。このうち2ポートレジスタ51は4
ピントアドレス信号WKI、WK2に対応して2つの読
出ボートを有するものとなっておシ、まだ、2ポートレ
ジスタ51へのデータの書込はALU53出力、データ
バス上のデータの何れかをセレクタ50によって選択し
むうぇアドレス信号WK 1によって1マシンサイクル
の後半に行なわれるものとなっている。2ボートレジス
タ51の何れか一方の読出ボートからの読出データは直
接ALU51に右入力として入力されるが、左入力はメ
モリデータリードレジスタ40.44からのメモリ続出
データの何れか、まだは2ボートレジスタ51の他方の
読出ボートからの読出データをセレクタ52によって選
択したものとされる。ALU5工はそれら左入力、右入
力のデータにもとづき所定の演算を行なうが、その演算
結果はメモリアドレスレジスタ43.47や2ポートレ
ジスタ51にセット可となっているものである。
なお、演算ユニットやアドレス演算部などでの動作はマ
イクロプログラムコントローラに格納されているマイク
ロプログラムの1語たよって規定されるようになってい
る。また、演算ユニットやレジスタファイルなどからの
信号バスへのデータ出力も何れか1つのみしか選択され
ないようになっている。
イクロプログラムコントローラに格納されているマイク
ロプログラムの1語たよって規定されるようになってい
る。また、演算ユニットやレジスタファイルなどからの
信号バスへのデータ出力も何れか1つのみしか選択され
ないようになっている。
以上のように演算ユニットにおける乗算器や加算器はパ
イプライン方式のものとして構成されるが、そのステー
ジ数が図示のものに限定されないことは勿論である。既
述した如く各ステージでの途中処理結果は通′帛一時的
にレジスタ手段にセットされるが、本発明によるパイプ
ライン演算回路においては各ステージでの途中処理結果
は直ちに次ステージで非同期で処理可とされるようにな
っている。一般に1マシンサイクルの周期は各ステージ
での部分演算に要される時間のうち最大なものに一致す
るようにして足められるが、演算を非同期で行なう場合
はアイドル時間なくして演算を行ない得るから、その分
演算結果が速やかにして得られるというものである。
イプライン方式のものとして構成されるが、そのステー
ジ数が図示のものに限定されないことは勿論である。既
述した如く各ステージでの途中処理結果は通′帛一時的
にレジスタ手段にセットされるが、本発明によるパイプ
ライン演算回路においては各ステージでの途中処理結果
は直ちに次ステージで非同期で処理可とされるようにな
っている。一般に1マシンサイクルの周期は各ステージ
での部分演算に要される時間のうち最大なものに一致す
るようにして足められるが、演算を非同期で行なう場合
はアイドル時間なくして演算を行ない得るから、その分
演算結果が速やかにして得られるというものである。
第5図はステージの数を3とした場合での本発明による
パイプライン演算回路の一例での概璧構成をボしたもの
である。これによると組合せ論理回路60,62.64
はそれぞれ1段目、2段目。
パイプライン演算回路の一例での概璧構成をボしたもの
である。これによると組合せ論理回路60,62.64
はそれぞれ1段目、2段目。
3段目のステージ対応の主回路となっておシ、ステージ
60.62問およびステージ62.64間にはそれぞれ
一時記憶レジスタ手段としてのランチレジスタ61.6
3が介在するものとなっている。ランチレジスタ61.
63はこの場合バイパス可として構成され、自ステージ
での途中処理結果が次ステージにバイパスされるか否か
はノ(イノくス制御信号65によるようになっている。
60.62問およびステージ62.64間にはそれぞれ
一時記憶レジスタ手段としてのランチレジスタ61.6
3が介在するものとなっている。ランチレジスタ61.
63はこの場合バイパス可として構成され、自ステージ
での途中処理結果が次ステージにバイパスされるか否か
はノ(イノくス制御信号65によるようになっている。
単発演算が行なわれるか否かは予めプログラムよシ知れ
るから、単発演算が行なわれる場合にその)くイノ(ス
制御信号65によってランチレジスタ61゜63をバイ
パス状態におくように制御するわけである。
るから、単発演算が行なわれる場合にその)くイノ(ス
制御信号65によってランチレジスタ61゜63をバイ
パス状態におくように制御するわけである。
第6図、第7図は本発明に係る)くイブライン加算器、
パイプライン乗算器を70−ティング演算用のものとし
て示したものである。
パイプライン乗算器を70−ティング演算用のものとし
て示したものである。
先ず3ステージの加算器についてその動作の概要を簡単
に参考までに説明すれば、その動作は第8図(a)に示
す如くになっている。第8図(a)は3対の入力データ
が1マシンサイクル毎に順次入力される場合に各マシン
サイクルでそれらデータが如伺に処理されるかを示した
ものである。これからも判るように第1.第2.第3の
ステージではそれぞれ入力(事前)処理、加算処理、正
規化処理が行なわれるようになっておシ、第1番目の入
力データが第3ステージにおいて正規化処理されている
間には第2ステージでは第2番目の入力データについて
の加算処理が、また、第1ステージにおいては第3番目
の入力データについての入力処理が行なわれることが判
る。
に参考までに説明すれば、その動作は第8図(a)に示
す如くになっている。第8図(a)は3対の入力データ
が1マシンサイクル毎に順次入力される場合に各マシン
サイクルでそれらデータが如伺に処理されるかを示した
ものである。これからも判るように第1.第2.第3の
ステージではそれぞれ入力(事前)処理、加算処理、正
規化処理が行なわれるようになっておシ、第1番目の入
力データが第3ステージにおいて正規化処理されている
間には第2ステージでは第2番目の入力データについて
の加算処理が、また、第1ステージにおいては第3番目
の入力データについての入力処理が行なわれることが判
る。
さて第6図において32ピントの入力データが入力する
と、それらデータ中に各々含まれる仮数はランチレジス
タIQ5,106にランチされるようになっている。ま
た、それらデータ市に各々含まれる指数は加算器101
でその差が求められ、その結果はランチレジスタ102
にラツ′チされるとともに、その差の符号にもとづきセ
レクタ103よシ選択出力されている犬なる方の指数は
ランチレジスタ104にランチされるようになっている
。
と、それらデータ中に各々含まれる仮数はランチレジス
タIQ5,106にランチされるようになっている。ま
た、それらデータ市に各々含まれる指数は加算器101
でその差が求められ、その結果はランチレジスタ102
にラツ′チされるとともに、その差の符号にもとづきセ
レクタ103よシ選択出力されている犬なる方の指数は
ランチレジスタ104にランチされるようになっている
。
これが第1ステージでの処理動作である。次に第2ステ
ージにおいてはランチレジスタ104からの指数は単に
ランチレジスタ116にランチされるだけでるるか、ラ
ッチレジスタ105,106からの仮数は桁合せが行な
われた後加減算されるようになっている。即ち、ランチ
レジスタ102からの指数の差の符号によってセレクタ
107からは小なる指数に係る仮数が選択出力されてお
シ、これがシック108で指数の差分(絶対値)だけ右
方向にシフトされることによって他方の仮数に対する桁
合せが行なわれるものである。シフトされた仮数は同じ
く指数の差の符号によって選択制御されているセレクタ
109,110の何れか一方を介し加算器111に入力
されることに)よって、他方のセレクタを介する他方の
仮数と加減算されるようになっているものである。この
加減算の結果はランチレジスタ114にランチされるが
、一方カウンタ112によってはその加減算の結果より
先頭ビット(ピントウェイトが2° のピント)位置よ
シ右方向に0”または11”が何個連続するかがカウン
トあるいは検出され、そのカウント値あるいは検出値は
第3ステージでの加減算結果のシフト制御に用いられる
べくランチレジスタ113にランチされるようになって
いる。第3ステージにおいてはランチレジスタ114か
らの加減算結果はシフタ115でランチレジスタ113
からのカウント値あるいは検出値分だけ左方向にシフト
され正規化されるとともに、ランチレジスタ116から
の指数は正規化処理によって生じた不具合を解消すべく
加算器117でランチレジスタ113からのカウント値
あるいは検出領分だけ減じられるようになっている。し
かして、このようにして得た指数や加減算結果を所定の
フォーマットで取シ出すようにすればよいものである。
ージにおいてはランチレジスタ104からの指数は単に
ランチレジスタ116にランチされるだけでるるか、ラ
ッチレジスタ105,106からの仮数は桁合せが行な
われた後加減算されるようになっている。即ち、ランチ
レジスタ102からの指数の差の符号によってセレクタ
107からは小なる指数に係る仮数が選択出力されてお
シ、これがシック108で指数の差分(絶対値)だけ右
方向にシフトされることによって他方の仮数に対する桁
合せが行なわれるものである。シフトされた仮数は同じ
く指数の差の符号によって選択制御されているセレクタ
109,110の何れか一方を介し加算器111に入力
されることに)よって、他方のセレクタを介する他方の
仮数と加減算されるようになっているものである。この
加減算の結果はランチレジスタ114にランチされるが
、一方カウンタ112によってはその加減算の結果より
先頭ビット(ピントウェイトが2° のピント)位置よ
シ右方向に0”または11”が何個連続するかがカウン
トあるいは検出され、そのカウント値あるいは検出値は
第3ステージでの加減算結果のシフト制御に用いられる
べくランチレジスタ113にランチされるようになって
いる。第3ステージにおいてはランチレジスタ114か
らの加減算結果はシフタ115でランチレジスタ113
からのカウント値あるいは検出値分だけ左方向にシフト
され正規化されるとともに、ランチレジスタ116から
の指数は正規化処理によって生じた不具合を解消すべく
加算器117でランチレジスタ113からのカウント値
あるいは検出領分だけ減じられるようになっている。し
かして、このようにして得た指数や加減算結果を所定の
フォーマットで取シ出すようにすればよいものである。
このように本例での加算器は3ステージよりなることか
ら、通常のパイプライン動作時にあっては演算結果は3
マシンサイクルの遅れは有するも1マシンサイクル毎に
得られることになる。しかしながら、単発演算が行なわ
れる場合にはバイパス制菌信号118によってランチレ
ジスタ102゜104〜106,113,114,11
6はバイパスモードにおかれることから、非同期で演算
が各ステージでのアイドル時間なくして実行され、その
分演算が高速化されるというものである。例えば1マシ
ンサイクルが167nsであるとすれは、従来にあって
は500nsもの時間を要していたものがラッチレジス
タをバイパスすれは、回路がTTL構成の場合にはデー
タ入力時点から25On8程度で、即ち、1/2程度の
時間で演演結果が得られるものである。各ステージでの
アイドル時間が大きい程に高速に演算結果が得られるも
のである。なお、単発演丼が行なわれる場合加算器には
外部よシ入カデータが演算結果が得られるまで与えられ
ている必要がある。このような事情は以下説明するパイ
プライン乗算器においても同様となっている。
ら、通常のパイプライン動作時にあっては演算結果は3
マシンサイクルの遅れは有するも1マシンサイクル毎に
得られることになる。しかしながら、単発演算が行なわ
れる場合にはバイパス制菌信号118によってランチレ
ジスタ102゜104〜106,113,114,11
6はバイパスモードにおかれることから、非同期で演算
が各ステージでのアイドル時間なくして実行され、その
分演算が高速化されるというものである。例えば1マシ
ンサイクルが167nsであるとすれは、従来にあって
は500nsもの時間を要していたものがラッチレジス
タをバイパスすれは、回路がTTL構成の場合にはデー
タ入力時点から25On8程度で、即ち、1/2程度の
時間で演演結果が得られるものである。各ステージでの
アイドル時間が大きい程に高速に演算結果が得られるも
のである。なお、単発演丼が行なわれる場合加算器には
外部よシ入カデータが演算結果が得られるまで与えられ
ている必要がある。このような事情は以下説明するパイ
プライン乗算器においても同様となっている。
さて、本発明に係る4ステージのパイプライン乗算器を
第7図によって説明する。その前にそのパイプライン動
作の概要を説明すれば以下のようである。第8図(b)
は4対の入力データが1マシンサイクル毎に順次入力さ
れる場合に各マシンサイクルでそれらデータが如何に処
理されるかを示したものである。これよシも判るように
第1〜第4ステージではそれぞれ入力処理、部分積処理
、加算処理、正規化処理が行なわれるようになっておシ
、第1番目の入力データが第4ステージにおいて正規化
処理されている間には第3ステージでは第2番目人カデ
ータに対する加算処理が、第2ステージでは第3番目入
力データに対する部分積処理が、第1ステージでは第4
番目人カデータに対する入力処理が行なわれることが示
されている。
第7図によって説明する。その前にそのパイプライン動
作の概要を説明すれば以下のようである。第8図(b)
は4対の入力データが1マシンサイクル毎に順次入力さ
れる場合に各マシンサイクルでそれらデータが如何に処
理されるかを示したものである。これよシも判るように
第1〜第4ステージではそれぞれ入力処理、部分積処理
、加算処理、正規化処理が行なわれるようになっておシ
、第1番目の入力データが第4ステージにおいて正規化
処理されている間には第3ステージでは第2番目人カデ
ータに対する加算処理が、第2ステージでは第3番目入
力データに対する部分積処理が、第1ステージでは第4
番目人カデータに対する入力処理が行なわれることが示
されている。
さて、第7図において32ビツト人カデータが入力する
と、第1ステージにおいてはそれら入力データ中に各々
含まれる指数はラッチレジスタ201.202K、また
、仮数はランチレジスタ205.206にランチされる
ようになっている。
と、第1ステージにおいてはそれら入力データ中に各々
含まれる指数はラッチレジスタ201.202K、また
、仮数はランチレジスタ205.206にランチされる
ようになっている。
次に第2ステージにおいてはランチレジスタ201゜2
02からの指数は加算器203で加算されたうえランチ
レジスタ204にランチされるが、ラッチレジスタ20
5,206からの仮数については乗算器207で部分積
が演算される。本例での乗算器207は41セjの乗算
回路よりなシ乗算回路各各は16ビツト×16ビツトの
乗算を行ない乗算結果は32ビツトとして出方されるよ
うになっておシ、それら乗兵回路各々の出力はラッチレ
ジスタ208〜211にラッチされるものとなっている
。第3ステージにおいてはランチレジスタ204からの
指数は単にランチレジスタ216にランチされるだけで
ある。仮数についてはランチレジスタ208〜211か
らの部分積は加算器212で所定に桁合せされた状態で
加算され、加算結果(仮数乗算結果)はランチレジスタ
215にランチされる一方、その加算結果よシ正規化カ
ウンタ213は後に行なわれる加算結果の左方向へのシ
フト数を検出するようになっている。正規化カウンタ2
13の出力はランチレジスタ214にランチされるが、
これにもとづいて第4ステージにおいてはシフタ217
でラッチレジスタ215からの加算結果は左方向ヘシフ
トされることによって加算結果の正規化が行なわれるも
のである。この左方向へのシフトに伴いランチレジスタ
216からの指数は加算器218でそのシフト数分だけ
減じられるところとなるものである。したがって、別途
得られる乗算結果の符号とともに加算器218からの指
数やシフタ217からの仮数乗算結果を所定のフォーマ
ントで取シ出すようにすれば、目的とする乗算結果が得
られるものである。なお、加算器212からの加算結果
に桁゛あふれがある場合にはその加算結果はシフタ21
7で右方向に1ビツトシフトされ、また、ランチレジス
タ216からの指数には加算器218で1加算されるよ
うになっている。
02からの指数は加算器203で加算されたうえランチ
レジスタ204にランチされるが、ラッチレジスタ20
5,206からの仮数については乗算器207で部分積
が演算される。本例での乗算器207は41セjの乗算
回路よりなシ乗算回路各各は16ビツト×16ビツトの
乗算を行ない乗算結果は32ビツトとして出方されるよ
うになっておシ、それら乗兵回路各々の出力はラッチレ
ジスタ208〜211にラッチされるものとなっている
。第3ステージにおいてはランチレジスタ204からの
指数は単にランチレジスタ216にランチされるだけで
ある。仮数についてはランチレジスタ208〜211か
らの部分積は加算器212で所定に桁合せされた状態で
加算され、加算結果(仮数乗算結果)はランチレジスタ
215にランチされる一方、その加算結果よシ正規化カ
ウンタ213は後に行なわれる加算結果の左方向へのシ
フト数を検出するようになっている。正規化カウンタ2
13の出力はランチレジスタ214にランチされるが、
これにもとづいて第4ステージにおいてはシフタ217
でラッチレジスタ215からの加算結果は左方向ヘシフ
トされることによって加算結果の正規化が行なわれるも
のである。この左方向へのシフトに伴いランチレジスタ
216からの指数は加算器218でそのシフト数分だけ
減じられるところとなるものである。したがって、別途
得られる乗算結果の符号とともに加算器218からの指
数やシフタ217からの仮数乗算結果を所定のフォーマ
ントで取シ出すようにすれば、目的とする乗算結果が得
られるものである。なお、加算器212からの加算結果
に桁゛あふれがある場合にはその加算結果はシフタ21
7で右方向に1ビツトシフトされ、また、ランチレジス
タ216からの指数には加算器218で1加算されるよ
うになっている。
このように通常のパイプライン動作時にめっでは4マシ
/サイクルの遅れはあるにしても1マシンサイクル毎に
乗算結果が得られるが、単発演算をもそのようにして行
なう場合はデータ入力時点から4マシンサイクル後に演
算結果が得られることになる。しかしながら、ラッチレ
ジスタ201゜202.204,205,206,20
8〜21工。
/サイクルの遅れはあるにしても1マシンサイクル毎に
乗算結果が得られるが、単発演算をもそのようにして行
なう場合はデータ入力時点から4マシンサイクル後に演
算結果が得られることになる。しかしながら、ラッチレ
ジスタ201゜202.204,205,206,20
8〜21工。
214〜216を単発演算時にバイパス制御信号219
によってバイパスモードにおく場合は、各ステージでの
アイドル時間なくして演算が非同期で実行されることに
なシ、その分演算の高速化が図れるものである。例えば
1マシンサイクルを167nsとして、乗算器をTTL
として構成した場合にはデータ入力時点から380ns
程度経過後に演算結果が得られ、演算時間は1 / 1
.7程度に短縮され得るものである。
によってバイパスモードにおく場合は、各ステージでの
アイドル時間なくして演算が非同期で実行されることに
なシ、その分演算の高速化が図れるものである。例えば
1マシンサイクルを167nsとして、乗算器をTTL
として構成した場合にはデータ入力時点から380ns
程度経過後に演算結果が得られ、演算時間は1 / 1
.7程度に短縮され得るものである。
最後にラッチレジスタの構成例を第9図、第10図によ
シ説明する。
シ説明する。
先ず第9図よシ説明すれば、ランチレジスタ本体301
の出力側にセレクタ302を設け、バイパス制御信号3
03によってセレクタ302を制御することによシセレ
クタ302はランチレジスタ本体301からの出力かラ
ンチレジスタ本体300への入力か何れが一方を選択的
に出方するようにしてなる。この場合2ンチレジスタ本
体301にはラッチ信号が予め定められたタイミングで
与えられ、通常のパイプライン動作時にあってはランチ
レジスタ本体301からの出方がセレクタ302を介し
次ステージ入力となるが、単発演算時にはランチレジス
タ本体301への入力がセレクタ302を介しそのまま
次ステージ入力とじて与えられるわけである。
の出力側にセレクタ302を設け、バイパス制御信号3
03によってセレクタ302を制御することによシセレ
クタ302はランチレジスタ本体301からの出力かラ
ンチレジスタ本体300への入力か何れが一方を選択的
に出方するようにしてなる。この場合2ンチレジスタ本
体301にはラッチ信号が予め定められたタイミングで
与えられ、通常のパイプライン動作時にあってはランチ
レジスタ本体301からの出方がセレクタ302を介し
次ステージ入力となるが、単発演算時にはランチレジス
タ本体301への入力がセレクタ302を介しそのまま
次ステージ入力とじて与えられるわけである。
次に第10図に示す例について説明すれば、本例でのも
のはラッチレジスタ本体の内部を入力データが即通過し
得るとした場合での各ピント共通回路部分と1ピット分
の回路構成を具体的に示したものである。図示の如くバ
イパス制御信号(へ)412やラッチ信号←)413が
直接入力されるナンドゲー)401,407およびイン
バータ402が各ピント共通回路部分となっている。先
ずラッチレジスタとして機能する場合について説明す九
ば、この場合にはバイパス制御信号412はその信劫状
態がいわゆるハイレベル状態におかれるから、図示の回
路構成ではナンドゲー)403゜404.408,4o
9への影Vはなく、ラッチ信号413の信号状態如何に
よっている。肌ち、ランチ信号413がいわゆるローレ
ベル状態にある間においてはナンドゲー)403,40
4によってナントゲート405,406よ、!7なるク
ロスカップル構成のRSフリッグ7コップには人力デー
タが保持されることになる。このよ5な状態でラッチ信
号413かハイレベル状態になれは、インバータ4o2
、ナントゲート4o7をit L テfンドゲート40
8,409が開かれることになシ、しカルて、ナンドゲ
ー)405,406よシなるR87リツプフロツプの保
持データはナンドゲー)410,411よシなるクロス
カップル構成のRSフリンプフロツブに転送保持される
ところとなるものである。次にバイパスモード状態にお
かれる場合について説明すれば、この場合にはバイパス
制御信号412はローレベル状態におかれるから、ラッ
チ信号413とは無関係にナンドゲー)403,404
,408,409は開かれていることになる。しかして
、入力データは僅かな遅れを以てナントゲート410よ
シその″!マ得られるものである。
のはラッチレジスタ本体の内部を入力データが即通過し
得るとした場合での各ピント共通回路部分と1ピット分
の回路構成を具体的に示したものである。図示の如くバ
イパス制御信号(へ)412やラッチ信号←)413が
直接入力されるナンドゲー)401,407およびイン
バータ402が各ピント共通回路部分となっている。先
ずラッチレジスタとして機能する場合について説明す九
ば、この場合にはバイパス制御信号412はその信劫状
態がいわゆるハイレベル状態におかれるから、図示の回
路構成ではナンドゲー)403゜404.408,4o
9への影Vはなく、ラッチ信号413の信号状態如何に
よっている。肌ち、ランチ信号413がいわゆるローレ
ベル状態にある間においてはナンドゲー)403,40
4によってナントゲート405,406よ、!7なるク
ロスカップル構成のRSフリッグ7コップには人力デー
タが保持されることになる。このよ5な状態でラッチ信
号413かハイレベル状態になれは、インバータ4o2
、ナントゲート4o7をit L テfンドゲート40
8,409が開かれることになシ、しカルて、ナンドゲ
ー)405,406よシなるR87リツプフロツプの保
持データはナンドゲー)410,411よシなるクロス
カップル構成のRSフリンプフロツブに転送保持される
ところとなるものである。次にバイパスモード状態にお
かれる場合について説明すれば、この場合にはバイパス
制御信号412はローレベル状態におかれるから、ラッ
チ信号413とは無関係にナンドゲー)403,404
,408,409は開かれていることになる。しかして
、入力データは僅かな遅れを以てナントゲート410よ
シその″!マ得られるものである。
以東説明したように本発明は、各ステージでの演算時間
は一般に不均一であってアイドル時間があることに着目
し、単発演算が行なわれる場合には各ステージ間に設け
られている一時記憶手段を結果的に除去するようにした
ものである。したがって本発明による場合は、単発演算
が行なわれる場合には非同期で演算が行なわれアイドル
時間も演算に有効に利用し得るから、単発演算の演算結
来が速やかにして得られるという効果がある。
は一般に不均一であってアイドル時間があることに着目
し、単発演算が行なわれる場合には各ステージ間に設け
られている一時記憶手段を結果的に除去するようにした
ものである。したがって本発明による場合は、単発演算
が行なわれる場合には非同期で演算が行なわれアイドル
時間も演算に有効に利用し得るから、単発演算の演算結
来が速やかにして得られるという効果がある。
第1図は、本発明に係るプロセッサの全体構成を示す図
、第2図、第3図、第4図は、その構成における演算ユ
ニット、レジスタファイル、メモリ部・アドレス演算部
の構成をそれぞれ示す図、第5図は、本発明によるパイ
プライン演算回路の一例での概要構成を示す図、第6図
、第7図は、本発明に係るパイプライン加算器、パイプ
ライン乗算器の構成を70−ティング用の返のとしてそ
れぞれ示す図、第8図(a) 、 (b)は、その加算
器、乗算器でのパイプライン処理を説明するだめの図、
第9図、第10図は、本発明に係るランチレジスタの構
成例をそれぞれ示す図である。 60.62.64・・・(第1〜第3段目のステージ対
応の主回路としCの)組合せ論理回路、61゜63・・
・(バイパス可)ラッチレジスタ。 代理人 弁理士 秋本正実 箔8図 (aン lマシンザク)I− 第9口 も10図
、第2図、第3図、第4図は、その構成における演算ユ
ニット、レジスタファイル、メモリ部・アドレス演算部
の構成をそれぞれ示す図、第5図は、本発明によるパイ
プライン演算回路の一例での概要構成を示す図、第6図
、第7図は、本発明に係るパイプライン加算器、パイプ
ライン乗算器の構成を70−ティング用の返のとしてそ
れぞれ示す図、第8図(a) 、 (b)は、その加算
器、乗算器でのパイプライン処理を説明するだめの図、
第9図、第10図は、本発明に係るランチレジスタの構
成例をそれぞれ示す図である。 60.62.64・・・(第1〜第3段目のステージ対
応の主回路としCの)組合せ論理回路、61゜63・・
・(バイパス可)ラッチレジスタ。 代理人 弁理士 秋本正実 箔8図 (aン lマシンザク)I− 第9口 も10図
Claims (1)
- 【特許請求の範囲】 1、ステージとしての組合せ論理回路の間に一時記憶用
のランチレジスタが設けられるようにしてなるパイプラ
イン演算回路において、単発演算時ランチレジスタの内
部あるいは外部を、外部からの制御によシ入カデータが
通過あるいはバイパスされる構成を特徴とするパイプラ
イン演算回路。 2、組合せ論理回路が70−ティング演算用としてなる
特許請求範囲第1項記載のパイプライン演算回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57215595A JPS59106043A (ja) | 1982-12-10 | 1982-12-10 | パイプライン演算回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57215595A JPS59106043A (ja) | 1982-12-10 | 1982-12-10 | パイプライン演算回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS59106043A true JPS59106043A (ja) | 1984-06-19 |
Family
ID=16675028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57215595A Pending JPS59106043A (ja) | 1982-12-10 | 1982-12-10 | パイプライン演算回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS59106043A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6188333A (ja) * | 1984-10-06 | 1986-05-06 | Nec Corp | 2進演算回路 |
JPS61199122A (ja) * | 1985-03-01 | 1986-09-03 | Matsushita Electric Works Ltd | デ−タ演算装置 |
JPH031226A (ja) * | 1989-05-29 | 1991-01-07 | Mitsubishi Electric Corp | データ処理装置 |
WO2005091005A3 (en) * | 2004-03-10 | 2009-05-28 | Koninkl Philips Electronics Nv | Electronic circuit |
-
1982
- 1982-12-10 JP JP57215595A patent/JPS59106043A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6188333A (ja) * | 1984-10-06 | 1986-05-06 | Nec Corp | 2進演算回路 |
JPS61199122A (ja) * | 1985-03-01 | 1986-09-03 | Matsushita Electric Works Ltd | デ−タ演算装置 |
JPH031226A (ja) * | 1989-05-29 | 1991-01-07 | Mitsubishi Electric Corp | データ処理装置 |
WO2005091005A3 (en) * | 2004-03-10 | 2009-05-28 | Koninkl Philips Electronics Nv | Electronic circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4075704A (en) | Floating point data processor for high speech operation | |
US4393468A (en) | Bit slice microprogrammable processor for signal processing applications | |
US5357237A (en) | In a data processor a method and apparatus for performing a floating-point comparison operation | |
US4179734A (en) | Floating point data processor having fast access memory means | |
EP0100511B1 (en) | Processor for fast multiplication | |
EP0450802B1 (en) | Floating point arithmetic unit | |
KR20030011071A (ko) | 결합된 곱셈-축적 유닛을 가지고 있는 디지털 신호 프로세서 | |
US4509144A (en) | Programmable bidirectional shifter | |
JPH02294820A (ja) | 浮動小数点数演算処理装置および演算処理方法 | |
US3699326A (en) | Rounding numbers expressed in 2{40 s complement notation | |
JPH0542013B2 (ja) | ||
US5222230A (en) | Circuitry for transferring data from a data bus and temporary register into a plurality of input registers on clock edges | |
JP2807343B2 (ja) | 情報処理システム | |
JPS6061864A (ja) | 並列ベクトル・プロセツサ | |
EP0295788A2 (en) | Apparatus and method for an extended arithmetic logic unit for expediting selected operations | |
JPH0139131B2 (ja) | ||
US4631672A (en) | Arithmetic control apparatus for a pipeline processing system | |
US3001708A (en) | Central control circuit for computers | |
JPS6227412B2 (ja) | ||
JPS59106043A (ja) | パイプライン演算回路 | |
US6263424B1 (en) | Execution of data dependent arithmetic instructions in multi-pipeline processors | |
US3500027A (en) | Computer having sum of products instruction capability | |
JPS58149542A (ja) | デ−タ処理装置 | |
JPH02213938A (ja) | 演算装置 | |
JPH04130537A (ja) | データ処理装置 |