JPS6188337A - マイクロプログラム制御装置 - Google Patents

マイクロプログラム制御装置

Info

Publication number
JPS6188337A
JPS6188337A JP20986384A JP20986384A JPS6188337A JP S6188337 A JPS6188337 A JP S6188337A JP 20986384 A JP20986384 A JP 20986384A JP 20986384 A JP20986384 A JP 20986384A JP S6188337 A JPS6188337 A JP S6188337A
Authority
JP
Japan
Prior art keywords
microprogram
execution speed
microcode
execution
microinstruction
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
Application number
JP20986384A
Other languages
English (en)
Inventor
Masaru Murakawa
村川 賢
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP20986384A priority Critical patent/JPS6188337A/ja
Publication of JPS6188337A publication Critical patent/JPS6188337A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

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

Description

【発明の詳細な説明】 「産業上の利用分野」 本発明は、マイクロプログラム制御装置に関する。
「従来の技術」 、 コンピュータの中央処理装置(CPU)は、ROM
 (リード・オンリ・メモリ)やRAM (ランダム・
アクセス・メモリ入と共1ごノイスライン1こ接続され
、メモリに書き込まれた命令をとり込みながら種々の演
算を実行する。
この命令は、CP口内部で解読され、これを複数個のマ
イクロインストラクションのシーケンス(マイクロプロ
グラム)に置き換えて実行する。
このCPUに人力される命令とマイクロインストラクシ
ョンとを区別するために、前者をマクロ命令と呼んでい
る。
マクロ命令は例えば1システムクロツク(ここでマクロ
命令の実行うロックをシステムクロ・Zりと呼ぶ)周期
でCPUへ人力するが、マイクロプログラムは例えば1
つのマクロ命令が人力され、次のマクロ命令が入力され
るまでに実行を完了する。そこで、マイクロプログラム
が例えば16ステップあれば1個のマイクロインストラ
クションはシステムクロックの16分の1の時間内に実
行される。
このようなマイクロプログラムは、CPUの内部のCI
(制御装置)に設けられたメモリに格納されている。
マイクロコードの構成例を第6図に、その実行をさせる
回路のブロック図を第7図に示す。
第6図において、マイクロコード1は、例えば9ビツト
のマイクロインストラクション2と4ビツトのアドレス
コントロールコード3と、その必要に応じて図示しない
種々のコードとから構成される。
第7図に示したマイクロプログラム実行回路は、一連の
マイクロコードから成るマイクロプログラムを必要な数
だけ、マイクロコードのアドレス(マイクロアドレス)
順に格納したマイクロプログラムメモリ4と、このマイ
クロプログラムメモリからマイクロコード1を取り出す
動作を制御するマイクロシーケンサ5とを有している。
マイクロプログラムは次のようにして実行される。まず
、マ・fクロシーケンサ5が最初に出力すべきマイクロ
コード1のマイクロアドレス6を指定すると、マイクロ
プログラムメモリ4から第1#目のマイクロコード1が
出力される。このマイクロコード1のマイクロインスト
ラクション2はCPUのALU(演算論理装置)等へ向
けて出力される。
一方、マイクロコード1のアドレスコントロールコード
3はマイクロシーケンサ5に送り返される2マイクロシ
ーケンサ5は、このアドレスコンl−口−ルコード3に
基づいて次ステップのマイクロコード1のマイクロアド
レス6を出力する。
このようにして、マイクロプログラムは、マイクロコー
ド1内に、マイクロインストラクション2と共に含マれ
ているアドレスコントロールコード3によってそのシー
ケンスが決定されており、1つのマイクロプログラムが
開始すると最後のマイクロコードの処理が完了するまで
は自動釣にマイクロプログラムが実行される。
「発明が解決しようとする問題点−1 このようなマイクロコードに含まれるマイクロインスト
ラクションの実行時間は、その独類により相違している
。例えばキャリーの伝達をともなう算術演算や、低速の
メモリをアクセスするようなマイクロインストラクショ
ンの実行時間は、他のそれよりも長くかかる。従って、
マイクロインストラクションの実行を制御するクロック
は、マイクロプログラムメモリ内に格納されたマイクロ
インストラクションの中で最も実行時間の長い命令より
もやや長い周期をとらざるを得ない。
第8図は、マイクロプログラムの実行用クロック11に
対するマイクロプログラム制御装置の実行状態を示すタ
イムチ丁−トである。本図において、クロック11の後
半部(立下り部も含む)Aでアドレス決定12が行われ
、クロック前半8Bでマイクロコードの読み出し13が
行われ、クロック中間部Cでマイクロインストラクショ
ンの実行14が行われることを示している。
第9図は、このマイクロコードの読み出し13とマイク
ロインストラクションの実行14を、特にマイクロイン
ストラクションの実際の実行時間を明確化して示したタ
イムチャートである。
マイクロインストラクションの実行14のための時間中
、斜線部分15は実際の実行に要する時間、余白部分は
待ち時間である。
第9図(イ)のケースで実行されたマイクロインストラ
クションは実行時間が速く、同(ロ)(ハ)のケースで
実行されたマイクロインストラクションは実行時間が遅
い。従って、第9図(インのケースで実行されたような
マイクロインストラクションが多く含まれたマイクロプ
ログラムは、単位時間当りの処理量(スループット)が
1氏く、無駄時間が多いことになる。
また、実行用クロック周期より長い実行時間を必要とす
るマイクロインストラクションは、そのマイクロプログ
ラムメモリに書き込むことができない。
一般に高速でアクセスできるメモリは高価で、低速でア
クセスできるメモリは安価である。ところが上記のよう
な事情から、メモリの選択も制約を受けざるを寿ない。
本発明は上記の点に着目してなされたもので、マイクロ
プログラム全体のスループットを向上させることのでき
るマイクロプログラム制御装置を提供することを目的と
する。
「問題点を解決するだめの手段」 本発明のマイクロプログラム制御装置は、実行速度選択
フラグとアドレスコントロールコードとマイクロインス
トラクションとを含むマイクロコードから成るマイクロ
プログラムを格納するマイクロプログラムメモリと、前
記マイクロコードに含まれるアドレスコントロールコー
ドに基づイテ次ステップのマイクロコードのマイクロア
ドレスを出力するマイクロシーケンサと、それぞれ周波
数の異なる2種以上のクロックを発生し前記実行速度選
択フラグに対応した1種のクロックを選択して前記マイ
クロシーケンサに出力しマイクロシーケンサの実行速度
を制御する実行速度制御回路とから構成されている。
この装置は、マイクロインストラクションごとにあらか
じめ必要な実行時間を算定し、その情報きなる実行速度
選択フラグをマイクロインストラクションと共にマイク
ロコード内に含めておく。
マイクロインストラクションがマイクロプログラムメモ
リから出力されると、実行速度制御回路はこの実行速度
選択フラグに対応した、そのマイクロインストラクショ
ンの実行に最適な1種のクロックをマイクロシーケンサ
に送る。マイクロシーケンサは、実行速度制御回路から
受は入れたクロックのタイミングに合わせて次ステップ
のマイクロアドレスをマイクロプログラムメモリに対し
て出力する。
このように、実行速度制御回路が2種以上のクロックを
準備し、マイクロインストラクションごとにそのマイク
ロインストラクションに適した周期でマイクロシーケン
サを制御するので、上述した待ち時間を減少させ、スル
ープットを向上させることができる。
「実施例」 第1図は本発明のマイクロプログラム制御装置の基本的
な実施例のブロック図である。
二のマイクロプログラム制御装置は、マイクロプログラ
ムメモリ4と、マイクロシーケンサ5と、実行速度ml
J御回路10とを有している。
マイクロプログラムメモリ4は入力するマイクロアドレ
ス6に対応するマイクロコード1を出力する。このマイ
クロコード1は、第2図に示すようなビット構成とされ
ている。すなわち、実行速度選択フラグ11と、マイク
ロインストラクション2と、アドレスコントロールコー
ド3とヲ含んでいる。これらの位置関係や構成ビット数
、あるいはマイクロコードに含まれる他のコードは必要
に応じて任意に設定される。
マイクロプログラムメモリ4とマイクロシーケンサ5と
は従来のマイクロプログラム制御装置に使用されている
ものと同様の構成でさしつかえない。
実行速度制御回路10は、マイクロシーケンサ5がラッ
チしたマイクロアドレス6をマイクロプログラムメモリ
4に向けて出力するタイミングを制御するクロック12
を供給する。
実行速度選択フラグ11は、そのマイクロコードlに含
まれるマイクロインストラクション2の実行速度が速い
ときは短周期のクロックを、実行速度が遅いときは長周
期のクロックを実行速度制御回路10が選択するように
あらかじめ設定される。
このようなマイクロプログラム制御装置を使用すると、
第3図のタイムチャードに示したように、マイクロコー
ドの読み出し13のタイミングが、マイクロインストラ
クションの実際の実行時間15に応じて選択されるので
、空白時間16が第9図に示した場合と比較して減少す
る。
実行速度制御回路10は、例えば第4図に示すように、
発振回路21と、分周回路22とセレクタ回路23とで
構成される。
発振回路21の発振出力信号24は、分周回路で2種の
クロック25と26とに変換されセレクタ回路23に向
かって出力される。セレクタ回路23は端子Aに人力し
たクロック25と、端子已に人力したクロック26とを
、セレクト端子Sに入力した実行速度選択フラグ11に
応じて選択し、いずれか一方のクロックを出力端子12
に出力する。この実施例の場合、2者択一であるから実
行速度選択フラグは1ビツト構成で、“H”のときクロ
ック25を、L ”のときクロック26を選択するよう
にすればよい。分周回路22で3種以上のクロックを発
生させ、セレクタ回路23においてこれろを選択するj
こは、実行速度選択フラグ11は2ビット以上の構成と
なる。
このようにして、本発明のマイクロプログラム制御装置
はマイクロプログラムの実行中の全体のスループットを
向上させることができる。また、従来一般的にマイクロ
プログラムの実行用として使用されてきたクロックより
も長周期のクロックも選択することができるようにすれ
ば、従来時間的制約から使用することができなかったマ
イクロインストラクションも使用が可能になる。マイク
ロプログラムの全実行時間は、マクロ命令を処理するた
めに設定されたシステムクロックの周期により上限が決
められるが、その時間内に、従来よりも多柱のマイクロ
インストラクションを組み合わせてマイクロプログラム
を作成しこれを実行させることができる。例えば、実行
時間を考慮して、アクセスタイムの速いメモリと遅いメ
モリとを使い分けて与えられた時間を有効に活用する。
こうすれば、従来高速メモリを使用していた部分のトー
タルコストを低下させることもできる。
第5図は本発明のマイクロプログラム制御装、Itの更
に具体的な実施例のブロック図である。
本図において、マイクロシーケンサ5はアドレスレジス
タ27と分岐回路28とから構成されており、実行速度
制御回路10はその一部のみを図示し、第1図および第
4図と同一部分は同一符号で示し、その説明を省略する
このマイクロシーケンサ5に対して、マイクロプログラ
ムメモリ4からアドレスコントロールコード3が入力す
ると、例えばその上位ビットはアドレスレジスタ27に
直接人力し、下位ビットは分岐回路28に人力する。分
岐回路28は、外部装置例えばALUからの分岐条件2
9の人力があると、アドレスコントロールコード3の下
位ビットをその条件に応じて変更する。
アドレスレジスタ27は、このようにして最終決定され
たマイクロアドレス6をラッチし、所定のタイミングで
マイクロプログラムメモリ4へ向けて出力する。このタ
イミングは実行速度制御回路10から人力するクロック
12によって制御される。マイクロコード1に含まれる
実行速度選択フラグ11は、このクロック12を選択す
るセレクタ回路23のセレクト端子Sに人力される。そ
の他の動作は第1図の実施例と同様である。なお、マイ
クロシーケンサ5や実行速度制御回路10等は、この種
の動作をする種々の他の回路に置換が可能である。
「発明の効果」 以上説明した本発明のマイクロプログラム制御装置は、
マイクロプログラムを実行する2種以上のクロックを準
備し、マイクロインストラクションの実行速度に応じて
適切なりロックを選定するので、マイクロプログラムの
スループットを向上させることができる。また、この殿
能を活用して、更に多種のマイクロインストラクション
を含むマイクロプログラムを使用することが可能となる
【図面の簡単な説明】
第1図は本発明のマイクロプログラム制御装置の基本的
な実施例のブロック図、第2図はこれに使用するマイク
ロコードの実施例のビット構成図、第3図は本発明のマ
イクロプログラム制御装置のマイクロプログラム実行例
を示すタイムチャート、第4図は本発明のマイクロプロ
グラム制2B装置の実行速度制御回路の実施例のブロッ
ク図、第5又はその更に具体的な実施例のブロック図、
第6図は従来のマイクロコードの例を示すビット構成図
、第7図は従来のマイクロプログラム制御装置のブロッ
ク図、第8図はその実行例を示すタイムチャート、第9
図はその要部のタイムチャートであるっ1・・・・・・
マイクロコード、 2・・・・・・マイクロインストラクション、3°・・
・°・アドレスコントロールコード、4・・・・・・マ
イクロプログラムメモリ、5・・・・・・マイクロシー
ケンサ、 6・・・・・・マイクロアドレス、 10・・・・・・実行速度制御回路、 11・・・・・・実行速度選択フラグ。 出 願 人    富士ゼロックス株式会社代  理 
 人       弁理士  山  内  梅  雄第
3図 14:)  15   15 16 第5図

Claims (1)

    【特許請求の範囲】
  1. 実行速度選択フラグとアドレスコントロールコードとマ
    イクロインストラクションとを含むマイクロコードから
    成るマイクロプログラムを格納するマイクロプログラム
    メモリと、前記マイクロコードに含まれるアドレスコン
    トロールコードに基づいて次ステップのマイクロコード
    のマイクロアドレスを出力するマイクロシーケンサと、
    それぞれ周波数の異なる2種以上のクロックを発生し前
    記実行速度選択フラグに対応した1種のクロックを選択
    して前記マイクロシーケンサに出力しマイクロシーケン
    サの実行速度を制御する実行速度制御回路とから構成さ
    れたことを特徴とするマイクロプログラム制御装置。
JP20986384A 1984-10-08 1984-10-08 マイクロプログラム制御装置 Pending JPS6188337A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20986384A JPS6188337A (ja) 1984-10-08 1984-10-08 マイクロプログラム制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20986384A JPS6188337A (ja) 1984-10-08 1984-10-08 マイクロプログラム制御装置

Publications (1)

Publication Number Publication Date
JPS6188337A true JPS6188337A (ja) 1986-05-06

Family

ID=16579870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20986384A Pending JPS6188337A (ja) 1984-10-08 1984-10-08 マイクロプログラム制御装置

Country Status (1)

Country Link
JP (1) JPS6188337A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0344951A2 (en) * 1988-05-31 1989-12-06 Raytheon Company Method and apparatus for controlling execution speed of computer processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0344951A2 (en) * 1988-05-31 1989-12-06 Raytheon Company Method and apparatus for controlling execution speed of computer processor

Similar Documents

Publication Publication Date Title
US3980992A (en) Multi-microprocessing unit on a single semiconductor chip
EP0238090B1 (en) Microcomputer capable of accessing internal memory at a desired variable access time
US4118773A (en) Microprogram memory bank addressing system
US3949370A (en) Programmable logic array control section for data processing system
US4179731A (en) Microprogrammed control system
US3991404A (en) Apparatus for carrying out macroinstructions in a microprogrammed computer
US4075687A (en) Microprogram controlled digital computer
US4131943A (en) Microprogrammed computer employing a decode read only memory (DROM) and a microinstruction read only memory (ROM)
US4539635A (en) Pipelined digital processor arranged for conditional operation
US4388682A (en) Microprogrammable instruction translator
US4467415A (en) High-speed microprogram control apparatus with decreased control storage requirements
EP0035334B1 (en) Data processing system with two level microprogramming
CA1099415A (en) Rom initializing apparatus
US5046040A (en) Microprogram control apparatus using don't care bits as part of address bits for common instructions and generating variable control bits
US5032983A (en) Entry point mapping and skipping method and apparatus
US4160289A (en) Microprogram-control unit for data processor
JPH05108341A (ja) マイクロプロセツサ
US4481581A (en) Sequence control circuit for a computer
US4674063A (en) Information processing apparatus having a sequence control function
US5247624A (en) Microprogram controller including leading microinstruction from a generator executed while succeeding microinstruction from memory is read out
US4598358A (en) Pipelined digital signal processor using a common data and control bus
US4126896A (en) Microprogrammed large-scale integration (LSI) microprocessor
US4641278A (en) Memory device with a register interchange function
US5479620A (en) Control unit modifying micro instructions for one cycle execution
US5053954A (en) Microprogram process for single cycle jump instruction execution