JP7485489B2 - 変換ロード命令 - Google Patents
変換ロード命令 Download PDFInfo
- Publication number
- JP7485489B2 JP7485489B2 JP2022519187A JP2022519187A JP7485489B2 JP 7485489 B2 JP7485489 B2 JP 7485489B2 JP 2022519187 A JP2022519187 A JP 2022519187A JP 2022519187 A JP2022519187 A JP 2022519187A JP 7485489 B2 JP7485489 B2 JP 7485489B2
- Authority
- JP
- Japan
- Prior art keywords
- translation
- load instruction
- processor core
- protection
- memory
- 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.)
- Active
Links
- 230000009466 transformation Effects 0.000 title 1
- 238000013519 translation Methods 0.000 claims description 145
- 238000012545 processing Methods 0.000 claims description 98
- 230000015654 memory Effects 0.000 claims description 92
- 230000004224 protection Effects 0.000 claims description 86
- 238000000034 method Methods 0.000 claims description 50
- 230000008569 process Effects 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 16
- 239000004744 fabric Substances 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 230000014616 translation Effects 0.000 description 101
- 238000013461 design Methods 0.000 description 60
- 238000012938 design process Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 238000004519 manufacturing process Methods 0.000 description 9
- 238000004088 simulation Methods 0.000 description 9
- 238000012360 testing method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000011109 contamination Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000007723 die pressing method Methods 0.000 description 1
- 238000010894 electron beam technology Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000001459 lithography Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000002076 thermal analysis method Methods 0.000 description 1
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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/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
- G06F12/1441—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 for a range
-
- 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/145—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 virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/206—Memory mapped I/O
-
- 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
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)
- Software Systems (AREA)
- Storage Device Security (AREA)
Description
Claims (17)
- システムメモリを含むデータ処理システムにおける処理のための方法であって、前記方法が、
プロセッサコアが、メモリページの変換エントリ内で指定すべき所望のアクセス保護を指定する保護フィールドを含む変換ロード命令を処理することであって、前記変換ロード命令は、所望の変換エントリを変換構造に選択的にロードさせる命令であり、前記変換構造は、実効アドレスを実アドレスに変換するための変換エントリを格納するバッファ又はキャッシュである、前記処理すること
を含み、前記変換ロード命令を処理することが、
前記メモリページ内の実効アドレスを計算することと、
前記所望のアクセス保護を含む変換エントリが前記データ処理システムの少なくとも1つの変換構造内に格納されるようにすることと
を含む、方法。 - 前記少なくとも1つの変換構造が前記プロセッサコア内の変換構造を含み、
前記変換ロード命令がロードフィールドを含み、
前記方法は、前記プロセッサコアが、前記ロードフィールドが設定されていることに基づいて、前記プロセッサコア内の前記変換構造に前記実効アドレスの前記変換エントリをロードすることをさらに含む、
請求項1に記載の方法。 - 前記変換構造がトランスレーション・ルックアサイド・バッファを含む、請求項2に記載の方法。
- 前記少なくとも1つの変換構造が前記システムメモリ内のページフレームテーブルに含まれるページテーブルエントリをキャッシュする、請求項1から請求項3までのいずれかに記載の方法。
- 前記変換ロード命令内の前記保護フィールドが第1の保護フィールドであり、
前記変換エントリが第2の保護フィールドを含み、
前記方法は、前記プロセッサコアが、前記第1及び第2の保護フィールドで指定されたアクセス保護のミスマッチに基づいて、保護フォールトハンドラを呼び出すことをさらに含む、請求項1から請求項4までのいずれかに記載の方法。 - 前記変換ロード命令によって要求されたアクセス保護の変更が合法であるかどうか判定することと、
前記変換ロード命令によって要求されたアクセス保護の前記変更が合法であるとの判定に応答して、前記変換エントリ内の前記第2の保護フィールドを更新することと
をさらに含む、請求項5に記載の方法。 - 前記データ処理システムが、前記データ処理システムのシステムファブリックに結合されたネストメモリ管理ユニットを含み、
前記処理することは、前記プロセッサコアが、前記ネストメモリ管理ユニットによって開始された割込みを受け取ることに基づいて、前記変換ロード命令を処理することを含む、
請求項1から請求項6までのいずれかに記載の方法。 - データ処理システムのための処理ユニットであって、前記処理ユニットは、
実効アドレスを実アドレスに変換するメモリ管理ユニットと、
命令を実行する実行ユニットと、
を含むプロセッサコアを含み、前記プロセッサコアは、
メモリページの変換エントリ内で指定すべき所望のアクセス保護を指定する保護フィールドを含む変換ロード命令を処理することであって、前記変換ロード命令は、所望の変換エントリを変換構造に選択的にロードさせる命令であり、前記変換構造は、実効アドレスを実アドレスに変換するための変換エントリを格納するバッファ又はキャッシュである、前記処理することを実行するように構成され、前記変換ロード命令を処理することが、
前記メモリページ内の実効アドレスを計算することと、
前記所望のアクセス保護を含む変換エントリが前記データ処理システムの少なくとも1つの変換構造内に格納されるようにすることと
を含む、処理ユニット。 - 前記少なくとも1つの変換構造が前記プロセッサコア内の変換構造を含み、
前記変換ロード命令がロードフィールドを含み、
前記プロセッサコアが、前記ロードフィールドが設定されていることに基づいて、前記プロセッサコア内の前記変換構造に前記実効アドレスの前記変換エントリをロードするように構成された、
請求項8に記載の処理ユニット。 - 前記変換構造がトランスレーション・ルックアサイド・バッファを含む、請求項9に記載の処理ユニット。
- 前記少なくとも1つの変換構造がシステムメモリ内のページフレームテーブルに含まれるページテーブルエントリをキャッシュする、請求項8から請求項10までのいずれかに記載の処理ユニット。
- 前記変換ロード命令内の前記保護フィールドが第1の保護フィールドであり、
前記変換エントリが第2の保護フィールドを含み、
前記プロセッサコアが、前記第1及び第2の保護フィールドで指定されたアクセス保護のミスマッチに基づいて、保護フォールトハンドラを呼び出すように構成された、
請求項8から請求項11までのいずれかに記載の処理ユニット。 - 前記プロセッサコアが、
前記変換ロード命令によって要求されたアクセス保護の変更が合法であるかどうか判定することと、
前記変換ロード命令によって要求されたアクセス保護の前記変更が合法であるとの判定に応答して、前記変換エントリ内の前記第2の保護フィールドを更新することと
を実行するようにさらに構成された、請求項12に記載の処理ユニット。 - 前記データ処理システムが、前記データ処理システムのシステムファブリックに結合されたネストメモリ管理ユニットを含み、
前記プロセッサコアが、前記ネストメモリ管理ユニットによって開始された割込みを、前記システムファブリックを介して受け取ることに基づいて、前記変換ロード命令を処理するように構成された、請求項8から請求項13までのいずれかに記載の処理ユニット。 - 請求項8から請求項14までのいずれかに記載の複数の処理ユニットと、前記複数の処理ユニットを結合するシステムファブリックとを含む、データ処理システム。
- システムメモリを含むデータ処理システムにおける処理のためのコンピュータ・プログラムを格納するコンピュータ可読ストレージ媒体であって、
前記コンピュータ・プログラムは処理回路に、請求項1から請求項7までのいずれかに記載の方法を実行させる、コンピュータ可読ストレージ媒体。 - コンピュータ・プログラムであって、前記コンピュータ・プログラムはコンピュータに、請求項1から請求項7までのいずれかに記載の方法を実行させる、コンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/588,380 US11226902B2 (en) | 2019-09-30 | 2019-09-30 | Translation load instruction with access protection |
US16/588,380 | 2019-09-30 | ||
PCT/IB2020/058986 WO2021064531A1 (en) | 2019-09-30 | 2020-09-25 | Translation load instruction |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022550074A JP2022550074A (ja) | 2022-11-30 |
JP7485489B2 true JP7485489B2 (ja) | 2024-05-16 |
Family
ID=75161992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022519187A Active JP7485489B2 (ja) | 2019-09-30 | 2020-09-25 | 変換ロード命令 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11226902B2 (ja) |
JP (1) | JP7485489B2 (ja) |
CN (1) | CN114514512A (ja) |
AU (1) | AU2020358044B2 (ja) |
DE (1) | DE112020004709T5 (ja) |
GB (1) | GB2601464B (ja) |
WO (1) | WO2021064531A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220382682A1 (en) * | 2021-06-01 | 2022-12-01 | International Business Machines Corporation | Reset dynamic address translation protection instruction |
US11593275B2 (en) | 2021-06-01 | 2023-02-28 | International Business Machines Corporation | Operating system deactivation of storage block write protection absent quiescing of processors |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001142779A (ja) | 1999-10-01 | 2001-05-25 | Hitachi Ltd | 改善されたメモリ管理ユニット及びキャッシュメモリを有するマイクロプロセッサを用いたデータ処理方法 |
JP2003058421A (ja) | 2001-08-13 | 2003-02-28 | Hitachi Ltd | プロセッサ及びコンピュータシステム |
JP2019525298A (ja) | 2016-06-29 | 2019-09-05 | エイアールエム リミテッド | 条件付きメモリアクセスプログラム命令のための許可制御 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3740195B2 (ja) * | 1994-09-09 | 2006-02-01 | 株式会社ルネサステクノロジ | データ処理装置 |
US6199152B1 (en) | 1996-08-22 | 2001-03-06 | Transmeta Corporation | Translated memory protection apparatus for an advanced microprocessor |
TW200712841A (en) * | 2005-09-30 | 2007-04-01 | Tyan Computer Corp | Processor configuration architecture of multi-processor system |
US20080162829A1 (en) | 2007-01-03 | 2008-07-03 | Freescale Semiconductor, Inc. | Selective guarded memory access on a per-instruction basis |
US8176279B2 (en) | 2008-02-25 | 2012-05-08 | International Business Machines Corporation | Managing use of storage by multiple pageable guests of a computing environment |
US8719547B2 (en) * | 2009-09-18 | 2014-05-06 | Intel Corporation | Providing hardware support for shared virtual memory between local and remote physical memory |
EP2849071A1 (en) | 2013-09-16 | 2015-03-18 | ST-Ericsson SA | Pre-fetch in a multi-stage memory management system |
US9734083B2 (en) | 2014-03-31 | 2017-08-15 | International Business Machines Corporation | Separate memory address translations for instruction fetches and data accesses |
US10282305B2 (en) | 2016-07-18 | 2019-05-07 | International Business Machines Corporation | Selective purging of entries of structures associated with address translation in a virtualized environment |
JP7144671B2 (ja) * | 2018-03-14 | 2022-09-30 | 富士通株式会社 | ネットワークインタフェース装置、それを有するノードを複数有する情報処理装置及び情報処理装置のノード間送信データ送信方法 |
-
2019
- 2019-09-30 US US16/588,380 patent/US11226902B2/en active Active
-
2020
- 2020-09-25 GB GB2204674.2A patent/GB2601464B/en active Active
- 2020-09-25 AU AU2020358044A patent/AU2020358044B2/en active Active
- 2020-09-25 DE DE112020004709.1T patent/DE112020004709T5/de active Pending
- 2020-09-25 CN CN202080066010.9A patent/CN114514512A/zh active Pending
- 2020-09-25 WO PCT/IB2020/058986 patent/WO2021064531A1/en active Application Filing
- 2020-09-25 JP JP2022519187A patent/JP7485489B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001142779A (ja) | 1999-10-01 | 2001-05-25 | Hitachi Ltd | 改善されたメモリ管理ユニット及びキャッシュメモリを有するマイクロプロセッサを用いたデータ処理方法 |
JP2003058421A (ja) | 2001-08-13 | 2003-02-28 | Hitachi Ltd | プロセッサ及びコンピュータシステム |
JP2019525298A (ja) | 2016-06-29 | 2019-09-05 | エイアールエム リミテッド | 条件付きメモリアクセスプログラム命令のための許可制御 |
Also Published As
Publication number | Publication date |
---|---|
AU2020358044B2 (en) | 2023-11-09 |
AU2020358044A1 (en) | 2022-03-24 |
US20210096859A1 (en) | 2021-04-01 |
GB202204674D0 (en) | 2022-05-18 |
US11226902B2 (en) | 2022-01-18 |
GB2601464B (en) | 2022-12-14 |
JP2022550074A (ja) | 2022-11-30 |
GB2601464A (en) | 2022-06-01 |
CN114514512A (zh) | 2022-05-17 |
WO2021064531A1 (en) | 2021-04-08 |
DE112020004709T5 (de) | 2022-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11100004B2 (en) | Shared virtual address space for heterogeneous processors | |
US9405700B2 (en) | Methods and apparatus for virtualization in an integrated circuit | |
KR101179341B1 (ko) | 메모리 액세스 데이터 구조에 기초하는 직접 캐시 액세스트랜잭션의 수행 | |
US9727241B2 (en) | Memory page access detection | |
JP7485489B2 (ja) | 変換ロード命令 | |
US10740239B2 (en) | Translation entry invalidation in a multithreaded data processing system | |
US20220334978A1 (en) | Computer system and method using a first page table and a second page table | |
US11662934B2 (en) | Migration of a logical partition between mutually non-coherent host data processing systems | |
US10977183B2 (en) | Processing a sequence of translation entry invalidation requests with regard to draining a processor core | |
CN117063165A (zh) | 迁移由输入-输出设备能够访问的存储器页面 | |
EP4272081A1 (en) | Migrating pages of memory accessible by input-output devices | |
CN116034344A (zh) | 支持数据处理系统间存储器共享的多功能通信接口 | |
US20090158003A1 (en) | Structure for a memory-centric page table walker | |
CN113272789A (zh) | 由输入输出存储器管理单元进行的域标识符和装置标识符转译 | |
US20230036054A1 (en) | Memory migration within a multi-host data processing environment | |
US11520704B1 (en) | Writing store data of multiple store operations into a cache line in a single cycle | |
TW202338619A (zh) | 定義用於經轉譯存取請求的權限資訊的裝置權限表 | |
CN118056193A (zh) | 地址转换电路系统和用于执行地址转换的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220401 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20220325 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220518 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240402 |
|
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: 20240416 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20240416 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240430 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7485489 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |