JP5496085B2 - マイクロコードエミュレーションメモリのキャッシング - Google Patents
マイクロコードエミュレーションメモリのキャッシング Download PDFInfo
- Publication number
- JP5496085B2 JP5496085B2 JP2010510322A JP2010510322A JP5496085B2 JP 5496085 B2 JP5496085 B2 JP 5496085B2 JP 2010510322 A JP2010510322 A JP 2010510322A JP 2010510322 A JP2010510322 A JP 2010510322A JP 5496085 B2 JP5496085 B2 JP 5496085B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- microcode
- instruction
- processor
- access
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/754,589 US7734873B2 (en) | 2007-05-29 | 2007-05-29 | Caching of microcode emulation memory |
| US11/754,589 | 2007-05-29 | ||
| PCT/US2008/006746 WO2008153799A1 (en) | 2007-05-29 | 2008-05-28 | Caching of microcode emulation memory |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2010529534A JP2010529534A (ja) | 2010-08-26 |
| JP2010529534A5 JP2010529534A5 (enExample) | 2011-07-28 |
| JP5496085B2 true JP5496085B2 (ja) | 2014-05-21 |
Family
ID=39708011
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010510322A Active JP5496085B2 (ja) | 2007-05-29 | 2008-05-28 | マイクロコードエミュレーションメモリのキャッシング |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US7734873B2 (enExample) |
| JP (1) | JP5496085B2 (enExample) |
| KR (1) | KR101503865B1 (enExample) |
| CN (1) | CN101707881B (enExample) |
| DE (1) | DE112008001473B4 (enExample) |
| GB (1) | GB2462556B (enExample) |
| TW (1) | TWI457826B (enExample) |
| WO (1) | WO2008153799A1 (enExample) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8296528B2 (en) * | 2008-11-03 | 2012-10-23 | Intel Corporation | Methods and systems for microcode patching |
| US20120017039A1 (en) * | 2010-07-16 | 2012-01-19 | Plx Technology, Inc. | Caching using virtual memory |
| US9529729B2 (en) * | 2010-11-16 | 2016-12-27 | International Business Machines Corporation | Location of memory management translations in an emulated processor |
| US9251093B2 (en) | 2011-05-19 | 2016-02-02 | International Business Machines Corporation | Managing the translation look-aside buffer (TLB) of an emulated machine |
| CN106469020B (zh) * | 2015-08-19 | 2019-08-09 | 旺宏电子股份有限公司 | 高速缓存元件与控制方法及其应用系统 |
| US10884751B2 (en) | 2018-07-13 | 2021-01-05 | Advanced Micro Devices, Inc. | Method and apparatus for virtualizing the micro-op cache |
| US11016763B2 (en) | 2019-03-08 | 2021-05-25 | Advanced Micro Devices, Inc. | Implementing a micro-operation cache with compaction |
| US11720360B2 (en) | 2020-09-11 | 2023-08-08 | Apple Inc. | DSB operation with excluded region |
| CN119025052B (zh) * | 2024-10-29 | 2025-02-28 | 上海芯力基半导体有限公司 | 一种处理器及其内存读取方法 |
Family Cites Families (32)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4901235A (en) * | 1983-10-28 | 1990-02-13 | Data General Corporation | Data processing system having unique multilevel microcode architecture |
| JPH0738175B2 (ja) * | 1987-10-20 | 1995-04-26 | 富士通株式会社 | 仮想記憶装置のデータ保護検査方法 |
| US5278973A (en) * | 1989-03-27 | 1994-01-11 | Unisys Corporation | Dual operating system computer |
| US5132927A (en) * | 1990-10-09 | 1992-07-21 | Tandem Computers Incorporated | System for cache space allocation using selective addressing |
| WO1993006549A1 (en) * | 1991-09-19 | 1993-04-01 | Chips And Technologies, Inc. | A system for performing input and output operations to and from a processor |
| US5905997A (en) | 1994-04-29 | 1999-05-18 | Amd Inc. | Set-associative cache memory utilizing a single bank of physical memory |
| US5826052A (en) * | 1994-04-29 | 1998-10-20 | Advanced Micro Devices, Inc. | Method and apparatus for concurrent access to multiple physical caches |
| JP3177117B2 (ja) * | 1994-05-11 | 2001-06-18 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 複数のノード内の制御コードを更新する方法および装置 |
| JPH07311752A (ja) * | 1994-05-11 | 1995-11-28 | Internatl Business Mach Corp <Ibm> | 分散データ処理システム及び初期プログラムロード方法 |
| US5926642A (en) | 1995-10-06 | 1999-07-20 | Advanced Micro Devices, Inc. | RISC86 instruction set |
| US5864689A (en) * | 1995-12-05 | 1999-01-26 | Advanced Micro Devices, Inc. | Microprocessor configured to selectively invoke a microcode DSP function or a program subroutine in response to a target address value of branch instruction |
| US5950012A (en) * | 1996-03-08 | 1999-09-07 | Texas Instruments Incorporated | Single chip microprocessor circuits, systems, and methods for self-loading patch micro-operation codes and patch microinstruction codes |
| US5796972A (en) * | 1997-01-14 | 1998-08-18 | Unisys Corporation | Method and apparatus for performing microcode paging during instruction execution in an instruction processor |
| US6141740A (en) * | 1997-03-03 | 2000-10-31 | Advanced Micro Devices, Inc. | Apparatus and method for microcode patching for generating a next address |
| US5889978A (en) * | 1997-04-18 | 1999-03-30 | Intel Corporation | Emulation of interrupt control mechanism in a multiprocessor system |
| AU7575398A (en) | 1998-05-15 | 1999-12-06 | Richard Rubinstein | Shared, reconfigurable cache memory execution subsystem |
| JP2000194602A (ja) * | 1998-12-28 | 2000-07-14 | Nec Corp | 情報処理装置、マイクロプロセッサ及び外部キャッシュメモリの制御方法 |
| US6745306B1 (en) * | 1999-07-29 | 2004-06-01 | Microsoft Corporation | Method and system for restricting the load of physical address translations of virtual addresses |
| US6457100B1 (en) * | 1999-09-15 | 2002-09-24 | International Business Machines Corporation | Scaleable shared-memory multi-processor computer system having repetitive chip structure with efficient busing and coherence controls |
| US6397301B1 (en) * | 1999-12-29 | 2002-05-28 | Intel Corporation | Preventing access to secure area of a cache |
| US6643800B1 (en) * | 2000-02-02 | 2003-11-04 | Hewlett-Packard Development Company, L.P. | Method and apparatus for testing microarchitectural features by using tests written in microcode |
| US6804772B2 (en) * | 2000-06-12 | 2004-10-12 | Broadcom Corporation | Dynamic field patchable microarchitecture |
| EP1182570A3 (en) * | 2000-08-21 | 2004-08-04 | Texas Instruments Incorporated | TLB with resource ID field |
| US6754765B1 (en) * | 2001-05-14 | 2004-06-22 | Integrated Memory Logic, Inc. | Flash memory controller with updateable microcode |
| US7346757B2 (en) * | 2002-10-08 | 2008-03-18 | Rmi Corporation | Advanced processor translation lookaside buffer management in a multithreaded system |
| US7797492B2 (en) * | 2004-02-20 | 2010-09-14 | Anoop Mukker | Method and apparatus for dedicating cache entries to certain streams for performance optimization |
| US7370243B1 (en) * | 2004-06-30 | 2008-05-06 | Sun Microsystems, Inc. | Precise error handling in a fine grain multithreaded multicore processor |
| US7437581B2 (en) * | 2004-09-28 | 2008-10-14 | Intel Corporation | Method and apparatus for varying energy per instruction according to the amount of available parallelism |
| JP2006209527A (ja) * | 2005-01-28 | 2006-08-10 | Nokia Corp | コンピュータシステム |
| US7095342B1 (en) * | 2005-03-31 | 2006-08-22 | Intel Corporation | Compressing microcode |
| US7827390B2 (en) * | 2007-04-10 | 2010-11-02 | Via Technologies, Inc. | Microprocessor with private microcode RAM |
| US7681020B2 (en) * | 2007-04-18 | 2010-03-16 | International Business Machines Corporation | Context switching and synchronization |
-
2007
- 2007-05-29 US US11/754,589 patent/US7734873B2/en active Active
-
2008
- 2008-05-28 DE DE112008001473.6T patent/DE112008001473B4/de active Active
- 2008-05-28 KR KR1020097026820A patent/KR101503865B1/ko not_active Expired - Fee Related
- 2008-05-28 CN CN200880018278.4A patent/CN101707881B/zh active Active
- 2008-05-28 GB GB0920954.5A patent/GB2462556B/en active Active
- 2008-05-28 TW TW097119629A patent/TWI457826B/zh active
- 2008-05-28 WO PCT/US2008/006746 patent/WO2008153799A1/en not_active Ceased
- 2008-05-28 JP JP2010510322A patent/JP5496085B2/ja active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US20080301364A1 (en) | 2008-12-04 |
| GB2462556B (en) | 2012-05-30 |
| GB0920954D0 (en) | 2010-01-13 |
| KR101503865B1 (ko) | 2015-03-24 |
| WO2008153799A1 (en) | 2008-12-18 |
| TWI457826B (zh) | 2014-10-21 |
| DE112008001473B4 (de) | 2021-08-26 |
| CN101707881A (zh) | 2010-05-12 |
| CN101707881B (zh) | 2016-06-15 |
| KR20100022483A (ko) | 2010-03-02 |
| US7734873B2 (en) | 2010-06-08 |
| TW200905555A (en) | 2009-02-01 |
| GB2462556A (en) | 2010-02-17 |
| JP2010529534A (ja) | 2010-08-26 |
| DE112008001473T5 (de) | 2010-07-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5496085B2 (ja) | マイクロコードエミュレーションメモリのキャッシング | |
| JP7359837B2 (ja) | メモリ・システム内に記憶されているメモリ保護テーブルを使用するメモリ保護ユニット | |
| CN109582214B (zh) | 数据访问方法以及计算机系统 | |
| JP5090047B2 (ja) | ロックされたキャッシュ内のセットの置換を管理するための方法、コンピュータ・プログラム、キャッシング・システムおよびプロセッサ | |
| EP2275939B1 (en) | Processor and address translating method | |
| JP7397057B2 (ja) | メモリ・システム内に記憶されている制御テーブルのための二分探索手順 | |
| US20080086599A1 (en) | Method to retain critical data in a cache in order to increase application performance | |
| JP6088951B2 (ja) | キャッシュメモリシステムおよびプロセッサシステム | |
| JPWO2010035425A1 (ja) | キャッシュメモリ、その制御方法及びメモリシステム | |
| CN104169892A (zh) | 并发访问的组相联溢出缓存 | |
| KR20210011060A (ko) | 분기 명령어의 유형에 기초한 사전 분기 예측의 선택적 수행 | |
| US10324760B2 (en) | Leases for blocks of memory in a multi-level memory | |
| US9740636B2 (en) | Information processing apparatus | |
| CN103052945A (zh) | 管理计算机存储器的方法、程序产品及数据存储设备 | |
| JP7160792B2 (ja) | キャッシュエントリ転送のためにキャッシュ位置情報を記憶するシステム及び方法 | |
| JP5039913B2 (ja) | ロッキング・キャッシュを用いる直接的保存 | |
| US11755497B2 (en) | Memory management | |
| US20150058574A1 (en) | Increasing The Efficiency of Memory Resources In a Processor | |
| US20170357585A1 (en) | Setting cache entry age based on hints from another cache level | |
| US11157319B2 (en) | Processor with processor memory pairs for improved process switching and methods thereof | |
| US8495303B2 (en) | Processor and computer system with buffer memory | |
| WO2024136901A1 (en) | Using masked stream identifiers for a translation lookaside buffer | |
| JP7384102B2 (ja) | ベクトルプロセッサ、演算方法及びプログラム | |
| US20240111425A1 (en) | Tag and data configuration for fine-grained cache memory | |
| JP7142289B2 (ja) | プロセッサ、多階層キャッシュメモリの制御方法、及び多階層キャッシュメモリの制御プログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20100902 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110527 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110527 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121019 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121024 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130123 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130130 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130225 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130304 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130424 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130723 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130730 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130823 |
|
| 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: 20140205 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140304 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5496085 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |