JP2000357123A - Memory access control system - Google Patents

Memory access control system

Info

Publication number
JP2000357123A
JP2000357123A JP11169092A JP16909299A JP2000357123A JP 2000357123 A JP2000357123 A JP 2000357123A JP 11169092 A JP11169092 A JP 11169092A JP 16909299 A JP16909299 A JP 16909299A JP 2000357123 A JP2000357123 A JP 2000357123A
Authority
JP
Japan
Prior art keywords
address
storage area
data
memory
mapping
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
JP11169092A
Other languages
Japanese (ja)
Inventor
Susumu Yamaguchi
晋 山口
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.)
NEC IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems 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 NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP11169092A priority Critical patent/JP2000357123A/en
Publication of JP2000357123A publication Critical patent/JP2000357123A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To access a memory without being aware of the border of a storage area by converting a decomposed address into an address of the storage area and accessing addresses including the border of the storage area. SOLUTION: A memory map address converting circuit is composed of an address decomposing means 300, an address converting means 301, a storage area access means 302, a data decomposing means 310, a data merging means 311, and a fixed writing means 320. To read data out, an address 3b and an access size 3c are inputted to the address decomposing means 300 first and the address decomposing means 300 outputs an address 3e to be accessed. The address converting means 301 searches a storage area mapping management table for a storage area mapped to the outputted address 3e outputted to the address decomposing means 300. Then the address 3g of the storage area to be addressed is calculated from the head address of the set storage area and outputted.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、コンピュータシス
テムのメモリアクセス領域の管理やメモリアクセスを行
うメモリアクセス制御システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory access control system for managing a memory access area of a computer system and performing memory access.

【0002】[0002]

【従来の技術】一般にコンピュータシステムでは、複数
の格納領域をメモリ用のアドレス空間にマッピングして
アクセスを行う。例えば、特開平9−22377号公報
においては、複数の格納領域をメモリ用のアドレス空間
にマッピングするメモリマップアドレス変換回路の一例
が開示されている。図14は、このような従来のメモリ
マップアドレス変換回路の構成を示すブロック図であ
り、図15は、図14に示すメモリマップアドレス変換
回路のアドレスマップ発生回路の構成を示すブロック図
である。図14に示すように、このメモリマップアドレ
ス変換回路8は、アドレスマップ発生回路10、4ビッ
トDラッチ12a、12b、12c、12d、4ビット
コンパレータ20a、20b、20c、20d、4入力
ORゲート30、及び、2入力ORゲート32a、32
bにより構成されている。
2. Description of the Related Art Generally, in a computer system, a plurality of storage areas are accessed by mapping them in a memory address space. For example, Japanese Patent Laying-Open No. 9-22377 discloses an example of a memory map address conversion circuit that maps a plurality of storage areas to a memory address space. FIG. 14 is a block diagram showing a configuration of such a conventional memory map address conversion circuit, and FIG. 15 is a block diagram showing a configuration of an address map generation circuit of the memory map address conversion circuit shown in FIG. As shown in FIG. 14, the memory map address conversion circuit 8 includes an address map generation circuit 10, 4-bit D latches 12a, 12b, 12c, 12d, 4-bit comparators 20a, 20b, 20c, 20d, and a 4-input OR gate 30. , And a two-input OR gate 32a, 32
b.

【0003】以下、図14に示すメモリマップアドレス
変換回路によって、図15に示すマッピング設定と実際
のメモリアクセスの動きについて説明する。システム起
動時もしくはメモリ再マッピング処理において、メモリ
マップアドレス変換回路10にメモリセレクト信号、ク
ロック、スタート信号を入力する。16本のセレクト信
号は、図15に示すメモリ用アドレス空間で16分割さ
れた各アドレス空間100〜115に対応する。図15
に示す例の場合、選択されたメモリ用のアドレス空間
は、101、104、106、114であり、セレクト
信号は2進数で0100000001010010とな
る。メモリマップアドレス変換回路10は、指定された
メモリ用アドレス空間の上位4ビットの値を12aから
12dの4ビットDラッチへそれぞれ2進数で、000
1、0100、0110、1110と設定する。なお、
設定の詳細な動作について、ここでは省略する。
Hereinafter, the mapping setting shown in FIG. 15 and the actual operation of memory access will be described with reference to the memory map address conversion circuit shown in FIG. At the time of system startup or during memory remapping processing, a memory select signal, a clock, and a start signal are input to the memory map address conversion circuit 10. The 16 select signals correspond to the address spaces 100 to 115 divided into 16 in the memory address space shown in FIG. FIG.
In the example shown in (1), the address spaces for the selected memory are 101, 104, 106, and 114, and the select signal is 0100000001010010 in binary. The memory map address conversion circuit 10 stores the value of the upper 4 bits of the specified memory address space into the 4-bit D latch of 12a to 12d in binary notation 000, respectively.
1, 0100, 0110, and 1110 are set. In addition,
Detailed operation of the setting is omitted here.

【0004】次に、メモリアクセスでの動作を説明す
る。CPUが出力する24ビットのアドレス信号のうち
上位の4ビットがAI(23:20)として4ビットコ
ンパレータ20a〜20dに入力され、AI(19:
0)として入力される下位の20ビットは、そのままA
O(19:0)として出力される構成である。そして、
このAO(19:0)の上位に、2入力ORゲート32
aから出力されるAO(21)と2入力ORゲート32
bから出力されるAO(20)とが付加されて、22ビ
ットのメモリアドレス信号とされる。
[0004] Next, an operation in memory access will be described. The upper four bits of the 24-bit address signal output by the CPU are input to the 4-bit comparators 20a to 20d as AI (23:20), and are output to the AI (19:
0), the lower 20 bits input as A
This is a configuration that is output as O (19: 0). And
Above this AO (19: 0), a two-input OR gate 32
AO (21) output from a and a two-input OR gate 32
AO (20) output from b is added to make a 22-bit memory address signal.

【0005】すなわち、AI(23:20)が2進数で
0001のときには、4ビットコンパレータ20aのE
Q信号がアクティブになるが、このEQ信号は2入力O
Rゲート32a、32bに入力されないので、AO(2
0)、AO(21)とも0となる。したがって、メモリ
マップアドレス変換回路8から出力されるアドレス信号
としては、上位2ビットがともに0で、下位20ビット
はAI(19:0)がそのまま出力されるAO(19:
0)になる。このアドレス信号のアドレスは、16進数
で0xxxxx(xは0〜Fのいずれか)となり、領域
200にマッピングされることになる。
That is, when AI (23:20) is 0001 in binary, the E of the 4-bit comparator 20a is
The Q signal becomes active, but this EQ signal is
Since it is not input to the R gates 32a and 32b, AO (2
0) and AO (21) are both 0. Therefore, as the address signal output from the memory map address conversion circuit 8, the upper two bits are both 0, and the lower 20 bits are AI (19: 0) as they are.
0). The address of this address signal is 0xxxx (x is any of 0 to F) in hexadecimal and is mapped to the area 200.

【0006】上記メモリマップアドレス変換回路8の動
作をソフトウェアで行う場合、各格納領域200〜20
3に上位4ビットの信号を保持する領域を確保し、マッ
ピングするメモリ用のアドレス空間の上位4ビットを設
定する。格納領域200〜203へのアクセスでは、指
定されたメモリ用のアドスの上位4ビットの値と一致す
る格納領域を選択し、下位20ビットのアドレスでアク
セス処理を行う。
When the operation of the memory map address conversion circuit 8 is performed by software, each of the storage areas 200 to 20
An area for holding the signal of the upper 4 bits is secured in 3, and the upper 4 bits of the address space for the memory to be mapped are set. When accessing the storage areas 200 to 203, a storage area that matches the value of the upper 4 bits of the specified memory address is selected, and access processing is performed using the lower 20 bits of the address.

【0007】[0007]

【発明が解決しようとする課題】しかしながら、上記従
来例において、第1の問題点は、変換されたアドレスで
格納領域へアクセスを行った場合に、別の格納領域のデ
ータへアクセスする場合があり、メモリアクセスが書き
込みの場合には、データを破壊してしまうということで
ある。その理由は、アドレスの先頭を変換してアクセス
する格納領域のアドレスを求めているが、アクセスサイ
ズを考慮していないために、アクセス範囲が格納領域の
境界にまたがる場合があるためである。
However, in the above conventional example, the first problem is that when a storage area is accessed by a converted address, data in another storage area may be accessed. In other words, if the memory access is a write, the data is destroyed. The reason is that the address of the storage area to be accessed is obtained by converting the head of the address, but the access range may extend over the boundary of the storage area because the access size is not considered.

【0008】また、第2の問題点は、コンピュータシス
テムでは、異なるメモリ用のアドレス空間、例えば、片
方がキャッシュで管理されるアドレスで、もう片方がキ
ャッシュで管理されないアドレスに同じ格納領域をマッ
ピングする必要があるが、上述した従来の管理方法で
は、同じ格納領域を複数のメモリ用のアドレス空間にマ
ッピングすることができないことである。その理由は、
メモリ用のアドレス空間に格納領域をマッピングするの
ではなく、格納領域にメモリ用のアドレス空間をマッピ
ングしており、格納領域は1つのメモリ用のアドレス空
間しかマッピングできないためである。
A second problem is that, in a computer system, the same storage area is mapped to an address space for a different memory, for example, one address is managed by a cache and the other is not managed by the cache. Although it is necessary, the conventional management method described above cannot map the same storage area to a plurality of memory address spaces. The reason is,
This is because, instead of mapping the storage area to the memory address space, the memory address space is mapped to the storage area, and the storage area can only be mapped to one memory address space.

【0009】また、第3の問題点は、マッピングする格
納領域の先頭がマッピングサイズの倍数でない場合や、
連続していない場合には、正常に動作しないということ
である。その理由は、格納領域の先頭アドレスを一致し
た4ビットコンパレータで、0から始まるマッピングサ
イズ単位の格納領域を固定で割り当てているためであ
る。
A third problem is that the head of the storage area to be mapped is not a multiple of the mapping size,
If it is not continuous, it will not work properly. The reason is that the storage area in units of mapping size starting from 0 is fixedly assigned by the 4-bit comparator that matches the start address of the storage area.

【0010】また、第4の問題点は、ソフトウェアによ
るシミュレーションでは、メモリ用のアドレス空間に格
納領域がマッピングされていない空間の読み出し処理で
固定データを返す処理が必要となる場合があり、その処
理が通常のアクセス処理とは別に必要になり、その動作
検証を行う必要があるため、アクセス処理が複雑になる
ということである。また、第1の問題点で格納領域の境
界で、次の格納領域が存在しない場合、シミュレーショ
ンがコアダンプして異常終了してしまうということであ
る。その理由は、格納領域がマッピングされていないメ
モリ用のアドレス空間にはアクセスできる領域が存在し
ないためである。
A fourth problem is that, in software simulation, a process of returning fixed data may be required in a read process of a space in which a storage area is not mapped in a memory address space. Is required separately from normal access processing, and its operation must be verified, which complicates the access processing. Further, the first problem is that if the next storage area does not exist at the boundary of the storage area, the simulation ends abnormally with a core dump. The reason is that there is no accessible area in the memory address space to which the storage area is not mapped.

【0011】また、第5の問題点は、コンピュータシス
テムのデータタイプを意識した処理とその動作検証が必
要であるということである。その理由は、シミュレーシ
ョン対象のコンピュータシステムとシミュレーションを
行うコンピュータシステムのデータタイプが異なる場合
に、データタイプを変換する処理が必要になるためであ
る。
A fifth problem is that it is necessary to perform a process conscious of the data type of the computer system and verify its operation. The reason is that when the data type of the computer system to be simulated is different from the data type of the computer system for performing the simulation, a process of converting the data type is required.

【0012】そこで本発明の目的は、複数の格納領域を
メモリ用のアドレス空間にマッピングでき、格納領域の
境界を意識することなくメモリアクセスが可能なメモリ
アクセス制御システムを提供することにある。本発明の
他の目的は、同じ格納領域を複数の異なるメモリ用のア
ドレス空間にマッピングできるメモリアクセス制御シス
テムを提供することにある。本発明のさらに他の目的
は、格納領域の先頭アドレスの制限をなくし、格納領域
が連続していなくてもマッピング可能なメモリアクセス
制御システムを提供することにある。
SUMMARY OF THE INVENTION It is an object of the present invention to provide a memory access control system capable of mapping a plurality of storage areas to a memory address space and enabling memory access without being aware of the boundaries of the storage areas. Another object of the present invention is to provide a memory access control system capable of mapping the same storage area to a plurality of different memory address spaces. It is still another object of the present invention to provide a memory access control system capable of eliminating the restriction on the start address of a storage area and mapping even if the storage areas are not continuous.

【0013】本発明のさらに他の目的は、メモリ用のア
ドレス空間に格納領域がマッピングされなかった場合に
も、通常のメモリアクセスと同じ処理でデータアクセス
が可能なメモリアクセス制御システムを提供することに
ある。本発明のさらに他の目的は、シミュレーション対
象のコンピュータシステムとシミュレータを実行するコ
ンピュータシステムのデータタイプに依存しないアクセ
ス処理が可能なメモリアクセス制御システムを提供する
ことにある。
Still another object of the present invention is to provide a memory access control system capable of performing data access by the same processing as ordinary memory access even when a storage area is not mapped in a memory address space. It is in. Still another object of the present invention is to provide a memory access control system capable of performing access processing independent of data types of a computer system to be simulated and a computer system executing a simulator.

【0014】[0014]

【課題を解決するための手段】前記目的を達成するため
本発明は、所定のマッピングサイズに基づいてメモリ用
のアドレス空間に格納領域をマッピングするマッピング
手段と、メモリ用のアクセスアドレスとアクセスサイズ
から前記アクセスアドレスを分解するアドレス分解手段
と、分解されたアクセスアドレスを前記格納領域のアド
レスに変換するアドレス変換手段とを有し、前記格納領
域の境界を含むアドレスのアクセスを行うようにしたこ
とを特徴とする。したがって、複数の格納領域をメモリ
用のアドレス空間にマッピングでき、格納領域の境界を
意識することなくメモリアクセスが可能となり、書き込
みの場合のデータ破壊を防止することができる。
In order to achieve the above object, the present invention provides a mapping means for mapping a storage area in a memory address space based on a predetermined mapping size, and a method for mapping a memory access address and an access size. Address decomposing means for decomposing the access address, and address translating means for translating the decomposed access address into an address of the storage area, wherein an address including a boundary of the storage area is accessed. Features. Therefore, a plurality of storage areas can be mapped in the memory address space, and memory access can be performed without being aware of the boundaries of the storage areas, thereby preventing data destruction during writing.

【0015】[0015]

【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して詳細に説明する。本発明の実施の形態
は、コンピュータシステムをソフトウェアでシミュレー
ションする場合に、シミュレーションを行うコンピュー
タシステムのメモリ用のアドレス空間に複数の格納領域
をマッピングし、各格納領域のデータへアクセスを行う
処理において、特に格納領域の境界を含むアクセス、同
じ格納領域の複数の異なるメモリ用のアドレス空間への
マッピング、格納領域がマッピングされなかったメモリ
用のアドレス空間のアクセス、ターゲットのコンピュー
タシステムとシミュレーションのソフトウェアを実行す
るコンピュータシステムのデータタイプに依存しないメ
モリアクセス制御システムを提供するものである。
Embodiments of the present invention will be described below in detail with reference to the drawings. The embodiment of the present invention, when simulating a computer system with software, in the process of mapping a plurality of storage areas in the address space for the memory of the computer system to perform the simulation, and accessing the data of each storage area, In particular, access including storage area boundaries, mapping of the same storage area to address spaces for different memories, access to address space for memories where storage areas were not mapped, execution of target computer system and simulation software The present invention provides a memory access control system that does not depend on the data type of a computer system.

【0016】図1は、本発明の第1の実施の形態による
メモリマップアドレス変換回路を示すブロック図であ
り、図2は、図1に示すメモリマップアドレス変換回路
における格納領域マッピング管理テーブルを示す説明図
である。また、図3は、図1に示すメモリマップアドレ
ス変換回路におけるマッピング例を示す説明図であり、
図4は、図1に示すメモリマップアドレス変換回路にお
ける格納領域マッピング管理テーブルの内容を示す説明
図であり、図3に示すマッピング例に対応する構成例を
示している。また、図5は、図1に示すメモリマップア
ドレス変換回路のデータ読み込み時の状態を示すブロッ
ク図であり、図6は、図1に示すメモリマップアドレス
変換回路のデータ書き込み時の状態を示すブロック図で
ある。さらに、図7は、データタイプの違いによるメモ
リデータの違いを示す説明図である。
FIG. 1 is a block diagram showing a memory map address conversion circuit according to a first embodiment of the present invention, and FIG. 2 shows a storage area mapping management table in the memory map address conversion circuit shown in FIG. FIG. FIG. 3 is an explanatory diagram showing a mapping example in the memory map address conversion circuit shown in FIG.
FIG. 4 is an explanatory diagram showing the contents of a storage area mapping management table in the memory map address conversion circuit shown in FIG. 1, and shows a configuration example corresponding to the mapping example shown in FIG. FIG. 5 is a block diagram showing a state of the memory map address conversion circuit shown in FIG. 1 when data is read, and FIG. 6 is a block diagram showing a state of the memory map address conversion circuit shown in FIG. 1 when writing data. FIG. FIG. 7 is an explanatory diagram showing differences in memory data due to differences in data types.

【0017】本形態によるメモリマップアドレス変換回
路は、アドレス分解手段300と、アドレス変換手段3
01と、格納領域アクセス手段302と、データ分割手
段310と、データ結合手段311と、固定値書き込み
手段320とから構成されている。アドレス変換手段3
01は、図2に示す格納領域マッピング管理テーブル4
00のデータを使ってメモリ用のアドレスを格納領域の
アドレスに変換する。固定値書き込み手段320は、デ
ータ読み出しで使用され、アドレス変換手段301で変
換された格納領域のアドレスで指定された格納領域の先
頭からのオフセットの位置にあるメモリ用のアドレス空
間に格納領域がマッピングされなかった場合に使用され
る格納領域のデータを固定値に変更する。
The memory map address conversion circuit according to the present embodiment includes an address decomposition unit 300 and an address conversion unit 3.
01, a storage area access unit 302, a data division unit 310, a data combination unit 311, and a fixed value writing unit 320. Address translation means 3
01 is the storage area mapping management table 4 shown in FIG.
The address for the memory is converted to the address of the storage area using the data of 00. The fixed value writing means 320 is used for data reading, and the storage area is mapped to a memory address space at a position offset from the head of the storage area specified by the address of the storage area converted by the address conversion means 301. Change the data in the storage area that is used when not performed to a fixed value.

【0018】次に、図1、図2、図5、及び図6を参照
して本実施の形態の全体の動作について詳細に説明す
る。まず、メモリ用のアドレス空間をマッピングサイズ
で分割し、分割した数のテーブルを持つ格納領域マッピ
ング管理テーブル400を確保する。次に、マッピング
サイズの格納領域520を1つ確保し、その先頭アドレ
スを格納領域マッピング管理テーブルの初期値として設
定する。さらに、格納領域520のマッピングが指定さ
れたメモリ用のアドレス空間用に格納領域530〜53
3を確保し、そのアドレスを格納領域マッピング管理テ
ーブル400の該当個所に設定する。なお、すでに領域
が確保されている格納領域のマッピングが指定された場
合には、格納領域の確保は行わずに、マッピング管理テ
ーブル400へのアドレス設定のみ行う。以上で、格納
領域のマッピング処理が終了する。
Next, the overall operation of the present embodiment will be described in detail with reference to FIG. 1, FIG. 2, FIG. 5, and FIG. First, the memory address space is divided by the mapping size, and the storage area mapping management table 400 having the divided number of tables is secured. Next, one storage area 520 for the mapping size is secured, and the start address thereof is set as an initial value of the storage area mapping management table. Further, the storage areas 530 to 53 are used for the memory address space in which the mapping of the storage area 520 is specified.
No. 3 is secured, and the address is set in a corresponding part of the storage area mapping management table 400. If the mapping of the storage area for which the area is already secured is specified, the storage area is not secured and only the address setting in the mapping management table 400 is performed. This completes the storage area mapping process.

【0019】図5は、図1からデータを読み出す場合に
必要な手段のみを実線で示したものである。初めにアド
レス(3b)とアクセスサイズ(3c)がアドレス分解
手段300に入力される。アドレス分解手段300は、
アクセスするアドレス(3e)を出力し、アクセスサイ
ズ(3c)が1バイトでない場合、次にアクセスするア
ドレス(3e)を再度に出力する。アドレス変換手段3
01は、アドレス分解手段300に出力されたアドレス
(3e)にマッピングされる格納領域を格納領域マッピ
ング管理テーブル400から探し、そこに設定された格
納領域の先頭アドレスからアクセスする格納領域のアド
レス(3g)を計算して出力する。
FIG. 5 shows only the means necessary for reading data from FIG. 1 by solid lines. First, the address (3b) and the access size (3c) are input to the address resolving means 300. The address resolving means 300
The address (3e) to be accessed is output, and if the access size (3c) is not 1 byte, the address (3e) to be accessed next is output again. Address translation means 3
01, a storage area mapped to the address (3e) output to the address resolving means 300 is searched from the storage area mapping management table 400, and the address (3g) of the storage area to be accessed from the head address of the storage area set therein. ) Is calculated and output.

【0020】固定値書き込み手段320は、読み出し要
求(3a)で、アドレス(3g)から格納領域の先頭か
らのオフセットを求め、格納領域がマッピングされない
場合に使用される固定値を、格納領域のオフセットの位
置に書き込み、アドレス(3h)として出力する。格納
領域アクセス手段302は、アドレス(3h)と読み出
し要求(3a)から指定された格納領域のデータを読み
出して、この読み出しデータ(3i)を出力する。デー
タ結合手段311は、読み出し要求(3a)から読み出
しデータ(3i)がアクセスサイズ(3c)になるまで
待つ。そして、アクセスサイズ(3c)が1バイトでな
い場合、アドレス分解手段300から出力されたアドレ
ス(3e)で再度格納領域へのアクセスが発生し、読み
出しデータ(3i)が出力される。また、読み出しデー
タ(3i)のデータサイズが指定されたアクセスサイズ
(3c)のバイト数が一致したところで、データ結合手
段311は、シミュレーションターゲットのコンピュー
タシステムのデータ形式にデータを結合し、このデータ
(3k)を出力することで、データ読み出しの処理が終
了する。
The fixed value writing means 320 obtains an offset from the head of the storage area from the address (3g) in the read request (3a), and sets a fixed value used when the storage area is not mapped to the offset of the storage area. , And output as address (3h). The storage area access unit 302 reads the data of the storage area specified from the address (3h) and the read request (3a), and outputs the read data (3i). The data combining unit 311 waits until the read data (3i) becomes equal to the access size (3c) from the read request (3a). If the access size (3c) is not 1 byte, an access to the storage area occurs again at the address (3e) output from the address resolving means 300, and the read data (3i) is output. When the data size of the read data (3i) matches the number of bytes of the specified access size (3c), the data combining means 311 combines the data into the data format of the computer system of the simulation target, and By outputting 3k), the data reading process ends.

【0021】図6は、図1からデータを書き込む場合に
必要な手段のみを実線で示したものである。初めにアド
レス(3b)とアクセスサイズ(3c)がアドレス分解
手段300に入力される。アドレス分解手段300はア
クセスするアドレス(3e)を出力し、アクセスサイズ
が1バイトでない場合、次にアクセスするアドレス(3
e)を再度出力する。アドレス変換手段301は、アド
レス分解手段300から出力されたアドレス(3e)に
マッピングされる格納領域を格納領域マッピング管理テ
ーブル400から探し、そこに設定された格納領域の先
頭アドレスからアクセスする格納領域のアドレス(3
g)を計算し、固定値書き込み手段320に出力する。
FIG. 6 shows only the means necessary for writing data from FIG. 1 by solid lines. First, the address (3b) and the access size (3c) are input to the address resolving means 300. The address resolving means 300 outputs the address (3e) to be accessed and, if the access size is not 1 byte, the address (3e) to be accessed next.
e) is output again. The address conversion means 301 searches the storage area mapping management table 400 for a storage area mapped to the address (3e) output from the address decomposing means 300, and searches for a storage area to be accessed from the head address of the storage area set there. Address (3
g) is calculated and output to the fixed value writing means 320.

【0022】この出力されたアドレス(3g)は、固定
値書き込み手段320により、そのままアドレス(3
h)として出力される。さらにアクセスモード(3a)
の書き込みモードと、アクセスサイズ(3c)とデータ
(3d)がデータ分解手段310に入力され、シミュレ
ーションターゲットのコンピュータシステムのデータ形
式で最初のデータ(3f)が出力される。アクセスサイ
ズ(3c)が1バイトでない場合、残りのデータ(3
f)を再度出力する。格納領域アクセス手段302は、
書き込み要求(3a)から格納領域のアドレス(3h)
にデータ(3f)を書き込む。アクセスサイズ(3c)
が1バイトでない場合、アドレス分解手段300から出
力したアドレス(3e)とデータ分解手段310が出力
したデータ(3f)で格納領域への書き込みが行われ
る。
The output address (3g) is directly input to the address (3g) by the fixed value writing means 320.
h). Access mode (3a)
, The access size (3c) and the data (3d) are input to the data decomposing means 310, and the first data (3f) is output in the data format of the simulation target computer system. If the access size (3c) is not 1 byte, the remaining data (3c)
f) is output again. The storage area access unit 302
From the write request (3a) to the address of the storage area (3h)
The data (3f) is written to. Access size (3c)
Is not one byte, the address (3e) output from the address resolving means 300 and the data (3f) output from the data resolving means 310 are written to the storage area.

【0023】次に、本実施の形態の効果について説明す
る。本実施の形態では、アクセスアドレスをアクセスサ
イズで分割して、それぞれのアドレスすべてが変換され
るように構成されているため、格納領域の境界を含むア
ドレスのアクセスができ、格納領域のマッピングを管理
するテーブルに同じ格納領域の先頭アドレスを設定する
ことで、異なるメモリ用のアドレス空間に同じ格納領域
をマッピングすることができ、各格納領域を先頭アドレ
スで管理するため、格納領域の先頭アドレスや格納領域
が連続していなければならない、などの制限がなくな
る。
Next, effects of the present embodiment will be described. In the present embodiment, since the access address is divided by the access size and all the addresses are converted, the address including the boundary of the storage area can be accessed, and the mapping of the storage area can be managed. By setting the start address of the same storage area in the table to be mapped, the same storage area can be mapped to the address space for different memories, and each storage area is managed by the start address. The restriction that the regions must be continuous is eliminated.

【0024】また、本実施の形態では、格納領域がマッ
ピングされなかったメモリ用のアドレス空間には初期設
定で格納領域をマッピングするように構成されているた
め、格納領域がマッピングされないメモリ用のアドレス
空間へのアクセスができ、常に固定値を書き込むため、
読み出しデータが固定値になる。さらに、アクセスデー
タはデータ分解手段310、データ結合手段311でシ
ミュレーションターゲットのコンピュータシステムのデ
ータタイプに変換されるため、シミュレーションを実行
するコンピュータシステムのデータタイプの違いによる
処理が不要となる。
In this embodiment, since the storage area is mapped by default in the memory address space to which the storage area is not mapped, the memory address to which the storage area is not mapped is set. Since you can access the space and always write a fixed value,
The read data becomes a fixed value. Further, since the access data is converted into the data type of the computer system of the simulation target by the data decomposing unit 310 and the data combining unit 311, it is not necessary to perform the processing depending on the data type of the computer system executing the simulation.

【0025】次に、具体的な実施例を用いて本実施の形
態の動作を説明する。図3に示すように、メモリ用のア
ドレス空間500は、0000hからFFFFhのアド
レス範囲を持ち、16分割されているため、各格納領域
のマッピングサイズは1000hである。図4は、マッ
ピング後の格納領域マッピング管理テーブル600の内
容を示しているが、マッピング前の状態では、各設定エ
リア601〜616に、それぞれサイズ1000hで確
保した格納領域520のアドレス1000hが初期値と
して設定されているものとする。
Next, the operation of this embodiment will be described using a specific example. As shown in FIG. 3, the address space 500 for the memory has an address range from 0000h to FFFFh and is divided into 16, so that the mapping size of each storage area is 1000h. FIG. 4 shows the contents of the storage area mapping management table 600 after the mapping. Before the mapping, the address 1000h of the storage area 520 secured with the size of 1000h is set in each of the setting areas 601 to 616 as the initial value. It is assumed to be set as

【0026】次にマッピング処理を行い、図3では、ア
ドレス空間502に格納領域530、アドレス空間50
4に格納領域531、アドレス空間507に格納領域5
30、アドレス空間509に格納領域532、アドレス
空間512に格納領域533、アドレス空間515に格
納領域532がマッピングされている。また、アドレス
空間501、503、505、506、508、51
0、511、513、514、516は、格納領域52
0にマッピングされている。また、図4の601から6
16の管理テーブルには、それぞれの格納領域の先頭ア
ドレスが設定されている。
Next, a mapping process is performed. In FIG. 3, the storage area 530 and the address space 50 are stored in the address space 502.
4, storage area 531 and address space 507, storage area 5
30, the storage area 532 is mapped to the address space 509, the storage area 533 is mapped to the address space 512, and the storage area 532 is mapped to the address space 515. Further, address spaces 501, 503, 505, 506, 508, 51
0, 511, 513, 514, and 516 are storage areas 52
0 is mapped. Also, from 601 to 6 in FIG.
The start address of each storage area is set in the 16 management tables.

【0027】なお、マッピングの方法としては、このよ
うに格納領域の先頭アドレスを格納する方法に限定され
ないものである。例えば、管理テーブル600に、メモ
リ用アドレス空間の分割された各アドレス空間を示すペ
ージと格納領域の番号とを指定することで設定し、格納
領域の番号が0の場合には、新規に格納領域を確保する
ことを示し、その他の格納領域番号には、確保した格納
領域の何番目かを入力するようにしてもよい。例えば、
図3のマッピングを行うには、ページ1と番号0、ペー
ジ3と番号0、ページ7と番号1、ページ8と番号0、
ページ11と番号0、ページ15と番号3というように
指定する。
The method of mapping is not limited to the method of storing the head address of the storage area as described above. For example, the management table 600 is set by designating a page indicating each divided address space of the memory address space and the number of the storage area. If the number of the storage area is 0, a new storage area is set. May be input, and the number of the reserved storage area may be input as the other storage area number. For example,
To perform the mapping of FIG. 3, page 1 and number 0, page 3 and number 0, page 7 and number 1, page 8 and number 0,
Page 11 and number 0, page 15 and number 3, and so on.

【0028】次に、図1に戻り、メモリ用アドレスの6
004hから4バイトのデータを読み出す場合、図1の
アドレスモード(3a)が読み出し、アドレス(3b)
が6004h、アクセスサイズ(3c)が4バイトとな
る。アドレス(3b)とアクセスサイズ(3c)が入力
されたアドレス分解手段300は、アドレス(3e)と
して先頭アドレス6004hを出力する。このアドレス
(3e)から6004hのアドレスを取り込んだアドレ
ス変換手段301は、格納領域マッピング管理テーブル
600より、6004hにマッピングされた格納領域5
30の先頭アドレス2000hにオフセットの004h
を加えた2004hをアドレス(3g)として出力す
る。アクセスモード(3a)が読み出しのため、アドレ
ス(3g)の格納領域の先頭からのオフセットはメモリ
用のアドレス空間を16分割するのに使用したアドレス
の上位4ビットを除いた004hとなり、固定値書き込
み手段320は、その位置にある格納領域520の10
04hに固定値(FFh)を書き込み、3hに2004
hを出力する。
Next, returning to FIG. 1, the memory address 6
When 4 bytes of data are read from 004h, the address mode (3a) in FIG. 1 is read and the address (3b) is read.
Is 6004h and the access size (3c) is 4 bytes. The address resolving means 300 to which the address (3b) and the access size (3c) are input outputs the head address 6004h as the address (3e). The address conversion means 301 which has fetched the address of 6004h from the address (3e) reads the storage area 5 mapped to 6004h from the storage area mapping management table 600.
30 start address 2000h and offset 004h
Is output as an address (3g). Since the access mode (3a) is read, the offset from the head of the storage area of the address (3g) is 004h excluding the upper 4 bits of the address used to divide the memory address space into 16, and the fixed value is written. The means 320 is configured to store 10 of the storage area 520 at that position.
Write fixed value (FFh) to 04h, 2004 to 3h
Output h.

【0029】格納領域アクセス手段302は、読み出し
要求(3a)でアドレス(3h)からのアドレス200
4hの格納領域のデータを読み出し、読み出しデータ
(3i)として出力する。同様に、アドレス(3e)と
して出力された6005h、6006h、6007hの
アドレスは、それぞれ、2005h、2006h、20
07hに変換され、格納領域からデータを読み出し、読
み出しデータ(3i)として出力される。読み出しデー
タ(3i)による4バイトのデータを取り込んだデータ
結合手段311は、図7に示すように、シミュレーショ
ンターゲットのコンピュータシステムのデータタイプが
ビッグエンディアンならば、最初のデータが最上位にな
るように、レジスタ900とアドレスメモリ910〜9
13を用いてデータを並べて、データ(3k)として出
力する。また、リトルエンディアンのコンピュータシス
テムのシミュレーションならば、最初のデータが最下位
になるように、レジスタ901とアドレスメモリ920
〜923を用いてデータを並べて、データ(3k)とし
て出力する。
The storage area access means 302 responds to the read request (3a) with the address 200 from the address (3h).
The data in the storage area of 4h is read and output as read data (3i). Similarly, the addresses of 6005h, 6006h, and 6007h output as the address (3e) are 2005h, 2006h, and 20h, respectively.
Is converted to 07h, data is read from the storage area, and output as read data (3i). As shown in FIG. 7, when the data type of the computer system of the simulation target is big endian, the data combining unit 311 that has fetched the 4-byte data by the read data (3i) causes the first data to be the highest order. , Register 900 and address memories 910-9
13 are arranged and output as data (3k). In the case of a simulation of a little-endian computer system, the register 901 and the address memory 920 are set so that the first data becomes the lowest.
The data is arranged using 923 and output as data (3k).

【0030】アクセスモード(3a)が書き込みの場合
には、データ分解手段310は、シミュレーションター
ゲットのコンピュータシステムがビッグエンディアンの
場合には最上位のデータから、リトルエンディアンの場
合には最下位のデータから、データ(3f)を出力す
る。また、読み出す格納領域がマッピングされない空間
用に使用される格納領域の場合、データは常に固定値書
き込み手段320により、固定値(FFh)が書き込ま
れるため、固定値以外の値にならない。
When the access mode (3a) is write, the data decomposing means 310 starts from the highest data when the simulation target computer system is big endian, and starts with the lowest data when little endian. , Data (3f). Further, in the case of a storage area used for a space where the storage area to be read is not mapped, since the data is always written with a fixed value (FFh) by the fixed value writing means 320, the data does not become a value other than the fixed value.

【0031】以上説明したように本実施例のメモリアク
セス制御システムによれば、以下のような効果が得られ
る。 (1)アクセスするアドレスをすべて変換しているた
め、格納領域の境界を含むアドレスのアクセスができる
効果がある。 (2)メモリ用のアドレス空間に格納領域をマッピング
することができるため、複数のメモリ用のアドレス空間
に同じ格納領域がマッピングできる。 (3)格納領域の管理を各格納領域の先頭アドレスで行
うため、格納領域の開始アドレスに制限がなく、各格納
領域が連続している必要がない。 (4)マッピングの初期値としてアクセス可能な格納領
域が設定されるため、格納領域がマッピングされなかっ
たメモリ用のアドレス空間へのアクセスができる。 (5)書き込み時と読み出し時でアクセスデータをシミ
ュレーションターゲットのコンピュータシステムのデー
タタイプに変換するため、データタイプの違いを考慮せ
ずに処理できることにある。
As described above, according to the memory access control system of the present embodiment, the following effects can be obtained. (1) Since all addresses to be accessed are converted, there is an effect that addresses including the boundaries of storage areas can be accessed. (2) Since the storage area can be mapped in the memory address space, the same storage area can be mapped in a plurality of memory address spaces. (3) Since the storage area is managed at the start address of each storage area, there is no limitation on the start address of the storage area, and there is no need for each storage area to be continuous. (4) Since the accessible storage area is set as the initial value of the mapping, it is possible to access the memory address space to which the storage area has not been mapped. (5) Since the access data is converted into the data type of the computer system of the simulation target at the time of writing and at the time of reading, processing can be performed without considering the difference in data type.

【0032】次に、本発明の第2の実施の形態について
図面を参照して詳細に説明する。図8は、本発明の第2
の実施の形態によるメモリマップアドレス変換回路を示
すブロック図であり、図9は、図8に示すメモリマップ
アドレス変換回路におけるマッピング例を示す説明図で
ある。また、図10は、図8に示すメモリマップアドレ
ス変換回路における格納領域マッピング管理テーブルの
内容を示す説明図であり、図9に示すマッピング例に対
応する構成例を示している。また、図11は、図8に示
すメモリマップアドレス変換回路のデータ読み込み時の
状態を示すブロック図であり、図12は、図8に示すメ
モリマップアドレス変換回路のデータ書き込み時の状態
を示すブロック図である。さらに、図13は、図8に示
すメモリマップアドレス変換回路における格納領域マッ
ピング管理テーブルを示す説明図である。
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. FIG. 8 shows a second embodiment of the present invention.
FIG. 9 is a block diagram showing a memory map address conversion circuit according to the embodiment, and FIG. 9 is an explanatory diagram showing a mapping example in the memory map address conversion circuit shown in FIG. FIG. 10 is an explanatory diagram showing the contents of the storage area mapping management table in the memory map address conversion circuit shown in FIG. 8, and shows a configuration example corresponding to the mapping example shown in FIG. FIG. 11 is a block diagram showing a state when data is read by the memory map address conversion circuit shown in FIG. 8, and FIG. 12 is a block diagram showing a state when data is written by the memory map address conversion circuit shown in FIG. FIG. FIG. 13 is an explanatory diagram showing a storage area mapping management table in the memory map address conversion circuit shown in FIG.

【0033】本形態のメモリマップアドレス変換回路
は、アドレス分解手段300と、アドレス変換手段30
3と、格納領域アクセス手段302と、データ分割手段
310と、データ結合手段311とから構成されてい
る。アドレス変換手段303は、図13に示す読み込み
用と書き込み用の格納領域マッピング管理テーブルを有
するものであり、アクセスモードに応じて、それらの管
理テーブルを切り替えて、メモリ用のアドレスを格納領
域のアドレスに変換する。
The memory map address conversion circuit according to the present embodiment includes an address decomposition unit 300 and an address conversion unit 30.
3, a storage area access unit 302, a data dividing unit 310, and a data combining unit 311. The address conversion means 303 has a storage area mapping management table for reading and writing as shown in FIG. 13, and switches between the management tables according to the access mode to change the memory address to the address of the storage area. Convert to

【0034】次に、図8、図11、図12、及び図13
を参照して本実施の形態の全体の動作について詳細に説
明する。まず、メモリ用のアドレス空間をマッピングサ
イズで分割し、分割した数のテーブルを持つ格納領域マ
ッピング管理テーブル(図13)を確保する。次にマッ
ピングサイズの格納領域を2つ確保し、1つの格納領域
の先頭アドレスを読み込み用の管理テーブル1500の
初期値、もう1つの格納領域の先頭アドレスを書き込み
用の管理テーブル1550の初期値としてそれぞれ設定
する。ここで読み込み用の管理テーブルに設定した格納
領域内のデータは固定値で初期化する。さらに、格納領
域のマッピングが指定されたメモリ用のアドレス空間用
に格納領域を確保して、そのアドレスを読み込み用と書
き込み用の管理テーブルの該当個所に設定する。すでに
領域が確保されている格納領域のマッピングが指定され
た場合には、格納領域の確保は行わずに、マッピング管
理テーブル1500、1550へのアドレス設定のみ行
う。以上で格納領域のマッピング処理が終了する。
Next, FIG. 8, FIG. 11, FIG. 12, and FIG.
The overall operation of the present embodiment will be described in detail with reference to FIG. First, the memory address space is divided by the mapping size, and a storage area mapping management table (FIG. 13) having the divided number of tables is secured. Next, two storage areas of the mapping size are secured, and the start address of one storage area is set as the initial value of the management table 1500 for reading, and the start address of the other storage area is set as the initial value of the management table 1550 for writing. Set each. Here, the data in the storage area set in the management table for reading is initialized with a fixed value. Further, a storage area is reserved for an address space for the memory to which the mapping of the storage area is designated, and the address is set in a corresponding portion of the management table for reading and writing. When the mapping of the storage area in which the area is already secured is designated, the storage area is not secured, and only the address setting to the mapping management tables 1500 and 1550 is performed. This completes the storage area mapping process.

【0035】図11は、図8からデータを読み出す場合
に必要な手段のみを実線で示したもので、初めにアドレ
ス(3b)とアクセスサイズ(3c)がアドレス分解手
段300に入力される。アドレス分解手段300はアク
セスするアドレス(3e)を出力し、アクセスサイズが
1バイトでない場合、次にアクセスするアドレス(3
e)を再度出力する。アドレス変換手段303は、アド
レス分解手段300より出力されたアドレス(3e)
に、マッピングされる格納領域をアクセスモード(3
a)が読み出しのため、読み出し用管理テーブル150
0から探し、そこに設定された格納領域の先頭アドレス
からアクセスする格納領域のアドレスを計算して、アド
レス(3g)として出力する。
FIG. 11 shows only means necessary for reading data from FIG. 8 by solid lines. First, an address (3b) and an access size (3c) are input to the address decomposing means 300. The address resolving means 300 outputs the address (3e) to be accessed and, if the access size is not 1 byte, the address (3e) to be accessed next.
e) is output again. The address converting means 303 outputs the address (3e) output from the address resolving means 300.
In the access mode (3
Since a) is for reading, the reading management table 150 is used.
The address of the storage area to be accessed is calculated from the start address of the storage area set there, and is output as the address (3g).

【0036】格納領域アクセス手段302は、アドレス
(3g)と読み出し要求(3a)から指定された格納領
域のデータを読み出して、データ(3i)として出力す
る。データ結合手段311は、読み込み要求(3a)か
らデータ(3i)がアクセスサイズ(3c)になるまで
データを待つ。そして、アクセスサイズ(3c)が1バ
イトでない場合、アドレス分解手段300から出力され
たアドレス(3e)で再度格納領域へのアクセスが発生
し、データ(3i)を出力する。データ(3i)として
出力されたデータ数と指定されたアクセスサイズ(3
c)のバイト数が一致したところで、データ結合手段3
11はシミュレーションターゲットのコンピュータシス
テムのデータ形式にデータを結合して、データ(3k)
として出力することで、データ読み込みの処理が終了す
る。
The storage area access means 302 reads the data of the storage area specified from the address (3g) and the read request (3a), and outputs it as data (3i). The data combining unit 311 waits for data from the read request (3a) to the data (3i) until the data becomes the access size (3c). If the access size (3c) is not 1 byte, access to the storage area occurs again at the address (3e) output from the address resolving means 300, and data (3i) is output. The number of data output as data (3i) and the specified access size (3
When the byte numbers in c) match, the data combining means 3
Numeral 11 combines the data into the data format of the computer system of the simulation target and outputs the data (3k)
And the data reading process ends.

【0037】図12は、図8からデータを書きこむ場合
に必要な手段のみを実線で示したもので、初めにアドレ
ス(3b)とアクセスサイズ(3c)がアドレス分解手
段300に入力される。アドレス分解手段300はアク
セスするアドレス(3e)をに出力し、アクセスサイズ
が1バイトでない場合、次にアクセスするアドレス(3
e)を計算して再度出力する。アドレス変換手段303
は、アドレス分解手段300から出力されたアドレス
(3e)にマッピングされる格納領域をアクセスモード
(3a)が書込みモードのため、書込み用管理テーブル
1550から探し、そこに設定された格納領域の先頭ア
ドレスからアクセスする格納領域のアドレスを計算し、
アドレス(3g)を出力する。
FIG. 12 shows only means necessary for writing data from FIG. 8 by solid lines. First, an address (3b) and an access size (3c) are input to the address decomposing means 300. The address resolving means 300 outputs the address to be accessed (3e) to the address (3e).
e) is calculated and output again. Address conversion means 303
Since the access mode (3a) is the write mode, the storage area mapped to the address (3e) output from the address resolving means 300 is searched from the write management table 1550, and the start address of the storage area set there is set. Calculate the address of the storage area accessed from
Output the address (3g).

【0038】さらに、アクセスモード(3a)の書込み
モードとアクセスサイズ(3c)とデータ(3d)がデ
ータ分解手段310に入力され、シミュレーションター
ゲットのコンピュータシステムのデータ形式で最初のデ
ータ(3f)が出力される。そして、アクセスサイズ
(3c)が1バイトでない場合、残りのデータ(3f)
を再度出力する。格納領域アクセス手段302は、書込
み要求(3a)から格納領域のアドレス(3g)にデー
タ(3f)を書き込む。アクセスサイズ(3c)が1バ
イトでない場合、アドレス分解手段300から出力した
アドレス(3e)とデータ分解手段310が出力したデ
ータ(3f)で格納領域への書込みが行われる。
Further, the write mode of the access mode (3a), the access size (3c) and the data (3d) are input to the data decomposing means 310, and the first data (3f) in the data format of the computer system of the simulation target is output. Is done. If the access size (3c) is not 1 byte, the remaining data (3f)
Is output again. The storage area access unit 302 writes the data (3f) from the write request (3a) to the address (3g) of the storage area. If the access size (3c) is not 1 byte, writing to the storage area is performed using the address (3e) output from the address decomposing means 300 and the data (3f) output from the data decomposing means 310.

【0039】次に、本実施の形態の効果について説明す
る。本実施の形態では、アクセスアドレスをアクセスサ
イズで分割して、それぞれのアドレスすべてが変換され
るよう構成されているため、格納領域の境界を含むアド
レスのアクセスができ、格納領域のマッピングを管理す
るテーブルに同じ格納領域の先頭アドレスを設定するこ
とで、異なるメモリ用のアドレス空間に同じ格納領域を
マッピングすることができ、各格納領域をそれぞれの先
頭アドレスで管理することで、格納領域の開始アドレス
や格納領域がすべて連続していなければならないという
制限が回避できる。
Next, effects of the present embodiment will be described. In the present embodiment, since the access address is divided by the access size and all the addresses are converted, the address including the boundary of the storage area can be accessed, and the mapping of the storage area is managed. By setting the start address of the same storage area in the table, it is possible to map the same storage area to different memory address spaces. By managing each storage area with its own start address, the start address of the storage area And that the storage areas must all be continuous.

【0040】また、本実施の形態では、格納領域がマッ
ピングされなかったメモリ用のアドレス空間には初期設
定で格納領域をマッピングするように構成されているた
め、格納領域がマッピングされないメモリ用のアドレス
空間へのアクセスができる。さらに、アクセスデータは
データ分解手段310、データ結合手段311でシミュ
レーションターゲットのコンピュータシステムのデータ
タイプに変換されるため、シミュレーションを実行する
コンピュータシステムのデータタイプの違いによる処理
が不要となる。また、本実施の形態では、マッピングさ
れなかったメモリ用のアドレス空間用の格納領域を読み
出し用と書き込み用で切り替えるように構成されている
ため、マッピングされなかったアドレスの読み出しでは
常に初期値に設定した固定値を読み出すことができる。
In this embodiment, since the storage area is mapped by default in the address space for the memory where the storage area is not mapped, the address for the memory where the storage area is not mapped is set. Access to space. Further, since the access data is converted into the data type of the computer system of the simulation target by the data decomposing unit 310 and the data combining unit 311, it is not necessary to perform the processing depending on the data type of the computer system executing the simulation. Further, in the present embodiment, since the storage area for the address space for the unmapped memory is switched between for reading and for writing, it is always set to the initial value when reading the unmapped address. The read fixed value can be read.

【0041】次に、具体的な実施例を用いて本実施の形
態の動作を説明する。図9に示すように、メモリ用のア
ドレス空間1100が0000hからFFFFhまでの
アドレス範囲を持ち、16分割して管理するため、格納
領域のマッピングサイズは1000hである。図10
は、マッピング後の格納領域マッピング管理テーブル1
200、1220の内容を示しているが、マッピング前
の状態では、1201から1216には、サイズ100
0hで確保した格納領域1120の先頭アドレス100
0hが初期値として設定され、1220から1236に
は、サイズ1000hで確保した格納領域1121の先
頭アドレス3000hが初期値として設定されているも
のとする。
Next, the operation of this embodiment will be described using a specific example. As shown in FIG. 9, since the memory address space 1100 has an address range from 0000h to FFFFh and is managed by dividing it into 16, the mapping size of the storage area is 1000h. FIG.
Is the storage area mapping management table 1 after mapping
Although the contents of 200 and 1220 are shown, before the mapping, 1201 to 1216 have a size of 100
Start address 100 of storage area 1120 secured at 0h
It is assumed that 0h is set as an initial value, and a head address 3000h of the storage area 1121 secured with a size of 1000h is set as an initial value from 1220 to 1236.

【0042】次にマッピング処理を行い、図9では、ア
ドレス空間1102に格納領域1130、アドレス空間
1104に格納領域1131、アドレス空間1107に
格納領域1130、アドレス空間1109に格納領域1
132、アドレス空間1112に格納領域1133、ア
ドレス空間1115に格納領域1132がマッピングさ
れている。それ以外のアドレス空間は、データ読み出し
ときには格納領域1120へ、データ書き込み時には格
納領域1121へそれぞれマッピングされる。なお、マ
ッピング方法については、上述の第1の形態でも説明し
たように、特に限定しないものとする。
Next, a mapping process is performed. In FIG. 9, the storage area 1130 in the address space 1102, the storage area 1131 in the address space 1104, the storage area 1130 in the address space 1107, and the storage area 1130 in the address space 1109.
132, a storage area 1133 is mapped to the address space 1112, and a storage area 1132 is mapped to the address space 1115. The other address spaces are mapped to the storage area 1120 when reading data, and to the storage area 1121 when writing data. The mapping method is not particularly limited as described in the first embodiment.

【0043】メモリ用アドレスの1FFFhに2バイト
のデータ1234hを書き込む場合、図8のアクセスモ
ード(3a)が書き込み、アドレス(3b)が1FFF
hアクセスサイズ(3c)が2バイト、書き込みデータ
(3d)が1234hとなる。アドレス(3b)とアク
セスサイズ(3c)が入力されたアドレス分解手段30
0は、アドレス(3e)として先頭アドレス1FFFh
を出力する。アドレス(3e)から1FFFhのアドレ
スを取り込んだアドレス変換手段303は、アクセスモ
ード(3a)が読み出しなので、書き込み用管理テーブ
ル1220を使って、アドレスを変換する。読み出し用
の管理テーブルから格納領域への先頭アドレス100h
を求め、アドレス(3e)から最上位4ビットをマスク
してオフセット値0FFFhを計算し、格納領域へのア
ドレスFFhをアドレス(3g)として出力する。
When writing 2 bytes of data 1234h to 1FFFh of the memory address, the access mode (3a) of FIG. 8 is written and the address (3b) is 1FFF.
The h access size (3c) is 2 bytes, and the write data (3d) is 1234h. The address resolving means 30 to which the address (3b) and the access size (3c) are input
0 is the first address 1FFFh as the address (3e)
Is output. Since the access mode (3a) is read, the address conversion means 303 that has fetched the address of 1FFFh from the address (3e) converts the address using the write management table 1220. Top address 100h from read management table to storage area
Is calculated from the address (3e) by masking the most significant 4 bits, and the address FFh to the storage area is output as the address (3g).

【0044】データ分解手段310は、書き込みのアド
レスモード(3a)とアクセスサイズ2バイトと書き込
むデータ(3d)1234hを取り込む。シミュレーシ
ョン対象のコンピュータシステムのデータタイプがリト
ルエンディアンの場合には、図7に基づいて、34hを
データ(3f)として出力し、ビッグエンディアンの場
合には、12hをデータ(3f)として出力する。格納
領域アクセス手段302は、アクセスモード(3a)か
ら書き込み、アドレス(3g)から格納領域へのアドレ
スFFFhを、データ(3f)からは書き込むデータを
設定する。アクセスサイズが1バイトでないため、次の
アドレス(3e)とデータ(3f)が出力され、格納領
域のアドレス20000hに値の書き込みを行う。ここ
で、1FFFhアドレスのデータ読み出しでは、アドレ
ス変換303で変換に使う管理テーブルが異なるため、
アクセスする格納領域のアドレスは、1FFFhとな
り、常に固定値が読み出される。
The data decomposing means 310 takes in the write address mode (3a), the access size of 2 bytes, and the data to be written (3d) 1234h. When the data type of the computer system to be simulated is little endian, 34h is output as data (3f) based on FIG. 7, and when it is big endian, 12h is output as data (3f). The storage area access means 302 sets the data to be written from the access mode (3a), the address FFFh from the address (3g) to the storage area, and the data to be written from the data (3f). Since the access size is not 1 byte, the next address (3e) and data (3f) are output, and a value is written to the address 20000h of the storage area. Here, in the data reading of the 1FFFFh address, since the management table used for the conversion in the address conversion 303 is different,
The address of the storage area to be accessed is 1FFFh, and a fixed value is always read.

【0045】以上説明したように本実施例のメモリアク
セス制御システムによれば、以下のような効果が得られ
る。 (1)アクセスするアドレスをすべて変換しているた
め、格納領域の境界を含むアドレスのアクセスができる
効果がある。 (2)メモリ用のアドレス空間に格納領域をマッピング
することができるため、複数のメモリ用のアドレス空間
に同じ格納領域がマッピングできる。 (3)格納領域の管理を各格納領域の先頭アドレスで行
うため、格納領域の開始アドレスに制限がなく、各格納
領域が連続している必要がない。 (4)マッピングの初期値としてアクセス可能な格納領
域が設定されるため、格納領域がマッピングされなかっ
たメモリ用のアドレス空間へのアクセスができる。 (5)書き込み時と読み出し時でアクセスデータをシミ
ュレーションターゲットのコンピュータシステムのデー
タタイプに変換するため、データタイプの違いを考慮せ
ずに処理できることにある。 (6)マッピングされなかったメモリ用のアドレス空間
用の格納領域を読み出し用と書き込み用で切り替えるよ
うに構成されているため、マッピングされなかったアド
レスの読み出しでは常に初期値に設定した固定値を読み
出すことができる。
As described above, according to the memory access control system of this embodiment, the following effects can be obtained. (1) Since all addresses to be accessed are converted, there is an effect that addresses including the boundaries of storage areas can be accessed. (2) Since the storage area can be mapped in the memory address space, the same storage area can be mapped in a plurality of memory address spaces. (3) Since the storage area is managed at the start address of each storage area, there is no limitation on the start address of the storage area, and there is no need for each storage area to be continuous. (4) Since the accessible storage area is set as the initial value of the mapping, it is possible to access the memory address space to which the storage area has not been mapped. (5) Since the access data is converted into the data type of the computer system of the simulation target at the time of writing and at the time of reading, processing can be performed without considering the difference in data type. (6) Since the storage area for the address space for the unmapped memory is configured to be switched between read and write, the fixed value set to the initial value is always read when reading the unmapped address. be able to.

【0046】[0046]

【発明の効果】以上説明したように本発明のメモリアク
セス制御システムでは、メモリ用のアドレス空間に格納
領域をマッピングするとともに、メモリ用のアドレスと
アクセスサイズからアドレスを分解し、この分解された
アドレスを格納領域のアドレスに変換することにより、
格納領域の境界を含むアドレスのアクセスを行うように
した。このため、複数の格納領域をメモリ用のアドレス
空間にマッピングでき、格納領域の境界を意識すること
なくメモリアクセスが可能となり、書き込みの場合のデ
ータ破壊を防止することができる。
As described above, in the memory access control system of the present invention, the storage area is mapped in the memory address space, the address is decomposed from the memory address and the access size, and the decomposed address is decomposed. Is converted to the address of the storage area,
Access to addresses including storage area boundaries is now performed. Therefore, a plurality of storage areas can be mapped to a memory address space, and memory access can be performed without being aware of the boundaries of the storage areas, and data destruction during writing can be prevented.

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

【図1】本発明の第1の実施の形態によるメモリマップ
アドレス変換回路を示すブロック図である。
FIG. 1 is a block diagram showing a memory map address conversion circuit according to a first embodiment of the present invention.

【図2】図1に示すメモリマップアドレス変換回路にお
ける格納領域マッピング管理テーブルを示す説明図であ
る。
FIG. 2 is an explanatory diagram showing a storage area mapping management table in the memory map address conversion circuit shown in FIG.

【図3】図1に示すメモリマップアドレス変換回路にお
けるマッピング例を示す説明図である。
FIG. 3 is an explanatory diagram showing a mapping example in the memory map address conversion circuit shown in FIG. 1;

【図4】図1に示すメモリマップアドレス変換回路にお
ける格納領域マッピング管理テーブルの内容を示す説明
図である。
FIG. 4 is an explanatory diagram showing the contents of a storage area mapping management table in the memory map address conversion circuit shown in FIG. 1;

【図5】図1に示すメモリマップアドレス変換回路のデ
ータ読み込み時の状態を示すブロック図である。
FIG. 5 is a block diagram showing a state when data is read by the memory map address conversion circuit shown in FIG. 1;

【図6】図1に示すメモリマップアドレス変換回路のデ
ータ書き込み時の状態を示すブロック図である。
FIG. 6 is a block diagram showing a state at the time of data writing of the memory map address conversion circuit shown in FIG. 1;

【図7】データタイプの違いによるメモリデータの違い
を示す説明図である。
FIG. 7 is an explanatory diagram showing differences in memory data due to differences in data types.

【図8】本発明の第2の実施の形態によるメモリマップ
アドレス変換回路を示すブロック図である。
FIG. 8 is a block diagram showing a memory map address conversion circuit according to a second embodiment of the present invention.

【図9】図8に示すメモリマップアドレス変換回路にお
けるマッピング例を示す説明図である。
FIG. 9 is an explanatory diagram showing a mapping example in the memory map address conversion circuit shown in FIG. 8;

【図10】図8に示すメモリマップアドレス変換回路に
おける格納領域マッピング管理テーブルの内容を示す説
明図である。
FIG. 10 is an explanatory diagram showing the contents of a storage area mapping management table in the memory map address conversion circuit shown in FIG. 8;

【図11】図8に示すメモリマップアドレス変換回路の
データ読み込み時の状態を示すブロック図である。
11 is a block diagram showing a state when data is read by the memory map address conversion circuit shown in FIG. 8;

【図12】図8に示すメモリマップアドレス変換回路の
データ書き込み時の状態を示すブロック図である。
12 is a block diagram showing a state at the time of data writing of the memory map address conversion circuit shown in FIG. 8;

【図13】図8に示すメモリマップアドレス変換回路に
おける格納領域マッピング管理テーブルを示す説明図で
ある。
FIG. 13 is an explanatory diagram showing a storage area mapping management table in the memory map address conversion circuit shown in FIG. 8;

【図14】従来のメモリマップアドレス変換回路を示す
ブロック図である。
FIG. 14 is a block diagram showing a conventional memory map address conversion circuit.

【図15】図14に示すメモリマップアドレス変換回路
の組み込まれているアドレスマップ生成回路の構成を示
すブロック図である。
15 is a block diagram showing a configuration of an address map generation circuit in which the memory map address conversion circuit shown in FIG. 14 is incorporated.

【符号の説明】[Explanation of symbols]

300……アドレス分解手段、301……アドレス変換
手段、302……格納領域アクセス手段、310……デ
ータ分割手段、311……データ結合手段、320……
固定値書き込み手段。
300 address decomposing means 301 address converting means 302 storage area accessing means 310 data dividing means 311 data combining means 320
Fixed value writing means.

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 所定のマッピングサイズに基づいてメモ
リ用のアドレス空間に格納領域をマッピングするマッピ
ング手段と、 メモリ用のアクセスアドレスとアクセスサイズから前記
アクセスアドレスを分解するアドレス分解手段と、 分解されたアクセスアドレスを前記格納領域のアドレス
に変換するアドレス変換手段とを有し、 前記格納領域の境界を含むアドレスのアクセスを行うよ
うにした、 ことを特徴とするメモリアクセス制御システム。
A mapping means for mapping a storage area in a memory address space based on a predetermined mapping size; an address decomposing means for decomposing the access address from a memory access address and an access size; Address conversion means for converting an access address into an address of the storage area, wherein an address including a boundary of the storage area is accessed.
【請求項2】 前記マッピング手段は、格納領域がマッ
ピングされないメモリ用のアドレス空間に、前記格納領
域のマッピングを行う手段を含むことを特徴とする請求
項1記載のメモリアクセス制御システム。
2. The memory access control system according to claim 1, wherein said mapping means includes means for mapping said storage area in a memory address space to which no storage area is mapped.
【請求項3】 前記マッピング手段は、異なるメモリ用
のアドレス空間に同じ格納領域をマッピングする手段を
含むことを特徴とする請求項1または2記載のメモリア
クセス制御システム。
3. The memory access control system according to claim 1, wherein said mapping means includes means for mapping the same storage area in different memory address spaces.
【請求項4】 格納領域のデータをシミュレーションタ
ーゲットのコンピュータシステムのデータタイプに変換
して処理する変換手段を有することを特徴とする請求項
1、2または3記載のメモリアクセス制御システム。
4. The memory access control system according to claim 1, further comprising conversion means for converting the data in the storage area into a data type of a computer system of a simulation target and processing the data.
【請求項5】 読み出し要求のアドレスをアクセスサイ
ズで分解し、それぞれのアドレスを変換し、格納領域か
ら読み出されたデータをデータ結合手段で最終の読み出
しデータにすることを特徴とする請求項1、2、3また
は4記載のメモリアクセス制御システム。
5. The method according to claim 1, wherein the address of the read request is decomposed by the access size, each address is converted, and the data read from the storage area is finally read data by the data combining means. 5. The memory access control system according to 2, 3, or 4.
【請求項6】 書き込み要求のアドレスをアクセスサイ
ズで分解し、それぞれのアドレスを変換し、書き込みデ
ータをアクセスサイズで分解し、格納領域に書き込むデ
ータにすることを特徴とする請求項1、2、3または4
記載のメモリアクセス制御システム。
6. The method according to claim 1, wherein an address of the write request is decomposed by the access size, each address is converted, the write data is decomposed by the access size, and the data is written into the storage area. 3 or 4
A memory access control system as described.
【請求項7】 前記読み出し要求で、格納領域がマッピ
ングされなかったメモリ用のアドレス空間に割り当てた
格納領域に固定値を書き込むことを特徴とする請求項5
記載のメモリアクセス制御システム。
7. The method according to claim 5, wherein the read request writes a fixed value to a storage area allocated to an address space for a memory to which a storage area has not been mapped.
A memory access control system as described.
【請求項8】 書き込み時と読み込み時で異なるマッピ
ングを使用する手段を有し、格納領域がマッピングされ
ないメモリ用のアドレス空間に2つの格納領域をマッピ
ングすることで、書き込みによる読み出しデータの破壊
を防ぐようにしたことを特徴とする請求項1、2、3、
4、5、6または7記載のメモリアクセス制御システ
ム。
8. A means for using different mapping between writing and reading, and mapping two storage areas to a memory address space to which no storage area is mapped, thereby preventing destruction of read data due to writing. Claims 1, 2, 3,
8. The memory access control system according to 4, 5, 6, or 7.
JP11169092A 1999-06-16 1999-06-16 Memory access control system Pending JP2000357123A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11169092A JP2000357123A (en) 1999-06-16 1999-06-16 Memory access control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11169092A JP2000357123A (en) 1999-06-16 1999-06-16 Memory access control system

Publications (1)

Publication Number Publication Date
JP2000357123A true JP2000357123A (en) 2000-12-26

Family

ID=15880183

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11169092A Pending JP2000357123A (en) 1999-06-16 1999-06-16 Memory access control system

Country Status (1)

Country Link
JP (1) JP2000357123A (en)

Similar Documents

Publication Publication Date Title
US4218743A (en) Address translation apparatus
US4136385A (en) Synonym control means for multiple virtual storage systems
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
US4400774A (en) Cache addressing arrangement in a computer system
JP3666689B2 (en) Virtual address translation method
US5749093A (en) Enhanced information processing system using cache memory indication during DMA accessing
US5423013A (en) System for addressing a very large memory with real or virtual addresses using address mode registers
US7558940B2 (en) Virtual memory translator for real-time operating systems
US5440708A (en) Microprocessor and storage management system having said microprocessor
US5652860A (en) Memory control device
JP2846697B2 (en) Cache memory controller
KR19990037571A (en) A data pointer for outputting an indirect addressing mode address in a single period and a method of providing the same
JP2000357123A (en) Memory access control system
GB2221066A (en) Address translation for I/O controller
JP2954988B2 (en) Information processing device
KR860000792B1 (en) Virtual memory control method
JP2001337909A (en) Pci bridge
JP2635310B2 (en) Address translation device
JPS646492B2 (en)
JPS6341101B2 (en)
JPS6143744B2 (en)
JPS6367213B2 (en)
JPH02100154A (en) Address converter for virtual storage
JPS5951070B2 (en) address translation device
JPH0241772B2 (en)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees