JPH07191906A - メモリ制御装置 - Google Patents

メモリ制御装置

Info

Publication number
JPH07191906A
JPH07191906A JP33344593A JP33344593A JPH07191906A JP H07191906 A JPH07191906 A JP H07191906A JP 33344593 A JP33344593 A JP 33344593A JP 33344593 A JP33344593 A JP 33344593A JP H07191906 A JPH07191906 A JP H07191906A
Authority
JP
Japan
Prior art keywords
address
memory
bank
block
register
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.)
Withdrawn
Application number
JP33344593A
Other languages
English (en)
Inventor
Hiroshi Fukuda
弘 福田
Kazuaki Sanemitsu
一哲 實光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu VLSI Ltd
Fujitsu Ltd
Original Assignee
Fujitsu VLSI Ltd
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu VLSI Ltd, Fujitsu Ltd filed Critical Fujitsu VLSI Ltd
Priority to JP33344593A priority Critical patent/JPH07191906A/ja
Publication of JPH07191906A publication Critical patent/JPH07191906A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 バンク切換なしで他のバンクのメモリを参照
する。 【構成】 中央処理装置1は、メモリブロックを指定す
るためのバンク情報、及び一のメモリブロックを参照す
るアドレス範囲を指定するための参照用アドレスよりな
るブロック管理情報をメモリ分割レジスタ6-1に転送
し、メモリ分割レジスタは、このブロック管理情報を複
数情報記憶する。次に、メモリを参照する際に、中央処
理装置1がメモリアドレスを出力すると、領域判別手段
-2・6-3は、このメモリアドレスを入力して、予めメ
モリ分割レジスタ6-1に記憶されているブロック管理情
報と比較する。そして、このメモリアドレスが複数のブ
ロック管理情報のうちいずれかの参照用アドレス範囲内
に該当する場合に、このブロック管理情報に対応するメ
モリブロックの特定アドレス範囲を有効とするイネーブ
ル信号を出力することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロプロセッサ、
マイクロコントローラ等に係り、特に複数のメモリブロ
ックのそれぞれ、則ちバンクの切り換え動作によりメモ
リ空間を管理するメモリ管理技術に関する。
【0002】通常、マイクロプロセッサ等においては、
8ビット、16ビット等、そのアーキテクチャに固有の
アドレス空間を有し、RAM、ROM等の記憶用デバイ
スはこのアドレス空間内に全て収まるように、割り付け
られていた。しかし、近年のメモリの低価格化等に伴
い、そのプロセッサ等の固有のアドレス空間を超える大
量のメモリを装備した処理装置が数多く出回るようにな
ってきた。そこで、物理的に装備された多くのアドレス
空間をいくつかのメモリブロック(バンク)に分割し、
そのメモリブロック1つに対してバンクを1つ割り当て
ることで、物理的に大きなメモリから希望のデバイスを
アクセスする、いわゆるバンク方式によるメモリ管理が
考案されている。
【0003】
【従来の技術】従来のバンク方式によるメモリ制御装置
としては、図6に示すようなものがあった。図6に示す
ように、この装置は周辺機器(I/O)、RAM、RO
-1、ROM-2、外部装置1〜nのデバイスを有する。
そして、各デバイスはアドレス空間に図のように配置さ
れている。アドレス空間は64kバイト(16ビット)
毎にバンクというメモリブロックに分割され、それぞれ
のメモリブロックにはバンク番号が割り付けられてい
る。
【0004】マイクロプロセッサ等は、バンクアドレス
(図6では8ビット(00h〜FFh(h=hexadecima
l =16進数))を出力して必要なバンクを選択する。
次いで、通常の16ビットのアドレス0000番地〜F
FFF番地をアドレス空間に出力することで、希望のメ
モリを参照する。例えば、バンクアドレスがFFh(以
下、バンク(FF)というように表現する。)でアドレ
スを8001番地と出力すれば、FFバンクに割り付け
られているROM-2(アドレス範囲8000番地〜FF
FF番地)のアドレス0001番地のメモリに対して読
み込み又は書き込みができる。同じように、バンク(0
0)のアドレスFFFF番地に対しては、バンク(0
0)の外部装置1のFFFF番地が、バンク(00)の
アドレス3800番地に対しては、I/Oの3800番
地がアクセスできる。
【0005】
【発明が解決しようとする課題】しかしながら、上記従
来のメモリ制御装置では、他のメモリを参照する際にア
ドレスの他にバンクアドレスをも毎回切り換えて出力し
ないと、希望するデバイスに対しアクセスすることがで
きない、という不都合があった。
【0006】通常、マイクロプロセッサでは、そのアー
キテクチャに従い適正なアドレス空間を持つ。このアド
レス空間をアクセスするに十分な内部レジスタをマイク
ロプロセッサは有する。それにより、アドレス演算等を
効率よく進められるよう、設計がなされている。ところ
が、バンクによりメモリ管理を行うマイクロプロセッサ
では、上記の如く通常のアドレス出力の他にバンクアド
レスをも出力する必要があるとする。従って、単純に考
えても2倍の手間と時間が必要となる。この問題は、シ
ステムの処理速度向上の観点からは致命的な欠陥とな
る。
【0007】このようなソフトウェアを有する具体例と
して、画像処理等のメモリアクセスを頻繁に行う必要が
あるシステムが考えられる。これらのシステムでは、他
のバンクに割り当てられたROMの定数を用いて座標計
算を行うことが多い。しかし、膨大な画素数の座標計算
の度毎にROM領域へのバンク切換が必要となり、表示
速度の向上という観点から大きな障害となっていた。
【0008】そこで、請求項1記載の発明の目的は、バ
ンクを切り換えることなく、一つのバンク内で、他バン
クに配置されたデバイスを直接アクセスできるメモリ制
御装置を提供することにある。
【0009】また、請求項2記載の発明の目的は、特定
の領域に配置された複数のメモリブロックを他のバンク
から、バンク切換なしで直接アクセスできるメモリ制御
装置を提供することにある。
【0010】請求項3記載の発明の目的は、動作するバ
ンク内でのアドレスと、参照すべき他のバンク内のアド
レスが異なる場合に、アドレスの再割り付けを可能とす
るメモリ制御装置を提供することにある。
【0011】
【課題を解決するための手段】上記問題点に鑑みると、
マイクロプロセッサ等が計算等を行うバンクと同じバン
ク内で必要とするメモリの内容をアクセスできれば、バ
ンク切換の必要がなくなるので、問題の解決ができる。
【0012】従って、上記目的を達成するために、請求
項1記載のメモリ制御装置は、メモリブロックを参照す
る際にメモリアドレスを出力する中央処理装置(1)
と、複数のメモリブロックとを有し、メモリブロック毎
に割り当てられるバンク情報を利用して複数のメモリブ
ロックから一のメモリブロックを選択してメモリ参照を
行うメモリ制御装置において、メモリブロック(9)を
参照する際にメモリアドレスを出力する中央処理装置
(1)と、バンク情報及び一のメモリブロック(9)内
のアドレス範囲を指定する設定アドレスよりなる複数の
ブロック管理情報を記憶するメモリ分割レジスタ
(6-1)と、メモリ分割レジスタ(6-1)に記憶された
ブロック管理情報と中央処理装置(1)から供給された
メモリアドレスとを比較して、メモリアドレスがブロッ
ク管理情報の設定アドレスの範囲内に該当する場合に、
対応するメモリブロック(9)のアドレス範囲を有効と
するイネーブル信号を出力する領域判別手段(6-2、6
-3)と、を備えたことを特徴とする。
【0013】また、請求項2記載のメモリ制御装置は、
請求項1記載のメモリ制御装置において、領域判別手段
(6-2、6-3)は、複数のブロック管理情報のそれぞれ
に対応させて特定メモリブロック(9)の特定アドレス
範囲を有効とするイネーブル信号を出力すること、を特
徴とする。
【0014】更に、請求項3記載のメモリ制御装置は、
請求項1又は請求項2記載のメモリ制御装置において、
領域判別手段(6-2、6-3)は、中央制御装置(1)か
ら供給されたメモリアドレスのアドレス値を再割り付け
した上位アドレスを出力すること、を特徴とする。
【0015】
【作用】請求項1記載の発明は次のように作用する。メ
モリ分割レジスタ(6-1)は、予めブロック管理情報を
複数情報記憶する。このブロック管理情報は、一のメモ
リブロックを指定するバンク情報及び参照すべきアドレ
ス範囲を指定するための設定アドレスよりなる。
【0016】次に、中央処理装置(1)は、メモリブロ
ック(9)を参照する際にメモリアドレスを出力する。
領域判別手段(6-2,6-3)では、このメモリアドレス
を入力して、予めメモリ分割レジスタ(6-1)に記憶さ
れているブロック管理情報と比較する。そして、このメ
モリアドレスが複数のブロック管理情報のうちいずれか
の参照用アドレス範囲内に該当する場合に、このブロッ
ク管理情報に対応するメモリブロック(9)の設定アド
レスに対応するアドレス範囲を有効とするイネーブル信
号を出力することができる。
【0017】また、請求項2記載の発明によれば、領域
判別手段(6-2、6-3)がイネーブル信号を供給すべき
メモリブロック及びアドレス範囲は予め固定されてい
る。複数のブロック管理情報のそれぞれに対応させて特
定メモリブロック(9)の固定参照領域を有効とするイ
ネーブル信号を出力すること、を特徴とする。メモリア
ドレスが供給されると、領域判別手段(6-2、6-3
は、特定メモリブロック(9)の特定アドレス範囲を有
効とするイネーブル信号を出力することができる。
【0018】更に、請求項3記載の発明によれば、領域
判別手段(6-2、6-3)は、中央制御装置(1)から供
給されたメモリアドレスを対応するブロック管理情報と
比較して演算を行い、このメモリアドレスのアドレス値
を再割り付けして、このアドレスを前記メモリブロック
(9)のための上位アドレスとして出力することができ
る。
【0019】
【実施例】本願発明の半導体集積回路の好適な実施例を
図面を参照して説明する。 (i)第1実施例 第1実施例の構成を図1に示す。図1に示すように、本
実施例の半導体集積回路は、システムを統括するCPU
1と、本発明に係るメモリ管理を行う領域判定ブロック
6と、CPU動作のための制御線やA/D変換のための
アナログ入力等からなる周辺回路7と、CPU1の作業
領域として使用されるRAM8と、プログラム本体及び
定数等を記憶するROM9と、インターフェース10
(例えば、シリアル/パラレルポート、各種コントロー
ラ等)と、そられの装置間の情報の通信を担うアドレス
バス11-1と、データバス11-2と、周辺回路7及びC
PU1を接続する周辺バス11-3と、を備えて構成され
る。更に、本実施例では未接続であるが、外部装置12
(破線)が接続可能である。
【0020】CPU1は、内部でシリコン等の一つの基
板の上に形成されている。命令実行ユニット2は、実際
にプログラムを解釈してシステムを動作させる。内部レ
ジスタ3は、命令実行する際に必要となるテンポラリデ
ータやアドレス演算のために必要となるアドレスを記憶
する。内部バス4-1は、CPU1内部のデータ交換を行
う。バス制御ユニット5は、外部のバスの制御を行う。
バンクレジスタ6は、内部バス4-1よりバンクアドレス
を生成し、外部に供給する。バンクアドレスバス4
-2は、バンクアドレスを外部に出力する。
【0021】領域判定ブロック6は、メモリ管理の中枢
部であり以下の構成をなす。メモリ分割レジスタ6
-1は、バンクアドレス及びアドレス範囲により構成され
るブロック管理情報を、割付元レジスタ及び割付先レジ
スタに分けて複数情報記憶する。領域判定ロジック6-2
は、バンクアドレスバス4-2及びアドレスバス11-1
り供給されたアドレス情報を演算し、メモリ分割レジス
タ6-1に格納されたアドレスの範囲に該当するかを出力
する。そして、比較器6-3は、メモリ分割レジスタ6-1
の内容と領域判定ロジック6-2とから供給される値とを
比較し、対応するROM若しくはRAM用のイネーブル
信号(Ea 、EO )を出力する。
【0022】なお、領域判定ブロック6の動作モード
は、CPU1からのコマンドによって設定される。本実
施例では、固定容量モードに設定されるものとする。こ
の動作モードは、割付元レジスタの開始アドレスから始
まる予め決められた一定容量のメモリを、割付先レジス
タで設定される他のバンクのアドレス領域においてアク
セス可能にする、というモードである。CPU1より参
照される元のアドレス範囲は、メモリ分割レジスタ6-1
の割付元レジスタに設定される開始アドレスにより規定
される。また、この元のアドレス範囲により実際に参照
される他バンクのアドレス範囲は、メモリ分割レジスタ
-1の割付先レジスタの開始アドレスにより規定され
る。割り付けるべき容量は、CPU1のコマンドにより
変更することもできる。また、領域判定ブロック6の動
作状態は、CPU1からのコマンドにより割付動作の実
施(有効)・不実施(無効)を設定できるものとする。
【0023】図2に、本実施例におけるメモリマッピン
グを示す。図2に示すように、物理的(実アドレスの)
アドレス空間は、バンク(00)〜バンク(FF)の2
56個のバンクを有し、それぞれのバンクはアドレス0
000番地からFFFF番地までの64バイトのメモリ
空間を持っている。そして、下位番地から順番にインタ
ーフェース10、RAM9、外部装置1 〜外部装置
n (それぞれの番号は、複数の外部装置に仮に付した連
番である。)、ROM9のそれぞれが割り付けられてい
る。ROM9は、ROM-1(0000番地〜7FFF番
地)及びROM-2(8000番地〜FFFF番地)の二
つの領域に分割されている。ROM-1はプログラム領域
とし、画像処理に関するプログラムが0000番地から
3FFF番地に格納されているものとする。このプログ
ラムは、一の入力に対して座標変換を行って変換座標等
を出力するプロセスがプログラムされているものとす
る。その演算に必要とされる変換テーブルは、ROM-2
に32kバイト分のデータとして格納されているものと
する。
【0024】次に、第1実施例の動作を説明する。通
常、CPUの動作としては、直接ROMに格納されてい
るプログラムを直接読み込んでそのプログラムの実行を
していってもよい。また、特定のエリアに記載されてい
る初期ロードプログラム(IPL)により、所定のRO
MエリアからRAMにプログラムを全部読み込み、RA
Mのメモリを利用してプログラムを実行してもよい。本
実施例では後者の動作を採る。
【0025】CPU1は、供給されるクロックに従っ
て、アドレスバス11-1及びバンクアドレスバス4-2
アドレス及びバンクアドレスを送出し、特定のアドレス
値のメモリに存在するIPLから初期動作のプログラム
を読出す。次に、そのIPLに従い、バンク(FF)に
存在するROM9の0000番地〜3FFF番地のプロ
グラムデータをRAM8の領域に転送する。そして、R
AM8の先頭番地(例えば、バンク(00)の4000
番地)から本来のプログラムの実行が始まる。領域判定
ブロック6のメモリ分割レジスタ6-1には、未だ何も設
定されていないので、通常のバンク方式によるアクセス
を行っている。
【0026】さて、通常のプログラムは、その冒頭でシ
ステムの各デバイスの初期化を行う(初期化ルーチ
ン)。領域判定ブロック6は、この初期化ルーチンで、
動作モードを固定容量モードに設定される。この動作モ
ードは、CPU1が、転送元レジスタに参照したいメモ
リのバンク番号及び開始番地を設定し、転送先レジスタ
に割り付けるバンク番号及び開始番地、割り付けるべき
容量(アドレス空間)を設定する。具体的な設定動作と
しては、CPU1が領域判定ブロック6のデバイスアド
レスを指定する。そして、続けて固定容量モードを設定
するコマンド、割付元若しくは割付先レジスタの指定、
バンク番号、開始アドレス、割り付けるべき容量等を書
込むことで、設定がなされる。以上により、割付先レジ
スタの開始アドレスから指定容量分のメモリ空間におい
て、割付元レジスタの開始アドレスから始まる指定容量
分のデバイスが参照可能となる。
【0027】図2に示す如く、本実施例においては、C
PU1は領域判定ブロック6の割当元レジスタに対し
て、バンク番号FFh、アドレス値8000hを、割付
先レジスタに対してバンク番号00、アドレス値800
0hを設定する。これにより、バンク(FF)の800
0番地からFFFF番地までの32kバイトのデータ
は、バンク(00)でアクセスできるようになる。
【0028】続いて、領域判定ブロック6の動作が有効
とされると、領域判定ブロック6は動作を始める。メモ
リ分割レジスタ6-1に設定されたアドレス値と異なるア
ドレスがアドレスバス11-1、バンクアドレスバス4-2
に出力されている限りは、領域判定ブロック6は通常の
アドレスデコーダとして働く。RAM8に転送されたプ
ログラムの実行をしている間(アドレス値4000h〜
7FFFh)は、RAM8に割り付けられたバンク(0
0)である。このとき、領域判定ブロック6は、イネー
ブル信号Ea を出力するので、RAM8のアクセスが可
能となる。
【0029】さて、プログラムの初期化が完了し、CP
U1はプログラムの本体に移る。座標変換のルーチンに
プログラムが移り、ROM内部の変換テーブルを参照す
べきプロセスに入る。
【0030】従来のバンク方式のプログラムであると、
バンク(FF)に割り付けられたROM9を参照するた
めに、まず、CPU1はバンク番号をバンクアドレスバ
ス4 -2に出力し、バンク管理回路等が回路のバンクを切
り換える。それから必要なアドレスを出力してROM9
のアクセスを行っていた。
【0031】しかし、本実施例ではプログラムはバンク
情報を出力せず、アドレスのみを出力してメモリの参照
が行われる。例えば、CPU1は、バンク(00)のま
まで8000番地のメモリを参照するためのアドレス
(以下、参照アドレスという。)をアドレスバス11-1
中に出力したとする。すると、絶えずアドレスを監視し
ている領域判定ブロック6の領域判定ロジック6-2は、
割付先レジスタに設定された設定アドレス値8000h
により、当該参照アドレスが割付変更する領域のアクセ
スであると判定する。そして、その判定結果に基づい
て、比較器6-3が割付元レジスタを参照し、そのバンク
番号FFに係るイネーブル信号端子の出力を有効にする
(イネーブル信号EO )。このイネーブル信号端子は、
ROM9のチップセレクトCS(若しくはOE(アウト
イネーブル)でもよい)端子に接続されている。通常、
このメモリのチップセレクト端子CSには、アドレスか
らアクセスすべきデバイスを決定するためのアドレスデ
コーダの出力等が接続される。本実施例では、従来のア
ドレスデコーダに代わってこの領域判定ブロック6の出
力が使用されると考えられる。
【0032】以上により、ROM9のアドレスバス11
-1で指定される8000番地のデータがデータバス11
-2に出力される。これは、CPU1にとってはバンク
(00)の8000番地から目的のデータが得られたこ
とになる。同じようにして、8000番地〜FFFF番
地までのデータをCPU1がメモリリクエストすると、
領域判定ブロック6はROM9に係るチップセレクト信
号CSを有効として、事実上バンク(FF)のデータが
アクセスできるようになる。
【0033】なお、領域判定ブロック6のイネーブル信
号の出力は、設定可能なメモリ分割レジスタ数に応じた
本数で構成すればよい(例えば、8本)。更に、出力を
符号化することで、少ない本数で沢山のデバイスを制御
できる。例えば、4本の出力を使用すれば、24 =16
個のデバイスを制御できる。
【0034】第1実施例によれば、領域判定ブロックに
予め割り付けを希望するバンクとアドレスとを設定して
おくことで、CPUはバンクを切り換える必要なく、他
のバンクのメモリを参照できる。則ち、64kバイトの
メモリ空間のみで必要なデータを参照でき、画像処理等
の定数データに頻繁にアクセスする必要のあるソフトウ
ェアにおいて効果が大きい。
【0035】なお、割付元レジスタ及び割付先レジスタ
の設定アドレスは同じアドレスである必要はなく、他の
値(例えば、割付元レジスタ値8000hに対して割付
先レジスタの値7000hやA000h等)であっても
よい。この場合、領域判定ブロック6は、アドレスのリ
ロケーション(再割り付け)の演算を行い、対応するメ
モリのイネーブル信号を有効とする。 (ii)第2実施例 第2実施例の構成は、図1に示す通りであり、各デバイ
スの詳細は第1実施例にて述べたので、その説明は省略
する。但し、領域判定ブロック6は、範囲指定モードで
動作するように設定されるものとする。この動作モード
では、領域判定ブロック6のメモリ分割レジスタ6
-1は、割付元レジスタ及び割付先レジスタを持つ。そし
て、その各々が、開始アドレス用レジスタと終了アドレ
ス用レジスタの、1のアドレス範囲当たり2つのレジス
タを持つ。領域判定ブロック6は、割り付け範囲を開始
アドレス用レジスタと終了アドレス用レジスタとで指定
する。よって、この割付元レジスタに設定された開始ア
ドレス及び終了アドレスで示される領域の範囲のメモリ
を、割付先レジスタの開始アドレス及び終了アドレスで
指定されるバンク及びアドレス範囲で参照することが可
能となる。
【0036】また、本実施例では、領域判定ブロック6
からメモリ等へ制御線の配線が、アドレスの再割り付け
を行いうる様に接続されるものとする。つまり、アドレ
スのリロケーションを可能とするために、メモリのチッ
プセレクト端子の制御と同時にメモリに入力される上位
アドレスをも制御する。従って、領域判定ブロック6か
らは、チップセレクト用の信号(イネーブル信号)の他
に上位アドレス用アドレス線11-4(図1破線)が各メ
モリに配線されている。そして、領域判定ブロック6
は、メモリのチップセレクト端子に接続されるイネーブ
ル信号を単なるバンクセレクト信号とし、CPUから供
給される参照アドレスを再割り付けしてメモリへのアド
レス線に出力する。
【0037】リロケーションの単位はブロック単位で行
う。例えば、アドレス値2000hを例えば、3000
番地又は1000番地等に変更する1000番地(4k
バイト)単位の再割り付けを行うなら、チップセレクト
信号の他にアドレス線のMSBから4ビット分の4本を
メモリに接続し、1バンクを16分割する。また、20
00番地毎に行うなら、同様に3本のアドレス線が必要
となる。
【0038】また、上記のリロケーションは、領域判定
ブロック6の出力をメモリのイネーブル信号のみとし、
対象となるメモリ側で、上位アドレスを固定値(例え
ば、‘0’、‘1’)にすることでも達成できる。例え
ば、動作領域がバンク(00)であって、リロケーショ
ンを1000番地単位で行うものとするなら、ハードウ
ェアをメモリのアドレス入力端子のアドレスA12以上を
接地して、領域判定ブロック6からはイネーブル信号を
当該メモリのチップセレクト端子に接続する。実際の動
作としては、当該メモリブロックを参照するときのみ、
領域判定ブロック6のイネーブル信号を有効にすれば、
参照用のアドレスに対して異なるバンクのメモリをアク
セスできる。この方法では、リロケート可能なブロック
の1単位の大きさが固定されてしまうが、制御線が少な
くて済むという効果を奏する。
【0039】図3に、本実施例におけるメモリマッピン
グを示す。図3に示すように、本実施例におけるデバイ
スが、各バンクに割り付けられている。大部分が第1実
施例と同じ割り付けであるが、バンク(FF)の割り付
け内容が異なる。つまり、0000番地〜DFFF番地
までをROM9が占め、第1実施例と同じ画像処理に関
するプログラムが0000番地〜3FFF番地に格納さ
れ、座標変換用データがA000〜DFFF番地に格納
されている。E000番地〜FFFF番地までの8kバ
イトは、別の外部装置12として、例えば、IPLを格
納した64kROM等、が接続されている。
【0040】次に、第2実施例の動作を説明する。本実
施例の動作は第1実施例とほぼ同様の手順で行われる。
プログラムの動作はバンク(00)で行われるものとす
る。まず、CPU1は、プログラムをロードして初期化
ルーチンに入り、領域判定ブロック6の動作モード等の
設定を行う。この設定は、CPU1が領域判定ブロック
6のデバイスアドレスを指定し、続けて範囲指定モード
を設定するコマンド、割付元若しくは割付先レジスタの
指定、バンク番号、開始アドレス、終了アドレス等を書
込むことでなされる。
【0041】図3に示す如く、CPU1は、領域判定ブ
ロック6の割付元レジスタに対して、開始アドレスがバ
ンク番号FFh・アドレス値A000h、終了アドレス
がバンク番号FFh・アドレス値DFFFhを設定す
る。また、割付先レジスタに対して、開始アドレスバン
ク番号00h・アドレス値C000h、終了アドレスが
バンク番号00h・アドレス値FFFFhを設定する。
これにより、バンク(FF)のA000番地からDFF
F番地までの16kバイトのデータは、バンク(00)
のアドレス値C000hからアクセスできるようにな
る。
【0042】続いて、CPU1は領域判定ブロック6の
動作を有効とする。領域判定ブロック6は、CPU1か
ら供給されるメモリの参照アドレスがメモリ分割レジス
タ6-1の開始アドレス用レジスタ及び終了アドレス用レ
ジスタで示される範囲外にあるときは、通常のアドレス
デコーダとして働く。そのため、イネーブル信号Ea
有効となり、RAM8からのプログラム実行を可能とす
る。
【0043】CPU1の動作がプログラムの本体に移
り、座標変換のルーチンにおいてテーブルを参照すべき
プロセスに入る。例えば、CPU1より、座標変換用の
データを参照するために、参照アドレスとしてF123
番地が出力される。絶えずアドレスを監視している領域
判定ブロック6の領域判定ロジック6-2は、割付元レジ
スタを参照し、そのバンク番号FFと開始アドレス値A
000hを読み取る。ここでアドレスのオフセットが異
なるので、比較器6-3はアドレス演算(レジスタ毎の減
算等)を行い、参照アドレスのリロケーションを行う。
本実施例では、まず割付先レジスタの開始アドレスから
割付元レジスタの開始アドレスを減算し、アドレスのオ
フセット2000hを得る。そして、これを参照アドレ
スから減算し、F123h−2000h=D123番地
(h=hexadecimal )のリロケートアドレスを算出す
る。
【0044】比較器6-3は、この演算結果に従い上位ア
ドレス(A15、A14、A13、A12)=(1,1,0,
1)=Dh及びイネーブル信号を出力する。ROM9に
は下位12ビットとして123hが、上位4ビットとし
てDhが供給され、かつ、チップセレクトCSが有効な
ので、参照アドレスとしてバンク(00)のF123番
地が出力されているにも拘らず、ROM9内のアドレス
D123番地がアクセスされる。
【0045】割付先アドレスの設定範囲内であれば、上
記以外の参照アドレスについても同様にアドレスの再割
り付けが行われる。第2実施例によれば、参照すべきア
ドレス範囲を任意に設定できるので、設計の自由度が高
い。また、アドレスの再割り付けが可能なので、ユーザ
の都合のよいメモリの部分を希望するアドレスの割り付
けで使用できる。
【0046】なお、割付元レジスタに指定されたアドレ
ス範囲と割付先レジスタに指定されたアドレス範囲とに
食い違いが生じたときには、どちらか一方の値を優先さ
せるよう設計すれば問題がない。 (iii )第3実施例 第3実施例の構成は図1の通りである。但し、ROM9
が8個のメモリブロック(8kバイト)毎に分割されて
いる。領域判定ブロック6からは、イネーブル信号の
他、ROM9のアドレスのうちMSBから3ビット分が
上位アドレスバス11-4に出力されている。ROM9で
は、領域判定ブロック6から供給されるイネーブル信号
がチップセレクト端子CSに接続され、上位アドレス3
本もアドレス端子に接続される。残りのアドレスは通常
通りアドレスバス11-1に接続される。その他のデバイ
スの詳細は第1実施例にて述べたので、その説明は省略
する。
【0047】領域判定ブロック6は、固定分割モードで
動作するように設定されるものとする。この動作モード
では、割り付けられるバンク及びメモリ領域がハードウ
ェアで予め固定されている。そして、領域判定ブロック
6のメモリ分割レジスタ6-1は、分割されるメモリのブ
ロックの数だけ割付先レジスタを用意する。比較器6 -3
はこのレジスタの値で示される領域をCPU等によりア
クセスされたとき、そのレジスタの値に対応するイネー
ブル信号を有効とし、上位アドレスを出力する。
【0048】図4に、第3実施例のメモリマップのRO
M部分を示す。図4に示すように、第3実施例ではバン
ク(FF)が8個のメモリブロックに分けられている。
その他のバンクのメモリ配置は第1実施例と同様であ
る。バンク(FF)が2000番地(8kバイト)毎に
分割され、メモリ分割レジスタ6-1のブロック管理情報
が8組用意されている。
【0049】また、本実施例では、割付元のバンクはバ
ンク(FF)と定めるものとする。割付先のバンクと割
り付けるブロック容量が固定されているため、割付先レ
ジスタが必要なくなる。そのため、有効とすべきイネー
ブル信号は、RAM等のデバイスを有効とするイネーブ
ル信号を除けば、バンク(FF)のための1本でよい
(イネーブル信号EO )。上位アドレスは3ビットであ
り、2000番地単位でアドレスのリロケーションが行
われる(23 =8ブロック)。
【0050】次に、第3実施例の動作を説明する。第3
実施例におけるプログラム本体の動作も、バンク(0
0)で行われるものとする。また、プログラム本体も、
4000番地から始まるRAM8に格納されて実行され
る。このプログラムは、実行過程において複数のメモリ
ブロックを頻繁にアクセスするものとする。このような
プログラムの内容としては、例えば、何種類ものVRA
Mを有し、その中身を頻繁に書き換えるような画像表示
プログラムが挙げられる。そのため、ROMにはメモリ
ブロック毎にデータを分けて格納する。
【0051】さて、CPU1が初期化ルーチンにおいて
メモリ分割レジスタの設定を行い、図4の如く設定され
たとする。図4に示すように、領域判定ブロック6の複
数の割当元レジスタは、バンク番号及び開始アドレスが
それぞれ設定されている。それぞれの割付元レジスタ
は、番号別(〜)にどのメモリブロックを有効とす
るかを規定する。割り付けを行わないメモリブロックに
対応する割付元レジスタ(図4では、、、)に
は、例えば、バンク番号FFh、設定アドレス値FFF
Fh等が書込まれるものとする。
【0052】続いて、CPU1が初期化ルーチンの最後
で領域判定ブロック6を有効とする。領域判定ブロック
6は、出力されるバンクアドレス及び参照アドレスを共
に監視する。プログラム自体が実行される場合、アクセ
スする番地はバンク(00)の4000番地〜7FFF
番地である。従って、メモリ分割レジスタ6-1には該当
する設定値がないので、CPU1から出力されるバンク
番号及び参照アドレスの通りに、バンク(00)のRA
M8がアクセスされる。
【0053】今、CPU1が、画像表示を行うため特殊
なアドレスのデータ、例えば、バンク(01)の000
0番地から連続する4kバイト分のアドレスを出力した
とする。すると、領域判定ロジック6-2は、これらのア
ドレスが割付元レジスタ番号で示される範囲にあると
判定し、バンク(FF)に割り付けられたイネーブル信
号を有効とする。同時に、アドレスのリロケーションが
ないので、比較器6-3はそのまま供給された上位アドレ
スを出力する。ROM9では、この上位アドレスと下位
のアドレスとを併せたROM9-9内部のメモリが参照さ
れる。
【0054】同様に、CPU1がバンク(05)で00
00番地〜1FFF番地のバンク番号及び参照アドレス
を出力すると、領域判定ロジック6-2は割付元レジスタ
番号に設定されている、と判定する。同じく、ROM
9のためのイネーブル信号が出力される。今度は、アド
レスのリロケーションが必要で、そのオフセットは20
00番地である。比較器6-3はこのアドレスのオフセッ
トを参照アドレスに加えて出力する。例えば、参照アド
レスが0100番地であれば、アドレスのオフセットと
して上位3ビット(A15、A14、A13)=(0、0、
1)が出力される。これにより、CPU1がバンク(0
5)の0100番地をアクセスしても、実際にはROM
9の2100番地が参照されることになる。
【0055】第3実施例によれば、分割のメモリ、容量
等が予め規定されているので、メモリ分割レジスタの本
数、設定の手間が省力化できる。参照する容量がある程
度定まっている装置等に有効な方法といえる。また、メ
モリブロック内では参照するブロックを任意に設定でき
るので、画像データの切り換え等の場合に有効である。
【0056】なお、本実施例では参照するブロックを選
択可能としたが、ブロックを固定としてもよい。その場
合は、上位アドレス制御は必要なくなる。また、図5に
示す如く、ROMを、割り付けるブロック毎に8個設
け、8本のイネーブル信号をそれぞれのROMのチップ
セレクト端子に接続すれば、上位アドレスの制御なくブ
ロックの割り付けを自由に行なえる。その他の変形例 本発明は上記実施例に限らず種々の変形が可能である。
【0057】例えば、上記実施例では、ROM、RAM
等の記憶素子を、外部回路として設けていたが、CPU
回路に内臓のROM、RAMであってもよい。同じく、
領域判定ブロック6も外部回路である必要はなく、CP
Uチップに包含されて、ワンチップマイコンを形成して
もよい。
【0058】また、メモリ割付レジスタの値は、初期化
ルーチンで設定することとしていたが、マスクROM化
して工場内で書込んでもよい。その場合には、プログラ
ムでの初期化が必要なく量産に適する。
【0059】更に、アクセス対象のデバイスはROMで
ある必要はなく、特定のバンクに割り付けられたデバイ
ス(例えば、RAM、VRAM(ビデオRAM))であ
ってもよい。
【0060】
【発明の効果】以上の通り、請求項1記載の発明によれ
ば、動作するバンクを特定バンクに、他のバンクに存在
するメモリをバンク切換なしで参照することができる。
よって、動作の高速化が図れる。大量の画像データを切
り換えて使用するカーナビゲーション等のシステムにお
いて、特に有効である。
【0061】また、請求項2記載の発明によれば、予め
一のブロック管理情報に対して参照すべきメモリブロッ
クが規定されている。よって、メモリ分割レジスタの設
定が楽であり、複数の大量の画像データをバンク切換な
しで参照するシステム等に有効である。
【0062】更に、請求項3記載の発明によれば、バン
ク内でのアドレスの再割り付けが可能である。よって、
デバイス内のアドレス割り付けでのデータ配置に拘束さ
れずにプログラムの設計を自由にすることができ、シス
テムの汎用化に有効である。
【図面の簡単な説明】
【図1】第1実施例の半導体集積回路を示すブロック図
である。
【図2】第1実施例のメモリ管理マップである。
【図3】第2実施例のメモリ管理マップである。
【図4】第3実施例のメモリ分割方法を示す説明図であ
る。
【図5】第3実施例の変形例である。
【図6】従来のバンク切換によるメモリ管理マップであ
る。
【符号の説明】
1…CPU 2…命令実行ユニット 3…内部レジスタ 4-1…内部バス 4-2…バンクアドレスバス 5…バス制御ユニット 6…領域判定ブロック 6-1…メモリ分割レジスタ 6-2…領域判定ロジック 6-3…比較器 7…周辺回路 8…RAM 9…ROM 10…インターフェース(I/O) 11-1…アドレスバス 11-2…データバス 11-3…周辺バス 11-4…上位アドレスバス 12…外部装置 Ea …イネーブル信号(RAM) EO …イネーブル信号(ROM)

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 メモリ空間が複数のブロックに区分さ
    れ、当該メモリブロックを参照する際にメモリアドレス
    を出力する中央処理装置(1)を有し、前記メモリブロ
    ック毎に割り当てられたバンク情報を利用して複数の前
    記メモリブロックから一のメモリブロックを選択してメ
    モリ参照を行うメモリ制御装置において、 バンク情報及び前記一のメモリブロック内のアドレス範
    囲を指定する設定アドレスよりなる複数のブロック管理
    情報を記憶するメモリ分割レジスタ(6-1)と、 前記メモリ分割レジスタ(6-1)に記憶された前記ブロ
    ック管理情報と前記中央処理装置(1)から供給された
    前記メモリアドレスとを比較して、前記メモリアドレス
    が前記ブロック管理情報の前記設定アドレスの範囲内に
    該当する場合に、対応する前記メモリブロック(9)の
    前記アドレス範囲を有効とするイネーブル信号を出力す
    る領域判別手段(6-2、6-3)と、 を備えたことを特徴とするメモリ制御装置。
  2. 【請求項2】 請求項1記載のメモリ制御装置におい
    て、 領域判別手段(6-2、6-3)は、複数の前記ブロック管
    理情報のそれぞれに対応させて特定メモリブロック
    (9)の特定アドレス範囲を有効とする前記イネーブル
    信号を出力することを特徴とするメモリ制御装置。
  3. 【請求項3】 請求項1又は請求項2記載のメモリ制御
    装置において、 領域判別手段(6-2、6-3)は、前記中央制御装置
    (1)から供給された前記メモリアドレスのアドレス値
    を再割り付けした前記メモリブロックの上位アドレスを
    出力することを特徴とするメモリ制御装置。
JP33344593A 1993-12-27 1993-12-27 メモリ制御装置 Withdrawn JPH07191906A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33344593A JPH07191906A (ja) 1993-12-27 1993-12-27 メモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33344593A JPH07191906A (ja) 1993-12-27 1993-12-27 メモリ制御装置

Publications (1)

Publication Number Publication Date
JPH07191906A true JPH07191906A (ja) 1995-07-28

Family

ID=18266184

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33344593A Withdrawn JPH07191906A (ja) 1993-12-27 1993-12-27 メモリ制御装置

Country Status (1)

Country Link
JP (1) JPH07191906A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002056183A1 (en) * 2001-01-11 2002-07-18 Flasys Corporation Semiconductor memory device and method for accessing the same
US6795911B1 (en) 2000-01-28 2004-09-21 Oki Electric Industry Co., Ltd. Computing device having instructions which access either a permanently fixed default memory bank or a memory bank specified by an immediately preceding bank selection instruction

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795911B1 (en) 2000-01-28 2004-09-21 Oki Electric Industry Co., Ltd. Computing device having instructions which access either a permanently fixed default memory bank or a memory bank specified by an immediately preceding bank selection instruction
WO2002056183A1 (en) * 2001-01-11 2002-07-18 Flasys Corporation Semiconductor memory device and method for accessing the same

Similar Documents

Publication Publication Date Title
JP2743608B2 (ja) 共有レジスタ制御方式
US5761455A (en) Dynamic bus reconfiguration logic
KR890002469B1 (ko) 마이크로컴퓨터의 기억 페이징 시스템
JP3605205B2 (ja) データ処理装置および処理方法
US6584528B1 (en) Microprocessor allocating no wait storage of variable capacity to plurality of resources, and memory device therefor
JPH02121042A (ja) メモリシステム
US6625673B1 (en) Method for assigning addresses to input/output devices
US6434688B1 (en) Method and apparatus for providing and maximizing concurrent operations in a shared memory system which includes display memory
JPH07302254A (ja) マイクロコンピュータシステム
JPH07191906A (ja) メモリ制御装置
JPS5844263B2 (ja) 記憶制御回路
JPH0326864B2 (ja)
US4807119A (en) Memory address mapping mechanism
JPS5827253A (ja) デ−タ処理装置
JPH04359335A (ja) メモリアクセス方式
US5410662A (en) Programmable control of EMS page register addresses
KR920003845B1 (ko) 개인용 컴퓨터의 사용자를 위한 rom의 영역 확장 시스템
JPH07334420A (ja) 拡張メモリ制御回路
KR100329768B1 (ko) 마이크로컨트롤러의메모리어드레싱장치
JPH06231072A (ja) マイクロコンピュータ
JPS592938B2 (ja) メモリ ワ−クスペ−ス アンドレツシングホウホウオヨビソウチ
JPS597985B2 (ja) デ−タ処理装置のアクセス制御方式
JPS62279441A (ja) マイクロコンピユ−タのメモリシステム
JPH1027129A (ja) メモリアドレッシング方法およびメモリアドレッシング装置
JPS62145431A (ja) プロセツサ制御方式

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010306