JP2924575B2 - マイクロプロセッサ - Google Patents

マイクロプロセッサ

Info

Publication number
JP2924575B2
JP2924575B2 JP5150467A JP15046793A JP2924575B2 JP 2924575 B2 JP2924575 B2 JP 2924575B2 JP 5150467 A JP5150467 A JP 5150467A JP 15046793 A JP15046793 A JP 15046793A JP 2924575 B2 JP2924575 B2 JP 2924575B2
Authority
JP
Japan
Prior art keywords
bus
data
value
control signal
output
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 - Lifetime
Application number
JP5150467A
Other languages
English (en)
Other versions
JPH0713866A (ja
Inventor
淳一 高橋
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
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP5150467A priority Critical patent/JP2924575B2/ja
Publication of JPH0713866A publication Critical patent/JPH0713866A/ja
Application granted granted Critical
Publication of JP2924575B2 publication Critical patent/JP2924575B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Microcomputers (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マクロ命令記憶手段を
内蔵するマイクロプロセッサに関し、特にキャッシュメ
モリの自己診断方式に関する。
【0002】
【従来の技術】キャッシュメモリを内蔵したマイクロプ
ロセッサにおいて、キャッシュメモリの診断機能を実現
した従来例(特開昭57−94991)を、図6を用い
て説明する。
【0003】図6はアドレス403と、前記アドレス4
03の上位ビット群であるインデックス部221を入力
とし、インデックスアドレス224を出力するアドレス
トランスファー151と、前記アドレス・トランスファ
ー151の状態を制御する診断モード要求信号223
と、前記アドレス403の下位ビット群であるタグアド
レス222によってアクセスされる命令キャッシュユニ
ット101と、書き込みデータ404と主記憶メモリ4
05と外部データバス401の値を選択し、タグRAM
・入力信号225とデータRAM・入力信号226とし
て出力する第1のセレクター152と、前記第1のセレ
クター152の選択を制御するアクセスエリア選択信号
341、診断モードアクティブ信号342と、前記アク
セスエリア選択信号341と診断モードアクティブ信号
342を出力する制御レジスター154と、前記タグR
AM・入力信号225と前記インデックスアドレス22
4を入力とし、タグRAM・出力信号227を出力する
タグRAM部114と、前記データRAM・入力信号2
26を入力とし、データRAM・出力信号228を出力
するデータRAM111と、前記タグRAM・出力信号
227と前記インデックスアドレス224を入力とする
比較器118と、前記比較器118の出力と前記診断モ
ードアクティブ信号342を入力とし、キャッシュヒッ
ト信号313を発生するORゲート155と、前記タグ
RAM・出力信号227と前記データRAM・出力信号
228と前記主記憶メモリ405の値を選択し、前記外
部データバス401へ出力する第2のセレクター153
と、前記第2のセレクター153の選択を制御する前記
キャッシュヒット信号313、前記アクセスエリア選択
信号341から構成されている。
【0004】前記命令キャッシュユニット101は、タ
グRAM部114とデータRAM111から構成されて
おり、書き込みモードの時には、前記タグアドレス22
2で指定されたアドレスへ前記インデックスアドレス2
24、あるいは前記タグRAM・入力信号225の値を
前記タグRAM部114へ書き込むと同時に、前記デー
タRAM・入力信号226の値を前記データRAM11
1へ書き込む。
【0005】また読み出しモードの時には、前記タグア
ドレス部222で指定されたアドレスの記憶内容を、前
記タグRAM・出力信号227および前記データRAM
・出力信号228として出力する。
【0006】前記第1のセレクター152は、前記アク
セスエリア選択信号341によって前記タグRAM・入
力信号225と前記データRAM・入力信号226を出
力先として選択し、前記診断モードアクティブ信号34
2がアクティブの場合には前記書き込みデータ404の
値を、アクティブでない場合には前記主記憶メモリ40
5あるいは外部データバス401の値を出力する。
【0007】前記第2のセレクター153は、前記キャ
ッシュヒット信号313がインアクティブの場合には、
前記主記憶メモリ405の値を入力とし前記外部データ
バス401へ出力する。前記キャッシュヒット信号31
3がアクティブの場合には、前記アクセスエリア選択信
号341によって前記タグRAM・出力信号227と前
記データRAM・出力信号228の値を選択し、前記外
部データバス401へ出力する。
【0008】前記診断モード要求信号223がノンアク
ティブの場合には、前記アドレストランスファー151
へ入力されたインデックス部221はインデックスアド
レス224として出力されるが、前記診断モード要求信
号223がアクティブの場合には、前記インデックスア
ドレス224はハイインピーダンス状態となる。
【0009】命令キャッシュの診断モードでは、前記診
断モード要求信号223がアクティブとなるので前記イ
ンデックスアドレス224はハイインピーダンス状態と
なり、前記命令キャッシュユニット101は、前記タグ
アドレス222によってのみアクセスが可能となる。
【0010】また、前記診断モードアクティブ信号34
2をアクティブにするように前記制御レジスター154
を設定する事によって、前記キャッシュヒット信号31
3が常にアクティブ状態となる。
【0011】従って、前記命令キャッシュユニット10
1のどの部分を診断するかに応じて前記制御レジスター
154を制御することにより、前記命令キャッシュユニ
ット101が読み出しモードの時には、前記タグアドレ
ス222で指定したアドレスの記憶内容を、前記外部デ
ータバス401へ出力することが出来る。
【0012】また、前記命令キャッシュユニット101
が書き込みモードの時には、所望のデータを前記書き込
みデータ404へ設定する事によって、前記タグアドレ
ス222で指定したアドレスへ前記書き込みデータ40
4の値を書き込むことが出来る。
【0013】こうして従来例によれば、キャッシュメモ
リに対して通常のメモリと同様に書き込み、読み出しが
可能になるため、キャッシュメモリの診断機能を容易に
実現することが出来る。
【0014】
【発明が解決しようとする課題】上述した従来の技術を
用いてキャッシュメモリの自己診断を行うには、前記制
御レジスタを制御する手段と、前記第1のセレクターへ
所望のデータを供給するためのデータアクセス手段と、
前記キャッシュメモリの自己診断を行うためのプログラ
ムを内蔵した制御記憶手段と、前記自己診断プログラム
を実行するためのCPUが必要となる。
【0015】また、前記キャッシュメモリは通常のRA
Mと同様にデータアクセスが可能なため、前記キャッシ
ュメモリの自己診断プログラムを実行するCPUの命令
語と同じコードをテストデータとして使えない欠点があ
る。
【0016】
【課題を解決する手段】RAMの検査マイクロプログラ
ムを格納する制御記憶手段と、前記制御記憶手段の出力
を入力とするデコード手段と、プリフェッチポインター
(PFP)と、実行ユニット(EXU)中の第1のロー
カルデータバスの値を保持している第1のラッチと、前
記PFPの値と前記第1のラッチの値を選択し内部アド
レスバスへ出力するバス選択手段と、前記バス選択手段
の選択を制御する第1のフリップフロップ(FF)と、
前記第1のFFの状態を制御する前記デコード手段の出
力である第1の制御信号と、前記第1のローカルデータ
バスを入力とし第2のローカルデータバスへ演算結果を
出力する演算器と、前記演算器の演算を制御する前記デ
コード手段の出力である第2の制御信号と、前記第2の
ローカルデータバスの値を保持する第2のラッチと、外
部データバスの値を保持する第3のラッチと、前記第2
のラッチの保持する値と前記第3のラッチの保持する値
を選択し第3のローカルデータバスへ出力する第1のセ
レクターと、前記第1のセレクターの選択を制御する第
2のFFと、前記第2のFFの状態を制御する前記デコ
ード手段の出力である第3の制御信号と、前記第3のロ
ーカルデータバスの値と前記外部データバスの値を選択
する第2のセレクターと、前記第2のセレクターの選択
を制御する第3のFFと、前記第3のFFの状態を制御
する前記デコード手段の出力である第4の制御信号と、
前記第2のセレクターで選択された値を前記第1のロー
カルデータバスへ出力する第4のラッチと、前記内部ア
ドレスバスによってアドレッシングされるマクロ命令記
憶手段と、前記内部アドレスバスの値と前記第3のロー
カルデータバスの値を選択し前記マクロ命令記憶手段へ
書き込む第3のセレクターと、前記第3のセレクターの
選択を制御する第4のFFと、前記第4のFFの状態を
制御する前記デコード手段の出力である第5の制御信号
を有する事を特徴とする。
【0017】上記1のマイクロプロセッサにおいて、前
記マクロ命令記憶手段は、データメモリとタグメモリを
独立してリード/ライト可能なキャッシュメモリであ
り、データアクセスの際に前記データメモリと前記タグ
メモリの選択を制御する第5のFFと、前記第5のFF
の状態を制御する前記デコード手段の出力である第6の
制御信号を有する事を特徴とする。
【0018】上記2のマイクロプロセッサにおいて、前
記RAMの検査マイクロプログラムのアルゴリズムとし
てマーチングテスト法を用いている事を特徴とする。
【0019】
【実施例】次に本発明について図面を用いて説明する。
【0020】図1は、本発明の1実施例のブロック図で
ある。
【0021】図1を参照すると本実施例は、マイクロ命
令語を有するマイクロプログラムROM(MROM)1
04と、前記MROM104から出力されるマイクロ命
令語を保持するマイクロ命令バッファ103と、前記マ
イクロ命令バッファ103の出力をデコードする命令デ
コーダーユニット102と、インストラクションポイン
ターバスIPビット[31−0]202を入力とし、イ
ンストラクションコードバスICビット[31−0]2
01に対してデータアクセスを行う命令キャッシュユニ
ット101と、前記命令キャッシュユニット101のデ
ータアクセスを制御する前記命令デコーダーユニット1
02の出力であるタグRAM・データバスセレクター制
御信号301、第1のトランスファー制御信号302、
第2のトランスファー制御信号303、第3のトランス
ファー制御信号304、有効化フラグ・アクセス制御信
号305、拡張エリア・アクセス制御信号306、デー
タRAM・アクセス制御信号307と、前記インストラ
クションポインターバスIPビット[31−0]202
の値を入力として前記命令キャッシュユニット101の
エントリーアドレスを生成し、前記インストラクション
ポインターバスIPビット[31−0]202へ出力す
るプリフェッチポインター106と、前記プリフェッチ
ポインター106と第1のローカルデータバスRDビッ
ト[31−0]203の値を選択し、前記インストラク
ションポインターバスIPビット[31−0]202へ
出力するバスレジスター105と、前記バスレジスター
105の状態を保持しているフリップフロップを制御す
る前記命令デコーダーユニット102の出力であるバス
レジスタ制御信号308と、前記第1のローカルデータ
バスRDビット[31−0]203の値を入力とし第2
のローカルデータバスRDビット[31−0]204へ
演算結果を出力する演算ユニット107と、前記演算ユ
ニット107の演算を制御する前記命令デコーダーユニ
ット102の出力である演算結果出力ラッチ制御信号3
09、演算制御信号310、テンポラリーレジスタファ
イル制御信号311、データ生成手段制御信号312
と、前記インストラクションコードバスICビット[3
1−0]201と前記第2のローカルデータバスRDビ
ット[31−0]204と外部データバス401の値を
選択し、前記インストラクションコードバスICビット
[31−0]201あるいは前記第1のローカルデータ
バスRDビット[31−0]203へ出力するデータ制
御ユニット108と、前記データ制御ユニット108の
選択を制御する前記命令デコーダーユニット102の出
力である第1のデータセレクター制御信号313、第2
のデータセレクター制御信号314から構成されてい
る。
【0022】命令キャッシュユニット101のブロック
図を図2に示す。
【0023】この図から命令キャッシュユニット101
は、インストラクションポインターバスIPビット[9
−2]210を入力とするデータRAM・アドレスデコ
ーダー110と、32ビット長のマクロ命令語を有し、
前記データRAM・アドレスデコーダー110によりア
ドレッシングされるデータRAM111と、前記データ
RAM111から出力されるデータRAM・入出力バス
DBビット[31−0]213を入力とし、前記インス
トラクションコードバスICビット[31−0]201
に対するデータアクセスを制御するデータRAM・アク
セス手段112と、前記データRAM・アクセス手段1
12を制御する前記データRAM・アクセス制御信号3
07と、前記インストラクションポインターバスIPビ
ット[9−3]211を入力とするタグRAM部・アド
レスデコーダー113と、27ビット長のタグデータを
有し、前記タグRAM部・アドレスデコーダー113に
よりアドレッシングされるタグRAM部114と、前記
タグRAM部114から出力されるタグRAM・データ
バスTDビット[27−24]214を入力とし、前記
インストラクションコードバスICビット[27−2
4]215に対するデータアクセスを制御する拡張エリ
ア・アクセス手段115と、前記拡張エリア・アクセス
手段115を制御する前記拡張エリア・アクセス制御信
号306と、前記タグRAM部114から出力されるタ
グRAM・データバスTDビット[23−22]216
を入力とし、前記インストラクションコードバスICビ
ット[23−22]217に対するデータアクセスを制
御する有効化フラグ・アクセス手段116と、前記有効
化フラグ・アクセス手段116を制御する前記有効化フ
ラグ・アクセス制御信号305と、前記タグRAM部1
14から出力されるタグRAM・データバスTDビット
[21−0]218とインストラクションポインターバ
スIPビット[31−10]212を入力とする比較器
118と、前記比較器118の出力と前記有効化フラグ
・アクセス手段116の出力を入力とし、キャッシュヒ
ット信号313を発生するANDゲート117と、前記
インストラクションコードバスICビット[21−0]
219と前記インストラクションポインターバスIPビ
ット[31−10]212の値を選択し前記タグRAM
・データバスTDビット[21−0]218へ出力する
タグRAMデータバス・セレクター122と、前記タグ
RAM・データバスセレクター122の状態を保持して
いるフリップフロップを制御する前記タグRAM・デー
タバスセレクター制御信号301と、前記タグRAM・
データバスTDビット[21−0]218の前記比較器
118への経路を遮断する第1のトランスファー119
と、前記第1のトランスファー119を制御する前記第
1のトランスファー制御信号302と、前記タグRAM
・データバスTDビット[21−0]218の値を前記
インストラクションコードバスICビット[31−0]
301へ出力する事を抑制する第2のトランスファー1
20と、前記第2のトランスファー120を制御する前
記第2のトランスファー制御信号303と、前記インス
トラクションポインターIPビット[31−10]21
2の前記比較器118への経路を遮断する第3のトラン
スファー121と、前記第3のトランスファー121を
制御する前記第3のトランスファー制御信号304から
構成されている。
【0024】前記タグRAM部114は、読み出しモー
ドの時には前記インストラクションポインターバスIP
ビット[9−3]211で指定したアドレスの記憶内容
をビット[27−24]フィールド、ビット[23−2
2]フィールド、ビット[21−0]フィールドに3分
割し、ビット[27−24]フィールドを拡張エリアと
して前記タグRAM・データバスTDビット[27−2
4]214へ、ビット[23−22]フィールドを有効
化フラグとして前記タグRAM・データバスTDビット
[23−22]216へ、ビット[21−0]フィール
ドをタグとして前記タグRAM・データバスTDビット
[21−0]218へ出力する。また書き込みモードの
時には、前記タグRAM・データバスTDビット[27
−24]214と前記タグRAM・データバスTDビッ
ト[23−22]216と前記タグRAM・データバス
TDビット[21−0]218の値を、前記インストラ
クションポインターバスIPビット[9−3]211で
指定したアドレスへ書き込む機構を有する。
【0025】命令キャッシュの診断モードにおいて、前
記タグRAM部114の任意のアドレスへ任意のデータ
を書き込む場合には、前記インストラクションポインタ
ーバスIPビット[9−3]211へアクセスすべきア
ドレスを設定し、前記インストラクションコードバスI
Cビット[31−0]201へ書き込みデータを設定し
た後、前記第1のトランスファー制御信号302によっ
て第1のトランスファー119を遮断し、前記第3のト
ランスファー制御信号304によって第3のトランスフ
ァー121を遮断して前記タグRAMデータバス・セレ
クター制御信号301により前記インストラクションコ
ードバスICビット[21−0]219の値を、前記タ
グRAM・データバスTDビット[21−0]218へ
出力する。それと同時に前記有効化フラグ・アクセス制
御信号305により前記インストラクションコードバス
ICビット[23−22]217の値を、前記タグRA
M・データバスTDビット[23−22]216へ出力
し、前記拡張エリア・アクセス制御信号306により前
記インストラクションコードバスICビット[27−2
4]215の値を、前記タグRAM・データバスTDビ
ット[27−24]214へ出力することによって所望
のアドレスへ前記インストラクションコードバスICビ
ット[31−0]201の値を書き込むことが出来る。
なおデータの書き込みに際しては、インストラクション
コードバスICビット[31−0]201のビット[3
1−28]フィールドは無視される。
【0026】また前記タグRAM部114の任意のアド
レスから記憶内容を読み出す場合には、所望のアドレス
を前記インストラクションポインターバスIPビット
[9−3]211へ設定した後、前記第1のトランスフ
ァー制御信号302によって前記第1のトランスファー
119を導通状態とし、前記第2のトランスファー制御
信号303により前記第2のトランスファーも導通状態
にする。そして前記第3のトランスファー制御信号30
4により前記第3のトランスファーを遮断することによ
って前記所望のアドレスの記憶内容のビット[21−
0]フィールドが前記タグRAM・データバスTDビッ
ト[21−0]218へ出力される。それと同時に、前
記有効化フラグ・制御信号305により前記所望のアド
レスの記憶内容のビット[23−22]フィールドが前
記タグRAM・データバスTDビット[23−22]2
16へ出力され、前記拡張エリア・制御信号306によ
り前記所望のアドレスの記憶内容のビット[27−2
4]フィールドが前記タグRAM・データバスTDビッ
ト[27−24]214へ出力される。従って上記の動
作により前記所望のアドレスの記憶内容を前記インスト
ラクションコードバスICビット[31−0]201へ
出力できる。なお読み出しの際には、前記インストラク
ションコードバスICビット[31−0]201のビッ
ト[31−28]フィールドは、コード“000
(2) ”で補われる。
【0027】次に前記データRAM111の任意のアド
レスへ任意のデータを書き込む場合には、前記タグRA
M114と同様に前記インストラクションポインターバ
スIPビット[9−2]210へアクセスすべきアドレ
スを設定し、前記インストラクションコードバスICビ
ット[31−0]201へ書き込みデータを設定した
後、前記データRAM・アクセス制御信号307によっ
て前記インストラクションコードバスICビット[31
−0]201の値を前記所望のアドレスへ書き込むこと
が出来る。
【0028】また、前記データRAM111の任意のア
ドレスから記憶内容を読み出す際には、所望のアドレス
を前記インストラクションポインターバスIPビット
[9−2]210へ設定し、前記データRAM・アクセ
ス制御信号307によって前記所望のアドレスの記憶内
容のビット[31−0]フィールドが前記インストラク
ションコードバスICビット[31−0]201へ出力
される。
【0029】なお前記データRAM111は、1エント
リーのタグに対して64ビット長のデータ記憶領域を割
り当てるために、インストラクションポインターバスI
Pビット[2]をオフセット信号として用いているが、
詳細は省略する。
【0030】次に演算ユニット107のブロック図を図
3に示す。
【0031】この図から演算ユニット107は、前記第
1のローカルデータバスRDビット[31−0]203
と前記第2のローカルデータバスRDビット[31−
0]204を選択して、前記データ生成手段制御信号3
12によって生成した32ビット長のデータを出力する
データ生成手段134と、前記第2のローカルデータバ
スRDビット[31−0]204を入力とし前記第1の
ローカルデータバスRDビット[31−0]203に対
してデータアクセスを行う作業用レジスタWR133
と、演算結果出力信号320と前記第1のローカルデー
タバスRDビット[31−0]203と前記第2のロー
カルデータバスRDビット[31−0]204の値を選
択して保持し、前記保持した値を第1の演算データ信号
322、第2の演算データ信号323、前記第1のロー
カルデータバスRDビット[31−0]203、あるい
は前記第2のローカルデータバスRDビット[31−
0]204として出力するテンポラリーレジスタファイ
ルTR132と、前記テンポラリーレジスタファイルT
R132の選択を制御するテンポラリーレジスタファイ
ル制御信号311と、前記第1の演算データ信号322
と前記第2の演算データ信号323を入力として算術・
論理演算を行った結果を前記演算結果出力信号320と
して出力し、それと同時に前記演算結果のステータスを
示すフラグステータス信号321を出力するALU13
1と、前記ALU131の演算を制御する前記演算制御
信号309と、前記ローカルデータバスRDビット[3
1−0]203と前記ローカルデータバスRDビット
[31−0]204を選択して、ラッチされた前記演算
結果出力信号320の値を出力する演算結果出力ラッチ
130と、前記演算結果出力ラッチ130の選択を制御
する前記演算結果出力ラッチ制御信号309から構成さ
れている。
【0032】また前記テンポラリーレジスタファイルT
R132は、32ビット長の第1のテンポラリーレジス
タTR135と第2のテンポラリーレジスタTR136
を有しており、前記第1のテンポラリーレジスタTR1
35と第2のテンポラリーレジスタTR136の選択
は、前記テンポラリーレジスタファイル制御信号311
によって制御される。
【0033】図4は、データ制御ユニット108のブロ
ック図を示している。
【0034】この図からデータ制御ユニット108は、
前記インストラクションコードバスICビット[31−
0]201と外部データバス401の値を選択し、オペ
ランドリードデータ信号330として出力する第1のデ
ータセレクター141と、前記第1のデータセレクター
141の状態を保持しているフリップフロップを制御す
る前記第1のデータセレクター制御信号313と、前記
オペランドリードデータ信号330の値をラッチし、前
記第1のローカルデータバスRDビット[31−0]2
03へ出力するオペランドリードレジスターOPR14
0と、前記第2のローカルデータバスRDビット[31
−0]204の値をラッチし、オペランドライトデータ
信号332として出力するオペランドライトレジスター
OPW143と、前記オペランドライトデータ信号33
2の値を前記外部データバス401へ出力する出力手段
144と、前記外部データバス401の値をラッチし、
インストラクションコード信号331として出力するイ
ンストラクションコードフェッチレジスターICF14
2と、前記インストラクションコード信号331と前記
オペランドライトデータ信号332の値を選択し、前記
インストラクションコードバスICビット[31−0]
201へ出力する第2のデータセレクター145と、前
記第2のデータセレクター145の状態を保持している
フリップフロップを制御する前記第2のデータセレクタ
ー制御信号314から構成されている。
【0035】命令キャッシュの診断モードに於て、テス
トデータを前記命令キャッシュユニット101へ書き込
む場合には、前記第2のローカルデータバスRDビット
[31−1]204へ出力された前記テストデータを前
記オペランドライトレジスターOPW143でラッチ
し、前記第2のデータセレクター制御信号314により
前記オペランドライトレジスターOPW143の値を選
択して前記インストラクションコードバスICビット
[31−0]201へ出力する。
【0036】また、前記命令キャッシュユニット101
からテストデータを読み込む場合には、前記第1のデー
タセレクター制御信号313によって前記第1のデータ
セレクター141を制御し、前記インストラクションコ
ードバスICビット[31−0]201へ出力された前
記テストデータを、前記オペランドリード・データ信号
330として出力する。前記テストデータは、前記オペ
ランドリードレジスターOPR140でラッチされ、前
記第1のローカルデータバスRDビット[31−0]2
04へ出力される。
【0037】前記バスレジスター105は、前記プリフ
ェッチポインター106と前記第1のローカルデータバ
スRDビット[31−0]203の値を選択し、前記イ
ンストラクションポインターバスIPビット[31−
0]202へ出力するラッチから構成されている。
【0038】命令キャッシュ診断モードでは、前記演算
ユニット107で生成したアドレスを前記命令キャッシ
ュユニット101のエントリーアドレスとするため、前
記バスレジスター105は前記第1のローカルデータバ
スRDビット[31−0]203の値を保存する。
【0039】前記MROM104は、前記命令キャッシ
ュユニット101を検査するためのマイクロプログラム
を内蔵し、命令キャッシュの診断モードの時に前記検査
マイクロプログラムを前記マイクロ命令バッファ103
へ出力する。
【0040】前記命令デコーダーユニット102は、前
記マイクロ命令バッファ103で保持されたマイクロ命
令語をデコードし、前記タグRAMデータバス・セレク
ター制御信号301、前記第1のトランスファー制御信
号302、前記第2のトランスファー制御信号303、
前記第3のトランスファー制御信号304、前記有効化
フラグ・アクセス制御信号305、前記拡張エリア・ア
クセス制御信号306、前記データRAM・アクセス制
御信号307、前記バスセレクター制御信号308、前
記演算結果出力ラッチ制御信号309、前記演算制御信
号310、前記テンポラリーレジスタファイル制御信号
311、前記データ生成手段制御信号312、前記第1
のデータセレクター制御信号313、前記第2のデータ
セレクター制御信号314を出力する機能を有してい
る。
【0041】本実施例では、マーチングテスト法により
前記命令キャッシュユニット101を検査するためのマ
イクロプログラムを、前記MROM104に内蔵してい
る。図5は、前記MROM104に内蔵された前記マイ
クロプログラムにより前記命令キャッシュユニット10
1のマーチングテストを行うための手順をフローチャー
トで示したものである。命令キャッシュ診断モードで実
行される診断手順を図5(a)を用いて説明する。
【0042】初めに前記データRAM111と前記タグ
RAM部114の初期化を行う。
【0043】データRAMアクセス宣言1では、前記デ
ータRAM111へデータを書き込めるように前記デー
タRAM・アクセス制御信号307を出力し、前記デー
タRAM111のアドレスの上限値(本実施例では、F
(16))をエントリーアドレスとして前記第1のテンポ
ラリーレジスタTR135に設定した後クリアー・サブ
ルーチンを呼び出す。
【0044】前記クリアー・サブルーチンでは、図5
(b)に示したように前記第1のテンポラリーレジスタ
TR135の値が示すエントリーアドレスへ前記データ
生成手段134で生成したコード“00000000
(16)”を書き込む。その後前記ALU131で前記第1
のテンポラリーレジスタTR135の値がコード“00
000000(16)”か比較し、前記ALU131から出
力される前記演算結果ステータス信号321によって前
記第1のテンポラリーレジスタTR135の値がコード
“00000000(16)”の場合には、サブルーチンか
ら復帰し、それ以外の場合には前記第1のテンポラリー
レジスタTR135の値を1デクリメントして上記クリ
アサブルーチンを繰り返す。
【0045】タグRAM部アクセス宣言1では、前記デ
ータRAMアクセス宣言1と同様に前記タグRAM部1
14へデータを書き込めるように前記第1のトランスフ
ァー制御信号302、前記第2のトランスファー制御信
号303、前記第3のトランスファー制御信号304、
前記有効化フラグ・アクセス制御信号305、前記拡張
エリア・アクセス制御信号306を出力して、前記タグ
RAM部114のアドレスの上限値(本実施例では、7
(16))をエントリーアドレスとして前記第1のテンポ
ラリーレジスタTR135に設定した後、クリアー・サ
ブルーチンを呼び出す。
【0046】データRAMアクセス宣言2では、前記デ
ータRAM111へデータを書き込めるように前記デー
タRAM・アクセス制御信号307を出力する。
【0047】次に書き込むべきテストデータ(コード
“55555555(16)”)を前記データ生成手段13
4で生成し、前記第1のテンポラリーレジスタTR13
5へ転送した後マーチングテスト・サブルーチンを呼び
出す。
【0048】前記マーチングテスト・サブルーチンで
は、図5(c)に示したようにエントリアドレスを保持
する前記作業用レジスタWR133をコード“0000
0000(16)”で初期化し、前記エントリーアドレスか
ら読みだした記憶内容を、前記第2のテンポラリーレジ
スタTR136へ転送する。前記ALU131により前
記第2のテンポラリーレジスタTR136の値がコード
“00000000(16)”か比較し、コード“0000
0000(16)”でない場合には前記外部データバス40
1へエラーコードを出力し、命令キャッシュ診断モード
を終了する。前記第2のテンポラリーレジスタTR13
6の値がコード“00000000(16)”の時には、前
記作業用レジスターWR133の値が示すエントリーア
ドレスへ前記第1のテンポラリーレジスタTR135の
値を書き込む。
【0049】次に前記作業用レジスタWR133の値が
示すエントリーアドレスから記憶内容を読みだし、前記
ALU131で前記第1のテンポラリーレジスタTR1
35の値との排他的論理和(XOR)をとる。その結果
がコード“00000000(16)”である場合は、前記
作業用レジスタWR133の値を4インクリメントし、
コード“00000400(16)”になるまでマーチング
テスト・サブルーチンを繰り返す。また、XORを取っ
た結果がコード“00000000(16)”でない場合に
は、前記外部データバス401へエラーコードを出力し
命令キャッシュ診断モードを終了する。
【0050】引続きテストデータ(コード“AAAAA
AAA(16)”)を前記データ生成手段134で生成し、
前記第1のテンポラリーレジスタTR135へ転送した
後マーチングテスト・サブルーチンを呼び出し、検査を
継続する。
【0051】前記マーチングテスト・サブルーチン内で
のエラーが発生しなかった場合には、タグRAMアクセ
ス宣言2によって前記タグRAM部114へデータが書
き込めるように、前記第1のトランスファー制御信号3
02、前記第2のトランスファー制御信号303、前記
第3のトランスファー制御信号304、前記有効化フラ
グ・アクセス制御信号305、前記拡張エリア・アクセ
ス制御信号306を出力して、前述したデータRAM1
11のテスト手段と同様にマーチングテストを行う。
【0052】上記のエラーが発生しなかった場合には正
常終了コードを前記外部データバス401へ出力し前記
命令キャッシュユニット101の自己診断を終了する。
【0053】
【発明の効果】以上述べたように本発明は、命令キャッ
シュメモリのエントリーアドレスを直接指示する制御手
段と、命令キャッシュの内容をデータとして読み書きす
るパスとデータ生成手段を有することにより、命令キャ
ッシュの自己診断をマイクロプログラムで行うことが可
能となる。
【0054】また、本発明により付加回路を必要としな
いだけでなく、CPUの命令語に関わらず任意のテスト
データで診断を行えるという効果がある。
【図面の簡単な説明】
【図1】本発明実施例のブロック図。
【図2】実施例の命令キャッシュユニットのブロック
図。
【図3】実施例の演算ユニットのブロック図。
【図4】実施例のデータ制御ユニットのブロック図。
【図5】実施例の命令キャッシュユニット自己診断手順
のフローチャート。
【図6】従来例のキャッシュメモリ自己診断方式のブロ
ック図。
【符号の説明】
101 命令キャッシュユニット 102 命令デコーダーユニット 103 マイクロ命令バッファ 104 MROM 105 バスレジスター 106 プリフェッチポインター 107 演算ユニット 108 データ制御ユニット 110 データRAM・アドレスデコーダー 111 データRAM 112 データRAM・アクセス手段 113 タグRAM・アドレスデコーダー 114 タグRAM部 115 拡張エリア・アクセス手段 116 有効化フラグ・アクセス手段 117 ANDゲート 118 比較器 119 第1のトランスファー 120 第2のトランスファー 121 第3のトランスファー 122 タグRAM・データバスセレクター 130 演算結果出力ラッチ 131 ALU 132 テンポラリーレジスタファイル(TR) 133 作業用レジスタ(WR) 134 データ生成手段 135 第1のテンポラリーレジスタ(TR) 136 第2のテンポラリーレジスタ(TR) 140 オペランドリードレジスタ(OPR) 141 第1のデータセレクター 142 インストラクションコード・フェッチレジス
タ(ICF) 143 オペランドライトレジスタ(OPW) 144 出力手段 151 アドレストランスファー 152 第1のセレクター 153 第2のセレクター 154 制御レジスタ 155 ORゲート 201 インストラクションコードバスICビット
[31−0] 202 インストラクションポインターバスIPビッ
ト[31−0] 203 第1のローカルデータバスRDビット[31
−0] 204 第2のローカルデータバスRDビット[31
−0] 210 インストラクションポインターバスIPビッ
ト[9−2] 211 インストラクションポインターバスIPビッ
ト[9−3] 212 インストラクションポインターバスIPビッ
ト[31−10] 213 データRAM・入出力バスDBビット[31
−0] 214 タグRAM・データバスTDビット[27−
24] 215 インストラクションコードバスICビット
[27−24] 216 タグRAM・データバスTDビット[23−
22] 217 インストラクションコードバスICビット
[23−22] 218 タグRAM・データバスTDビット[21−
0] 219 インストラクションコードバスICビット
[21−0] 221 インデックス部 222 タグアドレス 223 診断モード要求信号 224 インデックスアドレス 225 タグRAM・入力信号 226 データRAM・入力信号 227 タグRAM・出力信号 228 データRAM・出力信号 301 タグRAMデータバス・セレクター制御信号 302 第1のトランスファー制御信号 303 第2のトランスファー制御信号 304 第3のトランスファー制御信号 305 有効化フラグ・アクセス制御信号 306 拡張エリア・アクセス制御信号 307 データRAM・アクセス制御信号 308 バスレジスタ制御信号 309 演算結果出力ラッチ制御信号 310 演算制御信号 311 テンポラリーレジスタファイル制御信号 312 データ生成手段制御信号 313 第1のデータセレクター制御信号 314 第2のデータセレクター制御信号 320 演算結果出力信号 321 フラグステータス信号 322 第1の演算データ信号 323 第2の演算データ信号 330 オペランドリードデータ信号 331 インストラクションコード信号 332 オペランドライトデータ信号 341 アクセスエリア選択信号 342 診断モードアクティブ信号 401 外部データバス 403 アドレス 404 書き込みデータ 405 主記憶メモリ

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 RAMの検査マイクロプログラムを格納
    する制御記憶手段と、 前記制御記憶手段の出力を入力とするデコード手段と、 プリフェッチポインター(PFP)と、 実行ユニット(EXU)中の第1のローカルデータバス
    の値を保持している第1のラッチと、 前記PFPの値と前記第1のラッチの値を選択し内部ア
    ドレスバスへ出力するバス選択手段と、 前記バス選択手段の選択を制御する第1のフリップフロ
    ップ(FF)と、前記第1のFFの状態を制御する前記
    デコード手段の出力である第1の制御信号と、 前記第1のローカルデータバスを入力とし第2のローカ
    ルデータバスへ演算結果を出力する演算器と、 前記演算器の演算を制御する前記デコード手段の出力で
    ある第2の制御信号と、 前記第2のローカルデータバスの値を保持する第2のラ
    ッチと、 外部データバスの値を保持する第3のラッチと、 前記第2のラッチの保持する値と前記第3のラッチの保
    持する値を選択し第3のローカルデータバスへ出力する
    第1のセレクターと、 前記第1のセレクターの選択を制御する第2のFFと、 前記第2のFFの状態を制御する前記デコード手段の出
    力である第3の制御信号と、 前記第3のローカルデータバスの値と前記外部データバ
    スの値を選択する第2のセレクターと、 前記第2のセレクターの選択を制御する第3のFFと、 前記第3のFFの状態を制御する前記デコード手段の出
    力である第4の制御信号と、 前記第2のセレクターで選択された値を前記第1のロー
    カルデータバスへ出力する第4のラッチと、 前記内部アドレスバスによってアドレッシングされるマ
    クロ命令記憶手段と、前記内部アドレスバスの値と前記
    第3のローカルデータバスの値を選択し前記マクロ命令
    記憶手段へ書き込む第3のセレクターと、 前記第3のセレクターの選択を制御する第4のFFと、 前記第4のFFの状態を制御する前記デコード手段の出
    力である第5の制御信号を有する事を特徴とするマイク
    ロプロセッサ。
  2. 【請求項2】 請求項1記載のマイクロプロセッサにお
    いて、 前記マクロ命令記憶手段は、データメモリとタグメモリ
    を独立してリード/ライト可能なキャッシュメモリであ
    り、 データアクセスの際に前記データメモリと前記タグメモ
    リの選択を制御する第5のFFと、 前記第5のFFの状態を制御する前記デコード手段の出
    力である第6の制御信号を有する事を特徴とするマイク
    ロプロセッサ。
  3. 【請求項3】 請求項2記載のマイクロプロセッサにお
    いて、 前記RAMの検査マイクロプログラムのアルゴリズムと
    してマーチングテスト法を用いている事を特徴とするマ
    イクロプロセッサ。
JP5150467A 1993-06-22 1993-06-22 マイクロプロセッサ Expired - Lifetime JP2924575B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5150467A JP2924575B2 (ja) 1993-06-22 1993-06-22 マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5150467A JP2924575B2 (ja) 1993-06-22 1993-06-22 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JPH0713866A JPH0713866A (ja) 1995-01-17
JP2924575B2 true JP2924575B2 (ja) 1999-07-26

Family

ID=15497558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5150467A Expired - Lifetime JP2924575B2 (ja) 1993-06-22 1993-06-22 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JP2924575B2 (ja)

Also Published As

Publication number Publication date
JPH0713866A (ja) 1995-01-17

Similar Documents

Publication Publication Date Title
US5247639A (en) Microprocessor having cache bypass signal terminal
US4937738A (en) Data processing system which selectively bypasses a cache memory in fetching information based upon bit information of an instruction
US5652900A (en) Data processor having 2n bits width data bus for context switching function
JP2539357B2 (ja) デ−タ処理装置
US5590297A (en) Address generation unit with segmented addresses in a mircroprocessor
KR19980032859A (ko) 데이타 프로세서 및 데이타 처리시스템
JPH0827716B2 (ja) データ処理装置及びデータ処理方法
US6035122A (en) Compiler for converting source program into object program having instruction with commit condition
JP2001092662A (ja) プロセッサコア及びこれを用いたプロセッサ
JPS6125169B2 (ja)
US6496924B2 (en) Data processing apparatus including a plurality of pipeline processing mechanisms in which memory access instructions are carried out in a memory access pipeline
US6363474B1 (en) Process switching register replication in a data processing system
JPH08339298A (ja) マイクロプロセッサにおける命令追加方法及びそれを用いたマイクロプロセッサ
JP2924575B2 (ja) マイクロプロセッサ
KR910001708B1 (ko) 중앙처리장치
JP3145545B2 (ja) メモリアクセス装置
JP3507193B2 (ja) ロード・ストア命令処理装置
JP2607319B2 (ja) プログラマブルコントローラ
JPH0259495B2 (ja)
JP2819753B2 (ja) パイプライン・マイクロプロセッサ
JPH087713B2 (ja) マイクロプロセッサ
JPH07191879A (ja) デバッグ用命令の実行機能を有するマイクロプロセッサおよびデバッグ方法
JP2581298B2 (ja) メモリアクセス権情報供給機構
JPS60193046A (ja) 命令例外検出方式
JPH05204416A (ja) プログラマブルコントローラ

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990406