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

命令プリフェッチ装置

Info

Publication number
JPH02242338A
JPH02242338A JP1062833A JP6283389A JPH02242338A JP H02242338 A JPH02242338 A JP H02242338A JP 1062833 A JP1062833 A JP 1062833A JP 6283389 A JP6283389 A JP 6283389A JP H02242338 A JPH02242338 A JP H02242338A
Authority
JP
Japan
Prior art keywords
instruction
branch
prefetch
instructions
execution
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
JP1062833A
Other languages
English (en)
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 JP1062833A priority Critical patent/JPH02242338A/ja
Priority to EP19900302749 priority patent/EP0389175A3/en
Priority to KR1019900003484A priority patent/KR940004742B1/ko
Publication of JPH02242338A publication Critical patent/JPH02242338A/ja
Priority to US08/453,475 priority patent/US5655114A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、命令プリフェッチ装置に関するものである。
命令プリフェッチ装置は、ある命令を実行している間に
それ以降の命令を予じめフエ・ソチする(プリフェッチ
)ものであり、このような装置において、プリフェッチ
された命令が分岐を伴う命令(分岐命令)である場合に
は、それ以降のプリフェッチされた命令は無効となる。
そこで、プリフェッチされた命令が分岐を伴う命令であ
る場合には、それ以降の命令のブリフエ・ソチを停止し
て、無駄なプリフェッチをなくすことが望まれている。
〔従来の技術〕
初期のCPUや周辺装置においては、命令のフェッチと
該命令の実行とは、順番に行なわれていた。すなわち、
ある命令がフェッチされて該命令が実行された後、次の
命令のフェッチ及び実行が行なわれていた。しかしなが
ら、装置の高性能化により、ある命令を実行している間
にそれ以降の命令を予じめフェッチする(プリフェッチ
)装置が一般的になってきた。このようなプリフェッチ
装置には、 ■ 数バイトのFIFOを有し、該FIFOに空きが生
じるごとに、命令をフェッチするもの、 ■ キャッシュとよばれるIKバイト位の内蔵モリを有
し、該内蔵メモリにストアされていないアドレスから命
令をフェッチしようとしたときに、外部メモリから命令
を取り込むもの等がある。
〔発明が解決しようとする課題〕
上記のようなプリフェッチ装置においては、命令の種類
に関係なくアドレスの順番に命令をフェッチしていくの
で、分岐を伴う命令があった場合には、それ以降のプリ
フェッチされた命令は無効となる。なお、条件分岐命令
の場合には、それ以降のプリフェッチされた命令が無効
にならないこともある。
従って、分岐命令があった場合には、それ以降の無効な
命令のプリフェッチのために、無駄なプリフェッチ、す
なわち、無駄なバスサイクルが行なわれることとなる。
この際に、バスに1つのバスマスタしか存在しない場合
には問題はないと思ワレるが、複数のバスマスタがバス
を共有している場合には、他のバスマスタがバスを使用
することができず、システム全体のバス効率が低下しい
てしまう。
本発明の目的は、無駄なプリフェッチ、すなわち無駄な
バスサイクルをなくして、システム全体のバス効率を向
上させることができる命令プリフェッチ装置を提供する
ことにある。
〔課題を解決するための手段〕
本発明は、命令をプリフェッチするプリフェッチ手段(
14)と、該プリフェッチされた命令をデコードするデ
コード手段(34)と、該プリフェッチされた命令を実
行する実行手段(18゜14)と、を含み、前記デコー
ド手段(34)によりデコードされた命令が分岐を伴う
命令である場合には、該分岐を伴う命令の実行手段(1
8)による実行が終了するまで、プリフェッチ手段(1
4)によるそれ以降の命令のプリフェッチが停止される
ように構成する。
〔作用〕
本発明においては、プリフェッチ手段(14)により命
令がプリフェッチされ、デコード手段(34)により命
令がデコードされたとき、該命令が分岐を伴う命令であ
る場合には、この分岐を伴う命令の実行手段(18)に
よる実行が終了するまでは、プリフェッチ手段(14)
は、それ以降の命令のプリフェッチを停止し、これによ
り、無駄なプリフェッチを行なわないようにしている。
〔実施例〕
以下、図面に基づいて本発明の好適な実施例を説明する
第1図には、本発明の実施例による命令プリフェッチ装
置のブロック回路が示され、第2図には、第1図の命令
プリフェッチ装置内のプリフェッチユニットのブロック
回路が示されている。なお、命令プリフェッチ装置にお
いて、以下のような分岐命令が設定されている。
・JMP:ジャンプ(絶対アドレス) ・BRA:ジャンプ(相対アドレス) ・Bcc:条件ジャンプ(相対アドレス)・JSR:サ
ブルーチンジャンプ(絶対アドレス) ・BSR:サブルーチンジャンプ(相対アドレ刈 ・RTS:リターンサブルーチン 第1図において、データl7010は、外部とデータの
やりとりを行うものであり、アドレスI10には、外部
にアドレスを出力するものであり、プリフェッチユニッ
ト14は、命令のプリフェッチを行い及び分岐命令を実
行するものであり、コマンドバッファ16は、前記プリ
フェッチユニット14でプリフェッチされた命令をスト
アし゛ておくFIFOであり、実行ユニット18は、分
岐命令以外の命令を実行するものである。なお、符号2
0は、内部データバスを示す。
次に、上記プリフェッチユニット14内の構成を第2図
を参照しながら説明する。
アダー22は、アドレス計算を行うための加算器であり
、このアダー22は、セレクタ24の出力側に接続され
るとともに、他のセレクタ26の入力端に接続されてい
る。プリフェッチポインタ28は、プリフェッチすべき
命令のアドレスを示すレジスタである。
セレクタ24は次の動作を行う。命令が分岐命令でない
場合、セレクタ24では+1、セレクタ26はアダー2
2の出力側が選択される。命令が相対アドレスへの分岐
命令である場合、セレクタ24では内部データバスから
のデータ側、セレクタ26はアダー22の出力側が選択
される。命令が絶対アドレスへの分岐命令である場合、
セレクタ26では内部データバスからのデータ側が選択
される(セレクタ24は無関係)。
コマンドレジスタ30は、命令コードをストアするレジ
スタであり、パラメータレジスタ32は、分岐先アドレ
ス等の分岐命令に必要なパラメータをストアするレジス
タであり、コマンドデコーダ34は、命令のデコーダで
あり次のマイクロROM36のアドレス等を発生する。
マイクロROM36は、プリフェッチや分岐命令の実行
に必要な制御信号を発生するものであり、実行ユニット
l/F38は、前記実行ユニット18(第1図参照)と
のインタフェースを行うものである。
次に、上記装置の作用を説明する。
プリフェッチユニット14内のプリフェッチポインタ2
8から、アドレス11012に、アドレスが転送されて
出力される。このアドレスにあるメモリ(図示せず)か
ら、コマンドレジスタ30に、命令コードが取り込まれ
る。以上のようにして、プリフェッチユニット14によ
り、命令がプリフェッチされる。
コマンドデコーダ34は、このコマンドレジスタ30に
取り込まれた命令をデコードし、該命令が分岐を伴う命
令であるか否かを判断する。
まず、コマンドデコーダ34により命令が分岐を伴う命
令ではないと判断された場合には、実行ユニットI/F
38からコマンドバッファ16(第1図参照)に、ライ
トコマンドバッファ信号が供給されるのと同時に、コマ
ンドレジスタ3oがら内部データバス20を介してコマ
ンドバッファ16に、命令コードが書き込まれる。この
後、該命令が必要とするパラメータが取り込まれるごと
に、実行ユニットI/F38がらコマンドバッファ16
にライトコマンドバッファ信号が印加され、パラメータ
がコマンドバッファ16に書き込まれ、実行ユニット1
8で命令が実行される。
また、コマンドデコーダ34により命令が分岐を伴う命
令ではないと判断されているので、上記実行ユニット1
8による命令の実行にかかわらず、マイクロROM36
は、制御信号をプリフェッチユニット14内の各ブロッ
ク(図示せず)に供給し、命令のプリフェッチ動作が継
続されるようにする。
一方、コマンドデコーダ34により命令が分岐を伴う命
令であると判断された場合には、この処理プログラムの
入ったマイクロROM36のアドレスがコマンドデコー
ダ34から出力され、以後分岐先アドレスが必要な場合
に該分岐先アドレスをパラメータレジスタ32に取り込
む。マイクロプログラムでは、実行ユニット18での命
令の実行の終了後に、この分岐命令がプリフェッチユニ
ット14で実行されるように指示する。
この分岐命令の実行に際し、マイクロROM36は、制
御信号をプリフェッチユニット14内の各ブロックに供
給し、該分岐命令の実行が終了するまで、それ以降の命
令のプリフェッチが停止されるようにする。これにより
、無駄なプリフェッチが行われないようにする。
次に、第3図のタイミングチャートを参照しながら、装
置の作用を更に詳細に説明する。なお、第3図において
、C1は、分岐命令以外の命令の命令コードを示し、p
H,PI3は、該命令C1のパラメータを示し、C2,
P21.・・・についても同様である。なお、JMPは
、分岐命令を示す。
時刻t1で命令C1がプリフェッチされ、時刻t、、、
t3でそれぞれ命令C1のパラメータpH,PI3がプ
リフェッチされる。時刻t4では、プリフェッチされた
命令C1がパラメータpH,PI3を使用して実行され
るとともに、次の命令C2がプリフェッチされ、時刻t
5で命令C2のパラメータP21がプリフェッチされる
前記命令C1の実行は、時刻t9で終了するので、この
命令C2の実行は、時刻t9で開始する。
時刻t6では、分岐命令JMPがプリフェッチされ、時
刻t7で分岐命令JMPのパラメータ31がプリフェッ
チされる。前記命令C2の実行は、時刻’10で終了す
るので、この分岐命令JMPの実行は、時刻’10で開
始し、時刻t1、で終了する。
そして、前記時刻t8でプリフェッチされた命令が分岐
命令JMPであることがコマンドデコーダ34(第2図
参照)で判断されると、該分岐命令JMPの実行が終了
するまで、すなわち、時刻t11まで、それ以降の命令
のプリフェッチが停止される。すなわち、時刻t8〜時
刻t11の間(時間To)では、命令のプリフェッチが
停止されている。このように、時刻Toでは、命令のプ
リフェッチが停止されているので、無駄なプリフェッチ
が防止される。
なお、時刻t1、で分岐命令JMPの実行が終了すると
、命令のプリフェッチが再び開始され、すなわち、命令
C4がプリフェッチされる。以下、同様にして、命令の
プリフェッチ及び命令の実行がなされ、プリフェッチさ
れた命令が分岐を伴う命令である場合には、該分岐命令
の実行が終了するまで、それ以降の命令のプリフェッチ
が停止される。
〔発明の効果〕 以上説明したように、本発明によれば、プリフェッチさ
れた命令が分岐を伴う命令である場合には、該分岐命令
の実行が終了するまで、それ以降のプリフェッチを停止
するようにしているので、無駄なプリフェッチ、すなわ
ち無駄なバスサイクルをなくすことができる。従って、
バスを共有している他のバスマスタ、がバスを使用する
ことができ、システム全体のバス効率を向上させること
ができる。
【図面の簡単な説明】
第1図は、本発明の実施例による命令プリフェッチ装置
のブロック回路図、 第2図は、第1図の命令プリフェッチ装置内のプリフェ
ッチユニットのブロック回路図、第3図は、本発明の実
施例による命令プリフェッチ装置のタイミングチャート
図である。 14・・・プリフェッチユニット 18・・・実行ユニット 28・・・プリフェッチポインタ 34・・・コマンドデコーダ

Claims (1)

  1. 【特許請求の範囲】 命令をプリフェッチするプリフェッチ手段 (14)と、 該プリフェッチされた命令をデコードするデコード手段
    (34)と、 該プリフェッチされた命令を実行する実行手段(18、
    14)と、を含み、 前記デコード手段(34)によりデコードされた命令が
    分岐を伴う命令である場合には、該分岐を伴う命令の実
    行手段(18)による実行が終了するまで、プリフェッ
    チ手段(14)によるそれ以降の命令のプリフェッチが
    停止されるように構成されていることを特徴とする命令
    プリフェッチ装置。
JP1062833A 1989-03-15 1989-03-15 命令プリフェッチ装置 Pending JPH02242338A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP1062833A JPH02242338A (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
JP1062833A JPH02242338A (ja) 1989-03-15 1989-03-15 命令プリフェッチ装置

Publications (1)

Publication Number Publication Date
JPH02242338A true JPH02242338A (ja) 1990-09-26

Family

ID=13211715

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPH02242338A (ja)

Similar Documents

Publication Publication Date Title
JP2834837B2 (ja) プログラマブルコントローラ
JPS62245442A (ja) 情報処理装置
AU681604B2 (en) High speed programmable logic controller
JPH10283203A (ja) マルチスレッド・プロセッサにおけるスレッド切換え待ち時間を減少させる方法および装置
JP2004145454A (ja) 情報処理装置及び情報処理方法
US20030196072A1 (en) Digital signal processor architecture for high computation speed
JP2000056970A5 (ja)
JP2004192021A (ja) マイクロプロセッサ
US20080065870A1 (en) Information processing apparatus
KR100705872B1 (ko) 몇몇의 명령원으로부터의 명령 실행 프로세서 및 방법
JPH10124312A (ja) 中央処理装置
JPH02242338A (ja) 命令プリフェッチ装置
JP2504235B2 (ja) デ―タ処理装置
JP2694799B2 (ja) 情報処理装置
JP2668987B2 (ja) データ処理装置
JP4528993B2 (ja) マルチバンクレジスタを有するプロセッサおよびプロセッサの制御方法
JP3394854B2 (ja) 無条件ジャンプ命令処理方法並びにそのための無条件ジャンプ命令処理装置及び汎用レジスタ
JP2522048B2 (ja) マイクロプロセッサ及びそれを使用したデ―タ処理装置
JPH02242337A (ja) 命令プリフェッチ装置
JP3958320B2 (ja) マルチバンクレジスタを有するプロセッサおよびプロセッサの制御方法
KR100300875B1 (ko) 캐쉬 미스 시 처리 방법
JP3325309B2 (ja) サブルーチンリターン命令処理装置
JP2004062319A (ja) データ処理装置
US6871247B1 (en) Mechanism for supporting self-modifying code in a harvard architecture digital signal processor and method of operation thereof
JP2696578B2 (ja) データ処理装置