JPH0322052A - memory mapper device - Google Patents

memory mapper device

Info

Publication number
JPH0322052A
JPH0322052A JP15568689A JP15568689A JPH0322052A JP H0322052 A JPH0322052 A JP H0322052A JP 15568689 A JP15568689 A JP 15568689A JP 15568689 A JP15568689 A JP 15568689A JP H0322052 A JPH0322052 A JP H0322052A
Authority
JP
Japan
Prior art keywords
address
memory
signal
data
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.)
Pending
Application number
JP15568689A
Other languages
Japanese (ja)
Inventor
Takashi Orimoto
孝 折本
Kazuyoshi Watanabe
渡辺 一嘉
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP15568689A priority Critical patent/JPH0322052A/en
Publication of JPH0322052A publication Critical patent/JPH0322052A/en
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、所定容量単位でブロック化された複数ブロッ
クを有するメモリのブロックアドレスをアクセスするメ
モリマッパ装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a memory mapper device that accesses a block address of a memory having a plurality of blocks divided into blocks of predetermined capacity.

[従来の技術] 最近、小型電子機器として、例えば複合機能を有する電
卓や電子手帳などが実用化されているが、これら電子機
器については、プログラムステップ数、データ量の増大
により大容量メモリが用いられるようになっている。
[Prior Art] Recently, small electronic devices such as calculators and electronic notebooks with multiple functions have been put into practical use, but these electronic devices require large-capacity memories due to the increase in the number of program steps and the amount of data. It is now possible to

ところで、このような電子機器に用いられるCPUにお
いてメモリアドレス線数が16本用意されているものは
、直接メモリアクセス処理可能なアドレス空間が、 2 ”− 6 5 5 3 6 (8ビットマシンの場合は64Kバイト)になる。した
がって、これより大きなアドレス空間を扱うには、何ら
かの方法によりメモリアドレス線を補ってアドレスを拡
張する必要がある。
By the way, for CPUs used in such electronic devices that have 16 memory address lines, the address space that can process direct memory access is 2" - 6 5 5 3 6 (in the case of an 8-bit machine) is 64 Kbytes). Therefore, in order to handle a larger address space, it is necessary to extend the address by supplementing the memory address line by some method.

そこで、従来、このような問題を解決する方法として、
アドレスバスの追加にCPUの出力ボートを使用するも
のが考えられている。ところが、このものはプログラミ
ングは可能であるものの、ソフトウェア上での制約が多
く、特に、出力ポートを切替える命令を行ったアドレス
と実行後のアドレスが連続的にならない。例えば、80
012h番地で出力ボートを3に切替えると、次の命令
の実行アドレスは30013hとなる。
Therefore, as a conventional method to solve such problems,
It is being considered that the CPU output port is used to add an address bus. However, although this method can be programmed, there are many restrictions on the software, and in particular, the address at which the command to switch the output port is issued and the address after the command is executed are not consecutive. For example, 80
When the output port is switched to 3 at address 012h, the execution address of the next instruction becomes 30013h.

このことがプログラム設計の際に障害となり、適用でき
る範囲が限定されていた。
This became an obstacle when designing programs, and the range of applicability was limited.

一方、別の方法としては、メモリマッパを使用する方法
も考えられている。この方法は、メモリアドレス空間を
所定長の論理的メモリユニット(セグメント)の集合に
設定し、論理アドレスを構成するセグメント開始アドレ
ス値にオフセットアドレス値を加算してメモリ実アドレ
スを生成することで拡張アドレスを得るようにしている
。この方法によれば1つのセグメント空間に対するアク
セスは可能であるが、連続したセグメントあるいは離れ
て位置するセグメント空間を連続してアクセスすること
はできず、メモリ空間のアクセスの融通性が制限される
ことなどから、プログラムの設計が面倒になる欠点があ
った。
On the other hand, as another method, a method using a memory mapper is also considered. This method is expanded by setting the memory address space as a set of logical memory units (segments) of a predetermined length, and generating the memory real address by adding an offset address value to the segment start address value that makes up the logical address. I'm trying to get an address. According to this method, it is possible to access one segment space, but it is not possible to access consecutive segments or segment spaces located far apart, which limits the flexibility of memory space access. For these reasons, it had the disadvantage of making program design troublesome.

[発明が解決しようとする課題] このように、従来のアドレスバスの追加にCPUの出力
ボートを使用するものは、出力ポートを切替える命令を
行ったアドレスと実行後のアドレスが連続的にならない
ため、プログラム設計の際の障害となるとともに、適用
できる範囲が限定されてしまい、また、メモリマッパを
使用するものは、連続したセグメントあるいは離れて位
置するセグメント空間を連続してアクセスすることはで
きず、メモリ空間のアクセスの融通性が制限されること
など、プログラムの設計が面倒になる欠点があった。
[Problems to be Solved by the Invention] As described above, in the conventional method that uses the CPU output port to add an address bus, the address at which the command to switch the output port is issued and the address after execution are not consecutive. This becomes an obstacle in program design and limits the range of applicability, and those using memory mappers cannot access consecutive segments or segment spaces located far apart. However, there were drawbacks such as limited flexibility in accessing memory space, which made program design troublesome.

本発明は、上記事情に鑑みてなされたもので、連続して
いない空間も連続しているようにして処理でき、しかも
プログラム設計を簡単にできるメモリマッパ装置を提供
することを目的とする。
The present invention has been made in view of the above circumstances, and it is an object of the present invention to provide a memory mapper device that can process non-contiguous spaces as if they are continuous and can simplify program design.

[課題を解決するための手段] 本発明は、所定容量単位でブロック化された複数ブロッ
クを持つメモリのプログラム領域またはデータ領域のブ
ロックアドレスをアクセスするメモリマッパ装置におい
て、少なくとも2分割されたCPUのアドレス空間によ
り直接アクセスされる上記メモリのプログラム領域また
はデータ領域のブロックアドレスを指定する複数のアド
レスレジスタと、メモリアクセス状態により上記アドレ
スレジスタのいずれかを選択指定するレジスタ選択手段
と、このレジスタ選択手段により選択指定されているア
ドレスレジスタの内容を任意に書き替える書き替え手段
からなっている。
[Means for Solving the Problems] The present invention provides a memory mapper device that accesses a block address of a program area or a data area of a memory having a plurality of blocks divided into blocks of predetermined capacity. A plurality of address registers specifying block addresses of the program area or data area of the memory directly accessed by the address space, a register selection means for selecting and specifying one of the address registers according to the memory access state, and the register selection means It consists of a rewriting means for arbitrarily rewriting the contents of the selected address register.

[作用] 本発明によれば、所定容量単位でブロック化された複数
ブロックを持つメモリのプログラム領域またはデータ領
域の各ブロックアドレスをアドレスレジスタを選択指定
することでアクセスできるようになる。また、アドレス
レジスタを2分割されたCPUのアドレス空間に対応し
て選択指定することにより、これらアドレスレジスタに
より指定されたブロックアドレスを連続してアクセスす
ることもできる。
[Operation] According to the present invention, each block address of a program area or a data area of a memory having a plurality of blocks divided into blocks of a predetermined capacity can be accessed by selecting and specifying an address register. Further, by selectively specifying the address registers corresponding to the address space of the divided CPU, it is also possible to successively access the block addresses specified by these address registers.

[実施例] 以下、本発明の一実施例を図面にしたがい説明する。[Example] An embodiment of the present invention will be described below with reference to the drawings.

第1図は同実施例の回路構戊を示すものである。図にお
いて、1は8ビットCPUで、このCPUIは8本のデ
ータ線DO〜D7と16本のアトレス線AO〜Al5が
用意され、直接メモリアクセス処理可能なアドレス空間
を64Kバイトにしている。また、このCPUIはアド
レス空間を32Kバイトずつの2つのBANK構成とし
ている。
FIG. 1 shows the circuit structure of the same embodiment. In the figure, 1 is an 8-bit CPU, and this CPU is provided with 8 data lines DO to D7 and 16 address lines AO to Al5, making the address space capable of direct memory access processing 64 Kbytes. Further, this CPUI has an address space configured into two banks of 32K bytes each.

CPUIに用意されたデータ線DO−D7をメモリマッ
パ2に接続するとともに、メモリ3〜6に接続し、また
、アドレス線AO〜Al5のうち、アドレス線AO 、
AI ,Al5を上記メモリマッパ2に接続するととも
に、アドレス線An −AI4を上記メモリ3〜6に接
続している。
The data line DO-D7 prepared for the CPUI is connected to the memory mapper 2 and also connected to the memories 3 to 6, and among the address lines AO to Al5, the address lines AO,
AI and Al5 are connected to the memory mapper 2, and an address line An-AI4 is connected to the memories 3 to 6.

メモリマッパ2はプログラムアドレスレジスタ(IBR
)21とデータアドレスレジスタ(BRO )(BRI
 )22、23を有している。
Memory mapper 2 is a program address register (IBR).
)21 and data address register (BRO) (BRI
) 22, 23.

これらアドレスレジスタ21〜23はアドレス線AO、
Alのアドレス信号により選択され、レジスタセット信
号RSが「1」の状態でデータ線DO〜D7のデータ書
き込みが行われる。また、アドレス線A15のアドレス
信号、データ信号DTがともに「1」で、フェッチ信号
FEが「1」のタイミングでアドレスレジスタ21の読
み出しが行われ、同様にしてアドレス線Al5のアドレ
ス信号およびデータ信号DTがともにrOJでフエツチ
信号FEが「1」のタイミングでアドレスレジスタ22
の読み出し、アドレスiAl5のアドレス信号が「1」
、データ信号DTがrOJで、フエッチ信号FEが「1
」のタイミングでアドレスレジスタ23の読み出が行わ
れるようになっている。
These address registers 21 to 23 are connected to address lines AO,
It is selected by the address signal of Al, and data writing to the data lines DO to D7 is performed when the register set signal RS is "1". Further, the address register 21 is read out at the timing when both the address signal and data signal DT on the address line A15 are "1" and the fetch signal FE is "1", and in the same way, the address signal and data signal on the address line Al5 are read out. When DT is both rOJ and the fetch signal FE is "1", the address register 22
read, the address signal of address iAl5 is “1”
, the data signal DT is rOJ, and the fetch signal FE is “1”.
The address register 23 is read out at the timing of "."

ここで、アドレスレジスタ21〜23は第6図に示すよ
うにDO−D7の1バイトより構成され、このうちのD
o−D4をメモリブロック指定用バイト、DB、D7を
メモリ指定用バイトとしている。ここでのブロック指定
用バイトDO−D4の内容は拡張アドレス信号としてア
ドレス線A15〜Al9に出力され、上記アドレス線A
O〜Al4のアドレス信号とともに上記メモリ3〜6に
与えられる。また、メモリ指定用バイトD6、D7の内
容は、第7図に示す組み合わせによりEO−E3のイネ
ーブル信号として出力され、上記メモリ3〜6に与えら
れる。ここでは、イネープル信号EOはメモリ3、イネ
ーブル信号Elはメモリ4、イネーブル信号E2はメモ
リ5、イネーブル信号E3はメモリ6に与えられるもの
である。
Here, the address registers 21 to 23 are composed of 1 byte of DO-D7 as shown in FIG.
o-D4 is a memory block designation byte, and DB and D7 are memory designation bytes. The contents of the block designation byte DO-D4 here are output to the address lines A15 to Al9 as an extended address signal, and
It is applied to the memories 3 to 6 together with the address signals O to Al4. Further, the contents of the memory specifying bytes D6 and D7 are outputted as an enable signal of EO-E3 by the combination shown in FIG. 7, and are applied to the memories 3 to 6. Here, the enable signal EO is given to the memory 3, the enable signal El to the memory 4, the enable signal E2 to the memory 5, and the enable signal E3 to the memory 6.

メモリ3〜6はIMバイトの空間を有するもので、それ
ぞれの空間を32Kバイトずつ32のブロックBLO−
BL31に分割している。
Memories 3 to 6 have a space of IM bytes, and each space is divided into 32 blocks of 32K bytes BLO-
It is divided into BL31.

第2図は、メモリマッパ2とメモリ3〜6の接続関係を
示すものである。この場合、論理アドレス信号AO〜A
l5のうち、アドレス信号Al5をメモリマッパ2のレ
ジスタ選択部24に与え、アドレスレジスタ21〜23
のうちから対応するものを1つ選択指定し、これの内容
を取り出す。この場合、選択指定されたアドレスレジス
タ21〜23の内容のメモリ指定用バイトD6、D7に
応じたイネーブル信号EO−E3によりメモリ3〜6の
うちの1つが指定され、ブロック指定用パイ}DO〜D
4に応じたアドレス信号A15〜Al9により指定され
たメモリのブロックが指定され、このアドレス信号AI
5〜Al9とともに20ビット実アドレスを構成する論
理アドレス信号AO〜Al4により指定されたメモリブ
ロックのアドレスをアクセスするようになる。
FIG. 2 shows the connection relationship between the memory mapper 2 and the memories 3 to 6. In this case, logical address signals AO to A
Of l5, the address signal Al5 is given to the register selection unit 24 of the memory mapper 2, and the address signal Al5 is sent to the address registers 21 to 23.
Select and specify one of the corresponding items, and extract the contents of this item. In this case, one of the memories 3 to 6 is designated by the enable signal EO-E3 corresponding to the memory designation bytes D6 and D7 of the contents of the selected address registers 21 to 23, and the block designation pi}DO~ D
A specified memory block is designated by address signals A15 to Al9 corresponding to 4, and this address signal AI
The address of the memory block specified by the logical address signals AO to Al4, which together with 5 to Al9 constitute a 20-bit real address, is accessed.

第3図は、メモリマッパ2の具体的回路構或を示すもの
である。この場合、プログラムアドレスレジスタ21と
データアドレスレジスタ22、23には、CPUIより
データ線DO−D7が接続されるとともに、レジスタセ
ット信号RSが与えられる。また、CPUIよりアドレ
ス線AO1Alが上記レジスタ選択部24を構成するデ
コーダ25に接続される。デコーダ25はアドレス線A
O 、Atのアドレス信号AO 、AIの組み合わせに
よりアドレスレジスタ21〜23を選択指定するもので
ある。そして、アドレスレジスタ21〜23の出力はマ
ルチプレクサ26に与えられる。
FIG. 3 shows a specific circuit configuration of the memory mapper 2. As shown in FIG. In this case, the data line DO-D7 is connected to the program address register 21 and the data address registers 22, 23 from the CPUI, and a register set signal RS is applied thereto. Further, the address line AO1Al is connected to the decoder 25 constituting the register selection section 24 from the CPUI. Decoder 25 is address line A
Address registers 21 to 23 are selected and designated by a combination of address signals AO and AI of O and At. The outputs of address registers 21 to 23 are then given to multiplexer 26.

マルチプレクサ26にはCPUIのアドレス線A15よ
りアドレス信号Al5が与えられるとともに、データ信
号DT,フェッチ信号FEが与えられる。
The multiplexer 26 is supplied with an address signal Al5 from an address line A15 of the CPUI, as well as a data signal DT and a fetch signal FE.

また、アドレス線Al5のアドレス信号A15はインバ
ータ27を介して、またデータ信号DTは直接アドレス
発生部28に与えられる。
Further, the address signal A15 of the address line Al5 is applied to the inverter 27, and the data signal DT is directly applied to the address generation section 28.

ここで、マルチプレクサ26は、第4図に示すようにア
ドレス信号Al5およびデータ信号DTがともに「1」
によりレジスタ番地「2」を指示し、プログラムアドレ
ス用レジスタ21を指定するとともに、フエツチ信号F
Eが「1」により同レジスタ21のデータを読み出し、
また、アドレス信号Al5およびデータ信号DTがとも
に「o」でレジスタ番地「0」を指示し、データアドレ
ス用レジスタ22を指定するとともに、フz 7チ信号
FEが「1」により同レジスタ22のデータを読み出し
、アドレス信号Al5が「1」、データ信号DTが「0
」で、レジスタ番地「1」を指示し、データアドレスレ
ジスタ23を指定するとともに、フエツチ信号FEが「
1」により同アドレスレジスタ23のデータを読み出し
、さらに、アドレス信号Al5が「0」、データ信号D
TがrlJで、アドレスレジスタ番地無しを指示するよ
うにしている。すなわち、アドレス信号Al5およびデ
ータ信号DTの出力状態によりアドレスレジスタが選択
指定される。そして、マルチブレクサ26より出力され
る各アドレスレジスタ21〜23のメモリブロック指定
用バイトDO−D7は拡張アドレス信号としてアドレス
線A15〜Al9に出力され、メモリ指定用バイトDB
、D7はメモリ指定用信号としてデコーダ2つに与えら
れる。デコーダ2つは第7図に示すようにメモリ指定用
バイトDB 、D7の内容の組み合わせによりEO〜E
3のイネーブル信号を出力するようにしている。
Here, the multiplexer 26 outputs both the address signal Al5 and the data signal DT to "1" as shown in FIG.
specifies the register address "2", specifies the program address register 21, and sends the fetch signal F.
E reads the data of the same register 21 with “1”,
Further, the address signal Al5 and the data signal DT are both "o", indicating the register address "0" and specifying the data address register 22, and the edge signal FE is "1", indicating the data in the register 22. is read, the address signal Al5 is "1" and the data signal DT is "0".
” specifies the register address “1” and specifies the data address register 23, and the fetch signal FE changes to “
1", the data in the address register 23 is read, and furthermore, the address signal Al5 is "0" and the data signal D is
T is rlJ, which indicates that there is no address register address. That is, the address register is selected and specified depending on the output states of address signal Al5 and data signal DT. The memory block designating byte DO-D7 of each address register 21-23 output from the multiplexer 26 is output as an extended address signal to the address lines A15-Al9,
, D7 are given to two decoders as memory designation signals. As shown in Figure 7, the two decoders are configured with memory specification bytes DB and EO to E depending on the combination of the contents of D7.
3 enable signals are output.

一方、アドレス発生部28はアドレス線Al5のアドレ
ス信号が「0」、データ信号DTが「1」で出力を発生
するもので、ここではオア回路30を介してメモリ3を
指定するイネーブル信号EOと、ブロック指定用信号と
してアドレス線A15〜Al9に対してro O O 
O OJを出力するようにしている。
On the other hand, the address generating section 28 generates an output when the address signal of the address line Al5 is "0" and the data signal DT is "1". , ro O O to address lines A15 to Al9 as block designation signals.
O OJ is output.

しかして、このような構或において、まず、メモリマッ
パ2のプログラムアドレスレジスタ(IBR)21にデ
ータを書き込む場合を説明する。この場合、第5図(a
)に示すようにCPUIのアドレス線AO−Al5のう
ちアドレス線AO 、Alのアドレス信号AO 、Al
がメモリマッパ2に送られる。これらアドレス信号AO
、Atはメモリマッパ2のデコーダ25に与えられ、こ
の時のアドレス信号AO、Alの組み合わせによりレジ
スタ21が選択される。この状態で、データ書き込み信
号WRとともに、レジスタセット信号RSが与えられる
と、CPUIよりデータ線DO〜D7のデータDO〜D
7がレジスタ21に書き込まれる。
Therefore, in such a structure, first, a case in which data is written to the program address register (IBR) 21 of the memory mapper 2 will be described. In this case, Fig. 5 (a
), of the address lines AO-Al5 of the CPUI, the address signals AO, Al of the address lines AO, Al
is sent to the memory mapper 2. These address signals AO
, At are applied to the decoder 25 of the memory mapper 2, and the register 21 is selected by the combination of the address signals AO and Al at this time. In this state, when the register set signal RS is applied together with the data write signal WR, the CPU sends the data DO to D on the data lines DO to D7.
7 is written to register 21.

一方、メモリマッパ2のデータアドレス用レジスタ(B
RO)(BRI)22、23にデータを書き込む場合も
上述と同様で、アドレス線AO、A1のアドレス信号A
O 、AIにより、レジスタ22、23が選択指定され
た状態で、CPUIのデータ線DO〜D7を介してデー
タDO〜D7が書き込まれるようになる。
On the other hand, the data address register (B
When writing data to RO) (BRI) 22 and 23, it is the same as above, and the address signal A of the address lines AO and A1 is
With the registers 22 and 23 selected and specified by O and AI, data DO to D7 are written via data lines DO to D7 of the CPUI.

次に、CPUIによりプログラムを読み込む場合を説明
する。この場合、CPUIは第8図(a)に示すように
アドレス空間を32KバイトずつのバンクBANKO、
BANKIに構成されているが、oooo〜7FFFま
でのバンクBANKOでは、アドレス線Al5のアドレ
ス信号が「0」、データ信号DTが「1」となる。する
と、アドレス発生部28よりオア回路30を介してイネ
ーブル信号EOが出力されるとともに、ブロック指定用
の拡張アドレス信号としてアドレス線AI5〜Al9に
対してr0 0 0 0 0Jが出力される。これによ
り、メモリ3が指定されるとともに、バンクBANKO
の論理アドレスAO〜Al4と拡張アドレスA15〜A
19からなる実アドレスが出力されることから、拡張ア
ドレス信号によりメモリ3のブロックBLIが無条件で
指定されるようになり、このブロックBLIに対してプ
ログラムの読み込みが実行されることになる。
Next, the case where a program is read by the CPUI will be explained. In this case, the CPU divides the address space into banks of 32K bytes each, BANKO, as shown in FIG. 8(a).
In banks BANKO from oooo to 7FFF, the address signal of the address line Al5 is "0" and the data signal DT is "1". Then, the address generator 28 outputs the enable signal EO via the OR circuit 30, and r0 0 0 0 0J is output to the address lines AI5 to Al9 as an extended address signal for block designation. As a result, memory 3 is specified and bank BANKO
logical addresses AO to Al4 and extended addresses A15 to A
Since the real address consisting of 19 is output, the block BLI of the memory 3 is unconditionally specified by the extended address signal, and the program is read into this block BLI.

次に、8000〜FFFFのバンクBANK 1では、
第5図(b)に示すようにアドレス線A15のアドレス
信号およびデータ信号DTがともに「1」となり、プロ
グラムアドレスレジスタ21が指定される。そして、こ
の状態でフェッチ信号FEが「1」になると、同レジス
タ21のデータが読み出される。この場合、レジスタ2
1のメモリブロック指定バイトDO〜D7の内容は拡張
アドレス信号としてアドレス線AI5〜Al9に出力さ
れ、メモリ指定バイトDB、D7の内容はデコーダ2つ
に与えられるが、ここで、DB − rOJ、D7 −
 rOJとすれば、イネーブル信号EOが出力され、メ
モリ3が指定される。また、アドレスaA15〜Al9
に対して出力されたブロック指定用信号はバンクBAN
KIの論理アドレスAO〜Al4とともに、実アドレス
として出力されるが、ここで、拡張アドレス信号により
ブロックBL20が指定されたとすれば、メモリ3のブ
ロックBL20に対してプログラムの読み込みが実行さ
れることになる。つまり、この場合は、0000〜7F
FFのバンクBANKOについては、メモリ3のブロッ
クBLIに固定的にプログラムの読み込みが実行され、
これに続けて8000−FFFFのBANKIでは、任
意のブロック、ここではブロックBL20についてプロ
グラムの読み込みが実行される。この状態を第8図(b
)に示している。
Next, in bank BANK 1 from 8000 to FFFF,
As shown in FIG. 5(b), both the address signal and data signal DT on the address line A15 become "1", and the program address register 21 is designated. When the fetch signal FE becomes "1" in this state, the data in the register 21 is read out. In this case, register 2
The contents of memory block designation bytes DO to D7 are output as extended address signals to address lines AI5 to Al9, and the contents of memory designation bytes DB and D7 are given to two decoders; −
If rOJ is specified, enable signal EO is output and memory 3 is designated. In addition, addresses aA15 to Al9
The block designation signal output to bank BAN
It is output as a real address along with the logical addresses AO to Al4 of KI, but if block BL20 is specified by the extended address signal, the program will be read into block BL20 of memory 3. Become. In other words, in this case, 0000-7F
For FF bank BANKO, the program is fixedly loaded into block BLI of memory 3,
Following this, at BANKI 8000-FFFF, a program is read for an arbitrary block, block BL20 here. This state is shown in Figure 8 (b
).

次に、CPUIのプログラムがデータを参照する場合を
説明する。この場合、CPU1の0000〜FFFFの
バンクBANKOでは、第5図(C)に示すようにアド
レス線Al5のアドレス信号およびデータ信号DTがと
もに「O」となり、データアドレスレジスタ22が指定
される。
Next, a case in which a CPU program refers to data will be described. In this case, in banks BANKO from 0000 to FFFF of the CPU 1, both the address signal and the data signal DT on the address line Al5 become "O" as shown in FIG. 5(C), and the data address register 22 is designated.

そして、この状態でフェッチ信号FEが「1」になると
、同レジスタ22のデータが読み出される。
When the fetch signal FE becomes "1" in this state, the data in the register 22 is read out.

この場合、レジスタ22のメモリブロック指定バイトD
O〜D7の内容はメモリブロック指定信号としてアドレ
ス線Al5〜Al9に出力され、メモリ指定バイトDB
 、D7の内容はデコーダ29に与えられるが、ここで
、DB − rlJ 、D? − I’l」とすれば、
イネーブル信号E1が出力され、メモリ4が指定される
。また、アドレス線A15〜A19に対して出力された
ブロック指定用信号はバンクBANKOの論理アドレス
AO〜Al4とともに、実アドレスとして出力されるが
、ここで、拡張アドレス信号によりブロックBL2が指
定されたとすれば、メモリ4のブロックBL2に対して
データ参照が実行されることになる。
In this case, the memory block designation byte D of register 22
The contents of O to D7 are output to address lines Al5 to Al9 as memory block designation signals, and are output to memory designation bytes DB.
, D7 are given to the decoder 29, where DB-rlJ, D? - I'l'', then
Enable signal E1 is output, and memory 4 is designated. Furthermore, the block designation signals output to the address lines A15 to A19 are output as real addresses together with the logical addresses AO to Al4 of bank BANKO, but here, if block BL2 is designated by the extended address signal, For example, data reference is executed to block BL2 of memory 4.

次に、8000〜FFFFのバンクBANK 1では、
第5図(C)に示すようにアドレス線A15のアドレス
信号が「1」およびデータ信号DTが「1」となり、プ
ログラムアドレスレジスタ23が指定される。そして、
この状態でフエツチ信号FEが「1」になると、同レジ
スタ23のデータが読み出される。この場合、レジスタ
23のブロック指定バイトDO〜D7の内容はメモリブ
ロック指定用信号としてアドレス線AI5〜AI9に出
力され、メモリ指定バイトD6、D7の内容はデコーダ
29に与えられるが、ここで、DB − rlJ、D7
 − rlJとすれば、イネープル信号E3が出力され
、メモリ6が指定される。また、アドレス線A15〜A
l9に対して出力されたブロック指定用の拡張アドレス
信号はバンクBANK 1の論理アドレスAO〜Al4
とともに、実アドレスとして出力されるが、ここで、拡
張アドレス信号によりブロックBL21が指定されたと
すれば、メモリ6のブロックBL21に対してデータ参
照が実行されることになる。つまり、この場合は,、0
000〜7FFFのバンクBANKOについては、メモ
リ4のブロックBL2に対してデータ参照が実行され、
これに続けて8000〜FFFFのバンクBANK1で
は、メモリ6のブロックBL21についてデータ参照が
実行される。この状態を第9図(a)(b)に示してい
る。
Next, in bank BANK 1 from 8000 to FFFF,
As shown in FIG. 5C, the address signal on the address line A15 becomes "1" and the data signal DT becomes "1", and the program address register 23 is designated. and,
When the fetch signal FE becomes "1" in this state, the data in the register 23 is read out. In this case, the contents of the block designation bytes DO to D7 of the register 23 are output as memory block designation signals to the address lines AI5 to AI9, and the contents of the memory designation bytes D6 and D7 are given to the decoder 29; - rlJ, D7
- rlJ, enable signal E3 is output and memory 6 is specified. In addition, address lines A15 to A
The extended address signal for block designation output to l9 is the logical address AO to Al4 of bank BANK1.
At this time, it is output as a real address, but if block BL21 is designated by the extended address signal, data reference will be executed for block BL21 of memory 6. In other words, in this case, 0
For bank BANKO from 000 to 7FFF, data reference is executed to block BL2 of memory 4,
Following this, in the bank BANK1 from 8000 to FFFF, data reference is executed for the block BL21 of the memory 6. This state is shown in FIGS. 9(a) and 9(b).

したがって、このようにすればCPUIの論理アドレス
信号に対してメモリマッパにより拡張アドレス信号を付
加可能にしたので、CPUIにより処理可能なアドレス
空間以上の大きなアドレス空間を取り扱うことができる
。また、CPUIの処理可能な空間をバンクBANKO
,BANKIに2分割し、それぞれのバンクBANKO
,BANKIに対してメモリ3〜6の任意のメモリブロ
ックBLO〜BL31を割り当てることができるので、
連続した空間は勿論、連続していない空間も、あたかも
連続しているようにアクセスすることができるようにな
り、メモリ空間のアクセスの融通性を高めることができ
るとともに、プログラム設計上での制約も受けず、簡単
な設計を実現できる。
Therefore, in this way, the extended address signal can be added to the logical address signal of the CPUI by the memory mapper, so that it is possible to handle an address space larger than the address space that can be processed by the CPUI. In addition, the space that can be processed by the CPU is stored in the bank BANKO.
, BANKI, and each bank BANKO.
Since any memory blocks BLO to BL31 of memories 3 to 6 can be allocated to , BANKI,
Not only contiguous spaces but also non-contiguous spaces can now be accessed as if they were contiguous, increasing the flexibility of memory space access and reducing restrictions on program design. Easy design can be achieved without any problems.

なお、本発明は上記実施例にのみ限定されず、要旨を変
更しない範囲で適宜変形して実施できる。
It should be noted that the present invention is not limited to the above-mentioned embodiments, but can be implemented with appropriate modifications without changing the gist.

例えば上述の実施例では、CPUIがプログラムを読み
込む場合、CPUIの0000〜7FFFのバンクBA
NKOでは、アドレス発生部28の出力によりメモリ3
のブロックBLIを無条件で指定するようにしたが、プ
ログラムアドレス用レジスタ21に相当するレジスタを
2個設けて同じような動作をおこなわせるようにしても
よい。
For example, in the above embodiment, when the CPUI reads a program, the bank BA of 0000 to 7FFF of the CPUI is
In NKO, memory 3 is generated by the output of address generator 28.
Although the block BLI is specified unconditionally, two registers corresponding to the program address register 21 may be provided to perform the same operation.

[発明の効果] 本発明によれば、所定容量単位でブロック化された複数
ブロックを持つメモリのプログラム領域またはデータ領
域の各ブロックアドレスをアドレスレジスタを選択指定
することでアクセスできるので、CPUで処理可能なア
ドレス空間以上の大きなアドレス空間を取り扱うことが
できる。また、アドレスレジスタを2分割されたCPU
のアドレス空間に対応して選択指定するとともに、これ
らアドレスレジスタにより指定されたブロックアドレス
を連続してアクセスすることもできるので、、連続した
空間は勿論、連続していない空間も、あたかも連続して
いるようにアクセスすることができ、メモリ空間のアク
セスの融通性を高めることができるとともに、プログラ
ム設計を簡単なものにできる。
[Effects of the Invention] According to the present invention, each block address of a program area or data area of a memory having a plurality of blocks divided into blocks of a predetermined capacity can be accessed by selecting and specifying an address register, so that processing is not required by the CPU. It can handle address spaces larger than possible. In addition, the address register is divided into two CPUs.
The block addresses specified by these address registers can be accessed consecutively, so not only continuous spaces but also non-contiguous spaces can be accessed as if they were continuous. The memory space can be accessed as if the memory space is accessed, increasing the flexibility of memory space access and simplifying program design.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の一実施例の回路構成を示すブロック図
、第2図は同実施例のメモリマッパとメモリの接続関係
を説明するための図、第3図は同実施例に用いられるメ
モリマッパの回路構成図、第4図は同実施例のアドレス
レジスタの選択指定を説明するための図、第5図は同実
施例の動作を第7図はアドレスレジスタのメモリ指定バ
イトの内容とイネーブル信号の関係を示す図、第8図お
よび第9図は同実施例の動作を説明するための図である
。 1・・・CPU,2・・・メモリマッパ、21・・・プ
ログラムアドレスレジスタ、22、23・・・データア
ドレスレジスタ、25、29・・・デコーダ、26・・
・マルチプレクサ、28・・・アドレス発生部、3〜6
・・・メモリ。
Fig. 1 is a block diagram showing the circuit configuration of an embodiment of the present invention, Fig. 2 is a diagram for explaining the connection relationship between the memory mapper and memory of the embodiment, and Fig. 3 is used in the embodiment. FIG. 4 is a diagram for explaining the selection and designation of the address register of the same embodiment. FIG. 5 shows the operation of the same embodiment. FIG. 7 shows the contents of the memory designation byte of the address register. FIGS. 8 and 9 are diagrams showing the relationship between enable signals, and are diagrams for explaining the operation of the same embodiment. 1...CPU, 2...Memory mapper, 21...Program address register, 22, 23...Data address register, 25, 29...Decoder, 26...
・Multiplexer, 28...Address generation section, 3 to 6
···memory.

Claims (1)

【特許請求の範囲】[Claims] 所定容量単位でブロック化された複数ブロックを持つメ
モリのプログラム領域またはデータ領域のブロックアド
レスをアクセスするメモリマッパ装置において、少なく
とも2分割されたCPUのアドレス空間により直接アク
セスされる上記メモリのプログラム領域またはデータ領
域のブロックアドレスを指定する複数のアドレスレジス
タと、メモリアクセス状態により上記アドレスレジスタ
のいずれかを選択指定するレジスタ選択手段と、このレ
ジスタ選択手段により選択指定されているアドレスレジ
スタの内容を任意に書き替える手段とを具備したことを
特徴とするメモリマッパ装置。
In a memory mapper device that accesses block addresses of a program area or data area of a memory having a plurality of blocks divided into blocks of predetermined capacity, the program area or data of the memory is accessed directly by an address space of a CPU divided into at least two parts. A plurality of address registers for specifying block addresses of an area, a register selection means for selecting and specifying one of the address registers according to the memory access state, and a register selection means for arbitrarily writing the contents of the address register selected and specified. A memory mapper device characterized by comprising: means for changing the memory mapper.
JP15568689A 1989-06-20 1989-06-20 memory mapper device Pending JPH0322052A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15568689A JPH0322052A (en) 1989-06-20 1989-06-20 memory mapper device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15568689A JPH0322052A (en) 1989-06-20 1989-06-20 memory mapper device

Publications (1)

Publication Number Publication Date
JPH0322052A true JPH0322052A (en) 1991-01-30

Family

ID=15611340

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15568689A Pending JPH0322052A (en) 1989-06-20 1989-06-20 memory mapper device

Country Status (1)

Country Link
JP (1) JPH0322052A (en)

Similar Documents

Publication Publication Date Title
JPS6252637A (en) Digital processor control
JPH0248931B2 (en)
JPS5868286A (en) Cash memory and how it works
JPS5844263B2 (en) memory control circuit
US7124261B2 (en) Access to bit values within data words stored in a memory
JPH0322052A (en) memory mapper device
JPS5886651A (en) Byte reference of word array memory and memory system
US5933856A (en) System and method for processing of memory data and communication system comprising such system
JPS63244152A (en) Access control system for extended memory device
JPS61214039A (en) Cache memory
JP2692180B2 (en) Microcomputer
JPS62151955A (en) Memory addressing system
JPH0376504B2 (en)
JPH02226447A (en) Computer system and memory access therefor
JPS603656B2 (en) Computer memory expansion method
JPH0232434A (en) Memory access device
JPS59106047A (en) Microcomputer
JPS63237143A (en) Programmable controller
JPH0267654A (en) Memory system
JPS635432A (en) Microprocessor
JPS6243746A (en) Data control system with tag
JPH01108652A (en) Address translation method
JPS6340954A (en) Memory device
JPS6180331A (en) Variable length data processor
JPH0154729B2 (en)