JPH04260144A - バンク切替方式のメモリアクセス方法 - Google Patents
バンク切替方式のメモリアクセス方法Info
- Publication number
- JPH04260144A JPH04260144A JP2122691A JP2122691A JPH04260144A JP H04260144 A JPH04260144 A JP H04260144A JP 2122691 A JP2122691 A JP 2122691A JP 2122691 A JP2122691 A JP 2122691A JP H04260144 A JPH04260144 A JP H04260144A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- bank
- task
- control
- address
- 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
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、マイクロコンピュータ
等を用いた制御装置のオペレーティングシステム処理の
管理下で拡張メモリに対するアクセスを行うためのバン
ク切替方式のメモリアクセス方法に関する。
等を用いた制御装置のオペレーティングシステム処理の
管理下で拡張メモリに対するアクセスを行うためのバン
ク切替方式のメモリアクセス方法に関する。
【0002】
【従来の技術】バンク切替方式は、限られた主記憶空間
(アドレス空間) を有効に利用するために、たとえ
ばページ単位の複数のバンクメモリ領域に対するアクセ
スを共通のアドレス指示により行う方式 (方法) で
ある。このバンク切替方式を拡張メモリに適用する場合
、主記憶空間の一部を拡張メモリ用に解放し、この部分
的記憶空間の下で、拡張メモリ内のバンクメモリ領域を
切替えることにより主記憶空間の容量に無関係な大容量
の拡張メモリに対するアクセスを行う。このメモリ制御
方式における拡張メモリの物理的アドレスは主記憶上の
解放された一部の領域 (以下ウインドウ領域と呼ぶ)
を示すが、論理的なアドレスはページ数分存在する。即
ちプログラムが拡張メモリのある領域を読出し (ある
いは書き込み) する場合はその領域に対応するページ
番号 (以下バンク番号と呼ぶ) をバンク制御レジス
タに設定しその上でウインドウ領域をアクセスする。
(アドレス空間) を有効に利用するために、たとえ
ばページ単位の複数のバンクメモリ領域に対するアクセ
スを共通のアドレス指示により行う方式 (方法) で
ある。このバンク切替方式を拡張メモリに適用する場合
、主記憶空間の一部を拡張メモリ用に解放し、この部分
的記憶空間の下で、拡張メモリ内のバンクメモリ領域を
切替えることにより主記憶空間の容量に無関係な大容量
の拡張メモリに対するアクセスを行う。このメモリ制御
方式における拡張メモリの物理的アドレスは主記憶上の
解放された一部の領域 (以下ウインドウ領域と呼ぶ)
を示すが、論理的なアドレスはページ数分存在する。即
ちプログラムが拡張メモリのある領域を読出し (ある
いは書き込み) する場合はその領域に対応するページ
番号 (以下バンク番号と呼ぶ) をバンク制御レジス
タに設定しその上でウインドウ領域をアクセスする。
【0003】図5はバンク切替方式の拡張メモリを採用
したシステム構成例を示す。CPU11はマイクロプロ
セッサ等の中央処理部分であり、メモリ12は、システ
ムを動作させるためのプログラムやデータをストア (
格納)する。拡張メモリ13は複数のバンク領域に分割
されている。拡張メモリ制御部14はCPU11のアク
セスを可能とする、拡張メモリ13上のバンク領域を指
示する。これらの構成各部は制御信号バス15、アドレ
スバス16, データバス17により接続されている。 図6は図5のCPU11が保有する主記憶空間と、拡張
メモリ13側の記憶空間の対応関係を示す。
したシステム構成例を示す。CPU11はマイクロプロ
セッサ等の中央処理部分であり、メモリ12は、システ
ムを動作させるためのプログラムやデータをストア (
格納)する。拡張メモリ13は複数のバンク領域に分割
されている。拡張メモリ制御部14はCPU11のアク
セスを可能とする、拡張メモリ13上のバンク領域を指
示する。これらの構成各部は制御信号バス15、アドレ
スバス16, データバス17により接続されている。 図6は図5のCPU11が保有する主記憶空間と、拡張
メモリ13側の記憶空間の対応関係を示す。
【0004】図7は図5の拡張メモリ制御部14の回路
構成例を示す。図7において、CPU11からウインド
ウ領域内のアドレスがアドレスバス16上に送出され、
バンク番号がデータバス17上に送出されると、デコー
ダ33によりCPU11の拡張メモリ13に対するアク
セス要求が検知される。次にデコーダ33からの指示信
号によりラッチ素子32において、データバス17上の
バンク番号が保持され、拡張メモリ13のアドレス上位
に出力される。次にCPU11が、たとえば、読出信号
を制御信号バス15に、読出しアドレスをアドレスバス
16に送出すると、拡張メモリ13ではバンク番号に対
応するバンク領域の読出アドレスで指定されたメモリ領
域の記憶情報を読出しデータバス17に転送する。
構成例を示す。図7において、CPU11からウインド
ウ領域内のアドレスがアドレスバス16上に送出され、
バンク番号がデータバス17上に送出されると、デコー
ダ33によりCPU11の拡張メモリ13に対するアク
セス要求が検知される。次にデコーダ33からの指示信
号によりラッチ素子32において、データバス17上の
バンク番号が保持され、拡張メモリ13のアドレス上位
に出力される。次にCPU11が、たとえば、読出信号
を制御信号バス15に、読出しアドレスをアドレスバス
16に送出すると、拡張メモリ13ではバンク番号に対
応するバンク領域の読出アドレスで指定されたメモリ領
域の記憶情報を読出しデータバス17に転送する。
【0005】
【発明が解決しようとする課題】CPU11はソフトウ
エアプログラムを演算実行することにより上述のメモリ
アクセス処理を行う。CPU11が単一のプログラム
(シングルタスクもしくはシングルプロセスとも呼ばれ
る) で動作している場合は問題が生じないが、CPU
11が複数のプログラムを並行して実行する場合、たと
えば第1のタスクを実行中に、割込み処理等により第2
のタスクを実行する場合に次のような問題が生じる。
エアプログラムを演算実行することにより上述のメモリ
アクセス処理を行う。CPU11が単一のプログラム
(シングルタスクもしくはシングルプロセスとも呼ばれ
る) で動作している場合は問題が生じないが、CPU
11が複数のプログラムを並行して実行する場合、たと
えば第1のタスクを実行中に、割込み処理等により第2
のタスクを実行する場合に次のような問題が生じる。
【0006】1)あるタスクが拡張メモリをアクセスし
ようとし、バンク制御レジスタにバンク番号を設定した
直後に別のタスクに制御が移行しそのタスクが拡張メモ
リの別のバンク番号に対するアクセスを行い、その後前
のタスクに制御が戻った場合、バンク制御レジスタは移
行したタスクにより変更されてしまう。元のタスクにお
いては既にバンク制御レジスタ (図7のラッチ32)
にそのタスク自体が必要なバンク番号を設定した後であ
るため改めてバンク番号を設定せずにメモリをアクセス
する。この結果、途中で制御が移ったタスクにより変更
されたバンク番号に対応するメモリに対する処理を行い
プログラム通りの正常な目的とする拡張メモリの論理ア
ドレスに対するアクセスが行われる。
ようとし、バンク制御レジスタにバンク番号を設定した
直後に別のタスクに制御が移行しそのタスクが拡張メモ
リの別のバンク番号に対するアクセスを行い、その後前
のタスクに制御が戻った場合、バンク制御レジスタは移
行したタスクにより変更されてしまう。元のタスクにお
いては既にバンク制御レジスタ (図7のラッチ32)
にそのタスク自体が必要なバンク番号を設定した後であ
るため改めてバンク番号を設定せずにメモリをアクセス
する。この結果、途中で制御が移ったタスクにより変更
されたバンク番号に対応するメモリに対する処理を行い
プログラム通りの正常な目的とする拡張メモリの論理ア
ドレスに対するアクセスが行われる。
【0007】2)前述の状態を回避するためには、ある
タスクが拡張メモリをアクセスする一連の作業中 (バ
ンク制御レジスタの設定、ウインドウ領域のアクセス)
は別のタスクの起動を禁止する処理が必要である。し
かしこのような禁止処理を行わせると、長期間にわたり
拡張メモリをアクセスするタスクが存在した場合、別の
タスクが動作できないという不具合が生じる。これは特
に外部事象に高速で応答する必要のあるリアルタイム制
御には大きな制限となる。
タスクが拡張メモリをアクセスする一連の作業中 (バ
ンク制御レジスタの設定、ウインドウ領域のアクセス)
は別のタスクの起動を禁止する処理が必要である。し
かしこのような禁止処理を行わせると、長期間にわたり
拡張メモリをアクセスするタスクが存在した場合、別の
タスクが動作できないという不具合が生じる。これは特
に外部事象に高速で応答する必要のあるリアルタイム制
御には大きな制限となる。
【0008】3)同様に回避手段としてタスクの管理を
行うオペレーティングシステムにおいてバンク制御レジ
スタの管理を行わせる方法がある。これはタスクの切り
替えが生じたときオペレーティングシステムがバンク制
御レジスタの内容をタスク毎に記憶しておき、あるタス
クに復帰した時点でオペレーティングシステムがそのタ
スクで記憶したバンク番号を再設定する方法である。し
かしこの方法においてもオペレーティングシステムにバ
ンク制御レジスタの制御を行わせることになり、オペレ
ーティングシステムのオーバーヘッドが増加し処理応答
性の低下を招く。またオペレーティングシステムが拡張
メモリのハードウエアに依存することになり、他の装置
への移植性が低下する。
行うオペレーティングシステムにおいてバンク制御レジ
スタの管理を行わせる方法がある。これはタスクの切り
替えが生じたときオペレーティングシステムがバンク制
御レジスタの内容をタスク毎に記憶しておき、あるタス
クに復帰した時点でオペレーティングシステムがそのタ
スクで記憶したバンク番号を再設定する方法である。し
かしこの方法においてもオペレーティングシステムにバ
ンク制御レジスタの制御を行わせることになり、オペレ
ーティングシステムのオーバーヘッドが増加し処理応答
性の低下を招く。またオペレーティングシステムが拡張
メモリのハードウエアに依存することになり、他の装置
への移植性が低下する。
【0009】そこで、本発明の目的は、上述の点に鑑み
て、複数のタスク処理によりバンク方式のメモリにアク
セスを行ってもアクセス領域の変更が生ぜず、また、メ
モリのアクセスのために他のタスクを停止させる必要が
なく、さらにメモリアクセス処理を複雑化することのな
いバンク切替方式のメモリアクセス方法を提供すること
にある。
て、複数のタスク処理によりバンク方式のメモリにアク
セスを行ってもアクセス領域の変更が生ぜず、また、メ
モリのアクセスのために他のタスクを停止させる必要が
なく、さらにメモリアクセス処理を複雑化することのな
いバンク切替方式のメモリアクセス方法を提供すること
にある。
【0010】
【課題を解決するための手段】このような目的を達成す
るために、本発明は、演算処理装置のソフトウエア処理
により発生され、アクセス対象のバンク領域を示すバン
ク番号をメモリ制御回路において受信し、当該受信し、
保持したバンク番号に対応の、メモリ上のバンク領域に
対する前記演算処理装置のアクセスを前記メモリ制御回
路により許可するバンク切替方式のメモリアクセス方法
において、前記演算処理装置の実行可能な複数のソフト
ウエア処理の種類に対応させた複数の前記メモリ制御回
路を設け、前記演算処理装置の現在、実行するソフトウ
エア処理の種類を識別し、当該識別したソフトウエア処
理の種類に対応の前記メモリ制御回路のみを、当該ソフ
トウエア処理が前記演算処理装置において実行されてい
る間前記メモリと接続することを特徴とする。
るために、本発明は、演算処理装置のソフトウエア処理
により発生され、アクセス対象のバンク領域を示すバン
ク番号をメモリ制御回路において受信し、当該受信し、
保持したバンク番号に対応の、メモリ上のバンク領域に
対する前記演算処理装置のアクセスを前記メモリ制御回
路により許可するバンク切替方式のメモリアクセス方法
において、前記演算処理装置の実行可能な複数のソフト
ウエア処理の種類に対応させた複数の前記メモリ制御回
路を設け、前記演算処理装置の現在、実行するソフトウ
エア処理の種類を識別し、当該識別したソフトウエア処
理の種類に対応の前記メモリ制御回路のみを、当該ソフ
トウエア処理が前記演算処理装置において実行されてい
る間前記メモリと接続することを特徴とする。
【0011】
【作用】CPU等の演算処理装置において実行するソフ
トウエア処理が切替わる毎にメモリ制御回路も切替わる
。このため、あるソフトウエア処理においてCPUから
バンク番号によりバンク指定を行った直後、割込みによ
り他のソフトウエア処理を実行しても上記バンク番号は
対応のメモリ制御回路内に保持される。この結果、CP
Uの実行のソフトウエア処理に復帰した場合は、CPU
はバンク番号の再指定を行う必要はなく、ただちに情報
の読取り処理を実行することができる。
トウエア処理が切替わる毎にメモリ制御回路も切替わる
。このため、あるソフトウエア処理においてCPUから
バンク番号によりバンク指定を行った直後、割込みによ
り他のソフトウエア処理を実行しても上記バンク番号は
対応のメモリ制御回路内に保持される。この結果、CP
Uの実行のソフトウエア処理に復帰した場合は、CPU
はバンク番号の再指定を行う必要はなく、ただちに情報
の読取り処理を実行することができる。
【0012】
【実施例】以下、図面を参照して本発明の実施例を詳細
に説明する。図1はバンク切替方式の化に対してバンク
選択を行うメモリ制御部の回路構成を示す。メモリ制御
部は拡張メモリを利用するタスク数分の4001、40
02、4003〜400nの制御ブロックを持つ。各ブ
ロックは同じ回路であるため以下の説明は4001のブ
ロックについて記述する。ラッチ素子45は従来のバン
ク制御レジスタと同様に拡張メモリのバンク番号を設定
するために使用され、ゲート素子46を介して拡張メモ
リの上位アドレス信号422としてメモリに接続される
。このレジスタは前述の各制御ブロック共通の制御方式
とし後述のフリップフロップ出力418が有効な場合の
みに書き込みが可能である。ラッチ素子47はそのブロ
ックを使用するタスクのスタック領域の下限アドレス、
ラッチ素子48は同様に上限アドレスをプログラムによ
り初期処理により設定される。コンパレータ素子49は
アドレスバス42のアドレス信号と47,48のラッチ
素子で設定されたスタック領域4下限, 上限アドレス
を比較する素子で、コンパレータ出力421はアドレス
バス42の情報が下限アドレス情報416以上でありか
つ上限アドレス情報417以下である時にコンパレータ
出力信号421を有効にする。オア素子410は読出し
指令信号43と書き込み指令信号44の論理和で出力を
有効にする。この信号とコンパレータ出力421の論理
積をアンド素子411により作成する。アンド出力42
0は前述の通り、そのブロックの設定されたスタック領
域に対する読出しもしくは書き込み指令がCPUより発
生した時点で有効になる。この信号によりフリップフロ
ップ素子412をセットしフリップフロップ出力418
を有効とする。この信号によりゲート46を有効にしバ
ンク信号414を拡張メモリ上位アドレス信号422と
してメモリに共通する。リセット要求信号419は他の
ブロックが有効となった場合にフリップフロップ412
をリセットするための信号で他のブロックの有効信号の
論理和をオア素子413で作成する。微分素子423は
413で作成されたリセット信号を微分してフリップフ
ロップ素子412をリセットする信号を作成するもので
ある。
に説明する。図1はバンク切替方式の化に対してバンク
選択を行うメモリ制御部の回路構成を示す。メモリ制御
部は拡張メモリを利用するタスク数分の4001、40
02、4003〜400nの制御ブロックを持つ。各ブ
ロックは同じ回路であるため以下の説明は4001のブ
ロックについて記述する。ラッチ素子45は従来のバン
ク制御レジスタと同様に拡張メモリのバンク番号を設定
するために使用され、ゲート素子46を介して拡張メモ
リの上位アドレス信号422としてメモリに接続される
。このレジスタは前述の各制御ブロック共通の制御方式
とし後述のフリップフロップ出力418が有効な場合の
みに書き込みが可能である。ラッチ素子47はそのブロ
ックを使用するタスクのスタック領域の下限アドレス、
ラッチ素子48は同様に上限アドレスをプログラムによ
り初期処理により設定される。コンパレータ素子49は
アドレスバス42のアドレス信号と47,48のラッチ
素子で設定されたスタック領域4下限, 上限アドレス
を比較する素子で、コンパレータ出力421はアドレス
バス42の情報が下限アドレス情報416以上でありか
つ上限アドレス情報417以下である時にコンパレータ
出力信号421を有効にする。オア素子410は読出し
指令信号43と書き込み指令信号44の論理和で出力を
有効にする。この信号とコンパレータ出力421の論理
積をアンド素子411により作成する。アンド出力42
0は前述の通り、そのブロックの設定されたスタック領
域に対する読出しもしくは書き込み指令がCPUより発
生した時点で有効になる。この信号によりフリップフロ
ップ素子412をセットしフリップフロップ出力418
を有効とする。この信号によりゲート46を有効にしバ
ンク信号414を拡張メモリ上位アドレス信号422と
してメモリに共通する。リセット要求信号419は他の
ブロックが有効となった場合にフリップフロップ412
をリセットするための信号で他のブロックの有効信号の
論理和をオア素子413で作成する。微分素子423は
413で作成されたリセット信号を微分してフリップフ
ロップ素子412をリセットする信号を作成するもので
ある。
【0013】このような回路の動作を図2〜図4を用い
て説明する。本実施例では、CPU(本発明の演算処理
装置) が各種ソフトウエア処理 (具体的にはアプリ
ケーショプログラム) を実行する際に、ソフトウエア
処理の種類に対応させて図2のように主記憶空間上にス
タック領域を設定することに着目し、このスタック領域
に対するCPUのアドレス発生によりCPUの実行しよ
うとするソフトウエア処理の種類を識別する。また、電
源起動時にCPUは、図1の各メモリ制御ブロック40
01〜400nのラッチ47,48に各メモリ制御ブロ
ックと対応のスタック領域のアドレス範囲を、図3の制
御手順により書き込んでおく。
て説明する。本実施例では、CPU(本発明の演算処理
装置) が各種ソフトウエア処理 (具体的にはアプリ
ケーショプログラム) を実行する際に、ソフトウエア
処理の種類に対応させて図2のように主記憶空間上にス
タック領域を設定することに着目し、このスタック領域
に対するCPUのアドレス発生によりCPUの実行しよ
うとするソフトウエア処理の種類を識別する。また、電
源起動時にCPUは、図1の各メモリ制御ブロック40
01〜400nのラッチ47,48に各メモリ制御ブロ
ックと対応のスタック領域のアドレス範囲を、図3の制
御手順により書き込んでおく。
【0014】このような状態でたとえばCPUがメモリ
ブロック4001に対応のソフトウエア処理を実行する
と、アドレスバス42上にスタック領域に対する読出し
アドレスまたは書き込みアドレスが発生する。メモリ制
御ブロック4001のコンパレータ49では、アドレス
バス上のアドレスがラッチ47,48の上下限値にある
ことを検知すると、オンの出力信号421を発生する。 また、読出し信号または書込み信号も発生されているこ
とをアンド素子411により確認し、上記オンの出力信
号421をフリップフロップ素子421により保持する
。フリップフロップ412のオンの信号保持によりゲー
ト46が開き、ラッチ素子と拡張メモリが接続される。 ラッチ45は図7に示す従来のメモリ制御回路14のラ
ッチ素子32と同一機能を有し、不図示のデコーダによ
り、拡張メモリに対するアドレス指定が検知されたとき
、データバス41上のバンク番号 (CPUにより発生
) を保持する。また、コンパレータ49の出力がオフ
、すなわち、他のメモリ制御ブロックに対応するソフト
ウエア処理が実行されている間はオア素子413および
微分素子423により作成されたリセット信号によりフ
リップフロップ412はレベルオフの信号を出力する。 このため、ゲート46が閉じ、ラッチ素子45と拡張メ
モリとは非接続状態となる。
ブロック4001に対応のソフトウエア処理を実行する
と、アドレスバス42上にスタック領域に対する読出し
アドレスまたは書き込みアドレスが発生する。メモリ制
御ブロック4001のコンパレータ49では、アドレス
バス上のアドレスがラッチ47,48の上下限値にある
ことを検知すると、オンの出力信号421を発生する。 また、読出し信号または書込み信号も発生されているこ
とをアンド素子411により確認し、上記オンの出力信
号421をフリップフロップ素子421により保持する
。フリップフロップ412のオンの信号保持によりゲー
ト46が開き、ラッチ素子と拡張メモリが接続される。 ラッチ45は図7に示す従来のメモリ制御回路14のラ
ッチ素子32と同一機能を有し、不図示のデコーダによ
り、拡張メモリに対するアドレス指定が検知されたとき
、データバス41上のバンク番号 (CPUにより発生
) を保持する。また、コンパレータ49の出力がオフ
、すなわち、他のメモリ制御ブロックに対応するソフト
ウエア処理が実行されている間はオア素子413および
微分素子423により作成されたリセット信号によりフ
リップフロップ412はレベルオフの信号を出力する。 このため、ゲート46が閉じ、ラッチ素子45と拡張メ
モリとは非接続状態となる。
【0015】図4はCPUの実行するアプリケーション
プログラムの動作の流れを示したものでタスク1の処理
中に外部事象の割り込みが発生しオペレーティングシス
テムの管理によりタスク2に制御が移りその後再度タス
ク1に制御が戻った状態例を表している。ここで6−1
の時点でタスク1は拡張メモリに対するアクセスのため
バンク制御レジスタ (図1のラッチ素子45) にバ
ンク番号の書き込みを行った。その後割り込みが入り6
−2でタスク1のマイクロプロセッサのレジスタ状態を
タスク1のスタック領域に待避し割り込み処理後オペレ
ーティングシステムに制御が移り、オペレーティングシ
ステムはタスク2に実行権を渡す。タスク2に制御が移
る時にタスク2のCPUのレジスタ状態をタスク2のス
タック領域より6−3で復帰する。タスク2はその中で
拡張メモリをアクセスしバンク制御レジスタを書き換え
る。 その後再度オペレーティングシステムに制御を移しオペ
レーティングシステムは状況判断の結果としてタスク1
に実行権を与える。6−7でタスク1の動作のためのレ
ジスタをタスク1のスタック領域より復帰する。6−8
でタスク1は6−1で設定したバンクに対応した拡張メ
モリに対するアクセスを行う。
プログラムの動作の流れを示したものでタスク1の処理
中に外部事象の割り込みが発生しオペレーティングシス
テムの管理によりタスク2に制御が移りその後再度タス
ク1に制御が戻った状態例を表している。ここで6−1
の時点でタスク1は拡張メモリに対するアクセスのため
バンク制御レジスタ (図1のラッチ素子45) にバ
ンク番号の書き込みを行った。その後割り込みが入り6
−2でタスク1のマイクロプロセッサのレジスタ状態を
タスク1のスタック領域に待避し割り込み処理後オペレ
ーティングシステムに制御が移り、オペレーティングシ
ステムはタスク2に実行権を渡す。タスク2に制御が移
る時にタスク2のCPUのレジスタ状態をタスク2のス
タック領域より6−3で復帰する。タスク2はその中で
拡張メモリをアクセスしバンク制御レジスタを書き換え
る。 その後再度オペレーティングシステムに制御を移しオペ
レーティングシステムは状況判断の結果としてタスク1
に実行権を与える。6−7でタスク1の動作のためのレ
ジスタをタスク1のスタック領域より復帰する。6−8
でタスク1は6−1で設定したバンクに対応した拡張メ
モリに対するアクセスを行う。
【0016】この例によると6−1におけるバンクレジ
スタ設定はタスク1に対応したバンク制御レジスタに対
して行われ、タスク2に制御が移行する時点 (6−3
) でタスク2のスタック領域に対するアクセスが発生
しバンク制御回路がタスク2のブロックに切り替えられ
タスク2での拡張メモリアクセスはそのブロックの制御
回路内で処理される。6−7でタスク1に再度制御が移
行する時点でタスク1のスタック領域に対するアクセス
が発生しバンク制御回路はタスク1用となり6−8の拡
張メモリアクセスに対するバンクは6−1で設定したも
のとなる。
スタ設定はタスク1に対応したバンク制御レジスタに対
して行われ、タスク2に制御が移行する時点 (6−3
) でタスク2のスタック領域に対するアクセスが発生
しバンク制御回路がタスク2のブロックに切り替えられ
タスク2での拡張メモリアクセスはそのブロックの制御
回路内で処理される。6−7でタスク1に再度制御が移
行する時点でタスク1のスタック領域に対するアクセス
が発生しバンク制御回路はタスク1用となり6−8の拡
張メモリアクセスに対するバンクは6−1で設定したも
のとなる。
【0017】以上、説明したように、CPUがソフトウ
エア処理を割込み変更する毎に元のソフトウエア処理中
で使用したバンク番号は対応のメモリ制御ブロック内の
ラッチ素子45に保持されている。このため、CPUが
元のソフトウエア処理に復帰しても、従来のようにバン
ク番号を新たに設定する必要がない。
エア処理を割込み変更する毎に元のソフトウエア処理中
で使用したバンク番号は対応のメモリ制御ブロック内の
ラッチ素子45に保持されている。このため、CPUが
元のソフトウエア処理に復帰しても、従来のようにバン
ク番号を新たに設定する必要がない。
【0018】本実施例の他に次の例が挙げられる。
1)CPUの実行するソフトウエア処理の種類を検知す
るためには、他の方法を用いることもできる。すなわち
、ソフトウエア処理を規定したアプリケーションプログ
ラムの格納アドレスは固定であるので、この格納アドレ
スの上限値および下限値を図1のラッチ素子47,48
に保持させるようにしてもよい。
るためには、他の方法を用いることもできる。すなわち
、ソフトウエア処理を規定したアプリケーションプログ
ラムの格納アドレスは固定であるので、この格納アドレ
スの上限値および下限値を図1のラッチ素子47,48
に保持させるようにしてもよい。
【0019】2)本実施例では拡張メモリに対してバン
ク方式を適用する例を示したが拡張メモリに限らずバン
ク方式を採用するメモリに本発明を適用できることは言
うまでもない。
ク方式を適用する例を示したが拡張メモリに限らずバン
ク方式を採用するメモリに本発明を適用できることは言
うまでもない。
【0020】
【発明の効果】以上、説明したように、本発明によれば
、バンク切り替え方式によるメモリを使用する各種情報
処理装置において、実行のプログラムにおいてソフトウ
エア上の複雑なメモリ管理手続き無しで複数のタスクが
拡張メモリを使用することが可能である。また、タスク
毎のアプリケーションプログラムやオペレーティングシ
ステム上でメモリ制御のための排他的制御などの手続き
が不要になるため処理の高速化が図れると共に、プログ
ラム作成時の手続き忘れ等による障害の発生を未然に防
ぐことが出来、製品の品質向上の効果も得られる。
、バンク切り替え方式によるメモリを使用する各種情報
処理装置において、実行のプログラムにおいてソフトウ
エア上の複雑なメモリ管理手続き無しで複数のタスクが
拡張メモリを使用することが可能である。また、タスク
毎のアプリケーションプログラムやオペレーティングシ
ステム上でメモリ制御のための排他的制御などの手続き
が不要になるため処理の高速化が図れると共に、プログ
ラム作成時の手続き忘れ等による障害の発生を未然に防
ぐことが出来、製品の品質向上の効果も得られる。
【図1】本発明実施例のメモリ制御回路の回路構成を示
す回路図である。
す回路図である。
【図2】本発明実施例のスタック領域に関するメモリマ
ップである。
ップである。
【図3】本発明実施例のCPUが実行する初期処理の内
容を示すフローチャートである。
容を示すフローチャートである。
【図4】本発明実施例のCPUのソフトウエア処理とバ
ンクレジスタの対応関係を示すタイミングチャートであ
る。
ンクレジスタの対応関係を示すタイミングチャートであ
る。
【図5】従来のシステム構成を示すブロック図である。
【図6】従来のバンクメモリのメモリ空間を示すメモリ
マップである。
マップである。
【図7】従来のメモリ制御回路の回路構成を示すブロッ
ク図である。
ク図である。
11 CPU
12 メモリ
13 拡張メモリ
14 拡張メモリ制御部
15 制御信号
16 アドレスバス
17 データバス
33 デコーダ素子
34 データバス信号
35 アドレスバス信号
36 メモリ書込指示信号
37 メモリ読出指示信号
39 メモリアドレス上位(バンク番号)41
データバス 42 アドレスバス 43 読出し指令信号 44 書込み指令信号 45 ラッチ素子 46 ゲート素子 47 ラッチ素子 48 ラッチ素子 49 コンパレータ素子 310 メモリアドレス下位 311 メモリ素子選択信号 410 オア素子 411 アンド素子 412 フリップフロップ素子 413 オア素子 414 バンク信号 415 バンク信号 416 下限アドレス 417 上限アドレス 418 フリップフロップ出力 419 リセット 信号 420 アンド出力 421 コンパレータ出力 422 メモリアドレス上位 4001 メモリ制御ブロック 4002 メモリ制御ブロック 4003 メモリ制御ブロック 400n メモリ制御ブロック
データバス 42 アドレスバス 43 読出し指令信号 44 書込み指令信号 45 ラッチ素子 46 ゲート素子 47 ラッチ素子 48 ラッチ素子 49 コンパレータ素子 310 メモリアドレス下位 311 メモリ素子選択信号 410 オア素子 411 アンド素子 412 フリップフロップ素子 413 オア素子 414 バンク信号 415 バンク信号 416 下限アドレス 417 上限アドレス 418 フリップフロップ出力 419 リセット 信号 420 アンド出力 421 コンパレータ出力 422 メモリアドレス上位 4001 メモリ制御ブロック 4002 メモリ制御ブロック 4003 メモリ制御ブロック 400n メモリ制御ブロック
Claims (1)
- 【請求項1】演算処理装置のソフトウエア処理により発
生され、アクセス対象のバンク領域を示すバンク番号を
メモリ制御回路において受信し、当該受信し、保持した
バンク番号に対応の、メモリ上のバンク領域に対する前
記演算処理装置のアクセスを前記メモリ制御回路により
許可するバンク切替方式のメモリアクセス方法において
、前記演算処理装置の実行可能な複数のソフトウエア処
理の種類に対応させた複数の前記メモリ制御回路を設け
、前記演算処理装置の現在、実行するソフトウエア処理
の種類を識別し、当該識別したソフトウエア処理の種類
に対応の前記メモリ制御回路のみを、当該ソフトウエア
処理が前記演算処理装置において実行されている間前記
メモリと接続することを特徴とするバンク切替方式のメ
モリアクセス方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2122691A JPH04260144A (ja) | 1991-02-15 | 1991-02-15 | バンク切替方式のメモリアクセス方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2122691A JPH04260144A (ja) | 1991-02-15 | 1991-02-15 | バンク切替方式のメモリアクセス方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04260144A true JPH04260144A (ja) | 1992-09-16 |
Family
ID=12049107
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2122691A Pending JPH04260144A (ja) | 1991-02-15 | 1991-02-15 | バンク切替方式のメモリアクセス方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04260144A (ja) |
-
1991
- 1991-02-15 JP JP2122691A patent/JPH04260144A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5600807A (en) | Programmable controller capable of updating a user program during operation by switching between user program memories | |
| JP2000047974A (ja) | バス制御コントローラのバス調停方法、バス制御コントローラ及び電子機器のシステム | |
| JPS6319058A (ja) | メモリ装置 | |
| US4628450A (en) | Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor | |
| JPH04260144A (ja) | バンク切替方式のメモリアクセス方法 | |
| JP2568017B2 (ja) | マイクロプロセッサ及びそれを使用したデータ処理システム | |
| JPH0736704A (ja) | プログラムダウンロード方式 | |
| JPH0635747A (ja) | デバッグ支援装置 | |
| JP2587468B2 (ja) | ロツクデータ設定装置 | |
| JPS592051B2 (ja) | 相互排他要求選択装置 | |
| JPS59229662A (ja) | 共有メモリ制御回路 | |
| JPS59116866A (ja) | 計算機システムの記憶装置 | |
| JP2000029508A (ja) | プログラマブルコントローラ | |
| JPH07271575A (ja) | レジスタ拡張回路 | |
| JPH0743668B2 (ja) | アクセス制御装置 | |
| JPH0447350A (ja) | 主記憶読み出し応答制御方式 | |
| JPH0391055A (ja) | ハードウエアロックのセット方法、ハードウエアロック制御装置、ハードウエアロックの検出方法と装置 | |
| JP2876737B2 (ja) | プログラム事象記録処理方式 | |
| JPS63155254A (ja) | 情報処理装置 | |
| JP2665173B2 (ja) | プロセッサトラップ回路 | |
| JPH06110828A (ja) | メモリ制御装置 | |
| JPS6126701B2 (ja) | ||
| JPH02183342A (ja) | 割込み制御装置 | |
| JPS61165172A (ja) | メモリアクセス制御方式 | |
| JPH09325935A (ja) | バス切り換え回路 |