WO2012102002A1 - 仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、記録媒体、及び集積回路 - Google Patents
仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、記録媒体、及び集積回路 Download PDFInfo
- Publication number
- WO2012102002A1 WO2012102002A1 PCT/JP2012/000379 JP2012000379W WO2012102002A1 WO 2012102002 A1 WO2012102002 A1 WO 2012102002A1 JP 2012000379 W JP2012000379 W JP 2012000379W WO 2012102002 A1 WO2012102002 A1 WO 2012102002A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- storage area
- processor
- secure
- storage
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
Definitions
- OS operating systems
- the MPU permits the writing of data to the secure area, so that the data is written back by the cache memory.
- the processor saves information indicating the processor state such as a register value of the processor in a predetermined context save area of the main memory ( 2) Change the processor mode to the normal privilege mode, and (3) restore the processor status information during normal OS execution saved in a predetermined context save area to the processor register value, etc.
- the OS to be switched is switched from the secure OS to the normal OS.
- a virtual machine system includes a processor having a first mode and a second mode, a first operating system executed in the first mode by the processor, and the processor by the processor.
- a virtual machine system configured with a second operating system executed in a second mode, and writing to a predetermined secure storage area in an external main memory only when the processor is in the first mode
- a cache memory having a plurality of ways for storing data read from the main memory by the processor, the cache memory reading data from the main memory by the processor
- Data from the secure storage area A data storage unit that stores the data in one of the plurality of ways that is in a new storable state, and executes the second operating system so that it can be identified whether or not Intermittent execution of data write-back to the secure storage area for making at least one of the plurality of ways into a newly storable state that occurs when a processor accesses the main memory
- it is identified whether or not data is read from the secure storage area, and data stored in
- this virtual machine system can increase the possibility that the occurrence frequency of writing back to the secure area during normal OS execution control will be reduced compared to the conventional case.
- the main memory 103 is connected to the internal bus 120 and stores a program for defining the operation of the processor 101 and data used by the processor 101.
- a part of the storage area of the main memory 103 is set as a secure storage area for storing data to be kept secret.
- the cache memory 102 includes a controller 301, an input / output circuit 302, a 0th way 310, a first way 311, a second way 312 and a third way 313.
- the comparator unit 510 to the comparator unit 513 have functions equivalent to each other. Therefore, here, the comparator unit 510 will be described as a representative of these comparator units.
- FIG. 7 is a functional block diagram illustrating a functional configuration of the replacement target selection unit 610.
- the state 704 is information indicating the state of the OS identified by the associated OS identifier, and the corresponding OS is started by the processor 101, but the sleep instruction issued by the processor 101 in the past, Of the two states, a sleep (SLEEP) state indicating that the OS is actually in a sleep state and a run (RUN) state indicating that the corresponding OS is in a state other than the sleep state Indicates either state.
- SLEEP sleep
- RUN run
- the storage process is started when the storage unit 630 receives a tag, an index, and an OS identifier from the processor 101, and further receives data to be stored from the processor 101 or the main memory 103.
- the replacement target selection unit 610 transmits the valid bit stored in the line storage area specified by the index from each of the 0th way 310 to the 3rd way 313.
- the OS identifier and counter value are read (step S910).
- the virtual machine system 100 can write back to the secure area during normal OS execution control, compared to a conventional virtual machine system that handles the normal OS in the sleep state and the secure OS in the sleep state equally. There is a high possibility that the frequency of occurrence will be reduced.
- the process at the time of issuing the sleep command is started when the write-back unit 1020 detects a sleep command issued by the processor 101 to put the secure OS in the sleep state.
- each sleep command belongs to one of four types of sleep command with different power reduction levels.
- Each sleep command is associated with 2-bit power reduction level information (EV) indicating the power reduction level.
- EV power reduction level information
- the power reduction level information (EV) 1320 is a 2-bit bit string associated with the corresponding sleep instruction type 1300, and the smaller the power reduction level of the corresponding sleep instruction type 1300, the smaller the value. .
- the write back unit 1020 is transformed into the write back unit 1420 from the first modified data storage functional block according to the second embodiment.
- step S1500 when the corresponding line storage area exists (step S1500: Yes), the process from step S1510 is performed.
- the write back unit 1020 is transformed into the write back unit 1620 from the first modified data storage functional block according to the second embodiment.
- FIG. 17 is a flowchart of processing when the second modified sleep command is issued.
- a part of the program stored in the storage element built in the controller 301 is modified from the virtual machine system 100 according to the first embodiment.
- the data storage function realized by the cache memory 102 in the virtual machine system 100 according to the first embodiment is transformed into the fifth modified data storage function.
- the processor 101, the cache memory 102, the main memory 103, the MPU 104, the peripheral circuit 105, the ROM 106, the first interface 107, the second interface 108, and the internal bus 120 are integrated in one integrated circuit 110.
- these circuits are not necessarily integrated into one integrated circuit.
- the processor 101 and the cache memory 102 may be integrated on the first integrated circuit, and the other circuits may be integrated on the second integrated circuit.
- the integrated circuits may be different from each other. It is also possible to have a configuration integrated in (6)
- the configuration of the virtual machine system according to an embodiment of the present invention, modifications thereof, and each effect will be described.
- Each of the plurality of ways stores data read from the main memory specified by an index consisting of a predetermined partial bit string at an address specifying the storage area of the main memory.
- a plurality of line storage areas, and the data storage unit stores the storage when the processor designates an address from the main memory to read data and is designated by an index constituting the address.
- the cache memory newly stores one of the line storage areas specified by the same index for each of the line storage areas.
- a new storage priority is stored to indicate the priority for enabling.
- Each of the plurality of ways stores data read from the main memory specified by an index consisting of a predetermined partial bit string at an address specifying a storage area in the main memory.
- a plurality of line storage areas, and the data storage unit stores the storage when the processor designates an address from the main memory to read data and is designated by an index constituting the address.
- the cache memory is designated by an index constituting the address when the processor reads the data by designating an address from the main memory.
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)
Abstract
Description
<概要>
以下、本発明に係る仮想計算機システムの一実施形態として、特権モードであるセキュアモードを有するプロセッサと、セキュア記憶領域を含むメインメモリと、プロセッサがセキュアモードである場合に限って、セキュア記憶領域へのアクセスを許可するMPUと、プロセッサが利用する4ウェイセットアソシアティブ方式のキャッシュメモリとを備える仮想計算機システムについて説明する。
図1は、仮想計算機システム100の主要なハードウエア構成を示すブロック図である。
ここでは、仮想計算機システム100の行う動作のうち、特徴的な動作である格納処理について説明する。
格納処理は、キャッシュメモリ102が、内蔵する第0ウェイ310~第3ウェイ313のいずれかに、プロセッサ101が利用するデータを新たに格納する処理である。
一般に、キャッシュメモリを有する仮想計算機システムにおいて、キャッシュメモリに保持されているデータのうち、スリープ状態である通常OSがプロセッサによって実行制御されていた際にメインメモリから読み出されたデータは、しばらくの間(そのOSがスリープ状態である期間)、プロセッサによって利用される可能性が低くなることが知られている。
<実施の形態2>
<概要>
以下、本発明に係る仮想計算機システムの一実施形態として、実施の形態1における仮想計算機システム100の一部を変形した第1変形仮想計算機システムについて説明する。
第1変形仮想計算機システムのハードウエア構成は、実施の形態1に係る仮想計算機システム100のハードウエア構成と同一のものである。よって、ここではその説明を省略する。
ここでは、第1変形仮想計算機システムの行う動作のうち、特徴的な動作である第1変形データ格納処理とスリープ命令発行時処理とについて説明する。
第1変形データ格納処理は、キャッシュメモリ102が、内蔵する第0ウェイ310~第3ウェイ313のいずれかに、プロセッサ101が利用するデータを新たに格納する処理である。
スリープ命令発行時処理は、キャッシュメモリ102が行う処理であって、プロセッサ101がセキュアOSをスリープ状態とするスリープ命令を発行した場合に、セキュアビットの論理値が“1”となるライン記憶領域の全てを開放する処理である。
上記構成の第1変形仮想計算機システムは、プロセッサ101がセキュアOSをスリープ状態とするスリープ命令を発行した場合に、キャッシュメモリ102が、セキュアビットの論理値が“1”となるライン記憶領域の全てを一気に開放することとなる。
<実施の形態3>
<概要>
以下、本発明に係る仮想計算機システムの一実施形態として、実施の形態2における第1仮想計算機システムの一部を変形した第2変形仮想計算機システムについて説明する。
第2変形仮想計算機システムのハードウエア構成は、実施の形態2に係る第1変形仮想計算機システムのハードウエア構成と同一のものである。よって、ここではその説明を省略する。
ここでは、第2変形仮想計算機システムの行う動作のうち、実施の形態2に係る第1変形仮想計算機システムの行うスリープ命令発行時処理から一部の処理が変形された第1変形スリープ命令発行時処理について説明する。
第1変形スリープ命令発行時処理は、キャッシュメモリ102が行う処理であって、プロセッサ101がセキュアOSをスリープ状態とするスリープ命令を発行した場合に、セキュアビットの論理値が“1”となり、かつ、カウンタ値が、そのスリープ命令に対応する電力削減レベル情報(EV)の値以上となるライン記憶領域の全てを開放する処理である。
上記構成の第2変形仮想計算機システムは、実施の形態2に係る第2変形仮想計算機システムと比べて、スリープ命令の命令種に応じて、開放するライン記憶領域の範囲を制御することができるようになる。
<実施の形態4>
<概要>
以下、本発明に係る仮想計算機システムの一実施形態として、実施の形態2における第1変形仮想計算機システムの一部を変形した第3変形仮想計算機システムについて説明する。
第3変形仮想計算機システムのハードウエア構成は、実施の形態2に係る第1変形仮想計算機システムのハードウエア構成と同一のものである。よって、ここではその説明を省略する。
ここでは、第3変形仮想計算機システムの行う動作のうち、実施の形態2に係る第1変形仮想計算機システムの行うスリープ命令発行時処理から一部の処理が変形された第2変形スリープ命令発行時処理について説明する。
第2変形スリープ命令発行時処理は、キャッシュメモリ102が行う処理であって、プロセッサ101がセキュアOSをスリープ状態とするスリープ命令を発行した場合に、セキュアビットの論理値が“1”となるライン記憶領域の全てについて、同一インデックスで指定されるウェイのカウンタ値のそれぞれを、セキュアビットの論理値が“1”となるライン記憶領域のカウンタ値の方が、セキュアビットの論理値が“0”となるライン記憶領域のカウンタ値よりも小さくなるように更新する処理である。
上記構成の第3変形仮想計算機システムは、プロセッサ101がセキュアOSをスリープ状態とするスリープ命令を発行した場合に、キャッシュメモリ102が、セキュアビットの論理値が“1”となるライン記憶領域の全てについて、同一インデックスで指定されるウェイのカウンタ値のそれぞれを、セキュアビットの論理値が“1”となるライン記憶領域のカウンタ値の方が、セキュアビットの論理値が“0”となるライン記憶領域のカウンタ値よりも小さくなるように更新する。このことによって、セキュアOSがスリープ状態となる期間において、通常OS実行制御時におけるセキュア領域への書き戻しの発生頻度が、従来よりも低減される可能性が高くなる。
<実施の形態5>
<概要>
以下、本発明に係る仮想計算機システムの一実施形態として、実施の形態1における仮想計算機システム100の一部を変形した第4変形仮想計算機システムについて説明する。
第4変形仮想計算機システムのハードウエア構成は、実施の形態1に係る仮想計算機システム100のハードウエア構成と同一のものである。よって、ここではその説明を省略する。
ここでは、第4変形仮想計算機システムの行う動作のうち、特徴的な動作である第2変形データ格納処理について説明する。
第2変形データ格納処理は、キャッシュメモリ102が、内蔵する第0ウェイ310~第3ウェイ313のいずれかに、プロセッサ101が利用するデータを新たに格納する処理である。
上記構成の第4変形仮想計算機システムは、キャッシュメモリ102が、プロセッサ101が利用するデータを新たに記憶する場合において、メインメモリ103への書き戻しが発生するときに、書き戻し対象とするウェイの選択を、セキュアエリア以外から読み出されたデータが格納されているウェイの方が、セキュアエリアから読み出されたデータが格納されているウェイよりも優先されるように行う。
<実施の形態6>
<概要>
以下、本発明に係る仮想計算機システムの一実施形態として、実施の形態1における仮想計算機システム100の一部を変形した第5変形仮想計算機システムについて説明する。
第5変形仮想計算機システムのハードウエア構成は、実施の形態1に係る仮想計算機システム100のハードウエア構成と同一のものである。よって、ここではその説明を省略する。
ここでは、第5変形仮想計算機システムの行う動作のうち、実施の形態1に係る仮想計算機システム100の行う格納処理から一部の処理が変形された第3変形データ格納処理について説明する。
第3変形データ格納処理は、キャッシュメモリ102が、内蔵する第0ウェイ310~第3ウェイ313のいずれかに、プロセッサ101が利用するデータを新たに格納する処理である。
上記構成の第5変形仮想計算機システムは、キャッシュメモリ102が、格納するデータがセキュア記憶領域から読み出されたか否かを区別して、セキュア記憶領域以外の記憶領域から読み出されたデータを第0ウェイ310と第1ウェイ311とのいずれかに格納し、セキュア記憶領域から読み出されたデータを第2ウェイ312と第3ウェイ313とのいずれかに格納する。このことによって、通常OS実行制御時におけるセキュア領域への書き戻しは、発生することがない。
<補足>
以上、本発明に係る仮想計算機システムの一実施形態として、実施の形態1~実施の形態6において、6つの仮想計算機システムの例について説明したが、以下のように変形することも可能であり、本発明は上述した実施の形態で示した通りの仮想計算機システムに限られないことはもちろんである。
(1)実施の形態1において、仮想計算機システム100が1つのプロセッサを備える構成の例について説明したが、仮想計算機システムとして成立することができれば、必ずしもプロセッサの数は1つに限られる必要はなく、例えば、2つ、3つといった複数個であっても構わない。プロセッサの数が複数個の場合には、一例として、複数のプロセッサが1つのキャッシュメモリを共用する構成の例が考えられる。また、別の一例として、プロセッサの数だけキャッシュメモリが存在し、それぞれのプロセッサが1つのキャッシュメモリを専有して利用する構成の例等も考えられる。
(2)実施の形態1において、キャッシュメモリ102が4ウェイセットアソシアティブ方式である構成の例について説明したが、セットアソシアティブ方式のキャッシュメモリであれば、必ずしも4つのウェイを備える構成に限られる必要はなく、例えば、8つのウェイを備える構成、2つのウェイを備える構成といった構成であっても構わない。
(3)実施の形態1において、プロセッサ101が通常特権モードとセキュアモードとハイパバイザモードとの3つの特権モードを有し、通常OSが通常特権モードで実行され、セキュアOSがセキュアモードで実行され、ハイパバイザがハイパバイザモードで実行される構成の例について説明した。しかしながら、通常OSが実行される特権モードよりも上位の特権モードでセキュアOSが実行される構成であれば、プロセッサ101の有する特権モードの数が3つである構成に限られる必要はない。一例として、プロセッサが下位特権モードと上位特権モードとの2つの特権モードを有し、通常OSが下位特権モードで実行され、セキュアOSとハイパバイザとが上位特権モードで実行される構成の例が考えられる。また、別の一例として、プロセッサが4つの特権モードを有する構成の例等が考えられる。
(4)実施の形態1において、第0参照時刻計算部700~第3参照時刻計算部730のそれぞれが開放テーブルを記憶する開放テーブル記憶部を有する構成の例について説明した。しかしながら、第0参照時刻計算部700~第3参照時刻計算部730のそれぞれが開放テーブルを参照することができる構成であれば、必ずしも第0参照時刻計算部700~第3参照時刻計算部730のそれぞれが開放テーブル記憶部を有する必要はない。一例として、第0参照時刻計算部700~第3参照時刻計算部730のそれぞれが開放テーブル記憶部を備えずに、置換対象選択部610が1つの開放テーブル記憶部を備え、第0参照時刻計算部700~第3参照時刻計算部730のそれぞれが、置換対象選択部610に備えられている開放テーブル記憶部に記憶されている開放テーブルを参照するという構成の例が考えられる。
(5)実施の形態1において、プロセッサ101とキャッシュメモリ102とメインメモリ103とMPU104と周辺回路105とROM106と第1インターフェース107と第2インターフェース108と内部バス120とが1つの集積回路110に集積されている場合の例について説明したが、これらの回路が必ずしも1つの集積回路に集積されている必要はない。例えば、プロセッサ101とキャッシュメモリ102とが第1の集積回路に集積され、その他の回路が第2の集積回路に集積される構成されていても構わないし、例えば、各回路がそれぞれ互いに異なる集積回路に集積される構成であっても構わない。
(6)以下、さらに本発明の一実施形態に係る仮想計算機システムの構成及びその変形例と各効果について説明する。
110 集積回路
101 プロセッサ
102 キャッシュメモリ
103 メインメモリ
104 MPU
105 周辺回路
106 ROM
107 第1インターフェース
108 第2インターフェース
130 入力回路
140 出力回路
610 置換対象選択部
620 ライトバック部
630 格納部
Claims (12)
- 第1モードと第2モードとを有するプロセッサと、当該プロセッサによって当該第1モードで実行される第1オペレーティングシステムと、当該プロセッサによって当該第2モードで実行される第2オペレーティングシステムとから構成される仮想計算機システムであって、
前記プロセッサが前記第1モードであるときに限って、外部のメインメモリにおける所定のセキュア記憶領域への書き込みを許可する書込制御部と、
前記プロセッサによって前記メインメモリから読み出されたデータを格納する複数のウェイを有するキャッシュメモリとを備え、
前記キャッシュメモリは、
前記プロセッサが前記メインメモリからデータを読み出す際に、前記セキュア記憶領域からデータが読み出されたか否かを識別可能に、当該データを、前記複数のウェイのうちの新規格納可能状態であるウェイのいずれかに格納するデータ格納部と、
前記第2オペレーティングシステムを実行する前記プロセッサが前記メインメモリにアクセスする際に発生する、前記複数のウェイのうちの少なくとも1つを新規格納可能状態とするための前記セキュア記憶領域へのデータの書き戻しについて、断続的に実行される回数が抑制されるように、前記セキュア記憶領域からデータが読み出されたか否かを識別して、識別結果を用いた所定アルゴリズムで、前記複数のウェイに格納されているデータの前記メインメモリへの書き戻しを行う書戻部とを有する
ことを特徴とする仮想計算機システム。 - 前記キャッシュメモリは、格納するデータについて、前記セキュア記憶領域から読み出されたデータであることを示すセキュア識別情報を格納するためのセキュア識別情報格納領域を有し、
前記データ格納部は、前記プロセッサによって前記メインメモリから読み出されたデータを前記複数のウェイのいずれかに格納する場合において、当該データが前記セキュア記憶領域から読み出されたものであるときに限って、前記セキュア識別情報を当該データに対応付けて前記セキュア識別情報格納領域に格納することで前記識別を可能とする
ことを特徴とする請求項1記載の仮想計算機システム。 - 前記複数のウェイのそれぞれは、前記メインメモリの記憶領域を指定するアドレスにおける所定の一部のビット列からなるインデックスによって指定される、前記メインメモリから読み出されたデータを格納するためのライン格納領域を複数含み、
前記データ格納部は、前記格納を、前記プロセッサが前記メインメモリからアドレスを指定してデータを読み出す際に、当該アドレスを構成するインデックスによって指定されるライン格納領域のうち、新規格納可能状態であるウェイのライン格納領域に対して行い、
前記キャッシュメモリは、
前記ライン格納領域のそれぞれについての、格納するデータが前記メインメモリとの間でコヒーレンシが保たれていないことを示すダーティ情報を格納するためのダーティ情報格納領域と、
前記ライン格納領域のそれぞれについて、格納するデータが前記メインメモリとの間でコヒーレンシが保たれていない場合に限って、前記ダーティ情報格納領域に前記ダーティ情報が格納されるように、前記ダーティ情報格納領域への前記ダーティ情報の格納を制御するダーティ情報格納制御部とを有し、
前記所定アルゴリズムは、前記第1オペレーティングシステムを実行するプロセッサによって電力削減命令が発行された場合に、前記ダーティ情報格納領域に前記ダーティ情報が格納されているライン格納領域のうちの、前記セキュア識別情報格納領域に前記セキュア識別情報が格納されているライン格納領域の全てについて、格納されているデータを連続して前記セキュア記憶領域へ書き戻すアルゴリズムである
ことを特徴とする請求項2記載の仮想計算機システム。 - 電力削減命令のそれぞれは、複数の電力削減レベルのうちのいずれかに属し、
前記キャッシュメモリは、前記ライン格納領域のそれぞれについての、同一インデックスで指定されるライン記憶領域のうちのいずれかを新規格納可能状態とするための優先度を示す新規格納優先度を格納する新規格納優先度格納領域を有し、
前記書戻部は、前記書き戻しを、発行された電力削減命令の属する電力削減レベルによって定められる所定の優先度以上の新規格納優先度が前記新規格納優先度格納領域に格納されているライン格納領域に限って行う
ことを特徴とする請求項3記載の仮想計算機システム。 - 前記複数のウェイのそれぞれは、前記メインメモリの記憶領域を指定するアドレスにおける所定の一部のビット列からなるインデックスによって指定される、前記メインメモリから読み出されたデータを格納するためのライン格納領域を複数含み、
前記データ格納部は、前記格納を、前記プロセッサが前記メインメモリからアドレスを指定してデータを読み出す際に、当該アドレスを構成するインデックスによって指定されるライン格納領域のうち、新規格納可能状態であるウェイのライン格納領域に対して行い、
前記キャッシュメモリは、
前記ライン格納領域のそれぞれについての、同一インデックスで指定されるライン記憶領域のうちのいずれかを新規格納可能状態とするための優先度を示す新規格納優先度を格納する新規格納優先度格納領域と、
前記データ格納部によって、いずれかのライン格納領域にデータが格納される際に、当該ライン格納領域を指定するインデックスによって指定される各ライン格納領域について、前記セキュア識別情報格納領域にセキュア識別情報が格納されているライン格納領域についての新規格納優先度の方が、前記セキュア識別情報格納領域にセキュア識別情報が格納されていないライン格納領域についての新規格納優先度よりも低くなるように、前記新規格納優先度格納領域に格納されている新規格納優先度を更新する新規格納優先度更新部とを有し、
前記所定アルゴリズムは、前記新規格納優先度格納領域に格納されている新規格納優先度を参照して、同一のインデックスによって指定されるライン格納領域のうち、最も高い新規格納優先度となるライン格納領域に格納されているデータについて書き戻すアルゴリズムである
ことを特徴とする請求項2記載の仮想計算機システム。 - 前記複数のウェイのそれぞれは、前記メインメモリの記憶領域を指定するアドレスにおける所定の一部のビット列からなるインデックスによって指定される、前記メインメモリから読み出されたデータを格納するためのライン格納領域を複数含み、
前記データ格納部は、前記格納を、前記プロセッサが前記メインメモリからアドレスを指定してデータを読み出す際に、当該アドレスを構成するインデックスによって指定されるライン格納領域のうち、新規格納可能状態であるウェイのライン格納領域に対して行い、
前記キャッシュメモリは、
前記ライン格納領域のそれぞれについての、同一インデックスで指定されるライン記憶領域のうちのいずれかを新規格納可能状態とするための優先度を示す新規格納優先度を格納する新規格納優先度格納領域と、
前記第1オペレーティングシステムを実行するプロセッサによって電力削減命令が発行された場合に、前記セキュア識別情報格納領域にセキュア識別情報が格納されているライン格納領域についての新規格納優先度の方が、前記セキュア識別情報格納領域にセキュア識別情報が格納されていないライン格納領域についての新規格納優先度よりも低くなるように、前記新規格納優先度格納領域に格納されている新規格納優先度を更新する新規格納優先度更新部とを有し、
前記所定アルゴリズムは、前記新規格納優先度格納領域に格納されている新規格納優先度を参照して、同一のインデックスによって指定されるライン格納領域のうち、最も高い新規格納優先度のライン格納領域に格納されているデータについて書き戻すアルゴリズムである
ことを特徴とする請求項2記載の仮想計算機システム。 - 前記複数のウェイのそれぞれは、前記メインメモリにおける記憶領域を指定するアドレスにおける所定の一部のビット列からなるインデックスによって指定される、前記メインメモリから読み出されたデータを格納するためのライン格納領域を複数含み、
前記データ格納部は、前記格納を、前記プロセッサが前記メインメモリからアドレスを指定してデータを読み出す際に、当該アドレスを構成するインデックスによって指定されるライン格納領域のうち、新規格納可能状態であるウェイのライン格納領域に対して行い、
前記キャッシュメモリは、
前記プロセッサが前記メインメモリからアドレスを指定してデータを読み出す際に、当該アドレスを構成するインデックスによって指定されるライン格納領域についての、同一インデックスで指定されるライン記憶領域のうちのいずれかを新規格納可能状態とするための優先度を示す新規格納優先度を格納するための新規格納優先度格納領域と、
前記第2オペレーティングシステムの実行制御状態がスリープ状態である場合において、前記プロセッサが前記メインメモリからアドレスを指定してデータを読み出す際に、当該アドレスを構成するインデックスによって指定されるライン格納領域のそれぞれについて、前記第2オペレーティングシステムを実行するプロセッサによって読み出されたデータが格納されているライン格納領域についての新規格納優先度の方が、前記第1オペレーティングシステムを実行するプロセッサによって読み出されたデータが格納されているライン格納領域についての新規格納優先度よりも低くなるように新規格納優先度を生成して前記新規格納優先度格納領域に格納する新規格納優先度格納部とを有し、
前記所定アルゴリズムは、前記新規格納優先度格納領域に格納されている新規格納優先度を参照して、前記プロセッサが前記メインメモリからアドレスを指定してデータを読み出す際に、当該アドレスを構成するインデックスによって指定されるライン格納領域のうち、最も高い新規格納優先度となるライン格納領域に格納されているデータについて書き戻すアルゴリズムである
ことを特徴とする請求項2記載の仮想計算機システム。 - 前記複数のウェイは、第1ウェイと第2ウェイとを含み、
前記データ格納部は、前記セキュア記憶領域から読み出されたデータに限って前記第1ウェイに格納し、前記セキュア記憶領域以外の記憶領域から読み出されたデータに限って前記第2ウェイに格納することで前記識別を可能とし、
前記所定アルゴリズムは、前記セキュア記憶領域以外の記憶領域から読み出されたデータを格納する場合において、前記メインメモリへの書き戻しが発生するとき、前記第2ウェイを前記メインメモリへの書き戻しの対象ウェイとするアルゴリズムである
ことを特徴とする請求項1記載の仮想計算機システム。 - 第1モードと第2モードとを有するプロセッサと、当該プロセッサによって当該第1モードで実行される第1オペレーティングシステムと、当該プロセッサによって当該第2モードで実行される第2オペレーティングシステムと、前記プロセッサが前記第1モードであるときに限って、外部のメインメモリにおける所定のセキュア記憶領域への書き込みを許可する書込制御部と、前記プロセッサによって前記メインメモリから読み出されたデータを格納する複数のウェイを有するキャッシュメモリとから構成される仮想計算機システムを制御する仮想計算機制御方法であって、
前記キャッシュメモリが、前記プロセッサが前記メインメモリからデータを読み出す際に、前記セキュア記憶領域からデータが読み出されたか否かを識別可能に、当該データを、前記複数のウェイのうちの新規格納可能状態であるウェイのいずれかに格納するデータ格納ステップと、
前記キャッシュメモリが、前記第2オペレーティングシステムを実行する前記プロセッサが前記メインメモリにアクセスする際に発生する、前記複数のウェイのうちの少なくとも1つを新規格納可能状態とするための前記セキュア記憶領域へのデータの書き戻しについて、断続的に実行される回数が抑制されるように、前記セキュア記憶領域からデータが読み出されたか否かを識別して、識別結果を用いた所定アルゴリズムで、前記複数のウェイに格納されているデータの前記メインメモリへの書き戻しを行う書戻ステップとを含む
ことを特徴とする仮想計算機制御方法。 - 第1モードと第2モードとを有するプロセッサと、当該プロセッサによって当該第1モードで実行される第1オペレーティングシステムと、当該プロセッサによって当該第2モードで実行される第2オペレーティングシステムと、前記プロセッサが前記第1モードであるときに限って、外部のメインメモリにおける所定のセキュア記憶領域への書き込みを許可する書込制御部と、前記プロセッサによって前記メインメモリから読み出されたデータを格納する複数のウェイを有するキャッシュメモリとから構成される仮想計算機システムに、自システムを制御する仮想計算機制御処理を実行させるための仮想計算機制御プログラムであって、
前記仮想計算機制御処理は、
前記キャッシュメモリが、前記プロセッサが前記メインメモリからデータを読み出す際に、前記セキュア記憶領域からデータが読み出されたか否かを識別可能に、当該データを、前記複数のウェイのうちの新規格納可能状態であるウェイのいずれかに格納するデータ格納ステップと、
前記キャッシュメモリが、前記第2オペレーティングシステムを実行する前記プロセッサが前記メインメモリにアクセスする際に発生する、前記複数のウェイのうちの少なくとも1つを新規格納可能状態とするための前記セキュア記憶領域へのデータの書き戻しについて、断続的に実行される回数が抑制されるように、前記セキュア記憶領域からデータが読み出されたか否かを識別して、識別結果を用いた所定アルゴリズムで、前記複数のウェイに格納されているデータの前記メインメモリへの書き戻しを行う書戻ステップとを含む
ことを特徴とする仮想計算機制御プログラム。 - 第1モードと第2モードとを有するプロセッサと、当該プロセッサによって当該第1モードで実行される第1オペレーティングシステムと、当該プロセッサによって当該第2モードで実行される第2オペレーティングシステムと、前記プロセッサが前記第1モードであるときに限って、外部のメインメモリにおける所定のセキュア記憶領域への書き込みを許可する書込制御部と、前記プロセッサによって前記メインメモリから読み出されたデータを格納する複数のウェイを有するキャッシュメモリとから構成される仮想計算機システムに、自システムを制御する仮想計算機制御処理を実行させるための仮想計算機制御プログラムを記録する記録媒体であって、
前記仮想計算機制御処理は、
前記キャッシュメモリが、前記プロセッサが前記メインメモリからデータを読み出す際に、前記セキュア記憶領域からデータが読み出されたか否かを識別可能に、当該データを、前記複数のウェイのうちの新規格納可能状態であるウェイのいずれかに格納するデータ格納ステップと、
前記キャッシュメモリが、前記第2オペレーティングシステムを実行する前記プロセッサが前記メインメモリにアクセスする際に発生する、前記複数のウェイのうちの少なくとも1つを新規格納可能状態とするための前記セキュア記憶領域へのデータの書き戻しについて、断続的に実行される回数が抑制されるように、前記セキュア記憶領域からデータが読み出されたか否かを識別して、識別結果を用いた所定アルゴリズムで、前記複数のウェイに格納されているデータの前記メインメモリへの書き戻しを行う書戻ステップとを含む
ことを特徴とする記録媒体。 - 第1モードと第2モードとを有するプロセッサと、当該プロセッサによって当該第1モードで実行される第1オペレーティングシステムと、当該プロセッサによって当該第2モードで実行される第2オペレーティングシステムとから構成される集積回路であって、
前記プロセッサが前記第1モードであるときに限って、外部のメインメモリにおける所定のセキュア記憶領域への書き込みを許可する書込制御部と、
前記プロセッサによって前記メインメモリから読み出されたデータを格納する複数のウェイを有するキャッシュメモリとを備え、
前記キャッシュメモリは、
前記プロセッサが前記メインメモリからデータを読み出す際に、前記セキュア記憶領域からデータが読み出されたか否かを識別可能に、当該データを、前記複数のウェイのうちの新規格納可能状態であるウェイのいずれかに格納するデータ格納部と、
前記第2オペレーティングシステムを実行する前記プロセッサが前記メインメモリにアクセスする際に発生する、前記複数のウェイのうちの少なくとも1つを新規格納可能状態とするための前記セキュア記憶領域へのデータの書き戻しについて、断続的に実行される回数が抑制されるように、前記セキュア記憶領域からデータが読み出されたか否かを識別して、識別結果を用いた所定アルゴリズムで、前記複数のウェイに格納されているデータの前記メインメモリへの書き戻しを行う書戻部とを有する
ことを特徴とする集積回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012554667A JPWO2012102002A1 (ja) | 2011-01-24 | 2012-01-23 | 仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、記録媒体、及び集積回路 |
US13/819,466 US9218287B2 (en) | 2011-01-24 | 2012-01-23 | Virtual computer system, virtual computer control method, virtual computer control program, recording medium, and integrated circuit |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011011649 | 2011-01-24 | ||
JP2011-011649 | 2011-01-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012102002A1 true WO2012102002A1 (ja) | 2012-08-02 |
Family
ID=46580578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/000379 WO2012102002A1 (ja) | 2011-01-24 | 2012-01-23 | 仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、記録媒体、及び集積回路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9218287B2 (ja) |
JP (1) | JPWO2012102002A1 (ja) |
WO (1) | WO2012102002A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019164647A (ja) * | 2018-03-20 | 2019-09-26 | 株式会社東芝 | 情報処理装置、情報処理方法、およびプログラム |
JP2020135555A (ja) * | 2019-02-21 | 2020-08-31 | Necソリューションイノベータ株式会社 | 処理実行方法 |
US11294821B1 (en) | 2020-09-11 | 2022-04-05 | Kabushiki Kaisha Toshiba | Write-back cache device |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8914466B2 (en) * | 2011-07-07 | 2014-12-16 | International Business Machines Corporation | Multi-level adaptive caching within asset-based web systems |
JP6117068B2 (ja) * | 2013-09-20 | 2017-04-19 | 株式会社東芝 | 情報処理装置、およびプログラム |
JP6129702B2 (ja) * | 2013-09-24 | 2017-05-17 | 株式会社東芝 | 情報処理装置、情報処理システム、プログラム |
KR101502827B1 (ko) * | 2014-03-20 | 2015-03-17 | 주식회사 에이디칩스 | 컴퓨터 시스템에서의 캐시 무효화 방법 |
US11106588B2 (en) * | 2017-11-28 | 2021-08-31 | International Business Machines Corporation | Deferred method of allocating disk space for lightning segments |
US10635831B1 (en) * | 2018-01-06 | 2020-04-28 | Ralph Crittenden Moore | Method to achieve better security using a memory protection unit |
US11429733B2 (en) * | 2018-11-15 | 2022-08-30 | International Business Machines Corporation | Sharing secret data between multiple containers |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09237225A (ja) * | 1996-03-01 | 1997-09-09 | Toshiba Corp | キャッシュ機能を有するコンピュータ及びキャッシュメモリ制御方法 |
JP2004145780A (ja) * | 2002-10-28 | 2004-05-20 | Mitsubishi Electric Corp | マルチプロセッサ・キャッシュ装置 |
JP2009020555A (ja) * | 2007-07-10 | 2009-01-29 | Panasonic Corp | スワップ処理装置 |
WO2009075070A1 (ja) * | 2007-12-10 | 2009-06-18 | Panasonic Corporation | 共有キャッシュ制御装置、共有キャッシュ制御方法及び集積回路 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4775955A (en) | 1985-10-30 | 1988-10-04 | International Business Machines Corporation | Cache coherence mechanism based on locking |
DE3650021T2 (de) | 1985-10-30 | 1995-03-09 | Ibm | Cache-Speicherübereinstimmungsvorrichtung mit Verriegelung. |
JPH07105091A (ja) | 1993-10-01 | 1995-04-21 | Hitachi Ltd | キャッシュの制御装置および制御方法 |
US7941647B2 (en) * | 1999-01-28 | 2011-05-10 | Ati Technologies Ulc | Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination |
JP4072271B2 (ja) | 1999-02-19 | 2008-04-09 | 株式会社日立製作所 | 複数のオペレーティングシステムを実行する計算機 |
JP2001282560A (ja) | 2000-03-31 | 2001-10-12 | Hitachi Ltd | 仮想計算機制御方法及びその実施装置並びにその処理プログラムを記録した記録媒体 |
US7558723B2 (en) * | 2003-12-12 | 2009-07-07 | Microsoft Corporation | Systems and methods for bimodal device virtualization of actual and idealized hardware-based devices |
CN101438290B (zh) * | 2006-05-01 | 2011-10-05 | 联发科技股份有限公司 | 用于包括处理器和缓存虚拟存储器的系统中的安全语境切换的方法和装置 |
CN101689106B (zh) * | 2007-06-12 | 2013-10-09 | 松下电器产业株式会社 | 多处理器控制装置、多处理器控制方法以及多处理器控制电路 |
US8347380B1 (en) * | 2008-06-30 | 2013-01-01 | Symantec Corporation | Protecting users from accidentally disclosing personal information in an insecure environment |
US9135024B2 (en) * | 2008-11-30 | 2015-09-15 | Red Hat Israel, Ltd. | Playing multimedia content at remote graphics display client |
-
2012
- 2012-01-23 WO PCT/JP2012/000379 patent/WO2012102002A1/ja active Application Filing
- 2012-01-23 JP JP2012554667A patent/JPWO2012102002A1/ja not_active Ceased
- 2012-01-23 US US13/819,466 patent/US9218287B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09237225A (ja) * | 1996-03-01 | 1997-09-09 | Toshiba Corp | キャッシュ機能を有するコンピュータ及びキャッシュメモリ制御方法 |
JP2004145780A (ja) * | 2002-10-28 | 2004-05-20 | Mitsubishi Electric Corp | マルチプロセッサ・キャッシュ装置 |
JP2009020555A (ja) * | 2007-07-10 | 2009-01-29 | Panasonic Corp | スワップ処理装置 |
WO2009075070A1 (ja) * | 2007-12-10 | 2009-06-18 | Panasonic Corporation | 共有キャッシュ制御装置、共有キャッシュ制御方法及び集積回路 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019164647A (ja) * | 2018-03-20 | 2019-09-26 | 株式会社東芝 | 情報処理装置、情報処理方法、およびプログラム |
JP2020135555A (ja) * | 2019-02-21 | 2020-08-31 | Necソリューションイノベータ株式会社 | 処理実行方法 |
US11294821B1 (en) | 2020-09-11 | 2022-04-05 | Kabushiki Kaisha Toshiba | Write-back cache device |
Also Published As
Publication number | Publication date |
---|---|
JPWO2012102002A1 (ja) | 2014-06-30 |
US20130166848A1 (en) | 2013-06-27 |
US9218287B2 (en) | 2015-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2012102002A1 (ja) | 仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、記録媒体、及び集積回路 | |
US8898666B2 (en) | Virtual machine system and virtual machine system control method for controlling program execution on a plurality of processors that have a plurality of privileged modes | |
US8850168B2 (en) | Processor apparatus and multithread processor apparatus | |
US8683175B2 (en) | Seamless interface for multi-threaded core accelerators | |
JP5100176B2 (ja) | マルチプロセッサシステム | |
JP5204656B2 (ja) | スレッド間同期通信のための装置、システム、および、その方法 | |
JP2013519934A (ja) | ハードウェアモードおよびセキュリティフラグに基づく、読み出される命令用のメモリエリアの制限 | |
US10261796B2 (en) | Processor and method for executing in-memory copy instructions indicating on-chip or off-chip memory | |
JP2007242003A (ja) | メモリ属性を用いるための技術 | |
EP3619615B1 (en) | An apparatus and method for managing capability metadata | |
JP5226010B2 (ja) | 共有キャッシュ制御装置、共有キャッシュ制御方法及び集積回路 | |
US20090094439A1 (en) | Data processing apparatus and method employing multiple register sets | |
JP2020521222A (ja) | 機能に関連付けられるパーミッションを解釈するための装置及び方法 | |
JP2008083947A (ja) | 情報処理装置、記憶領域制御方法及びプログラム | |
JP5289688B2 (ja) | プロセッサシステム及びプロセッサシステムを動作させるオペレーティングシステムプログラムの処理方法 | |
TWI722022B (zh) | 用於處理資料的設備、方法及電腦程式 | |
JP7070384B2 (ja) | 演算処理装置、メモリ装置、及び演算処理装置の制御方法 | |
JP2017219931A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JPS62197842A (ja) | キヤツシユメモリ制御方式 | |
US11907138B2 (en) | Multimedia compressed frame aware cache replacement policy | |
JP6477352B2 (ja) | 演算処理装置、演算処理装置の制御方法および演算処理装置の制御プログラム | |
JP4068828B2 (ja) | 統合型分離型切替えキャッシュメモリ及び該キャッシュメモリを備えたプロセッサシステム | |
US20230161618A1 (en) | Hierarchical asymmetric core attribute detection | |
JP2000293437A (ja) | キャッシュメモリ装置及びキャッシュメモリ制御方法 | |
JP5993687B2 (ja) | ワンチッププロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12739414 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2012554667 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13819466 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12739414 Country of ref document: EP Kind code of ref document: A1 |