JP4086885B2 - 命令供給装置 - Google Patents
命令供給装置 Download PDFInfo
- Publication number
- JP4086885B2 JP4086885B2 JP2006546623A JP2006546623A JP4086885B2 JP 4086885 B2 JP4086885 B2 JP 4086885B2 JP 2006546623 A JP2006546623 A JP 2006546623A JP 2006546623 A JP2006546623 A JP 2006546623A JP 4086885 B2 JP4086885 B2 JP 4086885B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- buffer
- processing unit
- central processing
- instruction sequence
- 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.)
- Active
Links
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, look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
- G06F9/381—Loop buffering
Description
以下、本発明に係る実施の形態1について図面を参照しながら説明する。
次に、本発明に係る実施の形態2について図面を参照しながら説明する。なお、実施の形態1と同一の構成については説明を省略する。
なお、閾値レジスタ213において保持されている閾値は、プログラムによって設定できるとしてもよい。また、通常用命令バッファ212の容量内で設定できるとしてもよい。これに伴い、プログラムの特定に合わせた命令を供給することができる。そして、この閾値を大きくすることによって、ループブロックの命令に対しては、割り当てられる容量が大きくなり、効率的に供給することができる。その反面、そのループブロックに後続する命令列に対しては、割り当てられる容量が小さくなり、そのループブロックと一緒に通常用命令バッファ212に蓄積できる命令数が少なくなるというトレードオフがある。
10,20 中央処理装置
100,200 マイクロプロセッサ
101,201 命令供給装置
111,211 メモリインターフェース
112,212 通常用命令バッファ
113 ループ用命令バッファ
114 ループ用命令バッファ
115 結合用命令バッファ
116,216 選択回路
213 閾値レジスタ
Claims (6)
- 主記憶装置から読み出した命令を中央処理装置に供給する命令供給装置であって、
前記主記憶装置に格納されている命令列のうち、前記中央処理装置に繰り返し供給される第1の命令列を前記中央処理装置に再度供給する前に、前記第1の命令列の先頭部分である第1の部分命令列を蓄積する第1のバッファと、
前記中央処理装置に繰り返し供給される第2の命令列を前記中央処理装置に再度供給する前に、前記第2の命令列の先頭部分である第3の部分命令列を蓄積する第3のバッファと、
前記第1の命令列を前記中央処理装置に繰り返し供給する際に、前記第1のバッファに蓄積されている前記第1の部分命令列を前記中央処理装置に供給しながら、前記第1の部分命令列に後続する第2の部分命令列を蓄積し、前記第2の命令列を前記中央処理装置に繰り返し供給する際に、前記第3のバッファに蓄積されている前記第3の部分命令列を前記中央処理装置に供給しながら、前記第3の部分命令列に後続する第4の部分命令列を蓄積する第2のバッファと、
前記第1の部分命令列の全てを前記中央処理装置に供給すると、前記第2のバッファに蓄積されている第2の部分命令列から、前記第1の部分命令列の後続命令を前記中央処理装置に供給し、前記第3の部分命令列の全てを前記中央処理装置に供給すると、前記第2のバッファに蓄積されている第4の部分命令列から、前記第3の部分命令列の後続命令を前記中央処理装置に供給する選択手段と
を備え、
前記第1の命令列の所在と、前記第1の部分命令列を前記第1のバッファに蓄積することが特定される情報が含まれる第1の命令が前記主記憶装置に格納されており、前記第1の命令を実行した前記中央処理装置から、前記第1の命令に含まれる情報に基づいた指示を受けて、前記第1の部分命令列を前記第1のバッファに蓄積し、前記第2の命令列の所在と、前記第3の部分命令列を前記第3のバッファに蓄積することが特定される情報が含まれる第2の命令が前記主記憶装置に格納されており、前記第2の命令を実行した前記中央処理装置から、前記第2の命令に含まれる情報に基づいた指示を受けて、前記第3の部分命令列を前記第3のバッファに蓄積する
ことを特徴とする命令供給装置。 - 前記命令供給装置は、さらに、
前記主記憶装置に格納されている命令列を前記中央処理装置に供給する際に、
順次蓄積する第4のバッファを備え、
前記選択手段は、
前記中央処理装置に繰り返し供給する場合を除いて、前記第4のバッファに蓄積されている命令列を、順次、前記中央処理装置に供給する
ことを特徴とする請求項1に記載の命令供給装置。 - 前記命令供給装置は、
前記第1の命令列および前記第2の命令列を前記中央処理装置に繰り返し供給する場合を除いて、前記主記憶装置に格納されている命令列を前記中央処理装置に供給する場合には、順次、前記第2のバッファに蓄積する
ことを特徴とする請求項1に記載の命令供給装置。 - 主記憶装置から読み出した命令を中央処理装置に供給する命令供給装置であって、
前記主記憶装置に格納されている命令列のうち、前記中央処理装置に繰り返し供給される第1の命令列を前記中央処理装置に再度供給する前に、前記第1の命令列の先頭部分である第1の部分命令列を蓄積する第1のバッファと、
前記第1の命令列を前記中央処理装置に繰り返し供給する際に、前記第1のバッファに蓄積されている前記第1の部分命令列を前記中央処理装置に供給しながら、前記第1の部分命令列に後続する第2の部分命令列を蓄積する第2のバッファと、
前記第1の部分命令列の全てを前記中央処理装置に供給すると、前記第2のバッファに蓄積されている第2の部分命令列から、前記第1の部分命令列の後続命令を前記中央処理装置に供給する選択手段と
を備え、
前記第1の命令列を前記中央処理装置に繰り返し供給する場合を除いて、前記主記憶装置に格納されている命令列を前記中央処理装置に供給する場合には、順次、前記第2のバッファに蓄積し、
前記第2のバッファに蓄積されている第2の部分命令列を前記中央処理装置に供給している間は、前記第2の部分命令列を前記中央処理装置に供給することによって前記第2のバッファに生じた空き容量が所定の容量を超えるまでは、前記第2の部分命令列の後続命令を前記第2のバッファに蓄積しない
ことを特徴とする命令供給装置。 - 前記命令供給装置は、さらに、
前記所定の容量を保持するレジスタを備え、
前記中央処理装置からの指示に応じて、前記所定の容量が設定されて前記レジスタに保持される
ことを特徴とする請求項4に記載の命令供給装置。 - 第1のバッファと第2のバッファと第3のバッファとを備えて主記憶装置から読み出した命令を中央処理装置に供給する命令供給装置を制御する命令供給制御方法であって、
前記主記憶装置に格納されている命令列のうち、前記中央処理装置に繰り返し供給される第1の命令列を前記中央処理装置に再度供給する前に、前記第1の命令列の先頭部分である第1の部分命令列を前記第1のバッファに蓄積し、
前記中央処理装置に繰り返し供給される第2の命令列を前記中央処理装置に再度供給する前に、前記第2の命令列の先頭部分である第3の部分命令列を前記第3のバッファに蓄積し、
前記第1の命令列を前記中央処理装置に繰り返し供給する際に、前記第1のバッファに蓄積されている前記第1の部分命令列を前記中央処理装置に供給しながら、前記第1の部分命令列に後続する第2の部分命令列を前記第2のバッファに蓄積し、
前記第1の部分命令列の全てを前記中央処理装置に供給すると、前記第2のバッファに蓄積されている第2の部分命令列から、前記第1の部分命令列の後続命令を前記中央処理装置に供給し、
前記第2の命令列を前記中央処理装置に繰り返し供給する際に、前記第3のバッファに蓄積されている前記第3の部分命令列を前記中央処理装置に供給しながら、前記第3の部分命令列に後続する第4の部分命令列を前記第2のバッファに蓄積し、
前記第3の部分命令列の全てを前記中央処理装置に供給すると、前記第2のバッファに蓄積されている第4の部分命令列から、前記第3の部分命令列の後続命令を前記中央処理装置に供給し、
前記第1の命令列の所在と、前記第1の部分命令列を前記第1のバッファに蓄積することが特定される情報が含まれる第1の命令が前記主記憶装置に格納されており、前記第1の命令を実行した前記中央処理装置から、前記第1の命令に含まれる情報に基づいた指示を受けて、前記第1の部分命令列を前記第1のバッファに蓄積し、
前記第2の命令列の所在と、前記第3の部分命令列を前記第3のバッファに蓄積することが特定される情報が含まれる第2の命令が前記主記憶装置に格納されており、前記第2の命令を実行した前記中央処理装置から、前記第2の命令に含まれる情報に基づいた指示を受けて、前記第3の部分命令列を前記第3のバッファに蓄積する
ことを特徴とする命令供給制御方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004340660 | 2004-11-25 | ||
JP2004340660 | 2004-11-25 | ||
PCT/JP2005/008429 WO2006057084A1 (ja) | 2004-11-25 | 2005-05-09 | 命令供給装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP4086885B2 true JP4086885B2 (ja) | 2008-05-14 |
JPWO2006057084A1 JPWO2006057084A1 (ja) | 2008-06-05 |
Family
ID=36497830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006546623A Active JP4086885B2 (ja) | 2004-11-25 | 2005-05-09 | 命令供給装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7822949B2 (ja) |
EP (1) | EP1826667A4 (ja) |
JP (1) | JP4086885B2 (ja) |
CN (1) | CN101065725A (ja) |
TW (1) | TW200617776A (ja) |
WO (1) | WO2006057084A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1962181A4 (en) * | 2005-12-02 | 2010-05-26 | Panasonic Corp | BUFFER CONTROL UNIT AND BUFFER MEMORY |
US9201819B2 (en) * | 2005-12-26 | 2015-12-01 | Socionext Inc. | Command processing apparatus, method and integrated circuit apparatus |
US9052910B2 (en) * | 2007-10-25 | 2015-06-09 | International Business Machines Corporation | Efficiency of short loop instruction fetch |
US9772851B2 (en) * | 2007-10-25 | 2017-09-26 | International Business Machines Corporation | Retrieving instructions of a single branch, backwards short loop from a local loop buffer or virtual loop buffer |
JP5204777B2 (ja) * | 2007-12-21 | 2013-06-05 | パナソニック株式会社 | メモリ装置及びその制御方法 |
WO2010021119A1 (ja) * | 2008-08-21 | 2010-02-25 | パナソニック株式会社 | 命令制御装置 |
US9952869B2 (en) * | 2009-11-04 | 2018-04-24 | Ceva D.S.P. Ltd. | System and method for using a branch mis-prediction buffer |
CN102480387A (zh) * | 2010-11-30 | 2012-05-30 | 英业达股份有限公司 | 机架式服务器装置 |
US9377966B2 (en) | 2013-10-09 | 2016-06-28 | Samsung Electronics Co., Ltd. | Method and apparatus for efficiently processing storage commands |
KR102401271B1 (ko) * | 2015-09-08 | 2022-05-24 | 삼성전자주식회사 | 메모리 시스템 및 그 동작 방법 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5952349A (ja) * | 1982-09-17 | 1984-03-26 | Nec Corp | 命令先取制御装置 |
US4626988A (en) * | 1983-03-07 | 1986-12-02 | International Business Machines Corporation | Instruction fetch look-aside buffer with loop mode control |
JPS63314644A (ja) * | 1987-06-17 | 1988-12-22 | Nec Corp | デ−タ処理装置 |
JP2690921B2 (ja) | 1987-12-25 | 1997-12-17 | 株式会社日立製作所 | 情報処理装置 |
EP1050804A1 (en) * | 1999-05-03 | 2000-11-08 | STMicroelectronics SA | Execution of instruction loops |
US6898693B1 (en) | 2000-11-02 | 2005-05-24 | Intel Corporation | Hardware loops |
US6766444B1 (en) * | 2000-11-02 | 2004-07-20 | Intel Corporation | Hardware loops |
US6643755B2 (en) * | 2001-02-20 | 2003-11-04 | Koninklijke Philips Electronics N.V. | Cyclically sequential memory prefetch |
JP3656587B2 (ja) * | 2001-10-01 | 2005-06-08 | 日本電気株式会社 | 並列演算プロセッサ、その演算制御方法及びプログラム |
JP3804941B2 (ja) * | 2002-06-28 | 2006-08-02 | 富士通株式会社 | 命令フェッチ制御装置 |
-
2005
- 2005-05-09 JP JP2006546623A patent/JP4086885B2/ja active Active
- 2005-05-09 EP EP05737193A patent/EP1826667A4/en not_active Withdrawn
- 2005-05-09 WO PCT/JP2005/008429 patent/WO2006057084A1/ja active Application Filing
- 2005-05-09 US US11/720,011 patent/US7822949B2/en not_active Expired - Fee Related
- 2005-05-09 CN CNA2005800405346A patent/CN101065725A/zh active Pending
- 2005-05-19 TW TW094116304A patent/TW200617776A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
JPWO2006057084A1 (ja) | 2008-06-05 |
US20080086621A1 (en) | 2008-04-10 |
TW200617776A (en) | 2006-06-01 |
WO2006057084A1 (ja) | 2006-06-01 |
US7822949B2 (en) | 2010-10-26 |
EP1826667A1 (en) | 2007-08-29 |
EP1826667A4 (en) | 2008-07-23 |
CN101065725A (zh) | 2007-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4086885B2 (ja) | 命令供給装置 | |
US9244883B2 (en) | Reconfigurable processor and method of reconfiguring the same | |
EP3435240B1 (en) | Systems and methods for performing memory compression | |
KR100497078B1 (ko) | 프로그램 제품 및 데이터 처리장치 | |
US20080046660A1 (en) | Information recording apparatus and control method thereof | |
US9052910B2 (en) | Efficiency of short loop instruction fetch | |
JP4272108B2 (ja) | データ処理装置用バス相互接続ブロックの設計に関するフレキシビリティの改善 | |
JP2007219581A (ja) | メモリコントローラおよびこれを搭載する電子機器 | |
WO2010116431A1 (ja) | キャッシュ制御装置及びキャッシュ制御方法 | |
JP4076973B2 (ja) | データ処理装置を使用する場合のフレキシビリティの改善 | |
CN100378656C (zh) | 具有非易失性存储器的集成电路以及用于从所述存储器中取数据的方法 | |
EP1868081A1 (en) | Processor | |
US6851033B2 (en) | Memory access prediction in a data processing apparatus | |
JPWO2007074583A1 (ja) | 再構成可能な演算器を持つプロセッサ | |
JP2005182538A (ja) | データ転送装置 | |
KR20090053164A (ko) | 상태 정보를 관리하는 플래시 메모리 제어 장치 및 방법 | |
JP4664011B2 (ja) | 情報処理装置及び情報処理方法 | |
US20240036760A1 (en) | Control of bulk memory instructions | |
EP1550950A1 (en) | Semiconductor device | |
US7200739B2 (en) | Generation of modified command sequence from original command by feeding back for subsequent modification based on decode control signal | |
JP4102661B2 (ja) | 不揮発性半導体記憶装置 | |
JP3874104B2 (ja) | プログラム処理装置及びプログラム処理方法 | |
JP2004288213A (ja) | データ処理システム及びデータ処理方法 | |
JP2004127025A (ja) | 半導体集積回路装置 | |
JPH05158792A (ja) | キャッシュバッファの一括読込み方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20080122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080219 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110228 Year of fee payment: 3 |
|
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: 20120229 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130228 Year of fee payment: 5 |