JP2019200450A - 演算処理装置および演算処理装置の制御方法 - Google Patents
演算処理装置および演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP2019200450A JP2019200450A JP2018092827A JP2018092827A JP2019200450A JP 2019200450 A JP2019200450 A JP 2019200450A JP 2018092827 A JP2018092827 A JP 2018092827A JP 2018092827 A JP2018092827 A JP 2018092827A JP 2019200450 A JP2019200450 A JP 2019200450A
- Authority
- JP
- Japan
- Prior art keywords
- address
- virtual
- authority
- memory
- 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
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/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
-
- 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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- 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/10—Address translation
-
- 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/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
最初に比較例について説明し、その後、実施の形態について説明する。
ここでは、書き込み権限の無いメモリ領域に対するアクセスの例を説明する。
(6)権限チェック部61は、メモリ2の受信した物理アドレスに対する読み出しを行うとともに、受信した権限属性、受信した実アドレス、および受信した物理アドレスをTLB32に出力する。TLB32は、変換要求受付部31が受信した仮想アドレス、権限チェック部61から受信した権限属性、実アドレス、および物理アドレスを対応付けて記憶する。
図1Bは、比較例の2回目の読み出しアクセスを示す図である。
ステップS51において、CPU1で実行されている仮想マシンで実行されているプロセスが当該プロセスに割り当てられたメモリ領域(仮想アドレス空間)へのメモリアクセス命令(リード命令またはライト命令)を発行する。IU11は、プロセスからのメモリアクセス命令に従って変換要求をMMU21に出力する。変換要求は、メモリアクセス命令(リード命令またはライト命令)、およびメモリアクセス命令の対象のプロセスに割り当てられたメモリ領域のアドレスである仮想アドレスを含む。
CPU101は、IU111およびMMU121を含む。CPU101は、バスを介してメモリ201と接続されている。メモリ201は、仮想メモリと区別するため物理メモリと表記する場合がある。CPU101は、演算処理装置(プロセッサ)の一例である。CPU101およびメモリ201は、例えば、サーバやパーソナルコンピュータなどの情報処理装置(コンピュータ)に搭載されている。CPU101は、仮想マシン、当該仮想マシン上で動指するゲストOS、および仮想マシンを管理するハイパーバイザ等のプログラムを実行する。仮想マシンには、メモリ201の少なくとも一部の領域が仮想メモリとして割り当てられている。仮想マシンからは、割り当てられた仮想メモリは、物理メモリとして見え、当該仮想メモリの物理アドレスに相当するアドレスを実アドレス(仮想物理アドレス)と呼ぶ。また、仮想マシン上では、複数のプロセスが動作しており、各プロセスには、当該プロセスが利用するメモリ領域(仮想アドレス空間)が割り当てられている。プロセスが利用するメモリ領域(仮想アドレス空間)のアドレスを仮想アドレスと呼ぶ。
変換要求受付部131は、TLB132を含む。
先ず、最初の読み出しアクセスの処理について説明する。ここでは、書き込み権限の無いメモリ領域に対するアクセスの例を説明する。
図4Bは、実施の形態の2回目の読み出しアクセスを示す図である。
ステップS501において、CPU101で実行されている仮想マシンで実行されているプロセスが当該プロセスに割り当てられたメモリ領域(仮想アドレス空間)へのメモリアクセス命令(リード命令またはライト命令)を発行する。IU111は、プロセスからのメモリアクセス命令に従って変換要求をMMU121に出力する。変換要求は、メモリアクセス命令(リード命令またはライト命令)、およびメモリアクセス命令の対象のプロセスに割り当てられたメモリ領域のアドレスである仮想アドレスを含む。
(付記1)
物理メモリの少なくとも一部の領域を仮想メモリとして割り当てられた仮想マシンを実行する演算処理装置であって、
前記仮想マシン上で実行されるプロセスからのメモリアクセス命令および前記メモリアクセス命令のアクセス先の仮想アドレスを出力する命令制御部と、
前記仮想アドレスを前記仮想メモリの実アドレスに変換し、前記実アドレスを前記物理メモリの物理アドレスに変換する変換部と、
前記メモリアクセス命令と前記実アドレスの権限属性から権限違反の有無をチェックする権限チェック部と、
を備え、
前記権限チェック部が権限違反有りと判定したとき、前記変換部は、前記仮想アドレスを前記実アドレスに変換するとともに、前記仮想アドレスおよび前記実アドレスをログ領域に記録する演算処理装置。
(付記2)
前記仮想アドレス、前記実アドレス、前記権限属性、および前記物理アドレスのうち、前記仮想アドレス、前記権限属性、および前記物理アドレスのみを記憶するキャッシュをさらに備える付記1記載の演算処理装置。
(付記3)
前記命令制御部から受信した前記仮想アドレスが前記キャッシュにあるか否か判定する判定部をさらに備え、
前記判定部が前記仮想アドレスが前記キャッシュにないと判定したとき、前記変換部は、前記仮想アドレスを前記実アドレスに変換し、前記実アドレスを前記物理アドレスに変換し、前記キャッシュは、前記仮想アドレス、前記実アドレス、前記権限属性、および前記物理アドレスのうち、前記仮想アドレス、前記権限属性、および前記物理アドレスのみを記憶する付記2記載の演算処理装置。
(付記4)
物理メモリの少なくとも一部の領域を仮想メモリとして割り当てられた仮想マシンを実行する演算処理装置の制御方法であって、
前記演算処理装置の命令制御部が、前記仮想マシン上で実行されるプロセスからのメモリアクセス命令および前記メモリアクセス命令のアクセス先の仮想アドレスを出力し、
前記演算処理装置の権限チェック部が、前記メモリアクセス命令と前記仮想アドレスを変換した前記仮想メモリの実アドレスの権限属性から権限違反の有無をチェックし、
前記権限チェック部が権限違反有りと判定したとき、前記演算処理装置の変換部が、前記仮想アドレスを前記実アドレスに変換するとともに、前記仮想アドレスおよび前記実アドレスをログ領域に記録する
演算処理装置の制御方法。
(付記5)
前記演算処理装置のキャッシュが、前記仮想アドレス、前記実アドレス、前記権限属性、および前記物理アドレスのうち、前記仮想アドレス、前記権限属性、および前記物理アドレスのみを記憶する付記4記載の制御方法。
(付記6)
前記演算処理装置の判定部が、前記命令制御部から受信した前記仮想アドレスが前記キャッシュにあるか否か判定し、
前記判定部が前記仮想アドレスが前記キャッシュにないと判定したとき、前記変換部は、前記仮想アドレスを前記実アドレスに変換し、前記実アドレスを前記物理アドレスに変換し、前記キャッシュは、前記仮想アドレス、前記実アドレス、前記権限属性、および前記物理アドレスのうち、前記仮想アドレス、前記権限属性、および前記物理アドレスのみを記憶する付記5記載の制御方法。
111 IU
121 MMU
131 変換要求受付部
132 TLB
141 仮想アドレス/実アドレス変換部
151 実アドレス/物理アドレス変換部
161 権限チェック部
171 変換失敗ログ領域
201 メモリ
Claims (4)
- 物理メモリの少なくとも一部の領域を仮想メモリとして割り当てられた仮想マシンを実行する演算処理装置であって、
前記仮想マシン上で実行されるプロセスからのメモリアクセス命令および前記メモリアクセス命令のアクセス先の仮想アドレスを出力する命令制御部と、
前記仮想アドレスを前記仮想メモリの実アドレスに変換し、前記実アドレスを前記物理メモリの物理アドレスに変換する変換部と、
前記メモリアクセス命令と前記実アドレスの権限属性から権限違反の有無をチェックする権限チェック部と、
を備え、
前記権限チェック部が権限違反有りと判定したとき、前記変換部は、前記仮想アドレスを前記実アドレスに変換するとともに、前記仮想アドレスおよび前記実アドレスをログ領域に記録する演算処理装置。 - 前記仮想アドレス、前記実アドレス、前記権限属性、および前記物理アドレスのうち、前記仮想アドレス、前記権限属性、および前記物理アドレスのみを記憶するキャッシュをさらに備える請求項1記載の演算処理装置。
- 前記命令制御部から受信した前記仮想アドレスが前記キャッシュにあるか否か判定する判定部をさらに備え、
前記判定部が前記仮想アドレスが前記キャッシュにないと判定したとき、前記変換部は、前記仮想アドレスを前記実アドレスに変換し、前記実アドレスを前記物理アドレスに変換し、前記キャッシュは、前記仮想アドレス、前記実アドレス、前記権限属性、および前記物理アドレスのうち、前記仮想アドレス、前記権限属性、および前記物理アドレスのみを記憶する請求項2記載の演算処理装置。 - 物理メモリの少なくとも一部の領域を仮想メモリとして割り当てられた仮想マシンを実行する演算処理装置の制御方法であって、
前記演算処理装置の命令制御部が、前記仮想マシン上で実行されるプロセスからのメモリアクセス命令および前記メモリアクセス命令のアクセス先の仮想アドレスを出力し、
前記演算処理装置の権限チェック部が、前記メモリアクセス命令と前記仮想アドレスを変換した前記仮想メモリの実アドレスの権限属性から権限違反の有無をチェックし、
前記権限チェック部が権限違反有りと判定したとき、前記演算処理装置の変換部が、前記仮想アドレスを前記実アドレスに変換するとともに、前記仮想アドレスおよび前記実アドレスをログ領域に記録する
演算処理装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018092827A JP7035787B2 (ja) | 2018-05-14 | 2018-05-14 | 演算処理装置および演算処理装置の制御方法 |
US16/391,698 US11010311B2 (en) | 2018-05-14 | 2019-04-23 | Processing device and method for controlling processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018092827A JP7035787B2 (ja) | 2018-05-14 | 2018-05-14 | 演算処理装置および演算処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019200450A true JP2019200450A (ja) | 2019-11-21 |
JP7035787B2 JP7035787B2 (ja) | 2022-03-15 |
Family
ID=68463575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018092827A Active JP7035787B2 (ja) | 2018-05-14 | 2018-05-14 | 演算処理装置および演算処理装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11010311B2 (ja) |
JP (1) | JP7035787B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110989824B (zh) * | 2019-11-15 | 2021-08-10 | 北京浪潮数据技术有限公司 | 一种云平台的能耗管理方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008542878A (ja) * | 2005-05-24 | 2008-11-27 | マラソン テクノロジーズ コーポレイション | 対称型マルチプロセッサ・フォルトトレラントコンピュータシステム |
US20090292899A1 (en) * | 2008-05-21 | 2009-11-26 | Arm Limited | Data processing apparatus and method for handling address translation for access requests issued by processing circuitry |
JP2017526071A (ja) * | 2014-08-18 | 2017-09-07 | ビットディフェンダー アイピーアール マネジメント リミテッド | 仮想マシンを終了する際に現在のプロセッサ命令の結果を公開するためのシステムおよび方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05173884A (ja) | 1991-12-25 | 1993-07-13 | Nec Ibaraki Ltd | アドレス変換処理方式 |
JP2757777B2 (ja) | 1994-05-26 | 1998-05-25 | 住友金属工業株式会社 | メモリの不正アクセス検出方法及びシステム |
US8019964B2 (en) * | 2008-01-11 | 2011-09-13 | International Buisness Machines Corporation | Dynamic address translation with DAT protection |
JP6099458B2 (ja) * | 2013-03-29 | 2017-03-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 特定の仮想マシンに関連するトレース・データを得るためのコンピュータ実装方法、プログラム、トレーサ・ノード |
-
2018
- 2018-05-14 JP JP2018092827A patent/JP7035787B2/ja active Active
-
2019
- 2019-04-23 US US16/391,698 patent/US11010311B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008542878A (ja) * | 2005-05-24 | 2008-11-27 | マラソン テクノロジーズ コーポレイション | 対称型マルチプロセッサ・フォルトトレラントコンピュータシステム |
US20090292899A1 (en) * | 2008-05-21 | 2009-11-26 | Arm Limited | Data processing apparatus and method for handling address translation for access requests issued by processing circuitry |
JP2017526071A (ja) * | 2014-08-18 | 2017-09-07 | ビットディフェンダー アイピーアール マネジメント リミテッド | 仮想マシンを終了する際に現在のプロセッサ命令の結果を公開するためのシステムおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
JP7035787B2 (ja) | 2022-03-15 |
US20190347215A1 (en) | 2019-11-14 |
US11010311B2 (en) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102612155B1 (ko) | 어드레스 변환 요구의 처리 | |
JP5526626B2 (ja) | 演算処理装置およびアドレス変換方法 | |
US9465748B2 (en) | Instruction fetch translation lookaside buffer management to support host and guest O/S translations | |
US10083126B2 (en) | Apparatus and method for avoiding conflicting entries in a storage structure | |
JP6273733B2 (ja) | 演算処理装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム | |
JP7249272B2 (ja) | キャッシュ、キャッシュを有するプロセッサ、及び、キャッシュ制御方法 | |
JP2015135696A5 (ja) | ||
US8296518B2 (en) | Arithmetic processing apparatus and method | |
JP4574712B2 (ja) | 演算処理装置、情報処理装置及び制御方法 | |
CN112416817B (zh) | 预取方法、信息处理装置、设备以及存储介质 | |
US20180074957A1 (en) | Method and device for accessing a cache memory | |
JP5089226B2 (ja) | I/oアドレス変換キャッシュ・ミスのソフトウェア・ミス処理用ハードウェア支援エクセプション | |
WO2012163017A1 (zh) | 分布式虚拟机访问异常的处理方法以及虚拟机监控器 | |
US6044447A (en) | Method and apparatus for communicating translation command information in a multithreaded environment | |
CN114238167B (zh) | 信息预取方法、处理器、电子设备 | |
US20090157975A1 (en) | Memory-centric Page Table Walker | |
US20130080733A1 (en) | Processor and control method of processor | |
JP4576172B2 (ja) | 演算処理装置,情報処理装置及び演算処理装置の制御方法 | |
KR102482516B1 (ko) | 메모리 어드레스 변환 | |
US7231506B2 (en) | Microprocessor | |
US7984263B2 (en) | Structure for a memory-centric page table walker | |
JP7035787B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
KR20210037216A (ko) | 이종 메모리를 이용하여 메모리 주소 변환 테이블을 관리하는 메모리 관리 유닛 및 이의 메모리 주소 관리 방법 | |
JP2017167582A (ja) | 演算処理装置、情報処理装置、及び演算処理装置の制御方法 | |
JP2019507420A (ja) | メモリアドレス変換管理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220118 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20220118 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220118 |
|
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: 20220201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7035787 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |