JP2859921B2 - 命令キュー制御装置 - Google Patents

命令キュー制御装置

Info

Publication number
JP2859921B2
JP2859921B2 JP6866790A JP6866790A JP2859921B2 JP 2859921 B2 JP2859921 B2 JP 2859921B2 JP 6866790 A JP6866790 A JP 6866790A JP 6866790 A JP6866790 A JP 6866790A JP 2859921 B2 JP2859921 B2 JP 2859921B2
Authority
JP
Japan
Prior art keywords
instruction
entry
signal
valid
fpu
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
JP6866790A
Other languages
English (en)
Other versions
JPH03268134A (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
Original Assignee
Fujitsu 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 filed Critical Fujitsu Ltd
Priority to JP6866790A priority Critical patent/JP2859921B2/ja
Publication of JPH03268134A publication Critical patent/JPH03268134A/ja
Application granted granted Critical
Publication of JP2859921B2 publication Critical patent/JP2859921B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔概要〕 投入された命令を不要となるまで格納しておく複数エ
ントリ構成のキューを制御する命令キュー制御装置に関
し、 命令キューの回路構成が簡単で回路規模が小さくて済
む命令キュー制御装置を提供することを目的とし、 パイプライン処理を行なわれる命令を複数エントリ構
成の命令キューに投入して格納する命令キュー制御装置
において、 該命令キューの各エントリ毎にそのエントリに格納さ
れた命令が必要か不要かを表わすバリッドビットを有
し、 命令が投入される毎に該複数のエントリ夫々に格納し
た命令及びバリッドビットを後段のエントリに順次シフ
トし、 該複数のエントリから取出された命令をセレクタで選
択した命令制御部に供給して命令を実行すると共に、実
行済の命令が格納されたエントリのバリッドビットを不
要を表わす値とし、 最終段のエントリのバリッドビットが不要を表わすと
きのみ該最終段のエントリより排出するよう構成する。
〔産業上の利用分野〕
本発明は命令キュー制御装置に関し、投入された命令
を不要となるまで格納しておく複数エントリ構成のキュ
ーを制御する命令キュー制御装置に関する。
〔従来の技術〕
従来より第8図に示す如きコンピュータシステムがあ
る。同図中、CPU10はメモリ11より命令をフェッチして
デコードし、整数演算命令はCPU10内で処理し、浮動小
数点演算命令(FPU命令)は浮動小数点演算装置(FPU)
12に送り、FPU12で処理する。
この場合FPU12内には第9図に示す如き命令キューを
設け、端子15より投入した命令をエントリ16a〜16fに格
納して順次シフトし端子17より出力している。FPU命令
は演算の種類によって実行サイクル数が異なるため命令
キューに投入した順番で不要になるとは限らないので、
途中のエントリを飛越してシフトする必要があり、端子
15の入力は全エントリ16a〜16f夫々に供給され、エント
リ16a出力はエントリ16b〜16f夫々に供給される如く構
成されている。
〔発明が解決しようとする課題〕
従来の命令キューは、キューの途中にあるエントリが
不要になる場合、そのエントリを飛越えてシフトする必
要があり、また、複数のエントリが同時に不要となる場
合もあるため、シフトを行なう回路構成が複雑で回路規
模が大きくなるという問題があった。
本発明は上記の点に鑑みなされたもので、命令キュー
のシフトを行なう回路構成が簡単で回路規模が小さくて
済む命令キュー制御装置を提供することを目的とする。
〔課題を解決するための手段〕
第1図は本発明の原理図を示す。
同図中、命令キューは複数のエントリ10〜15から構成
されている。
命令キューの各エントリ10〜15夫々にはそのエントリ
に格納された命令が必要か不要かを表わすバリッドビッ
ト20〜25が設けられている。
端子3から命令が投入される毎に複数のエントリ10
15夫々に格納した命令及びバリッドビット20〜25を後段
のエントリに順次シフトし、最終段のエントリ15のバリ
ッドビット25が不要を表わすとき複数のエントリから取
出された命令をセレクタで選択して命令制御部に供給し
て命令を実行すると共に、実行済の命令が格納されたエ
ントリのバリッドビットを不要を表わす値とし、最終段
のエントリ15より端子4を通して命令を排出する。
〔作用〕
本発明においては命令が投入される毎にこの命令がバ
リッドビット20〜25と共にエントリ10〜15の順にシフト
され、不要となってもエントリを飛び越して排出される
ことがなく、命令が必要か不要かは各エントリのバリッ
ドビット20〜25で表わされ、不要となった命令だけが最
終段のエントリ15より排出される。このように命令がエ
ントリを飛越して排出する必要がないため、シフトを行
なう回路構成が極めて簡単となり回路規模が小さくて済
む。
〔実施例〕
第2図(A),(B)は本発明装置を適用したFPUの
一実施例のブロック図を示す。
第2図(A)に示す、端子20より投入されるFPU命令
は命令キュー21及びセレクタ22に供給される。また、命
令キュー21より取出されたFPU命令はセレクタ22に供給
され、セレクタ22で選択されたFPU命令が命令制御部23
に供給され、ここからFPU命令に応じた制御信号CNTLがF
PU各部に供給される。
第2図(B)に示す端子24にはメモリよりロードデー
タが入来しレジスタファイル25に格納される。リード信
号SR1,SR2によりレジスタファイルから読出されたデー
タはパイプライン制御された加算器26,乗算器27,割算器
28のいずれかに供給される。加算器26は2サイクルで加
算を実行し、乗算器27は3サイクルで乗算を実行し、割
算器28は8サイクルで割算を実行して、これらの演算結
果はレジスタファイル25に供給され、ライト信号DR−A
W,DR−MW,DR−DW夫々により書込まれる。
また、レジスタファイル25から読出されたデータは端
子29からセレクタ30に供給され、端子31よりメモリに供
給される。更に障害時には命令キュー21よりFPU命令が
読出されてセレクタ30を介し端子31より出力される。
第3図は本発明装置の命令キュー21の回路図を示す。
同図中、端子40にはFPU命令が入来し、端子41にはシ
フト信号ENQが入来する。端子40よりのFPU命令はシフト
信号によってエントリFIQ−0のレジスタ42に格納さ
れ、その後シフト信号の入来毎にエントリFIQ−1〜FIQ
−5のレジスタ43,44,45,46,47の順にシフトされる。
レジスタ42〜47夫々にはバリッドビットを格納するSR
フリップフロップ48〜53が1対1に設けられている。各
レジスタのバリッドビットはそのレジスタのFPU命令が
未実行のとき‘1'で、実行済のとき‘0'となる。フリッ
プフロップ48はシフト信号ENQの入来によってセットさ
れ、命令制御部23よりのエントリ0の加算、乗算、割算
夫々に対応するリセット信号RST−Q0−A,RST−Q0−M,RS
T−Q0−Dがオア回路54に入来するとリセットされる。
フリップフロップ49は前段のフリップフロップ48のバリ
ッドビットが‘1'でシフト信号が入来したときアンド回
路55出力によってセットされ、また前段のバリッドビッ
トが‘0'でシフト信号が入来したとき及び命令制御部23
よりのエントリ1のリセット信号RST−Q1−A,RST−Q1
M,RST−Q1−Dが入来したときオア回路56出力によって
リセットされる。フリップフロップ50〜53夫々について
はフリップフロップ49と同様構成である。
レジスタ42〜47夫々の出力するFPU命令はセレクタ57
に供給され、ここで選択されたFPU命令は端子58から出
力される。
第4図(A),(B),(C)は命令制御部23の回路
図を示す。
第4図(A)に示す端子60にはFPU命令が入来し、レ
ジスタ61に1サイクルの期間格納される。レジスタ61の
オペレーションコードとデスティネーションアドレスは
レジスタ62,63,64,65夫々で1サイクル期間格納され
る。レジスタ61は命令デコードのサイクルに対応し、レ
ジスタ62,63,64夫々は乗算の3サイクルに対応し、レジ
スタ65は乗算結果ライトのサイクルに対応する。またレ
ジスタ63出力は加算結果ライトのサイクルに対応するレ
ジスタ66で1サイクル期間格納され、レジスタ61のオペ
レーションコードとデスティネーションアドレスは割算
の8サイクルに対応するレジスタ67で8サイクル期間格
納された後割算結果ライトのサイクルに対応するレジス
タ68で1サイクル期間格納される。レジスタ61〜68夫々
のオペレーションコードはデコーダ71〜78夫々でデコー
ドされ各種の制御信号が生成される。またレジスタ62〜
68夫々のデスティネーションアドレスはコンパレータ82
a,82b〜88a,88bによってレジスタ61の第1,第2ソースア
ドレスと比較され、コンパレータ82a,82b〜88a,88b夫々
の一致信号はオア回路89に供給され、レジスタ干渉を表
わす信号Reg−CNFとされ端子90より出力される。なお、
コンパレータ82a,82b〜88a,88b夫々は後述するバリッド
信号V−0〜V−DWがHレベルのとき比較を行なう。な
お、このバリッド信号は命令キュー21のバリッドビット
とは異なる信号である。
第4図(B),(C)に示すポインタ100は「0」〜
「5」をカウントする6進リングカウンタであり、命令
キュー21のどのレジスタの命令をデコードするかを指示
し、リセット時には「5」とされる。ポインタ100の値
はそのまま又は「1」加算器101,又は「1」減算器102
を経てセレクタ103よりポインタ100にセットされる。セ
レクタ103は(1)式の成立時にポインタ100の値そのも
のを選択し、(2)式の成立時に「1」加算器101出力
を選択し、(3)式の成立時に「1」減算器102出力を
選択する。
ENQ・V−DR・▲▼+ ▲▼(▲▼+Reg−CNF)=1…(1) ENQ・(▲▼+Reg−CNF)=1 …(2) ▲▼・V−DR・▲▼=1 …(3) 乗算の第1サイクルに対応するポインタ105には信号E
NQがHレベルのとき前段のポインタ100の値を「1」だ
けインクリメントした値、信号ENQがLレベルのとき前
段のポインタの値そのものがセレクタ104で選択されて
1サイクル期間後にセットされ、まったく同様に第4図
(B),(C)に示す乗算の第2,第3サイクル及びライ
トサイクルに対応するポインタ106,107,108夫々にも前
段のポインタの値又はそれを「1」だけインクリメント
した値が1サイクル期間後にセットされる。また、ポイ
ンタ109,110夫々にはポインタ106,104夫々の値が1サイ
クル期間後にセットされ、ポインタ111にハ同様にして
信号ENQで選択されたポインタ110の値又はそれを「1」
だけインクリメントした値がセットされる。
Dラッチ回路120はHレベルでポインタ100が有効であ
ることを表わすバリッド信号V−DRをラッチするもので
ポインタ100の値が「5」以外又は信号ENQの入来時にH
レベルとなり、Dラッチ回路120出力がHレベルで信号R
eg−CNFがHレベルのときHレベルを保持する。ポイン
タ105に対応するDラッチ回路125は信号Reg−CNFがLレ
ベルでデコーダ71出力の加算乗算デコードサイクルを表
わす信号AM−DRがHレベルのときバリッド信号V−DRを
バリッド信号V−0として1サイクル期間後にラッチ
し、ポインタ106に対応するDラッチ回路126はバリッド
信号V−0をバリッド信号V−1として1サイクル期間
後にラッチする。ポインタ107に対応するDラッチ回路1
27はデコーダ73出力の乗算第2実行サイクルを表わす信
号M1−CNTLがHレベルのときバリッド信号V−1をバリ
ッドV−2としてラッチし、ポインタ108に対応するD
ラッチ回路128はバリッド信号V−2を1サイクル期間
後にバリッド信号V−MWとしてラッチしデコーダ140に
供給する。
ポインタ109に対応するDラッチ回路129はデコーダ73
出力の加算第2実行サイクルを表わす信号A1−CNTLがH
レベルのときバリッド信号V−1を1サイクル期間後に
バリッド信号V−AWとしてラッチしデコーダ141に供給
する。ポインタ110に対応するDラッチ回路130は信号Re
g−CNFがLレベルでデコーダ71出力の割算デコードを表
わす信号D−DRがHレベルのときバリッド信号V−DRを
1サイクル期間後にバリッド信号V−Dとしてラッチ
し、ポインタ111に対応するDラッチ回路131はバリッド
信号V−Dとを1サイクル期間後にバリッド信号V−DR
としてラッチしデコーダ142に供給する。
デコーダ140,141,142夫々はポインタ108,109,111夫々
の値(信号ENQがLレベルのとき)、又は夫々の値を
「1」だけインクリメントした値(信号ENQがHレベル
のとき)をデコードして乗算、加算、割算夫々について
のフリップフロップ48〜53のバリッドビットをリセット
するためのリセット信号RST−Q0−M〜RST−Q5−M,RST
−Q0−A〜RST−Q5−A,RST−Q0−D〜RST−Q5−Dが生
成され、第3図に示す命令キューに供給される。
ここで、第5図に示す如くFPU命令Ia,Ib,Ic,Id,Ie,…
をパイプライン処理する場合、FPU命令Ia〜If夫々はサ
イクルT1〜T6で順次エントリFIQ−0〜FIQ−5に対応す
るレジスタ42〜47をシフトされ、各エントリFIQ−0〜F
IQ−5のバリッドビットが‘1'にセットされる(図中
「V」を付して表わす)。サイクルT6でFPU命令Ib,Icが
終了するため、サイクルT7でエントリFIQ−3,−4のFPU
命令Ib,Icのバリッドビットが‘0'にリセットされる
(図中「V」を消して表わす)。同様にしてサイクルT8
でFPU命令Idのバリッドビットがリセットされ、サイク
ルT10でFPU命令Ieのバリッドビットがリセットされサイ
クルT11でFPU命令Iaのバリッドビットがリセットされた
上でシフトアウトされる。
また、第6図に示す如く、FPU命令Iaの結果を用いてF
PU命令Ibを実行する場合にはレジスタ干渉(Reg−CNF)
が生じこの間つまりサイクルT1〜T4でエントリFIQ−0
〜FIQ−3にFPU命令Ia,Ib,Icがバリッドビットをセット
してシフトされる。サイクルT4で終了したFPU命令Iaは
サイクルT5でバリッドビットをリセットしエントリFIQ
−4にシフトされ、次のサイクルT6でエントリFIQ−5
にシフトされ、サイクルT7でシフトアウトされる。この
後サイクルT9でFPU命令Ib,Icが終了するとサイクルT10
でFPU命令Ibはシフトアウトされ、かつFPU命令Icはバリ
ッドビットをリセットされエントリFIQ−5にシフトさ
れる。
第6図に示す動作を行なう際の命令制御部23各部の信
号状態を第7図(A)〜(M)に示す。ここで第7図
(A),(B)夫々の信号ENQ,Reg−CNF及び同図
(C),(E),(G),(I),(K),(M)夫々
のバリッド信号V−DR,V−O,V−1,V−2,V−AW,V−MW夫
々については実線部分においてHレベルであり、同図
(D),(F),(H),(J),(L),(N)夫々
のポインタ100,105,106,107,109,108についてはポイン
タの指示する値を記入している。
このように、命令が投入される毎にこの命令がフリッ
プフロップ48〜53のバリッドビットと共にエントリFIQ
−0〜FIQ−5の順にシフトされ、不要となってもエン
トリを飛越して排出されることがなく、命令が必要か不
要かは各エントリのバリッドビットで表わされ、不要と
なった命令だけが最終段のエントリFIQ−5より排出さ
れる。このように命令がエントリを飛越して排出する必
要がないためシフトを行なう回路の構成が極めて簡単と
なり回路規模が小さくて済む。
〔発明の効果〕
上述の如く、本発明の命令キュー制御装置によれば、
命令キューのシフトを行なう回路構成が簡単で回路規模
が小さくて済み、実用上きわめて有用である。
【図面の簡単な説明】
第1図は本発明装置の原理図、 第2図は本発明装置を適用したFPUの一実施例のブロッ
ク図、 第3図は命令キューの回路図、 第4図は命令制御部の回路図、 第5図、第6図夫々はパイプライン処理時の命令キュー
動作を示す図、 第7図は第6図の動作における命令制御部の各部の信号
状態を示す図、 第8図はコンピュータシステムの構成図、 第9図は従来の命令キューの構造図である。 図において、 10〜15はエントリ、 20〜25はバリッドビット、 21は命令キュー、 23は命令制御部、 25はレジスタファイル、 26は加算器、 27は乗算器、 28は割算器、 42〜47はレジスタ、 48〜53はフリップフロップ を示す。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 9/38

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】パイプライン処理を行なわれる命令を複数
    エントリ構成の命令キューに投入して格納する命令キュ
    ー制御装置において、 該命令キューの各エントリ毎にそのエントリに格納され
    た命令が必要か不要かを表わすバリッドビットを有し、 命令が投入される毎に該複数のエントリ夫々に格納した
    命令及びバリッドビットを後段のエントリに順次シフト
    し、 該複数のエントリから取出された命令をセレクタで選択
    して命令制御部に供給して命令を実行すると共に、実行
    済の命令が格納されたエントリのバリッドビットを不要
    を表わす値とし、 最終段のエントリのバリッドビットが不要を表わすとき
    のみ該最終段のエントリより排出することを特徴とする
    命令キュー制御装置。
JP6866790A 1990-03-19 1990-03-19 命令キュー制御装置 Expired - Fee Related JP2859921B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6866790A JP2859921B2 (ja) 1990-03-19 1990-03-19 命令キュー制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6866790A JP2859921B2 (ja) 1990-03-19 1990-03-19 命令キュー制御装置

Publications (2)

Publication Number Publication Date
JPH03268134A JPH03268134A (ja) 1991-11-28
JP2859921B2 true JP2859921B2 (ja) 1999-02-24

Family

ID=13380296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6866790A Expired - Fee Related JP2859921B2 (ja) 1990-03-19 1990-03-19 命令キュー制御装置

Country Status (1)

Country Link
JP (1) JP2859921B2 (ja)

Also Published As

Publication number Publication date
JPH03268134A (ja) 1991-11-28

Similar Documents

Publication Publication Date Title
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
KR100328162B1 (ko) 정보처리회로와마이크로컴퓨터와전자기기
US4658355A (en) Pipeline arithmetic apparatus
US4539635A (en) Pipelined digital processor arranged for conditional operation
US4037213A (en) Data processor using a four section instruction format for control of multi-operation functions by a single instruction
JP2665081B2 (ja) マイクロコンピュータのレジスタ間データ転送方式
JPH03286332A (ja) デジタルデータ処理装置
US5253349A (en) Decreasing processing time for type 1 dyadic instructions
JPH10222368A (ja) データ処理装置
US5349671A (en) Microprocessor system generating instruction fetch addresses at high speed
US4598358A (en) Pipelined digital signal processor using a common data and control bus
JP2859921B2 (ja) 命令キュー制御装置
US5446909A (en) Binary multiplication implemented by existing hardware with minor modifications to sequentially designate bits of the operand
US6789185B1 (en) Instruction control apparatus and method using micro program
US5812845A (en) Method for generating an object code for a pipeline computer process to reduce swapping instruction set
JP3707729B2 (ja) アドレス生成インターロック検出方法およびシステム
JPH02278424A (ja) 正規化装置
JP3164915B2 (ja) データ処理装置及びそのデータ処理方法
JPH05274143A (ja) 複合条件処理方式
JP2654451B2 (ja) データ出力方法
JPH1173301A (ja) 情報処理装置
JPH07110769A (ja) Vliw型計算機
JP2781779B2 (ja) 分岐制御回路
JP2851192B2 (ja) 並列演算処理装置におけるキャリー付き加減算処理方式
JPH06162067A (ja) ベクトル命令制御装置および制御方法

Legal Events

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