JPS61294550A - 電子計算機におけるデ−タ読取書込制御方式 - Google Patents

電子計算機におけるデ−タ読取書込制御方式

Info

Publication number
JPS61294550A
JPS61294550A JP13437485A JP13437485A JPS61294550A JP S61294550 A JPS61294550 A JP S61294550A JP 13437485 A JP13437485 A JP 13437485A JP 13437485 A JP13437485 A JP 13437485A JP S61294550 A JPS61294550 A JP S61294550A
Authority
JP
Japan
Prior art keywords
data
instruction
write
read
operand
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
JP13437485A
Other languages
English (en)
Inventor
Sadanobu Ikeda
池田 貞信
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP13437485A priority Critical patent/JPS61294550A/ja
Publication of JPS61294550A publication Critical patent/JPS61294550A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、電子計算機の回路構成に関し、特に命令読取
、解読、実行等が並列に動作する。いわゆる/?イブラ
イン制御構造の電子計算機におけるデータの読取書込制
御方式に関する。
〔従来の技術〕
従来、大規模集積回路(以下LSIと略称する)技術に
よって作られた。いわゆるマイクロコンピュータは、シ
リコンチップに載せられる回路量の制約により機能や性
能が限られておシ、そのほとんどはハードワイヤド論理
により構成されていた。
しかしながら、最近になってLSI技術の急速な進歩に
より、ミニコンやメーンフレームと呼ばれている大型の
計算機で採用されているような高度なアーキテクチャを
微小なシリコンチップに焼き付けることにより、格段に
機能および性能の改善されたマイクロプロセッサの実現
が可能になってきた。それらを代表するのが・セイ!ラ
イン構造とマイクログロダラム制御である。
パイグライン構造をした計算機では、内部動作が並列に
実行可能な機能ユニットに分割され、これらユニットが
パイプラインの如ぐつながシ2例えば第5図に示すよう
に命令が順々に読取り、解読、オペランド読取シ、実行
、結果の格納といった順序で実行される。この場合、各
ユニット毎の処理時間は短い時間で済ませることが可能
であシ。
かつ各ユニットが並列に動作するため、全体としては高
速度で命令を実行することができる。例えば、第5図の
各部の処理時間が総て同じ単位時間で終了したとすると
、第6図に示すように命令列II  II2 113 
114 1は夫々5単位時間実行に要するが、各ユニッ
トが並列に実行されるため実際には1単位時間で実行さ
れたようにみえる。
このようなパイプライン構造をした従来の電子計算機の
大まかな構成は、第7図のブロック図の例に示すように
、バスの制御やデータの読み取シ。
tき込みを行なうバスインターフェースユニット(BI
U ) * 命令を先取シしてファーストインファース
トアウトメモリ(FIFO)に貯えておく命令キューユ
ニッ) (IQU ) 、命令の解読及びオペランドア
クセス要求を出す命令解読部(IDU ) 、 IDU
からのアドレスを変換(例えば仮想アドレスから実アr
レス)したシ、アクセスの種類を識別してBIUに伝え
るアドレス変換ユニッ) (ATU ) 。
IDUが解読した命令に従ってBIUから読取ってきた
オペランド全処理し、その結果をBIUに与える命令実
行ユニット(EXU ) 、 bよびBIUを経由して
接続されたメモリ及びI/OCMIO)からなっている
。これらの各ユニットが円滑に並列動作するため、各ユ
ニット間には適当な長さのキューが設けられているが1
通常、命令キューはCPUがMIOよシも相対的に高速
であるため、特に種々の考慮が必要である。
この種のノ卆イブライン構造の電子計算機は、ノやイブ
の流れが乱されたとき、一時的に゛処理が停滞して性能
が大幅に低下することがある。その要因を挙げると1例
えば下記のようになる。
(1)実際に、命令は第5図に示す動作を総て含んだも
のではなく、第8図に命令を大まかに分類して例示した
ようになっておシ、第6図のように命令の実行が整然と
流れることはない。第8図のRタイプの命令はCPU内
部のレジスタの操作を行なうもので、命令の読取り1.
命令解読2.命令実行4サイクルがあるが、オイラント
9読取シ3及び結果格納5のバスサイクルは存在しない
。同様に、M−Rタイプはメモリを読取レジスタと演算
を行ない、その結果をレジスタに格納する命令であって
、結果格納5の/Sスサイクルはない。R〜Mタイプは
逆にオ被うンド読取シサイクル3がない。M−Mタイプ
は総ての動作を含んでいる。以上のように命令のタイプ
によりaeイグの流れ方は変化する。
(2)一般に、7オンノイマン形といわれるこの種の電
子計算機は、命令及びデータを同じ経路をたどってアク
セスするようになっているため、実は第5図に示すよう
な5つのノ9イグラインステージが総て並列に動作する
わけではない。すなわち。
命令読取1.オペランド読取シ3.結果格納5は同時に
動作するのではなく、ある慶先順位にもとずいて直列に
動作するため、やは)ノやイブの流れ方が乱れる。
(3)更に、ある命令のオペランド読取りが先行する命
令の結果格納に先立って実行きれることがあるので、オ
ペランド読取)アドレスと結果格納アドレスとが一致し
た場合(メモリノ・デートという)には、オペランド読
取多動作を結果格納終了まで停止させる(インターロッ
クという)必要がちシ、これがまたパイプの流れを乱す
要因となる。
〔発明が解決しようとする問題点〕
ところで、上記のごとき従来の電子計算機は。
命令タイプによる命令サイクルの変化や、バスサイクル
の待ちや、メモリハザードによるインターロックなどに
より・母イグの流れか乱れ、そのために性能が低下する
という欠点がある。特に、 LSI技術の進歩により 
CPU内部の処理時間が高速化されるに従がって相対的
に遅くなったバスサイクルが与える性能低下への影響は
多大であシ、マイクログロセッサといえどもキャッシュ
メモリ等のような高価な・・−ドウエアを取付けなけれ
ばその性能を十分発揮できないという問題がある。以下
にその理由について具体的な例を挙げて説明する。
一般的なプログラムのリストの一部を例示した第9図を
参照すると、命令I!は直走数Nをし・ゾスタR1ヘロ
ードする。命令I2はレジスタR3の内容を読取ってレ
ジスタR2ヘローPする。命令I3はレジスタR2にS
UM番地の内容を加えてSUM番地に書込む。命令工4
はSUM番地の内容とレジスタR1の内容を比較する。
命令工5はレジスタR2の内容をクリアする。工6はレ
ジスタR1の内容をLABEL番地に書込むものである
。これらの命令群If  m・・・、工6が従来技術に
より実行された場合の各パイプラインステージの状態を
示すと第10図のようになる。
第10図を参照すると、バスサイクルの憂先順位をオペ
ランド読取3.命令コード読取1.結果書込5の順に設
定した時の第9図のプログラムの各79イグラインの実
行状況が示されている。なお。
これらのサイクルには丸印がつけられており、同時に実
行されてはいない。工1は直示数Nf、読取るために命
令デコードステージにも丸印がつけられ1次の命令I2
の命令を読取ることはできない。
工3でStJM番地の内容を書き換えるため+I4にお
けるSUM番地の読取シがメモリハブ−rによりインタ
ーロックされてオ被うンド読み取シが2単位時間待たさ
れる。次の命令工5では・ぐイブの流れの乱れにより命
令実行が待たされ、結局命令の実行遅れは取り戻されな
い。
〔問題点を解決するための手段〕
本発明によるデータ読取書込制御方式は、少なくとも命
令解読、オペランドアクセスおよび命令実行が並列に動
作する・ぐイブライン構造の電子計算機において、メモ
リ、もしくはI/O等に記憶されるオペランPデータの
アドレス、語長、データおよび制御情報が書込まれ、か
つ命令解読部からのオペランド読取指示及び書込指示と
前記書込まれたアドレス及び語長とを比較し、一致して
いれば、一致信号を出力する適当な長さの書込みデータ
キューと、該書込データキューのア゛ドレス及び語長か
前記命令解読部からのオペランド読取指示かを切換えて
外部バスに出力するアト0レス切換回路と、前記書込デ
ータキューのデータか外部バスからのデータかを切換え
て命令実行部に与えるデータ切換回路とを含むことを特
徴とする。
〔発明の実施例〕
次に1本発明によるデータ読取書込制御方式について実
施例を挙げ2図面を参照して説明する。
第1図は本発明による実施例として電子計算機における
データ読取書込制御部の構成をブロック図により示した
ものである。この例において。
WDQは適当な長さのFIFOで構成され、制御情報(
V、W)、書込アドレス(Adr ) 、書込データ長
(dt)および書込データ(Data)が記憶される書
込データキュー、MPX −Aは書込データキュー切換
回路、 MPX −Dは書込データキューWDQのDa
taか外部バスからの読取データ(RD )を切換えて
出力する切換回路、 RDQは適当な長さのFIFOか
ら構成され、命令実行部EXUに与えるために切換回路
MPX −Dから出力された読取データを蓄積する読取
データキュー、そして、 C0NTは上記の回路を制御
する制御回路である。
まず、命令解読部IDUからデータの書込指示Wr (
Adr 、 dt)が発行され、書込データキューWD
Q及び制御回路C0NTに与えられる。この−とき。
制御回路C0NTに与えられるのは書込指示Wrのみで
ある。書込データキューWDQへの書込は、制御情報v
、WとM)Qに蓄積されているAdr 、 cllとに
より決定される。第2図に示すように、制御情報WはW
r (Adr 、 dt )のAdr 、 dtが書込
データキエ−WDQにセットされたのち、まだデータ(
WDT )がWDQに書込まれていないか、書込まれた
がバスに出力されないで外部メモリに書かれていない状
態を示す。制御情報VはWr (Adr 、 dt)の
指示に対するデータ(WDT )がWDQに書込まれて
有効である情態を示す。書込データキュー苗視に蓄積さ
れたWr指示の情報Adr 、 dtと命令解読部ID
Uからのメモリアクセス指示Wr (Adr 、 dt
 )及びRd (Adr 、 dt)とはWDQ内で比
較され、メモリアクセスがWDQ内に含まれると判定さ
れると。
HIT信号がアクティブになる。
Rd (Adr 、 dt )が書込データキ、 −W
DQ内にあればHIT信号がアクティブになシ、制御回
路C0NTはWDQのデータを選択し、 D −SEL
信号を送出して切換回路MPX −Dを制御し、読取デ
ータキューRDQに読取データを与えてバスサイクルを
発生させない。Rd (Adr v dt )がWDQ
内になければ。
HIT信号がアクティブでないことを判定してリードサ
イクルを示すRC信号をアクティブにし、制御回路C0
NTはA −SELを送出して切換回路MDX −Aを
制御し、 Rd (Adr 、 dt )のAdr 、
 dtを選択する。選択されたAdr p dt はメ
モリ読取サイクルを起動させ、読取シデータRDがくる
と、制御回路C0NTからのD −SEL信号により切
換回路MPX −Dを制御してデータRDが読取データ
キューR,D、 Qに与えられる。どちらの場合でも、
制御情報V、Wに変化を与えることはない。制御回路C
0NTはメモリアクセスの遅延を外部バスから与えられ
るデータレディ信号RDYに合わせてRDP信号を生成
し。
RDQにデータと一緒にPビットをセットすることによ
り、命令実行ユニッ) EXUに対してデータの読取ら
れたことがわかるようになる。
Wr (Adr y dZ )は必ず書込データキ、 
y WDQに一旦書込まれ、制御情報V、Wが変化する
。この制御情報V、Wの変化の状態遷移を示すと第3図
のようになる。初期状態ではWDQには何も書かれてお
らず、(V、W)は総て(OtO)である。
命令解読部IDUからWr指示を受けると、(VOW)
は(o、i)となシ、実際にEXUから書込データP 
(WDT )がくると(1,1)となる。従りて。
(0,1)では次のWr指示を受は付けることができな
いため、他の(V、W)の情報を調べる必要がある。(
1,1)の状態で命令コード読取シ等の他のバスサイク
ルがないときは、0/C信号がインアクティブになシ、
又オペランドフェッチがない時(Rd指示がない時) 
、 C0NTはライトサイクルを示すWC信号をアクテ
ィブにして、書込みデータキ:L−WDQの(1#1)
の示すAdr 、 dtのデータを外部バスに与える。
ここで始めて外部メモリに書込まれ+(1,0)の状態
になる。
書込データキューWDQに書込まれる条件は、第4図の
ように3通シあるが、決められている優先順位に従かう
必要がある。即ち、 WDQに書込済で。
かつAdr、dtが一致したWDQのエントリが最優先
で選択され1次に初期状態のエントリが優先され。
最後にメモリ書込済(W=O)でAdr 、 tilが
不一致のエントリが選択される。それ以外の時はWDQ
に書込むことができず、W=Q(外部メモリペ書込む)
になるまで待つためのWAIT信号が命令解読部IDU
に与えられる。
外部バスからの読取データRDは命令読取時には命令キ
エー(IQU ) 、アドレス計算時には命令解読部I
DUなど他のユニッ)(0,U)に行く。
命令実行ユニッ) EXUはデータ書込時には、書込デ
ータキューWDQにデータを与えたところで実行を終了
することができ、データ読取時は、読取データ書込時R
DQのPがアクティブになるのを待ってデータを読み取
るととにより、処理を続けたシ終らせたシすることがで
きる。
第11図は1本発明により第9図に示すプログラムを実
行した場合の各命令のノjイブラインステ−ノをタイム
チャートにより示したものである。
このチャートを見ると、従来技術による場合に検出され
た命令I、と工4との間のメモリハザードは、■、の実
行ステージでデータが4(5)に示すようVcWDQに
書き込まれ、これがI4の実行ステージで(3)4に示
すように読取ることにより回避されている。そのため、
工、のEXU実行待ちが発生せず。
従来技術においてI3単位時間必要とした処理がI1単
位時間で終了し、2単位時間実行速度が改善されている
。又、バスサイクルが11回から1回減少して10回に
なっているため、バストラクイックの大きいシステム、
例えばマルチプロセッサシステムに適用してその性能が
大きく改善される。
れば、電子計算機のデータ読取書込制御部における書込
データキューの内容を後続する命令が同じアドレスなら
ばそれを検出してアクセスできるようにすることにより
、メモリハザードを回避してバスサイクルの短縮を可能
とし、・ぐイブの流れをスムーズにして命令実行速度を
大きく改善できる点において得られる効果は大きい。
【図面の簡単な説明】
第1図は本発明による実施例として電子計算機における
データ読取書込制御部の構成を示すブロック図、第2図
は、第1図の実施例における制御情報の状態を示す図、
第3図は、第1図の実施例における制御情報の状態遷移
を示す図、第4図は。 第1図の実施例における書込データキー〜へ書込むエン
) IJ−の優先順位を示す図、第5図はパイプライン
構造をした従来の電子計算機の動作の一例を示すブロッ
ク図、第6図は、・!イブライン構造をした従来の電子
計算機の動作の一例を示すタイムチャート、第7図は、
パイプライン構造をした従来の電子計算機の回路構成の
一例を示すブロック図、第8図は、・!イブライン構造
をした従来の電子計算機における代表的な命令タイプの
動作の種類と順序を示す図、第9図は・母イブライン構
造をした従来の電子計算機においてメモリハザードが生
じる具体的なプログラムの例、第10図は従来の電子計
算機知より第9図のプログラムが実行された時の各パイ
プラインの動作状況を示すタイムチャート、第11図は
本発明により第9図のプログラムが実行された時の各パ
イプラインの動作状況を示すタイムチャートである。 図ニおいて、 BIUはバスインターフェースユニット
、 IDUは命令解読ユニット、 ATUはアドレス変
換ユニット、 EXtJは命令実行ユニツ) 、 IQ
Uは命令キス−ユニット、 MIOはメモリ及びI/O
 。 WDQは書込データキュー、RDQは読取データキヱ−
、MPX−Aはアドレス切換回路、 MPX−Dはデー
タ切換回路、 C0NTは制御回路である。 鳥2図 馬3図 Wと 箆4図 書込条件(勧順位) (W−1,V=O/)状態T″1↓waitが発生)宅
5図 帛6図 第7図 第8図

Claims (1)

  1. 【特許請求の範囲】 1、少なくとも命令解読、オペランドアクセスおよび命
    令実行が並列に動作するパイプライン構造の電子計算機
    において、メモリ、もしくはI/O等に記憶されるオペ
    ランドデータのアドレス、語長、データおよび制御情報
    が書込まれ、かつ命令解読部からのオペランド読取指示
    及び書込指示と前記書込まれたアドレス及び語長とを比
    較し、一致していれば、一致信号を出力する適当な長さ
    の書込データキューと、該書込データキューのアドレス
    及び語長か前記命令解読部からのオペランド読取指示か
    を切換えて外部バスに出力するアドレス切換回路と、前
    記書込データキューのデータか外部バスからのデータか
    を切換えて命令実行部に与えるデータ切換回路とを含む
    ことを特徴とする電子計算機におけるデータ読取書込制
    御方式。 2、先行する命令が書込データキューに書込んだオペラ
    ンドのアドレス及び語長を後続する命令の読取オペラン
    ドのアドレス及び語長と比較して、一致を検出すれば、
    制御回路の指示によりデータ切換回路を経由して書込デ
    ータキュー内のデータを命令実行部に与えることを特徴
    とする特許請求の範囲第1項に記載の電子計算機におけ
    るデータ読取書込制御方式。 3、書込みオペランドデータが制御情報にもとずいて書
    込みデータキューに書込まれ、その後所定の優先順位に
    従って外部メモリ及びI/O等に書込まれた後も、制御
    情報にもとずいて書込オペランドデータが書込まれるま
    でその内容を保持し、オペランドの読取りに備えること
    を特徴とする特許請求の範囲第2項に記載の電子計算機
    におけるデータ読取書込制御方式。
