JPH09319657A - 命令読み込み用バッファを備えたプロセッサ - Google Patents
命令読み込み用バッファを備えたプロセッサInfo
- Publication number
- JPH09319657A JPH09319657A JP8138004A JP13800496A JPH09319657A JP H09319657 A JPH09319657 A JP H09319657A JP 8138004 A JP8138004 A JP 8138004A JP 13800496 A JP13800496 A JP 13800496A JP H09319657 A JPH09319657 A JP H09319657A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- read
- processor
- cache
- storage device
- 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
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】命令キャッシュを構成する場合に、DRAMの
高速ページモードなどを利用して転送速度を上げるた
め、キャッシュラインを大きくしたり、読まれる可能性
の高い連続した領域をプロセッサから要求される前に、
キャッシュに読み込んでおくプリフェッチをした場合の
無駄な命令の読み込みを無くす。 【解決手段】命令キャッシュ105をキャッシュライン
の大きさを最低の大きさ、つまり1ライン1命令で構成
し、命令キャッシュ105と主記憶101の間に命令ス
トリームバッファ108を設ける。命令ストリームバッ
ファ108は、キャッシュラインの正数倍の大きさでの
可変長での主記憶101から読み込んだ命令列の書き込
みが可能で、命令キャッシュ105への出力はキャッシ
ュライン単位で可能なように構成する。
高速ページモードなどを利用して転送速度を上げるた
め、キャッシュラインを大きくしたり、読まれる可能性
の高い連続した領域をプロセッサから要求される前に、
キャッシュに読み込んでおくプリフェッチをした場合の
無駄な命令の読み込みを無くす。 【解決手段】命令キャッシュ105をキャッシュライン
の大きさを最低の大きさ、つまり1ライン1命令で構成
し、命令キャッシュ105と主記憶101の間に命令ス
トリームバッファ108を設ける。命令ストリームバッ
ファ108は、キャッシュラインの正数倍の大きさでの
可変長での主記憶101から読み込んだ命令列の書き込
みが可能で、命令キャッシュ105への出力はキャッシ
ュライン単位で可能なように構成する。
Description
【0001】
【発明の属する技術分野】本発明はパーソナルコンピュ
ータなどの情報処理装置に使われるプロセッサの命令用
キャッシュメモリに関する。
ータなどの情報処理装置に使われるプロセッサの命令用
キャッシュメモリに関する。
【0002】
【従来の技術】現在のパーソナルコンピュータや、ワー
クステーションなどの情報処理装置には、高性能のプロ
セッサが搭載され、動画像処理、3次元画像処理など多
彩な処理が可能となっている。このような情報処理装置
に使用されている高性能プロセッサは、動作速度を向上
するために動作周波数を上げており、チップ内部での動
作周波数は数十メガヘルツから数百メガヘルツにまで達
している。また、プロセッサが高性能になるに従い、情
報処理装置も扱うことができるプログラムやデータのサ
イズが大きくなってきていて、それらを記憶するための
主記憶も大容量である事が必要となり、高速なSRAM
(スタティック・ランダムアクセスメモリ)で構成する
ことはコスト的にも技術的にも困難となっていて、比較
的低速なDRAM(ダイナミッック・ランダムアクセス
メモリ)で構成することになる。DRAMは現在最も市
場に出回っている4メガビット品や16メガビット品な
どでアクセス時間が60ナノ秒程度、高速ページモード
アクセスと呼ばれる高速なアクセス方法を使用してもア
クセス時間は半分の30ナノ秒で1アクセスを行なうこ
とができる。しかし、1秒間あたりに最高何回のデータ
アクセスが可能であるか周波数を計算すると33メガヘ
ルツ程度となり、数百メガヘルツで動作するプロセッサ
へ途切れなく命令およびデータを供給し続けることは不
可能であり、高性能が達成できない。
クステーションなどの情報処理装置には、高性能のプロ
セッサが搭載され、動画像処理、3次元画像処理など多
彩な処理が可能となっている。このような情報処理装置
に使用されている高性能プロセッサは、動作速度を向上
するために動作周波数を上げており、チップ内部での動
作周波数は数十メガヘルツから数百メガヘルツにまで達
している。また、プロセッサが高性能になるに従い、情
報処理装置も扱うことができるプログラムやデータのサ
イズが大きくなってきていて、それらを記憶するための
主記憶も大容量である事が必要となり、高速なSRAM
(スタティック・ランダムアクセスメモリ)で構成する
ことはコスト的にも技術的にも困難となっていて、比較
的低速なDRAM(ダイナミッック・ランダムアクセス
メモリ)で構成することになる。DRAMは現在最も市
場に出回っている4メガビット品や16メガビット品な
どでアクセス時間が60ナノ秒程度、高速ページモード
アクセスと呼ばれる高速なアクセス方法を使用してもア
クセス時間は半分の30ナノ秒で1アクセスを行なうこ
とができる。しかし、1秒間あたりに最高何回のデータ
アクセスが可能であるか周波数を計算すると33メガヘ
ルツ程度となり、数百メガヘルツで動作するプロセッサ
へ途切れなく命令およびデータを供給し続けることは不
可能であり、高性能が達成できない。
【0003】そこで、プロセッサと低速な主記憶との間
に少量の高速なメモリ(以後キャッシュと呼ぶ)を用意
し、高性能を実現している。プロセッサが一度主記憶か
ら読み込んだ領域をキャッシュに保存し、その領域を再
びプロセッサが必要とした場合に、キャッシュに対して
アクセスを行なうことによってプロセッサへ高速にプロ
グラムやデータを供給できる。このプロセッサが読み込
みたい領域がキャッシュ内に存在する事をキャッシュの
ヒット、逆に読み込みたい領域がキャッシュ内に存在し
ない事をキャッシュのミスヒットという。キャッシュが
ミスヒットを起こした場合、主記憶から、必要とする領
域を読み出してキャッシュ内の空いている領域に読み込
むか、または空きがない場合はキャッシュ上の一部領域
と交換する事によって、キャッシュ内に領域を取り込
む。
に少量の高速なメモリ(以後キャッシュと呼ぶ)を用意
し、高性能を実現している。プロセッサが一度主記憶か
ら読み込んだ領域をキャッシュに保存し、その領域を再
びプロセッサが必要とした場合に、キャッシュに対して
アクセスを行なうことによってプロセッサへ高速にプロ
グラムやデータを供給できる。このプロセッサが読み込
みたい領域がキャッシュ内に存在する事をキャッシュの
ヒット、逆に読み込みたい領域がキャッシュ内に存在し
ない事をキャッシュのミスヒットという。キャッシュが
ミスヒットを起こした場合、主記憶から、必要とする領
域を読み出してキャッシュ内の空いている領域に読み込
むか、または空きがない場合はキャッシュ上の一部領域
と交換する事によって、キャッシュ内に領域を取り込
む。
【0004】近年のプロセッサでは、プロセッサが使用
する命令列のみを読み込む命令キャッシュと、データの
アクセスのみに使用するデータキャッシュとに分かれて
いる。このうち、命令キャッシュは命令列のみを読み込
むためのキャッシュであるため、プロセッサから見て、
読み出し専用となっている。
する命令列のみを読み込む命令キャッシュと、データの
アクセスのみに使用するデータキャッシュとに分かれて
いる。このうち、命令キャッシュは命令列のみを読み込
むためのキャッシュであるため、プロセッサから見て、
読み出し専用となっている。
【0005】この命令キャッシュがミスヒットを起こす
と、プロセッサへの命令供給が停止するため、命令が主
記憶から読み込まれるまでの間プロセッサが停止する事
になり、性能低下の原因となる。このミスヒットを少な
くするために様々な方法が考案されている。一般的に
は、プロセッサが利用する命令列は連続し反復する性質
を持つ事を利用して、これから使用すると予測される領
域を前もってキャッシュに読み込んでおくプリフェッチ
という方法がある。特開平6−103169号公報で
は、命令列の反復性を利用し、過去のアクセス履歴を取
り、これを元にプリフェッチを行なう機構を開示してい
る。また、特開平7−105098号公報では、命令列
の連続性を利用し、キャッシュと主記憶の間にFIFO
を設けて、キャッシュがミスヒットを起こした場合、ま
ず、ミスヒットを起こしたアドレスからFIFO容量分
のデータを読み込んでおき、プロセッサの後続の命令読
み込みで必要なデータがFIFOに入っている場合はF
IFOからの読み出しを行なう事によって、高速化を図
る機構を開示している。
と、プロセッサへの命令供給が停止するため、命令が主
記憶から読み込まれるまでの間プロセッサが停止する事
になり、性能低下の原因となる。このミスヒットを少な
くするために様々な方法が考案されている。一般的に
は、プロセッサが利用する命令列は連続し反復する性質
を持つ事を利用して、これから使用すると予測される領
域を前もってキャッシュに読み込んでおくプリフェッチ
という方法がある。特開平6−103169号公報で
は、命令列の反復性を利用し、過去のアクセス履歴を取
り、これを元にプリフェッチを行なう機構を開示してい
る。また、特開平7−105098号公報では、命令列
の連続性を利用し、キャッシュと主記憶の間にFIFO
を設けて、キャッシュがミスヒットを起こした場合、ま
ず、ミスヒットを起こしたアドレスからFIFO容量分
のデータを読み込んでおき、プロセッサの後続の命令読
み込みで必要なデータがFIFOに入っている場合はF
IFOからの読み出しを行なう事によって、高速化を図
る機構を開示している。
【0006】
【発明が解決しようとする課題】命令キャッシュを構成
する場合、プロセッサが利用する命令列は連続性がある
ため、ある場所の命令を読み込んだ場合、その次の命令
が使用される確率が高い。よって、命令列を命令キャッ
シュへ読み込む単位(以後キャッシュラインと呼ぶ)を
大きく取ることによって、主記憶と命令キャッシュ間の
転送にDRAMの高速ページモードなどを利用して、転
送速度を向上し、性能向上が期待できる。転送速度は、
キャッシュラインのサイズを大きくする程向上する。し
かし、このキャッシュラインは、分岐命令の影響で、使
用されない無駄な命令をキャッシュに読み込む可能性が
ある。これは、キャッシュラインサイズを大きくする
程、この無駄な読み込みが大きくなり、有効な命令の転
送速度の低下や、主記憶の転送バンドを無駄に使って、
全体的に性能の低下の原因となる。また、命令列の性質
から次に読まれる可能性の高い連続した領域をプロセッ
サから要求される前に、前もってキャッシュに読み込ん
でおくプリフェッチでは、キャッシュラインサイズを小
さくしたままで、且つ大きな領域を読み込む事ができ、
このためDRAMの高速ページモードなどを利用して転
送速度向上をみこめるが、やはり、無駄な命令を読み込
む可能性はまだ大きく、性能の低下の原因となる可能性
がある。
する場合、プロセッサが利用する命令列は連続性がある
ため、ある場所の命令を読み込んだ場合、その次の命令
が使用される確率が高い。よって、命令列を命令キャッ
シュへ読み込む単位(以後キャッシュラインと呼ぶ)を
大きく取ることによって、主記憶と命令キャッシュ間の
転送にDRAMの高速ページモードなどを利用して、転
送速度を向上し、性能向上が期待できる。転送速度は、
キャッシュラインのサイズを大きくする程向上する。し
かし、このキャッシュラインは、分岐命令の影響で、使
用されない無駄な命令をキャッシュに読み込む可能性が
ある。これは、キャッシュラインサイズを大きくする
程、この無駄な読み込みが大きくなり、有効な命令の転
送速度の低下や、主記憶の転送バンドを無駄に使って、
全体的に性能の低下の原因となる。また、命令列の性質
から次に読まれる可能性の高い連続した領域をプロセッ
サから要求される前に、前もってキャッシュに読み込ん
でおくプリフェッチでは、キャッシュラインサイズを小
さくしたままで、且つ大きな領域を読み込む事ができ、
このためDRAMの高速ページモードなどを利用して転
送速度向上をみこめるが、やはり、無駄な命令を読み込
む可能性はまだ大きく、性能の低下の原因となる可能性
がある。
【0007】
【課題を解決するための手段】上記課題は、以下のよう
に構成することで解決する。
に構成することで解決する。
【0008】命令キャッシュをキャッシュラインサイズ
を最低の大きさ、つまり1ライン1命令で構成し、命令
キャッシュと主記憶の間に命令ストリームバッファを設
ける。この命令ストリームバッファは、キャッシュライ
ンサイズの正数倍の大きさでの可変長で主記憶から読み
込んだ命令列の書き込みが可能で、命令キャッシュへの
出力はキャッシュライン単位で可能なように構成する。
を最低の大きさ、つまり1ライン1命令で構成し、命令
キャッシュと主記憶の間に命令ストリームバッファを設
ける。この命令ストリームバッファは、キャッシュライ
ンサイズの正数倍の大きさでの可変長で主記憶から読み
込んだ命令列の書き込みが可能で、命令キャッシュへの
出力はキャッシュライン単位で可能なように構成する。
【0009】
【発明の実施の形態】上記手段を実現するための本発明
の実施例を図面を用いて説明する。
の実施例を図面を用いて説明する。
【0010】実施例を図1ないし図15を用いて説明す
る。
る。
【0011】図1は本実施例の全体のデータフローのブ
ロック図である。図中、101は主記憶、102は主記
憶インターフェース、103はプロセッサ、104はメ
モリバス、105は命令キャッシュ、106はデータキ
ャッシュ、107は主記憶インターフェースに接続して
いるその他のI/O機器であり、これに、108の命令
ストリームバッファを設ける。
ロック図である。図中、101は主記憶、102は主記
憶インターフェース、103はプロセッサ、104はメ
モリバス、105は命令キャッシュ、106はデータキ
ャッシュ、107は主記憶インターフェースに接続して
いるその他のI/O機器であり、これに、108の命令
ストリームバッファを設ける。
【0012】101の主記憶は、103のプロセッサが
使用する命令列、データが格納されていて、102の主
記憶インターフェースによって、主記憶外部からの読み
書きが行なわれる。
使用する命令列、データが格納されていて、102の主
記憶インターフェースによって、主記憶外部からの読み
書きが行なわれる。
【0013】102の主記憶インターフェースは、10
3のプロセッサや107のその他のI/O機器等の主記
憶へのアクセスを補助し、アクセス要求に従って101
の主記憶から命令列およびデータの入出力を行ない、結
果を要求元へ返す。
3のプロセッサや107のその他のI/O機器等の主記
憶へのアクセスを補助し、アクセス要求に従って101
の主記憶から命令列およびデータの入出力を行ない、結
果を要求元へ返す。
【0014】103のプロセッサは、101の主記憶に
格納されている命令列、データを102の主記憶インタ
ーフェースを介して読み出し、処理をおこなう。
格納されている命令列、データを102の主記憶インタ
ーフェースを介して読み出し、処理をおこなう。
【0015】104のメモリバスは、102のメモリバ
スインターフェースとこれを利用して主記憶をアクセス
する103のプロセッサや107のI/O機器を接続し
ている。
スインターフェースとこれを利用して主記憶をアクセス
する103のプロセッサや107のI/O機器を接続し
ている。
【0016】105は命令キャッシュで、103のプロ
セッサからの命令読み出し要求によって101の主記憶
から読み出された命令列が一時的に格納される。プロセ
ッサが要求した命令がここに格納されている場合、ここ
からプロセッサへ命令を送出し主記憶へはアクセスしな
い。
セッサからの命令読み出し要求によって101の主記憶
から読み出された命令列が一時的に格納される。プロセ
ッサが要求した命令がここに格納されている場合、ここ
からプロセッサへ命令を送出し主記憶へはアクセスしな
い。
【0017】106はデータキャッシュで、103のプ
ロセッサからのデータ読み出し要求によって101の主
記憶から読み出されたデータ列が一時的に格納される。
プロセッサが要求したデータがここに格納されている場
合、ここからプロセッサへデータを送出し主記憶へはア
クセスしない。また、データを書き出す場合、データキ
ャッシュへ書き出すと同時に主記憶への書き込みを行な
う場合と、データキャッシュのみに書き出し、何らかの
要因でキャッシュ上のデータが消されるときに主記憶へ
書き出す場合とがある。
ロセッサからのデータ読み出し要求によって101の主
記憶から読み出されたデータ列が一時的に格納される。
プロセッサが要求したデータがここに格納されている場
合、ここからプロセッサへデータを送出し主記憶へはア
クセスしない。また、データを書き出す場合、データキ
ャッシュへ書き出すと同時に主記憶への書き込みを行な
う場合と、データキャッシュのみに書き出し、何らかの
要因でキャッシュ上のデータが消されるときに主記憶へ
書き出す場合とがある。
【0018】107のI/O機器は、103のプロセッ
サとは独立して101の主記憶へのアクセス(DMA)
をおこなう。
サとは独立して101の主記憶へのアクセス(DMA)
をおこなう。
【0019】108の命令ストリームバッファは、10
3のプロセッサの命令要求を受けた102の主記憶イン
ターフェースが101の主記憶から読み出して104の
メモリバスを通して送信した命令列を受け取り、その一
部を必要に応じてプロセッサ、105の命令キャッシュ
へ送信する。
3のプロセッサの命令要求を受けた102の主記憶イン
ターフェースが101の主記憶から読み出して104の
メモリバスを通して送信した命令列を受け取り、その一
部を必要に応じてプロセッサ、105の命令キャッシュ
へ送信する。
【0020】図2は実施例図1の108の命令ストリー
ムバッファブロックの内部構成である。図中、201は
メモリバスインターフェース、202は命令バッファ、
203は命令バリッドバッファ、204はアドレスタ
グ、205は命令ストリームバッファコントローラであ
る。
ムバッファブロックの内部構成である。図中、201は
メモリバスインターフェース、202は命令バッファ、
203は命令バリッドバッファ、204はアドレスタ
グ、205は命令ストリームバッファコントローラであ
る。
【0021】201のメモリバスインターフェースは、
108の命令ストリームバッファブロックを102の主
記憶インターフェースへメモリバスで接続するブロック
である。205の命令ストリームバッファコントローラ
が発行する主記憶読み出し命令を受けて、主記憶へのア
クセスを行ない、202の命令バッファへの書き込み
や、203の命令バリッドバッファへ命令が有効である
事を書き込む。
108の命令ストリームバッファブロックを102の主
記憶インターフェースへメモリバスで接続するブロック
である。205の命令ストリームバッファコントローラ
が発行する主記憶読み出し命令を受けて、主記憶へのア
クセスを行ない、202の命令バッファへの書き込み
や、203の命令バリッドバッファへ命令が有効である
事を書き込む。
【0022】202の命令バッファは、201のメモリ
ーバスインターフェースが出力する命令列を格納する。
また、205の命令ストリームバッファコントローラに
よって、読み出され、103のプロセッサや、105の
命令キャッシュに書き込まれる。
ーバスインターフェースが出力する命令列を格納する。
また、205の命令ストリームバッファコントローラに
よって、読み出され、103のプロセッサや、105の
命令キャッシュに書き込まれる。
【0023】203の命令バリッドバッファは、202
の命令バッファと同じ行数の1ビット幅ラッチによって
構成される。205の命令ストリームバッファコントロ
ーラが発行する主記憶読み出し命令を受けて全てクリア
され、同じく命令ストリームバッファコントローラが発
行する命令バッファ書き込み信号を受けて、命令バッフ
ァと同じ行のビットをセットする。これによって、命令
バッファの中で有効な命令が入っている行を知る事がで
きる。
の命令バッファと同じ行数の1ビット幅ラッチによって
構成される。205の命令ストリームバッファコントロ
ーラが発行する主記憶読み出し命令を受けて全てクリア
され、同じく命令ストリームバッファコントローラが発
行する命令バッファ書き込み信号を受けて、命令バッフ
ァと同じ行のビットをセットする。これによって、命令
バッファの中で有効な命令が入っている行を知る事がで
きる。
【0024】204のアドレスタグは、この命令ストリ
ームバッファが格納している命令の主記憶上のアドレス
を保持する。205の命令ストリームバッファコントロ
ーラが発行する主記憶読み出し命令を受けて、同時に発
行される主記憶読み出しアドレスを格納し、次の主記憶
読み出し命令を受けるまで保持する。
ームバッファが格納している命令の主記憶上のアドレス
を保持する。205の命令ストリームバッファコントロ
ーラが発行する主記憶読み出し命令を受けて、同時に発
行される主記憶読み出しアドレスを格納し、次の主記憶
読み出し命令を受けるまで保持する。
【0025】205の命令ストリームバッファコントロ
ーラは、103のプロセッサからの読み出し要求を受け
て、要求された命令が202の命令バッファ内に格納さ
れているかを判定し、格納されている場合は、命令バッ
ファからの読み出しを行ない、無い場合は201のメモ
リバスインターフェースへ主記憶読み出し命令を発行
し、読み出されて命令バッファへ格納された命令のう
ち、103のプロセッサから要求を受けた命令をプロセ
ッサと105の命令キャッシュへ送信する。
ーラは、103のプロセッサからの読み出し要求を受け
て、要求された命令が202の命令バッファ内に格納さ
れているかを判定し、格納されている場合は、命令バッ
ファからの読み出しを行ない、無い場合は201のメモ
リバスインターフェースへ主記憶読み出し命令を発行
し、読み出されて命令バッファへ格納された命令のう
ち、103のプロセッサから要求を受けた命令をプロセ
ッサと105の命令キャッシュへ送信する。
【0026】以上の構成によって、命令ストリームバッ
ファブロックは、以下のように動作する。
ファブロックは、以下のように動作する。
【0027】101の主記憶に格納されている命令を1
03のプロセッサが要求すると、205の命令ストリー
ムバッファはこれを受取り、202の命令バッファ内に
格納されているかを確認する。このとき格納されている
場合は、その命令を取りだし、プロセッサおよび105
の命令キャッシュへ送信する。格納されていない場合は
201のメモリバスインターフェースへ主記憶読み出し
命令を発行し、読み出されて命令バッファへ格納された
命令列のうち、プロセッサから要求を受けた命令をプロ
セッサと105の命令キャッシュへ送信する。
03のプロセッサが要求すると、205の命令ストリー
ムバッファはこれを受取り、202の命令バッファ内に
格納されているかを確認する。このとき格納されている
場合は、その命令を取りだし、プロセッサおよび105
の命令キャッシュへ送信する。格納されていない場合は
201のメモリバスインターフェースへ主記憶読み出し
命令を発行し、読み出されて命令バッファへ格納された
命令列のうち、プロセッサから要求を受けた命令をプロ
セッサと105の命令キャッシュへ送信する。
【0028】図3は実施例のメモリバスインターフェー
スのブロック図である。図中301は読み出しバッフ
ァ、302はスタートアドレスバッファ、303はカレ
ントアドレスカウンタ、304はメモリバスコントロー
ラ、305は命令バッファ書き込みコントローラ、30
6はメモリバスデータ、307はメモリバスアドレス、
308はメモリバス制御信号、309は読み出し命令
列、310は命令バッファ書き込みアドレス、311は
命令バッファコントロール信号、312はスタートアド
レス、313は主記憶読み出し要求信号、314は主記
憶再読み出し信号、315はリードバッファイネーブル
信号、316は命令バッファ書込制御信号、317はス
タートロードアドレス、318はカウンタコントロール
信号である。301の読み出しバッファは、316のメ
モリバスコントローラから出力される315のリードバ
ッファイネーブル信号タイミングで306のメモリバス
データをラッチし、保持する。保持している内容は、3
09の読み出し命令列として、202の命令バッファへ
出力される。
スのブロック図である。図中301は読み出しバッフ
ァ、302はスタートアドレスバッファ、303はカレ
ントアドレスカウンタ、304はメモリバスコントロー
ラ、305は命令バッファ書き込みコントローラ、30
6はメモリバスデータ、307はメモリバスアドレス、
308はメモリバス制御信号、309は読み出し命令
列、310は命令バッファ書き込みアドレス、311は
命令バッファコントロール信号、312はスタートアド
レス、313は主記憶読み出し要求信号、314は主記
憶再読み出し信号、315はリードバッファイネーブル
信号、316は命令バッファ書込制御信号、317はス
タートロードアドレス、318はカウンタコントロール
信号である。301の読み出しバッファは、316のメ
モリバスコントローラから出力される315のリードバ
ッファイネーブル信号タイミングで306のメモリバス
データをラッチし、保持する。保持している内容は、3
09の読み出し命令列として、202の命令バッファへ
出力される。
【0029】302のスタートアドレスバッファは、2
05の命令ストリームバッファから発行される313の
主記憶読み出し要求信号のタイミングで同じく発行され
る312のスタートアドレスを格納する。このアドレス
を307のメモリバスアドレスとして104のメモリバ
スへ出力し、また、303のカレントアドレスカウンタ
の初期値として使用される317のスタートロードアド
レスとして出力される。 303のカレントアドレスカ
ウンタは、317のスタートロードアドレスを初期値と
して、命令バッファ書込コントローラの出力する318
のカウンタコントロール信号によってインクリメントさ
るカウンタである。このカウンタの出力は、310の命
令バッファ書き込みアドレスとして202の命令バッフ
ァへ出力される。
05の命令ストリームバッファから発行される313の
主記憶読み出し要求信号のタイミングで同じく発行され
る312のスタートアドレスを格納する。このアドレス
を307のメモリバスアドレスとして104のメモリバ
スへ出力し、また、303のカレントアドレスカウンタ
の初期値として使用される317のスタートロードアド
レスとして出力される。 303のカレントアドレスカ
ウンタは、317のスタートロードアドレスを初期値と
して、命令バッファ書込コントローラの出力する318
のカウンタコントロール信号によってインクリメントさ
るカウンタである。このカウンタの出力は、310の命
令バッファ書き込みアドレスとして202の命令バッフ
ァへ出力される。
【0030】304のメモリバスコントローラは、20
5の命令バッファストリームコントローラから出力され
る313の主記憶読み出し要求信号や314の主記憶再
読み出し信号をもとに、308のメモリバス制御信号を
作成し104のメモリバスへ出力し、また、315のリ
ードバッファイネーブル信号を作成し305の読み出し
バッファへ出力する。さらに、命令バッファへの書き込
みタイミングを316の命令バッファ書込制御信号とし
て出力する。
5の命令バッファストリームコントローラから出力され
る313の主記憶読み出し要求信号や314の主記憶再
読み出し信号をもとに、308のメモリバス制御信号を
作成し104のメモリバスへ出力し、また、315のリ
ードバッファイネーブル信号を作成し305の読み出し
バッファへ出力する。さらに、命令バッファへの書き込
みタイミングを316の命令バッファ書込制御信号とし
て出力する。
【0031】305の命令バッファ書込コントローラ
は、316の命令バッファ書込制御信号をもとに、30
3のカレントアドレスカウンタの310の命令バッファ
への書込アドレス作成タイミングとなる318のカウン
タコントロール信号を出力する。また311の命令バッ
ファコントロール信号を作成し、202の命令バッファ
への書き込みを行なう。
は、316の命令バッファ書込制御信号をもとに、30
3のカレントアドレスカウンタの310の命令バッファ
への書込アドレス作成タイミングとなる318のカウン
タコントロール信号を出力する。また311の命令バッ
ファコントロール信号を作成し、202の命令バッファ
への書き込みを行なう。
【0032】この構成によって、103のプロセッサの
要求を受けて205の命令ストリームバッファが出力す
る313の主記憶読み出し要求信号や314の主記憶再
読み出し信号を受て、102の主記憶から所定の命令列
を読み出し、202の命令バッファへ書き込むことが可
能となる。
要求を受けて205の命令ストリームバッファが出力す
る313の主記憶読み出し要求信号や314の主記憶再
読み出し信号を受て、102の主記憶から所定の命令列
を読み出し、202の命令バッファへ書き込むことが可
能となる。
【0033】図4は実施例の命令バッファブロックの詳
細図である。図中401は書き込み側デコーダ、402
は記憶素子アレイ、403は読み出し側デコーダ、40
4は命令バッファ書き込みアドレス、405は書き込み
命令列、406は書き込みコントロール信号、407は
命令バッファ読み出しアドレス、408は読み出し命令
列、409は読み出しコントロール信号である。
細図である。図中401は書き込み側デコーダ、402
は記憶素子アレイ、403は読み出し側デコーダ、40
4は命令バッファ書き込みアドレス、405は書き込み
命令列、406は書き込みコントロール信号、407は
命令バッファ読み出しアドレス、408は読み出し命令
列、409は読み出しコントロール信号である。
【0034】このブロックは402の記憶素子アレイに
書き込み命令列を格納し、その内容を読み出し命令列と
して出力する。書き込み方法は、404の命令バッファ
書き込みアドレスと405の書き込み命令列を入力し、
406の書き込みコントロール信号を発行することによ
って、402の記憶素子アレイ中の書き込みアドレスが
指し示す行に書き込み命令列が格納される。また、読み
出し方法は、407の命令バッファ読み出しアドレスを
入力し、409の読み出しコントロール信号を発行する
と、408の読み出し命令列に読み出しアドレスの行に
格納されている命令列が出力される。このとき、書き込
み側読み出し側それぞれにアドレスポート、命令列ポー
トがあり、またデコーダもそれぞれにあるため、読み出
し、書き込みが独立したタイミングで行なうことができ
る。
書き込み命令列を格納し、その内容を読み出し命令列と
して出力する。書き込み方法は、404の命令バッファ
書き込みアドレスと405の書き込み命令列を入力し、
406の書き込みコントロール信号を発行することによ
って、402の記憶素子アレイ中の書き込みアドレスが
指し示す行に書き込み命令列が格納される。また、読み
出し方法は、407の命令バッファ読み出しアドレスを
入力し、409の読み出しコントロール信号を発行する
と、408の読み出し命令列に読み出しアドレスの行に
格納されている命令列が出力される。このとき、書き込
み側読み出し側それぞれにアドレスポート、命令列ポー
トがあり、またデコーダもそれぞれにあるため、読み出
し、書き込みが独立したタイミングで行なうことができ
る。
【0035】図5は、実施例の命令バリッドバッファの
詳細図である。図中501はラッチ、502はアドレス
デコーダ、503はアドレス、504はセット信号、5
05はクリア信号、506は命令バリッド信号である。
詳細図である。図中501はラッチ、502はアドレス
デコーダ、503はアドレス、504はセット信号、5
05はクリア信号、506は命令バリッド信号である。
【0036】501は1ビットのラッチで、504のセ
ット信号で出力が1、505のクリア信号で出力が0と
なり、双方とも0の場合には前の値を保持する。
ット信号で出力が1、505のクリア信号で出力が0と
なり、双方とも0の場合には前の値を保持する。
【0037】502はアドレスデコーダで、503のア
ドレスが入力されると、そのアドレスに対応する504
のセット信号のみを1とする。
ドレスが入力されると、そのアドレスに対応する504
のセット信号のみを1とする。
【0038】この構成によって、202の命令バッファ
に書き込まれた命令のうち、有効な行を示すことができ
る。
に書き込まれた命令のうち、有効な行を示すことができ
る。
【0039】図6は実施例の命令ストリームバッファコ
ントローラのブロック図である。図中601は命令スト
リームバッファ状態判定ブロック、602は命令ストリ
ームバッファヒット判定ブロック、603は命令ストリ
ームバッファ読み出しコントローラ、604は命令スト
リームバッファバリッド信号、605は読み出しアドレ
ス、606はアドレスタグ、312は主記憶読み出しア
ドレス、313は主記憶読み出し要求信号、314は主
記憶再読み出し要求信号、610は命令バッファ読み出
しアドレス、611は命令バッファ読み出しコントロー
ル信号、612は読み出し要求信号、613は命令スト
リームバッファ再読み出し要求信号、614は命令スト
リームバッファ読み出し可能信号、615は読み出し命
令有効信号、616は命令ストリームバッファヒット信
号である。
ントローラのブロック図である。図中601は命令スト
リームバッファ状態判定ブロック、602は命令ストリ
ームバッファヒット判定ブロック、603は命令ストリ
ームバッファ読み出しコントローラ、604は命令スト
リームバッファバリッド信号、605は読み出しアドレ
ス、606はアドレスタグ、312は主記憶読み出しア
ドレス、313は主記憶読み出し要求信号、314は主
記憶再読み出し要求信号、610は命令バッファ読み出
しアドレス、611は命令バッファ読み出しコントロー
ル信号、612は読み出し要求信号、613は命令スト
リームバッファ再読み出し要求信号、614は命令スト
リームバッファ読み出し可能信号、615は読み出し命
令有効信号、616は命令ストリームバッファヒット信
号である。
【0040】601の命令ストリームバッファ状態判定
ブロックは、605の読み出しアドレスと604の命令
ストリームバッファバリッド信号が入力され、613の
命令ストリームバッファ再読み出し要求信号、614の
命令ストリームバッファ読み出し可能信号、615の読
み出し命令有効信号を出力する。
ブロックは、605の読み出しアドレスと604の命令
ストリームバッファバリッド信号が入力され、613の
命令ストリームバッファ再読み出し要求信号、614の
命令ストリームバッファ読み出し可能信号、615の読
み出し命令有効信号を出力する。
【0041】602の命令ストリームバッファヒット判
定ブロックは、605の読み出しアドレス、606のア
ドレスタグ、および615の読み出し命令有効信号から
202の命令バッファ内に格納されている命令が有効で
あるかを判定し、結果を616の命令ストリームバッフ
ァヒット信号として出力する。
定ブロックは、605の読み出しアドレス、606のア
ドレスタグ、および615の読み出し命令有効信号から
202の命令バッファ内に格納されている命令が有効で
あるかを判定し、結果を616の命令ストリームバッフ
ァヒット信号として出力する。
【0042】603の命令ストリームバッファ読み出し
コントローラは、103のプロセッサが発行する612
の読み出し要求信号と605の読み出しアドレス、60
1の命令ストリームバッファ状態判定ブロックが出力す
る613の命令ストリームバッファ再読み出し要求信号
と614の命令ストリームバッファ読み出し可能信号、
そして602の命令ストリームバッファヒット判定ブロ
ックが出力する616の命令ストリームバッファヒット
信号を入力として、命令ストリームバッファの現在の状
態を判定し、次に命令ストリームバッファがどのように
動作するかを決定する。その結果を312の主記憶読み
出しアドレス、313の主記憶読み出し要求信号、31
4の主記憶再読み出し要求信号、610の命令バッファ
読み出しアドレス、そして611の命令バッファ読み出
しコントロール信号に反映し、出力する。
コントローラは、103のプロセッサが発行する612
の読み出し要求信号と605の読み出しアドレス、60
1の命令ストリームバッファ状態判定ブロックが出力す
る613の命令ストリームバッファ再読み出し要求信号
と614の命令ストリームバッファ読み出し可能信号、
そして602の命令ストリームバッファヒット判定ブロ
ックが出力する616の命令ストリームバッファヒット
信号を入力として、命令ストリームバッファの現在の状
態を判定し、次に命令ストリームバッファがどのように
動作するかを決定する。その結果を312の主記憶読み
出しアドレス、313の主記憶読み出し要求信号、31
4の主記憶再読み出し要求信号、610の命令バッファ
読み出しアドレス、そして611の命令バッファ読み出
しコントロール信号に反映し、出力する。
【0043】この構成によって、203の命令バリッド
バッファ、204のアドレスタグの情報と、プロセッサ
からの612の読み出し要求信号と605の読み出しア
ドレスの要求から、202命令バッファに格納されてい
る命令が有効であるかを判定し、無効である場合主記憶
からの読み出し要求を行ない、最終的に命令バッファか
ら命令を読み出すことを可能とする。
バッファ、204のアドレスタグの情報と、プロセッサ
からの612の読み出し要求信号と605の読み出しア
ドレスの要求から、202命令バッファに格納されてい
る命令が有効であるかを判定し、無効である場合主記憶
からの読み出し要求を行ない、最終的に命令バッファか
ら命令を読み出すことを可能とする。
【0044】図7は602の命令ストリームバッファヒ
ット判定ブロックの内部詳細図である。図中701は比
較器、702はAND回路、703はアドレスヒット信
号である。
ット判定ブロックの内部詳細図である。図中701は比
較器、702はAND回路、703はアドレスヒット信
号である。
【0045】701の比較器は、入力される605の読
み出しアドレスと606のアドレスタグを比較し、一致
すれば703のアドレスヒット信号を真とし、それ以外
の場合は偽とする。
み出しアドレスと606のアドレスタグを比較し、一致
すれば703のアドレスヒット信号を真とし、それ以外
の場合は偽とする。
【0046】702のAND回路は、入力される615
の読み出し命令有効信号と、703のアドレスヒット信
号の論理積をとり、結果を616の命令ストリームバッ
ファヒット信号として出力する。
の読み出し命令有効信号と、703のアドレスヒット信
号の論理積をとり、結果を616の命令ストリームバッ
ファヒット信号として出力する。
【0047】このように構成することによって、入力の
605の読み出しアドレスと606のアドレスタグの値
が一致し、且つ615の読み出し命令有効信号が真の場
合に616の命令ストリームバッファヒット信号が真と
なるように動作する事が可能となる。
605の読み出しアドレスと606のアドレスタグの値
が一致し、且つ615の読み出し命令有効信号が真の場
合に616の命令ストリームバッファヒット信号が真と
なるように動作する事が可能となる。
【0048】図8は601の命令ストリームバッファ状
態判定ブロックである。図中801はアドレスデコー
ダ、802はセレクタ、803は命令ストリームバッフ
ァ読み出し可能判定ブロック、804は命令ストリーム
バッファ再読み出し要求判定ブロック、805はセレク
ト信号である。
態判定ブロックである。図中801はアドレスデコー
ダ、802はセレクタ、803は命令ストリームバッフ
ァ読み出し可能判定ブロック、804は命令ストリーム
バッファ再読み出し要求判定ブロック、805はセレク
ト信号である。
【0049】801のアドレスデコーダは、入力される
605の読み出しアドレスを、802のセレクタを制御
可能な形式である805のセレクト信号に変換する。
605の読み出しアドレスを、802のセレクタを制御
可能な形式である805のセレクト信号に変換する。
【0050】802のセレクタは、入力されてくる60
4の命令ストリームバッファバリッド信号の中から、8
05のセレクト信号で示されるビット位置の値を選択
し、615の読み出し命令有効信号として出力する。こ
の構成によって、202の命令バッファ内の605の読
み出しアドレスで示される行の命令が読み出し可能であ
ることを示す事が可能となる。
4の命令ストリームバッファバリッド信号の中から、8
05のセレクト信号で示されるビット位置の値を選択
し、615の読み出し命令有効信号として出力する。こ
の構成によって、202の命令バッファ内の605の読
み出しアドレスで示される行の命令が読み出し可能であ
ることを示す事が可能となる。
【0051】803の命令ストリームバッファ読み出し
可能判定ブロックは、604の命令ストリームバッファ
バリッド信号から、命令ストリームバッファ読み出しが
可能かを判定し、614の命令ストリームバッファ読み
出し可能信号として出力する。 804の命令ストリー
ムバッファ再読み出し要求判定ブロックは、604の命
令ストリームバッファバリッド信号と805のセレクト
信号から、主記憶への再読み出しの要求を行なうべきか
を判定し、結果を613の命令ストリームバッファ再読
み出し要求信号として出力する。
可能判定ブロックは、604の命令ストリームバッファ
バリッド信号から、命令ストリームバッファ読み出しが
可能かを判定し、614の命令ストリームバッファ読み
出し可能信号として出力する。 804の命令ストリー
ムバッファ再読み出し要求判定ブロックは、604の命
令ストリームバッファバリッド信号と805のセレクト
信号から、主記憶への再読み出しの要求を行なうべきか
を判定し、結果を613の命令ストリームバッファ再読
み出し要求信号として出力する。
【0052】図9は803の命令ストリームバッファ読
み出し可能判定ブロックの詳細図である。図中901は
nビット入力OR回路である。この回路は、nビットの
入力信号の論理和を取り、1ビットの出力信号とする。
この回路に604の命令ストリームバッファバリッド信
号を入力し、各ビットの論理和を取ることによって、2
02の命令バッファ内に少なくとも1行以上読み出し可
能である行が存在することを示す614の命令ストリー
ムバッファ読み出し可能信号を作成している。図10は
804の命令ストリームバッファ再読み出し要求判定ブ
ロックの詳細図である。図中1001はOR回路、10
02はNOT回路、1003は再読み出し不要信号であ
る。
み出し可能判定ブロックの詳細図である。図中901は
nビット入力OR回路である。この回路は、nビットの
入力信号の論理和を取り、1ビットの出力信号とする。
この回路に604の命令ストリームバッファバリッド信
号を入力し、各ビットの論理和を取ることによって、2
02の命令バッファ内に少なくとも1行以上読み出し可
能である行が存在することを示す614の命令ストリー
ムバッファ読み出し可能信号を作成している。図10は
804の命令ストリームバッファ再読み出し要求判定ブ
ロックの詳細図である。図中1001はOR回路、10
02はNOT回路、1003は再読み出し不要信号であ
る。
【0053】1001はOR回路であり、2本の入力の
論理和をとり出力する。1002はNOT回路であり、
入力の反転信号を出力する。802のセレクタは前述の
通り、805のセレクト信号で示されるビット位置の値
を選択し、出力する。
論理和をとり出力する。1002はNOT回路であり、
入力の反転信号を出力する。802のセレクタは前述の
通り、805のセレクト信号で示されるビット位置の値
を選択し、出力する。
【0054】1003の再読み出し不要信号は、604
の命令ストリームバッファバリッド信号の各ビットにお
いて、下位の行に位置する信号全てと自らの値全ての論
理和をとる事によって作成する。この信号を802のセ
レクタで805のセレクト信号によって選択した結果を
1002のNOT回路で反転することによって、613
は命令ストリームバッファ再読み出し要求信号を作成す
る。
の命令ストリームバッファバリッド信号の各ビットにお
いて、下位の行に位置する信号全てと自らの値全ての論
理和をとる事によって作成する。この信号を802のセ
レクタで805のセレクト信号によって選択した結果を
1002のNOT回路で反転することによって、613
は命令ストリームバッファ再読み出し要求信号を作成す
る。
【0055】図11は603の命令ストリームバッファ
読み出しコントローラの詳細図である。図中1101は
アドレスキュー、1102,1103はアドレスセレク
タ、1104はリトライアドレス、1105は書き込み
リトライ選択信号である。
読み出しコントローラの詳細図である。図中1101は
アドレスキュー、1102,1103はアドレスセレク
タ、1104はリトライアドレス、1105は書き込み
リトライ選択信号である。
【0056】1101のアドレスキューは、605の読
み出しアドレスと同じビット幅のラッチで構成されてい
て、605の読み出しアドレスを612の読み出し要求
信号で格納し、1104のリトライアドレスとして保持
する。
み出しアドレスと同じビット幅のラッチで構成されてい
て、605の読み出しアドレスを612の読み出し要求
信号で格納し、1104のリトライアドレスとして保持
する。
【0057】1102と1103のアドレスセレクタ
は、2組のアドレスと選択信号を入力し、選択信号の値
により、2組のアドレスのうち、決められた一方のアド
レスが出力される。1102は、入力アドレスとして6
05の読み出しアドレスと1104のリトライアドレス
が入力され、314の主記憶再読み出し要求信号によっ
て選択され、真であれば1104はリトライアドレスが
選択され、また、偽の場合は605の読み出しアドレス
が選択され、312の主記憶読み出しアドレスとして出
力される。また、1103のアドレスセレクタは、入力
アドレスとして605の読み出しアドレスと1104の
リトライアドレスが入力され、313の主記憶読み出し
要求信号と314の主記憶再読み出し要求信号の論理和
を取った1105の書き込みリトライ選択信号によって
選択され、真であれば1104はリトライアドレスが選
択され、また、偽の場合は605の読み出しアドレスが
選択され、610の命令バッファ読み出しアドレスとし
て出力される。
は、2組のアドレスと選択信号を入力し、選択信号の値
により、2組のアドレスのうち、決められた一方のアド
レスが出力される。1102は、入力アドレスとして6
05の読み出しアドレスと1104のリトライアドレス
が入力され、314の主記憶再読み出し要求信号によっ
て選択され、真であれば1104はリトライアドレスが
選択され、また、偽の場合は605の読み出しアドレス
が選択され、312の主記憶読み出しアドレスとして出
力される。また、1103のアドレスセレクタは、入力
アドレスとして605の読み出しアドレスと1104の
リトライアドレスが入力され、313の主記憶読み出し
要求信号と314の主記憶再読み出し要求信号の論理和
を取った1105の書き込みリトライ選択信号によって
選択され、真であれば1104はリトライアドレスが選
択され、また、偽の場合は605の読み出しアドレスが
選択され、610の命令バッファ読み出しアドレスとし
て出力される。
【0058】本ブロックの入力信号である612の読み
出し要求信号、613の命令ストリームバッファ再読み
出し要求信号、614の命令ストリームバッファ読み出
し可能信号、および616の命令ストリームバッファヒ
ット信号と、出力信号である312の主記憶読み出しア
ドレス、313の主記憶読み出し要求信号、314の主
記憶再読み出し要求信号、610の命令バッファ読み出
しアドレス、および611の命令バッファ読み出しコン
トロール信号の関係を図12の真理値表として示す。
出し要求信号、613の命令ストリームバッファ再読み
出し要求信号、614の命令ストリームバッファ読み出
し可能信号、および616の命令ストリームバッファヒ
ット信号と、出力信号である312の主記憶読み出しア
ドレス、313の主記憶読み出し要求信号、314の主
記憶再読み出し要求信号、610の命令バッファ読み出
しアドレス、および611の命令バッファ読み出しコン
トロール信号の関係を図12の真理値表として示す。
【0059】図12の真理値表は、図11の命令ストリ
ームバッファ読み出しコントローラの入力信号と出力信
号の関係を示している。図中左半分が入力信号を示し、
右半分が出力を表している。
ームバッファ読み出しコントローラの入力信号と出力信
号の関係を示している。図中左半分が入力信号を示し、
右半分が出力を表している。
【0060】
【発明の効果】本発明によれば、最大では命令ストリー
ムバッファの記憶容量での主記憶からの連続転送が行な
えるため、主記憶からの転送速度を向上でき、且つ、キ
ャッシュラインを最小の大きさにとれるため、無駄な命
令をキャッシュに読み込む可能性がなくなる。さらに、
プリフェッチでは予測でキャッシュへ命令列を転送して
いたが、本発明では要求があったものだけキャッシュへ
の転送を行なうため、キャッシュ上での無駄な命令を読
み込むことはなくなる。また、主記憶からの命令ストリ
ームバッファへの転送を中断できるよう構成することに
よって、主記憶からの無駄な転送を減らし、次の必要な
転送への移行を迅速にできる。
ムバッファの記憶容量での主記憶からの連続転送が行な
えるため、主記憶からの転送速度を向上でき、且つ、キ
ャッシュラインを最小の大きさにとれるため、無駄な命
令をキャッシュに読み込む可能性がなくなる。さらに、
プリフェッチでは予測でキャッシュへ命令列を転送して
いたが、本発明では要求があったものだけキャッシュへ
の転送を行なうため、キャッシュ上での無駄な命令を読
み込むことはなくなる。また、主記憶からの命令ストリ
ームバッファへの転送を中断できるよう構成することに
よって、主記憶からの無駄な転送を減らし、次の必要な
転送への移行を迅速にできる。
【図1】本発明の外部構成データフローのブロック図。
【図2】本発明の命令ストリームバッファのブロック
図。
図。
【図3】本発明のメモリバスインターフェースの説明
図。
図。
【図4】本発明の命令バッファブロックの一例の説明
図。
図。
【図5】本発明の命令バリッドバッファの一例の説明
図。
図。
【図6】本発明の命令ストリームバッファコントローラ
の一例の説明図。
の一例の説明図。
【図7】本発明の命令ストリームバッファヒット判定ブ
ロックの一例の説明図。
ロックの一例の説明図。
【図8】本発明の命令ストリームバッファ状態判定ブロ
ックの一例の説明図。
ックの一例の説明図。
【図9】本発明の命令ストリームバッファ読み出し可能
判定ブロックの一例の説明図。
判定ブロックの一例の説明図。
【図10】本発明の命令ストリームバッファ再読み出し
要求判定ブロックの一例の説明図。
要求判定ブロックの一例の説明図。
【図11】本発明の命令ストリームバッファ読み出しコ
ントローラの一例の説明図。
ントローラの一例の説明図。
【図12】本発明の命令ストリームバッファ読み出しコ
ントローラの真理値表の一例の説明図。
ントローラの真理値表の一例の説明図。
101…主記憶、102…主記憶インターフェース、1
03…プロセッサ、104…命令キャッシュ、105…
データキャッシュ、106…その他のI/O機器、10
7…命令ストリームバッファ。
03…プロセッサ、104…命令キャッシュ、105…
データキャッシュ、106…その他のI/O機器、10
7…命令ストリームバッファ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 西岡 清和 神奈川県川崎市麻生区王禅寺1099番地株式 会社日立製作所システム開発研究所内 (72)発明者 野尻 徹 神奈川県川崎市麻生区王禅寺1099番地株式 会社日立製作所システム開発研究所内
Claims (6)
- 【請求項1】命令読込に使用されるキャッシュを持つプ
ロセッサに於て、上記プロセッサが大容量記憶装置に接
続する手段と、上記キャッシュの間に自らの容量を上限
とする任意の大きさの情報を上記大容量記憶装置から読
み出す手段を持つ小容量の記憶装置を設け、上記大容量
の記憶装置から読み出された連続した命令列を一時的に
保存し、上記プロセッサからの要求に応じて自らの記憶
装置に要求された情報がある場合は、これを上記プロセ
ッサおよびキャッシュへ送信し、また、無い場合は、上
記情報を上記大容量記憶装置から読み出す手段によっ
て、要求された情報を自らの記憶装置に格納した上で、
これをプロセッサおよびキャッシュへ送信することを特
徴とする記憶装置。 - 【請求項2】請求項1の記憶装置を備えるプロセッサ。
- 【請求項3】請求項1に於て、任意の大きさの情報を上
記大容量記憶装置から読み出す手段に加えて、現在行な
っている読み出し作業を中止する手段と、新たな読み出
し作業を開始する手段を設けて、記憶装置が上記大容量
記憶装置から読み出し作業を行なっている最中にプロセ
ッサからの要求が発生した場合、現在行なっている読み
出し作業を中断し、新たな読み出し作業を開始し、要求
された情報を自らの記憶装置に格納した上で、これをプ
ロセッサおよびキャッシュへ送信する記憶装置。 - 【請求項4】請求項3の記憶装置を備えるプロセッサ。
- 【請求項5】請求項3に於て、現在行なっている読み出
し作業を中止する手段と、新たな読み出し作業を開始す
る手段に加えて、さらに、読み出し作業を行なっている
最中のプロセッサから要求発生に対して、現在行なって
いる読み出し作業によって要求されている情報が得られ
るかを判定する手段を設け、その判定によって、得られ
ない事が判定された場合のみ、上記の現在行なっている
読み出し作業を中止する手段と、新たな読み出し作業を
開始する手段を動作させて、現在行なっている読み出し
作業を中断し、新たな読み出し作業を開始し、要求され
た情報を自らの記憶装置に格納した上で、これをプロセ
ッサおよびキャッシュへ送信する記憶装置。 - 【請求項6】請求項5の記憶装置を備えるプロセッサ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8138004A JPH09319657A (ja) | 1996-05-31 | 1996-05-31 | 命令読み込み用バッファを備えたプロセッサ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8138004A JPH09319657A (ja) | 1996-05-31 | 1996-05-31 | 命令読み込み用バッファを備えたプロセッサ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09319657A true JPH09319657A (ja) | 1997-12-12 |
Family
ID=15211818
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8138004A Pending JPH09319657A (ja) | 1996-05-31 | 1996-05-31 | 命令読み込み用バッファを備えたプロセッサ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09319657A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6901500B1 (en) * | 2000-07-28 | 2005-05-31 | Silicon Graphics, Inc. | Method and apparatus for prefetching information and storing the information in a stream buffer |
| US7162585B2 (en) | 2003-01-08 | 2007-01-09 | Renesas Technology Corp. | Semiconductor memory device storing part of program designated by programmer, and software development apparatus for system using the same |
| JP2007534077A (ja) * | 2004-04-22 | 2007-11-22 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ値の多次元アレイへのパラレルなアクセスを提供するデータ処理装置 |
| US7434023B2 (en) | 2005-07-27 | 2008-10-07 | Fujitsu Limited | Memory device |
| CN120353498A (zh) * | 2025-04-03 | 2025-07-22 | 摩尔线程智能科技(北京)股份有限公司 | 指令调度装置、处理器、芯片及电子设备 |
-
1996
- 1996-05-31 JP JP8138004A patent/JPH09319657A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6901500B1 (en) * | 2000-07-28 | 2005-05-31 | Silicon Graphics, Inc. | Method and apparatus for prefetching information and storing the information in a stream buffer |
| US7162585B2 (en) | 2003-01-08 | 2007-01-09 | Renesas Technology Corp. | Semiconductor memory device storing part of program designated by programmer, and software development apparatus for system using the same |
| JP2007534077A (ja) * | 2004-04-22 | 2007-11-22 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ値の多次元アレイへのパラレルなアクセスを提供するデータ処理装置 |
| US7434023B2 (en) | 2005-07-27 | 2008-10-07 | Fujitsu Limited | Memory device |
| CN120353498A (zh) * | 2025-04-03 | 2025-07-22 | 摩尔线程智能科技(北京)股份有限公司 | 指令调度装置、处理器、芯片及电子设备 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR920010950B1 (ko) | 컴퓨터 시스템과 정보 판독 및 데이타 전송방법 | |
| US5283883A (en) | Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput | |
| US6745309B2 (en) | Pipelined memory controller | |
| US5265236A (en) | Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode | |
| JP3289661B2 (ja) | キャッシュメモリシステム | |
| US5526508A (en) | Cache line replacing system for simultaneously storing data into read and write buffers having multiplexer which controls by counter value for bypassing read buffer | |
| US5251310A (en) | Method and apparatus for exchanging blocks of information between a cache memory and a main memory | |
| US20050114559A1 (en) | Method for efficiently processing DMA transactions | |
| JP3798049B2 (ja) | データメモリおよびその動作方法 | |
| US6363460B1 (en) | Memory paging control method | |
| US5987570A (en) | Performing overlapping burst memory accesses and interleaved memory accesses on cache misses | |
| JPH06318174A (ja) | キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法 | |
| JPH1196072A (ja) | メモリアクセス制御回路 | |
| JPH09319657A (ja) | 命令読み込み用バッファを備えたプロセッサ | |
| KR960007833B1 (ko) | 고속 페이지 모드 선택을 위한 방법 및 장치 | |
| US5809534A (en) | Performing a write cycle to memory in a multi-processor system | |
| US6119202A (en) | Method and apparatus to interleave level 1 data cache line fill data between system bus and level 2 data cache for improved processor performance | |
| EP0853283A1 (en) | Computer system with memory controller for burst transfer | |
| US6385687B2 (en) | Method and apparatus for simultaneously accessing the tag and data arrays of a memory device | |
| JP3130569B2 (ja) | キャッシュメモリのストア方式 | |
| US6141735A (en) | Performing a memory access cycle in a multi-processor computer system | |
| KR940001590B1 (ko) | 블럭읽기 및 쓰기에서의 메모리 엑세스 시간 단축장치 및 방법 | |
| JP3039391B2 (ja) | メモリシステム | |
| JP4220258B2 (ja) | ノンキャッシュ領域内高速メモリアクセス方法 | |
| JPH0793215A (ja) | 半導体記憶装置 |