JPS5998253A - Microprogram controller - Google Patents

Microprogram controller

Info

Publication number
JPS5998253A
JPS5998253A JP20785082A JP20785082A JPS5998253A JP S5998253 A JPS5998253 A JP S5998253A JP 20785082 A JP20785082 A JP 20785082A JP 20785082 A JP20785082 A JP 20785082A JP S5998253 A JPS5998253 A JP S5998253A
Authority
JP
Japan
Prior art keywords
address
control
control storage
contents
branch
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
JP20785082A
Other languages
Japanese (ja)
Inventor
Hisao Nakajo
中条 久夫
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP20785082A priority Critical patent/JPS5998253A/en
Publication of JPS5998253A publication Critical patent/JPS5998253A/en
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/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/261Microinstruction address formation
    • 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

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

PURPOSE:To perform simultaneously the control and branching of a micro instruction, which is held in a control storage register, by providing a small- capacity address control storage device where a branch destination address is held and controlling this device. CONSTITUTION:In the initial stage of instruction execution, an address control counter 14 is set up in accordance with contents of a control storage register 11. According as the micro instruction is executed, contents of an address control storage 16 are selected through a selector circuit 17 when a branch address is required, and a control storage device 10 is accessed on a basis of contents of the device 16. When the device 10 is accessed, contents of a counter 14 are updated by one by an incrementer 15 to prepare for the read of a branch address to be used next from the control storage 16. Thus, since the branch address is not included in the micro instruction read out from the control storage device 10, the branching and the execution of the instruction are performed simultaneously without increasing the number of bits per one word of the control storage 10.

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明はマイクロプログラム制御装置に関する。[Detailed description of the invention] [Technical field of invention] The present invention relates to a microprogram controller.

〔発明の技術的背景とその問題点〕[Technical background of the invention and its problems]

装置の小型化と設計の容易性からマイクロプログラムを
用いた制御方式がよく用いられている。マイクロプログ
ラムは、通常、制御記憶と称される読み出し専用メモリ
に記憶され、この制御記憶から所定の内容を読み出し実
行するという方法で制御され、規定された機能動作が実
現される。こめ様なマイクロプログラムを所定の順序で
実行するため、従来は第1図に示されル様なハードウェ
ア構成が用いられていた。
Control methods using microprograms are often used because of the miniaturization of devices and ease of design. A microprogram is usually stored in a read-only memory called a control memory, and is controlled by reading and executing predetermined contents from the control memory to realize a specified functional operation. In order to execute multiple microprograms in a predetermined order, a hardware configuration similar to that shown in FIG. 1 has conventionally been used.

即ち、制御記憶C8Iに記憶されているマイクロプログ
ラムはアドレス#8に示されるアドレスに従って読み出
され、その内容が制御記憶レジスタRC8R2に保持さ
れる。制御記憶レジスタ2の内容は、デコーダ回路DE
C3に供給されると共に、マイクロ命令のブランチのた
めのブランチアドレスとしてセレクタ回路4に供給され
る。デコーダ回路3は制御レジスタ2の内容に基づき所
定の制御信号を出力する。上記セレクタ回路4の出力は
制御記憶装置1に供給され次に実行すべき内容を読み出
す。又、セレクタ回路4の出力は′1″たけインクリメ
ントするために+1加算器(以下、単にアダー5と称す
る)にも供給される。アダー5の出力はマイクロ命令カ
ウンタMIC6に保持される。
That is, the microprogram stored in control memory C8I is read out according to the address indicated by address #8, and its contents are held in control memory register RC8R2. The contents of control storage register 2 are stored in decoder circuit DE
C3 and is also supplied to the selector circuit 4 as a branch address for the branch of the microinstruction. The decoder circuit 3 outputs a predetermined control signal based on the contents of the control register 2. The output of the selector circuit 4 is supplied to the control storage device 1 to read out the content to be executed next. The output of the selector circuit 4 is also supplied to a +1 adder (hereinafter simply referred to as adder 5) for incrementing by '1''. The output of adder 5 is held in microinstruction counter MIC6.

マイクロプログラムのサブルーチン呼び出し制御のため
にスタックレジスタ5TK7が用意されており、サブル
ーチンコールのマイクロ命令を実行する毎にマイクロ命
令カウンタ6の内容がスタックレジスタ7に保持される
。通常、スタックレノスタフには4レベル程反、のアド
レスが保持できる様になっている。セレクタ回路4は制
御記憶1にアクセスするアドレスを制御するだめのもの
でありここで、制御記憶レジスタ2の内容、又はスタッ
クレジスタ2の内容又はマイクロ命令カウンタ6の内容
のいずれかがセレクトされアクセスアドレスとして用い
られる。
A stack register 5TK7 is provided for subroutine call control of the microprogram, and the contents of the microinstruction counter 6 are held in the stack register 7 every time a microinstruction of a subroutine call is executed. Normally, a stack of stacks can hold about 4 levels of addresses. The selector circuit 4 is used to control the address that accesses the control memory 1. Here, either the contents of the control memory register 2, the contents of the stack register 2, or the contents of the microinstruction counter 6 are selected and set as the access address. used as.

この様なハードウェア構成にて読出し実行されるマイク
ロ命令(RC8R2に読み出される)のフォーマットは
通常第2図、第3図又は第4図に示す様になっている。
The format of a microinstruction (read out to the RC8R2) read and executed in such a hardware configuration is normally as shown in FIG. 2, FIG. 3, or FIG. 4.

特にマイクロ命令のブランチを行うためには、そのアド
レスフィールドが必要であり、第3図の様にTYPEフ
ィールドがある値に設定されていた時には、選択する分
岐条件のセレクトとブランチアドレス(BRADH)に
、マイクロ命令がアサインされるか又は、第4図の様に
ブランチアドレスのために専用のフィールド(C0NT
R0L )を備えているかのいずれかの方法が用いられ
ていた。
In particular, in order to branch a microinstruction, the address field is necessary, and when the TYPE field is set to a certain value as shown in Figure 3, it is necessary to select the branch condition to select and the branch address (BRADH). , a microinstruction is assigned, or a dedicated field for branch address (C0NT
R0L) was used.

しかしながら上記従来方式を用いると、次の様な欠点が
あった。第4図の様な形式のマイクロ命令を用いると、
マイクロ命令に従った実行と分岐が同時に行えるので性
能上は利点があるがマイクロ命令語の語長が長くなシ、
コスト高になる。第2図、第3図の様な形式にしてマイ
クロ命令を記憶するとマイクロ命令の語長は短くなシ、
コンパクトになるためコスト的には、利点があるが、ブ
ランチとその他の処理が一緒に出来ないので性能的に不
利である。
However, when the above conventional method is used, there are the following drawbacks. Using microinstructions in the format shown in Figure 4,
There is an advantage in terms of performance because execution and branching according to the microinstruction can be performed at the same time, but the word length of the microinstruction word is long.
The cost will be high. When microinstructions are stored in the format shown in Figures 2 and 3, the word length of the microinstructions is short.
It is advantageous in terms of cost because it is compact, but it is disadvantageous in terms of performance because branching and other processing cannot be done together.

〔発明の目的〕[Purpose of the invention]

本発明は上記欠点に鑑みてなされたものであシ、制御記
憶の周辺回路に、史Vこ分岐先アト9レスを保持する少
谷量のアドレス制御i己ti装置を付加し、これをコン
トロールすることでntlJ ml 8己憶レジスクに
保持されたマイクロ命令の市1j御とブランチを同時に
行ない得る様にし、コスト的にも性能的にも不利なマイ
クロブロク゛ラム市1]御装置を提供することを目的と
する。
The present invention has been made in view of the above-mentioned drawbacks, and a small amount of address control device that holds the history V and branch destination addresses is added to the peripheral circuit of the control memory, and this is controlled. To provide a microblock control device which is disadvantageous in terms of cost and performance by simultaneously controlling and branching microinstructions held in a ntlJml8 self-memory register. With the goal.

〔発明の概妄〕[Delusion of invention]

従来方式において、マイクロブランチとマイクロ命令実
行と同時に行なおうとすれは、第4図に示すマイクロ命
令フォーマットを使用1せさるを得す、1語のビット長
が長くなりコスト高となる。
In the conventional system, if a micro-branch and a micro-instruction are to be executed simultaneously, the micro-instruction format shown in FIG. 4 must be used, but the bit length of one word becomes long, resulting in high cost.

本発明は、通冨、マイクロ館令でブランチを行なうスデ
ッノ該は全ステップのl WIJ以−Fであることから
分岐先′アドレスを保1寺する少容量のアドレス制御記
憶装置を設け、こ才しをコントロールすることにより、
制御記憶レジスタに保持されたマイクロ命令の制御とブ
ランチを1度に行ない得る様にしたものである。
The present invention provides a small-capacity address control storage device that stores the branch destination' address, since the Sudeten to which a branch is executed in a micro-processor is from lWIJ to F of all steps. By controlling the
It is possible to control and branch microinstructions held in a control storage register at the same time.

このことにより、高速で効率の良いマイクロプログラム
制御装置を提供できる。
This makes it possible to provide a high-speed and efficient microprogram control device.

〔発明の実施例〕[Embodiments of the invention]

以下、第5図を用いて本発明に関し詳細に説明する。第
5図は本発明の実施例を示すブロック図である。図にお
いて10はマイクロプログラムを記憶する制御記憶装置
、1ノは上記制御記憶装#10から得られるマイクロ命
令を保持するレジスタ、(制御記憶レジスタ)、12は
デコーダであって、上記制御記憶レジスタ11の出力を
デコードし、システム内各部をコントロールする制御信
号として使用きれる。13はセレクタ回路(SEL)で
める。セレクタ回路13は後述するアドレス制御記憶カ
ウンタAC8CT 14への入力を、インクリメンタ1
5の出力とするか、あるいは制御記憶レジスタ11から
取シ入れるかをセレクトするために設けられる。14は
アドレス制御記憶カウンタ(AC8CT )であり、後
述するアドレス制御記憶装置16にアクセスするアドレ
スを保持する。15は上記アドレス制御記憶カウンタ1
4を歩進するための回路(+]、 )であり、アドレス
制御記憶カウンタ14の内容に′°1”だけ加算した値
を出力する。アドレス制御記憶装置AC316は、分岐
アドレス情報を保持している読み出し専用メモリである
Hereinafter, the present invention will be explained in detail using FIG. 5. FIG. 5 is a block diagram showing an embodiment of the present invention. In the figure, 10 is a control storage device that stores a microprogram, 1 is a register (control storage register) that holds microinstructions obtained from the control storage device #10, and 12 is a decoder, which is the control storage register 11. The output can be decoded and used as control signals to control various parts of the system. 13 is set by a selector circuit (SEL). The selector circuit 13 inputs an input to an address control storage counter AC8CT 14, which will be described later, to an incrementer 1.
It is provided to select whether to take the output from the control storage register 11 or the output from the control storage register 11. 14 is an address control storage counter (AC8CT), which holds an address for accessing an address control storage device 16, which will be described later. 15 is the address control storage counter 1
This is a circuit (+], ) for incrementing the address control memory counter 14 by '°1'.The address control memory device AC316 holds branch address information and outputs a value obtained by adding '°1' to the contents of the address control memory counter 14. This is read-only memory.

17は、セレクタ回路である。セレクタ回路17は上記
アドレス制御記憶装置16の出力、スタックレジスタ2
0の出力、そして、マイクロ命令カウンタ19の出力を
それぞれ得これらのうち、いずれか1個を選択切シかえ
ずために設けられる。18はインクリメンタ(ADD 
)でるり、制御記憶装置1ノにアクセスするアドレスを
°1”だけ加算してマイクロ命令カウンタ19又はスタ
ックレジスタ20に供給する。19はマイクロ命令カウ
ンタ(MIC)である。20は、スタックレジスタ(S
TK )と称され、マイクロサブルーチンからの戻り番
地を保持しておシ、LIFO(Li5t In −Fi
rst Out )の形式で書き込み読み出しがなされ
る。本発明実施例では、4つのレベルまで準備されてい
る。
17 is a selector circuit. The selector circuit 17 is connected to the output of the address control storage device 16 and the stack register 2.
0 and the output of the microinstruction counter 19, respectively, and are provided so that any one of these can be selected and switched. 18 is an incrementer (ADD
), the address for accessing the control memory 1 is added by 1" and supplied to the microinstruction counter 19 or stack register 20. 19 is a microinstruction counter (MIC). 20 is a stack register ( S
It is called LIFO (Li5t In-Fi) and holds the return address from the micro subroutine.
Writing/reading is performed in the format rst Out ). In the embodiment of the present invention, up to four levels are provided.

以下、本発明の動作につき説明する。本発明は、通常マ
イクロ命令でブランチ(条件ブランチも含め)を行うス
テップ数は全ステップの1割以下であることから分岐先
アドレスを保持する歩容量のアドレス制御記憶装置16
を設け、これをコントロールすることによって制御記憶
レジスタ1ノに示される制御とブランチを一度に行え得
る様にしたものであることは上述したとおシである。す
なわち制御記憶の容量が8に語たったとすると、分岐ア
ドレスを保持するアドレス制御記憶装置16は800語
〜IK語の容量があれば十分であり、これによシ従来方
式の欠点がカバーできる。
The operation of the present invention will be explained below. Since the number of steps in which branches (including conditional branches) are normally performed by microinstructions is less than 10% of all steps, the present invention provides an address control storage device 16 with a walking capacity that holds branch destination addresses.
As mentioned above, by controlling this, the control and branch indicated in the control storage register 1 can be performed at the same time. That is, assuming that the capacity of the control memory is 8, it is sufficient for the address control memory 16 that holds branch addresses to have a capacity of 800 to IK words, which can cover the drawbacks of the conventional system.

命令実行の初期ステージで制御記憶レジスタ11の内容
に従いアドレス制御カウンタ14がセットアツプされる
。マイクロ命令の実行に従がい、マイクロ分岐あるいは
条件分岐で分岐条件が成立するとき、すなわち分岐アド
レスが必要なときには、アドレス制御記憶カウンタ14
で示されるアドレスからアドレス制御記憶16の内容が
読み出されているのでセレクタ回路17を介してアドレ
ス制御記憶16の内容がセレクトされ、その内容に基つ
いて制御記憶装置10がアクセスされる。アドレス制御
記憶16の内容に従って制御記憶装置10がアクセスさ
れた時には、インクリメンタ15によってアドレス制御
記憶カウンタ14が°′1”だけ更新されアドレス制御
記憶16から仄に使用するブランチアドレスの読み出し
準備がなされる。
Address control counter 14 is set up according to the contents of control storage register 11 at the initial stage of instruction execution. Following the execution of a microinstruction, when a branch condition is satisfied in a microbranch or a conditional branch, that is, when a branch address is required, the address control storage counter 14
Since the contents of the address control memory 16 have been read from the address indicated by , the contents of the address control memory 16 are selected via the selector circuit 17, and the control memory 10 is accessed based on the contents. When the control memory device 10 is accessed according to the contents of the address control memory 16, the incrementer 15 updates the address control memory counter 14 by °'1'' to prepare for reading a branch address to be used from the address control memory 16. Ru.

この様にすることで制御記憶装−110から読み出され
実行されるマイクロ命令にブランチアドレスを含まない
ため、制御記憶1001語あたりのビット数を大きくせ
ずにマイクロブランチとその命令の実行が同時に行え、
従って高速なマイクロプログラム制御装置が実現できる
By doing this, the branch address is not included in the microinstruction read from the control memory unit 110 and executed, so the microbranch and its instruction can be executed simultaneously without increasing the number of bits per 1001 words of the control memory. Go,
Therefore, a high-speed microprogram control device can be realized.

〔発明の効果〕〔Effect of the invention〕

以上説明の如く本発明によれば制御記憶装置のび語あた
9のビット長を大きくせずにブランチアドレスと実行が
同時に行え、従って、効率のよいマイクロプログラム制
御装置を提供できる。これは今までのマイクロプログラ
ムに於けるブランチの総数が全体ステップの1割以下で
あるという実験データにも基づいている。
As described above, according to the present invention, branch addressing and execution can be performed simultaneously without increasing the length of 9 bits per word of the control storage device, and an efficient microprogram control device can therefore be provided. This is also based on experimental data showing that the total number of branches in microprograms up to now is less than 10% of the total steps.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は従来のマイクロプログラム制御装置の構成例を
示すブロック図、第2図〜第4図はマイクロ命令語のフ
ォーマットを示す図、第5図は本発明の実施例を示すブ
ロック図である。 10・・・制御記憶装置(CCS )、11・・・制御
記憶レジスタ(RC8R)、13 、17・・・セレク
タ回路(SEL)、14・・・アドレス制御記憶カウン
タ(AC8CT )、16・・・アドレス制御記憶装置
(Acs)。 出願人代理人  弁理士 鈴 江 武 彦第2図 TPY C0NTR0BITS 第3図 TPY RCOND BRADDR 第4図
FIG. 1 is a block diagram showing an example of the configuration of a conventional microprogram control device, FIGS. 2 to 4 are diagrams showing the format of a microinstruction word, and FIG. 5 is a block diagram showing an embodiment of the present invention. . 10... Control storage device (CCS), 11... Control storage register (RC8R), 13, 17... Selector circuit (SEL), 14... Address control storage counter (AC8CT), 16... Address Control Storage (Acs). Applicant's representative Patent attorney Takehiko Suzue Figure 2 TPY C0NTR0BITS Figure 3 TPY RCOND BRADDR Figure 4

Claims (1)

【特許請求の範囲】[Claims] マイクロプログラムを構成するマイクロ命令が複数格納
される第1の制御記憶装置と、この第1の制御記憶装置
から得られるマイクロ命令を保持しその内容が実行され
る制御記憶レジスタと、上記マイクロ命令の分岐先アド
レスが格納される第2の制御記憶装置と、上記制御記憶
レジスタに保持はれた内容に従かい分岐アドレスが必要
な場合に限シ上記第2の制御記憶装置をアクセスすべき
アドレスが設定さfLるアドレス制御記憶カウンタと、
マイクロ命令の分岐が行なわれるとき、上記第2の制御
記憶装置から得られる内容に基づき第1の制御記憶装置
をアクセスするダート回路とを具備することを特徴とす
るマイクロプログラム制御装置。
a first control storage device in which a plurality of microinstructions constituting a microprogram are stored; a control storage register that holds the microinstructions obtained from the first control storage device and whose contents are executed; A second control memory device in which a branch destination address is stored; and an address to access the second control memory device only when a branch address is required according to the contents held in the control memory register. an address control memory counter to be set;
and a dart circuit that accesses the first control storage device based on contents obtained from the second control storage device when a microinstruction branch is performed.
JP20785082A 1982-11-27 1982-11-27 Microprogram controller Pending JPS5998253A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20785082A JPS5998253A (en) 1982-11-27 1982-11-27 Microprogram controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20785082A JPS5998253A (en) 1982-11-27 1982-11-27 Microprogram controller

Publications (1)

Publication Number Publication Date
JPS5998253A true JPS5998253A (en) 1984-06-06

Family

ID=16546558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20785082A Pending JPS5998253A (en) 1982-11-27 1982-11-27 Microprogram controller

Country Status (1)

Country Link
JP (1) JPS5998253A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0455823U (en) * 1990-09-17 1992-05-13
JP2009085464A (en) * 2007-09-28 2009-04-23 Denso Corp Unit for ejector type refrigerating cycle

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0455823U (en) * 1990-09-17 1992-05-13
JP2009085464A (en) * 2007-09-28 2009-04-23 Denso Corp Unit for ejector type refrigerating cycle

Similar Documents

Publication Publication Date Title
JPH0235523A (en) Flexible asic microcomputer
JPS58219644A (en) Instruction execution system
US3958221A (en) Method and apparatus for locating effective operand of an instruction
US4467415A (en) High-speed microprogram control apparatus with decreased control storage requirements
GB1594014A (en) Microprogramme system with fixed jump addressing
US4057850A (en) Processing link control device for a data processing system processing data by executing a main routine and a sub-routine
JPH0346850B2 (en)
EP0062658B1 (en) Stack for a data processor
JPS59116855A (en) Control memory mechanism
JPS5998253A (en) Microprogram controller
US4459659A (en) Subroutine control circuitry for providing subroutine operations in a data processing system in which tasks are executed on a microprogrammed level
JPS6217773B2 (en)
JPS6148735B2 (en)
JPS59153242A (en) Microprogram control device
JPS6112577B2 (en)
AU540728B2 (en) Stack for a data processor
JPS59186048A (en) Microprogram control system
JPS58169247A (en) High-speed instruction reading system
JPS6320631A (en) Register selecting system
JPS60198639A (en) Data processing system and data processor using said system
JPH0778730B2 (en) Information processing equipment
JPH02143328A (en) Micro-program control device
JPH0434636A (en) Input/output control device
JPS5920047A (en) Microprogram control system
JPS62191931A (en) Microprogram control method