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

マイクロプロセッサ

Info

Publication number
JPH087713B2
JPH087713B2 JP61160503A JP16050386A JPH087713B2 JP H087713 B2 JPH087713 B2 JP H087713B2 JP 61160503 A JP61160503 A JP 61160503A JP 16050386 A JP16050386 A JP 16050386A JP H087713 B2 JPH087713 B2 JP H087713B2
Authority
JP
Japan
Prior art keywords
instruction
cache memory
purge
signal
memory
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
JP61160503A
Other languages
English (en)
Other versions
JPS6316350A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP61160503A priority Critical patent/JPH087713B2/ja
Publication of JPS6316350A publication Critical patent/JPS6316350A/ja
Publication of JPH087713B2 publication Critical patent/JPH087713B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マイクロプロセッサに関し、特にキャッシ
ュメモリの多機能化と高速化、およびソフトウエアのデ
バッグの高速化に好適な複数キャッシュメモリを内蔵し
たマイクロプロセッサに関するものである。
〔従来の技術〕
例えば、エムシー68020 32ビットのマイクロプロセ
ッサ ユーザーズ マニュアル、プレンティスホール、
1984、第7章(MC6802032−bit Microprocessor User′
s Manual,Prentice−Hall,1984,Section 7)に記載され
た32ビットのマイクロプロセッサMC68020、あるいは、
アイ・イー・イー・イー・マイクロ、1985 12月、第23
−36パージ(IEEE MICRO DEC,1985,pp.23−36)に記載
されている32ビットのマイクロプロセッサZ80000は、チ
ップ上に単一のキャッシュメモリを内蔵している。これ
らのマイクロプロセッサのキャッシュメモリは、メモリ
の内容を全て無効化するか否かを定める外部端子の1ビ
ットのみと、マイクロ命令とにより制御される。
〔発明が解決しようとする問題点〕
キャッシュメモリは、オンチップであるために小容量
であることを余儀なくされ、しかも高速性が要求され
る。キャッシュメモリは、一度アクセスしたアドレスと
データを1組にして蓄えておき、再度同じアドレスでア
クセスしようのしたときには、チップ外部つまり主記憶
装置にアクセスする前に、そのアドレスに対応するデー
タがキャッシュメモリに保持されているか否かを調べ
る。もし、キャッシュメモリに求めるデータが存在する
ときには、チップの外部にアクセスする必要はなく、そ
の分だけ処理速度が向上することになる。この場合、求
めるデータがキャッシュメモリにあるか否かを高速に判
定する必要がある。
連想メモリは、この判定をハードウエア化した回路に
より実現され、高速に処理することが可能である。しか
し、連想メモリは単なるメモリと比較して、回路構成が
複雑であるため、大容量化が困難である。また、連想の
対象となるデータに対応する比較器全てに検索データを
与えなければならないため、メモリが大容量になるほ
ど、高速化が困難となる。
また、別の問題として、デバッグの困難の問題があ
る。すなわち、プロセッサの内部にキャッシュメモリや
プリフェッチレジスタのように、実行に先立って命令を
取り込んでおくメモリが存在すると、プロセッサがどの
ような命令を実行中であるかをチップの外から判断する
ことが極めて困難となる。そのような状態では、ソフト
ウエアのデバッグの際に、チップの動作状態をチェック
することは困難である。
そこで、従来、キャッシュメモリへのアクセスを禁止
し、かつトレースモードとすることにより、これに対処
している。その状態では、プリフェッチされた命令は常
に無効にされ、1命令の実行する度ごとに、次の命令を
フェッチするためにチップ外部にアクセスすることにな
る。このように、外部つまり主記憶装置にアクセスする
ことにより、アドレスバスを通過するので、それを監視
すれば、各命令の境界を検出することが可能となり、デ
バッグの際に任意の命令で動作を停止して、その動作状
態を調べることができる。
一般に、チップの動作状態におけるこのようなチェッ
クには、インサーキットエミュレータが用いられる。こ
れは、チップの動作をソフトウェアを用いてエミュレー
トする装置である。この装置は、一般に、特定のアドレ
スへのアクセスを検出することができる。しかし、上記
の方法のように、トレースモードで動作させると、実行
した全ての命令についてチップの内部状態を外部メモリ
に退避するという無駄な処理を行うため、処理速度の点
で問題がある。
これを解決する方法としては、チェックしたい命令の
直前でトレースモードにする方法もあるが、その場合に
はデバッグの対象であるソフトウェアを変更することに
なり、不都合である。また、チェックしたい命令が変わ
る度にソフトウェアに手を加えなければならず、デバッ
グの効率が低下することになる。
本発明の目的は、これら従来の問題を改善し、キャッ
シュメモリの機能を拡張および動作の高速化を図るとと
もに、複数個のキャッシュメモリを持つシステムのデバ
ッグ効率の向上を図ることが可能なマイクロプロセッサ
を提供することにある。
〔問題点を解決するための手段〕
上記目的を達成するため、本発明は、主記憶装置とと
もに使用されるマイクロプロセッサであって、命令を格
納する命令キャッシュメモリと、オペランドを格納する
オペランドキャッシュメモリと、主記憶装置もしくは命
令キャッシュメモリから命令をフェッチし、該フェッチ
した命令をデコードする命令制御ユニットと、命令制御
ユニットによってデコードされた命令を実行し、該命令
の実行終了時に次命令要求信号を出力する命令実行ユニ
ットを具備してなり、外部からパージ制御情報が供給さ
れている際に、命令実行ユニットから出力された次命令
要求信号に応答してパージ制御情報に従って命令キャッ
シュメモリとオペランドキャッシュメモリのうち少なく
とも一方のキャッシュメモリの内容を無効化するパージ
指令信号を出力するパージ制御回路をさらに具備してな
り、パージ制御回路は、パージ指令信号による無効化の
処理と命令実行ユニットでデコードされた通常の命令の
処理を交互に実行するためのフリップフロップ回路を有
することを特徴としている。
〔作用〕
本発明においては、キャッシュメモリを機能分割する
ことにより、個々のキャッシュメモリの容量を小さくす
ることができ、また周辺回路を簡略化することができ、
個々のメモリごとに新たな機能を加えることも可能とな
る。また、分割したキャッシュメモリに対する処理を並
列に行わせることにより、処理の高速化が可能となる。
また、キャッシュメモリの選択線と処理を指定する信号
線をチップの外部端子に設けて、チップ外から直接に制
御できるようにするとともに、フリップフロップを設け
て、インサーキットエミュレータを用たデバッグを高速
に行い、1命令ごとの実行を可能としている。
〔実施例〕
第1図は、本発明の一実施例を示すマイクロプロセッ
サのブロック構成図である。ここでは、2個のキャッシ
ュメモリ7,8をマイクロプログラムにより制御するマイ
クロプロセッサ1の構成が示されている。キャッシュメ
モリ7,8には、いずれも連想メモリを用いており、一方
は命令キャッシュ(例えば、メモリ7)、他方はオペラ
ンドキャッシュ(例えば、メモリ8)である。この場
合、第1図のキャッシュメモリ制御回路12、レジスタ3
8、選択回路22等が、キャッシュメモリ7,8の制御部に対
応する。チップ外から制御回路に入力される制御情報
は、2つのキャッシュメモリ7,8の内容を無効化するか
否かを表わす1ビット(第3図に示すパージ情報PURG
E)と、無効化すべきキャッシュを選択するための制御
情報(第3図のDO7,O6)の2ビットである。無効化以外
の状態、すなわちデータの書き込み、読み出し、状態保
持は、マイクロ命令により制御される。
第1図において、1がマイクロプロセッサ、5が主記
憶装置であり、L61,L64が前述の外部端子であり、また
パージ制御回路6への入力端子L41,L49はキャッシュメ
モリ制御回路12からの出力端子に接続されている。プロ
セッサ1と主記憶装置5とは、アドレス線、データ線お
よび2本のコントロール線で結合される。2はインター
フェースユニット、3は命令制御ユニット、4は命令実
行ユニット、6はパージ制御回路、9はマイクロ命令を
格納したコントロールストレージのROM、10はアドレス
発生回路、11はデコーダ、12はキャッシュメモリ制御回
路、13,14はキャッシュメモリ7から読み出された命令
をセットするためのレジスタ、15,16,17は先入れ先出し
のFIFOバッファであって、ビット列が入力すると順次移
動する機能を有する。47,48は選択回路、38,40はレジス
タである。キャッシュメモリ7には命令が、キャッシュ
メモリ8にはデータが、それぞれ格納されているものと
する。
アドレス発生回路10から発生されたアドレスでキャッ
シュメモリ7がアクセスれると、そのキャッシュメモリ
7から先に命令がプリフェッチされて、レジスタ13,ま
たは14にセットされる。レジスタ13から選択回路48を介
してレジスタ40に送られるが、FIFOバッファ15または16
に格納される。最初に格納されているFIFOバッファ15の
命令が取り出され、デコーダに入力されて、ここに解析
された御、選択回路47,レジスタ38を経てROM9をアクセ
スする。これにより読み出されたマイクロ命令は、キャ
ッシュメモリ制御回路12で種々の制御信号を発生するこ
とにより、キャッシュメモリ8からオペランドとしての
データを読み出す。選択回路22は、どちらのキャッシュ
メモリがアクセスされるかを指定するために選択制御信
号を送出する。
このマイクロプロセッサ1は、命令をパイプラインで
処理している。
第5図は、第1図のパイプライン処理のシーケンスチ
ャートである。先ず、命令の読み出しが行われた後、命
令の解読が行われ、それによりマイクロ命令の読み出し
が行われる。そのマイクロ命令の内容により制御が行わ
れるとともに、演算のためのオペランド・データの読み
出しが行われる。データの読み出し中にも、制御が行わ
れる。
第1図に示すように、キャッシュメモリ7には命令
が、キャッシュメモリ8にはデータが、それぞれ別個に
格納されているため、並行して同時に両メモリをアクセ
スできる。従って、第5図に示すように、データ読み出
しと同時に、次と命令の読み出しが既に行われる。この
ようにして、処理の高速化が図られる。
第2図は、第1図におけるパージ制御回路の詳細構成
図である。パージ制御回路6は、パージ信号を線L61か
ら入力されると、線L62にパージ指令信号を出力し、ま
た線L63にパージ命令を出力する。すなわち、パージ制
御回路6は、パージ信号(L61)がハイレベルを持続し
ても、パージ処理と1命令の実行を交互に行わせるため
の機能を有している。すなわち、第2図のパージ指令信
号L62がアサートされると、第1図の命令制御ユニット
3では、マイクロプログラムROM9のアドレスレジスタ38
に、パージ処理マイクロプログラムの先頭アドレスを信
号線L63を経由してセットする。このとき、外部から与
えられたパージ制御コードL64の情報も信号線L63のうち
の2ビットとしてマージされる。このパージ制御コード
L64は2ビットからなり、一方のビットは命令キャッシ
ュ7を、他方のビットはオペランドキャッシュ8をパー
ジすることを示している。従って、この2ビットの情報
により命令キャッシュ7とオペランドキャッシュ8を独
立にパージできる。
パージ信号を線L61(外部端子)から入力すると、AND
回路64を介してフリップフロップ65のD端子をハイレベ
ルにする。次命令要求信号が線L41を介して入力する
と、そのタイミングでフリップフロップ65のD端子の入
力をラッチし、線L62のパージ指令信号をオンする。従
って、線L64を介して予めパージ命令を記憶したレジス
タ66の内容が、線L63を介してレジスタ38にラッチされ
る(第1図参照)。また、このとき、フリップフロップ
62もセットされる。命令実行ユニット4にてパージ命令
が実行されると、先ずパージクリア信号が線L49に出力
される。これにより、フリップフロップ62がリセットさ
れる。遅延回路63、AND回路64を介してフリップフロッ
プ65のD入力をローレベルにする。パージ命令の実行が
終了すると、線L41の次命令要求信号がオンする。これ
によって、フリップフロップ62はセットされ、同時にフ
リップフロップ65はリセットされる。フリップフロップ
62の出力は、遅延回路63に入力される。この間に、レジ
スタ38は、選択回路47からの命令デコード結果がラッチ
されることになる。その後、遅延回路63からの出力がハ
イレベルになる。このとき、線L61がまだパージ信号を
出力している場合には、フリップフロップ65のD入力は
ハイレベルになっている。従って、次命令要求信号が入
力されると、再び線L62にパージ指令信号を出力する。
パージ命令をレジスタ38に交互にラッチさせて、プロ
セッサ1に通常の命令を1ステップずつ実行させ、プロ
グラムのチェックを行うことができる。
第3図は、第1図のマイクロプロセッサにおけるパー
ジ動作のタイミングチャートである。ここでは、両キャ
ッシュメモリのパージ(無効化)を指定し続けた場合の
動作が示されている。
A31:01(00)はアドレス信号、AS,▲▼3:0はアド
レスが出力されていることを示すアドレスストローブ信
号、DO7:O6は制御コードであって、外部端子L64に対応
するデータ線の一部である。▲▼は、パージ
信号であって、パージ信号L61の反転信号(L61がハイレ
ベルならばローレベル)である。これらの信号は、全て
チップの外部端子からの信号である。キャッシュメモリ
7,8の制御情報は、命令の終りで取り込まれ、両キャッ
シュメモリ7,8は無効化される。その後、次に実行すべ
き命令(オペレーションワード)をチップ外から取り込
み、1命令だけ実行する。この時、主記憶5の外部端子
に次命令のアドレス(ADDRESS)が現われる。インサー
キットエミュレートに行う場合、このアドレスによりブ
レイクをかけることが可能である。
第3図において、アドレスA31の最初の部分BGは、パ
ージ処理の開始を示す信号であり、次に続く3個のアド
レスパルスは1命令実行中のメモリアクセスを示してい
る。その次の信号は、次のパージ処理の開始を示す。ま
た、データコードDO7:O6の最初のコード信号の値が、外
部端子L64から入力される。次の3個の信号は、オペコ
ードである。この場合には、3つのアドレスを持つ1命
令(ここで、32ビットずつ)を示している。このよう
に、外部端子L64から制御信号がアサートし続けていて
も、フリップフロップのパージ制御回路6の制御によ
り、主記憶装置5に対してメモルフェッチが行われる。
第4図は、第1図におけるパージ動作のフローチャー
トである。通常の動作では、1命令実行ごとに次命令要
求が出力され(ステップ101)、その都度レジスタ38の
内容(マイクロROMアドレス)を基にマイクロ命令が読
み出される。しかし、もし、次命令要求出力時に、パー
ジ信号が出力されていると(ステップ102)、パージ処
理が行われる(ステップ103以降)。パージ処理は、フ
リップフロップ65のD入力がハイレベルとなり、パージ
指令信号(L62)を出力するとともに、レジスタ66の内
容(L63)をレジスタ38にラッチする。また、アドレス
線にパージ処理の開始を示すコードBGを出力する(ステ
ップ103)。次に、命令実行ユニット4において、パー
ジ命令が実行された後、パージクリア信号(L49)を出
力することにより、フリップフロップ62をリセットし、
フリップフロップ65のD入力をローレベルにする(ステ
ップ104)。次に、次命令要求(L41)を出力する(ステ
ップ105)。これにより、フリップフロップ65のD入力
がローレベルとなり、フリップフロップ62がセットし、
フリップフロップ65がリセットされる。レジスタ38に、
選択回路47から命令デコード結果がラッチされる(ステ
ップ106)。そして、ROM9からマイクロ命令が読み出さ
れることにより1命令が実行される。このように、パー
ジ命令の実行が終了すると、次命令要求が出力されて、
今度は通常の動作、つまり命令のデコード結果をレジス
タ38にラッチし、それをもとに1命令だけ実行する。
このように、本実施例においては、キャッシュメモリ
を複数個に分けることにより、(a)並列にアクセスで
きる。(b)機能的に分けられる。(c)連想メモリの
置き場所を使用する装置の近くに配置できる。
〔発明の効果〕
以上説明したように、本発明によれば、キャッシュメ
モリの分割によって、個々のキャッシュメモリの周辺回
路が簡略化され、キャッシュメモリの機能強化が可能に
なる。また、複数メモリへの同一データの書き込みや、
複数メモリからの並列読み出しが可能となり、処理の高
速化が図れる。さらに、キャッシュメモリの制御をチッ
プ外部から直接行う機能を用意したので、任意のキャッ
シュメモリの状態を動的に変えることができる。これに
より、任意のキャッシュメモリを対象として、デバッグ
を行うことができる。さらに、命令とパージシーケンス
を交互に実行させるフリップフロップを設けることによ
り、デバッグ時に、1命令ごとの実行を行うことができ
るため、デバッグ効率を上げることが可能である。
【図面の簡単な説明】
第1図は本発明の一実施例を示すマイクロプロセッサの
ブロック構成図、第2図は第1図におけるパージ制御回
路の詳細回路図、第3図は第1図においてキャッシュメ
モリのパージ(無効化)を指定し続けたときの動作タイ
ムチャート、第4図は第1図のパージ動作のフローチャ
ート、第5図は第1図のマイクロプロセッサのパイプラ
イン処理を示すシーケンスチャートである。 1:マイクロプロセッサ、2:インターフェースユニット、
3:命令制御ユニット、4:命令実行ユニット、5:主記憶装
置、6:パージ制御回路、7,8:キャッシュメモリ、9:コン
トロールストレージROM、10:アドレス発生回路、11:デ
コーダ、12:キャッシュメモリ制御回路、13,14:命令レ
ジスタ、15,16,17:FIFOバッファ、22,47,48:選択回路、
38,40:レジスタ、62,65:フリップフロップ、63:遅延回
路、64:AND回路、66:レジスタ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 内山 邦男 東京都国分寺市東恋ヶ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 長谷川 淳 東京都小平市上水本町1479番地 日立マイ クロコンピュータエンジニアリング株式会 社内 (72)発明者 川崎 郁也 東京都小平市上水本町1450番地 株式会社 日立製作所武蔵工場内 (72)発明者 花輪 誠 東京都国分寺市東恋ヶ窪1丁目280番地 株式会社日立製作所中央研究所内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】主記憶装置とともに使用されるマイクロプ
    ロセッサであって、 命令を格納する命令キャッシュメモリと、 オペランドを格納するオペランドキャッシュメモリと、 上記主記憶装置もしくは上記命令キャッシュメモリから
    命令をフェッチし、該フェッチした命令をデコードする
    命令制御ユニットと、 上記命令制御ユニットによってデコードされた命令を実
    行し、該命令の実行終了時に次命令要求信号を出力する
    命令実行ユニットを具備してなり、 外部からパージ制御情報が供給されている際に、上記命
    令実行ユニットから出力された上記次命令要求信号に応
    答して上記パージ制御情報に従って上記命令キャッシュ
    メモリと上記オペランドキャッシュメモリのうち少なく
    とも一方のキャッシュメモリの内容を無効化するパージ
    指令信号を出力するパージ制御回路をさらに具備してな
    り、 上記パージ制御回路は、上記パージ指令信号による上記
    無効化の処理と上記命令実行ユニットでデコードされた
    通常の命令の処理を交互に実行するためのフリップフロ
    ップ回路を有することを特徴とするマイクロプロセッ
    サ。
  2. 【請求項2】上記フリップフロップ回路のセット端子に
    は上記命令要求信号が印加され、上記フリップフロップ
    回路のリセット端子には上記無効化の処理の終了に関す
    る信号が印加されることを特徴とする特許請求の範囲第
    1項に記載のマイクロプロセッサ。
  3. 【請求項3】上記命令キャッシュメモリと上記オペラン
    ドキャッシュメモリとは、それぞれ連想メモリであるこ
    とを特徴とする特許請求の範囲第1項または第2項に記
    載のマイクロプロセッサ。
