JP2646854B2 - マイクロプロセッサ - Google Patents
マイクロプロセッサInfo
- Publication number
- JP2646854B2 JP2646854B2 JP2403205A JP40320590A JP2646854B2 JP 2646854 B2 JP2646854 B2 JP 2646854B2 JP 2403205 A JP2403205 A JP 2403205A JP 40320590 A JP40320590 A JP 40320590A JP 2646854 B2 JP2646854 B2 JP 2646854B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- data
- byte
- cache memory
- bytes
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0886—Variable-length word access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Bus Control (AREA)
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は異なるバス幅の複数の外
部バスと複数ウェイを有する内蔵キャッシュメモリとを
持つマイクロプロセッサに関し、特に異なるバス幅の外
部バスによるキャッシュメモリへの命令及びデータの取
り込みをバスモードに応じてウェイ数又はエントリ数を
切換えて行うマイクロプロセッサに関する。
部バスと複数ウェイを有する内蔵キャッシュメモリとを
持つマイクロプロセッサに関し、特に異なるバス幅の外
部バスによるキャッシュメモリへの命令及びデータの取
り込みをバスモードに応じてウェイ数又はエントリ数を
切換えて行うマイクロプロセッサに関する。
【0002】
【従来の技術】通常マイクロプロセッサでは、外部メモ
リ上のプログラム(命令とデータ)を処理するために、
外部メモリ上に命令及びデータを外部バスを通してマイ
クロプロセッサ内に取り込まなければならない。その際
にマイクロプロセッサ内でのプログラムの処理時間に対
して、外部メモリのアクセス速度が遅い場合、遅いアク
セス速度を見かけ上向上させたいとき並びにマイクロプ
ロセッサからの命令及びデータ取り込み要求を減少させ
たいときは、マイクロプロセッサ内に内蔵キャッシュメ
モリを持つことが多い。キャッシュメモリとは、比較的
高速なメモリセルで構成された記憶回路であり、これを
内蔵し、一回取り込まれた命令及びデータをキャッシュ
メモリに記憶させることにより、二回目からはマイクロ
プロセッサは外部メモリをアクセスする必要がなくな
り、キャッシュメモリをアクセスするだけで必要な命令
及びデータを得ることができる。しかし、はじめて命令
及びデータを取り込む場合及び、キャッシュメモリの記
憶領域がすべて使われ、命令及びデータの書換えが必要
な場合は、外部バスを通して外部メモリから命令及びデ
ータを取り込まなければならない。
リ上のプログラム(命令とデータ)を処理するために、
外部メモリ上に命令及びデータを外部バスを通してマイ
クロプロセッサ内に取り込まなければならない。その際
にマイクロプロセッサ内でのプログラムの処理時間に対
して、外部メモリのアクセス速度が遅い場合、遅いアク
セス速度を見かけ上向上させたいとき並びにマイクロプ
ロセッサからの命令及びデータ取り込み要求を減少させ
たいときは、マイクロプロセッサ内に内蔵キャッシュメ
モリを持つことが多い。キャッシュメモリとは、比較的
高速なメモリセルで構成された記憶回路であり、これを
内蔵し、一回取り込まれた命令及びデータをキャッシュ
メモリに記憶させることにより、二回目からはマイクロ
プロセッサは外部メモリをアクセスする必要がなくな
り、キャッシュメモリをアクセスするだけで必要な命令
及びデータを得ることができる。しかし、はじめて命令
及びデータを取り込む場合及び、キャッシュメモリの記
憶領域がすべて使われ、命令及びデータの書換えが必要
な場合は、外部バスを通して外部メモリから命令及びデ
ータを取り込まなければならない。
【0003】この場合、外部メモリからの命令及びデー
タの取り込みは、ブロック転送で行われる。ブロックと
は、命令及びデータが記憶されている外部メモリ上の領
域を分割した最小単位を示しており、通常ブロックは外
部バス幅の4倍である16バイトか、又は32バイト単位に
分割されている。ブロック転送とは、そのブロック単位
に内蔵キャッシュメモリに外部メモリ上の命令及びデー
タを取り込む手法である。図8にブロック転送を行う場
合のタイミングチャートを示す。C1,C2,C3,C4,C5,C6,C7
はそれぞれ1クロックサイクルを示しており、1つのア
ドレスに対して1クロック毎に4バイト又は8バイト転
送するバースト転送に7クロックサイクルかかることを
示している。まず、クロックC1においてキャッシュメモ
リのタグとアドレスとを比較し、比較した結果キャッシ
ュミス信号が出力されるとブロック転送処理が始まる。
キャッシュミス信号と同時に外部アドレスバスに取り込
みたい外部メモリ上の命令及びデータのアドレスが出力
され、バスアクセスが開始されたことを示すバスアクノ
リッジ信号が返ってくる。クロックC2から外部メモリと
のアクセスが開始され、2クロック後のクロックC4の立
ち上がりまでにバスエンド信号と命令及びデータとが入
力される。その後クロックC5,C6,C7の立ち上がりまでに
連続して命令及びデータが取り込まれる。4回のメモリ
アクセスを連続して行うことによりラインバッファに命
令がセットされクロックC7の期間にキャッシュメモリに
書き込まれる。このようにブロック転送では外部バス幅
が4バイトであれば16バイトが取り込まれ、8バイトで
あれば32バイトが取り込まれる。
タの取り込みは、ブロック転送で行われる。ブロックと
は、命令及びデータが記憶されている外部メモリ上の領
域を分割した最小単位を示しており、通常ブロックは外
部バス幅の4倍である16バイトか、又は32バイト単位に
分割されている。ブロック転送とは、そのブロック単位
に内蔵キャッシュメモリに外部メモリ上の命令及びデー
タを取り込む手法である。図8にブロック転送を行う場
合のタイミングチャートを示す。C1,C2,C3,C4,C5,C6,C7
はそれぞれ1クロックサイクルを示しており、1つのア
ドレスに対して1クロック毎に4バイト又は8バイト転
送するバースト転送に7クロックサイクルかかることを
示している。まず、クロックC1においてキャッシュメモ
リのタグとアドレスとを比較し、比較した結果キャッシ
ュミス信号が出力されるとブロック転送処理が始まる。
キャッシュミス信号と同時に外部アドレスバスに取り込
みたい外部メモリ上の命令及びデータのアドレスが出力
され、バスアクセスが開始されたことを示すバスアクノ
リッジ信号が返ってくる。クロックC2から外部メモリと
のアクセスが開始され、2クロック後のクロックC4の立
ち上がりまでにバスエンド信号と命令及びデータとが入
力される。その後クロックC5,C6,C7の立ち上がりまでに
連続して命令及びデータが取り込まれる。4回のメモリ
アクセスを連続して行うことによりラインバッファに命
令がセットされクロックC7の期間にキャッシュメモリに
書き込まれる。このようにブロック転送では外部バス幅
が4バイトであれば16バイトが取り込まれ、8バイトで
あれば32バイトが取り込まれる。
【0004】図9は異なるバス幅を持つ外部バスと内蔵
キャッシュメモリとを備える従来のマイクロプロセッサ
の構成を示すブロック図である。図において11はマイク
ロプロセッサであり、該マイクロプロセッサ11は2ウェ
イ,ラインサイズ32バイトのキャッシュメモリ12a,12b
を備えている。キャッシュメモリ12a,12b は夫々30ビッ
トのアドレス信号の上位24ビットのタグを格納するタグ
部とアドレス信号が示す外部メモリ40内のアドレスに格
納された命令又はデータを格納する16バイトのデータ部
とからなり、バスモードが4バイトモードのとき夫々が
同一エントリでアクセスされる2ウェイセットアソシア
ティブ方式で動作する。
キャッシュメモリとを備える従来のマイクロプロセッサ
の構成を示すブロック図である。図において11はマイク
ロプロセッサであり、該マイクロプロセッサ11は2ウェ
イ,ラインサイズ32バイトのキャッシュメモリ12a,12b
を備えている。キャッシュメモリ12a,12b は夫々30ビッ
トのアドレス信号の上位24ビットのタグを格納するタグ
部とアドレス信号が示す外部メモリ40内のアドレスに格
納された命令又はデータを格納する16バイトのデータ部
とからなり、バスモードが4バイトモードのとき夫々が
同一エントリでアクセスされる2ウェイセットアソシア
ティブ方式で動作する。
【0005】マイクロプロセッサ11は4バイト幅又は8
バイト幅の外部バス8又は同9を介して外部メモリ(図
示せず)から命令及びデータを取り込む。外部バス8は
8バイト幅の内部データバス10の上位4バイトのデータ
バス10a に接続され、外部バス9は上位4バイトのデー
タバス10a 及び下位4バイトのデータバス10b に接続さ
れている。内部データバス10の上位4バイトのデータバ
ス10a は経路14を介して32バイト幅のラインバッファ13
に接続され、下位4バイトのデータバス10b は経路15を
介してラインバッファ13に接続されている。ラインバッ
ファ13はキャッシュメモリ12a,12b と同一ラインサイズ
となっており、4バイト又は8バイトの命令又はデータ
をブロック転送分のバイト数だけセットする。ラインバ
ッファ13は取り込まれた16バイトの命令及びデータを経
路16a,16b を介してキャッシュメモリ12a,12b に各別に
書き込む。また32バイトの命令及びデータを経路17a,17
bを介してキャッシュメモリ12a,12b に各別に書き込
む。
バイト幅の外部バス8又は同9を介して外部メモリ(図
示せず)から命令及びデータを取り込む。外部バス8は
8バイト幅の内部データバス10の上位4バイトのデータ
バス10a に接続され、外部バス9は上位4バイトのデー
タバス10a 及び下位4バイトのデータバス10b に接続さ
れている。内部データバス10の上位4バイトのデータバ
ス10a は経路14を介して32バイト幅のラインバッファ13
に接続され、下位4バイトのデータバス10b は経路15を
介してラインバッファ13に接続されている。ラインバッ
ファ13はキャッシュメモリ12a,12b と同一ラインサイズ
となっており、4バイト又は8バイトの命令又はデータ
をブロック転送分のバイト数だけセットする。ラインバ
ッファ13は取り込まれた16バイトの命令及びデータを経
路16a,16b を介してキャッシュメモリ12a,12b に各別に
書き込む。また32バイトの命令及びデータを経路17a,17
bを介してキャッシュメモリ12a,12b に各別に書き込
む。
【0006】次に、このように構成された従来のマイク
ロプロセッサの内蔵キャッシュメモリ12a,12b への取り
込み動作について説明する。まず、8バイト外部バス9
から命令及びデータを取り込む場合(以下8バイトバス
モードと呼ぶ)について説明する。キャッシュメモリ12
a,12b のタグ比較部 (図示せず) からキャッシュミス信
号が出力されるとブロック転送のシーケンスが開始され
る。ブロック転送時には、8バイト幅の外部バス9から
外部メモリ上の命令及びデータが、内部データバス10の
上位4バイトのデータバス10a,下位4バイトのデータバ
ス10b にそれぞれ入力される。内部データバス10に入力
された8バイトの命令及びデータは、経路14,15 を通っ
てラインバッファ13に取り込まれる。ブロック転送によ
り、8バイトの4倍の32バイトの命令及びデータが4ク
ロックでラインバッファ13にセットされる。そして、あ
るときは経路17a を通って、またあるときは経路17b を
通って、ウェイ0のキャッシュメモリ12a の例えばエン
トリ12のデータ部又はウェイ1のキャッシュメモリ12b
の例えばエントリ12のデータ部に登録される。1回のブ
ロック転送で登録される命令及びデータは32バイトであ
るのでキャッシュメモリ12a,12b の1つのウェイのライ
ンサイズも32バイトとなっている。これらのデータは独
立しているのでウェイ0のエントリ12のタグB,同1の
エントリ12のタグDは異なる値で登録されている。この
ようなキャッシュメモリの構成では、8バイトバスモー
ドで2ウェイセットアソシアティブとして動作する。
ロプロセッサの内蔵キャッシュメモリ12a,12b への取り
込み動作について説明する。まず、8バイト外部バス9
から命令及びデータを取り込む場合(以下8バイトバス
モードと呼ぶ)について説明する。キャッシュメモリ12
a,12b のタグ比較部 (図示せず) からキャッシュミス信
号が出力されるとブロック転送のシーケンスが開始され
る。ブロック転送時には、8バイト幅の外部バス9から
外部メモリ上の命令及びデータが、内部データバス10の
上位4バイトのデータバス10a,下位4バイトのデータバ
ス10b にそれぞれ入力される。内部データバス10に入力
された8バイトの命令及びデータは、経路14,15 を通っ
てラインバッファ13に取り込まれる。ブロック転送によ
り、8バイトの4倍の32バイトの命令及びデータが4ク
ロックでラインバッファ13にセットされる。そして、あ
るときは経路17a を通って、またあるときは経路17b を
通って、ウェイ0のキャッシュメモリ12a の例えばエン
トリ12のデータ部又はウェイ1のキャッシュメモリ12b
の例えばエントリ12のデータ部に登録される。1回のブ
ロック転送で登録される命令及びデータは32バイトであ
るのでキャッシュメモリ12a,12b の1つのウェイのライ
ンサイズも32バイトとなっている。これらのデータは独
立しているのでウェイ0のエントリ12のタグB,同1の
エントリ12のタグDは異なる値で登録されている。この
ようなキャッシュメモリの構成では、8バイトバスモー
ドで2ウェイセットアソシアティブとして動作する。
【0007】次に、4バイト外部バス8から命令及びデ
ータを取り込む場合(以下4バイトバスモードと呼ぶ)
の動作について説明する。ブロック転送時には、4バイ
トバス幅の外部バス8から外部メモリ上の命令及びデー
タが、内部データバス10の上位4バイトのデータバス10
a のみに入力される。8バイトバスモードと同様に1回
のブロック転送により取り込む場合、経路14を通って内
部データバス10の上位4バイトのデータバス10a の4倍
の16バイトの命令及びデータがラインバッファ13にセッ
トされる。この場合、ラインバッファ13は32バイト必要
なく、16バイトのみ使用することになる。すなわち、図
9の斜線で示す16バイトの部分は4バイト外部バス経路
の場合は未使用である。そして、あるときは経路16a を
通って、またあるときは経路16b を通ってウェイ0のキ
ャッシュメモリ12a の例えばエントリ10のデータ部又は
ウェイ1のキャッシュメモリ12b の例えばエントリ10の
データ部に登録される。取り込まれる命令及びデータは
16バイトであるので、キャッシュメモリ12a,12b のライ
ンサイズは32バイト必要なく16バイトのみ使用すること
になる。同様に図9の斜線で示す16バイトの部分は4バ
イトバスモードの場合は不必要になる。これらのデータ
も独立であるのでウェイ0のエントリ10のタグA,ウェ
イ1のエントリ10のタグCは異なる値で登録されてい
る。また、4バイトバスモードにおいて32バイトのライ
ンサイズすべてを使用する場合、2回のブロック転送が
必要になる。つまり、16バイトの命令及びデータを2回
取り込むことにより32バイトのラインサイズ全てに書き
込まれる。しかし、ブロック転送が1回多い分だけ取り
込みに時間がかかることになる。従来のマイクロプロセ
ッサでは8バイトバスモードと同様に4バイトバスモー
ドでも2ウェイセットアソシアティブで動作することに
なる。
ータを取り込む場合(以下4バイトバスモードと呼ぶ)
の動作について説明する。ブロック転送時には、4バイ
トバス幅の外部バス8から外部メモリ上の命令及びデー
タが、内部データバス10の上位4バイトのデータバス10
a のみに入力される。8バイトバスモードと同様に1回
のブロック転送により取り込む場合、経路14を通って内
部データバス10の上位4バイトのデータバス10a の4倍
の16バイトの命令及びデータがラインバッファ13にセッ
トされる。この場合、ラインバッファ13は32バイト必要
なく、16バイトのみ使用することになる。すなわち、図
9の斜線で示す16バイトの部分は4バイト外部バス経路
の場合は未使用である。そして、あるときは経路16a を
通って、またあるときは経路16b を通ってウェイ0のキ
ャッシュメモリ12a の例えばエントリ10のデータ部又は
ウェイ1のキャッシュメモリ12b の例えばエントリ10の
データ部に登録される。取り込まれる命令及びデータは
16バイトであるので、キャッシュメモリ12a,12b のライ
ンサイズは32バイト必要なく16バイトのみ使用すること
になる。同様に図9の斜線で示す16バイトの部分は4バ
イトバスモードの場合は不必要になる。これらのデータ
も独立であるのでウェイ0のエントリ10のタグA,ウェ
イ1のエントリ10のタグCは異なる値で登録されてい
る。また、4バイトバスモードにおいて32バイトのライ
ンサイズすべてを使用する場合、2回のブロック転送が
必要になる。つまり、16バイトの命令及びデータを2回
取り込むことにより32バイトのラインサイズ全てに書き
込まれる。しかし、ブロック転送が1回多い分だけ取り
込みに時間がかかることになる。従来のマイクロプロセ
ッサでは8バイトバスモードと同様に4バイトバスモー
ドでも2ウェイセットアソシアティブで動作することに
なる。
【0008】
【発明が解決しようとする課題】このように複数の外部
バスを持つマイクロプロセッサでは(例えば命令バス幅
4バイト,データバス幅8バイト)、キャッシュメモリ
に命令及びデータをブロック転送でとりこむ場合に外部
バス幅の多い方(例えば8バイト)の4倍にキャッシュ
メモリのラインサイズを合わせておくため、少ないバス
幅の外部バスから命令及びデータを取り込む場合はキャ
ッシュメモリに未使用部分が発生し、メモリ空間に無駄
が生じたり、ブロック転送サイクルが複数回必要にな
り、ブロック転送時間が長くなるという問題があった。
この発明は上記のような問題点を解決するためになされ
たものであり、バスモードによりウェイ数又はエントリ
数を切り換えることにより、複数の外部バス幅を持つマ
イクロプロセッサのキャッシュメモリ未使用部分をなく
し単一のブロック転送で外部メモリからの命令及びデー
タの取り込みを行い、データ部の使用効率を高め、高速
でブロック転送できるマイクロプロセッサを提供するこ
とを目的とする。
バスを持つマイクロプロセッサでは(例えば命令バス幅
4バイト,データバス幅8バイト)、キャッシュメモリ
に命令及びデータをブロック転送でとりこむ場合に外部
バス幅の多い方(例えば8バイト)の4倍にキャッシュ
メモリのラインサイズを合わせておくため、少ないバス
幅の外部バスから命令及びデータを取り込む場合はキャ
ッシュメモリに未使用部分が発生し、メモリ空間に無駄
が生じたり、ブロック転送サイクルが複数回必要にな
り、ブロック転送時間が長くなるという問題があった。
この発明は上記のような問題点を解決するためになされ
たものであり、バスモードによりウェイ数又はエントリ
数を切り換えることにより、複数の外部バス幅を持つマ
イクロプロセッサのキャッシュメモリ未使用部分をなく
し単一のブロック転送で外部メモリからの命令及びデー
タの取り込みを行い、データ部の使用効率を高め、高速
でブロック転送できるマイクロプロセッサを提供するこ
とを目的とする。
【0009】
【課題を解決するための手段】本発明に係る第1の発明
のマイクロプロセッサはキャッシュメモリのウェイ数を
バスモードに応じて切り換えるようにし、切り換えられ
たウェイ数に応じてキャッシュメモリをアクセスするよ
うにしたものであり、第2の発明のマイクロプロセッサ
はキャッシュメモリのエントリ数をバスモードに応じて
切り換えるようにし、切り換えられたエントリ数に応じ
てキャッシュメモリをアクセスするようにしたものであ
る。
のマイクロプロセッサはキャッシュメモリのウェイ数を
バスモードに応じて切り換えるようにし、切り換えられ
たウェイ数に応じてキャッシュメモリをアクセスするよ
うにしたものであり、第2の発明のマイクロプロセッサ
はキャッシュメモリのエントリ数をバスモードに応じて
切り換えるようにし、切り換えられたエントリ数に応じ
てキャッシュメモリをアクセスするようにしたものであ
る。
【0010】
【作用】第1の発明においては、キャッシュメモリのデ
ータ幅(ラインサイズ)を例えば少ないバス幅の4倍、
つまりブロック転送で一度に取り込める命令又はデータ
のバイト数に合わせ、バスモードによって切り換わる命
令及びデータのバイト数の変化に応じてキャッシュメモ
リのウェイ数を切り換えることにより、そのラインサイ
ズを切り換える。これにより多いバス幅のデータバスか
ら外部メモリ上の命令及びデータを取り込むバスモード
の場合と、逆に少ないバス幅のデータバスから取り込む
バスモードの場合とで、キャッシュメモリの書き込みラ
インサイズが取り込んだ命令及びデータのバイト数に一
致する。従ってキャッシュメモリの未使用部分がなくな
り、また命令及びデータを取り込むためのブロック転送
をいずれも一回で終了できる。また第2の発明において
は、同様にバスモードに応じてキャッシュメモリのエン
トリ数を切り換えることにより、そのラインサイズを切
り換える。この場合も上述と同様に作用し、命令及びデ
ータのバイト数とキャッシュメモリのラインサイズとが
一致する。
ータ幅(ラインサイズ)を例えば少ないバス幅の4倍、
つまりブロック転送で一度に取り込める命令又はデータ
のバイト数に合わせ、バスモードによって切り換わる命
令及びデータのバイト数の変化に応じてキャッシュメモ
リのウェイ数を切り換えることにより、そのラインサイ
ズを切り換える。これにより多いバス幅のデータバスか
ら外部メモリ上の命令及びデータを取り込むバスモード
の場合と、逆に少ないバス幅のデータバスから取り込む
バスモードの場合とで、キャッシュメモリの書き込みラ
インサイズが取り込んだ命令及びデータのバイト数に一
致する。従ってキャッシュメモリの未使用部分がなくな
り、また命令及びデータを取り込むためのブロック転送
をいずれも一回で終了できる。また第2の発明において
は、同様にバスモードに応じてキャッシュメモリのエン
トリ数を切り換えることにより、そのラインサイズを切
り換える。この場合も上述と同様に作用し、命令及びデ
ータのバイト数とキャッシュメモリのラインサイズとが
一致する。
【0011】
【実施例】以下、本発明をその実施例を示す図面に基づ
いて詳述する。
いて詳述する。
【0012】図1は異なるバス幅を持つ外部バスと内蔵
キャッシュメモリとを備える第1の発明のマイクロプロ
セッサを用いたシステムの構成例を示すブロック図であ
る。この例では、マイクロプロセッサ20は外部メモリ40
と4バイトのバス幅を有する外部バス8、8バイトのバ
ス幅を有する外部バス9及び4バイトのバス幅を有する
アドレスバス33とにより接続されている。外部メモリ40
はマイクロプロセッサ20と外部バス8で接続された命令
キャッシュメモリ41、マイクロプロセッサ20と外部バス
9で接続されたデータキャッシュメモリ42,43 及び命令
及びデータキャッシュメモリ41及び42,43 とアドレスバ
ス46並びにデータバス47を介して接続されたメインメモ
リ44、I/O 45から構成される。命令キャッシュメモリ41
はメインメモリ44にアドレスバス46を介してアドレスを
出力し、メインメモリ44又はI/O45の該当アドレスに格
納してある4バイトの命令を外部バス47を介して取り込
む。このシステムでは内蔵のキャッシュメモリの他に2
次キャッシュメモリとして外部メモリ40内に命令キャッ
シュメモリ41及びデータキャッシュメモリ42,43 を置く
ことにより、命令とデータとを各別の外部バス8,9を
介して内蔵のキャッシュメモリに取り込むことができ
る。従って命令及びデータを並列処理で取り込むことが
できるので、高速なシステムとして動作することができ
る。
キャッシュメモリとを備える第1の発明のマイクロプロ
セッサを用いたシステムの構成例を示すブロック図であ
る。この例では、マイクロプロセッサ20は外部メモリ40
と4バイトのバス幅を有する外部バス8、8バイトのバ
ス幅を有する外部バス9及び4バイトのバス幅を有する
アドレスバス33とにより接続されている。外部メモリ40
はマイクロプロセッサ20と外部バス8で接続された命令
キャッシュメモリ41、マイクロプロセッサ20と外部バス
9で接続されたデータキャッシュメモリ42,43 及び命令
及びデータキャッシュメモリ41及び42,43 とアドレスバ
ス46並びにデータバス47を介して接続されたメインメモ
リ44、I/O 45から構成される。命令キャッシュメモリ41
はメインメモリ44にアドレスバス46を介してアドレスを
出力し、メインメモリ44又はI/O45の該当アドレスに格
納してある4バイトの命令を外部バス47を介して取り込
む。このシステムでは内蔵のキャッシュメモリの他に2
次キャッシュメモリとして外部メモリ40内に命令キャッ
シュメモリ41及びデータキャッシュメモリ42,43 を置く
ことにより、命令とデータとを各別の外部バス8,9を
介して内蔵のキャッシュメモリに取り込むことができ
る。従って命令及びデータを並列処理で取り込むことが
できるので、高速なシステムとして動作することができ
る。
【0013】図2は第1の発明における第1の実施例の
マイクロプロセッサの内蔵キャッシュメモリ及びその周
辺回路の構成を示すブロック図である。図において20は
この第1の実施例のマイクロプロセッサで、2ウェイの
ラインサイズ16バイトのキャッシュメモリ2a,2b を備え
ている。キャッシュメモリ2a,2b は夫々30ビットのアド
レス信号の上位24ビットのタグを格納するタグ部と、ア
ドレス信号が示す外部メモリ40内のアドレスに格納され
た命令又はデータを格納するデータ部とからなり、バス
モードが4バイトモードのとき夫々が同一エントリでア
クセスされる2ウェイセットアソシアティブ方式で動作
する。マイクロプロセッサ20は4バイト幅又は8バイト
幅の外部バス8又は9を介して外部メモリ40から命令及
びデータを取り込む。外部バス8は8バイト幅の内部デ
ータバス10の上位4バイトのデータバス10a に接続さ
れ、外部バス9は上位4バイトのデータバス10a 及び下
位4バイトのデータバス10b に接続されている。
マイクロプロセッサの内蔵キャッシュメモリ及びその周
辺回路の構成を示すブロック図である。図において20は
この第1の実施例のマイクロプロセッサで、2ウェイの
ラインサイズ16バイトのキャッシュメモリ2a,2b を備え
ている。キャッシュメモリ2a,2b は夫々30ビットのアド
レス信号の上位24ビットのタグを格納するタグ部と、ア
ドレス信号が示す外部メモリ40内のアドレスに格納され
た命令又はデータを格納するデータ部とからなり、バス
モードが4バイトモードのとき夫々が同一エントリでア
クセスされる2ウェイセットアソシアティブ方式で動作
する。マイクロプロセッサ20は4バイト幅又は8バイト
幅の外部バス8又は9を介して外部メモリ40から命令及
びデータを取り込む。外部バス8は8バイト幅の内部デ
ータバス10の上位4バイトのデータバス10a に接続さ
れ、外部バス9は上位4バイトのデータバス10a 及び下
位4バイトのデータバス10b に接続されている。
【0014】内部データバス10の上位4バイトのデータ
バス10a は経路4を介して32バイト幅、つまりラインサ
イズ32バイトのラインバッファ3に接続され、下位4バ
イトのデータバス10b は経路5を介してラインバッファ
3に接続されている。ラインバッファ3は内部データバ
ス10と同じバス幅となっており、内部データバス10に与
えられた4バイト又は8バイトの命令及びデータをブロ
ック転送分のバイト数だけセットする。ラインバッファ
3は取り込まれた命令及びデータを経路6a,6b又は7を
介してキャッシュメモリ2a,2b に各別に書き込む。
バス10a は経路4を介して32バイト幅、つまりラインサ
イズ32バイトのラインバッファ3に接続され、下位4バ
イトのデータバス10b は経路5を介してラインバッファ
3に接続されている。ラインバッファ3は内部データバ
ス10と同じバス幅となっており、内部データバス10に与
えられた4バイト又は8バイトの命令及びデータをブロ
ック転送分のバイト数だけセットする。ラインバッファ
3は取り込まれた命令及びデータを経路6a,6b又は7を
介してキャッシュメモリ2a,2b に各別に書き込む。
【0015】次に、このマイクロプロセッサ20の内蔵キ
ャッシュメモリ2a,2b への取り込み動作について説明す
る。まず、4バイトバスモードにより、外部メモリ40上
の命令及びデータを内蔵キャッシュメモリ2a,2b に取り
込む動作について説明する。キャッシュメモリ2a,2b の
タグ比較部 (図示せず) からキャッシュミス信号が出力
されるとブロック転送のシーケンスが開始される。ブロ
ック転送時には4バイト幅の外部バス8から外部メモリ
40上の命令及びデータが、内部データバス10の上位4バ
イトのデータバス10a のみに入力される。内部データバ
ス10の上位4バイトのデータバス10a に入力された4バ
イトの命令及びデータは、経路4を通ってラインバッフ
ァ3に取り込まれる。その後ブロック転送により16バイ
トの命令及びデータがラインバッファ3にセットされ
る。そして取り込まれた命令及びデータは、あるときは
経路6aを通って、またあるときは経路6bを通って16バイ
ト1度に、選択されたウェイ0のキャッシュメモリ2aの
例えばエントリ10のデータ部又はウェイ1のキャッシュ
メモリ2bの例えばエントリ12のデータ部のいずれかに登
録される。そのときに当然エントリ10のデータA,エン
トリ12のデータDは独立したデータであるのでデータ
A,データDの登録されているエントリ(例えば10,12)
及びそのエントリのタグA,タグDの値は異なる。この
ように4バイトバスモードの場合、キャッシュメモリは
2ウェイセットアソシアティブとして動作することにな
る。
ャッシュメモリ2a,2b への取り込み動作について説明す
る。まず、4バイトバスモードにより、外部メモリ40上
の命令及びデータを内蔵キャッシュメモリ2a,2b に取り
込む動作について説明する。キャッシュメモリ2a,2b の
タグ比較部 (図示せず) からキャッシュミス信号が出力
されるとブロック転送のシーケンスが開始される。ブロ
ック転送時には4バイト幅の外部バス8から外部メモリ
40上の命令及びデータが、内部データバス10の上位4バ
イトのデータバス10a のみに入力される。内部データバ
ス10の上位4バイトのデータバス10a に入力された4バ
イトの命令及びデータは、経路4を通ってラインバッフ
ァ3に取り込まれる。その後ブロック転送により16バイ
トの命令及びデータがラインバッファ3にセットされ
る。そして取り込まれた命令及びデータは、あるときは
経路6aを通って、またあるときは経路6bを通って16バイ
ト1度に、選択されたウェイ0のキャッシュメモリ2aの
例えばエントリ10のデータ部又はウェイ1のキャッシュ
メモリ2bの例えばエントリ12のデータ部のいずれかに登
録される。そのときに当然エントリ10のデータA,エン
トリ12のデータDは独立したデータであるのでデータ
A,データDの登録されているエントリ(例えば10,12)
及びそのエントリのタグA,タグDの値は異なる。この
ように4バイトバスモードの場合、キャッシュメモリは
2ウェイセットアソシアティブとして動作することにな
る。
【0016】次に、8バイトバスモードで外部メモリ40
から内蔵キャッシュメモリ2a,2b に命令及びデータが取
り込まれる場合の動作について説明する。ブロック転送
時に8バイト幅の外部バス9から外部メモリ40上の命令
及びデータが、内部データバス10の上位4バイトのデー
タバス10a,下位4バイトのデータバス10b にそれぞれ入
力される。内部データバス10に入力された8バイトの命
令及びデータは、経路4,5を通ってラインバッファ3
に取り込まれる。ブロック転送により32バイトの命令及
びデータがラインバッファ3にセットされる。そして取
り込まれた命令及びデータは、経路7を通ってウェイ0
のキャッシュメモリ2aの例えばエントリ12のデータ部と
ウェイ1のキャッシュメモリ2bの例えばエントリ12のデ
ータ部とに、つまり同一エントリに登録される。そのと
きにキャッシュメモリ2aのデータB,同2bのデータDは
連続したアドレスを持つ命令及びデータであるので、そ
れらのデータに対するタグB,タグDは等しい。このよ
うに8バイトバスモードの場合、キャッシュメモリはダ
イレクトマッピングとして動作することになる。
から内蔵キャッシュメモリ2a,2b に命令及びデータが取
り込まれる場合の動作について説明する。ブロック転送
時に8バイト幅の外部バス9から外部メモリ40上の命令
及びデータが、内部データバス10の上位4バイトのデー
タバス10a,下位4バイトのデータバス10b にそれぞれ入
力される。内部データバス10に入力された8バイトの命
令及びデータは、経路4,5を通ってラインバッファ3
に取り込まれる。ブロック転送により32バイトの命令及
びデータがラインバッファ3にセットされる。そして取
り込まれた命令及びデータは、経路7を通ってウェイ0
のキャッシュメモリ2aの例えばエントリ12のデータ部と
ウェイ1のキャッシュメモリ2bの例えばエントリ12のデ
ータ部とに、つまり同一エントリに登録される。そのと
きにキャッシュメモリ2aのデータB,同2bのデータDは
連続したアドレスを持つ命令及びデータであるので、そ
れらのデータに対するタグB,タグDは等しい。このよ
うに8バイトバスモードの場合、キャッシュメモリはダ
イレクトマッピングとして動作することになる。
【0017】このように4バイトバスモードの時に2ウ
ェイとして動作させ、各ラインサイズを16バイトとして
いたのを、8バイトバスモードでは1ウェイとして動作
させラインサイズを32バイトとして使用することにな
る。以上述べてきたのは4バイトと8バイトのバス幅と
に応じてそれぞれ2ウェイセットアソシアティブとダイ
レクトマッピングを切り換える場合の動作である。次に
4バイトと8バイトのバス幅に応じてそれぞれ4ウェイ
セットアソシアティブと2ウェイセットアソシアティブ
を切り換える第2の実施例のマイクロプロセッサについ
て説明する。図3は4バイトバスモードの場合の第2の
実施例のマイクロプロセッサの構成を示すブロック図、
図4は8バイトバスモードの場合の構成を示すブロック
図である。
ェイとして動作させ、各ラインサイズを16バイトとして
いたのを、8バイトバスモードでは1ウェイとして動作
させラインサイズを32バイトとして使用することにな
る。以上述べてきたのは4バイトと8バイトのバス幅と
に応じてそれぞれ2ウェイセットアソシアティブとダイ
レクトマッピングを切り換える場合の動作である。次に
4バイトと8バイトのバス幅に応じてそれぞれ4ウェイ
セットアソシアティブと2ウェイセットアソシアティブ
を切り換える第2の実施例のマイクロプロセッサについ
て説明する。図3は4バイトバスモードの場合の第2の
実施例のマイクロプロセッサの構成を示すブロック図、
図4は8バイトバスモードの場合の構成を示すブロック
図である。
【0018】図3において、20は4バイト幅の外部バス
8と8バイト幅の外部バス9とに接続され、タグ部とデ
ータ部とのセットからなるウェイ数4のキャッシュメモ
リ2a,2b,2c,2d を内蔵しているマイクロプロセッサを示
している。各ウェイ0〜3のキャッシュメモリ2a,2b,2
c,2dの書き込み時のエントリはアドレス制御部32a に入
力された32ビットのアドレスA(0:31) のうち、第21
〜27ビットの7ビットのアドレスA(21:27) をデコー
ドしたアドレス選択信号23により選択される。また、キ
ャッシュメモリの書き込み時の各ウェイ0〜3は書き込
みウェイ制御部31a より出力されるウェイ選択信号25a
〜25d により選択され、ウェイ選択信号25a 〜25d によ
り4ウェイの内いずれか1つのウェイのキャッシュメモ
リ2a,2b,2c,2d が選択される。また、アドレスA(0:
31) のうちの下位の21ビットのアドレスA(0:20) は
書き込みウェイ制御部31a により選択されたウェイのキ
ャッシュメモリ2a,2b,2c,2d のタグ部に経路24を通って
登録される。また22a,22b,22c,22d はラインバッファ3
に取り込まれた16バイトの命令及びデータを、キャッシ
ュメモリ2a,2b,2c,2d に書き込む経路を示している。な
お、アドレス制御部32a 及び書き込みウェイ制御部31a
にはバスモードを示すバスモード信号が入力され、それ
によりこれらが活性化される。
8と8バイト幅の外部バス9とに接続され、タグ部とデ
ータ部とのセットからなるウェイ数4のキャッシュメモ
リ2a,2b,2c,2d を内蔵しているマイクロプロセッサを示
している。各ウェイ0〜3のキャッシュメモリ2a,2b,2
c,2dの書き込み時のエントリはアドレス制御部32a に入
力された32ビットのアドレスA(0:31) のうち、第21
〜27ビットの7ビットのアドレスA(21:27) をデコー
ドしたアドレス選択信号23により選択される。また、キ
ャッシュメモリの書き込み時の各ウェイ0〜3は書き込
みウェイ制御部31a より出力されるウェイ選択信号25a
〜25d により選択され、ウェイ選択信号25a 〜25d によ
り4ウェイの内いずれか1つのウェイのキャッシュメモ
リ2a,2b,2c,2d が選択される。また、アドレスA(0:
31) のうちの下位の21ビットのアドレスA(0:20) は
書き込みウェイ制御部31a により選択されたウェイのキ
ャッシュメモリ2a,2b,2c,2d のタグ部に経路24を通って
登録される。また22a,22b,22c,22d はラインバッファ3
に取り込まれた16バイトの命令及びデータを、キャッシ
ュメモリ2a,2b,2c,2d に書き込む経路を示している。な
お、アドレス制御部32a 及び書き込みウェイ制御部31a
にはバスモードを示すバスモード信号が入力され、それ
によりこれらが活性化される。
【0019】また、図4においてキャッシュメモリ2a,2
b は、タグ部とデータ部からなる1つのウェイ0を構成
しており、8バイトバスモードではこれらキャッシュメ
モリ2a,2b 及び2c,2d が夫々セットになって1ウェイ分
になっており、キャッシュメモリ2a,2b 又は2c,2d の書
き込み時のエントリはアドレス制御部32b に入力された
32ビットのアドレスA(0:31) のうち第20〜26ビット
の7ビットのアドレスA(20:26) をデコードしたアド
レス選択信号27により選択される。キャッシュメモリ2
a,2b 又は2c,2d の書き込み時の各ウェイ0,1は書き
込みウェイ制御部31b より出力されるウェイ選択信号29
a,29b により選択され、2ウェイの内いずれか1つのウ
ェイのキャッシュメモリ2a,2b 又は2c,2d が選択され
る。また、アドレスA(0:31) のうちの下位20ビット
のアドレス(0:19) は書き込みウェイ制御部31b によ
り選択されたウェイのキャッシュメモリ2a,2b 又は2c,2
dのタグ部に経路28を通って登録される。また、26a,26b
はラインバッファ3に取り込まれた32バイトの命令及
びデータをキャッシュメモリ2a,2b 又は2c,2d に書き込
む経路を示している。この他の構成は図2に示す前述の
実施例と同じであり、説明を省略する。
b は、タグ部とデータ部からなる1つのウェイ0を構成
しており、8バイトバスモードではこれらキャッシュメ
モリ2a,2b 及び2c,2d が夫々セットになって1ウェイ分
になっており、キャッシュメモリ2a,2b 又は2c,2d の書
き込み時のエントリはアドレス制御部32b に入力された
32ビットのアドレスA(0:31) のうち第20〜26ビット
の7ビットのアドレスA(20:26) をデコードしたアド
レス選択信号27により選択される。キャッシュメモリ2
a,2b 又は2c,2d の書き込み時の各ウェイ0,1は書き
込みウェイ制御部31b より出力されるウェイ選択信号29
a,29b により選択され、2ウェイの内いずれか1つのウ
ェイのキャッシュメモリ2a,2b 又は2c,2d が選択され
る。また、アドレスA(0:31) のうちの下位20ビット
のアドレス(0:19) は書き込みウェイ制御部31b によ
り選択されたウェイのキャッシュメモリ2a,2b 又は2c,2
dのタグ部に経路28を通って登録される。また、26a,26b
はラインバッファ3に取り込まれた32バイトの命令及
びデータをキャッシュメモリ2a,2b 又は2c,2d に書き込
む経路を示している。この他の構成は図2に示す前述の
実施例と同じであり、説明を省略する。
【0020】次に第2の実施例のキャッシュメモリの取
り込み動作について説明する。図5は第2の実施例のマ
イクロプロセッサのキャッシュメモリの取り込み動作を
示すフローチャートである。まずバスモードが4バイト
バスモードであるか8バイトバスモードであるかをチェ
ックし(S1)、図3に示す4バイトバスモード時のキャッ
シュメモリ2a〜2dへの命令及びデータの取り込み動作の
場合、アドレスA(21:27) をデコードしてエントリ選
択信号23が出力される(S2)。次にバスモードに応じて書
き込みウェイ制御部31a から出力されたウェイ選択信号
25a 〜25d に応じて書き込みウェイをウェイ0〜3から
選択する(S3)。ブロック転送時、4バイトバス幅の外部
バス8から外部メモリ40上の命令及びデータが、内部デ
ータバス10の上位4バイトのデータバス10a に入力され
る。内部データバス10に入力された4バイトの命令及び
データは、経路4を通ってラインバッファ3に取り込ま
れ、ブロック転送により16バイトの命令及びデータがラ
インバッファ3にセットされる(S4)。取り込まれた命令
及びデータのバイト数と各ウェイのラインサイズとが一
致しているので、キャッシュメモリ2a,2b,2c,2d は4ウ
ェイセットアソシアティブ方式で動作する。ラインバッ
ファ3に取り込まれた16バイトの命令及びデータは経路
22a,22b,22c,22d を通ってキャッシュメモリ2a〜2dの各
ウェイ0〜3全てに出力され、各ウェイ0〜3の選択信
号25a 〜25d により選択されたウェイの、エントリ選択
信号23により選択されたエントリに書き込まれる(S5)。
り込み動作について説明する。図5は第2の実施例のマ
イクロプロセッサのキャッシュメモリの取り込み動作を
示すフローチャートである。まずバスモードが4バイト
バスモードであるか8バイトバスモードであるかをチェ
ックし(S1)、図3に示す4バイトバスモード時のキャッ
シュメモリ2a〜2dへの命令及びデータの取り込み動作の
場合、アドレスA(21:27) をデコードしてエントリ選
択信号23が出力される(S2)。次にバスモードに応じて書
き込みウェイ制御部31a から出力されたウェイ選択信号
25a 〜25d に応じて書き込みウェイをウェイ0〜3から
選択する(S3)。ブロック転送時、4バイトバス幅の外部
バス8から外部メモリ40上の命令及びデータが、内部デ
ータバス10の上位4バイトのデータバス10a に入力され
る。内部データバス10に入力された4バイトの命令及び
データは、経路4を通ってラインバッファ3に取り込ま
れ、ブロック転送により16バイトの命令及びデータがラ
インバッファ3にセットされる(S4)。取り込まれた命令
及びデータのバイト数と各ウェイのラインサイズとが一
致しているので、キャッシュメモリ2a,2b,2c,2d は4ウ
ェイセットアソシアティブ方式で動作する。ラインバッ
ファ3に取り込まれた16バイトの命令及びデータは経路
22a,22b,22c,22d を通ってキャッシュメモリ2a〜2dの各
ウェイ0〜3全てに出力され、各ウェイ0〜3の選択信
号25a 〜25d により選択されたウェイの、エントリ選択
信号23により選択されたエントリに書き込まれる(S5)。
【0021】また、図4に示す8バイトバスモード時の
キャッシュメモリへの命令及びデータの取り込み動作の
場合、アドレスA(20:26) をデコードしてエントリ選
択信号27が出力される(S6)。次にバスモードに応じて書
き込みウェイ制御部31b から出力されたウェイ選択信号
29a,29b に応じて書き込みウェイをウェイ0〜1から選
択する(S7)。ブロック転送時、8バイト幅の外部バス9
から外部メモリ40上の命令及びデータが、内部データバ
ス10の上位4バイトのデータバス10a,下位4バイトのデ
ータバス10b にそれぞれ入力される。内部データバス10
に入力された8バイトの命令及びデータは、経路4,5
を通ってラインバッファ3に取り込まれ、ブロック転送
により32バイトの命令及びデータがラインバッファ3に
セットされる(S8)。キャッシュメモリ2a〜2dのラインサ
イズは16バイトであるので、これらのキャッシュメモリ
2a,2b 又は2c,2d の2つ分でウェイ0、又はウェイ1を
構成し、2ウェイセットアソシアティブ方式により動作
させる。ラインバッファ3に取り込まれた32バイトの命
令及びデータは経路26a,26b を通ってキャッシュメモリ
2a〜2dの各ウェイ0,1全てに出力され、各ウェイの選
択信号29a,29b により選択されたウェイ0,1の、エン
トリ選択信号27により選択されたエントリに書き込まれ
る(S9)。4バイトバスモードの場合、4ウェイでライン
サイズ16バイト,8バイトバスモードの場合2ウェイで
ラインサイズ32バイトで動作するので、キャッシュメモ
リ2a〜2dへの書き込み時にウェイ選択信号25と同29とを
各別に出力する4ウェイの書き込みウェイ制御部31a と
2ウェイの書き込みウェイ制御部31b との両方共が必要
になる。これらの制御部31a,31b は通常LRU アルゴリズ
ム又はFIFOアルゴリズム等のアルゴリズムで作成され
る。このように、4バイトバスモードと8バイトバスモ
ードとを持つマイクロプロセッサにおいて、4バイトバ
スモードでは4ウェイでラインサイズ16バイト,8バイ
トバスモードでは2ウェイでラインサイズ32バイトで動
作するようにすることにより、いずれの場合もキャッシ
ュメモリ全てを用いて動作を行うことになりキャッシュ
メモリのデータ部の使用効率を上げることができる。
キャッシュメモリへの命令及びデータの取り込み動作の
場合、アドレスA(20:26) をデコードしてエントリ選
択信号27が出力される(S6)。次にバスモードに応じて書
き込みウェイ制御部31b から出力されたウェイ選択信号
29a,29b に応じて書き込みウェイをウェイ0〜1から選
択する(S7)。ブロック転送時、8バイト幅の外部バス9
から外部メモリ40上の命令及びデータが、内部データバ
ス10の上位4バイトのデータバス10a,下位4バイトのデ
ータバス10b にそれぞれ入力される。内部データバス10
に入力された8バイトの命令及びデータは、経路4,5
を通ってラインバッファ3に取り込まれ、ブロック転送
により32バイトの命令及びデータがラインバッファ3に
セットされる(S8)。キャッシュメモリ2a〜2dのラインサ
イズは16バイトであるので、これらのキャッシュメモリ
2a,2b 又は2c,2d の2つ分でウェイ0、又はウェイ1を
構成し、2ウェイセットアソシアティブ方式により動作
させる。ラインバッファ3に取り込まれた32バイトの命
令及びデータは経路26a,26b を通ってキャッシュメモリ
2a〜2dの各ウェイ0,1全てに出力され、各ウェイの選
択信号29a,29b により選択されたウェイ0,1の、エン
トリ選択信号27により選択されたエントリに書き込まれ
る(S9)。4バイトバスモードの場合、4ウェイでライン
サイズ16バイト,8バイトバスモードの場合2ウェイで
ラインサイズ32バイトで動作するので、キャッシュメモ
リ2a〜2dへの書き込み時にウェイ選択信号25と同29とを
各別に出力する4ウェイの書き込みウェイ制御部31a と
2ウェイの書き込みウェイ制御部31b との両方共が必要
になる。これらの制御部31a,31b は通常LRU アルゴリズ
ム又はFIFOアルゴリズム等のアルゴリズムで作成され
る。このように、4バイトバスモードと8バイトバスモ
ードとを持つマイクロプロセッサにおいて、4バイトバ
スモードでは4ウェイでラインサイズ16バイト,8バイ
トバスモードでは2ウェイでラインサイズ32バイトで動
作するようにすることにより、いずれの場合もキャッシ
ュメモリ全てを用いて動作を行うことになりキャッシュ
メモリのデータ部の使用効率を上げることができる。
【0022】なお、この第1の発明は同様に異なるバス
幅の外部バスを持ち、複数のウェイを持つマイクロプロ
セッサにおいて、少ないバス幅の外部バスから命令及び
データを取り込む場合と、多いバス幅の外部バスから命
令及びデータを取り込む場合、いずれの場合も命令及び
データの取り込みバイト数と、キャッシュメモリの書き
込みラインサイズとを一致させるため、キャッシュメモ
リのウェイ数を切り換えるようにした構成を持つマイク
ロプロセッサの全てに適用できることは言うまでもな
い。例えば、4バイトバスモードで8ウェイでラインサ
イズ16バイト,8バイトバスモードで4ウェイでライン
サイズ32バイトで動作するようにしたマイクロプロセッ
サにおいても同様である。
幅の外部バスを持ち、複数のウェイを持つマイクロプロ
セッサにおいて、少ないバス幅の外部バスから命令及び
データを取り込む場合と、多いバス幅の外部バスから命
令及びデータを取り込む場合、いずれの場合も命令及び
データの取り込みバイト数と、キャッシュメモリの書き
込みラインサイズとを一致させるため、キャッシュメモ
リのウェイ数を切り換えるようにした構成を持つマイク
ロプロセッサの全てに適用できることは言うまでもな
い。例えば、4バイトバスモードで8ウェイでラインサ
イズ16バイト,8バイトバスモードで4ウェイでライン
サイズ32バイトで動作するようにしたマイクロプロセッ
サにおいても同様である。
【0023】次に、異なるバスモードにより命令及びデ
ータを取り込む場合、命令及びデータの取り込みバイト
数とキャッシュメモリの書き込みラインサイズを一致さ
せるためキャッシュメモリのウェイ数は切り換えずにエ
ントリ数を切り換える第2の発明のマイクロプロセッサ
について説明する。すなわち、4バイトバスモードと8
バイトバスモードを持ち4ウェイを備える内蔵キャッシ
ュメモリを持つマイクロプロセッサでは4バイトバスモ
ード時は2ウェイで256 エントリで動作し、8バイトバ
スモード時は2ウェイで128 エントリで動作するように
したものである。
ータを取り込む場合、命令及びデータの取り込みバイト
数とキャッシュメモリの書き込みラインサイズを一致さ
せるためキャッシュメモリのウェイ数は切り換えずにエ
ントリ数を切り換える第2の発明のマイクロプロセッサ
について説明する。すなわち、4バイトバスモードと8
バイトバスモードを持ち4ウェイを備える内蔵キャッシ
ュメモリを持つマイクロプロセッサでは4バイトバスモ
ード時は2ウェイで256 エントリで動作し、8バイトバ
スモード時は2ウェイで128 エントリで動作するように
したものである。
【0024】図6はこの第2の発明のマイクロプロセッ
サにおける4バイトバスモード時の構成を示すブロック
図である。なお、8バイトバスモード時の構成及び動作
は図4ですでに説明した通りであるので説明を省略す
る。図6において20は図2,図3と同様、4バイトバ
ス,8バイトバスを持ちタグ部とデータ部のセットであ
るキャッシュメモリ2a〜2dを4つ内蔵し、4バイトバス
モード時には2ウェイでラインサイズ16バイト、8バイ
トバスモード時には2ウェイでラインサイズ32バイトで
動作するマイクロプロセッサを示している。30は、アド
レス制御部32c に入力される第27ビット目のアドレスA
(27)を判定し、アドレスA(27)が0のときはキャッシュ
メモリ2a,2c を選択し、アドレスA(27)が1のときはキ
ャッシュメモリ2b,2d を選択する選択信号である。つま
りキャッシュメモリ2a,2c には偶数エントリが割り付け
られており、キャッシュメモリ2b,2d には奇数エントリ
が割り付けられており、それぞれのウェイ0,1にはA
(20:27)をデコードして256 エントリが割り付けられ
ていることになる。また、26a 〜26d は図4と同様にラ
インバッファ3に取り込まれた16バイトの命令及びデー
タをキャッシュメモリ2a〜2dに書き込む経路を示してい
るが、4バイトバスモードの場合は選択されたウェイ
0,1の選択されたキャッシュメモリに書き込むように
動作する。この他の構成は図4に示す前述の実施例と同
じであり、説明を省略する。このように異なる外部バス
幅によりキャッシュメモリのエントリ数を切り替える場
合は、4バイトバスモードにおいてA(27)を判定して奇
数エントリを持つキャッシュメモリか偶数エントリを持
つキャッシュメモリかを選択する選択信号30が必要にな
るだけで、他の構成と動作は8バイトバスモードの場合
と同様である。
サにおける4バイトバスモード時の構成を示すブロック
図である。なお、8バイトバスモード時の構成及び動作
は図4ですでに説明した通りであるので説明を省略す
る。図6において20は図2,図3と同様、4バイトバ
ス,8バイトバスを持ちタグ部とデータ部のセットであ
るキャッシュメモリ2a〜2dを4つ内蔵し、4バイトバス
モード時には2ウェイでラインサイズ16バイト、8バイ
トバスモード時には2ウェイでラインサイズ32バイトで
動作するマイクロプロセッサを示している。30は、アド
レス制御部32c に入力される第27ビット目のアドレスA
(27)を判定し、アドレスA(27)が0のときはキャッシュ
メモリ2a,2c を選択し、アドレスA(27)が1のときはキ
ャッシュメモリ2b,2d を選択する選択信号である。つま
りキャッシュメモリ2a,2c には偶数エントリが割り付け
られており、キャッシュメモリ2b,2d には奇数エントリ
が割り付けられており、それぞれのウェイ0,1にはA
(20:27)をデコードして256 エントリが割り付けられ
ていることになる。また、26a 〜26d は図4と同様にラ
インバッファ3に取り込まれた16バイトの命令及びデー
タをキャッシュメモリ2a〜2dに書き込む経路を示してい
るが、4バイトバスモードの場合は選択されたウェイ
0,1の選択されたキャッシュメモリに書き込むように
動作する。この他の構成は図4に示す前述の実施例と同
じであり、説明を省略する。このように異なる外部バス
幅によりキャッシュメモリのエントリ数を切り替える場
合は、4バイトバスモードにおいてA(27)を判定して奇
数エントリを持つキャッシュメモリか偶数エントリを持
つキャッシュメモリかを選択する選択信号30が必要にな
るだけで、他の構成と動作は8バイトバスモードの場合
と同様である。
【0025】次にこのマイクロプロセッサ20における命
令及びデータの取り込み動作について説明する。図7は
命令及びデータの取り込み動作を示すフローチャートで
ある。なお8バイトバスモード時の動作(S17〜S20)は図
5と同様であるので説明を省略する。4バイトバスモー
ドの場合、アドレス制御部32c から出力されたアドレス
A(27)の状態を示す選択信号30により奇数エントリか偶
数エントリかを選択する(S12) 。そしてアドレスA(2
0:26) をデコードしてエントリを選択し(S13)、続いて
バスモードに応じて書き込みウェイ制御部31c から出力
されたウェイ選択信号29a,29b に応じてウェイをウェイ
0,1から選択し(S14) 、ブロック転送時4バイト幅の
外部バス8から外部メモリ40上の命令及びデータが、内
部データバス10の上位4バイトのデータバス10a のみに
入力される。内部データバス10に入力された4バイトの
命令及びデータは、経路4を通ってラインバッファ3の
上位16バイト、下位16バイトの同じところに取り込まれ
る。すなわちブロック転送によりラインバッファ3の上
位16バイト、下位16バイトに同じ値が取り込まれる(S1
5) 。ラインバッファ3に取り込まれたそれぞれ16バイ
トの命令及びデータは経路26a,26b を通ってラインバッ
ファ3の上位16バイトが、経路26c,26d を通ってライン
バッファ3の下位16バイトが夫々出力され、ウェイ選択
信号29a,29b により選択されたウェイ0,1の、エント
リ選択信号27により選択されたエントリに書き込まれる
(S16) 。そのときにエントリが偶数であれば偶数エント
リを選択する選択信号30=“0”が出力され、キャッシ
ュメモリ2a,2c にのみ書き込まれる。逆にエントリが奇
数であれば奇数エントリを選択する選択信号30=“1”
が出力され、キャッシュメモリ2b,2d にのみ書き込まれ
るようになる。そのときにキャッシュメモリ2a,2c に書
き込むときはラインバッファ3の上位16バイトを、キャ
ッシュメモリ2b,2d に書き込むときはラインバッファの
下位16バイトを書き込むようにする。このようにするこ
とによりキャッシュメモリ2a〜2dのタグ部、データ部及
びラインバッファ3、そしてウェイ選択信号を出力する
書き込みウェイ制御部31c を、8バイトバスモード時と
同様なハードウェア構成にすることができる。このよう
に4バイトバスモードでは2ウェイで256 エントリでラ
インサイズ16バイト、8バイトバスモードでは2ウェイ
で128 エントリでラインサイズ32バイトのキャッシュメ
モリとして動作する。
令及びデータの取り込み動作について説明する。図7は
命令及びデータの取り込み動作を示すフローチャートで
ある。なお8バイトバスモード時の動作(S17〜S20)は図
5と同様であるので説明を省略する。4バイトバスモー
ドの場合、アドレス制御部32c から出力されたアドレス
A(27)の状態を示す選択信号30により奇数エントリか偶
数エントリかを選択する(S12) 。そしてアドレスA(2
0:26) をデコードしてエントリを選択し(S13)、続いて
バスモードに応じて書き込みウェイ制御部31c から出力
されたウェイ選択信号29a,29b に応じてウェイをウェイ
0,1から選択し(S14) 、ブロック転送時4バイト幅の
外部バス8から外部メモリ40上の命令及びデータが、内
部データバス10の上位4バイトのデータバス10a のみに
入力される。内部データバス10に入力された4バイトの
命令及びデータは、経路4を通ってラインバッファ3の
上位16バイト、下位16バイトの同じところに取り込まれ
る。すなわちブロック転送によりラインバッファ3の上
位16バイト、下位16バイトに同じ値が取り込まれる(S1
5) 。ラインバッファ3に取り込まれたそれぞれ16バイ
トの命令及びデータは経路26a,26b を通ってラインバッ
ファ3の上位16バイトが、経路26c,26d を通ってライン
バッファ3の下位16バイトが夫々出力され、ウェイ選択
信号29a,29b により選択されたウェイ0,1の、エント
リ選択信号27により選択されたエントリに書き込まれる
(S16) 。そのときにエントリが偶数であれば偶数エント
リを選択する選択信号30=“0”が出力され、キャッシ
ュメモリ2a,2c にのみ書き込まれる。逆にエントリが奇
数であれば奇数エントリを選択する選択信号30=“1”
が出力され、キャッシュメモリ2b,2d にのみ書き込まれ
るようになる。そのときにキャッシュメモリ2a,2c に書
き込むときはラインバッファ3の上位16バイトを、キャ
ッシュメモリ2b,2d に書き込むときはラインバッファの
下位16バイトを書き込むようにする。このようにするこ
とによりキャッシュメモリ2a〜2dのタグ部、データ部及
びラインバッファ3、そしてウェイ選択信号を出力する
書き込みウェイ制御部31c を、8バイトバスモード時と
同様なハードウェア構成にすることができる。このよう
に4バイトバスモードでは2ウェイで256 エントリでラ
インサイズ16バイト、8バイトバスモードでは2ウェイ
で128 エントリでラインサイズ32バイトのキャッシュメ
モリとして動作する。
【0026】なお、第2の発明はこれに限るものではな
く、同様に複数のウェイ数を持つキャッシュメモリを備
えるマイクロプロセッサにおいて、多いバス幅を持つ外
部バスから取り込んだメモリ及びデータのバイト数にキ
ャッシュメモリの書き込みラインサイズを一致させ、少
ないバス幅を持つ外部バスから命令及びデータを取り込
む場合は、そのラインサイズを分割しエントリ数を増や
すことで対処するようにした場合も全てにあてはまる。
例えば4バイトバスモードでは4ウェイで128エントリ
でラインサイズ16バイトで動作させ、8バイトバスモー
ドでは4ウェイで64エントリでラインサイズ32バイトで
動作する場合などである。
く、同様に複数のウェイ数を持つキャッシュメモリを備
えるマイクロプロセッサにおいて、多いバス幅を持つ外
部バスから取り込んだメモリ及びデータのバイト数にキ
ャッシュメモリの書き込みラインサイズを一致させ、少
ないバス幅を持つ外部バスから命令及びデータを取り込
む場合は、そのラインサイズを分割しエントリ数を増や
すことで対処するようにした場合も全てにあてはまる。
例えば4バイトバスモードでは4ウェイで128エントリ
でラインサイズ16バイトで動作させ、8バイトバスモー
ドでは4ウェイで64エントリでラインサイズ32バイトで
動作する場合などである。
【0027】
【発明の効果】以上説明したとおり第1及び第2の発明
によれば複数の外部バス幅を持ち複数ウェイのキャッシ
ュメモリを内蔵するマイクロプロセッサにおいて外部バ
ス幅に応じてキャッシュメモリのウェイ数又はエントリ
数を切り換えることにより、従来のマイクロプロセッサ
では4バイトバスモードにおいてキャッシュメモリのデ
ータ部の未使用部分が発生していたのを、取り込んだ命
令及びデータのバイト数とキャッシュメモリへの書き込
みラインサイズを一致させることにより未使用部分をな
くし、キャッシュメモリの使用効率を上げることができ
ると共に、キャッシュメモリへの書き込みを1回のブロ
ック転送で行え、高速でブロック転送が行える等優れた
効果を奏する。
によれば複数の外部バス幅を持ち複数ウェイのキャッシ
ュメモリを内蔵するマイクロプロセッサにおいて外部バ
ス幅に応じてキャッシュメモリのウェイ数又はエントリ
数を切り換えることにより、従来のマイクロプロセッサ
では4バイトバスモードにおいてキャッシュメモリのデ
ータ部の未使用部分が発生していたのを、取り込んだ命
令及びデータのバイト数とキャッシュメモリへの書き込
みラインサイズを一致させることにより未使用部分をな
くし、キャッシュメモリの使用効率を上げることができ
ると共に、キャッシュメモリへの書き込みを1回のブロ
ック転送で行え、高速でブロック転送が行える等優れた
効果を奏する。
【図1】 第1の発明のマイクロプロセッサを用いたシ
ステム構成の一例を示すブロック図である。
ステム構成の一例を示すブロック図である。
【図2】 第1の発明のマイクロプロセッサの第1の実
施例の構成を示すブロック図である。
施例の構成を示すブロック図である。
【図3】 第1の発明のマイクロプロセッサの第2の実
施例の構成を示すブロック図である。
施例の構成を示すブロック図である。
【図4】 第1の発明のマイクロプロセッサの第2の実
施例の構成を示すブロック図である。
施例の構成を示すブロック図である。
【図5】 第2の実施例のマイクロプロセッサのキャッ
シュメモリへの取り込み動作を示すフローチャートであ
る。
シュメモリへの取り込み動作を示すフローチャートであ
る。
【図6】 第2の発明のマイクロプロセッサの構成を示
すブロック図である。
すブロック図である。
【図7】 第2の発明のマイクロプロセッサのキャッシ
ュメモリへの取り込み動作を示すフローチャートであ
る。
ュメモリへの取り込み動作を示すフローチャートであ
る。
【図8】 従来のマイクロプロセッサのブロック転送動
作を示すタイミングチャートである。
作を示すタイミングチャートである。
【図9】 従来のマイクロプロセッサの構成を示すブロ
ック図である。
ック図である。
2a〜2d キャッシュメモリ 3 ラインバッファ 8,9 外部バス 23,27 エントリ選択信号 25,29 ウェイ選択信号 30 選択信号 31 書き込みウェイ制御部
Claims (2)
- 【請求項1】 外部メモリの格納情報の番地を出力する
アドレスバスと、前記格納情報を入出力するバス幅が異
なる複数のデータバスと、前記格納情報を取り込み、同
一エントリでアクセスされる複数のウェイを有するセッ
トアソシアティブ方式のキャッシュメモリとを備え、前
記データバスのいずれを用いるのかを規定する複数のバ
スモードが用意され、使用するデータバスに応じて設定
されたバスモードで動作するマイクロプロセッサにおい
て、 設定されたバスモードに応じて、前記キャッシュメモリ
のウェイ数を切り換える手段と、 切り換えられたウェイ数に応じて前記キャッシュメモリ
をアクセスする手段とを備えることを特徴とするマイク
ロプロセッサ。 - 【請求項2】 外部メモリの格納情報の番地を出力する
アドレスバスと、前記格納情報を入出力するバス幅が異
なる複数のデータバスと、前記格納情報を取り込み、同
一エントリでアクセスされる複数のウェイを有するセッ
トアソシアティブ方式のキャッシュメモリとを備え、前
記データバスのいずれを用いるのかを規定する複数のバ
スモードが用意され、使用するデータバスに応じて設定
されたバスモードで動作するマイクロプロセッサにおい
て、 設定されたバスモードに応じて前記キャッシュメモリの
エントリ数を切り換える手段と、 切り換えられたエントリ数に応じて前記キャッシュメモ
リをアクセスする手段とを備えることを特徴とするマイ
クロプロセッサ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2403205A JP2646854B2 (ja) | 1990-12-18 | 1990-12-18 | マイクロプロセッサ |
US07/716,411 US5301296A (en) | 1990-12-18 | 1991-06-17 | Microprocessor with cache memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2403205A JP2646854B2 (ja) | 1990-12-18 | 1990-12-18 | マイクロプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04217051A JPH04217051A (ja) | 1992-08-07 |
JP2646854B2 true JP2646854B2 (ja) | 1997-08-27 |
Family
ID=18512958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2403205A Expired - Fee Related JP2646854B2 (ja) | 1990-12-18 | 1990-12-18 | マイクロプロセッサ |
Country Status (2)
Country | Link |
---|---|
US (1) | US5301296A (ja) |
JP (1) | JP2646854B2 (ja) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0546475A (ja) * | 1991-08-15 | 1993-02-26 | Fujitsu Ltd | バツフア記憶制御方式 |
GB2271202B (en) * | 1992-10-01 | 1995-12-13 | Digital Equipment Int | Dynamic non-coherent cache memory resizing mechanism |
US5465342A (en) * | 1992-12-22 | 1995-11-07 | International Business Machines Corporation | Dynamically adaptive set associativity for cache memories |
GB2275119B (en) * | 1993-02-03 | 1997-05-14 | Motorola Inc | A cached processor |
US5539894A (en) * | 1993-04-20 | 1996-07-23 | Sun Microsystems, Inc. | Method and apparatus for optimizing a sector cache tag, block and sub-block structure base on main memory size |
US5809524A (en) * | 1994-01-04 | 1998-09-15 | Intel Corporation | Method and apparatus for cache memory replacement line identification |
TW321744B (ja) * | 1994-04-01 | 1997-12-01 | Ibm | |
US5553061A (en) * | 1994-06-27 | 1996-09-03 | Loral Fairchild Corporation | Packet processor having service priority and loss priority features |
US6049802A (en) * | 1994-06-27 | 2000-04-11 | Lockheed Martin Corporation | System and method for generating a linked list in a computer memory |
US5487061A (en) * | 1994-06-27 | 1996-01-23 | Loral Fairchild Corporation | System and method for providing multiple loss and service priorities |
JPH08147241A (ja) * | 1994-11-22 | 1996-06-07 | Seiko Epson Corp | 情報処理装置およびその構成方法 |
US5617347A (en) * | 1995-03-17 | 1997-04-01 | Fujitsu Limited | Cache memory system and method thereof for storing a staged memory item and a cache tag within a single cache array structure |
US5737550A (en) * | 1995-03-28 | 1998-04-07 | Advanced Micro Devices, Inc. | Cache memory to processor bus interface and method thereof |
US5802572A (en) * | 1996-03-15 | 1998-09-01 | International Business Machines Corporation | Write-back cache having sub-line size coherency granularity and method for maintaining coherency within a write-back cache |
US5960453A (en) * | 1996-06-13 | 1999-09-28 | Micron Technology, Inc. | Word selection logic to implement an 80 or 96-bit cache SRAM |
US5905996A (en) * | 1996-07-29 | 1999-05-18 | Micron Technology, Inc. | Combined cache tag and data memory architecture |
US5916312A (en) * | 1997-05-06 | 1999-06-29 | Sony Corporation | ASIC having flexible host CPU interface for ASIC adaptable for multiple processor family members |
JP3515333B2 (ja) | 1997-08-26 | 2004-04-05 | 株式会社東芝 | 情報処理装置 |
US6137307A (en) | 1998-08-04 | 2000-10-24 | Xilinx, Inc. | Structure and method for loading wide frames of data from a narrow input bus |
US6446169B1 (en) | 1999-08-31 | 2002-09-03 | Micron Technology, Inc. | SRAM with tag and data arrays for private external microprocessor bus |
KR100546298B1 (ko) * | 1999-09-15 | 2006-01-26 | 삼성전자주식회사 | Arm7t 프로세서를 이용한 마이크로 프로세서에서 명령어 모드에 따른 캐쉬 메모리의 라인 사이즈 제어 방법 및 그 장치 |
US6757840B1 (en) * | 2000-08-21 | 2004-06-29 | Micron Technology, Inc. | Device and method for configuring a cache tag in accordance with burst length |
US6684298B1 (en) | 2000-11-09 | 2004-01-27 | University Of Rochester | Dynamic reconfigurable memory hierarchy |
EP1274098B1 (en) * | 2001-06-20 | 2005-12-21 | Broadcom Corporation | Cache memory self test circuit |
JP3989312B2 (ja) | 2002-07-05 | 2007-10-10 | 富士通株式会社 | キャッシュメモリ装置およびメモリ割付方法 |
AU2002360640A1 (en) * | 2002-12-17 | 2004-07-29 | International Business Machines Corporation | Selectively changeable line width memory |
US7406579B2 (en) * | 2002-12-17 | 2008-07-29 | International Business Machines Corporation | Selectively changeable line width memory |
KR100723475B1 (ko) | 2004-03-30 | 2007-05-31 | 삼성전자주식회사 | 캐쉬 메모리 시스템과 버스의 버스 레이턴시 변화에 따라캐쉬 메모리의 라인 사이즈를 변경하는 방법 |
US7543113B2 (en) * | 2004-07-02 | 2009-06-02 | Hewlett-Packard Development Company, L.P. | Cache memory system and method capable of adaptively accommodating various memory line sizes |
US20060050976A1 (en) * | 2004-09-09 | 2006-03-09 | Stephen Molloy | Caching method and apparatus for video motion compensation |
US8022960B2 (en) * | 2007-02-22 | 2011-09-20 | Qualcomm Incorporated | Dynamic configurable texture cache for multi-texturing |
US9915614B2 (en) * | 2013-04-26 | 2018-03-13 | Academia Sinica | Microfluidic systems and devices for molecular capture, manipulation, and analysis |
US10719434B2 (en) * | 2014-12-14 | 2020-07-21 | Via Alliance Semiconductors Co., Ltd. | Multi-mode set associative cache memory dynamically configurable to selectively allocate into all or a subset of its ways depending on the mode |
EP3129886B1 (en) * | 2014-12-14 | 2019-10-02 | VIA Alliance Semiconductor Co., Ltd. | Dynamic cache replacement way selection based on address tag bits |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4309754A (en) * | 1979-07-30 | 1982-01-05 | International Business Machines Corp. | Data interface mechanism for interfacing bit-parallel data buses of different bit width |
JPS5687282A (en) * | 1979-12-14 | 1981-07-15 | Nec Corp | Data processor |
US4445177A (en) * | 1981-05-22 | 1984-04-24 | Data General Corporation | Digital data processing system utilizing a unique arithmetic logic unit for handling uniquely identifiable addresses for operands and instructions |
US4736293A (en) * | 1984-04-11 | 1988-04-05 | American Telephone And Telegraph Company, At&T Bell Laboratories | Interleaved set-associative memory |
US4953073A (en) * | 1986-02-06 | 1990-08-28 | Mips Computer Systems, Inc. | Cup chip having tag comparator and address translation unit on chip and connected to off-chip cache and main memories |
US4802085A (en) * | 1987-01-22 | 1989-01-31 | National Semiconductor Corporation | Apparatus and method for detecting and handling memory-mapped I/O by a pipelined microprocessor |
US4905188A (en) * | 1988-02-22 | 1990-02-27 | International Business Machines Corporation | Functional cache memory chip architecture for improved cache access |
US5119485A (en) * | 1989-05-15 | 1992-06-02 | Motorola, Inc. | Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation |
US5197144A (en) * | 1990-02-26 | 1993-03-23 | Motorola, Inc. | Data processor for reloading deferred pushes in a copy-back data cache |
US5226130A (en) * | 1990-02-26 | 1993-07-06 | Nexgen Microsystems | Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency |
US5014195A (en) * | 1990-05-10 | 1991-05-07 | Digital Equipment Corporation, Inc. | Configurable set associative cache with decoded data element enable lines |
US5228134A (en) * | 1991-06-04 | 1993-07-13 | Intel Corporation | Cache memory integrated circuit for use with a synchronous central processor bus and an asynchronous memory bus |
-
1990
- 1990-12-18 JP JP2403205A patent/JP2646854B2/ja not_active Expired - Fee Related
-
1991
- 1991-06-17 US US07/716,411 patent/US5301296A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH04217051A (ja) | 1992-08-07 |
US5301296A (en) | 1994-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2646854B2 (ja) | マイクロプロセッサ | |
JP2836321B2 (ja) | データ処理装置 | |
US5809274A (en) | Purge control for ON-chip cache memory | |
JPH08272692A (ja) | 仮想アドレス変換方法 | |
US5813030A (en) | Cache memory system with simultaneous access of cache and main memories | |
US5724548A (en) | System including processor and cache memory and method of controlling the cache memory | |
JPH0540694A (ja) | キヤツシユメモリ装置 | |
US4737908A (en) | Buffer memory control system | |
JP2580263B2 (ja) | バッファ記憶装置 | |
JPH03235143A (ja) | キャッシュメモリ制御装置 | |
JPH04369061A (ja) | キャッシュメモリの制御方式 | |
US5349672A (en) | Data processor having logical address memories and purge capabilities | |
JPH07234819A (ja) | キャッシュメモリ | |
JP2689920B2 (ja) | 演算処理システムに用いられるプリフェッチバッファ装置 | |
JP2976980B2 (ja) | キャッシュ制御方式 | |
JPH0934776A (ja) | 情報処理装置および方法 | |
JP2864548B2 (ja) | 命令キャッシュ装置 | |
JPH10222460A (ja) | データ転送制御装置 | |
JPH06301600A (ja) | 記憶装置 | |
JP2591928B2 (ja) | キャッシュ記憶回路 | |
JPH04248645A (ja) | キャッシュメモリ | |
JPH1031621A (ja) | キャッシュメモリシステム | |
JPH04199243A (ja) | キャッシュ記憶装置 | |
JPH11296431A (ja) | 情報処理装置及びキャッシュメモリのマッピング方法 | |
JPH02108138A (ja) | キャッシュメモリ回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080509 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |