(57)【特許請求の範囲】
【請求項１】
メモリに記憶されている情報の一部もしくは全部を記憶するキャッシュメモリ装置において、システム制御に係る命令群又はデータ群の情報の少なくとも一方と、システムの動作単位となるタスク、プロセス、スレッド等を管理するためのシステム制御情報を記憶するキャッシュメモリと、該システム制御に係る命令群又はデータ群の情報が記憶されている前記メモリ上のアドレスと範囲を管理するアドレス管理テーブルと、該アドレス管理テーブルへのアクセスにより前記キャッシュメモリを選択する選択回路と、前記キャッシュメモリに記憶されるシステム制御情報を構成する情報の、項目毎のオフセット値を、管理するオフセット管理テーブルを設けたことを特徴とするキャッシュメモリ装置。
【請求項２】
請求項１のキャッシュメモリ装置において、前記キャッシュメモリに、システムの動作単位となるタスク、プロセス、スレッド等を管理するためのシステム制御情報を操作するスケジューリング命令群を記憶することを特徴とするキャッシュメモリ装置。
【請求項３】
請求項１のキャッシュメモリ装置において、前記オフセット管理テーブルのエントリ番号を指定することで、該エントリのオフセット値に記憶されているデータを入出力することを特徴とするキャッシュメモリ装置。
【請求項４】
請求項１のキャッシュメモリ装置において、前記アドレス管理テーブルに基づいて、該アドレス管理テーブルに登録されているアドレス及び範囲に記憶されているデータを、該キャッシュメモリにロードすることを特徴とするキャッシュメモリ装置。
【請求項５】
請求項４のキャッシュメモリ装置を備えた中央演算処理装置において、前記情報を該キャッシュメモリ装置に事前にロードするための、プリロード命令を有することを特徴とする中央演算処理装置。
【請求項６】
請求項１のキャッシュメモリ装置を備えた中央演算処理装置において、前記オフセット管理テーブルのエントリを指定することで、該エントリのオフセット値に存在する情報を解釈して、実行アドレスを出力する手段を設け、該実行アドレスをプログラムカウンタに設定することを特徴とする中央演算処理装置。
【請求項７】
請求項１のキャッシュメモリ装置を備えた中央演算処理装置において、前記オフセット管理テーブル内から、比較のためのエントリと、選択のためのエントリの、２つのエントリを指定することで、該比較のためのエントリのオフセット値が示すデータについて、全キャッシュブロックの該当エントリの値の、比較を行う比較ユニットを設け、比較結果により決定されたキャッシュブロックの、該選択のためのエントリのオフセット値が示すデータを、入出力することを特徴とする中央演算処理装置。
【請求項８】
請求項１のキャッシュメモリ装置を備えた中央演算処理装置において、キャッシュメモリブロックをクリアする時に、該ブロックに格納されているシステム制御情報に係るシステム制御情報間の関係づけを、更新するための関連更新手段を設けたことを特徴とする中央演算処理装置。
【請求項９】
請求項１〜４のいずれかに記載のキャッシュメモリ装置と、通信手段とを備えたことを特徴とする携帯端末装置。
【請求項１０】
請求項１〜４のいずれかに記載のキャッシュメモリ装置と演算処理手段及び周辺機器とを備えたことを特徴とする演算処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、キャッシュメモリ装置及びそれを用いた中央演算処理装置を有するデータ処理装置に係り、特にシステム制御情報を格納するキャッシュメモリ装置を有するデータ処理装置に関する。
【０００２】
【従来の技術】
従来のマイクロプロセッサ等のデータ処理装置は、命令とデータの両情報を記憶する単一のキャッシュメモリを有するアーキテクチャを採用していた。従来のデータ処理装置は、単一のキャッシュメモリのために、データ処理装置が実行するアプリケーションプログラムの命令アクセスの順序やデータの容量により、キャッシュ内容の更新が頻繁に発生するためにキャッシュのヒット率が低く、速度の遅い外部記憶装置にアクセスする頻度が増えるために、システムの性能が低かった。
【０００３】
近年のマイクロプロセッサ等のデータ処理装置は、キャッシュのヒット率の向上を狙って、命令用キャッシュメモリとデータ用キャッシュメモリを独立に有するものが増えてきた。また、キャッシュを階層化することで、ヒット率の向上を狙うものもある。
【０００４】
従来の技術として、例えば、特開平６−２４２９５１号公報及び、特開平８−１６３９０号公報及び、米国特許第５３７５２１６号に記載があるように、キャッシュメモリ装置を命令用とデータ用との２つ分けてそれぞれ設けているものが知られている。
【０００５】
また、キャッシュメモリ装置を高速化するために、特開平５−３２４３１７号公報に記載されているように、メモリの逐次先読み手段を設けたり、特開平６−１１０６８１号公報に記載されているように、該命令用のメモリ装置と該データ用のメモリ装置それぞれに独立した情報伝達経路を設けているものが知られている。
【０００６】
さらに「パターソン＆ヘネシー  コンピュータの構成と設計  ハードウェアとソフトウェアのインタフェース（ＩＳＢＮ４−８２２２−８０５７−８）」第４９８頁から第５７６頁に記載されているように、キャッシュ検索の高速化のために、いくつかのマッピング方式がある。
【０００７】
また、キャッシュメモリ装置ではないが、ＣＰＵのシステムにおいて、通常命令とシーケンス命令を分けて実行するものが、特開平３−２２３９３１号公報に記載されている。また、パイプラインの実装方法として、プリロードする命令データのアドレスごとに処理を分けるものが特開昭６２−２３１３４０号公報に記載されている。
【０００８】
【発明が解決しようとする課題】
上記キャッシュメモリ装置に関する従来技術は、キャッシュメモリのヒット率を上げるために、命令用とデータ用に分けているが、アプリケーションプログラムの命令アクセスの順序や、該アプリケーションプログラムが操作するデータの容量によるキャッシュメモリ内容の変化を考慮していないため、該アプリケーションプログラムの実行を管理する命令群及び、データ群のヒット率が低くなり、システム全体の性能が低下するという問題がある。
【０００９】
このようなシステム性能に影響を及ぼす、前記アプリケーションプログラムの実行を管理する命令群及び、データ群の一例として、システム制御情報がある。該システム制御情報の一例として、該アプリケーションプログラムの基盤となるオペレーティングシステムに係る命令群及び、データ群がある。
【００１０】
特開平５−３２４３１７号公報等の前記従来技術では、該オペレーティングシステムにおける命令群及び、データ群例えばＴＣＢ（タスクコントロールブロック）は、前記アプリケーションプログラムの命令群及び、データ群と同様に扱われるので、該アプリケーションの実行状況によってキャッシュ内容が変化すると、該オペレーティングシステムの命令群及び、データ群にも影響がおよび、最悪キャッシュから削除されるため、キャッシュヒット率が変動し、システム全体の挙動の予測が困難である。
【００１１】
そのため、厳密なタイミング制御を要求される組込み制御システムでは、前記オペレーティングシステムとしてリアルタイム・オペレーティングシステムを導入し、この命令群及び、データ群は、キャッシュ対象外で利用されることが多い。リアルタイム・オペレーティングシステムがキャッシュ対象外で利用されるため、キャッシュメモリに比べて、アクセス速度が非常に遅い外部メモリにアクセスしなければならず、システム全体の性能が劣化する。
【００１２】
本発明の第１の目的は、アプリケーションプログラムの挙動に影響されずにシステム制御データをキャッシュしシステム全体の性能を上げることができるメモリ装置を提供することである。
【００１３】
本発明の第２の目的は、キャッシュメモリ装置における、システム制御情報へのアクセスの高速化及び、キャッシュヒット率の向上を図ることにある。
【００１４】
また、本発明の第３の目的は、システム制御情報群を操作するための命令群を有する中央演算処理装置におけるキャッシュ制御のアクセス性を改善することである。
【００１５】
【課題を解決するための手段】
本発明の第１の目的は、メモリに記憶されている情報の一部もしくは全部を記憶するキャッシュメモリ装置において、システム制御に係る命令群又はデータ群の情報の少なくとも一方を記憶するキャッシュメモリと、該情報が記憶されている前記メモリ上のアドレスと範囲を管理するアドレス管理テーブルと、該アドレス管理テーブルへのアクセスにより前記キャッシュメモリを選択する選択回路とを設けたことで達成される。すなわち、上記目的を達成するために、本発明は、システム制御に係る命令群及び、データ群の情報を記憶するキャッシュメモリ装置を設けたものである。また、該キャッシュメモリ装置を選択するために、該情報が記憶されているメモリ上のアドレスと範囲を管理する、アドレス管理テーブルを設けたものである。そして、このアドレス管理テーブルを基に、前記キャッシュメモリ装置を選択するための選択回路を設けたものである。これにより、従来キャッシュ装置へ該情報を登録する必要がなくなり、該システム制御情報へのアクセスの高速化及び、キャッシュヒット率の向上の効果がある。
【００１６】
本発明の第２の目的は、前記キャッシュメモリ装置において、システム制御情報を構成する項目が記憶されるオフセット値を管理するオフセット管理テーブルと、該オフセット値を操作する命令をデコードする命令制御装置を設けることで達成される。すなわち、上記目的を達成するために、本発明は、前記システム制御に係る命令群及び、データ群の情報を効率良くアクセスするために、該情報を構成する項目毎の、記憶位置となるオフセット値を管理するオフセット管理テーブルと、該オフセット値を操作する命令をデコードする命令制御装置を設けたものである。これにより、キャッシュメモリ装置における、システム制御情報へのアクセスの高速化及び、キャッシュヒット率の向上を図ることができる。
【００１７】
本発明の第３の目的は、キャッシュメモリ装置を備えた中央演算処理装置において、前記オフセット管理テーブルのエントリを指定することで、該エントリのオフセット値に存在する情報を解釈して、実行アドレスを出力する手段を設け、該実行アドレスをプログラムカウンタに設定することで達成される。これにより、中央演算処理装置におけるキャッシュ制御のアクセス性が改善される。
【００１８】
【発明の実施の形態】
以下、本発明の実施例を図により説明する。
図１は、本発明の一実施例になるキャッシュメモリ装置の全体構成を示すブロック図である。図１において、１はキャッシュメモリ装置であり、アドレス１０、キャッシュメモリ２０、比較器３０、アドレス管理テーブル４０、及び選択回路１００を備えている。キャッシュメモリ２０は、例えばＳＲＡＭ、ＣＰＵの内蔵ＲＡＭなどで実装される。
【００１９】
図の実施例では、ＣＰＵやＣＰＵコアと組み合わせられるキャッシュメモリを例にとって説明する。但し、キャッシュメモリに代えて、バッファメモリとし、ＡＳＩＣとして内蔵する場合もある。以下、バッファメモリ等の他のメモリも含めて、キャッシュメモリとして説明する。
【００２０】
キャッシュメモリ装置１のアドレス１０は、少なくとも、タグ・ビット群１２と、インデックス・ビット群１４からなるビット列である。キャッシュメモリ２０は、タグ情報２２とデータ２５を記録するキャッシュブロック２１を複数有するメモリ装置である。比較器３０は、アドレス１０のタグ・ビット群１２と、選択されたキャッシュブロックのタグ情報２２を比較する装置である。アドレス管理テーブル４０は、システム制御情報にかかわる命令群及び、データ群が記憶されているアドレス４２と、その範囲４５を管理するテーブルである。選択回路１００はアドレス１０と、アドレス管理テーブル４０のアドレス４２及び、範囲４５とを比較し、キャッシュメモリ２０を選択する回路である。
【００２１】
次に、本発明の一実施例におけるアドレス１０とキャッシュ２０の読み込みの対応付けの手順について、図２により説明する。
アドレス１０は、上位部分のタグ・ビット群１２と下位部分のインデックス・ビット群１４に分割される。選択回路１００は、テーブル４０に格納されているアドレス４２、範囲４５と、タグ・ビット群１２、インデックス・ビット群１４を比較し、該キャッシュブロック２１のデータ２５が、設定されたテーブル４０に格納されているアドレス範囲に入っているかどうかを判定する（ステップ１０）。
【００２２】
判定結果よりキャッシュセットが選択される（ステップ１２）。さらに、アドレス１０のインデックス・ビット群１４に基づいて、対応するキャッシュブロック２１が選択される（ステップ１４）。そして、アドレス１０のタグ・ビット群１２と、選択されたキャッシュブロック２１のタグ情報２２が比較器３０で比較され、該キャッシュブロック２１のデータ２５が要求されたアドレス１０のものかどうかが判定される（ステップ１６）。
【００２３】
なお、キャッシュブロック２１のデータの有効無効を示すための有効ビットをキャッシュブロック２１が有し、上記２つの判定結果に加えて、該有効ビットの真偽情報により、データ２５の有効無効を決定する場合もある。
【００２４】
本実施例によれば、キャッシュメモリ２０と、システム制御情報にかかわる命令群及び、データ群が記憶されているアドレス４２及び、範囲４５を管理するテーブル４０と、選択回路１００とを独立して設けているため、キャッシュメモリ装置の選択が高速化され、システム制御情報へのアクセス速度の高速化及び、キャッシュヒット率の向上が図れるという効果がある。
【００２５】
次に、図３において、本発明の一実施例におけるアドレス１０とキャッシュメモリ２０の書き込みの対応付けの手順について説明する。
アドレス１０は、選択回路１００に読み込まれる（ステップ２０）。該選択回路はアドレス管理テーブル４０を参照し、前記アドレスが、該テーブルに管理されているアドレス４２と範囲４５の領域の、内外かを判定し（ステップ２２）、キャッシュメモリ２０を選択する（ステップ２４）。
【００２６】
本実施例によれば、キャッシュメモリ２０と、システム制御情報にかかわる命令群及び、データ群が記憶されているアドレス４２及び、範囲４５を管理するテーブル４０を設けているため、システム制御情報へのアクセス速度の高速化及び、キャッシュヒット率の向上の効果がある。
【００２７】
次に、図４により、本発明の一実施例における、キャッシュブロック上のシステム制御情報の例、すなわち、キャッシュブロック２１のデータ２５の構成例を説明する。図４はタスク、プロセス、スレッド等のシステム動作を管理するための前記システム制御情報を、（図１の）キャッシュメモリ２０のキャッシュブロック２１に記憶した例であり、該システム制御情報は少なくとも、システム動作の優先度２００、システム動作の状態情報２１０、システム動作の実行エントリ２２０、システム制御情報の関連情報を記憶するための前ブロック２３０と後ブロック２４０の情報を記憶するものである。
【００２８】
このように、システム制御情報をキャッシュメモリ２０に記憶することで、該システム制御情報へのアクセス速度を高めることができる。本実施例では、システム制御情報としてタスク、プロセス、スレッド等と管理するタスクコントロールブロックを例としてあげているが、本例のように項目のまとまりをシステム制御情報として実装されている、各種のヘッダ情報もシステム情報として本発明では利用可能である。
【００２９】
次に、本発明の一実施例におけるオフセット管理テーブル５０の例を図５に示す。オフセット管理テーブル５０は、キャッシュメモリ２０のキャッシュブロック２１のデータ２５内部の、システム動作の優先度２００に対応する優先度オフセット３００とその値３１０、システム動作の状態情報２１０に対応する優先度オフセット３２０とその値３３０、システム動作の実行エントリ２２０に対応する実行エントリオフセット３４０とその値３５０、システム制御情報の関連情報を記憶するための前ブロック２３０に対応する前ブロックオフセット３６０とその値３７０、後ブロック２４０に対応する後ブロックオフセット３８０とその値３９０を管理するものである。
【００３０】
このようにオフセット値を管理するオフセット管理テーブル５０を設けることにより、キャッシュメモリ２０内のデータの位置関係が明確になるので、データ２５内部へのアクセス位置を自由に設定することができるようになり、アクセス性がよくなる。
【００３１】
次に、本発明の一実施例におけるオフセットによるデータアクセスの構成例を図６に示す。図６において、命令制御ユニット６０は、命令セットをデコードし、該命令に係るデータ２５の中の項目に対応する、オフセットテーブル５０のインデックスを生成するユニットである。マルチプレクサ７０は、データ２５と、前記命令制御ユニット６０から出力される該インデックスを基に、オフセットテーブル６０から該インデックスのオフセット値を読み込み、該インデックスのオフセット値に基づいて該データ２５の一部分を出力する。
【００３２】
このようにすることで、バイトアライメントによらずデータへアクセスすることができ、高速化が図れる。
【００３３】
次に、本発明の一実施例におけるキャッシュから命令実行するプログラムカウンタ設定の例を図７に示す。
命令制御ユニット６０に、システム制御情報に基づく実行命令セットがフェッチされると、該ユニットは、該命令セットに対応するオフセット管理テーブル５０のエントリ番号を、情報解釈ユニット７０に発行する。前記情報解釈ユニット７０は、データ２５から該エントリ番号に相当するオフセット位置に記憶されている実行エントリ２２０を読み込み、該実行エントリの情報を解釈する。実行エントリの情報はオペレーティングシステムによって異なるが、単純なオペレーティングシステムでは、該実行エントリが物理アドレスになり、複雑なオペレーティングシステムでは、実行エントリの情報は、実行ファイルに係る情報へのエントリとなる。前記複雑なオペレーティングシステムでは、タスク及び、プロセス等の処理実行単位は、ファイルシステム上のファイルとして管理されている。このため、該ファイルを実行するためには、このファイルをメモリ上に展開して実行する必要がある。実行ファイルエントリは、メモリ上に展開されたファイルのメモリイメージの情報となる。メモリイメージには、実行ファイルとしての識別情報及び、実行環境設定のためのヘッダ情報がついている。この場合、情報解釈ユニット９０は、該ヘッダ情報を解釈し、実行環境つまり実行アドレスを生成することになる。実行アドレスが生成されると情報解釈ユニットはプログラムカウンタ８０を設定し、あらたな処理単位の実行を開始する。
【００３４】
このように、オフセット管理テーブル５０と情報解釈ユニット７０を設けることにより、処理起動を高速化することができる。
【００３５】
次に、本発明の一実施例におけるキャッシュメモリ２０のプリロードの例を図８に示し、その処理ステップを図９に示す。
命令制御ユニット６０は、キャッシュメモリ２０のプリロード命令をフェッチすると、アドレス管理テーブル４０を参照し（ステップ３０）、該テーブルのエントリからアドレス４２と範囲４５を読み出し、アドレス１０を生成する（ステップ３２）。選択回路１００において、生成されたアドレス１０は、アドレス管理テーブル４０のエントリのアドレス４２と範囲４５と比較されて（ステップ３４）、判定結果によりキャッシュメモリ２０が選択される（ステップ３６）。選択されたキャッシュメモリ２０に、アドレス４２から範囲４５までのデータが、前記判定結果により選択されたキャッシュメモリ２０に記憶される（ステップ３８）。この動作が、命令制御ユニット５０がアドレス管理テーブル４０の全てのエントリを読み出すまで続けられる（ステップ４０）。
【００３６】
このように、アドレス管理テーブル４０に基づいて任意のアドレス領域に記憶されているデータをキャッシュメモリ２０に記憶することができるので、該データのキャッシュミスを防ぐことができる。
【００３７】
次に、図１０に、本発明の一実施例におけるキャッシュメモリブロック２１をクリアする時に該ブロック２１に係る関連情報を更新するキャッシュブロック関連更新の構成例を示す。
命令制御ユニット６０は、命令をデコードし、キャッシュメモリブロック２１の、キャッシュブロック間の関連付け情報が記憶されている項目を示す選択エントリ３３０を生成し、クリアするキャッシュメモリブロックを関連更新回路４００に指示するユニットである。関連更新回路４００は、命令制御ユニット６０に指示されたクリアするキャッシュメモリブロック及び、該選択エントリ３３０を読み込み、関連の更新を実行する回路である。
【００３８】
図１１に、上記関連更新回路４００の動作について説明する。関連更新回路４００は、命令制御ユニット６０に指示されたクリアするキャッシュメモリブロック及び、該選択エントリ３３０を読み込み（ステップ５０）、クリアするキャッシュメモリブロックにおける該選択エントリ３３０に記憶されている情報、前ブロック２３０及び、次ブロック２４０に記憶されている情報を読み込む（ステップ５２、ステップ５３）。
【００３９】
前ブロック２３０に記憶されているキャッシュブロックの、次ブロックの情報を読み出し（ステップ５４）、前記次ブロック２４０に記憶されているキャッシュブロックの、前ブロックに書込む（ステップ５６）。
次ブロック２４０に記憶されているキャッシュブロックの、前ブロックの情報を読み出し（ステップ５５）、前記前ブロック２３０に記憶されているキャッシュブロックの、次ブロックに書込む（ステップ５７）。
【００４０】
図１２は、本発明のキャッシュ命令装置を用いた中央演算処理装置の一実施例である。
本実施例の中央演算処理装置では、命令キャッシュ９００、データキャッシュ９５０、システム制御情報を格納するキャッシュメモリ２０を有する。該命令キャッシュ９００及び、該データキャッシュ９５０は、記憶しているメモリの内容が有効であるか無効であるかを示す有効ビット２７を持つ。なお、該命令キャッシュ９００及び、データキャッシュ９５０は、従来のキャッシュメモリ装置と同等であり、従来の中央演算処理装置が有するキャッシュメモリ装置としては、前記命令とデータでキャッシュメモリ装置を分離するハーバードアーキテクチャと、命令とデータを統合してキャッシングするユニファイドアーキテクチャがある。本発明は、従来のキャッシュシステム構成には依存せず、いずれのアーキテクチャでもよい。
【００４１】
次に、図１２の実施例の動作として、図１３により、アドレス１０と、システム制御情報を記憶するキャッシュメモリ２０と命令キャッシュ９００とデータキャッシュ９５０の、読み込みの対応付けの手順について説明する。
アドレス１０は、上位部分のタグ・ビット群１２と下位部分のインデックス・ビット群１４に分割される。
【００４２】
アドレス１０は、選択回路１００に読み込まれ、選択回路１００はアドレス管理テーブル４０に管理されているアドレス４２と範囲４５の領域に、該アドレス１０が収まっているかどうかを判断し（ステップ１００）、収まっている場合にはシステム制御情報キャッシュメモリ２０を（ステップ１１０）、収まっていない場合には従来の中央演算処理装置と同等に命令かデータを判断し（ステップ１２０）、命令キャッシュ９００（ステップ１３０）もしくはデータキャッシュ９５０（ステップ１４０）を選択することを比較器３０に指示する。このようにキャッシュセットを複数持つ場合、従来はすべてのキャッシュセットのタグの比較を実施していた。本発明のように、アドレス管理テーブル４０と選択回路１００を設けることによりアクセスが速くなり、キャッシュセットの選択が、タグを引く前に実施できるために実行時間の短縮を図れる。
【００４３】
次に、図１４において、図１２の実施例におけるアドレス１０と、システム制御情報を記憶するキャッシュメモリ２０と命令キャッシュ９００とデータキャッシュ９５０の、書き込みの対応付けの手順について説明する。
アドレス１０は、選択回路１００に読み込まれ、選択回路１００はアドレス管理テーブル４０に管理されているアドレス４２と範囲４５の領域に、該アドレス１０が収まっているかどうかを判断し（ステップ２００）、収まっている場合にはシステム制御情報キャッシュメモリ２０を選択し（ステップ２１０）、タグ１２とタグ２２の一致するキャッシュブロック２１にデータを書き込む（ステップ２２０）。収まっていない場合には従来の中央演算処理装置と同等に命令かデータを判断し（ステップ２３０）、命令キャッシュ９００（ステップ２４０）もしくはデータキャッシュ９５０（ステップ２５０）を選択し、選択されたキャッシュの書き込み位置を算出し（ステップ２６０）、データと書き込む（ステップ２７０）。なお、前記書き込み位置の算出には、公知の技術としてＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔ  Ｕｓｅｄ）アルゴリズムがある。
【００４４】
本実施例によれば、キャッシュメモリ２０と、システム制御情報にかかわる命令群及び、データ群が記憶されているアドレス４２及び、範囲４５を管理するアドレス管理テーブル４０を設けることにより、システム制御情報へのアクセス速度の高速化及び、キャッシュヒット率の向上の効果がある。
【００４５】
図１５は、図１２に示した中央演算処理装置の命令セットの一実施例である。
【００４６】
アドレス管理テーブル設定命令９００は、アドレス管理テーブル４０の内容を設定する命令である。
領域選択キャッシュプリロード命令９１０は、キャッシュ４０のプリロードを実施する命令である。
領域選択キャッシュクリア命令９２０は、アドレス管理テーブル４０の領域を指定してキャッシュをクリアする命令である。
【００４７】
システム制御情報による処理実行命令９３０は、アドレス管理テーブル４０の領域と、オフセットエントリを指定して、処理の起動をする命令である。
キャッシュラインクリア命令９４０は、キャッシュ４０のライン及び、エントリを指定して、キャッシュブロック２１のクリア及び、該キャッシュブロックの関連を更新する命令である。
【００４８】
図１６に、本発明のキャッシュメモリ装置１を用いたシステム設計方式の一実施例について説明する。
関数型言語等のプログラム記述言語によって記述されたアプリケーションソースコード１０００は、コンパイラ等の機械語翻訳手段１０１０により、実行形式１０２０に変換される。該機械語翻訳手段１０１０は、アプリケーションソースコード１０００内の処理単位、本実施例の関数形言語によるソースコードでは関数、と該処理単位が機械語に翻訳されたアドレスおよび範囲の対応を示す処理単位アロケーションマップ１０３０を生成する。また、該機械語翻訳手段１０１０は、リアルタイムオペレーティングシステムを使用しているシステムでは、システム制御情報として、タスクコントロールブロックについての構造及びメモリサイズの情報を示すメモリマップ情報１０４０も生成する。
【００４９】
実行形式１０２０をリアルタイムオペレーティングシステム下で実行すると、前記処理単位アロケーションマップ１０３０に記憶さている処理単位、本実施例では関数の呼び出し頻度についてのプロファイル情報１０５０が生成される。
【００５０】
前記処理単位アロケーションマップ１０３０と、メモリマップ情報１０４０と、プロファイル情報１０４０より、システム制御情報を記憶するキャッシュメモリ２０の、キャッシュブロック２１の容量および個数、アドレス管理テーブル４０のエントリ数を決定することができる。キャッシュブロック２１の容量および個数、アドレス管理テーブル４０のエントリ数と、本発明のシステム制御情報を記憶するキャッシュメモリ装置１のソフトウェアＩＰ１０６０を、論理合成ツール１０７０で処理することにより、ゲート情報１０８０が生成され、該ゲート情報１０８０をレイアウトツール１０９０で処理することにより、マスクパターン１１００が生成される。このマスクパターンを利用することで半導体としてのシステム制御情報を記憶するキャッシュメモリ装置１を製造できる。
【００５１】
図１７は、本発明のシステム制御情報を記憶するキャッシュメモリ装置１を搭載する、通信手段２０１０を有する携帯端末システムの一実施例を示すものである。
携帯端末システム２０００は、アプリケーション等の情報を送受信するための通信手段２０１０と、該アプリケーションを実行する実行手段２０２０と、該アプリケーションを記憶するメモリ２０３０と、システム制御情報を記憶するキャッシュメモリ装置１及び入出力手段（図示略）から構成される。なお、アプリケーション２０４０は、通信負荷を軽減するために、圧縮されている場合が多い。またアプリケーション２０４０は、処理の単位としてのインスタンス２０５０から構成される。インスタンス２０５０は、キャッシュメモリ装置１に記憶すべきか否かの優先度情報２０６０を有する。この実施例によれば、携帯端末システム２０００は、通信手段２０１０によりアプリケーションを受信し、該アプリケーションを実行することによりシステムのアプリケーションの起動性能が改善される。
【００５２】
図１８により、１７の実施例におけるキャッシュに係るフローを説明する。まず、通信手段２０１０は、アプリケーション２０４０を受信し（ステップ２０００）、メモリ２０３０に書き込む（ステップ２０１０）。通信手段２０１０は該アプリケーション２０４０を書き込んだアドレスと範囲２０３１を、キャッシュメモリ装置１にキャッシュプリロード命令９１０により通知し、該アプリケーション２０４０をキャッシュメモリ装置１にプリロードする（ステップ２０２０）。次に通信手段２０１０は、書き込んだ該アプリケーション２０４０のアドレスを実行手段２０２０に通知する（ステップ２０３０）。通知を受けた実行手段２０２０は、該アドレスを参照し、該アプリケーション２０４０を、インスタンス２０５０に展開した実行形式２０７０に変換してメモリ２０３０に書き込む（ステップ２０４０）。実行手段２０２０は、該インスタンス２０５０の優先度情報２０６０を読み込み（ステップ２０５０）、優先度が設定されているインスタンス２０５０のアドレスと範囲を、キャッシュメモリ装置１にキャッシュプリロード命令９１０により通知する（ステップ２０６０）。
【００５３】
このような方式にすることで、通信手段を有し、該通信手段によりアプリケーションを受信し、該アプリケーションを実行するシステムにおいて、アプリケーションを受信した時の起動性能を向上させることができる。また、通信手段を設けることにより、アドレス管理テーブル４０の内容を、他局へ送信受信することが可能になるため、該アドレス管理テーブル内容の他局への送信によりシステム状態の報告が可能になり、他局からの該アドレス管理テーブル内容を他局からの受信しキャッシュプリロード命令によりキャッシュ内容の変更をすることが可能になり、システム性能を外部からの調整ができるようになる。
【００５４】
なお、通信手段としては、インターネットを利用した有線通信を用いても良い。
【００５５】
また、本発明のキャッシュメモリ装置と、演算処理や周辺機器を備えた演算処理システムを構成することにより、同様に、アクセスの高速化やキャッシュヒット率の向上を図れるという効果がある。
【００５６】
【発明の効果】
本発明によれば、システム制御情報に係る命令群及び、データ群を記憶するキャッシュメモリ装置を設けることにより、従来キャッシュ装置へ該情報を登録をする必要がなくなり、該システム制御情報へのアクセスの高速化及び、キャッシュヒット率の向上の効果がある。
また、リアルタイムオペレーティングシステムにおけるシステム制御情報の命令群としてのスケジューリングコード及び、データ群としてのタスクコントロールブロックの局所性及び普遍性により、キャッシュヒット率が１００％のため、システムの性能が事前に予測可能になる、という効果がある。
従って、システム制御情報として、システム性能を左右するアプリケーションの命令群及び、データ群を、システム制御情報として、キャッシュメモリ装置に記憶できるので、システム全体の性能を上げることができる。
【００５７】
また、システム制御情報として、上記アプリケーション以外のシステム性能のボトルネックとなるユーザモードドライバの命令群及びデータ群を、キャッシュメモリ装置に記憶できるので、システム全体の性能を上げることができる。
【図面の簡単な説明】
【図１】本発明の一実施例になるキャッシュメモリ装置の基本構成図。
【図２】図１のキャッシュメモリ装置における読込み時のフロー。
【図３】図１のキャッシュメモリ装置における書込み時のフロー。
【図４】図１のキャッシュブロック上のシステム制御情報の一実施例を示す図。
【図５】オフセット管理テーブルの構成図。
【図６】オフセットによるデータアクセスの構成図。
【図７】キャッシュから命令実行する構成図。
【図８】キャッシュロードの構成図。
【図９】キャッシュロードのフロー。
【図１０】キャッシュブロックの関連更新の構成図。
【図１１】キャッシュブロックの関連更新のフロー。
【図１２】本発明のキャッシュ命令装置を用いた中央演算処理装置の実施例を示す図。
【図１３】読込み時のキャッシュ選択のフロー。
【図１４】書込み時のキャッシュ選択のフロー。
【図１５】本発明のキャッシュ制御命令セットの一実施例の構成図。
【図１６】本発明によるシステム・オン・チップの開発方法の一例を示す図。
【図１７】本発明を携帯端末に応用した一実施例の構成図。
【図１８】図１７の実施例におけるキャッシュに係るフロー。
【符号の説明】
１…キャッシュメモリ装置、１０…アドレス、２０…キャッシュメモリ、１２…タグ・ビット群、２２…タグ情報、２３…キャッシュブロック、３０…比較器、４０…アドレス管理テーブル、１００…選択回路。
【図１】
0003973129.tif 000002
【図２】
0003973129.tif 000003
【図３】
0003973129.tif 000004
【図４】
0003973129.tif 000005
【図５】
0003973129.tif 000006
【図６】
0003973129.tif 000007
【図７】
0003973129.tif 000008
【図８】
0003973129.tif 000009
【図９】
0003973129.tif 000010
【図１０】
0003973129.tif 000011
【図１１】
0003973129.tif 000012
【図１２】
0003973129.tif 000013
【図１３】
0003973129.tif 000014
【図１４】
0003973129.tif 000015
【図１５】
0003973129.tif 000016
【図１６】
0003973129.tif 000017
【図１７】
0003973129.tif 000018
【図１８】
0003973129.tif 000019