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

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

Info

Publication number
JPS62259139A
JPS62259139A JP10349586A JP10349586A JPS62259139A JP S62259139 A JPS62259139 A JP S62259139A JP 10349586 A JP10349586 A JP 10349586A JP 10349586 A JP10349586 A JP 10349586A JP S62259139 A JPS62259139 A JP S62259139A
Authority
JP
Japan
Prior art keywords
data
register
address
microinstruction
logical
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
JP10349586A
Other languages
English (en)
Inventor
Kousuke Sakota
迫田 行介
Shunpei Kawasaki
俊平 河崎
Toru Nojiri
徹 野尻
Fumihiro Takahashi
文博 高橋
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 Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering 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, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP10349586A priority Critical patent/JPS62259139A/ja
Publication of JPS62259139A publication Critical patent/JPS62259139A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロプログラム制御装置に関し、特に1マ
イクロステツプで、2つのデータの値を用いて、分岐先
を決定するに好適なマイクロプログラム制御装置に関す
るものである。
〔従来の技術〕
データを処理して行く上で、データの内容によって処理
を変えるために、分岐する必要が生じることがある。例
えば、バイトコードの値によって分岐先をきめるディス
バッチ処理がある。
例えば、第3図において、参照データ20の下位8ビツ
トが、マイクロアドレス・レジスタ2の下位8ビツトに
セットされ、その上位4ビツトには0″′がセットされ
る。そして、上記マイクロアドレス・レジスタ2の内容
がデコードされて、制御メモリ1のO番地〜255番地
のマイクロ命令のいずれかが読み出され、これにより、
参照データの値によって異なる処理に分かれることが可
能となる6 また、タグ付データのタグの内容や、コンディションコ
ード・レジスタの特定のフラグ等、データの一部のビッ
トフィールドの内容によって分岐する場合もある。
例えば、特開昭60−116037号公報には、修飾レ
ジスタに任意のデータをセットしておき、それとマイク
ロ命令内のアドレス指定部とを加算することにより、多
方向に分岐可能とした装置が開示されている。
〔発明が解決しようとする問題点〕
しかしながら、上記装置においては、分岐の元になるデ
ータ(修飾データ)が連続した値を持つ場合、例えば、
命令のオペレーション・フィールドの値で分岐するよう
な場合には、修飾データをそのまま修飾レジスタに入れ
れば良いが、修飾データが飛び飛びの値を持つ場合、例
えば、第7〜第0の8ビツトから成る修飾データのうち
、第6ビツトと第4ビツトとの2つのビットの値の組合
せで、4方向に分岐しようとするためには、以下の如き
問題がある。
(1)アドレス指定部と上記修飾レジスタとを算術加算
する方式では、8ビツトで表わされる領域、すなわち、
256語をすべて占有しなければならず、制御メモリの
使用効率が著しく低下する。
(2)修飾データ内の分岐に関与するビットだけを右寄
せするには、特殊なハードがない限り、数マイクロステ
ップを要し、実行効率が低下する。
(3)アドレス指定部と修飾レジスタとを論理OR加算
する方式では、アドレス指定部の分岐に関与するビット
位置、すなわち、上の例では第6ビツトと第4ビツトを
# Q II、その他の第7ビツト、第5ビツト、第3
〜第0ビツトをl(1pgにすれば、上述の256語の
うちの4語を占有するだけであるが、割付けられるアド
レスは256語境界内に1組だけが可能となり、割付は
制約条件が厳しい。
(4)アドレス指定部と修飾レジスタとを論理AND演
算する方式では、上記(3)項の## 01yと111
″′が逆になるだけで、同様な結果となる。
(5)上記(3)項あるいは(4)項で、予め、修飾デ
ータ内の分岐に関与しないビットを110 jlあるい
は1111+にしておくと、アドレス指定部の指定で1
10 #1あるいはre 11Hにしたビット位置につ
いても自由に決められるため、256語境界内に2組以
上割付けが可能になるが、このためには、余計なステッ
プを必要とし、実行効率が低下する。
本発明は上記事情に鑑みてなされたもので、その目的と
するところは、従来のマイクロプログラム制御装置にお
ける上述の如き問題を解消し、高速に多方向に分岐でき
、しかも割付はアドレスの制約が少ない、マイクロプロ
グラム制御装置を提供することにある。
〔問題点を解決するための手段〕
本発明の上記目的は、マイクロプログラムを納めた制御
記憶部と、次に読出すマイクロ命令アドレスを保持する
アドレスレジスタと、アドレスを修飾するための修飾レ
ジスタと、前記制御記憶部から読出されたマイクロ命令
のアドレス指定部と前記修飾レジスタの内容とを論理加
算した結果を前記アドレスレジスタに送出する論理加算
器と、2つ以上のデータバスと、算術論理演算器と、該
算術論理演算器での演算結果状態を保持する状態レジス
タとを有するマイクロプログラム制御装置において、制
御信号に応じて、第1のデータバスからのデータと第2
のデータバスからのデータを論理演算するか、または、
第1のデータバスからのデータと前記状態レジスタの内
容とを論理演算する論理演算器と、該論理演算器の出力
または零のいずれか一方を、別の制御信号に応じて出力
して、前記修飾レジスタに送出する選択回路とを備えた
ことを特徴とするマイクロプログラム制御装置によって
達成される。
〔作用〕
本発明においては、参照データの内の、任意の数ビット
の値を用いて多方向に分岐するために。
ビットを次マイクロ命令アドレスに反映させるだけでな
く、分岐に関与していないビットを、マスクして無効に
しておくことによって1割り付けの自由度を上げるもの
である。
そのためにもう1つのデータをマスクとして使用する。
具体的手段としては、修飾レジスタを導入し、あるマイ
クロサイクルで2つのデータの論理演算結果を上記修飾
レジスタに格納し1次のマイクロサイクルでその内容と
アドレス指定フィールドとの論理和を求め、それを次マ
イクロ命令アドレスとする。
通常のプロセッサには算術論理演算器(ALU)の2つ
の入力に対応して2つのデータバスが存在するので、そ
れを利用して、2つのバスの内容の論理演算結果を上記
修正レジスタに格納するようにする。一方のバスに参照
データを出力し、他方のバスに定数でマスクを指定でき
るように、マイクロ命令の定数発生部からの定数を出力
できるようにする。
また1分岐に関与しないビットがl′になっていないこ
とが保証されているとき、2つのデータの条件を1ステ
ツプで判定できるように、異なる2つのデータを、それ
ぞれのバスに出力できるようにする。
この他、状態レジスタの内容を用いて、他方のバスにマ
スクを設定できるようにする。
2つのデータの論理積をとった結果は、一方のデータを
マスクデータとすると、他方の参照データのうち、マス
クデータのビットが411 Hlのところのみが反映さ
れ、マスクデータのビットが0”のところは常に“0゛
となる。
従って参照データのうち、分岐に関与しないビットはす
べて14011となり、参照データとマスクデータの論
理積の結果と、アドレス指定フィールドの論理和を1次
マイクロ命令アドレスとする場合には、アドレス指定フ
ィールドの上記のごとき分岐に関与しないビットに対応
するビット位置には、ツ バ0″″か′1″の任意の値を設定することができる。
つまり、常にII l #lにしておかなければならな
い場合にくらべて、アドレスの割り付は条件がゆるやか
になる。
また、参照データの代わりに状態レジスタの内容を用い
る場合もまったく同様に、判定に必要なビットのみに関
して分岐し、かつ、割り付は条件がゆるやかになる。
一方、上記2つのデータの論理和をとった結果は、2つ
のデータの持つ条件の両方を含むことになり、同時に(
1マイクロステツプで)2つの条件を判定し1分岐する
ことができることになる。すなわち、2つの異なるデー
タの、ビット位置の互いに異なるビットフィールドが、
どちらも1分岐に関与していない不確定ビットを含んで
いなければ、その2つのデータの論理和は、2つのデー
タの持つ条件を併せ持つことになる。
〔実施例〕
以下、本発明の実施例を図面に基づいて詳細に説明する
第1図は、本発明の一実施例を示すマイクロプログラム
制御装誼のブロック構成図である。図において、1は制
御メモリ、2はマイクロアドレス・レジスタ、3はマイ
クロ命令レジスタを示しており、9,10はデータバス
、11.12はレジスタ、13は第1の演算器、14は
修飾レジスタ、15は第2の演算器、16はシーケンサ
、30は分配回路、31と32は選択回路、33は状態
レジスタを示している。
また、4は上記マイクロ命令レジスタ3の制御信号発生
部、5は同定数発生部、6は同演算指定部、7は同アド
レス指定部、8は同シーケンス制御部を示している。
本実施例に示す装置を構成する各部の機能は以下の通り
である。
制御メモリ1に格納されているマイクロ命令のうち、マ
イクロアドレス・レジスタ2で指定されたアドレスにあ
るマイクロ命令が、マイクロ命令レジスタ3に読出され
る。マイクロ命令レジスタ3の制御信号発生部4は、本
マイクロプログラム1制御装置の各部を制御する信号を
発生する。
マイクロ命令レジ、スタ3の定数発生部5の内容は分配
回路30により、データバス9、または、データバス1
0にそのまま出力される。データバス9およびデータバ
ス10には、各種のレジスタ11やレジスタ12の内容
が出力される。データバス9およびデータバス10に定
数が出力されるのか、あるいはどのレジスタの内容が出
力されるのかは、すべて上記制御信号発生部4で指定さ
れる。
上記第1の演算器13は、選択回路31により、データ
バス9の内容か、状態レジスタ33の内容のいずれか一
方とデータバス10の内容を入力とし、上記演算指定部
6の指示により論理AND演算、論理OR演算あるいは
論理EXOR演算を行う機能を有するものである。
選択回路32は、上述の第1の演算器13による演算結
果と、零とのいずれか一方を選択して修飾レジスタ14
に設定する機能を有するものである。また、上記状態レ
ジスタ33は、図示されていない算術論理演算器での演
算結果状態を保持する機能を有するものである。
アドレス指定部7は、次に実行すべきマイクロ命令のア
ドレスを決定するための、基底アドレスを指定する。ア
ドレス指定部7の内容と上記修飾レジスタ14の内容は
、第2の演算器15により論理OR演算され、その結果
はシーケンサ16に入力される。シーケンサ16は、シ
ーケンス制御部8によリマイクロプログラムの実行を制
御する。すなわち、通常は、上記第2の演算器15の演
算結果をマイクロアドレスレジスタ2に出力する。この
他にも、本特許に直接には関係ないが、マイクロサブル
ーチンの制御や割り込みの制御を行う。
上述の如く構成された本実施例の動作を、以下詳細に説
明する。
以下の説明においては、レジスタ12に参照データ10
0(第2図(、)参照)が設定されており、このデータ
の11 d l+で示されるビットの値により、4方向
に分岐する場合について説明する。
まず、第1のマイクロ命令でレジスタ12の内容をデー
タバス10に出力し、前記定数指定部5の定数101(
第2図(b)参照)をバス9に出力するように制御信号
発生部4で指定する。
また5選択回路31.32を制御し、演算指定部6で、
バス9とバス10の値を論3!IIANDL、た値を修
正レジスタ14に出力するように指定する。これにより
、修正レジスタ14には、第2図(c)に示すデータ 
102が設定されることになる。
第2図の具体例について述べれば、第2のマイクロ命令
のアドレス指定部で、参照データ100によって4方向
に分岐するとき、2つの°′d″のどちらもが0である
場合の分岐アドレスとして第2図(d)に示す103の
ように指定しておけばよい。ここで、11 aI+は任
意の値(It O31か141 $1)が選べることを
示す。
そして、この場合、第2のマイクロ命令を実行すると、
第2図(e)104に示されるアドレスにあるマイクロ
命令が次に実行されることになる。つまり、11 d 
11の値によって4方向に分岐ができる。
多方向分岐しないときには、第1のマイクロ命令で、前
記選択回路32で零を入力として選ぶことにより、修飾
レジスタ14に、II 01jをセットしておけば良い
また、状態レジスタ33を選択回路31で選択すれば、
データバス10からのデータをマスクとして用い、状態
レジスタ33内の任意のビットを選んで多方向分岐する
ことができる。
〔発明の効果〕
以上述べた如く、本発明によれば、データの内容に従っ
て多方向に分岐する場合に、そのデータの一部のビット
データのみが分岐に関与する場合であっても、制御メモ
リを効率よく使用しながら高速に分岐することが可能に
なるという顕著な効果を奏するものである。
更に、ハードウェアも簡単で、バイトコードディスバッ
チ、データタグディスパッチ、条件コード判定分岐等々
の分岐機能を統一的に実現することができる。
また、論理演算器が、算術論理演算器(ALU)とは別
にあるため、分岐に関与するビットの抽出のためのステ
ップが必要でなく、また、それにより不要なビットが完
全にマスクできる−ため、マイクロ命令の基底アドレス
の選択の自由度が上り、ひいては、マイクロ命令のアド
レス割付けの制約が小さくなり、制御メモリの有効利用
が図れるようになるという効果もある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図。 第2図は実施例の動作を説明する図、第3図は従来の装
置における分岐動作の説明図である。 1:制御メモリ、2:マイクロアドレス・レジスタ、3
:マイクロ命令レジスタ、9.10:データパス、11
,12:レジスタ、13.15:論理演算器、14:修
正レジスタ、16:シーケンサ。 第     1     図

Claims (1)

    【特許請求の範囲】
  1. 1、マイクロプログラムを納めた制御記憶部と、次に読
    出すマイクロ命令アドレスを保持するアドレスレジスタ
    と、アドレスを修飾するための修飾レジスタと、前記制
    御記憶部から読出されたマイクロ命令のアドレス指定部
    と前記修飾レジスタの内容とを論理加算した結果を前記
    アドレスレジスタに送出する論理加算器と、2つ以上の
    データバスと、算術論理演算器と、該算術論理演算器で
    の演算結果状態を保持する状態レジスタとを有するマイ
    クロプログラム制御装置において、制御信号に応じて、
    第1のデータバスからのデータと、第2のデータバスか
    らのデータを論理演算するか、または、第1のデータバ
    スからのデータと前記状態レジスタの内容とを論理演算
    する論理演算器と、該論理演算器の出力または零のいず
    れか一方を、別の制御信号に応じて出力して、前記修飾
    レジスタに送出する選択回路とを備えたことを特徴とす
    るマイクロプログラム制御装置。
JP10349586A 1986-05-06 1986-05-06 マイクロプログラム制御装置 Pending JPS62259139A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10349586A JPS62259139A (ja) 1986-05-06 1986-05-06 マイクロプログラム制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10349586A JPS62259139A (ja) 1986-05-06 1986-05-06 マイクロプログラム制御装置

Publications (1)

Publication Number Publication Date
JPS62259139A true JPS62259139A (ja) 1987-11-11

Family

ID=14355572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10349586A Pending JPS62259139A (ja) 1986-05-06 1986-05-06 マイクロプログラム制御装置

Country Status (1)

Country Link
JP (1) JPS62259139A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008516337A (ja) * 2004-10-06 2008-05-15 インテル・コーポレーション プロセッサ構成設定をオーバーライドする方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008516337A (ja) * 2004-10-06 2008-05-15 インテル・コーポレーション プロセッサ構成設定をオーバーライドする方法
JP4842956B2 (ja) * 2004-10-06 2011-12-21 インテル・コーポレーション プロセッサ構成設定をオーバーライドする方法
JP2012014716A (ja) * 2004-10-06 2012-01-19 Intel Corp プロセッサ構成設定をオーバーライドする方法
JP2014112402A (ja) * 2004-10-06 2014-06-19 Intel Corp プロセッサ構成設定をオーバーライドする方法

Similar Documents

Publication Publication Date Title
US3938098A (en) Input/output connection arrangement for microprogrammable computer
US4050058A (en) Microprocessor with parallel operation
US3943495A (en) Microprocessor with immediate and indirect addressing
US4131943A (en) Microprogrammed computer employing a decode read only memory (DROM) and a microinstruction read only memory (ROM)
EP0035334B1 (en) Data processing system with two level microprogramming
US4656581A (en) Vector mask control system
US5390306A (en) Pipeline processing system and microprocessor using the system
US4967339A (en) Operation control apparatus for a processor having a plurality of arithmetic devices
EP0164418B1 (en) Microprogram control system
JPS62259139A (ja) マイクロプログラム制御装置
JPS6049335B2 (ja) マイクロプログラム制御方式のデ−タ処理装置における分岐アドレス決定方式
EP0359823A1 (en) Method and apparatus for controlling the execution of microprogram
JPH05290188A (ja) 超並列計算機
JPH0778730B2 (ja) 情報処理装置
JPS607295B2 (ja) デ−タ処理装置
JPS62226337A (ja) 電子計算機
JPS5938853A (ja) 情報処理装置
JPH01150939A (ja) 情報処理装置
JPS61221844A (ja) マイクロ・コンピユ−タ
JPS6252331B2 (ja)
JPS61235946A (ja) デ−タ処理装置
JPS58172753A (ja) マイクロプログラム制御方式
JPS60159942A (ja) デ−タ処理装置
JPH03273356A (ja) マイクロプロセッサ及びマルチプロセッサシステム
JPH02195431A (ja) アドレス演算制御装置