JP2766114B2 - 命令先取り装置 - Google Patents

命令先取り装置

Info

Publication number
JP2766114B2
JP2766114B2 JP3659792A JP3659792A JP2766114B2 JP 2766114 B2 JP2766114 B2 JP 2766114B2 JP 3659792 A JP3659792 A JP 3659792A JP 3659792 A JP3659792 A JP 3659792A JP 2766114 B2 JP2766114 B2 JP 2766114B2
Authority
JP
Japan
Prior art keywords
instruction
core
instructions
software
fetching
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 - Lifetime
Application number
JP3659792A
Other languages
English (en)
Other versions
JPH05233274A (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.)
IBARAKI NIPPON DENKI KK
Original Assignee
IBARAKI NIPPON DENKI KK
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 IBARAKI NIPPON DENKI KK filed Critical IBARAKI NIPPON DENKI KK
Priority to JP3659792A priority Critical patent/JP2766114B2/ja
Publication of JPH05233274A publication Critical patent/JPH05233274A/ja
Application granted granted Critical
Publication of JP2766114B2 publication Critical patent/JP2766114B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はプロセッサの命令先取り
装置に係わり、特にソフトウェア命令とコア命令の間で
の先取り優先順位を制御するための命令先取り装置に関
する。
【0002】
【従来の技術】プロセッサの命令先取り装置には、従来
から同期タイプと非同期タイプの2種類が存在してい
る。ここで同期タイプとは、命令の実行に対して後続の
命令の取り出しが同期しているものをいい、非同期タイ
プとは命令の実行に後続の命令の取り出しが非同期のも
のをいう。
【0003】このように同期タイプの命令先取り装置
は、実行の命令に依存して後続命令の取り出しを制御し
ている。このために、先行する命令の実行時に、初めて
後続する命令の先取りの指示が出るようになっていた。
一方、非同期タイプでは命令の先取りが実行命令に依存
していないものの、ソフトウェア命令やコア命令の取り
出しの優先順位は固定されていた。ここでコア命令と
は、ソフトウェア命令をプロセッサが実行可能な形に変
換したものをいう。
【0004】
【発明が解決しようとする課題】このように従来の命令
先取り装置のうち同期タイプの場合には、先行するコア
命令の実行によって、先取りすべき命令がソフトウェア
命令なのかコア命令なのかの指示がでる。このため、ソ
フトウェア命令の場合でもコア命令の場合でも、先取り
命令数が少ないといった問題があった。
【0005】また、非同期タイプの場合には命令バッフ
ァの大きさに比例した数多くの命令を先取りすることが
できるが、実行命令に依存することなく命令の先取りを
行うため、先取り優先順位が固定となり、必要としない
命令が先取りされることになった。このため、必要な命
令の先取りが待たされ、プロセッサの性能を十分発揮す
ることができないといった問題があった。
【0006】そこで本発明の目的は、コア命令とソフト
ウェア命令のうちの必要とする命令が先取りされ、プロ
セッサの性能の向上を図ることのできる命令先取り装置
を提供することにある。
【0007】
【課題を解決するための手段】請求項1記載の発明で
は、(イ)ソフトウェア命令と、ソフトウェア命令をプ
ロセッサが実行可能な形に変換したコア命令とを格納し
た記憶手段から、これらソフトウェア命令およびコア命
令を命令実行とは非同期に先取りする先取り手段と、
(ロ)先取りしたコア命令中に存在する1ソフトウェア
命令の実行完了と次のソフトウェア命令の実行開始を示
すEOPタグをコア命令の実行開始以前にデコードする
EOP検出手段と、(ハ)このEOP検出手段の結果を
入力して、コア命令の取り出しの優先順位をソフトウェ
ア命令の取り出しの優先順位よりも下げるように先取り
手段によるこれらの命令の取り出しを制御する競合制御
回路とを命令先取り装置に具備させる。
【0008】すなわち請求項1記載の発明では、EOP
検出手段によって1ソフトウェア命令の実行完了と次の
ソフトウェア命令の実行開始を示すEOPタグが検出さ
れたときには、それ以降におけるコア命令の取り出しの
優先順位をソフトウェア命令の取り出しの優先順位より
も下げることにして、後続するソフトウェア命令の先取
りを、不要なコア命令の取り出しによって待たされるこ
とを防止し、前記した目的を達成する。
【0009】請求項2記載の発明では、請求項1記載の
発明の構成に更に、コア命令の先取りの必要性を、ソフ
トウェア命令中に存在する先取り有りを示すSTATタ
グによって検出するSTAT検出手段を追加している。
そして、競合制御回路はこのSTAT検出手段によって
STATタグが検出されたとき、ソフトウェア命令の取
り出しの優先順位をコア命令の取り出しの優先順位より
も下げるように先取り手段によるこれらの命令の取り出
しを制御することにしている。
【0010】
【実施例】以下実施例につき本発明を詳細に説明する。
【0011】図1は本発明の一実施例における命令先取
り装置とその周辺の構成を表わしたものである。この装
置を構成するプロセッサ11は、命令の先取りを行う命
令先取り部12と、命令の実行を行う命令実行部13か
ら構成されている。プロセッサ11はシステムバス14
を介して記憶装置15と接続されている。この記憶装置
15にはソフトウェア命令とコア命令が格納されるよう
になっている。本明細書で、コア命令とはソフトウェア
命令をプロセッサが実行可能な形に変換したものをい
う。
【0012】命令先取り部12は、ソフトウェア命令と
コア命令の先取りを行う機能を持っている。ソフトウェ
ア命令の先取りのために、ソフトアドレスポインタ21
と、ソフトアドレス制御回路22と、ソフト命令バッフ
ァ23およびソフト命令レジスタ24が配置されてい
る。ここで、ソフトアドレスポインタ21は、ソフトウ
ェア命令の先取りのためのアドレスを保持するものであ
り、ソフトアドレス制御回路22は、ソフトアドレスの
命令取り出し後の加算や、命令実行部13から送出され
る分岐先アドレスとの切り換えを行うようになってい
る。ソフト命令バッファ23は、記憶装置15よりシス
テムバス14経由で送られてくるソフトウェア命令語を
バッファリングする。ソフト命令バッファ23から読み
出された実行命令はソフト命令レジスタ24に格納され
るようになっている。
【0013】コア命令の先取りのためには、コアアドレ
スポインタ26と、コアアドレス制御回路27と、コア
命令バッファ28およびコア命令レジスタ29が配置さ
れている。ここで、コアアドレスポインタ26は、コア
命令の先取りのためのアドレスを保持するものであり、
コアアドレス制御回路27は、コアアドレスの命令取り
出し後の加算や、命令実行部13から送出される分岐先
アドレスとの切り換えを行うようになっている。コア命
令バッファ28は、記憶装置15よりシステムバス14
経由で送られてくるコア命令語をバッファリングする。
コア命令バッファ28から読み出された実行命令はコア
命令レジスタ29に格納されるようになっている。
【0014】更に、この命令先取り部12にはソフトウ
ェア命令とコア命令の取り出しが競合した場合の優先順
位を定めるための競合制御回路31が配置されている。
競合制御回路31は、ソフトアドレスポインタ21から
のソフトアドレスとコアアドレスポインタ26からのコ
アアドレスの供給を受ける他、ソフト命令バッファ23
の出力線に接続されたSTAT検出回路32の出力側に
配置されたSTAT信号線33から得られるSTAT信
号と、コア命令バッファ28の出力線に接続されたEO
P検出回路35の出力側に配置されたEOP信号線36
から得られるEOP信号とを入力するようになってい
る。
【0015】ここで、STAT検出回路32はソフト命
令語の命令コードをデコードすることによって、コア命
令の起動をかける必要のある命令が出現すると、STA
Tタグを検出し、STAT信号を出力するようになって
いる。また、EOP検出回路35はコア命令語の命令コ
ードをデコードすることによって、実行ソフトウェア命
令の終了を示すEOPタグを検出し、EOP信号を出力
するようになっている。
【0016】このような構成の命令先取り装置の動作を
説明する。ソフトウェア命令は、ソフトアドレスポイン
タ21によって命令実行部13とは非同期に次々と取り
出しが行われる。取り出された命令は、ソフト命令バッ
ファ23に順次格納されていく。
【0017】一方、命令実行部13によって命令が実行
されるたびに、ソフト命令レジスタ24はソフト命令バ
ッファ23からソフトウェア命令の取り出しを行い命令
実行部13にこれを供給する。この状態でSTAT検出
回路32がSTATタグを検出すると、STAT信号線
33にSTAT信号が出力される。競合制御回路31
は、STAT信号を受け取るとソフトウェア命令取り出
しの優先順位を下げ、代わりにコア命令取り出しの優先
順位を上げる。
【0018】これにより、ソフトウェア命令の先取りと
同様の機能を有するコアアドレスポインタ26、コアア
ドレス制御回路27、コア命令バッファ28およびコア
命令レジスタ29によってコア命令の取り出しが行われ
る。
【0019】次に、コア命令の取り出し実行時にEOP
タグを検出した場合の動作を説明する。上記したように
してコア命令の取り出しに起動がかかると、コア命令語
はコア命令バッファ28が満杯になるまで取り出しが続
行される。また、コア命令の実行によってコア命令バッ
ファ28内に空が生じると、コア命令の同様な取り出し
が行われる。
【0020】この状態で、実行ソフトウェア命令の終了
を示すEOPタグがEOP検出回路35によって検出さ
れたものとする。EOP検出回路35は、EOP信号線
36によってEOP信号線を競合制御回路31に送出す
る。これにより、コア命令の実行とは非同期に行ってい
るコア命令取り出しの優先順位が下がり、ソフトウェア
命令の取り出しの優先順位が上がって、ソフトウェア命
令の取り出しが開始される。
【0021】なお、以上説明した実施例では優先順位の
詳細について特に触れなかったが、STAT検出回路3
2によるSTATタグの検出やEOP検出回路35によ
るEOPタグの検出が行われるたびに優先順位を単純に
反転させるようにしてもよいし、優先順位に幾つかの階
層を設けるようにしてもよい。また、STAT検出回路
32やEOP検出回路35の出力する信号にウエイトを
設けるようにしてもよいことは当然である。
【0022】
【発明の効果】以上説明したように本発明によれば、競
合制御回路を配置してコア命令とソフトウェア命令の取
り出しの優先順位を動的に変更することができるように
した。これにより、コア命令とソフトウェア命令につい
て、それぞれの時点で最優先のものが取り出されること
になり、不要な命令の取り出しのために必要な命令の取
り出しが待たされるといった事態を避けることができ
る。これにより、無駄な命令取り出しについての待ち時
間が無くなり、プロセッサの性能の向上を図ることがで
きるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例における命令先取り装置とそ
の周辺を表わしたブロック図である。
【符号の説明】
11 プロセッサ 12 命令先取り部 13 命令実行部 14 システムバス 15 記憶装置 21 ソフトアドレスポインタ 22 ソフトアドレス制御回路 23 ソフト命令バッファ 24 ソフト命令レジスタ 26 コアアドレスポインタ 27 コアアドレス制御回路 28 コア命令バッファ 29 コア命令レジスタ 31 競合制御回路 32 STAT検出回路 35 EOP検出回路

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 ソフトウェア命令と、ソフトウェア命令
    をプロセッサが実行可能な形に変換したコア命令とを格
    納した記憶手段から、これらソフトウェア命令およびコ
    ア命令を命令実行とは非同期に先取りする先取り手段
    と、 前記先取りしたコア命令中に存在する1ソフトウェア命
    令の実行完了と次のソフトウェア命令の実行開始を示す
    EOPタグをコア命令の実行開始以前にデコードするE
    OP検出手段と、 このEOP検出手段の結果を入力して、前記コア命令の
    取り出しの優先順位を前記ソフトウェア命令の取り出し
    の優先順位よりも下げるように前記先取り手段によるこ
    れらの命令の取り出しを制御する競合制御回路とを具備
    することを特徴とする命令先取り装置。
  2. 【請求項2】 前記コア命令の先取りの必要性を、前記
    ソフトウェア命令語の命令コードをデコードした結果と
    してのSTATタグによって検出するSTAT検出手段
    を備え、 前記競合制御回路はこのSTAT検出手段によってST
    ATタグが検出されたとき、前記ソフトウェア命令の取
    り出しの優先順位を前記コア命令の取り出しの優先順位
    よりも下げるように前記先取り手段によるこれらの命令
    の取り出しを制御することを特徴とする請求項1記載の
    命令先取り装置。
JP3659792A 1992-02-24 1992-02-24 命令先取り装置 Expired - Lifetime JP2766114B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3659792A JP2766114B2 (ja) 1992-02-24 1992-02-24 命令先取り装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3659792A JP2766114B2 (ja) 1992-02-24 1992-02-24 命令先取り装置

Publications (2)

Publication Number Publication Date
JPH05233274A JPH05233274A (ja) 1993-09-10
JP2766114B2 true JP2766114B2 (ja) 1998-06-18

Family

ID=12474201

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3659792A Expired - Lifetime JP2766114B2 (ja) 1992-02-24 1992-02-24 命令先取り装置

Country Status (1)

Country Link
JP (1) JP2766114B2 (ja)

Also Published As

Publication number Publication date
JPH05233274A (ja) 1993-09-10

Similar Documents

Publication Publication Date Title
FI90804C (fi) Dataprosessorin ohjausyksikkö, jolla on käskyn esihaun uudelleensuuntausta käyttävä keskeytyspalvelu
US5127091A (en) System for reducing delay in instruction execution by executing branch instructions in separate processor while dispatching subsequent instructions to primary processor
US6108768A (en) Reissue logic for individually reissuing instructions trapped in a multiissue stack based computing system
JPS6356731A (ja) デ−タ処理装置
US6275903B1 (en) Stack cache miss handling
KR19980069857A (ko) 명령어 페치장치 및 프로세서 처리방법
US6237086B1 (en) 1 Method to prevent pipeline stalls in superscalar stack based computing systems
JP2766114B2 (ja) 命令先取り装置
JP2723238B2 (ja) 情報処理装置
US6170050B1 (en) Length decoder for variable length data
JP2839730B2 (ja) エミュレーション装置及び半導体装置
JPH05241827A (ja) 命令バッファ制御装置
JP2694799B2 (ja) 情報処理装置
JP2508021B2 (ja) デ−タ処理装置
JP2689914B2 (ja) 情報処理装置
JPS63314644A (ja) デ−タ処理装置
JPH0342723A (ja) データ処理装置
JP3123946B2 (ja) マイクロコンピュータ
JPS60175147A (ja) 命令先取方式
JP2001022577A (ja) 情報処理装置
KR920006613B1 (ko) 파이프라인으로 동작하는 프로세서의 명령어 페취 유니트
JPS61133439A (ja) 命令先取り制御方式
JPS63106046A (ja) デ−タ処理装置
JPH07210384A (ja) 浮動小数点演算装置
US20030177339A1 (en) Optimization of a pipelined processor system