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

パイプライン演算器

Info

Publication number
JPH09114663A
JPH09114663A JP7293492A JP29349295A JPH09114663A JP H09114663 A JPH09114663 A JP H09114663A JP 7293492 A JP7293492 A JP 7293492A JP 29349295 A JP29349295 A JP 29349295A JP H09114663 A JPH09114663 A JP H09114663A
Authority
JP
Japan
Prior art keywords
stage
flip
input
result
arithmetic unit
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
Application number
JP7293492A
Other languages
English (en)
Inventor
Hideya Akashi
英也 明石
Masanao Ito
昌尚 伊藤
Keimei Fujii
啓明 藤井
Naonobu Sukegawa
直伸 助川
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 JP7293492A priority Critical patent/JPH09114663A/ja
Publication of JPH09114663A publication Critical patent/JPH09114663A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】演算結果の出力間隔が小さいパイプライン演算
器で、演算結果を得るまでの時間を小さくすることをも
可能とし、パイプライン演算器としての性能を向上する
ことを目的とする。 【解決手段】一つ以上のステージの論理回路に、前ステ
ージの論理演算結果をラッチするフリップフロップ群の
出力および該フリップフロップ群の入力のいずれかを選
択して入力することができる論理を備え、不連続に入力
信号を受けた場合、一部のステージにおいて、ステージ
の論理回路に前ステージのフリップフロップ群の入力信
号を直接入力し、当該ステージ間のフリップフロップ群
をラッチせずに通過させる。これにより、複数サイクル
に複数ステージの論理演算を行ない、ラッチせずに通過
したフリップフロップ群の入出力遅延時間を回避する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、論理回路を複数の
ステージに分割して構成するパイプライン演算器に関す
る。
【0002】
【従来の技術】従来、入力信号に論理演算を施して出力
信号とする論理回路を、複数のステージに分割して構成
するパイプライン演算器においては、各ステージで行な
う論理演算およびパイプライン演算器のステージ数は固
定であった。例えば、DEC社のプロセッサ21064
(商品名)の浮動小数点の演算器は5段のパイプライン
構成である。
【0003】
【発明が解決しようとする課題】図11に、上記従来技
術によるパイプライン演算器の構成を示す。
【0004】図において、900a,900b,900
c,900dはフリップフロップ群であり、それぞれ、
クロックイネーブル信号線930a,930b,930
c,930dが”1”となったときにフリップフロップ
への入力信号線920a,920b,920c,920
dの値をラッチし、ラッチした値をフリップフロップの
出力信号線940a,940b,940c,940dに
出力する。通常のパイプライン演算器では、クロックイ
ネーブル信号線930a,930b,930c,930
dはクロック線930に接続される。
【0005】論理回路950a,950b,950c
は、それぞれ、1ステージ分の論理演算を行なう回路で
あり、入力信号に論理演算s1,s2,s3を順に施し
て出力信号を得る。
【0006】図11のパイプライン演算器の入力信号線
920aに、クロック毎に入力i0,i1,i2,i3
を順に与えたときの動作を説明する。
【0007】サイクル0で入力信号線920aに入力信
号i0を入力すると、サイクル0の終わりにクロック線
930が立ち上がり、フリップフロップ群900aに入
力信号i0の値がラッチされる。
【0008】サイクル1で入力信号線920aに入力信
号i1を入力すると、フリップフロップ群900aの出
力940aは入力信号i0の値となり、その入力信号i
0に論理演算s1を施した値i0aがフリップフロップ
900bの入力信号線920bに入力される。これによ
り、サイクル1の終わりに、フリップフロップ群900
aにi1、フリップフロップ群900bにi0aの値が
それぞれラッチされる。
【0009】サイクル2で入力信号線920aに入力信
号i2を入力すると、フリップフロップ群900bの出
力940bは入力信号i0aの値となり、その入力信号
i0aに論理演算s2を施した値i0bがフリップフロ
ップ900cの入力信号線920cに入力される。ま
た、フリップフロップ群900aの出力940aは入力
信号i1の値となり、その入力信号i1に論理演算s1
を施した値i1aがフリップフロップ900bの入力信
号線920bに入力される。これにより、サイクル2の
終わりに、フリップフロップ群900aにi2、フリッ
プフロップ群900bにi1a、フリップフロップ群9
00cにi0bの値がそれぞれラッチされる。
【0010】サイクル3で入力信号線920aに入力信
号i3を入力すると、フリップフロップ群900cの出
力940cは入力信号i0bの値となり、その入力信号
i0bに論理演算s3を施した値i0cがフリップフロ
ップ900dの入力信号線920dに入力される。フリ
ップフロップ群900bの出力940bは入力信号i1
aの値となり、その入力信号i1aに論理演算s2を施
した値i1bがフリップフロップ900cの入力信号線
920cに入力される。フリップフロップ群900aの
出力940aは入力信号i2の値となり、その入力信号
i2に論理演算s1を施した値i2aがフリップフロッ
プ900bの入力信号線920bに入力される。これに
より、サイクル3の終わりに、フリップフロップ群90
0aにi3、フリップフロップ群900bにi2a、フ
リップフロップ群900cにi1b、フリップフロップ
群900dにi0cの値がそれぞれラッチされる。
【0011】以上の動作により、サイクル4でフリップ
フロップ群900dの出力信号線940dから入力信号
i0に論理演算s1,s2,s3を施した値i0cを得
ることができる。同様にサイクル5でi1c、サイクル
6でi2c、サイクル7でi3cを得ることができる。
【0012】このようにパイプライン演算器では、入力
信号を毎サイクル与えると、対応する演算結果を一定サ
イクル後から毎サイクル出力できる。
【0013】図11のパイプライン演算器を25MHz
で動作させることを考える。このとき、各ステージの信
号伝搬時間は40ns以内にする必要がある。
【0014】信号の伝搬時間の計算時には、クロックス
キュー、フリップフロップのセットアップタイム等の影
響を考慮するため、フリップフロップの入力信号および
出力信号に一定の遅延時間を加える。クロックスキュー
とは、クロックが連続するステージのフリップフロップ
に到着するタイミングがずれることである。例えば、前
のステージにクロックが遅く到着し、後のステージにク
ロックが早く到着すると、このステージの論理演算を1
サイクルより短い時間で行なう必要がある。セットアッ
プタイムとは、フリップフロップのラッチ前に一定時間
入力信号を固定する時間であり、セットアップタイムを
守らなければ正しい値をラッチできない。このため、最
悪の場合でのクロックスキューやセットアップタイムを
満たすように、入力および出力の遅延時間を設定する。
【0015】図11のパイプライン演算器で、フリップ
フロップの入力遅延時間および出力遅延時間をそれぞれ
5nsとすると、25MHz動作のときの各ステージの
信号伝搬時間40nsから入力遅延時間5nsと出力遅
延時間5nsを引いて、論理演算s1,s2,s3はそ
れぞれ30ns以下の遅延時間としなければならない。
【0016】図11のパイプライン演算器を、クロック
の周波数を50MHzに上げて高速化することを考え
る。このとき、各ステージは20nsで動作する必要が
あり、フリップフロップの入出力遅延時間(それぞれ5
ns)を考慮すると、各ステージの論理演算はそれぞれ
10ns以下の遅延時間としなければならない。したが
って、遅延時間30nsの論理演算では演算時間が間に
合わないので、論理演算s1,s2,s3を更に分割し
て、各ステージの論理遅延を短くしなければならない。
そのため、図11のパイプライン演算器は30nsの論
理演算3段で構成しているが、50MHzのパイプライ
ン演算器は10nsの論理演算9段の構成となる。その
結果、図11のパイプライン演算器では入力後40ns
×3段=120nsで演算結果を得ることができるが、
50MHzのパイプライン演算器では演算結果を得るの
に入力後20ns×9段=180nsかかる。
【0017】このように従来のパイプライン演算器で
は、クロック周波数を上げてデータの出力間隔を小さく
すると、演算結果を得るまでの時間が長くなり、演算結
果を入力として更に演算を行なう場合に性能が低下する
という問題がある。
【0018】本発明の目的は、演算結果の出力間隔が小
さいパイプライン演算器で、演算結果を得るまでの時間
を小さくすることをも可能とし、パイプライン演算器と
しての性能を向上することにある。
【0019】
【課題を解決する手段】上記目的を達成するため、本発
明の請求項1に係るパイプライン演算器は、入力信号に
論理演算を施して出力信号とする論理回路を複数のステ
ージに分割し、各ステージ間に前ステージの論理演算結
果をラッチして次ステージに出力するフリップフロップ
群を備え、最初のサイクルで入力信号に先頭ステージの
論理演算を施して、該中間結果を、該先頭ステージの論
理演算結果をラッチするフリップフロップ群に格納し、
次のサイクルで該フリップフロップ群に格納された中間
結果に次ステージの論理演算を施して、該中間結果を、
該次ステージの論理演算結果をラッチするフリップフロ
ップ群に格納し、これを各ステージについて繰り返すこ
とで、複数サイクル後に、最終ステージから、最初のサ
イクルの入力信号に所定の論理演算を施した出力値を出
力するパイプライン演算器において、上記複数のステー
ジのうちの一つ以上のステージの論理回路に、前ステー
ジの論理演算結果をラッチするフリップフロップ群から
の出力または前ステージの論理演算結果をラッチするフ
リップフロップ群への入力のいずれかを選択して入力す
ることができる論理を備えたことを特徴とする。
【0020】請求項2に係る発明は、請求項1に記載の
パイプライン演算器において、連続して入力信号を受け
た場合、各ステージの論理回路に前ステージの論理演算
結果をラッチするフリップフロップ群からの出力を入力
し、一サイクルに一ステージ分の論理演算を行なって、
最終ステージから毎サイクル出力値を得ることを特徴と
する。
【0021】請求項3に係る発明は、請求項1または2
に記載のパイプライン演算器において、不連続に入力信
号を受けた場合、一部の所定のステージの論理回路に、
前ステージの論理演算結果をラッチするフリップフロッ
プ群への入力信号を直接入力し、それらのステージ間の
フリップフロップ群をラッチせずに通過させることで、
複数サイクルを使って複数ステージ分の論理演算を行な
い、全ステージ間のフリップフロップ群に毎サイクル中
間値を格納した場合と比較して、早く出力値を得ること
ができることを特徴とする。
【0022】請求項4に係る発明は、請求項1から3の
いずれか1つに記載のパイプライン演算器において、各
ステージ間のフリップフロップ群に中間結果をラッチす
るか、中間結果をラッチせずに通過させるかを、入力信
号の到着間隔に応じて決定することを特徴とする。
【0023】請求項5に係る発明は、請求項1から3の
いずれか1つに記載のパイプライン演算器において、各
ステージ間のフリップフロップ群に中間結果をラッチす
るか、中間結果をラッチせずに通過させるかを、外部か
ら指示することを特徴とする。
【0024】本発明に係るパイプライン装置では、一つ
以上のステージの論理回路に、前ステージのフリップフ
ロップ群の出力または前ステージのフリップフロップ群
の入力のいずれかを選択して入力することができる論理
を持つため、一部のステージにおいて、ステージの論理
回路に前ステージのフリップフロップ群の入力信号を直
接入力し、当該ステージ間のフリップフロップをラッチ
せずに通過させることができる。したがって、全ステー
ジでラッチした場合と比較して、通過したステージのフ
リップフロップの入出力遅延時間を削減することがで
き、演算結果を得るまでの時間を短縮できる。また、全
ステージでラッチすることもでき、この場合には演算結
果の出力間隔を小さくできる。この様に、結果を得るま
での時間を小さくする演算器と、結果の出力間隔を小さ
くする演算器の両方を、一つのパイプライン演算器で実
現できる。
【0025】
【発明の実施の形態】以下、図面を用いて本発明の実施
の形態を説明する。
【0026】(実施の形態例1)まず、本発明の第1の
実施の形態を図1〜図3を用いて説明する。図1は、本
発明に係るパイプライン演算器を示す。
【0027】100a〜100gは、それぞれ、入力信
号線120a〜120gを、クロックイネーブル信号線
130a〜130gの立ち上がりでラッチするフリップ
フロップ群である。150b,150c,150e,1
50fは、セレクト信号線160b,160c,160
e,160fが”0”のとき、フリップフロップ群10
0b,100c,100e,100fの出力信号を論理
回路110b,110c,110e,110fに入力
し、セレクト信号線160b,160c,160e,1
60fが”1”のとき、フリップフロップ群100b,
100c,100e,100fの入力信号120b,1
20c,120e,120fを論理回路110b,11
0c,110e,110fに直接入力するセレクタであ
るが、セレクタの代わりに透過型フリップフロップやバ
ス等を用いてもかまわない。
【0028】160は、クロックイネーブル信号線13
0a〜130gおよびセレクト信号線160b,160
c,160e,160fを制御するためのパイプライン
演算器の制御回路である。
【0029】信号線220aは入力有効信号であり、次
のクロックの立ち上がりで有効な入力信号がフリップフ
ロップ群100aにラッチされることを示す。
【0030】270は次サイクル入力有効信号であり、
2クロック後(次の次のクロック)の立ち上がりで有効
な入力信号がフリップフロップ群100aにラッチされ
ることを示す。
【0031】このパイプライン演算器は50MHz(1
クロックサイクル20ns)で動作し、論理回路110
a〜110fは遅延時間が10ns、フリップフロップ
100a〜100gは入出力遅延時間がそれぞれ5n
s、セレクタ150b,150c,150e,150f
の遅延時間は小さく無視できるとするが、本発明は任意
の周波数および遅延時間のパイプライン演算器に対して
有効である。
【0032】本形態例のパイプライン演算器は、動作モ
ード0または動作モード1のいずれかで動作する。
【0033】動作モード0は、セレクト信号線160
b,160c,160e,160fが”0”のモードで
あり、入力信号に対して1クロック毎に100a,10
0b,100c,100d,100e,100f,10
0gの順に論理演算を施しながら中間結果をラッチし、
信号を伝搬させる。このモードでは、フリップフロップ
群100aに入力信号をラッチしてから6クロック後
に、フリップフロップ群100gに論理演算の結果をラ
ッチする。入力信号線120aに入力信号を毎クロック
入力することで、6クロック目以降は毎クロック演算結
果を出力信号線140gから得ることができる。
【0034】動作モード1は、セレクト信号線160
b,160c,160e,160fが”1”のモードで
あり、入力信号をフリップフロップ群100aにラッチ
すると、始めの2サイクルでセレクタ150b,150
cを通してフリップフロップ群100b,100cにラ
ッチせずに信号を伝搬し、100a〜100cの論理演
算を施して、フリップフロップ群100dに中間結果を
ラッチする。そして、次の2サイクルで、セレクタ15
0e,150fを通してフリップフロップ群100e,
100fにラッチせずに信号を伝搬し、100d〜10
0fの論理演算を施して、フリップフロップ群100g
に演算結果をラッチする。信号の伝搬遅延時間は、フリ
ップフロップの出力遅延時間5ns、論理演算3段30
ns、およびフリップフロップの入力遅延時間5nsを
合わせた40nsであり、2クロック(20ns/クロ
ック×2クロック=40ns)で3段伝搬できることが
わかる。
【0035】この動作モード1では、フリップフロップ
群100aに入力信号をラッチしてから4クロック後
に、フリップフロップ群100gに論理演算の結果をラ
ッチする。入力信号線120aに入力信号を2クロック
毎に入力することで、4クロック目以降2クロックに1
個の演算結果を出力信号線140gから得ることができ
る。
【0036】このように、本実施形態例では、パイプラ
イン演算器に毎クロック演算命令を入力できるかわりに
演算結果を得るまでのサイクル数が長い動作モード0
と、2クロックに1つの演算命令しか入力できないが演
算結果を得るまでの時間が短い動作モード1との両方を
備える点に特徴がある。
【0037】図2に、図1のパイプライン演算器の制御
回路160の詳細な構成を示す。
【0038】フリップフロップ200a〜200gは、
動作モード0のときに、対応するフリップフロップ群1
00a〜100gに有効なデータを保持していることを
示す1ビットのフラグである。
【0039】フリップフロップ200a,200h,2
00d,200i,200gは、動作モード1のとき
に、対応するフリップフロップ群100a,100a,
100d,100d,100gに有効なデータを保持し
ていることを示す1ビットのフラグである。動作モード
1では、2クロックでフリップフロップ100aのデー
タに対する論理演算S1,S2,S3を実行するので、
その2クロックの間フリップフロップ群100aに有効
なデータを保持しなければならない。フリップフロップ
200aは始めのクロックにおいてフリップフロップ群
100aに有効なデータを保持していることを示し、フ
リップフロップ200hは2番目のクロックにおいてフ
リップフロップ群100aに有効なデータを保持してい
ることを示す。フリップフロップ200d,200iも
同様である。
【0040】250a,250bは、動作モード0のと
きにフリップフロップ200d,200gにフリップフ
ロップ200c,200fの出力信号210c,210
fをそれぞれ入力し、動作モード1のときにフリップフ
ロップ200d,200gにフリップフロップ200
h,200iの出力信号210h,210iをそれぞれ
入力するためのセレクタである。
【0041】信号線280は、フリップフロップ200
a〜200eのいずれかが”1”の場合に”1”となる
信号線で、動作モード0で次サイクルにパイプライン演
算器内に論理演算中のデータが存在することを示す。信
号線285は、フリップフロップ200a,200h,
200dのいずれかが”1”の場合に”1”となる信号
線で、動作モード1で次サイクルにパイプライン演算器
内に論理演算中のデータが存在することを示す。
【0042】状態制御回路290は、このパイプライン
演算器の動作モードを制御する。
【0043】図3に、パイプライン演算器の動作モード
の遷移を示す。まず、パイプライン演算器内に論理演算
中のデータが存在する場合、パイプライン演算器の動作
モードは変更しない。また、動作モード0において下記
の条件Bが成立していない場合、および動作モード1に
おいて下記の条件Aが成立していない場合も、動作モー
ドは変更しない。
【0044】動作モード1において、条件Aが成立した
とき動作モードを0に変更する。すなわち、入力有効信
号220aが”1”、かつ、次サイクル入力有効信号2
70が”1”、かつ、論理演算中のデータが存在しない
場合(動作モード1で信号線285が”0”)、パイプ
ライン演算器の動作モードを0に変更する。これによ
り、パイプライン演算器への入力が連続する場合に動作
モード0となり、結果の出力間隔を小さくすることがで
きる。
【0045】動作モード0において、条件Bが成立した
とき動作モードを1に変更する。すなわち、入力有効信
号220aが”1”、かつ、次サイクル入力有効信号2
70が”0”、かつ、論理演算中のデータが存在しない
場合(動作モード0で信号線280が”0”)、パイプ
ライン演算器の動作モードを1に変更する。これによ
り、パイプライン演算器への入力が連続しない場合に動
作モード1となり、結果を得るまでの時間を短縮するこ
とができる。
【0046】以上で本発明の第1の実施の形態の説明を
終える。
【0047】(実施の形態例2)本発明の第2の実施の
形態例を図4〜図6によって説明する。本形態例は、上
記第1の形態例の変形であるため、相違点を中心に説明
する。本形態例は、パイプライン演算器の各ステージの
構成は第1の形態例と同じであるが、パイプライン演算
器を基本部分の組み合わせで構成しその各基本部分の動
作モードを独立に制御する点が異なる。
【0048】図4に、本形態例のパイプライン演算器の
基本部分の構造を示す。この基本部分を何段か組み合わ
せることによりパイプライン演算器を構成する。例え
ば、後述する図5の例では2つの基本部分によりパイプ
ライン演算器を構成する例を説明する。
【0049】図4の基本部分について説明する。300
a〜300cは、それぞれ、入力信号線320a〜32
0cを、クロックイネーブル信号線330a〜330c
の立ち上がりでラッチするフリップフロップ群である。
350b,350cは、セレクト信号線160が”0”
のとき、フリップフロップ群300b,300cの出力
信号を論理回路310b,310cに入力し、セレクト
信号線160が”1”のとき、フリップフロップ群30
0b,300cの入力信号320b,320cを論理回
路310b,310cに直接入力するセレクタである。
【0050】フリップフロップ400a〜400cは、
当該基本部分が動作モード0のとき、対応するフリップ
フロップ群300a〜300cにそれぞれ有効なデータ
を保持していることを示す1ビットのフラグである。フ
リップフロップ400a,400bは、当該基本部分が
動作モード1のとき、対応するフリップフロップ群30
0aに有効なデータを保持していることを示す1ビット
のフラグである。動作モード1では、2クロックでフリ
ップフロップ群300aのデータに対する論理演算S
1,S2,S3を実行するので、その2クロックの間フ
リップフロップ群300aに有効なデータを保持してい
なければならない。フリップフロップ400aはそのう
ちの1番目のクロックにおいてフリップフロップ群30
0aに有効なデータを保持していることを示し、フリッ
プフロップ400bは2番目のクロックにおいてフリッ
プフロップ群300aに有効なデータを保持しているこ
とを示す。
【0051】420aはこの基本部分への入力有効信号
であり、次のクロックの立ち上がりで有効な入力信号が
フリップフロップ群300aにラッチされることを示
す。470はこの基本部分への次サイクル入力有効信号
であり、2クロック後の立ち上がりで有効な入力信号が
フリップフロップ群300aにラッチされることを示
す。
【0052】信号480は、信号線420b,420c
のいずれかが”1”の場合に”1”となる信号線で、動
作モード0で動作中の当該基本部分内に、次のサイクル
において論理演算途中のデータが存在することを示す。
信号線485は、信号線420bが”1”の場合に”
1”となる信号線で、動作モード1で動作中の当該基本
部分内に、次のサイクルにおいて論理演算途中のデータ
が存在することを示す。450は、動作モード0のとき
に後続のパイプライン演算器の基本部分(次基本部分と
呼ぶ)への入力有効信号(420a)としてフリップフ
ロップ400cの出力信号を入力し、動作モード1のと
きに次基本部分への入力有効信号(420a)としてフ
リップフロップ400bの出力信号440bを入力する
ためのセレクタである。すなわち、このセレクタ450
の出力信号440cが次基本部分への入力有効信号42
0aとなる。
【0053】495は、動作モード0のときに次基本部
分への次サイクル入力有効信号(470)としてフリッ
プフロップ400bの出力信号440bを入力し、動作
モード1のときに次基本部分への次サイクル入力有効信
号(470)としてフリップフロップ400aの出力信
号440aを入力するためのセレクタである。すなわ
ち、このセレクタ495の出力信号495cが次基本部
分への次サイクル入力有効信号470となる。
【0054】制御回路490は、パイプライン演算器の
当該基本部分の現在の動作モードを決定する回路であ
る。
【0055】パイプライン演算器の当該基本部分の動作
モードの遷移は図3とほぼ同様であり、以下の通りであ
る。まず、当該基本部分内に論理演算途中のデータが存
在する場合、パイプライン演算器の当該基本部分の動作
モードは変更しない。また、動作モード0において下記
の条件B’(実施形態例1の条件Bに対応する条件)が
成立していない場合、および動作モード1において下記
の条件A’(実施形態例1の条件Aに対応する条件)が
成立していない場合も、動作モードは変更しない。
【0056】動作モード1において条件A’が成立した
とき動作モードを0に変更する。すなわち、当該基本部
分において、入力有効信号420aが”1”、かつ、次
サイクル入力有効信号470が”1”、かつ、論理演算
途中のデータが存在しない場合(動作モード1で信号線
485が”0”)、パイプライン演算器の当該基本部分
の動作モードを0に変更する。これにより、パイプライ
ン演算器の当該基本部分への入力が連続する場合に動作
モード0となり、結果の出力間隔を小さくすることがで
きる。
【0057】動作モード0において条件B’が成立した
とき動作モードを1に変更する。すなわち、当該基本部
分において、入力有効信号420aが”1”、かつ、次
サイクル入力有効信号470が”0”、かつ、論理演算
途中のデータが存在しない場合(動作モードが0で信号
線480が”0”)、パイプライン演算器の当該基本部
分の動作モードは1とする。これにより、パイプライン
演算器の当該基本部分への入力が連続しない場合に動作
モード1となり、結果を得るまでの時間を短縮すること
ができる。
【0058】図5は、図4のパイプライン演算器の基本
部分2つにより構成したパイプライン演算器を示す。図
5において、入力信号および出力信号を表す付番には、
前半の基本部分では「−1」を、後半の基本部分では
「−2」を、それぞれ付した。前半の基本部分の出力信
号320d−1,440c−1,495c−1はそれぞ
れ後半の基本部分の入力信号320a−2,420a−
2,470−2に接続する。このように構成したパイプ
ライン演算器は6段構成となり、2つの基本部分が独立
に動作モード0または動作モード1のいずれかのモード
で動作する。
【0059】このパイプライン演算器に、i0、空き、
i1、i2、i3、空き、空き、i4の順で入力したと
きの動作を図6に示す。図6の横軸はパイプライン演算
器のステージ、縦軸はクロックサイクル単位の時刻であ
る。FF0,FF1,FF2はそれぞれ前半の基本部分
内のフリップフロップ群300a,300b,300c
に対応し、FF3,FF4,FF5はそれぞれ後半の基
本部分内のフリップフロップ群300a,300b,3
00cに対応する。S0,S1,S2はそれぞれ前半の
基本部分内の論理演算回路310a,310b,310
cによる論理演算に対応し、S3,S4,S5はそれぞ
れ後半の基本部分内の論理演算回路310a,310
b,310cによる論理演算に対応する。
【0060】時刻0で入力データi0が入力信号線32
0a(図5の320a−1)に載る。このとき、次サイ
クルの入力データは空き(図6ではO印)であるため、
入力要求信号420a(図5の420a−1)は”
1”、次サイクル入力有効信号470(図6の470−
1)は”0”となる。また、前半の基本部分内には論理
演算途中のデータが無いため、前半の基本部分は時刻1
で動作モード1となり、i0は2クロック後の時刻3で
前半の基本部分の論理演算S0,S1,S2を通過して
フリップフロップ群FF3にラッチされる。
【0061】その後、後半の基本部分内には論理演算途
中のデータが無く、i0の次は空きサイクルであるた
め、後半の基本部分は時刻3で動作モード1となる。こ
の結果、i0は前半/後半の基本部分を動作モード1で
通過し、入力後4サイクル後の時刻5にパイプライン演
算器から演算結果が出力される。
【0062】時刻2で入力データi1が入力信号線32
0aに載る。このとき、次サイクルの入力データはi2
であるため、入力要求信号420aは”1”、次サイク
ル入力有効信号470は”1”となる。また、前半の基
本部分内には論理演算途中のデータが無い(i0は既に
S1,S2,S3が施されFF3にラッチ)ため、前半
の基本部分は時刻3で動作モード0となり、i1は時刻
6で前半の基本部分の論理演算を通過してフリップフロ
ップ群FF3にラッチされる。
【0063】その後、後半の基本部分内には論理演算途
中のデータが無く、i1の次はi2が続くため、後半の
基本部分は時刻6で動作モード0となる。この結果、i
1は前半/後半の基本部分を動作モード0で通過し、入
力後6サイクルの時刻9にパイプライン演算器から演算
結果が出力される。
【0064】入力データi2,i3は前半/後半の基本
部分内に論理演算途中のデータi1が存在するため、動
作モード0で処理される。この結果、i2,i3の演算
結果は、それぞれ、時刻10,11でパイプライン演算
器から出力される。
【0065】時刻7で入力データi4が入力信号線32
0aに載る。このとき、次サイクルの入力データは空き
であるため、入力要求信号420aは”1”、次サイク
ル入力有効信号470は”0”となる。また、前半の基
本部分内には論理演算途中のデータが無いため、前半の
基本部分は時刻8で動作モード1となり、i4は2クロ
ック後の時刻10で前半の基本部分の論理演算を通過し
てフリップフロップ群FF3にラッチされる。
【0066】その後、後半の基本部分内には論理演算途
中のi3のデータが存在するため、動作モード0のまま
となる。この結果、i4は前半の基本部分を動作モード
1、後半の基本部分を動作モード0で通過し、入力後5
サイクルの時刻13にパイプライン演算器から演算結果
が出力される。
【0067】この様に、入力データが連続しないi0,
i4の演算ではレイテンシが短く、入力データが連続す
るi1,i2,i3ではパイプライン演算器のスループ
ットは高くなる。
【0068】以上が第2の実施の形態例2である。本形
態例では、パイプライン演算器の基本部分毎に動作モー
ドを制御することができ、上記第1の実施の形態例と比
較してより効率のよいパイプライン演算器を構成するこ
とができる。
【0069】(実施の形態例3)本発明の第3の実施の
形態例を説明する。本形態例は、演算の中間結果がパイ
プライン演算器のフリップフロップ群を任意の段数ラッ
チされずに通過できる点が上記第1および第2の実施の
形態例と異なる。
【0070】本形態例では、1段(ステージ)当たり1
5nsで処理されるステージ(1クロックサイクルは1
5ns)を5ステージ組み合わせてパイプライン演算器
としたもので、1ステージ内のフリップフロップの入力
遅延時間および出力遅延時間はそれぞれ5nsとする。
よって1ステージ当たりの論理遅延時間(論理回路の処
理時間)は、1クロックサイクルの15nsから入力遅
延時間の5nsと出力遅延時間の5nsを引いて、5n
sとなる。このパイプライン演算器では、フリップフロ
ップを2クロックサイクルの間通過させると(すなわ
ち、入出力部分のフリップフロップのみ使用し、間のス
テージではフリップフロップをスキップして論理演算を
行なうようにする)、4ステージ(5ns+5ns×4
+5ns=30ns)分の論理演算が可能となる。フリ
ップフロップの入力遅延時間5nsと、出力遅延時間5
nsと、kステージ分の論理回路の処理時間5ns×k
とを加算して2クロックサイクル分の時間30nsにす
るためは、k=4とすればよいからである。また同様
に、フリップフロップを3クロックサイクル45nsの
間通過させると、7ステージ(5ns+5ns×7+5
ns=45ns)分の論理演算が可能となる。
【0071】図7に、本形態例のパイプライン演算器の
1ステージの構成を示す。
【0072】フリップフロップ群600は、クロックイ
ネーブル信号線630が”1”のときに入力信号線62
0で与えられる前ステージの論理演算の中間結果を格納
する。650はこのステージの論理演算を行なう論理回
路である。640は論理回路650へ中間結果を与える
信号線であり、LTH信号が”1”ならフリップフロッ
プ群600の値となり、LTH信号が”0”なら入力信
号620の値となる。制御回路690はこのステージの
動作を制御する回路である。
【0073】本形態例では、中間結果をラッチしている
ステージの制御回路690が、後ろのステージに対し
て、ラッチしてからのサイクル数、後続ステージでのラ
ッチ要求等の情報を伝搬し、中間結果をラッチしていな
いステージの制御回路690は前ステージからの情報を
通過させることで、複数段に渡ってこれらのステージで
論理演算中の処理の情報を伝搬させる。以下に伝搬させ
る情報を示す。
【0074】入力信号Ciは、前ステージで論理演算中
の処理がラッチ後何サイクル目であるかを示す。出力信
号Coは、本ステージで論理演算中の処理がラッチ後何
サイクル目であるかを示す。ラッチを行なったステージ
では、ラッチした時点でCoの初期値は1とする。ラッ
チを行なわないステージでは、Co=Ciである。
【0075】入力信号Siは、前ステージで論理演算中
の処理がラッチされずに通過してきたステージ数を示
す。出力信号Soは、本ステージで論理演算中の処理が
ラッチされずに通過してきたステージ数を示す。ラッチ
を行なったステージでは、ラッチした時点でSoの初期
値は0とする。ラッチを行なわないステージでは、So
=Si+1である。
【0076】入力信号Viは、前ステージ以前(前ステ
ージ含む)でラッチされている中間結果が存在するか否
かを示す。出力信号Voは、本ステージ以前(本ステー
ジ含む)でラッチされている中間結果が存在するか否か
を示す。Vi,Voは、中間結果が存在するとき1、し
ないとき0である。ラッチを行なったステージでは、ラ
ッチした時点でVoの初期値は1とする。ラッチを行な
わないステージでは、Vo=Viである。
【0077】入力信号Riは、前ステージで論理演算中
の処理を、本ステージ以降(本ステージ含む)で現サイ
クル終了時(すなわち次サイクル開始時)にラッチする
ことを要求する信号線である。出力信号Roは、本ステ
ージで論理演算中の処理を、次ステージ以降(次ステー
ジ含む)で現サイクル終了時にラッチすることを要求す
る信号線である。Ri,Roは、ラッチ要求するとき
1、それ以外で0である。
【0078】入力信号Aiは、本ステージで論理演算中
の処理を、本ステージ以降(本ステージ含まない)で現
サイクル終了時にラッチすることを示す信号線である。
出力信号Aoは、本ステージで論理演算中の処理を、本
ステージ以降(本ステージ含む)で現サイクル終了時に
ラッチすることを示す信号線である。Ai,Aoは、論
理演算の方向とは逆方向に(後側のステージから前側の
ステージに)伝搬させる信号であり、現サイクル終了時
にラッチするとき1、しないとき0である。Ai=1を
受けたステージでは、当該クロックサイクルで実行して
いる論理演算中の処理が後続の何れかのステージでラッ
チされることが分かり、当該クロックサイクルの処理を
終了してよいことになる。
【0079】信号LTHは、本ステージで、現サイクル
の開始時に中間結果をラッチしていることを示す信号線
である。ラッチしているとき1、していないとき0であ
る。クロックイネーブル信号CEは、本ステージで、現
サイクルの終わりに入力信号620をフリップフロップ
600にラッチすることを示す。
【0080】本形態例のパイプライン演算器は、図6の
1ステージ分の構成を何段か組み合わせ、対応する信号
線を前後のステージで結合して構成する。図8に、図7
の1ステージ分の構成を5段組み合わせた本形態例のパ
イプライン演算器を示す。前段のステージの出力信号R
o,Vo,So,Coをそれぞれ後段のステージの入力
信号Ri,Vi,Si,Ciとする。また後段のステー
ジの出力信号Aoを前段のステージの入力信号Aiとす
る。
【0081】図9に、本形態例のパイプライン演算器の
中間ステージの制御回路690の動作を示す。
【0082】制御回路690の動作は、ステージに中間
結果がラッチされていない場合(LTH=0)とラッチ
されている場合(LTH=1)とで異なる。
【0083】まず、中間結果がラッチされていないステ
ージ(LTH=0の場合)の制御回路690の動作につ
いて説明する。この場合、Co,VoはCi,Viの値
をそれぞれそのまま伝搬させる。SoにはSiの入力値
+1を出力する。これにより、前ステージ以前(前ステ
ージ含む)のラッチしてからのサイクル数、中間結果の
存在、中間結果を格納しているラッチからのステージ数
(何ステージ目か)が伝搬される。
【0084】例えば、あるクロックサイクルの開始時に
おいて、あるステージで中間結果がラッチされ(当該ク
ロックサイクルでは当該ステージから初期値としてCo
=1が出力される)、引き続く当該ステージの後ろ側
に、ラッチしていないステージが何段も続いているとす
る。このとき、ラッチしたステージではCo=1,So
=0であり、その次のステージではCi=1,Si=
0,Co=1,So=1であり、その次のステージでは
Ci=1,Si=1,Co=1,So=2であり、その
次のステージではCi=1,Si=2,Co=1,So
=3であり、…というように、信号が伝搬する。そし
て、この状態すなわちCiの値が1のときは、Siが0
以下のステージ(すなわちSi=0のステージ)まで中
間結果が伝搬する。Ci=1ということは、中間結果を
ラッチしたステージが現クロックサイクル開始時に当該
ラッチを行なったばかりであるということだから、現ク
ロックサイクルの終了時点では当該ラッチしたステージ
の次のステージ(Si=0)まで伝搬すると言うことで
ある。クロックサイクルが1つ進んでCiの値が2にな
ったときは、ラッチしたステージではCo=2,So=
0であり、その次のステージではCi=2,Si=0,
Co=2,So=1であり、その次のステージではCi
=2,Si=1,Co=2,So=2であり、その次の
ステージではCi=2,Si=2,Co=2,So=3
であり、…というように、信号が伝搬する。そして、こ
の状態では、Siが3以下のステージまで(すなわち、
4段分の論理演算を行なうところまで)中間結果が伝搬
する。上述したように、2クロックサイクルで4ステー
ジ分の論理演算が可能だからである。同様に、さらにク
ロックサイクルが1つ進んでCiの値が3になったとき
は、Siが6以下のステージまで中間結果が伝搬する。
上述したように、3クロックサイクルで7ステージ分の
論理演算が可能だからである。
【0085】以下では、中間結果が伝搬する範囲を伝搬
範囲内と表現し、伝搬範囲内でもっともSoの大きいス
テージを伝搬最後尾と表現している。LTH=0のステ
ージは、自ステージが伝搬範囲内か否か、さらに伝搬範
囲内の最後尾か否かは、CiとSiから分かる。例え
ば、Ci=1,Si=0のステージは伝搬範囲内の最後
尾である。また、Ci=2,Si=0〜3のステージは
伝搬範囲内であり、特にSi=3のステージは伝搬範囲
内の最後尾である。Ci=3,Si=0〜6のステージ
は伝搬範囲内であり、特にSi=6のステージは伝搬範
囲内の最後尾である。
【0086】LTH=0のステージで、Riが1のと
き、このステージを通過中の中間結果が現サイクル終了
時に何れかのステージでラッチされなければならないこ
とを示す。このとき、伝搬最後尾のステージでCE=1
とし、通過中の中間結果をラッチする。すなわち、LT
H=0のステージでは、Ri=1かつ伝搬最後尾ならC
E=1として通過中の中間結果をラッチし、それ以外は
CE=0としてラッチはしない。ラッチする場合は、次
サイクルのLTHを1とし、Aoを1としてラッチする
ことを前方のステージに知らせる。ラッチしない場合
は、次サイクルのLTHを0とし、AoをAiの値とす
る。後続のステージにラッチを要求する信号Roは、伝
搬最後尾なら0、それ以外はRiとする。
【0087】次に、中間結果がラッチされているステー
ジ(LTH=1の場合)の制御回路690の動作につい
て説明する。中間結果がラッチされているステージで
は、Coは、ラッチした時点を初期値1とし1サイクル
毎にインクリメントし、ラッチ後のサイクル数を示す。
Soは0として先頭のステージであることを示し、Vo
は1としてデータが存在することを後続ステージに伝搬
させる。LTH=1のステージでも、Vi=1なら前側
の何れかのステージに中間結果がラッチされており、そ
のステージのCo,Soが伝搬してくる。したがって、
LTH=1のステージでも、Ci,Siにより(LTH
=0の場合と同様にして)自ステージが伝搬範囲内か否
か判別することができる。すなわち、LTH=1で伝搬
範囲内のステージは、当該ステージの前側の当該伝搬範
囲に係るステージからみると、1つ先行する中間結果を
格納しているステージとなる。LTH=1で伝搬範囲内
のステージは、Ci,Siにより自ステージが伝搬範囲
内であることを知ることができるが、自ステージではL
TH=1で先行する中間結果をラッチしているので、C
i,Siの伝搬は自ステージまでで止め、CoとSoは
自ステージでのラッチに関する情報を後続のステージに
知らせるために出力する。
【0088】LTH=1のステージにおいて、Viが1
かつCi,Siが伝搬範囲内であることを示す場合、ま
たはRiが1の場合には、前ステージ以前で処理中の中
間結果が本ステージに到達しており、本ステージに中間
結果をラッチする必要がある。そこで、本ステージでC
E=1として通過中の中間結果をラッチし、それ以外は
CE=0としてラッチはしない。ラッチする場合、本ス
テージでAo=1として、本ステージ以前のステージに
対して、現サイクル終了時に中間結果をラッチすること
を知らせる。
【0089】一方、本ステージでは現在ラッチしている
データがあるので、前ステージ以前からの中間結果を本
ステージでラッチする場合には、本ステージでラッチし
ている現在の中間結果を現サイクル終了時に次ステージ
以降でラッチさせる必要がある。そのため、本ステージ
では、Ro=1とする。
【0090】Aiが1の場合、本ステージの中間結果は
次ステージ以降でラッチされるため、Vi=0またはC
i,Siが伝搬範囲外を示すならLTH=0とする。こ
れ以外の場合、前ステージ以前の中間結果が到達してい
るためこれをラッチし、LTH=1とする。なお、LT
H=1のときの次サイクルLTHの説明において、「C
Eは前ステージの入力をフリップフロップに格納する信
号」であるので、CE=1なら次サイクルLTHは1と
なるが、CE=0でもLTH=1なら次サイクルLTH
は1のままとなる。(伝搬範囲外またはVi=0)かつ
Ai=0かつRi=0の場合がこれに該当する。
【0091】パイプライン演算器の先頭ステージでは、
Ci=1,Si=0とし、Ri,Viにはパイプライン
演算器への入力有効信号を接続する。これにより、パイ
プライン演算器に入力があると必ず次サイクル開始時点
で先頭ステージにラッチされる。
【0092】このパイプライン演算器に後続するステー
ジでは、このパイプライン演算器の最終ステージのVo
=1かつCo,Soが伝搬範囲内を示す場合、Ai=1
とし、必ずデータを後続ステージにラッチする。
【0093】本形態例のパイプライン演算器に、i0、
空き、空き、i1、空き、i2、i3、空き、i4、空
き、・・・の順で演算を入力したときの動作を図10に
示す。図10の横軸はパイプライン演算器のステージ、
縦軸はクロックサイクル単位の時刻である。FF0〜F
F4は、それぞれ図8の各ステージ内のフリップフロッ
プ群600に対応する。S0〜S4も、それぞれ図8の
各ステージ内の論理演算回路650による論理演算に対
応する。
【0094】時刻0でi0がFF0の入力信号線に載
る。このとき、FF0へのRi=1となり、時刻1開始
時にi0がFF0にラッチされる。i0の後続は2個空
きがあるため、i0はFF0に3サイクル保持される。
FF1からFF4はLTH=0となりi0を通過させ
る。i0の論理演算結果は、時刻1、時刻2、時刻3の
終わりにそれぞれFF1、FF4、後段に到達する(3
サイクルで7ステージ分の論理演算が可能だが、本例で
は5ステージしかないので時刻3では後段に到達す
る)。時刻3で後段に到達すると、FF4のAiに1が
入力され、FF0のAi入力に伝達される。FF0では
i1の入力によりRi=1となっており、i1がラッチ
される。
【0095】i1の論理演算結果は、時刻4、時刻5の
終わりにそれぞれFF1、FF4に到達するが、時刻5
でi2の入力によりFF0のRi=1となるため、FF
0のRo=1として後続のラッチにi1の論理演算結果
の格納を要求する。この要求に応じて、伝達最後尾であ
るFF4は、時刻5の終了時(時刻6開始時)にi1の
論理演算結果をラッチする。
【0096】i2は時刻6開始時にFF0にラッチされ
るが、次サイクルにi3が続くため1ステージずつ演算
が進行する。i4は時刻9開始時にFF0に格納され、
時刻10の終わりにFF3に伝達される。FF3にはi
3の論理演算結果がラッチされているため、時刻11開
始時に、FF3にi4の論理演算結果が格納され、FF
4にi3の論理演算結果が格納される。i4はこの後1
ステージずつ演算が進行する。
【0097】以上が第3の形態例である。本形態例のパ
イプライン演算器では、前後に入力データが無い場合、
任意のステージをラッチされることなく通過することが
でき、形態例1,2と比較してより効率のよいパイプラ
イン演算器を構成することができる。
【0098】なお、上記第1〜第3の実施の形態例では
各ステージ間のフリップフロップ群に中間結果をラッチ
するか、または中間結果をラッチせずに通過させるか
を、入力信号の到着間隔に応じて決定するようにしてい
る。これに対し、各ステージ間のフリップフロップ群に
中間結果をラッチするか、または中間結果をラッチせず
に通過させるかを、外部から指示するようにしてもよ
い。
【0099】
【発明の効果】本発明によれば、一つ以上のステージの
論理回路に、前ステージの論理演算結果をラッチするフ
リップフロップ群からの出力および該フリップフロップ
群への入力のいずれかを選択して入力することができる
論理を持つので、一部のステージにおいて、ステージの
論理回路に前ステージの論理演算結果をラッチするフリ
ップフロップ群への入力信号を直接入力し、当該ステー
ジ間のフリップフロップをラッチせずに通過させること
で、全ステージでラッチした場合と比較して、通過した
ステージのフリップフロップの入出力遅延時間を削減す
ることができ、演算結果を得るまでの時間を短縮でき
る。
【0100】また、全ステージでラッチすることもで
き、この場合には演算結果の出力間隔を小さくできる。
この様に、結果を得るまでの時間を小さくする演算器
と、結果の出力間隔を小さくする演算器の両方を、一つ
のパイプライン演算器で実現できる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態例に係るパイプライン
演算器を示す図。
【図2】本発明の第1の実施形態例に係るパイプライン
演算器の制御回路の構成図。
【図3】本発明の第1の実施形態例に係る制御回路の動
作を示す図。
【図4】本発明の第2の実施形態例に係るパイプライン
演算器の基本部分の構成図。
【図5】図4の基本部分を組み合わせた本発明の第2の
実施形態例に係るパイプライン演算器の構成図。
【図6】本発明の第2の実施形態例に係るパイプライン
演算器の動作を示す図。
【図7】本発明の第3の実施形態例に係るパイプライン
演算器のステージの構成図。
【図8】図7のステージを5段組み合わせた本発明の第
3の実施形態例に係るパイプライン演算器の構成図。
【図9】本発明の第3の実施形態例に係る制御回路の動
作を示す図。
【図10】本発明の第3の実施形態例に係るパイプライ
ン演算器の動作を示す図。
【図11】従来のパイプライン演算器の構成図。
【符号の説明】
100a〜100g,300a〜300c,600,9
00a〜900d…フリップフロップ群、110a〜1
10f,310a〜310c,650,950a〜95
0c…論理回路、120a〜120g,320a〜32
0c,620,920a〜920d…フリップフロップ
群への入力信号線、130a〜130g,330a〜3
30c,630,930a〜930d…クロックイネー
ブル信号線、930…クロック信号線、140a〜14
0g,340a,640,940a〜940c…フリッ
プフロップ群からの出力信号線、150b,150c,
150e,150f,350b,350c,450…セ
レクタ、160b,160c,160e,160f,1
60…セレクト信号、490,690…制御回路、28
0…入力有効信号、270,470…次サイクル入力有
効信号、200a〜200i,400a〜400c…フ
リップフロップ、210a〜210i,440a〜44
0c…フリップフロップの出力信号線、220a〜22
0i,420a〜420c…フリップフロップへの入力
信号、270…次サイクル入力有効信号線、280…次
ステージへの次サイクル入力有効信号線(動作モード
0)、285…次ステージへの次サイクル入力有効信号
線(動作モード1)。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 助川 直伸 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】入力信号に論理演算を施して出力信号とす
    る論理回路を複数のステージに分割し、各ステージ間に
    前ステージの論理演算結果をラッチして次ステージに出
    力するフリップフロップ群を備え、 最初のサイクルで入力信号に先頭ステージの論理演算を
    施して、該中間結果を、該先頭ステージの論理演算結果
    をラッチするフリップフロップ群に格納し、 次のサイクルで該フリップフロップ群に格納された中間
    結果に次ステージの論理演算を施して、該中間結果を、
    該次ステージの論理演算結果をラッチするフリップフロ
    ップ群に格納し、 これを各ステージについて繰り返すことで、複数サイク
    ル後に、最終ステージから、最初のサイクルの入力信号
    に所定の論理演算を施した出力値を出力するパイプライ
    ン演算器において、 上記複数のステージのうちの一つ以上のステージの論理
    回路に、前ステージの論理演算結果をラッチするフリッ
    プフロップ群からの出力または前ステージの論理演算結
    果をラッチするフリップフロップ群への入力のいずれか
    を選択して入力することができる論理を備えたことを特
    徴とするパイプライン演算器。
  2. 【請求項2】連続して入力信号を受けた場合、各ステー
    ジの論理回路に前ステージの論理演算結果をラッチする
    フリップフロップ群からの出力を入力し、一サイクルに
    一ステージ分の論理演算を行なって、最終ステージから
    毎サイクル出力値を得ることを特徴とする請求項1に記
    載のパイプライン演算器。
  3. 【請求項3】不連続に入力信号を受けた場合、一部の所
    定のステージの論理回路に、前ステージの論理演算結果
    をラッチするフリップフロップ群への入力信号を直接入
    力し、それらのステージ間のフリップフロップ群をラッ
    チせずに通過させることで、複数サイクルを使って複数
    ステージ分の論理演算を行ない、全ステージ間のフリッ
    プフロップ群に毎サイクル中間値を格納した場合と比較
    して、早く出力値を得ることができることを特徴とする
    請求項1または2に記載のパイプライン演算器。
  4. 【請求項4】各ステージ間のフリップフロップ群に中間
    結果をラッチするか、中間結果をラッチせずに通過させ
    るかを、入力信号の到着間隔に応じて決定する請求項1
    から3のいずれか1つに記載のパイプライン演算器。
  5. 【請求項5】各ステージ間のフリップフロップ群に中間
    結果をラッチするか、中間結果をラッチせずに通過させ
    るかを、外部から指示することを特徴とする請求項1か
    ら3のいずれか1つに記載のパイプライン演算器。
JP7293492A 1995-10-17 1995-10-17 パイプライン演算器 Pending JPH09114663A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7293492A JPH09114663A (ja) 1995-10-17 1995-10-17 パイプライン演算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7293492A JPH09114663A (ja) 1995-10-17 1995-10-17 パイプライン演算器

Publications (1)

Publication Number Publication Date
JPH09114663A true JPH09114663A (ja) 1997-05-02

Family

ID=17795444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7293492A Pending JPH09114663A (ja) 1995-10-17 1995-10-17 パイプライン演算器

Country Status (1)

Country Link
JP (1) JPH09114663A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009118776A1 (ja) * 2008-03-25 2009-10-01 富士通株式会社 マルチプロセッサ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009118776A1 (ja) * 2008-03-25 2009-10-01 富士通株式会社 マルチプロセッサ
JP5170234B2 (ja) * 2008-03-25 2013-03-27 富士通株式会社 マルチプロセッサ

Similar Documents

Publication Publication Date Title
US4627018A (en) Priority requestor accelerator
CA1145004A (en) Data processing apparatus with serial and parallel priority
JPS6156542B2 (ja)
US4068214A (en) Asynchronous logic array
US3543246A (en) Priority selector signalling device
US5280597A (en) Pipeline processor with self timed data transfer
US4876704A (en) Logic integrated circuit for scan path system
US5713025A (en) Asynchronous arbiter using multiple arbiter elements to enhance speed
JPH09114663A (ja) パイプライン演算器
USRE31287E (en) Asynchronous logic array
EP0068678A2 (en) Comparator circuit and method
US5008880A (en) Data transmission apparatus
US4321669A (en) Microcomputer network having several microcomputer modules which are coupled onto at least one system bus
US7231479B2 (en) Round robin selection logic improves area efficiency and circuit speed
JPH0614609B2 (ja) 論理ゲ−ト・アレイ
US3766530A (en) Communications between central unit and peripheral units
JP2870265B2 (ja) 集積回路の出力制御回路
KR910003014B1 (ko) 연산 처리 장치
US20040199672A1 (en) System and method for high speed handshaking
JP2635863B2 (ja) 中央処理装置
KR100199190B1 (ko) 데이타 포착회로
JPH1074186A (ja) アレイからエントリを選択する方法および装置
JP3765644B2 (ja) 順序回路
JPH05142309A (ja) 出力切換回路をもつ半導体集積回路
JPH0325558A (ja) マルチプロセッサシステムの主記憶アクセスリクエスト選択方式

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 9

Free format text: PAYMENT UNTIL: 20100309

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20120309

EXPY Cancellation because of completion of term