JPH04305735A - マイクロプログラム制御回路 - Google Patents
マイクロプログラム制御回路Info
- Publication number
- JPH04305735A JPH04305735A JP3096449A JP9644991A JPH04305735A JP H04305735 A JPH04305735 A JP H04305735A JP 3096449 A JP3096449 A JP 3096449A JP 9644991 A JP9644991 A JP 9644991A JP H04305735 A JPH04305735 A JP H04305735A
- Authority
- JP
- Japan
- Prior art keywords
- micro
- microinstruction
- address
- instruction
- information bit
- 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
Links
- 238000003860 storage Methods 0.000 claims description 16
- 230000008859 change Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 30
- 101100087530 Caenorhabditis elegans rom-1 gene Proteins 0.000 description 12
- 101100305983 Mus musculus Rom1 gene Proteins 0.000 description 12
- 238000000034 method Methods 0.000 description 8
- 238000009792 diffusion process Methods 0.000 description 7
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 2
- 229910052782 aluminium Inorganic materials 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】この発明はマイクロ命令により演
算処理を制御する方式のマイクロプロセッサのマイクロ
プログラム制御回路に関し、特にマイクロ命令の機能を
切り換える手段に関するものである。
算処理を制御する方式のマイクロプロセッサのマイクロ
プログラム制御回路に関し、特にマイクロ命令の機能を
切り換える手段に関するものである。
【0002】
【従来の技術】図11は従来のマイクロプログラム制御
回路の構成を示すブロック図である。図11において、
1はマイクロ命令を記憶するマイクロ命令記憶手段(以
下マイクロROMという)、2はマイクロROM1から
読み出されたマイクロ命令の内容を示すマイクロデータ
、3はマイクロデータを保持するマイクロデータレジス
タ、4はマイクロデータ2とパラメータ情報をデコード
するマイクロデコーダ、5はマイクロデコーダ4によっ
てデコードされた制御信号、6はマイクロ命令の実行エ
ントリを指定するマイクロアドレス、7はマイクロアド
レス6によりマイクロROM1をアクセスするマイクロ
ポインタ、8はマイクロポインタ7のマイクロアドレス
6をカウントアップするマイクロカウンタ、9はマイク
ロデータ2のアドレスフィールドの内容で次のマイクロ
アドレス6を指定するマイクロ次アドレス、10はマイ
クロ次アドレス9を格納するマイクロ次アドレスレジス
タ、11はマイクロ命令でサブルーチンを実行する場合
の戻り先のマイクロアドレス6を格納するマイクロスタ
ックレジスタ、12は外部よりフェッチされた命令をデ
コードする命令デコーダ、13は命令デコーダ12でデ
コードされたデコーダコード、14はデコーダコード1
3のなかでマイクロ命令の開始エントリアドレスを指定
するマイクロアドレスコードを保持するマイクロアドレ
スレジスタ、15はデコーダコード13のなかでアドレ
ッシングモード等のパラメータ情報を格納するマイクロ
パラメータレジスタ、16はマイクロパラメータを示す
。
回路の構成を示すブロック図である。図11において、
1はマイクロ命令を記憶するマイクロ命令記憶手段(以
下マイクロROMという)、2はマイクロROM1から
読み出されたマイクロ命令の内容を示すマイクロデータ
、3はマイクロデータを保持するマイクロデータレジス
タ、4はマイクロデータ2とパラメータ情報をデコード
するマイクロデコーダ、5はマイクロデコーダ4によっ
てデコードされた制御信号、6はマイクロ命令の実行エ
ントリを指定するマイクロアドレス、7はマイクロアド
レス6によりマイクロROM1をアクセスするマイクロ
ポインタ、8はマイクロポインタ7のマイクロアドレス
6をカウントアップするマイクロカウンタ、9はマイク
ロデータ2のアドレスフィールドの内容で次のマイクロ
アドレス6を指定するマイクロ次アドレス、10はマイ
クロ次アドレス9を格納するマイクロ次アドレスレジス
タ、11はマイクロ命令でサブルーチンを実行する場合
の戻り先のマイクロアドレス6を格納するマイクロスタ
ックレジスタ、12は外部よりフェッチされた命令をデ
コードする命令デコーダ、13は命令デコーダ12でデ
コードされたデコーダコード、14はデコーダコード1
3のなかでマイクロ命令の開始エントリアドレスを指定
するマイクロアドレスコードを保持するマイクロアドレ
スレジスタ、15はデコーダコード13のなかでアドレ
ッシングモード等のパラメータ情報を格納するマイクロ
パラメータレジスタ、16はマイクロパラメータを示す
。
【0003】図12は従来例における命令毎のマイクロ
命令の開始エントリの選択方法を説明するための命令フ
ォーマットを示す図で、同図で17は1ワード命令、1
8は2ワード命令、19は命令のオペレーションを規定
するオペコード、20はデストデータのアドレスとアク
セス方法を指定するデストフィールド、21はソースデ
ータのサイズを指定するサイズフィールド、22はソー
スデータのアドレスとアクセス方法を指定するソースフ
ィールド、23はソースフィールド22で指定される拡
張フィールドを示す。
命令の開始エントリの選択方法を説明するための命令フ
ォーマットを示す図で、同図で17は1ワード命令、1
8は2ワード命令、19は命令のオペレーションを規定
するオペコード、20はデストデータのアドレスとアク
セス方法を指定するデストフィールド、21はソースデ
ータのサイズを指定するサイズフィールド、22はソー
スデータのアドレスとアクセス方法を指定するソースフ
ィールド、23はソースフィールド22で指定される拡
張フィールドを示す。
【0004】図13は水平型マイクロ命令のエントリ構
造を示す図で、同図で24はマイクロ命令、25は次の
マイクロ命令のマイクロアドレス6を指定するマイクロ
アドレスフィールド、26はマイクロプログラムの処理
シーケンスを指定するマイクロシーケンスフィールドを
示す。
造を示す図で、同図で24はマイクロ命令、25は次の
マイクロ命令のマイクロアドレス6を指定するマイクロ
アドレスフィールド、26はマイクロプログラムの処理
シーケンスを指定するマイクロシーケンスフィールドを
示す。
【0005】次に図11,図12および図13を用いて
従来例の動作について説明する。まず、デコーダコード
13の生成方法について説明する。図示しない外部記憶
装置よりフェッチされた命令は命令デコーダ12に送ら
れる。命令デコーダ12ではオペコード19により命令
の種類を特定し、マイクロ命令24の開始エントリに対
応したマイクロアドレスコードを生成する。マイクロア
ドレスコードの生成と同時にデストフィールド20やソ
ースフィールド22で指定されるソースデータやデスト
データをアクセスするためのアドレッシングモードやレ
ジスタ番号と、サイズフィールド21で指定されるソー
スデータのサイズ情報からパラメータ情報コードを生成
する。マイクロアドレスコードとパラメータ情報コード
はデコーダコード13として命令デコーダ12から出力
され、マイクロアドレスコードはマイクロアドレスレジ
スタ14に、パラメータ情報コードはマイクロパラメー
タレジスタ15に格納される。
従来例の動作について説明する。まず、デコーダコード
13の生成方法について説明する。図示しない外部記憶
装置よりフェッチされた命令は命令デコーダ12に送ら
れる。命令デコーダ12ではオペコード19により命令
の種類を特定し、マイクロ命令24の開始エントリに対
応したマイクロアドレスコードを生成する。マイクロア
ドレスコードの生成と同時にデストフィールド20やソ
ースフィールド22で指定されるソースデータやデスト
データをアクセスするためのアドレッシングモードやレ
ジスタ番号と、サイズフィールド21で指定されるソー
スデータのサイズ情報からパラメータ情報コードを生成
する。マイクロアドレスコードとパラメータ情報コード
はデコーダコード13として命令デコーダ12から出力
され、マイクロアドレスコードはマイクロアドレスレジ
スタ14に、パラメータ情報コードはマイクロパラメー
タレジスタ15に格納される。
【0006】1ワード命令17と異なり、2ワード命令
18でソースデータをアクセスするアドレッシングモー
ドのためのオフセット情報や即値データなどの付加情報
を持つ場合、これらの情報はソースフィールド22で指
定された拡張フィールド23として与えられる。拡張フ
ィールド23のサイズ(ここでは1ワード)や拡張フィ
ールド23の有無もアドレッシングモードやレジスタ番
号などと一緒にソースフィールドのパラメータ情報コー
ドとして、デコーダコード13に与えられる。このため
、オペコード19で指定されるマイクロ命令24の開始
エントリは、命令のフォーマットで固定されない。つま
り、マイクロ命令24の開始エントリアドレスはオペコ
ード19によってのみ決定され、ソースフィールド22
やデストフィールド20の内容に無関係であり、オペコ
ード19が同一処理内容を示していれば拡張フィールド
23を持たない1ワード命令17と拡張フィールド23
を持つ2ワード命令18でもマイクロアドレス6は同一
となる。
18でソースデータをアクセスするアドレッシングモー
ドのためのオフセット情報や即値データなどの付加情報
を持つ場合、これらの情報はソースフィールド22で指
定された拡張フィールド23として与えられる。拡張フ
ィールド23のサイズ(ここでは1ワード)や拡張フィ
ールド23の有無もアドレッシングモードやレジスタ番
号などと一緒にソースフィールドのパラメータ情報コー
ドとして、デコーダコード13に与えられる。このため
、オペコード19で指定されるマイクロ命令24の開始
エントリは、命令のフォーマットで固定されない。つま
り、マイクロ命令24の開始エントリアドレスはオペコ
ード19によってのみ決定され、ソースフィールド22
やデストフィールド20の内容に無関係であり、オペコ
ード19が同一処理内容を示していれば拡張フィールド
23を持たない1ワード命令17と拡張フィールド23
を持つ2ワード命令18でもマイクロアドレス6は同一
となる。
【0007】次にマイクロ命令24の読み出し動作につ
いて説明する。デコーダコード13がマイクロアドレス
レジスタ14およびマイクロパラメータレジスタ15に
入力されるとマイクロROM1の読み出し動作が開始さ
れる。まず、マイクロアドレス6がマイクロアドレスレ
ジスタ14から、マイクロパラメータ16がマイクロパ
ラメータレジスタ15から読み出され、マイクロアドレ
ス6はマイクロポインタ7にマイクロパラメータ情報1
6はマイクロデコーダ4に保持される。マイクロポイン
タ7はマイクロアドレス6に従ってマイクロROM1の
マイクロ命令をアクセスしマイクロデータ2としてマイ
クロ命令24をマイクロデータレジスタ3に読み出す。
いて説明する。デコーダコード13がマイクロアドレス
レジスタ14およびマイクロパラメータレジスタ15に
入力されるとマイクロROM1の読み出し動作が開始さ
れる。まず、マイクロアドレス6がマイクロアドレスレ
ジスタ14から、マイクロパラメータ16がマイクロパ
ラメータレジスタ15から読み出され、マイクロアドレ
ス6はマイクロポインタ7にマイクロパラメータ情報1
6はマイクロデコーダ4に保持される。マイクロポイン
タ7はマイクロアドレス6に従ってマイクロROM1の
マイクロ命令をアクセスしマイクロデータ2としてマイ
クロ命令24をマイクロデータレジスタ3に読み出す。
【0008】そして、マイクロ命令24のマイクロシー
ケンスフィールド26で指定される次に実行するマイク
ロアドレス6の求め方によって以下のように動作が異な
る。まず、マイクロ命令が分岐しない場合、マイクロデ
ータ2はマイクロデータレジスタ3からマイクロデコー
ダ4に出力される。マイクロデコーダ4では先に保持し
たマイクロパラメータ16とマイクロデータ2をデコー
ドして演算器などを制御する制御信号5を生成する。マ
イクロデータ2がマイクロデータレジスタ3からマイク
ロデコーダ4に出力されると同時に、次のデコーダコー
ド13がマイクロアドレスレジスタ14およびマイクロ
パラメータレジスタ15にセットされる。マイクロ命令
24のマイクロシーケンスフィールド26がマイクロ命
令24の終了を示した場合、次の命令を処理するための
マイクロアドレス6がマイクロアドレスレジスタ14か
らマイクロポインタ7にマイクロパラメータ16がマイ
クロパラメータレジスタ15からマイクロデコーダ4に
出力されマイクロROM1から新たなマイクロ命令24
の読み出しを行う。
ケンスフィールド26で指定される次に実行するマイク
ロアドレス6の求め方によって以下のように動作が異な
る。まず、マイクロ命令が分岐しない場合、マイクロデ
ータ2はマイクロデータレジスタ3からマイクロデコー
ダ4に出力される。マイクロデコーダ4では先に保持し
たマイクロパラメータ16とマイクロデータ2をデコー
ドして演算器などを制御する制御信号5を生成する。マ
イクロデータ2がマイクロデータレジスタ3からマイク
ロデコーダ4に出力されると同時に、次のデコーダコー
ド13がマイクロアドレスレジスタ14およびマイクロ
パラメータレジスタ15にセットされる。マイクロ命令
24のマイクロシーケンスフィールド26がマイクロ命
令24の終了を示した場合、次の命令を処理するための
マイクロアドレス6がマイクロアドレスレジスタ14か
らマイクロポインタ7にマイクロパラメータ16がマイ
クロパラメータレジスタ15からマイクロデコーダ4に
出力されマイクロROM1から新たなマイクロ命令24
の読み出しを行う。
【0009】次に、命令デコーダ12でデコードされた
命令が複数のマイクロ命令24で処理される場合、マイ
クロROM1からのマイクロ命令24の読み出しに並行
してマイクロシーケンスフィールド26がマイクロ命令
24の終了を示すまでマイクロカウンタ8によってマイ
クロポインタ7のマイクロアドレス6がカウントアップ
される。そしてカウントアップされたマイクロアドレス
6によって次のマイクロ命令24の読み出しを行う。
命令が複数のマイクロ命令24で処理される場合、マイ
クロROM1からのマイクロ命令24の読み出しに並行
してマイクロシーケンスフィールド26がマイクロ命令
24の終了を示すまでマイクロカウンタ8によってマイ
クロポインタ7のマイクロアドレス6がカウントアップ
される。そしてカウントアップされたマイクロアドレス
6によって次のマイクロ命令24の読み出しを行う。
【0010】さらに、マイクロ命令24のマイクロシー
ケンスフィールド26がマイクロ命令24の分岐を示し
マイクロ命令24が分岐する場合、つまり命令デコーダ
12でデコードされた命令が複数のマイクロ命令24で
処理される場合、マイクロデータレジスタ3ではマイク
ロデータ2のマイクロアドレスフィールド25をマイク
ロ次アドレス9として切り出しマイクロ次アドレスレジ
スタ10に出力する。一方、マイクロアドレスフィール
ド25が切り出されたマイクロデータ2はマイクロデー
タレジスタ3からマイクロデコーダ4に出力される。マ
イクロデコーダ4では前記同様制御信号5を生成する。 この時、マイクロポインタ7はマイクロシーケンスフィ
ールド26がマイクロ命令24が非分岐もしくは終了を
示すまでマイクロアドレス6をマイクロ次アドレスレジ
スタ10より読み込み次のマイクロ命令24の読み出し
を行う。
ケンスフィールド26がマイクロ命令24の分岐を示し
マイクロ命令24が分岐する場合、つまり命令デコーダ
12でデコードされた命令が複数のマイクロ命令24で
処理される場合、マイクロデータレジスタ3ではマイク
ロデータ2のマイクロアドレスフィールド25をマイク
ロ次アドレス9として切り出しマイクロ次アドレスレジ
スタ10に出力する。一方、マイクロアドレスフィール
ド25が切り出されたマイクロデータ2はマイクロデー
タレジスタ3からマイクロデコーダ4に出力される。マ
イクロデコーダ4では前記同様制御信号5を生成する。 この時、マイクロポインタ7はマイクロシーケンスフィ
ールド26がマイクロ命令24が非分岐もしくは終了を
示すまでマイクロアドレス6をマイクロ次アドレスレジ
スタ10より読み込み次のマイクロ命令24の読み出し
を行う。
【0011】最後に、マイクロ命令24のマイクロシー
ケンスフィールド26がマイクロ命令24のサブルーチ
ン分岐を示しマイクロ命令24がマイクロサブルーチン
を行う場合、つまり命令デコーダ12でデコードされた
命令が他の命令と共通のマイクロ命令24で処理される
場合、マイクロ出力レジスタ3ではマイクロデータ2の
マイクロアドレスフィールド25をサブルーチンジャン
プ先のマイクロ次アドレス9として切り出しマイクロ次
アドレスレジスタ10に転送する。一方、マイクロアド
レスフィールド25が切り出されたマイクロデータ2は
マイクロデータレジスタ3からマイクロデコーダ4に転
送される。マイクロデコーダ4では前記同様制御信号5
を生成する。この時並行してマイクロポインタ7のマイ
クロアドレス6はマイクロカウンタ8でカウントアップ
されマイクロサブルーチンの戻り先アドレスとしてマイ
クロスタックレジスタ11に格納される。そしてマイク
ロポインタ7にはマイクロ次アドレスレジスタ10より
マイクロサブルーチン分岐先のマイクロアドレス6が読
み込まれサブルーチン分岐中の処理が行われる。マイク
ロシーケンスフィールド26がマイクロサブルーチン分
岐の終了を示すとマイクロポインタ7はサブルーチンの
戻り先アドレスとしてマイクロスタックレジスタ11の
マイクロアドレス6を読み込み、次のマイクロ命令24
の読み出しを行う。
ケンスフィールド26がマイクロ命令24のサブルーチ
ン分岐を示しマイクロ命令24がマイクロサブルーチン
を行う場合、つまり命令デコーダ12でデコードされた
命令が他の命令と共通のマイクロ命令24で処理される
場合、マイクロ出力レジスタ3ではマイクロデータ2の
マイクロアドレスフィールド25をサブルーチンジャン
プ先のマイクロ次アドレス9として切り出しマイクロ次
アドレスレジスタ10に転送する。一方、マイクロアド
レスフィールド25が切り出されたマイクロデータ2は
マイクロデータレジスタ3からマイクロデコーダ4に転
送される。マイクロデコーダ4では前記同様制御信号5
を生成する。この時並行してマイクロポインタ7のマイ
クロアドレス6はマイクロカウンタ8でカウントアップ
されマイクロサブルーチンの戻り先アドレスとしてマイ
クロスタックレジスタ11に格納される。そしてマイク
ロポインタ7にはマイクロ次アドレスレジスタ10より
マイクロサブルーチン分岐先のマイクロアドレス6が読
み込まれサブルーチン分岐中の処理が行われる。マイク
ロシーケンスフィールド26がマイクロサブルーチン分
岐の終了を示すとマイクロポインタ7はサブルーチンの
戻り先アドレスとしてマイクロスタックレジスタ11の
マイクロアドレス6を読み込み、次のマイクロ命令24
の読み出しを行う。
【0012】図14,図15,図16,および図17を
用いて上記動作のタイミングを簡単に説明する。図で2
7は命令Iの処理の流れ、28は命令IIの処理の流れ
、A,B,C,Dはマイクロ命令読み出しのための動作
サイクルを示し、矢印はデータの移動方向を示す。ここ
で図11と同一符号は同一機能を示す。基本的にはA,
B,C,Dの4サイクルがひとつのマイクロ命令の読み
出しサイクルとなっている。
用いて上記動作のタイミングを簡単に説明する。図で2
7は命令Iの処理の流れ、28は命令IIの処理の流れ
、A,B,C,Dはマイクロ命令読み出しのための動作
サイクルを示し、矢印はデータの移動方向を示す。ここ
で図11と同一符号は同一機能を示す。基本的にはA,
B,C,Dの4サイクルがひとつのマイクロ命令の読み
出しサイクルとなっている。
【0013】まず、図14で命令デコーダ12でデコー
ドされた命令の処理がひとつのマイクロ命令で終了する
場合を説明する。マイクロROM1からの読み出しが始
まるひとつ前のサイクルD(以下、サイクルと略す)に
て命令デコーダ12より命令Iのデコーダコード13が
出力されマイクロアドレスレジスタ14にマイクロアド
レス6が入力される。Aにてマイクロポインタ7にマイ
クロアドレス6が読み込まれ、BにてマイクロROM1
がアクセスされ、Cにてマイクロデータレジスタ3にマ
イクロデータ2が読み込まれ、Dにてマイクロデコーダ
4でマイクロパラメータ16と共にデコードされ、次の
Aにて制御信号5が出力される。この時Dでは命令デコ
ーダ12から命令IIのデコーダコード13が出力され
て以下、命令Iと同様に処理される。
ドされた命令の処理がひとつのマイクロ命令で終了する
場合を説明する。マイクロROM1からの読み出しが始
まるひとつ前のサイクルD(以下、サイクルと略す)に
て命令デコーダ12より命令Iのデコーダコード13が
出力されマイクロアドレスレジスタ14にマイクロアド
レス6が入力される。Aにてマイクロポインタ7にマイ
クロアドレス6が読み込まれ、BにてマイクロROM1
がアクセスされ、Cにてマイクロデータレジスタ3にマ
イクロデータ2が読み込まれ、Dにてマイクロデコーダ
4でマイクロパラメータ16と共にデコードされ、次の
Aにて制御信号5が出力される。この時Dでは命令デコ
ーダ12から命令IIのデコーダコード13が出力され
て以下、命令Iと同様に処理される。
【0014】次に、複数のマイクロ命令で処理される場
合でのマイクロ次アドレスの求め方を説明する。まず、
マイクロ命令が分岐しない場合を図15に示す。Cでマ
イクロポインタ7のマイクロアドレス6がマイクロカウ
ンタ8に取り込まれてカウントアップされ、Dでマイク
ロポインタ7に渡される。そして、次のBでマイクロポ
インタ7によって次のマイクロ命令がアクセスされる。 同じく分岐する場合は、図16に示すようにCでマイク
ロデータレジスタ4によって切り出されたマイクロ命令
のアドレスフィールド25が示すマイクロ次アドレス9
がマイクロ次アドレスレジスタ10に格納される。そし
て次のAでマイクロポインタ7に渡され次のBでマイク
ロポインタ7によって分岐先のマイクロ命令がアクセス
される。同じくサブルーチン分岐をする場合には、図1
7に示すようにCでマイクロポインタ7のマイクロアド
レス6がマイクロカウンタ8に取り込まれてカウントア
ップされ、Dでマイクロスタックレジスタ11に渡され
る。そして次のAでマイクロポインタ7に渡され次のB
でマイクロポインタ7によって分岐先のマイクロ命令が
アクセスされる。
合でのマイクロ次アドレスの求め方を説明する。まず、
マイクロ命令が分岐しない場合を図15に示す。Cでマ
イクロポインタ7のマイクロアドレス6がマイクロカウ
ンタ8に取り込まれてカウントアップされ、Dでマイク
ロポインタ7に渡される。そして、次のBでマイクロポ
インタ7によって次のマイクロ命令がアクセスされる。 同じく分岐する場合は、図16に示すようにCでマイク
ロデータレジスタ4によって切り出されたマイクロ命令
のアドレスフィールド25が示すマイクロ次アドレス9
がマイクロ次アドレスレジスタ10に格納される。そし
て次のAでマイクロポインタ7に渡され次のBでマイク
ロポインタ7によって分岐先のマイクロ命令がアクセス
される。同じくサブルーチン分岐をする場合には、図1
7に示すようにCでマイクロポインタ7のマイクロアド
レス6がマイクロカウンタ8に取り込まれてカウントア
ップされ、Dでマイクロスタックレジスタ11に渡され
る。そして次のAでマイクロポインタ7に渡され次のB
でマイクロポインタ7によって分岐先のマイクロ命令が
アクセスされる。
【0015】
【発明が解決しようとする課題】従来のマイクロプログ
ラム制御回路では、マイクロ命令の実行手順の変更はマ
イクロ命令中の、マイクロアドレスフィールドとマイク
ロシーケンスフィールドのプログラミングを変更するこ
とで対処でき、これは製造プロセスでマイクロROMに
プログラミングするデータを変更することで容易に対応
可能である。しかし、新規の命令追加や命令の持つ機能
を拡張したり変更したい場合は、新たにチップ上に追加
した拡張マイクロROM等にプログラミングする必要が
ある。そして、命令デコーダを新たに拡張したマイクロ
ROMのマイクロアドレスがデコードできるようにする
ための大幅な回路の変更が生じる。したがって、従来の
マイクロプログラム制御回路は新機能を盛り込んだ製品
の開発期間を長く取り、開発コストを高くするという問
題点があった。
ラム制御回路では、マイクロ命令の実行手順の変更はマ
イクロ命令中の、マイクロアドレスフィールドとマイク
ロシーケンスフィールドのプログラミングを変更するこ
とで対処でき、これは製造プロセスでマイクロROMに
プログラミングするデータを変更することで容易に対応
可能である。しかし、新規の命令追加や命令の持つ機能
を拡張したり変更したい場合は、新たにチップ上に追加
した拡張マイクロROM等にプログラミングする必要が
ある。そして、命令デコーダを新たに拡張したマイクロ
ROMのマイクロアドレスがデコードできるようにする
ための大幅な回路の変更が生じる。したがって、従来の
マイクロプログラム制御回路は新機能を盛り込んだ製品
の開発期間を長く取り、開発コストを高くするという問
題点があった。
【0016】この発明は上記のような問題点を解決する
ためになされたもので、命令デコーダの改定を伴わずに
、マイクロ命令による機能拡張や変更を実施できるよう
にすることにより、命令機能の拡張や追加を容易にし、
新機能を盛り込んだ製品の開発期間の短縮と開発コスト
の低減を図れるマイクロプログラム制御回路を提供する
ことを目的とする。
ためになされたもので、命令デコーダの改定を伴わずに
、マイクロ命令による機能拡張や変更を実施できるよう
にすることにより、命令機能の拡張や追加を容易にし、
新機能を盛り込んだ製品の開発期間の短縮と開発コスト
の低減を図れるマイクロプログラム制御回路を提供する
ことを目的とする。
【0017】
【課題を解決するための手段】この発明に係るマイクロ
プログラム制御回路は、マイクロ命令を記憶するマイク
ロ命令記憶手段1と、このマイクロ命令記憶手段1のそ
れぞれのマイクロ命令に有効/無効を示す情報として付
加される情報ビット29と、上記マイクロ命令を拡張し
上記マイクロ命令とは内容の異なる拡張マイクロ命令を
記憶する拡張マイクロ命令記憶手段32と、マイクロア
ドレス6により上記マイクロ命令をアクセスするマイク
ロポインタ7と、上記マイクロアドレス6が発生したと
きに、当該アドレス6に対応する上記情報ビット29に
より上記拡張マイクロ命令記憶手段32を起動するマイ
クロ命令制御回路35とを備え、上記情報ビット29に
より上記マイクロアドレス6が指定する上記マイクロ命
令の機能を上記拡張マイクロ命令の機能と切り換えるも
のである。
プログラム制御回路は、マイクロ命令を記憶するマイク
ロ命令記憶手段1と、このマイクロ命令記憶手段1のそ
れぞれのマイクロ命令に有効/無効を示す情報として付
加される情報ビット29と、上記マイクロ命令を拡張し
上記マイクロ命令とは内容の異なる拡張マイクロ命令を
記憶する拡張マイクロ命令記憶手段32と、マイクロア
ドレス6により上記マイクロ命令をアクセスするマイク
ロポインタ7と、上記マイクロアドレス6が発生したと
きに、当該アドレス6に対応する上記情報ビット29に
より上記拡張マイクロ命令記憶手段32を起動するマイ
クロ命令制御回路35とを備え、上記情報ビット29に
より上記マイクロアドレス6が指定する上記マイクロ命
令の機能を上記拡張マイクロ命令の機能と切り換えるも
のである。
【0018】
【作用】この発明によれば、マイクロ命令記憶手段1に
記憶されているマイクロ命令がマイクロアドレス6によ
るマイクロポインタ7によってアクセスされるたびに、
マイクロ命令制御回路35は情報ビット29に基づいて
拡張マイクロ命令記憶手段32をアクセスし、マイクロ
命令を拡張マイクロ命令と入れ換える。
記憶されているマイクロ命令がマイクロアドレス6によ
るマイクロポインタ7によってアクセスされるたびに、
マイクロ命令制御回路35は情報ビット29に基づいて
拡張マイクロ命令記憶手段32をアクセスし、マイクロ
命令を拡張マイクロ命令と入れ換える。
【0019】
【実施例】図1は本発明の一実施例に係るマイクロプロ
グラム制御回路の構成を示すブロック図である。図1に
おいて、図11に示す構成要素に対応するものには同一
の符号を付し、その説明を省略する。図1において、2
9はマイクロ命令記憶手段1のそれぞれのマイクロ命令
に有効/無効を示す情報として付加される情報ビット(
マイクロ命令の機能を変更するか否かを設定する情報ビ
ット)、30は情報ビット29に基づいてアクセスされ
たマイクロ命令が有効(マイクロ命令を入れ換えない)
か無効(マイクロ命令を入れ換える)かを示すバリッド
信号、31はマイクロデータ2と入れ換えられる拡張マ
イクロデータ、32は拡張マイクロ命令を格納する拡張
マイクロ命令記憶手段(以下拡張マイクロROMという
)、33は拡張マイクロROM32を起動するマイクロ
命令入れ換え信号、34はマイクロデータレジスタ3が
保持するデータを選択する選択信号、35はバリッド信
号30に基づいてマイクロ命令入れ換え信号33と選択
信号34を出力するマイクロ命令制御回路である。
グラム制御回路の構成を示すブロック図である。図1に
おいて、図11に示す構成要素に対応するものには同一
の符号を付し、その説明を省略する。図1において、2
9はマイクロ命令記憶手段1のそれぞれのマイクロ命令
に有効/無効を示す情報として付加される情報ビット(
マイクロ命令の機能を変更するか否かを設定する情報ビ
ット)、30は情報ビット29に基づいてアクセスされ
たマイクロ命令が有効(マイクロ命令を入れ換えない)
か無効(マイクロ命令を入れ換える)かを示すバリッド
信号、31はマイクロデータ2と入れ換えられる拡張マ
イクロデータ、32は拡張マイクロ命令を格納する拡張
マイクロ命令記憶手段(以下拡張マイクロROMという
)、33は拡張マイクロROM32を起動するマイクロ
命令入れ換え信号、34はマイクロデータレジスタ3が
保持するデータを選択する選択信号、35はバリッド信
号30に基づいてマイクロ命令入れ換え信号33と選択
信号34を出力するマイクロ命令制御回路である。
【0020】次に動作について説明する。図1に示した
マイクロプログラム制御回路において、命令デコーダ1
2からのデコーダコード13がマイクロアドレスレジス
タ14およびマイクロパラメータレジスタ15に入力さ
れると、従来例と同様、マイクロROM1の読み出し動
作が開始される。そしてまず、マイクロアドレス6がマ
イクロアドレスレジスタ14から、マイクロパラメータ
16がマイクロパラメータレジスタ15から読み出され
る。この時マイクロパラメータ情報16はマイクロデコ
ーダ4に保持され、マイクロアドレス6はマイクロポイ
ンタ7に読み込まれる。マイクロポインタ7は従来例と
同様、マイクロROM1からマイクロ命令の読み出しを
行う。このとき情報ビット29が有効を示している場合
、アクセスされたマイクロ命令の機能をそのまま使用す
ることを意味するので、バリッド信号30は有効を示し
これを受けたマイクロ命令制御回路35はマイクロ命令
入れ換え信号33によって拡張マイクロROM32をデ
ィスエーブルすると同時に選択信号34によって、マイ
クロデータレジスタ3がマイクロROM1からのマイク
ロデータ2を保持するように制御する。次に情報ビット
29が無効を示している場合、アクセスされたマイクロ
命令の機能を入れ換えることを意味するのでバリッド信
号30は無効を示し、これを受けたマイクロ命令制御回
路35はマイクロ命令入れ換え信号33によって拡張マ
イクロROM32をイネーブルすると同時に選択信号3
4によって、マイクロデータレジスタ3が拡張マイクロ
ROM32からの拡張マイクロデータ31を保持するよ
うに制御する。なお、情報ビット29は設定手段29a
により容易に変更可能である。
マイクロプログラム制御回路において、命令デコーダ1
2からのデコーダコード13がマイクロアドレスレジス
タ14およびマイクロパラメータレジスタ15に入力さ
れると、従来例と同様、マイクロROM1の読み出し動
作が開始される。そしてまず、マイクロアドレス6がマ
イクロアドレスレジスタ14から、マイクロパラメータ
16がマイクロパラメータレジスタ15から読み出され
る。この時マイクロパラメータ情報16はマイクロデコ
ーダ4に保持され、マイクロアドレス6はマイクロポイ
ンタ7に読み込まれる。マイクロポインタ7は従来例と
同様、マイクロROM1からマイクロ命令の読み出しを
行う。このとき情報ビット29が有効を示している場合
、アクセスされたマイクロ命令の機能をそのまま使用す
ることを意味するので、バリッド信号30は有効を示し
これを受けたマイクロ命令制御回路35はマイクロ命令
入れ換え信号33によって拡張マイクロROM32をデ
ィスエーブルすると同時に選択信号34によって、マイ
クロデータレジスタ3がマイクロROM1からのマイク
ロデータ2を保持するように制御する。次に情報ビット
29が無効を示している場合、アクセスされたマイクロ
命令の機能を入れ換えることを意味するのでバリッド信
号30は無効を示し、これを受けたマイクロ命令制御回
路35はマイクロ命令入れ換え信号33によって拡張マ
イクロROM32をイネーブルすると同時に選択信号3
4によって、マイクロデータレジスタ3が拡張マイクロ
ROM32からの拡張マイクロデータ31を保持するよ
うに制御する。なお、情報ビット29は設定手段29a
により容易に変更可能である。
【0021】ここで、従来例と同様、マイクロ命令24
のマイクロシーケンスフィールド26で指定される次に
実行するマイクロアドレス6の求め方によって動作が異
なるが、マイクロパラメータ16と共に用いてデコード
されるデータがマイクロデータ2であるか拡張マイクロ
データ36であるかの違いだけで従来例と動作が同一な
ので省略する。
のマイクロシーケンスフィールド26で指定される次に
実行するマイクロアドレス6の求め方によって動作が異
なるが、マイクロパラメータ16と共に用いてデコード
されるデータがマイクロデータ2であるか拡張マイクロ
データ36であるかの違いだけで従来例と動作が同一な
ので省略する。
【0022】また、本発明にかかる回路はマイクロ命令
をアクセスされることによって動作するので、マイクロ
命令24が分岐し、次のマイクロアドレス6にマイクロ
次アドレスレジスタ10のマイクロ次アドレス9が選択
された場合と、マイクロ命令24がマイクロサブルーチ
ンを行い、次のマイクロアドレス6にマイクロスタック
レジスタ11のマイクロアドレス6が選択された場合に
も従来例で示したとおりの処理が行われる。
をアクセスされることによって動作するので、マイクロ
命令24が分岐し、次のマイクロアドレス6にマイクロ
次アドレスレジスタ10のマイクロ次アドレス9が選択
された場合と、マイクロ命令24がマイクロサブルーチ
ンを行い、次のマイクロアドレス6にマイクロスタック
レジスタ11のマイクロアドレス6が選択された場合に
も従来例で示したとおりの処理が行われる。
【0023】図2を用いて上記動作のタイミングを簡単
に説明する。基本的なタイミングは従来例で示したタイ
ミングと同一であり、従来例と異なる部分のみ説明する
。サイクルBでマイクロROM1がアクセスされると同
時にバリッド信号30が出力され、バリッド信号30に
よってマイクロ命令制御回路35はマイクロ命令入れ換
え信号33と選択信号34を出力し拡張マイクロROM
32を起動する。サイクルCでマイクロデータレジスタ
3は選択信号34によってマイクロデータ2または拡張
マイクロデータ31を保持する。
に説明する。基本的なタイミングは従来例で示したタイ
ミングと同一であり、従来例と異なる部分のみ説明する
。サイクルBでマイクロROM1がアクセスされると同
時にバリッド信号30が出力され、バリッド信号30に
よってマイクロ命令制御回路35はマイクロ命令入れ換
え信号33と選択信号34を出力し拡張マイクロROM
32を起動する。サイクルCでマイクロデータレジスタ
3は選択信号34によってマイクロデータ2または拡張
マイクロデータ31を保持する。
【0024】図3は図1中のマイクロ命令制御回路35
の回路例を示す図である。図3において、102はサイ
クルBのクロック信号、103はサイクルCのクロック
信号、105はバリッド信号30が無効を示したときマ
イクロ命令入れ換え信号33をクロック信号102に同
期してアサートし、クロック信号103に同期してネゲ
ートする入れ換え信号生成回路、106はバリッド信号
30が無効を示したとき選択信号34をマイクロ命令入
れ換え信号33のアサートとクロック信号102に同期
してアサートし、マイクロ命令入れ換え信号33のネゲ
ートとクロック信号103に同期してネゲートする選択
信号生成回路を示す。このような構成を有するマイクロ
命令制御回路35は図3に示すようにRSフリップフロ
ップ,ANDゲート,およびNOTゲートにより実現さ
れる。
の回路例を示す図である。図3において、102はサイ
クルBのクロック信号、103はサイクルCのクロック
信号、105はバリッド信号30が無効を示したときマ
イクロ命令入れ換え信号33をクロック信号102に同
期してアサートし、クロック信号103に同期してネゲ
ートする入れ換え信号生成回路、106はバリッド信号
30が無効を示したとき選択信号34をマイクロ命令入
れ換え信号33のアサートとクロック信号102に同期
してアサートし、マイクロ命令入れ換え信号33のネゲ
ートとクロック信号103に同期してネゲートする選択
信号生成回路を示す。このような構成を有するマイクロ
命令制御回路35は図3に示すようにRSフリップフロ
ップ,ANDゲート,およびNOTゲートにより実現さ
れる。
【0025】図4は図3に示す回路例において前述した
情報ビット29が有効を示す場合の動作タイミング図で
、図中の101はサイクルAのクロック信号である。 その他は前述したので説明を省略する。
情報ビット29が有効を示す場合の動作タイミング図で
、図中の101はサイクルAのクロック信号である。 その他は前述したので説明を省略する。
【0026】図5は上記情報ビット29が無効を示す場
合の動作タイミング図である。図5において、図4に示
す構成要素に対応するものには同一の符号を付し、その
説明を省略する。
合の動作タイミング図である。図5において、図4に示
す構成要素に対応するものには同一の符号を付し、その
説明を省略する。
【0027】次に図4および図5を参照してマイクロ命
令制御回路35の動作を説明する。サイクルAにおいて
、マイクロポインタ7にマイクロ命令の開始エントリア
ドレスを示すマイクロアドレス6が渡される。サイクル
Bにおいて、マイクロポインタ7はマイクロアドレス6
に従ってマイクロROM1をアクセスする。そして、マ
イクロROM1よりマイクロデータ2が読み出される。 この時、情報ビット29が有効を示す場合、アクセスさ
れたマイクロ命令の機能をそのまま使用することを意味
するのでバリッド信号30はサイクルBの期間アサート
されずにマイクロ命令が有効であることを示す。これを
受けたマイクロ命令制御回路35の入れ換え信号生成回
路105はマイクロ命令入れ換え信号33をアサートし
ないので拡張マイクロROM32はディスエーブルとな
る。また、選択信号生成回路106も選択信号34をア
サートしないので選択回路100はマイクロROM1か
らのマイクロデータ2を選択する。
令制御回路35の動作を説明する。サイクルAにおいて
、マイクロポインタ7にマイクロ命令の開始エントリア
ドレスを示すマイクロアドレス6が渡される。サイクル
Bにおいて、マイクロポインタ7はマイクロアドレス6
に従ってマイクロROM1をアクセスする。そして、マ
イクロROM1よりマイクロデータ2が読み出される。 この時、情報ビット29が有効を示す場合、アクセスさ
れたマイクロ命令の機能をそのまま使用することを意味
するのでバリッド信号30はサイクルBの期間アサート
されずにマイクロ命令が有効であることを示す。これを
受けたマイクロ命令制御回路35の入れ換え信号生成回
路105はマイクロ命令入れ換え信号33をアサートし
ないので拡張マイクロROM32はディスエーブルとな
る。また、選択信号生成回路106も選択信号34をア
サートしないので選択回路100はマイクロROM1か
らのマイクロデータ2を選択する。
【0028】次に情報ビット29が無効を示している場
合、アクセスされたマイクロ命令の機能を入れ換えるこ
とを意味するので、バリッド信号30はサイクルBの期
間アサートされてマイクロ命令が無効であることを示す
。これを受けたマイクロ命令制御回路35の入れ換え信
号生成回路105はマイクロ命令入れ換え信号33をア
サートする。拡張マイクロROM32はマイクロ命令入
れ換え信号33がアサートされたことでイネーブルとな
り、マイクロアドレス6に対応する拡張マイクロ命令の
機能を示す拡張マイクロデータ31の読み出しが始まる
。同時に選択信号生成回路106はマイクロ命令入れ換
え信号33のアサートを受けて選択信号34をアサート
する。サイクルCにおいて、選択信号34がアサートさ
れたことで選択回路100が拡張マイクロROM32か
らの拡張マイクロデータ31を選択する。
合、アクセスされたマイクロ命令の機能を入れ換えるこ
とを意味するので、バリッド信号30はサイクルBの期
間アサートされてマイクロ命令が無効であることを示す
。これを受けたマイクロ命令制御回路35の入れ換え信
号生成回路105はマイクロ命令入れ換え信号33をア
サートする。拡張マイクロROM32はマイクロ命令入
れ換え信号33がアサートされたことでイネーブルとな
り、マイクロアドレス6に対応する拡張マイクロ命令の
機能を示す拡張マイクロデータ31の読み出しが始まる
。同時に選択信号生成回路106はマイクロ命令入れ換
え信号33のアサートを受けて選択信号34をアサート
する。サイクルCにおいて、選択信号34がアサートさ
れたことで選択回路100が拡張マイクロROM32か
らの拡張マイクロデータ31を選択する。
【0029】図6はマイクロ命令の入れ換え動作を説明
するための図で、同図において、107はマイクロアド
レス6によってアクセスされるマイクロ命令、108は
マイクロ命令107と入れ換えて使用されるマイクロ命
令を示す。
するための図で、同図において、107はマイクロアド
レス6によってアクセスされるマイクロ命令、108は
マイクロ命令107と入れ換えて使用されるマイクロ命
令を示す。
【0030】次に図6を参照して動作について説明する
。ここで、情報ビット29に“0”が設定された場合該
当するマイクロ命令が無効であることを、情報ビット2
9に“1”が設定された場合該当するマイクロ命令が有
効であることを示すものと仮定してマイクロ命令が入れ
換えられる場合の動作を説明する。マイクロアドレス6
によってマイクロ命令107がアクセスされると同時に
情報ビット29の内容も読み出される。この時マイクロ
命令107に対応する情報ビット29には“0”が設定
されているためマイクロ命令107は無効であり、バリ
ッド信号30は無効を示す。マイクロ命令制御回路35
はバリッド信号30を受けて拡張マイクロROM32に
格納された拡張マイクロ命令の内、マイクロアドレス6
に対応するマイクロ命令108をアクセスする。この結
果、選択回路100にはマイクロROM1からマイクロ
データ2が、拡張マイクロROM32には拡張マイクロ
データ31が出力される。選択回路100ではマイクロ
命令制御回路35からの選択信号34を受けて拡張マイ
クロデータ31を選択する。マイクロアドレス001〜
011によってマイクロ命令の読み出しが行われる場合
も同様に拡張マイクロアドレス01〜11の拡張マイク
ロ命令が読み出される。
。ここで、情報ビット29に“0”が設定された場合該
当するマイクロ命令が無効であることを、情報ビット2
9に“1”が設定された場合該当するマイクロ命令が有
効であることを示すものと仮定してマイクロ命令が入れ
換えられる場合の動作を説明する。マイクロアドレス6
によってマイクロ命令107がアクセスされると同時に
情報ビット29の内容も読み出される。この時マイクロ
命令107に対応する情報ビット29には“0”が設定
されているためマイクロ命令107は無効であり、バリ
ッド信号30は無効を示す。マイクロ命令制御回路35
はバリッド信号30を受けて拡張マイクロROM32に
格納された拡張マイクロ命令の内、マイクロアドレス6
に対応するマイクロ命令108をアクセスする。この結
果、選択回路100にはマイクロROM1からマイクロ
データ2が、拡張マイクロROM32には拡張マイクロ
データ31が出力される。選択回路100ではマイクロ
命令制御回路35からの選択信号34を受けて拡張マイ
クロデータ31を選択する。マイクロアドレス001〜
011によってマイクロ命令の読み出しが行われる場合
も同様に拡張マイクロアドレス01〜11の拡張マイク
ロ命令が読み出される。
【0031】図7は情報ビットの設定を説明するための
マイクロアドレスが2種類で情報ビット29が“1”と
“0”の場合を示す回路レベルの図で、同図で109は
クロック信号、110はクロック信号109によって導
通状態(以下、ONと略す)となるプリチャージトラン
ジスタ、111は情報ビット29“1”をセットするた
めのプログラミングゲート、112は情報ビット29“
0”がセットされた状態、113は第1の電源(以下、
Vccと略す)、114は第2の電源(以下、GNDと
略す)、6a,6bはマイクロアドレス6に対応して選
択されるワード線、30aはバリッドデータ信号、30
bはバリッド信号出力バッファを示す。
マイクロアドレスが2種類で情報ビット29が“1”と
“0”の場合を示す回路レベルの図で、同図で109は
クロック信号、110はクロック信号109によって導
通状態(以下、ONと略す)となるプリチャージトラン
ジスタ、111は情報ビット29“1”をセットするた
めのプログラミングゲート、112は情報ビット29“
0”がセットされた状態、113は第1の電源(以下、
Vccと略す)、114は第2の電源(以下、GNDと
略す)、6a,6bはマイクロアドレス6に対応して選
択されるワード線、30aはバリッドデータ信号、30
bはバリッド信号出力バッファを示す。
【0032】次に図7の回路の動作を説明する。まず、
サイクルAでクロック信号109によりプリチャージト
ランジスタ110がONとなり、バリッドデータ信号3
0aはVccレベルとなりバリッド信号30はGNDレ
ベル(マイクロ命令が有効)となる。サイクルBでマイ
クロポインタ7に設定されたマイクロアドレス6に対応
するワード線6aまたはワード線6bがVccレベルに
なると同時にプリチャージトランジスタ110はOFF
となる。Vccレベルを論理1、GNDレベルを論理0
としてワード線6aが選択された場合、ワード線6aが
Vccレベルになることによってプログラミングゲート
111がONとなりバリッドデータ信号30aはGND
レベルとなる。そして、バリッド信号バッファ30bか
ら出力されるバリッド信号30はVccレベル(アサー
トされる)となりマイクロ命令の無効を示す。同様にワ
ード線6bが選択された場合はバリッドデータ信号30
aに接続されるプログラミングゲート111がないので
、バリッド信号30はGNDレベル(アサートされない
)のままで、マイクロ命令が有効であることを示す。 なお、上記説明においてバリッドデータ信号線のレベル
で見た情報ビット29の値は、バリッド信号線から見て
の情報ビット29の値で説明していたために論理が逆に
なる。
サイクルAでクロック信号109によりプリチャージト
ランジスタ110がONとなり、バリッドデータ信号3
0aはVccレベルとなりバリッド信号30はGNDレ
ベル(マイクロ命令が有効)となる。サイクルBでマイ
クロポインタ7に設定されたマイクロアドレス6に対応
するワード線6aまたはワード線6bがVccレベルに
なると同時にプリチャージトランジスタ110はOFF
となる。Vccレベルを論理1、GNDレベルを論理0
としてワード線6aが選択された場合、ワード線6aが
Vccレベルになることによってプログラミングゲート
111がONとなりバリッドデータ信号30aはGND
レベルとなる。そして、バリッド信号バッファ30bか
ら出力されるバリッド信号30はVccレベル(アサー
トされる)となりマイクロ命令の無効を示す。同様にワ
ード線6bが選択された場合はバリッドデータ信号30
aに接続されるプログラミングゲート111がないので
、バリッド信号30はGNDレベル(アサートされない
)のままで、マイクロ命令が有効であることを示す。 なお、上記説明においてバリッドデータ信号線のレベル
で見た情報ビット29の値は、バリッド信号線から見て
の情報ビット29の値で説明していたために論理が逆に
なる。
【0033】図8は図7において情報ビット29“1”
をセットするためのプログラミングゲート111のレイ
アウトパターンの模式図である。また図9は図7におい
て情報ビット29“0”がセットされた状態112のレ
イアウトパターンの模式図である。図8,9において、
バリッドデータ信号30a,ワード線6aまたはワード
線6b,Vcc113は異なる層の配線である。また図
8において、115はバリッドデータ信号30aとプロ
グラミングゲート111を接続するためのコンタクトホ
ール、116はプログラミングゲート111を形成する
ための拡散層を示す。
をセットするためのプログラミングゲート111のレイ
アウトパターンの模式図である。また図9は図7におい
て情報ビット29“0”がセットされた状態112のレ
イアウトパターンの模式図である。図8,9において、
バリッドデータ信号30a,ワード線6aまたはワード
線6b,Vcc113は異なる層の配線である。また図
8において、115はバリッドデータ信号30aとプロ
グラミングゲート111を接続するためのコンタクトホ
ール、116はプログラミングゲート111を形成する
ための拡散層を示す。
【0034】情報ビット29に“1”をセットする場合
は、図8に示すようにデバイスの製造過程で拡散層11
6を形成することでプログラミングゲート111を作成
する。情報ビット29に“0”をセットする場合は、図
9のようにデバイスの製造過程で拡散層116を形成し
ない。このようにマイクロ命令ごとに製造過程で拡散層
116を形成することで情報ビット29の設定を行う。 ここでは、拡散層116の形成で情報ビット29の設定
を説明したが拡散層116の形成はデバイスの製造工程
としては最初の方なので、例えば拡散層を全てのマイク
ロアドレスに対応して形成しておきGND配線113を
アルミ配線にするなどして製造工程の終わりの方に持っ
て行けば、1工程の処理(この場合アルミ配線工程)で
情報ビット29を設定できる。そこで、情報ビット設定
29以前の工程までデバイスを製造しておけば、必要に
応じた情報ビット29の切り換えが短期に行える。
は、図8に示すようにデバイスの製造過程で拡散層11
6を形成することでプログラミングゲート111を作成
する。情報ビット29に“0”をセットする場合は、図
9のようにデバイスの製造過程で拡散層116を形成し
ない。このようにマイクロ命令ごとに製造過程で拡散層
116を形成することで情報ビット29の設定を行う。 ここでは、拡散層116の形成で情報ビット29の設定
を説明したが拡散層116の形成はデバイスの製造工程
としては最初の方なので、例えば拡散層を全てのマイク
ロアドレスに対応して形成しておきGND配線113を
アルミ配線にするなどして製造工程の終わりの方に持っ
て行けば、1工程の処理(この場合アルミ配線工程)で
情報ビット29を設定できる。そこで、情報ビット設定
29以前の工程までデバイスを製造しておけば、必要に
応じた情報ビット29の切り換えが短期に行える。
【0035】図10は有効/無効の書き換えが可能な情
報ビット29に関する回路レベルの図で、同図で117
は情報ビット書き込み信号、118は情報ビットクリア
信号、119a〜119cはゲート、120は情報デー
タバスを示す。その他の符号は図1に示すものに対応す
る。
報ビット29に関する回路レベルの図で、同図で117
は情報ビット書き込み信号、118は情報ビットクリア
信号、119a〜119cはゲート、120は情報デー
タバスを示す。その他の符号は図1に示すものに対応す
る。
【0036】次に図10を参照して動作について説明す
る。まず、書き込み動作について説明する。情報ビット
29にデータを書き込む場合、情報ビット書き込み信号
117がアサートされることでゲート119aがONと
なり情報データバス120を通じて情報ビット29に“
0”または“1”が書き込まれる。そして、情報ビット
書き込み信号117がネゲートされることで情報が保持
される。次に情報ビット29の読み出しは、マイクロ命
令がアクセスされたときマイクロアドレス6がアサート
されゲート119bがONとなりバリッド信号30とし
て出力される。また、情報ビット29の設定を解除する
場合はクリア信号118をアサートする。クリア信号1
18がアサートされると、ゲート119cがONとなり
、情報ビット29にGNDレベル(“0”=マイクロ命
令が有効)が保持される。
る。まず、書き込み動作について説明する。情報ビット
29にデータを書き込む場合、情報ビット書き込み信号
117がアサートされることでゲート119aがONと
なり情報データバス120を通じて情報ビット29に“
0”または“1”が書き込まれる。そして、情報ビット
書き込み信号117がネゲートされることで情報が保持
される。次に情報ビット29の読み出しは、マイクロ命
令がアクセスされたときマイクロアドレス6がアサート
されゲート119bがONとなりバリッド信号30とし
て出力される。また、情報ビット29の設定を解除する
場合はクリア信号118をアサートする。クリア信号1
18がアサートされると、ゲート119cがONとなり
、情報ビット29にGNDレベル(“0”=マイクロ命
令が有効)が保持される。
【0037】情報ビット書き込み時の情報ビット29の
選択は全てのマイクロ命令を対象にしてもよい。しかし
、全てのマイクロ命令に対する“0”または“1”のデ
ータを設定しなくてはならず効率が悪い。そこで、マイ
クロアドレスや情報ビット29の値を専用のレジスタな
どに設定して情報ビット書き込み信号117をこの専用
のレジスタに設定したマイクロアドレスと組み合わせて
デコードしてマイクロ命令を個別に選択すれば良い。 また、前記専用レジスタにステータスフラグなどを設け
て、情報ビット書き込み信号117がマイクロ命令がア
クセスされたときにアサートされて書き換えるような制
御でも良い。
選択は全てのマイクロ命令を対象にしてもよい。しかし
、全てのマイクロ命令に対する“0”または“1”のデ
ータを設定しなくてはならず効率が悪い。そこで、マイ
クロアドレスや情報ビット29の値を専用のレジスタな
どに設定して情報ビット書き込み信号117をこの専用
のレジスタに設定したマイクロアドレスと組み合わせて
デコードしてマイクロ命令を個別に選択すれば良い。 また、前記専用レジスタにステータスフラグなどを設け
て、情報ビット書き込み信号117がマイクロ命令がア
クセスされたときにアサートされて書き換えるような制
御でも良い。
【0038】なお、図1の実施例によれば、情報ビット
29を外部から変更できる設定手段29aを設けたこと
により、例えばプログラム開発用のデバイスなどはシス
テムによらずに共用でき(マスクされる命令が特定され
ない)、コスト面のメリットが大きくなる。また、見か
け上、同じ命令コードに複数の機能を割り当てることが
可能となることにより、実行中のタスクに応じた機能変
更が可能となり、機能を最適化することができる。
29を外部から変更できる設定手段29aを設けたこと
により、例えばプログラム開発用のデバイスなどはシス
テムによらずに共用でき(マスクされる命令が特定され
ない)、コスト面のメリットが大きくなる。また、見か
け上、同じ命令コードに複数の機能を割り当てることが
可能となることにより、実行中のタスクに応じた機能変
更が可能となり、機能を最適化することができる。
【0039】
【発明の効果】以上のように本発明によれは、マイクロ
命令記憶手段のマイクロ命令がアクセスされるたびにマ
イクロ命令制御回路は情報ビットに基づき出力されるマ
イクロ命令を選択するようにしたので、マスクしたいマ
イクロ命令の機能を拡張マイクロ命令の機能と切り換え
ることが可能となり、これにより命令デコーダの改定を
伴わずに、マイクロ命令による機能拡張や変更を実施で
き、したがって命令機能の拡張や追加が容易になり、新
機能を盛り込んだ製品の開発期間の短縮と開発コストの
低減が図れるという効果が得られる。
命令記憶手段のマイクロ命令がアクセスされるたびにマ
イクロ命令制御回路は情報ビットに基づき出力されるマ
イクロ命令を選択するようにしたので、マスクしたいマ
イクロ命令の機能を拡張マイクロ命令の機能と切り換え
ることが可能となり、これにより命令デコーダの改定を
伴わずに、マイクロ命令による機能拡張や変更を実施で
き、したがって命令機能の拡張や追加が容易になり、新
機能を盛り込んだ製品の開発期間の短縮と開発コストの
低減が図れるという効果が得られる。
【図1】本発明の一実施例に係るマイクロプログラム制
御回路の構成を示すブロック図である。
御回路の構成を示すブロック図である。
【図2】上記実施例の動作タイミングを示す図である。
【図3】図1中のマイクロ命令制御回路の回路例を示す
図である。
図である。
【図4】図3に示す回路例において情報ビットが有効を
示す場合の動作タイミング図である。
示す場合の動作タイミング図である。
【図5】図3に示す回路例において情報ビットが無効を
示す場合の動作タイミング図である。
示す場合の動作タイミング図である。
【図6】上記実施例においてマイクロ命令の入れ換え動
作を説明するための図である。
作を説明するための図である。
【図7】上記実施例において情報ビットの設定を説明す
るための情報ビットに関する回路レベルの図である。
るための情報ビットに関する回路レベルの図である。
【図8】図7において情報ビット“1”をセットするた
めのプログラミングゲートのレイアウトパターンの模式
図である。
めのプログラミングゲートのレイアウトパターンの模式
図である。
【図9】図7において情報ビット“0”がセットされた
状態のレイアウトパターンの模式図である。
状態のレイアウトパターンの模式図である。
【図10】上記実施例において有効/無効の書き換えが
可能な情報ビットに関する回路レベルの図である。
可能な情報ビットに関する回路レベルの図である。
【図11】従来のマイクロプログラム制御回路の構成を
示すブロック図である。
示すブロック図である。
【図12】命令フォーマットの例を示す図である。
【図13】水平型マイクロ命令のエントリ構造の例を示
す図である。
す図である。
【図14】上記従来例の動作タイミングを示す図である
。
。
【図15】上記従来例においてマイクロアドレスを求め
るための動作タイミングを示す図である。
るための動作タイミングを示す図である。
【図16】上記従来例において分岐先のマイクロアドレ
スを求めるための動作タイミングを示す図である。
スを求めるための動作タイミングを示す図である。
【図17】上記従来例においてサブルーチン戻り先のマ
イクロアドレスを求めるための動作タイミングを示す図
である。
イクロアドレスを求めるための動作タイミングを示す図
である。
1 マイクロ命令記憶手段
6 マイクロアドレス
7 マイクロポインタ
12 命令デコーダ
29 情報ビット
32 拡張マイクロ命令記憶手段
35 マイクロ命令制御回路
29a 設定手段
Claims (2)
- 【請求項1】 マイクロ命令により演算処理を制御す
る方式のマイクロプロセッサのマイクロプログラム制御
回路において、マイクロ命令を記憶するマイクロ命令記
憶手段と、このマイクロ命令記憶手段のそれぞれのマイ
クロ命令に有効/無効を示す情報として付加される情報
ビットと、上記マイクロ命令を拡張し上記マイクロ命令
とは内容の異なる拡張マイクロ命令を記憶する拡張マイ
クロ命令記憶手段と、マイクロアドレスにより上記マイ
クロ命令をアクセスするマイクロポインタと、上記マイ
クロアドレスが発生したときに、当該アドレスに対応す
る上記情報ビットにより上記拡張マイクロ命令記憶手段
を起動するマイクロ命令制御回路とを備え、上記情報ビ
ットにより上記マイクロアドレスが指定する上記マイク
ロ命令の機能を上記拡張マイクロ命令の機能と切り換え
ることを特徴とするマイクロプログラム制御回路。 - 【請求項2】 情報ビットを外部から変更する設定手
段を備えたことを特徴とする請求項1のマイクロプログ
ラム制御回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3096449A JPH04305735A (ja) | 1991-04-02 | 1991-04-02 | マイクロプログラム制御回路 |
US07/862,010 US5345570A (en) | 1991-04-02 | 1992-04-01 | Microprogram control circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3096449A JPH04305735A (ja) | 1991-04-02 | 1991-04-02 | マイクロプログラム制御回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04305735A true JPH04305735A (ja) | 1992-10-28 |
Family
ID=14165331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3096449A Pending JPH04305735A (ja) | 1991-04-02 | 1991-04-02 | マイクロプログラム制御回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5345570A (ja) |
JP (1) | JPH04305735A (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3340343B2 (ja) * | 1997-03-13 | 2002-11-05 | 株式会社東芝 | プロセッサ及び情報処理装置 |
US5956047A (en) * | 1997-04-30 | 1999-09-21 | Hewlett-Packard Co. | ROM-based control units in a geometry accelerator for a computer graphics system |
US6184902B1 (en) * | 1997-04-30 | 2001-02-06 | Hewlett-Packard Company | Centralized branch intelligence system and method for a geometry accelerator |
US6957322B1 (en) * | 2002-07-25 | 2005-10-18 | Advanced Micro Devices, Inc. | Efficient microcode entry access from sequentially addressed portion via non-sequentially addressed portion |
CN101501587B (zh) * | 2006-08-08 | 2012-01-25 | 西门子工业公司 | 与plc通信的装置、系统和方法 |
FR2924243B1 (fr) * | 2007-11-27 | 2013-03-22 | Commissariat Energie Atomique | Circuit comportant une machine microprogrammee pour traiter les entrees ou les sorties d'un processeur afin de les faire entrer ou sortir du circuit selon n'importe quel protocole de communication |
US20120226890A1 (en) * | 2011-02-24 | 2012-09-06 | The University Of Tokyo | Accelerator and data processing method |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1540923A (en) * | 1975-12-01 | 1979-02-21 | Intel Corp | Programmable single chip mos computer |
US4093982A (en) * | 1976-05-03 | 1978-06-06 | International Business Machines Corporation | Microprocessor system |
US4104720A (en) * | 1976-11-29 | 1978-08-01 | Data General Corporation | CPU/Parallel processor interface with microcode extension |
US4236210A (en) * | 1978-10-02 | 1980-11-25 | Honeywell Information Systems Inc. | Architecture for a control store included in a data processing system |
US4794558A (en) * | 1979-06-12 | 1988-12-27 | Motorola, Inc. | Microprocessor having self-programmed eprom |
US4532587A (en) * | 1981-08-26 | 1985-07-30 | Texas Instruments Incorporated | Single chip processor connected to an external memory chip |
US4503500A (en) * | 1982-02-11 | 1985-03-05 | Texas Instruments Incorporated | Microcomputer with bus interchange module |
JPH02199535A (ja) * | 1989-01-30 | 1990-08-07 | Nec Corp | マイクロプログラム制御装置 |
-
1991
- 1991-04-02 JP JP3096449A patent/JPH04305735A/ja active Pending
-
1992
- 1992-04-01 US US07/862,010 patent/US5345570A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5345570A (en) | 1994-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2651218B2 (ja) | フレキシブルasicマイクロコンピュータ | |
JPH11353300A (ja) | 半導体素子のためのプログラム可能ピンの指定 | |
JPH0827716B2 (ja) | データ処理装置及びデータ処理方法 | |
US4926318A (en) | Micro processor capable of being connected with a coprocessor | |
JPH0769791B2 (ja) | マイクロプロセッサ | |
JP3816932B2 (ja) | 拡張可能な中央処理装置 | |
JPH04305735A (ja) | マイクロプログラム制御回路 | |
KR920007253B1 (ko) | 마이크로 프로그램 제어 장치 | |
JPH09319569A (ja) | マイクロコンピュータ | |
JPH07302254A (ja) | マイクロコンピュータシステム | |
KR100321745B1 (ko) | 외부메모리액세스를위한마이크로컨트롤러유닛 | |
JPWO2006003693A1 (ja) | データプロセッサ | |
JPS6362778B2 (ja) | ||
JP2583506B2 (ja) | データ処理装置 | |
US7159057B2 (en) | Evaluation chip | |
JPH08241296A (ja) | 半導体集積回路 | |
JPH1139212A (ja) | マイクロコンピュータ | |
JP3190945B2 (ja) | マイクロプログラム制御回路 | |
JPH0212387A (ja) | Vlsiマイクロコントローラ | |
JPH06103106A (ja) | プログラムデバッグ装置 | |
JP2731618B2 (ja) | エミュレータ | |
JPH0997249A (ja) | マイクロコンピュータ | |
JPH04373022A (ja) | マイクロプログラム制御回路 | |
JP3006487B2 (ja) | エミュレーション装置 | |
JPH08194658A (ja) | マイクロコンピュータシステム |