JP13437485A 1985-06-21 1985-06-21 電子計算機におけるデ−タ読取書込制御方式 Pending JPS61294550A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13437485A JPS61294550A (ja) 1985-06-21 1985-06-21 電子計算機におけるデ−タ読取書込制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13437485A JPS61294550A (ja) 1985-06-21 1985-06-21 電子計算機におけるデ−タ読取書込制御方式

Publications (1)

Publication Number Publication Date
JPS61294550A true JPS61294550A (ja) 1986-12-25

Family

ID=15126896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13437485A Pending JPS61294550A (ja) 1985-06-21 1985-06-21 電子計算機におけるデ−タ読取書込制御方式

Country Status (1)

Country Link
JP (1) JPS61294550A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033955A (ja) * 2002-04-30 2008-02-14 Advanced Micro Devices Inc ロード操作の推測結果をレジスタ値にリンクするためのシステムおよび方法
JP2014089730A (ja) * 2001-12-20 2014-05-15 Intel Corp プロセッサに関するロード/移動及び複製命令

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014089730A (ja) * 2001-12-20 2014-05-15 Intel Corp プロセッサに関するロード/移動及び複製命令
US9043583B2 (en) 2001-12-20 2015-05-26 Intel Corporation Load/move and duplicate instructions for a processor
JP2008033955A (ja) * 2002-04-30 2008-02-14 Advanced Micro Devices Inc ロード操作の推測結果をレジスタ値にリンクするためのシステムおよび方法

Similar Documents

Publication Publication Date Title
US7793075B2 (en) Active memory command engine and method
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
US4715013A (en) Coprocessor instruction format
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
JP2773471B2 (ja) 情報処理装置
US5924120A (en) Method and apparatus for maximizing utilization of an internal processor bus in the context of external transactions running at speeds fractionally greater than internal transaction times
US5021991A (en) Coprocessor instruction format
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
WO1991014225A1 (en) Apparatus and method for providing a stall cache
US4914578A (en) Method and apparatus for interrupting a coprocessor
EP0385136B1 (en) Microprocessor cooperating with a coprocessor
JPS61294550A (ja) 電子計算機におけるデ−タ読取書込制御方式
US4994961A (en) Coprocessor instruction format
JPH1049373A (ja) パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置
JPS63197232A (ja) マイクロプロセツサ
US5734900A (en) Information handling system including efficient power on initialization
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US5201052A (en) System for transferring first and second ring information from program status word register and store buffer
JP2671160B2 (ja) 例外処理方式
JPH0193825A (ja) プリフェッチキュー制御方式
US7124277B2 (en) Method and apparatus for a trace cache trace-end predictor
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
JPH06324861A (ja) Cpu制御システム及び制御方法