JP4812876B2 - 演算処理装置および演算処理装置の制御方法 - Google Patents
演算処理装置および演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP4812876B2 JP4812876B2 JP2009520205A JP2009520205A JP4812876B2 JP 4812876 B2 JP4812876 B2 JP 4812876B2 JP 2009520205 A JP2009520205 A JP 2009520205A JP 2009520205 A JP2009520205 A JP 2009520205A JP 4812876 B2 JP4812876 B2 JP 4812876B2
- Authority
- JP
- Japan
- Prior art keywords
- entry
- registered
- tlb
- bit
- associative 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.)
- Expired - Fee Related
Links
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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- 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/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- 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/1016—Performance improvement
- G06F2212/1021—Hit rate 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/68—Details of translation look-aside buffer [TLB]
- G06F2212/681—Multi-level TLB, e.g. microTLB and main TLB
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
11 CPU
11a 演算部/命令制御部
20 L1キャッシュ制御部
21 L1キャッシュRAM
22 MainTLB
22a fTLB
22b sTLB
23 MicroTLB
24 エントリ登録判定部
25 リプレース制御部
30 L2キャッシュ制御部
31 L2キャッシュRAM
40 主記憶部(メモリ)
まず最初に、図1を用いて、実施例1に係る演算処理装置の概要および特徴を説明する。図1は、実施例1に係る演算処理装置の概要と特徴を説明するための図である。
次に、図2を用いて、図1に示した演算処理装置の構成を説明する。図2は、実施例1に係る演算処理装置の構成を示すブロック図である。図2に示すように、この演算処理装置10は、CPU11と、L1キャッシュ制御部20と、L2キャッシュ制御部30と、主記憶部40とから構成される。
次に、図3を用いて、演算処理装置による処理を説明する。図3は、実施例1に係る演算処理装置による処理の流れを示すフローチャートである。
このように、実施例1によれば、主記憶部40から出力されたエントリをsTLB22bに登録する場合に、登録先となるsTLB22bの領域に既にエントリが登録されているか否かを判定し、登録先となるsTLB22bの領域に既にエントリが登録されていると判定されると、当該既に登録されているエントリを読み出してfTLB22aに登録するので、スラッシングの発生を防止し、処理性能を向上させることが可能である。
例えば、実施例1〜6では、sTLBのウェイ数を「2」とした場合について説明したが、ウェイ数を限定するものではなく、3ウェイや5ウェイなどでも同様に処理を行うことが可能である。また、fTLBの領域も同様に、図示した領域の数に限定するものではない。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理(例えば、主記憶部からの物理アドレスを含むエントリの出力処理など)の全部または一部を手動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
Claims (7)
- 主記憶部上に配置される仮想アドレスから物理アドレスへの変換表の一部をエントリとして保持するフルアソシアティブTLBと、
前記フルアソシアティブTLBに保持されるエントリのうち、使用頻度の高いエントリを保持するセットアソシアティブTLBと、
前記主記憶部から出力されたエントリを前記セットアソシアティブTLBに登録する場合に、登録先となる前記セットアソシアティブTLBにエントリが既に登録されているか否かを判定するエントリ登録判定手段と、
前記エントリ登録判定手段が前記登録先となる前記セットアソシアティブTLBにエントリが既に登録されていると判定した場合、前記既に登録されていると判定したエントリを読み出すとともに、前記エントリが主記憶から直接出力されたエントリではなく、前記セットアソシアティブTLBから出力されたエントリであることを示す識別子を付加して、前記フルアソシアティブTLBに登録するリプレース制御手段、
を備えたことを特徴とする演算処理装置。 - 前記リプレース制御手段は、前記エントリ登録判定手段が前記登録先となる前記セットアソシアティブTLBに既にエントリが登録されていると判定した場合、前記既に登録されていると判定したエントリを読み出すとともに、前記読み出したエントリにエラーが検出された場合に、前記読み出したエントリを前記フルアソシアティブTLBに登録せず、前記読み出したエラーが検出されない場合に、前記読み出したエントリを前記フルアソシアティブTLBに登録することを特徴とする請求項1記載の演算処理装置。
- 前記リプレース制御手段によってエントリが登録された前記フルアソシアティブTLBにおいて、同一のページ内エントリが複数個登録されたことによりマルチヒットが検出された場合に、前記マルチヒットが検出されたエントリを削除するエントリ削除手段をさらに備えたことを特徴とする請求項1記載の演算処理装置。
- 前記フルアソシアティブTLBは、登録されているエントリごとに、エントリが有効であるか否かを示す有効ビットと、エントリが前記フルアソシアティブTLBから追い出されないように固定化されているか否かを示すロックビットと、エントリが使用されたか否かを示す使用ビットと、エントリが前記セットアソシアティブTLBから出力されたエントリであるか否かを示すリプレースビットとを備え、
前記リプレース制御手段は、前記エントリ登録判定手段が前記主記憶部から出力されたエントリの登録先となる前記セットアソシアティブTLBにエントリが既に登録されていると判定した場合、前記既に登録されているエントリを読み出して、前記フルアソシアティブTLBに登録されているエントリの有効ビットがオフのエントリにリプレースビットを有効にして登録し、前記フルアソシアティブTLBに登録されている全てのエントリの有効ビットがオンの場合には、ロックビットがオフかつ使用ビットがオフのエントリにリプレースビットを有効にして登録し、登録されている全てのエントリの有効ビットがオンかつロックビットがオンまたは使用ビットがオンの場合には、前記登録されている全ての使用ビットを全てオフにして、ロックビットがオフかつ使用ビットがオフのエントリにリプレースビットを有効にして登録することを特徴とする請求項1〜3のいずれか1項に記載の演算処理装置。 - 前記リプレース制御手段は、前記フルアソシアティブTLBに登録されている全てのエントリのロックビットがオンになった場合、前記エントリ登録判定手段が前記主記憶部から出力されたエントリの登録先となる前記セットアソシアティブTLBにエントリが既に登録されていると判定したときでも、読み出した前記既に登録されているエントリを前記フルアソシアティブTLBに登録することを抑止することを特徴とする請求項4記載の演算処理装置。
- 前記リプレース制御手段は、前記フルアソシアティブTLBに登録されている全てのエントリのロックビットがオンになった後に、いずれかのエントリのロックビットがオフになった場合に、前記主記憶部から出力されたエントリの登録先となる前記セットアソシアティブTLBに登録されているエントリを読み出して、前記フルアソシアティブTLBに登録することを特徴とする請求項5記載の演算処理装置。
- 主記憶部上に配置される仮想アドレスから物理アドレスへの変換表の一部をエントリとして保持する前記フルアソシアティブTLBと、前記フルアソシアティブTLBに保持されるエントリのうち、使用頻度の高いエントリを保持するセットアソシアティブTLBとを備えた演算処理装置の制御方法であって、
前記主記憶部から出力されたエントリを前記セットアソシアティブTLBに登録する場合に、登録先となる前記セットアソシアティブTLBにエントリが既に登録されているか否かを判定するステップと、
前記登録先となる前記セットアソシアティブTLBにエントリが既に登録されていると判定された場合、前記既に登録されていると判定されたエントリを読み出すとともに、前記エントリが主記憶から直接出力されたエントリではなく、前記セットアソシアティブTLBから出力されたエントリであることを示す識別子を付加して、前記フルアソシアティブTLBに登録するステップ、
を有することを特徴とする制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2007/062465 WO2008155851A1 (ja) | 2007-06-20 | 2007-06-20 | 演算処理装置、エントリ制御プログラムおよびエントリ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2008155851A1 JPWO2008155851A1 (ja) | 2010-08-26 |
JP4812876B2 true JP4812876B2 (ja) | 2011-11-09 |
Family
ID=40156017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009520205A Expired - Fee Related JP4812876B2 (ja) | 2007-06-20 | 2007-06-20 | 演算処理装置および演算処理装置の制御方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8688952B2 (ja) |
EP (1) | EP2159707A4 (ja) |
JP (1) | JP4812876B2 (ja) |
WO (1) | WO2008155851A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5526626B2 (ja) * | 2009-06-30 | 2014-06-18 | 富士通株式会社 | 演算処理装置およびアドレス変換方法 |
US20130166846A1 (en) * | 2011-12-26 | 2013-06-27 | Jayesh Gaur | Hierarchy-aware Replacement Policy |
US9396113B2 (en) | 2013-08-06 | 2016-07-19 | Oracle International Corporation | Flexible configuration hardware streaming unit |
US9830275B2 (en) * | 2015-05-18 | 2017-11-28 | Imagination Technologies Limited | Translation lookaside buffer |
US20220206955A1 (en) * | 2020-12-26 | 2022-06-30 | Intel Corporation | Automated translation lookaside buffer set rebalancing |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS51140521A (en) * | 1975-05-30 | 1976-12-03 | Nec Corp | Address exchange device |
JPS5998367A (ja) * | 1982-11-26 | 1984-06-06 | Nec Corp | アドレス変換バツフア方式 |
JPH01226056A (ja) * | 1988-03-04 | 1989-09-08 | Nec Corp | アドレス変換回路 |
JPH03164845A (ja) * | 1989-11-22 | 1991-07-16 | Hitachi Ltd | アドレス変換バッファ方式 |
JPH05324477A (ja) * | 1992-05-21 | 1993-12-07 | Toshiba Corp | アドレス変換バッファ機構 |
JPH06187244A (ja) * | 1992-12-22 | 1994-07-08 | Toshiba Corp | アドレス変換バッファ機構 |
JPH11501745A (ja) * | 1995-03-03 | 1999-02-09 | ハル コンピュータ システムズ,インコーポレイティド | コンピュータシステム内のアドレス変換用ルックアサイドバッファ |
JP2000242558A (ja) * | 1999-02-19 | 2000-09-08 | Hitachi Ltd | キャッシュシステム及びその操作方法 |
JP2006039968A (ja) * | 2004-07-27 | 2006-02-09 | Fujitsu Ltd | アドレス変換バッファ制御装置およびアドレス変換バッファ制御方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3164845B2 (ja) | 1991-08-30 | 2001-05-14 | 松下電器産業株式会社 | 書換え可能な記録媒体の記録方法 |
DE19526960A1 (de) * | 1994-09-27 | 1996-03-28 | Hewlett Packard Co | Eine Übersetzungs-Querzuordnungs-Puffer-Organisation mit variabler Seitengrößenabbildung und Opfer-Cache-Speicherung |
US5752274A (en) * | 1994-11-08 | 1998-05-12 | Cyrix Corporation | Address translation unit employing a victim TLB |
US5928352A (en) * | 1996-09-16 | 1999-07-27 | Intel Corporation | Method and apparatus for implementing a fully-associative translation look-aside buffer having a variable numbers of bits representing a virtual address entry |
US6418521B1 (en) * | 1998-12-23 | 2002-07-09 | Intel Corporation | Hierarchical fully-associative-translation lookaside buffer structure |
US6941442B2 (en) * | 2002-08-02 | 2005-09-06 | Arm Limited | Entry lockdown within a translation lookaside buffer mechanism |
JP3936672B2 (ja) * | 2003-04-30 | 2007-06-27 | 富士通株式会社 | マイクロプロセッサ |
US6931504B2 (en) * | 2003-05-06 | 2005-08-16 | Sun Microsystems, Inc. | Method and apparatus for relocating objects within an object-addressed memory hierarchy |
JP4233492B2 (ja) * | 2004-06-02 | 2009-03-04 | 富士通マイクロエレクトロニクス株式会社 | アドレス変換装置 |
US7343455B2 (en) * | 2005-02-09 | 2008-03-11 | International Business Machines Corporation | Cache mechanism and method for avoiding cast out on bad victim select and recycling victim select operation |
US20060224857A1 (en) * | 2005-03-29 | 2006-10-05 | O'connor Dennis M | Locking entries into translation lookaside buffers |
US7490214B2 (en) * | 2006-06-12 | 2009-02-10 | Sun Microsystems, Inc. | Relocating data from a source page to a target page by marking transaction table entries valid or invalid based on mappings to virtual pages in kernel virtual memory address space |
JP5324477B2 (ja) | 2008-01-31 | 2013-10-23 | アルプス電気株式会社 | 圧力センサ |
-
2007
- 2007-06-20 EP EP07767303A patent/EP2159707A4/en not_active Withdrawn
- 2007-06-20 JP JP2009520205A patent/JP4812876B2/ja not_active Expired - Fee Related
- 2007-06-20 WO PCT/JP2007/062465 patent/WO2008155851A1/ja active Application Filing
-
2009
- 2009-12-16 US US12/654,309 patent/US8688952B2/en not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS51140521A (en) * | 1975-05-30 | 1976-12-03 | Nec Corp | Address exchange device |
JPS5998367A (ja) * | 1982-11-26 | 1984-06-06 | Nec Corp | アドレス変換バツフア方式 |
JPH01226056A (ja) * | 1988-03-04 | 1989-09-08 | Nec Corp | アドレス変換回路 |
JPH03164845A (ja) * | 1989-11-22 | 1991-07-16 | Hitachi Ltd | アドレス変換バッファ方式 |
JPH05324477A (ja) * | 1992-05-21 | 1993-12-07 | Toshiba Corp | アドレス変換バッファ機構 |
JPH06187244A (ja) * | 1992-12-22 | 1994-07-08 | Toshiba Corp | アドレス変換バッファ機構 |
JPH11501745A (ja) * | 1995-03-03 | 1999-02-09 | ハル コンピュータ システムズ,インコーポレイティド | コンピュータシステム内のアドレス変換用ルックアサイドバッファ |
JP2000242558A (ja) * | 1999-02-19 | 2000-09-08 | Hitachi Ltd | キャッシュシステム及びその操作方法 |
JP2006039968A (ja) * | 2004-07-27 | 2006-02-09 | Fujitsu Ltd | アドレス変換バッファ制御装置およびアドレス変換バッファ制御方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2008155851A1 (ja) | 2008-12-24 |
JPWO2008155851A1 (ja) | 2010-08-26 |
EP2159707A4 (en) | 2010-11-24 |
EP2159707A1 (en) | 2010-03-03 |
US8688952B2 (en) | 2014-04-01 |
US20100106938A1 (en) | 2010-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102448124B1 (ko) | 가상 주소들을 사용하여 액세스된 캐시 | |
US7426626B2 (en) | TLB lock indicator | |
US8909871B2 (en) | Data processing system and method for reducing cache pollution by write stream memory access patterns | |
RU2443011C2 (ru) | Фильтрация отслеживания с использованием кэша запросов отслеживания | |
JP5475055B2 (ja) | キャッシュされたメモリデータを伴うキャッシュメモリ属性インジケータ | |
US6324634B1 (en) | Methods for operating logical cache memory storing logical and physical address information | |
US8782348B2 (en) | Microprocessor cache line evict array | |
JP5526626B2 (ja) | 演算処理装置およびアドレス変換方法 | |
CN100416515C (zh) | 高速缓冲存储器线清洗指令和执行该指令的方法,装置以及系统 | |
JP7340326B2 (ja) | メンテナンス動作の実行 | |
US8296518B2 (en) | Arithmetic processing apparatus and method | |
US20160140042A1 (en) | Instruction cache translation management | |
KR20170120635A (ko) | 캐시 메인터넌스 명령 | |
US9720847B2 (en) | Least recently used (LRU) cache replacement implementation using a FIFO storing indications of whether a way of the cache was most recently accessed | |
US8190853B2 (en) | Calculator and TLB control method | |
US20180365172A1 (en) | Translation support for a virtual cache | |
JP4812876B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP3262519B2 (ja) | 第2レベルキャッシュの古いラインの除去によるプロセッサのメモリ性能の強化方法及びシステム | |
US6766434B2 (en) | Method for sharing a translation lookaside buffer between CPUs | |
US7461212B2 (en) | Non-inclusive cache system with simple control operation | |
US20050028163A1 (en) | Processor purging system and method | |
KR102482516B1 (ko) | 메모리 어드레스 변환 | |
US7325101B1 (en) | Techniques for reducing off-chip cache memory accesses | |
JP7311959B2 (ja) | 複数のデータ・タイプのためのデータ・ストレージ | |
JPH0469748A (ja) | 論理キャッシュメモリ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100629 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100830 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100928 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101129 |
|
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: 20110816 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110823 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140902 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |