JPS6356731A - デ−タ処理装置 - Google Patents

デ−タ処理装置

Info

Publication number
JPS6356731A
JPS6356731A JP61202041A JP20204186A JPS6356731A JP S6356731 A JPS6356731 A JP S6356731A JP 61202041 A JP61202041 A JP 61202041A JP 20204186 A JP20204186 A JP 20204186A JP S6356731 A JPS6356731 A JP S6356731A
Authority
JP
Japan
Prior art keywords
instruction
queue
cache
data
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.)
Pending
Application number
JP61202041A
Other languages
English (en)
Inventor
Masahito Matsuo
雅仁 松尾
Toyohiko Yoshida
豊彦 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP61202041A priority Critical patent/JPS6356731A/ja
Priority to US07/034,093 priority patent/US4796175A/en
Publication of JPS6356731A publication Critical patent/JPS6356731A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3808Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
    • G06F9/381Loop buffering

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、命令のブリフェッチ機能を備えたデータ処理
装置に関し、特にその装置のマイクし】プロセッサに関
するものである。
〔従来の技術] 第3図は、命令のブリフェッチ機能を備えた従来のマイ
クロプロセッサのブロック系統図である。
第3図において、1は命令キュー、2は命令デコード部
、3は命令実行部である。
次に第3図のマイクロプロセッサの動作について説明す
る。マイクロプロセッサでは、主記憶をアクセスするの
に要する時間は、プロセッサ内部のデータをアクセスす
るのに要する時間に比べて非常に長い。命令をフェッチ
するたびに主記憶をアクセスするのでは、いくらマイク
ロプロセッサが高速に動作しても、実効的な速度は上が
らない。
この点を改善するため、第3図のマイクロプロセッサで
は、主記憶がアクセスされていない時間を利用して命令
をあらかじめ命令キュー1に取り込んでおき、次に実行
する命令を命令キュー1から命令デコード部2にフェッ
チすることにより、デコード処理装置の実効的な速度を
上げている。しかし、ある命令列を実行後、命令デコー
ド部2が命令キュー1に命令フェッチ要求を出した時、
命令キュー1が空であれば、次に実行される命令は、主
記憶から直接取り込まなければならない。
〔発明が解決しようとする問題点〕
従来の命令のブリフェッチ機能を備えたデータ処理装置
は、上述したように、命令キュー1が空であれば、次に
実行される命令が主記憶から直接フェッチされるまでの
間実行を中断しなければならないため、実行速度が低下
するという問題があった・ 本発明はこのような点に鑑みてなされたものであり、そ
の目的とするところは、命令キューが空になる可能性を
低くしたデータ処理装置を得ることにある。
〔問題点を解決するための手段〕
このような目的を達成するために本発明は、−定規則に
従う領域認識記号で順序付けされた複数の領域に複数の
命令を格納する第1の記憶装置と、この第1の記憶装置
の第1の領域認識記号で区別される領域に格納された1
つ又は複数の命令からなる第1の命令列を実行する実行
装置と、第1の命令列が実行装置で実行されている間に
第1の領域認識記号で区別される領域に引き続いた順序
の第2の領域認識記号で区別される領域に格納された1
つ又は複数の命令からなる第2の命令列を取り込む命令
先取り装置と、この命令先取り装置に取り込まれている
命令データが一定量以下であるとき第2の領域認識記号
で区別される領域に引き続いた順序の第1の記憶装置の
第3の領域認識記号で区別される領域に格納された1つ
又は複数の命令からなる第3の命令列を取り込んだ場合
の第3の命令列を第3の領域認識記号を索引として記憶
する第2の記憶装置とを処理装置に設けるようにしたも
のである。
〔作用〕
本発明においては、命令先取り装置に取り込まれている
命令データが一定量以下であるとき、ブリフェッチした
命令データは第2の記憶装置に格納される。
〔実施例〕
第1図は、本発明に係わるデータ処理装置のマイクロプ
ロセッサの一実施例を示すブロック系統図である。第1
図において、1は命令先取り装置としての命令キュー、
2は命令デコード部、3は実行装置としての命令実行部
、4は第2の記憶装置としての命令キャッシュである。
第2図は、エントリ番号Q−nの場合の命令キャッシュ
4の構成例を示しており、同図において、5は領域認識
記号としてのアドレスタグ、6はアドレスタグ5のアド
レスから始まる4バイトの命令データである。
次に第1図のマイクロプロセッサの動作について説明す
る。通常、命令キュー1は、一定規則に従う領域認識記
号で順序付けされた複数の領域に複数の命令を格納する
第1の記憶装置としての主記憶よりキヱーイングを行な
っている。しかし、ある命令列を実行中に、命令キュー
1に取り込まれている命令データが一定量以下になると
、命令キュー1は命令キャッシュ4を引きにいく。命令
キャッシュ4には、最近のある命令列の実行中に命令キ
ュー1に蓄えられているデータ量が一定値以下であった
時の次に取り込むべき命令のアドレスをアドレスタグ5
とし、そのアドレスから始まる4バイトの命令データ6
が格納されている。命令列が初めて実行される場合や、
実行されてから他の命令が何度も登録されて命令キャッ
シュ4に所望のデータが残っていない場合には、キャッ
シュミスとなる。この場合は、主記憶より取り込まれた
命令列のアドレスと、そのアドレスから始まる4バイト
の命令データとを登録しておく。
一方、実行された命令列が最近実行されたものであり前
回実行された時にも命令キュー1が一定量以下であった
ならば、キャノシュヒ、7トとなる可能性が高い。キャ
ツシュヒツトした場合には、命令キュー1は、命令キャ
ッシュ4に格納しである命令データをキューイングする
。従って、主記憶から命令が取り込まれるのを待つ必要
がな(、命令キュー1が空になる可能性を低くすること
ができる。
ループの実行時などにおいては、−度ある命令列が実行
された時に命令キュー1が一定量以下になると、再び同
じ命令列が実行された時にも同じ状況になることが多く
、キャッシュのヒント率が上がるため、命令キャッシュ
4の付加により、命令キュー1が空になる可能性を低く
することができ、マイクロプロセッサの実効的な処理速
度を上げることができる。
また、分岐命令実行後は命令キュー1はキャンセルされ
るので、分岐先の命令データが登録され、最近実行され
た分岐命令の実行後の命令フェッチも高速に行なえる。
なお、上記実施例では、命令キュー1に取り込まれてい
る命令データが一定量以下であるときにブリフェッチし
た命令データを命令キャッシュ4に登録しているが、命
令キュー1が空のときにブリフェッチした命令データを
格納してもよい。また、命令キュー1に取り込まれてい
る命令データが一定量以下であるときに命令キャッシュ
4を引きにいっているが、命令ブリフェッチのたびに引
きにいってもよい。
〔発明の効果〕
以上説明したように本発明は、命令キューに取り込まれ
ている命令データが一定量以下であるときにブリフェッ
チした命令データを命令キャッシュに格納し、再び同じ
命令列が実行された時に命令キャッシュから命令データ
を取り込むことにより、命令キューが空になることを抑
制できるので、データ処理装置の実効的な処理速度を上
げることができる効果がある。
【図面の簡単な説明】
第1図は本発明に係わるデータ処理装置のマイクロプロ
セッサの一実施例を示すブロック系統図、第2図は命令
キャッシュの構成例を示す構成図、第3図は従来のデー
タ処理装置のマイクロプロセッサを示すブロック系統図
である。 1・・・命令キュー、2・・・命令デコード部、3・・
・命令実行部、4・・・命令キャッシュ。

Claims (1)

    【特許請求の範囲】
  1. 一定規則に従う領域認識記号で順序付けされた複数の領
    域に複数の命令を格納する第1の記憶装置と、この第1
    の記憶装置の第1の領域認識記号で区別される領域に格
    納された1つ又は複数の命令からなる第1の命令列を実
    行する実行装置と、第1の命令列が前記実行装置で実行
    されている間に第1の領域認識記号で区別される領域に
    引き続いた順序の第2の領域認識記号で区別される領域
    に格納された1つ又は複数の命令からなる第2の命令列
    を取り込む命令先取り装置と、この命令先取り装置に取
    り込まれている命令データが一定量以下であるとき第2
    の領域認識記号で区別される領域に引き続いた順序の第
    1の記憶装置の第3の領域認識記号で区別される領域に
    格納された1つ又は複数の命令からなる第3の命令列を
    取り込んだ場合の第3の命令列を第3の領域認識記号を
    索引として記憶する第2の記憶装置とを備え、同じ命令
    列が再度実行された時に第2の記憶装置から前記命令先
    取り装置へ第3の命令列を取り込むようにしたことを特
    徴とするデータ処理装置。
JP61202041A 1986-08-27 1986-08-27 デ−タ処理装置 Pending JPS6356731A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP61202041A JPS6356731A (ja) 1986-08-27 1986-08-27 デ−タ処理装置
US07/034,093 US4796175A (en) 1986-08-27 1987-04-02 Instruction fetching in data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61202041A JPS6356731A (ja) 1986-08-27 1986-08-27 デ−タ処理装置

Publications (1)

Publication Number Publication Date
JPS6356731A true JPS6356731A (ja) 1988-03-11

Family

ID=16450950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61202041A Pending JPS6356731A (ja) 1986-08-27 1986-08-27 デ−タ処理装置

Country Status (2)

Country Link
US (1) US4796175A (ja)
JP (1) JPS6356731A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0277839A (ja) * 1988-09-14 1990-03-16 Hitachi Ltd データ処理装置
JPH02153428A (ja) * 1988-12-05 1990-06-13 Matsushita Electric Ind Co Ltd キャッシュ装置と命令読出し装置
JPH0322136A (ja) * 1989-06-20 1991-01-30 Matsushita Electric Ind Co Ltd マイクロプロセッサ

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5006737A (en) * 1989-04-24 1991-04-09 Motorola Inc. Transformerless semiconductor AC switch having internal biasing means
EP0436341B1 (en) * 1990-01-02 1997-05-07 Motorola, Inc. Sequential prefetch method for 1, 2 or 3 word instructions
US5226130A (en) * 1990-02-26 1993-07-06 Nexgen Microsystems Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency
US5230068A (en) * 1990-02-26 1993-07-20 Nexgen Microsystems Cache memory system for dynamically altering single cache memory line as either branch target entry or pre-fetch instruction queue based upon instruction sequence
US5163140A (en) * 1990-02-26 1992-11-10 Nexgen Microsystems Two-level branch prediction cache
US5093778A (en) * 1990-02-26 1992-03-03 Nexgen Microsystems Integrated single structure branch prediction cache
JPH0695875A (ja) * 1991-01-09 1994-04-08 Mitsubishi Electric Corp マイクロコンピュータのメモリアクセス方法
JP3618442B2 (ja) * 1996-02-08 2005-02-09 株式会社東芝 マイクロプロセッサのパワーエスティメータ装置
US6092186A (en) * 1996-05-07 2000-07-18 Lucent Technologies Inc. Apparatus and method for aborting un-needed instruction fetches in a digital microprocessor device
US6760833B1 (en) * 1997-08-01 2004-07-06 Micron Technology, Inc. Split embedded DRAM processor
US6226738B1 (en) * 1997-08-01 2001-05-01 Micron Technology, Inc. Split embedded DRAM processor
US8489861B2 (en) * 1997-12-23 2013-07-16 Round Rock Research, Llc Split embedded DRAM processor
US6760818B2 (en) * 2002-05-01 2004-07-06 Koninklijke Philips Electronics N.V. Memory region based data pre-fetching
JP4610218B2 (ja) * 2004-03-30 2011-01-12 ルネサスエレクトロニクス株式会社 情報処理装置
US7589738B2 (en) * 2004-07-14 2009-09-15 Integrated Device Technology, Inc. Cache memory management system and method
US7439979B1 (en) * 2004-11-10 2008-10-21 Nvidia Corporation Shader with cache memory
KR100877611B1 (ko) * 2007-02-08 2009-01-09 삼성전자주식회사 플래시 메모리 내장 마이크로 컨트롤러 유닛 시스템 및상기 마이크로 컨트롤러 유닛의 플래시 메모리 접근 방법
CN107038125B (zh) * 2017-04-25 2020-11-24 上海兆芯集成电路有限公司 具有加速预取请求的独立流水线的处理器高速缓存

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS569844A (en) * 1979-07-05 1981-01-31 Fujitsu Ltd Instruction fetch processing system
JPS58178444A (ja) * 1982-04-14 1983-10-19 Toshiba Corp 命令バツフア補充方式

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4008460A (en) * 1975-12-24 1977-02-15 International Business Machines Corporation Circuit for implementing a modified LRU replacement algorithm for a cache
US4562537A (en) * 1984-04-13 1985-12-31 Texas Instruments Incorporated High speed processor
US4691277A (en) * 1984-10-24 1987-09-01 International Business Machines Corp. Small instruction cache using branch target table to effect instruction prefetch

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS569844A (en) * 1979-07-05 1981-01-31 Fujitsu Ltd Instruction fetch processing system
JPS58178444A (ja) * 1982-04-14 1983-10-19 Toshiba Corp 命令バツフア補充方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0277839A (ja) * 1988-09-14 1990-03-16 Hitachi Ltd データ処理装置
JPH02153428A (ja) * 1988-12-05 1990-06-13 Matsushita Electric Ind Co Ltd キャッシュ装置と命令読出し装置
JPH0322136A (ja) * 1989-06-20 1991-01-30 Matsushita Electric Ind Co Ltd マイクロプロセッサ

Also Published As

Publication number Publication date
US4796175A (en) 1989-01-03

Similar Documents

Publication Publication Date Title
JPS6356731A (ja) デ−タ処理装置
US4847753A (en) Pipelined computer
JP3549079B2 (ja) キャッシュ制御の命令プリフェッチ方法
EP0752645A2 (en) Tunable software control of Harvard architecture cache memories using prefetch instructions
JPS62221036A (ja) 計算装置
KR19980034443A (ko) 슈퍼 스칼라 마이크로 프로세서의 효율적인 비티비(btb) 방법
JPH06208463A (ja) 命令をその少なくとも1つの実行装置へ迅速にディスパッチする方法および装置
JPS6393041A (ja) 計算機
JPH0425939A (ja) マイクロプロセッサ
WO2001038970A2 (en) Buffer memories, methods and systems for buffering having seperate buffer memories for each of a plurality of tasks
JP2008186233A (ja) 命令キャッシュプリフェッチ制御方法及びその装置
JP2690921B2 (ja) 情報処理装置
JPH01205228A (ja) 命令バツフアシステム
JPS63106046A (ja) デ−タ処理装置
KR19990003937A (ko) 프리페치 장치
JP4413663B2 (ja) 命令キャッシュシステム
JP2508021B2 (ja) デ−タ処理装置
JPS6051947A (ja) 仮想記憶計算機における命令先取方式
CN117472446B (zh) 基于处理器的多级取指目标缓冲器的分支预测方法
JPH01193938A (ja) 命令先読み装置
JP2008090411A (ja) 情報処理装置、命令制御機構及び命令制御方法
JPH04246728A (ja) 情報処理装置
JP2003162446A (ja) マイクロコンピュータ
JPS6393039A (ja) 計算機
JP2766114B2 (ja) 命令先取り装置