JPWO2008155825A1 - 演算処理装置および演算処理方法 - Google Patents
演算処理装置および演算処理方法 Download PDFInfo
- Publication number
- JPWO2008155825A1 JPWO2008155825A1 JP2009520179A JP2009520179A JPWO2008155825A1 JP WO2008155825 A1 JPWO2008155825 A1 JP WO2008155825A1 JP 2009520179 A JP2009520179 A JP 2009520179A JP 2009520179 A JP2009520179 A JP 2009520179A JP WO2008155825 A1 JPWO2008155825 A1 JP WO2008155825A1
- Authority
- JP
- Japan
- Prior art keywords
- tsb
- address
- translation pair
- address translation
- arithmetic processing
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 115
- 238000003672 processing method Methods 0.000 title claims description 18
- 238000013519 translation Methods 0.000 claims abstract description 133
- 230000015654 memory Effects 0.000 claims abstract description 127
- 238000000034 method Methods 0.000 claims description 54
- 238000006243 chemical reaction Methods 0.000 claims description 28
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000012790 confirmation Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000012536 storage buffer Substances 0.000 description 2
- 238000009795 derivation Methods 0.000 description 1
- 230000010354 integration Effects 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
- 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
- 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 命令制御部
12 演算部
13 TLB
14 TSB−PF−REG
15 TSBプリフェッチ制御回路
16 (L2)キャッシュ
20 メインメモリ
21 TSB領域
100 CPU
200 命令制御部
250 演算部
300 TLB(アドレス変換バッファ)
400 L1命令TAG
450 L1データTAG
500 L1命令キャッシュ
550 L1データキャッシュ
600 L2キャッシュ
700 メインメモリ
まず最初に、以下の実施例で用いる主要な用語を説明する。「仮想記憶方式」とは、外部記憶装置をメモリの待避領域として利用することで、コンピュータが実装しているメモリ容量よりも多くのメモリ容量がコンピュータに備えられているようにみせかける技術である。
続いて、図1を用いて、実施例1に係る演算処理装置の概要および特徴を説明する。図1は、実施例1に係る演算処理装置の概要および特徴を説明するための図である。なお、実施例1に係る演算処理装置は、CPUに備えられる制御回路や命令制御部で実行されるプログラムとして実現されている。
次に、図2〜5を用いて、実施例1に係る演算処理装置の構成を説明する。図2は、実施例1に係る演算処理装置の構成を示すブロック図であり、図3は、TSB−PF−REG(TSB基底物理アドレス記憶部)を説明するための図であり、図4は、TSBポインタを導出する計算式を説明するための図であり、図5は、CPUの一般的な構成を示すブロック図である。
次に、図6を用いて、実施例1に係る演算処理装置による処理の手順を説明する。図6は、実施例1に係る演算処理装置の処理の手順を示すフローチャートである。なお、図6に示す処理の手順のうち、ステップS105〜S110の処理が、通常のトラップ処理である。これに対し、ステップS108およびステップS109が、本実施例に係る演算処理装置に特徴的な処理の手順であり、この手順が、通常のトラップ処理にフィードバックされていくことで、本実施例の効果を奏するものである。
上記してきたように、実施例1によれば、仮想アドレスを物理アドレスに変換するアドレス変換対を記憶したTSB領域が格納された記憶手段にアクセスを行う演算処理装置であって、TSB領域の一部を記憶するTLBと、アドレス変換対を一時的に記憶するキャッシュメモリと、記憶手段に格納されたアドレス変換対の開始物理アドレスであるTSB基底物理アドレスを記憶するTSB基底物理アドレス記憶手段とを備え、TSB基底物理アドレスと変換対象の仮想アドレスに基づいて、アドレス変換対をTSB領域から取得する際に用いられるTSBポインタを算出し、変換対象の仮想アドレスに対応するアドレス変換対が、TLB又はキャッシュメモリから検索されない場合には、算出されたTSBポインタを用いて、変換対象の仮想アドレスに対応するアドレス変換対をTSB領域から取得して、キャッシュメモリに記憶させるので、TLBミス時のペナルティを低減することが可能になる。
さて、これまで実施例1について説明したが、上述した実施例1以外にも、種々の異なる形態にて実施されてよいものである。
上記文書中や図面中で示した処理手順や制御手順(図6など)、具体的名称(図2など)、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
Claims (10)
- 仮想アドレスを物理アドレスに変換するアドレス変換対を記憶したTSB領域が格納された記憶手段にアクセスを行う演算処理装置であって、
前記TSB領域の一部を記憶するTLBと、
前記アドレス変換対を一時的に記憶するキャッシュメモリと、
前記記憶手段に格納されたアドレス変換対の開始物理アドレスであるTSB基底物理アドレスを記憶するTSB基底物理アドレス記憶手段と、
前記TSB基底物理アドレスと変換対象の仮想アドレスに基づいて、当該アドレス変換対を前記TSB領域から取得する際に用いられるTSBポインタを算出するTSBポインタ算出手段と、
変換対象の仮想アドレスに対応するアドレス変換対が、前記TLB又は前記キャッシュメモリから検索されない場合には、前記算出されたTSBポインタを用いて、前記変換対象の仮想アドレスに対応するアドレス変換対を前記TSB領域から取得して、前記キャッシュメモリに記憶させる変換対取得手段を備えたことを特徴とする演算処理装置。 - 前記変換対取得手段は、
前記変換対象の仮想アドレスに対応するアドレス変換対が前記TLBから検索されない場合には、前記アドレス変換対が前記キャッシュメモリに記憶されているか否かをOSのトラップ処理により確認し、
前記TSBポインタを用いて前記TSB領域から取得した前記アドレス変換対象のアドレス変換対を、前記トラップ処理における前記確認よりも前に前記キャッシュメモリに記憶させることを特徴とする請求項1記載の演算処理装置。 - 前記変換対取得手段は、
前記変換対象の仮想アドレスが前記キャッシュメモリに記憶されていない場合には、前記アドレス変換対を前記TSB領域から取得して前記キャッシュメモリに記憶した後に、前記TLBに登録することを特徴とする請求項1又は2記載の演算処理装置。 - 前記演算処理装置はさらに、
前記TSB領域からの前記アドレス変換対の取得を制御するレジスタ手段を有し、
前記レジスタに格納された情報に基づいて、前記変換対取得手段による前記TSB領域からのアドレス変換対の取得を制御することを特徴とする請求項1〜3のいずれかに記載の演算処理装置。 - 前記変換対取得手段は、
前記演算処理内におけるハードウェアエラーが発生した場合には、前記変換対取得手段による前記TSB領域からのアドレス変換対の取得を禁止することを特徴とする請求項1〜4のいずれかに記載の演算処理装置。 - 前記TSB領域の一部を記憶するTLBと、前記アドレス変換対を一時的に記憶するキャッシュメモリとを有するとともに、仮想アドレスを物理アドレスに変換するアドレス変換対を記憶したTSB領域が格納された記憶装置にアクセスを行う演算処理装置の演算処理方法であって、
前記記憶装置に格納されたアドレス変換対の開始物理アドレスであるTSB基底物理アドレスを記憶するステップと、
前記TSB基底物理アドレスと変換対象の仮想アドレスに基づいて、当該アドレス変換対を前記TSB領域から取得する際に用いられるTSBポインタを算出するステップと、
変換対象の仮想アドレスに対応するアドレス変換対が、前記TLB又は前記キャッシュメモリから検索されない場合には、前記算出されたTSBポインタを用いて、前記変換対象の仮想アドレスに対応するアドレス変換対を前記TSB領域から取得して、前記キャッシュメモリに記憶させるステップを備えたことを特徴とする演算処理方法。 - 前記演算処理方法は、
前記変換対象の仮想アドレスに対応するアドレス変換対が前記TLBから検索されない場合には、前記アドレス変換対が前記キャッシュメモリに記憶されているか否かをOSのトラップ処理により確認するステップと、
前記TSBポインタを用いて前記TSB領域から取得した前記アドレス変換対象のアドレス変換対を、前記トラップ処理における前記確認よりも前に前記キャッシュメモリに記憶させるステップを有することを特徴とする請求項6記載の演算処理方法。 - 前記演算処理方法は、
前記変換対象の仮想アドレスが前記キャッシュメモリに記憶されていない場合には、前記アドレス変換対を前記TSB領域から取得して前記キャッシュメモリに記憶した後に、前記TLBに登録するステップを有することを特徴とする請求項6又は7記載の演算処理方法。 - 前記演算処理方法はさらに、
前記TSB領域からの前記アドレス変換対の取得を制御するレジスタを有し、
前記レジスタに格納された情報に基づいて、前記TSB領域からのアドレス変換対の取得を制御するステップを有することを特徴とする請求項6〜8のいずれかに記載の演算処理方法。 - 前記変換対取得方法はさらには、
前記演算処理内におけるハードウェアエラーが発生した場合には、前記TSB領域からのアドレス変換対の取得を禁止するステップを有することを特徴とする請求項6〜9のいずれかに記載の演算処理方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2007/062338 WO2008155825A1 (ja) | 2007-06-19 | 2007-06-19 | 演算処理装置および演算処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2008155825A1 true JPWO2008155825A1 (ja) | 2010-08-26 |
JP4608011B2 JP4608011B2 (ja) | 2011-01-05 |
Family
ID=40155990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009520179A Expired - Fee Related JP4608011B2 (ja) | 2007-06-19 | 2007-06-19 | 演算処理装置および演算処理方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8296518B2 (ja) |
EP (1) | EP2159706B1 (ja) |
JP (1) | JP4608011B2 (ja) |
WO (1) | WO2008155825A1 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9672019B2 (en) | 2008-11-24 | 2017-06-06 | Intel Corporation | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
US10621092B2 (en) | 2008-11-24 | 2020-04-14 | Intel Corporation | Merging level cache and data cache units having indicator bits related to speculative execution |
US8775153B2 (en) * | 2009-12-23 | 2014-07-08 | Intel Corporation | Transitioning from source instruction set architecture (ISA) code to translated code in a partial emulation environment |
JP2013073270A (ja) * | 2011-09-26 | 2013-04-22 | Fujitsu Ltd | アドレス変換装置、演算処理装置及び演算処理装置の制御方法 |
US9417855B2 (en) | 2011-09-30 | 2016-08-16 | Intel Corporation | Instruction and logic to perform dynamic binary translation |
JP2013125355A (ja) * | 2011-12-13 | 2013-06-24 | Fujitsu Ltd | 演算処理装置および演算処理装置の制御方法 |
KR101667772B1 (ko) | 2012-08-18 | 2016-10-19 | 퀄컴 테크놀로지스, 인크. | 프리페칭을 갖는 변환 색인 버퍼 |
US9405551B2 (en) | 2013-03-12 | 2016-08-02 | Intel Corporation | Creating an isolated execution environment in a co-designed processor |
US9891936B2 (en) | 2013-09-27 | 2018-02-13 | Intel Corporation | Method and apparatus for page-level monitoring |
JP5974133B1 (ja) | 2015-03-20 | 2016-08-23 | 株式会社東芝 | メモリシステム |
JP6740719B2 (ja) * | 2016-06-03 | 2020-08-19 | 富士通株式会社 | 情報処理装置、情報処理方法、およびプログラム |
JP7155629B2 (ja) * | 2018-06-07 | 2022-10-19 | 富士通株式会社 | 演算処理装置、情報処理装置、及び演算処理装置の制御方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6074058A (ja) * | 1983-09-30 | 1985-04-26 | Fujitsu Ltd | デ−タ処理装置におけるバッファストレ−ジ制御方法 |
JPS62151958A (ja) * | 1985-12-25 | 1987-07-06 | Matsushita Electric Ind Co Ltd | 仮想アドレス変換装置 |
JPH01106149A (ja) * | 1987-10-20 | 1989-04-24 | Fujitsu Ltd | 情報処理装置 |
JPH02289013A (ja) * | 1989-02-03 | 1990-11-29 | Digital Equip Corp <Dec> | 複数メモリーリクエストのオーダおよびキューイング方法および装置 |
JPH0336647A (ja) * | 1989-07-03 | 1991-02-18 | Fujitsu Ltd | キャッシュ・バッファリング制御方式 |
JPH07200409A (ja) * | 1993-09-08 | 1995-08-04 | Sun Microsyst Inc | 仮想アドレスを物理アドレスに変換する方法及び装置 |
JP2001290706A (ja) * | 2000-03-31 | 2001-10-19 | Texas Instr Inc <Ti> | Tlbキャッシュのためのプリフェッチ |
WO2007052369A1 (ja) * | 2005-10-31 | 2007-05-10 | Fujitsu Limited | 演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5465337A (en) * | 1992-08-13 | 1995-11-07 | Sun Microsystems, Inc. | Method and apparatus for a memory management unit supporting multiple page sizes |
US6490658B1 (en) | 1997-06-23 | 2002-12-03 | Sun Microsystems, Inc. | Data prefetch technique using prefetch cache, micro-TLB, and history file |
US6553477B1 (en) | 2000-11-06 | 2003-04-22 | Fujitsu Limited | Microprocessor and address translation method for microprocessor |
US7779238B2 (en) * | 2004-06-30 | 2010-08-17 | Oracle America, Inc. | Method and apparatus for precisely identifying effective addresses associated with hardware events |
-
2007
- 2007-06-19 EP EP07767196.4A patent/EP2159706B1/en not_active Not-in-force
- 2007-06-19 JP JP2009520179A patent/JP4608011B2/ja not_active Expired - Fee Related
- 2007-06-19 WO PCT/JP2007/062338 patent/WO2008155825A1/ja active Application Filing
-
2009
- 2009-11-24 US US12/624,531 patent/US8296518B2/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6074058A (ja) * | 1983-09-30 | 1985-04-26 | Fujitsu Ltd | デ−タ処理装置におけるバッファストレ−ジ制御方法 |
JPS62151958A (ja) * | 1985-12-25 | 1987-07-06 | Matsushita Electric Ind Co Ltd | 仮想アドレス変換装置 |
JPH01106149A (ja) * | 1987-10-20 | 1989-04-24 | Fujitsu Ltd | 情報処理装置 |
JPH02289013A (ja) * | 1989-02-03 | 1990-11-29 | Digital Equip Corp <Dec> | 複数メモリーリクエストのオーダおよびキューイング方法および装置 |
JPH0336647A (ja) * | 1989-07-03 | 1991-02-18 | Fujitsu Ltd | キャッシュ・バッファリング制御方式 |
JPH07200409A (ja) * | 1993-09-08 | 1995-08-04 | Sun Microsyst Inc | 仮想アドレスを物理アドレスに変換する方法及び装置 |
JP2001290706A (ja) * | 2000-03-31 | 2001-10-19 | Texas Instr Inc <Ti> | Tlbキャッシュのためのプリフェッチ |
WO2007052369A1 (ja) * | 2005-10-31 | 2007-05-10 | Fujitsu Limited | 演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2159706A4 (en) | 2010-11-03 |
EP2159706B1 (en) | 2014-09-10 |
US20100070708A1 (en) | 2010-03-18 |
JP4608011B2 (ja) | 2011-01-05 |
WO2008155825A1 (ja) | 2008-12-24 |
EP2159706A1 (en) | 2010-03-03 |
US8296518B2 (en) | 2012-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4608011B2 (ja) | 演算処理装置および演算処理方法 | |
JP5526626B2 (ja) | 演算処理装置およびアドレス変換方法 | |
US8161246B2 (en) | Prefetching of next physically sequential cache line after cache line that includes loaded page table entry | |
JP4297968B2 (ja) | コヒーレンシ維持装置およびコヒーレンシ維持方法 | |
JP5628404B2 (ja) | キャッシュされたメモリデータを伴うキャッシュメモリ属性インジケータ | |
TWI381275B (zh) | 位址轉譯方法及裝置 | |
US10083126B2 (en) | Apparatus and method for avoiding conflicting entries in a storage structure | |
US20070130237A1 (en) | Transient cache storage | |
JP7340326B2 (ja) | メンテナンス動作の実行 | |
US20160140042A1 (en) | Instruction cache translation management | |
US10545879B2 (en) | Apparatus and method for handling access requests | |
JP2009512943A (ja) | 多階層の変換索引緩衝機構(TLBs)フィールドの更新 | |
KR102478766B1 (ko) | 디스크립터 링 관리 | |
CN112527395B (zh) | 数据预取方法和数据处理装置 | |
KR20190021372A (ko) | 일시적인 메모리 액세스 프로그램 명령에 대한 허가 제어 | |
CN108874691B (zh) | 数据预取方法和内存控制器 | |
JP2013097671A (ja) | アドレス変換装置、アドレス変換装置の制御方法及び演算処理装置 | |
WO2007096998A1 (ja) | キャッシュメモリ装置およびキャッシュメモリ制御方法 | |
CN106168929A (zh) | 选择性预取物理接续快取线至包含被载入分页表的快取线 | |
JP4669244B2 (ja) | キャッシュメモリ装置およびメモリ制御方法 | |
CN113760783B (zh) | 联合偏移预取方法、装置、计算设备和可读存储介质 | |
JP7035787B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP7311959B2 (ja) | 複数のデータ・タイプのためのデータ・ストレージ | |
KR20240089035A (ko) | 캐시 라인 일관성 상태 업그레이드 | |
JPH1027134A (ja) | アドレス変換装置およびこれを用いたプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100706 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100906 |
|
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: 20101005 |
|
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: 20101007 |
|
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: 20131015 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |