(57)【特許請求の範囲】
【請求項１】
キャッシュベースのマイクロプロセッサシステムにおいて、
プロセッサと、
前記プロセッサに連結され、前記プロセッサにより実行されるアプリケーションプログ
ラムに必要なデータを格納する記憶装置と、
前記プロセッサによって以前に使用されたデータを一時的に格納するキャッシュメモリと、
前記記憶装置に格納されたデータのうちの前記アプリケーションプログラムによってホットルーチンとして示されたデータ部分を格納するホットルーチンメモリと、
前記キャッシュメモリと前記ホットルーチンメモリに連結され、前記プロセッサからの
アドレス情報に従って前記記憶装置に格納されたデータを前記キャッシュメモリまたは前
記ホットルーチンメモリに格納するか、前記キャッシュメモリまたは前記ホットルーチン
メモリに格納されたデータを前記プロセッサに伝達するメモリ制御器と、を含み、
前記プロセッサは、前記アプリケーションプログラムが実行される場合において、前記記憶装置に格納されたデータのうちの前記ホットルーチンとして示されたデータ部分を前記ホットルーチンメモリに格納するように前記メモリ制御器を制御し、
前記メモリ制御器は、
前記プロセッサからのアドレス情報を受け取って、前記キャッシュメモリまたは前記ホ
ットルーチンメモリにデータを書き込むか、前記キャッシュメモリまたは前記ホットルー
チンメモリからデータを読み出すデータ／アドレス制御部と、
前記データ／アドレス制御部により制御されて、前記キャッシュメモリまたは前記ホッ
トルーチンメモリからのデータを前記プロセッサに伝達するマルチプレクサ回路と、を含み、
前記データ／アドレス制御部は、前記ホットルーチンメモリに格納されたデータに関し
て、前記記憶装置と前記ホットルーチンメモリとの間のアドレス変換情報を格納するホッ
トルーチンアドレス変換テーブルを含むことを特徴とするマイクロプロセッサシステム。
【請求項２】
前記メモリ制御器は前記プロセッサによって要求されたデータが前記ホットルーチンメ
モリに格納されているか否かを検索し、前記要求されたデータが前記ホットルーチンメモ
リに格納されていれば、前記要求されたデータが前記プロセッサに出力されるように制御
することを特徴とする請求項１に記載のマイクロプロセッサシステム。
【請求項３】
前記制御器は前記要求されたデータが前記ホットルーチンメモリに格納されていなけれ
ば、前記キャッシュメモリを検索し、前記要求されたデータが前記キャッシュメモリに格
納されていれば、前記要求されたデータを前記プロセッサに出力するように前記キャッシ
ュメモリを制御することを特徴とする請求項２に記載のマイクロプロセッサシステム。
【請求項４】
前記メモリ制御器は前記ホットルーチンメモリでのホットルーチンアドレスと前記記憶
装置でのホットルーチンアドレスとの間の変換情報を利用して前記要求されたデータが前
記ホットルーチンメモリに格納されているか否かを判断することを特徴とする請求項２
に記載のマイクロプロセッサシステム。
【請求項５】
前記ホットルーチンアドレス変換テーブルには、前記ホットルーチンについての前記  記憶装置の開始アドレスと前記ホットルーチンメモリでの開始アドレスおよび終了アドレスが含まれることを特徴とする請求項１に記載のマイクロプロセッサシステム。
【請求項６】
前記ホットルーチンメモリに格納されるデータは、前記アプリケーションプラグラムの
実施時において、接続頻度が高く、速い応答速度を必要とするデータであることを特徴と
する請求項１に記載のマイクロプロセッサシステム。
【請求項７】
前記ホットルーチンメモリに格納されるデータは、プログラマにより前記アプリケーシ
ョンプログラムの作成時に、事前に定義されることを特徴とする請求項１に記載のマイ
クロプロセッサシステム。
【請求項８】
前記ホットルーチンメモリに格納されるデータは、前記アプリケーションプログラムの
変更時にも、前記ホットルーチンメモリにそのまま格納され続けることを特徴とする請求
項１に記載のマイクロプロセッサシステム。
【請求項９】
前記プロセッサは、前記アプリケーションプログラムの実行時に、前記ホットルーチン
メモリを先に検索することを特徴とする請求項１に記載のマイクロプロセッサシステム。
【請求項１０】
前記データ／アドレス制御部には前記記憶装置のデータのうちホットルーチンで定義された領域の開始アドレスと終了アドレスが格納されていることを特徴とする請求項１に記載のマイクロプロセッサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロプロセッサシステムに関するものであって、さらに具体的には、プロセッサにより実行されるアプリケーションプログラム（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ）において、使用頻度が高い関数の実行に必要なデータを別途の記憶装置に格納することによって、システムの動作速度を向上させるマイクロプロセッサシステムに関するものである。
【背景技術】
【０００２】
一般的なマイクロプロセッサシステムにおいて、動作速度の低下は、プロセッサがアプリケーションプログラムの実行に必要なデータが格納されている記憶装置（Ｓｔｏｒａｇｅ  Ｄｅｖｉｃｅ）に接続してデータを読み出し、または書き込む過程で主に発生する。これは、プロセッサに比べてハードディスク（Ｈａｒｄ  Ｄｉｓｋ）やＤＲＡＭで構成される記憶装置のデータ処理速度が相対的に遅いためである。これを解決するために、大部分のマイクロプロセッサシステムでは、ＳＲＡＭのように相対的に速度が速いメモリ素子で実現される別途のキャッシュメモリを使用する。キャッシュッメモリには、プロセッサにより最も最近に使用されたデータや命令語が一時的に格納、またはプロセッサにより予測されたデータと命令語が格納される。これを通じてプロセッサがプログラムの実行時に、記憶装置に毎度接続しなければならない時間を短縮することによって、システムの動作速度を向上させることができる。最近では、マイクロプロセッサシステムの性能をより向上させるために、多量のキャッシュメモリをプロセッサとともに一つのチップに集積している。
【０００３】
図１は、キャッシュメモリを使用する従来のマイクロプロセッサシステムのブロック図である。図１に示したように、従来のマイクロプロセッサシステムは、プロセッサ１００、キャッシュメモリ１０２、キャッシュ制御器１０４、記憶装置１０８、及びバス１０６で構成される。プロセッサ１００は、全体のマイクロプロセッサシステムを制御し、バス１０６を通じて記憶装置１０８及びキャッシュメモリ１０２からデータを読み出し、または記憶装置１０８及びキャッシュメモリ１０２にデータを格納する。キャッシュメモリ１０２は、プロセッサ１００により最近実行された命令語及びデータを一時に記憶し、プロセッサ１００からの要求に従って、その記憶しているデータを出力する。キャッシュ制御器１０４は、プロセッサ１００からのアドレス情報を利用してキャッシュメモリ１０２にデータを格納、またはキャッシュメモリ１０２を検索して該当データを出力するようにキャッシュメモリ１０２の動作を制御する。記憶装置１０８は、ハードディスクや大容量のＤＲＡＭで構成され、プロセッサ１００により実行されるアプリケーションプログラムに必要なデータを記憶する。
【０００４】
このような従来のマイクロプロセッサシステムは、プロセッサ１００がアプリケーションプログラムを実行するために記憶装置に接続してデータを読み出し、または書き込む際に、キャッシュ制御器１０４がプロセッサ１００により使用された命令語とデータをキャッシュメモリ１０２に一時的に記憶させる。そして、以後のプロセッサ１００によるアプリケーションプログラムの実行時に、プロセッサ１００は、キャッシュ制御器１０４を通じて現在のプログラムの実行に必要なデータがキャッシュメモリ１０２にあるか否かを先に検索する。もし、必要なデータがキャッシュメモリ１０２に存在すれば、キャッシュ制御器１０４は、キャッシュメモリ１０２に記憶されているデータをプロセッサ１００に伝達する。しかし、プロセッサが必要とするデータがキャッシュメモリ１０２に存在しなければ、プロセッサ１００は、記憶装置１０８に接続して必要なデータを読み出し、実行されたデータは、キャッシュ制御器１０４を通じてキャッシュメモリ１０２に格納される。
【０００５】
このような従来のキャッシュベースのマイクロプロセッサシステムでは、実行中のアプリケーションプログラムの交替（ｃｏｎｔｅｘｔ  ｓｗｉｔｃｈ）が発生する場合に、以前に実行されたアプリケーションプログラムで使用したキャッシュエントリ（Ｃａｃｈｅ  Ｅｎｔｒｙ）を削除し、次のアプリケーションプログラムが使用することができるように、キャッシュエントリを空ける。これをキャッシュメモリのフラッシュアンドフィル（ｆｌｕｓｈ  ＆  ｆｉｌｌ）動作という。ところで、このようなフラッシュアンドフィル動作は、キャッシュメモリ１０２に比べて相対的に動作速度が遅い記憶装置１０８に対してなされるので、システムの動作速度が低下することになる。また、現在実行しようとするアプリケーションプログラムに必要なデータがキャッシュメモリ１０２に残っているか否かに従って全体のシステムの動作速度が不規則になる。
【特許文献１】韓国公開特許２００１−００６６５６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、プロセッサによるアプリケーションプログラムの実行に必要な命令語やデータのうち使用頻度が高く、速い応答速度を必要とする部分に対して別途のメモリを使用して動作速度を向上させることができるマイクロプロセッサシステム及びその使用方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の他の実施の形態によるマイクロプロセッサシステムは、プロセッサと、プロセッサに連結され、プロセッサにより実行されるアプリケーションプログラムに必要なデータを格納する記憶装置と、アプリケーションプログラム実行時に、プロセッサにより以前に使用されたデータを一時的に格納するキャッシュメモリと、アプリケーションプログラム実行時に、記憶装置に格納されたデータのうちのアプリケーションプログラムによってホットルーチンとして示されたデータ部分を格納するホットルーチンメモリと、キャッシュメモリとホットルーチンメモリに連結され、プロセッサからの制御信号に従って記憶装置に格納されたデータをキャッシュメモリまたはホットルーチンメモリに格納するか、キャッシュメモリまたはホットルーチンメモリに格納されたデータをプロセッサに伝達するメモリ制御器で構成される。
【発明の効果】
【００１０】
本発明のマイクロプロセッサシステムは、別途のホットルーチンメモリを使用して、プロセッサにより実行されるアプリケーションプログラムの変更時においても、システムの動作速度を向上させることができ、またシステムの安定した動作を維持することができる。
【発明を実施するための最良の形態】
【００１１】
以下、添付の図面を参照して本発明の望ましい実施形態のマイクロプロセッサシステムの構成及び動作を詳細に説明する。
【００１２】
図２は、ホットルーチンメモリを有する本発明のマイクロプロセッサシステムの実施の形態を示すブロック図である。図２に示したように、本発明の望ましい実施形態のマイクロプロセッサシステムは、プロセッサ２００、記憶装置２０２、メモリ制御器２１０、キャッシュメモリ２０６及びホットルーチンメモリ２０８で構成される。そして、各々の装置はバス２０４を通じて連結される。
【００１３】
プロセッサ２００は、記憶装置２０２から必要なデータを読み出してアプリケーションプログラムを実行する。例えば、最初のアプリケーションプログラムの作成時に、使用頻度が高く、速い応答時間を必要とする部分を予めホットルーチンとして定義することができる。プロセッサ２００によりホットルーチンが含まれるアプリケーションプログラムが実行される場合において、プロセッサ２００は、まず最初に、記憶装置２０２からホットルーチンに該当するデータを読み出し、読み出したデータをメモリ制御器２１０のデータ／アドレス制御器２１２を通じてホットルーチンメモリ２０８に格納する。そして、プロセッサ２００は、ホットルーチンの実際の位置に対するアドレス情報とホットルーチンメモリ２０８のアドレス情報をデータ／アドレス制御部２１２に含まれたホットルーチンアドレス変換テーブル（Ｈｏｔ  Ｒｏｕｔｉｎｅ  Ａｄｄｒｅｓｓ Ｔｒａｎｓｌａｔｉｏｎ  Ｔａｂｌｅ）２１３に格納する。例えば、図３のように、ホットルーチンを含んでいるアプリケーションプログラムがプロセッサ２００により実行される場合、プロセッサ２００は、アプリケーションプログラムのうち、ホットルーチンで定義された領域の開始アドレスと終了アドレスを利用して、メモリ制御器２１０のデータ／アドレス制御部２１２を通じてホットルーチンに該当するデータをホットルーチンメモリ２０８に格納する。
【００１４】
図３を参照してより詳細に説明すると、プログラムＢがプロセッサ２００によりローディングされると、プロセッサ２００は、プログラムＢでホットルーチンとして定義された領域（ＨＲ２）３０２をデータ／アドレス制御部２１２を通じてホットルーチンメモリ２０８に格納し、ホットルーチンデータＨＲ２の実際の位置とホットルーチンメモリ２０８上での位置をマッピングするためのアドレス情報をデータ／アドレス制御部２１２のホットルーチンアドレス変換テーブル２３１に記録する。そして、以後のプログラムＡがローディングされると、プロセッサ２００は、既にホットルーチンメモリ２０８に記憶されているプログラムＢのホットルーチンデータＨＲ２をそのまま維持し、先のような過程を経て、プログラムＡのホットルーチンデータＨＲ１をホットルーチンメモリ２０８に追加して格納する。あわせて、プログラムＡのホットルーチンデータＨＲ１についての実際の位置とホットルーチンメモリ２０８上での位置をマッピングするためのアドレス情報をデータ／アドレス制御部２１２のホットルーチンアドレス変換テーブル２１３に格納する。
【００１５】
図４は、図３のようなアプリケーションプログラムが実行される場合に、各アプリケーションプログラムのホットルーチンが格納されたホットルーチンメモリを示す。図５は、図３及び図４のように、ホットルーチンがホットルーチンメモリに格納される場合におけるホットルーチンアドレス変換テーブルを示す。図５に示したように、ホットルーチンアドレス変換テーブル２１３には、ホットルーチンデータの実際の位置に対する開始アドレスとホットルーチンメモリ２０８上での開始アドレス及び終了アドレスが格納される。以後、プログラムＡが実行されると、データ／アドレス制御部２１２は、現在プロセッサ２００から入力されているアドレス情報をホットルーチンアドレス変換テーブル２１３で検索してプロセッサ２００がホットルーチン領域に接続するか否かを判断する。プロセッサ２００から入力されているアドレス情報がホットルーチンアドレス変換テーブル２１３に格納されたアドレス情報とマッチングする場合は、データ／アドレス制御部２１２は、ホットルーチンメモリ２０２の該当アドレスに格納されたデータがプロセッサ２００に伝達されるようにマルチプレクサ２１４を制御する。そして、プロセッサ２００から入力されているアドレス情報がホットルーチンアドレス変換テーブル２１３においてマッチングしない場合は、データ／アドレス制御部２１２は、キャッシュメモリ２０６を検索して該当データがキャッシュメモリ２０６に存在すれば、キャッシュメモリ２０６に格納されているデータがプロセッサ２００に伝達されるようにマルチプレクサ２１４を制御する。プロセッサ２００から入力されているアドレス情報にマッチングするデータがホットルーチンメモリ２０８とキャッシュメモリ２０６のいずれにも存在しなければ、プロセッサ２００は、記憶装置２０２からデータを読み出してアプリケーションプログラムを実行し、実行されたデータをデータ／アドレス制御部２１２を通じてキャッシュメモリ２０６に一時的に格納する。
【００１６】
図６は、本発明の望ましい実施形態においてホットルーチンを定義し、格納する過程を示す順序図である。
【００１７】
図６を参照してホットルーチンを定義し、格納する過程を説明すると、先ず、プログラマは、アプリケーションプログラムを作成する際に、プログラムで使用頻度が高く、速い応答速度を必要とするデータ領域をホットルーチンとして定義（段階Ｓ６０２）する。そして、アプリケーションプログラムの実行時に、プロセッサ２００は、先ずプラグラマによりホットルーチンとして定義された領域のデータを記憶装置２０２から読み出してデータ／アドレス制御部２１２を通じてホットルーチンメモリ２０８に格納（段階Ｓ６０４）する。また、ホットルーチンについてのプログラム上での実際の位置とホットルーチンメモリ２０８での位置についてのアドレス情報をホットルーチンアドレス変換テーブル２１３に格納（段階Ｓ６０６）する。
【００１８】
図７は、図６のような過程を通じてホットルーチンメモリにホットルーチンに該当するデータが格納された以後に、本発明の一実施形態のマイクロプロセッサシステムでアプリケーションプログラムが実行される過程を示す順序図である。図７を参照すると、プロセッサ２００によるアプリケーションプログラムの実行中に、データ／アドレス制御部２１２は、プロセッサ２００から入力されるアドレス情報をホットルーチンアドレス変換テーブル２１３で検索（段階Ｓ７０２）する。そして、プロセッサ２００がアプリケーションプログラムの実行中にホットルーチン領域に接続すれば、データ／アドレス制御部２１２は、ホットルーチンメモリ２０８に格納されたホットルーチンに該当する領域のデータをマルチプレクサ２１４を通じてプロセッサ２００に伝達（段階Ｓ７０４）する。一方、プロセッサ２００から入力されるアドレス情報がホットルーチンに該当しなければ、データ／アドレス制御部２１２は、キャッシュメモリ２０６を検索（段階Ｓ７０６）して、該当データがキャッシュメモリ２０６内に存在するか否かを判断（段階Ｓ７０８）し、該当データがキャッシュメモリ２０６内に存在すれば、マルチプレクサ２１４を通じてキャッシュメモリ２０６のデータをプロセッサ２００に伝達（段階Ｓ７１０）する。そして、プロセッサ２００から入力されるアドレスがホットルーチンメモリ２０８とキャッシュメモリ２０６のいずれにも対応しなければ、プロセッサ２００は、記憶装置２００に接続して該当データを読み出し（段階Ｓ７１２）、使用したデータをキャッシュメモリ２０６に一時的に格納（段階Ｓ７１４）する。
【００１９】
以上、本発明によるマイクロプロセッサシステムの構成及び使用方法を実施の形態を通じて詳細に説明したが、これは例示的な説明に過ぎず、当技術分野での通常の専門家であれば、本発明の技術的思想を逸脱しない範囲内で多様な応用及び変更が可能であることが分かるであろう。
【図面の簡単な説明】
【００２０】
【図１】キャッシュメモリを含む従来のマイクロプロセッサシステムのブロック図である。
【図２】ホットルーチンメモリを有する本発明のマイクロプロセッサシステムの実施の形態を示すブロック図である。
【図３】ホットルーチンを含むアプリケーションプログラムを示す図である。
【図４】図３のアプリケーションプログラムに含まれるホットルーチンがホットルーチンメモリに格納される領域を示す図面である。
【図５】図３及び図４のように格納されたホットルーチンに対するホットルーチンアドレス変換テーブルの実施の形態を示す図面である。
【図６】図２乃至図５に示したマイクロプロセッサシステムを使用する方法を示す順序図である。
【図７】図６のような過程を通じてホットルーチンメモリにホットルーチンに該当するデータが格納された以後にマイクロプロセッサシステムでアプリケーションプログラムが実行される過程を示す順序図である。
【図１】
0004826873.tif 000002
【図２】
0004826873.tif 000003
【図３】
0004826873.tif 000004
【図４】
0004826873.tif 000005
【図５】
0004826873.tif 000006
【図６】
0004826873.tif 000007
【図７】
0004826873.tif 000008