JPH0440524A - 演算装置 - Google Patents

演算装置

Info

Publication number
JPH0440524A
JPH0440524A JP14894690A JP14894690A JPH0440524A JP H0440524 A JPH0440524 A JP H0440524A JP 14894690 A JP14894690 A JP 14894690A JP 14894690 A JP14894690 A JP 14894690A JP H0440524 A JPH0440524 A JP H0440524A
Authority
JP
Japan
Prior art keywords
memory
instruction
operand
address
arithmetic
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
JP14894690A
Other languages
English (en)
Inventor
Takeshi Kitahara
北原 毅
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP14894690A priority Critical patent/JPH0440524A/ja
Publication of JPH0440524A publication Critical patent/JPH0440524A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 [概 要] メモリ・ツー・メモリ演算命令の実行機能をそなえたパ
イプライン方式の演算装置に関しメモリ・ツー・メモリ
演算命令のパイプライン実行サイクルを短縮することを
目的とし命令デコート手段と、デコートされた結果の命
令の演算指示にしたがってオペランドを演算する演算手
段と、命令に含まれるオペランド′のアドレス情報に基
づいて実効アドレスを計算するアトレス計算手段と、オ
ペランドキャッシュとをそなえ。
メモリ・ツー・メモリ演算命令の実行機能を有するパイ
プライン方式の演算装置において、上記アドレス計算手
段を2つ設けて並列に動作可能にし上記メモリ・ツー・
メモリ演算命令を実行する場合、2つのオペランドの実
効アドレスを上記2つのアドレス計算手段により並行し
て同時に計算し。
1サイクルで求めるようにし、さらにオペランドキャッ
シュを、リード用の2ポートとライト用の1ポートの3
ポート構造とした。
〔産業上の利用分野〕
本発明は、メモリ・ツー・メモリ演算命令の実行機能を
そなえたパイプライン方式の演算装置に関し、特に命令
中のソースとディスティネーションの2つのアドレスの
オペランド−をメモリから読み出し、演算結果をディス
ティネーションアドレスに書き込むメモリ・ツー・メモ
リ演算命令の実行において、待ちサイクルなしのパイプ
ライン動作を可能にする。
〔従来の技術〕
第6図は、従来のパイプライン方式の演算装置のブロッ
ク構成を示したものである。図中、1は演算装置、2は
主記憶装置、3は外部ハスインクフェース、4は命令ア
クセス用の命令キャッシュ5はブリフェッチした複数個
の命令を入力順に格納するバッファの命令ブリフェッチ
キュー、6は命令デコーダ、7はプリフェッチする命令
のアドレスを計算する命令ブリフェッチカウンタ、8は
与えられたオペランドアドレスのベースアドレスインデ
ックス1デイスプレイスメン11こ基づいて実効アドレ
スEAを計算するアドレス計算器、9は与えられたオペ
ランドについて命令のオペコドで指示された算術演算や
論理演算を実行するオペランド演算器、10は各種デー
タの一時的格納に使用される汎用レジスタ、11 はオ
ペランドアクセス用の2ポートのオペランドキャッシュ
12は命令実行制御部、13はオペコードで指示された
演算についてオペランド演算器9の動作を制御部するマ
イクロプログラム、  14. 14’  はオペラン
ドキャッシュ11のポートである。
プログラムは主記憶装置2に格納されており命令実行制
御部12により、命令ブリフェッチ制御が行われる。命
令ブリフェッチには命令キャンシュ4が用いられる。命
令実行制御部12ば、順次の命令についてブリフェッチ
アドレスを生成して、命令キャッシュ4をアクセスし、
アクセスがヒツトすれば命令を読み出して、命令ブリフ
ェッチキュー5に格納する。他方、命令キャンシュ4の
アクセスに失敗すれば1通常のキャッシュ制御にしたが
い、外部ハスインタフェース3を介して主記憶装置2か
ら命令を読み出し、命令ブリフェッチキュー5に格納す
る。
命令実行制御部12は、命令ブリフェッチキュー5の先
頭から命令を取り出し、命令デコーダ6に送る。命令デ
コーダ6は、命令のオペコードを識別して、演算命令の
場合その演算種別を示す情報をオペランド演算器9に与
える。
さらに演算命令がメモリ・ツー・メモリ演算命令の場合
には、第1オペランドと第2オペランド−のアドレス情
報をアドレス計算器8に順次供給して、それぞれの実効
アドレスを計算させ、それぞれの計算結果の実効アドレ
スをボー1−14. 14’に順次供給してオペランド
キャンシュ11をアクセスし、第1オペランドと第2オ
ペランドをフェッチしてオペランド演算器9に入力する
オペランド演算器9は、入力された第1オペランドと第
2オペランドの間で オペコードにより指示された演算
を実行する。演算結果は、第2オペランドのアドレス(
ディスティネーションアドレス)によりボー目4′ を
用いてオペランドキャッシュ11に格納される。
命令実行制御部12は、命令デコードオペランドアドレ
ス計算、オペランドフェッチ、オペランド演算、結果の
格納の各処理を、1サイクル単位で順次の命令について
パイプライン方式で実行制御部する。
第7図は、メモリ・ツー・メモリ演算命令が連続する場
合の従来のパイプライン制御フローを示(ポート14′
) 図中、横軸はサイクル単位で表した時間を表しフロック
のDCは命令デコードのステージ ACはオペランドア
ドレス計算のステージ、OFはオペランドフェッチのス
テージ、OBはオペランド演算のステージ、OWは演算
結果のオペランドの書き込みのステージを表している。
なお第1オペランドと第2オペランドに対するACとO
Fを添字1と2によって区別している。
2つのメモリ・ツー・メモリ演算命令が続いてパイプラ
インに投入された場合、各サイクルで図示のようなステ
ージの動作が行われる。まず図示の最初の命令■では次
のようになる。
サイクル     動    作 I   DC:命令デコード 2    AC,:第1オペランドのアドレス計算3 
   AC2:第2オペランドのアドレス計算OF、:
