JPWO2008155851A1 - 演算処理装置、エントリ制御プログラムおよびエントリ制御方法 - Google Patents
演算処理装置、エントリ制御プログラムおよびエントリ制御方法 Download PDFInfo
- Publication number
- JPWO2008155851A1 JPWO2008155851A1 JP2009520205A JP2009520205A JPWO2008155851A1 JP WO2008155851 A1 JPWO2008155851 A1 JP WO2008155851A1 JP 2009520205 A JP2009520205 A JP 2009520205A JP 2009520205 A JP2009520205 A JP 2009520205A JP WO2008155851 A1 JPWO2008155851 A1 JP WO2008155851A1
- Authority
- JP
- Japan
- Prior art keywords
- entry
- registered
- tlb
- area
- registration
- 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
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)
Abstract
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 (12)
- 主記憶部上に配置される仮想アドレスから物理アドレスへの変換表の一部をエントリとして保持する複数のTLBを備えた演算処理装置であって、
前記主記憶部から出力されたエントリを複数のTLBのいずれかに登録する場合に、登録先となるTLBの領域に既にエントリが登録されているか否かを判定するエントリ登録判定手段と、
前記エントリ登録判定手段により前記登録先となるTLBの領域に既にエントリが登録されていると判定されると、当該既に登録されているエントリを読み出して他のTLBに登録するリプレース制御手段、
を備えたことを特徴とする演算処理装置。 - 前記リプレース制御手段は、前記エントリ登録判定手段により前記登録先となるTLBの領域に既にエントリが登録されていると判定されると、当該既に登録されているエントリを読み出して、当該エントリにエラーがあるか否かを判定し、エラーがある場合に、当該エントリを他のTLBに登録せず破棄し、エラーがない場合に、当該エントリを他のTLBに登録することを特徴とする請求項1に記載の演算処理装置。
- 前記リプレース制御手段は、前記エントリ登録判定手段により前記登録先となるTLBの領域に既にエントリが登録されていると判定されると、当該既に登録されているエントリを読み出して、当該エントリが主記憶から直接出力されたエントリではなく、TLBから出力されたエントリであることを示す識別子を付加して、他のTLBに登録することを特徴とする請求項1に記載の演算処理装置。
- 前記リプレース制御手段によってエントリが登録された複数のTLBにおいて、TLBから読み出されて登録されたエントリを含む同一のページ内エントリが複数個登録されてマルチヒットが検出された場合に、当該エントリを削除するエントリ削除手段をさらに備えたことを特徴とする請求項1に記載の演算処理装置。
- 前記複数のTLBは、登録されているエントリごとに、当該エントリが有効であるか否かを示す有効ビットと、当該エントリがTLBから追い出されないように固定化されているか否かを示すロックビットと、当該エントリが使用されたか否かを示す使用ビットと、当該エントリが他のTLBから出力されたエントリであるか否かを示すリプレースビットとを備えたものであって、
前記リプレース制御手段は、前記エントリ登録判定手段により前記主記憶部から出力されたエントリの登録先となるTLBの領域に既にエントリが登録されていると判定されると、当該既に登録されているエントリを読み出して、前記他のTLBに登録されているエントリの有効ビットがオフのうち若番のエントリにリプレースビットを有効にして登録し、登録されているエントリの有効ビットが全てオンの場合には、ロックビットがオフかつ使用ビットがオフの若番のエントリにリプレースビットを有効にして登録し、登録されているエントリの有効ビットが全てオンかつ、ロックビットが全てオンまたは使用ビットが全てオンの場合には、使用ビットを全てオフにして、ロックビットがオフかつ使用ビットがオフの若番のエントリにリプレースビットを有効にして登録することを特徴とする請求項1〜4のいずれか一つに記載の演算処理装置。 - 前記リプレース制御手段は、前記他のTLBに登録されているエントリのロックビットが全てオンになった場合に、前記エントリ登録判定手段により前記主記憶部から出力されたエントリの登録先となるTLBの領域に既にエントリが登録されていると判定されても、当該既に登録されているエントリを読み出して、他のTLBに登録することを抑止することを特徴とする請求項5に記載の演算処理装置。
- 前記リプレース制御手段は、前記他のTLBに登録されているエントリのいずれかのロックビットがオンの状態から解放された場合に、前記主記憶部から出力されたエントリの登録先となるTLBの領域に登録されているエントリを読み出して、他のTLBへの登録を再開することを特徴とする請求項6に記載の演算処理装置。
- 前記複数のTLBは、主記憶部から直接出力されたエントリを登録する直接登録領域と他のTLBからリプレース制御されたエントリを登録するリプレース登録領域とに分割されており、さらに、登録されているエントリごとに、当該エントリが有効であるか否かを示す有効ビットと、当該エントリがTLBから追い出されないように固定化されているか否かを示すロックビットと、当該エントリが使用されたか否かを示す使用ビットと、リプレース制御されて登録されたエントリか否かを示すリプレースビットとを備えたものであって、
前記リプレース制御手段は、前記エントリ登録判定手段により前記主記憶部から出力されたエントリの登録先となるTLBの領域に既にエントリが登録されていると判定されると、当該既に登録されているエントリを読み出して、前記他のTLBのリプレース領域に登録されているエントリの有効ビットがオフのうち若番のエントリに登録し、リプレース領域に登録されているエントリの有効ビットが全てオンの場合には、リプレース領域のロックビットがオフかつ使用ビットがオフの若番のエントリに登録し、リプレース領域に登録されているエントリの有効ビットが全てオンかつ、ロックビットが全てオンまたは使用ビットが全てオンの場合には、リプレース領域の使用ビットを全てオフにして、リプレース領域のロックビットがオフかつ使用ビットがオフの若番のエントリに登録することを特徴とする請求項1〜4のいずれか一つに記載の演算処理装置。 - 前記リプレース制御手段は、前記他のTLBの直接登録領域に登録されているエントリのロックビットが全てオンになった場合に、前記エントリ登録判定手段により前記主記憶部から出力されたエントリの登録先となるTLBの領域に既にエントリが登録されていると判定されても、当該既に登録されているエントリを読み出して、他のTLBのリプレース領域に登録することを抑止すること、また本状態中は直接登録されるエントリは他のTLBリプレース領域に登録されることを特徴とする請求項8に記載の演算処理装置。
- 前記リプレース制御手段は、前記他のTLBの直接登録領域に登録されているエントリのいずれかのロックビットがオンの状態から解放された場合に、前記主記憶部から出力されたエントリの登録先となるTLBの領域に登録されているエントリを読み出して、他のTLBのリプレース領域への登録を再開することを特徴とする請求項9に記載の演算処理装置。
- 主記憶部上に配置される仮想アドレスから物理アドレスへの変換表の一部をエントリとして保持する複数のTLBを備えた情報処理装置としてのコンピュータに実行するエントリ制御プログラムであって、
前記主記憶部から出力されたエントリを複数のTLBのいずれかに登録する場合に、登録先となる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 true JPWO2008155851A1 (ja) | 2010-08-26 |
JP4812876B2 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 |
WO2009096407A1 (ja) | 2008-01-31 | 2009-08-06 | Alps Electric Co., Ltd. | 圧力センサ |
-
2007
- 2007-06-20 WO PCT/JP2007/062465 patent/WO2008155851A1/ja active Application Filing
- 2007-06-20 JP JP2009520205A patent/JP4812876B2/ja not_active Expired - Fee Related
- 2007-06-20 EP EP07767303A patent/EP2159707A4/en not_active Withdrawn
-
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 |
---|---|
US20100106938A1 (en) | 2010-04-29 |
EP2159707A1 (en) | 2010-03-03 |
EP2159707A4 (en) | 2010-11-24 |
US8688952B2 (en) | 2014-04-01 |
JP4812876B2 (ja) | 2011-11-09 |
WO2008155851A1 (ja) | 2008-12-24 |
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 | |
JP5526626B2 (ja) | 演算処理装置およびアドレス変換方法 | |
US7844778B2 (en) | Intelligent cache replacement mechanism with varying and adaptive temporal residency requirements | |
CN100416515C (zh) | 高速缓冲存储器线清洗指令和执行该指令的方法,装置以及系统 | |
JP7340326B2 (ja) | メンテナンス動作の実行 | |
US20070130237A1 (en) | Transient cache storage | |
JP2016534431A (ja) | ロード/記憶ユニット及びデータキャッシュの順序付け及びバンド幅の向上 | |
US8589630B2 (en) | Methods and apparatus for handling a cache miss | |
US20160140042A1 (en) | Instruction cache translation management | |
JP2012212440A (ja) | キャッシュされたメモリデータを伴うキャッシュメモリ属性インジケータ | |
US20100185831A1 (en) | Semiconductor integrated circuit and address translation method | |
US11775445B2 (en) | Translation support for a virtual cache | |
US8190853B2 (en) | Calculator and TLB control method | |
JP4812876B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
US20080301372A1 (en) | Memory access control apparatus and memory access control method | |
KR102482516B1 (ko) | 메모리 어드레스 변환 | |
US20050028163A1 (en) | Processor purging system and method | |
US7325101B1 (en) | Techniques for reducing off-chip cache memory accesses | |
JP7311959B2 (ja) | 複数のデータ・タイプのためのデータ・ストレージ | |
JPH01125638A (ja) | キャッシュメモリ装置 | |
JPH0469748A (ja) | 論理キャッシュメモリ | |
JP2014209392A (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 |