JP2016513835A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2016513835A5 JP2016513835A5 JP2015561519A JP2015561519A JP2016513835A5 JP 2016513835 A5 JP2016513835 A5 JP 2016513835A5 JP 2015561519 A JP2015561519 A JP 2015561519A JP 2015561519 A JP2015561519 A JP 2015561519A JP 2016513835 A5 JP2016513835 A5 JP 2016513835A5
- Authority
- JP
- Japan
- Prior art keywords
- ipa
- physical memory
- function
- page table
- tlb
- 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
- 230000000875 corresponding Effects 0.000 claims 2
- 238000004590 computer program Methods 0.000 claims 1
Claims (10)
- ハードウェアテーブルウォーク(HWTW)を実行することに関連する処理オーバーヘッドを低減するコンピュータシステムであって、
ホストオペレーティングシステム(OS)およびハイパーバイザを実行する少なくとも1つの中央処理装置(CPU)であって、前記ハイパーバイザは、CPU上の少なくとも第1のゲストOSの実行を制御し、前記ハイパーバイザは、前記第1のゲストOSに関連付けられた少なくとも第1の仮想マシン(VM)を実行する、CPUと、
前記CPUと通信状態にある物理メモリであって、前記物理メモリは、物理アドレス(PA)によってアドレス指定可能である物理メモリロケーションを有し、少なくとも1つのページテーブルが、物理メモリの物理メモリロケーションに記憶され、前記ページテーブルは、中間物理アドレス(IPA)を、物理メモリの実際のPAにマップするためのマッピングに対応するページテーブルエントリを備える、物理メモリと、
前記ページテーブルエントリのサブセットを記憶する少なくとも1つの変換ルックアサイドバッファ(TLB)と、
前記CPU、前記物理メモリ、および前記TLBと通信状態にある少なくとも1つのメモリ管理ユニット(MMU)と
を備え、
前記MMUは、IPAに関連するページテーブルエントリが前記TLBの中に記憶されているか否かを判定し、
前記IPAに関連するページテーブルエントリが前記TLBの中に記憶されていない場合、TLBミスが生じており、
TLBミスが生じた場合、前記MMUは、読み取られるべきページテーブルデータが記憶されている前記物理メモリのPAを予測し、
前記MMUは、PA=f(IPA)である前記IPAの関数fとして前記PAを予測し、かつ、前記関数fは、IPAの範囲にわたって前記IPAと前記予測されるPAの間の1対1マッピングをもたらし、
前記ハイパーバイザは、少なくとも第2のVMを実行しており、前記関数fは、f = IPA + Offset_function(VMID)であり、ここで、VMIDは、前記第1のVMおよび前記第2のVMにわたる一意識別子であり、かつ、Offset_functionは、前記VMIDに関連する特定のオフセット値に基づいて選択された出力を有する関数である、コンピュータシステム。 - モバイルデバイスの一部である請求項1に記載のコンピュータシステム。
- 前記モバイルデバイスは、モバイル電話機である請求項2に記載のコンピュータシステム。
- 前記モバイル電話機は、スマートフォンである請求項3に記載のコンピュータシステム。
- ハードウェアテーブルウォーク(HWTW)を実行することに関連する処理オーバーヘッドを低減する方法であって、
少なくとも1つの中央処理装置(CPU)、少なくとも1つの物理メモリ、少なくとも1つの変換ルックアサイドバッファ(TLB)、および少なくとも1つのメモリ管理ユニット(MMU)を提供するステップであって、前記CPU、前記物理メモリ、前記TLB、および前記MMUは、互いに通信状態にあり、前記CPUは、ホストオペレーティングシステム(OS)およびハイパーバイザを実行しており、前記ハイパーバイザは、前記CPU上の少なくとも第1のゲストOSの実行を制御しており、前記ハイパーバイザは、前記第1のゲストOSに関連付けられた少なくとも第1の仮想マシン(VM)を実行しており、前記物理メモリは、物理アドレス(PA)によってアドレス指定可能である物理メモリロケーションを有し、少なくとも1つのページテーブルが、前記物理メモリの物理メモリロケーションに記憶され、前記ページテーブルは、中間物理アドレス(IPA)を、前記物理メモリの実際のPAにマップするためのマッピングに対応するページテーブルエントリを備え、前記TLBは、前記ページテーブルエントリのサブセットを記憶する、ステップと、
前記MMUにおいて、
IPAに関連するページテーブルエントリが前記TLBの中に記憶されているか否かを判定するステップと、
前記IPAに関連するページテーブルエントリが前記TLBの中に記憶されていないという判定が行われた場合、TLBミスが生じたと決定するステップと、
TLBミスが生じたという決定が行われた場合、読み取られるべきページテーブルデータが記憶されている前記物理メモリのPAを予測するステップと
を備え、
前記MMUは、PA=f(IPA)である前記IPAの関数fとして前記PAを予測し、かつ、前記関数fは、IPAの範囲にわたって前記IPAと前記予測されるPAの間の1対1マッピングをもたらし、
前記ハイパーバイザは、少なくとも第2のVMを実行しており、前記関数fは、f = IPA + Offset_function(VMID)であり、ここで、VMIDは、前記第1のVMおよび前記第2のVMにわたる一意識別子であり、かつ、Offset_functionは、前記VMIDに関連する特定のオフセット値に基づいて選択された出力を有する関数である、方法。 - 前記ハイパーバイザは、前記CPU上の少なくとも第1のゲストOSおよび第2のゲストOSの実行を制御し、前記ハイパーバイザは、前記第2のゲストOSに関連付けられた少なくとも第2のVMを実行することもしており、PAを予測するのに前記MMUによって使用される前記関数fは、前記第1のVMに関連するミスに関するPAの第1の範囲内にあるPAを予測し、かつ前記第2のVMに関連するミスに関するPAの第2の範囲内にあるPAを予測し、PAの前記第1の範囲と前記第2の範囲は、互いに異なる請求項5に記載の方法。
- モバイルデバイスのコンピュータシステムによって実行される請求項5に記載の方法。
- 前記モバイルデバイスは、モバイル電話機である請求項7に記載の方法。
- 前記モバイル電話機は、スマートフォンである請求項8に記載の方法。
- コンピュータに請求項5乃至9のいずれか1項に記載の方法を実行させるための命令を含むコンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/785,877 | 2013-03-05 | ||
US13/785,877 US9015400B2 (en) | 2013-03-05 | 2013-03-05 | Methods and systems for reducing the amount of time and computing resources that are required to perform a hardware table walk (HWTW) |
PCT/US2014/020101 WO2014137970A1 (en) | 2013-03-05 | 2014-03-04 | Methods and systems for reducing the amount of time and computing resources that are required to perform a hardware table walk |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016513835A JP2016513835A (ja) | 2016-05-16 |
JP2016513835A5 true JP2016513835A5 (ja) | 2017-03-23 |
JP6298083B2 JP6298083B2 (ja) | 2018-03-20 |
Family
ID=50382619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015561519A Expired - Fee Related JP6298083B2 (ja) | 2013-03-05 | 2014-03-04 | ハードウェアテーブルウォークを実行するのに要求される時間およびコンピューティングリソースの量を低減するための方法およびシステム |
Country Status (7)
Country | Link |
---|---|
US (1) | US9015400B2 (ja) |
EP (1) | EP2965210A1 (ja) |
JP (1) | JP6298083B2 (ja) |
KR (1) | KR20150128804A (ja) |
CN (1) | CN105027095B (ja) |
TW (1) | TWI526832B (ja) |
WO (1) | WO2014137970A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9330026B2 (en) | 2013-03-05 | 2016-05-03 | Qualcomm Incorporated | Method and apparatus for preventing unauthorized access to contents of a register under certain conditions when performing a hardware table walk (HWTW) |
US9805194B2 (en) | 2015-03-27 | 2017-10-31 | Intel Corporation | Memory scanning methods and apparatus |
US10474589B1 (en) | 2016-03-02 | 2019-11-12 | Janus Technologies, Inc. | Method and apparatus for side-band management of security for a server computer |
US10261916B2 (en) * | 2016-03-25 | 2019-04-16 | Advanced Micro Devices, Inc. | Adaptive extension of leases for entries in a translation lookaside buffer |
US10386904B2 (en) * | 2016-03-31 | 2019-08-20 | Qualcomm Incorporated | Hardware managed power collapse and clock wake-up for memory management units and distributed virtual memory networks |
US20180069767A1 (en) * | 2016-09-06 | 2018-03-08 | Advanced Micro Devices, Inc. | Preserving quality of service constraints in heterogeneous processing systems |
EP3355188B1 (en) | 2017-01-31 | 2021-08-25 | OpenSynergy GmbH | Instrument display on a car dashboard by checking frames of a gui by a realtime os |
US10754790B2 (en) * | 2018-04-26 | 2020-08-25 | Qualcomm Incorporated | Translation of virtual addresses to physical addresses using translation lookaside buffer information |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2933628B2 (ja) * | 1988-07-25 | 1999-08-16 | 株式会社日立製作所 | 主記憶装置管理方法および計算機システム |
GB2260004B (en) | 1991-09-30 | 1995-02-08 | Apple Computer | Memory management unit for a computer system |
US7124170B1 (en) | 1999-08-20 | 2006-10-17 | Intertrust Technologies Corp. | Secure processing unit systems and methods |
US20030079103A1 (en) | 2001-10-24 | 2003-04-24 | Morrow Michael W. | Apparatus and method to perform address translation |
US8051301B2 (en) | 2001-11-13 | 2011-11-01 | Advanced Micro Devices, Inc. | Memory management system and method providing linear address based memory access security |
RU2005115094A (ru) | 2002-11-18 | 2006-01-20 | Арм Лимитед (Gb) | Отображение адресов виртуальной памяти на физические адреса в системе с наличием защищенного домена и незащищенного домена |
US7089397B1 (en) * | 2003-07-03 | 2006-08-08 | Transmeta Corporation | Method and system for caching attribute data for matching attributes with physical addresses |
US7117290B2 (en) * | 2003-09-03 | 2006-10-03 | Advanced Micro Devices, Inc. | MicroTLB and micro tag for reducing power in a processor |
US8156343B2 (en) * | 2003-11-26 | 2012-04-10 | Intel Corporation | Accessing private data about the state of a data processing machine from storage that is publicly accessible |
US7162609B2 (en) * | 2003-12-03 | 2007-01-09 | Marvell International Ltd. | Translation lookaside buffer prediction mechanism |
EP1870814B1 (en) | 2006-06-19 | 2014-08-13 | Texas Instruments France | Method and apparatus for secure demand paging for processor devices |
US7340582B2 (en) | 2004-09-30 | 2008-03-04 | Intel Corporation | Fault processing for direct memory access address translation |
US7428626B2 (en) | 2005-03-08 | 2008-09-23 | Microsoft Corporation | Method and system for a second level address translation in a virtual machine environment |
US20060224815A1 (en) | 2005-03-30 | 2006-10-05 | Koichi Yamada | Virtualizing memory management unit resources |
US20070226795A1 (en) | 2006-02-09 | 2007-09-27 | Texas Instruments Incorporated | Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture |
US7822941B2 (en) | 2006-06-05 | 2010-10-26 | Oracle America, Inc. | Function-based virtual-to-physical address translation |
US7594079B2 (en) * | 2006-09-29 | 2009-09-22 | Mips Technologies, Inc. | Data cache virtual hint way prediction, and applications thereof |
US8615643B2 (en) * | 2006-12-05 | 2013-12-24 | Microsoft Corporation | Operational efficiency of virtual TLBs |
EP2075696A3 (en) | 2007-05-10 | 2010-01-27 | Texas Instruments Incorporated | Interrupt- related circuits, systems and processes |
WO2009001153A1 (en) * | 2007-06-28 | 2008-12-31 | Nokia Corporation | Memory protection unit in a virtual processing environment |
US8595465B1 (en) * | 2009-09-09 | 2013-11-26 | Marvell Israel (M.I.S.L) Ltd. | Virtual address to physical address translation using prediction logic |
WO2011156021A2 (en) | 2010-03-01 | 2011-12-15 | The Trustees Of Columbia University In The City Of New York | Systems and methods for detecting design-level attacks against a digital circuit |
US9405700B2 (en) | 2010-11-04 | 2016-08-02 | Sonics, Inc. | Methods and apparatus for virtualization in an integrated circuit |
US20120246381A1 (en) * | 2010-12-14 | 2012-09-27 | Andy Kegel | Input Output Memory Management Unit (IOMMU) Two-Layer Addressing |
US9092358B2 (en) * | 2011-03-03 | 2015-07-28 | Qualcomm Incorporated | Memory management unit with pre-filling capability |
US9009445B2 (en) * | 2011-10-20 | 2015-04-14 | Apple Inc. | Memory management unit speculative hardware table walk scheme |
CN102722451B (zh) * | 2012-06-25 | 2015-04-15 | 杭州中天微系统有限公司 | 采用物理地址预测访问高速缓存的装置 |
US9330026B2 (en) | 2013-03-05 | 2016-05-03 | Qualcomm Incorporated | Method and apparatus for preventing unauthorized access to contents of a register under certain conditions when performing a hardware table walk (HWTW) |
-
2013
- 2013-03-05 US US13/785,877 patent/US9015400B2/en active Active
-
2014
- 2014-03-03 TW TW103107028A patent/TWI526832B/zh not_active IP Right Cessation
- 2014-03-04 EP EP14712879.7A patent/EP2965210A1/en not_active Withdrawn
- 2014-03-04 KR KR1020157027417A patent/KR20150128804A/ko not_active Application Discontinuation
- 2014-03-04 CN CN201480011808.8A patent/CN105027095B/zh not_active Expired - Fee Related
- 2014-03-04 WO PCT/US2014/020101 patent/WO2014137970A1/en active Application Filing
- 2014-03-04 JP JP2015561519A patent/JP6298083B2/ja not_active Expired - Fee Related
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016513835A5 (ja) | ||
US20230161615A1 (en) | Techniques for virtual machine transfer and resource management | |
US9335943B2 (en) | Method and apparatus for fine grain memory protection | |
JP2015526829A5 (ja) | ||
US10877793B2 (en) | Extending the base address register by modifying the number of read-only bits associated with a device to be presented to a guest operating system | |
JP2015135696A5 (ja) | ||
US10671542B2 (en) | Application execution enclave memory method and apparatus | |
JP2014174998A5 (ja) | ||
JP2013519965A5 (ja) | ||
MX2016007844A (es) | Metodo de procesamiento de recursos, sistema operativo y dispositivo. | |
JP2020524840A5 (ja) | ||
JP2015503805A5 (ja) | ||
US9652274B2 (en) | Techniques for handling memory accesses by processor-independent executable code in a multi-processor environment | |
WO2016033039A2 (en) | Routing direct memory access requests in a virtualized computing environment | |
JP2018538630A5 (ja) | ||
WO2015160448A1 (en) | Binary translation reuse in a system with address space layout randomization | |
US10445247B2 (en) | Switching between single-level and two-level page table translations | |
TWI526832B (zh) | 用於減少執行硬體表搜尋(hwtw)所需的時間和計算資源量的方法和系統 | |
US10339068B2 (en) | Fully virtualized TLBs | |
JP2016515265A5 (ja) | ||
GB2520856A (en) | Enabling Virtualization of a processor resource | |
JP2014235501A5 (ja) | ||
US20150248237A1 (en) | Reverse Copy on Write for Better Cache Utilization | |
GB2577468A (en) | Sharing virtual and real translations in a virtual cache | |
GB2559289A (en) | Pre-loading page table cache lines of a virtual machine |