JP3055139B2 - マイクロプログラム制御方式 - Google Patents

マイクロプログラム制御方式

Info

Publication number
JP3055139B2
JP3055139B2 JP1138166A JP13816689A JP3055139B2 JP 3055139 B2 JP3055139 B2 JP 3055139B2 JP 1138166 A JP1138166 A JP 1138166A JP 13816689 A JP13816689 A JP 13816689A JP 3055139 B2 JP3055139 B2 JP 3055139B2
Authority
JP
Japan
Prior art keywords
microprogram
register
microinstruction
address
micro
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 - Lifetime
Application number
JP1138166A
Other languages
English (en)
Other versions
JPH033037A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP1138166A priority Critical patent/JP3055139B2/ja
Publication of JPH033037A publication Critical patent/JPH033037A/ja
Application granted granted Critical
Publication of JP3055139B2 publication Critical patent/JP3055139B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、マイクロプログラム制御方式に関する。よ
り詳細には、デジタル論理回路制御方式に関し、特に組
合せや順序論理回路を実現する手段としてゲートの開閉
や手順といった基本動作、いわゆるマイクロオペレーシ
ョンに対応するコード化された情報であるマイクロ命令
を予め記憶装置内に格納し、処理手順に従い読出された
マイクロ命令列であるマイクロプログラムに基づき回路
動作を規定するマイクロプログラム制御方式の構成に関
する。
従来の技術 マイクロプログラム制御方式は、データ処理等に伴う
一連の動作、いわゆるマクロ動作をさらに細かな動作で
あるマイクロ動作に分解し、これらマイクロ動作を規定
する情報コードであるマイクロ命令を定義し、このマイ
クロ命令を処理の順序に従って配列、実行することで手
順を要する処理など大きな動作を規定する手段である。
ここで、定義されるマイクロ命令は種々の処理を実現
する意味で共通性が望ましく、組合せや順序についても
融通できるよう形式化されている。
従って、マイクロ命令は、基本単位動作を規定するば
かりか、マイクロ命令のそのものの順序を規定するもの
も一般に含んでいる。
一方、種々のマクロ動作を同一のマイクロプログラム
制御機構で実現するには、実行しようとするマクロ動作
に対し、このマクロ動作を規定するマイクロプログラム
列、すなわちマイクロシーケンスに引込むことから始め
られる。
このことは一般的には、相当するマクロ動作を実現す
るため規定されたマイクロプログラム格納領域、いわゆ
るマイクロプログラム記憶装置の先頭番地(以後エント
リィ番地と言う)を与えることで行われる。そして、こ
れに続く順序は、マイクロプログラム自体が制御するよ
う構成されており、処理はマイクロシーケンスに従い実
行されていく。
上記のマイクロシーケンスの順序制御方式には、分岐
が発生したときだけ分岐先番地を指定し、通常はカウン
タにより順次次のマイクロ命令の番地を示すマイクロプ
ログラムカウンタ方式や、第5図に示すような命令の中
に必ず次の命令の番地を伴うネクストアドレス方式など
がある。しかしながら、マイクロ命令が一般に開放され
ないことが多いことや性能を重視するために形式化を問
わないことから、制御ビット幅を増大させるが分岐に伴
う空き期間が発生しないネクストアドレス方式が多く採
られてきた。
発明が解決しようとする課題 上記のマイクロプログラムの制御方式においては、処
理性能の面からは、効率のため分岐などに伴うオーバヘ
ッドをできるだけ軽減することが要請され、規模の観点
からは、種々のマイクロフロウの一部でもできるだけ共
有化しようとする要請が生じる。フロウの共有化は、一
般のプログラム手法におけるサブルーチンのコール分岐
に類似するが、コール分岐やサブルーチンから元のシー
ケンスへの復帰(以後リターンと言う)に相当する動作
をマイクロシーケンスに挿入すると、そのオーバヘッド
のため処理シーケンスは長くみえる。つまり、性能と規
模の両立を困難にしている。
エントリィアドレスの生成および処理に移行するまで
の時間短縮とフロウの共通化とを考えた場合、特に高速
性が要請される処理をマイクロプログラム方式で実現す
ると、エントリィアドレスを加工したり、分離したりす
る時間は殆どない。従って、フロウの種類を引当てるま
でのプリデコードやパイプライン処理等でオーバヘッド
は隠し込む手法が採られてきた。その理由を第6図を参
照して説明する。
第6図に、マイクロプログラムのフロウの概念図を示
す。第6図に示すように、一般的フロウは、各マクロ処
理に固有なシーケンスといくつかのフロウで共通の部分
とからできている。いま、n種類のマクロ処理に対して
n種類のエントリィアドレスを一意的に与えたとする
と、M1、M2、M3等最初のシーケンスから共通な処理に入
るフロウ群も存在する。このフロウ群の最初のステップ
はこれら共通シーケンス(サブシーケンスと言う)の先
頭番地S1へのコール分岐だけになる。これは前述のエン
トリィアドレスの生成および処理に移行するまでの時間
短縮に対しては障害となる。
また、前述のネクストアドレス方式を採る場合、S1
の分岐は、M1、M2、M3のネクストアドレス制御部にS1
記述するだけでよいが、第6図のR1、R2、R3への復帰
(リターンと言う)のための情報をセーブしなければな
らないため、マイクロプログラム制御フィールドに付加
的な、リターン情報を示す領域が必要となる。これらが
ハードウェア量を増大させる結果になっていた。
そこで、本発明の目的は、上記従来技術の問題点を解
決した処理時間が短く、ハードウェアを増大させないマ
イクロプログラム制御方式を提供することにある。
課題を解決するための手段 本発明に従うと、マイクロ命令記憶手段と、前記記憶
手段のマイクロ命令のアドレスを指定するアドレス指定
手段と、前記記憶手段より読み出されたマイクロ命令の
エントリアドレスを格納するレジスタと、前記記憶手段
より読み出されたマイクロ命令に基づいて前記レジスタ
の内容更新および内容保持を規定する第1の制御手段と
を備え、前記記憶手段より読み出されたマイクロ命令と
前記レジスタに格納されたマイクロ命令のエントリアド
レスとを用いてマイクロプログラムを実行することを特
徴とするマイクロプログラム制御方式が提供される。
作用 本発明のマイクロプログラム制御方式は、マイクロ命
令を格納するレジスタ手段を具備し、このレジスタ手段
に格納されたマイクロ命令の更新、保持、発効等を制御
することでマイクロプログラムを実行するところにその
主要な特徴がある。
さらに前記レジスタに格納するマイクロ命令を、マイ
クロプログラム格納領域の読出し情報以外の情報である
マイクロプログラム順序設定情報と同一の情報コード等
とすることもできる。この構成によると、第6図に示す
復帰先のアドレス情報R1、R2、R3ではなくM1、M2、M3
有の制御情報をレジスタ手段にセーブすることが可能に
なる。そして、復帰時にこの内容を有効化する制御を行
うことで、復帰のための情報を指定するマイクロプログ
ラムフィールドに付加的な領域やセーブする領域を必要
とせず、さらにコール分岐やリターン実行に伴うオーバ
ヘッドも軽減される。
また、本発明のマイクロプログラム制御方式では、上
記の制御手段はハードウェアで実現されていても、ま
た、マイクロ命令で実現されていてもよい。
従って、第6図の従来例ではF1にリターン命令を既述
しなければならなかったが、本発明のマイクロプログラ
ム制御方式では、F1でレジスタ内容の発効制御を行う
か、簡単なハードウェア制御を行うだけで処理が終了す
る。
以下、本発明を実施例により、さらに詳しく説明する
が、以下の開示は本発明の単なる実施例に過ぎず、本発
明の技術的範囲をなんら制限するものではない。
実施例1 第1図に、本発明のマイクロプログラム制御方式の一
実施例を実現する装置の論理ブロック図を、第2図に、
動作タイミングを表すタイミング図を示す。第1図の装
置は、記憶装置などで構成され、マイクロ命令を記憶し
ているマイクロプログラム格納領域1、マイクロ命令が
予め設定された順に読み出されるように制御するマイク
ロシーケンス制御機構2および読み出されたマイクロ命
令を保持するレジスタ3を具備するマイクロプログラム
制御部8と、Dラッチ4〜6を具備する被制御部7とか
ら構成されている。
本実施例では、M1、M2、M3を以下のように定義する。
M1→ A∧B M2→ A∧ M3→ ∧B ただし、Aは、CまたはDであるが、M1〜M3において
は共通にCである。また、Bは、EまたはA∀Eである
が、M1〜M3においては共通にA∀Eである。
また、マイクロ命令μ〜μを以下のように定義す
る。
μ0 論理値“0"でD、“1"でCを選択する。
μ1 論理値“0"でE、“1"でA∀Eを選択する。
μ2 レジスタの内容を活性化する。
μ3 μ〜μコードをレジスタに取り込む。
μ〜μゲート制御。
上記のようにM1〜M3で規定するAおよびBに関する処
理において、AおよびAの関数であるBは共通である。
また、μ〜μのマイクロフィールドを定義して、マ
イクロプログラム制御部8および被制御部7で機能を実
現している。
以下、第2図を参照して、上記の装置の動作を説明す
る。マイクロ動作を規定するコードは、マイクロプログ
ラム格納領域1のエントリィアドレスとして、同期信号
C1に同期してエントリィされる。エントリィアドレスM1
に記載されたプログラムの内容μ〜μとNAとは、次
の同期信号C2でマイクロプログラム格納領域1から出力
される。このとき、最初のステップではM1〜M3に共通な
ネクストアドレスNA1とM1処理に固有な制御情報μ
有効である。AおよびBを生成しないとμは使用でき
ず、AおよびBの生成手順は、M1〜M3が共通であるから
NA1に続くシーケンスにプログラムされている。そこで
同時にレジスタフェッチ制御信号であるμが活性化し
て制御情報であるμ〜μの内容がレジスタ3にセー
ブされる。
続いて、マイクロシーケンス制御機構2で切替えられ
NA1でアドレスされたマイクロプログラム格納記憶装置
1の内容であるネクストアドレス情報NA2およびμ
次のC2で発効される。次にNA2でアドレスされたネクス
トアドレス情報NA3およびμが発効されAおよびBが
生成される。最後にNA3に記述されていたμが活性化
してレジスタ3の出力が活性化される。ここではレジス
タ3には最初のステップのμ〜μの内容がセーブさ
れていたから論理値“100"でM1で規定する動作が実行さ
れる。このステップでは、次のマクロエントリィのNA指
定が可能である。
すなわち、本実施例においては、マイクロ命令μ
よびμでマイクロ命令μ〜μの内容を保持するレ
ジスタ3およびレジスタ3に保持されているマイクロ命
令を制御することで、本発明のマイクロプログラム制御
方式を実現している。
実施例2 第3図に、本発明の第2の実施例を実現する装置の論
理ブロック図を、第4図にその動作タイミングを表すタ
イミング図を示す。第3図の装置は、記憶装置などで構
成され、マイクロ命令を記憶しているマイクロプログラ
ム格納領域10、マイクロ命令が予め設定された順に読み
出されるように制御するマイクロシーケンス制御機構20
および読み出されたマイクロ命令を保持するレジスタ30
を具備するマイクロプログラム制御部50と、被制御部40
とから構成されている。被制御部40は、実施例1の被制
御部7と全く同じである。本実施例では、マクロ動作を
規定する情報コードであり、マイクロプログラムのエン
トリィアドレスを示すM1〜M3コードをそれぞれ論理値
“100"、“010"、“001"と設定している。これは他のコ
ードと分別が可能であり、マイクロフロウがマイクロプ
ログラム格納領域10のどの位置に格納されてもよいから
任意に一意的コードを割振ることができる。また、マイ
クロ命令μ〜μを以下のように定義する。
μ 論理値“0"でD、“1"でCを選択する。
μ 論理値“0"でE、“1"でA∀Eを選択する。
μ 論理値“0"でレジスタの内容を更新し、“1"で保
持する。
μ レジスタの内容を活性化する。
μ、μは実施例1のそれと全く同意であり、μ
はレジスタ30の更新を阻止する制御信号である。また、
μは図示されていないが、実施例1のμと等しい。
第4図を参照して、上記の装置の動作を説明する。マ
クロ動作を規定するコードは、マイクロプログラム格納
領域10のエントリィアドレスとして、同期信号C1に従い
エントリィされる。エントリィアドレスM1に記載された
プログラムの内容μ〜μとNAは次の同期信号C2でマ
イクロプログラム格納領域10から出力されるが、本実施
例では、ネクストアドレスNA1とμ、レジスタの内容
更新を阻止するμが有効である。また、本実施例で
は、M1〜M3について、このマイクロフロウの第1ステッ
プは全く共通である。つまりマイクロプログラム格納領
域10の“100"、“010"、“001"番地に同じ内容が記載さ
れている。
初期状態では、同期信号C1に従うエントリィと同時に
μが通常“0"で、レジスタ30は更新可能状態にある。
従って、レジスタ30には、マクロ情報コードであり、エ
ントリィアドレスそのものである論理“100"がフェッチ
される。続いて、マイクロシーケンス制御機構20で切替
えられ、NA1でアドレスされたマイクロプログラム格納
領域10の内容であるネクストアドレス情報NA2およびμ
が次のC2で発効され、A、Bが生成されていく。
この間、μはレジスタ30の内容の更新を禁止してい
るので、レジスタ30には“100"がセーブされている。従
って、被制御部40に対し第1の実施例のμ〜μに相
当する制御信号を与えたことになり、処理が完結する最
後にNA2に記述されていたμでレジスタが次の処理に
備えリリースされる。本実施例ではこの最後のステップ
に関してもM1〜M3の処理フロウで共通である。
すなわち、本実施例では、レジスタ30にマクロ情報コ
ードでありエントリィアドレスそのものを保持し、マイ
クロ命令μおよびμで制御することで本発明のマイ
クロプログラム制御方式を実現している。
発明の効果 以上、説明したように本発明のマイクロプログラム制
御方式によれば、マイクロフロウのサブシーケンスに対
するコール分岐、復帰などに伴う分岐やアドレス情報の
セーブに要する処理時間のオーバヘッドやハードウェア
上の付加資産を軽減し、高速のマイクロプログラム制御
を小規模な構成で実現するのに著しい効果がある。
【図面の簡単な説明】
第1図は、本発明のマイクロプログラム制御方式の一実
施例を実現する装置の論理ブロック図であり、 第2図は、第1図の装置の動作タイミングを示すタイミ
ング図であり、 第3図は、本発明の第2の実施例を実現する装置の論理
ブロック図であり、 第4図は、第3図の装置の動作タミングを示すタイミン
グ図であり、 第5図は、従来のマイクロプログラム制御機構を示すブ
ロック図であり、 第6図は、マイクロシーケンスを示す概念図である。 〔主な参照番号〕 1、10……マイクロプログラム格納領域、 2、20……マイクロシーケンス制御機構、 3、30……レジスタ、 4〜6……Dラッチ、 7、40……被制御部、 8、50……マイクロプログラム制御部
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 9/26 320

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】マイクロ命令記憶手段と、前記記憶手段の
    マイクロ命令のアドレスを指定するアドレス指定手段
    と、前記記憶手段より読み出されたマイクロ命令のエン
    トリアドレスを格納するレジスタと、前記記憶手段より
    読み出されたマイクロ命令に基づいて前記レジスタの内
    容更新および内容保持を規定する第1の制御手段とを備
    え、前記記憶手段より読み出されたマイクロ命令と前記
    レジスタに格納されたマイクロ命令のエントリアドレス
    とを用いてマイクロプログラムを実行することを特徴と
    するマイクロプログラム制御方式。
JP1138166A 1989-05-31 1989-05-31 マイクロプログラム制御方式 Expired - Lifetime JP3055139B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1138166A JP3055139B2 (ja) 1989-05-31 1989-05-31 マイクロプログラム制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1138166A JP3055139B2 (ja) 1989-05-31 1989-05-31 マイクロプログラム制御方式

Publications (2)

Publication Number Publication Date
JPH033037A JPH033037A (ja) 1991-01-09
JP3055139B2 true JP3055139B2 (ja) 2000-06-26

Family

ID=15215573

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1138166A Expired - Lifetime JP3055139B2 (ja) 1989-05-31 1989-05-31 マイクロプログラム制御方式

Country Status (1)

Country Link
JP (1) JP3055139B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2804403B2 (ja) * 1991-05-16 1998-09-24 インターナショナル・ビジネス・マシーンズ・コーポレイション 質問回答システム
US6011071A (en) * 1995-05-17 2000-01-04 Kao Corporation Ether compound and process for producing the same
JP2002131428A (ja) 2000-10-25 2002-05-09 Mitsubishi Electric Corp 超音波障害物検出装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5533238A (en) * 1978-08-30 1980-03-08 Toshiba Corp Microprogrm control system
JPS5644941A (en) * 1979-09-20 1981-04-24 Nec Corp Microprogram control unit
JPS5719842A (en) * 1980-07-09 1982-02-02 Nec Corp Microprogram control device
JPS62140141A (ja) * 1985-12-16 1987-06-23 Matsushita Electric Ind Co Ltd マイクロプログラム制御装置
JPS62157944A (ja) * 1985-12-31 1987-07-13 Nec Corp マイクロプログラム制御装置

Also Published As

Publication number Publication date
JPH033037A (ja) 1991-01-09

Similar Documents

Publication Publication Date Title
EP0241946B1 (en) Information processing system
JPS6239780B2 (ja)
US4562538A (en) Microprocessor having decision pointer to process restore position
JP3055139B2 (ja) マイクロプログラム制御方式
JP3055999B2 (ja) マイクロプログラム制御装置群
JPH0512751B2 (ja)
JP2758624B2 (ja) マイクロプログラムの調速方式
US6460129B1 (en) Pipeline operation method and pipeline operation device to interlock the translation of instructions based on the operation of a non-pipeline operation unit
JPS6242301B2 (ja)
JPH0512009A (ja) デイジタル信号処理装置
JPS5835648A (ja) プログラム実行制御方式
JPS5829051A (ja) 演算処理装置
JPS5930146A (ja) マイクロプログラムデバツグ装置
JPH0338613B2 (ja)
JPH05233379A (ja) 実行履歴記憶装置
JPH02191034A (ja) マイクロプログラム制御装置
JPH0557614B2 (ja)
JPH0682321B2 (ja) マイクロ制御装置
JPS5896346A (ja) 階層型演算方式
JPS63197247A (ja) マイクロプログラム制御装置
JPH05303493A (ja) 命令列切り替え方法及びそれを用いた演算プロセッサ
JPH0239812B2 (ja)
JPS60134346A (ja) パリテイエラ−検出方式
JPH04149733A (ja) シーケンス制御方式
JPS6113612B2 (ja)