JP5233078B2 - プロセッサ及びその処理方法 - Google Patents
プロセッサ及びその処理方法 Download PDFInfo
- Publication number
- JP5233078B2 JP5233078B2 JP2006081483A JP2006081483A JP5233078B2 JP 5233078 B2 JP5233078 B2 JP 5233078B2 JP 2006081483 A JP2006081483 A JP 2006081483A JP 2006081483 A JP2006081483 A JP 2006081483A JP 5233078 B2 JP5233078 B2 JP 5233078B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- instruction code
- code
- pipeline
- 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
- 238000003672 processing method Methods 0.000 title claims description 5
- 230000015654 memory Effects 0.000 claims description 67
- 238000012545 processing Methods 0.000 claims description 14
- 238000000034 method Methods 0.000 claims description 8
- 230000005764 inhibitory process Effects 0.000 claims 1
- 238000012958 reprocessing Methods 0.000 claims 1
- 230000001629 suppression Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 1
- 239000000463 material Substances 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/3802—Instruction 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
-
- 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
- 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; 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/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3863—Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
-
- 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/6022—Using a prefetch buffer or dedicated prefetch cache
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
102 命令先読みバッファ
103 例外制御部
104 ALU
105 命令選択制御部
106〜109 セレクタ
110 アドレスレジスタ
111 デコード部
Claims (7)
- 命令コードをパイプライン処理するための命令パイプラインと、
前記命令パイプライン内であって、デコードステージよりも下流のステージを含むステージに対応した命令パイプライン内の命令コードのアドレスと次に命令キャッシュメモリ又はメインメモリから読み出そうとする命令コードのアドレスとが同じか否かを比較する比較部と、
前記命令コードのアドレスが同じときには、前記命令キャッシュメモリ及び前記メインメモリからその命令コードを読み出さず、前記命令パイプライン内の命令コードを再び前記命令パイプラインで処理するように制御する制御部と
を有することを特徴とするプロセッサ。 - 前記比較部は、前記命令パイプライン内の命令コードのアドレスと次に命令キャッシュメモリ又はメインメモリから読み出そうとする命令コードのアドレスとが同じか否かを比較し、
前記制御部は、前記命令コードのアドレスが同じときには、前記命令キャッシュメモリ及び前記メインメモリからその命令コードを読み出さず、前記命令パイプライン内の命令コードを再び前記命令パイプラインで処理するように制御することを特徴とする請求項1記載のプロセッサ。 - さらに、命令先読みバッファ内の命令コードをデコードし、その命令コードが分岐命令であるときには、その分岐先アドレスを前記次に命令キャッシュメモリ又はメインメモリから読み出そうとする命令コードのアドレスとして選択することを可能とするデコード部を有することを特徴とする請求項1又は2記載のプロセッサ。
- 前記制御部は、前記命令コードのアドレスが同じときには、前記命令キャッシュメモリにアクセス抑止信号を出力することを特徴とする請求項1〜3のいずれか1項に記載のプロセッサ。
- 前記制御部は、前記命令コードが異なるときには、前記命令キャッシュメモリ又は前記メインメモリからその命令コードを読み出し、前記命令パイプラインで処理するように制御することを特徴とする請求項1〜4のいずれか1項に記載のプロセッサ。
- 前記比較部は、前記命令パイプライン内の命令コードのアドレスと次に命令キャッシュメモリから読み出そうとする命令コードのアドレスとが同じか否かを比較し、
前記制御部は、前記命令コードのアドレスが同じときには、前記命令キャッシュメモリからその命令コードを読み出さず、前記命令パイプライン内の命令コードを再び前記命令パイプラインで処理するように制御することを特徴とする請求項1〜5のいずれか1項に記載のプロセッサ。 - 命令コードをパイプライン処理するための命令パイプラインを有するプロセッサの処理方法であって、
前記命令パイプライン内であって、デコードステージよりも下流のステージを含むステージに対応した命令パイプライン内の命令コードのアドレスと次に命令キャッシュメモリ又はメインメモリから読み出そうとする命令コードのアドレスとが同じか否かを比較する比較ステップと、
前記命令コードのアドレスが同じときには、前記命令キャッシュメモリ及び前記メインメモリからその命令コードを読み出さず、前記命令パイプライン内の命令コードを再び前記命令パイプラインで処理する再処理ステップと
を有することを特徴とするプロセッサの処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006081483A JP5233078B2 (ja) | 2006-03-23 | 2006-03-23 | プロセッサ及びその処理方法 |
US11/497,290 US7543135B2 (en) | 2006-03-23 | 2006-08-02 | Processor and method for selectively processing instruction to be read using instruction code already in pipeline or already stored in prefetch buffer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006081483A JP5233078B2 (ja) | 2006-03-23 | 2006-03-23 | プロセッサ及びその処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007257349A JP2007257349A (ja) | 2007-10-04 |
JP5233078B2 true JP5233078B2 (ja) | 2013-07-10 |
Family
ID=38631525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006081483A Expired - Fee Related JP5233078B2 (ja) | 2006-03-23 | 2006-03-23 | プロセッサ及びその処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7543135B2 (ja) |
JP (1) | JP5233078B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5159258B2 (ja) * | 2007-11-06 | 2013-03-06 | 株式会社東芝 | 演算処理装置 |
US9170816B2 (en) | 2009-01-15 | 2015-10-27 | Altair Semiconductor Ltd. | Enhancing processing efficiency in large instruction width processors |
JP2012221086A (ja) * | 2011-04-06 | 2012-11-12 | Fujitsu Semiconductor Ltd | 情報処理装置 |
JP5863855B2 (ja) * | 2014-02-26 | 2016-02-17 | ファナック株式会社 | 分岐命令を高速に処理するためのインストラクションキャッシュを有するプログラマブルコントローラ |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61269735A (ja) * | 1985-05-24 | 1986-11-29 | Nec Corp | 電子計算機における命令キユ−制御方式 |
JPH0228723A (ja) * | 1988-07-18 | 1990-01-30 | Fujitsu Ltd | ループ命令実行方式 |
JPH05241827A (ja) * | 1992-02-27 | 1993-09-21 | Nec Ibaraki Ltd | 命令バッファ制御装置 |
US5423048A (en) * | 1992-08-27 | 1995-06-06 | Northern Telecom Limited | Branch target tagging |
JP2694799B2 (ja) * | 1993-09-07 | 1997-12-24 | 日本電気株式会社 | 情報処理装置 |
JPH0991136A (ja) * | 1995-09-25 | 1997-04-04 | Toshiba Corp | 信号処理装置 |
JP3641327B2 (ja) * | 1996-10-18 | 2005-04-20 | 株式会社ルネサステクノロジ | データプロセッサ及びデータ処理システム |
JP3741870B2 (ja) * | 1998-08-07 | 2006-02-01 | 富士通株式会社 | 命令及びデータの先読み方法、マイクロコントローラ、疑似命令検出回路 |
EP1050804A1 (en) * | 1999-05-03 | 2000-11-08 | STMicroelectronics SA | Execution of instruction loops |
US6618803B1 (en) * | 2000-02-21 | 2003-09-09 | Hewlett-Packard Development Company, L.P. | System and method for finding and validating the most recent advance load for a given checkload |
JP2003228483A (ja) | 2002-02-05 | 2003-08-15 | Matsushita Electric Ind Co Ltd | マイクロプロセッサ |
JP3954992B2 (ja) * | 2003-06-27 | 2007-08-08 | 富士通株式会社 | メモリインタフェース回路 |
-
2006
- 2006-03-23 JP JP2006081483A patent/JP5233078B2/ja not_active Expired - Fee Related
- 2006-08-02 US US11/497,290 patent/US7543135B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7543135B2 (en) | 2009-06-02 |
US20070260858A1 (en) | 2007-11-08 |
JP2007257349A (ja) | 2007-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4986431B2 (ja) | プロセッサ | |
US6832305B2 (en) | Method and apparatus for executing coprocessor instructions | |
KR20040016829A (ko) | 파이프라인식 프로세서에서의 예외 취급 방법, 장치 및시스템 | |
JP4864840B2 (ja) | マイクロプロセッサ | |
JP5233078B2 (ja) | プロセッサ及びその処理方法 | |
JP5012084B2 (ja) | 情報処理装置 | |
JP4800582B2 (ja) | 演算処理装置 | |
JP4889235B2 (ja) | プログラム制御プロセッサ | |
JP2006072961A (ja) | 演算処理装置のメモリ回路 | |
JP2006053830A (ja) | 分岐予測装置および分岐予測方法 | |
US8255672B2 (en) | Single instruction decode circuit for decoding instruction from memory and instructions from an instruction generation circuit | |
US20050216708A1 (en) | Processor for performing context switching, a method for performing context switching, a computer program for perform context switching | |
WO2024029174A1 (ja) | ジャンプ命令に基づくパイプライン処理を制御するプロセッサ及びプログラム記録媒体 | |
JPH1020959A (ja) | 低消費電力マイクロプロセッサ | |
JP2011209859A (ja) | 情報処理装置 | |
JP2007317083A (ja) | マイクロプロセッサおよびパイプライン制御方法 | |
JP2011150636A (ja) | マイクロプロセッサ及びその制御方法 | |
JP5679263B2 (ja) | 情報処理装置及びマイクロ命令処理方法 | |
JP2011141619A (ja) | マイクロプロセッサ | |
JP2005135089A (ja) | プロセッサ | |
JP2006235723A (ja) | 命令フェッチ回路 | |
JP2005134987A (ja) | パイプライン演算処理装置 | |
US20130305017A1 (en) | Compiled control code parallelization by hardware treatment of data dependency | |
JP2005038278A (ja) | プロセッサ及びプロセッサの処理方法 | |
KR20000003447A (ko) | 무조건 분기 명령어의 수행 시간을 줄이기 위한 분기 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080731 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081225 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111227 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120221 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120925 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121218 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20121225 |
|
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: 20130226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130311 |
|
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: 20160405 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |