JPS6250854B2 - - Google Patents

Info

Publication number
JPS6250854B2
JPS6250854B2 JP55043908A JP4390880A JPS6250854B2 JP S6250854 B2 JPS6250854 B2 JP S6250854B2 JP 55043908 A JP55043908 A JP 55043908A JP 4390880 A JP4390880 A JP 4390880A JP S6250854 B2 JPS6250854 B2 JP S6250854B2
Authority
JP
Japan
Prior art keywords
address
microinstruction
stack
microprogram
register
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
Application number
JP55043908A
Other languages
English (en)
Other versions
JPS56140444A (en
Inventor
Takao Hayashi
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
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP4390880A priority Critical patent/JPS56140444A/ja
Publication of JPS56140444A publication Critical patent/JPS56140444A/ja
Publication of JPS6250854B2 publication Critical patent/JPS6250854B2/ja
Granted 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/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)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】
本発明は、情報処理装置におけるマイクロプロ
グラムの制御方式に関する。 従来のマイクロプログラム制御方式でループ処
理のようなマイクロプログラムを作成する場合、
ループ条件を判定してループ元へ戻す為の命令が
1語を要するため、ループの為の時間が1命令分
増加する欠点がある。又、すべてのマイクロ命令
が次命令アドレスを持つようなマイクロプログラ
ム制御方式においては、マイクロプログラムを格
納する為の制御メモリ容量が増加したり、すべて
の命令が次命令アドレスを持つ為にマイクロプロ
グラムがわかりにくいという欠点がある。本発明
は、斯かる欠点を解決すべくなされたもので、ス
タツクと、マイクロプログラム命令アドレスレジ
スタとの間で豊富な操作を行なえる手段をすべて
のマイクロプログラム命令が持つことにより、上
記欠点を除去し、構造的プログラミングで作成さ
れたマイクロプログラムを効率良く実行する処理
方式を提供することを目的とする。 即ち、本発明は、マイクロプログラム命令制御
の情報処理装置において、現在実行中のマイクロ
命令アドレスを保持するマイクロ命令アドレスレ
ジスタと、マイクロプログラムが操作することの
できるスタツクと、該スタツク内のアドレスデー
タの位置を表示するスタツクポインタとを有し、
且つ、上記マイクロ命令レジスタをマイクロ命令
で指定される変位により修飾してスタツクに書込
む手段と、マイクロ命令とスタツクポインタで指
定されるスタツク内アドレスのデータをマイクロ
命令アドレスレジスタに読出す手段と、スタツク
ポインタをマイクロ命令で指定される値により補
正する手段とを有し、マイクロ命令により、上記
スタツク内アドレスのデータで分岐先を決定する
か、現実行マイクロアドレスの次のマイクロアド
レスに分岐するかを選択できるよう構成して、上
記目的を達成するものである。 以下、本発明を図面に示す実施例に基づいて説
明する。 第1図は本発明の一実施例を示すブロツク図で
ある。同図において本発明マイクロプログラム制
御方式は、マイクロ命令アドレスレジスタ1と、
スタツク4と、スタツクポインタ5とを有し、且
つ、これらに対し各種処理を行なうマイクロ命令
レジスタ3、演算回路6,7、分岐制御ロジツク
8、アドレスデータセレクトゲート10,11,
12,13,14及びアドレスセレクトゲート1
5,16を有して構成される。 上記マイクロ命令アドレスレジスタ1は、現実
行中のマイクロプログラムの16ビツトのアドレス
を保持するレジスタであり、そのアドレスで指定
されたマイクロプログラムメモリ2の内容がマイ
クロ命令レジスタ3に読出される。 上記スタツク4は、データを順次記憶し、最後
に記憶したものから逆順に読出すラスト・イン・
フアースト・アウトの形式で構成されるメモリで
あり、アドレスデータを一時的に記憶する。アド
レスデータの書込み、読出しは、マイクロ命令に
より操作される。 上記スタツクポインタ5は、最後に入つたアド
レスデータが上記スタツク4のどこにストアされ
ているかを示すレジスタである。 上記マイクロ命令レジスタ3は、実行すべきマ
イクロ命令をマイクロプログラムメモリ2から読
出して一時記憶するためのレジスタで、そのマイ
クロ命令により、スタツク4へのアドレスデータ
の書込み、読出し、スタツクポインタ5の変更、
プログラムの分岐等の操作を行なう。マイクロ命
令の下2つのフイールドは、第2図及び第3図に
示すように構成され、これは、マイクロ命令の全
タイプに共通のフイールドである。 上記演算回路6は、上記マイクロ命令レジスタ
3と共に上記マイクロ命令アドレスレジスタ1を
マイクロ命令で指定される変位により修飾してス
タツク4に書込む手段を構成するもので、マイク
ロ命令アドレスレジスタ1が示している現実行命
令アドレスと上記マイクロ命令のフイールドAの
8ビツトの値を2の補数で加算し、その値を、ス
タツクポインタ5の示すスタツク4内のアドレス
に書込む。 上記分岐制御ロジツク8は、アドレスセレクト
ゲート15及び上記マイクロ命令レジスタ3と共
に、マイクロ命令とスタツクポインタ5で指定さ
れるスタツク4内アドレスのデータをマイクロ命
令アドレスレジスタ1に読出す手段を構成するも
ので、マイクロ命令レジスタ3のフイールドAの
内容に応じてアドレスセレクトゲート15を開閉
し、スタツク4内のデータをマイクロ命令アドレ
スレジスタ1に読出す際の制御を行なう。 上記演算回路7は、上記マイクロ命令レジスタ
3、アドレスデータセレクトゲート10〜14及
び上記分岐制御ロジツク8と共に、スタツクポイ
ンタ5をマイクロ命令で指定される値により補正
する手段を構成するもので、その入力側に、上記
アドレスデータセレクトゲート10及びワイヤー
ドオアされたアドレスデータセレクトゲート11
〜14が接続され、出力側に、スタツクポインタ
5及びスタツク4が接続されている。そして、上
記アドレスデータセレクトゲート10の入力には
スタツクポインタ5が、又、アドレスデータセレ
クトゲート11の入力にはマイクロ命令レジスタ
3が接続されており、更に、他のゲート12,1
3,14には0,+1,−1の各信号が入力されて
いる。従つて、上記補正手段は、この演算回路7
において、スタツクポインタ5の現在のアドレス
データが、上記分岐制御ロジツク8の指示により
上記各ゲート11〜14から入力される信号によ
り補正されるよう構成される。即ち、ゲート11
からは、マイクロ命令のフイールドAの内容が入
力され、ゲート12からは0、ゲート13からは
+1、ゲート14からは−1が各々入力され、ゲ
ート10から入力するスタツクポインタ5の内容
に、これらのデータが加算又は減算される。 次に、本発明制御方式の動作例について説明す
る。 先ず、上述の第3図の表に示すように、フイー
ルドBが00の時は、フイールドAの8ビツトの値
がオペランドバスAに出力され、処理装置20に
おいて、他のフイールドで指定される演算、制御
動作に使用される。マイクロ命令アドレスレジス
タ1は、この演算等が行なわれてから、+1端子
18により+1される。 フイールドBが01の時は、マイクロ命令アドレ
スレジスタ1が示している現命令アドレスとフイ
ールドAの8ビツトの値が加算され、その値がス
タツクポインタ5の示すスタツク4内のアドレス
に書込まれ、それと共に、スタツクポインタ5の
内容が+1されるようにゲート10及び13が開
く。一方、マイクロ命令アドレスレジスタ1の+
1動作は、上述した00の場合と同様に行なわれ
る。なお、スタツクポインタ5の値は、初期状態
で0であるものとする。 フイールドBが10の時は、マイクロ命令アドレ
スレジスタ1へのスタツク4からのポツプを指定
し、フイールドAは、第4図に示す3つの区分が
次のような意味を持つ。即ち、フイードA3は、
ポツプするスタツク4内のアドレス指定モードで
あり、次のように指定する。 1:スタツク4の先頭指定。 0:フイールドA1によりスタツク4内アドレス
を指定。 フイールドA2は、テストを指定し、現在のマ
イクロ命令実行中のテストフリツプフロツプ9の
状態とフイールドA2の内容によりポツプ動作を
行なう条件を次のように決定する。 00:テストが真の時ポツプし、偽の時+1番地へ
行く。 01:テストが偽の時ポツプし、真の時+1番地へ
行く。 10:テストに無関係にポツプする。 11:テストに無関係にポツプするが、マイクロ命
令アドレスレジスタへはセツトされず、該レ
ジスタは+1されるのみ。 ポツプ条件が成立していなければ、ポツプは行
なわれず、+1番地へ進む。ポツプ条件が成立し
たら、フイールドA3が1ならば、スタツクポイ
ンタ5を−1してからスタツク4を読み出し、そ
の値をマイクロ命令アドレスレジスタ1にセツト
して分岐する。フイールドA3が0ならば、フイ
ールドA1をアドレスとしてスタツク4を読出
し、その値をマイクロ命令アドレスレジスタ1に
セツトして分岐し、同時に、スタツクポインタ5
をフイールドA1の内容で書替える。 フイールドBが11の時は、フイールドAで指定
された相対アドレスを演算回路6によりマイクロ
命令アドレスレジスタ1の値と2の補数で加算
し、その値をアドレスセレクトゲート16を通し
てマイクロ命令アドレスレジスタ1にセツトす
る。この際、アドレスロード端子17が使用され
る。 次に、本発明制御方式の動作を実際のマイクロ
プログラムを例にして説明する。 今、次に示すようなマイクロプログラムを考え
る。
【表】 このプログラムは、同図XのループのR0が0
になるまで繰返したら、UNTILR0=0の次の文
に行き、更にXのループ内でYのループをR1が
0になるまで繰返す。 これを、本発明マイクロプログラム制御方式を
用いるマイクロプログラムで書くと、次のように
なる。
【表】 1番目は、R4+1を計算してR4に入れる演算
を、ここでは示していない別のフイールドで行な
い、現アドレスをスタツク4にプツシユする。こ
の命令のアドレスを1とすると、スタツク4の番
地に1が入る。2番目にR1=R1−1を行ない、
この結果をテストしてテストフリツプフロツプ9
をセツトし、この命令アドレスがプツシユされ、
スタツク4の1番地が2になる。第5図Aにこの
状態のスタツク4を示す。更に、3番目にR2=
R2−1を行ない、先にセツトしたテストフリツ
プフロツプ9が偽ならポツプを行ない、2がポツ
プされるので2番地へ戻る。真になると4番地へ
行き、R0=R0−1を行ない、その結果をテスト
フリツプフロツプ9へセツトし、ダミーポツプを
行なうのでスタツク4の先頭は1になつている
(第5図B)。ここで、5番目に行くと、R2=R2
+R3を行ない、テストフリツプフロツプ9が偽
なら先頭をポツプするので1番地へ行き、真なら
6番地へ行く。 このように、本発明によれば、テストと分岐が
演算と同時にできるので、処理効率を高くするこ
とができ、又、上述したような構造的プログラミ
ングで作成されたプログラムがそのままマイクロ
プログラム化され、プログラム生産性の向上をは
かることができる。 以上説明したように、本発明は、マイクロプロ
グラムが操作することのできるスタツクを持ち、
現在実行中のマイクロ命令アドレスを示すマイク
ロ命令アドレスレジスタからの変位によつて指定
されるアドレスをスタツクに書込む手段を有し、
更に、スタツクの内容をスタツクの先頭からの変
位により指定することによつて、該読出しデータ
をテスト条件によつてマイクロ命令アドレスレジ
スタ中に読出すか或いはマイクロ命令アドレスレ
ジスタを+1する手段をすべてのマイクロプログ
ラム命令が持ち、他の演算操作と同時に分岐動作
又は戻り番地の退避を可能とする手段を有するこ
とにより、構造的プログラミングを効率的に実行
する効果がある。
【図面の簡単な説明】
第1図は本発明マイクロプログラム制御方式の
一実施例を示すブロツク図、第2図はマイクロ命
令に使用するフイールドを示す説明図、第3図は
上記フイールドBの内容を示す表、第4図はフイ
ールドAの区分を示す説明図、第5図A,Bはス
タツクの内部状態を示す説明図である。 1…マイクロ命令アドレスレジスタ、2…マイ
クロプログラムメモリ、3…マイクロ命令レジス
タ、4…スタツク、5…スタツクポインタ、6・
7…演算回路、8…分岐制御ロジツク、9…テス
トフリツプフロツプ、10・11・12・13・
14…アドレスデータセレクトゲート、15・1
6…アドレスセレクトゲート。

Claims (1)

  1. 【特許請求の範囲】 1 マイクロプログラム命令制御の情報処理装置
    において、現在実行中のマイクロ命令アドレスを
    保持するマイクロ命令アドレスレジスタと、マイ
    クロプログラムが操作することのできるスタツク
    と、該スタツク内のアドレスデータの位置を表示
    するスタツクポインタとを有し、且つ、 上記マイクロ命令アドレスレジスタをマイクロ
    命令で指定される変位により修飾してスタツクに
    書込む手段と、マイクロ命令とスタツクポインタ
    で指定されるスタツク内アドレスのデータをマイ
    クロ命令アドレスレジスタに読出す手段と、スタ
    ツクポインタをマイクロ命令で指定される値によ
    り補正する手段とを有し、 マイクロ命令により、上記スタツク内アドレス
    のデータで分岐先を決定するか、現実行マイクロ
    アドレスの次のマイクロアドレスに分岐するかを
    選択できるよう構成して成ることを特徴とするマ
    イクロプログラム制御方式。
JP4390880A 1980-04-03 1980-04-03 Microprogram control system Granted JPS56140444A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4390880A JPS56140444A (en) 1980-04-03 1980-04-03 Microprogram control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4390880A JPS56140444A (en) 1980-04-03 1980-04-03 Microprogram control system

Publications (2)

Publication Number Publication Date
JPS56140444A JPS56140444A (en) 1981-11-02
JPS6250854B2 true JPS6250854B2 (ja) 1987-10-27

Family

ID=12676807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4390880A Granted JPS56140444A (en) 1980-04-03 1980-04-03 Microprogram control system

Country Status (1)

Country Link
JP (1) JPS56140444A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6020242A (ja) * 1983-07-15 1985-02-01 Sony Corp プログラム制御回路

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5474337A (en) * 1977-11-26 1979-06-14 Nec Corp Microprogram controller
JPS55934A (en) * 1978-06-20 1980-01-07 Nec Corp Microprogram controller

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5474337A (en) * 1977-11-26 1979-06-14 Nec Corp Microprogram controller
JPS55934A (en) * 1978-06-20 1980-01-07 Nec Corp Microprogram controller

Also Published As

Publication number Publication date
JPS56140444A (en) 1981-11-02

Similar Documents

Publication Publication Date Title
JPH0248931B2 (ja)
US4394729A (en) Jump return stack
JPH0414385B2 (ja)
US4093983A (en) Fast and normal rate instruction fetching
US4754424A (en) Information processing unit having data generating means for generating immediate data
JPS6250854B2 (ja)
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
US3290655A (en) Program control for data processing machine
JPS6410854B2 (ja)
JPH0222413B2 (ja)
US4511983A (en) Apparatus for controlling microinstructions stored in a data processing unit memory
JPS6148735B2 (ja)
JPH0654505B2 (ja) 並列型演算処理装置
JPS6052449B2 (ja) 割込み処理方式
AU540728B2 (en) Stack for a data processor
JPH05100901A (ja) マイクロコンピユータ
JPH0264828A (ja) アドレストレース回路
JPS5936838A (ja) インタフエ−ス制御方式
JPS60247708A (ja) プログラマブル・コントロ−ラ
JPS61290546A (ja) マイクロプログラム制御装置のトレ−ス方式
JPS6028014B2 (ja) マイクロプロセツサ
JPS6051735B2 (ja) 中央処理装置
JPS60218146A (ja) 記憶装置アドレス制御方式
JPS62221030A (ja) マイクロプログラム制御方式
JPH01111250A (ja) データ処理システム