JP61160503A 1986-07-08 1986-07-08 マイクロプロセッサ Expired - Lifetime JPH087713B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61160503A JPH087713B2 (ja) 1986-07-08 1986-07-08 マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61160503A JPH087713B2 (ja) 1986-07-08 1986-07-08 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JPS6316350A JPS6316350A (ja) 1988-01-23
JPH087713B2 true JPH087713B2 (ja) 1996-01-29

Family

ID=15716349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61160503A Expired - Lifetime JPH087713B2 (ja) 1986-07-08 1986-07-08 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JPH087713B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108482A (ja) * 1991-10-11 1993-04-30 Nec Corp キヤツシユ無効化方式
JPH06195264A (ja) * 1992-12-22 1994-07-15 Nec Corp キャッシュ一致処理装置
ES2130311T3 (es) * 1993-12-28 1999-07-01 Nikkiso Co Ltd Preimpregnado, su procedimiento de preparacion y productos obtenidos del mismo.

Also Published As

Publication number Publication date
JPS6316350A (ja) 1988-01-23

Similar Documents

Publication Publication Date Title
US4879646A (en) Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging
US5235686A (en) Computer system having mixed macrocode and microcode
EP0776504B1 (en) Integrated circuit with multiple functions sharing multiple internal signal buses for distributing bus access control and arbitration control
US5944841A (en) Microprocessor with built-in instruction tracing capability
JP3105223B2 (ja) マイクロコンピュータ,マイクロプロセッサおよびコア・プロセッサ集積回路用デバッグ周辺装置
JP4190114B2 (ja) マイクロコンピュータ
US7689867B2 (en) Multiprocessor breakpoint
US4471433A (en) Branch guess type central processing unit
JP5837126B2 (ja) 現在実行している命令セット以外の命令セットから命令をプリロードするシステム、方法およびソフトウェア
US6611909B1 (en) Method and apparatus for dynamically translating program instructions to microcode instructions
CN104978284B (zh) 处理器子程序高速缓冲存储器
JPH0210452B2 (ja)
JP2003085000A (ja) トレース情報生成装置およびその方法
US5689694A (en) Data processing apparatus providing bus attribute information for system debugging
JPH04309131A (ja) 命令群用マイクロコード生成装置及びコンピュータにおける組合せ装置
US6014739A (en) Increasing general registers in X86 processors
EP0279953B1 (en) Computer system having mixed macrocode and microcode instruction execution
JPH087713B2 (ja) マイクロプロセッサ
US5421026A (en) Data processor for processing instruction after conditional branch instruction at high speed
JPH02214937A (ja) データ処理装置
US6233675B1 (en) Facility to allow fast execution of and, or, and test instructions
US5787276A (en) Microprocessor including circuit for generating signal used for tracing executed instruction stream
JP2636821B2 (ja) 並列処理装置
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
JP3147884B2 (ja) 記憶装置及び情報処理装置