JPH03288246A - 命令キャッシュメモリ - Google Patents
命令キャッシュメモリInfo
- Publication number
- JPH03288246A JPH03288246A JP2089954A JP8995490A JPH03288246A JP H03288246 A JPH03288246 A JP H03288246A JP 2089954 A JP2089954 A JP 2089954A JP 8995490 A JP8995490 A JP 8995490A JP H03288246 A JPH03288246 A JP H03288246A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- cache memory
- memory
- instructions
- address
- 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)
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は大容量の命令キャッシュメモリを内蔵し 複数
個の命令を同時に並列処理するマイクロプロセッサに利
用できるものであム 従来の技術 マイクロプロセッサの性能を向上させるための−つの手
法として大容量のキャッシュメモリが内蔵される傾向に
あム 大容量のキャッシュメモリを内蔵スるとキャッシ
ュメモリのヒツト率を上げることができ、その結果とし
てマイクロプロセッサが主記憶をアクセスする回数を大
幅に減らすことができるので性能の向上が計れも マイクロプロセッサに内蔵されるキャッシュメモリには
データキャッシュメモリと命令キャッシュメモリの2つ
があム 同一容量のキャッシュメモリの場合では一般的に命令キ
ャッシュのヒツト率の方がデータキャッシュのヒツト率
よりも高くなa これ(よ データに比べて命令の方が
局所性が高いことを意味していも マイクロプロセッサ
の性能を向上させるためのもう一つの手法として複数個
の命令を並列処理する傾向にあム 最近ではマイクロプ
ロセッサにレジスタ演算命令を実行する実行ユニットと
、メモリアクセス命令(例えばロード/ストア命令)を
実行する実行ユニットと、分岐などの制御命令を実行す
る実行ユニットと、浮動小数点演算を実行する実行ユニ
ットを有してそれらの実行ユニットが並列処理可能な構
成になるものが出現していも このようなマイクロプロ
セッサをスーパースケイラ一方式(5uperscal
ar)と呼んでいも発明が解決しようとする課題 上記スーパースケイラ一方式では命令の解読と各命令の
それぞれの処理を実行するためにどの命令をどの順番で
どの実行ユニットで実行させればよいかを判断するスケ
ジューリングを行なうためのマシンサイクルが必要であ
り、スケジューリング動作の高速化が難しく兎 本発明は上記の問題・点に鑑みてなされたもので、マイ
クロプロセッサに内蔵される大容量の命令キャッシュメ
モリに各命令毎に命令の種類を示す命令分類ビットを付
加することにより、複数個の命令を同時に並列処理でき
るマイクロプロセッサの命令の処理手順の決定(スケジ
ューリング)を高速に行なうことができる命令キャッシ
ュメモリを提供することを目的とすム 課題を解決するための手段 本発明(友 上記問題点を解決するた数 命令キャッシ
ュメモリのひとつのエントリに少なくともアドレスの一
部分で構成されるタグ部と、命令を格納するメモリ部と
、格納されている各命令単位毎に命令の種類を示す命令
分類ビットとを具備する命令キャッシュメモリであも 作用 本発明(友 上記構成により、マイクロプロセッサの実
行ユニットから命令キャッシュメモリに命令の供給を要
求して命令キャッシュメモリをアクセスした時に読み出
された命令がどのような処理を行なう命令であるかをあ
らかじめ分類できる命令分類ビットを同時に読み出し
直ちに命令分類ビットを用いてどの実行ユニットにどの
命令を供給すればよいかを判断する(スケジューリング
)ことができるのでマシンサイクルの高速化を実現する
ことができも 実施例 第1図は本発明の命令キャッシュメモリの1エントリの
構成図であも 第1図において、TAはタグ部分のアドレスVはエント
リが有効であるか無効であるかを示すための有効ビット
、 ■0はライン0に格納されている命令、COはライ
ンOに格納されている命令が複数個ある実行ユニットの
うちのどの実行ユニットで実行される命令であるかを指
定するための命令分類ビット、 ■1はライン1に格納
されている命令、C1はライン1に格納されている命令
が複数個ある実行ユニットのうちのどの実行ユニットで
実行される命令であるかを指定するための命令分類ビッ
ト、 工2はライン2に格納されている命令、C2はラ
イン2に格納されている命令が複数個ある実行ユニット
のうちのどの実行ユニットで実行される命令であるかを
指定するための命令分類ビット、 ■3はライン3に格
納されている命令、C3はライン3に格納されている命
令が複数個ある実行ユニットのうちのどの実行ユニット
で実行される命令であるかを指定するための命令分類ビ
ットであa これらで命令キャッシュの1エントリを構
成していも 上記の場合、タグ部分はタグアドレスTA
と有効ビットVとで構成してい& −4データ部分は
命令Iiと命令分類ビットC1とで構成していも 例えば マイクロプロセッサに複数個ある実行ユニット
がレジスタ演算命令実行ユニット、分岐実行ユニット、
メモリアクセス実行ユニット、浮動小数点加減算実行ユ
ニット、浮動小数点乗除算ユニットの5個の実行ユニッ
トを持っている場合に 命令分類ビットci (i=
o〜3)は命令工i (i=0〜3)が書き込まれる
ときく 書き込まれる命令がレジスタ演算命令であれば
命令分類ビットをCi=’l’にセットして書き込へ
分岐命令であれば命令分類ビットをC1==’2’にセ
ットして書き込へ メモリアクセス命令であれば命令分
類ビットをCi= 3’にセットして書き込へ 浮動
小数点加減算命令であれば命令分類ビットをc i==
j 、i #にセットして書き込へ 浮動小数点乗除
算命令であれば命令分類ビットをC1=j5jにセット
して書き込へ 命令セットアーキテクチャで定義されて
いない命令であれば命令分類ビットをCi=’O’にセ
ットして書き込む。
個の命令を同時に並列処理するマイクロプロセッサに利
用できるものであム 従来の技術 マイクロプロセッサの性能を向上させるための−つの手
法として大容量のキャッシュメモリが内蔵される傾向に
あム 大容量のキャッシュメモリを内蔵スるとキャッシ
ュメモリのヒツト率を上げることができ、その結果とし
てマイクロプロセッサが主記憶をアクセスする回数を大
幅に減らすことができるので性能の向上が計れも マイクロプロセッサに内蔵されるキャッシュメモリには
データキャッシュメモリと命令キャッシュメモリの2つ
があム 同一容量のキャッシュメモリの場合では一般的に命令キ
ャッシュのヒツト率の方がデータキャッシュのヒツト率
よりも高くなa これ(よ データに比べて命令の方が
局所性が高いことを意味していも マイクロプロセッサ
の性能を向上させるためのもう一つの手法として複数個
の命令を並列処理する傾向にあム 最近ではマイクロプ
ロセッサにレジスタ演算命令を実行する実行ユニットと
、メモリアクセス命令(例えばロード/ストア命令)を
実行する実行ユニットと、分岐などの制御命令を実行す
る実行ユニットと、浮動小数点演算を実行する実行ユニ
ットを有してそれらの実行ユニットが並列処理可能な構
成になるものが出現していも このようなマイクロプロ
セッサをスーパースケイラ一方式(5uperscal
ar)と呼んでいも発明が解決しようとする課題 上記スーパースケイラ一方式では命令の解読と各命令の
それぞれの処理を実行するためにどの命令をどの順番で
どの実行ユニットで実行させればよいかを判断するスケ
ジューリングを行なうためのマシンサイクルが必要であ
り、スケジューリング動作の高速化が難しく兎 本発明は上記の問題・点に鑑みてなされたもので、マイ
クロプロセッサに内蔵される大容量の命令キャッシュメ
モリに各命令毎に命令の種類を示す命令分類ビットを付
加することにより、複数個の命令を同時に並列処理でき
るマイクロプロセッサの命令の処理手順の決定(スケジ
ューリング)を高速に行なうことができる命令キャッシ
ュメモリを提供することを目的とすム 課題を解決するための手段 本発明(友 上記問題点を解決するた数 命令キャッシ
ュメモリのひとつのエントリに少なくともアドレスの一
部分で構成されるタグ部と、命令を格納するメモリ部と
、格納されている各命令単位毎に命令の種類を示す命令
分類ビットとを具備する命令キャッシュメモリであも 作用 本発明(友 上記構成により、マイクロプロセッサの実
行ユニットから命令キャッシュメモリに命令の供給を要
求して命令キャッシュメモリをアクセスした時に読み出
された命令がどのような処理を行なう命令であるかをあ
らかじめ分類できる命令分類ビットを同時に読み出し
直ちに命令分類ビットを用いてどの実行ユニットにどの
命令を供給すればよいかを判断する(スケジューリング
)ことができるのでマシンサイクルの高速化を実現する
ことができも 実施例 第1図は本発明の命令キャッシュメモリの1エントリの
構成図であも 第1図において、TAはタグ部分のアドレスVはエント
リが有効であるか無効であるかを示すための有効ビット
、 ■0はライン0に格納されている命令、COはライ
ンOに格納されている命令が複数個ある実行ユニットの
うちのどの実行ユニットで実行される命令であるかを指
定するための命令分類ビット、 ■1はライン1に格納
されている命令、C1はライン1に格納されている命令
が複数個ある実行ユニットのうちのどの実行ユニットで
実行される命令であるかを指定するための命令分類ビッ
ト、 工2はライン2に格納されている命令、C2はラ
イン2に格納されている命令が複数個ある実行ユニット
のうちのどの実行ユニットで実行される命令であるかを
指定するための命令分類ビット、 ■3はライン3に格
納されている命令、C3はライン3に格納されている命
令が複数個ある実行ユニットのうちのどの実行ユニット
で実行される命令であるかを指定するための命令分類ビ
ットであa これらで命令キャッシュの1エントリを構
成していも 上記の場合、タグ部分はタグアドレスTA
と有効ビットVとで構成してい& −4データ部分は
命令Iiと命令分類ビットC1とで構成していも 例えば マイクロプロセッサに複数個ある実行ユニット
がレジスタ演算命令実行ユニット、分岐実行ユニット、
メモリアクセス実行ユニット、浮動小数点加減算実行ユ
ニット、浮動小数点乗除算ユニットの5個の実行ユニッ
トを持っている場合に 命令分類ビットci (i=
o〜3)は命令工i (i=0〜3)が書き込まれる
ときく 書き込まれる命令がレジスタ演算命令であれば
命令分類ビットをCi=’l’にセットして書き込へ
分岐命令であれば命令分類ビットをC1==’2’にセ
ットして書き込へ メモリアクセス命令であれば命令分
類ビットをCi= 3’にセットして書き込へ 浮動
小数点加減算命令であれば命令分類ビットをc i==
j 、i #にセットして書き込へ 浮動小数点乗除
算命令であれば命令分類ビットをC1=j5jにセット
して書き込へ 命令セットアーキテクチャで定義されて
いない命令であれば命令分類ビットをCi=’O’にセ
ットして書き込む。
1エントリを上記のような構成にすることにより、マイ
クロプロセッサの実行ユニットから命令キャッシュメモ
リに命令の供給を要求して命令キャッシュメモリをアク
セスすることにより命令の読み出し動作と同時に命令の
種類を検出することができるのでどの実行ユニットで実
行すべき命令であるかが指定されも また 未定義命令
についても同時に検出できるので例外処理も高速に対応
できム qこでは 実行ユニットが5個ある場合につい
て想定しているので命令分類ビットは3ビツトで構成さ
れることになム 第1図では1エントリが4ラインで構成される場合を示
している力(lエントリのライン数が4ラインでない場
合にζよ ライン数に応じて各命令毎に命令分類ビット
を定義すれば同様の構成が可能であも 第2図は本発明の命令キャッシュメモリの搭載するマイ
クロプロセッサの主要部分のブロック構成図である。第
2図において、 1は命令キャッシュメモリ、 2は命
令レジス久 4は命令解読手段、6は命令セレク久 8
はスケジューリング論理手比 10、12、14、16
、18は実行ユニットである。命令キャッシュメモリ1
は4個の命令(IO,It、 I2. I3)を同
時に読み出して命令レジスタ2に転送す也 命令レジス
タ2の命令は命令解読手段4で演算のソース資源および
デスティネーション資源の解読を行ない使用するレジス
タアドレスRO,R1,R2,R3を生成していも レ
ジスタアドレスRO,R1,R2,R3および命令分類
ビットCo、 CI、 C2,C3はスケジューリ
ング論理手段8に人力されて、演算のソース資源および
デスティネーション資源の衝突(レジスタ干渉とも言う
)が発生していないかを検出して命令レジスタ2のどの
命令をどの実行ユニットに転送するばよいのかを選択す
るための制御信号Siを生成していも 制御N:’号S
iは命令セレクタ6に入力されて命令レジスタ2に格納
されている命令を選択的に実行ユニット10゜12、
14. 16. 18に転送していも 各実行ユニット
10. 12. 14. 16. 18では命令セレク
タ6から転送されてきた命令に対して実行を開始すも 例えば 命令レジスタ2に格納されている4個の命令が
レジスタ演算命令が2個と浮動小数点加減算命令と分岐
命令であるとすれば レジスタ演算実行ユニットは1個
のレジスタ演算命令しか実行できないので最大3命令を
同時に実行できることになム ここで(よ 供給される
命令数(命令レジスタ2が保持している命令数)に比べ
て実行ユニット数が多い場合について記述している力丈
基本的にはスケジューリング論理手段8が命令レジス
タ2に格納されている命令の組み合わせから並列に実行
できる命令がどれであるかを判定しているので最大4命
令並列に実行可能であa第3図は本発明の命令キャッシ
ュメモリの第1の実施例の具体的な構成を示すブロック
図であムここでGL 1命令を32ビツトの固定長と
し 書き込み動作では4命令毎にキャッシュメモリに書
き込まれて、読み出し動作では4命令毎に読み出せる場
合について説明すも 第3図において、 20はキヤ・ソシュメモリの主要部
分、 22はタグアドレスTAを格納しているメモリア
レイ、 24は有効ビットVを格納して0るメモリアレ
イ、 26−i(i=o〜3)は命令Iiを格納してい
るメモリアレイ、 28−i(i=0〜3)は命令分類
ビ・ソトCiを格納しているメモリアレイ、 30は行
デコーダ、 32、34.36、38は書き込みのため
のドライスティトノくッファ、40は書き込まれる命令
がどの実行ユニットで実行される命令であるかを検出し
て書き込まれる命令分類ビットを生成する論理手乳42
はタグアドレスTAとアドレスAの上位ビ・ソトを比較
する比較器 44はタグアドレスTAとアドレスAの上
位ビットとの比較結果と有効ビ・ントVとの論理積をと
り命令キャッシュメモリのヒ・ント信号HTを生成する
アンドゲート、46、48は命令キャッシュメモリのヒ
ツト時に読み出される命令RIi(i=o〜3)および
命令分類ビ・ントRCi (i=0〜3)を出力する
ためのトライスティトバッファであも 第4図(a)および(b)に第3図の書き込み動作およ
び読み出し動作の動作波形図を示す。第3図および第4
図(a)、 (b)を用いて書き込み動作および読み出
し動作について説明すも ただし ここでは命令キャッ
シュメモリの主要部分20にクロックPH1,PH2が
入力されてこれらのクロックに同期して動作している場
合について説明すも 最初に命令の書き込み動作(WRDがjHjの場合)で
は クロックPH1に同期してアドレスAが行デコーダ
30に入力されて選択すべき行アドレスNを確定してい
も クロックPH1の期間にはメモリアレイ22.24
.26.28をプリチャージ状態にしていも クロック
PH2では選択された行アドレスNに対応するワード線
W(N)が立ち上がりメモリセルをアクセスすも 書き
込まれる命令WIはクロックPH1に同期して転送され
て、クロックPH2の時にワード線W (N)により選
択されたメモリセルに書き込まれも この時にクロック
PH1に同期して転送された命令がどの実行ユニットで
実行される命令であるかを論理手段40で判定を行な(
\ その判定結果WC1をクロックPH2で命令分類ビ
ットCiとして書き込みを行なう。
クロプロセッサの実行ユニットから命令キャッシュメモ
リに命令の供給を要求して命令キャッシュメモリをアク
セスすることにより命令の読み出し動作と同時に命令の
種類を検出することができるのでどの実行ユニットで実
行すべき命令であるかが指定されも また 未定義命令
についても同時に検出できるので例外処理も高速に対応
できム qこでは 実行ユニットが5個ある場合につい
て想定しているので命令分類ビットは3ビツトで構成さ
れることになム 第1図では1エントリが4ラインで構成される場合を示
している力(lエントリのライン数が4ラインでない場
合にζよ ライン数に応じて各命令毎に命令分類ビット
を定義すれば同様の構成が可能であも 第2図は本発明の命令キャッシュメモリの搭載するマイ
クロプロセッサの主要部分のブロック構成図である。第
2図において、 1は命令キャッシュメモリ、 2は命
令レジス久 4は命令解読手段、6は命令セレク久 8
はスケジューリング論理手比 10、12、14、16
、18は実行ユニットである。命令キャッシュメモリ1
は4個の命令(IO,It、 I2. I3)を同
時に読み出して命令レジスタ2に転送す也 命令レジス
タ2の命令は命令解読手段4で演算のソース資源および
デスティネーション資源の解読を行ない使用するレジス
タアドレスRO,R1,R2,R3を生成していも レ
ジスタアドレスRO,R1,R2,R3および命令分類
ビットCo、 CI、 C2,C3はスケジューリ
ング論理手段8に人力されて、演算のソース資源および
デスティネーション資源の衝突(レジスタ干渉とも言う
)が発生していないかを検出して命令レジスタ2のどの
命令をどの実行ユニットに転送するばよいのかを選択す
るための制御信号Siを生成していも 制御N:’号S
iは命令セレクタ6に入力されて命令レジスタ2に格納
されている命令を選択的に実行ユニット10゜12、
14. 16. 18に転送していも 各実行ユニット
10. 12. 14. 16. 18では命令セレク
タ6から転送されてきた命令に対して実行を開始すも 例えば 命令レジスタ2に格納されている4個の命令が
レジスタ演算命令が2個と浮動小数点加減算命令と分岐
命令であるとすれば レジスタ演算実行ユニットは1個
のレジスタ演算命令しか実行できないので最大3命令を
同時に実行できることになム ここで(よ 供給される
命令数(命令レジスタ2が保持している命令数)に比べ
て実行ユニット数が多い場合について記述している力丈
基本的にはスケジューリング論理手段8が命令レジス
タ2に格納されている命令の組み合わせから並列に実行
できる命令がどれであるかを判定しているので最大4命
令並列に実行可能であa第3図は本発明の命令キャッシ
ュメモリの第1の実施例の具体的な構成を示すブロック
図であムここでGL 1命令を32ビツトの固定長と
し 書き込み動作では4命令毎にキャッシュメモリに書
き込まれて、読み出し動作では4命令毎に読み出せる場
合について説明すも 第3図において、 20はキヤ・ソシュメモリの主要部
分、 22はタグアドレスTAを格納しているメモリア
レイ、 24は有効ビットVを格納して0るメモリアレ
イ、 26−i(i=o〜3)は命令Iiを格納してい
るメモリアレイ、 28−i(i=0〜3)は命令分類
ビ・ソトCiを格納しているメモリアレイ、 30は行
デコーダ、 32、34.36、38は書き込みのため
のドライスティトノくッファ、40は書き込まれる命令
がどの実行ユニットで実行される命令であるかを検出し
て書き込まれる命令分類ビットを生成する論理手乳42
はタグアドレスTAとアドレスAの上位ビ・ソトを比較
する比較器 44はタグアドレスTAとアドレスAの上
位ビットとの比較結果と有効ビ・ントVとの論理積をと
り命令キャッシュメモリのヒ・ント信号HTを生成する
アンドゲート、46、48は命令キャッシュメモリのヒ
ツト時に読み出される命令RIi(i=o〜3)および
命令分類ビ・ントRCi (i=0〜3)を出力する
ためのトライスティトバッファであも 第4図(a)および(b)に第3図の書き込み動作およ
び読み出し動作の動作波形図を示す。第3図および第4
図(a)、 (b)を用いて書き込み動作および読み出
し動作について説明すも ただし ここでは命令キャッ
シュメモリの主要部分20にクロックPH1,PH2が
入力されてこれらのクロックに同期して動作している場
合について説明すも 最初に命令の書き込み動作(WRDがjHjの場合)で
は クロックPH1に同期してアドレスAが行デコーダ
30に入力されて選択すべき行アドレスNを確定してい
も クロックPH1の期間にはメモリアレイ22.24
.26.28をプリチャージ状態にしていも クロック
PH2では選択された行アドレスNに対応するワード線
W(N)が立ち上がりメモリセルをアクセスすも 書き
込まれる命令WIはクロックPH1に同期して転送され
て、クロックPH2の時にワード線W (N)により選
択されたメモリセルに書き込まれも この時にクロック
PH1に同期して転送された命令がどの実行ユニットで
実行される命令であるかを論理手段40で判定を行な(
\ その判定結果WC1をクロックPH2で命令分類ビ
ットCiとして書き込みを行なう。
次に命令の読み出し動作(WRDがjLlの場合)につ
いて説明すも クロックPH1に同期してアドレスAが
行デコーダ30に入力されて選択すべき行アドレスを確
定していも クロックPH1の期間にはメモリアレイ2
2、24、26、28をプリチャージ状態にしている。
いて説明すも クロックPH1に同期してアドレスAが
行デコーダ30に入力されて選択すべき行アドレスを確
定していも クロックPH1の期間にはメモリアレイ2
2、24、26、28をプリチャージ状態にしている。
クロックPH2では選択された行アドレスNに対応する
ワード線W (N)が立ち上がりメモリセルをアクセス
す也 読み出されたタグアドレスTAはアドレスAの上
位ビットと比較器42で比較されも 比較器42の出力
はタグアドレスTAとアドレスAの上位ビットが一致し
ていればPH1を出力し 不一致ならば′L′を出力す
ム アンドゲート44では比較器42の出力と有効ビットV
との論理積がとられてヒツト信号HTが生成されも ヒ
ツト信号HTはタグアドレスTAとアドレスAの上位ビ
ットが一致し かス 選択されたエントリが有効ならば
IHIとなりトライスティトバッファ46、48をイネ
ーブル状態にして、命令レジスタ2およびスケジューリ
ング論理手段8に命令RIiと命令分類ビットRCiを
転送する。
ワード線W (N)が立ち上がりメモリセルをアクセス
す也 読み出されたタグアドレスTAはアドレスAの上
位ビットと比較器42で比較されも 比較器42の出力
はタグアドレスTAとアドレスAの上位ビットが一致し
ていればPH1を出力し 不一致ならば′L′を出力す
ム アンドゲート44では比較器42の出力と有効ビットV
との論理積がとられてヒツト信号HTが生成されも ヒ
ツト信号HTはタグアドレスTAとアドレスAの上位ビ
ットが一致し かス 選択されたエントリが有効ならば
IHIとなりトライスティトバッファ46、48をイネ
ーブル状態にして、命令レジスタ2およびスケジューリ
ング論理手段8に命令RIiと命令分類ビットRCiを
転送する。
一人 タグアドレスTAとアドレスAの上位ビットが不
一致である力\ また(よ 選択されたエントリが無効
ならばILIとなりトライスティトバッファ46、48
をディセーブル状態にして、命令レジスタ2およびスケ
ジューリング論理手段8に命令RIiと命令分類ビット
RCiを転送しないようにしていも このとき、キャッ
シュはミスヒツト状態であるためエントリの置換をおこ
なわなければならな(t な耘 上記の説明ではタグアドレスTAとアドレスAの
上位ビットが一致している場合(WRTがjLjの場合
もしくはキャッシュメモリがヒット状態)について説明
した力(キャッシュがミスヒツト状態ではエントリの置
換が行なわれて後にキャッシュアクセスが実行されも
エントリの置換には置換アルゴリズムによって選択され
たエントリにタグアドレスTAと有効ビットV (V=
H’)が書き込まれも このとき、WRTが′H′とな
っていも また 上記の実施例ではダイレクトマツプ方
式の場合について説明を行なったがセットアソシェイテ
ィブ方式の場合でも同様のことが実現できるのは言うま
でもなし一 発明の効果 以上の説明から明らかなようく 本発明によれば スー
パースケイラ一方式のマイクロプロセッサに内蔵されて
いる命令キャッシュメモリが命令をメモリセルに書き込
むときく格納するとき)に書き込まれる命令がどの実行
ユニットで実行される命令かを判定して命令分類ビット
に格納すもマイクロプロセッサの実行ユニットから命令
キャッシュメモリに命令の供給を要求して命令キャッシ
ュメモリをアクセスし ヒツトしたときに格納されてい
る命令と命令分類ビットの情報を命令レジスタおよびス
ケジューリング論理手段に転送して、命令分類ビットの
値に応じて各実行ユニットで命令を実行すム スーパー
スケイラ一方式では命令をキャッシュメモリから読み出
してから命令の分類を行なわなければならない力又 本
発明では命令分類ビットを命令と同時に読み出すことが
できるので直ちに各実行ユニット毎に処理が実行できる
ようになも これによってマイクロプロセッサ内部のク
リティカルパスの改善をはかることができ、マシンサイ
クルを向上させてマイクロプロセッサの高速動作および
性能向上が実現できも
一致である力\ また(よ 選択されたエントリが無効
ならばILIとなりトライスティトバッファ46、48
をディセーブル状態にして、命令レジスタ2およびスケ
ジューリング論理手段8に命令RIiと命令分類ビット
RCiを転送しないようにしていも このとき、キャッ
シュはミスヒツト状態であるためエントリの置換をおこ
なわなければならな(t な耘 上記の説明ではタグアドレスTAとアドレスAの
上位ビットが一致している場合(WRTがjLjの場合
もしくはキャッシュメモリがヒット状態)について説明
した力(キャッシュがミスヒツト状態ではエントリの置
換が行なわれて後にキャッシュアクセスが実行されも
エントリの置換には置換アルゴリズムによって選択され
たエントリにタグアドレスTAと有効ビットV (V=
H’)が書き込まれも このとき、WRTが′H′とな
っていも また 上記の実施例ではダイレクトマツプ方
式の場合について説明を行なったがセットアソシェイテ
ィブ方式の場合でも同様のことが実現できるのは言うま
でもなし一 発明の効果 以上の説明から明らかなようく 本発明によれば スー
パースケイラ一方式のマイクロプロセッサに内蔵されて
いる命令キャッシュメモリが命令をメモリセルに書き込
むときく格納するとき)に書き込まれる命令がどの実行
ユニットで実行される命令かを判定して命令分類ビット
に格納すもマイクロプロセッサの実行ユニットから命令
キャッシュメモリに命令の供給を要求して命令キャッシ
ュメモリをアクセスし ヒツトしたときに格納されてい
る命令と命令分類ビットの情報を命令レジスタおよびス
ケジューリング論理手段に転送して、命令分類ビットの
値に応じて各実行ユニットで命令を実行すム スーパー
スケイラ一方式では命令をキャッシュメモリから読み出
してから命令の分類を行なわなければならない力又 本
発明では命令分類ビットを命令と同時に読み出すことが
できるので直ちに各実行ユニット毎に処理が実行できる
ようになも これによってマイクロプロセッサ内部のク
リティカルパスの改善をはかることができ、マシンサイ
クルを向上させてマイクロプロセッサの高速動作および
性能向上が実現できも
第1図は本発明の命令キャッシュメモリの1エントリの
構成艮 第2図は本発明の命令キャッシュを搭載したマ
イクロプロセッサの主要な部分のブロック医 第3図は
本発明の第1の実施例の命令キャッシュメモリの構成を
示すブロック医 第4図(a)は本発明の第1の実施例
の命令キャッシュメモリの書き込み動作を示す動作波形
図 第4図(b)は本発明の第1の実施例の命令キャッ
シュメモリの読み出し動作を示す動作波形図であム ト・・命令キャッジみ 2・・・命令レジス久 4・・
・命令解読手段、 6・・・命令セレク久 8・・・ス
ケジューリング論理平成 10,12.14,16.1
8・・・実行ユニット、 20・・・命令キャッシュメ
モリの主要部分、 22.24,26.28・・・メモ
リアレイ、 30・・・行デコーダ、 32,34.3
6.38・・・書き込み用トライスティトバッファ、
40・・・命令分類ビットを生成するための論理手既
42・・・比較器 44・・・アンドゲート、 46.
48・・・読み出し用トライスティトバッファ。
構成艮 第2図は本発明の命令キャッシュを搭載したマ
イクロプロセッサの主要な部分のブロック医 第3図は
本発明の第1の実施例の命令キャッシュメモリの構成を
示すブロック医 第4図(a)は本発明の第1の実施例
の命令キャッシュメモリの書き込み動作を示す動作波形
図 第4図(b)は本発明の第1の実施例の命令キャッ
シュメモリの読み出し動作を示す動作波形図であム ト・・命令キャッジみ 2・・・命令レジス久 4・・
・命令解読手段、 6・・・命令セレク久 8・・・ス
ケジューリング論理平成 10,12.14,16.1
8・・・実行ユニット、 20・・・命令キャッシュメ
モリの主要部分、 22.24,26.28・・・メモ
リアレイ、 30・・・行デコーダ、 32,34.3
6.38・・・書き込み用トライスティトバッファ、
40・・・命令分類ビットを生成するための論理手既
42・・・比較器 44・・・アンドゲート、 46.
48・・・読み出し用トライスティトバッファ。
Claims (4)
- (1)命令キャッシュメモリのひとつのエントリに少な
くともアドレスの一部分で構成されるタグ部と、命令を
格納するメモリ部と、格納されている各命令単位毎に命
令の種類を示す命令分類ビットとを具備することを特徴
とする命令キャッシュメモリ。 - (2)1命令のビット長が固定されている場合に、命令
キャッシュメモリのひとつのエントリに少なくともアド
レスの一部分で構成されるタグ部と、複数個の命令を格
納するメモリ部と、格納されている各命令単位毎に命令
の種類を示す命令分類ビットとを具備することを特徴と
する命令キャッシュメモリ。 - (3)1命令のビット長が固定されている場合に、命令
キャッシュメモリのひとつのエントリに少なくともアド
レスの一部分で構成されるタグ部と、複数個の命令を格
納するメモリ部と、格納されている各命令単位毎に命令
の種類を示す命令分類ビットとを具備し、メモリ部へ命
令を格納するときに前記命令分類ビットを生成すること
を特徴とする命令キャッシュメモリ。 - (4)複数個の命令を同時に並列処理できるマイクロプ
ロセッサにおいて、命令キャッシュメモリのひとつのエ
ントリに少なくともアドレスの一部分で構成されるタグ
部と、命令を格納するメモリ部と、格納されている命令
のうちの同時に並列処理される命令毎に命令の種類を示
す命令分類ビットとを具備することを特徴とする命令キ
ャッシュメモリ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2089954A JPH03288246A (ja) | 1990-04-04 | 1990-04-04 | 命令キャッシュメモリ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2089954A JPH03288246A (ja) | 1990-04-04 | 1990-04-04 | 命令キャッシュメモリ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03288246A true JPH03288246A (ja) | 1991-12-18 |
Family
ID=13985090
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2089954A Pending JPH03288246A (ja) | 1990-04-04 | 1990-04-04 | 命令キャッシュメモリ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03288246A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7424598B2 (en) | 1988-11-11 | 2008-09-09 | Renesas Technology Corp. | Data processor |
| CN113994320A (zh) * | 2019-07-31 | 2022-01-28 | 美光科技公司 | 用于推测性和普通执行的扩展标签 |
| EP4004748A4 (en) * | 2019-07-31 | 2023-08-16 | Micron Technology, Inc. | Cache with set associativity having data defined cache sets |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5788587A (en) * | 1980-11-17 | 1982-06-02 | Ibm | Information processing system |
-
1990
- 1990-04-04 JP JP2089954A patent/JPH03288246A/ja active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5788587A (en) * | 1980-11-17 | 1982-06-02 | Ibm | Information processing system |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7424598B2 (en) | 1988-11-11 | 2008-09-09 | Renesas Technology Corp. | Data processor |
| CN113994320A (zh) * | 2019-07-31 | 2022-01-28 | 美光科技公司 | 用于推测性和普通执行的扩展标签 |
| KR20220024893A (ko) * | 2019-07-31 | 2022-03-03 | 마이크론 테크놀로지, 인크. | 추측 실행과 일반 실행을 위한 확장 태그 |
| EP4004745A4 (en) * | 2019-07-31 | 2023-08-16 | Micron Technology, Inc. | Extended tags for speculative and normal executions |
| EP4004748A4 (en) * | 2019-07-31 | 2023-08-16 | Micron Technology, Inc. | Cache with set associativity having data defined cache sets |
| US12019555B2 (en) | 2019-07-31 | 2024-06-25 | Micron Technology, Inc. | Cache with set associativity having data defined cache sets |
| CN113994320B (zh) * | 2019-07-31 | 2025-08-22 | 美光科技公司 | 用于推测性和普通执行的扩展标签 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5559986A (en) | Interleaved cache for multiple accesses per clock cycle in a microprocessor | |
| US5752260A (en) | High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses | |
| EP3570286B1 (en) | Apparatus for simultaneous read and precharge of a memory | |
| US6356990B1 (en) | Set-associative cache memory having a built-in set prediction array | |
| US7073026B2 (en) | Microprocessor including cache memory supporting multiple accesses per cycle | |
| KR100278328B1 (ko) | 캐시 미스 버퍼 | |
| GB2292822A (en) | Partitioned cache memory | |
| JPH0342745A (ja) | 複数キャッシュ・メモリ・アクセス方法 | |
| US5924121A (en) | Adaptive writeback of cache line data in a computer operated with burst mode transfer cycles | |
| JP3641031B2 (ja) | 命令装置 | |
| US5450565A (en) | Circuit and method for selecting a set in a set associative cache | |
| JP4395511B2 (ja) | マルチcpuシステムのメモリアクセス性能を改善する方法及び装置 | |
| US20030163643A1 (en) | Bank conflict determination | |
| JPH06314195A (ja) | 記憶装置 | |
| US5452427A (en) | Data processing device for variable word length instruction system having short instruction execution time and small occupancy area | |
| US8898436B2 (en) | Method and structure for solving the evil-twin problem | |
| US20060168393A1 (en) | Apparatus and method for dependency tracking and register file bypass controls using a scannable register file | |
| US5687353A (en) | Merging data using a merge code from a look-up table and performing ECC generation on the merged data | |
| US4949242A (en) | Microcomputer capable of accessing continuous addresses for a short time | |
| US5854943A (en) | Speed efficient cache output selector circuitry based on tag compare and data organization | |
| US20080244224A1 (en) | Scheduling a direct dependent instruction | |
| JPH0845275A (ja) | メモリリード/ライト制御方法およびその方法を使用したメモリ装置 | |
| JPH02304650A (ja) | パイプライン方式のマイクロプロセッサ | |
| EP0726524A2 (en) | Protocol and system for performing line-fill addressing during copy-back operation | |
| US7577791B2 (en) | Virtualized load buffers |