JPH04131949A - Memory access controller - Google Patents
Memory access controllerInfo
- Publication number
- JPH04131949A JPH04131949A JP25445090A JP25445090A JPH04131949A JP H04131949 A JPH04131949 A JP H04131949A JP 25445090 A JP25445090 A JP 25445090A JP 25445090 A JP25445090 A JP 25445090A JP H04131949 A JPH04131949 A JP H04131949A
- Authority
- JP
- Japan
- Prior art keywords
- block
- wait
- bus
- data
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003780 insertion Methods 0.000 claims abstract description 31
- 230000037431 insertion Effects 0.000 claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims abstract description 13
- 230000001419 dependent effect Effects 0.000 abstract 1
- 238000004260 weight control Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 238000000034 method Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 102100037086 Bone marrow stromal antigen 2 Human genes 0.000 description 1
- 101000740785 Homo sapiens Bone marrow stromal antigen 2 Proteins 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はメモリアクセス制御装置に関し、特にメモリ空
間をブロックに分割し、これらブロックのアクセスを制
御するためのメモリアクセス制御装置に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a memory access control device, and more particularly to a memory access control device for dividing a memory space into blocks and controlling access to these blocks.
近年におけるマイクロコンピュータの高速化とメモリ素
子の高集積化の発達はめざましい。メモリ素子において
は高集積化傾向の中で、データの読み書きに要する時間
を表すところのアクセス時間は、SRAM、DRAM、
ROM、FROM等の間において顕著な差がついており
、安価に入手できるものほどアクセス時間が長い。In recent years, the speed of microcomputers and the integration of memory devices have increased dramatically. With the trend toward higher integration in memory devices, the access time, which represents the time required to read and write data, is increasing in SRAM, DRAM,
There is a noticeable difference between ROM, FROM, etc., and the access time is longer for ROMs that are available at lower prices.
一方、マイクロコンピュータにおいては、半導体の高速
化技術により内部クロックの動作周波数を高める手法が
、高速化を促進する手法の一つとして有力であり、1ク
ロック周期の時間が短縮されつつある。これに伴い、マ
イクロコンピュータが外部のメモリと入出力を行う際の
バスサイクル(メモリアクセス制御装置)に要する最小
時間も短くなりつつある。また、データ処理用のマイク
ロコンピュータのメモリ空間の大容量化も著しく進行し
ている。On the other hand, in microcomputers, the method of increasing the operating frequency of the internal clock using semiconductor speed-up technology is an effective method for increasing the speed, and the time of one clock cycle is being shortened. Along with this, the minimum time required for a bus cycle (memory access control device) when a microcomputer performs input/output with an external memory is also becoming shorter. Furthermore, the memory space capacity of microcomputers for data processing is increasing significantly.
こうした状況から、大メモリ空間を有するマイクロコン
ピュータと多量のメモリを使用するシステムにおいては
、高速なプログラム実行を要するプログラムメモリ用に
高速タイプのROMまたはPORM、同じくプログラム
の制御データ用に高速SRAM、また比較的高速性の要
求されない大容量データ用にDRAMや文字フォント等
を格納しておくROM等が、システムの高速化と価格の
低減等を目的に、使い分けられている。Under these circumstances, in systems that use microcomputers with large memory spaces and large amounts of memory, high-speed ROM or PORM is used for program memory that requires high-speed program execution, and high-speed SRAM or high-speed RAM is used for program control data. DRAMs for large-capacity data that do not require relatively high speeds, ROMs for storing character fonts, and the like are used for purposes such as speeding up systems and reducing costs.
このようにして利用されるマイクロコンピュタには、速
度の異なる複数種のメモリ素子を接続し、アクセス可能
にするために、メモリアクセス制御の1つとして、ウェ
ート制御と呼ばれる機能が備わっている。ウェート制御
とは、メモリアクセスを行う場合に、定まった最小バス
サイクルのクロック数に、ユーザ指定したウェートステ
ートと呼ばれる数クロックを挿入し、アクセス時間を延
長するためである。The microcomputer used in this manner is equipped with a function called wait control as one of memory access controls in order to connect and access multiple types of memory elements with different speeds. Wait control is for extending the access time by inserting a user-specified number of clocks called a wait state into the predetermined minimum bus cycle clock number when performing memory access.
このようなマイクロコンピュータシステムにおいて、メ
モリ空間をブロックに分割してメモリアクセス制御を行
うブロック分割の方式には、ブロックサイズが予め定め
られている固定サイズ方式と、固定サイズの整数倍にブ
ロックサイズを設定可能な可変サイズ方式とがある。In such microcomputer systems, there are two block division methods that control memory access by dividing the memory space into blocks: a fixed size method in which the block size is predetermined, and a block size method in which the block size is set to an integral multiple of the fixed size. There is a configurable variable size method.
第6図は、ブロック分割に固定サイズ方式を採用した従
来のメモリアクセス制御装置の一例の、ウェート制御ユ
ニットを主体とするブロック図である。FIG. 6 is a block diagram of an example of a conventional memory access control device that adopts a fixed size method for block division, mainly consisting of a weight control unit.
このメモリアクセス制御装置のウェート制御ユニット2
11では、メモリ空間を8個の固定サイズのブロックに
分割しており、下位アドレスからブロック“0″、ブロ
ック“1”、ブロック“2”・・・・・・、ブロック“
7”とよぶ。Wait control unit 2 of this memory access control device
In No. 11, the memory space is divided into eight fixed-sized blocks, starting from the lower address: block "0", block "1", block "2", etc., block "
It's called 7".
ウェート制御ユニット2Bには、アドレスデコーダ25
.ウェート制御レジスタ23B、及びウェートセレクタ
24mとが含まれる。パスラインlは、不図示の中央演
算処理装置(以下CPUという)などとの間で、アドレ
ス信号、入出力データ、各種のレジスタ設定データ等の
入出力を行うためのものである。The wait control unit 2B includes an address decoder 25.
.. A weight control register 23B and a weight selector 24m are included. The path line 1 is used to input and output address signals, input/output data, various register setting data, etc. to and from a central processing unit (hereinafter referred to as CPU) (not shown).
アドレスデコーダ25は、アドレスバスからアドレス信
号ADを入力し、このアドレス信号ADの値が、ブロッ
ク“0”を指す場合はブロック指定信号BDOをアクテ
ィブに、ブロック“1″を指す場合はブロック指定信号
BDIをアクティブに、以下同様にブロック指定信号B
D2〜EDγを排他的にアクティブにする。The address decoder 25 inputs the address signal AD from the address bus, and activates the block designation signal BDO when the value of the address signal AD indicates block "0", and activates the block designation signal BDO when the value indicates block "1". Activate BDI, and similarly block designation signal B
Activate D2 to EDγ exclusively.
ウェート制御レジスタ23Bは、パスラインに出力され
たウェート制御データを格納し常時ウェートセレクタ2
4.へ出力する。The wait control register 23B stores the wait control data output to the pass line and is always connected to the wait selector 2.
4. Output to.
ウェート制御データは、メモリアクセスの対象となるブ
ロック毎のウェートステートの挿入情報の集合であり、
ユーザがプログラムにてメモリ操作命令等を使用するこ
とにより、CPUからパスラインを介して格納される。Wait control data is a set of wait state insertion information for each block to be memory accessed,
When a user uses a memory manipulation command or the like in a program, data is stored from the CPU via a pass line.
ウェート制御データは各ブロックに所定のビット数が割
り当てられてウェート制御データは、例えばウェートス
テートの挿入なし、1回ウェートステートを挿入する、
2回ウェートステートを挿入する、などの意味を有する
。A predetermined number of bits is assigned to each block of the wait control data, and the wait control data includes, for example, no wait state insertion, one wait state insertion,
It has the meaning of inserting a wait state twice.
ウェートセレクタ24Bは、ブロック指定信号BDOが
アクティブのときブロック“0″のウェートステート挿
入情報、ブロック指定信号BD1がアクティブのときブ
ロック“1″のウェートステート挿入情報、以下同様に
、ブロック“2”〜ブロック“7”のウェートステート
挿入情報のいずれかを不図示のバスサイクル制御部へ出
力する。The wait selector 24B inserts wait state insertion information for block "0" when the block designation signal BDO is active, wait state insertion information for block "1" when the block designation signal BD1 is active, and similarly, the wait state insertion information for blocks "2" to "2". Any of the wait state insertion information of block "7" is output to a bus cycle control section (not shown).
バスサイクル制御部は、ウェート制御データの内容に従
って所定の数のウェートステートを挿入し、目的のメモ
リアクセス制御を遂行する。The bus cycle control section inserts a predetermined number of wait states according to the contents of the wait control data to perform desired memory access control.
第7図はブロック分割に可変サイズ方式を採用した従来
のメモリアクセス制御装置の一例のウェート制御ユニッ
トを主体とするブロック図である。FIG. 7 is a block diagram mainly consisting of a weight control unit of an example of a conventional memory access control device that employs a variable size method for block division.
このウェート制御ユニツI’2cでは、メモリ空間を固
定サイズの整数倍から成る最大4個のブロックに分割し
ており、ブロック“O”、ブロック“1″、ブロック″
2”、ブロック“3”とよぶ、ウェート制御ユニッ)2
cには、アドレスバスのアドレス信号ADの値がブロッ
ク“0″に対するものであることを検知するために、ブ
Cryり“0”の開始アドレスの上位8ビツトを格納す
るブロック開始アドレスレジスタブ’Q−)り開始アド
レスレジスタ(以下BSTという)26Aと、ブロック
“O”の終了アドレスから開始アドレスを減じた差(オ
フセット値)の上位8ビツトを格納するブロックサイズ
レジスタ(以下BSZという)27AとBST26Aと
BSZ27の値ヲ加算する加算器28Aと、比較器29
Aとを有する。そして、加算値と、アドレス信号ADの
上位8ビツトとを比較器29Aで比較し、アドレス信号
ADの値が加算値よりも小さいか等しいときブロック指
定信号BDOをアクティブにする。In this weight control unit I'2c, the memory space is divided into a maximum of four blocks each consisting of an integral multiple of a fixed size, block "O", block "1", block "
2”, weight control unit (referred to as block “3”) 2
In order to detect that the value of address signal AD of the address bus is for block "0", block start address register register 'c' stores the upper 8 bits of the start address of block "0". A block size register (hereinafter referred to as BSZ) 27A that stores the upper 8 bits of the difference (offset value) obtained by subtracting the start address from the end address of block "O". An adder 28A that adds the values of BST26A and BSZ27, and a comparator 29
It has A. Then, the added value and the upper 8 bits of the address signal AD are compared by the comparator 29A, and when the value of the address signal AD is smaller than or equal to the added value, the block designation signal BDO is activated.
以下同様に、アドレス信号ADの値がブロック“1”に
対するものであることを検知するためにB S T 2
6 BとBSZ27mと加算器28.と比較器29!I
とを有し、ブロック“2″に対するものであることを検
知するためにBST26cとBSz27cと加算器28
cと比較器29cとを有し、ブロック“3”に対するも
のであることを検知すルタメニB S T 26 Dと
BSZ27nと加算器28.と比較器29Dとを有し、
アドレス信号ADの値が加算値より小さいか、等しいと
きそれぞれブロック指定信号をアクティブにする。なお
、ブロック指定信号BDO−BD3にはこの順序に従っ
て、不図示ではあるが優先順位判定部によりブロック間
の優先順位が設定されており、複数のブロックが同時に
指定されることのないよう、制御されている。Similarly, in order to detect that the value of the address signal AD is for block "1", BST2
6 B, BSZ27m, and adder 28. And comparator 29! I
BST26c, BSz27c and adder 28 to detect that it is for block "2".
c and a comparator 29c, which detects that it is for block "3", a BSZ 27n, and an adder 28. and a comparator 29D,
When the value of the address signal AD is smaller than or equal to the added value, each block designation signal is activated. In addition, in accordance with this order, the block designation signals BDO-BD3 have a priority order between blocks set by a priority determination unit (not shown), and are controlled so that multiple blocks are not designated at the same time. ing.
ウェート制御ユニット2゜は、また、ウェート制御レジ
スタ23゜とウェートセレクタ24.とを含んでいる。The weight control unit 2° also includes a weight control register 23° and a weight selector 24. Contains.
ウェート制御レジスタ23cには、ユーザのプログラム
により設定されたウェート制御データが格納されており
、各ブロックに所定のビット数が割り当てられたフィー
ルドがあり、4ブロック分の4フイールドを有する。The weight control register 23c stores weight control data set by a user's program, and each block has a field to which a predetermined number of bits are assigned, and has four fields for four blocks.
ウェートセレクタ24cは、ブロック指定信号BDOが
アクティブのときブロック“0”のウェートステート挿
入情報、ブロック指定信号BDIがアクティブのときブ
ロック“l”のウェートステート挿入情報、以下同様に
、ブロック“2″のウェートステート挿入情報、プロ、
り“3”のウェートステート挿入情報、のいずれかを不
図示のバスサイクル制御部へ出力する。バスサイクル制
御部は、ウェート制御データの内容に応じたメモリアク
セス制御を遂行する。The wait selector 24c inserts wait state insertion information for block "0" when block designation signal BDO is active, wait state insertion information for block "l" when block designation signal BDI is active, and similarly for block "2". weight state insertion information, pro,
Wait state insertion information of "3" is output to a bus cycle control unit (not shown). The bus cycle control unit performs memory access control according to the contents of wait control data.
上述した従来のメモリアクセス制御装置は、固定サイズ
方式のおいては、ブロック数及びブロックサイズが固定
されているので、小容量、高速メモリに適応するためブ
ロックの単位サイズを小さくする必要があり、大メモリ
空間に対応する場合にブロック数が多くなるため、
(&)各ブロックに対応したウェート制御情報を格納す
るウェート制御レジスタが大きくなる。In the conventional memory access control device described above, in the fixed size method, the number of blocks and block size are fixed, so it is necessary to reduce the unit size of the block in order to adapt to small capacity and high speed memory. Since the number of blocks increases when dealing with a large memory space, (&) the wait control register that stores wait control information corresponding to each block becomes large.
(b) ユーザのプログラムにおいて、ウェート制御
レジスタにデータを設定するための命令操作の回数が増
加し繁雑となる。(b) In the user's program, the number of command operations for setting data in the wait control register increases and becomes complicated.
(c)ブロック指定信号の数が多くなり、ウェートセレ
クタの回路規模が大きくなる。(c) The number of block designation signals increases, and the circuit scale of the wait selector increases.
という欠点があり、可変サイズ方式においては、ブロッ
ク数がある程度抑えられるため、ウェート制御レジスタ
にデータを設定するためのプログラムの繁雑性は問題と
ならないものの、ブロックを判別するために必要なレジ
スタと比較器がハードウェアの増大を招くという欠点が
ある。However, in the variable size method, the number of blocks can be suppressed to some extent, so the complexity of the program for setting data in the wait control register is not a problem, but compared to the registers required to identify the block, The disadvantage is that the hardware increases.
また、これらの方式において、アクセス速度の異なる複
数種のメモリ素子を接続可能にするため、挿入可能なウ
ェートステート数にある程度幅をもたせておく必要があ
り、メモリ素子のアクセス速度の差が顕著になると1ブ
ロツクあたりのウェートステート挿入情報のビット数が
多くなるため、ウェート制御データを格納するためのウ
ェート制御レジスタとその周辺のハードウェアが増大す
るという欠点がある。In addition, in these methods, in order to connect multiple types of memory elements with different access speeds, it is necessary to have a certain range in the number of wait states that can be inserted, and the difference in access speed of memory elements becomes noticeable. This increases the number of bits of wait state insertion information per block, which has the disadvantage that the wait control register for storing wait control data and its peripheral hardware increase.
本発明の目的は、ウェート制御情報等の設定格納操作が
容易となり、かつハードウェア量を低減することができ
るメモリアクセス制御装置を提供することにある。An object of the present invention is to provide a memory access control device that facilitates the operation of storing settings such as wait control information and reduces the amount of hardware.
口課題を解決するための手段〕
本発明のメモリアクセス制御装置は、メモリ空間を複数
のブロックに分割してこれらブロックの分割数及び各ブ
ロックのサイズの情報を含むブロック定義データを格納
し出力するブロック定義レジスタと、アドレス信号の指
定するアドレスが前記複数のブロックのうちのどのブロ
ックであるかを判別し対応するブロック指定信号を能動
レベルにするブロック判別デコーダと、前記各ブロック
の、ウェートステートの挿入情報を含むウェート制御デ
ータを格納し出力するウェート制御レジスタと、前記ブ
ロック指定信号が能動レベルのブロックと対応する前記
ウェート制御データを選択し出力するウェートセレクタ
と、このウェートセレクタにより選択されたウェート制
御データの内容に応じて内部のアドレスバスと外部アド
レスバスとの間のアドレス信号の伝達制御、及び内部の
データバスと外部データバスとの間のデータの伝達制御
を行うバスサイクル制御ユニットとを有している
また、バスサイクル制御ユニットの内部のアドレスバス
ト外部アドレスバスとの間のアドレス信号の伝達制御、
及び内部のデータバスと外部データバスとの間のデータ
の伝達制御を、ウェート制御データの内容とブロック指
定信号の内容とに応じて行うようにした構成を有してい
る。Means for Solving the Problem] A memory access control device of the present invention divides a memory space into a plurality of blocks, and stores and outputs block definition data including information on the number of divisions of these blocks and the size of each block. a block definition register; a block determination decoder that determines which block among the plurality of blocks the address specified by the address signal belongs to and sets the corresponding block designation signal to an active level; and a wait state of each of the blocks. a wait control register that stores and outputs wait control data including insertion information; a wait selector that selects and outputs the wait control data corresponding to a block for which the block designation signal is at an active level; and a wait selected by the wait selector. a bus cycle control unit that controls the transmission of address signals between the internal address bus and the external address bus and the transmission of data between the internal data bus and the external data bus according to the contents of the control data; It also has address signal transmission control between the internal address bus and the external address bus of the bus cycle control unit;
The data transmission control device 100 also controls data transmission between the internal data bus and the external data bus in accordance with the contents of the wait control data and the block designation signal.
次に、本発明の実施例について図面を参照して説明する
。Next, embodiments of the present invention will be described with reference to the drawings.
第1図は本発明の第1の実施例を示すブロック図である
。FIG. 1 is a block diagram showing a first embodiment of the present invention.
この実施例は、大別するとウェート制御ユニット2、及
びバスサイクル制御ユニット3の2ユニツトから構成さ
れる。This embodiment is roughly divided into two units: a weight control unit 2 and a bus cycle control unit 3.
ウェート制御ユニット2は、ブロック定義レジスタ21
.ブロック判別デコーダ22.ウェート制御レジスタ2
3.及びウェートセレクタ24からなる。The weight control unit 2 has a block definition register 21.
.. Block discrimination decoder 22. Wait control register 2
3. and a weight selector 24.
パスライン1は、不図示のCPUとの間で、アドレス値
、入出力データ、各種のレジスタの設定データ等の入出
力を行うためのものである。The pass line 1 is for inputting and outputting address values, input/output data, setting data of various registers, etc. with a CPU (not shown).
ブロック定義レジスタ21は、パスライン1上に出力さ
れたブロック定義データを格納し常時ブロック判別デコ
ーダ22へ出力する。ブロック定義データとは、メモリ
空間のブロック分割数と、各ブロックのサイズとを示す
情報の集合であり、ユーザがプログラムにてメモリ操作
命令等を使用することにより、CPUからパスラインl
を介して格納することができる。この実施例では、1メ
ガバイトの空間を種々のサイズからなる最大5個のブロ
ックに分割しており、下位アドレスからブロック“0”
、ブロック“1″ ブロック“2”、ブロック“3”、
ブロック“4″とよぶ。The block definition register 21 stores the block definition data output on the pass line 1 and always outputs it to the block discrimination decoder 22. Block definition data is a set of information indicating the number of block divisions of memory space and the size of each block.The block definition data is a set of information indicating the number of block divisions of the memory space and the size of each block.
Can be stored through. In this example, a 1 megabyte space is divided into a maximum of 5 blocks of various sizes, and the block "0" is divided from the lower address.
, block “1” block “2”, block “3”,
It is called block “4”.
ブロック定義レジスタ21は、2ビツトのフィールドを
4フイ一ルド分有しており、ブロック“0”の終了アド
レス情報を格納するフィールドであるMBO、ブロック
“1″の終了アドレス情報を格納するフィールドである
MBI、ブロック“2”の終了アドレス情報を格納する
フィールFであるMB2、ブロック“3″の終了アドレ
ス情報を格納するフィールドであるKB3からなる。The block definition register 21 has four 2-bit fields, MBO is a field that stores end address information of block "0", and MBO is a field that stores end address information of block "1". It consists of a certain MBI, MB2 which is a field F storing end address information of block "2", and KB3 which is a field storing end address information of block "3".
ブロック判別デコーダ22は、このブロック定義データ
と、アドレスバス34へ出力されたアドレス信号ADと
を入力し、アドレス信号ADが、ブロック“0”を指定
する場合はブロック指定信号BDOをアクティブに、ブ
ロック“1”を指定する場合はブロック指定信号BDI
をアクティブに、ブロック“2”を指定する場合はブロ
ック指定信号BD2をアクティブに、ブロック“3”を
指定する場合はブロック指定信号BD3をアクティブに
、ブロック“4”を指す場合はブロック指定信号BD4
をアクティブにする。The block discrimination decoder 22 inputs this block definition data and the address signal AD output to the address bus 34, and when the address signal AD specifies block "0", activates the block designation signal BDO, When specifying “1”, block designation signal BDI
Activate the block designation signal BD2 to designate block "2", activate the block designation signal BD3 to designate block "3", and activate the block designation signal BD4 to designate block "4".
Activate.
ウェート制御レジスタ23は、パスライン1に出力され
たウェート制御データを格納し常時ウェートセレクタ2
4へ出力する。ウェート制御データは、メモリアクセス
の対象となるブロック毎のウェートステートの挿入情報
の集合であり、ユーザがプログラムにてメモリ操作命令
等を使用することにより、CPUかもパスライン1へ出
力される。この実施例では、説明を簡素化するために、
ウェート制御データは1ブロツクに2ビツトが対応して
おり、合計5ブロック分のlOビットからなるものとす
る。各2ビツトの値は、例えば“00” (2進数、以
下同様)のときはウェートステート挿入数′0″、′0
1”のときはウェートステート挿入数“1”、′10”
のときはウェートステート挿入数“2″、011″のと
きは2回のウェートステート挿入に加え、外部ウェート
制御信号WCXをバスサイクル制御ユニット3がモニタ
しアクティブの間、ウェートステートを追加挿入する、
と(・う意味を有する。The wait control register 23 stores the wait control data output to the pass line 1, and always outputs the wait control data to the wait selector 2.
Output to 4. The wait control data is a set of wait state insertion information for each block to be memory accessed, and is output to the pass line 1 by the CPU when the user uses a memory manipulation command or the like in a program. In this example, to simplify the explanation,
It is assumed that the weight control data consists of 10 bits for a total of 5 blocks, with 2 bits corresponding to 1 block. For example, when the value of each 2 bit is “00” (binary number, the same applies hereafter), the number of wait states to be inserted is '0'', '0''.
1”, the number of wait states inserted is “1”, ’10”
When the number of wait state insertions is "2", and when the number is 011, the wait state is inserted twice, and the bus cycle control unit 3 monitors the external wait control signal WCX and inserts an additional wait state while it is active.
(・Having a meaning.
ウェート制御レジスタ23は、2ビツトのフィールドを
5フイ一ルド分有しており、ブロック“0″のウェート
ステート挿入情報を格納するフィールドであるMWO、
ブロック1のウェートステート挿入情報を格納するフィ
ールドであるMWl、以下同様に、ブロック“2”に対
するMW2、ブロック“3”に対するMW3、ブロック
“4”に対するMW4から成る。The wait control register 23 has five 2-bit fields, including MWO, which is a field that stores wait state insertion information for block "0";
MWl is a field for storing wait state insertion information for block 1, and similarly consists of MW2 for block "2", MW3 for block "3", and MW4 for block "4".
ウェートセレクタ24は、ブロック指定信号BDO〜B
D4に応じてウェートステート挿入情報を選択する。The weight selector 24 receives block designation signals BDO-B.
Wait state insertion information is selected according to D4.
バスサイクル制御ユニット3は、バスサイクル生成回路
31.アドレスバスドライバ36.データバスドライバ
37.38.アドレスラッチ回路32、データラッチ回
路33.アドレスバス34.及びデータバス35かも構
成される。The bus cycle control unit 3 includes a bus cycle generation circuit 31. Address bus driver 36. Data bus driver 37.38. Address latch circuit 32, data latch circuit 33. Address bus 34. and a data bus 35.
アドレスラッチ回路32は、パスライン1に出力された
アドレス信号を取り込み、アドレスバス34へ常時出力
する。データラッチ回路33は、パスラインに出力され
た出力データ取り込みデータバス35へ出力し、また外
部データバス5からデータバス35へ入力された入力デ
ータを取り込みパスライン1へ出力する。The address latch circuit 32 takes in the address signal output to the pass line 1 and always outputs it to the address bus 34. The data latch circuit 33 takes in output data outputted to the pass line and outputs it to the data bus 35, and also takes in input data inputted to the data bus 35 from the external data bus 5 and outputs it to the pass line 1.
次に、ブロック定義レジスタ21と、ブロック判別デコ
ーダ22について詳細に説明する。Next, the block definition register 21 and block discrimination decoder 22 will be explained in detail.
第2図は、ブロック判別デコーダ21を論理素子レベル
で記述した回路図である。FIG. 2 is a circuit diagram describing the block discrimination decoder 21 at the logic element level.
A16〜A19は、アドレスバスlの上位アドレス信号
(AD)の4ビツトである。A16 to A19 are 4 bits of the upper address signal (AD) of address bus l.
このブロック判別デコーダ22を1メガバイトのメモリ
空間に適用すると、第3図に示すようなブロック分割が
実現する。When this block discrimination decoder 22 is applied to a 1 megabyte memory space, block division as shown in FIG. 3 is realized.
上述したように、ブロック定義レジスタ21のフィール
ドMEOは2ビツトであり、ブロック“0”の終了アド
レス情報を格納する。このフィールドMBOの値が“0
0nのときはブロック″0″の終了アドレスが開始アド
レス(第3図のOKの位置)から64キロバイト(以下
、キロバイトをKBと記す)の位置であり、”01”の
ときは同じ<128KBの位置であり、′10”のとき
は同じ<192KBの位置であり、′11”のときは同
じ<256KBの位置である。As described above, the field MEO of the block definition register 21 has 2 bits and stores the end address information of block "0". The value of this field MBO is “0”
When it is 0n, the end address of block "0" is 64 kilobytes (hereinafter, kilobytes will be referred to as KB) from the start address (the OK position in Figure 3), and when it is "01", it is the same <128KB. When it is ``10'', it is the same <192KB position, and when it is ``11'', it is the same <256KB position.
また、フィールドMB1はブロック“1″の終了アドレ
ス情報を格納し、MBIの値が“00”のときはブロッ
ク1の終了アドレスが開始アドレスから128KBの位
置であり、“O1″のときは同じ<256KBの位置で
あり、“lO″のときは同じ<384KFの位置であり
、”11″のときは同じ< 512KBの位置である。Field MB1 stores end address information of block "1", and when the value of MBI is "00", the end address of block 1 is located 128 KB from the start address, and when "O1", the same < The position is 256KB, the same <384KF position when it is "1O", and the same <512KB position when it is "11".
さらに、フィールドMB2はブロック“2″の終了アド
レス情報を格納し、MB2の値が“00″のときはブロ
ック“2”の終了アドレスが開始アドレスから256K
Bの位置であり、”01”のときは同じ< 512KB
の位置であり、“10″のときは同じ<768KBの位
置であり、11”のときは同じく1メガバイト (以下
、メガバイトをMBと記す)の位置である。Furthermore, field MB2 stores end address information of block "2", and when the value of MB2 is "00", the end address of block "2" is 256K from the start address.
It is the position of B, and when it is “01”, it is the same < 512KB
When it is "10", it is the same <768KB position, and when it is "11", it is the same position of 1 megabyte (hereinafter, megabyte is referred to as MB).
そして、フィールドMB3はブロック“3″の終了アド
レス情報を格納し、MB3の値が“00”のときはブロ
ック“3”の終了アドレスが開始アドレスから640K
Bの位置であり、′01”のときは同じ<768KBの
位置であり、“10”のときは同じ<896KBの位置
であり、′11”のときは同じ<IMBの位置である。Field MB3 stores the end address information of block "3", and when the value of MB3 is "00", the end address of block "3" is 640K from the start address.
When it is '01' it is the same <768KB position, when it is '10' it is the same <896KB position, and when '11' it is the same <IMB position.
ブロック“4”は残りの領域で終了アドレスはIMBの
位置固定となる。第3図のブロック分割図はフィールド
MBO,MBI、MB2.MB3をそれぞれ、01,0
1,01,10に設定した場合を示している。Block "4" is the remaining area, and the end address is fixed at the IMB position. The block diagram in FIG. 3 shows fields MBO, MBI, MB2. MB3 respectively, 01,0
The cases where the values are set to 1, 01, and 10 are shown.
なお、あるブロックの終了アドレスが、より下位アドレ
スに配置されるブロックの終了アドレスより小さくなる
ようにブロック定義レジスタ21が設定された場合は、
第2図のブロック判別デコーダ22の論理より、より下
位のブロック定義が有効となり、上位のブロックのサイ
ズは“0”となる。Note that if the block definition register 21 is set so that the end address of a certain block is smaller than the end address of a block located at a lower address,
According to the logic of the block discrimination decoder 22 in FIG. 2, the lower block definition becomes valid, and the size of the higher block becomes "0".
次に、ウェートセレクタ24について、第4図を参照し
て説明する。Next, the weight selector 24 will be explained with reference to FIG.
ウェートセレクタ24は、トランスファゲートT1〜T
+6から構成され、ブロック指定信号BDO〜BD4
に応じてウェートステートの挿入情報を選択する。The weight selector 24 selects transfer gates T1 to T
+6, and block designation signals BDO to BD4
Select the weight state insertion information accordingly.
ブロック指定信号BDOがアクティブになると、トラン
スファゲートT’+、Tzが導通し、ウエート制御レジ
スタ23内のブロック“0”のウェートステート挿入情
報用のフィールドMWOの上位側のビットがウェート制
御信号WC1に、また下位側のビットがウェート制御信
号WC2,aして伝えられ、バスサイクル生成回路31
に伝えられる。When block designation signal BDO becomes active, transfer gates T'+ and Tz become conductive, and the upper bit of field MWO for wait state insertion information of block "0" in wait control register 23 becomes wait control signal WC1. , and the lower bits are transmitted as a wait control signal WC2,a to the bus cycle generation circuit 31.
can be conveyed to.
同様にして、ブロック指定信号BDIがアクティブにな
ったときにはフィールドMWIの格納値、ブロック指定
信号BD2がアクティブになったときにはフィールドM
W2の格納値、ブロック指定信号BD3がアクティブに
なったときにはフィールドMW3の格納値、プロ、り指
定信号BD4がアクティブになったときにはフィールド
MW4の格納値がそれぞれウェート制御信号WCI、W
C2として出力され、バスサイクル生成回路31へ伝達
される。Similarly, when block designation signal BDI becomes active, the stored value of field MWI is stored, and when block designation signal BD2 becomes active, field M
When the block designation signal BD3 becomes active, the stored value of field MW3 becomes the stored value of W2, and when the block designation signal BD4 becomes active, the stored value of field MW4 becomes the wait control signal WCI, W, respectively.
It is output as C2 and transmitted to the bus cycle generation circuit 31.
バスサイクル生成回路31は、入力されたウェート制御
信号WCI、WC2に従ったウェートステート挿入制御
を行い、同時にドライバ制御信号ODC,ADCを順次
、所定のクロック数の間アクティブにしながら、アドレ
スバスドライバ36とデータバスドライバ37.38と
を制御して、アドレスバス34と外部アドレスバス4、
及ヒデータバス35と外部データバス5との間のアドレ
ス、データの伝達制御を行い、目的のメモリアクセス制
御を遂行する。The bus cycle generation circuit 31 performs wait state insertion control according to the input wait control signals WCI and WC2, and simultaneously activates the driver control signals ODC and ADC sequentially for a predetermined number of clocks. and the data bus drivers 37 and 38 to control the address bus 34 and the external address bus 4,
It also controls transmission of addresses and data between the external data bus 35 and the external data bus 5, and performs targeted memory access control.
なお、この実施例では、ウェート制御データを1ブロツ
クに対し2ビツトとして説明したが、ウェート制御デー
タのビット数はこの限りではない。In this embodiment, the weight control data is explained as having 2 bits per block, but the number of bits of the weight control data is not limited to this.
第5図は、本発明の第2の実施例を示すブロック図であ
る。FIG. 5 is a block diagram showing a second embodiment of the invention.
この実施例においては、ブロック指定信号BDO〜BD
4をウェートセレクタ24及びバスサイクル生成回路3
1Aに入力している。In this embodiment, block designation signals BDO to BD
4 as wait selector 24 and bus cycle generation circuit 3
It is input to 1A.
ウェートセレクタ24は、第1の実施例と同様に、ウェ
ート制御レジスタ23に格納されているウェートステー
ト挿入情報のうちの1ブロツク分をブロック指定信号B
DO−BD4により選択し、ウェート制御信号WCI、
WC2をバスサイクル生成回路31Aに出力する。バス
サイクル生成回路31Aでは、ブロック指定信号BDO
〜BD4とウェート制御信号WCI、WC2に基づいて
、各ブロック毎に実際のウェートステート挿入数を生成
し、バスサイクル制御を遂行する。As in the first embodiment, the wait selector 24 outputs one block of the wait state insertion information stored in the wait control register 23 to the block designation signal B.
Selected by DO-BD4, wait control signal WCI,
WC2 is output to the bus cycle generation circuit 31A. In the bus cycle generation circuit 31A, the block designation signal BDO
Based on ~BD4 and wait control signals WCI and WC2, the actual number of wait states to be inserted is generated for each block, and bus cycle control is performed.
例えば、ウェート制御信号WCIが低レベル、ウェート
制御信号WC2が高レベルとなった場合、ブロック“0
”が選択されているときにはウェートステート挿入数“
1”を、ブロック“4”が選択されているときにはウェ
ートステート挿入数″3″を生成するなど、第1表に示
すようなウェートステート挿入制御が可能となる。For example, when the wait control signal WCI is at a low level and the wait control signal WC2 is at a high level, the block “0”
” is selected, the number of wait states to be inserted “
It is possible to perform wait state insertion control as shown in Table 1, such as generating the wait state insertion number "3" when the block "4" is selected.
第 1 表
このように、この実施例では、ウェートステート挿入情
報の意味付け、すなわちウェートステート挿入数を各分
割ブロック毎に変更することができる。Table 1 As described above, in this embodiment, the meaning of the wait state insertion information, that is, the number of wait state insertions can be changed for each divided block.
従って、各ブロックで使用するメモリのメモリ素子の種
類によってアクセス時間の差が著しく異なった場合にも
、ウェートステート挿入数を指定するビット数を増す等
のノ・−ドウエアの大幅な増加を伴うことなく柔軟にウ
ェートステート挿入数を変更できる利点がある。Therefore, even if the access time differs significantly depending on the type of memory element of the memory used in each block, there will be a significant increase in hardware, such as increasing the number of bits that specify the number of wait states to be inserted. This has the advantage that the number of wait states to be inserted can be changed flexibly without any problems.
以上説明したように本発明は、プログラム等により設定
できるブロック数、ブロックサイズの情報を含むブロッ
ク定義データと、ウェートステート挿入情報を含むウェ
ート制御データとを格納しておき、入力されたアドレス
信号の指定するブロックと対応したウェート制御データ
に応じて七番−1またこのウェート制御データとブロッ
ク指定信号に応じて、外部データバス、外部アドレスバ
スに対するデータ、アドレス信号の伝達制御を行う構成
とすることにより、使用されるメモリ素子の種類を想定
し、高速、小容量のSRAMなどに適応するためのサイ
ズを小刻みに指定可能なブロックと、低速、大容量のR
OMなどに適応するためのサイズを大まかに指定可能な
ブロックとを複数設定し、設定されたブロックで、使用
されるメモリ素子の種類に応じたウェート制御を行うこ
とができるので、メモリ空間に応じて、分割ブロック数
を想定される使用メモリ素子の種類数分に設定し、きめ
細かなウェート制御が可能となり、また、ウェート制御
ユニットのブロック数に依存するハードウェアを最小限
に抑えることができる効果がある。しかも、分割ブロッ
ク数を最小限に設定することができるため、各々のメモ
リアクセス制御に必要な設定のための命令操作回数を大
幅に削減することができる効果がある。As explained above, the present invention stores block definition data including information on the number of blocks and block size that can be set by a program, etc., and wait control data including wait state insertion information, and stores block definition data including information on the number of blocks and block size that can be set by a program etc. 7-1 according to the wait control data corresponding to the designated block, and according to the wait control data and the block designation signal, the transmission of data and address signals to the external data bus and external address bus is controlled. Assuming the type of memory element to be used, the block size can be specified in small steps to accommodate high-speed, small-capacity SRAM, etc., and the block size can be specified in small steps to accommodate the type of memory element used.
You can set multiple blocks whose size can be roughly specified to accommodate OM, etc., and use the set blocks to perform weight control according to the type of memory element used. By setting the number of divided blocks to the number of types of memory elements expected to be used, fine-grained weight control is possible, and the hardware that depends on the number of blocks in the weight control unit can be minimized. There is. Moreover, since the number of divided blocks can be set to the minimum, there is an effect that the number of command operations for setting required for each memory access control can be significantly reduced.
また、ウェートステート挿入情報の意味付けを各ブロッ
ク毎に定義できるため、メモリ素子の種類によりアクセ
ス時間の差が著しく異なる場合にも、ウェートステート
挿入数を指定するビット数を増すことなく各メモリブロ
ックに最適なウェートステートを挿入することができ、
更にブロック判別デコーダーは、ブロック数のサイズが
可変でありながら、論理ゲート素子で実現することの可
能なデコーダであるので、小規模なノ・−ドウエアで構
成できる効果がある。In addition, since the meaning of wait state insertion information can be defined for each block, even if the access time differs significantly depending on the type of memory element, each memory block can be inserted without increasing the number of bits that specify the number of wait state insertions. You can insert the optimal weight state for
Furthermore, since the block discrimination decoder is a decoder that can be realized with logic gate elements although the size of the number of blocks is variable, it has the advantage that it can be constructed with small-scale hardware.
第1図は本発明の第1の実施例を示すブロック図、第2
図は第1図に示された実施例のブロック判別回路の具体
例を示す回路図、第3図は第1図に示された実施例の動
作を説明するためのブロック分割図、第4図は第1図に
示された実施例のウェートセレクタの具体例を示す回路
図、第5図は本発明の第2の実施例を示すブロック図、
第6図及び第7図はそれぞれ従来のメモリアクセス制御
装置の第1及び第2の例を示すブロック図である。
1・・・・・・パスライン、2,2A〜2゜・・・・・
・ウェート制御ユニッ)、3.3A・・・・・・バスサ
イクル制御ユニット、4・・・・・・外部アドレスバス
、5・・・・・・外部データバス、21・・・・・・ブ
ロック定義レジスタ、22・・・・・ブロック判別テコ
ーダ、23.23B、23C・・・・・・ウェート制御
レジスタ、24.24B、24G・・・・・ウェートセ
レクタ、25・・・・・・アドレスデコーダ、26A〜
26.・・・・・・ブロック開始アドレスレジスタ、2
7A〜27D・・・・・・ブロックサイズレジスタ、2
8A〜28D・・・・・・加算器、29A〜29.・・
・・・・比較器、31.31A・・・・・・バスサイク
ル生成回路、32・・・・・アドレスラッチ回路、33
・・・・・・データラッチ回路、34・・・・・・アド
レスバス、35・・・・・・データバス、36・・・・
・・アドレスバスドライバ、37゜38・・・・・・デ
ータバスドライバ、100・・・・・・メモリL’r+
〜T1゜・・・・・・トランスファゲート。
代理人 弁理士 内 原 晋
丁/へT/θ
Lうυスファγ゛−←
第4図FIG. 1 is a block diagram showing a first embodiment of the present invention;
1 is a circuit diagram showing a specific example of the block discrimination circuit of the embodiment shown in FIG. 1, FIG. 3 is a block division diagram for explaining the operation of the embodiment shown in FIG. 1, and FIG. is a circuit diagram showing a specific example of the weight selector of the embodiment shown in FIG. 1, FIG. 5 is a block diagram showing a second embodiment of the present invention,
FIGS. 6 and 7 are block diagrams showing first and second examples of conventional memory access control devices, respectively. 1...Pass line, 2,2A~2°...
・Wait control unit), 3.3A...Bus cycle control unit, 4...External address bus, 5...External data bus, 21...Block Definition register, 22...Block discrimination decoder, 23.23B, 23C...Wait control register, 24.24B, 24G...Wait selector, 25...Address decoder , 26A~
26. ...Block start address register, 2
7A to 27D...Block size register, 2
8A-28D...Adder, 29A-29.・・・
... Comparator, 31.31A ... Bus cycle generation circuit, 32 ... Address latch circuit, 33
...Data latch circuit, 34...Address bus, 35...Data bus, 36...
...Address bus driver, 37°38...Data bus driver, 100...Memory L'r+
~T1゜・・・・・・Transfer gate. Agent Patent Attorney Shinto Uchihara/HeT/θ L υ SFA γ゛−← Figure 4
Claims (1)
ックの分割数及び各ブロックのサイズの情報を含むブロ
ック定義データを格納し出力するブロック定義レジスタ
と、アドレス信号の指定するアドレスが前記複数のブロ
ックのうちのどのブロックであるかを判別し対応するブ
ロック指定信号を能動レベルにするブロック判別デコー
ダと、前記各ブロックの、ウェートステートの挿入情報
を含むウェート制御データを格納し出力するウェート制
御レジスタと、前記ブロック指定信号が能動レベルのブ
ロックと対応する前記ウェート制御データを選択し出力
するウェートセレクタと、このウェートセレクタにより
選択されたウェート制御データの内容に応じて内部のア
ドレスバスと外部アドレスバスとの間のアドレス信号の
伝達制御、及び内部のデータバスと外部データバスとの
間のデータの伝達制御を行うバスサイクル制御ユニット
とを有することを特徴とするメモリアクセス制御装置。 2、バスサイクル制御ユニットの内部のアドレスバスと
外部アドレスバスとの間のアドレス信号の伝達制御、及
び内部のデータバスと外部データバスとの間のデータの
伝達制御を、ウェート制御データの内容とブロック指定
信号の内容とに応じて行うようにした請求項1記載のメ
モリアクセス制御装置。[Claims] 1. A block definition register that divides a memory space into a plurality of blocks and stores and outputs block definition data including information on the number of blocks to be divided and the size of each block, and a block definition register that specifies an address signal. a block discrimination decoder which discriminates which block of the plurality of blocks the address belongs to and sets a corresponding block designation signal to an active level; and wait control data including wait state insertion information for each block. A wait control register to output, a wait selector to select and output the wait control data corresponding to the block for which the block designation signal is at the active level, and an internal address according to the content of the wait control data selected by the wait selector. A memory access control device comprising a bus cycle control unit that controls transmission of address signals between a bus and an external address bus, and controls transmission of data between an internal data bus and an external data bus. . 2. The transmission control of address signals between the internal address bus and external address bus of the bus cycle control unit and the data transmission control between the internal data bus and external data bus are controlled based on the contents of wait control data. 2. The memory access control device according to claim 1, wherein the memory access control device performs the access control in accordance with the contents of the block designation signal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25445090A JPH04131949A (en) | 1990-09-25 | 1990-09-25 | Memory access controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25445090A JPH04131949A (en) | 1990-09-25 | 1990-09-25 | Memory access controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04131949A true JPH04131949A (en) | 1992-05-06 |
Family
ID=17265184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25445090A Pending JPH04131949A (en) | 1990-09-25 | 1990-09-25 | Memory access controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04131949A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6798711B2 (en) | 2002-03-19 | 2004-09-28 | Micron Technology, Inc. | Memory with address management |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5617451A (en) * | 1979-07-20 | 1981-02-19 | Sharp Corp | Access controller for memory |
JPS61118850A (en) * | 1984-11-15 | 1986-06-06 | Nec Corp | Microprocessor |
-
1990
- 1990-09-25 JP JP25445090A patent/JPH04131949A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5617451A (en) * | 1979-07-20 | 1981-02-19 | Sharp Corp | Access controller for memory |
JPS61118850A (en) * | 1984-11-15 | 1986-06-06 | Nec Corp | Microprocessor |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6798711B2 (en) | 2002-03-19 | 2004-09-28 | Micron Technology, Inc. | Memory with address management |
US7123541B2 (en) | 2002-03-19 | 2006-10-17 | Micron Technology Inc. | Memory with address management |
US7372768B2 (en) | 2002-03-19 | 2008-05-13 | Micron Technology, Inc. | Memory with address management |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2968486B2 (en) | Memory, memory subsystem, memory device, and memory system address method | |
GB2149158A (en) | Memory management system | |
KR19990029294A (en) | Method and System for Bus Arbitration in Multiprocessor Systems Using Concurrent Access to Variable Width Buses | |
EP0284981B1 (en) | Addressing in a computer system | |
KR19990029293A (en) | Method and system for simultaneously accessing variable-width buses in multiprocessor systems | |
US6584528B1 (en) | Microprocessor allocating no wait storage of variable capacity to plurality of resources, and memory device therefor | |
US5423013A (en) | System for addressing a very large memory with real or virtual addresses using address mode registers | |
US4318175A (en) | Addressing means for random access memory system | |
US5748555A (en) | Memory address preview control circuit | |
US6434688B1 (en) | Method and apparatus for providing and maximizing concurrent operations in a shared memory system which includes display memory | |
US4964037A (en) | Memory addressing arrangement | |
US5265234A (en) | Integrated memory circuit and function unit with selective storage of logic functions | |
JPH04131949A (en) | Memory access controller | |
US6529981B1 (en) | Bus arbiter | |
US6643189B2 (en) | Memory device | |
EP0795827B1 (en) | Memory device and method for accessing memories of the memory device | |
JPS5844263B2 (en) | memory control circuit | |
US5530818A (en) | Semiconductor integrated circuit device for optionally selecting the correspondence between a chip-select signal and address space | |
JP2568017B2 (en) | Microprocessor and data processing system using the same | |
US20020188771A1 (en) | Direct memory access controller for carrying out data transfer by determining whether or not burst access can be utilized in an external bus and access control method thereof | |
KR100441996B1 (en) | Direct Memory Access(DMA) Controller and control method | |
JPH0449442A (en) | Memory block control unit | |
KR950001929B1 (en) | Interrepeat control device and its method of multi-stage tx/rx data | |
JPH0728990A (en) | Graphic memory access circuit | |
JPH08314797A (en) | Memory access system |