JP2538053B2 - 制御装置 - Google Patents

制御装置

Info

Publication number
JP2538053B2
JP2538053B2 JP1114740A JP11474089A JP2538053B2 JP 2538053 B2 JP2538053 B2 JP 2538053B2 JP 1114740 A JP1114740 A JP 1114740A JP 11474089 A JP11474089 A JP 11474089A JP 2538053 B2 JP2538053 B2 JP 2538053B2
Authority
JP
Japan
Prior art keywords
control
modification
information
input
modification information
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 - Fee Related
Application number
JP1114740A
Other languages
English (en)
Other versions
JPH02293931A (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP1114740A priority Critical patent/JP2538053B2/ja
Priority to EP90304873A priority patent/EP0397414B1/en
Priority to DE69020430T priority patent/DE69020430T2/de
Priority to CA002016145A priority patent/CA2016145C/en
Priority to KR1019900006468A priority patent/KR940002323B1/ko
Publication of JPH02293931A publication Critical patent/JPH02293931A/ja
Priority to US08/103,178 priority patent/US5479620A/en
Application granted granted Critical
Publication of JP2538053B2 publication Critical patent/JP2538053B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • 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/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
    • 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
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/328Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching

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)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明はコンピュータの命令実行に際し、マイクロプ
ログラム制御方式により演算装置の制御を行なう制御装
置に関するものである。
従来の技術 従来の制御装置としては、例えば特開昭62−143138号
公報に示されている。第4図はこの特開昭62−143138号
公報のマイクロプログラム制御装置のブロック図を示す
ものであり、101は制御記憶である。102、103および104
は制御情報を無効化するためのゲート回路、105はデコ
ーダ、106はレジスタである。
以上のように構成された従来の装置においては、デコ
ーダ105により指示されたゲート回路102、103、104は、
制御記憶101の出力の一部を無効化する。この機能によ
り、目的に応じて必要な機能だけを許可することがで
き、制御記憶101上のマイクロプログラムの削減を行え
る。
発明が解決しようとする課題 しかしながら上記のような構成ではマイクロ命令の修
飾が無効化に限定され、効率的に行なえない。このた
め、ハードウェアおよびマイクロ命令の大幅な削減がで
きないという問題点を有していた。
本発明はかかる点に鑑み、マイクロ命令の修飾が効率
的に行なえ、同時にデータに依存した処理等をマイクロ
命令により柔軟に行え、これによりハードウェアおよび
マイクロ命令の大幅な削減が行なえる制御装置を提供す
ることを目的とする。
課題を解決するための手段 本発明は定まった制御機能を有したり、レジスタ等の
オペランド指定機能を有したり、演算装置にデータとし
て供給される複数のフィールドから構成されるマイクロ
命令を複数格納する制御記憶装置と、マイクロ命令の少
なくとも一部のフィールドを修飾するための情報を生成
する修飾情報生成装置と、修飾情報生成装置への入力を
保持する入力レジスタと、制御記憶装置から出力される
前記マイクロ命令と修飾情報生成装置から出力される修
飾情報により修飾を行う制御情報修飾装置とを備えた制
御装置である。
この入力レジスタには、命令コード等の複数の入力を
選択する選択装置を接続することが効果的である。
さらにこの選択装置には、演算装置からのデータを入
力するためのデータバスを接続したり、割込み要因を保
持する割込み受付け装置を設け、この割込み受付け装置
を接続するとよい。
また、前記入力レジスタには、指示された特定のビッ
トを修飾するためのビット修飾装置を接続してもよい。
また、入力レジスタに接続され、入力レジスタの出力
データを入力とし、単一もしくは複数のデータを保持
し、出力を入力レジスタに復帰するスタック装置を備え
てもよい。
また、制御記憶装置にアドレスを供給する制御記憶ア
ドレス生成装置を設け、修飾情報生成装置の出力の一部
を前記制御記憶アドレス生成装置に接続してもよい。
さらに、修飾情報生成装置をPLA(プログラマブル・
ロジック・アレイ)により実現することが効果的であ
る。
作用 本発明は前記した手段により、制御記憶装置から出力
されるマイクロ命令の一部または全部のフィールドを制
御情報修飾装置により無効化するだけでなく、修飾情報
生成装置から出力される修飾情報により修飾することが
でき、特に入力レジスタに保持された情報をもとに、マ
イクロ命令の処理の進行に従って修飾内容を変化させて
いくことができる。
命令コード等の複数の入力を選択する選択装置を備え
ることにより、命令コードのみならず、各種の情報をマ
イクロ命令の修飾のために用いることができ、マイクロ
命令の修飾の柔軟性をさらに増すことができる。演算結
果等のデータによって、命令の処理シーケンスが変化し
たり、演算の種類が指定されたりする場合には、選択装
置の入力として演算装置からのデータを入力するための
データバスを接続し、このデータを用いて修飾情報生成
装置からマイクロ命令の修飾情報を生成する。割込処理
のための処理ルーチンでは、割込要因により処理が変化
するため、割込み要因を保持する割込み受付け装置を設
け、この割込み受付け装置を接続し、このデータを用い
て修飾情報生成装置からマイクロ命令の修飾情報を生成
する。
また、前記入力レジスタには、指示された特定のビッ
トを修飾するためのビット修飾装置を接続することによ
り、入力データの処理の進行に伴って逐次変化させなが
ら、修飾情報生成装置からマイクロ命令の修飾情報を生
成する。
また、スタック装置を備えることにより、修飾情報生
成装置への入力情報の待避や復帰を行うことができる。
制御記憶装置にアドレスを供給する制御記憶アドレス
生成装置に修飾情報生成装置の出力の一部を接続するこ
とにより、制御記憶アドレス生成装置におけるアドレス
生成において、条件判断や多方向分岐を行なう場合に必
要となる情報を、修飾情報生成装置により柔軟に生成で
きる。
さらに、修飾情報生成装置では、命令コード中のフィ
ールド切り出しや、比較的単純な論理回路により実現で
きる機能を多数実現する必要があり、配線が複数化する
ため、特にLSI化する場合、問題となる。このため、こ
の修飾情報生成装置をPLA(プログラマブル・ロジック
・アレイ)により実現することにより、LSI化した場合
の面積の縮小に効果的である。
実 施 例 第1図は本発明の制御装置の構成を示すブロック図で
ある。第1図において1は複数のマイクロ命令を記憶す
る制御記憶装置、2はマイクロ命令を修飾するための情
報を生成する修飾情報生成装置であり、PLA(プログラ
マブル・ロジック・アレイ)を用いて実現している。3
は制御記憶装置1から出力されるマイクロ命令14と修飾
情報生成装置2から出力される修飾情報15により修飾を
行う制御情報修飾装置である。修飾情報生成装置2への
入力データは、複数の入力の中から選択装置4により選
択され、入力レジスタ5により保持する。6は制御記憶
アドレス生成装置、7はマクロ命令16を解読するデコー
ダ、8は修飾情報生成制御装置、9は制御情報修飾制御
装置、10は入力レジスタ5の特定のビットを修飾するビ
ット修飾装置、11は入力レジスタ5に保持されたデータ
の退避および復帰を行うスタック装置、12は演算装置、
13は割込要因を保持する割込み受付け装置である。
第2図は、制御情報修飾装置3のブロック図である。
第2図(a)は、マイクロ命令の内、制御情報として出
力する情報を修飾する部分を示す。マイクロ命令14のフ
ィールドの内、演算装置12で行うべき演算を指定するオ
ペレーションフィールド、2つのソースオペランドのフ
ィールドおよびひとつのディストネーションオペランド
のフィールドに対して修飾を行う。修飾は、制御情報修
飾制御装置9から出力される制御情報17に従って各フィ
ールド毎に行い、マイクロ命令14への修飾情報15の‘O
R'操作、もしくは、修飾の禁止がある。
第2図(b)は、マイクロ命令の内、演算装置12にデ
ータとして出力する情報を修飾する部分を示す。マイク
ロ命令14および修飾情報15のフィールドの内、データと
して用いるフィールドの選択を選択装置26により行う。
選択は、制御情報修飾制御装置9から出力される制御情
報17に従って行う。しかし、マイクロ命令は複数のタイ
プを持ち、データとして用いるフィールドに違いがある
ため、マイクロ命令14のタイプフィールドで示されたデ
ータの拡張操作をサイズ拡張装置27で行った後、データ
23として演算装置12に出力する。
以上のように構成された本実施例について、以下その
動作を説明する。第3図は基本的な命令解読時の動作を
説明するタイミング図である。この例では、レジスタ−
レジスタ間演算命令で1クロックで実行できる命令a
と、メモリ−レジスタ間演算命令で2クロックで実行で
きる命令bの2命令の動作を示す。
命令aのマクロ命令は、クロックt1でフェッチされ
る。クロックt2では、デコーダ7により解読され、制御
記憶装置1のエントリアドレス18および修飾情報生成制
御装置8および制御情報修飾制御装置9のための制御情
報19が出力される。クロックt3では、制御記憶アドレス
生成装置6はエントリアドレス18の示すアドレスを出力
し、このアドレスに従い制御記憶装置1はマイクロ命令
14を出力する。この場合、マイクロ命令14のオペレーシ
ョンフィールドには、演算装置12で目的とするオペーシ
ョンが出力されるが、2つのソースオペランドのフィー
ルドおよびディストネーションオペランドのフィールド
には、‘00・・0'が出力されている。また、選択装置4
はマクロ命令16を選択し、命令aのマクロ命令を入力レ
ジスタ5に設定する。修飾情報生成制御装置8は制御情
報19に従って修飾情報生成装置2を制御し、入力レジス
タ5に設定された命令aのマクロ命令から、マイクロ命
令で必要となるレジスタ番号フィールドを切り出し、修
飾情報15として出力する。この場合、マクロ命令のソー
ス側のレジスタ番号を切り出し、修飾情報15の一方のソ
ースオペランドの修飾フィールドに設定する。また、マ
クロ命令のディストネーション側のレジスタ番号を切り
出し、修飾情報15の他方のソースオペランドとディスト
ネーションオペランドのフィールドに設定する。制御情
報修飾制御装置9は制御情報19に従って制御情報修飾装
置3を制御する。この場合、2つのソースオペランドの
フィールドおよびディストネーションオペランドのフィ
ールドには、マイクロ命令14と修飾情報15の各フィール
ドの‘OR'操作を指示し、オペレーションフィールドに
対しては、修飾情報15による修飾を禁止する。これによ
り、修飾済マイクロ命令14は、オペランドフィールドに
目的とするレジスタ番号が設定される。クロックt4で
は、演算装置12は修飾済マイクロ命令14に従い、命令実
行を行なう。
命令bの動作も、基本的には命令aと同様であるが、
メモリからのオペランドフェッチが必要である。このた
め、メモリオペランドのフェッチのためのマイクロ命令
と、フェッチしたオペランドとレジスタ間での演算のた
めのマイクロ命令の、2つのマイクロ命令を演算装置12
へ出力する必要がある。マクロ命令は、クロックt2でフ
ェッチされる。クロックt3では、デコーダ7により解読
され、制御記憶装置1のエントリアドレス18および修飾
情報生成制御装置8および制御情報修飾制御装置9のた
めの制御情報19が出力される。クロックt4では、制御記
憶アドレス生成装置6はエントリアドレス18が示すアド
レスを出力し、このアドレスに従い制御記憶装置1はマ
イクロ命令14を出力する。この場合、マイクロ命令14の
オペレーションフィールドには、演算装置12でメモリオ
ペランドのフェッチのためのオペレーションが出力さ
れ、ディストネーションオペランドのフィールドには、
テンポラリレジスタのレジスタ番号が出力されている。
また、次クロックもマイクロ命令を出力する必要がある
ため、制御記憶アドレス生成装置6には次マイクロ命令
のアドレスを生成するための制御情報21を出力し、修飾
情報生成制御装置8および制御情報修飾制御装置9には
次マイクロ命令の修飾情報を生成するための制御情報22
を出力する。選択装置4はマクロ命令16を選択し、命令
bのマクロ命令を入力レジスタ5に設定する。制御情報
修飾制御装置9は制御情報19に従って制御情報修飾装置
3を制御する。この場合、2つのソースオペランドのフ
ィールド、ディストネーションオペランドのフィールド
およびオペレーションフィールドに対しては、修飾情報
15による修飾を禁止する。これにより、修飾済マイクロ
命令14は、修飾前のマイクロ命令14と同じものが出力さ
れる。なお、これらの処理と並行して、メモリオペラン
ドのアドレス計算を行う。クロックt5では、演算装置12
は修飾済マイクロ命令14に従い、メモリフェッチを行な
う。制御記憶アドレス生成装置6はクロックt4で出力さ
れた次マイクロ命令のアドレスを生成するための制御情
報21に従い次マイクロ命令のアドレスを出力し、このア
ドレスに従い制御記憶装置1は次のマイクロ命令14を出
力する。この場合、マイクロ命令14のオペレーションフ
ィールドには、演算装置12で目的とするオペーションが
出力されるが、一方のソースオペランドのフィールドに
は、テンポラリレジスタのレジスタ番号が出力されてい
るが、他方のソースオペランドのフィールドおよびディ
ストネーションオペランドのフィールドには、‘00・・
0'が出力されている。また、入力レジスタ5は命令bの
マクロ命令の保持を続ける。修飾情報生成制御装置8は
クロックt4で出力された次のマイクロ命令の修飾情報15
を生成するための制御情報22に従って修飾情報生成装置
2を制御し、入力レジスタ5に保持された命令bのマク
ロ命令から、マイクロ命令で必要となるレジスタ番号フ
ィールドを切り出し、修飾情報15として出力する。この
場合、マクロ命令のディストネーション側のレジスタ番
号を切り出し、修飾情報15の一方のソースオペランドと
ディストネーションオペランドのフィールドに設定す
る。制御情報修飾制御装置9はクロックt4で出力された
次マイクロ命令の修飾情報を生成するための制御情報22
に従って制御情報修飾装置3を制御する。この場合、一
方のソースオペランドのフィールドおよびディストネー
ションオペランドのフィールドには、マイクロ命令14と
修飾情報15の各フィールドの‘OR'操作を指示し、制御
記憶装置1によりテンポラリレジスタのレジスタ番号が
出力されたもう一方のソースオペランドのフィールドお
よびオペレーションフィールドに対しては、修飾情報15
による修飾を禁止する。これにより、修飾済マイクロ命
令14は、オペランドフィールドに目的とするレジスタ番
号が設定される。クロックt6では、演算装置12は修飾済
マイクロ命令14に従い、命令実行を行なう。
マクロ命令が複数の命令コードに別れている場合、順
にマクロ命令の命令コードを入力レジスタ5に入力しな
がら、命令の処理を進行させて行く。しかし、以前の命
令コードを必要とする場合があり、このような場合にス
タック装置11により以前の命令コードを退避および復帰
が行える。これは、マイクロ命令のサブルーチンと連動
して用いると、より柔軟性が高まる。
また、複数のレジスタの退避や復帰を行う命令が、対
象となるレジスタをビット列として表現している場合
は、処理の進行に従って目的とするレジスタ番号を変化
させていかなければならない。このような場合、制御情
報生成装置2により、入力レジスタ5に設定されたビッ
ト列の内のひとつのレジスタ番号を修飾情報15として出
力するようにし、同時に、入力レジスタ5に保持された
ビット列の内、出力したレジスタに相当するビットを、
ビット修飾装置10で修飾することにより、マイクロプロ
グラムの高速化および簡素化を実現できる。
選択装置4は、演算装置12のデータバス24に接続され
ている。これは、ビットフィールド等の高機能な命令に
おいて、演算がマクロ命令中ではなく、演算装置12内の
汎用レジスタ等に指定されている場合に有効である。こ
と場合、指定された演算内容を、演算装置12から選択装
置4を介して入力レジスタ5に設定し、修飾情報生成装
置2では、修飾情報15のオペレーションフィールドに目
的とする演算を設定する。制御情報修飾装置3は、オペ
レーションフィールドに対してマイクロ命令14と修飾情
報15の各フィールドの‘OR'操作を行う。
また、演算結果やメモリ上のデータに依存して、命令
の処理シーケンスが変化する場合には、目的のデータ
を、演算装置12から選択装置4を介して入力レジスタ5
に設定し、修飾情報生成装置2では、制御記憶アドレス
生成装置6に対して処理シーケンスを変化させるための
判定条件や多方向分岐のためのオフセット等の分岐情報
25を出力する。これにより、演算装置12を用いて逐次的
に判定および分岐を繰返し行って処理シーケンスを変化
させていたマイクロプログラムの高速化および柔軟性の
向上が図れる。
この時、再び、入力レジスタ5の以前のデータを必要
とする場合があるため、目的のデータの入力レジスタ5
への設定と同時に、以前のデータをスタック装置11に退
避することができる。
このように、修飾情報制御装置2は、規則的な構造を
持つPLAを用いて実現が容易であり、また、制御情報修
飾装置3も簡単な構造で規則的な構造あるため、特にLS
I化した場合の面積は小さく、実用的効果は大きい。
また、選択装置4は、割込要因を保持した割込み受付
け装置13に接続されている。これは、割込み受付け時の
処理において、割込み要因の多重受付け時の対応、割込
み要因に対応した処理シーケンスの変化および読みこむ
べき割込みベクトルのアドレスの変化等への対応に有効
である。この場合、まず、受付けた割込要因を、割込み
受付け装置13から選択装置4を介して入力レジスタ5に
設定する。割込み要因の多重受付け時には、修飾情報生
成装置2では、制御記憶アドレス生成装置6に対して処
理シーケンスを変化させるための判定条件や多方向分岐
のためのオフセットを設定する。これにより、割込み処
理のための複雑なハードウェアを削減および割込み処理
シーケンスの柔軟性の向上が図れる。
なお、本実施例では、修飾制御装置3の制御は、制御
記憶装置1から出力される制御情報22により行っていた
が、この制御情報は、修飾情報生成装置2や、別に設け
た装置から出力してもよい。また、制御のタイミング
も、本実施例では、次クロックとしているが、同一クロ
ックとしてもよい。
なお、本実施例では、データバス24を演算装置12の入
力側のバスから出力しているが、出力側のバスから出力
してもよい。
なお、選択装置4は、演算装置12のデータバス24に接
続され、制御情報修飾装置3は、演算装置12にデータ23
を出力できるため、修飾情報生成装置2を演算装置とし
ても用いることができる。修飾情報生成装置2をPLAを
実現しているため、配線が複雑化する、プライオリティ
エンコーダや、ビットリバース装置等を効果的に実現で
きる。
発明の効果 以上説明したように、本発明によれば、制御記憶装置
から出力されるマイクロ命令の一部または全部のフィー
ルドを制御情報修飾装置により無効化するだけでなく、
修飾情報生成装置から出力される修飾情報により修飾す
ることができ、特に入力レジスタに保持された情報をも
とに、マイクロ命令の処理の信号に従って修飾内容を変
化させていくことができる。このため、マイクロ命令の
修飾の柔軟性が増し、マイクロ命令の共通化やステップ
数の圧縮等によりマイクロ命令の削減を行なうことがで
きる。
また、命令コード等の複数の入力を選択する選択装置
を備えることにより、命令コードのみならず、各種の情
報をマイクロ命令の修飾のために用いることができる。
このため、従来は、マイクロ命令により演算装置を用い
て逐次的に判定および分岐を繰返し行なって処理してい
た複雑な処理を、マイクロ命令の修飾により柔軟で高速
に実現することができる。
また、選択装置の入力として演算装置からのデータを
入力するためのデータバスを接続することにより、演算
結果等のデータによって命令の処理シーケンスが変化し
たり、演算の種類が指定されたりする場合には、マイク
ロ命令の修飾により、特に柔軟で高速に実現することが
できる。
また、割込み要因を保持する割込み受付け装置を設
け、選択装置の入力としてこの割込み受付け装置を接続
することにより、割込処理の多くの部分、特に多重受付
け時の対応を、マイクロプログラムで効率良く記述でき
るため、割込専用の複雑な回路を削減することができ
る。
また、入力レジスタに、指示された特定のビットを修
飾するためのビット修飾装置を接続することにより、入
力データを処理の進行に伴って逐次変化させながら、修
飾情報生成装置からマイクロ命令の修飾情報を生成する
ことができる。これは、複数のレジスタの待避や復帰を
行なう命令が、対象となるレジスタをビット列として表
現している場合等に効果がある。
また、スタック装置を備えることにより、修飾情報生
成装置への入力情報の待避や復帰を行うことができる。
これにより、マイクロプログラムでのサブルーチンへの
対応や、一時的に別のデータを入力レジスタへ設定した
い場合などに、もとの入力レジスタの内容を処理の進行
に従って待避および復帰ができ、マイクロプログラム作
成の柔軟性が向上する。
制御記憶装置にアドレスを供給する制御記憶アドレス
生成装置に修飾情報生成装置の出力の一部を接続するこ
とにより、制御記憶アドレス生成装置におけるアドレス
生成において、条件判断や多方向分岐を行なう場合に必
要となる情報を、修飾情報生成装置により柔軟に生成で
き、命令コードやデータ等に依存した処理をマイクロ命
令の修飾により柔軟で高速に実現することができる。
さらに、修飾情報生成装置では、命令コード中のフィ
ールド切り出しや、比較的単純な論理回路により実現で
きる機能を多数実現する必要があり、配線が複雑化する
ため、特にLSI化する場合、問題となる。このため、こ
の修飾情報生成装置をPLA(プログラマブル・ロジック
・アレイ)により実現することにより、LSI化した場合
の面積の縮小に効果的である。
【図面の簡単な説明】
第1図は本発明の一実施例における制御装置の構成を示
すブロック図、第2図は、同実施例における制御情報修
飾装置のブロック図、第3図は同実施例の基本的な命令
解読時の動作を説明するタイミング図、第4図は従来の
制御装置のを示すブロック図である。 1……制御記憶装置、2……修飾情報生成装置、3……
制御情報修飾装置、4……選択装置、5……入力レジス
タ、6……制御記憶アドレス生成装置、8……修飾情報
生成制御装置、9……制御情報修飾制御装置、10……ビ
ット修飾装置、11……スタック装置、13……割込み受付
け装置。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭61−134840(JP,A) 特開 昭58−200349(JP,A) 特開 昭58−129658(JP,A)

Claims (11)

    (57)【特許請求の範囲】
  1. 【請求項1】定まった制御機能を有したり、レジスタな
    どのオペランド指定機能を有したり、演算装置にデータ
    として供給される複数のフィールドから構成されるマイ
    クロ命令を複数格納する制御記憶装置と、マイクロ命令
    の少なくとも一部を修飾するための情報を生成する修飾
    情報生成装置と、前記修飾情報生成装置への入力を保持
    する入力レジスタと、マクロ命令を解読し前記制御記憶
    装置の入力とするアドレスと前記修飾情報生成装置に修
    飾情報の生成を制御する制御情報を出力するマクロ命令
    解読装置と、前記制御記憶装置から出力されるマイクロ
    命令と前記修飾情報生成装置から出力される修飾情報に
    より前記マイクロ命令の修飾を行う制御情報修飾装置と
    を備えたことを特徴とする制御装置。
  2. 【請求項2】入力レジスタに接続され、命令コード等の
    複数の入力を選択する選択装置を備えたことを特徴とす
    る請求項1記載の制御装置。
  3. 【請求項3】選択装置に演算装置からのデータ入力のた
    めのデータバスを接続したことを特徴とする請求項2記
    載の制御装置。
  4. 【請求項4】割込み要因を保持する割込み受付け装置を
    設け、選択装置に前記割込み受付け装置を接続したこと
    を特徴とする請求項2記載の制御装置。
  5. 【請求項5】入力レジスタに接続され、前記入力レジス
    タの指示された特定のビットを修飾するためのビット修
    飾装置を備えたことを特徴とする請求項1記載の制御装
    置。
  6. 【請求項6】入力レジスタに接続され、前記入力レジス
    タの出力データを入力とし、単一もしくは複数のデータ
    を保持し、出力を前記入力レジスタに復帰するスタック
    装置を備えたことを特徴とする請求項1記載の制御装
    置。
  7. 【請求項7】制御記憶装置にアドレスを供給する制御記
    憶アドレス生成装置を設け、請求項1記載の修飾情報生
    成装置の出力の一部を前記制御記憶アドレス生成装置に
    接続したことを特徴とする請求項1記載の制御装置。
  8. 【請求項8】修飾情報生成装置はプログラマブル・ロジ
    ック・アレイであることを特徴とする請求項1記載の制
    御装置。
  9. 【請求項9】制御記憶装置は入力アドレスに対応するマ
    イクロ命令を出力し、修飾情報生成装置は入力される制
    御情報と入力レジスタよりマイクロ命令の一部を修飾す
    るための修飾情報を出力し、制御情報修飾装置は前記マ
    イクロ命令の少なくとも一部を前記修飾情報で修飾する
    ことを特徴とする請求項1記載の制御装置。
  10. 【請求項10】マクロ命令解読装置がマクロ命令解読時
    に制御記憶装置の入力アドレスおよび修飾情報生成装置
    に入力される制御情報を生成することを特徴とする請求
    項9記載の制御装置。
  11. 【請求項11】制御記憶装置が制御記憶装置の入力アド
    レスおよび修飾情報生成装置に入力される制御情報を生
    成することを特徴とする請求項9記載の制御装置。
JP1114740A 1989-05-08 1989-05-08 制御装置 Expired - Fee Related JP2538053B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP1114740A JP2538053B2 (ja) 1989-05-08 1989-05-08 制御装置
EP90304873A EP0397414B1 (en) 1989-05-08 1990-05-04 Control device having a function of modifying a microinstruction
DE69020430T DE69020430T2 (de) 1989-05-08 1990-05-04 Steueranordnung zur Aenderung eines Microbefehls.
CA002016145A CA2016145C (en) 1989-05-08 1990-05-07 Control device having a function of modifying a micro instruction
KR1019900006468A KR940002323B1 (ko) 1989-05-08 1990-05-08 마이크로명령어의 수식기능을 가진 제어장치
US08/103,178 US5479620A (en) 1989-05-08 1993-08-09 Control unit modifying micro instructions for one cycle execution

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1114740A JP2538053B2 (ja) 1989-05-08 1989-05-08 制御装置

Publications (2)

Publication Number Publication Date
JPH02293931A JPH02293931A (ja) 1990-12-05
JP2538053B2 true JP2538053B2 (ja) 1996-09-25

Family

ID=14645464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1114740A Expired - Fee Related JP2538053B2 (ja) 1989-05-08 1989-05-08 制御装置

Country Status (6)

Country Link
US (1) US5479620A (ja)
EP (1) EP0397414B1 (ja)
JP (1) JP2538053B2 (ja)
KR (1) KR940002323B1 (ja)
CA (1) CA2016145C (ja)
DE (1) DE69020430T2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0498067A2 (en) * 1991-02-08 1992-08-12 International Business Machines Corporation Microcode generation for a scalable compound instruction set machine
US5862370A (en) * 1995-09-27 1999-01-19 Vlsi Technology, Inc. Data processor system with instruction substitution filter for deimplementing instructions
US5958046A (en) * 1996-11-26 1999-09-28 Texas Instruments Incorporated Microprocessor with reduced microcode space requirements due to improved branch target microaddress circuits, systems, and methods
US5887159A (en) * 1996-12-11 1999-03-23 Digital Equipment Corporation Dynamically determining instruction hint fields
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
US7711763B2 (en) 2001-02-21 2010-05-04 Mips Technologies, Inc. Microprocessor instructions for performing polynomial arithmetic operations
US7599981B2 (en) 2001-02-21 2009-10-06 Mips Technologies, Inc. Binary polynomial multiplier
US7181484B2 (en) 2001-02-21 2007-02-20 Mips Technologies, Inc. Extended-precision accumulation of multiplier output

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2555963C2 (de) * 1975-12-12 1982-10-28 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Funktionsmodifizierung
JPS57105036A (en) * 1980-12-23 1982-06-30 Panafacom Ltd Register means access system
US4419726A (en) * 1981-01-16 1983-12-06 Sperry Corporation Instruction decoding in data processing apparatus
US4467417A (en) * 1981-09-16 1984-08-21 Honeywell Information Systems Inc. Flexible logic transfer and instruction decoding system
JPS58129658A (ja) * 1982-01-29 1983-08-02 Nec Corp マイクロプログラム制御装置
JPS58200349A (ja) * 1982-05-14 1983-11-21 Nec Corp マイクロプログラム制御装置
JPS5957346A (ja) * 1982-09-27 1984-04-02 Nec Corp デ−タ処理装置
US4825363A (en) * 1984-12-05 1989-04-25 Honeywell Inc. Apparatus for modifying microinstructions of a microprogrammed processor
US4984151A (en) * 1985-03-01 1991-01-08 Advanced Micro Devices, Inc. Flexible, next-address generation microprogram sequencer
JPS62143138A (ja) * 1985-12-17 1987-06-26 Nec Corp マイクロプログラム制御装置
JP2695157B2 (ja) * 1986-12-29 1997-12-24 松下電器産業株式会社 可変パイプラインプロセッサ
US5155819A (en) * 1987-11-03 1992-10-13 Lsi Logic Corporation Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions

Also Published As

Publication number Publication date
EP0397414A3 (en) 1991-09-18
CA2016145A1 (en) 1990-11-08
DE69020430T2 (de) 1995-11-09
KR940002323B1 (ko) 1994-03-23
EP0397414A2 (en) 1990-11-14
DE69020430D1 (de) 1995-08-03
KR900018807A (ko) 1990-12-22
US5479620A (en) 1995-12-26
CA2016145C (en) 2000-02-01
JPH02293931A (ja) 1990-12-05
EP0397414B1 (en) 1995-06-28

Similar Documents

Publication Publication Date Title
JP2550213B2 (ja) 並列処理装置および並列処理方法
US4954943A (en) Data processing system
US20020169942A1 (en) VLIW processor
US4179731A (en) Microprogrammed control system
JP2002512399A (ja) 外部コプロセッサによりアクセス可能なコンテキストスイッチレジスタセットを備えたriscプロセッサ
US6611909B1 (en) Method and apparatus for dynamically translating program instructions to microcode instructions
JPH03218523A (ja) データプロセッサ
JPH05233271A (ja) データプロセッサ
JP3004108B2 (ja) 情報処理装置
JP2538053B2 (ja) 制御装置
JP3578883B2 (ja) データ処理装置
US4791551A (en) Microprogrammable devices using transparent latch
US5390306A (en) Pipeline processing system and microprocessor using the system
EP0140299A2 (en) Vector mask control system
KR100374401B1 (ko) 마이크로 명령을 기초로 프로그램 가능한 명령을 실행하는하드웨어 장치
US5590293A (en) Dynamic microbranching with programmable hold on condition, to programmable dynamic microbranching delay minimization
US6775762B1 (en) Processor and processor system
JPH03204030A (ja) コンピュータ用プロセツサ
US5187782A (en) Data processing system
JP2848727B2 (ja) 並列演算処理装置
EP1177499A1 (en) Processor and method of executing instructions from several instruction sources
JP2583506B2 (ja) データ処理装置
US6038659A (en) Method for using read-only memory to generate controls for microprocessor
JP3511691B2 (ja) 演算処理装置
JPH01271840A (ja) マイクロコンピュータ

Legal Events

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