JPS6127776B2 - - Google Patents

Info

Publication number
JPS6127776B2
JPS6127776B2 JP53109707A JP10970778A JPS6127776B2 JP S6127776 B2 JPS6127776 B2 JP S6127776B2 JP 53109707 A JP53109707 A JP 53109707A JP 10970778 A JP10970778 A JP 10970778A JP S6127776 B2 JPS6127776 B2 JP S6127776B2
Authority
JP
Japan
Prior art keywords
register
jump
data
microprogram
address
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
JP53109707A
Other languages
English (en)
Other versions
JPS5537628A (en
Inventor
Kunihiko Oonuma
Hideo Maejima
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP10970778A priority Critical patent/JPS5537628A/ja
Publication of JPS5537628A publication Critical patent/JPS5537628A/ja
Publication of JPS6127776B2 publication Critical patent/JPS6127776B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 本発明は計算機内のバス上のデータに基づき、
多数のジヤンプ先アドレスを高速に決定するバス
マルチジヤンプ方式に関する。
マイクロプログラム方式による計算機の制御の
流れは、マイクロプログラムの指定アドレスを逐
次インクリメント又は新しいアドレスを再設定
(ジヤンプ(分岐)と呼ぶ)することにより行わ
れている。このアドレス分岐をいかにするかによ
りその制御内容が変化する。従来マイクロプログ
ラムのアドレス分岐は第1図に示す様に命令をも
つてくる命令フエツチサイクルから、その持つて
こられた命令の実行ルーチン13A〜13Eへの
分岐12は、持つてきた命令の内容、一般には命
令はインストラクシヨンレジスタ(IR)に格納
されるのでIRの内容に従つて、一義的に決めら
れた、その命令の実行ルーチン13A〜13Eの
先頭へと分岐している。しかし、その命令の実行
ルーチン例えば13Eでは先頭の処理ルーチン1
4Aの後、種々の条件下で分岐する。この分岐
は、例えばあるレジスタの内容が、マイナスか否
かの判断1を行ない、マイナスのときはある処理
14B、零のときはある別な処理15Bなど種々
の判断15A,15B,15Cに従つた処理14
B,14C,14D,14Eを行つている。この
方式では判断要素15A〜15Cが多数になつた
場合、判断用回路の増加を招くとともに一連の判
断が一連の処理中に直列的に行われていくため、
何度も判断用マイクロプログラムを入れなければ
ならず、命令処理連度の低下を招くことになる。
第2図に従来の計算機のデータストラクチヤ部
(データの転送、演算を行う部)215とコント
ロールストラクチヤ部(命令の判断、分岐など制
御関係を行う部)216のブロツク図を示す。本
図からも明らかなようにデータストラクチヤ部2
15とコントロールストラクチヤ部216とはほ
ぼきれいに分離されているといつても過言ではな
く、命令による分岐はデータバス201上の命令
をコントロールストラクチヤ部216内のインス
トラクシヨンレジスタ202に書きこみ、このレ
ジスタ202の内容を命令デコーダ及びエンコー
ダ203で種々修飾を加え、この内容を出力バツ
フア204Aを通してROMアドレスレジスタ2
05にセツトする。ROMアドレスレジスタ20
5にセツトされた内容は命令の内容に修飾を加え
たものでこの修飾は各種の機種により任意の形で
都合のよいように加えられるものである。ROM
206はこのレジスタ205の内容をアドレスと
してそれに対応して複数ビツトの制御信号をマイ
クロインストラクシヨンレジスタ220にセツト
した後、デコーダ214に送る。デコーダ214
でデコードされた制御信号は夫々制御対象へ供給
される。ROM206から読み出された制御情報
の1部は出力バツフア204Bを介してROMア
ドレスレジスタ205に入力される。デコーダ2
14でデコードされた制御信号の一部はインバー
タ207を介して出力バツフア204Aに、また
直接に出力バツフア204Bに入力され、これら
のバツフアの開閉を制御する。データストラクチ
ヤ部215はデコーダ214でデコードされた制
御信号に従つて動作を行う。例えば加算を例とす
ると、データバス201上のデータがバツフアレ
ジスタ208に格納され演算ゲート209の一方
へ接続される。又演算ゲート209の他方には被
加数がレジスタフアイル211より読み出されて
加えられる。演算回路209ではこれら2つの入
力の加算を行つた後バツフアレジスタ210へ一
担格納し、又これをレジスタフアイル211中の
格納対象レジスタへ格納して処理を終了する。こ
の処理結果はまた、出力バツフア204Cを介し
てレジスタフアイル211からデータバス201
に必要に応じて送られる。この演算結果に関する
正,負,偶数,奇数オーバーフロー、キヤリーの
発生などの演算時のステータス情報はフラグ記憶
レジスタ212に記憶される。このステータス情
報はマイクロプログラムの分岐情報として使用さ
れており、前述の実行ルーチン内での判断分岐を
行うために、判断すべき内容指定をROM206
より出力し、マイクロインストラクシヨンレジス
タ220にセツトした後デコーダ214でデコー
ドし、データセレクタ213の選択入力端子に入
力する。フラグ記憶レジスタ212のステータス
情報はデータセレクタ213のデータ入力として
加えられており、セレクタ端子により選択された
内容が、条件成立信号線217に乗る。条件成立
信号線217はROMアドレスレジスタ205に
接続されており出力バツフア204A又は204
Bにより加えられた制御情報を該レジスタ205
に再記憶させるか、又は現在記憶している内容の
インクリメントをするかの指定を行う。これによ
り条件成立信号線217の内容により分岐を行つ
ている。このため、データバス201上のデータ
の内容により分岐したいときはこのデータを一担
データストラクチヤ部215に取り込み、さらに
フラグ記憶レジスタ212にそのステータスをセ
ツトし、マイクロプログラムで分岐したい指定を
出して、分岐しなければならず、特に判断がいく
つもあり、多分岐を行いたいときはマイクロプロ
グラムステツプが多数かかり処理の遅れを招いて
いる。
本発明は、多数の分岐を高速に行いうるマルチ
ジヤンプ方式を提供することであり、より具体的
には、従来の判断による分岐方式においてレジス
タの内容に従つて多分岐できる回路を加え、任意
の時点で、マイクロプログラムで指定することに
より、デーバス上のデータの一部又は全部を多分
岐するための要素(現実的にはROMのアドレ
ス)として用いることができる様にし、命令の実
行ルーチン内で種々の処理サブルーチンへ一発で
多分岐できるようにしたところに特徴がある。
本発明の実施例を第3図を用いて説明する。本
発明はとくにコントロールストラクチヤ部の改良
にある。なお、第3図では図面の簡単化のため、
改良されたコントロールストラクチヤ部のみ示
し、第2図で示したデータストラクチヤ部は図示
されていない。コントロールストラクチヤ部にデ
ータバス201に接続してジヤンプデータラツチ
レジスタ303を設ける。線352上のマイクロ
プログラムからの指定により発生されるジヤンプ
データセツト信号と線353上のタイミングパル
スがANDゲート306Aを介してレジスタ30
3のセツト端子に入力され、データのセツトが、
行われる。このタイミングパルスは計算機内の制
御回路(図示せず)により発生されるものであ
る。
レジスタ303の出力をデータセレクタ304
を通してマイクロプログラムアドレスジエネレー
タ203Aに入力する。このマイクロプログラム
アドレスジエネレータ203Aは次に実行すべき
マイクロプログラムのアドレスを作成するもの
で、本回路は一般に入力信号のビツト数とROM
のアドレスビツト数が異るため、ビツト長の変
換、極性の変更、ビツト配列の入れ替え等信号の
修飾に用いられ、PLA,ROM、又はランダムゲ
ート等で構成される。データセレクタ304の他
方の入力はインストラクシヨンレジスタ202の
出力に接続されており命令の実行ルーチンへの多
分岐に用いられている。また該アドレスジエネレ
ータ203Aの出力は出力バツフア204Aを通
してROMアドレスレジスタ205に入力され
る。本レジスタ205の出力は、ROM206に
アドレス情報として加えられる。ROM206か
らの出力はマイクロインストラクシヨンレジスタ
220にラツチされ、その出力はデコーダ214
に加えられて、デコードされた後、制御信号とし
て各制御対象に接続される。線351上のバスマ
ルチジヤンプフラグセツト信号は、ジヤンプデー
タラツチレジスタ303の内容により多分岐する
ためのバスマルチジヤンプ実行用のバスマルチジ
ヤンプフラグレジスタ305のセツト入力端子に
線353上のタイミングパルスとANDゲート3
06BでANDを取られた後、入力される。ま
た、このバスマルチジヤンプフラグレジスタ30
5のリセツト端子には、線350上の信号と、線
353上のタイミングパルスとがANDゲート3
06CでANDを取られた後、入力される。該フ
ラグレジスタ305の出力はデータセレクタ30
4の選択信号入力端子に入力されている。該フラ
グレジスタ305がセツトされている時はマイク
ロプログラムアドレスジエネレータ203Aへは
ジヤンプデータラツチレジスタ303の内容がデ
ータセレクタ304により入力され、該フラグレ
ジスタ305がリセツトされているときはインス
トラクシヨンレジスタ202の内容がデータセレ
クタ304により入力される。このジエネレータ
203Aにはフラグレジスタ305の出力が入力
されており、フラグレジスタ305がセツト状態
にあるときには、レジスタ303内のジヤンプデ
ータに対するアドレスを発生し、フラグレジスタ
305がリセツト状態にあるときはインストラク
シヨンレジスタ202内のインストラクシヨンに
対するアドレス発生を行う。このようにすること
により、ROMアドレスレジスタ205にはデー
タバス201の内容をセツトすることが可能とな
り、データバス201上のデータの内容により多
分岐することが可能となる。また、出力バツフア
204A,204Bは3ステートバツフア又はオ
ープンコレクタの出力バツフアで、ROMアドレ
スレジスタ205に、ROM206の内容をジヤ
ンプ先アドレスをしてセツトする時に用いるもの
で常に出力バツフア204A,204Bは正反対
に働く。すなわち204A,204Bはいづれか
一方のみ開いている。すなわち線350上のデコ
ードされた信号により出力バツフア204Aが開
かれている時にはアドレスジエネレータ203A
の出力がROMアドレスレジスタ205にセツト
される。なお、この時出力バツフア204Bに
は、線350上の信号をインバータ312により
反転した信号が印加される。従つて出力バツフア
204Bは閉となる。逆に線350上の信号によ
り出力バツフア204Aが閉となるときには出力
バツフア204Bは開であり従つて、線362上
の信号がROMアドレスレジスタ205にセツト
される。これらの出力バツフアはROMアドレス
が常にインクリメント(+1)だけではマイクロ
プログラムの配列が不可能であるため、ジヤンプ
する必要がある時、例えばマルチジヤンプ指定で
ない時の分岐又はジヤンプの時に用いられる。す
なわちデータストラクチヤ部(図示せず)内のフ
ラグ記憶レジスタ(図示せず)から選択されたス
テータス情報に基づき、条件判定が行われ、線2
17上に条件成立信号が出力されるとROMアド
レスレジスタ205は出力バツフア204A,2
04Bの出力を取り込み、線217上に条件成立
信号が出力されていない時は、ROMアドレスレ
ジスタ205は、現在記憶しているアドレスを+
1だけインクリメントしたアドレスを記憶する。
第4図は本発明を用いて多分岐を行うときのマイ
クロプログラムの指定例を示す。第5図a,b,
c,dは、第4図に示したマイクロプログラムの
指定と、データラツチレジスタ、マルチジヤンプ
フラグレジスタのセツト、リセツトのタイミング
を示したものである。以下、第4図,第5図に基
づき、第3図によるマルチジヤンプ動作を説明す
る。なお、第5図aは各時刻において、実行され
るマイクロプログラムの指定を表わし、bは線3
53上のタイミングパルスを表わし、c,dはそ
れぞれ、ジヤンプデータラツチレジスタ及びマル
チジヤンプフラグレジスタのセツト、リセツト状
態を示す。マルチジヤンプのためマイクロプログ
ラムの指定は、第5図に示すごとく、セツトジヤ
ンプデータ指定400、セツトバスマルチジヤン
プフラグ指定402、マルチジヤンプ指定404
よりなる。第5図aに示すごとく、時刻T11にお
いてセツトジヤンプデータ指定400がROM2
06から読み出され、マイクロインストラクシヨ
ンレジスタ220にセツトされる。この結果、デ
コーダ214から線352上にジヤンプデータラ
ツチレジスタ303をセツトする信号が出力され
る。このラツチレジスタ303はデータバス20
1上のジヤンプデータをセツトする。時刻T12
おいて、第5図bに示すごとく、線353上のタ
イミングパルスが高レベルから低レベルに低下す
る。この結果、アンドゲート306Aの出力は高
レベルから低レベルに低下する。ジヤンプデータ
ラツチレジスタ303は、第5図cに示すごと
く、このアンドゲート306Aの出力の変化に応
答して、データバス201上の信号をセツトす
る。次に、時刻T21においてセツトバスマルチジ
ヤンプフラグ指定がマイクロインストラクシヨン
レジスタ220にセツトされる。この結果、デコ
ーダ214により、線351上に2つのフラグセ
ツトのための信号が出力される。時刻T21におい
て、線353上のタイミングパルスが低レベルか
ら高レベルに変化するが、その後、時刻T31にお
いて、再び高レベルから低レベルに変化する。こ
の変化がアンドゲート306Bの出力も表われ
る。バスマルチジヤンプフラグレジスタ305は
この変化に応答してセツト状態となる。この結
果、データセレクタ304はジヤンプデータラツ
チレジスタ303にラツチされているジヤンプデ
ータをマイクロプログラムアドレスジエネレータ
203Aに入力する。その結果、このアドレスジ
エネレータ203Aは、ジヤンプデータに対応す
るROMアドレスを発生することになる。その
後、時刻T31において、マルチジヤンプ指定がマ
イクロインストラクシヨンレジスタに読み出され
る。この結果、デコーダ214から線350上に
マルチジヤンプ起動信号が出力される。この信号
により出力バツフア204Aが開くなり、出力バ
ツフア204Bは閉となる。この結果、ROM2
06からのアドレス出力はROMアドレスレジス
タには入力されずに、マイクロプログラムアドレ
スジエネレータ203Aの出力がROMアドレス
レジスタに入力される。このジエネレータ203
Aからは、ジヤンプデータラツチレジスタ303
に記憶されているジヤンプデータに対する、
ROMアドレスが出力されているので、結局、
ROMアドレスレジスタ205にはデータバス2
01から送られてきたジヤンプデータに対する
ROMアドレスがセツトされることになる。バス
マルチジヤンプフラグレジスタ305はアドレス
データがROMアドレスレジスタ309にセツト
された時点で不要となり、又次の命令フエツチの
場合のインストラクシヨンレジスタ202の内容
(命令)による命令実行ルーチンへの多分岐時ま
でセツトしておくことはできないため、マルチジ
ヤンプ指定404の実行時に線350の信号と線
353上のタイミング信号をアンドゲート306
Cを介して、このフラグ305のリセツト端子に
入力してあり、時刻T32において、タイミングパ
ルスの立下がり時に自動的にリセツトされる。こ
うしてマルチジヤンプの1ジヤンプ動作が終了す
る。本方式を用いることにより、従来の判断、分
岐によるマイクロプログラムの流れを、本発明の
一発で行う多分岐で処理でき処理速度の向上が図
れるが、その具体的使用例として、命令コードの
拡張を行つた場合の処理を例として説明する。計
算機の命令は第6図に示される如く命令部、アド
レス修飾を行う修飾部、ADDR部で構成される。
ここで命令部は“READ”,“WRITE”,“ADD”
等の処理命令を示すが、この部のみの処理では処
理が不足の場合、又はユーザに命令仕様を開放し
自由に拡張される場合等命令部に特定コードを割
当て実際の処理内容は実効アドレスのデータに
“FUNCTION”の形で与え、CPUはこれを判別
して処理を行うものとする。本例ではその処理例
を第7図に示す。すなわち、プロテクシヨン機
能、タイマー機能の操作をFUNCTION部にて指
示するものである。
この処理を従来例の判定分岐方式で実現したの
が第8図であり、命令処理ルーチンのみを示して
ある。図から解かる様にFUNCTIONの内容を解
読するためにアキユシユーレータに格納した
FUNCTIONの内容を逐一演算判読するため、ウ
オツチドグタイマースタートを実施するには10ス
テツプ以上の長い処理フロー700〜718,8
02〜810が必要となり、高速処理要求される
計算機には不適当となる。第9図は本発明を用い
たときの処理フローを示すもので、FUNCTION
はジヤンプデータレジスタにセツトされ、この内
容に従つて次の実施すべき、マイクロプログラム
アドレスへと分岐することになる。(本発明では
これをマルチジヤンプ“多分岐”と呼んでいる)
従つて処理は図示された如くどの処理に於いても
4ステツプで済むことになり、大巾な処理ステツ
プ数の低減すなわち高速化が図れたことになる。
また本方式の特徴として、データバス上の値で、
自由に分岐できるため、マイクロプログラムの分
岐先アドレスをデータストラクチヤ部(図示せ
ず)内のいかなるレジスタ(例えばアキユミレー
タ、アキユミユレータイクステンシヨン、ワーク
レジスタ、等演算に使用するレジスタでデータバ
スへ読み出し可能なレジスタ)、更にはコアメモ
リ等の主メモリの中へも格納可能であり、マイク
ロプログラムレベルでのサブルーチンのリターン
用レジスタとしても上記レジスタ類、主メモリが
自由に使用できる。
【図面の簡単な説明】
第1図は、従来のマイクロプログラム処理の流
れを示した図、第2図は、従来の計算機のデータ
ストラクチヤ部とコントロールストラクチヤ部の
概略図、第3図は、本発明のコントロールストラ
クチヤ部のブロツク図、第4図は、本発明による
バスマルチジヤンプを使用する場合のマイクロプ
ログラム指定例、第5図a,b,c,dは、それ
ぞれ、第4図の指定のタイミング、タイミングパ
ルス波形、ジヤンプデータラツチレジスタとマル
チジヤンプフラグのセツト、リセツトのタイミン
グを示す図、第6図は計算機の命令フオーマツト
例、第7図は命令の拡張部での処理仕様例、第8
図は従来例に於ける処理フローの例、第9図は本
発明による処理フローの例である。 303…ジヤンプデータラツチレジスタ、20
2…インストラクシヨンレジスタ、304…デー
タセレクタ、203A…マイクロプログラムアド
レスジエネレータ、305…マルチジヤンプフラ
グレジスタ。

Claims (1)

    【特許請求の範囲】
  1. 1 データバスに接続されてマイクロプログラム
    のアドレス決定のためのデータを記憶するジヤン
    プデータラツチレジスタと、上記データバスに接
    続されたインストラクシヨンレジスタと、マイク
    ロプログラムを記憶した記憶装置と、ジヤンプデ
    ータラツチレジスタの出力及び上記インストラク
    シヨンレジスタの出力に応答して、上記記憶装置
    を発生するためのマイクロプログラムアドレスジ
    エネレータと、上記ジヤンプデータラツチレジス
    タと上記インストラクシヨンレジスタの出力を切
    換て上記マイクロプログラムアドレスジエネレー
    タに入力するためのデータセレクタと、上記ジヤ
    ンプデータラツチレジスタのデータに基づき、マ
    イクロプログラムの実行を行なうべきことを指示
    するためのマルチジヤンプフラグレジスタを設
    け、該マルチジヤンプフラグレジスタはマイクロ
    プログラムによりセツトおよびリセツトされるご
    とく上記マイクロプログラム記憶装置に結合され
    ており、上記データセレクタは、上記マルチジヤ
    ンプフラグレジスタの出力により上記ジヤンプデ
    ータラツチレジスタと上記インストラクシヨンレ
    ジスタの出力を切換えて出力するごとく構成され
    ていることを特徴とするバスマルチジヤンプ方
    式。
JP10970778A 1978-09-08 1978-09-08 Bus multi-jump system Granted JPS5537628A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10970778A JPS5537628A (en) 1978-09-08 1978-09-08 Bus multi-jump system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10970778A JPS5537628A (en) 1978-09-08 1978-09-08 Bus multi-jump system

Publications (2)

Publication Number Publication Date
JPS5537628A JPS5537628A (en) 1980-03-15
JPS6127776B2 true JPS6127776B2 (ja) 1986-06-27

Family

ID=14517172

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10970778A Granted JPS5537628A (en) 1978-09-08 1978-09-08 Bus multi-jump system

Country Status (1)

Country Link
JP (1) JPS5537628A (ja)

Also Published As

Publication number Publication date
JPS5537628A (en) 1980-03-15

Similar Documents

Publication Publication Date Title
JPS6239780B2 (ja)
JPH0241053B2 (ja)
JPH0248931B2 (ja)
US5247624A (en) Microprogram controller including leading microinstruction from a generator executed while succeeding microinstruction from memory is read out
US4812970A (en) Microprogram control system
US5479620A (en) Control unit modifying micro instructions for one cycle execution
JPS6127776B2 (ja)
JPH0830971B2 (ja) プログラマブルコントローラ
JP2619425B2 (ja) シーケンスコントローラ
JPS6242301B2 (ja)
JPS60108973A (ja) 配列要素の最小値および最小要素の要素番号を求める方法
JPS6134168B2 (ja)
JPS6338732B2 (ja)
JPS5999552A (ja) マイクロコンピユ−タ
JPS59105148A (ja) マイクロプログラム制御方式の中央処理装置
JPS6116334A (ja) デ−タ処理装置
JPS59223846A (ja) 演算処理装置
JPH0218731B2 (ja)
JPS58121405A (ja) シ−ケンスコントロ−ラ
JPS5882342A (ja) マイクロプログラム制御装置
JPS5875250A (ja) デジタル情報処理装置
JPH06149564A (ja) 命令制御装置
JPS6047614B2 (ja) 情報処理装置
JPS62147531A (ja) 制御romのアクセス方式
JPS6028014B2 (ja) マイクロプロセツサ