JPH03139726A - 命令読出し制御方式 - Google Patents

命令読出し制御方式

Info

Publication number
JPH03139726A
JPH03139726A JP1278983A JP27898389A JPH03139726A JP H03139726 A JPH03139726 A JP H03139726A JP 1278983 A JP1278983 A JP 1278983A JP 27898389 A JP27898389 A JP 27898389A JP H03139726 A JPH03139726 A JP H03139726A
Authority
JP
Japan
Prior art keywords
instruction
memory
read
buffer
response
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
JP1278983A
Other languages
English (en)
Inventor
Kenji Matsubara
健二 松原
Seiji Nagai
長井 清治
Toru Shonai
亨 庄内
Akihiro Fushida
伏田 晃弘
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering Ltd
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 Hitachi Ltd, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP1278983A priority Critical patent/JPH03139726A/ja
Priority to US07/603,998 priority patent/US5267350A/en
Priority to DE4034009A priority patent/DE4034009C2/de
Publication of JPH03139726A publication Critical patent/JPH03139726A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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

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)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理装置における命令読出し制御方式に
関する。
〔従来技術〕
従来、命令のブリフェッチ制御方式においては、命令バ
ッファが全て空の状態にならないようにするため、命令
の処理が進行して命令バッファの一部が空となる度に、
メモリに対して命令の読出し要求を出している(以下、
これを第1の命令読出しと呼ぶ)。また、分岐命令の処
理性能向上のために複数の命令バッファを設け、分岐命
令がデコードされたとき、あるいは過去の履歴により分
岐命令の出現が予測されたときに分岐先命令の読出し要
求を出している(以下、これを第2の命令読出しと呼ぶ
)。
第1の命令読出しにおいては、命令バッファ内に常に命
令を十分に確保しておくため、例えば命令バッファの容
量が32バイトであるとすると8バイトの空きが生じる
度に命令読出し要求を出す必要がある。従って、1回の
要求に対して読出される命令の量は比較的少なくてもよ
い。
第2の命令読出しにおいては、命令バッファが全て空の
状態にあるため、直ちに命令バッファに命令を格納する
必要がある。従って1回の要求に対してできるだけ多く
の命令を読出すことが望ましい。
このため従来の方式においては、1回の要求に対して読
出される命令の量を、ハードウェア量および性能への影
響を考慮した上で、第2の命令読出しに必要な量に合わ
せている。そして第1の命令読出しを行うときには、読
出された命令の内、先頭からの固定長だけを命令バッフ
ァに格納し、残りの部分は使用していない。例えば先の
例と同じく命令バッファの容量が32バイトであり、1
回の要求で16バイトの命令が読出されるとすると、第
2の命令読出しでは2回の命令読出し要求が発行される
。第1の命令読出しでは読出された16バイトの命令の
内、前半8バイトが命令バッファに格納され後半は使用
されない。
なお、この種の方式に関連するものとして、例えば特開
昭62−77648号公報、特開昭59−91552号
公報がある。
〔発明が解決しようとする課題〕
命令バッファを複数設け1分岐先命令の読出しを行うと
、命令バッファ数が増えるにしたがい、命令読出し要求
頻度が増大する。
また、過去の履歴により分岐命令の出現を予測して分岐
先命令の読出しを行う場合、分岐命令をデコードしたと
きに分岐先命令を読出す方式に較べ、読出しタイミング
が早まることにより、さらに命令読出し要求頻度が高く
なる。
このように、従来技術では第2の命令読出し要求頻度の
増加により、第1と第2の命令読出し要求の回数を合わ
せた全体としてのメモリオーバヘッドが増大し、全体の
処理性能が低下するという問題がある。
本発明は、前記問題点を解決するためになされたもので
ある。
本発明の目的は、第1の命令読出し要求の回数を減少さ
せることにより、実質的に全体としてのメモリオーバヘ
ッドを減少させた命令読出し制御方式を提供することに
ある。
〔課題を解決するための手段〕
前記目的を達成するために、命令バッファを有し、該命
令バッファの一部が空きになったことを検出するとメモ
リに対して命令読出し要求を発行する命令読出し制御方
式において、命令バッファの空き状態を検出する検出手
段と、該検出手段の出力に応じて前記命令バッファに格
納する命令の量を制御する制御手段を設けた。
〔作 用〕
前述した手段によれば、命令処理が進行し、命4〜 令バッファの一部が空いたことが検出されるとメモリに
対して命令読出し要求を出す。この要求に対するメモリ
からの応答が返るまでの間に、命令バッファの後続部分
が空いたことが検出されたならば、該部分に対する命令
読出し要求は抑止する。
応答が返ってきたときに、命令バッファの先に空となっ
た部分および後に空となった部分に対し読出された命令
を格納する。
〔実施例〕
以下、本発明の一実施例を図面を用いて具体的に説明す
る。
第1図は、本発明の一実施例に係るブロック図である。
1は、命令(1命令の長さは4バイトであるとする)が
格納されているメモリであり、メモリ1からは1回の読
出し要求で16バイト分の命令が読出されるとする。2
は、メモリ1から読出された16バイトの命令を読出し
アドレスに従ってシフトするシフタである。3〜6は、
4バイト長の命令バッファレジスタ(IBR)であり、
各々に1命令ずつ格納し容量16バイトの命令バソファ
を構成する。命令長が4バイトであるため、命令が一つ
デコードされると命令バッファレジスタが一つ空くこと
になる。7はセレクタ、8は命令のデコーダ、9は命令
読出し制御回路、10は命令切出しポインタ、11は命
令読出しアドレスレジスタである。
次に第1図の動作を説明する。
IBR3〜6には既に命令が格納されており、命令切出
しポインタ10はIBR3を示しているものとする。I
BRa内の命令は、命令切出しポインタ10によりセレ
クタ7で選択されデコーダ8に入力される。命令がデコ
ードされ、デコード信号1dがオンになると、命令読出
し制御回路9は空になったIBR3への命令読出し要求
1bをメモリ1に送出する。デコード信号1dにより、
命令切出しポインタ10はインクリメントされIBR4
を示すようになり、命令読出しアドレスは命令長の4バ
イト分加算されIBR4への命令読出しアドレスを示す
命令読出し要求1bに対するメモリ1からの応答1cは
、命令がメモリ内にあれば直ちに返るが、メモリ内にな
い場合はブロック転送が生じ、転送が終了するまで応答
は返らない。
命令読出し要求を送出してから応答が返るまでの間に、
次のIBR4内の命令がデコードされ再びデコード信号
1dがオンになると、前述したと同様に命令切出しポイ
ンタ10および命令読出しアドレス11はインクリメン
トされる。
このとき命令読出し制御回路9は、IBR3への命令読
出要求に対する応答がまだ返らないことにより、IBR
4への読出し要求を送出しない。
その後、IBR5内の命令がデコードされる前にメモリ
からの応答1cが返ったならば、命令読出し制御回路9
は先に空となったIBR3と後に空となったIBR4に
対して命令格納信号1aを送出する。メモリから読出さ
れた命令はシフタ2により読出しアドレスに従ってシフ
トされ、IBR3〜6の入力となる。そして、IBR3
および4は格納信号1aにより命令を格納する。
もし、IBR3への読出し要求が送出されてか7− ら応答までの間にIBRA内の命令がデコードされなか
ったならば、応答が返るとIBR3のみに命令が格納さ
れる。そしてIBR4内の命令がデコードされたならば
、新たな命令読出し要求が送出される。
第2図は、命令読出し制御部9の構成を示した図である
12〜17はデイレイラッチ、18〜21はANDゲー
ト、22〜25はIBR3〜6が空であることを示すフ
ラグ、26はNORゲート、27〜31はANDゲート
である。
以下、第2図の動作を説明するが、デコード信号とメモ
リからの応答信号は位相が異なり同時にオンとはならな
いものとする。
IBR3〜7内の全てに命令があるとき、フラグ22〜
25の値は全てOとなっている。IBRa内の命令がデ
コードされるとラッチ12の出力がオンとなる。フラグ
22〜25がOであるためゲート26の出力はオン、従
ってゲート27の出力もオンとなり、メモリへ命令読出
し要求が送出される。命令切出一 しポインタはIBR3を示していたからラッチ13の出
力だけオン、他はオフとなる。このためゲート18の出
力がオンとなり、フラグ22を1にセットする。フラグ
23〜25はOのままである。
メモリからの応答が返るまでの間にIBRA内の命令が
デコードされると、ラッチ12と!4の出力がオン、し
たがってゲート19の出力がオンとなり、フラグ23が
1にセットされる。このときフラグ22が1であるため
ゲート26の出力はオフ、ゲート27の出力もオフとな
り、メモリへの読出し要求は送出されない。
その後、IBR5内の命令がデコードされるより前にメ
モリからの応答が返ると、ラッチ17の出力がオンにな
る。フラグ22.23が1であるため、ゲート28.2
9の出力がオンとなり、IBR3および4に対する命令
格納信号が送出される。ラッチ17の出力によりフラグ
22〜25は全て0にリセットされる。
〔発明の効果〕
以上、説明したように、本発明によれば、命令バッファ
の空き状態に応じて、命令バッファに格納する命令の量
を可変とすることができるので、命令読出し要求の回数
が削減され、読出し要求間の衝突による処理性能の低下
を防ぐことが可能となる。
【図面の簡単な説明】
第1図は、本発明の一実施例に係るブロック図、第2図
は、命令読出し制御回路の構成を示す図である。 図中、1・・・メモリ、2・・・シック、3〜6・・・
命令バッファレジスタ、7・・・セレクタ、8・・・デ
コーダ、9・・・命令読出し制御回路、10・・・命令
切出しポインタ、11・・・命令読出しアドレスレジス
タ、12〜17・・・デイレイラッチ、22〜25・・
・命令バッファレジスタの空き状態を示すフラグ。

Claims (1)

  1. 【特許請求の範囲】 1、命令バッファを有し、該命令バッファの一部が空き
    になったことを検出するとメモリに対して命令読出し要
    求を発行する命令読出し制御方式において、命令バッフ
    ァの空き状態を検出する検出手段と、該検出手段の出力
    に応じて前記命令バッファに格納する命令の量を制御す
    る制御手段を設けたことを特徴とする命令読出し制御方
    式。 2、請求項1記載の命令読出し制御方式において、前記
    検出手段が命令バッファの空き状態を検出するとメモリ
    に対して命令読出し要求を発行する手段と、該要求に対
    してメモリから応答信号が返送される間に、前記命令バ
    ッファに後続する命令バッファが空き状態になったこと
    を前記検出手段が検出したとき、前記メモリに対する命
    令読出し要求を抑止する手段を設けたことを特徴とする
    命令読出し制御方式。 3、請求項2記載の命令読出し制御方式において、前記
    メモリからの応答信号と前記検出手段の出力によって命
    令格納信号を生成する手段を設け、前記先行する命令バ
    ッファと前記後続する命令バッファに命令を格納するこ
    とを特徴とする命令読出し制御方式。
JP1278983A 1989-10-26 1989-10-26 命令読出し制御方式 Pending JPH03139726A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP1278983A JPH03139726A (ja) 1989-10-26 1989-10-26 命令読出し制御方式
US07/603,998 US5267350A (en) 1989-10-26 1990-10-25 Method for fetching plural instructions using single fetch request in accordance with empty state of instruction buffers and setting of flag latches
DE4034009A DE4034009C2 (de) 1989-10-26 1990-10-25 Verfahren zur Befehlsabrufsteuerung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1278983A JPH03139726A (ja) 1989-10-26 1989-10-26 命令読出し制御方式

Publications (1)

Publication Number Publication Date
JPH03139726A true JPH03139726A (ja) 1991-06-13

Family

ID=17604791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1278983A Pending JPH03139726A (ja) 1989-10-26 1989-10-26 命令読出し制御方式

Country Status (3)

Country Link
US (1) US5267350A (ja)
JP (1) JPH03139726A (ja)
DE (1) DE4034009C2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH052484A (ja) * 1991-06-24 1993-01-08 Mitsubishi Electric Corp スーパースカラプロセツサ
US6453388B1 (en) 1992-06-17 2002-09-17 Intel Corporation Computer system having a bus interface unit for prefetching data from system memory
US5604909A (en) 1993-12-15 1997-02-18 Silicon Graphics Computer Systems, Inc. Apparatus for processing instructions in a computing system
JPH07200289A (ja) * 1993-12-28 1995-08-04 Fujitsu Ltd 情報処理装置
KR100329338B1 (ko) * 1994-12-02 2002-07-18 피터 엔. 데트킨 복합피연산자의팩연산을수행하는마이크로프로세서
US5857096A (en) * 1995-12-19 1999-01-05 Intel Corporation Microarchitecture for implementing an instruction to clear the tags of a stack reference register file
US5940859A (en) * 1995-12-19 1999-08-17 Intel Corporation Emptying packed data state during execution of packed data instructions
US6792523B1 (en) 1995-12-19 2004-09-14 Intel Corporation Processor with instructions that operate on different data types stored in the same single logical register file
US5701508A (en) 1995-12-19 1997-12-23 Intel Corporation Executing different instructions that cause different data type operations to be performed on single logical register file
US5964863A (en) * 1996-04-15 1999-10-12 Motorola, Inc. Method and apparatus for providing pipe fullness information external to a data processing system
KR100492985B1 (ko) * 1997-08-27 2005-08-25 삼성전자주식회사 마이크로콘트롤러또는마이크로프로세서의워킹레지스터블락및워킹레지스터블락제어방법
US6862563B1 (en) * 1998-10-14 2005-03-01 Arc International Method and apparatus for managing the configuration and functionality of a semiconductor design
US7082516B1 (en) * 2000-09-28 2006-07-25 Intel Corporation Aligning instructions using a variable width alignment engine having an intelligent buffer refill mechanism
GB2393270B (en) * 2002-09-19 2005-07-27 Advanced Risc Mach Ltd Executing variable length instructions stored within a plurality of discrete memory address regions

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51111026A (en) * 1975-03-26 1976-10-01 Hitachi Ltd Information management equipment

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200927A (en) * 1978-01-03 1980-04-29 International Business Machines Corporation Multi-instruction stream branch processing mechanism
JPS54122043A (en) * 1978-03-15 1979-09-21 Toshiba Corp Electronic computer
US4415969A (en) * 1980-02-07 1983-11-15 Intel Corporation Macroinstruction translator unit for use in a microprocessor
JPS57185545A (en) * 1981-05-11 1982-11-15 Hitachi Ltd Information processor
JPS5991552A (ja) * 1982-11-17 1984-05-26 Nec Corp セツトアソシアテイブ型分岐ヒストリテ−ブルを有する命令先取り装置
US4757445A (en) * 1983-09-12 1988-07-12 Motorola, Inc. Method and apparatus for validating prefetched instruction
US4691279A (en) * 1984-03-02 1987-09-01 Unisys Corporation Instruction buffer for a digital data processing system
US4691277A (en) * 1984-10-24 1987-09-01 International Business Machines Corp. Small instruction cache using branch target table to effect instruction prefetch
US4775927A (en) * 1984-10-31 1988-10-04 International Business Machines Corporation Processor including fetch operation for branch instruction with control tag
JPS6277648A (ja) * 1985-09-30 1987-04-09 Hitachi Ltd 命令読出し制御方法
JPH0827716B2 (ja) * 1985-10-25 1996-03-21 株式会社日立製作所 データ処理装置及びデータ処理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51111026A (en) * 1975-03-26 1976-10-01 Hitachi Ltd Information management equipment

Also Published As

Publication number Publication date
US5267350A (en) 1993-11-30
DE4034009C2 (de) 1995-02-02
DE4034009A1 (de) 1991-05-02

Similar Documents

Publication Publication Date Title
US4959771A (en) Write buffer for a digital processing system
JPH03139726A (ja) 命令読出し制御方式
JPS63127368A (ja) ベクトル処理装置の制御方式
JPS61109146A (ja) 先行制御方式
JPS6235949A (ja) メモリ−装置
JPS6211736B2 (ja)
US5734855A (en) Processor with pipeline processing function having read buffer register and latch for storing register information where the result of external access type instruction is stored
US5634104A (en) Cache memory apparatus for reading data corresponding to input address information
JPH0115900B2 (ja)
JPS58222348A (ja) 情報処理装置
JP3045731B2 (ja) シーケンス制御方式
US5479165A (en) Two-dimensional coding apparatus
JPS6045459B2 (ja) メモリバンク制御方式
JPS6391756A (ja) 記憶装置の部分書き込み命令処理方式
KR950003883B1 (ko) 메모리제어논리장치
JPH0516611B2 (ja)
JPH02153444A (ja) メモリ制御回路
JPS581247A (ja) 命令先取り制御方法
JPH0273747A (ja) 交換処理待ちキュー優先制御回路
JPH0376505B2 (ja)
JPS59158442A (ja) 命令読出し制御方法
JPH10187540A (ja) キャッシュ・データの掃き出し制御方法
JPH04160661A (ja) データ処理システム
JPS62209652A (ja) アクセスプライオリテイ制御方式
JPS6072030A (ja) 情報処理装置