JPH071479B2 - 中央処理装置の制御記憶装置及びマクロ命令用のマイクロ命令を実行装置に与える方法 - Google Patents
中央処理装置の制御記憶装置及びマクロ命令用のマイクロ命令を実行装置に与える方法Info
- Publication number
- JPH071479B2 JPH071479B2 JP59203896A JP20389684A JPH071479B2 JP H071479 B2 JPH071479 B2 JP H071479B2 JP 59203896 A JP59203896 A JP 59203896A JP 20389684 A JP20389684 A JP 20389684A JP H071479 B2 JPH071479 B2 JP H071479B2
- Authority
- JP
- Japan
- Prior art keywords
- clock cycle
- macroinstruction
- microinstructions
- execution
- control 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/261—Microinstruction address formation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/267—Microinstruction selection based on results of processing by instruction selection on output 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)
- Executing Machine-Instructions (AREA)
- Control Of Non-Positive-Displacement Pumps (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
- Hardware Redundancy (AREA)
- Communication Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】 (産業上の利用分野) 本発明はデータプロセッサ及びデータプロセッサ中に存
在する中央処理装置に関する。特に本発明は、パイプラ
イン式のマイクロ命令実行方式で一連のマイクロ命令を
使ってマクロ命令を実行する際に使われる制御記憶装置
及びマクロ命令用のマイクロ命令を実行装置に与える方
法に関する。
在する中央処理装置に関する。特に本発明は、パイプラ
イン式のマイクロ命令実行方式で一連のマイクロ命令を
使ってマクロ命令を実行する際に使われる制御記憶装置
及びマクロ命令用のマイクロ命令を実行装置に与える方
法に関する。
(従来技術) 一連のマイクロ命令を用いパイプライン化した形でマク
ロ命令を実行する中央処理装置(CPU)は、当該分野で
周知である。パイプライン式マイクロ命令の実行では、
一般に第1命令の遅い位相又はランクが実行されている
間に、第2命令の早いランクの実行を開始できるため、
全体を通じた命令実行がより速められる。
ロ命令を実行する中央処理装置(CPU)は、当該分野で
周知である。パイプライン式マイクロ命令の実行では、
一般に第1命令の遅い位相又はランクが実行されている
間に、第2命令の早いランクの実行を開始できるため、
全体を通じた命令実行がより速められる。
従来のパイプライン式制御記憶装置は、通常マクロ命令
をデコードして第1のマイクロ命令へのポインタを発生
するエントリポイントテーブルをソースとしている。そ
のポインタはホールドレジスタ内に置かれ、そこから制
御記憶装置をアクセスするのに使われる。その後のマイ
クロ命令は、各クロックサイクル毎にホールドレジスタ
中に保持された値をインクレメントするか、あるいは次
の及びそれ以後のマイクロ命令をアドレスするための第
1のマイクロ命令のマイクロコード内におけるフィール
ドを用いてアドレスされる。
をデコードして第1のマイクロ命令へのポインタを発生
するエントリポイントテーブルをソースとしている。そ
のポインタはホールドレジスタ内に置かれ、そこから制
御記憶装置をアクセスするのに使われる。その後のマイ
クロ命令は、各クロックサイクル毎にホールドレジスタ
中に保持された値をインクレメントするか、あるいは次
の及びそれ以後のマイクロ命令をアドレスするための第
1のマイクロ命令のマイクロコード内におけるフィール
ドを用いてアドレスされる。
マイクロ命令をフェッチするのにマクロ命令が使われる
プロセスは、2ランクマイクロコード方式の場合、通常
3クロックサイクルである。第1のクロックサイクルが
エントリポイントテーブルの値をホールドレジスタ内に
セットし、第2のクロックサイクルがランク1のマイク
ロコードフィールドをレジスタ内にセットし、更に第3
のクロックサイクルがランク2のマイクロコードフィー
ルドをレジスタ内にセットする。次いで、レジスタ値が
マイクロコード機能を実行し、命令を実際に実行するの
に使われる。3又はそれより高いランク等、上記の連続
したクロックサイクル後に実行されるマイクロ命令も同
様に実行される。
プロセスは、2ランクマイクロコード方式の場合、通常
3クロックサイクルである。第1のクロックサイクルが
エントリポイントテーブルの値をホールドレジスタ内に
セットし、第2のクロックサイクルがランク1のマイク
ロコードフィールドをレジスタ内にセットし、更に第3
のクロックサイクルがランク2のマイクロコードフィー
ルドをレジスタ内にセットする。次いで、レジスタ値が
マイクロコード機能を実行し、命令を実際に実行するの
に使われる。3又はそれより高いランク等、上記の連続
したクロックサイクル後に実行されるマイクロ命令も同
様に実行される。
パイプライン方式の性質上、シングルラインのマイクロ
命令実行のため複数のクロックサイクルが必要である。
命令実行において、この点がデータ処理システムでの命
令スループットを決めるファクタの1つである。データ
処理システムにおいて、スループットとスピードは重要
な考慮すべき点であるから、データ処理システムの命令
実行部分における改良はシステム性能の向上をもたら
す。
命令実行のため複数のクロックサイクルが必要である。
命令実行において、この点がデータ処理システムでの命
令スループットを決めるファクタの1つである。データ
処理システムにおいて、スループットとスピードは重要
な考慮すべき点であるから、データ処理システムの命令
実行部分における改良はシステム性能の向上をもたら
す。
従って、現在マクロ命令を実行するのに必要な数より少
ないクロック数でマクロ命令を実行できる制御記憶装置
が求められている。
ないクロック数でマクロ命令を実行できる制御記憶装置
が求められている。
(発明の目的) 従って、本発明の目的は、現在周知のシステムで可能な
数より少ないクロックサイクルで、パイプライン化CPU
におけるマクロ命令の第1ラインのマイクロ命令を実行
できる制御記憶装置を提供することである。
数より少ないクロックサイクルで、パイプライン化CPU
におけるマクロ命令の第1ラインのマイクロ命令を実行
できる制御記憶装置を提供することである。
本発明の他の目的は、現在のシステムを使って得られる
のより早く第1ラインのマイクロ命令へクロックサイク
ルを与えるための追加エントリ部を備えた制御記憶装置
を提供することである。
のより早く第1ラインのマイクロ命令へクロックサイク
ルを与えるための追加エントリ部を備えた制御記憶装置
を提供することである。
本発明の上記又はその他の目的は、詳細な説明、添付の
図面及び特許請求の範囲を参照すればより明解に理解さ
れるであろう。
図面及び特許請求の範囲を参照すればより明解に理解さ
れるであろう。
(発明の構成) エントリポイントテーブルに次命令用レジスタ又は同様
の装置からマクロ命令が与えられ、同テーブルがマクロ
命令の第2ライン用のマイクロコード(マイクロ命令)
を含む制御記憶装置へポインタを供給するような制御記
憶装置が得られる。
の装置からマクロ命令が与えられ、同テーブルがマクロ
命令の第2ライン用のマイクロコード(マイクロ命令)
を含む制御記憶装置へポインタを供給するような制御記
憶装置が得られる。
また、エントリポイントテーブルへアドレスする情報
は、各マクロ命令について第1のマイクロコード用の情
報を含むエントリ制御記憶装置へもアドレスする。制御
記憶装置は、各マクロ命令についてその後のマイクロ命
令用のマイクロコードをすべて含む。
は、各マクロ命令について第1のマイクロコード用の情
報を含むエントリ制御記憶装置へもアドレスする。制御
記憶装置は、各マクロ命令についてその後のマイクロ命
令用のマイクロコードをすべて含む。
好ましくは各マクロ命令のマイクロコードの最終ライン
の隣に位置するビットフィールドは、通常の制御記憶装
置でなくエントリ制御記憶装置を、後者の内容が所定の
マクロ命令用マイクロコードの第1のラインを実行する
必要があるときにのみ共用バスへ接続するように作動さ
せる。このようにして、各マクロ命令の実行を従来の制
御装置の構成を用いた場合より、1クロックサイクルだ
け早く開始できる。
の隣に位置するビットフィールドは、通常の制御記憶装
置でなくエントリ制御記憶装置を、後者の内容が所定の
マクロ命令用マイクロコードの第1のラインを実行する
必要があるときにのみ共用バスへ接続するように作動さ
せる。このようにして、各マクロ命令の実行を従来の制
御装置の構成を用いた場合より、1クロックサイクルだ
け早く開始できる。
(実施例) まず、第1図を参照すると、代表的な従来の制御記憶装
置のブロック図が示されている。次命令レジスタ10が命
令のマイクロコードの第1のラインを指すアドレスを発
生するエントリポイントテーブル12でデコードされる命
令を保持する。
置のブロック図が示されている。次命令レジスタ10が命
令のマイクロコードの第1のラインを指すアドレスを発
生するエントリポイントテーブル12でデコードされる命
令を保持する。
エントリポイントテープル12の出力は、次命令レジスタ
10の有効な内容が利用可能になった後に続くシステムク
ロック16からのクロックパルスで、制御記憶装置のアド
レスレジスタ14へ加えられる。そのクロックパルスの
後、エンコードされたマイクロコードの第1のライン
が、制御記憶装置18に含まれるマイクロコードへのポイ
ンタとして利用可能となる。第1のラインのマイクロコ
ードがビットフィールド20として模式的に示してある。
マクロ命令用マイクロコードのその後のラインをアクセ
スするため、レジスタ14はそれが保持する値を各クロッ
クサイクル毎にインクレメントするように構成してもよ
い。或いはその他の方法で制御記憶装置18にアドレスす
るための追加のソースを与えるようにしてもよい。例え
ば、制御記憶装置18は従来周知のように、制御記憶装置
のアドレスレジスタ14をソースとしたマルチプレクッ
サ、復帰スタック及び分岐を制御するマイクロコードか
らのビットフィールドによって駆動できる。
10の有効な内容が利用可能になった後に続くシステムク
ロック16からのクロックパルスで、制御記憶装置のアド
レスレジスタ14へ加えられる。そのクロックパルスの
後、エンコードされたマイクロコードの第1のライン
が、制御記憶装置18に含まれるマイクロコードへのポイ
ンタとして利用可能となる。第1のラインのマイクロコ
ードがビットフィールド20として模式的に示してある。
マクロ命令用マイクロコードのその後のラインをアクセ
スするため、レジスタ14はそれが保持する値を各クロッ
クサイクル毎にインクレメントするように構成してもよ
い。或いはその他の方法で制御記憶装置18にアドレスす
るための追加のソースを与えるようにしてもよい。例え
ば、制御記憶装置18は従来周知のように、制御記憶装置
のアドレスレジスタ14をソースとしたマルチプレクッ
サ、復帰スタック及び分岐を制御するマイクロコードか
らのビットフィールドによって駆動できる。
当該分野で周知のように、制御記憶装置18とビットフィ
ールド20の間に1つ又はそれより多くのレジスタ(図示
せず)を設け、特にパイプライン方式が使われる場合に
は、少なくとも2個のレジスタ、ランク1用のレジスタ
及びランク2用のレジスタが使われる。従って、ランク
2の情報がランク2レジスタの出力に得られるまでに、
最小3つのクロックサイクルを必要とする。ここで「ラ
ンク」とはマイクロ命令の実行タイミングを示してい
る。ランク1のマイクロ命令フィールドは第1のタイミ
ング、即ち第1のクロックサイクルにおいて実行される
マイクロ命令部分であり、マイクロ命令フィールドのラ
ンク2部分は第2のタイミング、即ち第2のクロックサ
イクルの間に実行されるマイクロ命令の部分である。
ールド20の間に1つ又はそれより多くのレジスタ(図示
せず)を設け、特にパイプライン方式が使われる場合に
は、少なくとも2個のレジスタ、ランク1用のレジスタ
及びランク2用のレジスタが使われる。従って、ランク
2の情報がランク2レジスタの出力に得られるまでに、
最小3つのクロックサイクルを必要とする。ここで「ラ
ンク」とはマイクロ命令の実行タイミングを示してい
る。ランク1のマイクロ命令フィールドは第1のタイミ
ング、即ち第1のクロックサイクルにおいて実行される
マイクロ命令部分であり、マイクロ命令フィールドのラ
ンク2部分は第2のタイミング、即ち第2のクロックサ
イクルの間に実行されるマイクロ命令の部分である。
次に第2図を参照すると、本発明の制御記憶装置のブロ
ック図が示してある。
ック図が示してある。
次命令レジスタ40が、エントリポイントテーブル42でデ
コードされる命令を含む。即ち、次命令レジスタ40の内
容がライン46を介してエントリポイントテーブル42をア
ドレスする。しかし、従来例と異なり、エントリポイン
トテーブル42は、実行されているマクロ命令用のマイク
ロコードの第1のラインを指すポインタを含んでいな
い。その代わりに、実行されているマクロ命令用のマイ
クロコードの第2のラインを指すポインタを含んでい
る。エントリポイントテーブル42は当該分野で周知のよ
うに、読出専用メモリ、ランダムアクセスメモリ又はプ
ログラマブルロジックアレイで構成できる。マクロ命令
は、第1のクロックサイクルで次命令レジスタにロード
される。
コードされる命令を含む。即ち、次命令レジスタ40の内
容がライン46を介してエントリポイントテーブル42をア
ドレスする。しかし、従来例と異なり、エントリポイン
トテーブル42は、実行されているマクロ命令用のマイク
ロコードの第1のラインを指すポインタを含んでいな
い。その代わりに、実行されているマクロ命令用のマイ
クロコードの第2のラインを指すポインタを含んでい
る。エントリポイントテーブル42は当該分野で周知のよ
うに、読出専用メモリ、ランダムアクセスメモリ又はプ
ログラマブルロジックアレイで構成できる。マクロ命令
は、第1のクロックサイクルで次命令レジスタにロード
される。
各マクロ命令用マイクロコードの第1のラインは各エン
トリ制御記憶装置48に含まれており、これがエントリポ
イントテーブル42と同様ライン46を介して次命令レジス
タ40の内容へアクセスする。エントリ制御記憶装置48の
出力は、第2のクロックサイクルで、R1レジスタ66へク
ロック入力される。
トリ制御記憶装置48に含まれており、これがエントリポ
イントテーブル42と同様ライン46を介して次命令レジス
タ40の内容へアクセスする。エントリ制御記憶装置48の
出力は、第2のクロックサイクルで、R1レジスタ66へク
ロック入力される。
第2図の装置は、本願と同じ出願人に譲渡され、ここに
参考文献として含める1983年9月29日に申請された米国
特許出願537,429号に記載され、クレームされた制御記
憶装置によっても作動可能である。
参考文献として含める1983年9月29日に申請された米国
特許出願537,429号に記載され、クレームされた制御記
憶装置によっても作動可能である。
マイクロコードの第2の及びその後続のラインの実行を
以下説明し、次いで従来の構成で可能な時点よりも早く
マイクロコードの第1のラインをパイプライン中へ入れ
る方法について説明する。
以下説明し、次いで従来の構成で可能な時点よりも早く
マイクロコードの第1のラインをパイプライン中へ入れ
る方法について説明する。
前述の第1のクロックサイクルに次いで、第2のクロッ
クサイクルで、エントリポイントテーブル42の出力がラ
イン52とシステムクロック56からのクロックライン54を
介して制御記憶装置アドレスレジスタ50へクロック入力
される。必要なアクセスタイムの経過後、垂直制御記憶
装置58内のアドレスへのポインタであるアドレスレジス
タの出力が、ライン60を介して垂直制御記憶装置58へ加
えられる。その後のマイクロ命令は、システムクロック
56からのクロックパルスを用いて制御記憶装置アドレス
レジスタ50内に格納された値をインクリメントするか、
あるいはその(マルチプレクサの)入力は、この分野に
おいて周知のように復帰スタックおよび分岐を制御する
マイクロコードからのビットフィールドと同様制御記憶
アドレスレジスタ50の出力を有しているマルチプレクサ
(図示せず)からのライン60を駆動することによって得
られる。次いで必要なアクセスタイムの後、垂直制御記
憶装置58の出力がライン64を介して制御記憶装置の出力
ライン62へ与えられ、そこでシステムクロック56からの
クロックパルスにより第3のクロックサイクルでランク
1レジスタへクロック入力される。
クサイクルで、エントリポイントテーブル42の出力がラ
イン52とシステムクロック56からのクロックライン54を
介して制御記憶装置アドレスレジスタ50へクロック入力
される。必要なアクセスタイムの経過後、垂直制御記憶
装置58内のアドレスへのポインタであるアドレスレジス
タの出力が、ライン60を介して垂直制御記憶装置58へ加
えられる。その後のマイクロ命令は、システムクロック
56からのクロックパルスを用いて制御記憶装置アドレス
レジスタ50内に格納された値をインクリメントするか、
あるいはその(マルチプレクサの)入力は、この分野に
おいて周知のように復帰スタックおよび分岐を制御する
マイクロコードからのビットフィールドと同様制御記憶
アドレスレジスタ50の出力を有しているマルチプレクサ
(図示せず)からのライン60を駆動することによって得
られる。次いで必要なアクセスタイムの後、垂直制御記
憶装置58の出力がライン64を介して制御記憶装置の出力
ライン62へ与えられ、そこでシステムクロック56からの
クロックパルスにより第3のクロックサイクルでランク
1レジスタへクロック入力される。
ランク1レジスタ66の出力におけるビットフィールドの
一部が部分的にまたは完全にデコードされたマイクロコ
ードで、マイクロコードビットフィールド70のランク1
マイクロコードビットフィールド部68を形成する。好ま
しい実施例では、ランク1レジスタ66の出力中の別の部
分がライン74を介して水平制御記憶装置72へアドレスす
るためのポインタとして使えるが、当業者であれば、こ
の点は本発明が正しく機能するのに特別必要でないこと
を理解し得よう。必要なアクセスタイムの後、水平制御
記憶装置72の出力がライン78を介してランク2レジスタ
76の入力へ印加可能となる。そしてライン54を介したシ
ステムクロック56からの第4のクロックサイクルで、水
平制御記憶装置72の出力がランク2レジスタ76へ加えら
れ、マイクロコードビットフィールド70のランク2部分
78として利用可能となる。しかし、当業者であれば、そ
れは上記第4のクロックサイクルで、第1のラインのラ
ンク2情報以外のランク2レジスタにより実行されてい
るマイクロコードの第2のラインである、ことを理解し
得よう。
一部が部分的にまたは完全にデコードされたマイクロコ
ードで、マイクロコードビットフィールド70のランク1
マイクロコードビットフィールド部68を形成する。好ま
しい実施例では、ランク1レジスタ66の出力中の別の部
分がライン74を介して水平制御記憶装置72へアドレスす
るためのポインタとして使えるが、当業者であれば、こ
の点は本発明が正しく機能するのに特別必要でないこと
を理解し得よう。必要なアクセスタイムの後、水平制御
記憶装置72の出力がライン78を介してランク2レジスタ
76の入力へ印加可能となる。そしてライン54を介したシ
ステムクロック56からの第4のクロックサイクルで、水
平制御記憶装置72の出力がランク2レジスタ76へ加えら
れ、マイクロコードビットフィールド70のランク2部分
78として利用可能となる。しかし、当業者であれば、そ
れは上記第4のクロックサイクルで、第1のラインのラ
ンク2情報以外のランク2レジスタにより実行されてい
るマイクロコードの第2のラインである、ことを理解し
得よう。
マイクロコードフィールド70におけるランク1ビットフ
ィールド68中の1個又はそれより多いビットから成る選
定ビットフィールドの状態が、シテムクロック56からの
各クロックサイクル毎に、ライン82を介してエントリ制
御記憶装置エネイブル(ECS)レジスタ84へ加えられ
る。エントリ制御記憶装置エネイブルレジスタ84の出力
はライン86を介して、エントリ制御記憶装置48と垂直制
御記憶装置58の各エネイブル入力へ与えられる。エント
リ制御記憶装置48の入力▲▼88はロジック低で動作
し、垂直制御記憶装置58の入力EN90はロジック高で動作
する。エントリ制御記憶装置48と垂直制御記憶装置58は
共に制御記憶装置の出力バス62と共用しているので、そ
れぞれの入力▲▼とENは、任意の所定時に一方だけ
がバスの制御を支配するこを保証する。この点は当該分
野で周知のように、両者をバス62上で多重化させるか、
あるいは垂直制御記憶装置58及びエントリ制御記憶装置
48の一方又は他方の出力ドライバを選択的に動作不能と
することによって行われる。大部分の時間、垂直制御記
憶装置58がバスの制御を支配し、これはフィールド80に
よってESCレジスタ84がロジック高レベル(つまり
“1")を含むことを意味する。しかし、次のマクロ命令
が次命令レジスタ40内に格納されると、一般に現在実行
されているマクロ命令の第2から最後までのマイクロ命
令の実行中に、エントリ制御記憶装置48が制御記憶装置
出力バス62の制御を支配し、次のマクロ命令用マイクロ
コードの第1ラインを制御記憶装置出力バス62へ与え
る。このプロセスは、エントリポイントテーブル42の出
力からパイプラインへ入る場合に第1のラインが出力バ
スへ入るよりも早いクロックサイクルで生じる。このよ
うな場合、命令はエントリポイントテーブル42でデコー
ドされる必要があり、ポインタは制御記憶装置アドレス
レジスタ50へ加えられるのに次のクロックサイクルを待
たねばならない。その後のポインタが垂直制御記憶装置
58からマイクロコードをアクセスし、次いでランク1レ
ジスタ66内へクロック入力が可能となる前に、制御記憶
装置出力ライン62に与えられる。
ィールド68中の1個又はそれより多いビットから成る選
定ビットフィールドの状態が、シテムクロック56からの
各クロックサイクル毎に、ライン82を介してエントリ制
御記憶装置エネイブル(ECS)レジスタ84へ加えられ
る。エントリ制御記憶装置エネイブルレジスタ84の出力
はライン86を介して、エントリ制御記憶装置48と垂直制
御記憶装置58の各エネイブル入力へ与えられる。エント
リ制御記憶装置48の入力▲▼88はロジック低で動作
し、垂直制御記憶装置58の入力EN90はロジック高で動作
する。エントリ制御記憶装置48と垂直制御記憶装置58は
共に制御記憶装置の出力バス62と共用しているので、そ
れぞれの入力▲▼とENは、任意の所定時に一方だけ
がバスの制御を支配するこを保証する。この点は当該分
野で周知のように、両者をバス62上で多重化させるか、
あるいは垂直制御記憶装置58及びエントリ制御記憶装置
48の一方又は他方の出力ドライバを選択的に動作不能と
することによって行われる。大部分の時間、垂直制御記
憶装置58がバスの制御を支配し、これはフィールド80に
よってESCレジスタ84がロジック高レベル(つまり
“1")を含むことを意味する。しかし、次のマクロ命令
が次命令レジスタ40内に格納されると、一般に現在実行
されているマクロ命令の第2から最後までのマイクロ命
令の実行中に、エントリ制御記憶装置48が制御記憶装置
出力バス62の制御を支配し、次のマクロ命令用マイクロ
コードの第1ラインを制御記憶装置出力バス62へ与え
る。このプロセスは、エントリポイントテーブル42の出
力からパイプラインへ入る場合に第1のラインが出力バ
スへ入るよりも早いクロックサイクルで生じる。このよ
うな場合、命令はエントリポイントテーブル42でデコー
ドされる必要があり、ポインタは制御記憶装置アドレス
レジスタ50へ加えられるのに次のクロックサイクルを待
たねばならない。その後のポインタが垂直制御記憶装置
58からマイクロコードをアクセスし、次いでランク1レ
ジスタ66内へクロック入力が可能となる前に、制御記憶
装置出力ライン62に与えられる。
別の選定ビットフィールド91がライン93を介して、次の
命令が格納されるべきサイクルの間を除き、クロックパ
ルスが次命令レジスタ40へ入るのを禁止すべく作用す
る。これは、ビットフィールド80がエントリ制御記憶装
置48をエネーブルする前に、1つ又はそれより多いクロ
ックパルスを発生させる。タイミングは命令に依存して
いるため、当業者であれば、上記エネーブルが所定の命
令シーケンスに関して何時生じねばならないかを認識し
得よう。
命令が格納されるべきサイクルの間を除き、クロックパ
ルスが次命令レジスタ40へ入るのを禁止すべく作用す
る。これは、ビットフィールド80がエントリ制御記憶装
置48をエネーブルする前に、1つ又はそれより多いクロ
ックパルスを発生させる。タイミングは命令に依存して
いるため、当業者であれば、上記エネーブルが所定の命
令シーケンスに関して何時生じねばならないかを認識し
得よう。
マイクロ分岐を容易化するために、エントリ制御記憶装
置レジスタ84の動作を垂直制御記憶装置58からのマイク
ロ命令の実行を続行するために禁止できる。好ましい実
施例では、模式的に92で示したマイクロ分岐の決定を行
うのに使われるテストの結果を、エントリ制御記憶装置
レジスタ84がエントリ制御記憶装置48を選択するのを禁
止するのに使うことがきる。
置レジスタ84の動作を垂直制御記憶装置58からのマイク
ロ命令の実行を続行するために禁止できる。好ましい実
施例では、模式的に92で示したマイクロ分岐の決定を行
うのに使われるテストの結果を、エントリ制御記憶装置
レジスタ84がエントリ制御記憶装置48を選択するのを禁
止するのに使うことがきる。
この特徴は、3ラインより少ないマイクロ命令を含むマ
クロ命令を実行する上で最も重要である。マイクロ命令
のライン数が3以上の場合、次のマクロ命令をフェッチ
し、次いでそれを次命令レジスタ内で1つのマイクロ命
令ラインに加える指令を与えることによって、システム
のマイクロコーダがパイプライン化を改善できる。しか
しこれは勿論、3より少ないラインを有する命令につい
ては成し得ない。
クロ命令を実行する上で最も重要である。マイクロ命令
のライン数が3以上の場合、次のマクロ命令をフェッチ
し、次いでそれを次命令レジスタ内で1つのマイクロ命
令ラインに加える指令を与えることによって、システム
のマイクロコーダがパイプライン化を改善できる。しか
しこれは勿論、3より少ないラインを有する命令につい
ては成し得ない。
本発明によれば、2ラインのマイクロコードを有するマ
クロ命令でも、垂直制御記憶装置58内で命令の解読を行
うためマイクロコードの第1のラインに対する第1のポ
インタが制御記憶装置アドレスレジスタ50を通って進行
している間に、NOP(No Operation:非動作)スペースフ
ィラーを挿入して実質上システムを停止する必要なく実
行できる。
クロ命令でも、垂直制御記憶装置58内で命令の解読を行
うためマイクロコードの第1のラインに対する第1のポ
インタが制御記憶装置アドレスレジスタ50を通って進行
している間に、NOP(No Operation:非動作)スペースフ
ィラーを挿入して実質上システムを停止する必要なく実
行できる。
当業者であれば、マクロ命令の実行時間を減少できる本
装置は、マクロ命令の分岐を実行するのに必要な時間も
減少できることを認識し得よう。
装置は、マクロ命令の分岐を実行するのに必要な時間も
減少できることを認識し得よう。
マクロ分岐を実施する場合、分岐ターゲットが次命令レ
ジスタ40へ格納されるが、ターゲットマクロ命令は、そ
の第1のラインのマイクロモードのランク1部分が制御
記憶装置出力ライン62上に現れるまで、ターゲットマク
ロ命令の実行は始まり得ない。本発明によれば、上記の
場合エントリ制御記憶装置48のアクセスに1クロックサ
イクルしか必要としない。本発明以外ではまずエントリ
ポイントテーブル42へアクセスし、その後次のサイクル
で垂直制御記憶装置58へアクセスするのに2クロックサ
イクルが必要である。
ジスタ40へ格納されるが、ターゲットマクロ命令は、そ
の第1のラインのマイクロモードのランク1部分が制御
記憶装置出力ライン62上に現れるまで、ターゲットマク
ロ命令の実行は始まり得ない。本発明によれば、上記の
場合エントリ制御記憶装置48のアクセスに1クロックサ
イクルしか必要としない。本発明以外ではまずエントリ
ポイントテーブル42へアクセスし、その後次のサイクル
で垂直制御記憶装置58へアクセスするのに2クロックサ
イクルが必要である。
第1図は、代表的な従来の制御記憶装置の交際を示すブ
ロック図である。 第2図は、本発明に従って構成された制御記憶装置のブ
ロック図である。 42……エントリポイントテーブル、 48……エントリ制御記憶装置、 58……制御記憶装置、 62……制御記憶出力バス、 80……マイクロコード表示(選定ビットフィールド)、 84……エントリ制御記憶装置レジスタ、
ロック図である。 第2図は、本発明に従って構成された制御記憶装置のブ
ロック図である。 42……エントリポイントテーブル、 48……エントリ制御記憶装置、 58……制御記憶装置、 62……制御記憶出力バス、 80……マイクロコード表示(選定ビットフィールド)、 84……エントリ制御記憶装置レジスタ、
フロントページの続き (72)発明者 ロバート ウイツテイング ホースト アメリカ合衆国 カリフオルニア州 95014 クーパーテイノ プリムローズ ウエイ 1538 (56)参考文献 特開 昭57−209542(JP,A) 特開 昭49−127540(JP,A) 特開 昭58−146943(JP,A) 萩原 宏「マイクロプログラミング」 (昭52−4−19)産業図書P.56−59
Claims (3)
- 【請求項1】一連のマイクロ命令によってエミュレート
されたマクロ命令を実行する装置を備えた中央処理装置
において、 前記一連のマイクロ命令の内の第2のマイクロ命令に対
するポインタを与えるための、前記マクロ命令によって
アドレスされるエントリポイントテーブル、 前記ポインタに応答して、各マクロ命令の各々に対する
前記一連のマイクロ命令の内の第2の、及びその後続の
マイクロ命令を制御記憶手段に接続された出力ラインに
与えるための出力ラインを有する制御記憶手段、 各マクロ命令用の前記一連のマイクロ命令の内の第1の
マイクロ命令を有し、前記マクロ命令によってアドレス
され、出力ラインを有するエントリ制御記憶手段、 前記マクロ命令の次の実行が開始されるべきことを表示
する前記一連のマイクロ命令の内の少なくとも一つのマ
イクロ命令のマイクロコード表示に応答して、前記制御
記憶手段の出力ラインまたは前記エントリ制御記憶手段
の出力ラインを出力バスへ選択的に接続するための選択
手段、及び マイクロ分岐のテスト結果信号に応答して、制御記憶手
段からの前記一連のマイクロ命令の実行を続けるため
に、前記エントリ制御記憶手段の出力ラインと前記出力
バスとの接続を禁止するための前記選択手段にある禁止
手段、 を有する制御記憶装置。 - 【請求項2】マクロ命令用の一連のマイクロ命令を実行
装置に与える方法において、 第1のクロックサイクルの間に、前記マクロ命令を命令
レジスタにロードするステップ、 前記マクロ命令を、前記一連のマイクロ命令の内の第1
のマイクロ命令を有する第1の記憶装置に与えるステッ
プ、 前記マクロ命令を、前記一連のマイクロ命令の内の第2
のマイクロ命令に対するポインタを有する第2の記憶装
置に与えるステップ、 第2のクロックサイクルの間に、前記第1の記憶装置を
前記実行装置へ接続するステップ、 前記第2のクロックサイクルの間に、前記ポインタを前
記一連のマイクロ命令の内の第2の、及びその後続のマ
イクロ命令を有する第3の記憶装置に与えるステップ、 第3のクロックサイクルの間に、前記第3の記憶装置を
前記実行装置へ接続するステップ、及び マイクロ分岐のテスト結果信号に応答して、前記第1の
記憶装置と前記実行装置との接続を禁止するステップ、 を有する方法。 - 【請求項3】(a)前記第3のクロックサイクルの間
に、及びその後続のクロックサイクルの間に、前記第3
の記憶装置に与えるアドレスをインクリメントするステ
ップ、 (b)前記第3のクロックサイクルに続くクロックサイ
クルの間に、第3の記憶装置を前記実行装置へ接続する
ステップ、及び 前記マクロ命令のマイクロコードフィールドが第1のク
ロックサイクルの発生を指示するまで、(a)と(b)
のステップを繰り返すステップ、 を有する特許請求の範囲第2項に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/537,038 US4574344A (en) | 1983-09-29 | 1983-09-29 | Entry control store for enhanced CPU pipeline performance |
US537038 | 1990-06-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS60167034A JPS60167034A (ja) | 1985-08-30 |
JPH071479B2 true JPH071479B2 (ja) | 1995-01-11 |
Family
ID=24140919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59203896A Expired - Lifetime JPH071479B2 (ja) | 1983-09-29 | 1984-09-28 | 中央処理装置の制御記憶装置及びマクロ命令用のマイクロ命令を実行装置に与える方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US4574344A (ja) |
EP (1) | EP0136183B1 (ja) |
JP (1) | JPH071479B2 (ja) |
AT (1) | ATE54212T1 (ja) |
AU (1) | AU571010B2 (ja) |
CA (1) | CA1227578A (ja) |
DE (1) | DE3482607D1 (ja) |
NO (1) | NO843893L (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11052579B2 (en) | 2015-12-08 | 2021-07-06 | Whirlpool Corporation | Method for preparing a densified insulation material for use in appliance insulated structure |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4800486A (en) * | 1983-09-29 | 1989-01-24 | Tandem Computers Incorporated | Multiple data patch CPU architecture |
US4812972A (en) * | 1984-06-20 | 1989-03-14 | Convex Computer Corporation | Microcode computer having dispatch and main control stores for storing the first and the remaining microinstructions of machine instructions |
US4794527A (en) * | 1986-01-29 | 1988-12-27 | Digital Equipment Corporation | Microprogrammed data processing system using latch circuits to access different control stores with the same instruction at different times |
US4890218A (en) * | 1986-07-02 | 1989-12-26 | Raytheon Company | Variable length instruction decoding apparatus having cross coupled first and second microengines |
US5235686A (en) * | 1987-02-24 | 1993-08-10 | Texas Instruments Incorporated | Computer system having mixed macrocode and microcode |
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 |
US5333287A (en) * | 1988-12-21 | 1994-07-26 | International Business Machines Corporation | System for executing microinstruction routines by using hardware to calculate initialization parameters required therefore based upon processor status and control parameters |
JPH0769791B2 (ja) * | 1988-12-21 | 1995-07-31 | 三菱電機株式会社 | マイクロプロセッサ |
EP0388735A3 (en) * | 1989-03-10 | 1993-01-13 | Nec Corporation | Microprogram controller having fixed-instruction generator and microprogram memory |
US5293592A (en) * | 1989-04-07 | 1994-03-08 | Intel Corporatino | Decoder for pipelined system having portion indicating type of address generation and other portion controlling address generation within pipeline |
GB2230116B (en) * | 1989-04-07 | 1993-02-17 | Intel Corp | An improvement for pipelined decoding of instructions in a pipelined processor |
CA2030404A1 (en) * | 1989-11-27 | 1991-05-28 | Robert W. Horst | Microinstruction sequencer |
US5377335A (en) * | 1991-08-30 | 1994-12-27 | Unisys Corporation | Multiple alternate path pipelined microsequencer and method for controlling a computer |
JP3497516B2 (ja) * | 1992-02-20 | 2004-02-16 | 株式会社ルネサステクノロジ | データプロセッサ |
US5471626A (en) * | 1992-05-06 | 1995-11-28 | International Business Machines Corporation | Variable stage entry/exit instruction pipeline |
EP0661877B1 (en) * | 1993-12-28 | 2000-02-23 | Sony Corporation | Information signal transmission devices |
US5790825A (en) * | 1995-11-08 | 1998-08-04 | Apple Computer, Inc. | Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions |
US5860025A (en) * | 1996-07-09 | 1999-01-12 | Roberts; David G. | Precharging an output peripheral for a direct memory access operation |
US7334115B1 (en) * | 2000-06-30 | 2008-02-19 | Intel Corporation | Detection, recovery and prevention of bogus branches |
JP4851418B2 (ja) * | 2007-10-25 | 2012-01-11 | 古河電気工業株式会社 | 光ファイバ切断装置 |
EP2099014B1 (en) | 2008-03-07 | 2014-06-18 | Barco NV | A method and device to enhance image quality in digital video processing systems using dithering |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3800293A (en) * | 1972-12-26 | 1974-03-26 | Ibm | Microprogram control subsystem |
US4173041A (en) * | 1976-05-24 | 1979-10-30 | International Business Machines Corporation | Auxiliary microcontrol mechanism for increasing the number of different control actions in a microprogrammed digital data processor having microwords of fixed length |
JPS55110347A (en) * | 1979-02-16 | 1980-08-25 | Toshiba Corp | Microprogram control system |
JPS57209542A (en) * | 1981-06-19 | 1982-12-22 | Toshiba Corp | Microprogram controlling system |
US4685080A (en) * | 1982-02-22 | 1987-08-04 | International Business Machines Corp. | Microword generation mechanism utilizing separate programmable logic arrays for first and second microwords |
-
1983
- 1983-09-29 US US06/537,038 patent/US4574344A/en not_active Expired - Lifetime
-
1984
- 1984-09-27 AU AU33594/84A patent/AU571010B2/en not_active Ceased
- 1984-09-28 AT AT84306610T patent/ATE54212T1/de not_active IP Right Cessation
- 1984-09-28 JP JP59203896A patent/JPH071479B2/ja not_active Expired - Lifetime
- 1984-09-28 EP EP84306610A patent/EP0136183B1/en not_active Expired - Lifetime
- 1984-09-28 NO NO843893A patent/NO843893L/no unknown
- 1984-09-28 DE DE8484306610T patent/DE3482607D1/de not_active Expired - Lifetime
- 1984-09-28 CA CA000464265A patent/CA1227578A/en not_active Expired
Non-Patent Citations (1)
Title |
---|
萩原宏「マイクロプログラミング」(昭52−4−19)産業図書P.56−59 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11052579B2 (en) | 2015-12-08 | 2021-07-06 | Whirlpool Corporation | Method for preparing a densified insulation material for use in appliance insulated structure |
Also Published As
Publication number | Publication date |
---|---|
US4574344A (en) | 1986-03-04 |
EP0136183B1 (en) | 1990-06-27 |
CA1227578A (en) | 1987-09-29 |
ATE54212T1 (de) | 1990-07-15 |
AU571010B2 (en) | 1988-03-31 |
NO843893L (no) | 1985-04-01 |
AU3359484A (en) | 1985-04-04 |
JPS60167034A (ja) | 1985-08-30 |
DE3482607D1 (de) | 1990-08-02 |
EP0136183A3 (en) | 1986-02-26 |
EP0136183A2 (en) | 1985-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH071479B2 (ja) | 中央処理装置の制御記憶装置及びマクロ命令用のマイクロ命令を実行装置に与える方法 | |
US5235686A (en) | Computer system having mixed macrocode and microcode | |
EP0124597B1 (en) | Multiple control stores in a pipelined microcontroller for handling jump and return subroutines | |
US4156925A (en) | Overlapped and interleaved control store with address modifiers | |
US5628018A (en) | Data processing apparatus handling plural divided interruption | |
US6611909B1 (en) | Method and apparatus for dynamically translating program instructions to microcode instructions | |
GB1448866A (en) | Microprogrammed data processing systems | |
WO1983001133A1 (en) | Microprocessor with memory having interleaved address inputs and interleaved instruction and data outputs | |
US4223381A (en) | Lookahead memory address control system | |
EP0126125B1 (en) | Multiple control stores for a pipelined microcontroller | |
US4370729A (en) | Microprogram sequencer | |
EP0126124B1 (en) | Multiple control stores in a pipelined microcontroller for handling nested subroutines | |
US4587611A (en) | Multiple module control store for use in a data processing system | |
KR860003552A (ko) | 마이크로 프로그램 가능 시스템 | |
US5247624A (en) | Microprogram controller including leading microinstruction from a generator executed while succeeding microinstruction from memory is read out | |
US4635188A (en) | Means for fast instruction decoding for a computer | |
EP0010196A1 (en) | Control circuit and process for digital storage devices | |
EP0279953B1 (en) | Computer system having mixed macrocode and microcode instruction execution | |
US5124910A (en) | Microprogram control apparatus for generating a branch condition signal to be designated by a micro-branch instruction | |
US4803615A (en) | Microcode control of a parallel architecture microprocessor | |
JPH0512751B2 (ja) | ||
CA1165454A (en) | Odd byte memory accessing in data processing apparatus | |
JPS62245439A (ja) | シンボリツク処理システムおよび方法 | |
JP3057732B2 (ja) | 情報処理装置 | |
JPH0243626A (ja) | コンピュータ・プロセッサの実行速度を制御する装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |