JP2671161B2 - レジスタ干渉チェック方式 - Google Patents

レジスタ干渉チェック方式

Info

Publication number
JP2671161B2
JP2671161B2 JP2068115A JP6811590A JP2671161B2 JP 2671161 B2 JP2671161 B2 JP 2671161B2 JP 2068115 A JP2068115 A JP 2068115A JP 6811590 A JP6811590 A JP 6811590A JP 2671161 B2 JP2671161 B2 JP 2671161B2
Authority
JP
Japan
Prior art keywords
instruction
register
output
destination
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.)
Expired - Fee Related
Application number
JP2068115A
Other languages
English (en)
Other versions
JPH03269627A (ja
Inventor
好正 竹部
和彦 池田
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 JP2068115A priority Critical patent/JP2671161B2/ja
Publication of JPH03269627A publication Critical patent/JPH03269627A/ja
Application granted granted Critical
Publication of JP2671161B2 publication Critical patent/JP2671161B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔概 要〕 メモリアクセス命令とそれに続く命令をオーパラップ
させて実行させる計算機システムのレジスタ干渉チェッ
ク方式に関し、 ハードウェア量を増大させることなく複数のメモリア
クセス命令を突き放し制御できるようにすることを目的
とし、 中央処理装置とメモリとがメモリアクセスコントロー
ル手段を介してデータを受け渡しする計算機システムに
おいて、ソースオペランドまたはディスティネーション
オペランドとして指定することができるレジスタの数と
同数のフラグと、実行する命令の一時記憶手段と、該一
時記憶手段のディスティネーションオペランドによって
指定されているデータ書き込み側のレジスタ番号に対応
させて上記フラグをセットし、さらに前記メモリアクセ
スコントロール手段から処理されるメモリ読み出し命令
のディスティネーションオペランドで指定されたレジス
タ番号に対応させて上記フラグをリセットするディステ
ィネーション指定記憶手段と、該ディスティネーション
指定記憶手段の出力をデータ入力とし前記一時記憶手段
のディスティネーションオペランドによって指定されて
いるデータ書き込み側のレジスタ番号かソースオペラン
ドによって指定されているレジスタ番号を制御入力とす
る複数の信号選択手段と、該信号選択手段からの出力を
入力してそれらの論理和を出力する論理和出力手段と、
を備え、該論理和出力手段の出力信号により後続する命
令の実行を停止させる構成としたものである。
〔産業上の利用分野〕
本発明は、メモリアクセス命令とそれに続く命令をオ
ーバーラップさせて実行させる計算機システムのレジス
タ干渉チェック方式に関する。
〔従来の技術〕
従来の計算機システムでは、通常、主記憶からデータ
を読み込む時間がレジスタ間の転送または演算の時間と
比べて長い時間を必要とする。
このためメモリアクセス命令を発行してからそのアク
セスが完了するまでの時間を短縮することが困難で、見
掛上の実行時間を短縮する方法としては、例えば、先行
するメモリアクセス命令を実行している間に次の演算命
令を実行させること等が考えられている。
例えば、第3図に示すように、レジスタにタグを使用
して命令の流れを管理するものがある(米国特許第4630
195号)。
1はタグ0レジスタで,2はタグ1レジスタであり、タ
グ制御ロジック回路3の制御に従ってマルチプレクサ4,
5を介してロードディスティネーションアドレスにタグ
(0)またはタグ(1)を付ける。6,7,8はタグ0系の
比較器で、それぞれソースレジスタ(No.1)、ソースレ
ジスタ(No.2)、ディスティネーションレジスタからの
データをタグ(0)と比較する。比較器8の結果によっ
てタグ(0)をキャンセルする。9,10,11はタグ1系の
比較器で、それぞれソースレジスタ(No.1)、ソースレ
ジスタ(No.2)、ディスティネーションレジスタからの
データをタグ(1)と比較する。比較器11の結果によっ
てタグ(1)をキャンセルする。12はOR(論理和)回路
で、各比較器6,7,9,10のそれぞれの結果を入力してレジ
スタ干渉の有無をチェックし、干渉していれば処理を中
止させる。
この構成により、タグ制御ロジック回路3の制御で読
み込み先のレジスタにタグを付け、後の命令がタグの付
かないレジスタを参照するなら実行し、タグの付いたレ
ジスタの値が必要なら実行を中断する。また、データの
読み込みが終った場合や後の命令がタグの付いたレジス
タにデータを書き込む場合にタグを無効にする。
このような先行する命令のメモリアクセスを実行して
いる間に次の命令を実行させる例では、先行する命令が
読み込み(ロード)命令であれば、先行する読み込み命
令の送り先(ディスティネーション)に指定されている
レジスタの値を、後続の命令で使用することがあり、こ
のような場合には先行する読み込み命令が完了する前
に、つぎの命令を実行することはできない。
このような場合が生じるために、先行する読み込み命
令の送り先に指定されているレジスタ番号を記憶してお
き、後続の命令を実行するにあたり先行している読み込
み命令の送り先に指定されているレジスタ番号と後続の
演算命令の送り元として指定されているレジスタ番号と
を比較して、その番号が一致するか否かによってレジス
タの干渉があるかないかを、例えば前記具体例では比較
器6,7,8,9,10,11およびOR回路12によって、チェックし
ている。
〔発明が解決しようとする課題〕
上記、従来のレジスタ干渉チェック方式では、タグ情
報によって命令を中断し、その間に他のレジスタを使用
して命令の流れを続行させるため、後続の演算命令で送
り元(ソース)に指定されているレジスタ番号の干渉を
チェックするためには、突き放されている読み込み命令
の数だけレジスタ番号を記憶しておき、後続命令の送り
元に指定されているレジスタ番号とそれぞれ比較するた
めの各比較器6,7,8,9,10,11が必要になり、ハードウェ
ア量が増大するという問題点があった。
本発明は、上記問題点に鑑みて成されたものであり、
その解決を目的として設定される技術的課題は、ハード
ウェア量を増大させることなく複数のメモリアクセス命
令を突き放し制御できるようにした、レジスタ干渉チェ
ック方式を提供することにある。
〔課題を解決するための手段〕
本発明は、上記課題を解決するための具体的な手段と
して、レジスタ干渉チェック方式を構成するにあたり、
第1図に示すように、中央処理装置11とメモリ12とがメ
モリアクセスコントロール手段13を介してデータを受け
渡しする計算機システムにおいて、ソースオペランドま
たはディスティネーションオペランドとして指定するこ
とができるレジスタの数と同数のフラグと、実行する命
令の一時記憶手段14と、該一時記憶手段14のディスティ
ネーションオペランドによって指定されているデータ書
き込み側のレジスタ番号に対応させて上記フラグをセッ
トし、さらに前記メモリアクセスコントロール手段13か
ら出力されるメモリ読み出し命令のディスティネーショ
ンオペランドで指定されたレジスタ番号に対応させて上
記フラグをリセットするディスティネーション指定記憶
手段15と、該ディスティネーション指定記憶手段15の出
力をデータ入力とし前記一時記憶手段14のディスティネ
ーションオペランドによって指定されているデータ書き
込み側のレジスタ番号かソースオペランドによって指定
されているレジスタ番号を制御入力とする複数の信号選
択手段16a,16b,16cと、該信号選択手段16a,16b,16cから
の出力を入力してそれらの論理和を出力する論理和出力
手段17と、を備え、該論理和出力手段17の出力信号によ
り後続する命令の実行を停止させるものである。
〔作 用〕
本発明は上記構成により、一時記憶手段14に格納され
た命令の実行に際し、ディスティネーション指定記憶手
段15の出力が各信号選択手段16a,16b,16cに入力され、
これらのデータがソースオペランドによって指定されて
いるレジスタ番号かディスティネーションオペランドに
よって指定されているレジスタ番号により選択的に出力
され、それらの出力データのうち何れか1つが論理和出
力手段17によって出力され、その出力信号により、一時
記憶手段14に格納された命令の後続命令を実行させない
ようにする。
〔実施例〕
以下、本発明の実施例としてディスティネーション指
定記憶手段をデコーダとJKフリップフロップとを組合せ
た構成の場合について第2図により説明する。
ここに、21はCPU(中央処理装置)で、MAC(メモリア
クセスコントロール)22との間で命令やデータの授受を
行い、図示しないメモリに格納された命令列を順次実行
する。CPU21には命令でどのレジスタ番号でもソースオ
ペランドまたはディスティネーションオペランドとして
指定することができる32個のレジスタ(図示せず)を有
する。
実行する命令を格納するために、4つの格納域31a,31
b,31c,31dを有するレジスタ31を設ける。
レジスタ31の格納域のうち、31aは命令の種類を指定
する命令コード(OPCD)を格納し、31bは第1番目の
(読み出し側レジスタ番号の)オペランド格納域(Src.
r1)で、ソースオペランドのレジスタを指定する。31c
は第2番目の(読み出し側のレジスタ番号の)オペラン
ド格納域(Src.r2)で、ソースオペランドのレジスタを
指定する。31dは第3番目の(書き込み側レジスタ番号
の)オペランド格納域(Dst.r3)で、ディスティネーシ
ョンオペランドのレジスタを指定する。31b,31c,31dは
それぞれ各5ビットの格納域を有する。
32はディスティネーション指定記憶手段で、レジスタ
31のディスティネーションオペランドによって指定され
ているデータ書き込み側のレジスタ番号に対応させてフ
ラグをセットし、さらに前記メモリアクセスコントロー
ル手段22から先行する命令によりメモリから読み出され
たデータを出力すると同時に、先行する命令のディステ
ィネーションオペランドで指定されたレジスタ番号に対
応したフラグをリセットするようにデコーダ33a,33bとJ
Kフリップフロップ34−1,34−2,34−3,…,34−nとによ
り構成する。
33aはデコーダで、第3番目のオペランド格納域31dの
内容をデコードして、各出力を順に、書き込み側レジス
タ番号に対応するJKフリップフロップ34−1,34−2,…,
および34−32のJ入力端子側に入力させ、そのフリップ
フロップ34−1,34−2,…,または34−32の値をデコード
されたデータに従ってセット(「1」に)する。
33bはデコーダで、先行するメモリからのロード命令
によりディスティネーションに指定されたレジスタに結
果を書き込む際に、MAC22から出力される命令のディス
ティネーションオペランドで指定されたレジスタ番号を
デコードして、各出力を順に、指定レジスタ番号に対応
するJKフリップフロップ34−1,34−2,…,および34−32
のK入力端子側に入力させ、そのJKフリップフロップ34
−1,34−2,…,または34−32の値をリセット(「0」
に)する。
35aは信号選択手段としてのマルチプレクサで、第3
番目のオペランド格納域31dの内容を制御入力として、
そのディスティネーションオペランドで指定されたレジ
スタ番号に対応するJKフリップフロップ34−1,34−2,
…,または34−32からの出力を選択的に出力する。
35bは信号選択手段としてのマルチプレクサで、第2
番目のオペランド格納域31cの内容を制御入力として、
そのソースオペランドで指定されたレジスタ番号に対応
するJKフリップフロップ34−1,34−2,…,または34−32
からの出力を選択的に出力する。
35cは信号選択手段としてのマルチプレクサで、第1
番目のオペランド格納域31bの内容を制御入力として、
そのソースオペランドで指定されたレジスタ信号に対応
するJKフリップフロップ34−1,34−2,…,または34−32
からの出力を選択的に出力する。
36はOR回路で、各マルチプレクサ35a,35b,35cの出力
の論理和を出力し、出力結果が「1」の時は先行命令と
後続命令におけるデータ格納用レジスタの干渉が起った
場合であり、この出力信号を後続命令の中断信号とす
る。
このように構成した実施例を使用すると、レジスタ31
にセットされた命令に対して、その命令のディスティネ
ーションオペランドによって指定されているレジスタ番
号をデコーダ33aでデコードし、そのレジスタ番号に対
応するJKフリップフロップ34−1,34−2,…,または34−
32がセットされる。また、MAC22からメモリ読み出しデ
ータと一緒に戻される先行する命令のディスティネーシ
ョンオペランドによって指定されているレジスタ番号を
デコーダ33bでデコードし、そのレジスタ番号に対応す
るJKフリップフロップ34−1,34−2,…,または34−32が
リセットされる。各JKフリップフロップ34−1,34−2,
…,または34−32の出力が各マルチプレクサ35a,35b,35
cに入力されて、それぞれ格納域31dの内容であるディス
ティネーションオペランドによって指定されているレジ
スタ番号、格納域31cの内容であるソースオペランドに
よって指定されているレジスタ番号、格納域31bの内容
であるソースオペランドによって指定されているレジス
タ番号に対応するJKフリップフロップ34−1,34−2,…,
または34−32の出力を選択させて出力し、その各出力の
論理和をOR回路36によって出力させ、その出力が「1」
の場合にレジスタ干渉であるとして後続命令の実行が行
われないように中断させる。
これにより、先行命令がメモリからの読み込み命令で
あっても、その命令のディスティネーションに指定され
ているレジスタ番号に対応するJKフリップフロップ34−
1,34−2,…,および34−32がセットされてから、メモリ
のアクセスが開始されることによって、その後続の命令
で、前に実行されたメモリからの読込み命令のディステ
ィネーションに指定されているデータ格納用レジスタを
使用しない限り、その後続の命令が実行可能となる。
従って、命令に含まれているソースオペランドおよび
ディスティネーションオペランドに対応したハードウェ
ア量があれば良く、ハードウェアの量を増加させること
なく、複数のメモリアクセス命令の突き放し制御ができ
るようになって、メモリアクセス命令と演算命令をオー
バーラップさせて実行させることにより、処理速度を速
くすることができ、実効性能が向上できる。
〔発明の効果〕
以上のように本発明では、一時記憶手段14に格納され
た命令のディスティネーションオペランドによって指定
されているデータ書き込み側のレジスタ番号が、メモリ
アクセスコントロール手段13から先行する読み込み命令
のディスティネーションオペランドによって指定されて
いるレジスタにメモリから読み出されたデータを格納す
ると同時に出力されるレジスタ番号と一致して、ディス
ティネーション指定記憶手段15の出力がなくなるまで
は、各信号選択手段16a,16b,16cにデータ入力され、こ
れらのデータのうち何れか1つが各信号選択手段16a,16
b,16cおよび論理和出力手段17によって出力され、その
出力信号によって、先行している命令の書き込み側のレ
ジスタ番号が後続の命令でも呼び出されて干渉を起こし
ていることが分り、一時記憶手段14に格納された命令の
後続命令を実行させないようにすることができる。
従って、後続の命令が先行した命令により実行された
メモリからの読み込み命令のディスティネーションオペ
ランドに指定されているレジスタを使用しない限り、後
続の命令を実行させることができ、複数のメモリアクセ
ス命令を突き放し制御でき、メモリアクセス命令と演算
命令をオーバーラップさせて実行させることにより命令
の実効性能が向上できる。
また、従来例のように比較器をオペランドの倍数も必
要とせず、ハードウェアの物量を増加させることなく性
能向上させることができる。
【図面の簡単な説明】
第1図は、本発明の構成図、 第2図は、実施例の構成図、 第3図は、従来例を示す構成図。 11……中央処理装置 12……メモリ 13……メモリアクセスコントロール手段 14……一時記憶手段 15……ディスティネーション指定記憶手段 16a,16b,16c……信号選択手段 17……論理和出力手段
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭60−138642(JP,A)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】中央処理装置(11)とメモリ(12)とがメ
    モリアクセスコントロール手段(13)を介してデータを
    受け渡しする計算機システムにおいて、 ソースオペランドまたはディスティネーションオペラン
    ドとして指定することができるレジスタの数と同数のフ
    ラグと、 実行する命令の一時記憶手段(14)と、 該一時記憶手段(14)のディスティネーションオペラン
    ドによって指定されているデータ書き込み側のレジスタ
    番号に対応させて上記フラグをセットし、さらに前記メ
    モリアクセスコントロール手段(13)から出力されるメ
    モリ読み出し命令のディスティネーションオペランドで
    指定されたレジスタ番号に対応させて上記フラグをリセ
    ットするディスティネーション指定記憶手段(15)と、 該ディスティネーション指定記憶手段(15)の出力をデ
    ータ入力とし前記一時記憶手段(14)のディスティネー
    ションオペランドによって指定されているデータ書き込
    み側のレジスタ番号かソースオペランドによって指定さ
    れているレジスタ番号を制御入力とする複数の信号選択
    手段(16a,16b,16c)と、 該信号選択手段(16a,16b,16c)からの出力を入力して
    それらの論理和を出力する論理和出力手段(17)と、 を備え、該論理和出力手段(17)の出力信号により後続
    する命令の実行を停止させることを特徴とするレジスタ
    干渉チェック方式。
JP2068115A 1990-03-20 1990-03-20 レジスタ干渉チェック方式 Expired - Fee Related JP2671161B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2068115A JP2671161B2 (ja) 1990-03-20 1990-03-20 レジスタ干渉チェック方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2068115A JP2671161B2 (ja) 1990-03-20 1990-03-20 レジスタ干渉チェック方式

Publications (2)

Publication Number Publication Date
JPH03269627A JPH03269627A (ja) 1991-12-02
JP2671161B2 true JP2671161B2 (ja) 1997-10-29

Family

ID=13364423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2068115A Expired - Fee Related JP2671161B2 (ja) 1990-03-20 1990-03-20 レジスタ干渉チェック方式

Country Status (1)

Country Link
JP (1) JP2671161B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60138642A (ja) * 1983-12-27 1985-07-23 Hitachi Ltd 情報処理装置

Also Published As

Publication number Publication date
JPH03269627A (ja) 1991-12-02

Similar Documents

Publication Publication Date Title
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
EP0378415A2 (en) Multiple instruction dispatch mechanism
JPH0673105B2 (ja) 命令パイプライン方式のマイクロプロセッサ
JPS6212529B2 (ja)
JPH034936B2 (ja)
JP2703884B2 (ja) データ書込み制御方式
JP2671161B2 (ja) レジスタ干渉チェック方式
JP2553200B2 (ja) 情報処理装置
JP2565495B2 (ja) デ−タ処理システム
US5931942A (en) Pipeline data processing apparatus of reduced circuit scale
JP2520882B2 (ja) デ−タ処理装置およびデ−タ処理方法
EP0177712B1 (en) Masked data fetch and modifying device
JPH0222413B2 (ja)
JP3490191B2 (ja) 計算機
JP2933569B2 (ja) 中央演算処理装置
JP2883488B2 (ja) 命令処理装置
JP2511063B2 (ja) パイプライン制御方式
JP2982181B2 (ja) 中央処理装置
JPH0683614A (ja) マイクロコンピュータ
JPS61143850A (ja) 処理装置
JPH06162067A (ja) ベクトル命令制御装置および制御方法
JP2987281B2 (ja) プロセッサ
JP2942449B2 (ja) データ処理装置
JP3068406B2 (ja) ベクトル演算装置
JP2639988B2 (ja) データ駆動型データ処理装置

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees