JPH02242337A - 命令プリフェッチ装置 - Google Patents

命令プリフェッチ装置

Info

Publication number
JPH02242337A
JPH02242337A JP1062834A JP6283489A JPH02242337A JP H02242337 A JPH02242337 A JP H02242337A JP 1062834 A JP1062834 A JP 1062834A JP 6283489 A JP6283489 A JP 6283489A JP H02242337 A JPH02242337 A JP H02242337A
Authority
JP
Japan
Prior art keywords
instruction
instructions
prefetch
words
bus
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.)
Granted
Application number
JP1062834A
Other languages
English (en)
Other versions
JP2791086B2 (ja
Inventor
Kokichi Taniai
谷合 高吉
Hajime Sato
一 佐藤
Hidetoshi Shimura
志村 英年
Tadashi Saito
正 斎藤
Shinji Oyamada
信次 小山田
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.)
Fujitsu Ltd
Fujitsu Microcomputer Systems Ltd
Original Assignee
Fujitsu Ltd
Fujitsu Microcomputer Systems 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 Fujitsu Ltd, Fujitsu Microcomputer Systems Ltd filed Critical Fujitsu Ltd
Priority to JP6283489A priority Critical patent/JP2791086B2/ja
Priority to KR1019900003484A priority patent/KR940004742B1/ko
Priority to EP19900302749 priority patent/EP0389175A3/en
Publication of JPH02242337A publication Critical patent/JPH02242337A/ja
Priority to US08/453,475 priority patent/US5655114A/en
Application granted granted Critical
Publication of JP2791086B2 publication Critical patent/JP2791086B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、命令プリフエ・ソチ装置(こ関するものであ
る。
命令プリフェッチ装置は、ある命令を実行している間に
それ以降の命令を予じめフェッチする(プリフェッチ)
ものであり、このような装置においては、命令のワード
数にかかわらず、バッファに空きが生ずるごとに、命令
をワード単位でプリフェッチしていた・ので、プリフェ
ッチが頻繁に行われてしまう。そこで、命令をその命令
の単位ごとにプリフェッチすることが望まれている。
〔従来の技術〕
初期のCPUや周辺装置においては、命令のフェッチと
該命令の実行とは、順番に行なわれていた。すなわち、
ある命令がフェッチされて該命令が実行された後、次の
命令のフェッチ及び実行が行なわれていた。しかしなが
ら、装置の高性能化により、ある命令を実行している間
にそれ以降の命令を予じめフェッチする(プリフェッチ
)装置が一般的になってきた。このようなプリフェッチ
装置には、 ■ 数バイトのFIFOを有し、該FIFOに空きが生
じるごとに命令をフェッチするもの、■ キャッシュと
よばれるIK/<イト位の内蔵モリを有し、該内蔵メモ
リにストアされていないアドレスから命令をフエ・ソチ
しようとしたときに、外部メモリから命令を取り込むも
の等がある。
上記■のプリフェッチ装置は、8ビ・ント、16ビツト
のCPUや周辺装置等に使われている比較的簡便なもの
であり、また、上記■のプリフエ・ソチ装置は、仮想記
憶を持った32ビ・ソトCPU等に使われているもので
ある。なお、本発明は、主に、上記■のプリフェッチ装
置に対する改善に関連している。
〔発明が解決しようとする課題〕
上記■のプリフェッチ装置においては、命令のワード数
に関係なくFIFOに空きが生ずるごとに、命令をワー
ド単位でブリフエ・ソチし、FIFOがいっばいになる
と、プリフェッチ動作が停止する。従って、例えば、F
IFOに1ワードの空きが生ずると、命令のうちの1ワ
一ド分かプリフェッチされた後、プリフェッチ動作が停
止する。
ところで、複数のバスマスクがバスを共有している場合
には、バスアービットレーションにより、各バスマスク
は、バス権を獲得し合いながらバスを使用するので、バ
ス効率が問題になる。ここで、バスアービットレーショ
ンの期間内には、データの転送はできない。従って、バ
スアービットレーション、すなわち、あるバスマスクか
ら別のバスマスクへのバス権の移行が頻繁に起こると、
バス効率か低下してしまう。
前述したように、上記■のプリフェッチ装置においては
、FIFOに少しでも空きが生ずると、命令のプリフェ
ッチが行われるので、パスアービットレーションが頻繁
に起こる。この際に、バスに1つのバスマスタしか存在
しない場合には問題はないと思われるが、複数のバスマ
スタがバスを共有している場合には、他のバスマスクが
バスを使用することができず、システム全体のバス効率
が低下してしまう。
本発明の目的は、パスアーピットレーションの頻度を少
なくして、システム全体のバス効率を向上させることが
できる命令プリフェッチ装置を提供することにある。
〔課題を解決す・るための手段〕
本発明は、命令をプリフェッチするプリフェッチ手段(
14)と、該プリフェッチされた命令をデコードし命令
のワード数を求めるデコード手段(32)と、該プリフ
ェッチされた命令をストアするバッファ手段(16) 
を含み、前記プリフェッチ手段(14)は、前記デコー
ド手段(32)で求められた命令のワード数に基づいて
、命令の単位ごとに、命令をプリフェッチして前記バッ
ファ手段(16)にストアさせるように構成する。
〔作用〕
本発明においては、プリフェッチ手段(14)により命
令がプリフェッチされ、デコード手段(32)により命
令がデコードされて該命令のワード数が求められる。前
記プリフェッチ手段(14)は、このデコード手段(3
2)で求められた命令のワード数に基づいて、命令の単
位ごとに、命令をプリフェッチしてバッファ手段(16
)にストアさせるようにし、これにより、バスアービッ
トレーションが頻繁に起こらないようにしている。
〔実施例〕
以下、図面に基づいて本発明の好適な実施例を説明する
第1図には、本発明の実施例による命令プリフェッチ装
置のブロック回路が示され、第2図には、第1図の命令
プリフェッチ装置内のプリフェッチユニットのブロック
回路が示されている。
第1図において、データ11010は、外部とデータの
やりとりを行うものであり、アドレス11012は、外
部にアドレスを出力するものであり、プリフェッチユニ
ット14は、命令のプリフェッチを行うものであり、コ
マンドバ・ソファ16は、前記プリフェッチユニット1
4てブリフエ・ソチされた命令をストアしておくFIF
O形式のノくソファであり、実行ユニット18は、命令
を実行するものである。なお、符号20は、内部データ
ノ(スを示す。
次に、上記プリフェッチユニット14内の構成を第2図
を参照しながら説明する。
アダー22は、アドレス計算を行うための加算器であり
、このアダー22は、セレクタ24の出力側に接続され
るとともに、他のセレクタ26の入力端に接続されてい
る。プリフェッチポインタ28は、プリフェッチすべき
命令のアドレスを示すレジスタである。
コマンドレジスタ30は、命令コードをストアするレジ
スタであり、コマンドデコーダ32は、命令のデコーダ
であり、命令のワード数を求めるものである。パラメー
タカウンタ34は、前記コマンドデコーダ32で求めら
れた命令のワード数に基づくパラメータ数にセットされ
、命令が1ワードずつプリフェッチされてコマンドバッ
ファ16(第1図参照)に取り込まれるごとに、パラメ
ータカウンタ34は、カウントダウンしていき、その値
が0になると、該命令のプリフェッチが終了した旨を次
のマイクロROM36に伝える。マイクロROM36に
は、コマンドバッファ16(第1図参照)からエンプテ
ィ信号が供給され、このエンプティ信号は、コマンドバ
ッファ16の内部状態、すなわち、コマンドバッファ1
6内の命令の数及び空きワード数を示す。そして、この
マイクロROM34は、プリフェッチ等に必要な制御信
号を発生する。
次に、上記装置の作用を説明する。
プリフェッチユニット14内のプリフェッチポインタ2
8から、アドレスl1012に、アドレスが転送されて
外部に出力される。このアドレスにあるメモリ(図示せ
ず)から、コマンドレジスタ30及びコマンドバッファ
16に、命令コードが取り込まれる。以上のようにして
、プリフェッチユニット14により、命令がプリフェッ
チされる。
コマンドデコーダ32は、コマンドレジスタ30に取り
込まれた命令をデコードして該命令のワード数を求め、
このワード数に基づくパラメータ数が、パラメータカウ
ンタ34にセットされる。
そして、命令が1ワードずつプリフェッチされてコマン
ドバッファ16に取り込まれるごとに、パラメータカウ
ンタ34は、カウントダウンしていき、その値が0にな
ると、該命令のプリフェッチが終了した旨をマイクロR
OM36に伝える。
また、コマンドバッファ16は、エンプティ信号をマイ
クロROM36に供給して、該コマンドバッファ16に
最大ワード数の命令が入るだけの空きが無くなると、プ
リフェッチを停止するように知らせ、一方、該コマンド
バッファ16内の命令が実行ユニット18により実行さ
れ、コマンドバッファ16に残っている命令が1命令以
下になると、プリフェッチを再開するように知らせる。
そして、マイクロROM36は、前記パラメータカウン
タ34からの信号及びコマン・ドバソファ16からのエ
ンプティ信号に基づいて、次の命令をプリフェッチする
か否かを判断する。
次に、第3図のタイミングチャートを参照しながら、装
置の作用を更に詳細に説明する。なお、第3図において
、C1,C2は、命令の命令コードを示し、P21は、
命令C2のパラメータを示し、C3,P31.P32・
・・についても同様である。また、コマンドバッファ1
6は6ワードであり、命令の最大ワード数は3ワードで
ある。
初期状態(状態0)において、コマンドバッファ16は
、その6ワード全てが命令でいっばいの状態である。
状態1で、命令C1が実行され、これにより、コマンド
バッファ16に残っている命令は、2命令、すなわち、
命令C2,P21及び、命令C3゜P31.P32にな
る。
状態2で、命令C2,P21が実行され、これにより、
コマンドバッファ16に残っている命令は、1命令以下
、すなわち、命令C3,P31゜P32になるので、エ
ンプティ信号は、「H」レベルになり、これにより、命
令C4,P41のプリフェッチが開始される。なお、パ
ラメータカウンタ34は、1に設定される。
状態3で、パラメータカウンタ34は、0になり命令C
4,P41のプリフェッチが終了し、これにより、コマ
ンドバッファ16は、1ワード空きの状態になる。この
ようにコマンドバッファ16の空きワード数が最大ワー
ド数3より小さくなったので、エンプティ信号は、「L
」レベルになり、これにより、命令のプリフェッチが停
止される。
状態4で、命令C3,P31.P32が実行され、これ
により、コマンドバッファ16に残っている命令は、1
命令以下、すなわち、命令C4゜P41になるので、エ
ンプティ信号は、「H」レベルになり、これにより、命
令C5のプリフェッチが開始される。なお、パラメータ
カウンタ34は、0のままである。
状態5で、パラメータカウンタ34は0であり、命令C
5のプリフェッチが終了する。この命令C5のプリフェ
ッチの終了時には、コマンドバッファ16の空きワード
数は、3であり、最大ワード数3以上である。従って、
状態5では、次の命令C6,P61.P62のプリフェ
ッチが継続される。パラメータカウンタ34は、2に設
定され、その後、パラメータカウンタ34は、0になり
、該命令C6,P61.P62のプリフェッチが終了す
ると、コマンドバッファ16は、空きの無いすなわち0
ワード空きの状態になる。このようにコマンドバッファ
16の空きワード数が最大ワード数3より小さくなった
ので、エンプティ信号は、rLJレベルになり、これに
より、命令のプリフェッチが停止される。
状態6で、命令C4,P41が実行され、これにより、
コマンド16に残っている命令は、2命令、すなわち、
命令C5及び、C6,P61゜P62になる。
状態7で、命令C5が実行され、これにより、コマンド
16に残っている命令は、1命令以下、すなわち、命令
C6,P61.P62になるので、エンプティ信号は、
「H」レベルになり、これにより、命令C7,P71の
プリフェッチが開始される。なお、パラメータカウンタ
34は、1に設定される。
状態8で、パラメータカウンタ34は、0になり、命令
C7,P71のプリフェッチが終了し、これにより、コ
マンドバッファ16は、1ワード空きの状態になる。こ
のようにコマンドバッファ16の空きワード数が最大ワ
ード数3より小さくなったので、エンプティ信号は、「
L」レベルになり、これにより、命令のプリフェッチが
停止される。
以上のように、本発明の実施例による命令プリフェッチ
装置においては、バスマスタが一度バス権を獲得すると
、コマンドバッファ16に最大限の命令がプリフェッチ
された後に、該バスマスクがバス権を解放し、解放後に
は、命令の実行に支障をきたさない範囲まで、命令のプ
リフェッチが再開されない。従って、バスアービットレ
ーシbンの開度を少なくして、バス効率を向上させるこ
とができる。
〔発明の効果〕
以上説明したように、本発明によれば、命令の単位ごと
に、命令をプリフェッチしてバッファにストアさせるよ
うにしているので、バスアービットレーションの開度を
少なくして、システム全体のバス効率を向上させること
ができる。
【図面の簡単な説明】
第1図は、本発明の実施例による命令プリフェッチ装置
のブロック回路図、 第2図は、第1図の命令プリフェッチ装置内のプリフェ
ッチユニットのブロック回路図、第3図は、本発明の実
施例による命令プリフェッチ装置のタイミングチャート
図である。 14・・・プリフェッチユニット 16・・・コマンドバッファ 28・・・プリフェッチポインタ 32・・・コマンドデコーダ

Claims (1)

  1. 【特許請求の範囲】 命令をプリフェッチするプリフェッチ手段 (14)と、 該プリフェッチされた命令をデコードし命令のワード数
    を求めるデコード手段(32)と、該プリフェッチされ
    た命令をストアするバッファ手段(16)、を含み、 前記プリフェッチ手段(14)は、前記デコード手段(
    32)で求められた命令のワード数に基づいて、命令の
    単位ごとに、命令をプリフェッチして前記バッファ手段
    (16)にストアさせるように構成されていることを特
    徴とする命令プリフェッチ装置。
JP6283489A 1989-03-15 1989-03-15 命令プリフェッチ装置 Expired - Fee Related JP2791086B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP6283489A JP2791086B2 (ja) 1989-03-15 1989-03-15 命令プリフェッチ装置
KR1019900003484A KR940004742B1 (ko) 1989-03-15 1990-03-15 처리할 명령 및 매개변수를 프리페칭하며 최소사용 버스액세스를 갖춘 시스템 및 장치
EP19900302749 EP0389175A3 (en) 1989-03-15 1990-03-15 Data prefetch system
US08/453,475 US5655114A (en) 1989-03-15 1995-05-30 System and device for prefetching command and parameters to be processed with least frequent bus access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6283489A JP2791086B2 (ja) 1989-03-15 1989-03-15 命令プリフェッチ装置

Publications (2)

Publication Number Publication Date
JPH02242337A true JPH02242337A (ja) 1990-09-26
JP2791086B2 JP2791086B2 (ja) 1998-08-27

Family

ID=13211743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6283489A Expired - Fee Related JP2791086B2 (ja) 1989-03-15 1989-03-15 命令プリフェッチ装置

Country Status (1)

Country Link
JP (1) JP2791086B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015028793A (ja) * 1998-03-18 2015-02-12 クゥアルコム・インコーポレイテッドQualcomm Incorporated デジタル信号プロセッサ
US9946546B2 (en) 2015-02-26 2018-04-17 Renesas Electronics Corporation Processor and instruction code generation device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015028793A (ja) * 1998-03-18 2015-02-12 クゥアルコム・インコーポレイテッドQualcomm Incorporated デジタル信号プロセッサ
JP2016146189A (ja) * 1998-03-18 2016-08-12 クゥアルコム・インコーポレイテッドQualcomm Incorporated デジタル信号プロセッサ
US9946546B2 (en) 2015-02-26 2018-04-17 Renesas Electronics Corporation Processor and instruction code generation device
US10540182B2 (en) 2015-02-26 2020-01-21 Renesas Electronics Corporation Processor and instruction code generation device

Also Published As

Publication number Publication date
JP2791086B2 (ja) 1998-08-27

Similar Documents

Publication Publication Date Title
CN111506534B (zh) 具有非阻塞高性能事务信用系统的多核总线架构
JPS62245442A (ja) 情報処理装置
JPH10187533A (ja) キャッシュシステム、プロセッサ及びプロセッサを動作させる方法
JP2773471B2 (ja) 情報処理装置
JP2001290706A (ja) Tlbキャッシュのためのプリフェッチ
JP4813485B2 (ja) バーストリードライト動作による処理装置
US6738837B1 (en) Digital system with split transaction memory access
JPS63193246A (ja) 集積キャッシュ・メモリと外部メモリの間の一貫性を保つ方法と装置
JP2006338538A (ja) ストリームプロセッサ
EP1125195B1 (en) Method for executing memory read requests
JP2004192021A (ja) マイクロプロセッサ
JPH02242337A (ja) 命令プリフェッチ装置
US6751724B1 (en) Method and apparatus for instruction fetching
EP0374598B1 (en) Control store addressing from multiple sources
JPH08249175A (ja) スーパースカラ・プロセッサ装置内の非アーキテクト命令を選択的にサポートする方法及び装置
US7877533B2 (en) Bus system, bus slave and bus control method
JP2008257508A (ja) キャッシュ制御方法およびキャッシュ装置並びにマイクロコンピュータ
US20040103267A1 (en) Data processor having cache memory
JP2504191B2 (ja) マイクロプロセッサ
JP3077807B2 (ja) マイクロコンピュータシステム
JP2001184259A (ja) 演算処理装置及び該装置におけるデータ転送方法
JP2696578B2 (ja) データ処理装置
JP3078293B2 (ja) 記憶制御装置
JP3161422B2 (ja) マイクロコンピュータ
JP3147884B2 (ja) 記憶装置及び情報処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees