JPH01263750A - シングルチップマイクロコンピュータ - Google Patents
シングルチップマイクロコンピュータInfo
- Publication number
- JPH01263750A JPH01263750A JP63092077A JP9207788A JPH01263750A JP H01263750 A JPH01263750 A JP H01263750A JP 63092077 A JP63092077 A JP 63092077A JP 9207788 A JP9207788 A JP 9207788A JP H01263750 A JPH01263750 A JP H01263750A
- Authority
- JP
- Japan
- Prior art keywords
- address
- signal
- circuit
- outputs
- output
- 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 8
- 230000006870 function Effects 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 239000013256 coordination polymer Substances 0.000 description 2
- 101150065817 ROM2 gene Proteins 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
- Microcomputers (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、アドレスバスによってアドレス指定された外
部メモリから命令を読出し、データバスに出力する外部
拡張回路を備えたシングルチップマイクロコンピュータ
に関する。
部メモリから命令を読出し、データバスに出力する外部
拡張回路を備えたシングルチップマイクロコンピュータ
に関する。
近年はLSI製造技術の進歩により、シングルチップマ
イクロコンピュータ(シングルチップマイコンと呼ぶ)
の分野においても高集積化が進み、単位機能当たりのコ
ストの低下も著しくなってきている。
イクロコンピュータ(シングルチップマイコンと呼ぶ)
の分野においても高集積化が進み、単位機能当たりのコ
ストの低下も著しくなってきている。
それに伴い、シングルチップマイコンの利用分野も拡大
し、種々の制御分野に利用されている。
し、種々の制御分野に利用されている。
この際、内蔵プログラムメモリの容量に限界があるため
、チップ外部のメモリにもプログラムを配置し、実行す
る機能(以下外部拡張機能と呼ぶ)を備えたシングルチ
ップマイコンが使用されている。
、チップ外部のメモリにもプログラムを配置し、実行す
る機能(以下外部拡張機能と呼ぶ)を備えたシングルチ
ップマイコンが使用されている。
また、ソフトウェア開発に関しては、以前はアセンブリ
言語が主に用いられていたが、最近は早期開発が要求さ
れるため、C言語等の高級言語が用いられている。
言語が主に用いられていたが、最近は早期開発が要求さ
れるため、C言語等の高級言語が用いられている。
高級言語で記述されたプログラムは、一般にコンパイラ
によって礪械語に変換されるが、アセンブリ言語で記述
された場合に比べ、プログラム容量が大きくなる。した
がって、8ビツトのシングルチップマイコンを用いる場
合、一般にアドレスバス幅は16ビツトであり、64に
バイトのプログラムまではアドレスバスにより直接アド
レス可能であるが、それ以上のプログラム容量の場合は
アドレスできない。しかも、コンパイラ言語使用のため
、最近そういった場合がしばしば現れている。
によって礪械語に変換されるが、アセンブリ言語で記述
された場合に比べ、プログラム容量が大きくなる。した
がって、8ビツトのシングルチップマイコンを用いる場
合、一般にアドレスバス幅は16ビツトであり、64に
バイトのプログラムまではアドレスバスにより直接アド
レス可能であるが、それ以上のプログラム容量の場合は
アドレスできない。しかも、コンパイラ言語使用のため
、最近そういった場合がしばしば現れている。
上述した従来のシングルデツプマイクロコンピュータは
、内部アドレスバスで直接指定可能なメモリ空間以上の
容量のユーザープログラムを実行不可能であるという欠
点がある。
、内部アドレスバスで直接指定可能なメモリ空間以上の
容量のユーザープログラムを実行不可能であるという欠
点がある。
本発明のシングルチップマイクロコンピュータは、CP
Uから出力されるプログラムカウンタの桁上げ信号によ
って現在値を+1インクリメントし、アドレスバスを介
して転送されるアドレスの上位アドレスとして外部メモ
リに出力するアドレス生成回路を外部拡張回路が有して
いる。
Uから出力されるプログラムカウンタの桁上げ信号によ
って現在値を+1インクリメントし、アドレスバスを介
して転送されるアドレスの上位アドレスとして外部メモ
リに出力するアドレス生成回路を外部拡張回路が有して
いる。
また、本発明のシングルチップマイクロコンピュータは
、CPUは相対分岐命令を実行する分岐実行信号を出力
するようになっており、CPLJが相対分岐命令を実行
する時に算術論理演算回路が分岐先アドレスを演算し、
キャリーもしくはボローが生じたとき算術論理回路はそ
れぞれ増加信号。
、CPUは相対分岐命令を実行する分岐実行信号を出力
するようになっており、CPLJが相対分岐命令を実行
する時に算術論理演算回路が分岐先アドレスを演算し、
キャリーもしくはボローが生じたとき算術論理回路はそ
れぞれ増加信号。
減少信号を出力するようになっており、CPuから分岐
実行信号が出力された後、増加信号または減少信号が出
力されると現在値をそれぞれ+1インクリメント、−1
デクリメントし、アドレスバスを介して転送されるアド
レスの上位アドレスとして外部メモリに出力するアドレ
ス生成回路を前記外部拡張回路が有している。
実行信号が出力された後、増加信号または減少信号が出
力されると現在値をそれぞれ+1インクリメント、−1
デクリメントし、アドレスバスを介して転送されるアド
レスの上位アドレスとして外部メモリに出力するアドレ
ス生成回路を前記外部拡張回路が有している。
(作用〕
アドレス生成回路を内蔵し、バンク切り換えを行うこと
により、プログラム空間を拡張し、内部アドレスバス幅
により直接指定可能なアドレス空間より容量の大ぎなユ
ーザープログラムを実行可能である。
により、プログラム空間を拡張し、内部アドレスバス幅
により直接指定可能なアドレス空間より容量の大ぎなユ
ーザープログラムを実行可能である。
次に、本発明の実施例について図面を参照して説明する
。
。
第1図は本発明のシングルチップマイコンの第1の実施
例のブロック図である。
例のブロック図である。
プログラムカウンタ1は命令の格納アドレスを指すポイ
ンタである。読出し専用メモリ(以下ROMと呼ぶ)2
はユーザープログラムが格納される。アドレスバス3は
アドレスを転送するバスであり、バス幅はプログラムカ
ウンタ1のビット幅と同一とする。データバス4は処理
データを転送するバスである。命令レジスタ5はROM
2から読出した命令、または外部メモリ19から外部拡
張回路13を介して読出した命令がデータバス4を介し
て格納される。実行制御回路6は、命令レジスタ5に格
納された内容に従って実行制御信号7を出力し、各部の
動作を制御する。また、命令実行終了時には、ROM2
または外部メモリ19に格納した次命令を、データバス
4を介して命令レジスタ5に格納するとともに、プログ
ラムカウンタインクリメント信号72を出力し、プログ
ラムカウンタ1の内容に1を加算する。テンポラリレジ
スタ8.9には、データバス4を介して転送するデータ
が一時的に格納される。算術論理演算ユニット10はテ
ンポラリレジスタ8.9に格納されたデータに対し算術
論理演算を行ない、結果をデータバス4へ出力する。汎
用レジスタ群16は様々な処理データ格納用として用い
られる読出し、1込みが可能なレジスタで、実行制御信
号7に応じて指定されたレジスタの格納データをデータ
バス4へ出力するか、実行制御信号7に応じて指定した
レジスタに、データバス4を介した転送データを格納す
る。外部拡張回路13は、アドレスバス3を介して転送
されるアドレスを下位アドレスとし、アドレス生成回路
12Aの出力を上位アドレスとしてチップ外部に出力し
、外部メモリ19をアドレス指定し、読出した命令をデ
ータバス4に出力する。アドレス生成回路12Aはメモ
リマツプされており、データバス4を介した転送データ
をラッチ後出力するか、またはアドレス生成回路12A
の出力データに1を加算した値をラッチ後出力する。プ
ログラムカウンタ1、命令レジスタ5、実行制御回路6
、汎用レジスタ群16、算術論理演算ユニット10から
なる10ツクは中央処理装置(以下CPUと呼ぶ)を構
成している。
ンタである。読出し専用メモリ(以下ROMと呼ぶ)2
はユーザープログラムが格納される。アドレスバス3は
アドレスを転送するバスであり、バス幅はプログラムカ
ウンタ1のビット幅と同一とする。データバス4は処理
データを転送するバスである。命令レジスタ5はROM
2から読出した命令、または外部メモリ19から外部拡
張回路13を介して読出した命令がデータバス4を介し
て格納される。実行制御回路6は、命令レジスタ5に格
納された内容に従って実行制御信号7を出力し、各部の
動作を制御する。また、命令実行終了時には、ROM2
または外部メモリ19に格納した次命令を、データバス
4を介して命令レジスタ5に格納するとともに、プログ
ラムカウンタインクリメント信号72を出力し、プログ
ラムカウンタ1の内容に1を加算する。テンポラリレジ
スタ8.9には、データバス4を介して転送するデータ
が一時的に格納される。算術論理演算ユニット10はテ
ンポラリレジスタ8.9に格納されたデータに対し算術
論理演算を行ない、結果をデータバス4へ出力する。汎
用レジスタ群16は様々な処理データ格納用として用い
られる読出し、1込みが可能なレジスタで、実行制御信
号7に応じて指定されたレジスタの格納データをデータ
バス4へ出力するか、実行制御信号7に応じて指定した
レジスタに、データバス4を介した転送データを格納す
る。外部拡張回路13は、アドレスバス3を介して転送
されるアドレスを下位アドレスとし、アドレス生成回路
12Aの出力を上位アドレスとしてチップ外部に出力し
、外部メモリ19をアドレス指定し、読出した命令をデ
ータバス4に出力する。アドレス生成回路12Aはメモ
リマツプされており、データバス4を介した転送データ
をラッチ後出力するか、またはアドレス生成回路12A
の出力データに1を加算した値をラッチ後出力する。プ
ログラムカウンタ1、命令レジスタ5、実行制御回路6
、汎用レジスタ群16、算術論理演算ユニット10から
なる10ツクは中央処理装置(以下CPUと呼ぶ)を構
成している。
割込み制御回路14はチップ外部から入力する外部v1
込ミ要求信@15に従ッテ、CP U 1.:F+ 込
ミ処理を実行させる。
込ミ要求信@15に従ッテ、CP U 1.:F+ 込
ミ処理を実行させる。
第2図はアドレス生成回路12Aのプロッタ図である。
アドレス生成回路12Aは、デコード回路121.出力
ラッチ1220選択回路127゜増加回路126.2人
カアンドゲート12.3.2人力オアゲート128から
構成される。デコード回路121はアドレスバス3に出
力されたアドレスがアドレス生成回路12のマツプアド
レスのとき1′を出力する。出力ラッチ122は、デコ
ード回路121の出力およびライトストローブ信号71
を入力とする2人カアンドゲート123の出力である選
択信号124および桁上げ信号100を入力とする2人
力オアゲート128の出力が“1”の時、選択回路12
7の出力をラッチする。
ラッチ1220選択回路127゜増加回路126.2人
カアンドゲート12.3.2人力オアゲート128から
構成される。デコード回路121はアドレスバス3に出
力されたアドレスがアドレス生成回路12のマツプアド
レスのとき1′を出力する。出力ラッチ122は、デコ
ード回路121の出力およびライトストローブ信号71
を入力とする2人カアンドゲート123の出力である選
択信号124および桁上げ信号100を入力とする2人
力オアゲート128の出力が“1”の時、選択回路12
7の出力をラッチする。
増加回路126は、出力ラッチ122の値に1を加算す
ると同時に出力する。選択回路127は、選択信号12
4がO”のとき増加回路126の出力を、選択信号12
4が1”のときデータバス4を介した転送データを選択
し、出力ラッチ122に出力する。
ると同時に出力する。選択回路127は、選択信号12
4がO”のとき増加回路126の出力を、選択信号12
4が1”のときデータバス4を介した転送データを選択
し、出力ラッチ122に出力する。
次に、本実施例の動作を説明する。
まず、ROM2に格納されたプログラムを実行する場合
を説明する。
を説明する。
プログラムカウンタ1で指定されるアドレスの命令をR
OM2から読出し、データバス4を介して命令レジスタ
5に格納する。命令レジスタ5に格納された命令は、プ
ログラマブル・ロジック・アレイ(P L A )等に
よってデコード後、実行制御信号7を発生し命令機能を
実行する。命令実行が終了すると、命令レジスタ5に新
たな命令を格納後、プログラムカウンタインクリメント
信号72を出力し、プログラムカウンタ1の内容に1を
加算するとともに、プログラム実行処理を続ける。
OM2から読出し、データバス4を介して命令レジスタ
5に格納する。命令レジスタ5に格納された命令は、プ
ログラマブル・ロジック・アレイ(P L A )等に
よってデコード後、実行制御信号7を発生し命令機能を
実行する。命令実行が終了すると、命令レジスタ5に新
たな命令を格納後、プログラムカウンタインクリメント
信号72を出力し、プログラムカウンタ1の内容に1を
加算するとともに、プログラム実行処理を続ける。
次に、外部メモリ1つに格納されたプログラムを実行す
る場合を説明する。
る場合を説明する。
プログラムカウンタ1で指定されるアドレスが外部メモ
リアドレスの場合、外部拡張回路13は、アドレスバス
3に出力されたプログラムカウンタ1の値を外部メモリ
19に出力する。その後外部拡張回路13は、外部メモ
リ19から読出した命令を取込み、データバス4に出力
する。CPUは、命令をデータバス4を介し命令レジス
タ5に格納後実行する。命令実行が終了すると、命令レ
ジスタ5に新たな命令を格納後、プログラムカウンタイ
ンクリメント信号72を出力し、プログラムカウンタ1
の内容に1を加算するとともに、プログラム実行処理を
続ける。また、プログラムカウンタ1の内容がオーバー
フローした場合、桁上げ信号100をアドレス生成回路
12に出力する。
リアドレスの場合、外部拡張回路13は、アドレスバス
3に出力されたプログラムカウンタ1の値を外部メモリ
19に出力する。その後外部拡張回路13は、外部メモ
リ19から読出した命令を取込み、データバス4に出力
する。CPUは、命令をデータバス4を介し命令レジス
タ5に格納後実行する。命令実行が終了すると、命令レ
ジスタ5に新たな命令を格納後、プログラムカウンタイ
ンクリメント信号72を出力し、プログラムカウンタ1
の内容に1を加算するとともに、プログラム実行処理を
続ける。また、プログラムカウンタ1の内容がオーバー
フローした場合、桁上げ信号100をアドレス生成回路
12に出力する。
ここで、ユーザープログラムの容量がプログラムカウン
タ1で直接指定される容量より大であるとする。この時
、チップ外部に配置した全てのユーザープログラムに対
し、内部アドレスバス3により直接アクセスすることは
不可能である。したがって、アドレス生成回路12△を
もちいて、バンク切り換えによりアドレス空間を拡張す
る。
タ1で直接指定される容量より大であるとする。この時
、チップ外部に配置した全てのユーザープログラムに対
し、内部アドレスバス3により直接アクセスすることは
不可能である。したがって、アドレス生成回路12△を
もちいて、バンク切り換えによりアドレス空間を拡張す
る。
本実施例では、出力ラッチ122に値を書込む処理を以
下のように実行する。
下のように実行する。
アドレス生成回路12Aのマツプアドレスを、あらかじ
め汎用レジスタ群16内Hレジスタに格納しておくもの
とする。
め汎用レジスタ群16内Hレジスタに格納しておくもの
とする。
CPUのメモリライト命令を実行すると、アドレス生成
回路12△のマツプアドレスが、汎用レジスタ群16の
レジスタHからアドレスバス3に出力される。この時、
デコード回路121の出力が“1″となり、ライトスト
ローブ信号71が“1”となるので、2人カアンドゲー
ト123の入力はともに“1″となり、選択信号124
を出力する。したがって、選択回路127はデータバス
4を介した転送データを選択し、出力ラッチ122に出
力する。同時に、選択信号124を出力しているため2
人力オアゲート128の出力が′1”となり、出力ラッ
チ122は選択回路127の出力をラッチする。よって
、アドレス生成回路12△は、データバス4を介した転
送データをラッチし出力する。
回路12△のマツプアドレスが、汎用レジスタ群16の
レジスタHからアドレスバス3に出力される。この時、
デコード回路121の出力が“1″となり、ライトスト
ローブ信号71が“1”となるので、2人カアンドゲー
ト123の入力はともに“1″となり、選択信号124
を出力する。したがって、選択回路127はデータバス
4を介した転送データを選択し、出力ラッチ122に出
力する。同時に、選択信号124を出力しているため2
人力オアゲート128の出力が′1”となり、出力ラッ
チ122は選択回路127の出力をラッチする。よって
、アドレス生成回路12△は、データバス4を介した転
送データをラッチし出力する。
また、プログラムカウンタインクリメント信号72が発
生し、プログラムカウンタ1のインクリメント処理によ
り、最上位ビットから桁上がりが発生すると、桁上げ信
号100が発生し選択信号124が“0”のため、選択
回路127は増加回路126の出力を選択し、出力ラッ
チ122に出力する。同時に、桁上げ信号100が“1
”のため、2人力オアゲート128の出力が1″となり
、出力ラッチ122は選択回路127の出力をラッチす
る。よって、アドレス生成回路12△の出力は、1を加
算されたこととなる。
生し、プログラムカウンタ1のインクリメント処理によ
り、最上位ビットから桁上がりが発生すると、桁上げ信
号100が発生し選択信号124が“0”のため、選択
回路127は増加回路126の出力を選択し、出力ラッ
チ122に出力する。同時に、桁上げ信号100が“1
”のため、2人力オアゲート128の出力が1″となり
、出力ラッチ122は選択回路127の出力をラッチす
る。よって、アドレス生成回路12△の出力は、1を加
算されたこととなる。
さて、この時ブ[1グラム空間の拡張を、バンク切り換
え方式を用いて以下のように実行する。簡単のため、R
OM2の宙吊を4にバイト、アドレスバス3の幅を16
ビツト、出力ラッチ122を2ビツト構成、ユーザープ
ログラムの容けを92にバイトとする。
え方式を用いて以下のように実行する。簡単のため、R
OM2の宙吊を4にバイト、アドレスバス3の幅を16
ビツト、出力ラッチ122を2ビツト構成、ユーザープ
ログラムの容けを92にバイトとする。
アドレス生成回路12Aの出力データをバンク指定に用
いることとする。出力ラッチ122は2ピツト構成であ
るため、最大4個のバンクを指定可能であり、アドレス
空間は64にバイトから256にバイトに拡張される。
いることとする。出力ラッチ122は2ピツト構成であ
るため、最大4個のバンクを指定可能であり、アドレス
空間は64にバイトから256にバイトに拡張される。
まず、CPUの命令によって、出力ラッチ122にOを
ライトする。この時、CPUはバンクOに格納されたプ
ログラムを実行する。ユーザープログラムは、アドレス
0OOOH−FFFFH。
ライトする。この時、CPUはバンクOに格納されたプ
ログラムを実行する。ユーザープログラムは、アドレス
0OOOH−FFFFH。
11000H−17FFFH(Hは16進数表現である
ことを示す)に格納されている。アドレス0000 H
−F F F F Hは内部ROM領域であり、プログ
ラムが格納されている。
ことを示す)に格納されている。アドレス0000 H
−F F F F Hは内部ROM領域であり、プログ
ラムが格納されている。
さて、ユーザープログラムをシーケンシャルに実行して
いるとする。プログラムカウンタ1の内容がFFFFH
から0OOOHに変化すると、バンクOからバンク1に
切り換える必要があるが、本実施例のシングルチップマ
イコンにおいては、以下のようにアドレス生成回路12
Aのハードウェアにより自動的に行う。
いるとする。プログラムカウンタ1の内容がFFFFH
から0OOOHに変化すると、バンクOからバンク1に
切り換える必要があるが、本実施例のシングルチップマ
イコンにおいては、以下のようにアドレス生成回路12
Aのハードウェアにより自動的に行う。
プログラムカウンタ1がオーバーフローすると、CPU
は桁上げ信号100をアドレス生成回路12Aに対し出
力する。この時選択回路127は、選択信号124がO
”のため増加回路126の出力を選択し出力ラッチ12
2に出力する。また、桁上げ信号100が“1”のため
、2人力オアゲート128の出力は“1″となり、出力
ラッチ122は選択回路127の出力をラッチする。こ
こで、出力ラッチ122の内容は0であったから、新た
に1が格納される。したがって、CP (Jはバンク1
の開始アドレス10000Hから命令実行を行う。
は桁上げ信号100をアドレス生成回路12Aに対し出
力する。この時選択回路127は、選択信号124がO
”のため増加回路126の出力を選択し出力ラッチ12
2に出力する。また、桁上げ信号100が“1”のため
、2人力オアゲート128の出力は“1″となり、出力
ラッチ122は選択回路127の出力をラッチする。こ
こで、出力ラッチ122の内容は0であったから、新た
に1が格納される。したがって、CP (Jはバンク1
の開始アドレス10000Hから命令実行を行う。
本実施例においては、デコード回路121.出力ラッチ
122.i択回路127.増加回路126を内蔵したア
ドレス生成回路12Aによりバンク切り換えを行い、ア
ドレス空間を拡張することが容易に可能である。また、
処理をハードウェアで実行するので処理効率が良い。
122.i択回路127.増加回路126を内蔵したア
ドレス生成回路12Aによりバンク切り換えを行い、ア
ドレス空間を拡張することが容易に可能である。また、
処理をハードウェアで実行するので処理効率が良い。
第3図は本発明のシングルチップマイコンの第2の実施
例のブロック図である。
例のブロック図である。
本実施例のシングルチップマイコンにおいては、CPI
Jが相対分岐命令を実行すると分岐実行信号73をアド
レス生成回路12Bに出力すること、CPUが相対分岐
命令を実行する時、算術論理演算回路10で分岐先アド
レス計算中にアドレス生成回路12Bに増加信号101
.減少信号102を出力すること、およびアドレス生成
回路12Bの構成、動作以外は第1の実施例のシングル
チップマイコンとの相違はない。
Jが相対分岐命令を実行すると分岐実行信号73をアド
レス生成回路12Bに出力すること、CPUが相対分岐
命令を実行する時、算術論理演算回路10で分岐先アド
レス計算中にアドレス生成回路12Bに増加信号101
.減少信号102を出力すること、およびアドレス生成
回路12Bの構成、動作以外は第1の実施例のシングル
チップマイコンとの相違はない。
したがって、以下相違点のみ述べる。
本実施例のシングルチップマイコンにおいては、相対分
岐命令実行に伴い必要なメモリバンク切り換えを自動的
にハードウェアにより実行する。
岐命令実行に伴い必要なメモリバンク切り換えを自動的
にハードウェアにより実行する。
すなわち、本実施例のシングルチップマイコンにおいて
は、CPUがプログラムカウンタ1の内容−128から
プログラムカウンタ1の内容+127のアドレス範囲へ
の相対分岐を行う命令を実行すると、プログラムカウン
タ1の下位8ビツトデータをリードしてアドレスバス3
およびデータバス4を介しテンポラリレジスタ8に格納
する。
は、CPUがプログラムカウンタ1の内容−128から
プログラムカウンタ1の内容+127のアドレス範囲へ
の相対分岐を行う命令を実行すると、プログラムカウン
タ1の下位8ビツトデータをリードしてアドレスバス3
およびデータバス4を介しテンポラリレジスタ8に格納
する。
次に、8ビツトの相対アドレス値をROM2または外部
メモリ19からデータバス4を介しテンポラリレジスタ
9に格納する。次に、算術論理演算ユニット10で加算
を行い、結果をデータバス4およびアドレスバス3を介
しプログラムカウンタ1の下位8ビツトに格納する。同
様にして、プログラムカウンタ1の上位8ビツトをリー
ドし、アドレスバス3およびデータバス4を介してテン
ポラリレジスタ8に格納する。
メモリ19からデータバス4を介しテンポラリレジスタ
9に格納する。次に、算術論理演算ユニット10で加算
を行い、結果をデータバス4およびアドレスバス3を介
しプログラムカウンタ1の下位8ビツトに格納する。同
様にして、プログラムカウンタ1の上位8ビツトをリー
ドし、アドレスバス3およびデータバス4を介してテン
ポラリレジスタ8に格納する。
次に、算術論理演算ユニット10で、前回の演算の結果
キャリーもしくはボローが生じたとき、テンポラリレジ
スタ8の内容に1を加算または減算後、結果をプログラ
ムカウンタ1の上位8ビツトに格納する。この時、演算
の結果キャリーもしくはボローがさらに生じたとき、算
術論理演算ユニット10はアドレス生成回路12Bに対
し、それぞれの場合に対応して増加信号101.減少信
号102を出力する。
キャリーもしくはボローが生じたとき、テンポラリレジ
スタ8の内容に1を加算または減算後、結果をプログラ
ムカウンタ1の上位8ビツトに格納する。この時、演算
の結果キャリーもしくはボローがさらに生じたとき、算
術論理演算ユニット10はアドレス生成回路12Bに対
し、それぞれの場合に対応して増加信号101.減少信
号102を出力する。
さて、プログラム空間のバンク切り換えを、アドレス生
成回路12Bにより以下のように実行する。
成回路12Bにより以下のように実行する。
アドレス生成回路12Bについて第4図を用いて説明す
る。
る。
アドレス生成回路12Bは、分岐実行信号73゜桁上げ
信号1002選択信号124を入力とする3人力オアゲ
ート129、増減回路125を備える以外、第1の実施
例のシングルチップマイコンのアドレス生成回路12A
と構成および動作が同一である。よって、以下相違点の
み述べる。
信号1002選択信号124を入力とする3人力オアゲ
ート129、増減回路125を備える以外、第1の実施
例のシングルチップマイコンのアドレス生成回路12A
と構成および動作が同一である。よって、以下相違点の
み述べる。
CPUが相対分岐命令を実行すると、選択信号124が
O”のため、選択回路127は増減回路125の出力を
選択後、出力ラッチ122に出力する。同時に、分岐実
行信号73が“′1”であるため3人力オアゲート12
9の出力は“1″となり、出力ラッチ122は増減回路
125の出力をラッチし、チップ外部に出力する。この
時増減回路125は、増加信号101.減少信号102
がともに“0″の場合出力ラッチ122の値をそのまま
出力し、また増加信号101がha 11+、減少信号
102が“O″の場合出力ラッチ122の値に1を加算
した値を出力し、また増加信号101が“0”、減少信
号102が“1″の場合出力ラッチ122の値から1を
減少させた値を出力する。ここで、増加信号101がd
111.減少信号102が“1”の場合は存在しない
。
O”のため、選択回路127は増減回路125の出力を
選択後、出力ラッチ122に出力する。同時に、分岐実
行信号73が“′1”であるため3人力オアゲート12
9の出力は“1″となり、出力ラッチ122は増減回路
125の出力をラッチし、チップ外部に出力する。この
時増減回路125は、増加信号101.減少信号102
がともに“0″の場合出力ラッチ122の値をそのまま
出力し、また増加信号101がha 11+、減少信号
102が“O″の場合出力ラッチ122の値に1を加算
した値を出力し、また増加信号101が“0”、減少信
号102が“1″の場合出力ラッチ122の値から1を
減少させた値を出力する。ここで、増加信号101がd
111.減少信号102が“1”の場合は存在しない
。
つまり、第2の実施例のシングルチップマイコンが相対
分岐命令を実行すると、バンク内の相対分岐の場合は分
岐実行信号73が゛1″、増加信号101が“0”、減
少信号102が“Onとなるので出力ラッチ122の内
容は変化せず、バンク番号は変化しない。
分岐命令を実行すると、バンク内の相対分岐の場合は分
岐実行信号73が゛1″、増加信号101が“0”、減
少信号102が“Onとなるので出力ラッチ122の内
容は変化せず、バンク番号は変化しない。
バンクOからバンク1への相対分岐の場合は分岐実行信
号73が“1”、増加信号101が“1”、減少信号1
02が“0″となり出力ラッチ122の内容が1加算さ
れるため、バンク番号に1が加算される。逆に、バンク
1からバンク0への分岐の場合は分岐実行信号73が“
1”、増加信@101がl Q 11.減少信号102
が1″となり、出力ラッチ122の内容が1減算され、
バンク番号から1減埠される。
号73が“1”、増加信号101が“1”、減少信号1
02が“0″となり出力ラッチ122の内容が1加算さ
れるため、バンク番号に1が加算される。逆に、バンク
1からバンク0への分岐の場合は分岐実行信号73が“
1”、増加信@101がl Q 11.減少信号102
が1″となり、出力ラッチ122の内容が1減算され、
バンク番号から1減埠される。
上記第2の実施例のシングルチップマイコンにおいては
、第1の実施例のシングルチップマイコンの動作に加え
て、CPUによる相対分岐命令実行時、バンク番号の増
減処理をハードウェアにより自動的に行うので、相対分
岐処理の効率が非常に良いという効果がある。
、第1の実施例のシングルチップマイコンの動作に加え
て、CPUによる相対分岐命令実行時、バンク番号の増
減処理をハードウェアにより自動的に行うので、相対分
岐処理の効率が非常に良いという効果がある。
以上説明したように本発明は、外部拡張回路内にアドレ
ス生成回路を設け、アドレス生成回路がバンク切り換え
を自動的に行うことにより、プログラム空間の拡張が容
易に可能であり、バンク切り換えによるオーバヘッドが
小さい効果がある。
ス生成回路を設け、アドレス生成回路がバンク切り換え
を自動的に行うことにより、プログラム空間の拡張が容
易に可能であり、バンク切り換えによるオーバヘッドが
小さい効果がある。
第1図は本発明のシングルチップマイコンの第1の実施
例のブロック図、第2図は第1の実施例におけるアドレ
ス生成回路12Aのブロック図、第3図は本発明のシン
グルチップマイコンの第2の実施例のブロック図、@4
図は第2の実施例におけるアドレス生成回路12Bのブ
ロック図である。 1・・・プログラムカウンタ、 100・・・桁上げ信号、 2・・・ROM、 3・・・アドレスバス、 4・・・データバス、 5・・・命令レジスタ、 6・・・実行制御回路、 7・・・実行制御信号、 71・・・ライトストローブ信号、 72・・・プログラムカウンタインクリメント信号、 73・・・分岐実行信号、 8.9・・・テンポラリレジスタ、 10・・・惇術論理演輝ユニット、 101・・・増加信号、102・・・減少信号、12A
、12B・・・アドレス生成回路、121・・・デコー
ド回路、122・・・出力ラッチ、123・・・2人カ
アンドゲート、 124・・・選択信号、 125・・・増減回路、12
6・・・増加回路、 127・・・選択回路、128・
・・2人力オアゲート、 129・・・3人力オアゲート、 13・・・外部拡張回路、 14・・・割込み制御回路
、15・・・外部割込み要求信号群、 16・・・汎用レジスタ群、19・・・外部メモリ。
例のブロック図、第2図は第1の実施例におけるアドレ
ス生成回路12Aのブロック図、第3図は本発明のシン
グルチップマイコンの第2の実施例のブロック図、@4
図は第2の実施例におけるアドレス生成回路12Bのブ
ロック図である。 1・・・プログラムカウンタ、 100・・・桁上げ信号、 2・・・ROM、 3・・・アドレスバス、 4・・・データバス、 5・・・命令レジスタ、 6・・・実行制御回路、 7・・・実行制御信号、 71・・・ライトストローブ信号、 72・・・プログラムカウンタインクリメント信号、 73・・・分岐実行信号、 8.9・・・テンポラリレジスタ、 10・・・惇術論理演輝ユニット、 101・・・増加信号、102・・・減少信号、12A
、12B・・・アドレス生成回路、121・・・デコー
ド回路、122・・・出力ラッチ、123・・・2人カ
アンドゲート、 124・・・選択信号、 125・・・増減回路、12
6・・・増加回路、 127・・・選択回路、128・
・・2人力オアゲート、 129・・・3人力オアゲート、 13・・・外部拡張回路、 14・・・割込み制御回路
、15・・・外部割込み要求信号群、 16・・・汎用レジスタ群、19・・・外部メモリ。
Claims (1)
- 【特許請求の範囲】 1、アドレスバスによってアドレス指定された外部メモ
リから命令を読出し、データバスに出力する外部拡張回
路を備えたシングルチップマイクロコンピュータにおい
て、 CPUから出力されるプログラムカウンタの桁上げ信号
によって現在値を+1インクリメントし、アドレスバス
を介して転送されるアドレスの上位アドレスとして外部
メモリに出力するアドレス生成回路を前記外部拡張回路
が含むことを特徴とするシングルチップマイクロコンピ
ュータ。 2、アドレスバスによってアドレス指定された外部メモ
リから命令を読出し、データバスに出力する外部拡張回
路を備えたシングルチップマイクロコンピュータにおい
て、 CPUは相対分岐命令を実行すると分岐実行信号を出力
するようになっており、 CPUが相対分岐命令を実行する時に算術論理演算回路
が分岐先アドレスを演算し、キャリーもしくはボローが
生じたとき算術論理演算回路はそれぞれ増加信号、減少
信号を出力するようになつており、 CPUから分岐実行信号が出力された後、増加信号また
は減少信号が出力されると現在値をそれぞれ+1インク
リメント、−1デクリメントし、アドレスバスを介して
転送されるアドレスの上位アドレスとして外部メモリに
出力するアドレス生成回路を前記外部拡張回路が含むこ
とを特徴とするシングルチップマイクロコンピュータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63092077A JPH01263750A (ja) | 1988-04-13 | 1988-04-13 | シングルチップマイクロコンピュータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63092077A JPH01263750A (ja) | 1988-04-13 | 1988-04-13 | シングルチップマイクロコンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01263750A true JPH01263750A (ja) | 1989-10-20 |
Family
ID=14044387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63092077A Pending JPH01263750A (ja) | 1988-04-13 | 1988-04-13 | シングルチップマイクロコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01263750A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5024709A (en) * | 1990-01-22 | 1991-06-18 | Slautterback Corporation | Contact-free method of forming sift-proof seals |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5563442A (en) * | 1978-11-07 | 1980-05-13 | Fujitsu Ltd | Address set control system |
JPS55103653A (en) * | 1979-01-31 | 1980-08-08 | Nec Corp | Data processing unit |
JPS59214961A (ja) * | 1983-05-23 | 1984-12-04 | Fujitsu Ltd | 読出し専用メモリアクセス方式 |
JPS6284366A (ja) * | 1985-10-09 | 1987-04-17 | Fujitsu Ltd | マイクロコンピユ−タ |
-
1988
- 1988-04-13 JP JP63092077A patent/JPH01263750A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5563442A (en) * | 1978-11-07 | 1980-05-13 | Fujitsu Ltd | Address set control system |
JPS55103653A (en) * | 1979-01-31 | 1980-08-08 | Nec Corp | Data processing unit |
JPS59214961A (ja) * | 1983-05-23 | 1984-12-04 | Fujitsu Ltd | 読出し専用メモリアクセス方式 |
JPS6284366A (ja) * | 1985-10-09 | 1987-04-17 | Fujitsu Ltd | マイクロコンピユ−タ |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5024709A (en) * | 1990-01-22 | 1991-06-18 | Slautterback Corporation | Contact-free method of forming sift-proof seals |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5249280A (en) | Microcomputer having a memory bank switching apparatus for accessing a selected memory bank in an external memory | |
US5666510A (en) | Data processing device having an expandable address space | |
JP4988082B2 (ja) | マイクロプロセッサ及びデータ処理システム | |
US4949242A (en) | Microcomputer capable of accessing continuous addresses for a short time | |
JP2004086837A (ja) | データ処理装置 | |
KR19990036893A (ko) | 다중 어드레싱 모드를 실행하는 프로세서 구조 및 그 설계방법 | |
US5127096A (en) | Information processor operative both in direct mapping and in bank mapping, and the method of switching the mapping schemes | |
JP2551167B2 (ja) | マイクロコンピュータ | |
JPH07239780A (ja) | 1クロック可変長命令実行処理型命令読み込み電子計 算機 | |
JPH01263750A (ja) | シングルチップマイクロコンピュータ | |
JPS6273333A (ja) | エミュレーション制御装置 | |
JP4545777B2 (ja) | データ処理装置 | |
JP2894854B2 (ja) | 中央演算処理装置 | |
JP3239042B2 (ja) | マイクロコンピュータ | |
KR100353814B1 (ko) | 확장된 램 억세스 명령어를 억세스하는 시간을 향상시킨램 억세스 장치 | |
JPH0764787A (ja) | マイクロコンピュータ | |
JPH05250156A (ja) | Riscプロセッサ | |
JP2001100991A (ja) | ディジタル信号処理装置 | |
JPH08272411A (ja) | ラダー命令処理装置 | |
JPH05189014A (ja) | プログラマブルコントローラ | |
JPS63271567A (ja) | 非対称密結合マルチプロセツサシステム | |
JPH08305564A (ja) | マイクロコンピュータ | |
JPH06337782A (ja) | データ処理装置およびデータ処理方法 | |
JPS60245049A (ja) | デ−タ処理装置 | |
JPH0277952A (ja) | アドレス変換装置 |