JPH01271840A - マイクロコンピュータ - Google Patents
マイクロコンピュータInfo
- Publication number
- JPH01271840A JPH01271840A JP63100740A JP10074088A JPH01271840A JP H01271840 A JPH01271840 A JP H01271840A JP 63100740 A JP63100740 A JP 63100740A JP 10074088 A JP10074088 A JP 10074088A JP H01271840 A JPH01271840 A JP H01271840A
- Authority
- JP
- Japan
- Prior art keywords
- data
- program
- branch
- control
- match
- 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
Links
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 210000001072 colon Anatomy 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、一般的にはマイクロコンピュータに関するも
のであり、1つのマクロ命令により、第1のデータと第
2以降のデータとを比較し、その結果によってマイクロ
コンピュータで処理するユーザプログラムの流れを多方
向に分岐させるものである。
のであり、1つのマクロ命令により、第1のデータと第
2以降のデータとを比較し、その結果によってマイクロ
コンピュータで処理するユーザプログラムの流れを多方
向に分岐させるものである。
従来の技術
プログラムの流れを制御する方式に、参照するデータを
複数のデータと順次比較し、比較データと一致したとき
に比較データに対応する分岐先のプログラムを実行する
という場合がある。一つの例としてC言語のスイツチ文
について第3図に従って説明する。まず、スイッチ(s
witch)に続いて式1を指定する。次にケース(c
ase)に続(式2と式1とを比較し、一致すれば同じ
行のコロンに続(文1を実行し、一致しな(Jれば文1
を実行ぜずに次のケース(case )に続く式と式1
とを比較する。このように最後のケース(case )
まで比較を繰り返し、全てを比較した結果、一致が見い
出されなかった場合には最後にデフオール(defau
lt )に続く文を実行し、スイツチ文の制御を終了す
るというものである。
複数のデータと順次比較し、比較データと一致したとき
に比較データに対応する分岐先のプログラムを実行する
という場合がある。一つの例としてC言語のスイツチ文
について第3図に従って説明する。まず、スイッチ(s
witch)に続いて式1を指定する。次にケース(c
ase)に続(式2と式1とを比較し、一致すれば同じ
行のコロンに続(文1を実行し、一致しな(Jれば文1
を実行ぜずに次のケース(case )に続く式と式1
とを比較する。このように最後のケース(case )
まで比較を繰り返し、全てを比較した結果、一致が見い
出されなかった場合には最後にデフオール(defau
lt )に続く文を実行し、スイツチ文の制御を終了す
るというものである。
以上のようなC言語のスイツチ文をコンパイラによって
一般的なマクロ命令に変換する場合を考える。まず、ロ
ード命令によって変数のデータを算術論理演算部(AL
U)のレジスタにロードする。次に比較命令によって、
ケース(case )に続(値と前記レジスタの値とを
比較する。このときデータが一致ずればA L Uのゼ
ロフラグがセットされ、一致しなければリセットされる
。次にゼロフラグに関する条件分岐命令を実行し、対応
する制御文にプログラムの流れを移す。このようにして
スイッチ文をマクロ命令に変換すると、ケース(cas
e )の数だけ比較命令と条件分岐命令を実行しなけれ
ばならない。このことは、プログラムの記述量を増し、
かつ、プログラムの実行速度の低下をまねく。
一般的なマクロ命令に変換する場合を考える。まず、ロ
ード命令によって変数のデータを算術論理演算部(AL
U)のレジスタにロードする。次に比較命令によって、
ケース(case )に続(値と前記レジスタの値とを
比較する。このときデータが一致ずればA L Uのゼ
ロフラグがセットされ、一致しなければリセットされる
。次にゼロフラグに関する条件分岐命令を実行し、対応
する制御文にプログラムの流れを移す。このようにして
スイッチ文をマクロ命令に変換すると、ケース(cas
e )の数だけ比較命令と条件分岐命令を実行しなけれ
ばならない。このことは、プログラムの記述量を増し、
かつ、プログラムの実行速度の低下をまねく。
また、あるマイクロコンピュータは比較と条件分岐を同
時に行うマクロ命令(比較アンド条件分岐命令)をもつ
ものもある。この場合に前記のC言語のスイッチ文をマ
クロ命令に変換する方法を考えるとケース(case
)の数だけ比較アンド条件分岐命令を繰り返す必要があ
り、前述と同様の問題がある。
時に行うマクロ命令(比較アンド条件分岐命令)をもつ
ものもある。この場合に前記のC言語のスイッチ文をマ
クロ命令に変換する方法を考えるとケース(case
)の数だけ比較アンド条件分岐命令を繰り返す必要があ
り、前述と同様の問題がある。
発明が解決しようとする課題
従来のマクロ命令で、C言語のスイッチ文を実現しよう
とすると、通常でケース(case )の数の2倍、少
な(ともケース(case )の数だけマクロ命令を記
述する必要があり、プログラム前述量の増加とプログラ
ム実行速度の低下をまねくという問題がある。また、こ
のように参照データの比較結果によって多方向にプログ
ラム制御を分岐させるプログラム例は、C言語に限らず
頻繁に使用されており、同様の問題が発生ずる。
とすると、通常でケース(case )の数の2倍、少
な(ともケース(case )の数だけマクロ命令を記
述する必要があり、プログラム前述量の増加とプログラ
ム実行速度の低下をまねくという問題がある。また、こ
のように参照データの比較結果によって多方向にプログ
ラム制御を分岐させるプログラム例は、C言語に限らず
頻繁に使用されており、同様の問題が発生ずる。
本発明は上記従来の問題点を解決するもので、プログラ
ム記述量が少なく、実行速度の速い効率的なデータ制御
機能を有するマイクロコンピュータを提供することを目
的とする。
ム記述量が少なく、実行速度の速い効率的なデータ制御
機能を有するマイクロコンピュータを提供することを目
的とする。
課題を解決するための手段
この目的を達成するために本発明は、1つのマクロ命令
で参照データと前記参照データ以外の複数の参照データ
との比較を行い、分岐条件が成立したときに前記参照デ
ータに対応する分岐先・\プロゲラ1、の制御を移す機
能をそなえたマイクロコンビコータである。
で参照データと前記参照データ以外の複数の参照データ
との比較を行い、分岐条件が成立したときに前記参照デ
ータに対応する分岐先・\プロゲラ1、の制御を移す機
能をそなえたマイクロコンビコータである。
作用
−5−。
この構成によって、データの比較による多方向分岐を行
うプログラムを実現する場合に、プログラム記述量を縮
少し、プログラム実行速度を高めることができる。
うプログラムを実現する場合に、プログラム記述量を縮
少し、プログラム実行速度を高めることができる。
実施例
以下、本発明の一実施例について、図面を参照しながら
説明する。第1図は本発明の一実施例におけるプログラ
ム配置例である。第2図はマイクロコンピュータの構成
を示すブロック図である。
説明する。第1図は本発明の一実施例におけるプログラ
ム配置例である。第2図はマイクロコンピュータの構成
を示すブロック図である。
1はプログラムを格納するプログラムメモリーであり、
アドレスバス2で指定されたアドレスによりプログラム
データを出力する。3はプログラムのデータを一時的に
格納するレジスタである。4はレジスタ十カウンタてあ
り、5はアンダーフロー信号線である。6はマイクロR
OMであり、マクロ命令を解読してマイクロ命令を実行
し、各部に制御信号を送り出す。7はアドレス生成部で
あり、次に読み出すプログラムのアドレス及びデータの
アドレスを生成する。8は論理算術演算を行うALUで
あり、9は比較結果を示す信号線である。10はデータ
ハスであり、11はj−夕を格納するデータメモリーで
ある。まず、ブ1]グラノー、メモリー1から命令指定
部が続み出され、レジスタ3を介してマイク+=+ R
OM (3に入力され、ごこで命令指定部が解読されて
マイク[!プログラムが実行される。次に第1データ指
定部が続み出され、レジスタ3を介してアドレス生成部
7に入力される。ここで第1データのアドレスが生成さ
れ、データメモリー11から第1データが続み出されて
A 1. U 8のレジスタに格納される3、次に比較
データ数指定部か続み出され、レジスタ3を介してレジ
スタおよびノノウンタ4に格納されろ。全参照データ数
を■1とすると比較データ数はn−1となる。ノノウン
タ4てはデータ指定部が続み出される度にカウントダウ
ンか行われる。次に、第2データ指定部か読み出され、
第1データのときと同様にしてデータメモリー11から
第2データが読み出される。第2データはA丁、USに
入力され、第1データと比較される。もしデータが−・
致していなければ順次第3.第4・・・・・のデータを
読み出し、第1のデータと比較する。もし、いずれかの
データが第1データと一致すると、比較結果9の信号が
出力され、マイクロROM 5の制御をデータ比較のル
ーチンから、分岐制御のルーチンへ移す。例えば第3デ
ータが第1データと一致したとする。第3データ指定部
のプログラム格納番地をaとすると、aとレジスタ4に
格納された比較データ数(n−1)がアドレス生成部7
て加算され、a+(n−1,)番地に格納された第3デ
ータに対するプログラムノ7ウンタ(PC)相対分岐値
が読み出される。PC相対分岐値をbとすると、現在の
プログラムカウンタ値21+(n−1)とPC相対分岐
値すとがアドレス生成部7で加算され、a +(n −
1) +b番地にプログラムが分岐する。もし、いずれ
のデータも第1データと一致しなければ、カウンタ4は
アンダーフローを起こし、アンダーフロー5の信号をマ
イクロROM6に送る。すると、マイクロROM6から
アドレス生成部7に制御信号が送られ、条件分岐が成立
しない場合のPC相対分岐値が読み出され、プログラム
分岐が行われる。
アドレスバス2で指定されたアドレスによりプログラム
データを出力する。3はプログラムのデータを一時的に
格納するレジスタである。4はレジスタ十カウンタてあ
り、5はアンダーフロー信号線である。6はマイクロR
OMであり、マクロ命令を解読してマイクロ命令を実行
し、各部に制御信号を送り出す。7はアドレス生成部で
あり、次に読み出すプログラムのアドレス及びデータの
アドレスを生成する。8は論理算術演算を行うALUで
あり、9は比較結果を示す信号線である。10はデータ
ハスであり、11はj−夕を格納するデータメモリーで
ある。まず、ブ1]グラノー、メモリー1から命令指定
部が続み出され、レジスタ3を介してマイク+=+ R
OM (3に入力され、ごこで命令指定部が解読されて
マイク[!プログラムが実行される。次に第1データ指
定部が続み出され、レジスタ3を介してアドレス生成部
7に入力される。ここで第1データのアドレスが生成さ
れ、データメモリー11から第1データが続み出されて
A 1. U 8のレジスタに格納される3、次に比較
データ数指定部か続み出され、レジスタ3を介してレジ
スタおよびノノウンタ4に格納されろ。全参照データ数
を■1とすると比較データ数はn−1となる。ノノウン
タ4てはデータ指定部が続み出される度にカウントダウ
ンか行われる。次に、第2データ指定部か読み出され、
第1データのときと同様にしてデータメモリー11から
第2データが読み出される。第2データはA丁、USに
入力され、第1データと比較される。もしデータが−・
致していなければ順次第3.第4・・・・・のデータを
読み出し、第1のデータと比較する。もし、いずれかの
データが第1データと一致すると、比較結果9の信号が
出力され、マイクロROM 5の制御をデータ比較のル
ーチンから、分岐制御のルーチンへ移す。例えば第3デ
ータが第1データと一致したとする。第3データ指定部
のプログラム格納番地をaとすると、aとレジスタ4に
格納された比較データ数(n−1)がアドレス生成部7
て加算され、a+(n−1,)番地に格納された第3デ
ータに対するプログラムノ7ウンタ(PC)相対分岐値
が読み出される。PC相対分岐値をbとすると、現在の
プログラムカウンタ値21+(n−1)とPC相対分岐
値すとがアドレス生成部7で加算され、a +(n −
1) +b番地にプログラムが分岐する。もし、いずれ
のデータも第1データと一致しなければ、カウンタ4は
アンダーフローを起こし、アンダーフロー5の信号をマ
イクロROM6に送る。すると、マイクロROM6から
アドレス生成部7に制御信号が送られ、条件分岐が成立
しない場合のPC相対分岐値が読み出され、プログラム
分岐が行われる。
発明の効果
本発明によれば1つのマクロ命令によりデータの比較と
条件分岐を行うことによりブ1」グラムの記述量を縮少
し、プログラム実行速度を高めることができる。
条件分岐を行うことによりブ1」グラムの記述量を縮少
し、プログラム実行速度を高めることができる。
第1図は本発明の実施例マイクロコンピュータにおける
プログラム配置図、第2図は上記実施例のブロック図、
第3図はC言語のスイッチ文の構成を示す。 1・・・・・・プログラムメモリー、2・・・・・・ア
ドレスバス、3・・・・・・レジスタ、4・・・・・・
レジスタ十カウンタ、5・・・・・・アンダーフロー信
号、6・・・・・・マイクロROM、7・・・・・・ア
ドレス生成部、8・・・・・・A1. U、9・・・・
・・比較結果信号、10・・・・・・データバス、11
・・・・・データメモリー。
プログラム配置図、第2図は上記実施例のブロック図、
第3図はC言語のスイッチ文の構成を示す。 1・・・・・・プログラムメモリー、2・・・・・・ア
ドレスバス、3・・・・・・レジスタ、4・・・・・・
レジスタ十カウンタ、5・・・・・・アンダーフロー信
号、6・・・・・・マイクロROM、7・・・・・・ア
ドレス生成部、8・・・・・・A1. U、9・・・・
・・比較結果信号、10・・・・・・データバス、11
・・・・・データメモリー。
Claims (3)
- (1)1つのマクロ命令により、複数のデータを参照し
、第1のデータを第2以降のデータと順次比較し、デー
タが一致したとき、あるいは不一致であるとき、プログ
ラムの流れを多方向に分岐させるデータ制御機能をそな
えたことを特徴とするマイクロコンピュータ。 - (2)複数のデータを参照し、第1のデータを第2以降
のデータと順次比較し、データが一致あるいは不一致で
分岐条件が成立したとき、ROM制御部に対し、分岐条
件が成立したことを伝える制御信号によって、データの
比較を行うプログラム制御から分岐のプログラム制御に
切り換え、分岐条件が成立したデータに割り当てられた
分岐先へプログラム制御を分岐させるデータ制御機能を
そなえたことを特徴とするマイクロコンピュータ。 - (3)マクロ命令の先頭に命令の種類を示す命令指定部
を持ち、次に第1の参照データ指定部を持ち、次に第2
のデータと比較を行うデータ数の指定部を持ち、次に第
2から第nの参照データ指定部を持ち、次に第1のデー
タと第2から第nのデータを順次比較し、一致したとき
あるいは不一致のときに分岐を行うため、第2から第n
データに割り当てられたプログラムカウンタ相対分岐値
を持ち、最後にいずれのデータ共、分岐条件が成立しな
かった場合のプログラムカウンタ相対分岐値を持つ命令
の配置をそなえたことを特徴とするマイクロコンピュー
タ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63100740A JPH01271840A (ja) | 1988-04-22 | 1988-04-22 | マイクロコンピュータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63100740A JPH01271840A (ja) | 1988-04-22 | 1988-04-22 | マイクロコンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01271840A true JPH01271840A (ja) | 1989-10-30 |
Family
ID=14281960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63100740A Pending JPH01271840A (ja) | 1988-04-22 | 1988-04-22 | マイクロコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01271840A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014036899A (ja) * | 2013-11-27 | 2014-02-27 | Daito Giken:Kk | 遊技台 |
JP2014195639A (ja) * | 2014-02-17 | 2014-10-16 | 株式会社大都技研 | 遊技台 |
JP2015128695A (ja) * | 2015-04-14 | 2015-07-16 | 株式会社大都技研 | 遊技台 |
JP2016147083A (ja) * | 2016-03-25 | 2016-08-18 | 株式会社大都技研 | 遊技台 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60103453A (ja) * | 1983-11-09 | 1985-06-07 | Matsushita Electric Ind Co Ltd | 電子計算機装置 |
JPS61289428A (ja) * | 1985-06-18 | 1986-12-19 | Nec Corp | マイクロプロセツサ |
-
1988
- 1988-04-22 JP JP63100740A patent/JPH01271840A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60103453A (ja) * | 1983-11-09 | 1985-06-07 | Matsushita Electric Ind Co Ltd | 電子計算機装置 |
JPS61289428A (ja) * | 1985-06-18 | 1986-12-19 | Nec Corp | マイクロプロセツサ |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014036899A (ja) * | 2013-11-27 | 2014-02-27 | Daito Giken:Kk | 遊技台 |
JP2014195639A (ja) * | 2014-02-17 | 2014-10-16 | 株式会社大都技研 | 遊技台 |
JP2015128695A (ja) * | 2015-04-14 | 2015-07-16 | 株式会社大都技研 | 遊技台 |
JP2016147083A (ja) * | 2016-03-25 | 2016-08-18 | 株式会社大都技研 | 遊技台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0378830B1 (en) | Method and apparatus for handling multiple condition codes as for a parallel pipeline computer | |
US20020169942A1 (en) | VLIW processor | |
JPH0719244B2 (ja) | アレイ・プロセツサ | |
JPH0895804A (ja) | 中央処理装置 | |
US6026486A (en) | General purpose processor having a variable bitwidth | |
US5890009A (en) | VLIW architecture and method for expanding a parcel | |
JPH05150979A (ja) | 即値オペランド拡張方式 | |
US6185670B1 (en) | System for reducing number of opcodes required in a processor using an instruction format including operation class code and operation selector code fields | |
US20240004663A1 (en) | Processing device with vector transformation execution | |
JPH01271840A (ja) | マイクロコンピュータ | |
JP2538053B2 (ja) | 制御装置 | |
JPH0523447B2 (ja) | ||
US6003127A (en) | Pipeline processing apparatus for reducing delays in the performance of processing operations | |
JP2806075B2 (ja) | マイクロコンピュータ | |
JPH07110769A (ja) | Vliw型計算機 | |
JPS63141131A (ja) | パイプライン制御方式 | |
JP2583614B2 (ja) | ベクトル演算装置 | |
WO2021048653A1 (en) | Reusing adjacent simd unit for fast wide result generation | |
JPH0279122A (ja) | 浮動小数点演算機構 | |
JPS6116334A (ja) | デ−タ処理装置 | |
JPS6329839A (ja) | デ−タ処理装置 | |
JPH1049371A (ja) | パイプライン計算機 | |
JPH09134288A (ja) | 並列命令処理装置 | |
JPS6024643A (ja) | マイクロプログラム制御方式 | |
JPH0784783A (ja) | 中央処理装置 |