[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2002032264A - キャッシュメモリ装置及びそれを用いた中央演算処理装置 - Google Patents

キャッシュメモリ装置及びそれを用いた中央演算処理装置

Info

Publication number
JP2002032264A
JP2002032264A JP2000219685A JP2000219685A JP2002032264A JP 2002032264 A JP2002032264 A JP 2002032264A JP 2000219685 A JP2000219685 A JP 2000219685A JP 2000219685 A JP2000219685 A JP 2000219685A JP 2002032264 A JP2002032264 A JP 2002032264A
Authority
JP
Japan
Prior art keywords
cache memory
memory device
cache
address
processing unit
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.)
Granted
Application number
JP2000219685A
Other languages
English (en)
Other versions
JP3973129B2 (ja
Inventor
Eiko Naya
英光 納谷
Hideyuki Okamoto
秀行 岡本
Koji Kawaki
浩司 川木
Yuji Sugaya
祐二 菅谷
Yuichiro Morita
雄一朗 守田
Nobutaka Takahashi
宜孝 高橋
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 JP2000219685A priority Critical patent/JP3973129B2/ja
Priority to US09/791,855 priority patent/US6718426B2/en
Publication of JP2002032264A publication Critical patent/JP2002032264A/ja
Application granted granted Critical
Publication of JP3973129B2 publication Critical patent/JP3973129B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】キャッシュメモリ装置及び、それを用いたデー
タ処理装置において、従来はオペレーティングシステム
等のシステム全体の性能に影響が命令群及びデータ群
と、アプリケーションのようにシステムによって異なる
命令群及びデータ群が、同一のキャッシュメモリ装置に
記憶されるために、前記オペレーティングシステム等に
係る命令群及びデータ群がキャッシュメモリ装置から削
除されることも発生し、システム性能が一定していなか
った。 【解決手段】本発明では、システム性能に係る命令群及
びデータ群を記憶するキャッシュメモリ装置20と、該
キャッシュメモリ装置に記憶するメモリ領域を管理する
メモリ管理テーブル40と、キャッシュメモリ装置を選
択する選択回路100を設けることで、前記課題を解決
するものである。システム制御に係る命令群及びデータ
群を記憶するキャッシュメモリ装置を設けたことによ
り、システム性能が一定にかつ高速になる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、キャッシュメモリ
装置及びそれを用いた中央演算処理装置を有するデータ
処理装置に係り、特にシステム制御情報を格納するキャ
ッシュメモリ装置を有するデータ処理装置に関する。
【0002】
【従来の技術】従来のマイクロプロセッサ等のデータ処
理装置は、命令とデータの両情報を記憶する単一のキャ
ッシュメモリを有するアーキテクチャを採用していた。
従来のデータ処理装置は、単一のキャッシュメモリのた
めに、データ処理装置が実行するアプリケーションプロ
グラムの命令アクセスの順序やデータの容量により、キ
ャッシュ内容の更新が頻繁に発生するためにキャッシュ
のヒット率が低く、速度の遅い外部記憶装置にアクセス
する頻度が増えるために、システムの性能が低かった。
【0003】近年のマイクロプロセッサ等のデータ処理
装置は、キャッシュのヒット率の向上を狙って、命令用
キャッシュメモリとデータ用キャッシュメモリを独立に
有するものが増えてきた。また、キャッシュを階層化す
ることで、ヒット率の向上を狙うものもある。
【0004】従来の技術として、例えば、特開平6−2
42951号公報及び、特開平8−16390号公報及
び、米国特許第5375216号に記載があるように、
キャッシュメモリ装置を命令用とデータ用との2つ分け
てそれぞれ設けているものが知られている。
【0005】また、キャッシュメモリ装置を高速化する
ために、特開平5−324317号公報に記載されてい
るように、メモリの逐次先読み手段を設けたり、特開平
6−110681号公報に記載されているように、該命
令用のメモリ装置と該データ用のメモリ装置それぞれに
独立した情報伝達経路を設けているものが知られてい
る。
【0006】さらに「パターソン&ヘネシー コンピュ
ータの構成と設計 ハードウェアとソフトウェアのイン
タフェース(ISBN4−8222−8057−8)」
第498頁から第576頁に記載されているように、キ
ャッシュ検索の高速化のために、いくつかのマッピング
方式がある。
【0007】また、キャッシュメモリ装置ではないが、
CPUのシステムにおいて、通常命令とシーケンス命令
を分けて実行するものが、特開平3−223931号公
報に記載されている。また、パイプラインの実装方法と
して、プリロードする命令データのアドレスごとに処理
を分けるものが特開昭62−231340号公報に記載
されている。
【0008】
【発明が解決しようとする課題】上記キャッシュメモリ
装置に関する従来技術は、キャッシュメモリのヒット率
を上げるために、命令用とデータ用に分けているが、ア
プリケーションプログラムの命令アクセスの順序や、該
アプリケーションプログラムが操作するデータの容量に
よるキャッシュメモリ内容の変化を考慮していないた
め、該アプリケーションプログラムの実行を管理する命
令群及び、データ群のヒット率が低くなり、システム全
体の性能が低下するという問題がある。
【0009】このようなシステム性能に影響を及ぼす、
前記アプリケーションプログラムの実行を管理する命令
群及び、データ群の一例として、システム制御情報があ
る。該システム制御情報の一例として、該アプリケーシ
ョンプログラムの基盤となるオペレーティングシステム
に係る命令群及び、データ群がある。
【0010】特開平5−324317号公報等の前記従
来技術では、該オペレーティングシステムにおける命令
群及び、データ群例えばTCB(タスクコントロールブ
ロック)は、前記アプリケーションプログラムの命令群
及び、データ群と同様に扱われるので、該アプリケーシ
ョンの実行状況によってキャッシュ内容が変化すると、
該オペレーティングシステムの命令群及び、データ群に
も影響がおよび、最悪キャッシュから削除されるため、
キャッシュヒット率が変動し、システム全体の挙動の予
測が困難である。
【0011】そのため、厳密なタイミング制御を要求さ
れる組込み制御システムでは、前記オペレーティングシ
ステムとしてリアルタイム・オペレーティングシステム
を導入し、この命令群及び、データ群は、キャッシュ対
象外で利用されることが多い。リアルタイム・オペレー
ティングシステムがキャッシュ対象外で利用されるた
め、キャッシュメモリに比べて、アクセス速度が非常に
遅い外部メモリにアクセスしなければならず、システム
全体の性能が劣化する。
【0012】本発明の第1の目的は、アプリケーション
プログラムの挙動に影響されずにシステム制御データを
キャッシュしシステム全体の性能を上げることができる
メモリ装置を提供することである。
【0013】本発明の第2の目的は、キャッシュメモリ
装置における、システム制御情報へのアクセスの高速化
及び、キャッシュヒット率の向上を図ることにある。
【0014】また、本発明の第3の目的は、システム制
御情報群を操作するための命令群を有する中央演算処理
装置におけるキャッシュ制御のアクセス性を改善するこ
とである。
【0015】
【課題を解決するための手段】本発明の第1の目的は、
メモリに記憶されている情報の一部もしくは全部を記憶
するキャッシュメモリ装置において、システム制御に係
る命令群又はデータ群の情報の少なくとも一方を記憶す
るキャッシュメモリと、該情報が記憶されている前記メ
モリ上のアドレスと範囲を管理するアドレス管理テーブ
ルと、該アドレス管理テーブルへのアクセスにより前記
キャッシュメモリを選択する選択回路とを設けたことで
達成される。すなわち、上記目的を達成するために、本
発明は、システム制御に係る命令群及び、データ群の情
報を記憶するキャッシュメモリ装置を設けたものであ
る。また、該キャッシュメモリ装置を選択するために、
該情報が記憶されているメモリ上のアドレスと範囲を管
理する、アドレス管理テーブルを設けたものである。そ
して、このアドレス管理テーブルを元に、前記キャッシ
ュメモリ装置を選択するための選択回路を設けたもので
ある。これにより、従来キャッシュ装置へ該情報を登録
をする必要がなくなり、該システム制御情報へのアクセ
スの高速化及び、キャッシュヒット率の向上の効果があ
る。
【0016】本発明の第2の目的は、前記キャッシュメ
モリ装置において、システム制御情報を構成する項目が
記憶されるオフセット値を管理するオフセット管理テー
ブルと、該オフセット値を操作する命令をデコードする
命令制御装置を設けることで達成される。すなわち、上
記目的を達成するために、本発明は、前記システム制御
に係る命令群及び、データ群の情報を効率良くアクセス
するために、該情報を構成する項目毎の、記憶位置とな
るオフセット値を管理するオフセット管理テーブルと、
該オフセット値を操作する命令をデコードする命令制御
装置を設けたものである。これにより、キャッシュメモ
リ装置における、システム制御情報へのアクセスの高速
化及び、キャッシュヒット率の向上を図ることができ
る。
【0017】本発明の第3の目的は、キャッシュメモリ
装置を備えた中央演算処理装置において、前記オフセッ
ト管理テーブルのエントリを指定することで、該エント
リのオフセット値に存在する情報を解釈して、実行アド
レスを出力する手段を設け、該実行アドレスをプログラ
ムカウンタに設定することで達成される。これにより、
中央演算処理装置におけるキャッシュ制御のアクセス性
が改善される。
【0018】
【発明の実施の形態】以下、本発明の実施例を図により
説明する。図1は、本発明の一実施例になるキャッシュ
メモリ装置の全体構成を示すブロック図である。図1に
おいて、1はキャッシュメモリ装置であり、アドレス1
0、キャッシュメモリ20、比較器30、アドレス管理
テーブル40、及び選択回路100を備えている。キャ
ッシュメモリ20は、例えばSRAM、CPUの内蔵R
AMなどで実装される。
【0019】図の実施例では、CPUやCPUコアと組
み合わせられるキャッシュメモリを例にとって説明す
る。但し、キャッシュメモリに代えて、バッファメモリ
とし、ASICとして内蔵する場合もある。以下、バッ
ファメモリ等の他のメモリも含めて、キャッシュメモリ
として説明する。
【0020】キャッシュメモリ装置1のアドレス10
は、少なくとも、タグ・ビット群12と、インデックス
・ビット群14からなるビット列である。キャッシュメ
モリ20は、タグ情報22とデータ25を記録するキャ
ッシュブロック21を複数有するメモリ装置である。比
較器30は、アドレス10のタグ・ビット群12と、選
択されたキャッシュブロックのタグ情報22を比較する
装置である。アドレス管理テーブル40は、システム制
御情報にかかわる命令群及び、データ群が記憶されてい
るアドレス42と、その範囲45を管理するテーブルで
ある。選択回路100はアドレス10と、アドレス管理
テーブル40のアドレス42及び、範囲45とを比較
し、キャッシュメモリ20を選択する回路である。
【0021】次に、本発明の一実施例におけるアドレス
10とキャッシュ20の読み込みの対応付けの手順につ
いて、図2により説明する。アドレス10は、上位部分
のタグ・ビット群12と下位部分のインデックス・ビッ
ト群14に分割される。選択回路100は、テーブル4
0に格納されているアドレス42、範囲45と、タグ・
ビット群12、インデックス・ビット群14を比較し、
該キャッシュブロック21のデータ25が、設定された
テーブル40に格納されているアドレス範囲に入ってい
るかどうかを判定する(ステップ10)。
【0022】判定結果よりキャッシュセットが選択され
る(ステップ12)。さらに、アドレス10のインデッ
クス・ビット群14に基づいて、対応するキャッシュブ
ロック21が選択される(ステップ14)。そして、ア
ドレス10のタグ・ビット群12と、選択されたキャッ
シュブロックのタグ情報22が比較器30で比較され、
該キャッシュブロック21のデータ25が要求されたア
ドレス10のものかどうかが判定される(ステップ1
6)。
【0023】なお、キャッシュブロック21のデータの
有効無効を示すための有効ビットをキャッシュブロック
21が有し、上記2つの判定結果に加えて、該有効ビッ
トの真偽情報により、データ25の有効無効を決定する
場合もある。
【0024】本実施例によれば、キャッシュメモリ20
と、システム制御情報にかかわる命令群及び、データ群
が記憶されているアドレス42及び、範囲45を管理す
るテーブル40と、選択回路100とを独立して設けて
いるため、キャッシュメモリ装置の選択が高速化され、
システム制御情報へのアクセス速度の高速化及び、キャ
ッシュヒット率の向上が図れるという効果がある。
【0025】次に、図3において、本発明の一実施例に
おけるアドレス10とキャッシュメモリ20の書き込み
の対応付けの手順について説明する。アドレス10は、
選択回路100に読み込まれる(ステップ20)。該選
択回路はアドレス管理テーブル40を参照し、前記アド
レスが、該テーブルに管理されているアドレス42と範
囲45の領域の、内外かを判定し(ステップ22)、キ
ャッシュメモリ20を選択する(ステップ24)。
【0026】本実施例によれば、キャッシュメモリ20
と、システム制御情報にかかわる命令群及び、データ群
が記憶されているアドレス42及び、範囲45を管理す
るテーブル40を設けているため、システム制御情報へ
のアクセス速度の高速化及び、キャッシュヒット率の向
上の効果がある。
【0027】次に、図4により、本発明の一実施例にお
ける、キャッシュブロック上のシステム制御情報の例、
すなわち、キャッシュブロック21のデータ25の構成
例を説明する。図4はタスク、プロセス、スレッド等の
システム動作を管理するための前記システム制御情報
を、(図1の)キャッシュメモリ20のキャッシュブロ
ック21に記憶した例であり、該システム制御情報は少
なくとも、システム動作の優先度200、システム動作
の状態情報210、システム動作の実行エントリ22
0、システム制御情報の関連情報を記憶するための前ブ
ロック230と後ブロック240の情報を記憶するもの
である。
【0028】このように、システム制御情報をキャッシ
ュメモリ20に記憶することで、該システム制御情報へ
のアクセス速度を高めることができる。本実施例では、
システム制御情報としてタスク、プロセス、スレッド等
と管理するタスクコントロールブロックを例としてあげ
ているが、本例のように項目のまとまりをシステム制御
情報として実装されている、各種のヘッダ情報もシステ
ム情報として本発明では利用可能である。
【0029】次に、本発明の一実施例におけるオフセッ
ト管理テーブル50の例を図5に示す。オフセット管理
テーブル50は、キャッシュメモリ40のキャッシュブ
ロック21のデータ25内部の、システム動作の優先度
200に対応する優先度オフセット300とその値31
0、システム動作の状態情報210に対応する優先度オ
フセット320とその値330、システム動作の実行エ
ントリ220に対応する実行エントリオフセット340
とその値350、システム制御情報の関連情報を記憶す
るための前ブロック230に対応する前ブロックオフセ
ット360とその値370、後ブロック240に対応す
る後ブロックオフセット380とその値390を管理す
るものである。
【0030】このようにオフセット値を管理するオフセ
ット管理テーブル50を設けることにより、キャッシュ
メモリ40内のデータの位置関係が明確になるので、デ
ータ25内部へのアクセス位置を自由に設定することが
できるようになり、アクセス性がよくなる。
【0031】次に、本発明の一実施例におけるオフセッ
トによるデータアクセスの構成例を図6に示す。図6に
おいて、命令制御ユニット60は、命令セットをデコー
ドし、該命令に係るデータ25の中の項目に対応する、
オフセットテーブル50のインデックスを生成するユニ
ットである。マルチプレクサ70は、データ25と、前
記命令制御ユニット60から出力される該インデックス
を基に、オフセットテーブル60から該インデックスの
オフセット値を読み込み、該インデックスのオフセット
値に基づいて該データ25の一部分を出力する。
【0032】このようにすることで、バイトアライメン
トによらずデータへアクセスすることができ、高速化が
図れる。
【0033】次に、本発明の一実施例におけるキャッシ
ュから命令実行するプログラムカウンタ設定の例を図7
に示す。命令制御ユニット60に、システム制御情報に
基づく実行命令セットがフェッチされると、該ユニット
は、該命令セットに対応するオフセット管理テーブル5
0のエントリ番号を、情報解釈ユニット70に発行す
る。前記情報解釈ユニット70は、データ25から該エ
ントリ番号に相当するオフセット位置に記憶されている
実行エントリ220を読み込み、該実行エントリの情報
を解釈する。実行エントリの情報はオペレーティングシ
ステムによって異なるが、単純なオペレーティングシス
テムでは、該実行エントリが物理アドレスになり、複雑
なオペレーティングシステムでは、実行エントリの情報
は、実行ファイルに係る情報へのエントリとなる。前記
複雑なオペレーティングシステムでは、タスク及び、プ
ロセス等の処理実行単位は、ファイルシステム上のファ
イルとして管理されている。このため、該ファイルを実
行するためには、このファイルをメモリ上に展開して実
行する必要がある。実行ファイルエントリは、メモリ上
に展開されたファイルのメモリイメージの情報となる。
メモリイメージには、実行ファイルとしての識別情報及
び、実行環境設定のためのヘッダ情報がついている。こ
の場合、情報解釈ユニット70は、該ヘッダ情報を解釈
し、実行環境つまり実行アドレスを生成することにな
る。実行アドレスが生成されると情報解釈ユニットはプ
ログラムカウンタ80を設定し、あらたな処理単位の実
行を開始する。
【0034】このように、オフセット管理テーブル50
と情報解釈ユニット70を設けることにより、処理起動
を高速化することができる。
【0035】次に、本発明の一実施例におけるキャッシ
ュメモリのプリロードの例を図8に示し、その処理ステ
ップを図9に示す。命令制御ユニット60は、キャッシ
ュメモリのプリロード命令をフェッチすると、アドレス
管理テーブル40を参照し(ステップ30)、該テーブ
ルのエントリからアドレス42と範囲45を読み出し、
アドレス10を生成する(ステップ32)。選択回路1
00において、生成されたアドレス10は、アドレス管
理テーブル40のエントリのアドレス42と範囲45と
比較されて(ステップ34)、判定結果によりキャッシ
ュメモリ20が選択される(ステップ36)。選択され
たキャッシュメモリ20に、アドレス42から範囲45
までのデータが、前記判定結果により選択されたキャッ
シュメモリ20に記憶される(ステップ38)。この動
作が、命令制御ユニット50がアドレス管理テーブル4
0の全てのエントリを読み出すまで続けられる(ステッ
プ40)。
【0036】このように、メモリ管理テーブル40に基
づいて任意のアドレス領域に記憶されているデータをキ
ャッシュメモリ20に記憶することができるので、該デ
ータのキャッシュミスを防ぐことができる。
【0037】次に、図10に、本発明の一実施例におけ
るキャッシュメモリブロックをクリアする時に該ブロッ
クに係る関連情報を更新するキャッシュブロック関連更
新の構成例を示す。命令制御ユニット60は、命令をデ
コードし、キャッシュメモリブロック21の、キャッシ
ュブロック間の関連付け情報が記憶されている項目を示
す選択エントリ330を生成し、クリアするキャッシュ
メモリブロックを関連更新回路400に指示するユニッ
トである。関連更新回路400は、命令制御ユニット6
0に指示されたクリアするキャッシュメモリブロック及
び、該選択エントリ330を読み込み、関連の更新を実
行する回路である。
【0038】図11に、上記関連更新回路400の動作
について説明する。関連更新回路400は、命令制御ユ
ニット60に指示されたクリアするキャッシュメモリブ
ロック及び、該選択エントリ330を読み込み(ステッ
プ50)、クリアするキャッシュメモリブロックにおけ
る該選択エントリ330に記憶されている情報、前ブロ
ック230及び、次ブロック240に記憶されている情
報を読み込む(ステップ52、ステップ53)。
【0039】前ブロック230に記憶されているキャッ
シュブロックの、次ブロックの情報を読み出し(ステッ
プ54)、前記次ブロック240に記憶されているキャ
ッシュブロックの、前ブロックに書込む(ステップ5
6)。次ブロック240に記憶されているキャッシュブ
ロックの、前ブロックの情報を読み出し(ステップ5
5)、前記前ブロック230に記憶されているキャッシ
ュブロックの、次ブロックに書込む(ステップ57)。
【0040】図12は、本発明のキャッシュ命令装置を
用いた中央演算処理装置の一実施例である。本実施例の
中央演算処理装置では、命令キャッシュ900、データ
キャッシュ950、システム制御情報を格納するキャッ
シュメモリ装置20を有する。該命令キャッシュ900
及び、該データキャッシュ950は、記憶しているメモ
リの内容が有効であるか無効であるかを示す有効ビット
27を持つ。なお、該命令キャッシュ900及び、デー
タキャッシュ950は、従来のキャッシュメモリ装置と
同等であり、従来の中央演算処理装置が有するキャッシ
ュメモリ装置としては、前記命令とデータでキャッシュ
メモリ装置を分離するハーバードアーキテクチャと、命
令とデータを統合してキャッシングするユニファイドア
ーキテクチャがある。本発明は、従来のキャッシュシス
テム構成には依存せず、いずれのアーキテクチャでもよ
い。
【0041】次に、図12の実施例の動作として、図1
3により、アドレス10と、システム制御情報を記憶す
るキャッシュ20と命令キャッシュ900とデータキャ
ッシュ950の、読み込みの対応付けの手順について説
明する。アドレス10は、上位部分のタグ・ビット群1
2と下位部分のインデックス・ビット群14に分割され
る。
【0042】アドレス10は、選択回路100に読み込
まれ、選択回路100はアドレス管理テーブル40に管
理されているアドレス42と範囲45の領域に、該アド
レス10が収まっているかどうかを判断し(ステップ1
00)、収まっている場合にはシステム制御情報キャッ
シュ20を(ステップ110)、収まっていない場合に
は従来の中央演算処理装置と同等に命令かデータを判断
し(ステップ120)、命令キャッシュ900(ステッ
プ130)もしくはデータキャッシュ950(ステップ
140)を選択することを比較器30に指示する。この
ようにキャッシュセットを複数持つ場合、従来はすべて
のキャッシュセットのタグの比較を実施していた。本発
明のように、アドレス管理テーブル40と選択回路10
0を設けることによりアクセスが速くなり、キャッシュ
セットの選択が、タグを引く前に実施できるために実行
時間の短縮を図れる。
【0043】次に、図14において、図12の実施例に
おけるアドレス10と、システム制御情報を記憶するキ
ャッシュ20と命令キャッシュ900とデータキャッシ
ュ950の、書き込みの対応付けの手順について説明す
る。アドレス10は、選択回路100に読み込まれ、選
択回路100はアドレス管理テーブル40に管理されて
いるアドレス42と範囲45の領域に、該アドレス10
が収まっているかどうかを判断し(ステップ200)、
収まっている場合にはシステム制御情報キャッシュ20
を選択し(ステップ210)、タグ12とタグ22の一
致するキャッシュブロック21にデータを書き込む(ス
テップ220)。収まっていない場合には従来の中央演
算処理装置と同等に命令かデータを判断し(ステップ2
30)、命令キャッシュ900(ステップ240)もし
くはデータキャッシュ950(ステップ250)を選択
し、選択されたキャッシュの書き込み位置を算出し(ス
テップ260)、データと書き込む(ステップ27
0)。なお、前記書き込み位置の算出には、公知の技術
としてLRU(Least Recent Used)
アルゴリズムがある。
【0044】本実施例によれば、キャッシュメモリ装置
20と、システム制御情報にかかわる命令群及び、デー
タ群が記憶されているアドレス42及び、範囲45を管
理するテーブル40を設けることにより、システム制御
情報へのアクセス速度の高速化及び、キャッシュヒット
率の向上の効果がある。
【0045】図15は、図12に示した中央演算処理装
置の命令セットの一実施例である。
【0046】アドレス管理テーブル設定命令900は、
アドレス管理テーブル40の内容を設定する命令であ
る。領域選択キャッシュプリロード命令910は、キャ
ッシュ40のプリロードを実施する命令である。領域選
択キャッシュクリア命令920は、アドレス管理テーブ
ル40の領域を指定してキャッシュをクリアする命令で
ある。
【0047】システム制御情報による処理実行命令93
0は、アドレス管理テーブル40の領域と、オフセット
エントリを指定して、処理の起動をする命令である。キ
ャッシュラインクリア命令940は、キャッシュ40の
ライン及び、エントリを指定して、キャッシュブロック
21のクリア及び、該キャッシュブロックの関連を更新
する命令である。
【0048】図16に、本発明のキャッシュメモリ装置
を用いたシステム設計方式の一実施例について説明す
る。関数型言語等のプログラム記述言語によって記述さ
れたアプリケーションソースコード1000は、コンパ
イラ等の機械語翻訳手段1010により、実行形式10
20に変換される。該機械語翻訳手段1010は、アプ
リケーションソースコード1000内の処理単位、本実
施例の関数形言語によるソースコードでは関数、と該処
理単位が機械語に翻訳されたアドレスおよび範囲の対応
を示す処理単位アロケーションマップ1030を生成す
る。また、該機械語翻訳手段1010は、リアルタイム
オペレーティングシステムを使用しているシステムで
は、システム制御情報として、タスクコントロールブロ
ックについての構造及びメモリサイズの情報を示すメモ
リマップ情報1040も生成する。
【0049】実行形式1020をリアルタイムオペレー
ティングシステム下で実行すると、前記処理単位アロケ
ーションマップ1030に記憶さている処理単位、本実
施例では関数の呼び出し頻度についてのプロファイル情
報1050が生成される。
【0050】前記処理単位アロケーションマップ103
0と、メモリマップ情報1040と、プロファイル情報
1040より、システム制御情報を記憶するキャッシュ
メモリ装置20の、キャッシュブロック21の容量およ
び個数、アドレス管理テーブル40のエントリ数を決定
することができる。キャッシュブロック21の容量およ
び個数、アドレス管理テーブル40のエントリ数と、本
発明のシステム制御情報を記憶するキャッシュメモリ装
置のソフトウェアIP1060を、論理合成ツール10
70で処理することにより、ゲート情報1080が生成
され、該ゲート情報1080をレイアウトツール109
0で処理することにより、マスクパターン1100が生
成される。このマスクパターンを利用することで半導体
としてのシステム制御情報を記憶するキャッシュメモリ
装置を製造できる。
【0051】図17は、本発明のシステム制御情報を記
憶するキャッシュメモリ装置を搭載する、通信手段を有
する携帯端末システムの一実施例を示すものである。携
帯端末システム2000は、アプリケーション等の情報
を送受信するための通信手段2010と、該アプリケー
ションを実行する実行手段2020と、該アプリケーシ
ョンを記憶するメモリ2030と、システム制御情報を
記憶するキャッシュメモリ装置1及び入出力手段(図示
略)から構成される。なお、アプリケーション2040
は、通信負荷を軽減するために、圧縮されている場合が
多い。またアプリケーション2040は、処理の単位と
してのインスタンス2050から構成される。インスタ
ンス2050は、キャッシュメモリ装置1に記憶すべき
か否かの優先度情報2060を有する。この実施例によ
れば、携帯端末システム2000は、通信手段によりア
プリケーションを受信し、該アプリケーションを実行す
ることによりシステムのアプリケーションの起動性能が
改善される。
【0052】図18により、17の実施例におけるキャ
ッシュに係るフローを説明する。まず、通信手段201
0は、アプリケーション2050を受信し(ステップ2
000)、メモリ2030に書き込む(ステップ201
0)。通信手段2010は該アプリケーション2050
を書き込んだアドレスと範囲2031を、キャッシュメ
モリ装置1にキャッシュプリロード命令910により通
知し、該アプリケーション2050をキャッシュメモリ
装置1にプリロードする(ステップ2020)。次に通
信手段2010は、書き込んだ該アプリケーション20
50のアドレスを実行手段2020に通知する(ステッ
プ2030)。通知を受けた実行手段2020は、該ア
ドレスを参照し、該アプリケーション2040を、イン
スタンス2050に展開した実行形式2070に変換し
てメモリ2030に書き込む(ステップ2040)。実
行手段2020は、該インスタンス2050の優先度情
報2060を読み込み(ステップ2050)、優先度が
設定されているインスタンス2050のアドレスと範囲
を、キャッシュメモリ装置1にキャッシュプリロード命
令910により通知する(ステップ2060)。
【0053】このような方式にすることで、通信手段を
有し、該通信手段によりアプリケーションを受信し、該
アプリケーションを実行するシステムにおいて、アプリ
ケーションを受信した時の起動性能を向上させることが
できる。また、通信手段を設けることにより、アドレス
管理テーブル40の内容を、他局へ送信受信することが
可能になるため、該アドレス管理テーブル内容の他局へ
の送信によりシステム状態の報告が可能になり、他局か
らの該アドレス管理テーブル内容を他局からの受信しキ
ャッシュプリロード命令によりキャッシュ内容の変更を
することが可能になり、システム性能を外部からの調整
ができるようになる。
【0054】なお、通信手段としては、インターネット
を利用した有線通信を用いても良い。
【0055】また、本発明のキャッシュメモリ装置と、
演算処理や周辺機器を備えた演算処理システムを構成す
ることにより、同様に、アクセスの高速化やキャッシュ
ヒット率の向上を図れるという効果がある。
【0056】
【発明の効果】本発明によれば、システム制御情報に係
る命令群及び、データ群を記憶するキャッシュメモリ装
置を設けることにより、従来キャッシュ装置へ該情報を
登録をする必要がなくなり、該システム制御情報へのア
クセスの高速化及び、キャッシュヒット率の向上の効果
がある。また、リアルタイムオペレーティングシステム
におけるシステム制御情報の命令群としてのスケジュー
リングコード及び、データ群としてのタスクコントロー
ルブロックの局所性及び普遍性により、キャッシュヒッ
ト率が100%のため、システムの性能が事前に予測可
能になる、という効果がある。従って、システム制御情
報として、システム性能を左右するアプリケーションの
命令群及び、データ群を、システム制御情報として、キ
ャッシュメモリ装置に記憶できるので、システム全体の
性能を上げることができる。
【0057】また、システム制御情報として、上記アプ
リケーション以外のシステム性能のボトルネックとなる
ユーザモードドライバの命令群及びデータ群を、キャッ
シュメモリ装置に記憶できるので、システム全体の性能
を上げることができる。
【図面の簡単な説明】
【図1】本発明の一実施例になるキャッシュメモリ装置
の基本構成図。
【図2】図1のキャッシュメモリ装置における読込み時
のフロー。
【図3】図1のキャッシュメモリ装置における書込み時
のフロー。
【図4】図1のキャッシュブロック上のシステム制御情
報の一実施例を示す図。
【図5】オフセット管理テーブルの構成図。
【図6】オフセットによるデータアクセスの構成図。
【図7】キャッシュから命令実行する構成図。
【図8】キャッシュロードの構成図。
【図9】キャッシュロードのフロー。
【図10】キャッシュブロックの関連更新の構成図。
【図11】キャッシュブロックの関連更新のフロー。
【図12】本発明のキャッシュ命令装置を用いた中央演
算処理装置の実施例を示す図。
【図13】読込み時のキャッシュ選択のフロー。
【図14】書込み時のキャッシュ選択のフロー。
【図15】本発明のキャッシュ制御命令セットの一実施
例の構成図。
【図16】本発明によるシステム・オン・チップの開発
方法の一例を示す図。
【図17】本発明を携帯端末に応用した一実施例の構成
図。
【図18】図17の実施例におけるキャッシュに係るフ
ロー。
【符号の説明】
1…キャッシュメモリ装置、10…アドレス、20…キ
ャッシュメモリ、12…タグ・ビット群、22…タグ情
報、23…キャッシュブロック、30…比較器、40…
アドレス管理テーブル、100…選択回路。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 9/34 350 G06F 9/34 350B 9/46 340B 9/46 340 9/36 310 (72)発明者 川木 浩司 茨城県ひたちなか市大字市毛882番地 株 式会社日立製作所計測器グループ内 (72)発明者 菅谷 祐二 茨城県ひたちなか市大字市毛882番地 株 式会社日立製作所計測器グループ内 (72)発明者 守田 雄一朗 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内 (72)発明者 高橋 宜孝 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内 Fターム(参考) 5B005 JJ13 LL01 MM01 NN42 5B033 AA04 DA03 DA17 DB06 DB12 5B098 AA03 GA04 GA05 GB02

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】メモリに記憶されている情報の一部もしく
    は全部を記憶するキャッシュメモリ装置において、シス
    テム制御に係る命令群又はデータ群の情報の少なくとも
    一方を記憶するキャッシュメモリと、該情報が記憶され
    ている前記メモリ上のアドレスと範囲を管理するアドレ
    ス管理テーブルと、該アドレス管理テーブルへのアクセ
    スにより前記キャッシュメモリを選択する選択回路とを
    設けたことを特徴とするキャッシュメモリ装置。
  2. 【請求項2】請求項1のキャッシュメモリ装置におい
    て、前記キャッシュメモリに、システムの動作単位とな
    るタスク、プロセス、スレッド等を管理するためシステ
    ム制御情報を記憶することを特徴とするキャッシュメモ
    リ装置。
  3. 【請求項3】請求項1のキャッシュメモリ装置におい
    て、前記キャッシュメモリに、システムの動作単位とな
    るタスク、プロセス、スレッド等を管理するためのシス
    テム制御情報を操作するスケジューリング命令群を記憶
    することを特徴とするキャッシュメモリ装置。
  4. 【請求項4】請求項2のキャッシュメモリ装置におい
    て、前記キャッシュメモリに記憶されるシステム制御情
    報を構成する情報の、項目毎のオフセット値を、管理す
    るオフセット管理テーブルを有することを特徴とするキ
    ャッシュメモリ装置。
  5. 【請求項5】請求項4のキャッシュメモリ装置におい
    て、前記オフセット管理テーブルのエントリ番号を指定
    することで、該エントリのオフセット値に記憶されてい
    るデータを入出力することを特徴とするキャッシュメモ
    リ装置。
  6. 【請求項6】請求項1のキャッシュメモリ装置におい
    て、前記アドレス管理テーブルに基づいて、該アドレス
    管理テーブルに登録されているアドレス及び範囲に記憶
    されているデータを、該キャッシュメモリにロードする
    ことを特徴とするキャッシュメモリ装置。
  7. 【請求項7】請求項6のキャッシュメモリ装置を備えた
    中央演算処理装置において、前記情報を該キャッシュメ
    モリ装置に事前にロードするための、プリロード命令を
    有することを特徴とする中央演算処理装置。
  8. 【請求項8】請求項4のキャッシュメモリ装置を備えた
    中央演算処理装置において、前記オフセット管理テーブ
    ルのエントリを指定することで、該エントリのオフセッ
    ト値に存在する情報を解釈して、実行アドレスを出力す
    る手段を設け、該実行アドレスをプログラムカウンタに
    設定することを特徴とする中央演算処理装置。
  9. 【請求項9】請求項4のキャッシュメモリ装置を備えた
    中央演算処理装置において、前記オフセット管理テーブ
    ル内から、比較のためのエントリと、選択のためのエン
    トリの、2つのエントリを指定することで、該比較のた
    めのエントリのオフセット値が示すデータについて、全
    キャッシュブロックの該当エントリの値の、比較を行う
    比較ユニットを設け、比較結果により決定されたキャッ
    シュブロックの、該選択のためのエントリのオフセット
    値が示すデータを、入出力することを特徴とする中央演
    算処理装置。
  10. 【請求項10】請求項4のキャッシュメモリ装置を備え
    た中央演算処理装置において、システム制御情報にかか
    わる命令群及びデータ群の該メモリ上のアドレスを管理
    するテーブルと、アドレスを比較し、該メモリ装置と他
    メモリ装置の選択をする選択装置を有することを特徴と
    する中央演算処理装置。
  11. 【請求項11】請求項4のキャッシュメモリ装置を備え
    た中央演算処理装置において、キャッシュメモリブロッ
    クをクリアする時に、該ブロックに格納されているシス
    テム制御情報に係るシステム制御情報間の関係づけを、
    更新するための関連更新手段を設けたことを特徴とする
    中央演算処理装置。
  12. 【請求項12】請求項1〜6のいずれかに記載のキャッ
    シュメモリ装置と、通信手段とを備えたことを特徴とす
    る携帯端末装置。
  13. 【請求項13】請求項1〜6のいずれかに記載のキャッ
    シュメモリ装置と演算処理及び周辺機器とを備えたこと
    を特徴とする演算処理システム。
JP2000219685A 2000-07-19 2000-07-19 キャッシュメモリ装置及びそれを用いた中央演算処理装置 Expired - Fee Related JP3973129B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000219685A JP3973129B2 (ja) 2000-07-19 2000-07-19 キャッシュメモリ装置及びそれを用いた中央演算処理装置
US09/791,855 US6718426B2 (en) 2000-07-19 2001-02-26 Cache memory apparatus and central processor, hand-held device and arithmetic processor using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000219685A JP3973129B2 (ja) 2000-07-19 2000-07-19 キャッシュメモリ装置及びそれを用いた中央演算処理装置

Publications (2)

Publication Number Publication Date
JP2002032264A true JP2002032264A (ja) 2002-01-31
JP3973129B2 JP3973129B2 (ja) 2007-09-12

Family

ID=18714426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000219685A Expired - Fee Related JP3973129B2 (ja) 2000-07-19 2000-07-19 キャッシュメモリ装置及びそれを用いた中央演算処理装置

Country Status (2)

Country Link
US (1) US6718426B2 (ja)
JP (1) JP3973129B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100486259B1 (ko) * 2002-09-09 2005-05-03 삼성전자주식회사 컴퓨터 시스템의 동작 속도를 향상시키는 캐쉬 구조를 가지는 프로세서 및 캐쉬 관리 방법
JP2008530656A (ja) * 2005-02-07 2008-08-07 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド データ転送中にキャッシュへのアクセスを制限するシステムおよびその方法
JP2019528532A (ja) * 2016-08-19 2019-10-10 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated データキャッシュ領域プリフェッチャ

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961804B2 (en) * 2001-07-20 2005-11-01 International Business Machines Corporation Flexible techniques for associating cache memories with processors and main memory
US6931492B2 (en) * 2001-11-02 2005-08-16 International Business Machines Corporation Method for using a portion of the system cache as a trace array
US6688561B2 (en) * 2001-12-27 2004-02-10 General Electric Company Remote monitoring of grade crossing warning equipment
US7330954B2 (en) * 2002-04-18 2008-02-12 Intel Corporation Storing information in one of at least two storage devices based on a storage parameter and an attribute of the storage devices
US9116845B2 (en) 2011-02-23 2015-08-25 Freescale Semiconductor, Inc. Remote permissions provisioning for storage in a cache and device therefor
US8949551B2 (en) 2011-02-23 2015-02-03 Freescale Semiconductor, Inc. Memory protection unit (MPU) having a shared portion and method of operation
EP2541404B1 (en) * 2011-06-30 2014-08-13 Telefonaktiebolaget LM Ericsson (publ) Technique for task sequence execution
US8639895B2 (en) 2011-07-14 2014-01-28 Freescale Semiconductor, Inc. Systems and methods for memory region descriptor attribute override

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62231340A (ja) * 1986-03-31 1987-10-09 Toshiba Corp 計算機
JPH0769826B2 (ja) * 1989-12-11 1995-07-31 三菱電機株式会社 データ処理装置
DE69030648T2 (de) * 1990-01-02 1997-11-13 Motorola Inc Verfahren zum sequentiellen Vorabruf von 1-Wort-, 2-Wort oder 3-Wort-Befehlen
US5375216A (en) * 1992-02-28 1994-12-20 Motorola, Inc. Apparatus and method for optimizing performance of a cache memory in a data processing system
JP2912099B2 (ja) * 1992-09-29 1999-06-28 日本電気アイシーマイコンシステム株式会社 マイクロコンピュータシステム
JPH06242951A (ja) * 1992-12-22 1994-09-02 Toshiba Corp キャッシュメモリシステム
JPH0816390A (ja) * 1994-07-01 1996-01-19 Hitachi Ltd マイクロプロセッサ
US5721874A (en) * 1995-06-16 1998-02-24 International Business Machines Corporation Configurable cache with variable, dynamically addressable line sizes

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100486259B1 (ko) * 2002-09-09 2005-05-03 삼성전자주식회사 컴퓨터 시스템의 동작 속도를 향상시키는 캐쉬 구조를 가지는 프로세서 및 캐쉬 관리 방법
JP2008530656A (ja) * 2005-02-07 2008-08-07 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド データ転送中にキャッシュへのアクセスを制限するシステムおよびその方法
JP2019528532A (ja) * 2016-08-19 2019-10-10 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated データキャッシュ領域プリフェッチャ
JP7308745B2 (ja) 2016-08-19 2023-07-14 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド データキャッシュ領域プリフェッチャ
US12204459B2 (en) 2016-08-19 2025-01-21 Advanced Micro Devices, Inc. Data cache region prefetcher

Also Published As

Publication number Publication date
JP3973129B2 (ja) 2007-09-12
US6718426B2 (en) 2004-04-06
US20020013877A1 (en) 2002-01-31

Similar Documents

Publication Publication Date Title
US9442851B2 (en) Multi-core processor system, control program, and control method
US6321314B1 (en) Method and apparatus for restricting memory access
KR100274327B1 (ko) 캐시가 일관된 다중 처리기 컴퓨터 시스템에서 다중 미결동작을 제공하기 위한 장치 및 그 방법
US6981119B1 (en) System and method for storing performance-enhancing data in memory space freed by data compression
US20080235477A1 (en) Coherent data mover
US20070130237A1 (en) Transient cache storage
JPH0612327A (ja) キャッシュメモリを有するデータプロセッサ
US9448931B2 (en) Endian conversion method and system
JP2002251321A (ja) キャッシュメモリシステム装置
JP3973129B2 (ja) キャッシュメモリ装置及びそれを用いた中央演算処理装置
CN119317907A (zh) 部分地址转换无效请求
JP2009271606A (ja) 情報処理装置およびコンパイル方法
JPWO2005050454A1 (ja) キャッシュメモリおよびその制御方法
EP1880276B1 (en) Memory caching in data processing
US6862675B1 (en) Microprocessor and device including memory units with different physical addresses
JPH0743671B2 (ja) キャッシュ・メモリ制御方式
US6324635B1 (en) Method and apparatus for address paging emulation
JPH08161169A (ja) Vliw方式の計算機システム及びvliwの解釈・実行方法
JP2022156563A (ja) 情報処理装置及び情報処理方法
CN116830092A (zh) 用于跟踪存储器区域的内容的修改的技术
CN1326036C (zh) 数据处理装置、数据处理方法和编译装置及编译方法
JP3260566B2 (ja) 情報処理システムにおける記憶制御方法および記憶制御装置
JPH06149669A (ja) キャッシュデータ転送方式およびキャッシュデータ転送装置
JP2000194602A (ja) 情報処理装置、マイクロプロセッサ及び外部キャッシュメモリの制御方法
Groote et al. Computer Organization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070425

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070515

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070608

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100622

Year of fee payment: 3

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070425

LAPS Cancellation because of no payment of annual fees