JP2019200450A - 演算処理装置および演算処理装置の制御方法 - Google Patents

演算処理装置および演算処理装置の制御方法 Download PDF

Info

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
Application number
JP2018092827A
Other languages
English (en)
Other versions
JP7035787B2 (ja
Inventor
浩太朗 桑原
Koutaro Kuwabara
浩太朗 桑原
吉田 祐樹
Yuki Yoshida
祐樹 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018092827A priority Critical patent/JP7035787B2/ja
Priority to US16/391,698 priority patent/US11010311B2/en
Publication of JP2019200450A publication Critical patent/JP2019200450A/ja
Application granted granted Critical
Publication of JP7035787B2 publication Critical patent/JP7035787B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/1425Protection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

【課題】仮想アドレスと該仮想アドレスを変換した結果を記憶するキャッシュが必要とする資源を抑制すること。【解決手段】物理メモリの少なくとも一部の領域を仮想メモリとして割り当てられた仮想マシンを実行する演算処理装置であって、前記仮想マシン上で実行されるプロセスからのメモリアクセス命令および前記メモリアクセス命令のアクセス先の仮想アドレスを出力する命令制御部と、前記仮想アドレスを前記仮想メモリの実アドレスに変換し、前記実アドレスを前記物理メモリの物理アドレスに変換する変換部と、前記メモリアクセス命令と前記実アドレスの権限属性から権限違反の有無をチェックする権限チェック部と、を備える。前記権限チェック部が権限違反有りと判定したとき、前記変換部は、前記仮想アドレスを前記実アドレスに変換するとともに、前記仮想アドレスおよび前記実アドレスをログ領域に記録する。【選択図】図3

Description

本発明は、演算処理装置および演算処理装置の制御方法に関する。
CPU(Central Processing Unit)上で計算処理を行う際に、処理に使用するデータを情報処理装置上のメモリに書き込んだり、メモリから読み込んだり、すなわちメモリアクセスが行われる。メモリアクセスは、メモリ領域内のメモリアドレスによりアクセスする箇所を指定して実行される。
CPU上で、各処理を実行する各プロセスが、使用するメモリ領域をお互いに分離して使えるように、全メモリ領域の一部のみが各プロセスに割り当てられる。この時、各プロセスがメモリ領域を必要とするメモリサイズやタイミングはまちまちであるため、割り当て側の都合でアドレスが離散した複数の領域を割り当てることがある。しかし、各プロセスはアドレスが連続した領域でないと使いにくいという事実もある。また、いつも同じアドレスから開始する領域を割り当てられた方が使いやすいということもある。
例えばこのようなことを解決するために、一般的なCPUはアドレス変換機構を持っている。この場合、各プロセスはあたかも一つの連続したメモリ領域を割り当てられたように見える。各プロセスがその連続したメモリ領域内の任意のアドレスへメモリアクセス要求を発行すると、アドレス変換機構が、実際に割り当てられている離散したメモリ領域内のアドレスへ変換し、情報処理装置上のメモリへアクセスが行われる。
一方、近年は仮想マシンの利用が広がっている。仮想マシンは、実際に存在している物理装置上で複数実行され、一つの仮想マシン上で操作するユーザや実行されるプロセスは、あたかも一つの物理装置上で操作しているもしくは実行されているように見える仕組みである。ここで、実際の物理装置が物理的に持っているメモリの領域が分割され、各仮想マシンに仮想メモリとして割り当てられる。ここでも、前記した理由と同じような理由などで、アドレス変換が行われる。従って、仮想マシン上で動作するプロセスが当該プロセスに割り当てられたメモリ領域のアドレス(以下、仮想アドレス)へアクセスすると、仮想マシン上の仮想メモリのアドレス(以下、実アドレス)へ変換され、更に、その仮想マシンの実アドレスが、仮想マシンに割り当てられている物理装置上の物理メモリの物理アドレスへ変換されることとなる。このような複数回の変換が行うことができるアドレス変換機構は、多くのCPUで採用されている。
このアドレス変換は、プロセスの使用するアドレス領域をどのアドレス領域に変換するかを外部から設定することで、様々な変換を実現できるように設計されている。情報処理装置上の基本ソフトウェアであるOS(Operating System)や、アプリケーションソフトが自由に書き換えできるような装置では、装置起動後に、この変換の設定も自由に設定されるのが一般的である。近年の装置は、より自由度の高い変換ができるように変換の設定もより複雑になってきている。このため、変換設定の間違えや、ソフトウェアのメモリアクセスプログラムの障害(いわゆるバグ)により、変換が上手くできないことが生じる。この時、一般的なアドレス変換機構は、どのようなメモリアクセスがどのような理由で変換に失敗したのかを記録しておく。それにより、ソフトウェア設計者がデバッグしやすくなる。
また、より多くの仮想マシンや多くのプロセスへの変換設定に対応するために、必要な設定量も膨大となっている。そのため、最近は、変換設定をメモリ上に記録しておき、アドレス変換処理をするときに必要な変換設定だけをメモリから読み出して、アドレス変換処理を行うようになっている。しかし、この方式の場合、設定読み込みに時間がかかることから、メモリアクセス性能が劣化してしまう。これを解決するために、通常は、メモリから読み出した変換設定をキャッシュする回路をアドレス変換回路内に持ち、2回目からの変換は高速に変換処理するようになっている。変換設定をキャッシュする回路は、一般的にTLB(Translation Lookaside Buffer)と呼ばれている。また、2段変換などの複雑な変換処理自体にも時間がかかるため、入力された仮想アドレスに対する実アドレス、実アドレスに対する物理アドレス、もしくは仮想アドレスに対する物理アドレスといった、変換した結果のアドレスをキャッシュとして記憶しておくことで、2回目以降をより高速に変換できるようにするアドレス変換回路も知られている。
特開平5−173884号公報 特開平7−319735号公報
ここで、アドレス変換機構は、書き込み権限のない領域に書き込みアクセスをするといったイリーガルなメモリアクセスからメモリを保護するために、通常は、変換された実アドレスや物理アドレスの属性としてアクセス権限を設定する。すなわち、変換処理の際に変換されたアドレスが読み込み可能なのか書き込み可能なのか、といった権限も同時に変換設定に記録されており、この属性もTLBに同時に登録される。
TLBにキャッシュされた変換エントリにヒット(キャッシュヒット)したが、権限違反が検出された場合、デバッグ用の情報として仮想アドレスや実アドレスのログ登録を行う方法がとられる。そのためにTLBには最終変換アドレスである物理アドレスだけではなく、実アドレスも保持される。
本来、結果的に変換が成功のときにTLBに必要なアドレス情報は、入力の仮想アドレスと実際にアクセスする物理アドレスだけである。しかし、権限違反などの変換失敗時に備えて実アドレスもTLBに保持されるため、回路面積が増大し、消費電力も増えるという問題がある。
1つの側面において、本発明は、仮想アドレスと該仮想アドレスを変換した結果を記憶するキャッシュが必要とする資源を抑制することを目的とする。
実施の形態の演算処理装置は、物理メモリの少なくとも一部の領域を仮想メモリとして割り当てられた仮想マシンを実行する。前記演算処理装置は、命令制御部、変換部、および権限チェック部を有する。
前記命令制御部は、前記仮想マシン上で実行されるプロセスからのメモリアクセス命令および前記メモリアクセス命令のアクセス先の仮想アドレスを出力する。
前記変換部は、前記仮想アドレスを前記仮想メモリの実アドレスに変換し、前記実アドレスを前記物理メモリの物理アドレスに変換する。
前記権限チェック部は、前記メモリアクセス命令と前記実アドレスの権限属性から権限違反の有無をチェックする。
前記権限チェック部が権限違反有りと判定したとき、前記変換部は、前記仮想アドレスを前記実アドレスに変換するとともに、前記仮想アドレスおよび前記実アドレスをログ領域に記録する。
実施の形態によれば、仮想アドレスと該仮想アドレスを変換した結果を記憶するキャッシュが必要とする資源を抑制することができる。
比較例の最初の読み出しアクセスを示す図である。 比較例の2回目の読み出しアクセスを示す図である。 比較例の読み出しアクセス後の書き込みアクセスを示す図である。 比較例の制御方法のフローチャートである。 実施の形態のCPUの構成図である。 実施の形態の最初の読み出しアクセスを示す図である。 実施の形態の2回目の読み出しアクセスを示す図である。 実施の形態の読み出しアクセス後の書き込みアクセスを示す図である。 実施の形態の制御方法のフローチャートである。
以下、図面を参照しながら実施の形態について説明する。
最初に比較例について説明し、その後、実施の形態について説明する。
図1Aは、比較例の最初の読み出しアクセスを示す図である。
ここでは、書き込み権限の無いメモリ領域に対するアクセスの例を説明する。
CPU1は、IU(Instruction Unit)11およびMMU(Memory Management Unit)21を含む。MMU21は、変換要求受付部31、仮想アドレス/実アドレス変換部41、実アドレス/物理アドレス変換部51、権限チェック部61、および変換失敗ログ領域71を含む。変換要求受付部31は、TLB32を含む。TLB32は、仮想アドレス、権限属性、実アドレス、および物理アドレスを対応付けて記憶している。CPU1は、メモリ2の少なくとも一部の領域が仮想メモリとして割り当てられた仮想マシン、仮想マシン上で動作するゲストOS、および仮想マシンを管理するハイパーバイザ等を実行する。また、仮想マシン上では、複数のプロセスが動作しており、各プロセスには、当該プロセスが利用するメモリ領域(仮想アドレス空間)が割り当てられている。仮想マシンからは、割り当てられた仮想メモリは、物理メモリとして見え、当該仮想メモリの物理アドレスに相当するアドレスを実アドレスと呼ぶ。また、プロセスが利用するメモリ領域(仮想アドレス空間)のアドレスを仮想アドレスと呼ぶ。
(1)CPU1で実行されている仮想マシンで実行されているプロセスが当該プロセスに割り当てられたメモリ領域へのリード命令を発行する。IU11は、リード命令に従って変換要求をMMU21に出力する。変換要求は、リード命令、およびリード命令の対象のメモリ領域のアドレスである仮想アドレスを含む。
(2)変換要求受付部31は、変換要求を受信する。変換要求受付部31は、TLB32を参照し、変換要求に含まれる仮想アドレスがTLB32にあるか否かチェックする。最初の読み出しアクセスのため、受信した仮想アドレスは、TLB32に記憶されていない。すなわち、キャッシュミスとなる。変換要求受付部31は、リード命令および仮想アドレスを仮想アドレス/実アドレス変換部41に出力する。変換要求受付部31は、仮想アドレスを権限チェック部61に出力する。
(3)仮想アドレス/実アドレス変換部41は、リード命令および仮想アドレスを受信する。仮想アドレス/実アドレス変換部41は、受信した仮想アドレスを実アドレスに変換する。仮想アドレス/実アドレス変換部41は、受信したリード命令、変換した実アドレス、および変換した実アドレスに対応する権限属性を実アドレス/物理アドレス変換部51に出力する。ここで、権限属性は、リードオンリー(すなわち、読み込み可能且つ書き込み不可)であるとする。
(4)実アドレス/物理アドレス変換部51は、リード命令、実アドレス、および権限属性を受信する。実アドレス/物理アドレス変換部51は、受信した実アドレスを物理アドレスに変換する。実アドレス/物理アドレス変換部51は、受信したリード命令、受信した実アドレス、変換した物理アドレス、および受信した権限属性を権限チェック部61に出力する。
(5)権限チェック部61は、リード命令、仮想アドレス、実アドレス、物理アドレス、および権限属性を受信する。権限チェック部61は、受信したリード命令と受信した権限属性とから権限違反の有無をチェック(判定)する。ここで、受信した命令はリード命令であり、権限属性はリードオンリーであるので、権限違反無しと判定される。
(6)権限チェック部61は、メモリ2の受信した物理アドレスに対する読み出しを行うとともに、受信した権限属性、受信した実アドレス、および受信した物理アドレスをTLB32に出力する。TLB32は、変換要求受付部31が受信した仮想アドレス、権限チェック部61から受信した権限属性、実アドレス、および物理アドレスを対応付けて記憶する。
次に、上記最初の読み出しアクセス後の2回目の読み出しアクセスの処理を説明する。
図1Bは、比較例の2回目の読み出しアクセスを示す図である。
(1)CPU1で実行されている仮想マシンで実行されているプロセスが当該プロセスに割り当てられたメモリ領域へのリード命令を発行する。IU11は、リード命令に従って変換要求をMMU21に出力する。変換要求は、リード命令、およびリード命令の対象のメモリ領域のアドレスである仮想アドレスを含む。尚、仮想アドレスは、図1Aの最初の読み出しアクセス時の仮想アドレスと同一とする。
(2)変換要求受付部31は、変換要求を受信する。変換要求受付部31は、TLB32を参照し、変換要求に含まれる仮想アドレスがTLB32にあるか否かチェックする。
(3)2回目の読み出しアクセス時における受信した仮想アドレスは、最初の読み出しアクセス時の仮想アドレスと同一であるため、受信した仮想アドレスは、TLB32に記憶されている。すなわち、キャッシュヒットとなる。変換要求受付部31は、リード命令、受信した仮想アドレス、受信した仮想アドレスに対応する権限属性、実アドレス、および物理アドレスを権限チェック部61に出力する。
(4)権限チェック部61は、リード命令、仮想アドレス、権限属性、実アドレス、および物理アドレスを受信する。権限チェック部61は、受信したリード命令と受信した権限属性とから権限違反の有無をチェック(判定)する。ここで、受信した命令はリード命令であり、権限属性はリードオンリーであるので、権限違反無しと判定される。
(5)権限チェック部61は、メモリ2の受信した物理アドレスに対する読み出しを行う。
次に、上記最初または2回目の読み出しアクセス後の書き込みアクセスの処理を説明する。
図1Cは、比較例の読み出しアクセス後の書き込みアクセスを示す図である。
(1)CPU1で実行されている仮想マシンで実行されているプロセスが当該プロセスに割り当てられたメモリ領域へのライト命令を発行する。IU11は、ライト命令に従って変換要求をMMU21に出力する。変換要求は、ライト命令、およびライト命令の対象のメモリ領域のアドレスである仮想アドレスを含む。尚、仮想アドレスは、図1Aの最初の読み出しアクセス時の仮想アドレスと同一とする。
(2)変換要求受付部31は、変換要求を受信する。変換要求受付部31は、TLB32を参照し、変換要求に含まれる仮想アドレスがTLB32にあるか否かチェックする。
(3)書き込みアクセス時における受信した仮想アドレスは、最初の読み出しアクセス時の仮想アドレスと同一であるため、受信した仮想アドレスは、TLB32に記憶されている。すなわち、キャッシュヒットとなる。変換要求受付部31は、ライト命令、受信した仮想アドレス、受信した仮想アドレスに対応する権限属性、実アドレス、および物理アドレスを権限チェック部61に出力する。
(4)権限チェック部61は、ライト命令、仮想アドレス、権限属性、実アドレス、および物理アドレスを受信する。権限チェック部61は、受信したライト命令と受信した権限属性とから権限違反の有無をチェック(判定)する。ここで、受信した命令はライト命令であり、権限属性はリードオンリーであるので、権限違反有りと判定される。
(5)権限チェック部61は、受信した仮想アドレスと実アドレスを変換失敗ログ領域71にエラーログとして記録する。
図2は、比較例の制御方法のフローチャートである。
ステップS51において、CPU1で実行されている仮想マシンで実行されているプロセスが当該プロセスに割り当てられたメモリ領域(仮想アドレス空間)へのメモリアクセス命令(リード命令またはライト命令)を発行する。IU11は、プロセスからのメモリアクセス命令に従って変換要求をMMU21に出力する。変換要求は、メモリアクセス命令(リード命令またはライト命令)、およびメモリアクセス命令の対象のプロセスに割り当てられたメモリ領域のアドレスである仮想アドレスを含む。
ステップS52において、変換要求受付部31は、変換要求を受信する。変換要求受付部31は、TLB32を参照し、変換要求に含まれる仮想アドレスがTLB32のエントリにあるか否かチェックする。変換要求に含まれる仮想アドレスがTLB32のエントリにある(キャッシュヒット)場合、変換要求受付部31は、メモリアクセス命令、受信した仮想アドレス、受信した仮想アドレスに対応する権限属性、実アドレス、および物理アドレスを権限チェック部61に出力し、制御はステップS57に進む。変換要求に含まれる仮想アドレスがTLB32のエントリにない(キャッシュミス)場合、変換要求受付部31は、メモリアクセス命令および仮想アドレスを仮想アドレス/実アドレス変換部41に出力し、仮想アドレスを権限チェック部61に出力し、制御はステップS53に進む。
ステップS53において、仮想アドレス/実アドレス変換部41は、メモリアクセス命令および仮想アドレスを受信する。仮想アドレス/実アドレス変換部41は、受信した仮想アドレスを実アドレスに変換する。仮想アドレス/実アドレス変換部41は、受信したメモリアクセス命令、変換した実アドレス、および変換した実アドレスに対応する権限属性を実アドレス/物理アドレス変換部51に出力する。
ステップS54において、実アドレス/物理アドレス変換部51は、メモリアクセス命令、実アドレス、および権限属性を受信する。実アドレス/物理アドレス変換部51は、受信した実アドレスを物理アドレスに変換する。実アドレス/物理アドレス変換部51は、受信したメモリアクセス命令、受信した実アドレス、変換した物理アドレス、および受信した権限属性を権限チェック部61に出力する。
ステップS55において、権限チェック部61は、メモリアクセス命令、仮想アドレス、実アドレス、物理アドレス、および権限属性を受信する。権限チェック部61は、受信したメモリアクセス命令と受信した権限属性とから権限違反の有無をチェック(判定)する。権限違反無し(OK)と判定された場合、制御はステップS56に進み、権限違反有り(NG)と判定された場合、制御はステップS59に進む。
ステップS56において、権限チェック部61は、受信した権限属性、受信した実アドレス、および受信した物理アドレスをTLB32に出力する。TLB32は、変換要求受付部31が受信した仮想アドレス、権限チェック部61から受信した権限属性、実アドレス、および物理アドレスを対応付けて記憶する。
ステップS57において、権限チェック部61は、メモリアクセス命令、仮想アドレス、実アドレス、物理アドレス、および権限属性を受信する。権限チェック部61は、受信したメモリアクセス命令と受信した権限属性とから権限違反の有無をチェック(判定)する。権限違反無し(OK)と判定された場合、制御はステップS58に進み、権限違反有り(NG)と判定された場合、制御はステップS60に進む。
ステップS58において、権限チェック部61は、メモリ2の受信した物理アドレスに対するメモリアクセスを行う。
ステップS59において、権限チェック部61は、受信した権限属性、受信した実アドレス、および受信した物理アドレスをTLB32に出力する。TLB32は、変換要求受付部31が受信した仮想アドレス、権限チェック部61から受信した権限属性、実アドレス、および物理アドレスを対応付けて記憶する。
ステップS60において、権限チェック部61は、受信した仮想アドレスと実アドレスを変換失敗ログ領域71にエラーログとして記録する。
図3は、実施の形態のCPUの構成図である。
CPU101は、IU111およびMMU121を含む。CPU101は、バスを介してメモリ201と接続されている。メモリ201は、仮想メモリと区別するため物理メモリと表記する場合がある。CPU101は、演算処理装置(プロセッサ)の一例である。CPU101およびメモリ201は、例えば、サーバやパーソナルコンピュータなどの情報処理装置(コンピュータ)に搭載されている。CPU101は、仮想マシン、当該仮想マシン上で動指するゲストOS、および仮想マシンを管理するハイパーバイザ等のプログラムを実行する。仮想マシンには、メモリ201の少なくとも一部の領域が仮想メモリとして割り当てられている。仮想マシンからは、割り当てられた仮想メモリは、物理メモリとして見え、当該仮想メモリの物理アドレスに相当するアドレスを実アドレス(仮想物理アドレス)と呼ぶ。また、仮想マシン上では、複数のプロセスが動作しており、各プロセスには、当該プロセスが利用するメモリ領域(仮想アドレス空間)が割り当てられている。プロセスが利用するメモリ領域(仮想アドレス空間)のアドレスを仮想アドレスと呼ぶ。
IU111は、CPU101で実行されている仮想マシンで実行されているプロセスからのメモリアクセス命令に伴い、変換要求をMMU121へ出力する。IU111は、命令制御部の一例である。
MMU121は、変換要求受付部131、仮想アドレス/実アドレス変換部141、実アドレス/物理アドレス変換部151、権限チェック部161、および変換失敗ログ領域171を含む。
変換要求受付部131は、TLB132を含む。
TLB132は、複数のエントリを記憶し、各エントリには、仮想アドレス、権限属性、および物理アドレスが対応付けられて記憶されている。仮想アドレスは、プロセスが利用するメモリ領域(仮想アドレス空間)のアドレスである。権限属性は、仮想アドレスに対応する実アドレス(または物理アドレス)のアクセス権限を示す。権限属性は、例えば、リードオンリー(読み込み可能且つ書き込み不可)、またはリード/ライト可能(読み込み可能且つ書き込み可能)等である。物理アドレスは、仮想アドレスに対応する実アドレスに対応するメモリ201の物理アドレスである。TLB132は、キャッシュの一例である。
変換要求受付部131は、変換要求を受信し、TLB132を参照し、変換要求に含まれる仮想アドレスを検索キーとしてTLB132を検索し、変換要求に含まれる仮想アドレスを含むエントリがTLB132にあるか否かチェックする。すなわち、変換要求受付部131は、変換要求に含まれる仮想アドレスがTLB132のエントリにヒットするか否か(キャッシュヒットまたはキャッシュミス)を判定する。変換要求受付部131は、判定部の一例である。
仮想アドレス/実アドレス変換部141は、入力された仮想アドレスを当該仮想アドレスに対応する仮想マシンの仮想メモリの実アドレスに変換する。
実アドレス/物理アドレス変換部151は、入力された実アドレスを当該実アドレスに対応するメモリ201の物理アドレスに変換する。仮想アドレス/実アドレス変換部141および実アドレス/物理アドレス変換部151は、変換部の一例である。
権限チェック部161は、変換要求に含まれるメモリアクセス命令(リード命令またはライト命令)と権限属性とから権限違反の有無をチェック(判定)する。
変換失敗ログ領域171は、権限違反有りと判定されたときの仮想アドレスおよび当該仮想アドレスを変換した実アドレスをエラーログとして記憶する。変換失敗ログ領域171は、例えば、レジスタである。変換失敗ログ領域171は、ログ領域の一例である。
以下、実施の形態のCPUを用いたアクセス処理について説明する。
先ず、最初の読み出しアクセスの処理について説明する。ここでは、書き込み権限の無いメモリ領域に対するアクセスの例を説明する。
図4Aは、実施の形態の最初の読み出しアクセスを示す図である。
(1)CPU101で実行されている仮想マシンで実行されているプロセスが当該プロセスに割り当てられたメモリ領域へのリード命令を発行する。IU111は、リード命令に従って変換要求をMMU121に出力する。変換要求は、リード命令、およびリード命令の対象のメモリ領域のアドレスである仮想アドレスを含む。
(2)変換要求受付部131は、変換要求を受信する。変換要求受付部131は、TLB132を参照し、変換要求に含まれる仮想アドレスがTLB132にあるか否かチェックする。最初の読み出しアクセスのため、受信した仮想アドレスは、TLB132に記憶されていない。すなわち、キャッシュミスとなる。変換要求受付部131は、リード命令および仮想アドレスを仮想アドレス/実アドレス変換部141に出力する。
(3)仮想アドレス/実アドレス変換部141は、リード命令および仮想アドレスを受信する。仮想アドレス/実アドレス変換部141は、受信した仮想アドレスを実アドレスに変換する。仮想アドレス/実アドレス変換部141は、受信したリード命令、変換した実アドレス、および変換した実アドレスに対応する権限属性を実アドレス/物理アドレス変換部151に出力する。ここで、権限属性は、リードオンリー(すなわち、読み込み可能且つ書き込み不可)であるとする。尚、各実アドレスに対応する権限属性は、予め設定されている。
(4)実アドレス/物理アドレス変換部151は、リード命令、実アドレス、および権限属性を受信する。実アドレス/物理アドレス変換部151は、受信した実アドレスを物理アドレスに変換する。実アドレス/物理アドレス変換部151は、受信したリード命令、受信した実アドレス、変換した物理アドレス、および受信した権限属性を権限チェック部161に出力する。
(5)権限チェック部161は、リード命令、実アドレス、物理アドレス、および権限属性を受信する。権限チェック部161は、受信したリード命令と受信した権限属性とから権限違反の有無をチェック(判定)する。ここで、受信した命令はリード命令であり、権限属性はリードオンリーであるので、権限違反無しと判定される。
(6)権限チェック部161は、メモリ201の受信した物理アドレスに対する読み出しを行うとともに、受信した権限属性、および受信した物理アドレスをTLB132に出力する。TLB132は、変換要求受付部131が受信した仮想アドレス、権限チェック部161から受信した権限属性、および権限チェック部161から受信した物理アドレスを対応付けて記憶する。
実施の形態のCPU101のTLB132は、実アドレスを記憶しないため、回路面積を小さくすることが出来る。
次に、上記最初の読み出しアクセス後の2回目の読み出しアクセスの処理を説明する。
図4Bは、実施の形態の2回目の読み出しアクセスを示す図である。
(1)CPU101で実行されている仮想マシンで実行されているプロセスが当該プロセスに割り当てられたメモリ領域へのリード命令を発行する。IU111は、リード命令に従って変換要求をMMU121に出力する。変換要求は、リード命令、およびリード命令の対象のメモリ領域のアドレスである仮想アドレスを含む。尚、仮想アドレスは、図4Aの最初の読み出しアクセス時の仮想アドレスと同一とする。
(2)変換要求受付部131は、変換要求を受信する。変換要求受付部131は、TLB132を参照し、変換要求に含まれる仮想アドレスがTLB132にあるか否かチェックする。
(3)2回目の読み出しアクセス時における受信した仮想アドレスは、最初の読み出しアクセス時の仮想アドレスと同一であるため、受信した仮想アドレスは、TLB132に記憶されている。すなわち、キャッシュヒットとなる。変換要求受付部131は、リード命令、受信した仮想アドレスに対応する権限属性、および物理アドレスを権限チェック部161に出力する。
(4)権限チェック部161は、リード命令、権限属性、および物理アドレスを受信する。権限チェック部61は、受信したリード命令と受信した権限属性とから権限違反の有無をチェック(判定)する。ここで、受信した命令はリード命令であり、権限属性はリードオンリーであるので、権限違反無しと判定される。
(5)権限チェック部161は、メモリ201の受信した物理アドレスに対する読み出しを行う。
次に、上記最初または2回目の読み出しアクセス後の書き込みアクセスの処理を説明する。
図4Cは、実施の形態の読み出しアクセス後の書き込みアクセスを示す図である。
(1)CPU101で実行されている仮想マシンで実行されているプロセスが当該プロセスに割り当てられたメモリ領域へのライト命令を発行する。IU111は、ライト命令に従って変換要求をMMU121に出力する。変換要求は、ライト命令、およびライト命令の対象のメモリ領域のアドレスである仮想アドレスを含む。尚、仮想アドレスは、図4Aの最初の読み出しアクセス時の仮想アドレスと同一とする。
(2)変換要求受付部131は、変換要求を受信する。変換要求受付部131は、TLB132を参照し、変換要求に含まれる仮想アドレスがTLB132にあるか否かチェックする。
(3)書き込みアクセス時における受信した仮想アドレスは、最初の読み出しアクセス時の仮想アドレスと同一であるため、受信した仮想アドレスは、TLB132に記憶されている。すなわち、キャッシュヒットとなる。変換要求受付部131は、ライト命令、受信した仮想アドレスに対応する権限属性、および物理アドレスを権限チェック部161に出力する。
(4)権限チェック部161は、ライト命令、権限属性、および物理アドレスを受信する。権限チェック部161は、受信したライト命令と受信した権限属性とから権限違反の有無をチェック(判定)する。ここで、受信した命令はライト命令であり、権限属性はリードオンリーであるので、権限違反有りと判定される。
(5)権限チェック部161は、再変換フラグをオンにして、再変換フラグを変換要求受付部131に通知する。
(6)変換要求受付部131は、再変換フラグを受信すると、再変換フラグおよび変換要求に含まれる仮想アドレスを仮想アドレス/実アドレス変換部141に出力する。仮想アドレス/実アドレス変換部141は、再変換フラグおよび仮想アドレスを受信する。仮想アドレス/実アドレス変換部141は、受信した仮想アドレスを実アドレスに変換する。仮想アドレス/実アドレス変換部141は、再変換フラグおよび変換した実アドレスを実アドレス/物理アドレス変換部151に出力する。実アドレス/物理アドレス変換部151は、再変換フラグおよび実アドレスを受信する。実アドレス/物理アドレス変換部151は、受信した実アドレスを物理アドレスに変換する。
(7)仮想アドレス/実アドレス変換部141は、再変換フラグを受信した場合、受信した仮想アドレスを変換失敗ログ領域171にエラーログとして記録する。実アドレス/物理アドレス変換部151は、再変換フラグを受信した場合、受信した実アドレスを仮想アドレスと対応付けて変換失敗ログ領域171にエラーログとして記録する。尚、仮想アドレス/実アドレス変換部141が、再変換フラグを受信した場合、受信した仮想アドレスと変換した実アドレスとを対応付けて変換失敗ログ領域171にエラーログとして記録してもよい。
比較例のCPUでは、権限違反の検出時にエラーログに記録する実アドレスはTLBから取得されており、そのためにTLBは実アドレスを記憶するための資源が必要となる。一方、実施の形態のCPUでは、権限違反の検出時にエラーログに記録する実アドレスは、仮想アドレス/実アドレス変換部による再度のアドレス変換処理から得るため、TLBに実アドレスを保持する必要が無い。
実施の形態のCPUによれば、権限違反が発生した場合は、再度のアドレス変換処理が行われるが、権限違反の発生は特別な(稀な)ケースであり、エラーログの登録が多少遅くなっても影響は少ない。むしろ、TLBの複数エントリ分の実アドレスの領域が不要となることで、大幅に資源を減らすことが可能となり、消費電力も削減できる。
図5は、実施の形態の制御方法のフローチャートである。
ステップS501において、CPU101で実行されている仮想マシンで実行されているプロセスが当該プロセスに割り当てられたメモリ領域(仮想アドレス空間)へのメモリアクセス命令(リード命令またはライト命令)を発行する。IU111は、プロセスからのメモリアクセス命令に従って変換要求をMMU121に出力する。変換要求は、メモリアクセス命令(リード命令またはライト命令)、およびメモリアクセス命令の対象のプロセスに割り当てられたメモリ領域のアドレスである仮想アドレスを含む。
ステップS502において、変換要求受付部131は、変換要求を受信する。変換要求受付部131は、TLB132を参照し、変換要求に含まれる仮想アドレスを検索キーとしてTLB132を検索し、変換要求に含まれる仮想アドレスがTLB132のエントリにあるか否かチェックする。変換要求に含まれる仮想アドレスがTLB132のエントリにある(キャッシュヒット)場合、変換要求受付部131は、メモリアクセス命令、受信した仮想アドレスに対応する権限属性、および物理アドレスを権限チェック部161に出力し、制御はステップS507に進む。変換要求に含まれる仮想アドレスがTLB132のエントリにない(キャッシュミス)場合、変換要求受付部131は、メモリアクセス命令および仮想アドレスを仮想アドレス/実アドレス変換部141に出力し、制御はステップS503に進む。
ステップS503において、仮想アドレス/実アドレス変換部141は、メモリアクセス命令および仮想アドレスを受信する。仮想アドレス/実アドレス変換部141は、受信した仮想アドレスを実アドレスに変換する。仮想アドレス/実アドレス変換部141は、受信したメモリアクセス命令、変換した実アドレス、および変換した実アドレスに対応する権限属性を実アドレス/物理アドレス変換部151に出力する。
ステップS504において、実アドレス/物理アドレス変換部151は、メモリアクセス命令、実アドレス、および権限属性を受信する。実アドレス/物理アドレス変換部151は、受信した実アドレスを物理アドレスに変換する。実アドレス/物理アドレス変換部151は、受信したメモリアクセス命令、変換した物理アドレス、および受信した権限属性を権限チェック部161に出力する。
ステップS505において、権限チェック部161は、メモリアクセス命令、物理アドレス、および権限属性を受信する。権限チェック部161は、受信したメモリアクセス命令と受信した権限属性とから権限違反の有無をチェック(判定)する。すなわち、権限チェック部161は、権限属性に基づいて、メモリアクセス対象のアドレスに対してメモリアクセス命令の処理が可能であるか判定する。権限違反無し(OK)と判定された場合、制御はステップS506に進み、権限違反有り(NG)と判定された場合、制御はステップS509に進む。
ステップS506において、権限チェック部161は、受信した権限属性および受信した物理アドレスをTLB132に出力する。TLB132は、変換要求受付部131が受信した仮想アドレス、権限チェック部161から受信した権限属性、および物理アドレスを対応付けて記憶する。
ステップS507において、権限チェック部161は、メモリアクセス命令、物理アドレス、および権限属性を受信する。権限チェック部161は、受信したメモリアクセス命令と受信した権限属性とから権限違反の有無をチェック(判定)する。すなわち、権限チェック部161は、権限属性に基づいて、メモリアクセス対象のアドレスに対してメモリアクセス命令の処理が可能であるか判定する。権限違反無し(OK)と判定された場合、制御はステップS508に進み、権限違反有り(NG)と判定された場合、制御はステップS510に進む。
ステップS508において、権限チェック部161は、メモリ201の受信した物理アドレスに対するメモリアクセスを行う。
ステップS509において、権限チェック部161は、受信した権限属性および受信した物理アドレスをTLB132に出力する。TLB132は、変換要求受付部131が受信した仮想アドレス、権限チェック部161から受信した権限属性、および物理アドレスを対応付けて記憶する。
ステップS510において、権限チェック部161は、再変換フラグをオンにして、再変換フラグを変換要求受付部131に通知する。
ステップS511において、変換要求受付部131は、再変換フラグを受信すると、再変換フラグおよび変換要求に含まれる仮想アドレスを仮想アドレス/実アドレス変換部141に出力する。仮想アドレス/実アドレス変換部141は、再変換フラグおよび仮想アドレスを受信する。仮想アドレス/実アドレス変換部141は、受信した仮想アドレスを実アドレスに変換する。仮想アドレス/実アドレス変換部141は、再変換フラグおよび変換した実アドレスを実アドレス/物理アドレス変換部151に出力する。
ステップS512において、実アドレス/物理アドレス変換部151は、再変換フラグおよび実アドレスを受信する。実アドレス/物理アドレス変換部151は、受信した実アドレスを物理アドレスに変換する。
ステップS513において、仮想アドレス/実アドレス変換部141は、再変換フラグを受信すると、受信した仮想アドレスを変換失敗ログ領域171にエラーログとして記録する。実アドレス/物理アドレス変換部151は、再変換フラグを受信すると、受信した実アドレスを仮想アドレスと対応付けて変換失敗ログ領域171にエラーログとして記録する。尚、仮想アドレス/実アドレス変換部141が、再変換フラグを受信すると、受信した仮想アドレスと変換した実アドレスとを対応付けて変換失敗ログ領域171にエラーログとして記録してもよい。
エラーログに登録されるタイミングは重要ではなく(登録されさえすれば良く)、実施の形態では、通常時に必要な情報を得るアドレス変換動作と異常時のみに必要な情報を得るアドレス変換動作を既存の資源を使って別々に行う。実施の形態のようにTLBに必要な資源数を削減する方が回路面積や消費電力削減となる。
以上の実施の形態に関し、さらに以下の付記を開示する。
(付記1)
物理メモリの少なくとも一部の領域を仮想メモリとして割り当てられた仮想マシンを実行する演算処理装置であって、
前記仮想マシン上で実行されるプロセスからのメモリアクセス命令および前記メモリアクセス命令のアクセス先の仮想アドレスを出力する命令制御部と、
前記仮想アドレスを前記仮想メモリの実アドレスに変換し、前記実アドレスを前記物理メモリの物理アドレスに変換する変換部と、
前記メモリアクセス命令と前記実アドレスの権限属性から権限違反の有無をチェックする権限チェック部と、
を備え、
前記権限チェック部が権限違反有りと判定したとき、前記変換部は、前記仮想アドレスを前記実アドレスに変換するとともに、前記仮想アドレスおよび前記実アドレスをログ領域に記録する演算処理装置。
(付記2)
前記仮想アドレス、前記実アドレス、前記権限属性、および前記物理アドレスのうち、前記仮想アドレス、前記権限属性、および前記物理アドレスのみを記憶するキャッシュをさらに備える付記1記載の演算処理装置。
(付記3)
前記命令制御部から受信した前記仮想アドレスが前記キャッシュにあるか否か判定する判定部をさらに備え、
前記判定部が前記仮想アドレスが前記キャッシュにないと判定したとき、前記変換部は、前記仮想アドレスを前記実アドレスに変換し、前記実アドレスを前記物理アドレスに変換し、前記キャッシュは、前記仮想アドレス、前記実アドレス、前記権限属性、および前記物理アドレスのうち、前記仮想アドレス、前記権限属性、および前記物理アドレスのみを記憶する付記2記載の演算処理装置。
(付記4)
物理メモリの少なくとも一部の領域を仮想メモリとして割り当てられた仮想マシンを実行する演算処理装置の制御方法であって、
前記演算処理装置の命令制御部が、前記仮想マシン上で実行されるプロセスからのメモリアクセス命令および前記メモリアクセス命令のアクセス先の仮想アドレスを出力し、
前記演算処理装置の権限チェック部が、前記メモリアクセス命令と前記仮想アドレスを変換した前記仮想メモリの実アドレスの権限属性から権限違反の有無をチェックし、
前記権限チェック部が権限違反有りと判定したとき、前記演算処理装置の変換部が、前記仮想アドレスを前記実アドレスに変換するとともに、前記仮想アドレスおよび前記実アドレスをログ領域に記録する
演算処理装置の制御方法。
(付記5)
前記演算処理装置のキャッシュが、前記仮想アドレス、前記実アドレス、前記権限属性、および前記物理アドレスのうち、前記仮想アドレス、前記権限属性、および前記物理アドレスのみを記憶する付記4記載の制御方法。
(付記6)
前記演算処理装置の判定部が、前記命令制御部から受信した前記仮想アドレスが前記キャッシュにあるか否か判定し、
前記判定部が前記仮想アドレスが前記キャッシュにないと判定したとき、前記変換部は、前記仮想アドレスを前記実アドレスに変換し、前記実アドレスを前記物理アドレスに変換し、前記キャッシュは、前記仮想アドレス、前記実アドレス、前記権限属性、および前記物理アドレスのうち、前記仮想アドレス、前記権限属性、および前記物理アドレスのみを記憶する付記5記載の制御方法。
101 CPU
111 IU
121 MMU
131 変換要求受付部
132 TLB
141 仮想アドレス/実アドレス変換部
151 実アドレス/物理アドレス変換部
161 権限チェック部
171 変換失敗ログ領域
201 メモリ

Claims (4)

  1. 物理メモリの少なくとも一部の領域を仮想メモリとして割り当てられた仮想マシンを実行する演算処理装置であって、
    前記仮想マシン上で実行されるプロセスからのメモリアクセス命令および前記メモリアクセス命令のアクセス先の仮想アドレスを出力する命令制御部と、
    前記仮想アドレスを前記仮想メモリの実アドレスに変換し、前記実アドレスを前記物理メモリの物理アドレスに変換する変換部と、
    前記メモリアクセス命令と前記実アドレスの権限属性から権限違反の有無をチェックする権限チェック部と、
    を備え、
    前記権限チェック部が権限違反有りと判定したとき、前記変換部は、前記仮想アドレスを前記実アドレスに変換するとともに、前記仮想アドレスおよび前記実アドレスをログ領域に記録する演算処理装置。
  2. 前記仮想アドレス、前記実アドレス、前記権限属性、および前記物理アドレスのうち、前記仮想アドレス、前記権限属性、および前記物理アドレスのみを記憶するキャッシュをさらに備える請求項1記載の演算処理装置。
  3. 前記命令制御部から受信した前記仮想アドレスが前記キャッシュにあるか否か判定する判定部をさらに備え、
    前記判定部が前記仮想アドレスが前記キャッシュにないと判定したとき、前記変換部は、前記仮想アドレスを前記実アドレスに変換し、前記実アドレスを前記物理アドレスに変換し、前記キャッシュは、前記仮想アドレス、前記実アドレス、前記権限属性、および前記物理アドレスのうち、前記仮想アドレス、前記権限属性、および前記物理アドレスのみを記憶する請求項2記載の演算処理装置。
  4. 物理メモリの少なくとも一部の領域を仮想メモリとして割り当てられた仮想マシンを実行する演算処理装置の制御方法であって、
    前記演算処理装置の命令制御部が、前記仮想マシン上で実行されるプロセスからのメモリアクセス命令および前記メモリアクセス命令のアクセス先の仮想アドレスを出力し、
    前記演算処理装置の権限チェック部が、前記メモリアクセス命令と前記仮想アドレスを変換した前記仮想メモリの実アドレスの権限属性から権限違反の有無をチェックし、
    前記権限チェック部が権限違反有りと判定したとき、前記演算処理装置の変換部が、前記仮想アドレスを前記実アドレスに変換するとともに、前記仮想アドレスおよび前記実アドレスをログ領域に記録する
    演算処理装置の制御方法。
JP2018092827A 2018-05-14 2018-05-14 演算処理装置および演算処理装置の制御方法 Active JP7035787B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110989824B (zh) * 2019-11-15 2021-08-10 北京浪潮数据技术有限公司 一种云平台的能耗管理方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 特定の仮想マシンに関連するトレース・データを得るためのコンピュータ実装方法、プログラム、トレーサ・ノード

Patent Citations (3)

* Cited by examiner, † Cited by third party
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