JP2002024086A - マイクロコンピュータ、コンピュータシステムおよび命令コード更新方法 - Google Patents

マイクロコンピュータ、コンピュータシステムおよび命令コード更新方法

Info

Publication number
JP2002024086A
JP2002024086A JP2000211306A JP2000211306A JP2002024086A JP 2002024086 A JP2002024086 A JP 2002024086A JP 2000211306 A JP2000211306 A JP 2000211306A JP 2000211306 A JP2000211306 A JP 2000211306A JP 2002024086 A JP2002024086 A JP 2002024086A
Authority
JP
Japan
Prior art keywords
cache memory
instruction
instruction code
data
stored
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.)
Withdrawn
Application number
JP2000211306A
Other languages
English (en)
Inventor
Masato Hagiwara
正人 萩原
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2000211306A priority Critical patent/JP2002024086A/ja
Publication of JP2002024086A publication Critical patent/JP2002024086A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 命令コードの変更が生じた場合でも、高速に
処理を行なうことができる。 【解決手段】 書換えられた命令コードがデータキャッ
シュメモリに記憶される(S2)。書換前の命令コード
が命令キャッシュメモリに記憶されているか否かが調べ
られ(S22)、命令キャッシュメモリに記憶されてい
る場合には(S22でYES)、データキャッシュメモ
リに書込まれている書換後の命令コードが、命令キャッ
シュメモリに直接書込まれる(S24)。その後、書換
後の命令コードがフェッチされると(S26)、命令キ
ャッシュメモリにはすでに更新後の命令コードが格納さ
れている。このため、命令キャッシュメモリにキャッシ
ュされている命令コードがフェッチされ、演算が実行さ
れる(S28)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロコンピュ
ータ、コンピュータシステムおよび命令コード更新方法
に関し、特に、高速に命令コードの更新が可能なマイク
ロコンピュータ、コンピュータシステムおよび命令コー
ド更新方法に関する。
【0002】
【従来の技術】プロセッサがメインメモリをアクセスす
る頻度を減少させるために、命令キャッシュメモリおよ
びデータキャッシュメモリという2種類のキャッシュメ
モリが用いられている。
【0003】これらのキャッシュメモリは、プロセッサ
とメインメモリとの間に設けられ、プロセッサが実行す
る命令コード、メインメモリに書込むデータまたはメイ
ンメモリから読出すデータのキャッシュを行なう。
【0004】図5を参照して、従来の単一の半導体チッ
プにより構成されたマイクロコンピュータ2は、DRA
M(Dynamic Random Access Memory)4と、DRAM4
に記憶された命令コードをキャッシュする命令キャッシ
ュメモリ6と、DRAM4に書込むデータまたはDRA
M4から読出すデータをキャッシュするデータキャッシ
ュメモリ10と、命令キャッシュメモリ6に接続され、
命令キャッシュメモリ6に格納された命令コードを一時
的に保持する命令キュー14と、命令キュー14および
データキャッシュメモリ10に接続され、命令キュー1
4に保持された命令コードおよびデータキャッシュメモ
リ10にキャッシュされたデータに基づいて、処理を実
行するCPU(Central Processing Unit)コア16と
を含む。
【0005】マイクロコンピュータ2は、さらに、外部
に接続された機器との間で、アドレス、データまたは命
令コードのやり取りを行なうために設けられた外部イン
タフェース12と、CPUコア16、命令キャッシュメ
モリ6、データキャッシュメモリ10、DRAM4およ
び外部インタフェース12に接続され、CPUコア16
からの指示に従い、接続された各部にアドレスおよび制
御信号などを供給するメモリコントローラ8とを含む。
【0006】CPUコア16は、命令キュー14に接続
され、命令キュー14に保持された命令コードをデコー
ドする命令デコーダ18と、命令デコーダ18およびデ
ータキャッシュメモリ10に接続され、命令デコーダ1
8でのデコード結果に基づいて、命令コードで指定され
た演算を実行する命令実行部20とを含む。
【0007】図6を参照して、命令キャッシュメモリ6
およびデータキャッシュメモリ10のサイズは、各々2
56バイト(0x100バイト)であるものとする。ま
た、命令キャッシュメモリ6およびデータキャッシュメ
モリ10は、それぞれダイレクトマップ方式を採用して
いるものとする。このため、たとえば、DRAM4の0
x500番地(領域A)のデータおよび0x600番地
(領域B)のデータは、命令キャッシュメモリ6または
データキャッシュメモリ10の同一のエントリ(領域C
または領域D)上に格納されることになる。メモリコン
トローラ8がDRAM4と命令キャッシュメモリ6との
間のキャッシュ制御、およびDRAM4とデータキャッ
シュメモリ10との間のキャッシュ制御を行なう。
【0008】再度図5を参照して、メモリコントローラ
8は、判定回路8Aと書込制御回路8Bとを含む。判定
回路8Aはデータキャッシュメモリ10に命令コードが
CPUから書込まれた場合に、その書換後の命令コード
に対応する書換前の命令が命令キャッシュメモリ6に格
納されているかどうかを調べる。
【0009】具体的には、データキャッシュメモリ10
の各エントリには、データ又は命令コードを記憶するデ
ータ領域とその記憶されたデータ又は命令コードの存在
すべきDRAMの領域の場所を指定する情報を記憶する
タグ領域とを有する。命令キャッシュメモリ6の各エン
トリにも、命令コードを記憶するデータ領域とその記憶
された命令コードの存在すべきDRAMの領域の場所を
指定する情報を記憶するタグ領域とを有する。判定回路
8Aは、両キャッシュメモリのそれぞれ対応する2つエ
ントリのタグ領域にある情報を比較することで上記の判
定を行う。
【0010】例えば、図6のように、データキャッシュ
メモリ10の領域DにCPUコア16から命令コードの
書き換えがある場合、領域Dにおいて、データ領域に書
換後の命令コードが記憶され、タグ領域に命令コードが
記憶されるべきDRAMの領域、ここでは領域Aの場所
を指定する情報が記憶される。判定回路8Aは、領域D
のタグ領域に記憶されるべき情報と、領域Dに対応する
命令キャッシュメモリ6の領域Cのタグ領域にすでに記
憶されている情報とを比較する。一致していれば領域C
に記憶された書換後の命令コードに対応する書換前の命
令コードがすでに領域Dにキャッシュされていることを
示し、一致していなければ書換前の命令コードは命令キ
ャッシュメモリ6に存在しないことを示す。
【0011】ちなみに、命令キャッシュメモリ6、デー
タキャッシュメモリ10の各々の各エントリに対応して
無効か有効かを示すフラグが設けられ、図1のS6で
は、領域Cに対応するフラグをセットすることにより領
域Cが無効化される。
【0012】書込制御回路8Bは、判定回路8Aからの
判定結果に従い、書換前の命令コードが命令キャッシュ
に格納されている場合にはデータキャッシュメモリ6に
記憶された書換後のデータを命令キャッシュメモリ6に
コピーするように命令し、両キャッシュメモリ6および
10を制御する。
【0013】上記の例では、領域Cに記憶された書換後
の命令コードを、内部データパス(図5で表現されてい
るDRAM4、2つのキャッシュメモリ6および10、
外部インタフェース12に共通に接続されているパスの
こと)を介して直接的に領域Dに格納する。なお、領域
Dのタグ領域の情報はそのままにしておけばよい。
【0014】また、書込制御回路8Bは、判定回路8A
からの判定結果に従い、書換前の命令コードが命令キャ
ッシュメモリ6に格納されていない場合、データキャッ
シュメモリ10に記憶された書換後のデータをDRAM
4にコピーするようにDRAM4、データキャッシュメ
モリ10を制御する。上記の例では、データキャッシュ
メモリ10の領域Dが同じ内部パスを介してDRAM4
の領域Aに保持される。
【0015】図7を参照して、CPUコア16での命令
実行時に動的に命令コードの書換が行なわれる場合があ
る。このような場合には、以下のようにしてDRAM4
に記憶された命令コードの書換が行なわれる。ここで
は、図6(A)のDRAM4の領域Aに記憶されている
命令コードを書換える場合について説明する。
【0016】図7を参照して、命令実行部20での処理
の結果、図6(C)に示すデータキャッシュメモリ10
の領域Dが更新される(S2)。メモリコントローラ8
は、CPUコア16からの指示に従い、データキャッシ
ュメモリ10の領域DをDRAM4にコピーバックし、
DRAM4の領域Aを更新する(S4)。メモリコント
ローラ8は、CPUコア16からの指示に従い、領域A
に格納されているデータが格納される、命令キャッシュ
メモリ6の領域Cを無効化(インバリデート)する(S
6)。
【0017】その後、CPUコア16は、DRAM4の
領域Aに記憶された命令コードをフェッチしようとする
ためにメモリコントローラ8にアクセス要求を行なう
(S8)。メモリコントローラ8は、このアクセス要求
に基づき、まず命令キャッシュ命令6の領域Cから命令
コードを読出そうと試みるが、領域Cはすでに無効化さ
れているため、DRAM4の領域Aに記憶されている命
令コードを読込み、命令キャッシュメモリ6の領域Cに
書込む(S10)。CPUコア16は、命令キャッシュ
メモリ6の領域Cにキャッシュされた命令コードをフェ
ッチし、演算を実行する。このような処理により、書換
後の命令コードが命令キャッシュメモリ6に読込まれ、
実行される。
【0018】
【発明が解決しようとする課題】しかし、従来のマイク
ロコンピュータ2では、DRAM4の領域Aが無効化さ
れる前に領域Aの命令コードをフェッチすると、書換前
の命令コードをフェッチしたことになる。
【0019】このため、データキャッシュメモリ10に
命令コードを書込んだ後しばらくの間は命令コードをフ
ェッチすることができず、実行速度を低下させる要因と
なっていた。
【0020】本発明は、上述の課題を解決するためにな
されたもので、その目的は、命令コードの変更が生じた
場合でも、高速に処理を行なうことができるマイクロコ
ンピュータ、コンピュータシステムおよび命令コード更
新方法を提供することである。
【0021】
【課題を解決するための手段】本発明のある局面に従う
マイクロコンピュータは、主記憶装置から読出した命令
コードを記憶する命令キャッシュメモリと、主記憶装置
から読出したデータを記憶するデータキャッシュメモリ
と、命令キャッシュメモリおよびデータキャッシュメモ
リに接続され、命令コードに基づいて各種演算を実行す
るプロセッサコアと、命令キャッシュメモリ、データキ
ャッシュメモリおよびプロセッサコアに接続され、プロ
セッサコアの指示に従い、命令キャッシュメモリおよび
データキャッシュメモリをコントロールするメモリコン
トローラとを含む。メモリコントローラは、書換えられ
た命令コードがデータキャッシュメモリに書込まれた際
に、書換前の命令コードが命令キャッシュメモリに格納
されているか否かを調べるための手段と、書換前の命令
コードが、命令キャッシュメモリに格納されている場合
に、データキャッシュメモリに記憶されている書換後の
命令コードを命令キャッシュメモリにコピーするための
手段とを含む。
【0022】書換後の命令コードは、主記憶装置にコピ
ーバックされずに、命令キャッシュメモリに直接書込ま
れる。その後、その命令コードの読込みが実行される際
には、命令キャッシュメモリに格納された命令コードが
プロセッサコアに読込まれ、処理が実行される。このた
め、マイクロコンピュータは、命令キャッシュメモリに
命令コードが書込まれた直後から処理を再開することが
でき、高速に処理を行なうことができる。
【0023】本発明の他の局面に従うコンピュータシス
テムは、主記憶装置から読出した命令コードを記憶する
命令キャッシュメモリ、主記憶装置から読出したデータ
を記憶するデータキャッシュメモリ、および命令キャッ
シュメモリおよびデータキャッシュメモリに接続され、
命令コードに基づいて各種演算を実行するプロセッサコ
アを含むマイクロコンピュータと、命令キャッシュメモ
リ、データキャッシュメモリおよびプロセッサコアに接
続され、プロセッサコアの指示に従い、命令キャッシュ
メモリおよびデータキャッシュメモリをコントロールす
る専用コントローラとを含む。専用コントローラは、書
換えられた命令コードがデータキャッシュメモリに書込
まれた際に、書換前の命令コードが命令キャッシュメモ
リに格納されているか否かを調べるための手段と、書換
前の命令コードが、命令キャッシュメモリに格納されて
いる場合に、データキャッシュメモリに記憶されている
書換後の命令コードを命令キャッシュメモリにコピーす
るための手段とを含む。
【0024】専用コントローラは、マイクロコンピュー
タと独立して設けられていてもよい。
【0025】本発明のさらに他の局面に従うマイクロコ
ンピュータは、主記憶装置から読出した命令コードを記
憶する命令キャッシュメモリと、主記憶装置から読出し
たデータを記憶するデータキャッシュメモリと、命令キ
ャッシュメモリおよびデータキャッシュメモリに接続さ
れ、命令コードに基づいて各種演算を実行するプロセッ
サコアと、命令キャッシュメモリ、データキャッシュメ
モリおよびプロセッサコアに接続され、プロセッサコア
の指示に従い、命令キャッシュメモリおよびデータキャ
ッシュメモリをコントロールするメモリコントローラと
を含む。メモリコントローラは、書換えられた命令コー
ドがデータキャッシュメモリに書込まれた際に、データ
キャッシュメモリ上では、書込まれた命令コードと同一
の領域に格納されるデータであって、かつ主記憶装置上
では、命令コードが格納される領域とは異なる領域に格
納されるデータを、主記憶装置から読込むための手段
と、書換えられた命令コードに対応した書換前の命令コ
ードが格納されている命令キャッシュメモリ上の領域を
無効化するための手段とを含む。
【0026】別領域のデータを主記憶装置から空読みす
ることにより、書換えられた命令コードを主記憶装置に
コピーバックすることができる。また、命令キャッシュ
メモリに格納された書換前の命令コードは無効化されて
いる。このため、その後、その命令コードの読込まれる
際には、主記憶装置に記憶された書換後の命令コードが
読込まれる。このように、従来と異なる方法により、従
来と同様の処理速度を実現することができる。
【0027】本発明のさらに他の局面に従うマイクロコ
ンピュータは、主記憶装置から読出した命令コードを記
憶する命令キャッシュメモリと、主記憶装置から読出し
たデータを記憶するデータキャッシュメモリと、命令キ
ャッシュメモリおよびデータキャッシュメモリに接続さ
れ、命令コードに基づいて各種演算を実行するプロセッ
サコアと、命令キャッシュメモリ、データキャッシュメ
モリおよびプロセッサコアに接続され、書換えられた命
令コードがデータキャッシュメモリに書込まれた際に、
書換えられた命令コードに対応した書換前の命令コード
が格納されている命令キャッシュメモリ上の領域を無効
化するメモリコントローラと、データキャッシュメモリ
に接続され、メモリコントローラの処理と並行して、書
換えられた命令コードがデータキャッシュメモリに書込
まれた際に、データキャッシュメモリに書込まれた命令
コードを主記憶装置にコピーバックする専用コントロー
ラとを含む。
【0028】命令キャッシュメモリの無効化処理と、主
記憶装置への命令コードのコピーバックとが並行して実
行される。このため、マイクロコンピュータは次の命令
を即座に実行することができ、高速に処理をすることが
できるようになる。
【0029】本発明のさらに他の局面に従う命令コード
更新方法は、主記憶装置から読出した命令コードを記憶
する命令キャッシュメモリと、主記憶装置から読出した
データを記憶するデータキャッシュメモリとを含むマイ
クロプロセッサで用いられる。命令コード更新方法は、
書換えられた命令コードがデータキャッシュメモリに書
込まれた際に、書換前の命令コードが命令キャッシュメ
モリに格納されているか否かを調べるステップと、書換
前の命令コードが、命令キャッシュメモリに格納されて
いる場合に、データキャッシュメモリに記憶されている
書換後の命令コードを命令キャッシュメモリにコピーす
るステップとを含む。
【0030】書換後の命令コードは、主記憶装置にコピ
ーバックされずに、命令キャッシュメモリに直接書込ま
れる。その後、その命令コードの読込みが実行される際
には、命令キャッシュメモリに格納された命令コードが
プロセッサコアに読込まれ、処理が実行される。このた
め、マイクロコンピュータは、命令キャッシュメモリに
命令コードが書込まれた直後から処理を再開することが
でき、高速に処理を行なうことができる。
【0031】本発明のさらに他の局面に従う命令コード
更新方法は、主記憶装置から読出した命令コードを記憶
する命令キャッシュメモリと、主記憶装置から読出した
データを記憶するデータキャッシュメモリとを含むマイ
クロコンピュータで用いられる。命令コード更新方法
は、書換えられた命令コードがデータキャッシュメモリ
に書込まれた際に、データキャッシュメモリ上では、書
込まれた命令コードと同一の領域に格納されるデータで
あって、かつ主記憶装置上では、命令コードが格納され
る領域とは異なる領域に格納されるデータを、主記憶装
置から読込むステップと、書換えられた命令コードに対
応した書換前の命令コードが格納されている命令キャッ
シュメモリ上の領域を無効化するステップとを含む。
【0032】別領域のデータを主記憶装置から空読みす
ることにより、書換えられた命令コードを主記憶装置に
コピーバックすることができる。また、命令キャッシュ
メモリに格納された書換前の命令コードは無効化されて
いる。このため、その後、その命令コードの読込まれる
際には、主記憶装置に記憶された書換後の命令コードが
読込まれる。このように、従来と異なる方法により、従
来と同様の処理速度を実現することができる。
【0033】本発明のさらに他の局面に従う命令コード
更新方法は、主記憶装置から読出した命令コードを記憶
する命令キャッシュメモリと、主記憶装置から読出した
データを記憶するデータキャッシュメモリとを含むマイ
クロコンピュータで用いられる。命令コード更新方法
は、書換えられた命令コードがデータキャッシュメモリ
に書込まれた際に、書換えられた命令コードに対応した
書換前の命令コードが格納されている命令キャッシュメ
モリ上の領域を無効化するステップと、無効化するステ
ップと並行して、書換えられた命令コードがデータキャ
ッシュメモリに書込まれた際に、データキャッシュメモ
リに書込まれた命令コードを主記憶装置にコピーバック
するステップとを含む。
【0034】命令キャッシュメモリの無効化処理と、主
記憶装置への命令コードのコピーバックとが並行して実
行される。このため、次の命令を即座に実行することが
でき、高速に処理をすることができるようになる。
【0035】
【発明の実施の形態】[実施の形態1]本発明の実施の
形態1によるマイクロコンピュータは、図5を参照して
説明した従来のマイクロコンピュータと同様のハードウ
ェア構成をとる。このため、その詳細な説明は、ここで
は繰返さない。
【0036】本実施の形態では、命令コードの書換が行
なわれた場合の処理が異なる。ここでは、CPUコア1
6の命令実行により図6(A)のDRAM4の領域Aに
記憶されている命令コードを書換える場合について説明
する。
【0037】図1を参照して、命令実行部20での処理
の結果、図6(C)に示すデータキャッシュメモリ10
の領域Dが更新される(S2)。メモリコントローラ8
は、命令キャッシュメモリ6に、DRAM4の領域Aに
格納されていた命令コードがキャッシュされているか否
かを調べる(S22)。領域Aの命令コードが命令キャ
ッシュメモリ6にキャッシュされていなければ(S22
でNO)、図7を参照して説明した従来のマイクロコン
ピュータと同様の方法により命令コードを命令キャッシ
ュメモリ6にキャッシュする(S4〜S10)。このた
め、その詳細な説明はここでは繰返さない。
【0038】領域Aの命令コードが命令キャッシュメモ
リ6の領域Cにキャッシュされている場合には(S22
でYES)、メモリコントローラ8は、データキャッシ
ュメモリ10の領域Dに書込まれているデータを、命令
キャッシュメモリ6の領域Cに直接書込む(S24)。
その後、CPUコア16は、DRAM4の領域Aに記憶
された命令コードをフェッチしようとするためにメモリ
コントローラ8にアクセス要求を行なう(S26)。こ
のとき、領域Cには更新後の命令コードが格納されてい
る。このため、CPUコア16は、領域Cにキャッシュ
された命令コードをフェッチし、演算を実行する(S2
8)。
【0039】本実施の形態では、マイクロコンピュータ
2に内蔵されたメモリコントローラ8により命令コード
の書換処理を行なうようにしたが、主記憶装置であるD
RAM4がマイクロコンピュータ2の外部に別の半導体
チップとして設けられた場合、同じくマイクロコンピュ
ータ2の外部に別の半導体チップで構成された専用コン
トローラを設け、その専用コントローラにより上記メモ
リコントローラ8と同様の処理を行なうようにしてもよ
い。
【0040】以上説明したように、本実施の形態のマイ
クロコンピュータによれば、更新しようとする命令コー
ドが既に命令キャッシュメモリ6に記憶されている場合
には、命令キャッシュメモリ6に記憶された命令コード
を直接更新する。このようにすることにより、DRAM
4への命令コードのコピーバックを行なう必要がなくな
り、処理を高速化することができる。
【0041】[実施の形態2]本発明の実施の形態2に
よるマイクロコンピュータは、図5に示した従来のマイ
クロコンピュータと同様のハードウェア構成を有する。
このため、その詳細な説明は、ここでは繰返さない。
【0042】本実施の形態では、命令コードの書換が行
なわれた場合の処理が異なる。ここでは、CPUコア1
6の命令実行により図6(A)のDRAM4の領域Aに
記憶されている命令コードを書換える場合について説明
する。
【0043】図2を参照して、命令実行部20での処理
の結果、図6(C)に示すデータキャッシュメモリ10
の領域Dが更新される(S2)。CPUコア16が、D
RAM4の領域Bに記憶された内容をCPUコア16に
読込むためのアクセス要求をメモリコントローラ8に与
える。領域Bは、記憶されたデータがデータキャッシュ
メモリ10に読込まれたときに、領域Aに記憶されたデ
ータと同一のエントリ(領域D)に格納される領域であ
る。このような場合、このエントリ(領域D)に記憶さ
れたデータが更新された場合に領域Bに記憶されたデー
タを読出すためのアクセス要求を受けると、メモリコン
トローラ8は、領域Dに記憶されたデータが自動的に領
域Aにコピーバックした後に、領域Bに記憶されたデー
タを領域Dに記憶する制御を行なうように構成されてい
る。したがって、領域Bに記憶されたデータをデータキ
ャッシュメモリ10の領域Dに読込むことにより、特に
更新後の命令をDRAM4に書込む処理を行なわなくて
も、それまで、領域Dに格納されていた更新後のデータ
が自動的に領域Aにコピーバックされるので、更新後の
命令もDRAM4に書込まれる(S32)。
【0044】その後、S6〜S10の処理が実行され
る。S6〜S10処理は図7を参照して説明した従来の
処理と同様である。このため、その詳細な説明はここで
は繰返さない。
【0045】本実施の形態によると、領域Bのデータを
空読みすることにより、他に特別な処理をしなくとも領
域Aに格納された更新後の命令をDRAM4にコピーバ
ックすることができる。このように従来と異なる方法に
より、従来と同様の処理速度を実現することが可能にな
る。
【0046】[実施の形態3]図3を参照して、本発明
の実施の形態3によるマイクロコンピュータ32は、図
5を参照して説明した従来のマイクロコンピュータ2の
ハードウェア構成において、データキャッシュメモリ1
0の代わりにデータキャッシュメモリ36を用い、デー
タキャッシュメモリ36に格納されたデータのコピーバ
ックをCPUコア16の処理とは独立して実行する専用
コントローラ34をさらに含んだものである。その他の
構成部品はマイクロコンピュータ2と同様である。この
ため、その詳細な説明は、ここでは繰返さない。
【0047】次に、CPUコア16の命令実行により図
6(A)のDRAM4の領域Aに記憶されている命令コ
ードを書換える処理について説明する。
【0048】図4を参照して、命令実行部20での処理
の結果、図6(C)に示すデータキャッシュメモリ36
の領域Dが更新される(S2)。メモリコントローラ8
は、CPUコア16からの指示を受けて、領域Aに格納
されているデータが格納される、命令キャッシュメモリ
6の領域Cを無効化する(S6)。
【0049】S6の処理と並行して、専用コントローラ
34は、CPUコア16からの指示を受けて、データキ
ャッシュメモリ36の領域DをDRAM4にコピーバッ
クし、DRAM4の領域Aを更新する(S42)。
【0050】S6の処理の後、S8およびS10の処理
が実行される。S8およびS10の処理は、従来と同様
である。このため、その詳細な説明はここでは繰返さな
い。
【0051】以上説明したように、本実施の形態による
と、マイクロコンピュータ32に専用コントローラ34
を設け、データキャッシュメモリ36に格納されたデー
タのコピーバックを、命令キャッシュメモリ6の無効化
と並行に行なうようにした。このため、これら2つの処
理を連続して実行する場合に比べて、高速に処理を実行
することができるようになる。
【0052】今回開示された実施の形態はすべての点で
例示であって制限的なものではないと考えられるべきで
ある。本発明の範囲は上記した説明ではなくて特許請求
の範囲によって示され、特許請求の範囲と均等の意味お
よび範囲内でのすべての変更が含まれることが意図され
る。
【0053】
【発明の効果】本発明によると、命令コードが書換えら
れた場合であっても、マイクロコンピュータは高速に処
理を行なうことができる。
【図面の簡単な説明】
【図1】 実施の形態1による命令コード更新処理のフ
ローチャートである。
【図2】 実施の形態2による命令コード更新処理のフ
ローチャートである。
【図3】 実施の形態3によるマイクロコンピュータの
ハードウェア構成を示すブロック図である。
【図4】 実施の形態3による命令コード更新処理のフ
ローチャートである。
【図5】 従来のマイクロコンピュータのハードウェア
構成を示すブロック図である。
【図6】 DRAM、命令キャッシュメモリおよびデー
タキャッシュメモリの格納領域の対応関係を示す図であ
る。
【図7】 従来の命令コード更新処理のフローチャート
である。
【符号の説明】
2,32 マイクロコンピュータ、6 命令キャッシュ
メモリ、8 メモリコントローラ、10,36 データ
キャッシュメモリ、12 外部インタフェース、14
命令キュー、16 CPUコア、18 命令デコーダ、
20 命令実行部、34 専用コントローラ。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 主記憶装置から読出した命令コードを記
    憶する命令キャッシュメモリと、 前記主記憶装置から読出したデータを記憶するデータキ
    ャッシュメモリと、 前記命令キャッシュメモリおよび前記データキャッシュ
    メモリに接続され、前記命令コードに基づいて各種演算
    を実行するプロセッサコアと、 前記命令キャッシュメモリ、前記データキャッシュメモ
    リおよび前記プロセッサコアに接続され、前記プロセッ
    サコアの指示に従い、前記命令キャッシュメモリおよび
    前記データキャッシュメモリをコントロールするメモリ
    コントローラとを含み、 前記メモリコントローラは、 書換えられた命令コードが前記データキャッシュメモリ
    に書込まれた際に、書換前の命令コードが前記命令キャ
    ッシュメモリに格納されているか否かを調べるための第
    1の手段と、 前記第1の手段によって、前記第1の手段によって、前
    記書換前の命令コードが、前記命令キャッシュメモリに
    格納されていることがわかった場合に、前記データキャ
    ッシュメモリに記憶されている書換後の命令コードを前
    記命令キャッシュメモリにコピーするための第2の手段
    とを含む、マイクロコンピュータ。
  2. 【請求項2】 前記メモリコントローラの第2の手段
    は、さらに、 前記書換前の命令コードが、前記命令キャッシュメモリ
    に格納されていない場合には、前記データキャッシュメ
    モリに格納された前記書換後の命令コードを前記主記憶
    装置にコピーバックする、請求項1に記載のマイクロコ
    ンピュータ。
  3. 【請求項3】 主記憶装置から読出した命令コードを記
    憶する命令キャッシュメモリ、 前記主記憶装置から読出したデータを記憶するデータキ
    ャッシュメモリ、および前記命令キャッシュメモリおよ
    び前記データキャッシュメモリに接続され、前記命令コ
    ードに基づいて各種演算を実行するプロセッサコアを含
    むマイクロコンピュータと、 前記命令キャッシュメモリ、前記データキャッシュメモ
    リおよび前記プロセッサコアに接続され、前記プロセッ
    サコアの指示に従い、前記命令キャッシュメモリおよび
    前記データキャッシュメモリをコントロールする専用コ
    ントローラとを含み、 前記専用コントローラは、 書換えられた命令コードが前記データキャッシュメモリ
    に書込まれた際に、書換前の命令コードが前記命令キャ
    ッシュメモリに格納されているか否かを調べるための第
    1の手段と、 前記第1の手段によって、前記書換前の命令コードが、
    前記命令キャッシュメモリに格納されていることがわか
    った場合に、前記データキャッシュメモリに記憶されて
    いる書換後の命令コードを前記命令キャッシュメモリに
    コピーするための第2の手段とを含む、コンピュータシ
    ステム。
  4. 【請求項4】 主記憶装置から読出した命令コードを記
    憶する命令キャッシュメモリと、 前記主記憶装置から読出したデータを記憶するデータキ
    ャッシュメモリと、 前記命令キャッシュメモリおよび前記データキャッシュ
    メモリに接続され、前記命令コードに基づいて各種演算
    を実行するプロセッサコアと、 前記命令キャッシュメモリ、前記データキャッシュメモ
    リおよび前記プロセッサコアに接続され、書換えられた
    命令コードが前記データキャッシュメモリに書込まれた
    際に、前記書換えられた命令コードに対応した書換前の
    命令コードが格納されている前記命令キャッシュメモリ
    上の領域を無効化するメモリコントローラと、 前記データキャッシュメモリに接続され、前記メモリコ
    ントローラの処理と並行して、前記書換えられた命令コ
    ードが前記データキャッシュメモリに書込まれた際に、
    前記データキャッシュメモリに書込まれた前記命令コー
    ドを前記主記憶装置にコピーバックする専用コントロー
    ラとを含む、マイクロコンピュータ。
  5. 【請求項5】 主記憶装置から読出した命令コードを記
    憶する命令キャッシュメモリと、 前記主記憶装置から読出したデータを記憶するデータキ
    ャッシュメモリとを含むマイクロプロセッサで用いられ
    る命令コード更新方法であって、 書換えられた命令コードが前記データキャッシュメモリ
    に書込まれた際に、書換前の命令コードが前記命令キャ
    ッシュメモリに格納されているか否かを調べるステップ
    と、 前記書換前の命令コードが、前記命令キャッシュメモリ
    に格納されている場合に、前記データキャッシュメモリ
    に記憶されている書換後の命令コードを前記命令キャッ
    シュメモリにコピーするステップとを含む、命令コード
    更新方法。
  6. 【請求項6】 前記書換前の命令コードが、前記命令キ
    ャッシュメモリに格納されていない場合には、前記デー
    タキャッシュメモリに格納された前記書換後の命令コー
    ドを前記主記憶装置にコピーバックする手段を含む、請
    求項5に記載の命令コード更新方法。
  7. 【請求項7】 主記憶装置から読出した命令コードを記
    憶する命令キャッシュメモリと、 前記主記憶装置から読出したデータを記憶するデータキ
    ャッシュメモリとを含むマイクロコンピュータで用いら
    れる命令コード更新方法であって、 書換えられた命令コードが前記データキャッシュメモリ
    に書込まれた際に、前記データキャッシュメモリ上で
    は、書込まれた前記命令コードと同一の領域に格納され
    るデータであって、かつ前記主記憶装置上では、前記命
    令コードが格納される領域とは異なる領域に格納される
    データを、前記主記憶装置から読込むステップと、 前記書換えられた命令コードに対応した書換前の命令コ
    ードが格納されている前記命令キャッシュメモリ上の領
    域を無効化するステップとを含む、命令コード更新方
    法。
  8. 【請求項8】 主記憶装置から読出した命令コードを記
    憶する命令キャッシュメモリと、 前記主記憶装置から読出したデータを記憶するデータキ
    ャッシュメモリとを含むマイクロコンピュータで用いら
    れる命令コード更新方法であって、 書換えられた命令コードが前記データキャッシュメモリ
    に書込まれた際に、前記書換えられた命令コードに対応
    した書換前の命令コードが格納されている前記命令キャ
    ッシュメモリ上の領域を無効化するステップと、 無効化する前記ステップと並行して、前記書換えられた
    命令コードが前記データキャッシュメモリに書込まれた
    際に、前記データキャッシュメモリに書込まれた前記命
    令コードを前記主記憶装置にコピーバックするステップ
    とを含む、命令コード更新方法。
JP2000211306A 2000-07-12 2000-07-12 マイクロコンピュータ、コンピュータシステムおよび命令コード更新方法 Withdrawn JP2002024086A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000211306A JP2002024086A (ja) 2000-07-12 2000-07-12 マイクロコンピュータ、コンピュータシステムおよび命令コード更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000211306A JP2002024086A (ja) 2000-07-12 2000-07-12 マイクロコンピュータ、コンピュータシステムおよび命令コード更新方法

Publications (1)

Publication Number Publication Date
JP2002024086A true JP2002024086A (ja) 2002-01-25

Family

ID=18707431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000211306A Withdrawn JP2002024086A (ja) 2000-07-12 2000-07-12 マイクロコンピュータ、コンピュータシステムおよび命令コード更新方法

Country Status (1)

Country Link
JP (1) JP2002024086A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011060080A (ja) * 2009-09-11 2011-03-24 Renesas Electronics Corp シミュレーション装置、シミュレーション方法、及びシミュレーション用プログラム
CN111831327A (zh) * 2019-04-17 2020-10-27 瑞昱半导体股份有限公司 可执行指令的电子装置以及指令执行方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011060080A (ja) * 2009-09-11 2011-03-24 Renesas Electronics Corp シミュレーション装置、シミュレーション方法、及びシミュレーション用プログラム
CN111831327A (zh) * 2019-04-17 2020-10-27 瑞昱半导体股份有限公司 可执行指令的电子装置以及指令执行方法

Similar Documents

Publication Publication Date Title
US5043886A (en) Load/store with write-intent for write-back caches
JP3587591B2 (ja) キャッシュ・ミスを制御する方法およびその計算機システム
JP4447580B2 (ja) 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ
US5802574A (en) Method and apparatus for quickly modifying cache state
KR100515059B1 (ko) 멀티프로세서 시스템 및 멀티프로세서 시스템의 캐쉬일관성 유지 방법
JP3973129B2 (ja) キャッシュメモリ装置及びそれを用いた中央演算処理装置
US6477622B1 (en) Simplified writeback handling
JP2009169706A (ja) メモリ制御装置
US7502892B2 (en) Decoupling request for ownership tag reads from data read operations
JP2002024086A (ja) マイクロコンピュータ、コンピュータシステムおよび命令コード更新方法
JPH01288940A (ja) 論理アドレスキャッシュ制御方式
JP3081635B2 (ja) キャッシュメモリの無効化処理装置および無効化制御方法
JPH0784879A (ja) キャッシュメモリ装置
JP2613258B2 (ja) 情報処理方法及び装置
JPH0628258A (ja) マイクロプロセッサ
JPH03172943A (ja) キャッシュメモリ制御方式
JPH08305634A (ja) 情報処理方法及び装置
JP3378270B2 (ja) マルチプロセッサシステム
JP2000076179A (ja) システムバス最適化方式
JPH04363738A (ja) キャッシュメモリ装置
JP2000194602A (ja) 情報処理装置、マイクロプロセッサ及び外部キャッシュメモリの制御方法
JP2022548219A (ja) 変換ルックアサイドバッファ無効化
JP2902847B2 (ja) 自己変更コード実行方式
JP2002024088A (ja) データ処理装置
JPH05289940A (ja) キャッシュメモリ制御システム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071002