JP2021513139A - データ処理装置におけるアドレス変換 - Google Patents
データ処理装置におけるアドレス変換 Download PDFInfo
- Publication number
- JP2021513139A JP2021513139A JP2020540422A JP2020540422A JP2021513139A JP 2021513139 A JP2021513139 A JP 2021513139A JP 2020540422 A JP2020540422 A JP 2020540422A JP 2020540422 A JP2020540422 A JP 2020540422A JP 2021513139 A JP2021513139 A JP 2021513139A
- Authority
- JP
- Japan
- Prior art keywords
- tag
- address
- physical
- virtual
- predetermined
- 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
- 238000013519 translation Methods 0.000 title claims abstract description 29
- 238000012545 processing Methods 0.000 title claims description 29
- 238000006243 chemical reaction Methods 0.000 claims abstract description 81
- 238000000034 method Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 7
- 230000014616 translation Effects 0.000 description 24
- 101100456831 Caenorhabditis elegans sams-5 gene Proteins 0.000 description 13
- 230000009466 transformation Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000010200 validation analysis 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
-
- 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]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- 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/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
- G06F12/1475—Key-lock mechanism in a virtual system, e.g. with translation means
-
- 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
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)
- Memory System (AREA)
Abstract
Description
Claims (19)
- 仮想タグ部及び仮想アドレス部を含む仮想アドレスの、物理タグ部及び物理アドレス部を含む物理アドレスへの変換を行うためのアドレス変換回路であって、
前記仮想タグ部の前記物理タグ部への変換を行うためのアドレス・タグ変換回路
を備え、
前記アドレス・タグ変換回路によって前記仮想アドレスに依存して行われることになる前記変換を選択する
アドレス変換回路
を備える、装置。 - 前記アドレス・タグ変換回路によって行われる前記変換が、前記仮想アドレス部の最上位ビットに依存する、請求項1に記載の装置。
- 前記仮想アドレス部の前記最上位ビットが第1の値を含むとき、前記アドレス・タグ変換回路によって行われる前記選択された変換が、前記仮想タグ部にマッチする前記物理タグ部を生成し、
前記最上位ビットが第2の値を含むとき、前記アドレス・タグ変換回路によって行われる前記選択された変換が、前記物理タグ部を生成するために前記仮想タグ部を修正する
請求項2に記載の装置。 - 前記装置が、カーネル固有処理及びユーザ固有処理のうちの1つによる排他使用のための仮想アドレスを配分するように設計され、前記仮想アドレス部の前記最上位ビットの値が、前記仮想アドレスがカーネル固有処理に配分されたか、ユーザ固有処理に配分されたかを示すものである、請求項2又は3に記載の装置。
- 前記アドレス・タグ変換回路によって行われる前記選択された変換が、前記物理タグ部を生成するために前記仮想タグ部の少なくとも一部を反転することを含む、請求項1から4までのいずれか一項に記載の装置。
- 前記アドレス・タグ変換回路によって行われる前記選択された変換が、前記物理タグ部を生成するために前記仮想タグ部の少なくとも一部をインクリメントすることを含む、請求項1から4までのいずれか一項に記載の装置。
- 前記物理アドレスを受信し、前記物理アドレス部によって識別された記憶場所にアクセスするためのメモリ・システムをさらに備え、前記メモリ・システムが、前記物理アドレスの受信に応答して、前記物理タグ部の所定部分が所定値を含むとき、所定のメモリ動作を行う、請求項1から6までのいずれか一項に記載の装置。
- 前記所定のメモリ動作が、前記物理タグ部の、前記記憶場所と関連付けられたガード・タグ値とのガード・タグ比較であり、前記メモリ・システムが、前記物理タグ部と前記ガード・タグ値がマッチ条件を満たさないことに応答して、フォルト状態を示す、請求項7に記載の装置。
- 前記物理タグ部の所定部分が所定値を含むとき、前記マッチ条件が、いずれかのガード・タグ値が前記マッチ条件を満たすようなmatch−all条件である、請求項8に記載の装置。
- 前記物理タグ部の前記所定部分が前記所定値を含まないとき、前記マッチ条件が、前記マッチ条件を満たすために、前記物理タグ部の前記所定部分と前記ガード・タグ値が同じでなければならないようなmatch−one条件である、請求項9に記載の装置。
- 前記物理タグ部の前記所定部分が、前記物理タグ部のビットの所定セットである、請求項9又は10に記載の装置。
- 前記アドレス・タグ変換回路が、所定値を含む前記仮想タグ部の所定ビットに応答して前記物理タグ部を生成し、前記物理タグ部の前記所定部分が、前記仮想タグ部の他の所定ビットの値に関係のない前記所定値を含む、請求項9から11までのいずれか一項に記載の装置。
- 前記物理タグ部の前記所定部分が、前記物理タグ部の所定ビットである、請求項9又は10に記載の装置。
- 前記ガード・タグ比較が、前記物理タグ部の全ての、前記記憶場所と関連付けられた前記ガード・タグ値との比較より小さいものである、請求項8から13までのいずれか一項に記載の装置。
- 前記物理タグ部の前記所定部分の前記所定値が、同じビット値の全ビットを含む、請求項9から14までのいずれか一項に記載の装置。
- 前記仮想タグ部が、前記物理アドレスに含まれる少なくとも1つのビットを含み、前記メモリ・システムが、前記少なくとも1つのビットに応答して、前記記憶場所にライト・アクセスが行われるとき、前記記憶場所と関連付けられた前記ガード・タグの上書きを制御する、請求項8から15までのいずれか一項に記載の装置。
- 仮想タグ部及び仮想アドレス部を含む仮想アドレスに対して行われることになる、物理タグ部及び物理アドレス部を含む物理アドレスへの変換を選択するステップであって、前記仮想アドレスに依存する、ステップと、
前記仮想タグ部を前記物理タグ部に変換するために前記変換を行うステップと
を含む、方法。 - ターゲット・プログラム・コードの命令の実行のための命令実行環境を提供するようにホスト・データ処理装置を制御するためのコンピュータ・プログラムであって、
仮想タグ部及び仮想アドレス部を含む仮想アドレスの、物理タグ部及び物理アドレス部を含む物理アドレスへの変換を行うためのアドレス変換プログラム・ロジック
を含み、前記アドレス変換プログラム・ロジックが、
前記仮想タグ部の前記物理タグ部への変換を行うためのアドレス・タグ変換プログラム・ロジック
を含み、
前記アドレス変換プログラム・ロジックが、前記アドレス・タグ変換回路によって前記仮想アドレスに依存して行われることになる前記変換を選択する
コンピュータ・プログラム。 - 請求項18に記載のコンピュータ・プログラムを格納するストレージ媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1801598.2 | 2018-01-31 | ||
GB1801598.2A GB2570665B (en) | 2018-01-31 | 2018-01-31 | Address translation in a data processing apparatus |
PCT/GB2019/050189 WO2019150077A1 (en) | 2018-01-31 | 2019-01-23 | Address translation in a data processing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021513139A true JP2021513139A (ja) | 2021-05-20 |
JP7369699B2 JP7369699B2 (ja) | 2023-10-26 |
Family
ID=61558059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020540422A Active JP7369699B2 (ja) | 2018-01-31 | 2019-01-23 | データ処理装置におけるアドレス変換 |
Country Status (9)
Country | Link |
---|---|
US (1) | US11687464B2 (ja) |
EP (1) | EP3746898B1 (ja) |
JP (1) | JP7369699B2 (ja) |
KR (1) | KR20200116471A (ja) |
CN (1) | CN111527480A (ja) |
GB (1) | GB2570665B (ja) |
IL (1) | IL275728B2 (ja) |
TW (1) | TWI791086B (ja) |
WO (1) | WO2019150077A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0215345A (ja) * | 1988-07-04 | 1990-01-19 | Hitachi Ltd | データ処理装置 |
US5574877A (en) * | 1992-09-25 | 1996-11-12 | Silicon Graphics, Inc. | TLB with two physical pages per virtual tag |
JP2002366425A (ja) * | 2001-06-05 | 2002-12-20 | Hitachi Ltd | アドレス変換回路を有するデータ処理装置 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4218743A (en) * | 1978-07-17 | 1980-08-19 | International Business Machines Corporation | Address translation apparatus |
US4774659A (en) * | 1986-04-16 | 1988-09-27 | Astronautics Corporation Of America | Computer system employing virtual memory |
US5307477A (en) * | 1989-12-01 | 1994-04-26 | Mips Computer Systems, Inc. | Two-level cache memory system |
US5341485A (en) * | 1991-05-07 | 1994-08-23 | International Business Machines Corporation | Multiple virtual address translation per computer cycle |
JPH0887451A (ja) * | 1994-09-09 | 1996-04-02 | Internatl Business Mach Corp <Ibm> | アドレス変換を管理する方法およびアドレス変換マネージャ |
US6230248B1 (en) * | 1998-10-12 | 2001-05-08 | Institute For The Development Of Emerging Architectures, L.L.C. | Method and apparatus for pre-validating regions in a virtual addressing scheme |
US6598050B1 (en) * | 2000-02-11 | 2003-07-22 | Integrated Device Technology, Inc. | Apparatus and method for limited data sharing in a multi-tasking system |
US6604187B1 (en) * | 2000-06-19 | 2003-08-05 | Advanced Micro Devices, Inc. | Providing global translations with address space numbers |
US6675279B2 (en) * | 2001-10-16 | 2004-01-06 | International Business Machines Corporation | Behavioral memory enabled fetch prediction mechanism within a data processing system |
US6792521B2 (en) | 2001-10-16 | 2004-09-14 | International Business Machines Corporation | Behavioral memory mechanism for a data processing system |
JP4085328B2 (ja) * | 2003-04-11 | 2008-05-14 | ソニー株式会社 | 情報処理装置および方法、記録媒体、プログラム、並びに撮像装置 |
US7117290B2 (en) | 2003-09-03 | 2006-10-03 | Advanced Micro Devices, Inc. | MicroTLB and micro tag for reducing power in a processor |
US7296136B1 (en) * | 2004-06-04 | 2007-11-13 | Hewlett-Packard Development Company, L.P. | Methods and systems for loading data from memory |
EP2441005A2 (en) * | 2009-06-09 | 2012-04-18 | Martin Vorbach | System and method for a cache in a multi-core processor |
US8386747B2 (en) * | 2009-06-11 | 2013-02-26 | Freescale Semiconductor, Inc. | Processor and method for dynamic and selective alteration of address translation |
US8589447B1 (en) * | 2009-07-07 | 2013-11-19 | Netapp, Inc. | Efficient file system scan for shared data blocks |
US8645633B2 (en) * | 2011-05-17 | 2014-02-04 | International Business Machines Corporation | Facilitating data coherency using in-memory tag bits and faulting stores |
US8868867B2 (en) * | 2011-09-15 | 2014-10-21 | The Regents Of The University Of California | Method for reducing latency of accessing data stored in a file system on a computer storage device by caching file system permission information in the computer storage device |
WO2013078085A1 (en) | 2011-11-22 | 2013-05-30 | Mips Technologies, Inc. | Processor with kernel mode access to user space virtual addresses |
US9218289B2 (en) * | 2012-08-06 | 2015-12-22 | Qualcomm Incorporated | Multi-core compute cache coherency with a release consistency memory ordering model |
JP6273733B2 (ja) | 2013-09-20 | 2018-02-07 | 富士通株式会社 | 演算処理装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム |
US9542323B2 (en) * | 2014-03-28 | 2017-01-10 | Samsung Electronics Co., Ltd. | Address re-ordering mechanism for efficient pre-fetch training in an out-of-order processor |
US10061712B2 (en) * | 2016-05-10 | 2018-08-28 | Oracle International Corporation | Virtual memory page mapping overlays |
-
2018
- 2018-01-31 GB GB1801598.2A patent/GB2570665B/en active Active
-
2019
- 2019-01-23 US US16/648,041 patent/US11687464B2/en active Active
- 2019-01-23 IL IL275728A patent/IL275728B2/en unknown
- 2019-01-23 EP EP19702677.6A patent/EP3746898B1/en active Active
- 2019-01-23 TW TW108102492A patent/TWI791086B/zh active
- 2019-01-23 CN CN201980006980.7A patent/CN111527480A/zh active Pending
- 2019-01-23 KR KR1020207023393A patent/KR20200116471A/ko unknown
- 2019-01-23 WO PCT/GB2019/050189 patent/WO2019150077A1/en unknown
- 2019-01-23 JP JP2020540422A patent/JP7369699B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0215345A (ja) * | 1988-07-04 | 1990-01-19 | Hitachi Ltd | データ処理装置 |
US5574877A (en) * | 1992-09-25 | 1996-11-12 | Silicon Graphics, Inc. | TLB with two physical pages per virtual tag |
JP2002366425A (ja) * | 2001-06-05 | 2002-12-20 | Hitachi Ltd | アドレス変換回路を有するデータ処理装置 |
Also Published As
Publication number | Publication date |
---|---|
IL275728B2 (en) | 2024-03-01 |
EP3746898B1 (en) | 2022-08-03 |
IL275728A (en) | 2020-08-31 |
GB2570665A (en) | 2019-08-07 |
US11687464B2 (en) | 2023-06-27 |
CN111527480A (zh) | 2020-08-11 |
TW201935249A (zh) | 2019-09-01 |
EP3746898A1 (en) | 2020-12-09 |
IL275728B1 (en) | 2023-11-01 |
GB201801598D0 (en) | 2018-03-14 |
US20200264983A1 (en) | 2020-08-20 |
WO2019150077A1 (en) | 2019-08-08 |
KR20200116471A (ko) | 2020-10-12 |
JP7369699B2 (ja) | 2023-10-26 |
GB2570665B (en) | 2020-08-26 |
TWI791086B (zh) | 2023-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4815539B2 (ja) | フレーム管理を有する動的アドレス変換 | |
KR102586257B1 (ko) | 명령들의 실행을 제어하는 장치 및 방법 | |
JP7291149B2 (ja) | メモリ・アクセスにおける保護タグ・チェックの制御 | |
KR20200107997A (ko) | 다중 가드 태그 설정 명령어 | |
JP7349437B2 (ja) | メモリ・アクセスにおける保護タグ・チェックの制御 | |
JP7369699B2 (ja) | データ処理装置におけるアドレス変換 | |
JP7317099B2 (ja) | ガード・タグ紛失の取り扱い | |
TW202403562A (zh) | 用於記憶體位址空間之頁面的「讀值只有x」性質 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221227 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230327 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230414 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230809 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20230822 |
|
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: 20230922 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231016 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7369699 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |