JPH1153260A - キャッシュメモリー内蔵半導体装置 - Google Patents

キャッシュメモリー内蔵半導体装置

Info

Publication number
JPH1153260A
JPH1153260A JP9211653A JP21165397A JPH1153260A JP H1153260 A JPH1153260 A JP H1153260A JP 9211653 A JP9211653 A JP 9211653A JP 21165397 A JP21165397 A JP 21165397A JP H1153260 A JPH1153260 A JP H1153260A
Authority
JP
Japan
Prior art keywords
tag
data
cache
instruction
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
Application number
JP9211653A
Other languages
English (en)
Inventor
Junichi Aoki
淳一 青木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP9211653A priority Critical patent/JPH1153260A/ja
Priority to EP98114575A priority patent/EP0896278A1/en
Priority to KR1019980031681A priority patent/KR19990023336A/ko
Publication of JPH1153260A publication Critical patent/JPH1153260A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means

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)

Abstract

(57)【要約】 【課題】 キャッシュメモリー内蔵半導体装置におい
て、全キャッシュラインの無効化時間の短縮が困難。 【解決手段】 命令タグメモリー4Aとデータタグメモ
リー4Bの共通アドレスラインに同時に書き込み可能と
する。

Description

【発明の詳細な説明】
【0001】
【発明の属するする技術分野】本発明はキャッシュメモ
リー内蔵半導体装置に係わり、特に、命令キャッシュメ
モリーとデータキャッシュメモリーを内蔵する半導体装
置に関する。
【0002】
【従来の技術】従来、命令キャッシュメモリーとデータ
キャッシュメモリーを内蔵する半導体装置では、電源投
入直後やリセット直後のキャッシュメモリー内のデータ
は不定あるいは無効となるため、すべてのキャッシュラ
インを一度無効化しなければならない。一般にキャッシ
ュラインの無効化は、タグメモリー中のVALIDビッ
トを0にセットすることで行う。このキャッシュライン
無効化処理は通常ソフトウエアで実行され、1命令で命
令キャッシュメモリーかデータキャッシュメモリーのど
ちらか一方を1キャッシュライン単位で無効化する。従
ってキャッシュライン数が増加するとその分キャッシュ
ラインの無効化処理回数が増え、全キャッシュラインの
無効化に必要な時間も増加してしまう。
【0003】図6に、一例としてキャッシュメモリー内
蔵マイクロプロセッサの概略構成図を示す。マイクロプ
ロセッサ1は、CPUコア2、命令キャッシュメモリー
3A、データキャッシュメモリー3B、命令タグメモリ
ー4A、データタグメモリー4B、キャッシュ制御回路
6、システムインターフェイス回路11を有している。
キャッシュラインを無効化する場合、CPUコア2はタ
グ書き込み命令を実行し、キャッシュアドレスを決定す
る。キャッシュ制御回路6はCPUコア2からの命令実
行結果からタグメモリーに書き込むタグデータとタグ書
き込み許可信号を生成し、キャッシュアドレスで指定さ
れたタグメモリー中のVALIDビットに0を書き込
む。全キャッシュラインを無効化するためには、上記タ
グ書き込み命令を全キャッシュライン数と等しい回数だ
け繰り返し実行しなければならないことになる。
【0004】図7は、従来のキャッシュメモリー構成図
である。タグ書き込み命令を実行することにより、キャ
ッシュ制御回路6によってタグ書き込み許可信号13と
命令タグデータタグ選択信号14が生成される。命令タ
グデータタグ選択信号14は、命令タグメモリーとデー
タタグメモリーのどちらに対してタグ書き込みを許可す
るかを決定するために使われる。例えば命令タグメモリ
ーを無効化する場合、命令タグデータタグ選択信号14
によりタグ書き込み許可信号13は命令タグ書き込み許
可信号8Aへ伝達され、アドレスバス9Aを通してアド
レス指定された命令タグラインにVALIDビット=0
のタグデータが書き込まれる。この一連の無効化処理が
キャッシュライン数と同じ回数だけ繰り返し行われる。
データタグメモリーを無効化する場合、タグ書き込み許
可信号13はデータタグ書き込み信号8Bに伝達され、
同様の無効化処理が実行される。
【0005】
【発明が解決しようとする課題】上述した無効化処理は
本来、特定の1タグラインに強制的にタグデータを書き
込むためのソフトウエア命令を利用し、VALIDビッ
トに0を書き込むことで全てのキャッシュラインを無効
化しようとするものである。従って全キャッシュライン
の無効化処理は、キャッシュライン数に等しい回数だけ
シーケンシャルに実行するしかなく、且つ命令キャッシ
ュラインとデータキャッシュラインはそれぞれ別々に無
効化しなければならない。
【0006】一般に全キャッシュライン無効化処理は、
電源投入直後やリセット直後だけ実行されればよいた
め、本半導体装置を使ったシステム等の実使用レベルで
は決して頻繁に実行されるものではなく、たとえ1回の
全キャッシュライン無効化処理に時間を要したとしても
さして問題視する程ではない。しかしながらLSIテス
ターを使ってデバイスをテストする場合、個々のパター
ンの独立性を維持する必要から、複数あるテストパター
ンの全ての先頭で上記無効化処理を実行しなければなら
ず、その結果、全キャッシュライン無効化処理の実行回
数がテストパターン数に比例して増加してしまう。この
ことはテスト時間の増加につながり、デバイスの生産性
を低下させる大きな要因の1つになっている。他方、デ
バイスに内蔵されるキャッシュメモリー容量は増加の一
途をたどっており、これに伴うキャッシュライン数の増
加によって1回の全キャッシュライン無効化処理に要す
る時間そのものも増加傾向にある。従って益々デバイス
のテスト時間を長くする要因になっている。
【0007】本発明の目的は、テスト時間短縮によるデ
バイスの生産性向上という観点から、全キャッシュライ
ン無効化処理の効率化を図ることで、それに要する時間
を短くすることにある。
【0008】
【課題を解決するための手段】本発明のキャッシュメモ
リー内蔵半導体装置においては、命令キャッシュメモリ
ーとデータキャッシュメモリーの共通アドレスとなるタ
グメモリーラインに同時書き込みを許可させ、両方のタ
グのVALIDビットに同時に0を書き込むようにす
る。
【0009】上記手段によれば、例えば命令キャッシュ
メモリーとデータキャッシュメモリーのライン数が等し
い場合、全キャッシュラインの無効化に要する時間を従
来の半分に短縮することができる。
【0010】
【発明の実施の形態】本発明の第1の実施の形態につい
て図面を参照して詳細に説明する。
【0011】図1は、本発明の第1の実施形態を示すキ
ャッシュメモリー内蔵半導体装置のキャッシュブロック
図である。本実施形態では、ソフトウエアによって命令
タグとデータタグへの同時書き込みを許可させる。キャ
ッシュ制御回路6は、CPUコアでのタグ書き込み命令
実行により、タグ書き込み許可信号13と命令タグデー
タタグ選択信号14と同時書き込み許可信号15を生成
することができる。またキャッシュ制御回路6は書き込
み許可信号選択回路12を有しており、同時書き込み許
可信号15に1が入力されて同時書き込みが許可される
と、書き込み許可信号選択回路12は、命令タグ書き込
み許可信号8Aとデータタグ書き込み許可信号8Bの両
方を同時に選択し、タグ書き込み信号13を伝達する。
キャッシュアドレスは、アドレスバス9Aと9Bを通し
て共通アドレスが命令タグ4Aとデータタグ4Bに同時
に与えられる。一方タグに書き込むデータも、タグバス
7Aと7Bを通して共通タグデータが命令タグ4Aとデ
ータタグ4Bに与えられる。このタグデータはVALI
Dビットを含んでおり、キャッシュ無効化時にはVAL
ID=0のデータが命令タグとデータタグに与えられ、
命令タグ書き込み許可信号8Aとデータタグ書き込み許
可信号8Bによって同時に書き込みが行われる。
【0012】図2は、本実施形態の書き込み許可信号選
択回路12を表わす回路図である。図3は、図2のタイ
ミングチャートを表わしており、図3を使って書き込み
許可信号選択回路12の動作を説明する。
【0013】サイクル1は従来例として命令タグだけを
無効化する場合のタイミングチャートを示す。従って同
時書き込み許可信号15(INVEN)は0である。ア
ドレスバス9A(ADDR)にADDR1が与えられ、
タグバス7A(TAG)にはTAG1が与えられてい
る。TAG1中のVALIDビットは0が与えられてい
るものとする。タグ書き込み許可信号13(TAGWE
N)は命令タグデータタグ選択信号14(ITAGSE
L)が1となって命令タグを選択しているので、命令タ
グ書き込み許可信号8A(ITAGWEN)が1とな
り、ADDR1で指定されたタグメモリーラインにVA
LID=0を含むタグデータが書き込まれ、このタグメ
モリーラインに対応するキャッシュラインが無効化され
る。一方、データタグ書き込み許可信号8B(DTAG
WEN)は0になっているため、共通アドレスをもつデ
ータタグラインのVALIDビットは何も書き込まれな
い。
【0014】サイクル2は、同時書き込み許可信号(I
NVEN)が1となって命令タグとデータタグヘの同時
書き込みが許可される。命令タグ書き込み許可信号8A
(ITAGWEN)とデータタグ書き込み許可信号8B
(DTAGWEN)は、同時書き込み許可信号15(I
NVEN)が1の時には、タグ書き込み許可信号13
(TAGWEN)と命令タグデータタグ選択信号14
(ITAGSEL)の論理値に関係なく、強制的に1に
セットされている。これにより、アドレスADDR2で
指定される命令タグとデータタグの共通アドレスライン
にVALIDビット=0を含むタグデータTAG2が同
時書き込みされる。従って共通キャッシュアドレスAD
DR2で指定された命令/データキャッシュラインが1
回のタグ書き込み命令の実行によって同時に無効化され
ることになる。従来は命令キャッシュ書き込み命令とデ
ータキャッシュ書き込み命令を別々に実行していたの
で、命令キャッシュライン数とデータキャッシュライン
数が等しい半導体装置の場合、全キャッシュラインの無
効化に必要なタグ書き込み命令の実行回数が半分で済
む。従って全キャッシュライン無効化処理に要する時間
も半分で済むことになる。
【0015】次に、本発明の第2の実施形態について図
面を参照して説明する。
【0016】図4は、本発明の第2の実施形態を示すキ
ャッシュメモリー内蔵半導体装置のキャッシュブロック
図である。第1の実施形態ではソフトウエアによって命
令タグとデータタグの同時書き込みを実行したのに対し
て、本実施形態では、外部ピンから直接キャッシュメモ
リーにアクセスできるテストモードを使って、外部から
タグラインのVALIDビットに0を書き込むものであ
る。
【0017】本キャッシュメモリー内蔵半導体装置は、
外部から直接キャッシュメモリーに読み書きできるテス
トモード回路16を有している。テストモード回路16
は、外部データバス10と外部コマンドバス17と外部
モード信号18を入力に持ち、書き込み許可信号生成回
路12、キャッシュアドレス生成回路13、タグデータ
生成回路14を有している。外部データバス10は、外
部からキャッシュアドレスおよびタグデータを入力する
ための信号線である。コマンドバス17は、どのキャッ
シュブロックにデータを書き込むかを決定するための信
号線である。外部からコマンドバス17に与える信号の
組み合わせの中には、命令タグとデータタグの同時書き
込みを行うためのコマンドが用意されているものとす
る。外部モード信号18は、外部から直接キャッシュへ
の書き込みを許可するためのテストモード設定信号であ
る。書き込み許可信号生成回路12は、外部コマンドバ
ス17で与えられるコマンドデータに応じて、命令タグ
書き込み許可信号8Aまたはデータタグ書き込み許可信
号8Bまたはその両方を同時に生成することができる。
アドレス生成回路13は、外部データバス10で与えら
れたキャッシュアドレスを内部アドレスバス9A、9B
に伝達するための回路である。タグデータ生成回路14
は、外部データバス10で与えられたタグ書き込みデー
タを内部タグバス7A,7Bに伝達するための回路であ
る。まず、外部モード信号18をアクティブにすること
で本半導体装置を、外部からキャッシュアクセス可能な
テストモードに設定する。次に外部データバス10から
テストモード回路16にキャッシュアドレスを与える
と、アドレスバス9A、9Bには命令タグとデータタグ
に共通のキャッシュアドレスが与えられる。引き続いて
外部データバス10からテストモード回路16に書き込
むべきタグデータを与えると、タグバス7A、7Bには
命令タグとデータタグに共通のタグデータが与えられ
る。コマンドバス17によってテストモード回路16に
命令タグとデータタグ同時書き込みコマンドが与えられ
ると、書き込み許可信号生成回路12は、命令タグ書き
込み許可信号8Aとデータタグ書き込み許可信号8Bを
同時にアクティブにする。この一連の処理よって、共通
キャッシュアドレスをもつ命令タグラインとデータタグ
ライン両方同時にタグデータが書き込まれる。この時、
書き込まれるタグデータ中のVALIDビットには0を
書き込むことで該当するキャッシュラインを無効化する
ことができる。以上の処理を全てのキャッシュラインに
対して実行すれば、全てのキャッシュラインを無効化す
ることができる。
【0018】図5は、図4の動作を表わすタイミングチ
ャートである。まず外部モード信号を1にすることで、
本半導体装置がテストモード状態に設定される。外部コ
マンドバスには、命令タグとデータタグの同時書き込み
コマンドを与える。外部データバス上にキャッシュアド
レスADDR1を与えると、内部のアドレスバス(AD
DR)には次のキャッシュアドレスADDR2が与えら
れるまでADDR1が出力され続ける。引き続いて、外
部データバス上にタグデータTAG1を与えると、内部
のタグバス(TAG)には次のタグデータTAG2が与
えられるまでTAG1が出力され続ける。アドレスバス
(ADDR)とタグバス(TAG)のデータが確定した
ところで、命令タグ書き込み許可信号(ITAGWE
N)とデータタグ書き込み許可信号(DTAGWEN)
が同時に1となり、同一キャッシュアドレスをもつ命令
タグラインとデータタグラインヘの同時書き込みが行わ
れる。タグデータ中のVALIDビットには0が与えら
れているため、該当する命令キャッシュラインとデータ
キャッシュラインは同時に無効化されることになる。従
来は命令キャッシュ書き込み処理とデータキャッシュ書
き込み処理を別々に実行していたので、命令キャッシュ
ライン数とデータキャッシュライン数が等しい半導体装
置の場合、全キャッシュラインの無効化に必要なタグ書
き込み命令の実行回数が半分で済む。従って全キャッシ
ュライン無効化処理に要する時間も半分で済むことにな
る。
【0019】
【発明の効果】以上説明したように、本発明の効果は、
同一キャッシュアドレスをもつ命令タグラインとデータ
タグラインヘの同時書き込みを許可することで、全キャ
ッシュラインを無効化するのに要する時間を削減するこ
とができる点である。全キャッシュラインの無効化時に
要する時間を従来の場合と比較すると、本発明により削
減された全キャッシュライン無効化時間△Tは以下の式
で与えられる。
【0020】△T={Lc/(Li+Ld)}×T ここで、Lcは共通アドレスをもつ命令キャッシュライ
ンとデータキャッシュラインの組み合わせ数、Liは全
命令キャッシュライン数、Ldは全データキャッシュラ
イン数,Tは従来の全キャッシュライン無効化時間であ
る。従って、命令キャッシュライン数とデータキャッシ
ュライン数が等しく、且つ全てのキャッシュラインが命
令キャッシュラインとデータタグラインの共通キャッシ
ュアドレスを持っている場合には、Li=Ld且つLc
=Liとなるので、削減された無効化時間△T=0.5
T、すなわち従来の半分の時間で全キャッシュラインが
無効化される。
【図面の簡単な説明】
【図1】本発明の第1の実施形態を示すキャッシュメモ
リー内蔵半導体装置のキャッシュブロック図である。
【図2】図1の書き込み許可信号選択回路12を表わす
回路図である。
【図3】図4の動作を表すタイミングチャートである。
【図4】本発明の第2の実施形態を示すキャッシュメモ
リー内蔵半導体装置のキャッシュブロック図である。
【図5】図4の動作を表すタイミングチャートである。
【図6】一般的なキャッシュメモリー内蔵マイクロプロ
セッサの概略構成図である。
【図7】従来のキャッシュメモリー構成図である。
【符号の説明】
1 マイクロプロセッサ 2 CPUコア 3A 命令キャッシュメモリ 3B データキャッシュメモリー 4A 命令タグメモリー 4B データタグメモリー 5A 命令キャッシュバス 5B データキャッシュバス 6 キャッシュ制御回路 7A 命令タグメモリー用タグバス 7B データタグメモリー用タグバス 8A 命令タグ書き込み許可信号 8B データタグ書き込み許可信号 9A 命令タグメモリー用アドレスバス 9B データタグメモリー用アドレスバス 10 外部データバス 11 システムインターフェイスブロック 12 書き込み許可信号選択回路 13 タグ書き込み許可信号 14 命令タグデータタグ選択信号 15 同時書き込み許可信号 16 テストモード回路 17 外部コマンドバス 18 外部モード信号

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 命令キャッシュメモリーとデータキャッ
    シュメモリーを内蔵する半導体装置において、 前記命令キャッシュメモリーと前記データキャッシュメ
    モリーの共通アドレスラインを同時に無効化処理するこ
    とを特徴とするキャッシュメモリー内蔵半導体装置。
  2. 【請求項2】 前記無効化処理は命令タグ及びデータタ
    グの共通アドレスラインに所定のタグデータを与えるこ
    とで行われる請求項1記載のキャッシュメモリー内蔵半
    導体装置。
JP9211653A 1997-08-06 1997-08-06 キャッシュメモリー内蔵半導体装置 Pending JPH1153260A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP9211653A JPH1153260A (ja) 1997-08-06 1997-08-06 キャッシュメモリー内蔵半導体装置
EP98114575A EP0896278A1 (en) 1997-08-06 1998-08-03 Semiconductor apparatus having internal cache memory
KR1019980031681A KR19990023336A (ko) 1997-08-06 1998-08-04 내장 캐쉬 메모리를 갖는 반도체 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9211653A JPH1153260A (ja) 1997-08-06 1997-08-06 キャッシュメモリー内蔵半導体装置

Publications (1)

Publication Number Publication Date
JPH1153260A true JPH1153260A (ja) 1999-02-26

Family

ID=16609368

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9211653A Pending JPH1153260A (ja) 1997-08-06 1997-08-06 キャッシュメモリー内蔵半導体装置

Country Status (3)

Country Link
EP (1) EP0896278A1 (ja)
JP (1) JPH1153260A (ja)
KR (1) KR19990023336A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6701417B2 (en) * 2001-04-11 2004-03-02 Sun Microsystems, Inc. Method and apparatus for supporting multiple cache line invalidations per cycle

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2200483B (en) * 1987-01-22 1991-10-16 Nat Semiconductor Corp Memory referencing in a high performance microprocessor
ATE138212T1 (de) * 1988-01-20 1996-06-15 Advanced Micro Devices Inc Integrierte cachespeichereinheit
JPH0748190B2 (ja) * 1990-01-22 1995-05-24 株式会社東芝 キャッシュメモリ内蔵マイクロプロセッサ