第1オペランドのフェッチ (ポート 14 ) 4  0F2:第2オペランドのフェッチ5    o
E:オペラント演算 6  0W:演算結果の格納(ボー目4′)ところで第
6図に示されるように、アドレス計算器8は1つである
ため、第1オペランドのアドレス計算と第2オペランド
のアドレス計算とは直列に行われる必要があり、その結
果それらのオペランドのフエ’7チも直列に行われる。
次に図示の2番目の命令■では次のようになる。
サイクル    動  作 2         DC 3(DC) 4         AC 6(AC2) 7          0F2 (ポー目4′)8  
         0E 9          0W(ポート14′)ここで命
令■の第1オペランドのアドレス計算ステージAC,は
、第3サイクルで命令■の第2オペランドのアドレス計
算ステージAC2が実行されているためアドレス計算器
を使用できずに1サイクル遅らされ、また第2オペラン
ドのフェッチステージOF 2 も、第6サイクルにお
いてオペランドキャッシュ11のポート14′ が命令
■のOWで使用中であるため、■サイクル遅れて実行さ
れる。
したがって、命令■の実行時間の長さが6サイクルであ
ったのに対して、命令■では8サイクルに延びている。
〔発明が解決しようとする課題] 従来のパイプライン方式の演算装置では、メモリ・ツー
・メモリ演算命令のソースとディスティネーションの2
つのオペランドのアドレス計算に2サイクルを要し、ま
たメモリ・ツー・メモリ演算命令が連続してパイプライ
ンに投入された場合後続の命令のオペランドアドレス計
算とオペランドキャッシュアクセスに待ちサイクルが生
じて遅れがでるという問題があった。
本発明は、メモリ・ツー・メモリ演算命令のパイプライ
ン実行サイクルを短縮することを目的としている。
〔課題を解決するための手段〕
本発明は、メモリ・ツー・メモリ演算命令の実行におい
て、オペランドアl−レス計算の待ちやオペランドキャ
ッシュのアクセス待ちをなくすため。
アドレス計算器の2重化と、さらにはオペランドキャッ
シュアクセスポートの3重化を図るものである。
第1図は本発明の原理的構成図である。
回において ■はパイプライン方式の演算装置であり、メモリ・ツー
・メモリ演算命令の実行機能をもつ。
2は主記憶装置であり、プログラムおよびオペランドデ
ータが格納されている。
3は外部ハスインタフェースであり、外部ハスとの結合
制御を行う。
4は命令キャッシュであり、命令を高速フェンチするだ
めのバッファとして用いられる。
5は命令プリフェッチキューであり3プリフエツチされ
た複数の命令を実行待ちの間保持する。
6は命令デコーダであり、命令中のオペコード等の各情
報を識別して制御情報を出力する。
7は命令プリフェッチカウンタであり、プリフェッチす
る命令のアドレスを保持しでいる。命令キャッシュ4か
ら命令をプリフェッチするごとにカウントア・ノブし2
分岐命令実行時に新規の値に更新される。
88′はそれぞれアドレス計算器であり、ソース(第1
)とディスティネーション(第2)の2つのオペランド
の実効アドレス計算を同時並行して実行することができ
る。
9はオペランド演算器であり、与えられた2つのオペラ
ンドの間で、命令のオペツーFにより指示された算術演
算あるいは論理演算を実行する。
10は汎用レジスタである。
11 は3ボーI・のオペランドキャッシュであり。
オペランドの高速フエンチに用いられる。
12は命令実行制御部であり、命令のプリフェッチや命
令の実行シーケンスを制御する。
13はマイクロプログラムであり、命令のオペコードに
より指示された演算の種別に基づいてオペランド演算器
9による演算の実行制御を行う。
11、 14’ 、 14″はオペランドキャッシュ1
1のポートであり、14および14′ はり一ト用のポ
ート、 14”はライト用のポートである。
15はライトアドレスを保持するライトアドレスレジス
タである。
16はソースオペランドアドレスポートである。
16′  はテ゛イスティ不一ションオペランドアトレ
スボ−1〜である。
16″はライト用71ルスポートである。
〔作 用〕
第1図において、メモリ・ツー・メモリ演算命令が実行
される場合の動作を説明する。
命令プリフェッチキュー5から命令デコーダ6に投入さ
れた命令がメモリ・ツー・メモリ演算命令であった場合
、命令デコーダ6はこれを識別し2オペコードの内容に
したがってマイクロプログラム13を起動してオペラン
ド演算器9を制御さセまた第1オペランドと第2オペラ
ンドのアドレス情報をそれぞれアドレス計算器8とアド
レス計算器8′とに同時に供給して、実効アドレスを並
行して計算させる。
計算結果の第1オペランドの実効アドレスはアドレス計
算器8からオペランドキャッシュ11のリード用のアド
レスボー1・16に与えられ2対応する第1オペランド
が読め出されてオペランド演算器9に入力される。
同様に第2オペランドの実効アドレスは、アドレス計算
器8′からオペランドキャンシュ11のり一ト用のアド
レスポート16′ に与えられ、対応する第2オペラン
ドが読め出されてオペランド演算器9に入力される。ま
た同時に第2オペランドの実効アドレスは、演算結果の
ディスティネーションアドレスとしてライトアドレスレ
ジスタI5に一時的に保持される。
オペランド演算器9は、第1と第2のオペランドが入力
されると、指示された演算を行い、その結果をライトア
ドレスレジスタ15のライトアドレスにしたがって ラ
イ1〜用のアドレスポート16″によりオペランドキャ
ッジj−11に書き込む。
このように、メモリ・ツー・メモリ演算命令の実行にお
りるソースとディスティネーションの2つのオペランド
のアドレス計算は同時並行化により、1サイクルでの実
行が可能となり、また複数のメモリ・ツー・メモリ演算
命令が連続して投入されても、オペランドキャッシュの
アクセスを待ちサイクルなしに実行することができる。
〔実施例〕
本発明の実施例を第2図ないし第5図にしたがって説明
する。
第2図(a)は3本発明実施例による命令のフォーマン
トを示す。図中、OPIおよびOF2はオペコードであ
り、OPlは基本コード部、OF2はその補助情報であ
る詳細コード部を表す。またEAlおよびEA2はアド
レス形式を指定するアドレス情報である。
第2図(b)は2本発明が対象とするメモリ・ツー・メ
モリ演算命令の場合のフォーマントの例であり、加算命
令 ADD  ■RO,■Rl +dispについてのもの
を示す。
第2図(b)のOPIとOF2には上記加算命令ADD
のオペコードが設定され、また5rc(図(a)のEA
Iに対応)にはソースオペランドアドレスをもつレジス
タの番号■ROが設定され、  Destにはディステ
ィネーションオペランドアドレスを算出するための情報
■R1+ disp 、つまりヘースアドレスをもつレ
ジスタの番号■R1とディスプレイスメント値disp
とが設定される。
第3図は1本発明実施例のオペランドキャッシュに用い
られる3ボ一トRAMのビット・セル構造を示したもの
である。
図示のビット・セルはインバータII−,+2を逆方向
接続したランチと、書き込み用および読み出し用のFE
Tゲート群G1〜G6からなっている。
図中、R1とR2かそれぞれリード用の2つのポートで
あり、  (B、B)かライ)・用のポートである。G
1.G2は状態表示用のゲー1−.G3゜G4は読み出
し用ゲート、G5,06は書き込み用ケ−1□、WR+
はリード用ボー1〜R1使用時に読み出し用ゲー)G3
を開くワード駆動線、WR2はリード用ポー1− R2
使用時に読み出し用ゲー1−04を開くワード駆動線、
Wいばライト用ポート(B、B)の使用時に書き込み用
ゲートC;5.  G6を開くワード駆動線である。ワ
ード駆動線WR0WR2,Wwをそれぞれオンにするこ
とにより、対応するポートを任意に有効化することがで
きる。
このような構造をもつことにより、2つのリード用ポー
トR1,R2と、1つのライト用ポート(B、B)は互
いに独立に並行して使用されることができる。
第4図は、第1図の2つのアドレス計算器8゜8′を使
用するが、オペランドキャッシュは第6図に示されてい
る従来の2ポートのものを使用した実施例において、3
つのメモリ・ツー・メモリ演算命令■、■、■がパイプ
ラインに連続投入された場合のフローを示したものであ
る。
図示のように、各命令■、■、■のいずれも第1と第2
の2つのオペランドの実効アドレス計算A C+ 、 
A C2が並列に1サイクルで実行されることがわかる
。しかしオペランドキャンシュが2ポート構造のため、
第5サイクルで命令■の第2オペランドのフェッチステ
ージOF2に待ちが生し、1サイクルの遅れが出る。
第5図は、第1図に示されているポート構造のオペラン
ドキャッシュを採用した実施例の場合のフローである。
図示のようにメモリ・ツー・メモリ演算命令■のOF2
は遅れなしに実行できる。さらに3個以上の任意複数の
メモリ・ツー・メモリ演算命令■■、■、・・・がパイ
プラインに連続投入されてもそれぞれの命令を5ザイク
ルで遅れなしに実行できる。
〔発明の効果〕
本発明によれば、若干のハードウェアの追加改良により
、パイプライン方式の演算装置におけるメモリ・ツー・
メモリ演算命令の実行サイクルを最短化することができ
、処理の高速化が可能となる。特にメモリ・ツー・メモ
リ演算命令を連続実行する処理において、効率の大幅な
向」−を回ることかできる。
【図面の簡単な説明】
第1図は本発明の原理図、第2図は本発明実施例の命令
フォーマットの説明画、第3図は本発明実施例の3ポー
l−RA Mのビットセル構造を示す回路図、第4図は
本発明実施例の命令実行フロー図、第5図は本発明の他
の実施例の命令実行フロー図、第6図は演算装置の従来
例の構成図、第7図は従来例におりる命令実行フロー回
である。 第1図中 1:演算装置 2:主記憶装置 3:外部ハスインタフェース 4:命令キャッシュ 5;命令ブリフェッチキュー 6:命令デコーダ 7−命令ブリフェッチカウンタ 8.8’ニアトレス計算器。 9:オベラント−演算器 10:汎用レジスタ 11:オペランドキャッシュ。 ]2:命令実行制御部。 13:マイクロプログラム 14、 14’  :リード用ボー(・14”ニライト
用ポート。 16;ソースオペランドアドレスポート16′:ディス
ティネーションオベラントアドレスポート 16″: ライト用アドレスボー1・。

Claims (2)

    【特許請求の範囲】
  1. (1)命令デコード手段と、デコードされた結果の命令
    の演算指示にしたがってオペランドを演算する演算手段
    と、命令に含まれるオペランドのアドレス情報に基づい
    て実効アドレスを計算するアドレス計算手段と、オペラ
    ンドキャッシュとをそなえ、メモリ・ツー・メモリ演算
    命令の実行機能を有するパイプライン方式の演算装置に
    おいて、 上記アドレス計算手段を2つ設けて並列に動作可能にし
    、 上記メモリ・ツー・メモリ演算命令を実行する場合、2
    つのオペランドの実効アドレスを上記2つのアドレス計
    算手段により並行して同時に計算し、1サイクルで求め
    ることを特徴とする演算装置。
  2. (2)請求項(1)において、さらにオペランドキャッ
    シュを、リード用の2ポートとライト用の1ポートの3
    ポート構造とし、 上記メモリ・ツー・メモリ演算命令が少なくとも3つ以
    上連続した場合において、上記キャッシュメモリの3つ
    のポートを並列に使用してオペランドアクセスを実行す
    ることを特徴とする演算装置。
JP14894690A 1990-06-07 1990-06-07 演算装置 Pending JPH0440524A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14894690A JPH0440524A (ja) 1990-06-07 1990-06-07 演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14894690A JPH0440524A (ja) 1990-06-07 1990-06-07 演算装置

Publications (1)

Publication Number Publication Date
JPH0440524A true JPH0440524A (ja) 1992-02-10

Family

ID=15464195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14894690A Pending JPH0440524A (ja) 1990-06-07 1990-06-07 演算装置

Country Status (1)

Country Link
JP (1) JPH0440524A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729425A (en) * 1995-05-22 1998-03-17 Tdk Corporation High voltage capacitor and magnetron having porcelain dielectric material
US6288886B1 (en) 1999-03-05 2001-09-11 Tdk Corporation High voltage capacitor and magnetron
US6909590B2 (en) 2003-09-29 2005-06-21 Tdk Corporation High voltage capacitor and magnetron
US7042704B2 (en) 2004-01-30 2006-05-09 Tdk Corporation High-voltage capacitor, high-voltage capacitor device and magnetron

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729425A (en) * 1995-05-22 1998-03-17 Tdk Corporation High voltage capacitor and magnetron having porcelain dielectric material
US6288886B1 (en) 1999-03-05 2001-09-11 Tdk Corporation High voltage capacitor and magnetron
US6909590B2 (en) 2003-09-29 2005-06-21 Tdk Corporation High voltage capacitor and magnetron
US7042704B2 (en) 2004-01-30 2006-05-09 Tdk Corporation High-voltage capacitor, high-voltage capacitor device and magnetron

Similar Documents

Publication Publication Date Title
TWI706255B (zh) 用於緊耦合異質計算的硬體處理器及方法
TWI470543B (zh) 用於多精度算術之單一指令多重資料(simd)整數乘法累加指令
JP5829714B2 (ja) マスクされたフルレジスタアクセスを用いて部分レジスタアクセスを実施するプロセッサ、方法、及びシステム
JPH09311786A (ja) データ処理装置
JPS585847A (ja) 命令ブランチ機構
JPH10232779A (ja) 命令並列処理方法及び装置
JPH0248732A (ja) 命令パイプライン方式のマイクロプロセッサ
JPH0440524A (ja) 演算装置
JPH0326872B2 (ja)
JP2690406B2 (ja) プロセッサおよびデータ処理システム
US11451241B2 (en) Setting values of portions of registers based on bit values
JPH08212075A (ja) 情報処理装置
JPS594049B2 (ja) コンピュ−タ装置
US5327571A (en) Processor having decoder for decoding unmodified instruction set for addressing register to read or write in parallel or serially shift in from left or right
JP2861560B2 (ja) データ処理装置
JPH07110769A (ja) Vliw型計算機
JPS6027046A (ja) 情報処理装置
JP2856784B2 (ja) 電子計算機
JPS58176751A (ja) 命令語解読ユニツト
JP2927281B2 (ja) 並列処理装置
JPH0234058B2 (ja)
JPS5947668A (ja) 情報処理装置
JPH01147723A (ja) 情報処理装置のパイプライン処理方式
Chiu et al. Design of Instruction Address Queue for High Degree X86 Superscalar Architecture.
Craig et al. PIPE: A High Performance VLSI Processor Implementation