(57)【要約】      （修正有）【課題】キャッシュメモリの利用効率の低下を抑制することができる情報処理装置を提供する。【解決手段】ＣＰＵ２２の内部にキャッシュメモリ２３が設けられ、キャッシュメモリ２３によりＣＰＵ２２で実行される処理で用いられるデータへのアクセス時間を短縮するため当該データを一時的に記憶されており、管理情報記憶部５６は、オペレーティング・システム毎にキャッシュメモリ２３へのデータの記憶の許可又は不許可を定めた許可情報が記憶されおり、制御移行部５８及びＣＰＵ２２は、割り込み処理を実行する際に管理情報記憶部５６から当該割り込み処理を実行するオペレーティング・システムの許可情報を読み出し、許可情報に応じてキャッシュメモリ２３へのデータの記憶を制御する。【選択図】図２
2007034514.tif 000002
【特許請求の範囲】
【請求項１】
各々所定の割り込み信号を出力する複数の機器と接続されると共に予め搭載された複数のオペレーティング・システムがマイクロ・プロセッサで見かけ上同時に実行されるものであり、前記複数の機器の何れか１つから前記割り込み信号が入力された場合に何れか１つの前記オペレーティング・システムで当該割り込み信号により示される割り込み番号に応じた割り込み処理を実行する情報処理装置であって、
前記マイクロ・プロセッサの内部に設けられ、当該マイクロ・プロセッサで実行される処理で用いられるデータへのアクセス時間を短縮するために当該データを一時的に記憶するキャッシュメモリと、
前記オペレーティング・システム毎に前記キャッシュメモリへのデータの記憶の許可又は不許可を示す許可情報を記憶する記憶手段と、
前記割り込み処理を前記オペレーティング・システムの何れか１つで実行する際に前記記憶手段から当該オペレーティング・システムに対応する前記許可情報を読み出し、当該許可情報に応じて前記キャッシュメモリへのデータの記憶を制御する記憶制御手段と、
を備えた情報処理装置。
【請求項２】
前記記憶手段を、前記許可情報に代えて前記キャッシュメモリの記憶領域を分割して前記オペレーティング・システム毎に割り当てる使用領域を示す使用領域情報を記憶するものとし、
前記記憶制御手段は、前記記憶手段から読み出した前記使用領域情報により示される前記使用領域にデータの記憶させるように制御する
請求項１記載の情報処理装置。
【請求項３】
前記記憶手段に前記オペレーティング・システム毎の使用領域を登録する登録手段
をさらに備えた請求項２記載の情報処理装置。
【請求項４】
各々所定の割り込み信号を出力する複数の機器と接続されると共に内部にキャッシュメモリを有する複数のマイクロ・プロセッサを備え、前記複数の機器の何れか１つから前記割り込み信号が入力された場合に当該割り込み信号により示される割り込み番号に応じた割り込み処理を前記複数のマイクロ・プロセッサの何れか１つで実行する情報処理装置であって、
前記割り込み番号毎に前回割り込み処理を実行した前記マイクロ・プロセッサを示す前回処理プロセッサ情報を記憶する記憶手段と、
前記割り込み番号に応じた割り込み処理を実行する際に前記記憶手段から当該割り込み番号に対応する前回処理プロセッサ情報を読み出し、当該前回処理プロセッサ情報により示されるマイクロ・プロセッサで前記割り込み処理を実行するように制御する割り込み制御手段と、
を備えた情報処理装置。
【請求項５】
前記複数のマイクロ・プロセッサに、物理的に１個のマイクロ・プロセッサを論理的に複数のマイクロ・プロセッサであるものと認識することのできる構成であると共に前記論理的な複数のマイクロ・プロセッサで内部の前記キャッシュメモリを共有するマルチタイプのものが含まれるものとし、
前記複数のマイクロ・プロセッサのタイプを示すタイプ情報を取得する取得手段をさらに備え、
前記割り込み制御手段は、前記割り込み番号に応じた割り込み処理を実行する際に前記タイプ情報により示される当該割り込み処理を実行する物理的なマイクロ・プロセッサのタイプが前記マルチタイプである場合に、当該物理的なマイクロ・プロセッサの何れかの論理的なマイクロ・プロセッサで割り込み処理を実行するように制御する
請求項４記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、内部にキャッシュメモリを有するマイクロ・プロセッサを備えた情報処理装置のキャッシュメモリへのアクセス制御に関するものである。
【背景技術】
【０００２】
従来、コンピュータ等の情報処理装置では、一般的に、１つのオペレーティング・システム（以下、「ＯＳ」ともいう。）が実行されており、当該ＯＳによりＣＰＵ（マイクロ・プロセッサ）やメモリ、ハードディスク・ドライブ（以下、「ＨＤＤ」という。）などのハードウェア資源を制御し、ＣＰＵで実行される処理のスケジュールを管理して情報処理装置が効率良く動作するように制御を行っている。
【０００３】
ところで、この種のＯＳには、例えば、バッチ処理の制御に優れたＯＳや、表示装置へのＧＵＩ（Graphical User Interface）の表示の制御に優れたＯＳなど様々な種類があり、１台の情報処理装置でバッチ処理の制御に優れたＯＳとＧＵＩの表示の制御に優れたＯＳを搭載して見かけ上同時に実行し、表示装置への画面表示をＧＵＩの表示の制御に優れたＯＳで制御すると共にバッチ処理をバッチ処理の制御に優れたＯＳで制御したい、という要望がある。
【０００４】
この要望に応えるために適用できる技術として、特許文献１には、計算機に複数のＯＳを搭載して見かけ上同時に実行できるものとし、計算機に接続された機器毎に当該機器からの割り込み要求に対して割り込み処理を実行する適切なＯＳを予め固定的に定めておき、複数のＯＳを見かけ上同時に実行して機器からの割り込み要求に対して予め定めた適切なＯＳで割り込み処理を実行する技術が開示されている。
【特許文献１】特開平１１−１４９３８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、ＣＰＵには内部にキャッシュメモリを備えているものがあり、この種のＣＰＵは処理を実行した場合に実行した処理の命令データや処理対象となった処理データをキャッシュメモリに一旦記憶し、再度同一の命令データや処理データを用いる際にキャッシュメモリからデータを読み込むことでデータへのアクセスの高速化を図っている。
【０００６】
しかしながら、情報処理装置に特許文献１の技術を適用し、複数のＯＳを搭載して見かけ上同時に実行した場合、各ＯＳでキャッシュメモリの記憶領域を各々管理しているため、例えば、一方のＯＳでキャッシュメモリの記憶領域を全て使用しているときに、他方のＯＳで割り込み要求を受信し、当該ＯＳで割り込み要求に対する割り込み処理を実行してキャッシュメモリのデータを書き換えてしまうと、一方のＯＳで再度同一の命令データや処理データを用いる際にキャッシュメモリからデータを読み出すことができず、キャッシュメモリよりもアクセスに時間がかかるＲＡＭ（Random Access Memory）やＨＤＤ等の記憶装置からデータを再度読み出す必要が生じて処理速度が低下してしまう、といったことが発生する。
【０００７】
すなわち、複数のＯＳを見かけ上同時に実行していた場合、各ＯＳが個別に動作してキャッシュメモリを制御しているため、キャッシュメモリの記憶領域を適正に管理することができず、キャッシュメモリの利用効率が低下してしまうことがある、という問題点があった。
【０００８】
本発明は上記問題点を解決するためになされたものであり、キャッシュメモリの利用効率の低下を抑制することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、請求項１に記載の発明は、各々所定の割り込み信号を出力する複数の機器と接続されると共に予め搭載された複数のオペレーティング・システムがマイクロ・プロセッサで見かけ上同時に実行されるものであり、前記複数の機器の何れか１つから前記割り込み信号が入力された場合に何れか１つの前記オペレーティング・システムで当該割り込み信号により示される割り込み番号に応じた割り込み処理を実行する情報処理装置であって、前記マイクロ・プロセッサの内部に設けられ、当該マイクロ・プロセッサで実行される処理で用いられるデータへのアクセス時間を短縮するために当該データを一時的に記憶するキャッシュメモリと、前記オペレーティング・システム毎に前記キャッシュメモリへのデータの記憶の許可又は不許可を示す許可情報を記憶する記憶手段と、前記割り込み処理を前記オペレーティング・システムの何れか１つで実行する際に前記記憶手段から当該オペレーティング・システムに対応する前記許可情報を読み出し、当該許可情報に応じて前記キャッシュメモリへのデータの記憶を制御する記憶制御手段と、を備えている。
【００１０】
請求項１記載の発明によれば、マイクロ・プロセッサの内部にキャッシュメモリが設けられており、キャッシュメモリにより、マイクロ・プロセッサで実行される処理で用いられるデータへのアクセス時間を短縮するために当該データを一時的に記憶されており、また、オペレーティング・システム毎にキャッシュメモリへのデータの記憶の許可又は不許可を示す許可情報が記憶手段に記憶されている。なお、上記記憶手段には、ＲＡＭ、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）、フラッシュＥＥＰＲＯＭ（Flash EEPROM）等の半導体記憶素子やＨＤＤ等の固定記憶媒体が含まれる。
【００１１】
そして、本発明によれば、記憶制御手段により、割り込み処理をオペレーティング・システムの何れか１つで実行する際に記憶手段から当該オペレーティング・システムに対応する許可情報を読み出し、当該許可情報に応じて前記キャッシュメモリへのデータの記憶が制御されている。
【００１２】
このように請求項１記載の発明によれば、オペレーティング・システム毎にキャッシュメモリへのデータの記憶の許可又は不許可を示す許可情報を記憶手段に記憶しておき、割り込み処理をオペレーティング・システムの何れか１つで実行する際に記憶手段から当該オペレーティング・システムに対応する許可情報を読み出し、当該許可情報に応じて前記キャッシュメモリへのデータの記憶を制御しているので、不必要な割り込み処理でキャッシュメモリにデータが記憶されることを防止できるため、キャッシュメモリの利用効率の低下を抑制することができる。
【００１３】
なお、請求項１記載の発明は、請求項２記載の発明のように、前記記憶手段を、前記許可情報に代えて前記キャッシュメモリの記憶領域を分割して前記オペレーティング・システム毎に割り当てる使用領域を示す使用領域情報を記憶するものとし、前記記憶制御手段は、前記記憶手段から読み出した前記使用領域情報により示される前記使用領域にデータの記憶させるように制御するものとしてもよい。
【００１４】
また、請求項２記載の発明は、請求項３記載の発明のように、前記記憶手段に前記オペレーティング・システム毎の使用領域を登録する登録手段をさらに備えるものとしてもよい。
【００１５】
一方、上記目的を達成するため、請求項４に記載の発明は、各々所定の割り込み信号を出力する複数の機器と接続されると共に内部にキャッシュメモリを有する複数のマイクロ・プロセッサを備え、前記複数の機器の何れか１つから前記割り込み信号が入力された場合に当該割り込み信号により示される割り込み番号に応じた割り込み処理を前記複数のマイクロ・プロセッサの何れか１つで実行する情報処理装置であって、前記割り込み番号毎に前回割り込み処理を実行した前記マイクロ・プロセッサを示す前回処理プロセッサ情報を記憶する記憶手段と、前記割り込み番号に応じた割り込み処理を実行する際に前記記憶手段から当該割り込み番号に対応する前回処理プロセッサ情報を読み出し、当該前回処理プロセッサ情報により示されるマイクロ・プロセッサで前記割り込み処理を実行するように制御する割り込み制御手段と、を備えている。
【００１６】
請求項４記載の発明によれば、割り込み番号毎に前回割り込み処理を実行したマイクロ・プロセッサを示す前回処理プロセッサ情報を記憶手段に記憶している。なお、上記記憶手段には、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＥＥＰＲＯＭ等の半導体記憶素子やＨＤＤ等の固定記憶媒体が含まれる。
【００１７】
そして、本発明によれば、割り込み制御手段により、割り込み番号に応じた割り込み処理を実行する際に記憶手段から当該割り込み番号に対応する前回処理プロセッサ情報を読み出し、当該前回処理プロセッサ情報により示されるマイクロ・プロセッサで割り込み処理を実行するように制御される。
【００１８】
このように請求項４記載の発明によれば、割り込み番号毎に前回割り込み処理を実行したマイクロ・プロセッサを示す前回処理プロセッサ情報を記憶手段に記憶しておき、割り込み番号に応じた割り込み処理を実行する際に記憶手段から当該割り込み番号に対応する前回処理プロセッサ情報を読み出し、当該前回処理プロセッサ情報により示されるマイクロ・プロセッサで割り込み処理を実行するように制御しているので、前回の割り込み処理を実行した際にマイクロ・プロセッサのキャッシュメモリに記憶されたデータを、今回の割り込み処理においても使用することができるため、キャッシュメモリの利用効率の向上させることができる。
【００１９】
また、請求項４記載の発明は、請求項５記載の発明のように、前記複数のマイクロ・プロセッサに、物理的に１個のマイクロ・プロセッサを論理的に複数のマイクロ・プロセッサであるものと認識することのできる構成であると共に前記論理的な複数のマイクロ・プロセッサで内部の前記キャッシュメモリを共有するマルチタイプのものが含まれるものとし、前記複数のマイクロ・プロセッサのタイプを示すタイプ情報を取得する取得手段をさらに備え、前記割り込み制御手段は、前記割り込み番号に応じた割り込み処理を実行する際に前記タイプ情報により示される当該割り込み処理を実行する物理的なマイクロ・プロセッサのタイプが前記マルチタイプである場合に、当該物理的なマイクロ・プロセッサの何れかの論理的なマイクロ・プロセッサで割り込み処理を実行するように制御するものとしてもよい。
【発明の効果】
【００２０】
以上説明したように、第１の発明によれば、オペレーティング・システム毎にキャッシュメモリへのデータの記憶の許可又は不許可を示す許可情報を記憶手段に記憶しておき、割り込み処理をオペレーティング・システムの何れか１つで実行する際に記憶手段から当該オペレーティング・システムに対応する許可情報を読み出し、当該許可情報に応じて前記キャッシュメモリへのデータの記憶を制御しているので、キャッシュメモリの利用効率の低下を抑制することができる、という優れた効果を有する。
【００２１】
また、第２の発明によれば、割り込み番号毎に前回割り込み処理を実行したマイクロ・プロセッサを示す前回処理プロセッサ情報を記憶手段に記憶しておき、割り込み番号に応じた割り込み処理を実行する際に記憶手段から当該割り込み番号に対応する前回処理プロセッサ情報を読み出し、当該前回処理プロセッサ情報により示されるマイクロ・プロセッサで割り込み処理を実行するように制御しているので、キャッシュメモリの利用効率の向上させることができる、という優れた効果を有する。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。
【００２３】
［第１の実施の形態］
図１には、第１の実施の形態に係る情報処理装置１０の機能ブロック図が示されている。
【００２４】
同図に示すように本実施の形態に係る情報処理装置１０には、装置全体の動作を司るＣＰＵ（マイクロ・プロセッサ）２２と、情報処理装置１０の制御を行う複数のＯＳが記憶されたＨＤＤ２４と、各種プログラムや各種パラメータ等が予め記憶されたＲＯＭ２６と、各種データを一時的に記憶するＲＡＭ２８と、各種の操作画面を表示する表示装置３０と接続され当該表示装置３０を制御する表示制御部３２と、ユーザからの各種の指示を入力するためのキーボードやマウス等の操作入力装置３４と、図示しない外部端末とネットワークを介して接続された通信Ｉ／Ｆ部３６と、情報処理装置１０に接続する機器とのデータの送受信のインタフェースとなる入出力ポート３８と、各機器からＣＰＵ２２への割り込み要求の制御を行う割り込み制御部４０と、を備えている。
【００２５】
なお、本実施の形態に係るＨＤＤ２４には、情報処理装置１０の制御を行うＯＳとして第１ＯＳ４４、第２ＯＳ４５、第３ＯＳ４６、第４ＯＳ４７と４つのＯＳが記憶されてる。
【００２６】
また、本実施の形態に係るＲＯＭ２６には、ロードプログラム（所謂、ローダ）が予め記憶されており、ＣＰＵ２２は、起動時にロードプログラムを実行してＨＤＤ２４から第１ＯＳ４４、第２ＯＳ４５、第３ＯＳ４６、第４ＯＳ４７を順にＲＡＭ２８に読み込んで見かけ上同時に実行している。よって、情報処理装置１０は、４つのＯＳにより動作が制御されている。
【００２７】
また、本実施の形態に係る入出力ポート３８は、複数（本実施の形態では、２個）のコネクタ４８を備え、装置本体の電源がオン状態のままで動的に機器を接続可能なＵＳＢのインタフェースとして構成されている。よって、ユーザは、例えば、スキャナやプリンタ等の機器を必要に応じて接続することができる。なお、本実施の形態では、２個の機器が接続されており各々、機器Ａ５０、機器Ｂ５１とする。
【００２８】
また、本実施の形態に係るＣＰＵ２２は、内部にキャッシュメモリ２３を備えており、実行した処理の命令データや処理対象となった処理データを一旦記憶して保持し、再度同一の命令データや処理データを用いる場合にキャッシュメモリ２３からデータを読み込むことでデータへのアクセルの高速化を図っている。
【００２９】
上記ＣＰＵ２２、ＨＤＤ２４、ＲＯＭ２６、ＲＡＭ２８、表示制御部３２、操作入力装置３４、通信Ｉ／Ｆ部３６、入出力ポート３８、及び割り込み制御部４０はバスＢＵＳを介して相互に接続されている。従って、ＣＰＵ２２は、ＨＤＤ２４、ＲＯＭ２６、及びＲＡＭ２８に対するアクセスと、表示制御部３２を制御しての表示装置３０への各種情報の表示と、操作入力装置３４に対するユーザの操作による指示内容の把握と、通信Ｉ／Ｆ部３６を制御しての外部端末とのデータの送受信の制御と、入出力ポート３８を介して機器Ａ５０、機器Ｂ５１の作動の制御と、を各々行うことができる。
【００３０】
ところで、本実施の形態に係る情報処理装置１０は、上述したように、第１ＯＳ４４及び第２ＯＳ４６により動作を制御している。このため、操作入力装置３４や、通信Ｉ／Ｆ部３６、操作入力装置３４、入出力ポート３８を介して接続されて機器Ａ５０、機器Ｂ５１から発生する割り込み要求を何れのＯＳで制御するかが問題となる。
【００３１】
そこで、本実施の形態に係る情報処理装置１０では、発生した割り込み要求を割り込み制御部４０により第１ＯＳ４４、第２ＯＳ４５、第３ＯＳ４６、第４ＯＳ４７に振り分ける制御を行っている。
【００３２】
図２には、割り込み制御部４０の機能構成を示す機能ブロック図が示されている。
【００３３】
割り込み制御部４０は、機器からの割り込みを要求する割り込み信号を検出する割り込み検出部５２と、割り込み検出部５２で検出した割り込み信号により示される割り込み番号（ＩＲＱ（Interrupt ReQuest））を識別するＩＲＱ識別部５４と、割り込み番号毎に割り込み処理を実行するＯＳを示す割込実行情報が登録された割り込み管理テーブル（図３参照）及びＯＳ毎にキャッシュメモリ２３へのアクセスの許可又は不許可を示す許可情報が登録されたアクセス管理テーブル（図４参照）が記憶された管理情報記憶部５６と、管理情報記憶部５６に記憶された割り込み管理テーブルから割込実行情報及びアクセス管理テーブルから許可情報を読み込み、ＩＲＱ識別部５４で識別された割り込み番号に対応するＯＳ及び当該ＯＳの許可情報を求めて当該ＯＳに制御を移行する制御移行部５８と、を備えている。
【００３４】
なお、本実施の形態に係る管理情報記憶部５６は、フラッシュメモリ等の不揮発性かつ書き換え可能なメモリで構成されており、装置本体の電源がオフとなっても割込実行情報及び許可情報を保持することが可能となっている。
【００３５】
また、本実施の形態に係る制御移行部５８は、割り込み管理テーブルからＩＲＱ識別部５４で識別された割り込み番号に対応するＯＳを求め、アクセス管理テーブルから当該ＯＳの許可情報を読み込む。
【００３６】
そして、制御移行部５８では、求めたＯＳの割り込みベクタを参照して割り込み番号に対応する所定の割り込み処理（所謂、割り込みハンドラ）のアドレスを求めて、当該アドレスと共に許可情報をＣＰＵ２２へ送信し、ＣＰＵ２２に当該アドレスの処理への移行を依頼する。なお、割り込みベクタは、各ＯＳ毎に予め定められており、起動時にロードプログラムによってロードされてＲＡＭ２８の所定の領域に予め記憶されている。
【００３７】
ＣＰＵ２２は、ＯＳの制御により実行している処理の情報を一旦ＲＡＭ２８に退避して、受信したアドレスによって示される割り込み処理を実行する。この際、許可情報により示されるキャッシュメモリ２３へのアクセスが不許可である場合、割り込み処理で用いたデータをキャッシュメモリ２３に記憶させない。
【００３８】
図３には、割り込み管理テーブルのデータ構造の一例が示されている。
【００３９】
同図に示すように、割り込み管理テーブルには、割り込み番号（ＩＲＱ）毎に割込み処理を行うＯＳが割込実行情報として登録されている。
【００４０】
図４には、アクセス管理テーブルのデータ構造の一例が示されている。
【００４１】
同図に示すように、アクセス管理テーブルには、ＯＳ毎にキャッシュメモリ２３へのアクセスの許可／不許可を示す許可情報が登録されている。
【００４２】
次に、第１の実施の形態の係る情報処理装置１０の作用を説明する。
【００４３】
図５には、割り込み制御部４０により接続された機器から割り込みを要求する割り込み信号を受信した際の実行される割り込み判別処理の流れを示すフローチャートが示されている。なお、情報処理装置１０のＣＰＵ２２は、搭載されている４つのＯＳの制御により各々処理を実行しており、割り込み制御部４０において接続されているいずれかの機器から割り込みを要求する割り込み信号を受信すると以下の割り込み判別処理が実行される。
【００４４】
同図のステップ１００では、割り込み検出部５２において割り込み信号を検出すると、ＩＲＱ識別部５４で当該割り込み信号の割り込み番号を識別する。
【００４５】
次のステップ１０２では、制御移行部５８により管理情報記憶部５６に記憶された割り込み管理テーブルに基づいて識別された割り込み番号に対応するＯＳを判別する。
【００４６】
次のステップ１０４では、制御移行部５８により判別したＯＳの割り込みベクタを参照して割り込み番号に対応する所定の割り込み処理のアドレス情報を取得する。
【００４７】
次のステップ１０６では、制御移行部５８により管理情報記憶部５６に記憶されたアクセス管理テーブルから判別したＯＳの許可情報を取得する。
【００４８】
次のステップ１０８では、ＣＰＵ２２へ当該許可情報と所定の割り込み処理のアドレス情報を送信し、ＣＰＵ２２に当該アドレスの処理への移行を依頼して本割り込み判別処理が終了する。
【００４９】
図６には、ＣＰＵ２２で許可情報及びアドレス情報を受信した際の割り込み制御処理の流れを示すフローチャートが示されている。
【００５０】
同図のステップ１５０では、ＣＰＵ２２がその時点で行っている処理の情報をＲＡＭ２８の所定領域に一旦退避する。
【００５１】
次のステップ１５２では、フラグＡに「０」をセットして初期化する
次のステップ１５４では、受信した許可情報よりキャッシュメモリ２３へのアクセスが許可されているか否かを判定し、肯定判定であった場合はステップ１５６へ移行し、否定判定であった場合はステップ１６０へ移行する。
【００５２】
ステップ１５６では、フラグＡに「１」をセットし、次のステップ１５８ではキャッシュメモリ２３へのアクセスを無効とする。
【００５３】
ステップ１６０では、アドレス情報により示されるアドレスの処理を読込み、処理を実行する。これにより、機器からの割り込みを要求に応じた割込み処理が実行され、割り込み処理が終了するとステップ１６２へ移行する。なお、本割り込み制御処理の開始時点でのキャッシュメモリ２３へのアクセスの有効、無効はＢＩＯＳ（Basic Input Output System）等での初期設定されており（通常は、キャッシュメモリ２３へのアクセスは有効）、この割込み処理中にキャッシュメモリへのアクセスが有効である場合、割り込み処理で用いたデータがＲＡＭ２８と共にキャッシュメモリ２３に記憶される。一方、キャッシュメモリへのアクセスが無効である場合、割り込み処理で用いたデータがＲＡＭ２８に記憶され、キャッシュメモリ２３に記憶されないため、キャッシュメモリ２３の記憶領域に記憶されたデータは本割り込み制御処理を開始した時点の処理で用いた状態のまま保持される。
【００５４】
ステップ１６２では、フラグＡにセットされている値が「１」であるか否かを判定し、肯定判定であった場合はステップ１６４へ移行し、否定判定であった場合はステップ１６８へ移行する。
【００５５】
ステップ１６４では、フラグＡに「０」をセットし、次のステップ１６６では、キャッシュメモリ２３へのアクセスを有効とする。
【００５６】
ステップ１６８では、上述したステップ１５０においてＲＡＭ２８の所定領域に退避した情報を読み込み、本割り込み制御処理を開始した時点の処理を再開して本割り込み制御処理が終了となる。
【００５７】
以上のように第１の実施の形態によれば、各々所定の割り込み信号を出力する複数の機器と接続されると共に予め搭載された複数のオペレーティング・システムがマイクロ・プロセッサ（ここでは、ＣＰＵ２２）で見かけ上同時に実行されるものであり、複数の機器（ここでは、操作入力装置３４、通信Ｉ／Ｆ部３６、機器Ａ５０、機器Ｂ５１）の何れか１つから前記割り込み信号が入力された場合に何れか１つのオペレーティング・システムで当該割り込み信号により示される割り込み番号に応じた割り込み処理を実行する情報処理装置において、マイクロ・プロセッサの内部にキャッシュメモリが設けられており、当キャッシュメモリにより、当該マイクロ・プロセッサで実行される処理で用いられるデータへのアクセス時間を短縮するために当該データを一時的に記憶しており、記憶手段（ここでは、管理情報記憶部５６）にオペレーティング・システム毎にキャッシュメモリへのデータの記憶の許可又は不許可を示す許可情報を記憶している。
【００５８】
そして、記憶制御手段（ここでは、制御移行部５８及びＣＰＵ２２）は、割り込み処理を前記オペレーティング・システムの何れか１つで実行する際に前記記憶手段から当該オペレーティング・システムに対応する許可情報を読み出し、当該許可情報に応じて前記キャッシュメモリへのデータの記憶を制御しているので、割り込み処理を実行した際にキャッシュメモリにデータを記憶させないことができる。これにより、割り込み処理が実行される前にマイクロ・プロセッサで実行された処理によってキャッシュメモリに記憶されたデータが保持されるので、マイクロ・プロセッサで同一の処理を実行する際にキャッシュメモリからデータを読み出すことができるため、キャッシュメモリの利用効率の低下を抑制することができる。
【００５９】
［第２の実施の形態］
第２の実施の形態では、キャッシュメモリ２３の記憶領域を各ＯＳ毎に割り当て、各ＯＳが割り当てられた記憶領域にデータを一時的に記憶させる例について説明する。なお、第２の実施の形態に係る情報処理装置１０の構成は図１と同様であるので、ここでの説明は省略する。
【００６０】
図７には、第２の実施の形態に係る割り込み制御部４０及びＣＰＵ２２の機能構成を示す機能ブロック図が示されている。なお、第１の実施の形態に係る割り込み制御部４０及びＣＰＵ２２（図２参照）と同様である箇所には、同様の符号を付して、ここでの説明は省略する。
【００６１】
管理情報記憶部１８０は、割り込み管理テーブルを記憶している。
【００６２】
制御移行部１８２は、ＩＲＱ識別部５４で識別したＯＳの割り込みベクタを参照して割り込み要求に対応する所定の割り込み処理のアドレスを求めて、当該アドレス情報をＣＰＵ２２へ送信し、ＣＰＵ２２に当該アドレスの処理への移行を依頼する。
【００６３】
一方、ＣＰＵ２２は、ＯＳ毎にキャッシュメモリ２３の記憶領域を割り当てた使用領域情報を記憶する領域割当テーブルを記憶するキャッシュ割当情報記憶部１８４と、キャッシュメモリ２３へのアクセスを制御するキャッシュメモリアクセス制御部１８６と、を備えている。なお、キャッシュ割当情報記憶部１８４に記憶されている領域割当テーブルの情報はＨＤＤ２４の所定領域に予め記憶されており、情報処理装置１０の電源がオンとなるとキャッシュ割当情報記憶部１８４に読み込まれる。
【００６４】
本実施の形態に係るキャッシュメモリアクセス制御部１８６は、領域割当テーブルに基づいて各ＯＳに対してキャッシュメモリ２３の記憶領域を分割して割り当てている。
【００６５】
図８には、領域割当テーブルのデータ構造の一例が示されている。
【００６６】
同図に示すように、領域割当テーブルには各ＯＳ毎にキャッシュメモリ２３にデータを記憶させることが可能な使用領域が登録されている。
【００６７】
一方、本実施の形態に係る情報処理装置１０のＲＯＭ２６には、キャッシュ割当情報記憶部１８４に記憶されている領域割当テーブルにＯＳ毎の使用領域のサイズを登録するための領域サイズ割り当て処理プログラムが記憶されており、領域サイズ割り当て処理プログラムが実行されると後述する割り当て画面が表示されてＯＳ毎にデータ容量を登録することが可能となっている。
【００６８】
次に、第２の実施の形態の作用について説明する。
【００６９】
情報処理装置１０のＣＰＵ２２は、４つのＯＳの制御により各々処理を実行しており、キャッシュメモリアクセス制御部１８６は、領域割当テーブルから第１ＯＳから第４ＯＳの使用領域情報を順次読み出し、キャッシュメモリ２３の記憶領域を先頭アドレスから順に使用領域情報により示されるサイズに分割して対応するＯＳに割り当てている。これにより、キャッシュメモリ２３の記憶領域は重複することなく各ＯＳに割り当てられる。
【００７０】
割り込み制御部４０では、割り込み検出部５２でいずれかの機器から送信された割り込み信号を検出すると、ＩＲＱ識別部５４で当該割り込み信号の割り込み番号を識別する。
【００７１】
制御移行部１８２は、管理情報記憶部５６に記憶された割り込み管理テーブルに基づいて識別された割り込み番号に対応するＯＳを求め、当該ＯＳの割り込みベクタを参照して割り込み番号に対応する所定の割り込み処理のアドレスを求めて、ＣＰＵ２２に当該アドレスの処理への移行を依頼する。
【００７２】
ＣＰＵ２２は、行っていた処理の情報を一旦ＲＡＭ２８に退避し、依頼されたアドレスからの処理を実行する。キャッシュメモリアクセス制御部１８６は、当該割り込み処理を制御するＯＳに対して分割されたキャッシュメモリ２３の記憶領域に割り込み処理で用いたデータを記憶させる。
【００７３】
これにより、ＯＳに割り当てられたキャッシュメモリ２３の記憶領域に異なるＯＳのデータが書き込まれることが防止できるため、キャッシュメモリの利用効率の低下を抑えることができる
次に、図９を参照しつつ、領域サイズ割り当て処理プログラムが実行された際の領域サイズ割り当て処理の流れを示すフローチャートが示されている。なお、本実施の形態では、情報処理装置１０の電源がオンとなると、表示装置３０にＯＳ別のキャッシュメモリの記憶領域割り当てを行うか否かを指定するメッセージが所定時間の間表示され、当該メッセージが表示されている間に所定操作が行われると領域サイズ割り当て処理プログラムが実行される。
【００７４】
同図のステップ２００では、キャッシュ割当情報記憶部１８４に記憶されている領域割当テーブルを読み込み、次のステップ２０２では、表示装置３０に領域変更ＯＳ指定画面７０を表示する。
【００７５】
図１０には、領域変更ＯＳ指定画面７０の一例が示されている。
【００７６】
同図に示すように、本実施の形態に係る領域変更ＯＳ指定画面７０は、情報処理装置１０に搭載されているＯＳの名称が表示されるＯＳ名称表示部７２と、記憶領域のサイズの変更を行うＯＳを指定する番号を入力する番号入力部７４と、記憶領域を変更するＯＳの指定を確定させるＯＫボタン７６と、領域変更ＯＳ指定画面７０の終了を指定する終了ボタン７８と、を備えている。
【００７７】
領域変更ＯＳ指定画面７０では、ユーザが番号入力部７４に指定するＯＳの番号を入力してＯＫボタン７６を指定することにより、後述する記憶領域サイズ変更画面を表示させることができ、また、終了ボタン７８を指定することにより領域変更ＯＳ指定画面７０を終了することが可能となっている。
【００７８】
ステップ２０４では、番号入力部７４に指定するＯＳの番号が入力されてＯＫボタン７６が指定されたか否かを判定しており、肯定判定となった場合はステップ２０８へ移行し、否定判定となった場合はステップ２０６へ移行する。ステップ２０６では、終了ボタン７８が指定されたか否かを判定しており、肯定判定となった場合は本ＯＳ別データ記憶領域割り当て処理が終了し、否定判定となった場合は再度ステップ２０４へ移行してＯＫボタン７６及び終了ボタン７８の指定待ちとなる。
【００７９】
ステップ２０８では、表示装置３０に領域サイズ変更画面８０を表示する。
【００８０】
図１１には、領域サイズ変更画面８０の一例が示されている。
【００８１】
同図に示すように、本実施の形態に係る領域サイズ変更画面８０は、上述した領域変更ＯＳ指定画面７０において指定されたＯＳの名称を表示する指定ＯＳ表示部８２と、キャッシュメモリ２３の全記憶領域のサイズを表示する全記憶領域サイズ表示部８４と、指定されたＯＳに割り当てられている記憶領域のサイズを表示する割り当て領域サイズ表示部８６と、キャッシュメモリ２３の全記憶領域のうち何れのＯＳにも割り当てられていない記憶領域のサイズを表示する未割り当て領域サイズ表示部８８と、指定されたＯＳに割り当てる記憶領域のサイズを入力するサイズ入力部９０と、サイズ変更を実行を指定するＯＫボタン９２と、サイズ変更の中止を指定するキャンセルボタン９４と、を備えている。
【００８２】
領域サイズ変更画面８０では、ユーザがサイズ入力部９０に変更する記憶領域のサイズを入力してＯＫボタン９２を指定することにより、指定ＯＳ表示部８２に表示されたＯＳに対するキャッシュメモリ２３の記憶領域の割り当てを変更することが可能となっている。また、キャンセルボタン９４を指定することによりサイズの変更を行うことなく領域サイズ変更画面８０を終了することが可能となっている。なお、サイズ入力部９０に入力可能な値は、最小値が「０」[ＫＢ]であり、最大値が割り当て領域サイズ表示部８６に表示されたサイズ＋最大未割り当て領域サイズ表示部８８に表示されたサイズの値となっている。
【００８３】
ステップ２１０では、サイズ入力部９０に変更する記憶領域のサイズが入力されてＯＫボタン９２が指定されたか否かを判定しており、肯定判定となった場合はステップ２１４へ移行し、否定判定となった場合はステップ２１２へ移行する。ステップ２１２では、キャンセルボタン９４が指定されたか否かを判定しており、肯定判定となった場合は領域サイズ変更画面８０の表示を終了して再度ステップ２０２へ再度移行し、否定判定となった場合は再度ステップ２１０へ移行してＯＫボタン９２及びキャンセルボタン９４の指定待ちとなる。
【００８４】
ステップ２１４では、サイズ入力部９０に入力された値をＨＤＤ２４の所定領域及びキャッシュ割当情報記憶部１８４に記憶されている領域割当テーブルの指定されたＯＳの使用領域を更新する。
【００８５】
以上のように第２の実施の形態によれば、記憶手段（ここでは、キャッシュ割当情報記憶部１８４）を、許可情報に代えて前記キャッシュメモリの記憶領域を分割してオペレーティング・システム毎に割り当てる使用領域を示す使用領域情報を記憶するものとし、記憶制御手段（ここでは、キャッシュメモリアクセス制御部１８６）は、記憶手段から読み出した使用領域情報により示される前記使用領域にデータの記憶させるように制御しているので、キャッシュメモリの記憶領域に異なるＯＳのデータが書き込まれることを防止することができるため、キャッシュメモリの利用効率の低下を抑制することができる。
【００８６】
また、第２の実施の形態によれば、前記記憶手段に前記オペレーティング・システム毎の使用領域を登録する登録手段（ここでは、領域変更ＯＳ指定画面７０及び領域サイズ変更画面８０）をさらに備えているので、オペレーティング・システム毎の使用領域の割り当てを適宜変更することができ、割り当てサイズを調整することでキャッシュメモリの利用効率の低下を抑制することができる。
【００８７】
［第３の実施の形態］
ここで、従来、情報処理装置に用いられるＣＰＵ２２は、図１２（Ａ）に示すように、演算を司るＣＰＵコア部２５とキャッシュメモリ２３とが１対１で同一の構成されている。
【００８８】
しかし、近年、１つのプロセッサ内のＣＰＵコア部２５とキャッシュメモリ２３とを２つずつ搭載したマルチプロセッサ（図１２（Ｂ））や、ＣＰＵコア部２５の一部の機能を多重化して１つのプロセッサを論理的に複数のプロセッサとして認識させるハイパー・スレッディング（Hyper-Threading）等のタイプの異なるＣＰＵがある（図１２（Ｃ））。なお、図１２（Ｃ）では、１つのプロセッサのＣＰＵコア部２５の一部の機能を二重化したことにより論理的にＣＰＵコア部２５が２つの認識されていることを模式的に示してる。
【００８９】
そこで、第３の実施の形態では、情報処理装置１０に複数のＣＰＵ２２が接続されている場合に、当該ＣＰＵ２２のタイプを判別してＣＰＵ２２に適した処理の割り振りを行う例について説明する。
【００９０】
図１３には、第３の実施の形態に係る情報処理装置１０の機能ブロック図が示されている。なお、第１の実施の形態に係る情報処理装置１０（図１参照）と同様である箇所には、同様の符号を付して、ここでの説明は省略する。
【００９１】
同図に示すように本実施の形態に係る情報処理装置１０には、装置全体の動作を司る２個のＣＰＵ２２Ａ、２２Ｂを備えており、各ＯＳが処理毎に各ＣＰＵ２２に処理を適宜分散して実行している。なお、本実施の形態では、ＣＰＵを２個としている、２個以上の構成としてもよい。
【００９２】
図１４には、ＣＰＵ２２Ａ、２２Ｂ及び割り込み制御部４０の機能構成を示す機能ブロック図が示されている。なお、第１の実施の形態に係る割り込み制御部４０（図２参照）と同様である箇所には、同様の符号を付して、ここでの説明は省略する。
【００９３】
割り込み制御部４０は、割り込み管理テーブルと共にＣＰＵ２２Ａ、２２Ｂにタイプに応じたＣＰＵ定義情報テーブルを記憶する管理情報記憶部２８０と、ＣＰＵ２２のタイプを判別し、後述するＣＰＵキャッシュ構成情報作成処理を実行してＣＰＵキャッシュ構成テーブルを生成するＣＰＵタイプ調査部２８２と、を備えている。
【００９４】
なお、本実施の形態に係る２個のＣＰＵ２２Ａ、２２Ｂは、ハイパー・スレッディング構成のPentium（登録商標）４となっており、各ＯＳからは、ＣＰＵ２２Ａが２個の論理ＣＰＵ９６Ａ、９６Ｂと認識され、ＣＰＵ２２Ｂが２個の論理ＣＰＵ９６Ｃ、９６Ｄと認識される。論理ＣＰＵ９６Ａ、９６Ｂは、ＣＰＵ２２Ａのキャッシュメモリ２３を共通で用いており、論理ＣＰＵ９６Ｃ、９６Ｄは、ＣＰＵ２２Ｂのキャッシュメモリ２３を共通で用いている。なお、以下では、ＣＰＵ２２Ａ、２２Ｂを特に区別しない場合、ＣＰＵ２２と記載し、論理ＣＰＵ９６Ａ、９６Ｂ、９６Ｃ、９６Ｂを特に区別しない場合、論理ＣＰＵ９６と記載し、ＣＰＵ２２と論理ＣＰＵ９６を特に区別しない場合、ＣＰＵと記載する。
【００９５】
図１５には、管理情報記憶部２８０に記憶されているＣＰＵ定義情報のデータ構造の一例が示されている。
【００９６】
同図に示すように、ＣＰＵ定義情報には、ＣＰＵ２２のタイプ毎にハイパー・スレッディング構成であるか否かを示すＨＴフラグと、論理ＣＰＵ数が定義されており、ＨＴフラグには、ハイパー・スレッディング構成でないものに「０」が設定され、ハイパー・スレッディング構成であるものに「１」が設定されている。また、論理ＣＰＵ数には、１個のハイパー・スレッディング構成のＣＰＵ２２に備えられた論理ＣＰＵ９６の数を示す値が設定されている。なお、図１５の「Pentium（登録商標）４ＨＴ」とはPentium（登録商標）４のうちハイパー・スレッディング（ＨＴ）構成のものである。
【００９７】
本実施の形態に係るＣＰＵタイプ調査部２８２は、後述するキャッシュ構成情報作成処理を実行して、ＣＰＵ２２毎のタイプを判別し、管理情報記憶部２８０に記憶されているＣＰＵ定義情報から当該ＣＰＵがハイパー・スレッディング構成であるのか判定して後述するキャッシュ構成情報を生成する。生成したキャッシュ構成情報は、管理情報記憶部２８０に記憶される。
【００９８】
図１６には、管理情報記憶部２８０に記憶されているキャッシュ構成情報テーブルのデータ構造の一例が示されている。
【００９９】
同図に示されるように、キャッシュ構成情報テーブルには、ＣＰＵ２２毎のキャッシュメモリ２３の共有状態に関する情報が示されており、各ＣＰＵでキャッシュメモリ２３を共用している場合に同一の値がセットされる。
【０１００】
本実施の形態では、ＣＰＵ２２Ａ、２２Ｂが各々２個の論理ＣＰＵ９６と認識されるため、図１６に示すキャッシュ構成情報テーブルでは、論理ＣＰＵ９６を１個のＣＰＵと見なして設定されており、ＣＰＵ（０）〜ＣＰＵ（３）が論理ＣＰＵ９６Ａ〜９６Ｄに各々対応している。
【０１０１】
一方、本実施形態に係る管理情報記憶部２８０には、割り込み番号毎に前回に割り込み処理を行ったＣＰＵを示す前回処理プロセッサ情報を登録した前回処理ＣＰＵ情報テーブルが記憶されている。
【０１０２】
割り込み制御部４０は、割り込み信号を受信すると、前回処理ＣＰＵ情報テーブルから割り込み信号により示される割り込み番号の前回処理プロセッサ情報を読み込み、当該前回処理プロセッサ情報により示されるＣＰＵにおいて割り込み処理を実行するように制御している。
【０１０３】
図１７には、管理情報記憶部２８０に記憶されている前回処理ＣＰＵ情報テーブルのデータ構造の一例が示されている。
【０１０４】
同図に示されるように、前回処理ＣＰＵ情報テーブルには、割り込み番号（ＩＲＱ）毎に前回当該割り込み番号の割り込み処理を実行したＣＰＵを示す前回処理プロセッサ情報が記憶されている。
【０１０５】
なお、本実施の形態に係る前回処理ＣＰＵ情報テーブルでは、ＣＰＵ２２がハイパー・スレッディング構成のものであるため、前回に割り込み処理を行った論理ＣＰＵ９６を示す情報が記憶されている。
【０１０６】
次に、本実施の形態の作用を説明する。
【０１０７】
図１８を参照しつつ、キャッシュ構成情報作成処理が実行された際のキャッシュ構成情報作成処理の流れを示すフローチャートが示されている。
【０１０８】
同図のステップ３００では、接続されているＣＰＵ２２の個数と当該ＣＰＵ２２の、例えば、プロセッサシリアルナンバを問い合わせることによりＣＰＵ２２のタイプを特定してＣＰＵの個数を認識する。すなわち、物理的に１個のＣＰＵ２２が論理的な複数の論理ＣＰＵ９６を構成するタイプである場合、倫理ＣＰＵ９６の個数をＣＰＵの個数として認識する。本実施の形態では、ＣＰＵ２２Ａ、２２Ｂがハイパー・スレッディング構成であるため、４個の論理ＣＰＵ９６Ａ〜９６Ｄが認識される。
【０１０９】
次のステップ３０２では、ＣＰＵを複数有する構成（マルチＣＰＵ）であるか否かを判定し、肯定判定であった場合はステップ３０４へ移行し、否定判定であった場合はＣＰＵ２２が１つであるため、キャッシュ構成情報の作成を行わずに本キャッシュ構成情報作成処理が終了となる。
【０１１０】
ステップ３０４では、変数ｍに認識されたＣＰＵの個数をセットする。本実施の形態では、変数ｍに４個の論理ＣＰＵ９６と認識されるため、変数ｍに「４」がセットされる。また、ＣＰＵ２２を識別するための変数ｎ及びキャッシュを識別するための変数ｉを０に初期化する。
【０１１１】
次のステップ３０６では、ＣＰＵ定義情報を参照して認識した各ＣＰＵのタイプに応じた構成情報を取得する。なお、本実施の形態では、ＣＰＵ２２がハイパー・スレッディング構成のPentium（登録商標）４であるため、認識された各論理ＣＰＵ９６のハイパー・スレッディング構成を示す値は「１」、論理ＣＰＵ数は「２」となる。
【０１１２】
次のステップ３０８では、変数ｋを０に初期化する。
【０１１３】
次のステップ３１０では、ｎ個目のＣＰＵのキャッシュ構成を示す情報としてキャッシュ構成情報のＣＰＵ（ｎ）の値に変数ｉをセットする。なお、本実施の形態では、ＣＰＵ（０）〜ＣＰＵ（３）が論理ＣＰＵ９６Ａ〜９６Ｄに対応している。
【０１１４】
次のステップ３１２では、上述したステップ３０６で求めたｎ個目のＣＰＵのハイパー・スレッディング構成を示す値が「１」であるか否かから、当該ＣＰＵがハイパー・スレッディング構成であるかを判定し、肯定判定であった場合はステップ３１６へ移行し、否定判定であった場合はステップ３１４へ移行する。ステップ３１４では、変数ｉを１カウントアップする。
【０１１５】
ステップ３１６では、変数ｎ及び変数ｋを各々１カウントアップする。
【０１１６】
次のステップ３１８では、変数ｋが上述したステップ３０６で求めた論理ＣＰＵ数となったか否かを判定し、肯定判定であった場合はステップ３２０へ移行し、否定判定であった場合は再度ステップ３１０へ移行する。すなわち、本実施の形態では、物理的な１個のＣＰＵ２２に２個の論理ＣＰＵ９６が認識されるため、変数ｋが「２」となると本ステップ３１８は肯定判定となる。これにより、変数ｋが「１」の場合は、再度ステップ３１０へ移行することにより、上述したステップ３１０において、図１６に示すように、ＣＰＵ（１）とＣＰＵ（２）のキャッシュ構成に同一の値がセットされる。
【０１１７】
次のステップ３２０では、変数ｉを１カウントアップする。
【０１１８】
次のステップ３２０では、変数ｎが変数ｍ（ＣＰＵの個数）と一致するか否かを判定し、肯定判定であった場合は本キャッシュ構成情報作成処理が終了となり、否定判定であった場合は再度ステップ３０８へ移行する。これにより、図１６に示すように、ＣＰＵ（０）とＣＰＵ（１）、ＣＰＵ（２）とＣＰＵ（３）は物理的に同一のＣＰＵ２２に含まれるためキャッシュ構成に同一の値がセットされたキャッシュ構成情報が作成される。
【０１１９】
図１９には、本実施の形態に係る割り込み判別処理の流れを示すフローチャートが示されている。なお、第１の実施の形態に係る割り込み判別処理（図５参照）と同様の処理である箇所には、同様の符号を付して、ここでの説明は省略する。
【０１２０】
同図のステップ１２０では、前回処理ＣＰＵ情報テーブルを参照し、割り込み検出部５２において識別された割り込み番号の割り込み処理を前回行ったＣＰＵを特定する。
【０１２１】
次のステップ１２１では、上記ステップ１２０において特定されたＣＰＵのハイパー・スレッディング構成を示す値が「１」であるか否かから、当該ＣＰＵが論理ＣＰＵ９６であるか否かを判定し、肯定判定であった場合はステップ１２２へ移行し、否定判定であった場合は特定したＣＰＵ２２を処理実行対象ＣＰＵと特定してステップ１３０へ移行する。これにより、例えば、特定されたＣＰＵ２２がハイパー・スレッディング構成のものでない場合、ステップ１２１は否定判定となる。なお、本実施の形態では、ＣＰＵ２２がハイパー・スレッディング構成のものであるため、ステップ１２１は肯定判定となる。
【０１２２】
次のステップ１２２では、上記ステップ１２０特定されたＣＰＵ２２で割り込み処理を実行可能か否かを判定する。本実施の形態では、特定されたＣＰＵ２２のスケジュールを参照して当該ＣＰＵ２２の使用率が所定値以下である場合、割り込み処理を実行可能と判定し、肯定判定であった場合は特定したＣＰＵ２２を処理実行対象ＣＰＵと特定してステップ１３０へ移行し、否定判定であった場合はステップ１２４へ移行する。
【０１２３】
ステップ１２４では、キャッシュ構成情報を参照して特定したＣＰＵ２２のキャッシュ構成の値を変数ｉにセットする。
【０１２４】
次のステップ１２６では、特定したＣＰＵ２２以外の他のＣＰＵを選択し、次のステップ１２８では、キャッシュ構成情報を参照し、選択した他のＣＰＵのキャッシュ構成の値が変数ｉと一致するか否かを判定し、肯定判定であった場合は一致したＣＰＵ２２を処理実行対象ＣＰＵと特定してステップ１３０へ移行し、否定判定であった場合は再度ステップ１２６へ移行して選択した以外のＣＰＵ２２を他のＣＰＵ２２として新たに選択する。これにより、ＣＰＵのキャッシュ構成の値が同一のＣＰＵ２２が処理実行対象ＣＰＵと特定される。
【０１２５】
ステップ１３０では、処理実行対象ＣＰＵへ所定の割り込み処理のアドレス情報を送信する。これにより、処理実行対象ＣＰＵで割り込み処理が実行される。
【０１２６】
次のステップ１３２では、前回処理ＣＰＵ情報テーブルに割り込み番号の割り込み処理を行った最後のＣＰＵとして処理実行対象ＣＰＵを登録して本割り込み判別処理が終了する。
【０１２７】
以上のように第３の実施の形態によれば、各々所定の割り込み信号を出力する複数の機器と接続されると共に内部にキャッシュメモリを有する複数のマイクロ・プロセッサ（ここでは、ＣＰＵ２２Ａ、２２Ｂ）を備え、複数の機器の何れか１つから前記割り込み信号が入力された場合に当該割り込み信号により示される割り込み番号に応じた割り込み処理を複数のマイクロ・プロセッサの何れか１つで実行する情報処理装置において、記憶手段（ここでは、管理情報記憶部２８０）に割り込み番号毎に前回割り込み処理を実行した前記マイクロ・プロセッサを示す前回処理プロセッサ情報を記憶しておき、割り込み制御手段（制御移行部５８）は、割り込み番号に応じた割り込み処理を実行する際に記憶手段から当該割り込み番号に対応する前回処理プロセッサ情報を読み出し、当該前回処理プロセッサ情報により示されるマイクロ・プロセッサで前記割り込み処理を実行するように制御しているので、前回割り込み処理を行ったマイクロ・プロセッサのキャッシュメモリに記憶されたデータを使用できるため、キャッシュメモリの利用効率が向上する。
【０１２８】
また、第３の実施の形態によれば、複数のマイクロ・プロセッサに、物理的に１個のマイクロ・プロセッサを論理的に複数のマイクロ・プロセッサであるものと認識することのできる構成であると共に前記論理的な複数のマイクロ・プロセッサで内部の前記キャッシュメモリを共有するマルチタイプのものが含まれるものとし、取得手段（ここでは、ＣＰＵタイプ調査部２８２）により、複数のマイクロ・プロセッサのタイプを示すタイプ情報を取得し、割り込み制御手段は、割り込み番号に応じた割り込み処理を実行する際にタイプ情報により示される当該割り込み処理を実行する物理的なマイクロ・プロセッサのタイプがマルチタイプである場合に、当該物理的なマイクロ・プロセッサの何れかの論理的なマイクロ・プロセッサで割り込み処理を実行するように制御しているので、何れの論理的なマイクロ・プロセッサでも前回の割り込みを行った際にキャッシュメモリに記憶されたデータを用いることができるため、キャッシュメモリの利用効率が向上する。
【０１２９】
なお、第１〜第３の実施の形態では、４つのＯＳを搭載した場合について説明したが、本発明はこれに限定されるものではなく、搭載するＯＳが複数でればいずれでもよい。この場合も、本実施の形態と同様の効果を奏することができる。
【０１３０】
また、第１〜第３の実施の形態では、ＣＰＵが１つのキャッシュメモリを備えている場合について説明したが、本発明はこれに限定されるものではなく、例えば、複数のキャッシュメモリ（例えば、１次キャッシュメモリ、２次キャッシュメモリ、３次キャッシュメモリ）を備え、各キャッシュメモリへのデータの記憶、アクセスを個別に制御するものとしてもよい。この場合も、本実施の形態と同様の効果を奏することができる。
【０１３１】
また、第３の実施の形態では、複数のＯＳを搭載している場合について説明したが、本発明はこれに限定されるものではなく、例えば、１つのＯＳで複数のＣＰＵを制御している構成であってもよい。この場合も、本実施の形態と同様の効果を奏することができる。
【０１３２】
また、第３の実施の形態では、物理的に１個のマイクロ・プロセッサに複数論理なマイクロ・プロセッサを構成するものとしてハイパー・スレッディング構成のものについて説明したが、本発明はこれに限定されるものではなく、１個のマイクロ・プロセッサに複数論理なマイクロ・プロセッサを構成するものであればいずれの構成のものでもよい。この場合も、本実施の形態と同様の効果を奏することができる。
【０１３３】
その他、本実施の形態で説明した情報処理装置１０の構成（図１、図２、図７、図１３、図１４参照。）は、一例であり、本発明の主旨を逸脱しない範囲内において適宜変更可能であることは言うまでもない。
【０１３４】
また、本実施の形態で説明した割り込み管理テーブル（図３参照）、アクセス管理テーブル（図４参照）、領域割当テーブル（図８参照）、ＣＰＵ定義情報（図１５参照）、キャッシュ構成情報（図１６参照）、前回処理ＣＰＵ情報テーブル（図１７参照）のデータ構造一例であり、本発明の主旨を逸脱しない範囲内において適宜変更可能であることは言うまでもない。
【０１３５】
また、領域変更ＯＳ指定画面（図１０参照）、領域サイズ変更画面（図１１参照）の画面構成も、一例であり、本発明の主旨を逸脱しない範囲内において適宜変更可能であることは言うまでもない。
【０１３６】
さらに、本実施の形態で説明した割り込み判別処理（図５参照）、割り込み制御処理（図６参照）、領域サイズ割り当て処理（図９参照）、キャッシュ構成情報作成処理（図１８参照）、割り込み判別処理（図１９参照）の流れも一例であり、本発明の主旨を逸脱しない範囲内において適宜変更可能であることは言うまでもない。
【図面の簡単な説明】
【０１３７】
【図１】第１の実施の形態に係る情報処理装置全体の概略構成を示すブロック図である。
【図２】第１の実施の形態に係る割り込み制御部の詳細な構成を示す模式図である。
【図３】第１の実施の形態に係る割り込み管理テーブルのデータ構造の一例を示す図である。
【図４】第１の実施の形態に係るアクセス管理テーブルのデータ構造の一例を示す図である。
【図５】第１の実施の形態に係る割り込み判別処理の流れを示すフローチャートである。
【図６】第１の実施の形態に係る割り込み制御処理の流れを示すフローチャートである。
【図７】第２の実施の形態に係る割り込み制御部の詳細な構成を示す模式図である。
【図８】第２の実施の形態に係る領域割当テーブルのデータ構造の一例を示す図である。
【図９】第２の実施の形態に係る領域サイズ割り当て処理の流れを示すフローチャートである。
【図１０】第２の実施の形態に係る領域変更ＯＳ指定画面の表示形態の一例を示す図である。
【図１１】第２の実施の形態に係る領域サイズ変更画面の表示形態の一例を示す図である。
【図１２】第３の実施の形態に係るＣＰＵの内部構成の１例を示すブロック図である。
【図１３】第３の実施の形態に係る情報処理装置全体の概略構成を示すブロック図である。
【図１４】第３の実施の形態に係る割り込み制御部の詳細な構成を示す模式図である。
【図１５】第３の実施の形態に係るＣＰＵ定義情報のデータ構造の一例を示す図である。
【図１６】第３の実施の形態に係るキャッシュ構成情報のデータ構造の一例を示す図である。
【図１７】第３の実施の形態に係る前回処理ＣＰＵ情報テーブルのデータ構造の一例を示す図である。
【図１８】第３の実施の形態に係るキャッシュ構成情報作成処理の流れを示すフローチャートである。
【図１９】第３の実施の形態に係る割り込み判別処理の流れを示すフローチャートである。
【符号の説明】
【０１３８】
１０  情報処理装置
２２  ＣＰＵ
２３  キャッシュメモリ
４４  第１ＯＳ
４５  第２ＯＳ
４６  第３ＯＳ
４７  第４ＯＳ
５６  管理情報記憶部
５８  制御移行部
７０  領域変更ＯＳ指定画面
８０  領域サイズ変更画面
１８６  キャッシュメモリアクセス制御部
２８０  管理情報記憶部
２８２  ＣＰＵタイプ調査部
【図１】
2007034514.tif 000003
【図２】
2007034514.tif 000004
【図３】
2007034514.tif 000005
【図４】
2007034514.tif 000006
【図５】
2007034514.tif 000007
【図６】
2007034514.tif 000008
【図７】
2007034514.tif 000009
【図８】
2007034514.tif 000010
【図９】
2007034514.tif 000011
【図１０】
2007034514.tif 000012
【図１１】
2007034514.tif 000013
【図１２】
2007034514.tif 000014
【図１３】
2007034514.tif 000015
【図１４】
2007034514.tif 000016
【図１５】
2007034514.tif 000017
【図１６】
2007034514.tif 000018
【図１７】
2007034514.tif 000019
【図１８】
2007034514.tif 000020
【図１９】
2007034514.tif 000021