Also Published As

Publication number Publication date
KR19990023336A (ko) 1999-03-25
EP0896278A1 (en) 1999-02-10

Similar Documents

Publication Publication Date Title
US5276833A (en) Data cache management system with test mode using index registers and CAS disable and posted write disable
US4794523A (en) Cache memory architecture for microcomputer speed-up board
US6523136B1 (en) Semiconductor integrated circuit device with processor
US20070061537A1 (en) Processor system using synchronous dynamic memory
JP2001510611A (ja) 集積dmaコントローラを用いて集積メモリをテストする方法
JPH096680A (ja) キャッシュフラッシュ装置
JPH05128000A (ja) 内蔵キヤツシユメモリを有するマイクロプロセツサおよびその内蔵キヤツシユメモリのテスト方法
US6826670B2 (en) Accessing memory units in a data processing apparatus
US5095485A (en) Microprocessor equipped with parity control unit on same chip
JPH0528097A (ja) マイクロプロセツサ
US6862675B1 (en) Microprocessor and device including memory units with different physical addresses
JPH0916472A (ja) キャッシュメモリ試験方法
JPH1153260A (ja) キャッシュメモリー内蔵半導体装置
JPH03226852A (ja) データ処理装置
US20070033470A1 (en) Emulation Cache Access for Tag View Reads
US20050086454A1 (en) System and methods for providing a debug function built-in type microcomputer
JPH06243033A (ja) オンチップキャッシュを有するマイクロプロセサにおける多重化ステータス及び診断ピン
KR20030055150A (ko) 마이크로프로세서 및 마이크로프로세서의 처리 방법
US4628450A (en) Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor
JP2004318877A (ja) 知的な待ち方法
JP2002367397A (ja) メモリテスト兼初期化回路
JP2791319B2 (ja) データ処理装置
KR0155931B1 (ko) 외부에서 억세스 가능한 온칩 캐시 메모리 시스템
JP2002108702A (ja) マイクロコンピュータ及びデータ処理装置
JPH03228150A (ja) キャッシュメモリコントローラ