JPH1021073A - レイテンシ付きロード命令を処理するプロセッサ - Google Patents
レイテンシ付きロード命令を処理するプロセッサInfo
- Publication number
- JPH1021073A JPH1021073A JP8174761A JP17476196A JPH1021073A JP H1021073 A JPH1021073 A JP H1021073A JP 8174761 A JP8174761 A JP 8174761A JP 17476196 A JP17476196 A JP 17476196A JP H1021073 A JPH1021073 A JP H1021073A
- Authority
- JP
- Japan
- Prior art keywords
- latency
- register
- instruction
- load
- signal
- 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
Links
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【課題】スコアボーディングにおいては、論理回路が大
きくなる。 【解決手段】複数のレジスタ状態管理回路2は、バリッ
ドビット格納手段と、ロード命令の対象のレジスタ番号
の格納手段と、レイテンシを格納し1クロックサイクル
ごとにレイテンシをデクリメントするカウンタとを有
し、該カウンタの値が所定値となった時に、バリッドビ
ットが有効な場合はストール信号を出力し、ストール信
号の出力中にバリッドビットが無効となった場合はスト
ール信号の出力を中止する。論理和回路3は、複数の管
理回路2から出力されたストール信号の論理和を算出し
演算器に出力する。シグナルセレクタ1は、ロード命令
が発行されると、バリッドビットが無効の管理回路2
に、ロード命令の対象となるレジスタ番号とレイテンシ
とを格納してバリッドビットを有効にし、書き込みが完
了したレジスタ番号を有する管理回路2のバリッドビッ
トを無効にする。
きくなる。 【解決手段】複数のレジスタ状態管理回路2は、バリッ
ドビット格納手段と、ロード命令の対象のレジスタ番号
の格納手段と、レイテンシを格納し1クロックサイクル
ごとにレイテンシをデクリメントするカウンタとを有
し、該カウンタの値が所定値となった時に、バリッドビ
ットが有効な場合はストール信号を出力し、ストール信
号の出力中にバリッドビットが無効となった場合はスト
ール信号の出力を中止する。論理和回路3は、複数の管
理回路2から出力されたストール信号の論理和を算出し
演算器に出力する。シグナルセレクタ1は、ロード命令
が発行されると、バリッドビットが無効の管理回路2
に、ロード命令の対象となるレジスタ番号とレイテンシ
とを格納してバリッドビットを有効にし、書き込みが完
了したレジスタ番号を有する管理回路2のバリッドビッ
トを無効にする。
Description
【0001】
【発明の属する技術分野】本発明は、パイプライン処理
を行うプロセッサを有する情報処理装置に係わり、プロ
セッサ内部の演算器の中断を出来る限り少なくする機能
を有するプロセッサを有し、ロード命令にレイテンシを
添付することによりプロセッサの回路面積の縮小化可能
な情報処理装置に関する。
を行うプロセッサを有する情報処理装置に係わり、プロ
セッサ内部の演算器の中断を出来る限り少なくする機能
を有するプロセッサを有し、ロード命令にレイテンシを
添付することによりプロセッサの回路面積の縮小化可能
な情報処理装置に関する。
【0002】
【従来の技術】従来、スーパースカラなどのパイプライ
ン処理を行うプロセッサにおいて使用されているロード
命令はレジスタのデータの一貫性を保つため一般的にス
コアボーディングを採用している(「パイプ制御及びレ
ジスタ変換機能を増強したスーパースカラーパイプライ
ン式のプロセッサ」特開平7−152559号公報)。
スコアボーディングは各レジスタに1ビットのスコアボ
ードを設け、0ならば使用されていないか、ライトバッ
クが完了したことを示す。1であるならば、ロード命令
は発行されたがメモリからのライトバックが未完である
ことを示している。
ン処理を行うプロセッサにおいて使用されているロード
命令はレジスタのデータの一貫性を保つため一般的にス
コアボーディングを採用している(「パイプ制御及びレ
ジスタ変換機能を増強したスーパースカラーパイプライ
ン式のプロセッサ」特開平7−152559号公報)。
スコアボーディングは各レジスタに1ビットのスコアボ
ードを設け、0ならば使用されていないか、ライトバッ
クが完了したことを示す。1であるならば、ロード命令
は発行されたがメモリからのライトバックが未完である
ことを示している。
【0003】図6は演算器が2個設けられているプロセ
ッサのスコアボーディングを実現するためのブロック図
である。デコーダ10はロード命令が発行されたとき
に、ロードリクエスト50とメモリデータが入るレジス
タ番号52を入力としてフリップフロップ回路13へセ
ット信号を出力する。出力された信号は、レジスタ番号
52に対応するフリップフロップにのみに送られるがロ
ードリクエスト50が入力されていない場合はフリップ
フロップ13へ信号を出力することはない。デコーダ1
1はライトバック完了51の信号が入力されたときに、
同時に入力されるレジスタ番号52をデコードし、フリ
ップフロップ回路13へリセット信号を出力する。ライ
トバック完了51の信号が代入されない限りリセット信
号がフロップフロップ回路13へ出力されることはな
い。また、2つ以上のリセット信号の同時発行はない。
デコーダ12a、12b、12c、12dの数およびス
トール判定器14a、14b、14c、14dの数は、
図示せぬレジスタファイルから演算器へ同時に読み込む
ことができるファイルの入力数と一致する。デコーダ1
2a、12b、12c、12dは、入力されたレジスタ
に関してデコードを行い、1ビットのみビットを立て
る。その出力をストール判定器14a、14b、14
c、14dに関して各々出力し、その結果の論理和をと
ることによりストール信号54を生成する。
ッサのスコアボーディングを実現するためのブロック図
である。デコーダ10はロード命令が発行されたとき
に、ロードリクエスト50とメモリデータが入るレジス
タ番号52を入力としてフリップフロップ回路13へセ
ット信号を出力する。出力された信号は、レジスタ番号
52に対応するフリップフロップにのみに送られるがロ
ードリクエスト50が入力されていない場合はフリップ
フロップ13へ信号を出力することはない。デコーダ1
1はライトバック完了51の信号が入力されたときに、
同時に入力されるレジスタ番号52をデコードし、フリ
ップフロップ回路13へリセット信号を出力する。ライ
トバック完了51の信号が代入されない限りリセット信
号がフロップフロップ回路13へ出力されることはな
い。また、2つ以上のリセット信号の同時発行はない。
デコーダ12a、12b、12c、12dの数およびス
トール判定器14a、14b、14c、14dの数は、
図示せぬレジスタファイルから演算器へ同時に読み込む
ことができるファイルの入力数と一致する。デコーダ1
2a、12b、12c、12dは、入力されたレジスタ
に関してデコードを行い、1ビットのみビットを立て
る。その出力をストール判定器14a、14b、14
c、14dに関して各々出力し、その結果の論理和をと
ることによりストール信号54を生成する。
【0004】フリップフロップ13はプロセッサの所有
するレジスタと同数の1ビットフリップフロップ回路で
構成され、セット、リセット端子を持つ。各々のフリッ
プフロップ回路はレジスタと1対1で対応しており、セ
ット信号が入力されると1を保持し、リセット信号が入
力されると0を保持する。保持する内容は常にストール
判定器14a、14b、14c、14dへ出力される。
するレジスタと同数の1ビットフリップフロップ回路で
構成され、セット、リセット端子を持つ。各々のフリッ
プフロップ回路はレジスタと1対1で対応しており、セ
ット信号が入力されると1を保持し、リセット信号が入
力されると0を保持する。保持する内容は常にストール
判定器14a、14b、14c、14dへ出力される。
【0005】
【発明が解決しようとする課題】図6で示したようにス
コアボーディングは、図示せぬレジスタファイルから演
算器へ同時に読み込むことができるファイルの入力数と
同数のデコーダ12と判定器14とを必要とする。スト
ール判定器14a、14b、14c、14dには2入力
ANDがレジスタの数だけ存在し、その後ORをとって
いる。今後、演算器に同時に入力されるレジスタファイ
ルからの入力数がさらに増えると考えた場合、回路面積
が膨れ上がる。
コアボーディングは、図示せぬレジスタファイルから演
算器へ同時に読み込むことができるファイルの入力数と
同数のデコーダ12と判定器14とを必要とする。スト
ール判定器14a、14b、14c、14dには2入力
ANDがレジスタの数だけ存在し、その後ORをとって
いる。今後、演算器に同時に入力されるレジスタファイ
ルからの入力数がさらに増えると考えた場合、回路面積
が膨れ上がる。
【0006】
【課題を解決するための手段】上記課題を解決するため
に、本発明によれば、命令およびデータを保持するメモ
リと、前記命令の内容を保持する命令レジスタと、前記
命令レジスタに格納された命令の演算を行う演算器と、
レジスタファイルと、前記命令レジスタの命令に従いロ
ード要求を出力し、前記演算器で演算を行なうためのデ
ータを前記メモリから読み出し前記レジスタファイルに
一時保管するロードユニットと、前記メモリから命令を
取り出し前記命令レジスタへ命令を出力する命令供給装
置とを備えるプロセッサにおいて、前記ロードユニット
からのロード要求と、ロード命令の対象となるロード先
のレジスタの内容のメモリへの書き込み完了を示す信号
と、ロード命令の対象となるレジスタ番号と、ロード命
令が発行されてから当該レジスタに格納されたデータの
使用が許可されるまでのクロック数を格納するレイテン
シとを入力とし、ロード命令が発行されると、当該ロー
ド命令の対象となるレジスタ番号とレイテンシを保持
し、前記レイテンシを1クロックサイクルごとにデクリ
メントして、デクリメントされたレイテンシが所定の値
となるまでに、前記書き込み完了を示す信号が入力され
ない場合には、前記演算器の動作を中断させる信号であ
るストール信号を前記演算器に対して出力するレイテン
シ制御回路を有することができる。
に、本発明によれば、命令およびデータを保持するメモ
リと、前記命令の内容を保持する命令レジスタと、前記
命令レジスタに格納された命令の演算を行う演算器と、
レジスタファイルと、前記命令レジスタの命令に従いロ
ード要求を出力し、前記演算器で演算を行なうためのデ
ータを前記メモリから読み出し前記レジスタファイルに
一時保管するロードユニットと、前記メモリから命令を
取り出し前記命令レジスタへ命令を出力する命令供給装
置とを備えるプロセッサにおいて、前記ロードユニット
からのロード要求と、ロード命令の対象となるロード先
のレジスタの内容のメモリへの書き込み完了を示す信号
と、ロード命令の対象となるレジスタ番号と、ロード命
令が発行されてから当該レジスタに格納されたデータの
使用が許可されるまでのクロック数を格納するレイテン
シとを入力とし、ロード命令が発行されると、当該ロー
ド命令の対象となるレジスタ番号とレイテンシを保持
し、前記レイテンシを1クロックサイクルごとにデクリ
メントして、デクリメントされたレイテンシが所定の値
となるまでに、前記書き込み完了を示す信号が入力され
ない場合には、前記演算器の動作を中断させる信号であ
るストール信号を前記演算器に対して出力するレイテン
シ制御回路を有することができる。
【0007】また、前記レイテンシは、前記ロード命令
に含まれており、前記レイテンシ制御回路に入力される
こともできる。
に含まれており、前記レイテンシ制御回路に入力される
こともできる。
【0008】さらに、前記レイテンシ制御回路は、自己
が有するデータが有効であるか無効であるかを示すバリ
ッドビットと、ロード命令の対象となるレジスタ番号を
格納する手段と、前記レイテンシを格納して1クロック
サイクルごとに前記レイテンシをデクリメントするカウ
ンタとを有し、該カウンタの値が所定の値となった時
に、前記バリッドビットが有効である場合には、演算器
の動作を中断させる信号であるストール信号を出力し、
該ストール信号の出力中に前記バリッドビットが無効と
なった場合には前記ストール信号の出力を中止する複数
のレジスタ状態管理回路と、該複数のレジスタ状態管理
回路から出力されたストール信号の論理和を算出して演
算器に対して出力する論理和回路と、ロード命令が発行
されると、前記バリッドビットが無効であるレジスタ状
態管理回路に、ロード命令の対象となるレジスタ番号と
レイテンシとを格納してバリッドビットを有効にし、ロ
ード命令の対象となるロード先のレジスタの内容のメモ
リへの書き込みが完了すると、当該書き込みが完了した
レジスタ番号を有するレジスタ状態管理回路のバリッド
ビットを無効にするシグナルセレクタと、を有すること
もできる。
が有するデータが有効であるか無効であるかを示すバリ
ッドビットと、ロード命令の対象となるレジスタ番号を
格納する手段と、前記レイテンシを格納して1クロック
サイクルごとに前記レイテンシをデクリメントするカウ
ンタとを有し、該カウンタの値が所定の値となった時
に、前記バリッドビットが有効である場合には、演算器
の動作を中断させる信号であるストール信号を出力し、
該ストール信号の出力中に前記バリッドビットが無効と
なった場合には前記ストール信号の出力を中止する複数
のレジスタ状態管理回路と、該複数のレジスタ状態管理
回路から出力されたストール信号の論理和を算出して演
算器に対して出力する論理和回路と、ロード命令が発行
されると、前記バリッドビットが無効であるレジスタ状
態管理回路に、ロード命令の対象となるレジスタ番号と
レイテンシとを格納してバリッドビットを有効にし、ロ
ード命令の対象となるロード先のレジスタの内容のメモ
リへの書き込みが完了すると、当該書き込みが完了した
レジスタ番号を有するレジスタ状態管理回路のバリッド
ビットを無効にするシグナルセレクタと、を有すること
もできる。
【0009】さらに、プログラム及びデータを格納する
メモリと、該メモリに格納されたプログラム及びデータ
を取りだして演算や制御を行なうプロセッサと、該プロ
セッサの制御に応じた表示を行うディスプレイと、デー
タを取り込む入力装置と、プロセッサで処理された結果
を出力する出力装置とをバスで接続した情報処理装置に
おいて、前記プロセッサを、レイテンシ付きロード命令
を処理するプロセッサとすることもできる。
メモリと、該メモリに格納されたプログラム及びデータ
を取りだして演算や制御を行なうプロセッサと、該プロ
セッサの制御に応じた表示を行うディスプレイと、デー
タを取り込む入力装置と、プロセッサで処理された結果
を出力する出力装置とをバスで接続した情報処理装置に
おいて、前記プロセッサを、レイテンシ付きロード命令
を処理するプロセッサとすることもできる。
【0010】
【発明の実施の形態】以下、図面を参照してこの発明の
実施の形態を説明する。
実施の形態を説明する。
【0011】
【表1】
【0012】表1はこの発明の一実施例に関わるアセン
ブラのコードである。コード先頭のロード命令によって
レジスタ1の示す番地の内容をレジスタ0に入力する。
コード末にあるユーズ命令はロード命令が発行されたレ
ジスタを何らかの形で使用する命令である。ロード命令
とユーズ命令の間はレジスタ0をソースとして使用しな
いことがわかっているならば、ユーズ命令までのレイテ
ンシをロード命令のNに設定することが出来る。こうす
ることで少なくともユーズ命令が発行されるまでは演算
器が停止することはない。もしユーズ命令が発行される
までに何らかの理由でメモリからのデータの転送が間に
合わなかった場合、演算器が停止される。つまりロード
命令によってデスティネーションとなったレジスタをユ
ーズ命令によってソースとして使用されるまでの間のレ
イテンシをコンパイラにより保障することによって演算
器の停止を防止することが出来る。
ブラのコードである。コード先頭のロード命令によって
レジスタ1の示す番地の内容をレジスタ0に入力する。
コード末にあるユーズ命令はロード命令が発行されたレ
ジスタを何らかの形で使用する命令である。ロード命令
とユーズ命令の間はレジスタ0をソースとして使用しな
いことがわかっているならば、ユーズ命令までのレイテ
ンシをロード命令のNに設定することが出来る。こうす
ることで少なくともユーズ命令が発行されるまでは演算
器が停止することはない。もしユーズ命令が発行される
までに何らかの理由でメモリからのデータの転送が間に
合わなかった場合、演算器が停止される。つまりロード
命令によってデスティネーションとなったレジスタをユ
ーズ命令によってソースとして使用されるまでの間のレ
イテンシをコンパイラにより保障することによって演算
器の停止を防止することが出来る。
【0013】図1は、本発明の一実施例に関わる情報処
理装置の構成を示すブロック図である。
理装置の構成を示すブロック図である。
【0014】図1に示す情報処理装置は、バス200に
接続されたメモリ201、中央処理装置(CPU)20
2、ディスプレイコントローラ203、入出力制御装置
(I/O)205、I/O207、I/O209と、デ
ィスプレイコントローラ203に接続されたディスプレ
イ204、I/O205に接続された入力装置206、
I/O207に接続された出力装置208、I/O20
9に接続された外部記憶装置210とを備える。
接続されたメモリ201、中央処理装置(CPU)20
2、ディスプレイコントローラ203、入出力制御装置
(I/O)205、I/O207、I/O209と、デ
ィスプレイコントローラ203に接続されたディスプレ
イ204、I/O205に接続された入力装置206、
I/O207に接続された出力装置208、I/O20
9に接続された外部記憶装置210とを備える。
【0015】メモリ201は、プログラムやデータを格
納する。CPU202は、メモリ201に格納されたプ
ログラムやデータを取りだして、演算や制御を行なう。
ディスプレイ204は、画面に文字や図形を表示する。
入力装置206は、情報処理装置内にデータを取り込む
ための装置であり、キャラクタを入力するキーボード、
図形やイラストを入力するイメージスキャナ等である。
出力装置208は、情報処理装置で処理された結果を出
力するプリンタ等である。外部記憶装置210は、磁気
ディスク、磁気テープ等である。
納する。CPU202は、メモリ201に格納されたプ
ログラムやデータを取りだして、演算や制御を行なう。
ディスプレイ204は、画面に文字や図形を表示する。
入力装置206は、情報処理装置内にデータを取り込む
ための装置であり、キャラクタを入力するキーボード、
図形やイラストを入力するイメージスキャナ等である。
出力装置208は、情報処理装置で処理された結果を出
力するプリンタ等である。外部記憶装置210は、磁気
ディスク、磁気テープ等である。
【0016】図2は、図1のCPU202内に設けられ
たレイテンシ制御回路25をとりかこむシステムを示し
ている。命令供給装置20はメモリ201へ対して命令
データの読み出し要求をだし、データを受け取る。受け
取ったデータは命令レジスタ21aと命令レジスタ21
bへと送られる。命令供給装置20から送られたデータ
をもとに演算器22a、22b、ロードユニット23、
レジスタファイル24へ要求を出力する。
たレイテンシ制御回路25をとりかこむシステムを示し
ている。命令供給装置20はメモリ201へ対して命令
データの読み出し要求をだし、データを受け取る。受け
取ったデータは命令レジスタ21aと命令レジスタ21
bへと送られる。命令供給装置20から送られたデータ
をもとに演算器22a、22b、ロードユニット23、
レジスタファイル24へ要求を出力する。
【0017】演算器22a、22bは命令レジスタ21
a、21bからの制御によりレジスタファイル24から
来るデータの演算を行う。また、レイテンシ制御回路2
5から出力されるストール信号54により演算を停止す
ることが出来る。この演算器22a、22bから出力さ
れる演算結果はレジスタファイル24へ書き戻される。
ロードユニット23は命令レジスタ1、2からのロード
要求によってレイテンシ制御回路25、メモリ26へ制
御信号を出力する。レジスタファイル24は命令レジス
タ21a、21bからの制御信号により演算器22a、
22bに対してレジスタの内容の出力を行ったり、演算
器22a、22bからの演算結果の入力、メモリからの
データの入力を受けたりする。レイテンシ制御回路25
はロードユニット23からの制御信号から演算器22
a、22bに対してストール信号54の出力を行う。メ
モリ201は命令供給装置20からの制御信号とロード
ユニット23の制御信号により、メモリ201内のデー
タを命令供給装置20やレジスタファイル24に転送す
る。
a、21bからの制御によりレジスタファイル24から
来るデータの演算を行う。また、レイテンシ制御回路2
5から出力されるストール信号54により演算を停止す
ることが出来る。この演算器22a、22bから出力さ
れる演算結果はレジスタファイル24へ書き戻される。
ロードユニット23は命令レジスタ1、2からのロード
要求によってレイテンシ制御回路25、メモリ26へ制
御信号を出力する。レジスタファイル24は命令レジス
タ21a、21bからの制御信号により演算器22a、
22bに対してレジスタの内容の出力を行ったり、演算
器22a、22bからの演算結果の入力、メモリからの
データの入力を受けたりする。レイテンシ制御回路25
はロードユニット23からの制御信号から演算器22
a、22bに対してストール信号54の出力を行う。メ
モリ201は命令供給装置20からの制御信号とロード
ユニット23の制御信号により、メモリ201内のデー
タを命令供給装置20やレジスタファイル24に転送す
る。
【0018】図3はこの発明の一実施例に関わるレイテ
ンシ制御回路25の構成図を示している。ロードリクエ
スト50はロード命令が発行されたことを示す信号であ
る。ライトバック完了51はロード命令により要求のあ
ったアドレスの内容をレジスタファイルへの書き込みが
完了したことを示す信号である。レジスタ番号52はロ
ードリクエスト50、ライトバック完了51の信号の対
象となるレジスタの番号が入力される。レイテンシ53
はシステムが保障するレイテンシ数を示したものであ
る。バリッドビットはレジスタ状態管理回路2a、2
b、…、2nから入力され、ロードリクエスト50をど
のレジスタ状態管理回路2a、2b、…、2nに入力す
るかを決定することに用いられる。
ンシ制御回路25の構成図を示している。ロードリクエ
スト50はロード命令が発行されたことを示す信号であ
る。ライトバック完了51はロード命令により要求のあ
ったアドレスの内容をレジスタファイルへの書き込みが
完了したことを示す信号である。レジスタ番号52はロ
ードリクエスト50、ライトバック完了51の信号の対
象となるレジスタの番号が入力される。レイテンシ53
はシステムが保障するレイテンシ数を示したものであ
る。バリッドビットはレジスタ状態管理回路2a、2
b、…、2nから入力され、ロードリクエスト50をど
のレジスタ状態管理回路2a、2b、…、2nに入力す
るかを決定することに用いられる。
【0019】レジスタ状態管理回路2a、2b、…、2
nはバリッドビット、レジスタ番号52、レイテンシカ
ウンタで構成されるものが数個設けられている。バリッ
ドビットは通常無効になっているが、ロードリクエスト
50がシグナルセレクタ1から入力されることにより有
効に設定される。レジスタ番号52、レイテンシカウン
タはバリッドビットが有効に設定されるときにシグナル
セレクタ1からの入力により設定される。また、レイテ
ンシカウンタは1クロックサイクルごとにカウントダウ
ンされ、設定値に達したときストール信号54を論理和
3に対して出力する。論理和3はレジスタ状態管理回路
から出力されるストール信号すべてのORをとり、その
信号を演算器へ対して出力する。ライトバック完了51
の要求により、同時に入力されるレジスタ番号52と一
致するレジスタ状態管理回路のバリッドビットを無効に
する。もし、無効になったレジスタ状態管理回路からス
トール信号が出力されていた場合、バリッドビットが無
効になったことからストール信号54は出力されなくな
る。
nはバリッドビット、レジスタ番号52、レイテンシカ
ウンタで構成されるものが数個設けられている。バリッ
ドビットは通常無効になっているが、ロードリクエスト
50がシグナルセレクタ1から入力されることにより有
効に設定される。レジスタ番号52、レイテンシカウン
タはバリッドビットが有効に設定されるときにシグナル
セレクタ1からの入力により設定される。また、レイテ
ンシカウンタは1クロックサイクルごとにカウントダウ
ンされ、設定値に達したときストール信号54を論理和
3に対して出力する。論理和3はレジスタ状態管理回路
から出力されるストール信号すべてのORをとり、その
信号を演算器へ対して出力する。ライトバック完了51
の要求により、同時に入力されるレジスタ番号52と一
致するレジスタ状態管理回路のバリッドビットを無効に
する。もし、無効になったレジスタ状態管理回路からス
トール信号が出力されていた場合、バリッドビットが無
効になったことからストール信号54は出力されなくな
る。
【0020】また、スコアボーディングを示した図6と
比較すると、機能的に図3のロード状態管理ブロック1
00と図6のスコアボードブロック102が、図3の論
理和ブロック101と図6の論理和ブロック104がそ
れぞれ対応している。また、ストール判定ブロック10
3は図3には無いブロックであり、この部分が回路巨大
化の原因となる。
比較すると、機能的に図3のロード状態管理ブロック1
00と図6のスコアボードブロック102が、図3の論
理和ブロック101と図6の論理和ブロック104がそ
れぞれ対応している。また、ストール判定ブロック10
3は図3には無いブロックであり、この部分が回路巨大
化の原因となる。
【0021】次に動作について説明する。ロード命令の
発行により、ロードリクエスト50、デスティネーショ
ンとなったレジスタ番号52、レイテンシ53がレイテ
ンシ制御回路25に入力される。入力された信号はシグ
ナルセレクタ1によりレジスタ状態管理回路の選択、出
力が決定される。レジスタ状態管理回路2aに決定され
たとするとバリッドビット、レジスタ番号52、レイテ
ンシカウンタの設定が行われ、1クロックサイクルごと
にレイテンシカウンタの減算が行われる。また、前記の
レジスタ以外に関してロード命令が発行された場合、シ
グナルセレクタ1によってバリッドビットが無効なレジ
スタ状態管理回路を選択し、選択された回路にバリッド
ビット、レジスタ番号52、レイテンシカウンタの設定
を行う。
発行により、ロードリクエスト50、デスティネーショ
ンとなったレジスタ番号52、レイテンシ53がレイテ
ンシ制御回路25に入力される。入力された信号はシグ
ナルセレクタ1によりレジスタ状態管理回路の選択、出
力が決定される。レジスタ状態管理回路2aに決定され
たとするとバリッドビット、レジスタ番号52、レイテ
ンシカウンタの設定が行われ、1クロックサイクルごと
にレイテンシカウンタの減算が行われる。また、前記の
レジスタ以外に関してロード命令が発行された場合、シ
グナルセレクタ1によってバリッドビットが無効なレジ
スタ状態管理回路を選択し、選択された回路にバリッド
ビット、レジスタ番号52、レイテンシカウンタの設定
を行う。
【0022】レジスタ状態管理回路2aのレイテンシカ
ウンタが設定値に達した場合、論理和3に対してストー
ル信号を出力する。ストール信号は各レジスタ状態管理
回路から出力されており論理和3の結果をストール信号
54として演算器へ出力する。
ウンタが設定値に達した場合、論理和3に対してストー
ル信号を出力する。ストール信号は各レジスタ状態管理
回路から出力されており論理和3の結果をストール信号
54として演算器へ出力する。
【0023】図4はレイテンシ制御回路25のタイミン
グチャートを示した図である。ロードリクエスト50と
同時にレジスタ番号52、レイテンシ53が入力され、
クロックのエッジによりバリッドビット、レジスタ番号
52、レイテンシカウンタへ値の入力を行う。レイテン
シカウンタが0になった場合にストール信号54に1を
立てる。ライトバック完了51が入力され次第、バリッ
ドビットの無効化とストール信号54を0に設定する。
グチャートを示した図である。ロードリクエスト50と
同時にレジスタ番号52、レイテンシ53が入力され、
クロックのエッジによりバリッドビット、レジスタ番号
52、レイテンシカウンタへ値の入力を行う。レイテン
シカウンタが0になった場合にストール信号54に1を
立てる。ライトバック完了51が入力され次第、バリッ
ドビットの無効化とストール信号54を0に設定する。
【0024】図5は命令レジスタ21aにレイテンシ制
御回路25が動作する為の基となるロード命令が入った
状態を示している。オペレーションコード30aは命令
の種類が格納されている。ソース30bは基となるメモ
リ26の番地やレジスタ番号がおさめられており、デス
ティネーション30cはロードするデータの行き先のメ
モリ26の番地やレジスタ番号が格納されている。レイ
テンシ30dは実行するロード命令のレイテンシを格納
してあり、ロードユニット23を経由してレイテンシ制
御回路25へ送られる。
御回路25が動作する為の基となるロード命令が入った
状態を示している。オペレーションコード30aは命令
の種類が格納されている。ソース30bは基となるメモ
リ26の番地やレジスタ番号がおさめられており、デス
ティネーション30cはロードするデータの行き先のメ
モリ26の番地やレジスタ番号が格納されている。レイ
テンシ30dは実行するロード命令のレイテンシを格納
してあり、ロードユニット23を経由してレイテンシ制
御回路25へ送られる。
【0025】
【発明の効果】以上説明してきたように本発明では、ロ
ード命令が発行されてからソースとして使用されるまで
のレイテンシを保障することによって、演算器数がどん
なに増えることがあっても論理面積がスコアボーディン
グに比べてはるかに大きくなりにくい。
ード命令が発行されてからソースとして使用されるまで
のレイテンシを保障することによって、演算器数がどん
なに増えることがあっても論理面積がスコアボーディン
グに比べてはるかに大きくなりにくい。
【図1】本発明の実施例に係わる情報処理装置の構成を
示すブロック図である。
示すブロック図である。
【図2】本発明の実施例に係わる簡単なプロセッサの構
成を示すブロック図である。
成を示すブロック図である。
【図3】本発明に実施例に係わるレイテンシ制御回路の
構成を示すブロック図である。
構成を示すブロック図である。
【図4】本発明の実施例に係わるロードリクエスト、ラ
イトバック完了の信号が入力されたときの動作を示すタ
イミングチャートである。
イトバック完了の信号が入力されたときの動作を示すタ
イミングチャートである。
【図5】ロード命令を発行する命令レジスタの内容を示
した図である。
した図である。
【図6】2個の演算器を処理するスコアボーディングの
構成を示すブロック図である。
構成を示すブロック図である。
1 シグナルセレクタ 2 レジスタ状態管理回路 3 論理和回路 10 デコーダ 11 デコーダ 12 デコーダ 13 フリップフロップ回路 14 ストール判定器 15 論理和回路 20 命令供給装置 21 命令レジスタ 22 演算器 23 ロードユニット 24 レジスタファイル 25 レイテンシ制御回路 30d レイテンシ 100 ロード状態管理ブロック 101 論理和ブロック 102 スコアボードブロック 103 ストール判定ブロック 104 論理和ブロック 200 バス 201 メモリ 202 CPU 203 ディスプレイコントローラ 204 ディスプレイ 205 I/O 206 入力装置 207 I/O 208 出力装置 209 I/O 210 外部記憶装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 西岡 清和 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 野尻 徹 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内
Claims (4)
- 【請求項1】命令およびデータを保持するメモリと、前
記命令の内容を保持する命令レジスタと、前記命令レジ
スタに格納された命令の演算を行う演算器と、レジスタ
ファイルと、前記命令レジスタの命令に従いロード要求
を出力し、前記演算器で演算を行なうためのデータを前
記メモリから読み出し、前記レジスタファイルに一時保
管するロードユニットと、前記メモリから命令を取り出
し前記命令レジスタへ命令を出力する命令供給装置とを
備えるプロセッサにおいて、 前記ロードユニットからのロード要求と、ロード命令の
対象となるロード先のレジスタの内容のメモリへの書き
込み完了を示す信号と、ロード命令の対象となるレジス
タ番号と、ロード命令が発行されてから当該レジスタに
格納されたデータの使用が許可されるまでのクロック数
を格納するレイテンシとを入力とし、 ロード命令が発行されると、当該ロード命令の対象とな
るレジスタ番号とレイテンシを保持し、前記レイテンシ
を1クロックサイクルごとにデクリメントして、デクリ
メントされたレイテンシが所定の値となるまでに、前記
書き込み完了を示す信号が入力されない場合には、前記
演算器の動作を中断させる信号であるストール信号を前
記演算器に対して出力するレイテンシ制御回路を有する
ことを特徴とするレイテンシ付きロード命令を処理する
プロセッサ。 - 【請求項2】請求項1において、前記レイテンシは、前
記ロード命令に含まれており、前記レイテンシ制御回路
に入力されることを特徴とするレイテンシ付きロード命
令を処理するプロセッサ。 - 【請求項3】請求項1記載のレイテンシ付きロード命令
を処理するプロセッサにおいて、前記レイテンシ制御回
路は、 自己が有するデータが有効であるか無効であるかを示す
バリッドビットと、ロード命令の対象となるレジスタ番
号を格納する手段と、前記レイテンシを格納して1クロ
ックサイクルごとに前記レイテンシをデクリメントする
カウンタとを有し、該カウンタの値が所定の値となった
時に、前記バリッドビットが有効である場合には、演算
器の動作を中断させる信号であるストール信号を出力
し、該ストール信号の出力中に前記バリッドビットが無
効となった場合には前記ストール信号の出力を中止する
複数のレジスタ状態管理回路と、 該複数のレジスタ状態管理回路から出力されたストール
信号の論理和を算出して演算器に対して出力する論理和
回路と、 ロード命令が発行されると、前記バリッドビットが無効
であるレジスタ状態管理回路に、ロード命令の対象とな
るレジスタ番号とレイテンシとを格納してバリッドビッ
トを有効にし、ロード命令の対象となるロード先のレジ
スタの内容のメモリへの書き込みが完了すると、当該書
き込みが完了したレジスタ番号を有するレジスタ状態管
理回路のバリッドビットを無効にするシグナルセレクタ
と、 を有することを特徴とするレイテンシ付きロード命令を
処理するプロセッサ。 - 【請求項4】プログラム及びデータを格納するメモリ
と、該メモリに格納されたプログラム及びデータを取り
だして演算や制御を行なうプロセッサと、該プロセッサ
の制御に応じた表示を行うディスプレイと、データを取
り込む入力装置と、プロセッサで処理された結果を出力
する出力装置とをバスで接続した情報処理装置であっ
て、 前記プロセッサが、請求項1記載のレイテンシ付きロー
ド命令を処理するプロセッサであることを特徴とする情
報処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8174761A JPH1021073A (ja) | 1996-07-04 | 1996-07-04 | レイテンシ付きロード命令を処理するプロセッサ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8174761A JPH1021073A (ja) | 1996-07-04 | 1996-07-04 | レイテンシ付きロード命令を処理するプロセッサ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1021073A true JPH1021073A (ja) | 1998-01-23 |
Family
ID=15984218
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8174761A Pending JPH1021073A (ja) | 1996-07-04 | 1996-07-04 | レイテンシ付きロード命令を処理するプロセッサ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH1021073A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021163449A (ja) * | 2020-04-01 | 2021-10-11 | 晶心科技股▲ふん▼有限公司Andes Technology Corporation | 自己リセットレジスタスコアボードを備えたマイクロプロセッサ |
| US20230350713A1 (en) * | 2020-09-09 | 2023-11-02 | Ascenium, Inc. | Parallel processing architecture with countdown tagging |
-
1996
- 1996-07-04 JP JP8174761A patent/JPH1021073A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021163449A (ja) * | 2020-04-01 | 2021-10-11 | 晶心科技股▲ふん▼有限公司Andes Technology Corporation | 自己リセットレジスタスコアボードを備えたマイクロプロセッサ |
| US20230350713A1 (en) * | 2020-09-09 | 2023-11-02 | Ascenium, Inc. | Parallel processing architecture with countdown tagging |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3509067B2 (ja) | ストア命令転送方法およびプロセッサ | |
| US5774700A (en) | Method and apparatus for determining the timing of snoop windows in a pipelined bus | |
| EP3716055A1 (en) | System, apparatus and method for symbolic store address generation for data-parallel processor | |
| JPS61107434A (ja) | デ−タ処理装置 | |
| JP3204323B2 (ja) | キャッシュメモリ内蔵マイクロプロセッサ | |
| JPH0612327A (ja) | キャッシュメモリを有するデータプロセッサ | |
| JPH0345407B2 (ja) | ||
| JPH11143775A (ja) | キャッシュメモリシステム | |
| US20010001868A1 (en) | Computer system including core logic unit with internal register for peripheral status | |
| IE990754A1 (en) | An apparatus for software initiated prefetch and method therefor | |
| JP2003196084A (ja) | リードモディファイライトユニットを有するシステム | |
| US5640518A (en) | Addition of pre-last transfer acknowledge signal to bus interface to eliminate data bus turnaround on consecutive read and write tenures and to allow burst transfers of unknown length | |
| US5778220A (en) | Method and apparatus for disabling interrupts in a highly pipelined processor | |
| GB2285323A (en) | Address generation unit with segmented addresses in a microprocessor | |
| JPH0528097A (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 | |
| JP4434534B2 (ja) | プロセッサ・システム | |
| US7028144B2 (en) | Method and apparatus for an in-situ victim cache | |
| US5694553A (en) | Method and apparatus for determining the dispatch readiness of buffered load operations in a processor | |
| CN114995884B (zh) | 指令退休单元、指令执行单元及相关装置和方法 | |
| JP4985452B2 (ja) | ベクトル処理装置 | |
| JPH0916409A (ja) | マイクロコンピュータ | |
| JPH0410102B2 (ja) | ||
| CN117120974A (zh) | 电路和方法 | |
| KR100453262B1 (ko) | 주변 장치의 상태 정보를 관리 및 갱신하는 방법, 컴퓨터 시스템, 그리고 프로세서 내의 장치 |