JPS6336340A - Cpuのメモリ拡張回路 - Google Patents
Cpuのメモリ拡張回路Info
- Publication number
- JPS6336340A JPS6336340A JP17772186A JP17772186A JPS6336340A JP S6336340 A JPS6336340 A JP S6336340A JP 17772186 A JP17772186 A JP 17772186A JP 17772186 A JP17772186 A JP 17772186A JP S6336340 A JPS6336340 A JP S6336340A
- Authority
- JP
- Japan
- Prior art keywords
- memory bank
- circuit
- data
- cpu
- sub
- 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
- 230000004044 response Effects 0.000 claims description 4
- 230000002093 peripheral effect Effects 0.000 description 17
- 238000000034 method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- RRLHMJHRFMHVNM-BQVXCWBNSA-N [(2s,3r,6r)-6-[5-[5-hydroxy-3-(4-hydroxyphenyl)-4-oxochromen-7-yl]oxypentoxy]-2-methyl-3,6-dihydro-2h-pyran-3-yl] acetate Chemical compound C1=C[C@@H](OC(C)=O)[C@H](C)O[C@H]1OCCCCCOC1=CC(O)=C2C(=O)C(C=3C=CC(O)=CC=3)=COC2=C1 RRLHMJHRFMHVNM-BQVXCWBNSA-N 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は同一アドレス上にメインメモリバンクとサブメ
モリバンクとを設け、外部からの割込み要求信号および
内部プログラムの要求に応動してメモリバンクを切換え
使用するようにしたCPUのメモリ拡張回路に関する。
モリバンクとを設け、外部からの割込み要求信号および
内部プログラムの要求に応動してメモリバンクを切換え
使用するようにしたCPUのメモリ拡張回路に関する。
[従来の技術]
一般に、マイクロコンピュータにおいて、CPU (中
央処理装置)が指定できるアドレス領域を増大する手段
として、同一アドレス上に重複して複数のメモリバンク
を設け、必要に応じてメモリバンクをアドレスバスおよ
びデータバスに切換え接続するようにしたCPUのメモ
リ拡張回路が採用されている。
央処理装置)が指定できるアドレス領域を増大する手段
として、同一アドレス上に重複して複数のメモリバンク
を設け、必要に応じてメモリバンクをアドレスバスおよ
びデータバスに切換え接続するようにしたCPUのメモ
リ拡張回路が採用されている。
このようなCPUのメモリ拡張回路のなかには、各メモ
リバンクに対して専用の割込み制御回路を設け、周辺装
置から割込み制御回路へ割込み要求信号が人力されると
対応する目標メモリバンクに切換えるようにしたものが
ある。
リバンクに対して専用の割込み制御回路を設け、周辺装
置から割込み制御回路へ割込み要求信号が人力されると
対応する目標メモリバンクに切換えるようにしたものが
ある。
このようなCPUのメモリ拡張回路は例えば第3図のよ
うに構成されている。すなわち、CPU1にアドレスバ
ス2およびデータバス3を介してメインメモリバンクを
構成するROM4とサブメモリバンクを構成する複数の
RAM5が接続され、ROM4又はRAM5のメモリバ
ンク切換えはアドレスバス2に接続されたバンク切換え
回路6のCS(チップセレクト)信号にて行われる。ま
た、データバス3には各周辺装置からの割込み要求信号
INTEが入力される複数の割込み制御回路7が接続さ
れており、各割込み制御回路7にはCPUIからの割込
み許可信号INTAが入力され、各割込み制御回路7か
らCPUIへ割込み要求信号INTが送出される。また
、各割込み制御回路7相互間は各周辺装置からの割込み
要求信号が同時に発生した場合に各割込み要求信号IN
TEの優先順位を付けるために入出力信号IE1.IE
Oで接続されている。
うに構成されている。すなわち、CPU1にアドレスバ
ス2およびデータバス3を介してメインメモリバンクを
構成するROM4とサブメモリバンクを構成する複数の
RAM5が接続され、ROM4又はRAM5のメモリバ
ンク切換えはアドレスバス2に接続されたバンク切換え
回路6のCS(チップセレクト)信号にて行われる。ま
た、データバス3には各周辺装置からの割込み要求信号
INTEが入力される複数の割込み制御回路7が接続さ
れており、各割込み制御回路7にはCPUIからの割込
み許可信号INTAが入力され、各割込み制御回路7か
らCPUIへ割込み要求信号INTが送出される。また
、各割込み制御回路7相互間は各周辺装置からの割込み
要求信号が同時に発生した場合に各割込み要求信号IN
TEの優先順位を付けるために入出力信号IE1.IE
Oで接続されている。
各割込み制御回路7は第4図のように構成されている。
図中8はデータバス3上に周辺装置に対応する識別コー
ドを出力するための入力ゲート回路であり、端子D1以
外の各端子は接地されている。自分より割込み優先順位
が上位の割込み制御回路7から出力された入力信号IE
Iはインバータ9およびオアゲート10を介して入力ゲ
ート回路8の出力禁止端子IHへ人力されるとともに、
アンドゲート11の一方の入力端子へ入力される。
ドを出力するための入力ゲート回路であり、端子D1以
外の各端子は接地されている。自分より割込み優先順位
が上位の割込み制御回路7から出力された入力信号IE
Iはインバータ9およびオアゲート10を介して入力ゲ
ート回路8の出力禁止端子IHへ人力されるとともに、
アンドゲート11の一方の入力端子へ入力される。
また、入力信号IEIは前記インバータ9で反転されて
オアゲート12の一方の入力端子へ入力される。さらに
、入力信号IEIとアンドゲート11から自分より割込
み優先順位が下位の割込み制御回路7へ出力される出力
信号IEOとは排他的論理和ゲート13へ入力される。
オアゲート12の一方の入力端子へ入力される。さらに
、入力信号IEIとアンドゲート11から自分より割込
み優先順位が下位の割込み制御回路7へ出力される出力
信号IEOとは排他的論理和ゲート13へ入力される。
この排他的論理和ゲート13の出力信号は前記オアゲー
ト10へ入力される。
ト10へ入力される。
さらに、周辺装置からの割込み要求信号INTEはオア
ゲート10. アンドゲート11゜オアゲート12へ入
力される。オアゲート12の出力信号は割込み要求信号
INTとしてCPUIへ人力される。また、CPUIか
らの割込み許可信号I NTAは直接オアゲート10へ
入力される。
ゲート10. アンドゲート11゜オアゲート12へ入
力される。オアゲート12の出力信号は割込み要求信号
INTとしてCPUIへ人力される。また、CPUIか
らの割込み許可信号I NTAは直接オアゲート10へ
入力される。
このようなCPUのメモリ拡張回路において、CPU1
からLレベルの割込み許可信号I NTAが入力され、
かつ上位の割込み制御回路7からのHレベルの入力信号
rEIが入力されている状態においてのみ、この割込み
制御回路7に対応する周辺装置からのLレベルの割込み
要求信号INTEが入力すると、入力ゲート回路8の出
力禁止状態が解除され、前記周辺装置に対応する[ 0
00000103の識別コードがデータバス3上へ出力
される。同時にオアゲート12が成立して、CPUIへ
Lレベルの割込み要求信号INTが送出される。また、
アンドゲート11の成立が解除され、自分より下位の割
込み制御回路7へLレベルの出力信号IEOを送出する
。したがって、自分より下位の割込み制御回路7の入力
信号IEIがHレベルになることはない。
からLレベルの割込み許可信号I NTAが入力され、
かつ上位の割込み制御回路7からのHレベルの入力信号
rEIが入力されている状態においてのみ、この割込み
制御回路7に対応する周辺装置からのLレベルの割込み
要求信号INTEが入力すると、入力ゲート回路8の出
力禁止状態が解除され、前記周辺装置に対応する[ 0
00000103の識別コードがデータバス3上へ出力
される。同時にオアゲート12が成立して、CPUIへ
Lレベルの割込み要求信号INTが送出される。また、
アンドゲート11の成立が解除され、自分より下位の割
込み制御回路7へLレベルの出力信号IEOを送出する
。したがって、自分より下位の割込み制御回路7の入力
信号IEIがHレベルになることはない。
CPUIの割込み入力端子INTへLレベルの割込み要
求信号INTが送出されると、バンク切換え回路6が前
記識別コードに対応するメモリバンクを指定するC8信
号を送出する。しかして、指定されたメモリバンク(R
OM4又はRAM5)がアドレスバス2およびデータバ
ス3に接続される。
求信号INTが送出されると、バンク切換え回路6が前
記識別コードに対応するメモリバンクを指定するC8信
号を送出する。しかして、指定されたメモリバンク(R
OM4又はRAM5)がアドレスバス2およびデータバ
ス3に接続される。
[発明が解決しようとする問題点〕
しかしながら上記のように構成されたCPUのメモリ拡
張回路においても次のような問題があった。すなわち、
上記のような回路であれば、CPUIに対する割込み要
求信号INTは各側込み制御回路7に接続された周辺装
置からの割込み要求信号INTEにのみ応動して出力さ
れるので、割込み要求信号INTEが入力されていない
期間中においては、メモリバンクが切換えられることは
ない。したがって、その期間中はメインメモリバンク(
ROM4)に記憶されたプログラムしか実行できないこ
とになる。
張回路においても次のような問題があった。すなわち、
上記のような回路であれば、CPUIに対する割込み要
求信号INTは各側込み制御回路7に接続された周辺装
置からの割込み要求信号INTEにのみ応動して出力さ
れるので、割込み要求信号INTEが入力されていない
期間中においては、メモリバンクが切換えられることは
ない。したがって、その期間中はメインメモリバンク(
ROM4)に記憶されたプログラムしか実行できないこ
とになる。
その結果、メインメモリバンク又はサブバンクメモリに
記憶されたプログラムでもって特定のサブメモリバンク
に記憶されたサブルーチン等を読出すことも不可能であ
り、より効率的に各メモリバンクを活用することができ
ない問題があった。
記憶されたプログラムでもって特定のサブメモリバンク
に記憶されたサブルーチン等を読出すことも不可能であ
り、より効率的に各メモリバンクを活用することができ
ない問題があった。
本発明は上記事情に鑑みてなされたものであり、その目
的とするところは、各周辺装置からの割込み要求信号に
てメモリバンクを指定メモリバンクに切換えられるとと
もに、プログラムによりCPU自体が任意にメモリバン
クを切換えることができ、さらに、CPU内のスタック
メモリのオ、(−フロー現象を防止でき、各メモリバン
クをを効に使用できるとともにマイクロコンピュータ全
体の信頼性を向上できるCPUのメモリ拡張回路を提供
することにある。
的とするところは、各周辺装置からの割込み要求信号に
てメモリバンクを指定メモリバンクに切換えられるとと
もに、プログラムによりCPU自体が任意にメモリバン
クを切換えることができ、さらに、CPU内のスタック
メモリのオ、(−フロー現象を防止でき、各メモリバン
クをを効に使用できるとともにマイクロコンピュータ全
体の信頼性を向上できるCPUのメモリ拡張回路を提供
することにある。
C問題点を解決するための手段]
本発明のCPUのメモリ拡張回路は、外部から受領端子
に第1の割込み要求信号が入力されるとCPUに対して
第2の割込み要求信号を出力するとともにCPUからの
割込み許可信号に応動してデータバスに第1の割込み要
求信号によって要求されたプログラムの実行先頭番地を
指定する識別コード信号を入力ゲート回路を介して乗せ
る割込み制御回路を各サブバンクメモリに対応して設け
、この識別コード信号をデータバスに乗せると同時に割
込み制御回路によってメモリバンクを該当割込み制御回
路に対応するサブメモリバンクに切り換えるバンク切換
え回路を備え、 さらに、メインメモリバンク又はサブメモリバンク内に
記憶された実行中のプログラムから発行されてデータバ
スに乗せられたサブメモリバンクを切り換えるためのデ
ータをラッチするためにサブメモリバンクに対応するデ
ータラッチ回路と、このデータラッチ回路にラッチされ
たデータの特定ビットを割込み要求信号として前記割込
み制御端子の受領端子に入力するとともに、ラッチされ
たデータの他のビットを識別コード信号として入力ゲー
ト回路に入力するデータ分配回路とを備えることによっ
て、任意のプログラムによってメインメモリバンクの容
量をサブメモリバンクの容量だけ拡張可能にしている。
に第1の割込み要求信号が入力されるとCPUに対して
第2の割込み要求信号を出力するとともにCPUからの
割込み許可信号に応動してデータバスに第1の割込み要
求信号によって要求されたプログラムの実行先頭番地を
指定する識別コード信号を入力ゲート回路を介して乗せ
る割込み制御回路を各サブバンクメモリに対応して設け
、この識別コード信号をデータバスに乗せると同時に割
込み制御回路によってメモリバンクを該当割込み制御回
路に対応するサブメモリバンクに切り換えるバンク切換
え回路を備え、 さらに、メインメモリバンク又はサブメモリバンク内に
記憶された実行中のプログラムから発行されてデータバ
スに乗せられたサブメモリバンクを切り換えるためのデ
ータをラッチするためにサブメモリバンクに対応するデ
ータラッチ回路と、このデータラッチ回路にラッチされ
たデータの特定ビットを割込み要求信号として前記割込
み制御端子の受領端子に入力するとともに、ラッチされ
たデータの他のビットを識別コード信号として入力ゲー
ト回路に入力するデータ分配回路とを備えることによっ
て、任意のプログラムによってメインメモリバンクの容
量をサブメモリバンクの容量だけ拡張可能にしている。
さらに、CPU内のスタックメモリの格納データ数を示
すスタックポインタ用レジスタと同じ値を記憶する第1
のレジスタと、予め定められた限界値を記憶する第2の
レジスタと、第1及び第2のレジスタの記憶値を比較し
て第1のレジスタの記憶値が限界値を越えた場合に警報
信号をCPUへ出力する比較器とを備えることによって
、スタックメモリのオーバーフローを阻止している。
すスタックポインタ用レジスタと同じ値を記憶する第1
のレジスタと、予め定められた限界値を記憶する第2の
レジスタと、第1及び第2のレジスタの記憶値を比較し
て第1のレジスタの記憶値が限界値を越えた場合に警報
信号をCPUへ出力する比較器とを備えることによって
、スタックメモリのオーバーフローを阻止している。
[作用]
このように構成されたCPUのメモリ拡張回路において
、例えば外部から一つの割込み制御回路の受領端子へ第
1の割込み要求信号が入力されると、この割込み制御回
路はCPUに対して第2の割込み要求信号を出力し、C
PUからの割込み許可信号が入力されると、データバス
に第1の割込み要求信号に対応する識別コードをデータ
バスへ出力する。同時にバンク切換え回路によってメモ
リバンクが該当割込み制御回路に対応してたサブメモリ
バンクに切換えられる。
、例えば外部から一つの割込み制御回路の受領端子へ第
1の割込み要求信号が入力されると、この割込み制御回
路はCPUに対して第2の割込み要求信号を出力し、C
PUからの割込み許可信号が入力されると、データバス
に第1の割込み要求信号に対応する識別コードをデータ
バスへ出力する。同時にバンク切換え回路によってメモ
リバンクが該当割込み制御回路に対応してたサブメモリ
バンクに切換えられる。
また、実行中のプログラムにて出力されたサブメモリバ
ンクを切換えるためのデータはデータバスを介してデー
タラッチ回路ヘラッチされる。そしてこのデータ、に含
まれる特定ビットが割込み制御回路の受領端子へ入力さ
れる。そして、データの他のビットは識別コード信号と
して入力ゲート回路を介してデータバス上へ乗せられる
。したがって、2この状態においては、割込み制御回路
の受領端子には第1の割込み要求信号が入力したのと同
じ状態になり、前述のバンク切換え回路が動作してメモ
リバンクを前記プログラムが指定するサブメモリバンク
へ切換る。
ンクを切換えるためのデータはデータバスを介してデー
タラッチ回路ヘラッチされる。そしてこのデータ、に含
まれる特定ビットが割込み制御回路の受領端子へ入力さ
れる。そして、データの他のビットは識別コード信号と
して入力ゲート回路を介してデータバス上へ乗せられる
。したがって、2この状態においては、割込み制御回路
の受領端子には第1の割込み要求信号が入力したのと同
じ状態になり、前述のバンク切換え回路が動作してメモ
リバンクを前記プログラムが指定するサブメモリバンク
へ切換る。
このように、外部からの割込み要求信号のみならす、内
部プログラムの要求によってメモリバンクを任意に切換
えできる。
部プログラムの要求によってメモリバンクを任意に切換
えできる。
さらに、一つのプログラムを実行期間中に例えば割込み
処理等にて他のメモリバンクのサブルーチンに移行した
後に元のプログラムに戻る場合のプログラムカウンタの
カウント値等を一時退避させておくためのスタックメモ
リの格納データ数を示すスタックポインタが第2のレジ
スタに記憶された限界値を越えると比較器からCPUへ
警告信号が送出される。したがって、CPUは警告信号
が入力した時点でスタックポインタが限界値を下回るま
で、新たな割込み処理を受付けなければよい。
処理等にて他のメモリバンクのサブルーチンに移行した
後に元のプログラムに戻る場合のプログラムカウンタの
カウント値等を一時退避させておくためのスタックメモ
リの格納データ数を示すスタックポインタが第2のレジ
スタに記憶された限界値を越えると比較器からCPUへ
警告信号が送出される。したがって、CPUは警告信号
が入力した時点でスタックポインタが限界値を下回るま
で、新たな割込み処理を受付けなければよい。
[実施例コ
以下本発明の一実施例を図面を用いて説明する。
第1図は実施例のCPUのメモリ拡張回路を示すブロッ
ク図である。CPU21にアドレスバス22およびデー
タバス23を介してメインメモリバンクを構成するRO
M24とサブバンクメモリを構成する複数のRAM25
が接続され、メインメモリバンクとしてのROM24は
アドレスバス22に接続されたアドレスラッチ回路26
のC8(チップセレクト)信号にてアドレスバス22お
よびデータバス23へ接続される。また、データバス2
3には各周辺装置からの第1の割込み要求信号INTE
が入力される各サブメモリバンク(RAM25)に対応
した数の割込み制御回路27が接続されている。各割込
み制御回路27にはCPU21からの割込み許可信号I
NTAが入力され、各割込み制御回路27からCPU
21へ第2の割込み要求信号INTが送出される。また
、各割込み制御回路27相互間は各周辺装置からの第1
の割込み要求信号INTEが同時に発生した場合に各割
込み要求信号INTEの優先順位を付けるために人出力
信号IEI、IEOで接続されている。
ク図である。CPU21にアドレスバス22およびデー
タバス23を介してメインメモリバンクを構成するRO
M24とサブバンクメモリを構成する複数のRAM25
が接続され、メインメモリバンクとしてのROM24は
アドレスバス22に接続されたアドレスラッチ回路26
のC8(チップセレクト)信号にてアドレスバス22お
よびデータバス23へ接続される。また、データバス2
3には各周辺装置からの第1の割込み要求信号INTE
が入力される各サブメモリバンク(RAM25)に対応
した数の割込み制御回路27が接続されている。各割込
み制御回路27にはCPU21からの割込み許可信号I
NTAが入力され、各割込み制御回路27からCPU
21へ第2の割込み要求信号INTが送出される。また
、各割込み制御回路27相互間は各周辺装置からの第1
の割込み要求信号INTEが同時に発生した場合に各割
込み要求信号INTEの優先順位を付けるために人出力
信号IEI、IEOで接続されている。
各割込み制御回路27は例えば第2図に示すように構成
されている。なお、第4図に示した従来の割込み制御回
路7と同一部分には同一符号が付しである。すなわち、
データバス23にメモリバンクを切換えるだめのデータ
をラッチするためのデータランチ回路28およびデータ
バス23へ識別コードを送出する入力ケート回路29が
接続されている。データランチ回路28のD1〜D7ま
での各出力端子は入力ゲート回路29のD1〜D7の各
入力端子に接続されている。すなわち、このデータラッ
チ回路28にてラッチされたデータのうち出力端子Do
における特定ビット信号以外の出力端子D1〜D7のビ
ット信号は識別コード信号として入力ゲート回路29へ
入力される。
されている。なお、第4図に示した従来の割込み制御回
路7と同一部分には同一符号が付しである。すなわち、
データバス23にメモリバンクを切換えるだめのデータ
をラッチするためのデータランチ回路28およびデータ
バス23へ識別コードを送出する入力ケート回路29が
接続されている。データランチ回路28のD1〜D7ま
での各出力端子は入力ゲート回路29のD1〜D7の各
入力端子に接続されている。すなわち、このデータラッ
チ回路28にてラッチされたデータのうち出力端子Do
における特定ビット信号以外の出力端子D1〜D7のビ
ット信号は識別コード信号として入力ゲート回路29へ
入力される。
データラッチ回路28の出力端子DOから出力される特
定ビット信号はノアゲート30の一方の入力端子へ人力
されている。このノアゲート30の他方の入力端子には
インバータ31にてレベル反転された第1の割込み要求
信号INTEが人力される。そして、ノアゲート30の
出力信号はオアゲート10へ入力される。したがって、
ノアゲート30は特定のビット信号および周辺装置から
の第1の割込み要求信号INTEを受領する受領端子を
構成する。
定ビット信号はノアゲート30の一方の入力端子へ人力
されている。このノアゲート30の他方の入力端子には
インバータ31にてレベル反転された第1の割込み要求
信号INTEが人力される。そして、ノアゲート30の
出力信号はオアゲート10へ入力される。したがって、
ノアゲート30は特定のビット信号および周辺装置から
の第1の割込み要求信号INTEを受領する受領端子を
構成する。
前記入力ゲート回路29は、オアゲート10のLレベル
の出力信号により出力禁止状態が解除されると、入力端
子DO〜DIのビットデータ(識別コード)をデータバ
ス23へ乗せる。なお、入力端子Doは接地されている
ので、データバス23へ乗せられたデータは常に偶数値
である。なお、各出力端子DO−D7と入力端子DO〜
D7およびノアゲート30はデータ分配回路を構成する
。
の出力信号により出力禁止状態が解除されると、入力端
子DO〜DIのビットデータ(識別コード)をデータバ
ス23へ乗せる。なお、入力端子Doは接地されている
ので、データバス23へ乗せられたデータは常に偶数値
である。なお、各出力端子DO−D7と入力端子DO〜
D7およびノアゲート30はデータ分配回路を構成する
。
また、オアゲー)10の出力信号は入力ゲート回路29
へ入力されるとともに後述するバンク切換え回路32へ
入力される。
へ入力されるとともに後述するバンク切換え回路32へ
入力される。
第1図において、各側込み制御回路27には専用のバン
ク切換え回路32が接続されている。すなわち、上位の
割込み制御回路27から出力された入力信号IEIおよ
び下位の割込み制御回路27へ送出する出力信号IEO
は排他的論理和ゲート33を介してフリップフロップ3
4の入力端子りへ人力される。このフリップフロップ3
4のクロック端子CKには前記割込み制御回路27にお
けるオアゲート10の出力信号が入力される。
ク切換え回路32が接続されている。すなわち、上位の
割込み制御回路27から出力された入力信号IEIおよ
び下位の割込み制御回路27へ送出する出力信号IEO
は排他的論理和ゲート33を介してフリップフロップ3
4の入力端子りへ人力される。このフリップフロップ3
4のクロック端子CKには前記割込み制御回路27にお
けるオアゲート10の出力信号が入力される。
出力端子Qの出力信号は2段のオアゲート35゜36を
介してこの割込み制御回路27に対応するサブメモリバ
ンク(RAM25)のC8信号として、該当サブメモリ
バンクのC8端子へ入力される。オアゲート35の他方
の入力端子には一つ上位のバンク切換え回路32のフリ
ップフロップ34の出力端子Qの出力信号が入力され、
オアゲート36の他方の入力端子にはメインメモリバン
ク(ROM24)のCS端子へ入力されるC5信号が入
力される。
介してこの割込み制御回路27に対応するサブメモリバ
ンク(RAM25)のC8信号として、該当サブメモリ
バンクのC8端子へ入力される。オアゲート35の他方
の入力端子には一つ上位のバンク切換え回路32のフリ
ップフロップ34の出力端子Qの出力信号が入力され、
オアゲート36の他方の入力端子にはメインメモリバン
ク(ROM24)のCS端子へ入力されるC5信号が入
力される。
また、フリップフロップ34の出力端子Qの出力信号は
下位のバンク切換え回路32のオアゲート35へ入力さ
れるとともにナントゲート37の一方の入力端子を介し
てフリップフロップ34のクリア端子CLへ入力される
。このナントゲート37には割込復帰命令解読回路38
からの割込み復帰信号RET Iが入力される。
下位のバンク切換え回路32のオアゲート35へ入力さ
れるとともにナントゲート37の一方の入力端子を介し
てフリップフロップ34のクリア端子CLへ入力される
。このナントゲート37には割込復帰命令解読回路38
からの割込み復帰信号RET Iが入力される。
また、一般に前記CPU21内には複数のデータを格納
できるスタックメモリ41が形成されている。例えば一
つのブロクラムの実行中にこのプログラムより優先度の
高い割込み処理が発生した場合は、プログラムを中断し
て割込み処理を実施する。そして、割込み処理が終了し
た時点で元のプログラムへ復帰する必要がある。前記ス
タックメモリ41の各データ領域には前記復帰先のプロ
グラムカウント値が格納されている。また、メインメモ
リバンクのメインプログラムからサブメモリバンクのサ
ブルーチンへ移動した後に元に復帰する場合の復帰先の
プログラムカウント値も格納される。したがって、割込
み処理中に更に別の割込み処理が発生した場合にはスタ
ックメモリ41に多数のプログラムカウント値が同時に
格納される。したがって、後から格納したデータは必ず
先に読み出しする必要があるので、データの入出力制御
は後入、先出制御である。そして、CPU21内にはス
タックメモリ41の次に読出し書込みするデータ領域番
号、すなわちデータ格納数を示すスタックポインタを記
憶するスタックポインタ用レジスタ42が形成されてい
る。
できるスタックメモリ41が形成されている。例えば一
つのブロクラムの実行中にこのプログラムより優先度の
高い割込み処理が発生した場合は、プログラムを中断し
て割込み処理を実施する。そして、割込み処理が終了し
た時点で元のプログラムへ復帰する必要がある。前記ス
タックメモリ41の各データ領域には前記復帰先のプロ
グラムカウント値が格納されている。また、メインメモ
リバンクのメインプログラムからサブメモリバンクのサ
ブルーチンへ移動した後に元に復帰する場合の復帰先の
プログラムカウント値も格納される。したがって、割込
み処理中に更に別の割込み処理が発生した場合にはスタ
ックメモリ41に多数のプログラムカウント値が同時に
格納される。したがって、後から格納したデータは必ず
先に読み出しする必要があるので、データの入出力制御
は後入、先出制御である。そして、CPU21内にはス
タックメモリ41の次に読出し書込みするデータ領域番
号、すなわちデータ格納数を示すスタックポインタを記
憶するスタックポインタ用レジスタ42が形成されてい
る。
さらに、データバス23には、前記CPU21のスタッ
クポインタ用レジスタ42に記憶されたスタックポイン
タを記憶する2個の8ビツトレジスタからなる第1のレ
ジスタ43.予めスタックポインタの限界値を記憶する
2個の8ビツトレジスタからなる第2のレジスタ44.
CPU21からデータバス23上へ送出された命令を解
読して、第1のレジスタ43ヘラッチ指令信号を送出す
るとともに比較器45へ比較指令信号を送出する命令デ
コーダ回路46が接続されている。
クポインタ用レジスタ42に記憶されたスタックポイン
タを記憶する2個の8ビツトレジスタからなる第1のレ
ジスタ43.予めスタックポインタの限界値を記憶する
2個の8ビツトレジスタからなる第2のレジスタ44.
CPU21からデータバス23上へ送出された命令を解
読して、第1のレジスタ43ヘラッチ指令信号を送出す
るとともに比較器45へ比較指令信号を送出する命令デ
コーダ回路46が接続されている。
前記比較器45は第1のレジスタ43から出力されたス
タックポインタを示す16ビツトデータと第2のレジス
タ44から出力された限界値を示す16ビツトデータを
同時に比較し、スタックポインタが限界値を越えたとき
CPU21へ警報信号としての割込み禁止信号を送出す
る。
タックポインタを示す16ビツトデータと第2のレジス
タ44から出力された限界値を示す16ビツトデータを
同時に比較し、スタックポインタが限界値を越えたとき
CPU21へ警報信号としての割込み禁止信号を送出す
る。
このように構成されたCPUのメモリ拡張回路の動作説
明を行なう。
明を行なう。
先ず、割込み制御回路27に接続された各周辺装置から
第1の割込み要求信号INTEが該当割込み制御回路2
7へ入力した場合におけるメモリバンクをサブメモリバ
ンク(RAM25)へ切換える場合の動作を説明する。
第1の割込み要求信号INTEが該当割込み制御回路2
7へ入力した場合におけるメモリバンクをサブメモリバ
ンク(RAM25)へ切換える場合の動作を説明する。
すなわち、バンク切換え回路32において、このバンク
切換え回路32が接続された割込み制御回路27の入力
信号IEIがHレベルとなり、CPU21からの割込み
許可信号I N T−AがLレベルの状態で周辺装置か
らLレベルの第1の割込み要求信号INTEが入力され
ると、出力信号IEOはLレベルとなるので、排他的論
理和ゲート33が成立して、フリップフロップ34の入
力端子りがHレベルになる。同時にオアゲート10の信
号レベルが変化するので、出力端子ζからHレベルの出
力信号を送出し、出力端子QからLレベルの出力信号が
送出される。したがって、オアゲート36より該当サブ
メモリバンク(RAM25)に対してC8信号が出力さ
れ、このサブメモリバングがアドレスバス22およびデ
ータバス23に接続される。また、割込み復帰命令解読
回路38からHレベルの割込み復帰信号RET Iが出
力されるとフリップフロップ34はクリアされ、該当サ
ブメモリバンクに対するC8信号は解除される。その結
果、メモリバンクの選択はメインメモリバンク(ROM
24)へ戻る。
切換え回路32が接続された割込み制御回路27の入力
信号IEIがHレベルとなり、CPU21からの割込み
許可信号I N T−AがLレベルの状態で周辺装置か
らLレベルの第1の割込み要求信号INTEが入力され
ると、出力信号IEOはLレベルとなるので、排他的論
理和ゲート33が成立して、フリップフロップ34の入
力端子りがHレベルになる。同時にオアゲート10の信
号レベルが変化するので、出力端子ζからHレベルの出
力信号を送出し、出力端子QからLレベルの出力信号が
送出される。したがって、オアゲート36より該当サブ
メモリバンク(RAM25)に対してC8信号が出力さ
れ、このサブメモリバングがアドレスバス22およびデ
ータバス23に接続される。また、割込み復帰命令解読
回路38からHレベルの割込み復帰信号RET Iが出
力されるとフリップフロップ34はクリアされ、該当サ
ブメモリバンクに対するC8信号は解除される。その結
果、メモリバンクの選択はメインメモリバンク(ROM
24)へ戻る。
次に、メインメモリバンク(ROM24)又はサブメモ
リバンク(RAM25)に記憶されたプログラムにより
サブメモリバンク(RAM25)へ切換える場合の動作
を説明する。
リバンク(RAM25)に記憶されたプログラムにより
サブメモリバンク(RAM25)へ切換える場合の動作
を説明する。
電源が投入されるとCPU21は、メインメモリバンク
(ROM24)に記憶されたプログラムに従って前処理
を実行する。この前処理プログラムに前記第2のレジス
タ44に限界値を設定する処理が含まれる。すなわち、
第2のレジスタ4のリードライト(R/W)信号をLレ
ベルにしてデータバス23上に限界値データを出力する
と、この限界値は第2のレジスタ44ヘラツチされる。
(ROM24)に記憶されたプログラムに従って前処理
を実行する。この前処理プログラムに前記第2のレジス
タ44に限界値を設定する処理が含まれる。すなわち、
第2のレジスタ4のリードライト(R/W)信号をLレ
ベルにしてデータバス23上に限界値データを出力する
と、この限界値は第2のレジスタ44ヘラツチされる。
所定の前処理が終了すると、割込み許可信号I NTA
を出力して割込み解除状態とする。その後、メインメモ
リバンク(ROM24)のメインプログラムの処理を開
始する。このメインプログラムをプログラムカウンタに
従って順次実行していく途中で、割込み処理で要求され
たプログラムに対応する周辺装置、すなわちサブメモリ
バンク(RAM25)の実行すべきプログラムの実行先
頭番地を特定する識別コードを含む割込み処理指令が存
在すると、このメインプログラムの次のプログラムカウ
ント値を内部のスタックポインタ用レジスタ42のスタ
ックポインタの指定するスタックメモリ41のデータ領
域へ格納する。同時にデータバス23ヘスタツクポイン
タ用レジスタ42のスタックポインタを出力する。命令
デコーダ回路46はスタックポインタを受領すると、デ
ータをラッチ指令に変換して第1のレジスタ43へ送出
する。すると第1のレジスタ43はデータバス23上の
スタックポインタをラッチする。その後、命令デコーダ
回路46は比較器45へ比較指令を送出する。比較器4
5は第1のレジスタ43から出力されたスタックポイン
タと第2のレジスタ44から出力された限界値とを比較
して、スタックポインタが限界値を越えているときのみ
、CPU21へ割込み禁止指令を送出する。
を出力して割込み解除状態とする。その後、メインメモ
リバンク(ROM24)のメインプログラムの処理を開
始する。このメインプログラムをプログラムカウンタに
従って順次実行していく途中で、割込み処理で要求され
たプログラムに対応する周辺装置、すなわちサブメモリ
バンク(RAM25)の実行すべきプログラムの実行先
頭番地を特定する識別コードを含む割込み処理指令が存
在すると、このメインプログラムの次のプログラムカウ
ント値を内部のスタックポインタ用レジスタ42のスタ
ックポインタの指定するスタックメモリ41のデータ領
域へ格納する。同時にデータバス23ヘスタツクポイン
タ用レジスタ42のスタックポインタを出力する。命令
デコーダ回路46はスタックポインタを受領すると、デ
ータをラッチ指令に変換して第1のレジスタ43へ送出
する。すると第1のレジスタ43はデータバス23上の
スタックポインタをラッチする。その後、命令デコーダ
回路46は比較器45へ比較指令を送出する。比較器4
5は第1のレジスタ43から出力されたスタックポイン
タと第2のレジスタ44から出力された限界値とを比較
して、スタックポインタが限界値を越えているときのみ
、CPU21へ割込み禁止指令を送出する。
CPU21はスタックポインタを出力したのち所定時間
内に割込み禁止信号が入力されなければ、データバス2
3に最下位桁DOを1とし、上位D1〜D7の7桁を前
記識別コードとするデータを出力する。すると、このデ
ータは割込み制御回路27のデータラッチ回路28ヘラ
ツチされる。
内に割込み禁止信号が入力されなければ、データバス2
3に最下位桁DOを1とし、上位D1〜D7の7桁を前
記識別コードとするデータを出力する。すると、このデ
ータは割込み制御回路27のデータラッチ回路28ヘラ
ツチされる。
このデータラッチ回路28にラッチされた8桁のデータ
ビットのうち上位7桁の識別コードデータは入力ゲート
回路29へ入力される。また、最下位桁の1 (Hレベ
ル)のビット信号は受領端子としてのノアゲート30へ
入力される。したがって、CPU21からLレベルの割
込み許可信号I NTAが送出され、この割込み制御回
路27より上位方向に存在する他の周辺装置に対応する
割込み処理を実行中でないことを示すHレベルの入力信
号IEIが存在すれば、この割込み制御回路27に接続
されたバンク切換え回路32によって、メモリバンクが
該当サブメモリバンクへ切換えられる。
ビットのうち上位7桁の識別コードデータは入力ゲート
回路29へ入力される。また、最下位桁の1 (Hレベ
ル)のビット信号は受領端子としてのノアゲート30へ
入力される。したがって、CPU21からLレベルの割
込み許可信号I NTAが送出され、この割込み制御回
路27より上位方向に存在する他の周辺装置に対応する
割込み処理を実行中でないことを示すHレベルの入力信
号IEIが存在すれば、この割込み制御回路27に接続
されたバンク切換え回路32によって、メモリバンクが
該当サブメモリバンクへ切換えられる。
一方、CPU21は割込み制御回路27からデータバス
23上に出力された識別コードから既に切換えられたメ
モリバンク(RAM25) 上のプログラム実行開始先
頭番地(アドレス)を特定できる。しかして、CPU2
1はメインプログラムで指定されたサブメモリバンクの
プログラムを割込み処理にて実行する。サブメモリバン
クの一つのプログラムの最終番地に例えばメインメモリ
バンクへの割込み復帰命令を書込むと割込み復帰命令解
読回路38が動作して、バンク切換え回路32が元に復
帰して、元のメインバンクメモリ(ROM24)へ切換
る。CPU21はスタックポインタ用レジスタ42のス
タックポインタの指定するスタックメモリ41のプログ
ラムカウント値にてメインプログラムの復帰位置を把握
する。
23上に出力された識別コードから既に切換えられたメ
モリバンク(RAM25) 上のプログラム実行開始先
頭番地(アドレス)を特定できる。しかして、CPU2
1はメインプログラムで指定されたサブメモリバンクの
プログラムを割込み処理にて実行する。サブメモリバン
クの一つのプログラムの最終番地に例えばメインメモリ
バンクへの割込み復帰命令を書込むと割込み復帰命令解
読回路38が動作して、バンク切換え回路32が元に復
帰して、元のメインバンクメモリ(ROM24)へ切換
る。CPU21はスタックポインタ用レジスタ42のス
タックポインタの指定するスタックメモリ41のプログ
ラムカウント値にてメインプログラムの復帰位置を把握
する。
このように構成されたCPUのメモリ拡張回路であれば
、各周辺装置から第1の割込み要求信号INTEの入力
によってメモリバンクを切換えできるとともに、プロゲ
ララムによりメモリバンクを切換えることも可能である
。
、各周辺装置から第1の割込み要求信号INTEの入力
によってメモリバンクを切換えできるとともに、プロゲ
ララムによりメモリバンクを切換えることも可能である
。
また、一つの割込み処理を実施期間中に更に別の割込み
処理を実施することも可能である。そして、この場合、
CPU21に対して割込み要求が生じると、CPU21
はその都度スタックメリ41のスタックポインタを送出
して、第1のレジスタ43ヘラツチさせる。そして、こ
のスタックポインタが限界値を越えると割込み禁止信号
が入力するので、該当割込み処理の実行をせずに、現在
の割込み処理を継続実行して終了させる。そして、終了
して元のプログラムへ復帰するとスタックポインタが1
だけ減少するので、次に割込み要求が発生した場合はそ
の割込み処理を実行可能になる。したがって、スタック
メモリ41がオーバーフローすることはない。その結果
、マイクロコンピュータ全体の信頼性を向上できる。
処理を実施することも可能である。そして、この場合、
CPU21に対して割込み要求が生じると、CPU21
はその都度スタックメリ41のスタックポインタを送出
して、第1のレジスタ43ヘラツチさせる。そして、こ
のスタックポインタが限界値を越えると割込み禁止信号
が入力するので、該当割込み処理の実行をせずに、現在
の割込み処理を継続実行して終了させる。そして、終了
して元のプログラムへ復帰するとスタックポインタが1
だけ減少するので、次に割込み要求が発生した場合はそ
の割込み処理を実行可能になる。したがって、スタック
メモリ41がオーバーフローすることはない。その結果
、マイクロコンピュータ全体の信頼性を向上できる。
[発明の効果]
以上説明したように本発明によれば、各周辺装置からの
割込み要求信号にてメモリバンクを指定メモリバンクに
切換えられるとともに、プログラムによりCPU自体が
任意にメモリバンクを切換えることができ、さらに、ス
タックメモリのオーバーフロー現象を防止でき、各メモ
リバンクを有効に使用できるとともにマイクロコンピュ
ータ全体の信頼性を向上できる。
割込み要求信号にてメモリバンクを指定メモリバンクに
切換えられるとともに、プログラムによりCPU自体が
任意にメモリバンクを切換えることができ、さらに、ス
タックメモリのオーバーフロー現象を防止でき、各メモ
リバンクを有効に使用できるとともにマイクロコンピュ
ータ全体の信頼性を向上できる。
第1図は本発明の一実施例に係わるCPUのメモリ拡張
回路を示すブロック図、第2図は同実施例の割込み制御
回路を示すブロック図、第3図は従来のCPUのメモリ
拡張回路を示すブロック図、第4図は同従来回路におけ
る割込み制御回路を示すブロック図である。 21・・・CPU、22・・・アドレスバス、23・・
・データバス、24・・・ROM (メインメモリバン
ク)、25・・・RAM (サブメモリバンク)、27
・・・割込み制御回路、28・・・データラッチ回路、
29・・・入力ゲート回路、30・・・ノアゲート(受
領端子)、32・・・バンク切換え回路、34・・・フ
リップフロ・ノブ、38・・・割込み復帰命令解読回路
、41・・・スタックメモリ、42・・・スタックポイ
ンタ用レジスタ、43・・・第1のレジスタ、44・・
・第2のレジスタ、45・・・比較器、46・・・命令
デコーダ回路、INTE・・・第1の割込み要求信号、
INT・・・第2の割込み要求信号、I NTA・・・
割込み許可信号。
回路を示すブロック図、第2図は同実施例の割込み制御
回路を示すブロック図、第3図は従来のCPUのメモリ
拡張回路を示すブロック図、第4図は同従来回路におけ
る割込み制御回路を示すブロック図である。 21・・・CPU、22・・・アドレスバス、23・・
・データバス、24・・・ROM (メインメモリバン
ク)、25・・・RAM (サブメモリバンク)、27
・・・割込み制御回路、28・・・データラッチ回路、
29・・・入力ゲート回路、30・・・ノアゲート(受
領端子)、32・・・バンク切換え回路、34・・・フ
リップフロ・ノブ、38・・・割込み復帰命令解読回路
、41・・・スタックメモリ、42・・・スタックポイ
ンタ用レジスタ、43・・・第1のレジスタ、44・・
・第2のレジスタ、45・・・比較器、46・・・命令
デコーダ回路、INTE・・・第1の割込み要求信号、
INT・・・第2の割込み要求信号、I NTA・・・
割込み許可信号。
Claims (1)
- 【特許請求の範囲】 CPU(21)と;メインメモリバンク(24)と;該
メインメモリバンクと同一アドレス上に設けられた少な
くとも1個のサブメモリバンク(25)と;該サブメモ
リバンクに対応して備えられ、外部からの第1の割込み
要求信号の受領端子を備え、該第1の割込み要求信号を
受領して該CPUに対して第2の割込み要求信号を出力
するとともに該CPUからの割込み許可信号に応動して
、データバスに該第1の割込み要求信号によって要求さ
れたプログラムの実行先頭番地を指定する識別コード信
号を入力ゲート回路を介して乗せる該サブメモリバンク
に対応した数の割込み制御回路(27)と;該識別コー
ド信号を該データバスに乗せると同時に該割込み制御回
路によってメモリバンクを該割込み制御回路に対応する
サブメモリバンクに切り換えるバンク切換え回路(32
)とを備えたCPUのメモリ拡張回路において: 該メインメモリバンク又はサブメモリバンク内に記憶さ
れた実行中のプログラムから発行されて該データバスに
乗せられたサブメモリバンクを切り換えるためのデータ
をラッチするために該サブメモリバンクに対応して備え
られたデータラッチ回路(28)と;該データラッチ回
路にラッチされたデータの特定ビットを割込み要求信号
として該受領端子に入力するとともに、該ラッチされた
データの他のビットを識別コード信号として該入力ゲー
ト回路に入力するデータ分配回路(28、29、30)
と;該CPU内のスタックメモリの格納データ数を記憶
するスタックポインタ用レジスタと同じ値を記憶する第
1のレジスタ(43)と;予め定められた限界値を記憶
する第2のレジスタ(44)と;該第1及び第2のレジ
スタの記憶値を比較して該第1のレジスタの記憶値が前
記限界値を越えた場合に警報信号を該CPUへ出力する
比較器(45)とを備え、任意のプログラムによってメ
インメモリバンクの容量を該サブメモリバンクの容量だ
け拡張可能とするとともに、スタックメモリのオーバー
フローを阻止するようにしたことを特徴とするCPUの
メモリ拡張回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17772186A JPS6336340A (ja) | 1986-07-30 | 1986-07-30 | Cpuのメモリ拡張回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17772186A JPS6336340A (ja) | 1986-07-30 | 1986-07-30 | Cpuのメモリ拡張回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6336340A true JPS6336340A (ja) | 1988-02-17 |
Family
ID=16035948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17772186A Pending JPS6336340A (ja) | 1986-07-30 | 1986-07-30 | Cpuのメモリ拡張回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6336340A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007105073A (ja) * | 2005-10-11 | 2007-04-26 | Matsushita Electric Works Ltd | 連結キャビネット |
-
1986
- 1986-07-30 JP JP17772186A patent/JPS6336340A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007105073A (ja) * | 2005-10-11 | 2007-04-26 | Matsushita Electric Works Ltd | 連結キャビネット |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4034349A (en) | Apparatus for processing interrupts in microprocessing systems | |
US4410939A (en) | System for program interrupt processing with quasi-stack of register-sets | |
US5557766A (en) | High-speed processor for handling multiple interrupts utilizing an exclusive-use bus and current and previous bank pointers to specify a return bank | |
EP0312194B1 (en) | Data processor having two modes of operation | |
US3909797A (en) | Data processing system utilizing control store unit and push down stack for nested subroutines | |
US4268908A (en) | Modular macroprocessing system comprising a microprocessor and an extendable number of programmed logic arrays | |
JPS6053899B2 (ja) | デ−タ処理システム | |
CA1056953A (en) | Pathfinder microprogram control system | |
US20100299471A1 (en) | Microcontroller with an Interrupt Structure Having Programmable Priority Levels with each Priority Level Associated with a Different Register Set | |
KR100282015B1 (ko) | 데이타 처리 장치 | |
US5146581A (en) | Subprogram executing data processing system having bank switching control storing in the same address area in each of memory banks | |
EP0239078B1 (en) | Register saving/restoring system | |
EP0518479B1 (en) | Processing system and method including memory selection | |
JPS61182160A (ja) | デ−タ処理装置 | |
US4703419A (en) | Switchcover means and method for dual mode microprocessor system | |
US4320454A (en) | Apparatus and method for operand fetch control | |
US4047245A (en) | Indirect memory addressing | |
JPS6336340A (ja) | Cpuのメモリ拡張回路 | |
US4628450A (en) | Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor | |
EP0167241B1 (en) | Microprogramme sequence controller | |
JPS6336339A (ja) | Cpuのメモリ拡張回路 | |
JPS59218569A (ja) | マイクロ・コンピユ−タ | |
JPS60134956A (ja) | 情報処理システム | |
JP3127737B2 (ja) | ディジタル信号処理装置 | |
JPS6352241A (ja) | マイクロプロセツサ |