JPS6322336B2 - - Google Patents

Info

Publication number
JPS6322336B2
JPS6322336B2 JP58064648A JP6464883A JPS6322336B2 JP S6322336 B2 JPS6322336 B2 JP S6322336B2 JP 58064648 A JP58064648 A JP 58064648A JP 6464883 A JP6464883 A JP 6464883A JP S6322336 B2 JPS6322336 B2 JP S6322336B2
Authority
JP
Japan
Prior art keywords
control
instruction
register
mode
macro
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
JP58064648A
Other languages
English (en)
Other versions
JPS58219644A (ja
Inventor
Chirinsukii Heruberuto
Yotsuto Getsutsurafu Kurausu
Hatsuju Yohan
Yosefu Reetsu Furantsu
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS58219644A publication Critical patent/JPS58219644A/ja
Publication of JPS6322336B2 publication Critical patent/JPS6322336B2/ja
Granted 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/3017Runtime instruction translation, e.g. macros
    • 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/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
    • 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
    • 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/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag

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)

Description

【発明の詳細な説明】 〔技術分野〕 本発明はマイクロプログラム制御のプロセツサ
における命令実行方式に係り、特にハードウエア
によつて直接制御される命令実行方式に係る。
〔発明の背景〕
マイクロプログラム制御のプロセツサにおいて
は、主記憶から読出されたマクロ命令(機械命令
ともいう)を実行するために、そのOPコードを
用いて制御記憶がアクセスされる。制御記憶には
マクロ命令実行用のマイクロルーチンが書込まれ
ており、通常はマクロ命令のOPコードによつて
その開始アドレス、即ち先頭マイクロ命令のアド
レスがまず読出される。このアドレスは制御記憶
アドレス・レジスタへロードされ、それにより最
初のマイクロ命令が読出される。
制御記憶から読出されたマイクロ命令に基い
て、レジスタやゲートなどのハードウエアを制御
するデータフロー制御信号がどのようにして発生
されるかは、マイクロ命令の型によつて異なる。
周知のように、マイクロ命令は水平型と垂直型
に分けられる。水平型マイクロ命令は、基本的に
は、その各ビツトが直接データフロー制御信号と
して使用され、従つてデコーダは不要である。し
かし、制御されるべきハードウエアの数が多くな
ると、それに応じて水平型マイクロ命令のビツト
数を増やす必要があり、場合によつては数百ビツ
トに達するから、その分だけ制御記憶の容量も大
きくしなければならない。また水平型マイクロ命
令の全ビツトのうち、実際にデータフロー制御信
号として使用されるのは何%かに過ぎないから、
制御記憶のかなりの領域が無駄になる。
これに対して、垂直型マイクロ命令はマクロ命
令に似ており、OPコードとアドレス・フイール
ドを含んでいる。従つて、垂直型マイクロ命令か
らデータフロー制御信号を発生する為にはデコー
ダが必要である。また垂直型マイクロ命令は、そ
の性質上、同時に制御できるハードウエアの数が
制限されるので、或る処理を行う場合に、水平型
マイクロ命令であれば1つですむところを、2つ
以上の垂直型マイクロ命令を実行しなければなら
ないことがある。
上述のように、水平型マイクロ命令及び垂直型
マイクロ命令には各々一長一短があり、従つてこ
れまでは用途に応じて使い分けられていた。
上述とは別に、1971年6月に発行されたIBM
Technical Disclosure Bulletinの第14巻第1号
の第298頁に掲載されている論文は、回路数をそ
れ程増やすことなくマイクロプログラム制御のプ
ロセツサの処理速度を上げるために、マクロ命令
及びマイクロ命令のフオーマツトを同じにするこ
とを提案している。それによれば、レジスタ・ロ
ード命令や主記憶書込み命令のような簡単なマク
ロ命令はマイクロ命令の助けを借りずに直接実行
され、浮動小数点命令のような複雑なマクロ命令
はマイクロ命令によつて実行される。マクロ命令
を実行する際には、まずそのOPコードを検査す
ることによつて、当該マクロ命令が直接実行型か
否かが調べられ、それに応じて命令制御ユニツト
がマイクロ・モード又はマクロ・モードに設定さ
れる。マイクロ・モードの場合は、制御記憶を含
む通常のマイクロプログラム制御ユニツトである
解釈ユニツトに制御権が渡される。
これの欠点は、プロセツサのアーキテクチヤ及
び命令セツトの設計に融通性が欠けることと、マ
クロ命令実行の度にOPコードを検査しなければ
ならない分だけ処理速度が遅くなることである。
〔発明の目的〕
本発明の目的は、処理速度の向上及び回路の簡
単化を図ると共に、広範囲の命令セツトに応用が
きく命令実行方式を提供することにある。
〔発明の概要〕
本発明は制御記憶を有するマイクロプログラム
制御のプロセツサに適用されるもので、実行すべ
き命令に関連する制御ワードを制御記憶の所定の
記憶域に書込んでおくと共に、命令の実行モード
がハードウエア制御モードかマイクロプログラム
制御モードかを表わすフラグを各制御ワードに付
加しておき、命令実行のために制御記憶から関連
する制御ワードを読出したときにそのフラグがハ
ードウエア制御モードを表わしていれば制御ワー
ドの各ビツトをデータフロー制御信号として直接
使用することを特徴としている。
なお、制御記憶から読出された制御ワードのフ
ラグがマイクロプログラム制御モードを表わして
いた場合には従来のやり方で命令を実行すればよ
い。例えば、命令実行のためのマイクロルーチン
の開始アドレスをマイクロプログラム制御モード
の制御ワードとして使用できる。
〔実施例の説明〕
第1図はマイクロプログラム制御のプロセツサ
に含まれる制御ユニツトの一部を示したもので、
ハードウエアの直接制御によつて特定の処理を行
えるようになつている。ハードウエアの直接制御
を受けるのは、例えばマクロ命令についての命令
フエーズ(Iフエーズ)及び特定の実行フエーズ
(Eフエーズ)である。
ユーザ・プログラム及びデータは主記憶
(MS)1に記憶される。そこから読出されたマ
クロ命令は、ゲート12及び13を通つてマクロ
命令レジスタ5へロードされる。マクロ命令レジ
スタ5はマクロ命令のOPコード並びに2つのア
ドレス・フイールドA1及びA2を保持する。マ
クロ命令をマイクロプログラム制御のもとで実行
する場合、そのOPコードは、制御記憶(CS)2
に記憶されている対応するマイクロルーチンを呼
出すために、ゲート10を通つて制御記憶アドレ
ス・レジスタ(CSAR)3にも送られる。マクロ
命令のOPコードによつてCS2から読出される制
御ワードは、当該マイクロルーチンの開始アドレ
ス即ち最初のマイクロ命令のアドレスである。図
には示していないが、このアドレスはCSAR3へ
送られ、それによりマクロ命令を実行するための
マイクロルーチンの先頭命令がマイクロ命令レジ
スタ6へ読出される。後続のマイクロ命令は、例
えばCSAR3の内容を増分回路(+1)4で1ず
つ増分し、ゲート11を介してCSAR3へ戻すこ
とによつて、CS2から順次に読出される。
マイクロ命令レジスタ6へ読出されたマイクロ
命令はゲート19を通つて命令デコーダ7へ送ら
れる。命令デコーダ7は命令実行に必要なデータ
フロー制御信号Kiを発生する。これらの制御信
号は、サイクル・カウンタによつて表示される命
令サイクル・タイムTiと関連付けられる。サイ
クル・カウンタにはマクロ・サイクル・カウンタ
MCC(第12図)及びマイクロ・サイクル・カウ
ンタμCC(図示せず)があり、それらによつて表
示されるサイクル・タイム信号がゲート18及び
20を通つて命令デコーダ7へ供給される。命令
デコーダ7の入力部における破線は、通常のマイ
クロプログラム制御モードでの入力を表わしてい
る。第1図に示した制御ユニツトの特徴は、通常
のマイクロプログラム制御モードの他に、特定の
処理がハードウエアの直接制御のもとに実行され
るハードウエア制御モードを採用したことにあ
る。モードの切替えはモード制御ビツトMCBに
より行われる。本実施例では、モード制御ビツト
MCBは、CS2からマイクロ命令レジスタ6のビ
ツト位置0へ読出されるようになつている。
マイクロ命令レジスタ6中のモード制御ビツト
MCBが“1”に設定されていると、モード・ラ
ツチ8がセツトされて、ハードウエア制御モード
を表わすHCM信号を発生する。HCM信号はゲ
ート14〜18をすべて付勢する。第1図から明
らかなように、ゲート17が付勢されると、命令
デコーダ7はマイクロ命令の代りにマクロ命令の
OPコードを受取る。これは、マクロ命令がマイ
クロ命令の助けを借りずに直接実行されることを
意味する。
マクロ命令を直接実行する場合には、CS2か
らマイクロ命令を読出す必要はない。そのとき、
マクロ命令のOPコードによつてCS2から読出さ
れる制御ワードはハードウエア制御ワード(以
下、「HCW」を略称)である。マイクロ命令レ
ジスタ6へ読出されるHCWはマイクロ命令と同
じく16ビツト(ビツト0〜15)であるが、その
うちビツト1〜15が3つのグループに分けられ
て、各々データフロー制御信号K1〜K5として
直接使用される。K1〜K5の発生はマイクロ命
令のOPコードの解読に比べて極めて速い。本実
施例では、最初の3サイクルT1〜T3がHCW
で制御されている。サイクルT1〜T3は、第1
2図に示したマクロ・サイクル・カウンタ(以
下、「MCC」と略称)31によつて表示される。
命令デコーダ7も、最初の5個の制御信号K1
〜K5を発生しなくてよいので、その分だけ回路
が簡単になる。ハードウエア制御モードにおいて
は、命令デコーダ7はマクロ命令のOPコードを
解読することによつて、関連するサイクル・タイ
ムTiのための残りの制御信号K6〜Knを発生す
る。
次に第2図を参照しながら、第1図の制御ユニ
ツトにおける命令実行について説明する。最初の
サイクル1では、マクロ命令AがMS1からマク
ロ命令レジスタ5へ読出され、同時にそのOPコ
ードがCSAR3へ送られる。MCC31はT0に
セツトされる。
サイクル2(MCC=T1)では、マクロ命令
AのためのHCWがCS2からマイクロ命令レジス
タ6へ読出され、マクロ命令Aの実行の間そこに
保持される。
HCWのフオーマツトを第3図に示す。前述の
ように、ビツト0はモード制御ビツトMCBとし
て使用される。MCB=0であれば、制御ユニツ
トは通常のマイクロプログラム制御モードで動作
し、MCB=1であればハードウエア制御モード
で動作する。ビツト1〜5、6〜10及び11〜
15は各々サイクル・タイムT1、T2及びT3
においてデータフロー制御信号K1〜K5として
使用される。K1〜K5は対応する。サイクル・
タイムのときに付勢されるゲート14〜16から
出力される。
第1図では、ゲート14〜20は水平線で示さ
れているだけであるが、その実際の構成は例えば
第11図のようになつている。第11図は、各々
3本の線b1〜b3、c1〜c3から成る母線
B,Cをサイクル・タイムT1,T2で切替える
ゲートの例である。このゲートは、一方の入力に
信号入力線が接続され且つ他方の入力にクロツク
線が接続された6個のゲート素子Gで構成されて
いる。図から明らかなように、サイクル・タイム
T1では母線Cがゲートされ、サイクル・タイム
T2では母線Bがゲートされる。
データフロー制御信号K1〜K5を出力するゲ
ート14〜16の具体的構成を第4図に示す。ゲ
ート14〜16は全部で15個のゲート素子Gから
成り、それらの第1入力にはHCM信号が印加さ
れる。前述のように、ハードウエア制御モードを
表わすHCM信号は、マイクロ命令レジスタ6中
のモード制御ビツトMCBが“1”のときにセツ
トされるモード・ラツチ8から発生される。各ゲ
ート素子Gの第2入力はマイクロ命令レジスタ6
の対応するビツト位置に接続される。ゲート14
を構成するゲート素子Gの第3入力はMCC31
(第12図)のT1出力線に接続され、ゲート1
5を構成するゲート素子Gの第3入力はT2出力
線に接続され、ゲート16を構成するゲート素子
Gの第3入力はT3出力線に接続される。かくし
て、HCM信号が発生されていれば、サイクル・
タイムT1では、マイクロ命令レジスタ6へ読出
されたHCWのビツト1〜5がゲート14を通つ
てデータフロー制御信号K1〜K5として出力さ
れ、サイクル・タイムT2では、ビツト6〜10
がゲート15を通つてK1〜K5として出力さ
れ、サイクル・タイムT3では、ビツト11〜1
5がゲート16を通つてK1〜K5として出力さ
れる。
上述の構成は、発生されるべきデータフロー制
御信号が比較的少数の場合に効果がある。マクロ
命令を直接実行するためのHCWはCS2中のOP
コード・テーブル26(第5図)に含まれてい
る。マクロ命令のOPコードが8ビツトの場合、
OPコード・テーブル26はCS2のアドレス
X′0000′からX′00FF′(「X」は16進表示を意味す
る)まで及ぶ。
OPコード・テーブル26の中には、HCWの他
に、マクロ命令を実行するためのマイクロルーチ
ンの開始アドレスも含まれている。これらの開始
アドレスは、通常のマイクロプログラム制御モー
ドのとき(MCB=0)にCS2から読出され、次
いで特定のマイクロルーチンの先頭命令が読出さ
れる。このようなマイクロプログラム制御モード
は既によく知られているので、詳細については省
略する。
マクロ命令を直接実行するためにより多くのデ
ータフロー制御信号を同時に発生する必要がある
場合には、第6図の構成が適している。第1図と
の違いには、マイクロ命令レジスタ6へ読出され
たHCWのビツト1〜15がゲート30を通つて
同時にデータフロー制御信号K1〜K15として
出力されることにある。命令デコーダ7からは、
残りのn―15個のデータフロー制御信号K16〜
Knが発生される。ただし、第1図の実施例と同
じく、ハードウエア制御モードにマクロ命令を直
接実行するためには、HCWの各ビツト(ビツト
0を除く)をデータフロー制御信号K1〜K15
として直接出力しなければならないが、マクロ命
令レジスタ5にあるマクロ命令のOPコードを解
読することによつて残りのK16〜Knを発生す
ることは必らずしも必要ではない。要は、プロセ
ツサの設計及び直接実行されるべきマクロ命令に
応じて、K1〜K15,K1〜K5及びK16〜
Kn,K6〜Knの組合せを適切に選ぶことが大切
である。
第6図の実施例でマクロ命令Aを直接実行する
場合の命令サイクルの一例を第7図に示す。サイ
クル・タイムT1,T2及びT3で各々別のハー
ドウエア制御ワード#1HCW、#2HCW及び
#3HCWが使用される点が第2図と異なつてい
る。第2図の例では、1つの同じHCWからデー
タフロー制御信号K1〜K5が3回発生されてい
た。言うならば、第2図は単一ワード・モードの
動作を示し、第7図は多重ワード・モードの動作
を示している。各HCWのフオーマツトは第8図
のようになつており、ビツト1〜15とデータフ
ロー制御信号K1〜K15との間に各々1対1の
対応関係がある。
マクロ命令Aを直接実行するための#2HCW
及び#3HCWのアドレスは第9図の回路から与
えられる。第9図に示したCSAR3は、下位アド
レス・ビツト0〜7を保持する下位部分3aと、
上位アドレス・ビツト8〜15を保持する上位部
分3bとに分けられる。第1図の場合と同じく、
マクロ命令の1バイトのOPコードがゲート10
を通つて、CSAR3の下位部分3aへロードされ
る。上部部分3bの入力側に設けられているゲー
ト27は、HCM信号によつて付勢されたとき
に、上位アドレス・ビツト8〜15を与える追加
アドレスAOCを通過させる。
単一ワード・モードにおいては、第5図のOP
コード・テーブル26はマイクロルーチン開始ア
ドレスの他に、必要なすべてのHCWを含んでい
るが多重ワード・モードにおいては、OPコー
ド・テーブル26は、マイクロルーチン開始アド
レスの他に#1HCWだけを含んでおり、それに
続く#2HCW、#3HCWなどはOPコード・テー
ブル26以外の特定の記憶位置に書込まれてい
る。第10図の例で説明すると、或るマクロ命令
を直接実行するための#1HCW(1)はOPコード・
テーブル26中のアドレスX′003A′のところに書
込まれているが、それに続く#2HCW(1)及び
#3HCW(1)は各々アドレスX′013A′及び
X′023A′のところに書込まれている。他のマクロ
命令を直接実行するための#1HCW(2)、
#2HCW(2)及び#3HCW(2)も同様である。
#1HCW、#2HCWなどのアドレスを上述の
ように決めておくと、第9図の回路で追加アドレ
スAOCを1ずつ増分することによつて、後続の
HCWをアクセスすることができる。
第7図において、マクロ命令Aを直接実行する
ための最初の#1HCWをCS2から読出す方法は
前と同じである。即ち、最初のサイクル1(T0)
でマクロ命令AのOPコードがCSAR3のビツト
位置0〜7へロードされ(ビツト位置8〜15は
X′00′)、それがアドレス・デコーダ28で解読さ
れて、次のサイクル2(T1)で#1′HCWがCS2
からマイクロ命令レジスタ6へ読出される。
#1HCWのビツト1〜15は、現サイクル・タ
イムがT0でないことを表わすMCC31(第1
2図)からの0信号のよつて付勢されるゲート
30を通つて、データフロー制御信号K1〜K1
5として同時に出力される。勿論、#1HCWの
ビツト0即ちモード制御ビツトMCBは“1”に
設定されており、それによつてセツトされたモー
ド・ラツチ8がHCM信号を発生している。
次のサイクル3,T3で読出されるべき
#2HCWのアドレスは、モード・ラツチ8から
のHCM信号によつて付勢されるゲート27を介
して、例えばX′01′の追加アドレスAOCをCSAR
3の上位部分3bヘロードすることにより与えら
れる。CSAR3の下位部分3aは、マクロ命令A
の実行の間、そのOPコードを保持している。
#2HCWのアドレスはサイクル2,T1の間に
生成されるが、#2HCWがマイクロ命令レジス
タ6へ読出されるのはサイクル3,T2である。
最後の#3HCWも同様にして読出される。マク
ロ命令Aの実行が終ると、MS1から次のマクロ
命令A+1が読出される。
最後に第12図を参照しながら、T0〜TLの
各クロツク信号、サイクル・タイムがT0でない
ことを表わす制御信号0及び追加アドレス
AOCを発生するMCC31について説明する。
本実施例のMCC31は、リセツト入力Rによ
りリセツトされ、パルス発生器22からの出力パ
ルスにより歩進する2進カウンタ21を含む。2
進カウンタ21は段0〜nから成り、そのカウン
ト値を母線29を介してデコーダ23へ供給す
る。母線29上のカウント値は追加アドレス
AOCとしても使用され得る。デコーダ23はサ
イクル・タイムT0〜TLに対応するL+1本の
出力線を持つており、母線29上のカウント値に
応じて、そのうちの1本を付勢する。ただし、デ
コーダ23の出力線は常に最後のTLまで付勢さ
れるわけではなく、マクロ命令の実行が終つた時
点でリセツト入力Rが2進カウンタ21へ印加さ
れるようになつている。第2図及び第7図の例で
は、デコーダ23の出力線はT3までしか付勢さ
れていない。
制御信号0は、サイル・タイムT0に対応す
るデコーダ23の出力線に接続された反転器24
から発生され、例えば第6図のゲート30へ印加
される。
CSAR3の内容を1ずつ増分する増分回路4を
用いて追加アドレスAOCを発生することも可能
である。その場合、CSAR3の上位部分3bの内
容が1ずつ増分されることになる。
以上のように、本発明に従えば、HCWを使用
することによつて、マクロ命令を効率よく実行す
ることができる。例えば、RR形式の命令のよう
に短いマクロ命令の場合は、HCWだけでよい、
また、RX形式やSS形式の命令の場合は、短時間
で行う必要があるアドレス計算にHCWを使用す
るのが望ましい。実行終了までに多く(例えば5
以上)のサイクル・タイムを必要とするマクロ命
令の場合は、HCWによつて直接発生されるデー
タフロー制御信号と通常の解読によつて発生され
るデータフロー制御信号とを組合せればよい。
【図面の簡単な説明】
第1図は本発明の第1実施例を示すブロツク
図、第2図は第1実施例における命令実行サイク
ルを示すグラフ、第3図は第1実施例で使用され
るHCWのフオーマツトを示すブロツク図、第4
図はマイクロ命令レジスタ6及びゲート14〜1
6の詳細を示す回路図、第5図は第1実施例にお
けるCS2の記置内容を示すブロツク図、第6図
は本発明の第2実施例を示すブロツク図、第7図
は第2実施例における命令実行サイクルを示すグ
ラフ、第8図は第2実施例で使用されるHCWの
フオーマツトを示すブロツク図、第9図は第2実
施例におけるCSAR3の詳細を示す回路図、第1
0図は第2実施例におけけるCS2の記憶内容を
示すブロツク図、第11図はゲートの一例を示す
回路図、第12図はMCC31の回路図である。

Claims (1)

  1. 【特許請求の範囲】 1 実行すべきマクロ命令を保持するマクロ命令
    レジスタと、前記マクロ命令を実行するためのマ
    イクロ命令を記憶する制御記憶と、該制御記憶か
    ら読出されたマイクロ命令を保持するマイクロ命
    令レジスタと、該マイクロ命令レジスタに保持さ
    れているマイクロ命令を解読してデータフロー制
    御信号を発生する命令デコーダとを備えたマイク
    ロプログラム制御のプロセツサにおいて; 実行すべきマクロ命令に関連する制御ワードを
    前記制御記憶の所定の記憶域に書込んでおくと共
    に、当該マクロ命令の実行モードがハードウエア
    制御モードかマイクロプログラム制御モードかを
    表わすフラグを各制御ワードに付加しておき、マ
    クロ命令実行のために前記制御記憶から関連する
    制御ワードを前記マイクロ命令レジスタへ読出し
    たときにそのフラグが前記ハードウエア制御モー
    ドを表わしていれば、該制御ワードの各ビツトを
    データフロー制御信号として直接使用し、更に前
    記ハードウエア制御モードを表わすフラグに応答
    して前記マクロ命令レジスタに保持されているマ
    クロ命令のOPコードを前記命令デコーダへ送る
    ゲート手段を設けたことを特徴とする命令実行方
    式。
JP58064648A 1982-06-08 1983-04-14 命令実行方式 Granted JPS58219644A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP82105015.0 1982-06-08
EP82105015A EP0097725B1 (de) 1982-06-08 1982-06-08 Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen

Publications (2)

Publication Number Publication Date
JPS58219644A JPS58219644A (ja) 1983-12-21
JPS6322336B2 true JPS6322336B2 (ja) 1988-05-11

Family

ID=8189080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58064648A Granted JPS58219644A (ja) 1982-06-08 1983-04-14 命令実行方式

Country Status (7)

Country Link
US (1) US4631663A (ja)
EP (1) EP0097725B1 (ja)
JP (1) JPS58219644A (ja)
AU (1) AU553612B2 (ja)
CA (1) CA1191615A (ja)
DE (1) DE3271123D1 (ja)
ES (1) ES8405175A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8404480D0 (en) * 1984-02-21 1984-03-28 Int Computers Ltd Microprogram control
EP0333235A3 (en) * 1984-10-01 1989-11-23 Unisys Corporation Programmable data path width in a programmable unit having plural levels of subinstructions sets
DE3587326T2 (de) * 1984-10-01 1993-11-18 Unisys Corp Programmierbare Datenpfadbreite in einer programmierbaren Einheit mit mehreren Niveaus von Unterbefehlssätzen.
US4825363A (en) * 1984-12-05 1989-04-25 Honeywell Inc. Apparatus for modifying microinstructions of a microprogrammed processor
US4791560A (en) * 1985-07-31 1988-12-13 Unisys Corporation Macro level control of an activity switch in a scientific vector processor which processor requires an external executive control program
CA1271561A (en) * 1986-07-02 1990-07-10 Jeffry M. Bram Instruction decoding microengines
US4812989A (en) * 1986-10-15 1989-03-14 Amdahl Corporation Method for executing machine language instructions
US5235686A (en) * 1987-02-24 1993-08-10 Texas Instruments Incorporated Computer system having mixed macrocode and microcode
US5005118A (en) * 1987-04-10 1991-04-02 Tandem Computers Incorporated Method and apparatus for modifying micro-instructions using a macro-instruction pipeline
US5185870A (en) * 1987-04-10 1993-02-09 Tandem Computers, Inc, System to determine if modification of first macroinstruction to execute in fewer clock cycles
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
JPH02183830A (ja) * 1988-12-21 1990-07-18 Internatl Business Mach Corp <Ibm> マイクロプログラム変換機構を有するコンピュータ
US5241636A (en) * 1990-02-14 1993-08-31 Intel Corporation Method for parallel instruction execution in a computer
US7356809B1 (en) * 1991-03-01 2008-04-08 Intel Corporation Programmable interpretive virtual machine
US6138273A (en) * 1991-03-01 2000-10-24 Intel Corporation Programmable interpretive virtual machine
US5226164A (en) * 1991-04-24 1993-07-06 International Business Machines Corporation Millicode register management and pipeline reset
US5740420A (en) * 1995-10-26 1998-04-14 Advanced Micro Devices, Inc. System and method for compiling and executing sequences of macro and micro instructions
US5864689A (en) * 1995-12-05 1999-01-26 Advanced Micro Devices, Inc. Microprocessor configured to selectively invoke a microcode DSP function or a program subroutine in response to a target address value of branch instruction
US5898850A (en) * 1997-03-31 1999-04-27 International Business Machines Corporation Method and system for executing a non-native mode-sensitive instruction within a computer system
EP0926589A1 (en) * 1997-12-24 1999-06-30 STMicroelectronics S.r.l. Processor having internal control instructions
US7225436B1 (en) 1998-12-08 2007-05-29 Nazomi Communications Inc. Java hardware accelerator using microcode engine
US6332215B1 (en) 1998-12-08 2001-12-18 Nazomi Communications, Inc. Java virtual machine hardware for RISC and CISC processors
US20050149694A1 (en) * 1998-12-08 2005-07-07 Mukesh Patel Java hardware accelerator using microcode engine
US6826749B2 (en) 1998-12-08 2004-11-30 Nazomi Communications, Inc. Java hardware accelerator using thread manager
EP1197847A3 (en) * 2000-10-10 2003-05-21 Nazomi Communications Inc. Java hardware accelerator using microcode engine
US8769508B2 (en) 2001-08-24 2014-07-01 Nazomi Communications Inc. Virtual machine hardware for RISC and CISC processors
US7782564B2 (en) 2006-08-03 2010-08-24 International Business Machines Corporation Methods for enabling functionality in multi-modal data storage systems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5748137A (en) * 1980-09-03 1982-03-19 Fujitsu Ltd Data processor

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2015272A1 (de) * 1970-03-31 1971-10-21 Siemens Ag Programmleitwerk für eine digitale Datenverarbeitungsanlage
IT951233B (it) * 1972-04-07 1973-06-30 Honeywell Inf Systems Sistema di comando di un calcola tore mediante microprogrammazione ed estensione dinamica delle fun zioni di controllo ottenuta da reti logiche
IT995721B (it) * 1973-10-10 1975-11-20 Honeywell Inf Systems Italia Apparato per l interpretazione di codici di funzione in calcolatori microprogrammati e per l indirizza mento indipendente di fasi inter pretative ed esecutive di micro programma
FR2253435A5 (ja) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US4075687A (en) * 1976-03-01 1978-02-21 Raytheon Company Microprogram controlled digital computer
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
DE2657404B2 (de) * 1976-12-17 1978-09-28 Siemens Ag, 1000 Berlin Und 8000 Muenchen Steuerwerk
DE3009121C2 (de) * 1980-03-10 1982-02-18 Siemens AG, 1000 Berlin und 8000 München Mikroprogramm-Steuereinrichtung
US4376976A (en) * 1980-07-31 1983-03-15 Sperry Corporation Overlapped macro instruction control system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5748137A (en) * 1980-09-03 1982-03-19 Fujitsu Ltd Data processor

Also Published As

Publication number Publication date
DE3271123D1 (en) 1986-06-19
AU1530783A (en) 1983-12-15
CA1191615A (en) 1985-08-06
EP0097725A1 (de) 1984-01-11
JPS58219644A (ja) 1983-12-21
ES522699A0 (es) 1984-05-16
US4631663A (en) 1986-12-23
AU553612B2 (en) 1986-07-24
EP0097725B1 (de) 1986-05-14
ES8405175A1 (es) 1984-05-16

Similar Documents

Publication Publication Date Title
JPS6322336B2 (ja)
US4156925A (en) Overlapped and interleaved control store with address modifiers
GB1274830A (en) Data processing system
US4027291A (en) Access control unit
GB1318231A (en) Data-processing systems
US3958221A (en) Method and apparatus for locating effective operand of an instruction
US4446517A (en) Microprogram memory with page addressing and address decode in memory
US4467415A (en) High-speed microprogram control apparatus with decreased control storage requirements
JPH071479B2 (ja) 中央処理装置の制御記憶装置及びマクロ命令用のマイクロ命令を実行装置に与える方法
US4370729A (en) Microprogram sequencer
JPH0346850B2 (ja)
JPH0124655Y2 (ja)
CA1099415A (en) Rom initializing apparatus
JPS6112288B2 (ja)
US4635188A (en) Means for fast instruction decoding for a computer
US4034345A (en) Microprogrammable computer data transfer architecture
JP2680828B2 (ja) ディジタル装置
US5165039A (en) Register file for bit slice processor with simultaneous accessing of plural memory array cells
US3397391A (en) Compact storage control apparatus
JPH0218729B2 (ja)
JP2731618B2 (ja) エミュレータ
JP3057732B2 (ja) 情報処理装置
SU1151961A1 (ru) Устройство микропрограммного управлени
JPS6015969B2 (ja) マイクロ命令アドレス生成方式
JPS6112577B2 (ja)