JPH0423147A - バンク切り換え方式 - Google Patents
バンク切り換え方式Info
- Publication number
- JPH0423147A JPH0423147A JP12686590A JP12686590A JPH0423147A JP H0423147 A JPH0423147 A JP H0423147A JP 12686590 A JP12686590 A JP 12686590A JP 12686590 A JP12686590 A JP 12686590A JP H0423147 A JPH0423147 A JP H0423147A
- Authority
- JP
- Japan
- Prior art keywords
- program
- address
- bank
- memory
- banks
- 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
- 230000015654 memory Effects 0.000 claims abstract description 43
- 238000004458 analytical method Methods 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
複数のメモリバンクを切り換えてアドレスの拡張を行う
バンク切り換え方式に関し、 バンク切り換え時のプログラム上の操作を無くし、プロ
グラムミスの発生を防止することを目的とし、 複数のメモリバンクを切り換えてアドレスの拡張を行う
バンク切り換え方式において、マイクロプロセッサの動
作を規定するプログラムのアドレスを、そのプログラム
の各モジュール内で参照するメモリバンクに、対応させ
てプログラム作成を行うプログラム作成部と、プログラ
ム実行時に、前記メモリバンクに対応ずけて決められて
いるプログラムアドレスを解析するアドレス解析部と、
このアドレス解析部の解析結果に基づいて前記複数のメ
モリバンクを切り換えるバンク切り換え部とを備えるよ
うに構成する。
バンク切り換え方式に関し、 バンク切り換え時のプログラム上の操作を無くし、プロ
グラムミスの発生を防止することを目的とし、 複数のメモリバンクを切り換えてアドレスの拡張を行う
バンク切り換え方式において、マイクロプロセッサの動
作を規定するプログラムのアドレスを、そのプログラム
の各モジュール内で参照するメモリバンクに、対応させ
てプログラム作成を行うプログラム作成部と、プログラ
ム実行時に、前記メモリバンクに対応ずけて決められて
いるプログラムアドレスを解析するアドレス解析部と、
このアドレス解析部の解析結果に基づいて前記複数のメ
モリバンクを切り換えるバンク切り換え部とを備えるよ
うに構成する。
本発明は、複数のメモリバンクを切り換えてアドレスの
拡張を行うバンク切り換え方式に関する。
拡張を行うバンク切り換え方式に関する。
マイクロプロセッサがアクセスできるアドレス空間は、
それぞれのマイクロプロセッサの仕様で決まっている。
それぞれのマイクロプロセッサの仕様で決まっている。
しかしながら、プログラムによっては、マイクロプロセ
ッサが持っているアドレス空間より広いアドレス空間を
必要とすることがある。そこで、マイクロプロセッサが
直接アクセスできるアドレス空間とは別のアドレス空間
に複数のメモリエリア(これをバンクと呼ぶ)を配置し
、それら複数のバンクをバンクレジスタに基づいて切り
換えてアドレスの拡張を行うバンク切り換え方式が知ら
れている。
ッサが持っているアドレス空間より広いアドレス空間を
必要とすることがある。そこで、マイクロプロセッサが
直接アクセスできるアドレス空間とは別のアドレス空間
に複数のメモリエリア(これをバンクと呼ぶ)を配置し
、それら複数のバンクをバンクレジスタに基づいて切り
換えてアドレスの拡張を行うバンク切り換え方式が知ら
れている。
第5図は、従来のバンク切り換え方式におけるプロセッ
サシステムの回路構成図であり、第6図はそのレジスタ
マツプである。
サシステムの回路構成図であり、第6図はそのレジスタ
マツプである。
第5図において、CPUIIは、C312(コントロー
ル・ストレージ)に記憶されている制御プログラムに従
って処理を実行するプロセッサである。
ル・ストレージ)に記憶されている制御プログラムに従
って処理を実行するプロセッサである。
バンクO、バツクト・・等からなる複数のバンク13は
、C312とは別のアドレス空間に配置されるメモリで
あり、ROMまたはRAMで構成されている。バンクレ
ジスタ14は、これら複数のバンク13を切り換える為
のレジスタであり、このバンクレジスタ14に書き込ま
れたデータはデコーダ15でデコードされて、対応する
バンクをイネーブルとする信号が出力される。また、ハ
ードレジスタ群16は、各種演算に使用されるレジスタ
群である。
、C312とは別のアドレス空間に配置されるメモリで
あり、ROMまたはRAMで構成されている。バンクレ
ジスタ14は、これら複数のバンク13を切り換える為
のレジスタであり、このバンクレジスタ14に書き込ま
れたデータはデコーダ15でデコードされて、対応する
バンクをイネーブルとする信号が出力される。また、ハ
ードレジスタ群16は、各種演算に使用されるレジスタ
群である。
なお、CPUI lとC312間は、CSデータバス1
7及びCSアドレスバス18で接続されており、CPU
IIと各バンク13間及びレジスタ間等は、レジスタデ
ータバス19及びレジスタアドレスバス20で接続され
ている。
7及びCSアドレスバス18で接続されており、CPU
IIと各バンク13間及びレジスタ間等は、レジスタデ
ータバス19及びレジスタアドレスバス20で接続され
ている。
上記各レジスタには、第6図に示すように8ビツトのア
ドレス領域が割り当てられいる。アドレス「00」から
アドレス’BFJ (16進数)は、バンク切り換えエ
リアであり、このバンク切り換えエリアは上述した複数
のバンク1、バンク2・・・に割り当てられる。アドレ
ス「CO」からアドレスrFF、は、ハードレジスタ群
16に割り当てられており、そのアドレス間にバンクレ
ジスタ14のアドレスも割り当てられている。
ドレス領域が割り当てられいる。アドレス「00」から
アドレス’BFJ (16進数)は、バンク切り換えエ
リアであり、このバンク切り換えエリアは上述した複数
のバンク1、バンク2・・・に割り当てられる。アドレ
ス「CO」からアドレスrFF、は、ハードレジスタ群
16に割り当てられており、そのアドレス間にバンクレ
ジスタ14のアドレスも割り当てられている。
上述した従来のバンク切り換え方式では、バンクを切り
換える際に、C312に格納されているプログラムが、
先ずバンクレジスタ14に特定のバンクを指定するデー
タをセットし、その後そのバンクレジスタ14のデータ
により指定されるバンクのデータを睨み出す等の操作が
行う必要があった。すなわち、従来のバンク切り換え方
式では、プログラマが、現在どのバンクを使用している
かを常に意識してプログラムを作成しないと、バンク切
り換え時にプログラムミスが発生する可能性があった。
換える際に、C312に格納されているプログラムが、
先ずバンクレジスタ14に特定のバンクを指定するデー
タをセットし、その後そのバンクレジスタ14のデータ
により指定されるバンクのデータを睨み出す等の操作が
行う必要があった。すなわち、従来のバンク切り換え方
式では、プログラマが、現在どのバンクを使用している
かを常に意識してプログラムを作成しないと、バンク切
り換え時にプログラムミスが発生する可能性があった。
その為、プログラムが複雑化してバンク切り換えが頻繁
に行われると、それだけプログラムミスが発生する可能
性が高くなるという問題点があった。
に行われると、それだけプログラムミスが発生する可能
性が高くなるという問題点があった。
本発明は、バンク切り換え時のプログラム上の操作を無
くし、プログラムミスの発生を防止することを目的とす
る。
くし、プログラムミスの発生を防止することを目的とす
る。
第1図は、本発明の原理説明図である。
同図において、プログラム作成部1は、マイクロプロセ
ッサの動作を規定するプログラムのアドレスを、そのプ
ログラムの各モジュール内で参照するメモリバンクに対
応させてプログラムの作成を行う。
ッサの動作を規定するプログラムのアドレスを、そのプ
ログラムの各モジュール内で参照するメモリバンクに対
応させてプログラムの作成を行う。
アドレス解析部2は、プログラム実行時に、メモリバン
クに対応ずけて決められているプログラムアドレスを解
析し、そのときのアドレスに対応するメモリバンクを指
定する。
クに対応ずけて決められているプログラムアドレスを解
析し、そのときのアドレスに対応するメモリバンクを指
定する。
また、バンク切り換え部3は、上記アドレス解析部2の
解析結果に基づいて、そのときのアドレスに何れのメモ
リバンクが対応するかを判断し、対応するメモリバンク
への切り換えを行う。
解析結果に基づいて、そのときのアドレスに何れのメモ
リバンクが対応するかを判断し、対応するメモリバンク
への切り換えを行う。
プログラム作成時には、プログラム作成部1により、例
えばプログラム内の各モジュールのアドレスが、モジュ
ール内で参照されるメモリバンクと対応ずけて配置され
る。そして、プログラム実行時には、そのときのアドレ
スから対応するメモリバンクが指定され、その指定され
たメモリバンクへの切り換えが行われる。
えばプログラム内の各モジュールのアドレスが、モジュ
ール内で参照されるメモリバンクと対応ずけて配置され
る。そして、プログラム実行時には、そのときのアドレ
スから対応するメモリバンクが指定され、その指定され
たメモリバンクへの切り換えが行われる。
従って、プログラムによりバンク切り換えの操作をする
必要がないので、バンク切り換える為のプログラムミス
を無くすことができる。
必要がないので、バンク切り換える為のプログラムミス
を無くすことができる。
(実 施 例〕
以下、本発明の実施例を図面を参照しながら説明する。
第2図は、本発明のバンク切り換え方式を適用したプロ
セッサシステムの回路構成図である。同図において、第
5図に示した従来の回路と同じ回路ブロックには同じ符
号を引用して説明を行う。
セッサシステムの回路構成図である。同図において、第
5図に示した従来の回路と同じ回路ブロックには同じ符
号を引用して説明を行う。
CPUI 1は、CSアドレスバス17及びCSデータ
バス18を介してC312(コントロール・ストレージ
)に接続しており、C312に記憶されている制御プロ
グラムに従って処理を実行する。また、CPUIIは、
レジスタアドレスバス19及びレジスタデータバス20
を介して複数のメモリバンク13(バンク0、バツクト
・・)、共通エリア21及びハードレジスタ群16に接
続している。
バス18を介してC312(コントロール・ストレージ
)に接続しており、C312に記憶されている制御プロ
グラムに従って処理を実行する。また、CPUIIは、
レジスタアドレスバス19及びレジスタデータバス20
を介して複数のメモリバンク13(バンク0、バツクト
・・)、共通エリア21及びハードレジスタ群16に接
続している。
共通エリア21は、C312の制御プログラムの全アド
レスから参照可能なメモリであり、処理途中のデータ等
を記憶するメモリである。
レスから参照可能なメモリであり、処理途中のデータ等
を記憶するメモリである。
複数のメモリバンク13は、C312とは別のアドレス
空間に配置されるレジスタ等からなるメモリであり、R
OMまたはRAMで構成されている。このメモリバンク
13は、後述するデコーダ22等により何れかのバンク
が選択され、その選択されたバンクがCPUIIにより
アクセスされる。また、ハードレジスタ群16は、演算
結果等を記憶するレジスタ群である。
空間に配置されるレジスタ等からなるメモリであり、R
OMまたはRAMで構成されている。このメモリバンク
13は、後述するデコーダ22等により何れかのバンク
が選択され、その選択されたバンクがCPUIIにより
アクセスされる。また、ハードレジスタ群16は、演算
結果等を記憶するレジスタ群である。
デコーダ22は、CSアドレスをデコードする回路であ
り、そのデコード結果はレジスタ23に記憶される。レ
ジスタ23に記憶されたデータはデコーダ24で再びデ
コードされて、そのデコード結果によりCSアドレスに
対応するバンク13が選択される。すなわち、デコーダ
22等によりはCSアドレスに応じて自動的にバンクを
切り換えることができる。
り、そのデコード結果はレジスタ23に記憶される。レ
ジスタ23に記憶されたデータはデコーダ24で再びデ
コードされて、そのデコード結果によりCSアドレスに
対応するバンク13が選択される。すなわち、デコーダ
22等によりはCSアドレスに応じて自動的にバンクを
切り換えることができる。
一般にプログラムの作成は、モジュール単位で行われる
ことが多い、そして、1つのモジュール内では全てのレ
ジスタ等が参照されるわけではなく、参照されるレジス
タは特定のレジスタに限られる場合がほとんどである。
ことが多い、そして、1つのモジュール内では全てのレ
ジスタ等が参照されるわけではなく、参照されるレジス
タは特定のレジスタに限られる場合がほとんどである。
また、サブルーチン等で使用されるレジスタも、それぞ
れのサブルーチン内では特定のものに限定される場合が
多い。
れのサブルーチン内では特定のものに限定される場合が
多い。
この点に着目して、本実施例では、C312の制御プロ
グラムを作成する際に、制御プログラムを複数のモジュ
ールに分割し、それぞれのモジエール内で参照するメモ
リバンクとそれぞれのモジュールのアドレスとを対応ず
けてプログラムを作成するようにした。すなわち、特定
のアドレス範囲内では、特定のメモリバンク(1個また
は複数であってもよい)だけを参照するようにプログラ
ムを構成した。このようにC312の制御プログラムを
構成することにより、プログラムアドレスが決まれば、
参照すべきメモリバンクが一義的に定まるので、そのア
ドレスをハードウェアでデコードすることにより、その
プログラムで参照すべきメモリバンクに切り換えること
が可能となる。
グラムを作成する際に、制御プログラムを複数のモジュ
ールに分割し、それぞれのモジエール内で参照するメモ
リバンクとそれぞれのモジュールのアドレスとを対応ず
けてプログラムを作成するようにした。すなわち、特定
のアドレス範囲内では、特定のメモリバンク(1個また
は複数であってもよい)だけを参照するようにプログラ
ムを構成した。このようにC312の制御プログラムを
構成することにより、プログラムアドレスが決まれば、
参照すべきメモリバンクが一義的に定まるので、そのア
ドレスをハードウェアでデコードすることにより、その
プログラムで参照すべきメモリバンクに切り換えること
が可能となる。
従って、従来のようにバンクを切り換える際に、プログ
ラムによりバンクレジスタ14(第5図参照)を書き換
える等の操作が不要となり、バンク切り換えの為のプロ
グラムミスを無くすことができる。
ラムによりバンクレジスタ14(第5図参照)を書き換
える等の操作が不要となり、バンク切り換えの為のプロ
グラムミスを無くすことができる。
第3図は、本実施例のレジスタマツプを示す図である。
レジスタアドレスは、バンク切り換えエリア25と、共
通エリア21と、ハードレジスタ群16とに割り当てら
れており、アドレス「00」からアドレスrBF、には
、バンク切り換えエリア25と共通エリア21とが配置
されている。ここで、バンク切り換えエリア25は、バ
ンク切り換えで選択されたバンク13に割り当てられる
領域である。また、アドレス「CO」からアドレスrF
F。
通エリア21と、ハードレジスタ群16とに割り当てら
れており、アドレス「00」からアドレスrBF、には
、バンク切り換えエリア25と共通エリア21とが配置
されている。ここで、バンク切り換えエリア25は、バ
ンク切り換えで選択されたバンク13に割り当てられる
領域である。また、アドレス「CO」からアドレスrF
F。
には、ハードレジスタ群16が配置されている。
次に、第4図は、C312の制御プログラムのアドレス
とメモリバンク13との対応関係を示す図である。同図
に示すようにC312のアドレスにより、そのプログラ
ム領域内でどのメモリバンク13が参照されるかが決ま
る。
とメモリバンク13との対応関係を示す図である。同図
に示すようにC312のアドレスにより、そのプログラ
ム領域内でどのメモリバンク13が参照されるかが決ま
る。
例えば、実行中の制御プログラムのアドレスが、アドレ
ス「0000」からアドレスr 0FFF 、の範囲に
あるときには、デコーダ22によりそのときのアドレス
がデコードされ、そのデコード結果に基づいて対応する
メモリバツクエ3として、この場合、バンク0が選択さ
れる。
ス「0000」からアドレスr 0FFF 、の範囲に
あるときには、デコーダ22によりそのときのアドレス
がデコードされ、そのデコード結果に基づいて対応する
メモリバツクエ3として、この場合、バンク0が選択さ
れる。
また、実行中の制御プログラムのアドレスがr 100
OJからr 27FF Jの範囲にあるときには、同様
にしてその時のアドレスのデコード結果から、アドレス
に対応するメモリバンク13として、この場合、バンク
1が選択される。
OJからr 27FF Jの範囲にあるときには、同様
にしてその時のアドレスのデコード結果から、アドレス
に対応するメモリバンク13として、この場合、バンク
1が選択される。
以上述べたように、上記実施例では、同一のメモリバン
クを参照するプログラムモジュールを1単位として、そ
の1単位のアドレスを参照すべきメモリバンクに対応さ
せてプログラムを作成している。そして、プログラム実
行時に、そのアドレスをデコードしてメモリバンクを切
り換えるようにしている。
クを参照するプログラムモジュールを1単位として、そ
の1単位のアドレスを参照すべきメモリバンクに対応さ
せてプログラムを作成している。そして、プログラム実
行時に、そのアドレスをデコードしてメモリバンクを切
り換えるようにしている。
従って、従来のように、ソフトウェアによりバンク切り
換えの操作を行う必要がないので、バンク切り換え時の
プログラムミスを無くすことができる。また、プログラ
ム作成時に現在どのバンクを使用しているかを意識せず
にプログラムを作成できるので、プログラマの負担を軽
減させることができる。
換えの操作を行う必要がないので、バンク切り換え時の
プログラムミスを無くすことができる。また、プログラ
ム作成時に現在どのバンクを使用しているかを意識せず
にプログラムを作成できるので、プログラマの負担を軽
減させることができる。
なお、上記実施例ではC312のアドレスをデコーダ2
2でデコードした後、そのデコード結果をレジスタ23
に記憶するよにしているが、デコーダ22により直接バ
ンクを切り換えるようにしでもよい。
2でデコードした後、そのデコード結果をレジスタ23
に記憶するよにしているが、デコーダ22により直接バ
ンクを切り換えるようにしでもよい。
〔発明の効果]
本発明によれば、ハードウェアによりプログラムアドレ
スをデコードし、その結果に基づいてメモリバンクを切
り換えることができるので、従来のようにプログラムに
よるバンク切り換えが不要となり、ソフトウェアによる
バグの発生を無くずことができる。
スをデコードし、その結果に基づいてメモリバンクを切
り換えることができるので、従来のようにプログラムに
よるバンク切り換えが不要となり、ソフトウェアによる
バグの発生を無くずことができる。
第1図は、本発明の原理説明図、
第2図は、本発明の実施例のプロセッサシステムの回路
構成図、 第3図は、実施例のレジスタマツプを示す図、第4図は
、実施例のCSマツプを示す図、第5図は、従来のプロ
セッサシステムの回路構成図、 第6図は、従来のレジスタマツプを示す図である。 ド プログラム作成部、 ・アドレス解析部、 ・バンク切り換え部。
構成図、 第3図は、実施例のレジスタマツプを示す図、第4図は
、実施例のCSマツプを示す図、第5図は、従来のプロ
セッサシステムの回路構成図、 第6図は、従来のレジスタマツプを示す図である。 ド プログラム作成部、 ・アドレス解析部、 ・バンク切り換え部。
Claims (1)
- 【特許請求の範囲】 複数のメモリバンクを切り換えてアドレスの拡張を行う
バンク切り換え方式において、 マイクロプロセッサの動作を規定するプログラムのアド
レスを、そのプログラムの各モジュール内で参照するメ
モリバンクに対応させてプログラム作成を行うプログラ
ム作成部(1)と、 プログラム実行時に、前記メモリバンクに対応ずけて決
められているプログラムアドレスを解析するアドレス解
析部(2)と、 このアドレス解析部(2)の解析結果に基づいて前記複
数のメモリバンクを切り換えるバンク切り換え部(3)
とを備えることを特徴とするバンク切り換え方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12686590A JPH0423147A (ja) | 1990-05-18 | 1990-05-18 | バンク切り換え方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12686590A JPH0423147A (ja) | 1990-05-18 | 1990-05-18 | バンク切り換え方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0423147A true JPH0423147A (ja) | 1992-01-27 |
Family
ID=14945753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12686590A Pending JPH0423147A (ja) | 1990-05-18 | 1990-05-18 | バンク切り換え方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0423147A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6107672A (en) * | 1997-09-04 | 2000-08-22 | Matsushita Electronics Corporation | Semiconductor device having a plurality of buried wells |
US6150699A (en) * | 1997-03-03 | 2000-11-21 | Nec Corporation | Tri-voltage Bi-CMOS semiconductor device |
-
1990
- 1990-05-18 JP JP12686590A patent/JPH0423147A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6150699A (en) * | 1997-03-03 | 2000-11-21 | Nec Corporation | Tri-voltage Bi-CMOS semiconductor device |
US6107672A (en) * | 1997-09-04 | 2000-08-22 | Matsushita Electronics Corporation | Semiconductor device having a plurality of buried wells |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3884464B2 (ja) | コンピュータシステムのbiosデータ格納装置及びその駆動方法 | |
US5600807A (en) | Programmable controller capable of updating a user program during operation by switching between user program memories | |
JPH0423147A (ja) | バンク切り換え方式 | |
US6889306B1 (en) | Microprocessor and program modification method in the microprocessor | |
JPH0752409B2 (ja) | プロセスコントローラ単一メモリチップシャドー化技術 | |
JPS62168229A (ja) | システム構成自動認識処理方法 | |
JPH02199535A (ja) | マイクロプログラム制御装置 | |
JPS63156231A (ja) | リ−ドオンリ−メモリ内命令の変更方法 | |
JPH04107630A (ja) | 中央処理装置 | |
JPH06187140A (ja) | 処理装置 | |
JPS58139254A (ja) | プログラマブル・コントロ−ラ | |
JPH05233470A (ja) | アドレス変換装置 | |
JPH02280231A (ja) | マイクロプログラム制御装置 | |
JPH01279353A (ja) | 拡張ボード初期設定方式 | |
JPH03127126A (ja) | 情報処理装置 | |
JPS62224854A (ja) | マイクロ・コンピユ−タ | |
JPH01241644A (ja) | マイクロコンピュータ制御回路 | |
JPS62219126A (ja) | プログラム制御方式 | |
JPS6247745A (ja) | マイクロプログラム制御方式 | |
JPH0353348A (ja) | マイクロプログラムのデバッグ方式 | |
JPS63228332A (ja) | 命令実行制御方式 | |
JPS6346858B2 (ja) | ||
JPH08221322A (ja) | メモリの制御装置およびメモリの制御方法 | |
JP2000112752A (ja) | ファームウェア切り替え方式 | |
JPH04278639A (ja) | 情報処理装置の実行方式 |