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

命令プリフェッチ装置

Info

Publication number
JP2791086B2
JP2791086B2 JP6283489A JP6283489A JP2791086B2 JP 2791086 B2 JP2791086 B2 JP 2791086B2 JP 6283489 A JP6283489 A JP 6283489A JP 6283489 A JP6283489 A JP 6283489A JP 2791086 B2 JP2791086 B2 JP 2791086B2
Authority
JP
Japan
Prior art keywords
instruction
prefetch
buffer
bus
instructions
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
Application number
JP6283489A
Other languages
English (en)
Other versions
JPH02242337A (ja
Inventor
高吉 谷合
一 佐藤
英年 志村
正 斎藤
信次 小山田
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 Electronics Inc
Original Assignee
Fujitsu Ltd
Fujitsu Electronics Inc
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 Electronics Inc filed Critical Fujitsu Ltd
Priority to JP6283489A priority Critical patent/JP2791086B2/ja
Priority to EP19900302749 priority patent/EP0389175A3/en
Priority to KR1019900003484A priority patent/KR940004742B1/ko
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)

Description

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

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】プリフェッチされた命令をストアすると共
    に、その内部状態を示す状態信号をプリフェッチユニッ
    ト(14)に出力するバッファ(16)と、 前記状態信号に基づいて、外部から入力された前記命令
    をプリフェッチして前記バッファ(16)にストアする前
    記プリフェッチユニット(14)と、 を備え、 前記プリフェッチユニット(14)は、前記状態信号が前
    記バッファ(16)内に残っている命令が一命令以下とな
    ったことを示すとき、次に外部から入力される前記命令
    のプリフェッチを行って前記バッファ(16)にストアす
    ると共に、 前記状態信号が前記バッファ(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 命令プリフェッチ装置
EP19900302749 EP0389175A3 (en) 1989-03-15 1990-03-15 Data prefetch system
KR1019900003484A KR940004742B1 (ko) 1989-03-15 1990-03-15 처리할 명령 및 매개변수를 프리페칭하며 최소사용 버스액세스를 갖춘 시스템 및 장치
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 JPH02242337A (ja) 1990-09-26
JP2791086B2 true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2986099A (en) * 1998-03-18 1999-10-11 Qualcomm Incorporated A digital signal processor
JP6457836B2 (ja) 2015-02-26 2019-01-23 ルネサスエレクトロニクス株式会社 プロセッサおよび命令コード生成装置

Also Published As

Publication number Publication date
JPH02242337A (ja) 1990-09-26

Similar Documents

Publication Publication Date Title
US5696989A (en) Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation
JP4813485B2 (ja) バーストリードライト動作による処理装置
EP1196842A1 (en) Methods and apparatus for combining a plurality of memory access transactions
EP0849673A3 (en) Single stepping a processor pipeline and subsystem pipelines during debugging of a data processing system
US6401197B1 (en) Microprocessor and multiprocessor system
JP2581236B2 (ja) データ処理装置
JPH07117897B2 (ja) データ処理システムのプリフェッチ回路
JP3707581B2 (ja) 自己整合スタック・ポインタを有するデータ処理システムおよびその方法
JP2773471B2 (ja) 情報処理装置
WO1995008799A1 (en) Apparatus and method for emulation routine pointer prefetch
WO1996008769A1 (en) Computer instruction prefetch system
US6738837B1 (en) Digital system with split transaction memory access
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
US6757809B1 (en) Data processor having 2n bits width data bus for context switching functions
JP2791086B2 (ja) 命令プリフェッチ装置
JPH08255476A (ja) データ処理システムにおけるメモリ拡張スタック装置および方法
EP0374598B1 (en) Control store addressing from multiple sources
EP0156307A2 (en) Pipelined processor having dual cache memories
JP2504235B2 (ja) デ―タ処理装置
JP2522048B2 (ja) マイクロプロセッサ及びそれを使用したデ―タ処理装置
JP2696578B2 (ja) データ処理装置
JP3078293B2 (ja) 記憶制御装置
JPH01193943A (ja) マイクロコンピュータ
JP2965045B2 (ja) 半導体集積回路装置
JP2923570B2 (ja) インサーキットエミュレータおよびマイクロプロセッサ

Legal Events

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