JPS61134840A - マイクロプログラム プロセツサの制御装置 - Google Patents

マイクロプログラム プロセツサの制御装置

Info

Publication number
JPS61134840A
JPS61134840A JP60269538A JP26953885A JPS61134840A JP S61134840 A JPS61134840 A JP S61134840A JP 60269538 A JP60269538 A JP 60269538A JP 26953885 A JP26953885 A JP 26953885A JP S61134840 A JPS61134840 A JP S61134840A
Authority
JP
Japan
Prior art keywords
register
bit
microinstruction
instruction
operand
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
Application number
JP60269538A
Other languages
English (en)
Other versions
JPH0812598B2 (ja
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.)
Honeywell Inc
Original Assignee
Honeywell Inc
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 Honeywell Inc filed Critical Honeywell Inc
Publication of JPS61134840A publication Critical patent/JPS61134840A/ja
Publication of JPH0812598B2 publication Critical patent/JPH0812598B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/30185Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode

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)
  • Microcomputers (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はプロセッサに関する。更に特定すれば、マイク
ロ命令レジスタに保持されたマイクロ命令の実行におい
て、演算装置(ALU)を制御するための制御信号を発
生する制御装置に関する。
〔従来の技術〕
プロセッサは、算術命令、レフト命令、論理命令、デー
タ操作命令などの種々の命令を実行する。これらの命令
はメモリーメモリ命令、メモリーレジスタ命令、レジス
ターレジスタ命令などに分類できる。更に、タイプ1命
令、タイプ2命令などに分類されよう。各タイプの命令
は、対応する命令フォーマットを持つ。今日マイクロプ
ログラマブルマイクロ プロセッサのマクロ命令の実行
には種々の方法が用いられている。例えば、ファームウ
ェアプログラムあるいはルーチン(すなわち命令群)を
マイクロ命令群を格納しているコントロールストアすな
わちコントロールメモリに買〈方法がある。最初に、マ
クロ命令の命令コードがデコードされると、ファームウ
ェアルーチンの1つが呼び出されて実行される。データ
操作形のマクロ命令のよう表所足のタイプのマクロ命令
に対しては、基本動作は複数のマクロ命令に対して共通
に成り得る。例えば、′論理値10ビットテスト”や“
論理値Oのピットテスト”などである。特定の命令に基
づいて、対応するマイクロプログラムルーチンへの分岐
が行われる。そのマイクロプログラムは、特電の命令を
実行し、指定されたピッ)?テストするであろう。これ
を実現するには、数個のマイクロ命令を実行する必要が
あシ、また、これらのマイクロ命令をコントロールスト
アに格納しておく必要がある。
〔発明が解決しようとする問題点〕
コントロールストアの大きさとマクロ命令の実行に必要
なマイクロ命令の数を減少させ、結果としてより高速の
実行速度を得るのが望ましい。
〔問題点を解決するための手段〕         1
本発明は、マイクロ命令をコントロールストアからフェ
ッチし、マイクロ命令レジスタに転送するときに、マイ
クロ命令を修正するものである。マイクロ命令の所定の
フィールドは、基本命令コードの変化を指定するマクロ
命令の所定のフイールrで修正され、それにより基本動
作を修正し、マクロ命令の実行時間を減少させ、結果と
してマクロ命令の実行速度を速くする。
本発明により、マイクロプログラマブルマイクロプロセ
ッサの制御装置が提供される。マイクロプログラマブル
マイクロプロセッサは、制御装置、演算装置(ALU)
および関連するレジスタ群を含み、予め定義された命令
セットの各命令を実行する。各命令はオペランドフィー
ルドと命令コーPフィールドをもつ。
本発明の制御装置は、複数のマイクロ命令を格納するコ
ントロールストアを含む。
トランスレーションニレメン)ハ、3J在実行中の命令
のオペランドフィールドが入力されるように表っている
入力端子をもち、命令のオペランドフィールPのフォー
マットによって表わされる情報をマイクロ命令語のフォ
ーマットに適合した情報に変換する。すなわちマイクロ
命令語がコントロールストアからフェッチされるときに
・、そのマイクロ命令語の修正のために変換されたオペ
ランドデータを出力する。
スイッチングエレメントは、フェッチされたマイクロ命
令の予め選択された部分を受けるたメニ、コントロール
ストアに動作上接続されている第1の組の入力端子をも
ち、更に、変換されたオペランドデータを受けるように
トランスレ・−ジョンエレメントに動作上接続されてい
る第2の組の入力端子をもつ。このスイッチングエレメ
ントは、選択信号に応答して、フェッチされたマイクロ
命令語の予め選択された部分と変換されたオペランドデ
ータのいずれかを選択し、選択されたデータを出力する
レジスタは選択されたデータを受けるためにスイッチン
グエレメントに動作上接続され、更にフェッチされたマ
イクロ命令語のスイッチングエレメントによる選択を受
けない部分が入力されるようにコントロールストアに動
作上接続されている。このレジスタは現在実行中のマイ
クロ命令を保持する。
したがって、本発明の目的は、マイクロ命−6−。
令がコントロールストアからフェッチされるとき、それ
を修正する制御装置を提供することにある。
他の目的は、マイクロ命令がコントロールストアからフ
ェッチされるときマクロ命令からの所定のフィールPに
より、そのマイクロ命令を修正するマイクロプログラマ
ブルプロセッサの制御装置を提供することにある。
本発明のこれらの目的およびその他の目的は、以下の記
述および図面を参照することにより、より明白になるで
あろう。記述および図面において、類似した文字、記号
は、類似したものを表わす。
〔実施例〕
第1図は、本発明の制御装置20を含むマイクロプログ
ラマブルマイクロプロセッサ(以下マイクロプロセッサ
と略記する)10の実施例のブロック図で、マイクロプ
ロセッサ10は、メモリデータレジスタ(MDレジスタ
)101、メモリアドレスレジスタ(MAレジスタ)1
02を含む。MDレジスタ、MAレジスタはメモリノ々
ス103を経て、メモリ〔図示されていない〕とインタ
ーフェースしている。実施例のマイクロプロセッサ10
はAQタイプのプロセッサであり、Aレジスタ104、
専用のメモリ ロケーションを利用したQレジスタ(図
示されていない)およびBレジスタ105を含む。プロ
グラムカウンタ106およびシフトカウンタ107は、
マイクロプロセッサ10の命令の総合的な制御と実行を
するのに利用される。ALUI 10は、制御装置20
の制御の下に種々の演算を実行する。本実施例では、 
ALUlloはTTL Io 74F181である。A
LU1100A入力およびB入力は、Aレジスタ104
、Bレジスタ105、MDレジスタ101、MAレジス
タ102からのオペランドデータおよびにノ々スを経て
にレジスタ115からのデータがそれぞ    1れA
−MUXI 11、B−MUXll 2を通って入力さ
れるように結合されている。(ALUI 10のA入力
、B入力の線に示される数24は、本実施例で用いられ
る線のビット数を示す。本実施例の図には、この表示法
が用いられる。)7一 本実施例の制御装置20は、マイクロプロセッサ10の
マクロ命令セットを実現するのに利用されるマイクロ命
令をストアする48ビット制御用ROM201を含む。
制御用ROM201は、マイクロ命令の一部として、あ
る種のマイクロ命令を実行するときに定数FROM 2
03から得られる定数を含む。制御用ROM 201か
らの12ビツトはMUX 202の第1の入力に結合さ
れている。12ビツトの第2のグループはフィールドプ
ログラマブルロジックアレイ(FPLAと略記する)2
04からMUX 202の第2の入力に結合されている
。MUX 202の12ビツト出力は、制御用R,OM
 201からの36ビツトとともにマイクロ命令レジス
タ205に結合されている。
啼イクロ命令レジスタ205とデコーダ206の出力は
、ALU 110などの種々のユニットに結合され、こ
れらのユニットを制御する制御信号となる。選択信号5
RLBOT(206)によりMUX202の第2の入力
を選択することにより、制御用ROM 201から読取
られるマイクロ命令の所足のビットが修正される。それ
によりマイクロ命令レジスタ205へ転送されるマイク
ロ命令は、異なる(すなわち修正された)コントロール
インジケータの組、すなわち修正動作のための制御信号
の修正された組が与えられる。マイクロ命令の修正すれ
る12ビツトの一部は、マクロ命令ノオペランドフィー
ルドにより決足される。MAレジスタ102に一時的に
ストアされるオペランドフィールドは、FPLA 20
4に結合されている。
FPLA2041d、そのオペランドデータをマイクロ
命令の制御ビットにデコードする。制御用ROM201
は、MAレジスタ1020ビット1〜12、マイクロ命
令の次命令アドレスフィールド、または、マクロOPコ
ードレジスタ120によって与えられるアドレスによっ
てアドレスされる。
本実施例では、データ操作およびビットテスト形の命令
に対して実施されるので、テストフリップ−フロップ制
御ロジック207とテストフリップ−フロップ208が
含まれている。FPLA204からの4ビツトは、AL
U 110からのALUテスト出力信号と24 : I
Aレジスタ■■113の出力信号とともにテスト フリ
ップ−フロップ制御ロジック207に結合されている。
本実施例のマイクロプロセッサ−0は、第1表に示され
る5種類の命令を定義している。
第  1  表 タイプ1:AレジスタとT8TF(テスト フリップフ
ロップ)に関係するレジスタ操作命 令 タイプ2:入出力およびある種の内部機械命令タイプ3
:AおよびQレジスタ操作命令1’4”j4:フルオペ
ランド命令 タイプ5:メモリにあるプログラムを実行する拡張機能
(擬似)命令 と\では、本発明の制御装置の修正機能を利用するタイ
プ1命令に特に関心がある。タイプ1命令の実行におい
てマイクロプロセッサ−0に要求される動作を説明する
前に、マイクロプロセッサ−0の一般的な説明をしよう
第2図は、タイプ1命令語の命令フォーマットを示す。
本実施例のマイクロプロセッサ10け、24ビット命令
語を利用する。上位6♂ツト(♂シト18−23)は、
マクロ命令コードに利用される。インデックス修飾可能
な命令のビット15−17はインデックスレジスタを指
定するのに用いられる。ビット0−14はオペランドフ
ィールドを定義する。タイプ4命令においては、オペラ
ンドはオペランドデータのメモリアドレスを定義する。
タイプ1命令においては、R,フィールドは、命令コー
ドの基本動作の変形を定義する。テストフィールド(ビ
ット5)は、テスト動作が含まれるかどうかを定義し、
Kフィールド(ビット0−4)はテストされるべきビッ
トを指定する。テストされるべき実効ビットは、Kフィ
ールドとインデックスフィールドの関数である。   
IKフィールドはインデックス修飾を受けられるからで
ある。
第3図は、本実施例のマイクロプロセッサ10のマイク
ロ命令語のフォーマットを示す。修正ビットは、FPL
A204によって供給される。
マイクロ命令語のビット35−40とビット8−13は
FPLA204によって修正される。マイクロ命令語の
ビット35−39は、ALU 110の制御に利用され
、マイクロ命令語のビット40は、ALUの行先のため
に利用される。ビット40はAレジスタ104を指定す
る。次マイクロ命令アドレスはマイクロ命令語のビット
6−17によって与えられる。
さて、マイクロプロセッサ10の基本動作について説明
する。マイクロプロセッサlOの第1サイクルの間に、
命令がメモリ(図示されていない)からフェッチされ、
MDレジスタ101にストアされる。上位6ビツト(ビ
ット18−23)はOPコードレジスタ120にも入れ
られる。これら6ビツトは基本命令(すなわちマクロ)
OPコードを構成する。この第1サイクルの一部として
、命令は相対アドレシングあるいはインデックス修飾の
結果としてアドレスあるいは命令の修飾を受ける。この
動作の結果は、MA入レジスタ02に格納される。OP
コードレジスタ120から供給される命令コードに基づ
き、制御用ROM201に格納されているファームウェ
アルーチンが、OPコードレジスタ120の内容に基づ
き64通りの分岐を実行する。これによりマイクロプロ
セッサ10064種の基本命令コードの1つを実行する
に必要なルーチンにファームウェアを方向づける。以上
の動作はマイクロプロセッサ10の全ての命令の実行に
共通である。
この時までに、命令の下位18ピツトがMA入レジスタ
02にストアされている。オペランドデータをメモリか
らフェッチすることが必要な命令の場合は、メモリアド
レスがM入レジスタにストアされている。
タイプ1命令においては、MA入レジスタ02の下位1
5ピツトはFPLA 204 K、−転送される。MA
入レジスタ02の下位5ビツトはまた24:IAレジス
タMUX 113への入力と10+F24ビツトマスク
114から出力されるマスクを選択するのに用いられる
最初のマイクロ命令は、8FiLBOT(206)を指
定する。これは、現在フェッチされつ\ある次のマイク
ロ命令がFPLA204の出力によって修正されること
を許す。フェッチされ、修飾されつつあるマイクロ命令
は、常にソースとしてAレジスタとにノ々スを、行先の
1つとしてBレジスタを指定する。FPL人204の1
2ビツト出力は、マイクロ命令の13ピツトを置き換え
、あるいはセットするのに用いられる。FPLAの出力
5ビツトは、マイクロ命令のビット35−39と置き換
えられる。これらのビットはALUの実行すべき動作を
足義する。FPLA出力の1ビツトはマイクロ命令のビ
ット40と置き換えられ、このビットはAレジスタがA
LU 110の出力のデスティネーションかどうかを決
定する。FPLA204の出力の残り5ビツトは、マイ
クロ命令のビット8−12と置き換えられる。これらの
ビットは、次のマイクロ命令の一部を形成し、ファーム
ウェアを種々のタイプ1命令の実行を完了させるに必要
な種々のルーチンに方向づけるのに用いられる。フェッ
チされ、マイクロ命令レジスタ205へ転送されるマイ
クロ命令が修正され、その結果ALU】IOの動作は適
当な動作に1更される。タイプ1命令の大多数は修正さ
れたマイクロ命令がその実行を完了したときに完了する
であろう。完了しないタイプ1命令は修正されたマイク
ロ命令によりその特定のタイプ1命令を完了させる適当
なルー°チンに方向づけられるであろう。
第4図はF’PLA204とMUX 202の論理図で
ある。
FPLA204は2個のF’PLAすなわちFPLA−
1250とFPLA−2251に分けられる。各FPL
A250,251への入力はI。o−115と付番され
ている。各入力はMAレジスタ102からの対応する入
カビツ)MA  −MA14に結合されている。MAレ
ジスタは、一時的にタイプ1マイ    lクロ命令の
オペランドフィールドを格納するのに用いられている。
各FPLA250,251の115はM ko5とM 
A (34の結合された入力である。入力■、5は、K
フィールドのチェックとして利用される。
人力115が論理値Oならば、Kの値は23以下である
ことを、論理値1ならばにフィールドが24以上の値を
持つことを、また値が指定されていなければ、Kは、無
関係であることを示す。
FPLA250.251としては、l0828100な
どが用いられる。本実施例のMUX202は、222 
223.224で示される3個のIOF]57からなる
MUX 202の各′O”入力はFPLA250゜25
1の対応する出力F。o ””” asに結合されてい
る。MUX 202の各11″入力は、制御用孔0M2
01の対応するビット、0R08〜CfL、5.cR3
5〜CR4oに結合されている。(CRo8は制御用R
OMのビット8を表わす。CRo9は制御用ROMのビ
ット9を表わす。以下同様。) MUX 202の出力
は、マイクロ命令レジスタの対応するビット、すなわち
マイクロ命令レジスタ205のビット40?表わすMI
R4o1ビット39を表わすMIR39、・・・に結合
されている。FPLA 251の出力F。5は、もし8
RLEOT(206)が現在のマイクロ命令においてイ
ネーブルされていると、次のマイクロ命令のビット32
と結合される。この動作は、マイクロ命令語の機能をタ
イプ1シフト命令に変化させるのに用いられる。タイプ
1命令のピッ)O〜14は第2表、第3表にしたがって
マイクロ命令語の修正ビットを発生するのに用いられる
。(文字りは、低または論理値Oを、文字Hは高または
論理値1を示す。文字Aは、アクティブを示し、本実施
例ではアクティブは高として使用される。ドツトとダッ
シュは、それぞれ非存在と無関係を表わす。
LLLL   HLLHLHT□−−−一−^、、A 
  AAAA    80DLHHHLLLHHHL−
−−−− LHHHLLHHLLL−−−−− LHHHLHHHHHL−−−−− AA、A   AAA入   TOD 、、AA   、、A、    ADO30,A  入
へN^   SR1 、、A、   AAAA    RBK、AA、   
AAAA    ROR。
A、A、   AAAA    5ORA入A、   
AAAA    TER入入A、   Ai&A   
 TORl、AA  AA、A    SRK 、AAA   AA、A    RO8A、AA   
AA、A    808AAAA   AA、A   
 TE8N入ん入  AA、ん   TO8 、、A、   AA、A    CBK、、A、   
A、AA    LBM、A、、   A、、A   
 [V A、、、   A、、A    5EWAA、A  A
AAA    TRY 、AA、   AAAA    RERA&&、   
AA、A    TEOA、、、   、、、A   
 RODLHLL  HLHL  LLL−−−−−L
HLL  HHHL  LLL−−−−−LHHL  
LHHL  LLL−−−−−LHHHLLLHLLL
−−−−− LHHHLLLHLHL−−−−− LHHHLLLHHHL−−−−− LHHHLLHHLLL−−−−− LHHHLHHHHHL−−−−− AA、、   、、、A    TODAA、、   
、、、A    ADOAAA、   、、、A   
 5R4AA、、   、、、A    I’LBKA
、、、   、、、A    ROR^A、、   、
、、A    SOR^、、、   、、、A    
TEl’LAA、、   、、、A    TORAA
、、   、、、N   5BK A、、、   、、、A    BoaAA、、   
、0.h    808A、、、   、、、A   
 TESAA、、   、、、A    TO8、AA
、、   、、、A    0BKA&、、   、、
、A    LBMAA、、   、、、A    B
EvA、、、   、、、A    SBVム、、、 
  、、、A    ’rEvAi、   、、、A 
   RER &、、、   、、、A    TEO第5図はデコー
ダ206の論理回路の一部である。デコーダ206は、
複数のデコーダを含むICである。第1の3−8デコー
ダ306は、その入力がマイクロ命令レジスタ205の
出力に結合され、8ELBOT(206)信号を発生す
るのに利用される。マイクロ命令レジスタ205の出力
はOMIRXXと表わされ、XXはマイクロ命令レジス
タのビットを示す。第2の3−8デコーダ307は、図
のようにマイクロ命令レジスタ205からの出力ビット
をデコードしてENABIPj(230)信号を発生す
るのに利用される。第1および第2のデコーダ306.
307はl0F138かどが用いられる。
制御用ROM 201はA帖D AM 278191な
どであり、マイクロ命令レジスタ205はIC74F1
75などである。テスト フリップフロップ制御ロジッ
ク207は、第6図の真理値表にしたがって、  FP
LA 250 、251の出力信号F6.F7によって
実行される。
本実施例のマイクロプロセッサ10で実施されているデ
ータ操作およびテスト命令を、その命令により実行され
る機能の概要とともに、附録に記載する。
本発明の実施例と見做されるものが示されたが、本発明
の本質と範囲を逸脱することなく、多くの変更や修正が
可能であることは明白であるから、実施例によって限定
されるべきものではない。
【図面の簡単な説明】
第1図は本発明の制御装置を組込んだマイクロプログラ
マブルマイクロプロセッサのブロック図である。 第2図は、第1図のプロセッサのデータ操作命令および
テストビット命令の命令フォーマットを示す。    
                 l第3図は、第1
図のプロセッサのマイクロ命令語のフォーマットを示す
。 第4図は、本実施例の制御装置のプログラマブルロジッ
クアレイの論理図を示す。 第5図は1本実施例の制御装置のデコーダの論理図の一
部を示す。 第6図は1本実施例の制御装置のテストフリップフロッ
プ用のコントロールロジックの実行に利用される真理値
表を示す。 10・・・マイクロプログラマブルマイクロプロセッサ
20・・・制御装置 101・・・MDレジスタ 102・・・MAレジスタ 層03・・・メモリパス 104・・・Aレジスタ 105・・・Bレジスタ IC6・・・プログラムカウンタ 107・・・シフトカウンタ 110・・・^LU 111・・・A−MUX 112・・・Fl−MUX 113・・・24:1 Nレジスタ MUX114・・
・1OF24ビツトマスク 120・・・OPコードレジスタ 201・・・制御用 1’LOM 202・・・MUX 203・・・定数 PR,0M 204  ・・・FPLA 205・・・マイクロ命令レジスタ 206・・・デコーダ 207・・・テストフリップフロップ制御ロジック20
8・・・テストフリップフロップ 特許出願人 ハネウェル・インコーボレーテツド代理人
 弁理士 松  下  義  治附録 OB K−CHANGE BIT K OBKは、AレジスタのビットZの補数をつくる。Aレ
ジスタの他の全てのビットは変化しない。 C! L 0−00UNT LEAST 5IGNIF
ICANT 0NE80LOは、Aレジスタの最右端の
′0”ビットの右方にある“1”ビットの数を計数する
。計数値は、Jカウンタにセットされる。A = 77
777777 Bならば計数値は241oである。 OL Z−COUNT LEA8T 8IGNIFIO
ANT ZERO80LZは、Aレジスタの最右端の“
1”ビットの右方にある“0mピットの数を陀する。計
数値はJカウンタにセットされる。A = OOO00
000Bならば、計数値は241oである。 OM 0−COUNT MO8T 8IGNIFIOA
NT ONE80MOは、Aレジスタの最左端の“01
ピツトの左方にある“1”ビットの数を計数する。計数
値はJカウンタにセットされる。A=77777777
8ならば計数値は241oである。 OM Z−COUNT  MO8T  8IGNIFI
IOANT  ZERO8OMZは、Aレジスタの最左
端の“12ビツトの左方にある′O#Omトの数を計数
する。計数値はJカウンタにセットされる。A=ooo
ooooo6ならば計数値は241oである。 OP  L −COMPLEMENT  AOPLf′
i、Aレジスタの内容をその1の補数で置き換える。 OT O−00UNT TOTAL 0NEOTOは、
Aレジスタの“1mピットの総数を計数する。計数値は
Jカウンタにセットされる。A=777777778な
らば計数値は241oである。 OT  Z−COUNT  TOTAL  ZERO8
0TZは、Aレジスタのg Oaピットの総数を計数す
る。計数値はJカウンタにセットされる。A;0OOO
O000Qならば計数値は241oである。 IBK−ISOLATE  RIT  KIBKは、A
レジスタの指定されたビットけ、そのま\残し、他の全
てのビットを′O”にする。 I OB −l80LATE AND OOMPLEM
ENT 、BIT KIOBは、Aレジスタのビットに
の補数をつくり、他の全てのビットを“0”にする。 L D O−LOAD ONE INTOBIT KL
DOは、AレジスタのビットZK”1”を置き、他の全
てのビットを“0°にリセットする。 L D Z −LOAD  ZERO8INTOALD
Zは、Aレジスタの内容を10”で置き換える。 L M 0−LOAD MINU8 ONBLMOは、
Aレジスタの各ビットを′1”で置き換える。 −27−+Il+ N  11!:  G −NBGATII!!NBGは
、人レジスタの内容をその2の補数で置き換える。 RB  K −RE8Fj’I’  BIT  KRB
Kli、Aレジスタのビット2を“θ′でWLき換える
。他の′全てのビットは、そのまま残る。 RF3 R−RESET ’r8’rF IF BIT
 K I8 EVENAND RFi8B’l” BI
T KRERは、AレジスタのビットZが“01ならば
、テスト 7リツプフロツプ( ’I”8TF)をリセットする。ビットZが#】1なら
ば、T8TPはそのまま残る。Aレジスタの♂ットZは
“Omにセットされる。 RB V−RESET  T8TF  IF  BIT
  K  I8  EVENREVは、人レジスタのビ
ット2が“θ′ならば、テストフリップフロップ (T8TF)をリセットする。ビットZがINTOA RL 7.は、Aレジスタの内容を“Omで置き換え、
テスト フリップフロップ(TSTF)も”O”Kリセ
ットする。 RN Z−RR8BT TSTF  IF A Is 
N0N−2JRORNZは、Aレジスタのいずれかのビ
ットが“1”ならば、テスト フリップフロップ(TS
TF)をリセットする。その他の場合は、そのまま残る
。 ROD−RE8ET TSTF IF BIT K I
80DDRODは、AレジスタのビットZが111なら
ば、テスト クリップ70ツゾ(TSTF’)をリセッ
トする。′O”ならば、TSTFはそのまま残る。 ROR−RF38FiT TSTF IF BIT K
 I80DDANDRE81!iT BIT K R,ORは、AレジスタのビットZが11mならば、テ
スト フリップフロップ(TSTF)をリセットする。 ′O”ならば、TSTFはそのまま残る。Aレジスタの
ビット2は“0”Kセットされる。 RO5−Rl8ET TSTF IF’ BIT K 
Is 0DDAND SET BIT K RO8は、AレジスタのビットZが“】”ならば、テス
ト フリップフロップ (TSTF)をリセットする“0“ならば、TSTFは
そのまま残る。Aレジスタのビット2は、′1”にセッ
トされる。 R8T −138ET T8TF R8Tは、テスト 7リツプフロツプ(TSTF)を“
0”にリセットする。 8 B K−8ET BIT K 88には、Aレジスタのビット2を11mKセットする
。他の全てのビットは、そのtま残る。 S E T−8FiT TSTF          
       ’5ETi、テストフリップフロップ (TSTF)を11°にセットする。 8 L Z −8ET T8’I’F AND LOA
D ZIRO8INTOA8LZは、Aレジスタの内容
を“0#で置き換え、TSTFは#1″にセットされる
。 8  N  Z−8ET  TSTF  IF  A 
 Is  NON  ZERO8NZは、Aレジスタの
いずれかのビットが“1″ならば、テスト フリップフ
ロップ(TSTF)はセットされる。その他の場合はT
STFはそのまま残る。 80 D−8ET TSTF IF BI’r K I
80DD80Dは、Aレジスタのビット2が112なら
ば、テストフリップフロップ (TSTF)をセットする。′O”ならば、TSTFは
そのまま残る。 80 R−8ET TSTF IF BIT K Is
 ODD ANDRPt8gT BIT K SORは、Aレジスタのビット2が′1#ならば、テス
トフリップフロップ (TSTF)をセットする。−〇”ならば、TSTFは
そのまま残る。Aレジスタのビット2は、′O”にセッ
トされる。 808−8ET TSTF IF BIT K I80
DD AND8ET  BIT  K f908Fi、AレジスタのビットZが“1”ならば、
テスト フリップフロップ (’I’8TF)をセットする。“O”ならば、TST
Fはそのまま残る。Aレジスタの訃ット2は“1mにセ
ットされる。 81’LA−8HIFT RIGH’r ARITHM
ETIC8RAは、Aレジスタの内容を右に2桁シフト
する。符号ビットは変化しない。 Aoからシフトアウトしたビットは失われる。A2□ヘ
シフト インされるビットは符号ビットと同一である。 S  RO−5HIFT  RIGHT  (!IRO
ULAR8ROは、Aレジスタのビットを右ヘシフトし
、Aoからシフトアウトし、A23ヘシフトインする。 8 RL −5HIFT RIGHT LOGICAL
SRLは、Aレジスタの24ピツト全てを、右へ2桁シ
フトする。Aoからシフトアウトされたビットは失われ
る。A23へは′0″がシフトインされる。 T E O−TEST EVEN AND OOMPL
EMENT BIT KTPOは、Aレジスタのビット
Zが“0#ならば、テスト フリップフロップ (TSTF)をセットする。′1”ならば、TSTFは
リセットされる。Aレジスタのピッ)Zは、補数で置き
換えられる。 T E R−TEST EVEN AND RBSgT
 BIT KTERは、AレジスタのビットZをチェッ
クする。そのビットが10#ならば、TSTFは“l#
にセットされる。′12ならば、TSTFは“0”にリ
セットされる。 TBRはビット2を“θ′にリセットする。 T B 8−TE8T EVEN AND 8ET B
IT KTE8は、Aレジスタのピッ)Zをチェックす
る。そのビットがg Omならば、TSTFは“1“に
セットされる。′】”ならば、TSTFは“Omにリセ
ットされる。TBRは、ビット2を“1′にセットする
。 T E V−’rgs’r BIT K EVENTE
Vは、Aレジスタのビット2が10”ならば、テスト 
フリップフロップ (TSTF)をセットする。11″ならば、TSTFは
リセットされる。 T M F−TE8T MINUS ONE FORK
 BIT8TMFけAレジスタの内容を右に2桁サーキ
ュラ−シフトする。A25ヘシフトインされるZピット
全てが“1”ならば、テスト フリップフロップはセッ
トされ、その他の場合には、リセットされる。 T M 0−TEST MINUS ONBTMOは、
Aレジスタの全てのビットがl”ならば、テスト フリ
ップフロップ(TSTF)eセットする。Aレジスタの
いずれかのビットが10”ならば、TSTFをリセット
する。               lT  NM−
TENT  NOT  MINUS  ONBTNMは
、AレジスタのいずれかのビットがO”ならば、TST
Fをセットする。 Aレジスタの全てのビットが“1mならば、TSTFは
リセットされる。 T N Z −TEST  A  N0N−ZEROT
NZは、Aレジスタのいずれかのビットが“1″ならば
、テスト フリップフロップ(T 8 T F )をセ
ットする。Aレジスタの全てのビットが“0#ならばT
STFをリセットする。 T OD−TEST BIT K 0DDTODは、A
レジスタのビットZが“1”ならば、テスト スリップ
フロップ (TSTF)をセットする。′o#ならば、TODは、
TSTFをリセットする。 T OR−TE8T ODD AND RFt8ET 
BIT KTORは、ビット2が′11ならば’I’1
9TFをセットし、ビット2が“0°ならば TSTFをリセットする。テストを行っ宛蕾に、ビット
2け0”にセットされる。 すなわち’f’ORは、次の2つの命令順を置き換える
。 TOD   K RBK   K T  0 8−TENT  ODD  AND  8E
T  BIT  KTORは、Aレジスタのビットzを
チェックする。Zが、11′″に等しければ、TSTF
は“1″にセットされる。2が、′02に等しければ、
’r8TFは“o”にリセットされる。次い−f、To
sはビットZを11#にセットする。 T S 0−TE8T AND 5HIFT C!IR
OULAl’LTSOは、Aレジスタの内容を右へ2桁
サーキュラ−シフトする。A25ヘシフトインされる2
ピツト全てが10”ならば、テスト フリップフロップ
はセットされる。その他の場合はリセットされる。 T Z 0−TENT ZEROAND C!OMPL
EMENTTzCは、Aレジスタの全てのビットが′O
”ならばTSTFをセットする。Aレジスタのいずれか
のビットが“1”ならばTSTFはリセットされる。次
いで、TZOはAレジスタの内容をその1の補数で置き
換える。 36一 T Z E−TB8T  A  7.EROTZEは、
Aレジスタのピットが全て 10“ならば、テスト フリップフロップ(T8TF)
をセットする。Aレジスタのいずれかのピットが“1“
ならばTSTFをリセットする。 (注)ZtdKとXの関数である。

Claims (1)

    【特許請求の範囲】
  1. (1)制御装置、演算装置(ALU)および関連するレ
    ジスタを含み、オペランド フィールドと命令コード 
    フィールドをもつ命令からなる所定の命令群の各命令を
    実行するマイクロプログラム プロセッサにおいて、 複数のマイクロ命令をストアするコントロール ストア
    手段と、 現在実行中の命令のオペランド フィールドを入力する
    入力端子をもち、該命令のオペランド フィールドによ
    つて表わされる情報をマイクロ命令語のフォーマットに
    適合する変換オペランド情報に変換し、上記コントロー
    ル ストア手段からマイクロ命令語がフェッチされると
    きマイクロ命令語を修正するのに用いられる該変換オペ
    ランド情報を出力するトランスレーション手段と、 上記コントロール ストア手段に動作上接続され、フェ
    ッチされたマイクロ命令の予め選択された部分が入力さ
    れる第1の入力群と、上記トランスレーション手段に動
    作上接続され、上記変換オペランド情報が入力される第
    2の入力群とを有し、フェッチされたマイクロ命令の予
    め選択された部分と上記変換オペランド情報のいずれか
    を選択し、選択された信号に応答して選択情報を出力す
    るスイッチング手段と、 上記スイッチング手段に動作上接続され上 記選択情報が入力され、更に上記コントロール ストア
    手段に動作上接続され上記スイッチング手段による選択
    を受けなかつたマイクロ命令語の部分が入力され、実行
    するためのマイクロ命令が保持されるレジスタ手段 とからなることを特徴とするマイクロ プログラムプロ
    セッサの制御装置。
JP60269538A 1984-12-05 1985-12-02 マイクロプログラムプロセッサの制御装置 Expired - Fee Related JPH0812598B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US678536 1984-12-05
US06/678,536 US4825363A (en) 1984-12-05 1984-12-05 Apparatus for modifying microinstructions of a microprogrammed processor

Publications (2)

Publication Number Publication Date
JPS61134840A true JPS61134840A (ja) 1986-06-21
JPH0812598B2 JPH0812598B2 (ja) 1996-02-07

Family

ID=24723212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60269538A Expired - Fee Related JPH0812598B2 (ja) 1984-12-05 1985-12-02 マイクロプログラムプロセッサの制御装置

Country Status (6)

Country Link
US (1) US4825363A (ja)
EP (1) EP0184158A3 (ja)
JP (1) JPH0812598B2 (ja)
AU (1) AU584642B2 (ja)
CA (1) CA1242801A (ja)
NO (1) NO169924C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02293931A (ja) * 1989-05-08 1990-12-05 Matsushita Electric Ind Co Ltd 制御装置

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0199173B1 (en) * 1985-04-08 1994-02-02 Hitachi, Ltd. Data processing system
US5155819A (en) * 1987-11-03 1992-10-13 Lsi Logic Corporation Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions
JP2986104B2 (ja) * 1988-03-15 1999-12-06 株式会社東芝 情報処理装置の自己試験回路
GB2215879A (en) * 1988-03-23 1989-09-27 Benchmark Technologies Numerical processor using microcode
EP0414811B1 (en) * 1988-05-03 1997-02-19 Wang Laboratories, Inc. Microprocessor having external control store
JPH0261723A (ja) * 1988-08-29 1990-03-01 Matsushita Electric Ind Co Ltd ステートマシン
JP2901081B2 (ja) * 1989-12-19 1999-06-02 株式会社日立製作所 Osiディレクトリの非葉エントリの名称変更方法
US5241637A (en) * 1990-01-05 1993-08-31 Motorola, Inc. Data processor microsequencer having multiple microaddress sources and next microaddress source selection
US5276824A (en) * 1990-01-08 1994-01-04 Motorola, Inc. Data processor having a multi-stage instruction pipe and selection logic responsive to an instruction decoder for selecting one stage of the instruction pipe
US5412785A (en) * 1990-04-09 1995-05-02 Motorola, Inc. Microprogrammed data processor which includes a microsequencer in which a next microaddress output of a microROM is connected to the or-plane of an entry PLA
US5280595A (en) * 1990-10-05 1994-01-18 Bull Hn Information Systems Inc. State machine for executing commands within a minimum number of cycles by accomodating unforseen time dependency according to status signals received from different functional sections
EP0498067A2 (en) * 1991-02-08 1992-08-12 International Business Machines Corporation Microcode generation for a scalable compound instruction set machine
US5452423A (en) * 1991-06-13 1995-09-19 Chips And Technologies, Inc. Two-ROM multibyte microcode address selection method and apparatus
US5379392A (en) * 1991-12-17 1995-01-03 Unisys Corporation Method of and apparatus for rapidly loading addressing registers
US5414821A (en) * 1991-12-17 1995-05-09 Unisys Corporation Method of and apparatus for rapidly loading addressing environment by checking and loading multiple registers using a specialized instruction
US5559974A (en) * 1994-03-01 1996-09-24 Intel Corporation Decoder having independently loaded micro-alias and macro-alias registers accessible simultaneously by one micro-operation
US5581720A (en) * 1994-04-15 1996-12-03 David Sarnoff Research Center, Inc. Apparatus and method for updating information in a microcode instruction
US5734817A (en) * 1995-03-01 1998-03-31 Unisys Corporation Method for making a data base available to a user program during data base recovery
US5761740A (en) * 1995-11-30 1998-06-02 Unisys Corporation Method of and apparatus for rapidly loading addressing registers
US5884071A (en) * 1997-03-31 1999-03-16 Intel Corporation Method and apparatus for decoding enhancement instructions using alias encodings
US6643800B1 (en) * 2000-02-02 2003-11-04 Hewlett-Packard Development Company, L.P. Method and apparatus for testing microarchitectural features by using tests written in microcode
US7162621B2 (en) * 2001-02-21 2007-01-09 Mips Technologies, Inc. Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration
US7599981B2 (en) 2001-02-21 2009-10-06 Mips Technologies, Inc. Binary polynomial multiplier
US7711763B2 (en) * 2001-02-21 2010-05-04 Mips Technologies, Inc. Microprocessor instructions for performing polynomial arithmetic operations
US7181484B2 (en) * 2001-02-21 2007-02-20 Mips Technologies, Inc. Extended-precision accumulation of multiplier output
US7698539B1 (en) * 2003-07-16 2010-04-13 Banning John P System and method of instruction modification

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5093356A (ja) * 1973-12-17 1975-07-25
JPS5136047A (ja) * 1974-09-21 1976-03-26 Hitachi Ltd Maikuropuroguramuseigyohoshiki
JPS55138341U (ja) * 1979-03-26 1980-10-02
JPS55164943A (en) * 1979-06-07 1980-12-23 Fujitsu Ltd Microprogram processing system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3800293A (en) * 1972-12-26 1974-03-26 Ibm Microprogram control subsystem
DE2336676C3 (de) * 1973-07-19 1981-06-19 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Modifizierung von Mikroprogrammbefehlen
IT995722B (it) * 1973-10-10 1975-11-20 Honeywell Inf Systems Italia Calcolatore microprogrammato a interior decore espansibile mediante riconoscimento e interpre tazione di codici di operazione aggiunti
US3949370A (en) * 1974-06-06 1976-04-06 National Semiconductor Corporation Programmable logic array control section for data processing system
US4037202A (en) * 1975-04-21 1977-07-19 Raytheon Company Microprogram controlled digital processor having addressable flip/flop section
US4075687A (en) * 1976-03-01 1978-02-21 Raytheon Company Microprogram controlled digital computer
JPS52120640A (en) * 1976-04-02 1977-10-11 Toshiba Corp Micro program control system
US4360868A (en) * 1978-12-06 1982-11-23 Data General Corporation Instruction prefetch means having first and second register for storing and providing a current PC while generating a next PC
JPS56149646A (en) * 1980-04-21 1981-11-19 Toshiba Corp Operation controller
US4521858A (en) * 1980-05-20 1985-06-04 Technology Marketing, Inc. Flexible addressing and sequencing system for operand memory and control store using dedicated micro-address registers loaded solely from alu
JPS5748139A (en) * 1980-09-04 1982-03-19 Nec Corp Microprogram control device
US4399505A (en) * 1981-02-06 1983-08-16 Data General Corporaton External microcode operation in a multi-level microprocessor
US4594661A (en) * 1982-02-22 1986-06-10 International Business Machines Corp. Microword control system utilizing multiplexed programmable logic arrays
EP0097725B1 (de) * 1982-06-08 1986-05-14 Ibm Deutschland Gmbh Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
US4519033A (en) * 1982-08-02 1985-05-21 Motorola, Inc. Control state sequencer
US4551798A (en) * 1982-11-03 1985-11-05 Burroughs Corporation Multiple control stores in a pipelined microcontroller for handling nester subroutines
IT1153668B (it) * 1982-11-24 1987-01-14 Honeywell Inf Systems Organizzazione di memoria di controllo

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5093356A (ja) * 1973-12-17 1975-07-25
JPS5136047A (ja) * 1974-09-21 1976-03-26 Hitachi Ltd Maikuropuroguramuseigyohoshiki
JPS55138341U (ja) * 1979-03-26 1980-10-02
JPS55164943A (en) * 1979-06-07 1980-12-23 Fujitsu Ltd Microprogram processing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02293931A (ja) * 1989-05-08 1990-12-05 Matsushita Electric Ind Co Ltd 制御装置

Also Published As

Publication number Publication date
NO169924B (no) 1992-05-11
EP0184158A3 (en) 1987-05-27
NO853807L (no) 1986-06-06
AU4847785A (en) 1986-06-12
CA1242801A (en) 1988-10-04
AU584642B2 (en) 1989-06-01
JPH0812598B2 (ja) 1996-02-07
US4825363A (en) 1989-04-25
EP0184158A2 (en) 1986-06-11
NO169924C (no) 1992-08-19

Similar Documents

Publication Publication Date Title
JPS61134840A (ja) マイクロプログラム プロセツサの制御装置
US3585605A (en) Associative memory data processor
EP0169565B1 (en) Microprocessor compatible with any software represented by different types of instruction formats
US3800293A (en) Microprogram control subsystem
US4179737A (en) Means and methods for providing greater speed and flexibility of microinstruction sequencing
JP2651218B2 (ja) フレキシブルasicマイクロコンピュータ
US3990054A (en) Microprogram organization techniques
US3980992A (en) Multi-microprocessing unit on a single semiconductor chip
US4631663A (en) Macroinstruction execution in a microprogram-controlled processor
EP0019392B1 (en) Instruction register sequence decoder for microprogrammed data processor and method
EP0138419B1 (en) Central processing unit for a digital computer
US4075687A (en) Microprogram controlled digital computer
JPS6361691B2 (ja)
US4789957A (en) Status output for a bit slice ALU
FI74355C (fi) Styrminne.
EP0229734A2 (en) Microprogram control device
US4472772A (en) High speed microinstruction execution apparatus
US4991086A (en) Microprogram controlled microprocessor having a plurality of internal buses and including transfer register designation system
US20040024992A1 (en) Decoding method for a multi-length-mode instruction set
US4864535A (en) Entry point address circuit for microcode rom
GB1584003A (en) Data processing system and information scanout
JPH0628177A (ja) マイクロプロセッサ
CA1298412C (en) Chip test condition selection method and apparatus
US5600809A (en) Apparatus for sequentially reading microcode words wider than an external bus width to the outside in segments as wide as the external bus
CA1138118A (en) Next address generation logic in a data processing system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees