JPH04182831A - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法

Info

Publication number
JPH04182831A
JPH04182831A JP31149590A JP31149590A JPH04182831A JP H04182831 A JPH04182831 A JP H04182831A JP 31149590 A JP31149590 A JP 31149590A JP 31149590 A JP31149590 A JP 31149590A JP H04182831 A JPH04182831 A JP H04182831A
Authority
JP
Japan
Prior art keywords
operand
instruction
storage
execution
read
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
JP31149590A
Other languages
English (en)
Inventor
Eiki Kamata
釜田 栄樹
Yoichi Shintani
洋一 新谷
Toru Shonai
亨 庄内
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 JP31149590A priority Critical patent/JPH04182831A/ja
Publication of JPH04182831A publication Critical patent/JPH04182831A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、命令を順次実行する複数の命令プロセッサか
ら構成される情報処理装置に係わり、特に、複数の命令
プロセッサ間で同期を取るための命令を高速に処理する
ために好適な情報処理装置に関する。
〔従来の技術〕
複数の命令プロセッサから構成される情報処理、装置に
おいては、複数の命令プロセッサ間で同期を取るための
機構が必要となる。この機構を実現するために、例えば
、T S (Test and 5et)命令やCS 
(Compare and Swap)命令が用意され
ている。これらの命令においては、ストレージへの更新
参照を不可分の操作として実現する必要がある。
このため、参照を行うストレージ領域に対して、読み出
しから書き込みまでの間口ツクを行う。このようなロッ
クは複数の命令プロセッサ間で共有されるストレージ(
主記憶やワーク記憶)上でシリアライゼーション動作を
伴って行われるので、長い処理時間を必要とする。シリ
アライゼーション動作の高速化を図った装置として、特
開平01−119849号に開示された多重プロセッサ
システムがある。
〔発明が解決しようとする課題〕
TS命令やC8命令においては、ストレージの参照に対
してロックが行われるので、通常の命令のストレージ参
照に比較して、非常に長い参照時間を必要とする。一般
に、通常の命令のストレージ参照は、所望のオペランド
がバッファ記憶内にある場合、1マシンサイクルで完了
するように設計される。しかし、TS命令やC8命令の
ストレージ参照は、ロックを行うために10マシンサイ
クル以上の時間を必要とすることがある。上記従来の装
置においては、ロック操作を行うストレージ側について
高速化を図っている。しかし、一方で、ロック操作を要
求する命令プロセッサ側についても高速化を図る余地が
ある。
本発明の目的は、ロックを行うような長い参照時間を必
要とするストレージ参照が必要な命令の処理をより高速
に行うことが可能な情報処理装置を提供することにある
〔課題を解決するための手段〕
上記の目的は、命令が指定するオペランドを保持するス
トレージと、命令が指定した演算を実行して、必要なら
ばオペランドの読み出しを該ストレージに対して起動し
、読み出されたオペランドの取り込みを行う演算実行手
段と、命令の解読を演算の実行に先立って行い、必要な
らば前もってオペランドの読み出しを該ストレージに対
して起動し、読み出されたオペランドを該演算実行手段
に設定して演算の実行を開始する命令制御手段とを有す
ることによって達成される。
〔作用〕
該命令制御手段は命令の解読を演算の実行に先立って行
い、通常の命令を解読した場合には、必要ならば前もっ
てオペランドの読み出しを該ストレージに対して起動し
、読み出されたオペランドを該演算実行手段に設定して
演算の実行を開始する。しかし、TS命令やC8命令の
ように、ロックを行うような長い参照時間を必要とする
ストレージ参照がオペランドの読み出しの際に行われる
命令を解読した場合には、前もってオペランドの読み出
しを該ストレージに対して起動するが、読み出されるオ
ペランドを該演算実行手段に設定することなしに演算の
実行を開始し、該演算実行手段は演算の実行過程で読み
出されたオペランドの取り込みを行う。
〔実施例〕
以下、先行制御方式とマイクロプログラム制御方式によ
って構成される情報処理装置に本発明を適用する場合に
ついて説明する。
第1図は本発明を適用した情報処理装置1の全体構成を
示すブロック図である。
主記憶30はプログラムを実行するための命令とオペラ
ンドを保持しているストレージである。
バッファ記憶20は主記憶30に保持されている命令と
オペランドの一部の写しを保持する高速に参照可能なス
トレージである。バッファ記憶20は命令プロセッサと
主記憶30の間の処理の速度差を緩和するために設けら
れ1通常のストレージへの参照はバッファ記憶20に対
して行われる。
バッファ記憶20に所望の命令またはオペランドが存在
しなかった場合に、4!231により主記憶30に参照
要求が出される。主記憶30への参照が行われると、線
321によって参照結果がバッファ記憶20に反映され
る。
命令制御部10は線211を介してバッファ記憶20(
または主記憶30)から次に実行すべき命令を読み呂し
、命令レジスタIRに設定する。
続いて、命令制御部10は命令レジスタIRに設定され
た命令の解読を行い、演算実行部60へ実行すべき演算
の種類を線161によって指示する。
また、必要ならばバッファ記憶20に対してオペランド
の読み出しを線121によって起動する。
このとき−通常は、オペランド制御部50ヘオペランド
の読み出しが起動されていることを線151によって通
知する。
オペランドバッファ40はバッファ記憶20から線24
3を介して送られてくる読み出されたオペランドを内部
のキューの1つのエントリに一時保持する。オペランド
を保持すべきキューのエントリの番号は、命令制御部1
0が命令を解読したときに生成して、バッファ記憶20
へ線122によって通知され、オペランド制御部50へ
線152によって通知された番号である。このエントリ
の番号はバッファ記憶20から線242によってオペラ
ンドバッファ40に通知される。また、バッファ記憶2
0から読み出されたオペランドが線243に送出され、
エントリの番号が線242に送出されるタイミングは、
線24]によってオペランドバッファ40に通知される
。オペランドバッファ40の内部のキューに一時保持さ
れている次に実行すべき命令のオペランドは、オペラン
ド制御部50から線541によって通知されるキューの
エントリの番号にしたがって、演算実行部60へm!、
461を介して送出される。一方、オペランドバッファ
40は線541によって通知されるキューのエントリの
番号が指示するエントリに。
有効なオペランドが保持されているか否かを線451に
よってオペランド制御部50へ報告する。
オペランド制御部50は演算実行部60へ送出すべきオ
ペランドが保持されているオペランドバッファ40の内
部のキューのエントリの番号を線541によってオペラ
ンドバッファ4oに通知する。さらに、オペランドバッ
ファ40の状態を線451によって監視して、次に演算
実行部6〇へ送出すべきオペランドが既に到着している
か否かを判定する。判定の結果、オペランドが未着の場
合には、演算実行部60に対して演算の実行開始を延期
するように線561によって指示する。
演算実行部60は命令制御部10から線】61によって
指示される演算を実行する。このとき必要ならばバッフ
ァ記憶20(または主記憶30)から読み出したオペラ
ンドをオペランドバッファ40から線461を介してワ
ークレジスタWRに受は取る。演算の実行過程において
、オペランドの読み出しが必要となった場合には、演算
実行制御部60は命令制御部10に対して線611によ
りオペランドの読み出し要求を行う。命令制御部10は
演算制御部60からオペランドの読み出し要求を受は取
ると、バッファ記憶20に対して線121によりオペラ
ンドの読み出しを起動する。
また、演算の実行過程において、オペランドの取り込み
が必要となった場合には、演算実行部60はオペランド
制御部50に対して線651によりオペランドの取り込
み要求を行う。オペランド制御部50は演算制御部60
からオペランドの取り込み要求を受は取ると、演算実行
部60へ送出すべきオペランドが保持されているオペラ
ンドバッファ40の内部のキューのエントリの番号を線
541によってオペランドバッファ40に通知する。
第2図は先行制御方式とマイクロプログラム制御方式に
よって、従来と同様に、バッファ記憶20を参照すると
きのタイムチャートである。第2図においては、ストレ
ージ参照が1マシンサイクルで完了する命令の処理を示
している。
タイムチャートにおいて横軸は時間であり、マシンサイ
クル単位に目盛りを付けである。先行制御方式において
は、命令制御をステージと呼ぶ処理単位に分割し、各ス
テージは独立に動作可能に構成する。各ステージは1マ
シンサイクルで処理を完了するので、命令を1マシンサ
イクルピツチで処理することができる。
第2図においては、命令制御をり、A、B、L。
Eの5つのステージに分割している。
Dステージは命令の解読を行うステージである。
命令は命令制御部10内の命令レジスタIRに設定され
て解読され、情報処理装置内の各部に生成した解読情報
を分配する。このとき必要ならば読み出すべきオペラン
ドの論理アドレスLAの計算が行われる。
Aステージはオペランドの読み出しを起動するステージ
である。読み出すべきオペランドの論理アドレスLAを
オペランドの読み出し要求RQとともにバッファ記憶2
oへ送出する。
Bステージはバッファ記憶20からオペランドを読み出
すステージである。読み出すべきオペランドの論理アド
レスLAによりバッファ記憶20を参照する。
Lステージはオペランドの取り込みを行うステージであ
る。バッファ記憶20から読み出されたオペランドをオ
ペランドバッファ40経出で演算実行部6oへ出力する
Eステージは演算実行部60において演算を実行するス
テージである。演算を開始するために必要なオペランド
を演算実行部60内のワークレジスタWRに設定して、
命令の解読情報に基づいて演算を実行する。マイクロプ
ログラム制御方式においては、演算の実行は1マシンサ
イクル毎に実行されるマイクロ命令によって制御される
。単純な演算の場合には、1つのマイクロ命令によって
1マシンサイクルで完了するが、複雑な演算の場合には
2つ以上のマイクロ命令が必要となり、その結果2マシ
ンサイクル以上を必要とすることがある。第2図におい
ては、演算実行について複数のステージが必要な場合に
EステージをEO。
El、E2.E3.E4.・・・・・・と呼ぶステージ
で実行する例を示している。この例では、演算実行の過
程でオペランドの読み出しを起動してそのオペランドの
取り込みを行っている。第2図から明らかなように、E
Oステージにおいてマイクロ命令でオペランドの読み出
しを起動するように指定し、E3ステージにおいてマイ
クロ命令で読み出したオペランドを取り込むように指定
する場合には、演算実行のEO〜E4ステージを命令制
御のD−Eステージと同様のタイムチャートとなる。
第3図は先行制御方式とマイクロプログラム制御方式に
よって、従来と同様に、主記憶30を参照するときのタ
イムチャートである。
主記憶30はバッファ記憶20に比べて低速であり、バ
ッファ記憶20のように1マシンサイクルで参照するこ
とができない。ここでは、主記憶3oの参照には11マ
シンサイクル必要であると仮定して説明する。第3図に
おいて、命令制御のLステージは主記憶30から読み出
したオペランドを取り込むステージであるので、主記憶
30の参照が完了するまでLステージの実行が待たされ
る。その結果、主記憶30の参照に11マシンサイクル
を必要とする場合、BステージとLステージの間に10
マシンサイクルの空きが生じる。この空きが主記憶参照
に伴うオーバーヘッドであり、可能な限り低減する必要
がある。結局、オペランドの読み出しを起動するDステ
ージから読み出したオペランドを取り込むしステージま
での間に、12マシンサイクルが必要となる。
演算実行においてオペランドの取り込みを指定している
E3ステージについても同様であり、主記憶30の参照
が完了するまでE3ステージの実行が待たされる。
一般に、オペランドの読み出しを行う命令の演算処理は
、読み出すオペランドを使わないで処理を行うことがで
きる部分と、読み出したオペランドを使って処理を行う
必要がある部分とに分けることができる。ここでは、単
に、前者を前処理。
後者を後処理を呼ぶこととする。つまり、前処理は読み
出したオペランドの取り込みが完了しなくとも実行する
ことができるが、後処理は読み出したオペランドの取り
込みを完了するまで実行することができない。また、前
前のC8命令を例にとると、前処理として先行命令のス
トレージへのストア処理が全て完了しているか否かの判
定処理があり、後処理として読み出したオペランドの比
較演算処理がある。
第4図は本発明によってオペランドの読み出しを行う命
令が主記憶30を参照するときのタイムチャートである
。ただし、第4図においては、命令の演算処理に対して
EO−E5の6ステージが必要であり、前処理が3ステ
ージ、後処理が3ステージである例を示している。また
、それぞれの方式について、オペランドの読み出しを起
動するタイミングと、オペランドの取り込みを行うタイ
ミングを示している。このオペランド読み出しに関する
タイムチャートは第3図において示されている通りであ
る。
第4図(a)はマイクロプログラム方式によって主記憶
30を参照するときのタイムチャーl−である。前処理
の最初のEOステージにおいてオペランドの読み出しを
起動し、後処理の最初のE3ステージにおいてオペラン
ドの取り込みを行う。
第3図において示したように、主記憶30を参照すると
きには、オペランドの読み出しを起動してからオペラン
ドの取り込みを行うまでの間に、12マシンサイクルが
必要である。したがって、前処理が3ステージである場
合には、E2ステージとE3ステージの間に、10マシ
ンサイクルの空きが生じることとなる。
第4図(b)は先行制御制御方式によって主記憶30を
参照するときのタイムチャートである。
命令の解読を行うDステージにおいてオペランドの読み
出しを起動し、Lステージにおいてオペランドの取り込
みを行う。第3図から明らかなように、この場合には、
BステージとLステージの間に、10マシンサイクルの
空きが生じることとなる。
第4図(e)は本発明によって主記憶30を参照すると
きのタイムチャートである。本発明においては、先行制
御方式とマイクロプログラム制御方式の両方式を有効に
組み合わせて用いる。先行制御方式の命令解読を行うD
ステージにおいてオペランドの読み出しを起動し、マイ
クロプログラム制御方式のE3ステージにオペランドの
取り込みを行う。本発明においても、主記憶30を参照
するときには、オペランドの読み出しを起動してからオ
ペランドの取り込みを行うまでの間に、1−2マシンサ
イクルが必要であることに変わりはない。しかし、前処
理が3ステージである場合には、E2ステージとE3ス
テージの間に、6マシンサイクルの空きが生じるだけで
あり、第4図(a)(b)に比較して4マシンサイクル
高速にストレージ参照を行うことが可能になる。
以下では、本発明を実現するための情報処理装!lの各
部について説明を行う。特に、オペランドバッファ40
とオペランド制御部50については、その内部構成と動
作を詳細に説明する。
第5図は本発明を適用した情報処理装置1における命令
制御部10の内部構造を示すブロック図である。
バッファ記憶20から読み出された命令は命令レジスタ
IRIIに設定され、命令デコーダ]−2によって解読
される。命令の解読結果は命令デコーダ12から装置内
の各部に送出される。演算の種類を指示する情報は線1
.61によって演算実行部60へ送出される。また、ス
トレージからオペランドの読み出しが必要な場合には、
命令デコーダ12はアドレス生成回路13に対して読み
出しアドレスの生成を指示する。その指示に従って、ア
ドレス生成回路13は線121によってバッファ記憶2
0へ論理アドレスを送出してオペランドの読み出しの起
動を行う。このとき、命令デコーダ12はエントリ制御
回路14に対して後述するオペランドバッファ40内の
オペランドキューの使用するエントリの番号を生成する
ように指示する。−船釣には、エントリ制御回路14は
以前に使用したエントリの番号に1を加えた番号を生成
する。エントリ制御回路14は生成したエントリの番号
を線122によってバッファ記憶20へ送出し、線15
2によってオペランド制御部50へ送出する。アドレス
生成回路13及びエントリ制御回路14は、演算実行部
60からオペランドの読み出しを起動するように線61
1によって指示された場合にも、命令デコーダ12から
の指示と同様に振る舞う。命令デコーダ12はオペラン
ド制御部60に対しても線151によって読み出された
オペランドの取り込みを行うか否かを指示する。従来、
オペランドの読み出しを起動する指示を行った場合には
、オペランドの取り込みを行うように指示していた。本
発明においては、C8命令のように、ストレージ参照に
長い時間を8蔓とする命令の場合、オペランドの読み出
しを起動する指示を行うが、オペランドの取り込みを行
わないように指示する。上述したことは、命令デコーダ
12のデコード論理の変更のみによって、従来の技術に
基づいて実現可能である。
第6図は本発明を適用した情報処理装置1における演算
実行部60の内部構成を示すブロック図である。
演算実行部60内の各部はマイクロ制御回路82によっ
て制御される。マイクロ制御回路82はマイクロ命令を
内部に保持し、そのマイクロ命令を次々に読み出して各
部に送出する。オペランドの読み出しを起動するマイク
ロ命令は線611によって命令制御部10へ送出され、
オペランドの取り込みを指示するマイクロ命令は線65
1によって、オペランド制御部50へ送出される。また
、マイクロ命令は演算実行部60内の演算器83、判定
回路84を制御する6例えば、CS命令の処理では、前
述の前処理である先行命令のストアの完了の判定処理を
行うために判定回路84を制御する。判定回路84は先
行命令のストアの完了を判定して、マイクロ制御回路8
2にその結果を返送する。マイクロ制御回路82は判定
結果によって次に実行すべきマイクロ命令を選択する。
また、C8命令の処理では、前述の後処理であるオペラ
ンドの比較演算処理を行うために演算器83を制御する
。演算器83が必要とするオペランドはワークレジスタ
81に保持される。ストレージから読み呂されたオペラ
ンドはオペランドバッファ40から線461を介してワ
ークレジスタ81に設定される。この制御については次
に説明スル。一方、オペランド制御部50から線561
によって、演算実行の延期を要求されると、マイクロ制
御回路82は次に実行すべきマイクロ命令の送出を延期
する。ここで述べたことは、マイクロ命令を変更するこ
とによって、従来の技術に基づいて実現可能である。
第7図は本発明を適用した情報処理装置1におけるオペ
ランドバッファ4oの内部構成を示すブロック図である
オペランドバッファ40はバッファ記憶20から線24
3を介して送られてくる読み出されたオペランドをオペ
ランドキュー41の1つのエントリに一時保持する。オ
ペランドを保持すべきオペランドキュー41のエントリ
の番号は、命令制御部10からバッファ記憶20へ線1
22によって送出したエントリの番号であり、バッファ
記憶20から線242によってデコーダ42に通知され
る。また、オペランドキュー41にオペランドを取り込
むべきタイミングは、バッファ記憶20がオペランドの
読み出しが完了したときに、バッファ記憶20から線2
41によってデコーダ42に通知される。したがって、
デコーダ42は線242によって指示されたオペランド
キュー41の1つのエントリに対して、線241によっ
て指示されたタイミングでセット信号を発行する6オペ
ランドキユー41の各エントリは、オペランドを保持す
るフィールドと有効なオペランドがそのエントリに保持
されている状態を示すバリッドビットVから構成される
。バリッドビットVはデコーダ42からのセット信号に
よってセットされる。
次に実行すべき命令のオペランドを保持しているオペラ
ンドキュー41のエントリの番号は、オペランド制御部
50から線541によってセレクタ43に通知される。
したがって、セレクタ43は線541によって指示され
たオペランドキュー41の1つのエントリの内容を選択
する。セレクタ43によって選択されたオペランドキュ
ー41の1つのエントリに保持されているオペランドは
、演算実行部60へ線461を介して送出される。
一方、セレクタ43によって選択されたオペランドキュ
ー41の1つのエントリのバリッドビット■は線451
によってオペランド制御部50へ報告され、演算実行部
60へ送出したオペランドが有効であるか否かの判定に
用いられる。
第8図は本発明を適用した情報処理装置1においけるオ
ペランド制御部50の内部構成を示すブロック図である
命令の先行制御において、バッファ記憶20に対してオ
ペランドの読み出しが起動されているので、そのオペラ
ンドの取り込みが必要であるということは、命令制御部
10からオペランド制御部50へ線151によって通知
され、そのオペランドを保持しているオペランドキュー
41のエントリの番号は線152によって通知される。
線151と線152の内容は先行制御におけるタイミン
グ調整のためにラッチ51とラッチ52に取り込まれる
一方、命令の演算実行のマイクロプログラム制御におい
て、バッファ記憶20に対してオペランドの読み高しが
起動されているので、そのオペランドの取り込みが必要
であるということは、演算実行部60からのマイクロ命
令によって線651を介して指示され、その指示内容は
ラッチ611こ取り込まれる。また、そのオペランドを
保持しているオペランドキュー41のエントリの番号は
ラッチ62に取り込ま九る内容によって指示されること
になるが、この制御については後述する。
上述のように、オペランド制御部50においては先行制
御とマイクロプログラム制御が混在してオペランドの取
り込み制御を行う。このためしこ必要となる2つの制御
の間の調停方法について次に説明する。
先行制御方式においては、ある命令の演算実行が完了す
るまで次の命令の先行制御におけるオペランドの取り込
みを開始することができない。つまり、演算実行の最終
Eステージまでは、先行制御のLステージとオーバラッ
プすることができない。このため、演算実行の最終Eス
テージ以外のEステージであることをマイクロ命令によ
って指示する。この指示内容はうッチ74に取り込まれ
る。したがって、ラッチ74の指示によって先行制御と
マイクロプログラム制御の間の調停を行うことができる
。セレクタ71.’72.73は先行制御とマイクロプ
ログラム制御の切り替えを行うために設けられ、ている
。セレクタ71,72゜73は先行制御を行うときには
そわぞラッチ51゜52、増分器53を選択する。また
、マイクロプログラム制御を行うどきにはそれぞれラッ
チ61゜62、増分器63を選択する。
マイクロプログラム制御においてオペランドキュー4】
のエン1−りの番号を指示するラッチ62の制御につい
て説明スル。
マイクロプログラム制御においては、オペランドキュー
41のエントリの番号を命令制御部10とオペランド制
御部50が協調し、で管理する。っまり、マイクロプロ
グラム制御が使用するオペランドキュー41のエントリ
の番号は、先行制御が使用したエントリの番号から算出
する。先行制御が使用すべきオペランドキュー41のエ
ンドIJ (7)番号はラッチ52に取り込まれている
。また、先行制御においてオペランドの取り込みを行う
か否かはラッチ51に設定されている。先行制御におい
てオペランドの取り込みを行うことがラッチ51によっ
て指示されている場合、増分器53はラッチ52に取り
込まれているオペランドキュー41のエントリの番号に
1を加えて出力する。−方、先行制御においてオペラン
ドの取り込みを行わないことがラッチ51によって指示
されている場合、増分器53はラッチ52に取り込まれ
ているオペランドキュー41のエントリの番号をそのま
ま出力する。以上のようにして増分器53によって算出
されたエントリの番号が、マイクロプログラム制御にお
いて最初に使用すべきオペランドキュー41のエントリ
の番号となる。先行制御を行っているとき、セレクタ7
3は増分器53の出力を選択するので、マイクロプログ
ラム制御において最初に使用すべきオペランドキュー4
1のエントリの番号がラッチ62に取り込まれる。
マイクロプログラム制御においてオペランドの取り込み
を行うか否かはラッチ6】に設定されている。マイクロ
プログラム制御においてオペランドの取り込みを行うこ
とがラッチ6]によって指示されている場合、増分器6
3はラッチ62に取り込まれているオペランドキュー4
1のエントリの番号に1を加えて出力する。一方、マイ
クロプログラム制御においてオペランドの取り込みを行
わないことがラッチ61によって指示されている場合、
増分器63はラッチ62に取り込まれているオペランド
キュー41のエントリの番号をそのまま出力する。マイ
クロプログラム制御を行っているとき、セレクタ73は
増分器63の出力を選択しているので、マイクロプログ
ラム制御においてオペランドの取り込みを行う度に、ラ
ッチ62の内容に1が加えられる。その結果、マイクロ
プログラム制御においては、オペランドキュー41のエ
ントリを順番に使用することになる。
以上の説明から明らかであるように、演算実行部60が
オペランドの取り込みを行う必要があるか否かは、先行
制御においてはラッチ51が保持し、マイクロプログラ
ム制御においてはラッチ61が保持している。したがっ
て、ラッチ74の指示に従って選択されたセレクタ71
の出力は、常に、演算実行部60がオペランドの取り込
みを行う必要があるか否かを指示することになる。また
、演算実行部60が取り込むべきオペランドが保持され
ているオペランドキュー41のエントリの番号は、先行
制御においてはラッチ52が保持し、マイクロプログラ
ム制御においてはラッチ62が保持している。セレクタ
72はその一方をラッチ74の指示に従って選択し、線
541によってオペランドバッファ4oに通知する。オ
ペランドバッファ40は通知されたエントリの番号を用
いてオペランドキュー41の1つのエントリのバリッド
ビット■を選択し、線451によってオペランド制御部
50に返送する。つまり、線451は演算実行部60が
取り込むべきオペランドがオペランドキュー41のエン
トリに既に到着しているか否かを指示することになる。
論理否定ゲート75と論理積ゲート76は、演算実行部
60がオペランドの取り込みを行う必要があるが、取り
込むべきオペランドがオペランドキュー41に未着であ
るという条件を生成する。この条件が成立すると、演算
実行部60に対して演算の実行開始を延期するように線
561によって指示する。
この場合、演算実行部60内のマイクロ制御部82はマ
イクロ命令の送出を延期する。
以上の説明から次の動作がなされることは明らかである
。つまり、命令制御部10は先行制御の命令解読を行う
Dステージにおいてオペランドの読み出しを起動する。
その際に使用するオペランドキュー41のエントリの番
号を線152によってオペランド制御部50に送出する
が、オペランドの取り込みを行う必要がないことを同時
に線151によってオペランド制御部50へ指示する。
すると、線152によって送出されたオペランドキュー
41のエントリの番号が、そのままラッチ62に取り込
まれる。また、論理積ゲート76は線561によって演
算実行部60に対して演算の実行開始の延期を指示しな
い。したがって、マイクロプログラム制御のEOステー
ジはすぐに開始され、さらに、E3ステージにおいてオ
ペランドの取り込みを指示すると、先行制御において読
み出しを起動したオペランドを取り込むことが可能とな
る。
本実施例においては、説明のために、演算実行について
マイクロプログラム制御方式を採用しているが、布線論
理による制御方式を採用した場合についても同様であり
、このことによって本発明が限定されるものではない。
〔発明の効果〕
本発明によれば、ロックを行うような長い参照時間を必
要とするストレージ参照を高速に行うことが可能になる
【図面の簡単な説明】
第1図は情報処理装置の全体構成を示すブロック図、第
2図はバッファ記憶を参照するときのタイムチャート、
第3図は主記憶を参照するときのタイムチャート、第4
図は本発明によって主記憶を参照するときの効果を示す
タイムチャート、第5図は命令制御部の内部構成を示す
ブロック図、第6図は演算実行部の内部構成を示すブロ
ック図、第7図はオペランドバッファの内部構成を示す
ブロック図、第8図はオペランド制御部の内部構成を示
すブロック図である。 符号の説明 1・・・情報処理装置、10・・・命令制御部、20・
・・バッファ記憶、30・・・主記憶、40・・・、オ
ペランドバッファ、50・・・オペランド制御部、60
・・・演算実行部。 手1図 時間 llff間 舘と飄し               12−1必み
第し/−図 i1+六工、し                  
        田クシ一ノt叩脅介幅1専や 、ぐッ77に乙・虎 ZOりつ 第2区 gへ 第7図 知 7ぜクンド′ バッファ 60へ 第2区 1Oへ

Claims (1)

  1. 【特許請求の範囲】 1、オペランドを保持するストレージと、実行すべき命
    令を解読し、該命令が要求するオペランドの読み出しを
    該ストレージに対して起動し、該オペランドが読み出さ
    れる前に該命令が要求する演算の実行を指示する命令制
    御手段と、該指示に応答して、該命令が指定した演算の
    実行前に実行されるべき該オペランドに無関係の処理を
    実行した後に、該ストレージから該読み出し起動により
    読み出された該オペランドに対して該演算を行う演算実
    行手段とよりなることを特徴とする情報処理装置。 2、実行すべき命令を解読し、該命令が要求するオペラ
    ンドの読み出しをオペランド保持用のストレージに対し
    て起動し、且つ、該オペランドが読み出される前に該命
    令が要求する演算の実行を指示し、該指示に応答して、
    該演算の実行前に実行されるべき該オペランドに無関係
    の処理を実行した後、該ストレージから該起動により読
    み出された該オペランドに対して該演算を行うことを特
    徴とする情報処理方法。
JP31149590A 1990-11-19 1990-11-19 情報処理装置及び情報処理方法 Pending JPH04182831A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31149590A JPH04182831A (ja) 1990-11-19 1990-11-19 情報処理装置及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31149590A JPH04182831A (ja) 1990-11-19 1990-11-19 情報処理装置及び情報処理方法

Publications (1)

Publication Number Publication Date
JPH04182831A true JPH04182831A (ja) 1992-06-30

Family

ID=18017918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31149590A Pending JPH04182831A (ja) 1990-11-19 1990-11-19 情報処理装置及び情報処理方法

Country Status (1)

Country Link
JP (1) JPH04182831A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011175669A (ja) * 2004-06-30 2011-09-08 Intel Corp 競合しないロック命令の投機実行のための方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011175669A (ja) * 2004-06-30 2011-09-08 Intel Corp 競合しないロック命令の投機実行のための方法及び装置

Similar Documents

Publication Publication Date Title
US5293500A (en) Parallel processing method and apparatus
US5247635A (en) Vector processing system for invalidating scalar cache memory block indicated by address in tentative vector store instruction
KR920006275B1 (ko) 데이타 처리 장치
JPS62221036A (ja) 計算装置
US4310880A (en) High-speed synchronous computer using pipelined registers and a two-level fixed priority circuit
JPH0766329B2 (ja) 情報処理装置
EP0394624A2 (en) Multiple sequence processor system
JPH06103494B2 (ja) ベクトル処理装置の制御方式
JPH02195432A (ja) データ処理システム及び方法
JP3797570B2 (ja) セマフォ命令用のセマフォ・バッファを用いた装置と方法
JPH0760388B2 (ja) パイプライン制御回路
JPH03233630A (ja) 情報処理装置
EP0079370A4 (en) DIGITAL CALCULATOR FOR EXECUTING COMMANDS IN THREE PARTS IN TIME MULTIPLEX.
JPH04182831A (ja) 情報処理装置及び情報処理方法
JPH0512751B2 (ja)
EP0573071A2 (en) A microprocessor
JPS6315628B2 (ja)
JPH06131180A (ja) 命令処理方式および命令処理装置
JPH05298088A (ja) マイクロコンピュータ
JPS60241136A (ja) デ−タ処理装置
JP3017866B2 (ja) 割込み処理方式
JPS58114250A (ja) 共有マイクロプロセツサ
JP2825315B2 (ja) 情報処理装置
JP2559165B2 (ja) マルチプロセッサシステム
JP2549410B2 (ja) 主記憶参照順序制御方式