JP2812501B2 - パイプライン制御方式 - Google Patents

パイプライン制御方式

Info

Publication number
JP2812501B2
JP2812501B2 JP1199559A JP19955989A JP2812501B2 JP 2812501 B2 JP2812501 B2 JP 2812501B2 JP 1199559 A JP1199559 A JP 1199559A JP 19955989 A JP19955989 A JP 19955989A JP 2812501 B2 JP2812501 B2 JP 2812501B2
Authority
JP
Japan
Prior art keywords
register
pipeline
address
instruction
state
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
JP1199559A
Other languages
English (en)
Other versions
JPH0363727A (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 JP1199559A priority Critical patent/JP2812501B2/ja
Publication of JPH0363727A publication Critical patent/JPH0363727A/ja
Application granted granted Critical
Publication of JP2812501B2 publication Critical patent/JP2812501B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔概 要〕 パイプライン方式で命令を処理できる中央処理装置に
おいて,仮想アドレス空間を個々に識別できる手段と,
かつその識別手段を使用してパイプラインのループ制御
を可能にすることを目的にし, 仮想アドレス空間を指定するための第1のレジスタ
(SR)の群と,これらのレジスタ(SR)の群から1つの
レジスタ(SR)を選択するためのSRレジスタ指定情報
(SR−ID)を保持する第2のレジスタ(SR−IDR)とを
そなえ, パイプラインに上記第2のレジスタ(SR−IDR)の内
容をコピーして保持するコピーレジスタを設け,パイプ
ライン中の命令のオペランドアドレスと対応する仮想ア
ドレス空間を上記第2のレジスタのコピーレジスタに保
持される第1のレジスタ(SR)のレジスタ指定情報によ
って対応的に認識可能にした。
〔産業上の利用分野〕
本発明は,パイプライン方式で命令を処理できる中央
処理装置において,仮想アドレス空間を識別する手段
と,その識別する手段を使用して,パイプラインのルー
プ制御のためのパイプライン制御方式に関する。
パイプライン中には複数の命令が逐次的に流されて並
列に処理されるが,命令の中にアドレス空間での処理が
混在している場合には,空間管理ができなかった。さら
にループ機構の使用もできなかった。
本発明は,パイプラインを流れる各命令について,そ
の仮想アドレス空間を個々に識別できる手段を設けるも
のである。さらに,これを拡張してループ機構をも任意
に使用可能にするものである。
〔従来の技術〕
命令をパイプライン方式で処理するとき,同じ動作を
何回も繰り返す場合がある。たとえば,メモリ間で指定
された長さのデータを移動する命令のMVC命令の処理が
その例である。
このMVC命令は,第1と第2の2つの主記憶オペラン
ドを持ち,データをメモリの第2オペランドのアドレス
からフェッチして第1オペランドのアドレスにストアす
る動作を,指定されたレングス,例えば最大256バイト
長のデータ分だけ繰り返すものである。
この処理は,2つのオペランドアドレスをインクリメン
ト出来れば同じ処理の繰り返しとなるから,パイプライ
ンのループ機構を使用して処理される場合が多い。
ところでパイプラインでは,通常,入力された命令を
解読して,その命令に対応するマイクロコードをコント
ロールストレージ(制御記憶,以下CSと略す)から読み
出してパイプラインの各ステートを制御している。
パイプラインのループ機構とは,繰り返し処理につい
て,その都度CSからマイクロコードを読み出すのではな
く,同じ処理を行わせるフローのマイクロコードをレジ
スタに保持しておいて,これを毎回パイプラインに投入
させる機構をいう。
第3図の動作例により、従来のパイプラインのループ
機構を説明する。図において,最初の2つのフロー,
が通常時のフローの例であり,後の4つのフローな
いしがループ時のフローの例である。ここで図中のD,
A,T,B,E,Wはパイプラインのステートを表し,Dは命令コ
ードを解読(デコード)するステート,Aはオペランドア
ドレスを生成するステート,Tはアドレスを変換するステ
ート,Bはバッファをアクセスするステート,Eは命令内容
を実行するステート,Wは結果を格納するステートであ
る。またaはCSから読み出されたマイクロコードをAス
テートにおいて保持しているステート制御レジスタであ
り,bはTステートにおいてaレジスタの内容を保持する
コピーレジスタを示す。
通常時のフロー,では,それぞれDステートで命
令コードを解読し,それに基づいてCSから読み出したマ
イクロコードをAステートの始めにレジスタに設定し,
続くTステートの始めにbレジスタにコピーする。この
ようにフロー,はそれぞれ独立して実行される。
次にループ時のフロー,,,ではと,
とのように1つおきに2つのフローでループされる。
たとえばフローでは,このTステートのbレジスタの
マイクロコードがフローのAステートにaレジスタへ
渡されることによりループが行われる。そしてフロー
は,フローと同じ処理を行う。同様にしてフローの
TステートからフローのAステートへマイクロコード
が渡されループが行われる。
第3図には,マイクロコードをループするための機構
が示されているが,実際にはマイクロコードと同じよう
にオペランドアドレスもループされなければならず,そ
のためにコピーレジスタも必要とされる。
第4図の動作例により従来のパイプラインのオペラン
ドアドレスのループ機構を説明する。
図示された動作例は,ストア処理とフェッチ処理がそ
れぞれ繰り返される例であり,フロー′からフロー
′へループし,またフロー′からフロー′へルー
プしている。
ストアフロー′において,命令のI4フィールドで指
定されたディスプレイメントレジスタDRディスプレイス
メント値と,ベース・フィールドで指定されたベースレ
ジスタBRのベースアドレス値とが,Aステートで実効アド
レス発生回路EAGに与えられ,ストアアドレスが計算さ
れる。
EAGで計算されたストアアドレスは,Tステートで記憶
制御部へ送出されアドレス変換が行われるが,同時に第
1オペランド用のコピーレジスタWAR1に格納される。
このコピーレジスタWAR1のストアアドレスは,フロー
′のAステートでEAGに与えられる。
次のフェッチフロー′において,命令のI4フィール
ドによって指定されるディスプレイスメント値(DRを介
して)とRフィールドで指定されるBRのベースアドレス
とをAステートでEAGに与えられる。EAGはこれらの値を
加算してフェッチアドレスを計算し,次のTステートで
記憶制御部に送出するとともに,第2オペランド用のコ
ピーレジスタWAR2に格納する。
このときDRはディスプレイスメントのCONSTANT値が設
定される。またコピーレジスタWR1には,フロー′で
設定されたストアアドレスがそのまま保持されている。
ストアフロー′では,AステートでWAR1とDRの各値を
EAGに与え,次のストアアドレスを計算して,Tステート
で記憶制御部へ送出するとともに,コピーレジスタWAR1
に格納する。
このとき,DRにはディスプレイスメントのCONSTANT値
が設定される。またWAR2には,フロー′で設定された
フェッチアドレスが保存されている。
次のフェッチフロー′では,Aステートで,WAR2とDR
の各値をEAGに与え,次のフェッチアドレスを計算し,
記憶制御部へ送出するとともにWAR2に格納する。
このようにして,ストアフローとフェッチフローの各
々において,コピーレジスタWAR1とWAR2とを用いて後続
のフローにオペランドアドレスを渡すループ制御が行わ
れる。
ところで,これらのオペランドや命令のアクセスに
は,定められた仮想アドレス空間のビット幅,たとえば
31ビットのアドレスが用いられているが,最近この定め
られたビット幅を超えるビット幅,拡張アドレスを用い
て拡張仮想アドレス空間をアクセスできるシステムが開
発されている。次にこのようなシステムの例を説明す
る。
たとえば31ビットを超える拡張アドレスの場合には,3
1ビットの仮想アドレス空間を複数個,たとえば16個用
意しておき,また使用する仮想アドレス空間のID(識別
情報)を指定するためSRレジスタ(スコープレジスタ)
と呼ばれるレジスタを記憶制御部内に複数個設け,この
SRレジスタを命令のベース・フィールドで指定するレジ
スタナンバ(SR−ID)により選択して,アドレス変換時
に,対応する1つの仮想アドレス空間を決定できるよう
にしている。
つまり,命令が実行されるとき,31ビットのアドレス
とSR−IDとを記憶制御部へ渡し,記憶制御部では,その
SR−IDにより1つのSRレジスタを選択し,そのSRレジス
タに設定されている空間IDによって指定される仮想アド
レス空間中の31ビットのアドレスを位置づけしてアドレ
ス変換を行いアクセス制御を行うようにする。
〔発明が解決しようとする課題〕
従来の異なる仮想アドレス空間に亘る処理が可能なシ
ステムでは,1つの命令の第1オペランドと第2オペラン
ドとが異なる仮想アドレス空間に属していることが起こ
り得る。たとえば,MVC命令がある1つの仮想アドレス空
間のアドレスにあるデータを他の仮想アドレス空間にあ
るアドレスに移動するような場合である。
しかし従来の中央処理装置では,パイプラインのルー
プ機構に仮想アドレス空間を指定する機能がないため,M
VC命令などは,パイプラインのループ機構を使用して異
なる仮想アドレス空間に亘る処理を行うことができなか
った。
本発明は,パイプラインのループ機構を使用する命令
について,異なるアドレス空間に亘る処理を可能にする
ことを目的にしている。
〔課題を解決するための手段〕
本発明は,中央処理装置のパイプラインのループ機構
に,マイクロコードやオペランドアドレスの場合と同様
に,仮想アドレス空間を識別するためのSRレジスタの識
別情報SR−IDを,命令のオペランド対応で保持するコピ
ーレジスタを設け,アドレスと一緒にループさせること
によって,異なるアドレス空間の処理を行う命令による
ループ機構の使用を可能にするものである。
第1図は,本発明の原理的構成図である。
図において, 1は,命令レジスタaである。
2,コントロールストレージCSであり,Dステートで命令
レジスタaのオペコード・フィールドIOの内容によって
アクセスされ,対応するマイクロコードが読み出され
る。
3は,ステート制御レジスタbであり,DステートでCS
から読み出されたマイクロコードがAステートで格納さ
れ,その出力により制御が行われる。なお,ステート制
御レジスタは,残りのT,B,E,Wの各ステートにも設けら
れているが,ここでは省略されている。
4は,実効アドレス演算回路EAGであり,ディスプレ
イスメントレジスタDRの内容(ディスプレイスメン
ト),ベースレジスタBRの内容(ベースアドレス),WAR
1,WAR2の内容(ループされたオランドアドレス)等を入
力としてオペランドの実効アドレスを計算する。EAGへ
の入力はマイクロコードのコピーをもつレジスタbの出
力によって制御され,オペランドアドレスのループ制御
もこれによって行われる。
5は,第1オペランドのコピーレジスタWAR1であり,
第1オペランドについてEAGで計算された実効アドレス
をAステートで保持する。
6は,第2オペランドのコピーレジスタWAR2であり,W
AR1と同様に第2オペランドの実効アドレスをAステー
トで保持する。
7は,SRレジスタ指定レジスタSR−IDRであり,命令レ
ジスタaのベース・フィールドIBから取り出されるベー
スレジスタ・ナンバーがセットされる。すなわち拡張仮
想アドレス空間を使用する場合,命令のIBにはスコープ
レジスタSRのナンバーがSR−IDとして設定されており,
この値がSR−IDRに保持される。
8は,ループ時に使用される第1オペランド用のSR−
IDのコピーレジスタID−T0である。ID−T0は,第1オペ
ランドの実効アドレスがコピーされるWAR1に対応づけて
設けられている。
9は,ループ時に使用される第2オペランド用のSR−
IDのコピーレジスタID−T1である。ID−T1は,WAR2に対
応づけて設けられている。
10は,セレクタであり,SR−IDR,ID−T0,ID−T1の1つ
をマイクロコードのコピーレジスタaの内容によって選
択し,記憶制御部へ送出するために用いられる。
〔作 用〕
第1図により,本発明の作用を説明する。
パイプラインの命令レジスタaに命令が投入される
と,そのIOの値(オペコード)によりCSがアクセスさ
れ,読み出されたマイクロコードはステート制御レジス
タbにセットされる。また命令のIBの値はSR−IDRにセ
ットされる。
ステート制御レジスタbは,EAGにどのデータを入力す
るか(),また結果をどのレジスタWAR1,WAR2にセッ
トするか(,)を制御する。
たとえば命令“A"がパイプラインに投入されると,
“A"というオペコードがCSに与えられ,対応するマイク
ロコードがステート制御レジスタbにセットされる。こ
れと同時に第1オペランドOP1の仮想アドレス空間IDで
あるベースレジスタNOがSP−IDRにセットされ,さらにE
AGの結果出力をどのコピーレジスタWAR1,WAR2にセット
するかという論理と同じ論理でSR−IDRからID−T0また
はID−T1へ送られセットされる。つまり,OP1がWAR1にセ
ットされる場合には,OP1のSP−IDはID−T0にセットさ
れ,OP2はWAR2にそしてOP2のSR−IDはWAR2にセットされ
る(,,,)。
このように,本発明はオペランドアドレスに対するの
と同じようにSR−IDにもコピーレジスタID−T0,ID−T1
をオペランドアドレスと連動してSR−IDをパイプライン
に投入できるようにしたことで,ループ機構に対応でき
る。
〔実施例〕
第2図に本発明実施例によるパイプラインのフローを
例示する。ここでは,図を簡単化するため,SR−IDのル
ープ動作のみを示している。図示されている例は,の
フェッチフローからのフェッチフローへループが行わ
れ,またのストアフローからのストアフローへルー
プが行われるダブルループの場合のものである。
フェッチフローでは,Dステートで得られる命令のIB
フィールドの値SR−ID(スコープレジスタSRのナンバ
ー)がAステートでSR−IDRにセットされて保持され,
続くTステートで記憶制御部へ送出されるとともに,コ
ピーレジスタID−T0にコピーされる。
ストアフローでも,AステートでSR−IDRに命令のIB
フィールドのSR−IDがセットされて,続くTステートで
記憶制御部へ送出され,同時に別のコピーレジスタID−
T1にコピーされる。
フェッチフローでは,Aステートにおい,フローの
TステートでID−T0にコピーされたSR−IDをSR−IDRに
セット(ループ)し,続くTステートでそのSR−IDを記
憶制御部へ送出するとともに,再びID−T0にコピーし,
次のループにそなえる。
ストアフローでも,Aステートにおい,フローのT
ステートでID−T1にコピーされたSR−IDをSR−IDRにセ
ット(ループ)し,続くTステートでそのSR−IDを記憶
制御部へ送出するとともに,再びID−T1にコピーし,次
のループにそなえる。
このような空間指定を伴わせて任意の回数,パイプラ
インをループさせることができる。
なお,以上述べたSR−IDのループ動作と並行して第1
図の実効アドレス演算回路EAGによるオペランドの実効
アドレスの計算とループ動作も行われる。たとえば第2
図のフェッチフローでは,命令で指定されるディスプ
レイスメント値(DRを介して)とRフィールドで指定さ
れるBRのベースアドレスとをAステートでEAGに与えら
れる。EAGはこれらの値を加算してフェッチアドレスを
計算し,結果は次のTステートでSR−IDRの値とともに
記憶制御部に送出されアドレス変換が行われるととも
に,第2オペランド用のコピーレジスタWAR2に格納され
る。
また第2図のストアフローでは,命令で指定された
ディスプレイスメントレジスタDRディスプレイスメント
値と,ベース・フィールドで指定されたベースレジスタ
BRのベースアドレス値とが,Aステートで実効アドレス演
算回路EAGに与えられ,ストアアドレスが計算される。E
AGで計算されたストアアドレスは,Tステートで記憶制御
部へ送出されアドレス変換が行われるが,同時に第1オ
ペランド用のコピーレジスタWAR1に格納される。
〔発明の効果〕
本発明によれば,パイプラインのループ機構を使用す
る命令について仮想アドレス空間の単一性の制限を設け
る必要がなくなり,プログラムの効率化の処理の高速化
を図ることができる。
【図面の簡単な説明】
第1図は本発明の原理的構成図,第2図は本発明実施例
によるパイプラインのフロー図,第3図は従来のパイプ
ラインのループ機構の説明図,第4図は従来のパイプラ
インにおけるオペランドアドレスのループ機構の説明図
である。 第1図中 1:命令レジスタa 2:コントロール・ストレージCS 3:ステート制御レジスタb 4:実効アドレス演算回路EAG 5:コピーレジスタWAR1 6:コピーレジスタWAR2 7:SRレジスタ指定レジスタSR−IDR 8:コピーレジスタID−T0 9:コピーレジスタID−T1 10:セレクタ

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】仮想アドレス空間を指定する為の第1のレ
    ジスタ(SR)の群と,これらのレジスタ(SR)の群から
    1つのレジスタ(SR)を選択する為のSRレジスタ指定情
    報(SR−ID)を保持する第2のレジスタ(SR−IDR)と
    を備え,命令をパイプライン方式で処理する中央処理装
    置において, パイプラインの中の命令のオペランドアドレスと対応す
    る仮想アドレス空間を,命令がパイプラインに投入され
    る毎に上記第2のレジスタ(SR−IDR)に保持されるSR
    レジスタ指定情報(SR−ID)と対応づけることによって
    個々の命令毎に認識可能にしたことを特徴とするパイプ
    ライン制御方式。
  2. 【請求項2】1つ以上のフローをパイプラインに繰り返
    し投入できるループ機構と, 仮想アドレス空間を指定するための第1のレジスタ(S
    R)の群と,これらのレジスタ(SR)の群から1つのレ
    ジスタ(SR)を選択するためのSRレジスタ指定情報(SR
    −ID)を保持する第2のレジスタ(SR−IDR)とを備
    え,命令をパイプライン方式で処理する中央処理装置に
    おいて, パイプラインに上記第2のレジスタ(SR−IDR)の内容
    をコピーして保持するコピーレジスタを設け,パイプラ
    イン中の命令のオペランドアドレスと対応する仮想アド
    レス空間を上記第2のレジスタのコピーレジスタに保持
    される第1のレジスタ(SR)のレジスタ指定情報によっ
    て対応的に認識可能にすることによって,上記ループ機
    構を使用可能にしたことを特徴とするパイプライン制御
    方式。
JP1199559A 1989-08-01 1989-08-01 パイプライン制御方式 Expired - Fee Related JP2812501B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1199559A JP2812501B2 (ja) 1989-08-01 1989-08-01 パイプライン制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1199559A JP2812501B2 (ja) 1989-08-01 1989-08-01 パイプライン制御方式

Publications (2)

Publication Number Publication Date
JPH0363727A JPH0363727A (ja) 1991-03-19
JP2812501B2 true JP2812501B2 (ja) 1998-10-22

Family

ID=16409839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1199559A Expired - Fee Related JP2812501B2 (ja) 1989-08-01 1989-08-01 パイプライン制御方式

Country Status (1)

Country Link
JP (1) JP2812501B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007000394A (ja) * 2005-06-24 2007-01-11 Tiger Vacuum Bottle Co Ltd 炊飯器

Also Published As

Publication number Publication date
JPH0363727A (ja) 1991-03-19

Similar Documents

Publication Publication Date Title
US6581152B2 (en) Methods and apparatus for instruction addressing in indirect VLIW processors
US11941399B2 (en) Exposing valid byte lanes as vector predicates to CPU
US11860790B2 (en) Streaming engine with separately selectable element and group duplication
US20230359565A1 (en) Streaming engine with multi dimensional circular addressing selectable at each dimension
JP2006509306A (ja) 関係アプリケーションへのデータ処理システム相互参照用セルエンジン
US4037213A (en) Data processor using a four section instruction format for control of multi-operation functions by a single instruction
US11714646B2 (en) Streaming engine with early exit from loop levels supporting early exit loops and irregular loops
USRE32493E (en) Data processing unit with pipelined operands
US11983559B2 (en) Streaming engine with short cut start instructions
US11847453B2 (en) Stream engine with element promotion and decimation modes
US11481327B2 (en) Streaming engine with flexible streaming engine template supporting differing number of nested loops with corresponding loop counts and loop offsets
US20190391812A1 (en) Conditional execution specification of instructions using conditional extension slots in the same execute packet in a vliw processor
US11681532B2 (en) Method for forming constant extensions in the same execute packet in a VLIW processor
US20240054098A1 (en) Fetching vector data elements with padding
JP2812501B2 (ja) パイプライン制御方式
JPS58137081A (ja) ベクトルプロセツサ
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JP2006526194A (ja) 超長命令語を用いたマルチプル・レジスター・ロード
JPH0218732B2 (ja)
JPH02110636A (ja) タグ・アーキテクチャマシンのデバッグ装置とそのコンパイラ
JPH0290324A (ja) マイクロプログラム制御装置
JPS62251930A (ja) 情報処理装置
GB2137786A (en) Pipelined Digital Data Processor
JP2003058367A (ja) 演算装置
JPH03100829A (ja) プログラム内蔵型計算機

Legal Events

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