JP5237671B2 - データプロセッサ - Google Patents
データプロセッサ Download PDFInfo
- Publication number
- JP5237671B2 JP5237671B2 JP2008100122A JP2008100122A JP5237671B2 JP 5237671 B2 JP5237671 B2 JP 5237671B2 JP 2008100122 A JP2008100122 A JP 2008100122A JP 2008100122 A JP2008100122 A JP 2008100122A JP 5237671 B2 JP5237671 B2 JP 5237671B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- instruction
- cache
- line
- 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
- 230000015654 memory Effects 0.000 claims description 48
- 230000004044 response Effects 0.000 claims description 4
- 239000004065 semiconductor Substances 0.000 claims description 4
- 230000001174 ascending effect Effects 0.000 claims description 3
- 239000000758 substrate Substances 0.000 claims description 3
- 238000002485 combustion reaction Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 102100037029 Transmembrane protein 119 Human genes 0.000 description 4
- 101710170979 Transmembrane protein 119 Proteins 0.000 description 4
- 238000000034 method Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 101100424823 Arabidopsis thaliana TDT gene Proteins 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 201000006756 occult macular dystrophy Diseases 0.000 description 2
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F9/383—Operand prefetching
-
- 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/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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3802—Instruction prefetching
-
- 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/60—Details of cache memory
- G06F2212/6028—Prefetching based on hints or prefetch instructions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
Description
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
実施の形態について更に詳述する。以下、本発明を実施するための形態を図面に基づいて詳細に説明する。なお、発明を実施するための形態を説明するための全図において、同一の機能を有する要素には同一の符号を付して、その繰り返しの説明を省略する。
BR…ベースレジスタ
F−BUS…命令フェッチバス
O−BUS…オペランドバス
ROM…フラッシュROM
RAM…内蔵RAM
SYS−BUS…システムバス
DMAC…DMAコントローラ
BRG…バスブリッジ
P−BUS…周辺バス
CPG…クロックパルスジェネレータ
INTC…割込みコントローラ
CMT…コンペアマッチタイマ
SCI…シリアルコミュニケーションインターフェース
ADC…A/Dコンバータ
FBIF…命令フェッチバスとのインタフェース
OBIF…オペランドバスとのインタフェース
SBIF…システムバスとのインタフェース
RIF…ROMとのインタフェース
CFGR…構成レジスタ
PADG…プリフェッチアドレス生成器
IC…命令キャッシュ
DC…データキャッシュ
ADRS…アドレスセレクタ
IC_AARY0〜3…命令キャッシュアドレスアレイ
IC_DARY0〜3…命令キャッシュデータアレイ
IC_LRU…命令キャッシュウェイ選択LRU
IC_AFF…命令キャッシュアドレス保持フリップフロップ
IC_DFF…命令キャッシュデータ保持フリップフロップ
DC_AARY0〜3…データキャッシュアドレスアレイ
DC_DARY0〜3…データキャッシュデータアレイ
DC_LRU…データキャッシュウェイ選択LRU
BUFDEC…バッファデコーダ
DEC_CTL…デクリメント制御
IPFADRG…次命令ラインアドレス生成器
BRSRCH…BR相対ロードサーチ回路
BRFIFO…BR相対ロードアドレスFIFO
PRI…優先度判定回路
IBUF_SRCH…次命令ラインのフラグ
BR_SRCH…BR相対ロード命令のライン数
Claims (8)
- 命令を実行する中央処理装置と、命令及びデータが格納されるメモリと、前記メモリに格納された命令及びデータの一部を保持するバッファとを有し、
前記中央処理装置は命令の実行によって所望の値が設定可能にされるレジスタを有し、前記レジスタに設定された値にオフセットを加えてデータの実効アドレスとする所定の命令を実行可能であり、
前記バッファは、前記中央処理装置が実行する命令の命令列を格納する命令キャッシュと、中央処理装置の命令実行に用いるデータのデータ列を格納するデータキャッシュと、前記命令キャッシュに格納された新たな命令列に前記所定の命令が含まれるとき当該命令で指定される実効アドレスに在るデータを含むデータ列を前記データキャッシュに格納するためのデータプリフェッチアドレスを生成するアドレス生成回路とを備え、
前記命令キャッシュはCPUで生成される前記メモリのアクセスアドレスに対応して1キャッシュライン分のラインアドレスをラッチするラインアドレスラッチと、当該アクセスアドレスによって選択されるキャッシュラインの命令を保持するライン命令ラッチとを有し、
前記アドレス生成回路は、前記ラインアドレスラッチにラッチされたラインアドレスの次ラインのアドレスを命令プリフェッチアドレスとして生成し、更に前記アドレス生成回路は前記ライン命令ラッチにラッチされた命令列に含まれる、全ての前記所定の命令が指定するオフセットに対応するデータキャッシュのキャッシュラインアドレスを取得し、取得した全てのキャッシュラインアドレスを保持し、保持したキャッシュラインアドレスに順次前記レジスタの値を加算してデータプリフェッチアドレスを出力する、ことを特徴とするデータプロセッサ。 - 前記命令キャッシュはキャッシュミスに応答してミスに係るアドレスの命令列を指定するための命令フェッチアドレスを出力し、
前記データキャッシュはキャッシュミスに応答してミスに係るアドレスのデータ列を指定するためのデータフェッチアドレスを出力する、請求項1記載のデータプロセッサ。 - 前記アドレス生成回路が生成する命令プリフェッチアドレス、前記アドレス生成回路が生成するデータプリフェッチアドレス、命令キャッシュがキャッシュミスのとき出力する命令フェッチアドレス、又はデータキャッシュがキャッシュミスのとき出力するデータフェッチアドレスを選択して前記メモリへ供給するアドレス選択回路を有し、
前記アドレス選択回路によるアドレス選択の優先順位は、前記データプリフェッチアドレス、前記命令プリフェッチアドレス、前記データアドレス、前記命令アドレスの順に昇順で高くされる、請求項2記載のデータプロセッサ。 - 1個の半導体基板に形成された請求項1記載のデータプロセッサ。
- 前記メモリは電気的に書換え可能な不揮発性メモリである、請求項4記載のデータプロセッサ。
- 命令を実行する中央処理装置と、命令及びデータが格納されるメモリと、前記メモリに格納された一部の命令列及びデータ列を保持するバッファとを有し、
前記中央処理装置は、命令の実行によって所望の値が設定可能にされるレジスタを有し、前記レジスタに設定された値にオフセットを加えてデータの実効アドレスとする所定の命令を実行可能であり、
前記バッファは、前記命令列及びデータ列を格納するキャッシュメモリを有し、前記キャッシュメモリに前記所定の命令を格納したとき、格納された全ての前記所定の命令のそれぞれによって指定される全ての実効アドレスのデータを含むデータ列を順次前記メモリから前記キャッシュメモリにプリフェッチする、データプロセッサ。 - 前記メモリはN×Mのサイズのデータマップを複数有し、前記中央処理装置は前記所定の命令でアクセスすべきデータマップの基準点のアドレスを前記レジスタに設定する、請求項6記載のデータプロセッサ。
- 前記データマップは機器制御用のパラメータデータである、請求項7記載のデータプロセッサ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008100122A JP5237671B2 (ja) | 2008-04-08 | 2008-04-08 | データプロセッサ |
US12/414,656 US8082398B2 (en) | 2008-04-08 | 2009-03-30 | Data prefetching using indirect addressing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008100122A JP5237671B2 (ja) | 2008-04-08 | 2008-04-08 | データプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009251998A JP2009251998A (ja) | 2009-10-29 |
JP5237671B2 true JP5237671B2 (ja) | 2013-07-17 |
Family
ID=41216121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008100122A Expired - Fee Related JP5237671B2 (ja) | 2008-04-08 | 2008-04-08 | データプロセッサ |
Country Status (2)
Country | Link |
---|---|
US (1) | US8082398B2 (ja) |
JP (1) | JP5237671B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102070136B1 (ko) | 2013-05-03 | 2020-01-28 | 삼성전자주식회사 | 프리페치를 위한 캐시 제어 장치 및 그 캐시 제어 장치를 이용한 프리페치 방법 |
US9411735B2 (en) * | 2014-04-15 | 2016-08-09 | International Business Machines Corporation | Counter-based wide fetch management |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09212421A (ja) * | 1996-02-01 | 1997-08-15 | Hitachi Ltd | データ処理装置及びデータ処理システム |
US6128703A (en) * | 1997-09-05 | 2000-10-03 | Integrated Device Technology, Inc. | Method and apparatus for memory prefetch operation of volatile non-coherent data |
JP2000148477A (ja) * | 1998-11-17 | 2000-05-30 | Nec Corp | アドレス計算方法およびその機構 |
JP2003030046A (ja) * | 2001-07-11 | 2003-01-31 | Hitachi Ltd | 命令キャッシュのプリフェッチ機構を備えたキャッシュ制御装置 |
JP3811140B2 (ja) * | 2003-05-12 | 2006-08-16 | 株式会社日立製作所 | 情報処理装置 |
JP2005201181A (ja) * | 2004-01-16 | 2005-07-28 | Denso Corp | 内燃機関の制御装置 |
US20050198439A1 (en) * | 2004-03-04 | 2005-09-08 | Fredy Lange | Cache memory prefetcher |
US8161264B2 (en) * | 2008-02-01 | 2012-04-17 | International Business Machines Corporation | Techniques for data prefetching using indirect addressing with offset |
US8161265B2 (en) * | 2008-02-01 | 2012-04-17 | International Business Machines Corporation | Techniques for multi-level indirect data prefetching |
US8161263B2 (en) * | 2008-02-01 | 2012-04-17 | International Business Machines Corporation | Techniques for indirect data prefetching |
-
2008
- 2008-04-08 JP JP2008100122A patent/JP5237671B2/ja not_active Expired - Fee Related
-
2009
- 2009-03-30 US US12/414,656 patent/US8082398B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20090271576A1 (en) | 2009-10-29 |
JP2009251998A (ja) | 2009-10-29 |
US8082398B2 (en) | 2011-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6401192B1 (en) | Apparatus for software initiated prefetch and method therefor | |
JP3412575B2 (ja) | 命令履歴キャッシングを使用して推測的に命令を実行する回路、データ処理システム、およびそのための方法 | |
JP3830651B2 (ja) | ループとストライドの一方または両方の予測を行うロードターゲットバッファを具現するマイクロプロセッサ回路、システム、および方法 | |
US6029228A (en) | Data prefetching of a load target buffer for post-branch instructions based on past prediction accuracy's of branch predictions | |
US7966457B2 (en) | Configurable cache for a microprocessor | |
US6308261B1 (en) | Computer system having an instruction for probing memory latency | |
KR100955433B1 (ko) | 파이프라인 구조를 갖는 캐시 메모리 및 이를 제어하는방법 | |
US20080147990A1 (en) | Configurable Cache for a Microprocessor | |
KR20000076310A (ko) | 리스크 구조를 갖는 8 비트 마이크로콘트롤러 | |
EP2495662B1 (en) | Configurable cache for a microprocessor | |
EP2936323A1 (en) | Speculative addressing using a virtual address-to-physical address page crossing buffer | |
EP0855645A2 (en) | System and method for speculative execution of instructions with data prefetch | |
JPH0527971A (ja) | 情報処理装置 | |
JP5237671B2 (ja) | データプロセッサ | |
US10120808B2 (en) | Apparatus having cache memory disposed in a memory transaction path between interconnect circuitry and a non-volatile memory, and corresponding method | |
US20030196072A1 (en) | Digital signal processor architecture for high computation speed | |
US11126435B2 (en) | Branch destination prediction based on accord or discord of previous load data from a data cache line corresponding to a load instruction and present load data | |
JP4160228B2 (ja) | マイクロプロセッサ | |
JPH0362243A (ja) | 情報処理システムにおいてメモリアクセスを速くする装置 | |
JP5902208B2 (ja) | データ処理装置 | |
JP4024247B2 (ja) | 半導体データプロセッサ | |
JP2008257508A (ja) | キャッシュ制御方法およびキャッシュ装置並びにマイクロコンピュータ | |
JPH07200406A (ja) | キャッシュシステム | |
JP4553622B2 (ja) | データ処理装置 | |
JPH07248919A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20100527 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110404 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130215 |
|
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: 20130314 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130329 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5237671 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160405 Year of fee payment: 3 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |