JPS6285338A - パイプライン式命令実行システム - Google Patents
パイプライン式命令実行システムInfo
- Publication number
- JPS6285338A JPS6285338A JP61163943A JP16394386A JPS6285338A JP S6285338 A JPS6285338 A JP S6285338A JP 61163943 A JP61163943 A JP 61163943A JP 16394386 A JP16394386 A JP 16394386A JP S6285338 A JPS6285338 A JP S6285338A
- Authority
- JP
- Japan
- Prior art keywords
- microinstruction
- instruction
- storage
- microinstructions
- store
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
- G06F9/265—Microinstruction selection based on results of processing by address selection on input of storage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
本発明はコンピュータシステムに関し、より具体的に言
えば、2方向条件付きブランチ(分岐)マイクロ命令を
実行することの出来るパイプライン式マイクロプロセッ
サにおいて、マイクロブランチ自身の実行に加えて、た
だ1つの遅延サイクルを有し、その付加的な1つの遅延
サイクルはパイプラインの方向を変更するために必要と
されるような方式のパイプライン・マイクロプロセッサ
に関する。
えば、2方向条件付きブランチ(分岐)マイクロ命令を
実行することの出来るパイプライン式マイクロプロセッ
サにおいて、マイクロブランチ自身の実行に加えて、た
だ1つの遅延サイクルを有し、その付加的な1つの遅延
サイクルはパイプラインの方向を変更するために必要と
されるような方式のパイプライン・マイクロプロセッサ
に関する。
B、従来技術及び発明が解決しようとする問題点主メモ
リ中に記憶されたマクロ命令は複数個のマイクロ命令を
含んでいる。マクロ命令が実行される時、各マイクロ命
令は順番に実行される。複数個のマイクロ命令のうちの
最後の命令が実行された時、マクロ命令の実行が完了す
る。主メモリがアドレスされた時、マクロ命令は検索さ
れ、命令デコードユニット中の開始マイクロ命令のアド
レスにデコードされる。複数個のマイクロ命令は命令デ
コードユニットに接続されている読み取り専用メモリ
(ROM)中に、マイクロフードの形で通常記憶されて
いる。主メモリからマクロ命令を検索することは、マク
ロ命令に応答して、ROMからマイクロ命令の検索を必
らず必要とし、マイクロ命令は演算論理ユニツ)(AL
U)により、順番に実行される。
リ中に記憶されたマクロ命令は複数個のマイクロ命令を
含んでいる。マクロ命令が実行される時、各マイクロ命
令は順番に実行される。複数個のマイクロ命令のうちの
最後の命令が実行された時、マクロ命令の実行が完了す
る。主メモリがアドレスされた時、マクロ命令は検索さ
れ、命令デコードユニット中の開始マイクロ命令のアド
レスにデコードされる。複数個のマイクロ命令は命令デ
コードユニットに接続されている読み取り専用メモリ
(ROM)中に、マイクロフードの形で通常記憶されて
いる。主メモリからマクロ命令を検索することは、マク
ロ命令に応答して、ROMからマイクロ命令の検索を必
らず必要とし、マイクロ命令は演算論理ユニツ)(AL
U)により、順番に実行される。
大規模集積回路の導入の結果として、集積回路チップ上
に回路が設けられる。技術の進歩に伴って、より多くの
回路がこれらの集積回路チップ上に設けられるよう要望
されている。これらの回路はチップ上に回路設置スペー
ス(「土地」(refLlestate )とも称され
る)を必要とするが、これらのチップ上の利用可能のス
ペースは限られている。
に回路が設けられる。技術の進歩に伴って、より多くの
回路がこれらの集積回路チップ上に設けられるよう要望
されている。これらの回路はチップ上に回路設置スペー
ス(「土地」(refLlestate )とも称され
る)を必要とするが、これらのチップ上の利用可能のス
ペースは限られている。
従って、集積回路チップ上に作られるべき回路の数が増
加すればする程、チップ上の「土地」は乏しくなる。
加すればする程、チップ上の「土地」は乏しくなる。
集積回路チップ上により多くのスペースを必要とする結
果、多くの場合、マイクロ命令を記憶するためのROM
のサイズを減少することが必要である。ROMのサイズ
を減少するために、ROMは2つの部分、即ちマイクロ
命令記憶装置とナノ命令記憶装置とに分割される。
果、多くの場合、マイクロ命令を記憶するためのROM
のサイズを減少することが必要である。ROMのサイズ
を減少するために、ROMは2つの部分、即ちマイクロ
命令記憶装置とナノ命令記憶装置とに分割される。
ROMを2つの部分に分割することは1つの問題、即ち
チップ上の利用可能な「土地」の要求の問題を解決する
。然しなから、ROMの分割は他の問題、即ち、ALU
がマイクロブランチ命令全実行する際に、余分な遅延サ
イクルが導入されるという問題を生ずる。
チップ上の利用可能な「土地」の要求の問題を解決する
。然しなから、ROMの分割は他の問題、即ち、ALU
がマイクロブランチ命令全実行する際に、余分な遅延サ
イクルが導入されるという問題を生ずる。
マイクロブランチ命令とは、決定の結果に従って2つの
方向のうちの1方へブランチ(分岐)する命令である。
方向のうちの1方へブランチ(分岐)する命令である。
例えば、A割るBの場合、若し■3がOでないとすれば
、割り算の結果は「1つの方法」により決められねばな
らず、これに対して、若しBがOであるとすれば、割り
算の結果は「他の方法」によって決められねばならない
。
、割り算の結果は「1つの方法」により決められねばな
らず、これに対して、若しBがOであるとすれば、割り
算の結果は「他の方法」によって決められねばならない
。
深くパイプライン処理されるプロセッサにおいて、若し
、ROMがマイクロ命令を記憶するのに使われているな
らば、マイクロブランチ命令がALUにより実行される
時、1サイクルの遅延が生じ、そしてALUは現在の決
定による解答(結果)によって、「他の方法」へブラン
チする。然しなから、若し、マイクロ命令記憶装置及び
ナノ命令記憶装置がROMの代りに一団としてマイクロ
命令を記憶しているとすれば、マイクロブランチ命令が
ALUによって実行される時に、2サイクルの遅延が生
じ、そしてALUは、現在の決定による解答の結果とし
て「他の方法」に分岐する。
、ROMがマイクロ命令を記憶するのに使われているな
らば、マイクロブランチ命令がALUにより実行される
時、1サイクルの遅延が生じ、そしてALUは現在の決
定による解答(結果)によって、「他の方法」へブラン
チする。然しなから、若し、マイクロ命令記憶装置及び
ナノ命令記憶装置がROMの代りに一団としてマイクロ
命令を記憶しているとすれば、マイクロブランチ命令が
ALUによって実行される時に、2サイクルの遅延が生
じ、そしてALUは、現在の決定による解答の結果とし
て「他の方法」に分岐する。
その結果、集積回路チップ上の「土地」をより多く利用
するためには、性能を犠牲に・する必要がある0 本発明の目的は集積回路チップ上の回路の性能を著しく
低下させずに、集積回路チップ上の「土地」を有効に利
用することにある。
するためには、性能を犠牲に・する必要がある0 本発明の目的は集積回路チップ上の回路の性能を著しく
低下させずに、集積回路チップ上の「土地」を有効に利
用することにある。
本発明の他の目的は、集積回路チップ上のプロセッサが
マイクロブランチ命令を実行している時に生ずる遅延サ
イクルの数の増加による、チップ上の回路の性能の著し
い低下をもたらすことなく、チップ上のマイクロ命令の
記憶手段のサイズを小さくすることによってチップ上の
「土地」をより多く利用することにある。
マイクロブランチ命令を実行している時に生ずる遅延サ
イクルの数の増加による、チップ上の回路の性能の著し
い低下をもたらすことなく、チップ上のマイクロ命令の
記憶手段のサイズを小さくすることによってチップ上の
「土地」をより多く利用することにある。
C1問題点を解決するための手段
本発明の上述の目的は非操作(no−op)/事前取り
出しく prefetch )装置を使用することによ
って達成される。本発明に従った、マイクロ命令記憶装
置−ナノ命令記憶装置−ALUパ・イブライン中の非操
作(no−op)/事前取り出し装置は、マイクロブラ
ンチ命令がパイプラインのA L Uにより遂行されて
いる時に、パイプラインにより実行されている命令スト
リーム中に非操作(no−op)命令を強制導入し、遅
延の最初のサイクルに続く実行の間で2つのブランチオ
プションを事前取り出しする装置であって、非操作命令
はマイクロブランチ命令の実行に続く遅延の最初のサイ
クルを表わし、そして実行されるべきブランチオプショ
ンはマイクロブランチ命令の実行の結果として行われる
ブランチ決定に依存する。
出しく prefetch )装置を使用することによ
って達成される。本発明に従った、マイクロ命令記憶装
置−ナノ命令記憶装置−ALUパ・イブライン中の非操
作(no−op)/事前取り出し装置は、マイクロブラ
ンチ命令がパイプラインのA L Uにより遂行されて
いる時に、パイプラインにより実行されている命令スト
リーム中に非操作(no−op)命令を強制導入し、遅
延の最初のサイクルに続く実行の間で2つのブランチオ
プションを事前取り出しする装置であって、非操作命令
はマイクロブランチ命令の実行に続く遅延の最初のサイ
クルを表わし、そして実行されるべきブランチオプショ
ンはマイクロブランチ命令の実行の結果として行われる
ブランチ決定に依存する。
D、実施例
第2図を参照すると、マクロ命令の実行が示されている
。第2図において、マクロ命令は主メモリ10に記憶さ
れている。主メモリ10がアドレスされると、命令は主
メモリから検索されて、マクロ命令デコードユニット1
5でデコードされる。
。第2図において、マクロ命令は主メモリ10に記憶さ
れている。主メモリ10がアドレスされると、命令は主
メモリから検索されて、マクロ命令デコードユニット1
5でデコードされる。
命令デコードユニット15は複数個のマイクロコードを
記憶している読み取り専用メモリ (ROM)20をア
クセスする。マクロ命令はROM20から一組のマイク
ロ命令を検索し、そしてそのマイクロ命令は演算論理回
路(AI+U)30の中で順番に実行される。
記憶している読み取り専用メモリ (ROM)20をア
クセスする。マクロ命令はROM20から一組のマイク
ロ命令を検索し、そしてそのマイクロ命令は演算論理回
路(AI+U)30の中で順番に実行される。
第2図のマクロ命令実行システムは集積回路チップ上に
設けられている。多くのアプリケーションにおいて、チ
ップ上により多くの回路設置場処、即ち「土地」を与え
るためには、チップ上にある第1図の要素、即ちコンポ
ーネントのサイズを小さくする必要がある。チップ上の
ROM20のサイズを小さくするために、ROMは他の
2つのより小さいコンポーネントで置換され、そしてこ
れらの小さいコンポーネントのサイズは集積回路チップ
上の利用可能な「土地」を大きくするようデザインされ
る。
設けられている。多くのアプリケーションにおいて、チ
ップ上により多くの回路設置場処、即ち「土地」を与え
るためには、チップ上にある第1図の要素、即ちコンポ
ーネントのサイズを小さくする必要がある。チップ上の
ROM20のサイズを小さくするために、ROMは他の
2つのより小さいコンポーネントで置換され、そしてこ
れらの小さいコンポーネントのサイズは集積回路チップ
上の利用可能な「土地」を大きくするようデザインされ
る。
第6図に他のマクロ命令実行システムが示されており、
このシステムは第2図のROM20と置き換えた他の2
つの小さなコンポーネントを含んでいる。第6図におい
て、一方の小さなコンポーネント、即ちマイクロ命令記
憶装置20aは他方の小さなコンポーネント、即ちナノ
命令記憶装置20bに接続されている。従って、第6図
のマクロ命令実行システムは命令デコードユニット15
に接続され、命令デコードユニット15はマイクロ命令
記憶装置20aに接続され、マイクロ命令記憶装置20
aはナノ命令記憶装置20bに接続され、そしてナノ命
令記憶装置はALU30に接続されている。
このシステムは第2図のROM20と置き換えた他の2
つの小さなコンポーネントを含んでいる。第6図におい
て、一方の小さなコンポーネント、即ちマイクロ命令記
憶装置20aは他方の小さなコンポーネント、即ちナノ
命令記憶装置20bに接続されている。従って、第6図
のマクロ命令実行システムは命令デコードユニット15
に接続され、命令デコードユニット15はマイクロ命令
記憶装置20aに接続され、マイクロ命令記憶装置20
aはナノ命令記憶装置20bに接続され、そしてナノ命
令記憶装置はALU30に接続されている。
第6図のマクロ命令実行システムの機能動作を以下の項
で説明する。
で説明する。
先づ、主メモリ70がアドレスされる。これに応答して
、主メモリ10はマクロ命令を表わす出力信号を発生す
る。マクロ命令は命令デコードユニット15中でデコー
ドされ、そしてマイクロ命令記憶装置20aをアクセス
する。マイクロ命令記憶装置20aは各マクロ命令に対
応する1以上のマイクロ命令アドレスを含んでおり、こ
れらのマイクロ命令アドレスは順番にす/命令記憶装置
20bに供給される。換言すれば、マイクロ命令アドレ
スはナノ命令記憶装置20bをアドレスするためのアド
レス手段として作用する。主メモリ10からのマクロ命
令によるアクセスに応答して、マイクロ命令記憶装置2
0aはナノ命令記憶装置20bに一連のマイクロ命令ア
ドレスを与える。
、主メモリ10はマクロ命令を表わす出力信号を発生す
る。マクロ命令は命令デコードユニット15中でデコー
ドされ、そしてマイクロ命令記憶装置20aをアクセス
する。マイクロ命令記憶装置20aは各マクロ命令に対
応する1以上のマイクロ命令アドレスを含んでおり、こ
れらのマイクロ命令アドレスは順番にす/命令記憶装置
20bに供給される。換言すれば、マイクロ命令アドレ
スはナノ命令記憶装置20bをアドレスするためのアド
レス手段として作用する。主メモリ10からのマクロ命
令によるアクセスに応答して、マイクロ命令記憶装置2
0aはナノ命令記憶装置20bに一連のマイクロ命令ア
ドレスを与える。
マイクロ命令記憶装置20aにより遂行されるアドレス
動作に応答して、ナノ命令記憶装置20bは、主メモリ
10から検索されたマクロ命令に対応する一組のマイク
ロ命令を表わす出力信号を発生する。この−組のマイク
ロ命令はALU3Qにより実行される。
動作に応答して、ナノ命令記憶装置20bは、主メモリ
10から検索されたマクロ命令に対応する一組のマイク
ロ命令を表わす出力信号を発生する。この−組のマイク
ロ命令はALU3Qにより実行される。
第2図及び第6図のマクロ命令実行システムはパイプラ
インシステムである。パイプラインシステムの概念を第
2図及び第6図を参照して以下の項で説明する。
インシステムである。パイプラインシステムの概念を第
2図及び第6図を参照して以下の項で説明する。
第2図において、各マクロ命令はその実行に際してただ
1個のマイクロ命令を必要とし、一方Asu3Qは最初
のマクロ命令に対応するマイクロ命令を実行中であると
仮定すると、ROM20は第2のマクロ命令に関連した
マイクロ命令をアクセスしている。ROM20が第2の
マイクロ命令をアクセスしている間に、命令ユニット1
5は第3のマクロ命令をデコードしており、且つメモリ
10は第4のマクロ命令の検索のための準備にアクセス
されつつある。第6図において、AI、U30が最初の
マクロ命令に対応するマイクロ命令を実行している間に
、ナノ命令記憶装置20bはマイクロ命令記憶装置20
aの出力によってアクセスされており、且つナノ命令記
憶装置20bは第2のマクロ命令に対応するマイクロ命
令を表わす出力の発生を準備している。
1個のマイクロ命令を必要とし、一方Asu3Qは最初
のマクロ命令に対応するマイクロ命令を実行中であると
仮定すると、ROM20は第2のマクロ命令に関連した
マイクロ命令をアクセスしている。ROM20が第2の
マイクロ命令をアクセスしている間に、命令ユニット1
5は第3のマクロ命令をデコードしており、且つメモリ
10は第4のマクロ命令の検索のための準備にアクセス
されつつある。第6図において、AI、U30が最初の
マクロ命令に対応するマイクロ命令を実行している間に
、ナノ命令記憶装置20bはマイクロ命令記憶装置20
aの出力によってアクセスされており、且つナノ命令記
憶装置20bは第2のマクロ命令に対応するマイクロ命
令を表わす出力の発生を準備している。
ナノ命令記憶装置20bがアクセスされている間に、マ
イクロ命令記憶装置20aは第3のマクロ命令を表わす
マイクロ命令についてアクセスされている。
イクロ命令記憶装置20aは第3のマクロ命令を表わす
マイクロ命令についてアクセスされている。
通常はそうであるように、マクロ命令に関連した一組の
マイクロ命令があった場合、パイプライン動作は以下の
ように遂行される。即ち、ALU60は上述のマクロ命
令のための第1マイクロ命令を実行しており、ナノ命令
記憶装置20bは第2マイクロ命令をアクセスしており
、マイクロ命令記憶袋!20aは第3マイクロ命令のア
ドレスをアクセスしており、そして、命令デコーダ15
ハ、上述のマクロ命令のための一組のマイクロ命令がマ
イクロ命令記憶装置20aからすべてアクセスされてし
まうまで、上述のマクロ命令の次に実行されるべきマイ
クロ命令を待ち受けている。
マイクロ命令があった場合、パイプライン動作は以下の
ように遂行される。即ち、ALU60は上述のマクロ命
令のための第1マイクロ命令を実行しており、ナノ命令
記憶装置20bは第2マイクロ命令をアクセスしており
、マイクロ命令記憶袋!20aは第3マイクロ命令のア
ドレスをアクセスしており、そして、命令デコーダ15
ハ、上述のマクロ命令のための一組のマイクロ命令がマ
イクロ命令記憶装置20aからすべてアクセスされてし
まうまで、上述のマクロ命令の次に実行されるべきマイ
クロ命令を待ち受けている。
若し、ALU30により実行される命令が2方向条件付
きブランチマイクロ命令を含む一組のマイクロ命令であ
ったとすれば、2方向条件付きブランチマイクロ命令の
実行が完了した時、条件付きブランチマイクロ命令の出
力に応じて、2つのマイクロ命令のうぢの1つのマイク
ロ命令が実行される。条件付きブランチマイクロ命令が
実行された時、若し、2つのマイクロ命令のうちの第〕
のマイクロ命令を実行するよう決定されたとすれば、パ
イプライン中のマイクロ命令は順番に実行される。パイ
プラインは乱されない。然しなから、条件付きブランチ
マイクロ命令が実行された時、若し、2つのマイクロ命
令のうちの第2のマイクロ命令を実行するよう決定され
たとすれば1.<イブライン中のマイクロ命令は順番に
遂行されない。
きブランチマイクロ命令を含む一組のマイクロ命令であ
ったとすれば、2方向条件付きブランチマイクロ命令の
実行が完了した時、条件付きブランチマイクロ命令の出
力に応じて、2つのマイクロ命令のうぢの1つのマイク
ロ命令が実行される。条件付きブランチマイクロ命令が
実行された時、若し、2つのマイクロ命令のうちの第〕
のマイクロ命令を実行するよう決定されたとすれば、パ
イプライン中のマイクロ命令は順番に実行される。パイ
プラインは乱されない。然しなから、条件付きブランチ
マイクロ命令が実行された時、若し、2つのマイクロ命
令のうちの第2のマイクロ命令を実行するよう決定され
たとすれば1.<イブライン中のマイクロ命令は順番に
遂行されない。
パイプラインは乱される。
深くパイプライン処理が行われるプロセッサにおいて、
若し、2つのマイクロ命令のうちの第2のマイクロ命令
を実行するよう決定され、且つノぐイブライン中のマイ
クロ命令が第2図において順番を外れて実行されるなら
ば、Ahu5Qによる条件付きブランチマイクロ命令の
実行の完了と、ALU3.CIにJ:る2つのマイクロ
命令のうチノ第2のマイクロ命令の実行の完了との間で
、1サイクルの遅延が生ずる。然しなから、第6図のシ
ステムにおいては、ALU3Qによる条件付きブランチ
マイクロ命令の実行の完了と、ALUによる2つの条件
付きブランチマイクロ命令のうちの第2のマイクロ命令
の実行との間で、2サイクルの遅延が生ずる。第2図の
システムはROM20があるため1サイクルの遅延が生
じ、これに対して、第6図のシステムは、ALU3Qに
おケルマイクロブランチ決定がマイクロ命令記憶装置に
反映されねばならないので、マイクロ命令記憶装置20
a及びナノ命令記憶装置20bがあるために、2サイク
ルの遅延が生ずる。
若し、2つのマイクロ命令のうちの第2のマイクロ命令
を実行するよう決定され、且つノぐイブライン中のマイ
クロ命令が第2図において順番を外れて実行されるなら
ば、Ahu5Qによる条件付きブランチマイクロ命令の
実行の完了と、ALU3.CIにJ:る2つのマイクロ
命令のうチノ第2のマイクロ命令の実行の完了との間で
、1サイクルの遅延が生ずる。然しなから、第6図のシ
ステムにおいては、ALU3Qによる条件付きブランチ
マイクロ命令の実行の完了と、ALUによる2つの条件
付きブランチマイクロ命令のうちの第2のマイクロ命令
の実行との間で、2サイクルの遅延が生ずる。第2図の
システムはROM20があるため1サイクルの遅延が生
じ、これに対して、第6図のシステムは、ALU3Qに
おケルマイクロブランチ決定がマイクロ命令記憶装置に
反映されねばならないので、マイクロ命令記憶装置20
a及びナノ命令記憶装置20bがあるために、2サイク
ルの遅延が生ずる。
その結果、第6図のマクロ命令実行システムを利用する
ことによって、より多い「土地」が集積(ロ)路チップ
上に与えられるけれども、遅延のサイクル数が増加する
ので、第2図のシステムに比較して第2のシステムの性
能は著しく低下する。第2図に比較して、第6図の性能
低下に関するこの現象は第3図乃至第5図を参照して以
下の項で、より詳しく説明する。
ことによって、より多い「土地」が集積(ロ)路チップ
上に与えられるけれども、遅延のサイクル数が増加する
ので、第2図のシステムに比較して第2のシステムの性
能は著しく低下する。第2図に比較して、第6図の性能
低下に関するこの現象は第3図乃至第5図を参照して以
下の項で、より詳しく説明する。
第3図を参照すると、第2図のマクロ命令実行システム
に関連したパイプライン段階が示されている。このシス
テムは1サイクル遅延を有しているが、利用可能な「土
地」は、第2図のシステムが設置されている集積回路チ
ップ上では狭い。第3図において、パイプライン段階は
、マシンサイクル1.2.3及び4の間でROM20及
びA I。
に関連したパイプライン段階が示されている。このシス
テムは1サイクル遅延を有しているが、利用可能な「土
地」は、第2図のシステムが設置されている集積回路チ
ップ上では狭い。第3図において、パイプライン段階は
、マシンサイクル1.2.3及び4の間でROM20及
びA I。
U30中で実行されている命令に関する情報を含んでい
る。例えば、マイクロ命令10及びマイクロ命令9はマ
シンサイクル1の期間中、夫々R0M20及びALU、
!10に関連されでいろ。ここで、マイクロ命令10は
条件付きブランチマイクロ命令であると仮定する。マシ
ンサイクル20間で、ALU5Qは条件付きブランチマ
イクロ命令を実行している。マイクロ命令11はこの期
間で1′(0M2CIと関連されている。マシン幇イク
ル3の間で、マイクロ命令11はALU30により実行
されている。マイクロブランチの結果がAI、U3Qで
未だ判明していないので、マイクロ命令11は、パイプ
ライン動作を続行するための基本的には不使用マイクロ
命令ダ、即ち充填用マイクロ命令ダである。然しなから
、マイクロ命令200か、又はマイクロ命令12の何れ
かがこの時間でROM2Cと関連されている。マイクロ
命令200か又はマイクロ命令12の何れか1つのマイ
クロ命令は、マシンサイクル2の期間でのマイクロ命令
10の実行の結果に従って、マシンサイクル4の期間中
で実行される。ALU30での1サイクルの遅延は、マ
シンサイクル2の間でのALU30による条件付きブラ
ンチマイクロ命令の実行の完了と、マシンサイクル4の
間でのALU30によるマイクロ命令12か又は、マイ
クロ命令200の何れかの実行の完了との間のマシンサ
イクル3の間で生ずる。
る。例えば、マイクロ命令10及びマイクロ命令9はマ
シンサイクル1の期間中、夫々R0M20及びALU、
!10に関連されでいろ。ここで、マイクロ命令10は
条件付きブランチマイクロ命令であると仮定する。マシ
ンサイクル20間で、ALU5Qは条件付きブランチマ
イクロ命令を実行している。マイクロ命令11はこの期
間で1′(0M2CIと関連されている。マシン幇イク
ル3の間で、マイクロ命令11はALU30により実行
されている。マイクロブランチの結果がAI、U3Qで
未だ判明していないので、マイクロ命令11は、パイプ
ライン動作を続行するための基本的には不使用マイクロ
命令ダ、即ち充填用マイクロ命令ダである。然しなから
、マイクロ命令200か、又はマイクロ命令12の何れ
かがこの時間でROM2Cと関連されている。マイクロ
命令200か又はマイクロ命令12の何れか1つのマイ
クロ命令は、マシンサイクル2の期間でのマイクロ命令
10の実行の結果に従って、マシンサイクル4の期間中
で実行される。ALU30での1サイクルの遅延は、マ
シンサイクル2の間でのALU30による条件付きブラ
ンチマイクロ命令の実行の完了と、マシンサイクル4の
間でのALU30によるマイクロ命令12か又は、マイ
クロ命令200の何れかの実行の完了との間のマシンサ
イクル3の間で生ずる。
第4図を参照すると、第6図のマクロ命令実行システム
のパイプライン段階が示されている。このシステムは2
サイクルの遅延を生ずるが、然し第2図に比較して、第
6図のシステムが設けられた集積回路上に、より広い「
土地」が利用可能である。第4図において、パイプライ
ン段階は、マシンサイクル1乃至6の間において、マイ
クロ命令記憶装置20a1ナノ命令記憶装置20b及び
ALU30によって実行されているマイクロ命令に関す
る情報を含んでいる。マシンサイクル1の間で、マイク
ロ命令8.9及び10は夫々ALU60、ナノ命令記憶
装置20b及びマイクロ命令記憶装@20aと関連付け
られている。マイクロ命令lOが条件付きブランチマイ
クロ命令であると仮定する。マシンサイクル2の間で、
マイクロ命令9.10及び11はALU30、ナノ命令
記憶装置20b及びマイクロ命令記憶装置20aと関連
付けられている。マシンサイクル3の間で、マイクロ命
令10.11及び1zはALU30、ナノ命令記憶装置
20b及びマイクロ命令記憶装置20aと関連付けられ
ている。マイクロ命令10は条件付きブランチマイクロ
命令なので、マシンサイクル3の間でAr、rU5Qは
、マシンサイクル4の間でマイクロ命令記憶装置20a
と関連していたマイクロ命令がマイクロ命令13か又は
マイクロ命令200の何れかであるかを決定する。A]
JU30において、マシンサイクル4及び5は遅延サイ
クルであり、これらの不使用のサイクルは、マイクロ命
令13か又はマイクロ命令200の何れかがALU30
により、マシンサイクル6の間で、実行される前に、待
遇しなければならない。
のパイプライン段階が示されている。このシステムは2
サイクルの遅延を生ずるが、然し第2図に比較して、第
6図のシステムが設けられた集積回路上に、より広い「
土地」が利用可能である。第4図において、パイプライ
ン段階は、マシンサイクル1乃至6の間において、マイ
クロ命令記憶装置20a1ナノ命令記憶装置20b及び
ALU30によって実行されているマイクロ命令に関す
る情報を含んでいる。マシンサイクル1の間で、マイク
ロ命令8.9及び10は夫々ALU60、ナノ命令記憶
装置20b及びマイクロ命令記憶装@20aと関連付け
られている。マイクロ命令lOが条件付きブランチマイ
クロ命令であると仮定する。マシンサイクル2の間で、
マイクロ命令9.10及び11はALU30、ナノ命令
記憶装置20b及びマイクロ命令記憶装置20aと関連
付けられている。マシンサイクル3の間で、マイクロ命
令10.11及び1zはALU30、ナノ命令記憶装置
20b及びマイクロ命令記憶装置20aと関連付けられ
ている。マイクロ命令10は条件付きブランチマイクロ
命令なので、マシンサイクル3の間でAr、rU5Qは
、マシンサイクル4の間でマイクロ命令記憶装置20a
と関連していたマイクロ命令がマイクロ命令13か又は
マイクロ命令200の何れかであるかを決定する。A]
JU30において、マシンサイクル4及び5は遅延サイ
クルであり、これらの不使用のサイクルは、マイクロ命
令13か又はマイクロ命令200の何れかがALU30
により、マシンサイクル6の間で、実行される前に、待
遇しなければならない。
サイクル4及び5は2サイクルの遅延を表わすことは注
意を喚起する必要がある。マシンサイクル4の間で、マ
イクロ命令13又は200はマイクロ命令記憶装置20
aに関連付けられている。マシンサイクル5の間で、マ
イクロ命令13及び200はナノ命令記憶装置20bと
関連付けられている。
意を喚起する必要がある。マシンサイクル4の間で、マ
イクロ命令13又は200はマイクロ命令記憶装置20
aに関連付けられている。マシンサイクル5の間で、マ
イクロ命令13及び200はナノ命令記憶装置20bと
関連付けられている。
第5図を参照すると、本発明に従った非操作(no−o
p)/事前取り出しく prefstch )装置を使
用した第6図のマクロ命令実行システムのパイプライン
段階が示されている。このシステムは1サイクルの遅延
しか生じない。更に、第5図のシステムは、第6図のシ
ステムが設けられている集積回路チップの上に、第2図
のシステムより広い「土地」が利用可能である。第5図
において、パイプライン段階は、マイクロ命令記憶装置
20a1ナノ命令記憶装置120b及びALUろ0によ
って、マシンサイクル1乃至5の間で実行される命令に
関する情報を含んでいる。マシンサイクル1の間で、マ
イクロ命令8.9及び10はALU3Q、ナノ命令記憶
装置20b及びマイクロ命令記憶装置20aに関連され
ている。マイクロ命令10が条件付きブランチマイクロ
命令であると仮定する。
p)/事前取り出しく prefstch )装置を使
用した第6図のマクロ命令実行システムのパイプライン
段階が示されている。このシステムは1サイクルの遅延
しか生じない。更に、第5図のシステムは、第6図のシ
ステムが設けられている集積回路チップの上に、第2図
のシステムより広い「土地」が利用可能である。第5図
において、パイプライン段階は、マイクロ命令記憶装置
20a1ナノ命令記憶装置120b及びALUろ0によ
って、マシンサイクル1乃至5の間で実行される命令に
関する情報を含んでいる。マシンサイクル1の間で、マ
イクロ命令8.9及び10はALU3Q、ナノ命令記憶
装置20b及びマイクロ命令記憶装置20aに関連され
ている。マイクロ命令10が条件付きブランチマイクロ
命令であると仮定する。
マシンサイクル2において、マイクロ命令9.10及び
11はALu3Q、ナノ命令記憶装@20b及びマイク
ロ命令記憶装置20aに関連されている。マシンサイク
ル3の間で、条件付きブランチマイクロ命令10がAL
U30により実行されている。マシンサイクル3の間で
、ナノ命令記憶装置20bにマイクロ命令11を関連さ
せる代りにナノ命令記憶装置20bに関連したパイプラ
イン中に、no−op命令を強制的に導入する。マイク
ロ命令11はマイクロ命令記憶装置2Qaと関連付けら
れたままであるが、然し、加えて、マイクロ命令200
の事前取り出しがあり、この事前取り出しがマイクロ命
令11と共にマイクロ命令記憶装置20aと関連付けら
れる。従って、マイクロ命令のオプション11及び20
0はマイクロ命令記憶装置20aに関連付けられる。マ
シンサイクル4の間で、ALU3Qはアイドルして、n
o−opマイクロ命令がALty30と関連付けられる
。
11はALu3Q、ナノ命令記憶装@20b及びマイク
ロ命令記憶装置20aに関連されている。マシンサイク
ル3の間で、条件付きブランチマイクロ命令10がAL
U30により実行されている。マシンサイクル3の間で
、ナノ命令記憶装置20bにマイクロ命令11を関連さ
せる代りにナノ命令記憶装置20bに関連したパイプラ
イン中に、no−op命令を強制的に導入する。マイク
ロ命令11はマイクロ命令記憶装置2Qaと関連付けら
れたままであるが、然し、加えて、マイクロ命令200
の事前取り出しがあり、この事前取り出しがマイクロ命
令11と共にマイクロ命令記憶装置20aと関連付けら
れる。従って、マイクロ命令のオプション11及び20
0はマイクロ命令記憶装置20aに関連付けられる。マ
シンサイクル4の間で、ALU3Qはアイドルして、n
o−opマイクロ命令がALty30と関連付けられる
。
マイクロブランチは解決され、そして、マイクロブラン
チの結果に従ってマイクロ命令オプション11か又は2
00の何れかがナノ命令記憶装置20bに関連付けられ
るように選ばれ、そして、このようにして、マイクロ命
令のオプション12又は201がマイクロ命令記憶装置
20aに関連付けられる。マシンサイクル5の間で、A
ll、U3Qは、マシンサイクル3の間のALU3Qに
よる条件付きブランチマイクロ命令の実行の結果に従っ
て、マイクロ命令11か又は200の何れかを実行する
。若し、ALU30がマイクロ命令200を実行したと
すれば、マイクロ命令201がサイクル5でナノ命令記
憶装置20bに関連付けられる。若し、ALU3Qがマ
イクロ命令11を実行したとすれば、マイクロ命令12
がサイクル5でナノ命令記憶装置20bに関連付けられ
る。
チの結果に従ってマイクロ命令オプション11か又は2
00の何れかがナノ命令記憶装置20bに関連付けられ
るように選ばれ、そして、このようにして、マイクロ命
令のオプション12又は201がマイクロ命令記憶装置
20aに関連付けられる。マシンサイクル5の間で、A
ll、U3Qは、マシンサイクル3の間のALU3Qに
よる条件付きブランチマイクロ命令の実行の結果に従っ
て、マイクロ命令11か又は200の何れかを実行する
。若し、ALU30がマイクロ命令200を実行したと
すれば、マイクロ命令201がサイクル5でナノ命令記
憶装置20bに関連付けられる。若し、ALU3Qがマ
イクロ命令11を実行したとすれば、マイクロ命令12
がサイクル5でナノ命令記憶装置20bに関連付けられ
る。
第1図を参照すると、本発明に従った非操作/事前取り
出I−装置を含むマイクロ命令記憶装置−ナノ& 合肥
f7a装置−ALUパイプラインが示されている。
出I−装置を含むマイクロ命令記憶装置−ナノ& 合肥
f7a装置−ALUパイプラインが示されている。
第1図において、主メモリ10は、マクロ命令デコード
ユニット15に接続され、そして命令デコードユニット
15は更に本発明に従った非操作/事前取り出し装置5
0の一部を経て、マイクロ命令記憶装置20aに接続さ
れている。マイクロ命令記憶袋@20aは非操作/事前
取り出し装置50の他の部分を経てす/命令記憶装置2
0bに接続されている。ナノ命令記憶装置20bはマイ
クロ制御レジスタ40を介して実行ユニット(又はAL
U)30へ接続されている。
ユニット15に接続され、そして命令デコードユニット
15は更に本発明に従った非操作/事前取り出し装置5
0の一部を経て、マイクロ命令記憶装置20aに接続さ
れている。マイクロ命令記憶袋@20aは非操作/事前
取り出し装置50の他の部分を経てす/命令記憶装置2
0bに接続されている。ナノ命令記憶装置20bはマイ
クロ制御レジスタ40を介して実行ユニット(又はAL
U)30へ接続されている。
非操作/事前取り出し装置50はマイクロブランチ制御
ロジック50aを含んでいる。制御ロジック50aはA
LU30から「マイクロブランチ遂行」信号と、「マイ
クロブランチ非遂行」信号を受は取る。マイクロブラン
チ制御ロジック50aはr選択Jラインを介してマルチ
ブレクーIJ’(MUX)50bへ接続される。MUX
5Qbの出力はす/命令記憶装置20bへ接続されてい
る。MUX50bの一方の入力は非操作命令のアドレス
を受は取る。Mux50bの他方の入力はマイクロ命令
記憶装置出力レジスタ50cの出力へ接続されている。
ロジック50aを含んでいる。制御ロジック50aはA
LU30から「マイクロブランチ遂行」信号と、「マイ
クロブランチ非遂行」信号を受は取る。マイクロブラン
チ制御ロジック50aはr選択Jラインを介してマルチ
ブレクーIJ’(MUX)50bへ接続される。MUX
5Qbの出力はす/命令記憶装置20bへ接続されてい
る。MUX50bの一方の入力は非操作命令のアドレス
を受は取る。Mux50bの他方の入力はマイクロ命令
記憶装置出力レジスタ50cの出力へ接続されている。
マイクロブランチ制御ロジック50aからの1選択」ラ
イン上の信号は、M U X 5 Ql)の何れか一方
の入力がM U X 50bの出力へ接続される選択を
行う。マイクロ命令記憶装置出力レジスタ50cの入力
はマイクロ命令記憶装置20aに接続されている。マイ
クロ命令記憶袋+rt出力レジスタ50cからの出力は
「マイクロブランチ順位」ラインを介してマイクロブラ
ンチ制御ロジック50aへ接続される。マイクロブラン
チ制御ロジック50aは「−ロード禁止」(ブランチ非
遂行)ラインを介してマイクロ命令記憶装置出力レジス
タ50cへ接続される。更に、マイクロブランチ制御ロ
ジック50aは[ロードj(LOA、D)ライン及び「
歩進」ラインを介してブランチアドレスカウンタ50d
へ接続される。またマイクロ命令記憶装置出力レジスタ
50cからの出力は「アドレスへブランチ」ラインを介
してブランチアドレスカウンタ50dへ接続される。ブ
ランチアドレスカウンタ50dはマイクロシーケンサ5
0eの入力端子へ接続され、且つ他のマルチプレクサ(
MUX)50fの第2の入力端子に接続されている。マ
イクロシーケンサ50eの第1入力端子はr新ffl開
始のマイクロ命令アドレス」ラインを介してマクロ命令
デコードユニット15へ接続される。マイクロシーケン
サ50eの出力はM U X50fの第1入力端子へ接
続される。マイクロブランチ制御ロジック50eは「選
択」う・インを介してMUX5Qfへ接続されており、
M U X 5Qfへの「選択」ラインの信号はマイク
ロシーケンサ50eの出力か、又はブランチアドレスカ
ウンタ50dの出力の何れかをMux5(Hの出力端子
へ接続するのを選択する。Mtrx50fの出力端子は
マイクロ命令記憶装置20aの入力へ接続される。
イン上の信号は、M U X 5 Ql)の何れか一方
の入力がM U X 50bの出力へ接続される選択を
行う。マイクロ命令記憶装置出力レジスタ50cの入力
はマイクロ命令記憶装置20aに接続されている。マイ
クロ命令記憶袋+rt出力レジスタ50cからの出力は
「マイクロブランチ順位」ラインを介してマイクロブラ
ンチ制御ロジック50aへ接続される。マイクロブラン
チ制御ロジック50aは「−ロード禁止」(ブランチ非
遂行)ラインを介してマイクロ命令記憶装置出力レジス
タ50cへ接続される。更に、マイクロブランチ制御ロ
ジック50aは[ロードj(LOA、D)ライン及び「
歩進」ラインを介してブランチアドレスカウンタ50d
へ接続される。またマイクロ命令記憶装置出力レジスタ
50cからの出力は「アドレスへブランチ」ラインを介
してブランチアドレスカウンタ50dへ接続される。ブ
ランチアドレスカウンタ50dはマイクロシーケンサ5
0eの入力端子へ接続され、且つ他のマルチプレクサ(
MUX)50fの第2の入力端子に接続されている。マ
イクロシーケンサ50eの第1入力端子はr新ffl開
始のマイクロ命令アドレス」ラインを介してマクロ命令
デコードユニット15へ接続される。マイクロシーケン
サ50eの出力はM U X50fの第1入力端子へ接
続される。マイクロブランチ制御ロジック50eは「選
択」う・インを介してMUX5Qfへ接続されており、
M U X 5Qfへの「選択」ラインの信号はマイク
ロシーケンサ50eの出力か、又はブランチアドレスカ
ウンタ50dの出力の何れかをMux5(Hの出力端子
へ接続するのを選択する。Mtrx50fの出力端子は
マイクロ命令記憶装置20aの入力へ接続される。
マイクロ命令記憶装置−ナノ命令記憶装置−ALUパイ
プラインと関連した本発明に従った非操作/事前取り出
し装置の動作の機能的な説明は第5図及び第1図を参照
して以下の項で説明する。
プラインと関連した本発明に従った非操作/事前取り出
し装置の動作の機能的な説明は第5図及び第1図を参照
して以下の項で説明する。
マシンサイクル2の間で、実行ユニツI−(ALU)6
0は与えられたマクロ命令に関連した一組のマイクロ命
令中のマイクロ命令9を実行している。従って、マイク
ロ命令9はマイクロ制御レジスタ40中に記憶されてい
る。条件付きブランチマイクロ命令10はマイクロ命令
記憶装置出力レジスタ50c中に記憶されている。マイ
クロ命令11はマイクロシーケンサ50eの中に記憶さ
れている。ここで、条件付きブランチマイクロ命令10
の実行の結果に従って、マイクロ命令11か又はマイク
ロ命令200の何れかがマシンサイクル5の間でALU
により実行されることを想起する必要がある。マシンサ
イクル1の間で、マイクロ命令10はマイクロ命令記憶
装置20aからアクセスされてしまって、マシンサイク
ル2の始めでマイクロ命令記憶装置出力レジスタ50c
中に記憶されている。マシンサイクル2の間で、マイク
ロ命令10は、レジスタ50cとロジック50aとを接
続している1マイクロブランチ順位」ラインを介してマ
イクロ命令10が条件付きブランチマイクロ命令の順位
であることをマイクロブランチ制御ロジック50aに通
報する。加えて、マシンサイクル2の間で、マイクロ命
令10の一部として定義されたマイクロブランチのため
の置換えのマイクロプログラムアドレス200が、「ア
ドレスへブランチ」ラインを経て並列に、レジスタ50
cからブランチアドレスカウンタ50dへ転送サレる。
0は与えられたマクロ命令に関連した一組のマイクロ命
令中のマイクロ命令9を実行している。従って、マイク
ロ命令9はマイクロ制御レジスタ40中に記憶されてい
る。条件付きブランチマイクロ命令10はマイクロ命令
記憶装置出力レジスタ50c中に記憶されている。マイ
クロ命令11はマイクロシーケンサ50eの中に記憶さ
れている。ここで、条件付きブランチマイクロ命令10
の実行の結果に従って、マイクロ命令11か又はマイク
ロ命令200の何れかがマシンサイクル5の間でALU
により実行されることを想起する必要がある。マシンサ
イクル1の間で、マイクロ命令10はマイクロ命令記憶
装置20aからアクセスされてしまって、マシンサイク
ル2の始めでマイクロ命令記憶装置出力レジスタ50c
中に記憶されている。マシンサイクル2の間で、マイク
ロ命令10は、レジスタ50cとロジック50aとを接
続している1マイクロブランチ順位」ラインを介してマ
イクロ命令10が条件付きブランチマイクロ命令の順位
であることをマイクロブランチ制御ロジック50aに通
報する。加えて、マシンサイクル2の間で、マイクロ命
令10の一部として定義されたマイクロブランチのため
の置換えのマイクロプログラムアドレス200が、「ア
ドレスへブランチ」ラインを経て並列に、レジスタ50
cからブランチアドレスカウンタ50dへ転送サレる。
また、マシンサイクル2の間で、MUx50bが自身の
第1入力端子を選択するようセットされるので、マイク
ロ命令記憶装置出力レジスタ50c中のマイクロ命令1
0はナノ命令記憶装置20bをアドレスし、これにより
ナノ命令記憶装置に関連するマイクロ命令を選択する。
第1入力端子を選択するようセットされるので、マイク
ロ命令記憶装置出力レジスタ50c中のマイクロ命令1
0はナノ命令記憶装置20bをアドレスし、これにより
ナノ命令記憶装置に関連するマイクロ命令を選択する。
マシンサイクル3の間で、マイクロ命令10、即ちマイ
クロブランチはALU30により実行される。
クロブランチはALU30により実行される。
このマシンサイクルの間でマイクロ命令10の実行が開
始された時、マイクロ命令11はマイクロ命令記憶装置
出力レジスタ50c中に記憶される。
始された時、マイクロ命令11はマイクロ命令記憶装置
出力レジスタ50c中に記憶される。
然しなから、マイクロブランチ制御ロジック50aは「
選択」ラインを介してMux50bの第2入力端子を選
択させる。従って、マイクロ命令11はナノ命令記憶装
置20bをアドレスせず、非操作命令のアドレスがM
tr x 50bの第2入力端子を介してナノ命令記憶
装置20bをアドレスする。
選択」ラインを介してMux50bの第2入力端子を選
択させる。従って、マイクロ命令11はナノ命令記憶装
置20bをアドレスせず、非操作命令のアドレスがM
tr x 50bの第2入力端子を介してナノ命令記憶
装置20bをアドレスする。
マイクロ命令11はマイクロ命令記憶装置出力レジスタ
50c中に記憶し残される。この時点で同時に、マシン
サイクル2の間でマイクロ命令2o。
50c中に記憶し残される。この時点で同時に、マシン
サイクル2の間でマイクロ命令2o。
のアドレスでロードされていたブランチアドレスカウン
タ50dがMUX5Qfの第2入力端子として選択され
る。従って、マイクロ命令200のアドレスがMUX5
Qfの第2入力端子を介して、マイクロ命令記憶装置2
C1aへ送られる。
タ50dがMUX5Qfの第2入力端子として選択され
る。従って、マイクロ命令200のアドレスがMUX5
Qfの第2入力端子を介して、マイクロ命令記憶装置2
C1aへ送られる。
マシンサイクル4の間で、非操作命令がALU60によ
り実行される。非操作命令の実行と同時に、若し、条件
付きブランチマイクロ命令の実行の結果がマイクロ命令
200ヘマイクロブランチすべきであることを示したと
すれば、「ロード禁止」ライン上の、マイクロブランチ
制御ロジック50aからの信号は低位にあり、これによ
り、マイクロ命令200のアドレスを、マイクロ命令記
憶装置出力レジスタ50c中に記憶されているマイクロ
命令11のアドレスに重ね書きさせる。従って、非操作
命令の実行の間で、マイクロ命令200に関連したナノ
アドレスはMUX50bを介してナノ命令記憶装置20
bをアドレスし、そして、マシンサイクル5の間でAL
Uユニツ)30により実行されるマイクロ命令を検索す
る。サイクル4の間の同じ時点で、ブランチアドレスカ
ウンタ50d中のアドレス200は201に歩進され、
これはマイクロシーケンサ50eへ第2 人力として供
給され、従・つて、マイクロ命令12のアドレスと置換
する。かくして、マイクロブランチ制御ロジック50a
及びブランチアドレスカウンタ50dの機能は完了し、
マイクロシーケンサ50eが各マシンサイクルでアドレ
ス201を歩進しながら通常の動作を続行する。
り実行される。非操作命令の実行と同時に、若し、条件
付きブランチマイクロ命令の実行の結果がマイクロ命令
200ヘマイクロブランチすべきであることを示したと
すれば、「ロード禁止」ライン上の、マイクロブランチ
制御ロジック50aからの信号は低位にあり、これによ
り、マイクロ命令200のアドレスを、マイクロ命令記
憶装置出力レジスタ50c中に記憶されているマイクロ
命令11のアドレスに重ね書きさせる。従って、非操作
命令の実行の間で、マイクロ命令200に関連したナノ
アドレスはMUX50bを介してナノ命令記憶装置20
bをアドレスし、そして、マシンサイクル5の間でAL
Uユニツ)30により実行されるマイクロ命令を検索す
る。サイクル4の間の同じ時点で、ブランチアドレスカ
ウンタ50d中のアドレス200は201に歩進され、
これはマイクロシーケンサ50eへ第2 人力として供
給され、従・つて、マイクロ命令12のアドレスと置換
する。かくして、マイクロブランチ制御ロジック50a
及びブランチアドレスカウンタ50dの機能は完了し、
マイクロシーケンサ50eが各マシンサイクルでアドレ
ス201を歩進しながら通常の動作を続行する。
然しなから、若し、条件付きブランチマイクロ命令の実
行の結果がマイクロ命令200へマイクロブランチさせ
るべきでないことを示したとすれば、10−ド禁止」ラ
イン上の、マイクロブランチ制御ロジック50aからの
信号は高位にあり、これにより、マイクロ命令200の
ナノアドレスを、マイクロ命令記憶装置出力レジスタ5
0c中に記憶されているマイクロ命令11のアドレスに
重ね書きするのを禁止する。従って、ザイクル4で非操
作命令を実行している間で、マイクロ命令11に関連し
ているナノアドレスはM U X 5 Qbを介してナ
ノ命令記憶装置20bをアドレスして、マシンサイクル
5の間でALU30により実行されるマイクロ命令を検
索する。同時に、マシンサイクル4の間でマイクロシー
ケンサ50eに記憶されているマイクロ命令アドレ、ス
12は変えられず(アドレス201で書き重ねられない
)、マイクロ命令記憶装置20aに供給される。動作は
通常の状態で続行される。
行の結果がマイクロ命令200へマイクロブランチさせ
るべきでないことを示したとすれば、10−ド禁止」ラ
イン上の、マイクロブランチ制御ロジック50aからの
信号は高位にあり、これにより、マイクロ命令200の
ナノアドレスを、マイクロ命令記憶装置出力レジスタ5
0c中に記憶されているマイクロ命令11のアドレスに
重ね書きするのを禁止する。従って、ザイクル4で非操
作命令を実行している間で、マイクロ命令11に関連し
ているナノアドレスはM U X 5 Qbを介してナ
ノ命令記憶装置20bをアドレスして、マシンサイクル
5の間でALU30により実行されるマイクロ命令を検
索する。同時に、マシンサイクル4の間でマイクロシー
ケンサ50eに記憶されているマイクロ命令アドレ、ス
12は変えられず(アドレス201で書き重ねられない
)、マイクロ命令記憶装置20aに供給される。動作は
通常の状態で続行される。
F1発明の効果
マ・rクロブランチ命令を実行するこ七の出来るパイプ
ラインマイクロブロセッヤが設けられている集積回路チ
ップにおいて、マイクロブランチ機能を遂行する際に生
ずる遅延のマシンサイクル数をただ1サイクルに止め、
なお且つチップ上の1−上地」の有効な利用を計ること
が出来る。
ラインマイクロブロセッヤが設けられている集積回路チ
ップにおいて、マイクロブランチ機能を遂行する際に生
ずる遅延のマシンサイクル数をただ1サイクルに止め、
なお且つチップ上の1−上地」の有効な利用を計ること
が出来る。
第」−図は本発明に従った非操作/事前取り出し装置を
含むマイクロ命令記憶装置−す/命令記憶装置−ALU
パイプラインを示す図、第2図は代表的なパイプライン
マイクロ命令実行システムのブロック図、第3図は第2
図のマイクロ命令実行システムのパイプライン段階を説
明するための図、第4図は本発明に従った非操作/事前
取り出1−装置を使用しない第6図のマイクロ命令実行
システムのパイプライン段階を説明するための図、第5
図は本発明に従った非操作/事前取り出し装置を使用し
たマイクロ命令実行システムのパイプライン段階を説明
するだめの図、第6図は集積回路チップ上の利用可能な
「土地」の使用を最小限にするようデザインされ、改良
されたマイクロ命令記憶手段を有する他の型のパイプラ
イン式マイクロ命令実行システムのブロック図である。 10・・・・主メモリ、15・・・・マクロ命令デコー
ドユニット、20 ・・・読み取り専用メモリ (RO
M)、20a・・・・マイクロ命令記憶装置、20b・
・・・ナノ命令記憶装置、60・・・・演算ロジックユ
ニット(ALU) 、50・・・・非操作/$前取り出
し装置。
含むマイクロ命令記憶装置−す/命令記憶装置−ALU
パイプラインを示す図、第2図は代表的なパイプライン
マイクロ命令実行システムのブロック図、第3図は第2
図のマイクロ命令実行システムのパイプライン段階を説
明するための図、第4図は本発明に従った非操作/事前
取り出1−装置を使用しない第6図のマイクロ命令実行
システムのパイプライン段階を説明するための図、第5
図は本発明に従った非操作/事前取り出し装置を使用し
たマイクロ命令実行システムのパイプライン段階を説明
するだめの図、第6図は集積回路チップ上の利用可能な
「土地」の使用を最小限にするようデザインされ、改良
されたマイクロ命令記憶手段を有する他の型のパイプラ
イン式マイクロ命令実行システムのブロック図である。 10・・・・主メモリ、15・・・・マクロ命令デコー
ドユニット、20 ・・・読み取り専用メモリ (RO
M)、20a・・・・マイクロ命令記憶装置、20b・
・・・ナノ命令記憶装置、60・・・・演算ロジックユ
ニット(ALU) 、50・・・・非操作/$前取り出
し装置。
Claims (1)
- 【特許請求の範囲】 順序立てられているアドレスの組を記憶するための第1
の記憶手段と、 該第1の記憶手段に接続され、且つ上記第1の記憶手段
中に記憶されているアドレスと対応する複数個のマイク
ロ命令及び非操作マイクロ命令を記憶するための第2の
記憶手段と、 該第2の記憶手段に接続され、上記第1の記憶手段中に
記憶されているアドレスに従つて、上記第2の記憶手段
中に記憶されている一組のマイクロ命令を順番に実行し
、且つ上記非操作マイクロ命令も実行する実行手段と、 上記実行手段が条件付きブランチマイクロ命令を実行し
ている時、上記第2の記憶手段に記憶されているマイク
ロ命令を検索し、且つ上記非操作マイクロ命令を表示す
るアドレスで上記第2の記憶手段をアクセスする目的を
以て、上記第1の記憶手段からのマイクロ命令アドレス
を上記第2の記憶手段がアクセスしないように阻止する
ため、上記第1及び第2の記憶手段の間を相互接続した
第1手段と、 から成るパイプライン式命令実行システム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/784,073 US4701842A (en) | 1985-10-04 | 1985-10-04 | Method and apparatus for avoiding excessive delay in a pipelined processor during the execution of a microbranch instruction |
| US784073 | 1985-10-04 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6285338A true JPS6285338A (ja) | 1987-04-18 |
| JPH0318210B2 JPH0318210B2 (ja) | 1991-03-12 |
Family
ID=25131265
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61163943A Granted JPS6285338A (ja) | 1985-10-04 | 1986-07-14 | パイプライン式命令実行システム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US4701842A (ja) |
| EP (1) | EP0217023A3 (ja) |
| JP (1) | JPS6285338A (ja) |
Families Citing this family (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4991080A (en) * | 1986-03-13 | 1991-02-05 | International Business Machines Corporation | Pipeline processing apparatus for executing instructions in three streams, including branch stream pre-execution processor for pre-executing conditional branch instructions |
| US5019967A (en) * | 1988-07-20 | 1991-05-28 | Digital Equipment Corporation | Pipeline bubble compression in a computer system |
| US5590293A (en) * | 1988-07-20 | 1996-12-31 | Digital Equipment Corporation | Dynamic microbranching with programmable hold on condition, to programmable dynamic microbranching delay minimization |
| US5101341A (en) * | 1988-08-25 | 1992-03-31 | Edgcore Technology, Inc. | Pipelined system for reducing instruction access time by accumulating predecoded instruction bits a FIFO |
| US5329621A (en) * | 1989-10-23 | 1994-07-12 | Motorola, Inc. | Microprocessor which optimizes bus utilization based upon bus speed |
| US5471593A (en) * | 1989-12-11 | 1995-11-28 | Branigin; Michael H. | Computer processor with an efficient means of executing many instructions simultaneously |
| US5524222A (en) * | 1992-03-27 | 1996-06-04 | Cyrix Corporation | Microsequencer allowing a sequence of conditional jumps without requiring the insertion of NOP or other instructions |
| JP3499252B2 (ja) * | 1993-03-19 | 2004-02-23 | 株式会社ルネサステクノロジ | コンパイル装置及びデータ処理装置 |
| US5379442A (en) * | 1993-03-31 | 1995-01-03 | Intel Corporation | Fast primary and feedback path in a programmable logic circuit |
| US5928357A (en) * | 1994-09-15 | 1999-07-27 | Intel Corporation | Circuitry and method for performing branching without pipeline delay |
| US5619408A (en) * | 1995-02-10 | 1997-04-08 | International Business Machines Corporation | Method and system for recoding noneffective instructions within a data processing system |
| US5847929A (en) * | 1996-06-28 | 1998-12-08 | International Business Machines Corporation | Attaching heat sinks directly to flip chips and ceramic chip carriers |
| US6911682B2 (en) | 2001-12-28 | 2005-06-28 | Nantero, Inc. | Electromechanical three-trace junction devices |
| US7259410B2 (en) | 2001-07-25 | 2007-08-21 | Nantero, Inc. | Devices having horizontally-disposed nanofabric articles and methods of making the same |
| US6924538B2 (en) | 2001-07-25 | 2005-08-02 | Nantero, Inc. | Devices having vertically-disposed nanofabric articles and methods of making the same |
| US6919592B2 (en) * | 2001-07-25 | 2005-07-19 | Nantero, Inc. | Electromechanical memory array using nanotube ribbons and method for making same |
| US7566478B2 (en) | 2001-07-25 | 2009-07-28 | Nantero, Inc. | Methods of making carbon nanotube films, layers, fabrics, ribbons, elements and articles |
| US6706402B2 (en) | 2001-07-25 | 2004-03-16 | Nantero, Inc. | Nanotube films and articles |
| US6643165B2 (en) | 2001-07-25 | 2003-11-04 | Nantero, Inc. | Electromechanical memory having cell selection circuitry constructed with nanotube technology |
| US6574130B2 (en) | 2001-07-25 | 2003-06-03 | Nantero, Inc. | Hybrid circuit having nanotube electromechanical memory |
| US6835591B2 (en) | 2001-07-25 | 2004-12-28 | Nantero, Inc. | Methods of nanotube films and articles |
| US7176505B2 (en) | 2001-12-28 | 2007-02-13 | Nantero, Inc. | Electromechanical three-trace junction devices |
| US6784028B2 (en) | 2001-12-28 | 2004-08-31 | Nantero, Inc. | Methods of making electromechanical three-trace junction devices |
| US7335395B2 (en) | 2002-04-23 | 2008-02-26 | Nantero, Inc. | Methods of using pre-formed nanotubes to make carbon nanotube films, layers, fabrics, ribbons, elements and articles |
| US7560136B2 (en) | 2003-01-13 | 2009-07-14 | Nantero, Inc. | Methods of using thin metal layers to make carbon nanotube films, layers, fabrics, ribbons, elements and articles |
| US9043579B2 (en) | 2012-01-10 | 2015-05-26 | International Business Machines Corporation | Prefetch optimizer measuring execution time of instruction sequence cycling through each selectable hardware prefetch depth and cycling through disabling each software prefetch instruction of an instruction sequence of interest |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60183634A (ja) * | 1984-03-02 | 1985-09-19 | Hitachi Ltd | マイクロプログラム制御方式 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1426749A (en) * | 1973-06-05 | 1976-03-03 | Burroughs Corp | Micro programme data processor having parallel instruction flow streams for plural level of subinstruction sets |
| US4099229A (en) * | 1977-02-14 | 1978-07-04 | The United States Of America As Represented By The Secretary Of The Navy | Variable architecture digital computer |
| US4128873A (en) * | 1977-09-20 | 1978-12-05 | Burroughs Corporation | Structure for an easily testable single chip calculator/controller |
| US4415969A (en) * | 1980-02-07 | 1983-11-15 | Intel Corporation | Macroinstruction translator unit for use in a microprocessor |
| US4373180A (en) * | 1980-07-09 | 1983-02-08 | Sperry Corporation | Microprogrammed control system capable of pipelining even when executing a conditional branch instruction |
| GB2081944A (en) * | 1980-08-12 | 1982-02-24 | Technology Marketing Inc | Microinstruction sequence control |
| US4390946A (en) * | 1980-10-20 | 1983-06-28 | Control Data Corporation | Lookahead addressing in a pipeline computer control store with separate memory segments for single and multiple microcode instruction sequences |
| US4507732A (en) * | 1981-10-05 | 1985-03-26 | Burroughs Corporation | I/O subsystem using slow devices |
-
1985
- 1985-10-04 US US06/784,073 patent/US4701842A/en not_active Expired - Fee Related
-
1986
- 1986-07-14 JP JP61163943A patent/JPS6285338A/ja active Granted
- 1986-07-18 EP EP86109879A patent/EP0217023A3/en not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60183634A (ja) * | 1984-03-02 | 1985-09-19 | Hitachi Ltd | マイクロプログラム制御方式 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0217023A2 (en) | 1987-04-08 |
| JPH0318210B2 (ja) | 1991-03-12 |
| EP0217023A3 (en) | 1989-07-26 |
| US4701842A (en) | 1987-10-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS6285338A (ja) | パイプライン式命令実行システム | |
| US5101341A (en) | Pipelined system for reducing instruction access time by accumulating predecoded instruction bits a FIFO | |
| US4399507A (en) | Instruction address stack in the data memory of an instruction-pipelined processor | |
| US5826074A (en) | Extenstion of 32-bit architecture for 64-bit addressing with shared super-page register | |
| EP0114304B1 (en) | Vector processing hardware assist and method | |
| US4875160A (en) | Method for implementing synchronous pipeline exception recovery | |
| US6581152B2 (en) | Methods and apparatus for instruction addressing in indirect VLIW processors | |
| US4860197A (en) | Branch cache system with instruction boundary determination independent of parcel boundary | |
| CA1176757A (en) | Data processing system for parallel processings | |
| US5235686A (en) | Computer system having mixed macrocode and microcode | |
| CA1320275C (en) | Pipeline bubble compression in a computer system | |
| US5006980A (en) | Pipelined digital CPU with deadlock resolution | |
| EP0138419B1 (en) | Central processing unit for a digital computer | |
| US5321823A (en) | Digital processor with bit mask for counting registers for fast register saves | |
| US9032185B2 (en) | Active memory command engine and method | |
| JPH03116235A (ja) | 分岐処理方法及び分岐処理装置 | |
| JPH03116233A (ja) | データプロセッサの命令処理システム | |
| JP3242508B2 (ja) | マイクロコンピュータ | |
| EP0352082B1 (en) | Microinstruction addressing in a pipeline-CPU (operating method, addressing method, memory stack and CPU ) | |
| US4223381A (en) | Lookahead memory address control system | |
| US5416911A (en) | Performance enhancement for load multiple register instruction | |
| JP3486690B2 (ja) | パイプライン方式プロセッサ | |
| US5434986A (en) | Interdependency control of pipelined instruction processor using comparing result of two index registers of skip instruction and next sequential instruction | |
| US7546442B1 (en) | Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions | |
| US4812970A (en) | Microprogram control system |