JPS6380333A - マイクロコンピユ−タ回路 - Google Patents
マイクロコンピユ−タ回路Info
- Publication number
- JPS6380333A JPS6380333A JP22653086A JP22653086A JPS6380333A JP S6380333 A JPS6380333 A JP S6380333A JP 22653086 A JP22653086 A JP 22653086A JP 22653086 A JP22653086 A JP 22653086A JP S6380333 A JPS6380333 A JP S6380333A
- Authority
- JP
- Japan
- Prior art keywords
- address
- circuit
- branch
- adder
- cpu
- 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
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 101150065817 ROM2 gene Proteins 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はマイクロコンピュータ回路に間し、特にプログ
ラミングにおけるケース別分岐を容易にするマイクロコ
ンピュータ回路に関する。
ラミングにおけるケース別分岐を容易にするマイクロコ
ンピュータ回路に関する。
従来、この種のマイクロコンピュータ回路では、プログ
ラミングにおけるケース別分岐の方法として、分岐先が
多い場合に分岐先アドレスをメモリ中に分岐テーブルと
して順にセットしておき、条イ牛によって該当するアド
レスをプログラムカウンタにセントすることにより目的
の分岐先アドレスにジャンプする方法が広く用いられて
いる。
ラミングにおけるケース別分岐の方法として、分岐先が
多い場合に分岐先アドレスをメモリ中に分岐テーブルと
して順にセットしておき、条イ牛によって該当するアド
レスをプログラムカウンタにセントすることにより目的
の分岐先アドレスにジャンプする方法が広く用いられて
いる。
例えば、アキュムレータ値によって第2図に示すように
分岐させる場合を考えると、第4図に示すようなプログ
ラムになる。なお、CPUIはZ80(ザイログ社製)
を想定し、DEFTは2バイトのデータを示すデータ定
義用疑似命令である(以下、同様)、このプログラムは
、処理時間が最短となるよう考慮しであるが、分岐完了
までの処理ステート数は71ステートとなる。
分岐させる場合を考えると、第4図に示すようなプログ
ラムになる。なお、CPUIはZ80(ザイログ社製)
を想定し、DEFTは2バイトのデータを示すデータ定
義用疑似命令である(以下、同様)、このプログラムは
、処理時間が最短となるよう考慮しであるが、分岐完了
までの処理ステート数は71ステートとなる。
上述した従来のマイクロコンピュータ回路では、分岐先
アドレスが格納されている分岐テーブルのアドレスの計
算をソフト1クエアで行っているので、分岐完了までの
処理ステート数が多くなり、処理時間がかかるという欠
点がある。
アドレスが格納されている分岐テーブルのアドレスの計
算をソフト1クエアで行っているので、分岐完了までの
処理ステート数が多くなり、処理時間がかかるという欠
点がある。
本発明の目的は、上述の点に鑑み、分岐先アドレスが格
納されている分岐テーブルのアドレスの計算をハードウ
ェアで行わせるようにしたマイクロコンピュータ回路を
提供することにある。
納されている分岐テーブルのアドレスの計算をハードウ
ェアで行わせるようにしたマイクロコンピュータ回路を
提供することにある。
本発明のマイクロコンピュータ回路は、CPUから分岐
先アドレスが分岐テーブルの何番目にあるかを書き込ま
れるレジスタ回路と、このレジスタ回路に書き込まれた
値と前記CPUが出力するアドレスバスの値とを加算す
る加算回路と、前記アドレスバスの値を保持するアドレ
スバスバッファと、前記CPUが実行するマシンサイク
ルをカウントすることにより前記加算回路が動作するタ
イミングと前記アドレスバスバッファが動作するタイミ
ングとを排他的に制御して前記加算回路からの出力また
は前記アドレスバスバッファからの出力をアドレスとし
てメモリに供給させる加算器制御回路とを有する。
先アドレスが分岐テーブルの何番目にあるかを書き込ま
れるレジスタ回路と、このレジスタ回路に書き込まれた
値と前記CPUが出力するアドレスバスの値とを加算す
る加算回路と、前記アドレスバスの値を保持するアドレ
スバスバッファと、前記CPUが実行するマシンサイク
ルをカウントすることにより前記加算回路が動作するタ
イミングと前記アドレスバスバッファが動作するタイミ
ングとを排他的に制御して前記加算回路からの出力また
は前記アドレスバスバッファからの出力をアドレスとし
てメモリに供給させる加算器制御回路とを有する。
本発明のマイクロコンピュータ回路では、レジスタ回路
がCPUから分岐先アドレスが分岐テーブルの何番目に
あるかを書き込まれ、加算回路がレジスタ回路に書き込
まれた値とCPUが出力するアドレスバスの値とを加算
し、アドレスバスバッファがアドレスバスの値を保持し
、加算器制御回路がCPUが実行するマシンサイクルを
カウントすることにより加算回路が動作するタイミング
とアドレスバスバッファが動作するタイミングとを排他
的に制御して加算回路からの出力またはアドレスバスバ
ッファからの出力をアドレスとしてメモリに供給させる
。
がCPUから分岐先アドレスが分岐テーブルの何番目に
あるかを書き込まれ、加算回路がレジスタ回路に書き込
まれた値とCPUが出力するアドレスバスの値とを加算
し、アドレスバスバッファがアドレスバスの値を保持し
、加算器制御回路がCPUが実行するマシンサイクルを
カウントすることにより加算回路が動作するタイミング
とアドレスバスバッファが動作するタイミングとを排他
的に制御して加算回路からの出力またはアドレスバスバ
ッファからの出力をアドレスとしてメモリに供給させる
。
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例を示す回路ブロフク図であ
る。本実施例のマイクロコンピュータ回路は、CPUI
と、ROM2と、RAM3と、レジスタ回路4と、加算
器制御回路5と、加算回路6と、アドレスデコーダ7と
、アドレスバスバッファ8とから、その主要部が構成さ
れている。
る。本実施例のマイクロコンピュータ回路は、CPUI
と、ROM2と、RAM3と、レジスタ回路4と、加算
器制御回路5と、加算回路6と、アドレスデコーダ7と
、アドレスバスバッファ8とから、その主要部が構成さ
れている。
CPUIは、例えば80系の8ビツトマイクロコンビエ
ータである280でなり、そのアドレスポートAo〜
A、Sはアドレスバス11を介して加算回路6、アドレ
スバスバッファ8およびアドレスデコーダ7に接続され
ている。また、CPUIのデータポートD0〜D、は、
データバス12を介してレジスタ回路4、ROM2およ
びRAM3に接続されている。さらに、CPUIからは
、コントロール信号がコントロールバス13ヲ介シてR
OM2、RAM3、加算器制御回路5およびアドレスレ
コーダ7に供給されている。
ータである280でなり、そのアドレスポートAo〜
A、Sはアドレスバス11を介して加算回路6、アドレ
スバスバッファ8およびアドレスデコーダ7に接続され
ている。また、CPUIのデータポートD0〜D、は、
データバス12を介してレジスタ回路4、ROM2およ
びRAM3に接続されている。さらに、CPUIからは
、コントロール信号がコントロールバス13ヲ介シてR
OM2、RAM3、加算器制御回路5およびアドレスレ
コーダ7に供給されている。
レジスタ回路4は、第1ビツト(LSB)〜第16ピン
ト(MSB)の16ビソトレジスタを有し、CPUIか
らのアキュムレータ値はこのうちの第2〜第9ビツトに
書き込まれるようになっており、第1ビツトおよび第1
0〜第16ビツトは常にOに固定されている。このため
、レジスタ回路4には、アキュムレータ値の2倍の値が
ストアされるようになっている。このようにレジスタ回
路4にアキュムレータ値の2倍の値をストアするように
したのは、分岐テーブル(JPTBL)の各分岐先アド
レスが2バイトで構成されているためである。
ト(MSB)の16ビソトレジスタを有し、CPUIか
らのアキュムレータ値はこのうちの第2〜第9ビツトに
書き込まれるようになっており、第1ビツトおよび第1
0〜第16ビツトは常にOに固定されている。このため
、レジスタ回路4には、アキュムレータ値の2倍の値が
ストアされるようになっている。このようにレジスタ回
路4にアキュムレータ値の2倍の値をストアするように
したのは、分岐テーブル(JPTBL)の各分岐先アド
レスが2バイトで構成されているためである。
レジスタ回路4の出力は、加算回路6に接続されている
。
。
加算器制御回路5は、CPUIから供給されるメモリや
IQのり−ド/ライトをコントロールするコントロール
信号を組み合わせる論理回路とカウンタとから構成され
ている。加算器制御回路5からは、加算回路6およびア
ドレスバスバッファ8にコントロール信号が供給されて
いる。
IQのり−ド/ライトをコントロールするコントロール
信号を組み合わせる論理回路とカウンタとから構成され
ている。加算器制御回路5からは、加算回路6およびア
ドレスバスバッファ8にコントロール信号が供給されて
いる。
加算回路6は、16ビツトの加算回路であり、出力はR
OM2およびRAM3に接続されている。
OM2およびRAM3に接続されている。
アドレスデコーダ7は、アドレスをデコードしてコント
ロール信号をレジスタ回路4、加算器制御回路5、RO
M2およびRAM3に供給するようになっている。
ロール信号をレジスタ回路4、加算器制御回路5、RO
M2およびRAM3に供給するようになっている。
アドレスバスバッファ8は、16ビツトのアドレスを一
時的に保持するバッファであり、その出力はROM2お
よびRAM3に接続されている。
時的に保持するバッファであり、その出力はROM2お
よびRAM3に接続されている。
第3図は、第1図に示した本実施例のマイクロコンピュ
ータ回路で第2図に示したケース別分岐を実行する場合
のプログラム例を示す。なお、REGは、レジスタ回路
4が割り当てられている入出力アドレスである。このプ
ログラムの分岐完了までの処理ステート数は、30ステ
ートである。
ータ回路で第2図に示したケース別分岐を実行する場合
のプログラム例を示す。なお、REGは、レジスタ回路
4が割り当てられている入出力アドレスである。このプ
ログラムの分岐完了までの処理ステート数は、30ステ
ートである。
次に、このように構成された本実施例のマイクロコンピ
ュータ回路の動作について説明する。
ュータ回路の動作について説明する。
まず、命令
OUT (REG)、A
の実行により、レジスタ回路4にアキュムレータ値が書
き込まれる。また、この命令の実行により加算器制御回
路5が起動され、加算器側?■回路5でCPU 1が次
の命令 LD HL、 (J PTBL)を実行する際
のメモリリードサイクルのカウントが開始される。命令 LD HL、 (JPTBL) は3バイト命令で、M1〜M、の5つのマシンサイクル
からなる。M、サイクルは命令1バイト目を読み込む命
令コードフェッチサイクル、M8およびM、サイクルは
命令の残りの2バイトを読み込むメモリリードサイクル
(この2バイトでM4およびM、サイクルで読み込むア
ドレスが指定される)、M4およびM、サイクルはとも
にメモリリードサイクルである。M、サイクルでMtお
よびM、サイクルで指定されたアドレスの内容をLレジ
スタに読み込み、M、サイクルでその次のアドレスの内
容をHレジスタに読み込む。
き込まれる。また、この命令の実行により加算器制御回
路5が起動され、加算器側?■回路5でCPU 1が次
の命令 LD HL、 (J PTBL)を実行する際
のメモリリードサイクルのカウントが開始される。命令 LD HL、 (JPTBL) は3バイト命令で、M1〜M、の5つのマシンサイクル
からなる。M、サイクルは命令1バイト目を読み込む命
令コードフェッチサイクル、M8およびM、サイクルは
命令の残りの2バイトを読み込むメモリリードサイクル
(この2バイトでM4およびM、サイクルで読み込むア
ドレスが指定される)、M4およびM、サイクルはとも
にメモリリードサイクルである。M、サイクルでMtお
よびM、サイクルで指定されたアドレスの内容をLレジ
スタに読み込み、M、サイクルでその次のアドレスの内
容をHレジスタに読み込む。
加算器制御回路5は、既述したように命令OUT (
REG)、A で起動がかけられた後にマシンサイクルのカウントを開
始するが、命令 LD HL、 (JPTBL) のM4およびM、サイクルで加算回路6を動作させる一
方、アドレスバスバッファ8の動作を禁止する。
REG)、A で起動がかけられた後にマシンサイクルのカウントを開
始するが、命令 LD HL、 (JPTBL) のM4およびM、サイクルで加算回路6を動作させる一
方、アドレスバスバッファ8の動作を禁止する。
CPUIは、アドレスバス11にM4サイクルではJP
TBL番地を、M、サイクルではJ PTBL+1番地
を指定するアドレスを出力するが、既述したようにM4
およびM、サイクルではアドレスバスバッファ8の動作
が禁止される一方、加算回路6が動作されるので、メモ
リに与えられるアドレスはCPUIが出力したアドレス
にレジスタ回路4内の16ビツトレジスタの値が加算さ
れた値となる。このため、この加算値を読み込むことに
より、分岐テーブルの所望の分岐先アドレスがHLレジ
スタペアに読み込まれる。
TBL番地を、M、サイクルではJ PTBL+1番地
を指定するアドレスを出力するが、既述したようにM4
およびM、サイクルではアドレスバスバッファ8の動作
が禁止される一方、加算回路6が動作されるので、メモ
リに与えられるアドレスはCPUIが出力したアドレス
にレジスタ回路4内の16ビツトレジスタの値が加算さ
れた値となる。このため、この加算値を読み込むことに
より、分岐テーブルの所望の分岐先アドレスがHLレジ
スタペアに読み込まれる。
したがって、命令
JP (HL)
の実行により、所望の分岐先アドレスへのジャンプが行
われる。
われる。
このように本実施例のマイクロコンピュータ回路では、
第3図に示したようにプログラム中の分岐に要するステ
ート数が30ステートですみ、処理時間が短縮できるこ
とになる。しかも、従来のプログラムでは、第4回に示
したようにBCおよびHLの2つのレジスタペアが必要
であるのに対して、本実施例のマイクロコンピュータ回
路ではHしレジスタペアのみですむことになる。
第3図に示したようにプログラム中の分岐に要するステ
ート数が30ステートですみ、処理時間が短縮できるこ
とになる。しかも、従来のプログラムでは、第4回に示
したようにBCおよびHLの2つのレジスタペアが必要
であるのに対して、本実施例のマイクロコンピュータ回
路ではHしレジスタペアのみですむことになる。
なお、上記実施例では、CPUIとして80系8ビツト
マイクロコンピユータである280を使用した場合につ
いて説明したが、cpu tは他のマイクロコンピュー
タであってもよい。
マイクロコンピユータである280を使用した場合につ
いて説明したが、cpu tは他のマイクロコンピュー
タであってもよい。
以上説明したように本発明は、外部に設けたレジスタ回
路にアキュムレータ値を書き込んだ後に分岐テーブルの
先頭2バイトをロードする命令を実行するだけでレジス
タ回路に古き込まれた値に対応する分岐先アドレスをC
PU内部のレジスタペアにロードできるようにしたこと
により、分岐先アドレスが格納されている分岐テーブル
のアドレスの計算を不要としてプログラムにおける分岐
に要するステート数を減少させ処理時間を短縮化できる
効果がある。
路にアキュムレータ値を書き込んだ後に分岐テーブルの
先頭2バイトをロードする命令を実行するだけでレジス
タ回路に古き込まれた値に対応する分岐先アドレスをC
PU内部のレジスタペアにロードできるようにしたこと
により、分岐先アドレスが格納されている分岐テーブル
のアドレスの計算を不要としてプログラムにおける分岐
に要するステート数を減少させ処理時間を短縮化できる
効果がある。
第1図は本発明の一実施例を示すブロック図、第2図は
ケース別分岐の一例を示す図、第3図は第1図に示した
マイクロコンピュータ回路で第2図のケース別分岐を実
行するプログラム例を示す図、 第4図は従来のマイクロコンピュータ回路で第2図の条
件別分岐を実行するプログラム例を示す図である。 図において、 1・・・CPU、 2・・・ROM。 3・・・RAM。 4・・・レジスタ回路、 5・・・加算器制御回路、 6・・・加算回路、 7・・・アドレスデコーダ、 8・・・アドレスバスバッファ、 11・・・アドレスバス、 12・・・データバス、 13・・・コントロールバスである。
ケース別分岐の一例を示す図、第3図は第1図に示した
マイクロコンピュータ回路で第2図のケース別分岐を実
行するプログラム例を示す図、 第4図は従来のマイクロコンピュータ回路で第2図の条
件別分岐を実行するプログラム例を示す図である。 図において、 1・・・CPU、 2・・・ROM。 3・・・RAM。 4・・・レジスタ回路、 5・・・加算器制御回路、 6・・・加算回路、 7・・・アドレスデコーダ、 8・・・アドレスバスバッファ、 11・・・アドレスバス、 12・・・データバス、 13・・・コントロールバスである。
Claims (1)
- 【特許請求の範囲】 CPUから分岐先アドレスが分岐テーブルの何番目にあ
るかを書き込まれるレジスタ回路と、このレジスタ回路
に書き込まれた値と前記CPUが出力するアドレスバス
の値とを加算する加算回路と、 前記アドレスバスの値を保持するアドレスバスバッファ
と、 前記CPUが実行するマシンサイクルをカウントするこ
とにより前記加算回路が動作するタイミングと前記アド
レスバスバッファが動作するタイミングとを排他的に制
御して前記加算回路からの出力または前記アドレスバス
バッファからの出力をアドレスとしてメモリに供給させ
る加算器制御回路と、 を有することを特徴とするマイクロコンピュータ回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22653086A JPS6380333A (ja) | 1986-09-24 | 1986-09-24 | マイクロコンピユ−タ回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22653086A JPS6380333A (ja) | 1986-09-24 | 1986-09-24 | マイクロコンピユ−タ回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6380333A true JPS6380333A (ja) | 1988-04-11 |
Family
ID=16846578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22653086A Pending JPS6380333A (ja) | 1986-09-24 | 1986-09-24 | マイクロコンピユ−タ回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6380333A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013192786A (ja) * | 2012-03-21 | 2013-09-30 | Sophia Co Ltd | 遊技機 |
-
1986
- 1986-09-24 JP JP22653086A patent/JPS6380333A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013192786A (ja) * | 2012-03-21 | 2013-09-30 | Sophia Co Ltd | 遊技機 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6405302B1 (en) | Microcomputer | |
US5381531A (en) | Data processor for selective simultaneous execution of a delay slot instruction and a second subsequent instruction the pair following a conditional branch instruction | |
JPH06332792A (ja) | データ処理装置及びそのデータ読み出し制御回路,データ書き込み制御回路 | |
JP2970821B2 (ja) | データ処理装置 | |
JPH01119828A (ja) | マイクロプロセッサ | |
US5757685A (en) | Data processing system capable of processing long word data | |
EP0240606B1 (en) | Pipe-line processing system and microprocessor using the system | |
JPH08212075A (ja) | 情報処理装置 | |
JPS6380333A (ja) | マイクロコンピユ−タ回路 | |
JP3504355B2 (ja) | プロセッサ | |
US5649229A (en) | Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage | |
US5463747A (en) | Microprogram data processor processing operand address calculation and instruction execution with common hardware | |
JPH01169537A (ja) | マイクロプロセッサ | |
JPH0218729B2 (ja) | ||
JP2000112754A (ja) | データ処理装置 | |
JPH05282133A (ja) | 演算方式 | |
US7003543B2 (en) | Sticky z bit | |
JP3515018B2 (ja) | パイプライン形データ処理装置 | |
JPH04275603A (ja) | プログラマブル・コントローラ | |
JP2987281B2 (ja) | プロセッサ | |
JP2002163104A (ja) | マイクロコンピュータ | |
JP4702004B2 (ja) | マイクロコンピュータ | |
JP3063593B2 (ja) | プログラマブルコントローラ | |
JPH08305564A (ja) | マイクロコンピュータ | |
JPS62117041A (ja) | マイクロコンピユ−タ |