JPS6314239A - 計算機システムの命令作成ユニット - Google Patents

計算機システムの命令作成ユニット

Info

Publication number
JPS6314239A
JPS6314239A JP16625487A JP16625487A JPS6314239A JP S6314239 A JPS6314239 A JP S6314239A JP 16625487 A JP16625487 A JP 16625487A JP 16625487 A JP16625487 A JP 16625487A JP S6314239 A JPS6314239 A JP S6314239A
Authority
JP
Japan
Prior art keywords
instruction
microengine
output
input
variable length
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.)
Pending
Application number
JP16625487A
Other languages
English (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.)
Raytheon Co
Original Assignee
Raytheon Co
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 Raytheon Co filed Critical Raytheon Co
Publication of JPS6314239A publication Critical patent/JPS6314239A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 本発明は汎用計算機システムに関し、特に、パイプライ
ン計算機システムにおけろ可変長命令の命令解読(In
5truction ])ecoding )の高速化
を図る装置と方法に関する。
背   景 計算機の情報処理速度を高速化する技術は幾通りもの方
法で達成されている。ある方面では、高いり凸ツク速度
を得るのにエミッタ結合ロジック(ECL)のような高
速回路が使用されてきた。
並列プロセッサによるタスクの高速処理も行われてきた
。擬似並列処理システムでは、多数のマイクロエンジン
(Microengine )がパイプラインのアーキ
テクチャ−によって情報を遂次処理していく。個々のマ
イクロエンジンはタスクの一部分ヲ実行し、その結果を
次のマイクロエンジン手段き渡し、タスクの続きがそこ
で行われる。このアプローチはプロセッサの総合的なス
ループットヲ増大させるものではあるが、タスクの開始
から終了までの全体の処理時間(遅れ)は減少しないし
、個々のマイクロエンジン内部の処理時間も短くならな
い。
1台のマイクロエンジンで、オペコード(0p−cod
e 、 命令コード)と1以上のスペシファイア(5p
ecifier 、規制側)より成る命令(インストラ
クション)を処理するためには、各々のオペコード/ス
ペシファイア組合せ命令に対し、その複数バイト命令を
分解して固有の開始アドレスを生成する能力が必要であ
り、このことが2つの問題を引き起こす。1つは、オペ
コードとスペシファイアとの組合せが幾通りもあるため
に、制御記憶部(Codtrol 5tore、 コン
トロールストア)のマイクロコードへの入口点(Ent
ry Po1nts。
エントリ・ポイント)が非常に多くなり、実際のマイク
ロコードのライン数はこれよりさらに多くなる、という
問題である。2番目の問題はさらに深刻であり、それは
、開始アドレスを容易に生成するのに必要なビット数に
対応できるだけのファンイン能力を既存の集積回路がも
ちあわせていない、ということである。
発明の概要 本発明によれば、可変長命令をローカル計算機命令(L
ocal (:omputer In5tructio
n )に変換するために、パイプライン計算機システム
の命令作成ユニット(In5truction pre
parationlnit )が使用される。この命令
作成ユニットは、可変長命令を記憶するためのレジスタ
手段と、可変長命令を解読するための2台の相互接続さ
れたマイクロエンジンを備えている。各マイクロエンジ
ンは、可変長命令の同じ部分あるいは異なる部分を、同
一クロックサイクル内で並列に処理する。
可変長命令は、ある種の命令の場合にはオペコードのみ
から成り、別種の命令の場合にはオペコードのフィール
ドに複数のオペランド指定フィールド(0perand
 5pecifier Field )が付く。第1の
マイクロエンジンは上記レジスタ手段に結合し、可変長
命令のオペコード部を解読するとともに、スペシファイ
ア(規制詞)のフィールドをもつ命令に対してはその命
令の個々の規制詞フィールドを解読する。第2のマイク
ロエンジンもレジスタ手段に結合しており、ローカル計
算機命令の第1の部分を生成するために可変長命令のオ
ペコード部を解読する。第2のマイクロエンジンの入力
は第1のマイクロエンジンの出力に結合し、第2のマイ
クロエンジンの出口は第1のマイクロエンジンの入力に
結合している。演算手段((:alc−ulator 
means)が演算を実行してローカル計算機命令の第
2の部分を生成する。この演算手段は第1と第2のマイ
クロエンジンからの複数の出力と、可変長命令のオペラ
ンド指定フィールドとにつながっている。第1のマイク
ロエンジンは命令実行のためのルーチン生成をその基本
機能としており、一方、第2のマイクロエンジンは基本
的に、エグゼクティブ・エンジンもしくはアトリビュー
ト(Attribute )生成器として働き、次のタ
スクの準備を行い、ルーチンを生成している第1マイク
ロエンジンに対しアーギュメント(引数)を与える。各
マイクロエンジンは制御記憶部(コントロール・ストア
)とレジスタ手段をもっている。
さらに本発明によれば、パイプライン計J17ステムに
おいて、可変長命令をローカル計算機命令に変換する方
法が提供される。この方法では、命令作成ユニットのレ
ジスタ手段に可変長命令を記憶し;このレジスタ手段に
結合する第1のマイクロエンジンにより、可変長命令の
第1の部分を苓 解読するともに第2の部分を有する可変長命令に対して
はその第2の部分も解読し;上記レジスタ手段と第1の
マイクロエンジンの出力に結合していて、第1のマイク
ロエンジンの入力に結合する出力を有する第2のマイク
ロエンジンによす、可変長命令の第1の部分を解読する
ことによってローカル計算機命令の第1の部分を生成し
;第1と第2のマイクロエンジンの複数の出力と上記レ
ジスタ手段にある可変長命令の第2の部分とに結合して
いて、第1のマイクロエンジンの入力に結合する出力を
有する演算手段により、演算を実行してローカル計算機
命令の第2の部分を生成する。
可変長命令の第1部分を解読するステップは、オペコー
ドフィールドの解読と、第2部分をもつ可変長命令のと
きに少なくとも1つのスペシファイアを解読することか
ら成っている。
実施例 第1図と第2図に、命令作成ユニット10(I PU 
: In5truction Preparation
 Unit )と、このユニット10を組み込んだパイ
プライン計算機システム24とをそれぞれ図示する。命
令作成ユニット10には、マイクロエンジン58とエグ
ゼクティブ・マイクロエンジンまたはアトリビュート生
成器60とが含まれており、この両者は相互接続され、
命令レジスタ50に記憶された可変長命令510入力を
並列に処理してローカル計算機命令68に変換する。両
マイクロエンジン58.60はたすき結合しており、各
マイクロエンジンの出力が他方のマイクロエンジンの入
力を規定し、条件付きで制御する。マイクロエンジン5
8.60は計算機システムを動かす上で最下位のレベル
の制御信号を発生するものである。可変長命令51(第
3A図参照)はオペコードのフィールド53と少なくと
も1つの規制詞(指定子)のフィールド55から成り、
これらのフィールドは両マイクロエンジンにて並列処理
される。すなわち、各マイクロエンジン58.60は命
令の異なる部分(フィールド)を同時に処理する。ただ
し、計算機システム24のある種の命令はオペコードだ
けでできており、規制詞は含まない。この場合、両マイ
クロエンジン58.60はともにオペコードを処理する
。両マイクロエンジンは密結合(tightly co
upled )ないし相互結合の関係をもだなければな
らず、各マイクロエンジンは相手方がどこでスタートし
たか、現在例を行っているか、どのような出力が予想さ
nるか、などについていつも知っていなければならない
。したがって、各々の命令解読作業を開始するときて、
各マイクロエンジン58.60の仕事の分担を決める必
要がある。また、命令の各部分は相互に依存しているの
で(例えば、オペコードに対する規制詞の評価長(5p
ecifier Evaluation I、engt
h )はこのν1」である)、各マイクロエンジンの処
理手順を進めるために、両マイクロエンジン58゜60
間でパラメータ(変数)の要求やパラメータの引き渡し
を行う必要がある。最後に、両マイクロエンジン58.
60は協働して、所要のローカル計算機命令(LCI)
68を発生する。命令のストリームは命令先取制御部(
In5tructionPrefetch (::on
trol )  70を通じてIPUIOに流し込まれ
る。すなわち、命令先取部70は次の命令メモリのフィ
ールドを取り込み(フェッチし)、現在の可変長命令5
1の実行がなされている間、この次の可変長命令フィー
ルドを命令レジスタ50へのロードのために待機させる
第1図において、マイクロエンジン580入力はマルチ
プレクサ54とその論理セレクタ63とにより制御され
、これにより、マイクロエンジン58の入力源が決めら
れる。マルチプレクサ54の入力源として8つの入力源
があり、どれが選択されるかは、セレクタ63からマル
チプレクサ54に与えられる3ビット信号により決まる
。これらの入力源(ソース)はマイクロエンジン58内
の制御記憶57メモ1.1 (8Kワード/109ビッ
ト)のアドレスを指定するものであり、これに対する制
御記憶部57の出力はレジスタ59に記憶される。すな
わちこれらのアドレスは、アトリビュート生成器60か
らの次マイクロエンジンアドレス76、マイクロエンジ
ン58自身からの次アドレス、命令レジスタ50からの
オペコード、規制詞デコーダ52からの解読された規制
詞など、制御ソースから与えられる。さらに演算部64
よリライン65を通じて与えられる。この演算部64は
、命令レジスタ50の規制詞フィールド55、マイクロ
エンジン58からの演算部アーギュメント、制御ライン
92)アトリビュート生成器60かもの演算部アーギュ
メント86からのデータに応じて計算結果を出力する。
演算部64の出力ライン67はLCIマルチプレクサ6
6に入力される。このLCIマルチプレクサ66にはア
トリビュート生成器60からのアーギュメント84出力
も入力され、これらの入力は、マイクロエンジン58か
らの制御信号94に従って選択され、58ピツトのロー
カル計算機命令となる。6フイールドをもつこのLCI
出力ワードのフォーマットを第4図に示す。
なおも第1図について説明すると、エグゼクティブ・マ
イクロエンジンないしアトリビュート生成器600Å力
は、マルチプレクサ56により制御されるようになって
おり、命令レジスタ50からのオペコード53か、アト
リビュート生成器60からの次アドレスが入力となる。
この入力は制御記憶部61のメモリ(4にワード159
ピツト)に送られ、それに対する制御記憶部61出力は
ア) IJビュート生成器60内のレジスタ62に記憶
される。アトリビュート生成器60はその人力KAG次
アドレスを帰還させており、このフィードバックにより
、アトリビュート生成器60は制御記憶メモリ61内の
プログラムを遂次読み出すことができるとともに、マイ
クロプログラムカウンタを用いての順次アドレス指定が
不要であって柔軟性が高い。また、オペコードの値は連
続するのが基本で、命令は可変長であるので、このアプ
ローチをとることにより、マイクロプログラムのアドレ
スの場所(記憶容素)を節約できる。アトリビュート生
成器60は制御信号82をマルチプレクサ56に与えて
2つの入力アドレスのいずれかを選択させる。さらにA
G 60はマイクロエンジン58のために、マイクロエ
ンジンアドレス76とマイクロエンジン制御信号78を
出力する。
アトリビュート生成器60のもう1つの出力である演算
部アーギュメント86は演算部64に送られる。さらに
アトリビュート生成器60はLCIアーギュメント信号
84をLCIマルチプレクサ66に送り、マイクロエン
ジン58と演算部64からの情報と協働してローカル計
算機命令68がつくられる。
第2図には、上記命令作成ユニット10を組み込んだパ
イプライン計算機システムが示されている。命令メモI
J(IM)16から得た情報を処理するパイプラインと
して、命令作成ユニット(IPU)10、これに結合す
るオペランド・ハンドラ・ユニット(OHU)12)及
びこれに結合する実行ユニツ)(EU)14がある。並
列アドレスバス22とデータバス23により、命令メモ
1J16、オペランドeハンドラ争ユニット12がデー
タメモリ18、I10プロセッサ20と相互接続される
。これらの処理ユニットによる処理結果が実行ユニット
14にある間は、命令に対する処理は必要ない。しかし
、処理結果をメモリに記憶させる必要が生じると、結果
はOHU 12に送り返され、OHU 12により所要
のメモリ書込カ行ワれる。IMI 6は所定のプログラ
ムを記憶するデュアルポート(2ポート)のリードオン
リメモ’)(ROM)である。1N・116の片方のポ
ートハ命令アドレスバス28と命令データバス26につ
ながっている。残る片方のポートは計算機アドレスバス
22と計算機データバス28につながっている。命令作
成ユニットがIMI6を読み出すときは、I Mメモリ
より命令データバス26を通じて64ビツトの情報が送
出されろ。計算機アドレスバス22によりIMI 6が
アドレス指定されたときは、1Mメモリ16より計算機
データバス23を通じて32ビツトのデータが送出され
る。
データメモIJ(DM)18は奇数/偶数インターレー
ス形メモリを構成するシングルポートのランダムアクセ
スメモリ(RAM)であり、奇数番地は第1のメモリモ
ジュールに置かれ、偶数番地は第2のメモリモジュール
に置かれる。メモリをアクセスすると、奇数と偶数のモ
ジュールが応答して、アドレスのLSBに従って、4バ
イトのメモリデータが取出し可能になる。メモリの論理
部が、メモリに読み書きすべき所要の連続バイトを選択
する。
上述したように、IPUIOは可変長命令51を受け、
それをローカル計算機命令68に変換する。オペランド
・ハンドラ・ユニット(OHU)12はIPUIOとE
U14が要求したメモリ読み書きを代行する。0H12
はEU14をメモリアクセスの仕事から解放しており、
その分EUの処理速度は上がる。さらに、OHUには、
IPUloとEU14間のパイプラインタイミングの差
に基づく競合(コンフリクト、衝突、Conflict
)の解消に必要な機能が集中化している。EU14はO
HU 12より送られてくる修正LCI (Mod−i
fied LCI )のフォーマットを実行するのに必
要な算術及び論理操作を行う。EU14は次の4種類の
算術操作を行うことができる。すなわち、2の補数、1
の補数、符号付き絶対値、2進化十進法(BCD )で
ある。EU14は3つの算術ユニット(AU)を備える
。最初のAUは2つのAUを並列構成したダブル32ピ
ット幅のAUである。2番目のAUは高速のマルチプレ
クサ/除算器であり、3番目AUは浮動小数点演算で用
いる指数演算ユニットである。
第3B図には、密結合(Tightly Couplo
d )のマイクロエンジン58とアトリビュート生成器
60が処理する対象である可変長命令の例として、2′
つのオペランドのロングワード(32ビツト)を加算(
ADD)する倍長加算命令を挙げであるので、これにつ
いて説明してみろ。ロングワード加算命令のオペコード
53は1バイトであり、その頭字語はADDL2である
。この加算は、(規制側1により定義される)レジスタ
3の内容と、(規制側2と、第3B図に示すように、4
バイトの規制側3,4,5.6によるディスプレイスメ
ントとにより定義されろ)レジスタ2の内容により与え
られるメモリアドレスの内容との加算である。命令作成
ユニット10はLOAD、ADD。
5TOREなどの基不オペコード操作を生み出す命令語
を評価し、データのフェッチやオペレーションの実行の
ためてイミディエートや最終アドレス値を求める。
パイプラインへの工PUIOの出力(第4図参照)はロ
ーカル計算機命令(LCI)68と呼ばれる。LCIは
6ピントのオペランド・ハンドラ・ユニット(OHU)
オペコード、10ビツトの実行ユニット(EU)オペコ
ード、5ビツトのEUレジスタアドレス、及び5ピツト
のEUアドレスあるいは32ビツトの絶対アドレスまた
は32ビツトのイミディエートのための各フィールドを
もっている。レジスタアドレスや絶対アドレスは、ソー
ス(5ource )かデスティネーション(Dest
ination )であるのに対し、イミディエートは
ソースのアーギュメントにしかならない。
さらに、LCI68ワードは、トレイル・シーケンス・
ナンバー(TSN : Trail Sequence
Number )をもっており、これはパイプラインの
計算機命令を識別する。
第1図に示す好適実施例において、IPUIOは命令レ
ジスタに記憶された命令(第3B図参照)を解読し、1
マイクロサイクル後にはLCI68出力をパイプライン
に送出する。すなわち、IPUIOは1マイクロサイク
ル内に、オペコードと後続する2つのオペランド規制側
(命令の種類による)を解読し、規制側評価命令(シス
テムの処理を進めるため、次のマイクロサイクルでパイ
プラインが使用する命令)を発生する。したがって、I
PUIOの解読ロジックに要求されることは、工ないし
7バイト命令の内容を1マイクロサイクルで調べ上げ、
次のマイクロサイクルで演算結果を出力することである
。このため、2つのマイクロエンジン58と60が命令
の異なる部分を同時に処理する。各々のマイクロエンジ
ンは相手側がどこからスタートしたか、何をしているか
、どの出力を出そうとしているかを知っている。こツタ
め、命令を開始する際、各マイクロエンジンが分担する
ロード(仕事)をどうするかが決定される。命令の各部
は互に依存しているので(例えば、規制詞評価長はオペ
コードに依存する)、両マイクロエンジン58.60間
でパラメータ(変数)の要求とその受け渡しを行わない
と、円部の処理シーケンスを進めることはできなくなる
。このため、片方のマイクロエンジン、すなわちアトリ
ビュート生成器60はタスクとパラメータをIPU制御
制御ルーチン用成用インマイクロエンジン58に発行す
る(ディスパッチする)。メインマイクロエンジン58
はエグゼクティブ・マイクロエンジン60より送られて
きたパラメータを使ってルーチンを実行し、パイプライ
ンのために所要のLCI 68を生成する。現在のルー
チンがマイクロエンジン58により実行されている間、
これと並行に次のルーチンのためのエグゼクティブ機能
が形成される。ルーチンを完了すると、マイクロエンジ
ン58はエグゼクティブ(アトリビュート生成器)60
に対し、処理すべき次のタスクのコマンド(及びそのタ
スクに必要なパラメータ)の発行を要求する。
オペコード53は命令の開始時に検査され、これにより
エグゼクティブeマイクロエンジン6゜の二ン) l)
・ポイントが決められる。エグゼクティブ60はメイン
・マイクロエンジン58に対し、命令の関数であるアト
リビュート(例えばデータ型、データ長、インデクス乗
数)を生成するところからアトリビュート生成器60と
呼ばれる。メインマイクロエンジン58は、オペコード
53あるいはオペコード53より定められる指定子55
をエントリポイントとして使用する。命令に規制側が付
いていない場合や、最初の規制側の評価がなされる前に
仕事が完了した場合は、オペコードによりエントリが決
まる。その他のケースでは、規制側によりエントリが決
まる。規制側エントリに関し、命令に1つの指定子しか
付かないケースや、2つの規制側の評価結果を1個のL
CI68につめこめないときは、オペコードに続く規制
側が評価される。最初の2つの規制側の評価結果を1個
のLCI 68にパックできるときは、この2つの規制
側の評価値がエントリポイントを決める。オペコードや
規制側に対する最初の評価後は、規制側1個ずつのベー
スで規制側評価が行われる。
使用した命令フォーマットでは、規制側55だけではオ
ペレーションは特定されず、アトリピュ−ト変更疋係る
オペコード53に依存する。この例として、レジスタ間
接インデクス規制詞付きのADD命令がある。この場合
、インデクス修飾(Index Modifier )
 2)処理すべきデータ長はオペコードにより決まる。
マイクロエンジン58で実行される規制側評価ルーチン
は、すべての命令に対する一般ルーチン(Generi
c Routi−nes)のセットとみなし得る。この
ため、アトリビュート生成器60からマイクロエンジン
58とLCI 68出力部に対して、オペコードに依存
する(オペコードの関数である)所要のアーギュメント
(引数)を供給することが必要になる。
演算部(Ca1culator ) 64が必要とする
アトリビュートは、オペコードと規制側相対位置の双方
により変化する。さらに1同一パラメータであっても、
マイクロエンジン58のルーチンの途中で変化する必要
がある。アトリビュート生成器はマイクロエンジン58
の動作のために、以下に示すマイクロエンジン制御情報
78を生成する。
1、インデクス乗算に必要なコードのシフト2)バイト
とワード長のための符号エクステント制御(Sign 
Extend (::ontrol )3、浮動小数点
制御 4、 クワッドワード(64ビツト)の第20ングワー
ドのためのイミディエートデータ整合制御(Align
 工m+nediate Data Control)
さらに、アトリビュート生成器60は、例外検出(Ex
ception Detection)のため、すべて
の規制詞に対するメモリアクセスタイプのアーギュメン
ト(引数)を生成する。
例えば、第3B図の第2規制詞に対しては、メモリ書込
アクセスタイプのアーギュメントが必要である。マイク
ロエンジン58がその規制側評価の際にイミディエート
のオペレーション(すなわち、イミディエートの書込処
理)を検知すると、アクセスのタイプに従って例外ルー
チンが開始される。アトリビュート生成器60にしかわ
からない場合、次の規制詞の長さを示す情報も出力され
る。この例として、分岐命令(すなわち、指定子が付い
てなくてバイトψディスプレイスメントが後続する命令
)がある。この次の規制詞の長さによりプログラムカウ
ンタがインクリメントされる。
マイクロエンジン58は一般規制詞評価ルーチンを完了
した後どこに進むべきかを(次ベクトルを)決定しなけ
ればならない。これは、サブルーチンの最後に行うリン
ケージ復帰と似た操作である。したがって、マイクロサ
ブルーチンのスタックは明らかに不要である。もう1つ
のベクトル解釈は、次ベクトルを、エグゼクティブより
コマンドとして与えられる次オペレーションとみること
である。アトピュート生成器60より送られてくるこの
コマンドをでより、マイクロエンジン58は以下に示す
オペレーションに移ることができる。
1、新しい命令の評価 2)マイクロエンジン58の次の一般命令規制詞の評価 3 アトリビュート生成器60の定めたアドレスに基づ
く次の命令規制詞の評価 44マイクロエンジン58をアトリビュート生成器60
が定めたアドレスに向けること(ベクトル化) 5、マイクロエンジン58が定めた次アドレスにベクト
ル化 「新しい命令の評価」は現在の命令の最後で使用され、
オペコードまたは規制詞のエントリ処理を再起動する。
後続規制詞の評価が求められるときは、2つのベクトル
のどちらかで起動される。
1つは一般規制詞評価のエントリポイントであり、もう
1つは特別規制側評価のエントリポイントである。特別
指定子評価のエントリポイントにおいては、後続指定子
を、コンパイラにより作成された指定子の型に従って、
別の仕方で評価することができる。この技術を使えば使
用頻度の高い指定子に対する処理サイクルを1サイクル
以上節約することができ、したがって、命令の評価をス
ピードアップできる。
マイクロエンジン58がタスク上の判断ポイントに達し
たとき、アトリビュート生成器60はマイクロエンジン
58に対し、そのタスクを続行すべきか、制御記憶部5
7の別のポイン)Kジャソブすべきかを指示できる。こ
れは、マイクロエンジン58が決めたアドレスを使用す
ることにより、あるいは、ア) IJビュート生成器6
0が定めたアドレスを使用することによりそれぞれ達成
される。
アトリビュート生成器60が指定したアドレスは一般規
制詞の評価の後で使用され、別の一般規制詞ルーチン(
マイクロエンジン58内の命令指定マイクロコード)を
呼び出す。
第4図に示すように、マイクロエンジン58とアトリビ
ュート生成器60の双方がLCI 68の生成にあずか
る。第4図のフィールド1,2.4は両エンジンにより
生成される部分であり、マイクロエンジン58の制御の
もとにLCIマルチプレクサの選択によりフィールド別
につくられる。
フィールド1の実行ユニッ)(EU)14用オペコード
は、マイクロエンジン58の継続処理のときはマイクロ
エンジン58により、処理中の命令に依存する一般規制
詞評価のときはアトリビュート生成器60により、生成
される。フィールド2を占めるオペランド・ハンドラ・
ユニット(OHU)用オペコードは、継続処理のときは
マイクロエンジン58により、命令が要求する長さとア
クセスモードに依存する一般規制詞のときはアトリビュ
ート生成器60により生成されろ。フィールド3を占め
るトレイル・シーケンス番号はパイプの命令を識別する
ためのもので、誤ったジャンプのときにパイプをフラッ
シング(flushing )するのに用いられる。こ
れにより、EU14が命令の境(In5tructio
n Boundaries )を認識できるわけである
。2ビツトのフィールド5は32ビツトのフィールド6
の解釈を指定する。フィールド4にある5ピツトのレジ
スタアドレスはマイクロエンジン58の制御のもとに4
つのソースをもつ。
そのうち2つは規制側1と2のレジスタ番号であり、命
令のストリームから直接与えられるものである。残り2
つの入力は2つのマイクロエンジン58と60により生
成されるレジスタ番号である。
通常のマイクロエンジン継続処理のときはマイクロエン
ジン58がこのレジスタ番号を生成し、マイクロエンジ
ン58には未知の一般規制詞の場合などではア) IJ
ピュート生成器60が生成する。
マルチプレクサ54の制御はLCIパラメータの引き渡
し制御とみることができる。これにより、マイクロエン
ジンは自身のパラメータを使うか、あるいはアトリビュ
ート生成器60からのパラメータを受け取ることにより
LCI 68を指定することができる。マイクロエンジ
ン58が発生するAG制御信号90はア) IJビュー
ト生成器60をインクリメントするのに用いられる。ア
トリビュート生成器60に送られるこの制御信号は、新
しいアーギュメントあるいは入力をアトリビュート生成
器60に要求する要求信号とみることができる0 2つのマイクロエンジン、すなわちメイン・マイクロエ
ンジン58とアトリビュート生成器60とのインターラ
クンヨンを明らかにするため、簡単な入力命令の解釈、
ここではロングワードのソースオペランドをスタックに
格納する命令(PSHLG命令)の処理について説明し
てみよう。第5図KPSHLG命令の命令フォーマット
を示す。この命令は1バイトのオペコード(PSHLG
)の後にロングワードのソースオペランド規制側が付い
ている。ソースオペランドは、アドレッシングモードに
より1バイトか2バイトであり、ディスプレイスメント
(偏位)アドレッシングモードが指定されているときに
は、1か2か4バイトのディスプレイスメントがそれに
続く。
P S HL G 命令は、スタックポインタをデクリ
メントした後、スタックポインタの示す場所にソースオ
ペランドを格納するオペレーションである。
この命令を実行するため、IPUIOはオペコードとソ
ース指定子を評価し、算出したソースオペランドをEU
14の一時記憶レジスタ(’l’emporaryRe
gister )に書き込む。続いてIPUIOはEU
14にスタックポインタをデクリメントさせ、その場所
に一時記憶レジスタの内容(ソースオペランド)を書き
込ませる。IPUloの命令評価は前の実行サイクルに
対してパイプライン化されているため、インデクスなし
のオペランド規制側命令の実行には2サイクルを要する
。最初のサイクルでオペコードと規制側を評価して、E
U14の一時記憶レジスタに書き込まれる最初のLCI
68を作成する。第2サイクルではEU14が命令を完
了するためのLCI 68を作成する。
第6図に、PSHLG命令のマイクロコードのフローチ
ャートを示す。最初に1マイクロエンジン58は、P 
S HL M G M Oで示す一般ルーチンにおいて
、この命令の規制側評価に入るアトリビュート生成器6
0は、ルーチンPSHLGAGOにおいてこの命令のオ
ペコードに入ろ。マイクロエンジン58は一般規制詞を
評価し、LCI68のフィールド6にイミディエートま
たはメモリ最終参照アドレスを置き、フィールド5には
オペランドの型を置く。さらに、マイクロエンジン58
はア) IJビュート生成器60からの要求に従ってそ
の池のフィールドをイネーブルする。イミディエート(
即値)のときは、マイクロエンジン58より0HU12
に対し、そのままの値でEU14に渡すように指示する
オペコードが発行されろ。メモリ参照の場合は、マイク
ロエンジン58の制御のもとに、アトリビュート生成器
60から0HU12にロングワード読み出しのオペコー
ドが送られる。アトリビュート生成器60はアーギュメ
ントを生成し、これがLCI 68の浅りを形成する。
すなわち、ア) IJビュート生成器60はフィールド
1用に[一時記憶部への書込(Move to Tem
−porary ) Jを指示するEU14オペコード
を生成し、フィールド2用に「ロングワードの読み出し
く Read Longword ) Jを指示するO
HU 12オペコードを生成し、フィールド4用KEU
14の一時記憶レジスタの番号を生成する。さらに、ア
トリビュート生成器6旧吏、マイクロエンジン58が次
のサイクル(PSHLGMI )で使用するアドレスベ
クトルを作成するとともに、そのベクトルにマイクロエ
ンジン58を向ける制御コードを作成する。PSHLG
MOにおける一般規制詞評価の完了時にマイクロエンジ
ン58はLCI68をイネーブルし、アトリビュート生
成器からの制御コードとアドレスベクトル(次アドレス
)を取り込む。さらに、マイクロエンジン58は、この
アドレスベクトルの使用後、アトリビュート生成器60
をインクリメントして次のサイクル(PSHLGAGl
 )Oて進ませる。
次のサイクルでは、スタックポインタをデクリメントし
、スタックにロングワードを格納するためのLCI 6
8を作成する仕事は、もっばらマイクロエンジン58の
PSHLGMI で行われる0PSHLGAGIに進ん
だアトリビュート生成器60は次の新しい命令のLCI
 68のために、フィールド3のトレイル・シーケンス
番号をインクリメントする情報を作成する。マイクロエ
ンジン58.60のいずれも、新しい命令の評価のため
に内部の次マイクロアドレスをセットアツプする。
このPSHLG命令の例は、マイクロエンジン58と6
0との間の「密結合(Tightly Coup−1e
d)jオペ−ジョンと並列動作とを明らかにしたもので
あり、これによって命令実行時間を高速化しているので
ある。
以上で実施例の説明を終えるが、本発明の趣旨を逸脱す
ることなく種々の変更、変形が答易なことは明白である
。例えば、各マイクロエンジン58.60内の制御記憶
部57.61の大きさはローカル計算機命令に変換すべ
き可変長命令に関係していることがらにすぎない。
最後に、本発明の実施態様の一例を示す。
(1)計算機システムの命令作成ユニットにおいて、可
変長命令を記憶するための命令レジスタ手段と、 上記レジスタ手段に結合し、可変長命令の第1部分を解
読するとともに、第2部分が付いている可変長命令の尚
該第2部分を解読する第1のマイクロエンジン手段と: 上記命令レジスタ手段に結合するとともに、第1のマイ
クロエンジン手段の出力に結合する入力と、第1のマイ
クロエンジン手段の入力に結合する出力とを備え、可変
長命令の第1部分を解読してローカル計算機命令の第1
部分を生成する第2のマ・イクロエンジン手段と、 第1と第2のマイクロエンジン手段の複数の出力と上記
命令レジスタ手段内の可変長命令の第2部分とに結合す
る入力と、第1のマイクロエンジン手段の入力に結合す
る出力とを備え、演算を実行してローカル計算機命令の
第2部分を生成する演算手段と、 上記命令レジスタ手段の出力に結合し、既に取り込んで
ある可変長命令フィールドの処理中に次の可変長命令を
先取りすることにより、上記命令レジスタ手段に命令の
ストリームを与える命令先取制御手段と、 を有する命令作成ユニット。
(2)第1項記載の命令作成ユニットにおいて、可変長
命令の第1部分はオペコードのフィールドから成り、第
2部分の付いた可変長命令の尚該第2部分は少なくとも
1つの指定子のフィールドから成ること。
(3)第1項記載の命令作成ユニットにおいて、第1の
マイクロエンジンと第2のマイクロエンジンは相互接続
されており、すなわち、第1のマイクロエンジンの出力
が第2のマイクロエンジンの入力に結合し、第2のマイ
クロエンジンの出力が第1のマイクロエンジンの入力に
結合する構成であって、各マイクロエンジンは相手側の
マイクロエンジンの入力の生成と条件付き制御を行うこ
と0 (4)第2項記載の命令作成ユニットにおいて、第1の
マイクロエンジン手段は、複数のアドレス源入力を備え
るマルチプレクサ手段を通じてアドレスを受け取ること
、そして、上記複数のアドレス源のなかには、上記レジ
スタ手段と第2のマイクロエンジンからのアドレス源が
含まれること。
(5)第4項記載の命令作成ユニットにおいて、上記マ
ルチプレクサ手段は、 第1のマイクロエンジン、第2のマイクロエンジン、及
び命令のオペコード部から送られてくる制御信号に従っ
て、上記複数のアドレス源のいずれか1つを選択する論
理セレクタ を有すること。
(6)第1項記載の命令作成ユニットにおいて、第1の
マイクロエンジンは制御記憶手段を有すること、 この制御記憶手段からの出力は第1のマイクロエンジン
・レジスタ手段に格納されること。
(7)第1項記載の命令作成ユニットにおいて、第2の
マイクロエンジンは制御記憶手段を有すること、 この制御記憶手段からの出力は第2のマイクロエンジン
・レジスタ手段に格納されること。
(8)命令とデータを記憶するためのメモリ手段と、上
記メモリ手段に結合し、可変長命令をローカル計算機命
令に変換する命令作成手段と、上記命令作成手段に結合
し、上記メモリ手段への情報及び上記メモリ手段からの
情報の転送を行うとともに計算機システム内のパイプラ
インのタイミング競合を解消するオペランド・ハンドラ
手段と、 上記オペランド・ハンドラ手段に結合し、算術及び論理
演算を実行する実行手段と、 上記メモリ手段、上記オペランド・ハンドラ手段、及び
上記実行手段を相互接続し、これらの手段間でアドレス
とデータの情報を転送するためのバス手段と、 を有するパイプライン計算機システムにおいて、上記命
令作成手段が、 可変長命令を記憶するための命令レジスタ手段と、 上記レジスタ手段に結合し、可変長命令の第1部分を解
読するとともに、第2部分が付いている可変長命令の当
該第2部分を解読する第1のマイクロエンジン手段と。
上記命令レジスタ手段に結合するとともに、第1のマイ
クロエンジン手段の出力に結合する入力と、第1のマイ
クロエンジン手段の入力に結合する出力とを備え、可変
長命令の第1部分を解読してローカル計算機命令の第1
部分を生成する第2のマイクロエンジン手段ト、 第1とg2のマイクロエンジン手段の複数の出力と上記
命令レジスタ手段内の可変長命令の第2部分とに結合す
る入力と、第1のマイクロエンジン手段の入力に結合す
る出力とを備え、演算を実行してローカル計X機命令の
第2部分を生成する演算手段と、 を有することを特徴とするパイプライン計算機システム
(9)第8項記載のパイプライン計算機システムにおい
て、 可変長命令の第1部分はオペコードのフィールドから成
り、第2部分の付いた可変長命令の当該第2部分は少な
くとも1つの指定子のフィールドから成ること。
(10)第8項記載のパイプライン計算機システムにお
いて、 第1のマイクロエンジンと第2のマイクロエンジンは相
互接続されており、すなわち、第1のマイクロエンジン
の出力が第2のマイクロエンジンの入力に結合し、第2
のマイクロエンジンの出力が第1のマイクロエンジンの
入力に結合する構成であって、各マイクロエンジンは相
手側のマイクロエンジンの入力の生成と条件付き制御を
行うこと0 (11)第8項記載のパイプライン計算機システムにお
いて、 上記命令作成手段はさらに、 上記命令レジスタ手段に結合し、既(/i:取り込んで
ある命令フィールドの処理中に次の可変長命令フィール
ドを先取りすることにより上記命令作成手段に命令スト
リームを与える命令先取制御手段を、 有すること。
(12)第8項記載のパイプライン計算機システムにお
いて、 第1のマイクロエンジンは制御記憶手段を有すること、 この制御記憶手段からの出力は第1のマイクロエンジン
ムレジスタ手段に格納されること。
(13)第8項記載のパイプライン計算機システムにお
いて、 第2のマイクロエンジンは制御記憶手段を有すること、 この制御記憶手段からの出力は第2のマイクロエンジン
・レジスタ手段に格納されること。
(14)命令作成ユニットにより可変長命令をローカル
計算機命令に変換する方法であって、可変長命令を上記
命令作成ユニットの命令レジスタ手段に記憶するステッ
プと、 上記命令レジスタ手段に結合する第1のマイクロエンジ
ン手段により、可変長命令の第1部分を解読するととも
に、第2部分の付いた可変長命令の当該第2部分を解読
するステップと、上記命令レジスタ手段に結合するとと
もに、第1のマイクロエンジン手段の出力に結合する入
力と、第1のマイクロエンジン手段の入力に結合する出
力とを備える第2のマイクロエンジン手段により、可変
長命令の第2部分を解読してローカル計算機命令の第1
部分を生成するステップと、第1と第2のマイクロエン
ジン手段の複数の出力と上記命令レジスタ手段にある可
変長命令の第2部分とに結合する入力と、第1のマイク
ロエンジン手段の入力に結合する出力とを備える演算手
段により、演算を実行してローカル計算機命令の第2部
分を生成するステップと、 から成る方法。
(15)第15項記載の方法において、可変長命令の第
1部分を解読する上記ステップは、オペコードのフィー
ルドを解読することであり、第2部分の付いた命令に対
する描該第2部分の解読では少なくとも1つの指定子の
フィールドを解読すること。
(16)命令作成ユニットにより可変長命令をローカル
計算機命令に変換する方法であって、可変長命令を上記
命令作成ユニットの命令レジスタ手段に記憶するステッ
プと、 上記命令レジスタ手段に結合する第1のマイクロエンジ
ン手段により、可変長命令の第1部分を解読するととも
に、第2部分の付いた可変長命令の当該第2部分を解読
するステップと、上記命令レジスタ手段に結合するとと
もに、第1のマイクロエンジン手段の出力に結合する入
力と、第1のマイクロエンジン手段の入力に結合する出
力とを備える第2のマイクロニンジン手段により、可変
長命令の第2部分を解読してローカル計算機命令の第1
部分を生成するステップと、第1と第2のマイクロエン
ジン手段の複数の出力と上記命令レジスタ手段:である
可変長命令の第2部分とに結合する入力と、第1のマイ
クロエンジン手段の入力に結合する出力とを備える演算
手段により、演算を実行してローカル計算機命令の第2
部分を生成するステップと、 上記命令レジスタ手段に結合する命令先取制御手段によ
り、既にフェッチした命令フィールドの処理中に、次の
可変長命令フィールドを先取りすることによって、上記
命令レジスタ手段に命令のストリームを与えるステップ
と、 から成る方法。
(17)第16項記載の方法において、可変長命令の第
1部分を解読する上記ステップは、オペコードのフィー
ルドを解読することであり、第2部分の付いた命令に対
する当該第2部分の解読では少なくとも1つの指定子の
フィールドを解読すること。
【図面の簡単な説明】
第1図は不発明の実施例に係る命令作成ユニツトのブロ
ック図、 第2図は第1図の命令作成ユニットを組み込んだパイプ
ライン計算機システムのブロック図、i3A図はオペコ
ードのフィールドと最大N個のオペランド規制詞のフィ
ールドとから成る可変長命令(第1図の命令作成ユニッ
トにより解読される命令)のフォーマットを示す図、 第3B図は可変長命令が2つのオペランドをもつロング
ワード加算命令のときのフォーマットを示す図、 第4図は命令作成ユニットにより生成されたローカル計
算機命令(LCI)の出力フォーマントを示す図、 第5図は可変長命令が、ロングワード・ソースオペラン
ドのスタックへのブツシュ64(PSHLG)のときの
命令フォーマットを示す図、 第6図はPSHLG命令に対するマイ゛クロコードのフ
ローチャートであり、命令実行時におけるマイクロエン
ジンとアトリビュート生成器の並列動作を明らかにした
図である。 (外4名)

Claims (7)

    【特許請求の範囲】
  1. (1)計算機システムの命令作成ユニットにおいて、 可変長命令を記憶するための命令レジスタ手段と、 上記レジスタ手段に結合し、可変長命令の第1部分を解
    読するとともに、第2部分が付いている可変長命令の当
    該第2部分を解読する第1のマイクロエンジン手段と、 上記命令レジスタ手段に結合するとともに、第1のマイ
    クロエンジン手段の出力に結合する入力と、第1のマイ
    クロエンジン手段の入力に結合する出力とを備え、可変
    長命令の第1部分を解読してローカル計算機命令の第1
    部分を生成する第2のマイクロエンジン手段と、 第1と第2のマイクロエンジン手段の複数の出力と上記
    命令レジスタ手段内の可変長命令の第2部分とに結合す
    る入力と、第1のマイクロエンジン手段の入力に結合す
    る出力とを備え、演算を実行してローカル計算機命令の
    第2部分を生成する演算手段と、 を有する命令作成ユニット。
  2. (2)特許請求の範囲第1項記載の命令作成ユニットに
    おいて、 可変長命令の第1部分はオペコードのフィールドから成
    り、第2部分の付いた可変長命令の当該第2部分は少な
    くとも1つの規制詞のフィールドから成るユニット。
  3. (3)特許請求の範囲第1項記載の命令作成ユニットに
    おいて、 第1のマイクロエンジンと第2のマイクロエンジンは相
    互接続されており、すなわち、第1のマイクロエンジン
    の出力が第2のマイクロエンジンの入力に結合し、第2
    のマイクロエンジンの出力が第1のマイクロエンジンの
    入力に結合する構成であつて、各マイクロエンジンは相
    手側のマイクロエンジンの入力の生成と条件付き制御を
    行うユニット。
  4. (4)特許請求の範囲第2項記載の命令作成ユニットに
    おいて、 第1のマイクロエンジン手段は、複数のアドレス源入力
    を備えるマルチプレクサ手段を通じてアドレスを受け取
    り、そして、上記複数のアドレス源のなかには、上記レ
    ジスタ手段と第2のマイクロエンジンからのアドレス源
    が含まれるユニット。
  5. (5)特許請求の範囲第4項記載の命令作成ユニットに
    おいて、 上記マルチプレクサ手段は、 第1のマイクロ、エンジン、第2のマイクロエンジン、
    及び命令のオペコード部から送られてくる制御信号に従
    つて、上記複数のアドレス源のいずれか1つを選択する
    論理セレクタ を有するユニット。
  6. (6)特許請求の範囲第1項記載の命令作成ユニットに
    おいて、 第1のマイクロエンジンは制御記憶手段を有し、 この制御記憶手段からの出力は第1のマイクロエンジン
    ・レジスタ手段に格納されるユニット。
  7. (7)特許請求の範囲第1項記載の命令作成ユニットに
    おいて、 第2のマイクロエンジンは制御記憶手段を有し、 この制御記憶手段からの出力は第2のマイクロエンジン
    ・レジスタ手段に格納されるユニット。
JP16625487A 1986-07-02 1987-07-02 計算機システムの命令作成ユニット Pending JPS6314239A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US88130186A 1986-07-02 1986-07-02
US881301 1986-07-02

Publications (1)

Publication Number Publication Date
JPS6314239A true JPS6314239A (ja) 1988-01-21

Family

ID=25378197

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16625487A Pending JPS6314239A (ja) 1986-07-02 1987-07-02 計算機システムの命令作成ユニット

Country Status (3)

Country Link
EP (1) EP0251716A3 (ja)
JP (1) JPS6314239A (ja)
CA (1) CA1271561A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2499765A (en) * 2010-12-09 2013-08-28 Ibm Multicore system and core data reading method

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630082A (en) * 1993-10-29 1997-05-13 Advanced Micro Devices, Inc. Apparatus and method for instruction queue scanning
US5978871A (en) * 1997-04-14 1999-11-02 International Business Machines Corporation Method of layering cache and architectural specific functions for operation splitting
US6061755A (en) * 1997-04-14 2000-05-09 International Business Machines Corporation Method of layering cache and architectural specific functions to promote operation symmetry
GB2367651B (en) * 2000-10-05 2004-12-29 Advanced Risc Mach Ltd Hardware instruction translation within a processor pipeline

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3651482A (en) * 1968-04-03 1972-03-21 Honeywell Inc Interlocking data subprocessors
US3953833A (en) * 1974-08-21 1976-04-27 Technology Marketing Incorporated Microprogrammable computer having a dual function secondary storage element
JPS58146941A (ja) * 1982-02-26 1983-09-01 Hitachi Ltd マイクロプログラム制御デ−タ処理装置
DE3271123D1 (en) * 1982-06-08 1986-06-19 Ibm Deutschland Circuits in the control part of a microprogrammable processor for direct hardware execution of selected instructions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2499765A (en) * 2010-12-09 2013-08-28 Ibm Multicore system and core data reading method
GB2499765B (en) * 2010-12-09 2014-02-19 Ibm Multicore system and method of reading the core data

Also Published As

Publication number Publication date
EP0251716A2 (en) 1988-01-07
EP0251716A3 (en) 1990-07-25
CA1271561A (en) 1990-07-10

Similar Documents

Publication Publication Date Title
US4890218A (en) Variable length instruction decoding apparatus having cross coupled first and second microengines
US5371860A (en) Programmable controller
US5233694A (en) Pipelined data processor capable of performing instruction fetch stages of a plurality of instructions simultaneously
EP0352103B1 (en) Pipeline bubble compression in a computer system
US5006980A (en) Pipelined digital CPU with deadlock resolution
JP2834289B2 (ja) マイクロプロセッサ
JPS63273134A (ja) マクロ命令パイプラインを用いてマイクロ命令を変更する方法及び装置
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPH0429093B2 (ja)
KR100254007B1 (ko) 2개의 명령을 동시에 실행할 수 있는 데이타프로세서
JPH10134036A (ja) マルチメディア信号プロセッサの単一命令多重データ処理
US5313644A (en) System having status update controller for determining which one of parallel operation results of execution units is allowed to set conditions of shared processor status word
JPH0823818B2 (ja) 命令群用マイクロコード生成装置及びコンピュータにおける組合せ装置
JPH02140830A (ja) 高速cpuにおけるマイクロ命令スタックのアドレス指定方法および装置
JP3578883B2 (ja) データ処理装置
JPS6014338A (ja) 計算機システムにおける分岐機構
JPH07120284B2 (ja) データ処理装置
US5185870A (en) System to determine if modification of first macroinstruction to execute in fewer clock cycles
US5390306A (en) Pipeline processing system and microprocessor using the system
JPS6314239A (ja) 計算機システムの命令作成ユニット
US6925548B2 (en) Data processor assigning the same operation code to multiple operations
US5590293A (en) Dynamic microbranching with programmable hold on condition, to programmable dynamic microbranching delay minimization
JPH10143494A (ja) スカラ/ベクトル演算の組み合わせられた単一命令複数データ処理
KR19980018071A (ko) 멀티미디어 신호 프로세서의 단일 명령 다중 데이터 처리
US5983344A (en) Combining ALU and memory storage micro instructions by using an address latch to maintain an address calculated by a first micro instruction