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

パイプライン制御方式

Info

Publication number
JPS6049337B2
JPS6049337B2 JP5317477A JP5317477A JPS6049337B2 JP S6049337 B2 JPS6049337 B2 JP S6049337B2 JP 5317477 A JP5317477 A JP 5317477A JP 5317477 A JP5317477 A JP 5317477A JP S6049337 B2 JPS6049337 B2 JP S6049337B2
Authority
JP
Japan
Prior art keywords
instruction
unit
instruction execution
execution
address
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
Application number
JP5317477A
Other languages
English (en)
Other versions
JPS53139448A (en
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5317477A priority Critical patent/JPS6049337B2/ja
Publication of JPS53139448A publication Critical patent/JPS53139448A/ja
Publication of JPS6049337B2 publication Critical patent/JPS6049337B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 本発明は、パイプライン制御方式、特に命令フエツチ部
と命令実行部との同期化をはかつてなるパイプライン制
御方式に関する。
従来からのパイプライン制御方式のデータ処理装置につ
いて第1〜6図を使つて説明する。
第1図はパイプライン制御方式データ処理装置のブロッ
ク図であるが、このパイプライン制御方式は特フに事務
用の大型機に用いられている。その構造は命令の読み出
しをする命令ユニット11、読み出した命令を実行する
演算ユニット12を核として記憶制御ユニット13、主
記憶14及び入出力バスI/ O−BUS)アドレスバ
スA−BUS)デー5タバスD−BUS)及びユニット
間インターフェイスUINTから成つている。命令ユニ
ット11は第2図に示した論理構造をもつており、命令
語の格納されている主記憶アドレスを格納するプログラ
ムカウンタをはじめ、オペランドのアドレスを作成する
ためのベースレジスタ、インデックスレジスタ等を格納
するレジスタ群21、該レジスタ群21の1つと命令語
の1部とを加算しアドレスバスA−BUSを介して出力
するアドレス加算器22、及びこれらを制御する命令制
御部23から成つている。従つて、本命令ユニット11
の動作は、(1)プログラムカウンタの内容をアドレス
バスA−BUSに送出し、命令語を読み出す。
更に、プログラムカウンタをインクリメント(アップ)
する。(2)読み出された命令語に応じて、その指定す
る方法でオペランドのアドレスをアドレス加算器22に
より計算し、アドレスバスA−BUSに送出する。
(3)命令ユニットの動作終了をユニット間インターフ
ェイスUINTを通じて演算ユニット12に連絡し、該
ユニット12を起動する。
というような3機能に分けられ、これを順次実行する。
第3図は演算ユニット12の論理構造を示したものであ
るが、各種演算レジスタを格納するレジスタ群31,3
2、演算器33、及びこれらを制一御する命令実行制御
部34から成る。命令ユニット11の動作終了をユニッ
ト間インターフェイスUINTの信号に1つにより命令
ユニットからの連絡を受け、実行動作を開始する。次に
、命令ユニット11と演算ユニット12との関係を第4
〜6図を用いて説明する。
第4図は命令ユニット11のスタテイサズ実行中心に示
したフローチャートであるが、次の手順で演算ユニット
12と連絡をとりながら動作する・
3(1)命令ユニット1
1のスタテイサイズ開始の判定。
演算ユニット12の命令実行(処理)によつてどの時点
からスタティサィズを開始できるかが決定される。例え
ば、命令ユニット11内のレジスタ群21内のプログラ
ムカウンタ、べ4.ースレジスタ、インデックスレジス
タ等を変更する命令(条件分岐、無条件分岐、サブルー
チン分岐、レジスタ書換え等)ではレジスタの内容変更
後にスタデイサイズを開始できるわけである。(Ii)
割込みの有無の判定、割込みのある場合にはスタテイサ
イズを実行してプログラムカウンタを更新してはならな
い。
S(Iii)スタテイサイズの実行。
命令ユニット11がスタテイサイズ開始可能であつて、
割込みが無い場合はじめてスタテイサイズを実行する。
その動作内容は前述したので省略する。(Iv)演算ユ
ニット12が実行中かどうかの判定。
O 演算ユニット12が前命令を実行中か否かにより、
命令ユニット11の実行結果を演算ユニット12に移し
て命令の実行を行わせるかを決める。演算ユニット12
が前命令の実行を終了すれば、ひき続き今回の命令の実
行を開始し、命″ 令ユニット11では次の命令フエツ
チの準備をする。このように、命令ユニット11と演算
ユニット12とは常に連絡をとり合つて動作し続けバイ
ブライン制御を実現する。
第5図は時間tの流れにl沿つたバイブライン制御の様
子を示した図である。命令ユニット11の動作(スタテ
イサイズ)が演算ユニット12の動作(前命令の実行)
よりも遅い場合には演算ユニット12は待たされるし(
図のT1区間)、命令ユニット11の動作完了が演算ユ
ニット12の動作完了よりも早い場合には命令ユニット
11の次の動作開始が待たされる(図のT2区間)。即
ち、処理Nのスタテイサイズ完了は演算ユニット12の
前命令N−1実行終了と一致し、演算ユニット12の処
理が継ぎ目なく行われた場合が時間t1を示し、処理N
+1では演算ユニット12の前命令処理Nとの間に持ち
が生じた場合が区附匡,の持ち時間を示す。この時には
、処理N+2は前命令N+1の終了までスタテイサイズ
を開始できない。更に次の命令ユニットのスタテイサイ
ズN+3が早く終了した場合が区間T2の持ち時間とな
る。以上のように命令ユニット11と演算ユニット12
はそれぞれには命令によつて種々の場合に伴なう持ちが
生じ、この持ちをユニット間インターフェイス信号によ
りタイミング的に同期化しているものが多い。
第6図は2つのユニット間インターフェイスの基本信号
を示したもので、命令ユニット11ののスタテイサイズ
終了を演算ユニット12に連絡する信号(EUSTAR
T)、演算ユニツ卜12の命令実行終了を命令ユニット
11に連絡する信号(IUSTART)の2本がある。
この2つの信号により両ユニット間の同期がとられてい
る。一方、バイブライン制御を行つているのは既に述べ
たように事務用の大型機に多く、命令語のスタック、主
記憶のインターリービツグといつた高度の技術を駆使し
ており、命令ユニット11と演算ユニット12の内部論
理はかなり複雑であり、更に2つのユニット間インター
フェイス信号はかツなり多くなる。
この結果、2つのユニットをそれぞれ1つのLSIチッ
プで構成しようとする場合、2チップ間のインターフェ
イス信号が多くなる。しかしパッケージピン数の制約の
ため実現は難かしい。本発明は前述した従来技術の欠点
に鑑みなされたものであり、その目的は命令ユニット、
演算ユニットそれぞれを1つのLSIチップ等の単一回
路で構成する場合の2つのチップ間のインターフェイス
信号を少なくし、更にそれぞれの動作のずれ5を補正す
るバイブライン制御方式を提供することにある。
上記目的を達成する為に、本発明はマイクロプログラム
制御になるバイブライン可能なデータ処理装置の演算ユ
ニットの命令実行が命令ユニットのスタテイサイズより
も先に終了した場合に限つて、命令ユニットの発生する
マイクロプログラム分岐アドレスに修飾を加え、固定番
地に変換し、該固定番地に無実行マイクロ命令を格納す
ることにより演算ユニットを持ち状態とすることを特徴
とする。
以下図面に基ついて本発明の好適な実施例を詳細に説明
する。
尚、以下の説明では、チップなる表現を使用しているが
、これはLSlを前提にしているためである。チップの
内部機能は共に述べたユニットとほぼ同一である。勿論
、本発明の特有な技術が付加されているため、実質的に
同一ということはない。第7図は本発明に係るマイクロ
サイクル同期化装置を内蔵したバイブライン制御可能の
データ処理装置のブロック図である。
本データ処理装置は命令フエツチチツプ71、命令実行
チップ72、マイクロ命令アドレスレジスタ73、該レ
ジスタ73からアドレスバスADDR−BUSを通して
送られるアドレスによりアクセスされるマイクロプログ
ラムメモリ74から構成され、マイクロプログラムメモ
リ74の命令フエツチチツプ71を制御する部分1は命
令フエツチチツプ71内から発生されるマイクロプログ
ラム分岐アドレスとを時分割して使用し、マイクロ命令
バスMI−BUSlを通してマイクロ命令アドレスレジ
スタ73に供給されている。また、命令実行チップ72
は常にマイクロプログラムメモリ74の一部Eによりマ
イクロ命令バスMI−BUS2を通して制御されており
、マイクロ命令アドレスレジスタ73のモード(カウン
ト/ロード)制御信号e1命令実行終了信号0を出力し
、後者は命令フエツチチツプ71に供給されている。ま
た、本発明に直接関係はないが命令フエツチチツプ71
のアドレス出力、命令実行チップ72のデータ入出力は
共通のデータ◆アドレスバスD−A−BUSで連結され
、チップ間のデータの授受も可能なようになつている。
命令フエツチチツプ71と命令実行チップ72はマイク
ロプログラムメモリ74のそれぞれI,E部により独立
に制御、され、更に命令フエツチチツプ71におけるス
タテイサイズ制御はマイクロ命令によらずハードウェア
制御するものとする。そのハードウェアについては本発
明に直接的な影響はないので省略する。次に、第8図を
用いて命令フエツチチツプ71のマイクロプログラム分
岐制御部について説明する。
本制御部は時分割制御するマイクロ命令バスMI−BU
Slからのマイクロ命令入力バッファ8)1、マイクロ
プログラム分岐アドレス送出の為の出力バッファ82、
マイクロ命令レジスタ83とそのデコーダ84、本発明
の中心となるマイクロサイクル同期化装置85、(マク
ロの)命令レジスタ86から構成される。通常マイクロ
命令バス5MI−BUSlは入力方向側で動作しており
、マイクロプログラムメモリ74から読み出されたマイ
クロ命令は入力バッファ81を介しマイクロ命令レジス
タ83に置数され、マイクロ命令デコーダ84により命
令フエツチチツプ71内の各部を制御″θする。しかし
、命令フエツチチツプ71がスタテイサイズを開始しよ
うとする時はスタテイサイズ開始を指示するマイクロ命
令を入力バッファ81、マイクロ命令レジスタ83、マ
イクロ命令デコーダ84を通じてスタート信号sを発生
させ、マイクロサイクル同期化装置85に連絡する。割
込み信号1により割込みの無い場合、以下のマイクロ命
令の実行を禁止する信号nをデコーダ84に返答し、マ
イクロサイクル同期化装置85は動作状態に入る。該同
期化装置85はマクロの命令レジスタ86の命令コード
から各命令に応じたマイクロプログラムの先頭番地を作
成し、命令実行チップ72の前命令実行終了信号0によ
り出力バッファ82が開放され(この時マイクロプログ
ラムメモリ74のI部は禁止)マイクロ命令レジスタ7
3に置数する。しかし、命令フエツチチツプ71のスタ
テイサイズ動作が完了していない時にはマイクロサイク
ル同期化装置85の分岐アドレス出力は固定番地であり
、スタテイサイズ完了まで命令実行チップ72はその固
定番地のマイクロ命令(無実行命令)を実行し続けて命
令フエツチチツプ71との同期をとる。第9図は本発明
になるマイクロサイクル同期化装置85の詳細図てある
該装置85は割込み信号1のインバータ91、スタテイ
サイズ開始信号を得る為のナンドゲート92、スタテイ
サイズ開始を表示するフリップフロップ93、割込み受
付け信号を得る為のナンドゲート9牡割込みの受付けを
表示するフリップフロップ95、命令レジスタ86の命
令コードに変更を与える為の3入力5のアンドゲート9
6a−hから成る。9ビットの分岐アドレスB−ADD
Rの最上位ビットはフリップフロップ95のQ出力端子
の信号をもつて形成し、2ビット目以降はゲート96a
〜96hの出力をもつて形成している。
マイクロ命令によりス3タテイサイズ開始を指示すると
セット信号sが入力し、この時、割込み信号1が゛0゛
(割込み無し)ならばナンドゲート92を介してフリッ
プフロップ93がセットされ、フリップフロップ95は
セットされない。従つて、命令レジスタ86の5命令コ
ード(オペランドコード)が例えば(11101000
)であつたとした場合、スタテイサイズの終了によつて
ハードウェアが発生する終了信号eがフリップフロップ
93に入力するまでそのQ端子ぱ“0゛である故アンド
ゲード群96a〜4hはオフ状態となり、且つフリップ
フロップ95のQ端子を゜40゛である故、マイクロプ
ログラム分岐アドレスは(イ)00000000)と0
番地を指している。終了信号eが入力するとフリップフ
ロップ93はリセットされ、その結果、アンドゲート群
96a−hがオン状態となり分岐アドレスは(0111
01000)と命令コードに応じたアドレスを発生させ
る(尚、このアドレスの先頭ビットはフリップフロップ
95のQ端子の信号によつて規定されるため“0゛とな
つている)。また、割込み信号1が66F3(割込み有
り)ならばフリップフロップ95だけがセットされ、そ
の結果、ゲート群96a−hはオフ状態のままであるた
め分岐アドフレスは命令レジスタ86の内容によらず(
100000000)を発生する。
そして、フリップフロップ95は次のマイクロ命令にて
リセット信号rによりリセットされ、初期状態に戻る。
また、フリップフロップ93のQ端子出力がマイクロ命
令のデコード禁止信号nとなつており、この結果スター
ト信号sがあり、且つ割込み信号しかない場合のみ禁止
信号nが発生することになる。次に、命令実行チップ7
2側の詳細を第10図を用いて説明する。
該チップ72の本発明に係るのはマイクロ命令バスMI
−BUSからのマイクロ命令を取り込む入力バッファ1
01、マイクロ命令レジスタ102、分岐制御回路10
3である。入力バッファ101を介してマイクロ命令レ
ジスタ102に置数されたマイクロ命令アドレスレジス
タ73のモード(カウント/ロードすなわちインクリメ
ント/ジャンプ)制御信号′、命令実行終了信号0を出
力すると共に、信号′の決定要因として命令実行チップ
72内部のテストコードの1つtを取り込んでいる。分
岐制御回路103の詳細説明に入る前に命令実行チップ
72を制御する12ビットより成るマイクロ命令を第1
1図に示す。大別して4種(演算、条件分岐、リテラル
、その他)であるが、通常第1ビット位置が660″で
あればマイクロ命令アドレスレジスタ73はインクリメ
ントモード“1゛であればジャンプモードであり、第1
,第2ビット位置の内容が(01)の形成では第11,
第12ビット位置のEフィールドが“゜1”の時に限つ
て命令実行終了を表わす。このマイクロ命令によつて分
岐制御回路103の動作を第12図を用いて説明する。
該回路は第1ビット位置(BitO)のインバータ12
1、該出力、第1ビット位置(Bitl)第11,第1
2ビット位置(Bitll)のナンドゲート(デコーダ
)122、モード変更を行なうか否かを決定するゲート
123、モード変更を行なう排他論理和ゲート124か
ら成る。BltOは前記排他論理和ゲート124の1入
力に供給され、前記ゲート123出力が゜゜0゛である
限り、BitOの情報を変更することなくマイクロ命令
アドレスレジスタ73のモード制御信号′として送出す
る。モード変更が行われるのは命令実行終了時(Bit
O=“0゛,Bitl,Bitll=″R5の時)にイ
ンクリメントモードがジャンプモード変更される場合と
、条件分岐時(BitO=66r′,Bitl=4′0
0,テストビットTBから″0″の時、即ちt=0の時
すなわち条件不成立の時)にジャンプモードがインクリ
メントモードに変更される場合である。尚、信号eぱ゜
0゛の時インクリメントモード、“1゛の時ロードモー
ドを示すことは云うまでもない。以上、命令フエツチチ
ツプ71、命令実行チップ72について説明したが、こ
れら2つの関係を第13図にタイムチャートで示す、該
タイムチャートは割込み無し(1=“゜0゛)の場合で
あり、命令フエツチチツプ71がスタテイサイズ実行中
に命令実行チップ72が命令終了信号0を出力した場合
にはO番地が分岐アドレスとなり(事例、Casel)
、スタテイサイズ完了後には命令コードに応じた分岐ア
ドレスとなる事を示している(事例、Case2)。
これをマイクロプログラムメモリ74上で表現したのが
第14図である。右側に矢印で示した部分は対応番地の
コード内容を示している。今、β番地のマイクロ命令が
命令実行終了を発したとするとスタテイサイズ完了の場
合、gのように直接命令処理先頭番地αへジャンプし、
スタテイサイズ未完の場合、先ずO番地へジャンプし、
そのマイクロ命令で無実行かつ実行終了を出し続け、ス
タテイサイズ完了を待つてα番地へジャンプする。一方
、割込みが有る場合にはスタテイサイズは起動しないか
ら命令実行終了とともに10〜0番地へジャンプし、割
込み処理用マイクロプログラムを起動する。以上のよう
に、図示した実施例によれば命令フエツチチツプと命令
実行チップとの間のインターフェイス信号を最小とし、
かつ円滑なマイクロサイクル同期化が可能である。
以上の本発明では、LSI化した場合の事例であつたが
、一般の命令フエツチ部と命令実行部との2つの機能を
持つ回路構成であつても適用可能てある。
また場合によつては、同期化装置を単独に取り出した回
路構成でも適用可能てある。以上詳細に説明したように
、本発明によれば、バイブライン制御する2ユニット間
のインターフェイス信号を最小とし、円滑なマイクロサ
イクル同期化が可能となる効果を奏する。
【図面の簡単な説明】
第1図は一般のバイブライン制御データ処理装置を示す
図、第2図は命令ユニットのブ殆ツク図、第3図は演算
ユニットのブロック図、第4図は命令ユニットのスタテ
イサイズフロー図、第5図はバイブライン制御の実例を
示す図、第6図は2ユニット間の基本インターフェイス
信号を示す図、第7図は本発明の実施例のバイブライン
制御データ処理装置を示す図、第8図は命令フエツチチ
ツプのマイクロプログラム分岐制御部を示す図、第9図
は本発明になるマイクロサイクル同期化装置の詳細説明
図、第10図は命令実行チップの分岐制御回路の周辺を
示す図、第11図は命令実行チップのマイクロ命令形式
を表わす図、第12図はその分岐制御回路の詳細説明図
、第13図は分岐アドレス発生のタイムチャート、第1
4図はマイクロプログラム上のマイクロ命令の動きを示
す図である。 91,121・・・・・・インバータ、92,94,1
22・・・・・・ナンドゲート、93,95・・・・・
フリップ5フロップ、96a−h・・・・・・アンドゲ
ート、123・・・・ゲート、124・・・・・排他論
理和ゲート。

Claims (1)

  1. 【特許請求の範囲】 1 命令のフエツチと命令の実行をマイクロプログラム
    領域でそれぞれ独自に行う命令フエツチ部と命令実行部
    とを具え、両者をパイプライン制御により同期をとりな
    がら制御するパイプライン制御方式に於て、前記命令実
    行部は常にマイクロプログラムにより制御されており、
    命令フエツチ部のスタテイサイズ実行中に命令実行部の
    命令実行処理が先に処理完了となつた場合、前記命令フ
    エツチ部からのアドレス指定によつて前記マイクロプロ
    グラムメモリの特定アドレスに予め格納された無実行マ
    イクロ命令を前記命令実行部に与えて無実行処理を行わ
    せ、スタテイサイズの終了をもつて命令フエツチ部に命
    令実行部との同期をとるようにしたパイプライン制御方
    式。 2 命令のフエツチと命令の実行をマイクロプログラム
    領域でそれぞれ独自に行う命令フエツチ部と命令実行部
    とを具え、両者をパイプライン制御により同期をとりな
    がら制御するパイプライン制御方式に於いて、上記命令
    実行部に、命令実行の終了を検知し、且つマイクロプロ
    グラムの流れを変更するための指示フラグを発生させる
    機能を設け;上記命令フエツチ部に、外部からの割込み
    要求の際にはあらかじめ定めた特定アドレスの割込み要
    求処理のマイクロ命令を上記指示フラグの制御のもとに
    アクセスしてフエツチを行い、且つ該命令フエツチ部自
    身によるスタテイサイズ実行中に上記命令実行部の命令
    実行の処理の終了の検知があつた場合には上記指示フラ
    グの制御のもとに上記特定アドレスとは異なる特定アド
    レスの無実行マイクロ命令をアクセスしてフエツチを行
    う機能を設け;該無実行マイクロ命令のフエツチに伴う
    無実行処理を上記命令実行部に行わせると共に、実行中
    のスタテイサイズの終了をもつて、上記命令フエツチ部
    のスタテイサイズ実行中に命令実行部の命令実行処理の
    終了の検知があつた場合の命令フエツチ部と命令実行部
    との同期化を行わせるようにしたパイプライン制御方式
JP5317477A 1977-05-11 1977-05-11 パイプライン制御方式 Expired JPS6049337B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5317477A JPS6049337B2 (ja) 1977-05-11 1977-05-11 パイプライン制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5317477A JPS6049337B2 (ja) 1977-05-11 1977-05-11 パイプライン制御方式

Publications (2)

Publication Number Publication Date
JPS53139448A JPS53139448A (en) 1978-12-05
JPS6049337B2 true JPS6049337B2 (ja) 1985-11-01

Family

ID=12935484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5317477A Expired JPS6049337B2 (ja) 1977-05-11 1977-05-11 パイプライン制御方式

Country Status (1)

Country Link
JP (1) JPS6049337B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55123736A (en) * 1979-03-16 1980-09-24 Hitachi Ltd Interrupt control system
US4415969A (en) * 1980-02-07 1983-11-15 Intel Corporation Macroinstruction translator unit for use in a microprocessor
US4367524A (en) * 1980-02-07 1983-01-04 Intel Corporation Microinstruction execution unit for use in a microprocessor
US4573118A (en) * 1983-03-31 1986-02-25 Fairchild Camera & Instrument Corporation Microprocessor with branch control
WO1985000453A1 (en) * 1983-07-11 1985-01-31 Prime Computer, Inc. Data processing system
JPH0827713B2 (ja) * 1986-02-25 1996-03-21 株式会社日立製作所 データ処理装置

Also Published As

Publication number Publication date
JPS53139448A (en) 1978-12-05

Similar Documents

Publication Publication Date Title
US4310880A (en) High-speed synchronous computer using pipelined registers and a two-level fixed priority circuit
JPS6239780B2 (ja)
NZ201809A (en) Microprocessor
KR100210205B1 (ko) 스톨캐쉬를 제공하기 위한 장치 및 방법
JP2548428B2 (ja) タイミング発生装置
JPS6049337B2 (ja) パイプライン制御方式
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
JPH0377137A (ja) 情報処理装置
JP2552738B2 (ja) データ処理装置
JPS6242301B2 (ja)
JP2758624B2 (ja) マイクロプログラムの調速方式
US5062036A (en) Instruction prefetcher
JP2825315B2 (ja) 情報処理装置
JPS6148189B2 (ja)
JP2544015B2 (ja) マイクロプログラム処理装置
JPS60134346A (ja) パリテイエラ−検出方式
JPH0317135B2 (ja)
JPH0561660B2 (ja)
JPS6217840A (ja) 属性フラグによるマイクロプログラム制御方式
JPH04367034A (ja) 割り込み制御装置
JPS6353644A (ja) 命令制御装置
JPS5896346A (ja) 階層型演算方式
JPH0340075A (ja) マイクロコンピュータ
JPS6028014B2 (ja) マイクロプロセツサ
JPH0243626A (ja) コンピュータ・プロセッサの実行速度を制御する装置