[go: up one dir, main page]

JPH09171484A - Memory control system - Google Patents

Memory control system

Info

Publication number
JPH09171484A
JPH09171484A JP7331862A JP33186295A JPH09171484A JP H09171484 A JPH09171484 A JP H09171484A JP 7331862 A JP7331862 A JP 7331862A JP 33186295 A JP33186295 A JP 33186295A JP H09171484 A JPH09171484 A JP H09171484A
Authority
JP
Japan
Prior art keywords
memory
address
page
dram
access
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.)
Granted
Application number
JP7331862A
Other languages
Japanese (ja)
Other versions
JP3614956B2 (en
Inventor
Nobutaka Nakamura
伸隆 中村
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP33186295A priority Critical patent/JP3614956B2/en
Publication of JPH09171484A publication Critical patent/JPH09171484A/en
Application granted granted Critical
Publication of JP3614956B2 publication Critical patent/JP3614956B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Dram (AREA)

Abstract

PROBLEM TO BE SOLVED: To accelerate the memory access speed so as to judge page hit at a high speed. SOLUTION: While using not a DRAM logic address but a CPU address, a page hit judgement circuit 126 judges whether the memory access of this time is performed to the same bank and the same page as the memory access of the last time or not. The CPU address can be utilized for judging the page hit since the unit of address translation from the CPU address to the DRAM logic address due to an address translation circuit 121 is set to the value higher than the page size of DRAM bank. Thus, the address translating operation and the page hit judging operation can be parallelly performed so that the page hit can be judging at a high speed and the memory access speed can be accelerated.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】この発明はメモリ制御システ
ムに関し、特にパーソナルコンピュータのメインメモリ
として使用されるDRAMバンクを効率良くアクセスす
るための改良がなされたメモリ制御システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory control system, and more particularly to an improved memory control system for efficiently accessing a DRAM bank used as a main memory of a personal computer.

【0002】[0002]

【従来の技術】近年、携行が容易でバッテリにより動作
可能なノートブックタイプまたはラップトップタイプの
ポータブルパーソナルコンピュータが種々開発されてい
る。この種のパーソナルコンピュータにおいては動作速
度の高速化が望まれており、最近では、大規模なキャッ
シュを内蔵する高性能マイクロプロセッサがCPUとし
て使用され始めている。
2. Description of the Related Art In recent years, various notebook-type or laptop-type portable personal computers which are easy to carry and can be operated by a battery have been developed. In this type of personal computer, it is desired to increase the operating speed, and recently, a high-performance microprocessor incorporating a large-scale cache has begun to be used as a CPU.

【0003】キャッシュ内蔵のマイクロプロセッサをC
PUとして使用した場合には、メインメモリのアクセス
回数を減らすことができ、ある程度はシステム動作性能
の向上を図ることができる。
A microprocessor with a built-in cache is a C
When used as a PU, the number of accesses to the main memory can be reduced, and the system operation performance can be improved to some extent.

【0004】しかしながら、CPUがキャッシュを内蔵
していてもメインメモリに対するアクセスが無くなるわ
けではなく、キャッシュミスが発生したときには、CP
Uがメインメモリに対してメモリリード/ライトサイク
ルを実行することが必要とされる。このため、実際に
は、システム性能を向上させるためには、CPUによる
メモリリード/メモリライトサイクルの実行速度を早め
ることが必要不可欠となる。
However, even if the CPU has a built-in cache, access to the main memory is not lost, and when a cache miss occurs, the CP
It is required that U perform a memory read / write cycle to main memory. Therefore, in actuality, in order to improve the system performance, it is indispensable to increase the execution speed of the memory read / memory write cycle by the CPU.

【0005】パーソナルコンピュータのメインメモリと
しては、通常、ダイナミックRAM(DRAM)が使用
されている。DRAMは、スタテッィクRAM(SRA
M)に比べて低コストである反面、アクセス速度が遅い
という特徴を持つ。この問題を解決するため、最近では
DRAMチップ自体の改良などの半導体技術レベルでの
改善に加え、ページモードアクセスやインタリーブ制御
などの採用によるメモリアーキテクチャレベルでの改善
も進められている。
A dynamic RAM (DRAM) is usually used as a main memory of a personal computer. DRAM is a static RAM (SRA
Compared with M), the cost is lower, but the access speed is slower. In order to solve this problem, recently, in addition to the improvement on the semiconductor technology level such as the improvement of the DRAM chip itself, the improvement on the memory architecture level by adopting the page mode access and the interleave control has been promoted.

【0006】これらページモードアクセスやインタリー
ブ制御を行うために、メモリ制御システムには、通常、
ページヒット判定を行うためのロジックが組み込まれて
いる。ページヒット判定というのは、DRAMのページ
モードアクセス方式において、CPUが発生するメモリ
アクセスのアドレスが、直前に行われたアクセスと同一
DRAMバンクの同一ページで得るかどうかを判定する
ことである。同一ページであれば、RAS(ロウアドレ
スストローブ)の出し直しを必要としない高速アクセス
が可能となる。
In order to perform the page mode access and the interleave control, the memory control system is usually provided with
Built-in logic for determining page hits. The page hit determination is to determine whether or not the address of the memory access generated by the CPU can be obtained in the same page of the same DRAM bank as the access performed immediately before in the page mode access method of the DRAM. If the same page, high-speed access that does not require re-issuance of RAS (row address strobe) is possible.

【0007】従来のメモリ制御システムでは、まず、C
PUアドレスからDRAM論理アドレスへの変換が行わ
れ、次いで、アクセスすべきDRAMバンクの選択が行
われて、その選択されたDRAMバンクが直前にアクセ
スされたDRAMバンクと同一であるか否かがRASデ
コーダによって調べられる。同一バンクであれば、選択
されたDRAMバンクへのロウアドレスと直前のアクセ
スのロウアドレスとがページヒット判定回路によって比
較されて、ページヒット判定が行われる。
In the conventional memory control system, first, C
A PU address to DRAM logical address conversion is performed, then a DRAM bank to be accessed is selected, and whether or not the selected DRAM bank is the same as the previously accessed DRAM bank is determined by RAS. Looked up by the decoder. In the case of the same bank, the row address to the selected DRAM bank and the row address of the immediately preceding access are compared by the page hit determination circuit to make a page hit determination.

【0008】[0008]

【発明が解決しようとする課題】このように、従来で
は、ページヒット判定が行われる前に、アドレス変換、
RASデコードといった処理が必要となり、結果とし
て、ページヒット判定に時間がかかるという問題があ
る。このため、ページヒットした場合であっても、ウエ
イトサイクルが必要となり、十分な高速アクセスを実現
することができなかった。
As described above, in the prior art, address translation, before page hit determination is performed,
Processing such as RAS decoding is necessary, and as a result, there is a problem that it takes time to determine a page hit. Therefore, even if the page is hit, a wait cycle is required, and it is impossible to realize a sufficiently high speed access.

【0009】この発明はこのような点に鑑みてなされた
もので、ページヒット判定を高速に実行できるように
し、メモリアクセス速度の高速化を実現することができ
るメモリ制御システムを提供することを目的とする。
The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a memory control system capable of executing page hit determination at high speed and realizing high speed memory access. And

【0010】[0010]

【課題を解決するための手段】この発明によるメモリ制
御システムは、複数のRAS信号がそれぞれ割り当てら
れ、互いに独立してアクセス可能な複数のDRAMバン
クと、これらDRAMバンクのページサイズ以上の変換
単位で、CPUからのメモリアドレスを、前記複数のD
RAMバンクに連続して割り当てられたDRAM論理ア
ドレスに変換するアドレス変換手段と、前回のメモリア
クセス時におけるCPUからのメモリアドレスを保持
し、そのメモリアドレスと今回のメモリアクセス時にお
けるCPUからのメモリアドレスとを比較し、一致した
時に今回のメモリアクセスが前回のメモリアクセスと同
一バンク且つ同一ページであることを示すページヒット
信号を出力するページヒット判定手段と、前記アドレス
変換手段から出力されるDRAM論理アドレスをデコー
ドして、どのDRAMバンクのRAS信号を出力するか
を決定するRASデコーダであって、前記ぺージヒット
信号が出力された時、DRAMページモードアクセスの
ためのRAS信号出力制御を行うRASデコーダとを具
備することを特徴する。
A memory control system according to the present invention comprises a plurality of DRAM banks to which a plurality of RAS signals are assigned and which can be accessed independently of each other, and a conversion unit which is larger than the page size of these DRAM banks. , The memory address from the CPU to the plurality of D
Address conversion means for converting to a DRAM logical address continuously assigned to the RAM bank and a memory address from the CPU at the time of the previous memory access are held, and the memory address and the memory address from the CPU at the time of this memory access And a page hit determination unit that outputs a page hit signal indicating that the current memory access is in the same bank and the same page as the previous memory access when they match, and the DRAM logic output from the address conversion unit. A RAS decoder that decodes an address and determines which RAS signal of the DRAM bank is to be output, wherein the RAS decoder performs RAS signal output control for DRAM page mode access when the page hit signal is output. And is equipped with .

【0011】このメモリ制御システムにおいては、ペー
ジヒット判定手段により、DRAM論理アドレスではな
く、CPUアドレスを用いて、今回のメモリアクセスが
前回のメモリアクセスと同一バンク且つ同一ページであ
るか否かを判定するページヒット判定が行われる。ペー
ジヒット判定にCPUアドレスを利用することができる
のは、CPUアドレスからDRAM論理アドレスへのア
ドレス変換の単位がDRAMバンクのページサイズ以上
の値に設定されているからである。これにより、DRA
M論理アドレスが前回と今回のアクセスとで同一ページ
を指定しているにもかかわらず、CPUアドレスが異な
るページを指定することがなくなる。よって、アドレス
変換動作とページヒット判定動作とを並行して行うこと
が可能となり、ページヒット判定を高速に行うことがで
き、メモリアクセス速度の高速化を実現することができ
る。
In this memory control system, the page hit determination means determines whether the current memory access is in the same bank and the same page as the previous memory access by using the CPU address instead of the DRAM logical address. A page hit decision is made. The CPU address can be used for the page hit determination because the unit of address conversion from the CPU address to the DRAM logical address is set to a value equal to or larger than the page size of the DRAM bank. As a result, DRA
Even if the M logical address specifies the same page between the previous access and the current access, the pages with different CPU addresses are not specified. Therefore, the address translation operation and the page hit determination operation can be performed in parallel, the page hit determination can be performed at high speed, and the memory access speed can be increased.

【0012】また、前記ページヒット判定手段は、前回
のメモリアクセス時におけるCPUからのメモリアドレ
スと一緒にそのメモリアドレスに対応するメモリアドレ
スエリアの前記メモリ属性情報がライトアクセスとリー
ドアクセスとで異なるメモリデバイスを指定しているか
否かを示す情報とそのときのメモリアクセスがライトア
クセスとリードアクセスのいずれであるかを示すサイク
ル種別情報を保持し、ライトアクセスとリードアクセス
とでアクセス対象のメモリデバイスが異なるときは、保
持されているメモリアドレスと今回のメモリアクセス時
におけるCPUからのメモリアドレスとが一致し、且つ
保持されている前記サイクル種別情報と今回のメモリア
クセスのサイクル種別との一致を条件に、前記ページヒ
ット信号を出力するように構成することが好ましい。
Further, the page hit determination means is a memory in which the memory address from the CPU at the time of the previous memory access and the memory attribute information of the memory address area corresponding to the memory address are different between the write access and the read access. Information indicating whether or not a device is specified and cycle type information indicating whether the memory access at that time is a write access or a read access are held, and the memory device to be accessed is determined by the write access and the read access. If they are different, the held memory address and the memory address from the CPU at the time of the current memory access match, and the held cycle type information and the cycle type of the current memory access match. Output the page hit signal It is preferably configured to.

【0013】これにより、ライトアクセスとリードアク
セスとでアクセス対象のメモリデバイスが異なるときで
あっても、メモリ属性を高速に決定できるようになり、
高速なページヒット判定を生かした高速メモリアクセス
が可能になる。
As a result, the memory attribute can be determined at high speed even when the memory device to be accessed differs between write access and read access.
High-speed memory access that makes use of high-speed page hit determination is possible.

【0014】さらに、メモリ属性情報として、ライトプ
ロテクトがなされているか否かを示すライトプロテクト
情報とキャッシュメモリを使用したキャッシング操作が
有効か否かを示すキャッシュ情報とをページヒット判定
手段にメモリアドレスと一緒に保持しておくことによ
り、次に実行すべきサイクルを効率よく決定することが
できる。
Further, as the memory attribute information, write protection information indicating whether or not write protection is performed and cache information indicating whether or not the caching operation using the cache memory is effective are used as a memory address by the page hit determination means. By holding them together, the cycle to be executed next can be efficiently determined.

【0015】[0015]

【発明の実施の形態】以下、図面を参照してこの発明の
実施形態を説明する。図1には、この発明の一実施形態
に係るメモリ制御システムが適用されたコンピュータシ
ステムが示されている。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 shows a computer system to which a memory control system according to an embodiment of the present invention is applied.

【0016】このコンピュータシステムはノートブック
タイプまたはラップトップタイプのポータブルパーソナ
ルコンピュータを実現するためのものであり、システム
ボード10上には、図示のように、CPU11、システ
ムコントローラ12、システムメモリ13、BIOS
ROM14、リアルタイムクロック(RTC)15、割
り込みコントローラ(PIC)16、キーボードコント
ローラ(KBC)17、ディスプレイコントローラ18
などが実装されている。
This computer system is for realizing a notebook type or laptop type portable personal computer, and a CPU 11, a system controller 12, a system memory 13 and a BIOS are mounted on a system board 10 as shown in the figure.
ROM 14, real-time clock (RTC) 15, interrupt controller (PIC) 16, keyboard controller (KBC) 17, display controller 18
Etc. have been implemented.

【0017】また、システムボード10上には、CPU
ローカルバス(プロセッサバスと称する場合もある)3
1、ISA/EISA/PCIなどの仕様を持つシステ
ムバス32、およびメモリアドレスバス33などが配設
されている。
The system board 10 has a CPU
Local bus (sometimes called processor bus) 3
1, a system bus 32 having specifications such as ISA / EISA / PCI, and a memory address bus 33 are provided.

【0018】さらに、このシステムには、増設メモリを
接続するための2つの拡張用メモリコネクタ21,22
が設けられている。図1においては、拡張メモリコネク
タ21,22にそれぞれ増設メモリ41,42が接続さ
れている状態が示されている。
Further, this system has two expansion memory connectors 21 and 22 for connecting expansion memories.
Is provided. FIG. 1 shows a state in which the expansion memories 41 and 42 are connected to the expansion memory connectors 21 and 22, respectively.

【0019】増設メモリ41,42は、システムメモリ
サイズを拡張するためにユーザによって必要に応じて装
着されるオプションメモリであり、例えばDRAMカー
ドや、DIMMまたはSIMMメモリモジュールなどか
ら構成されている。これら増設メモリは、通常、1以上
のDRAMバンクから構成されている。
The additional memories 41 and 42 are optional memories that are installed by the user as needed to expand the system memory size, and are composed of, for example, a DRAM card, DIMM or SIMM memory module. These additional memories are usually composed of one or more DRAM banks.

【0020】CPU11は、大規模なキャッシュメモリ
を内蔵したマイクロプロセッサであり、CPUローカル
バス31を介してシステムコントローラ12に接続され
ている。CPUローカルバス31は、CPU11を構成
するマイクロプロセッサの入出力ピンに直接繋がる信号
群である。ここには、32ビットデータバス、32ビッ
トアドレスバス、および各種ステータス信号線などが含
まれている。
The CPU 11 is a microprocessor incorporating a large-scale cache memory, and is connected to the system controller 12 via a CPU local bus 31. The CPU local bus 31 is a group of signals directly connected to the input / output pins of the microprocessor forming the CPU 11. This includes a 32-bit data bus, a 32-bit address bus, various status signal lines and the like.

【0021】システムコントローラ12は、CPUロー
カルバス31とシステムバス32との間に接続されてお
り、CPU11からの要求に応じてシステム内の全ての
メモリおよびI/Oデバイスを制御する。このシステム
コントローラ12は、ゲートアレイによって構成された
1個のLSIによって実現されており、その中にはシス
テムメモリ13および増設メモリ41,42のDRAM
を制御するためのメモリ制御ロジロックが組み込まれて
いる。
The system controller 12 is connected between the CPU local bus 31 and the system bus 32, and controls all the memories and I / O devices in the system in response to a request from the CPU 11. The system controller 12 is realized by a single LSI composed of a gate array, in which the system memory 13 and the DRAMs of the expansion memories 41 and 42 are included.
A memory control logic lock is built in to control the.

【0022】システムメモリ13は、このシステムのメ
インメモリとして使用されるものであり、通常、1以上
のDRAMバンクから構成されている。このシステムメ
モリ13には、オペレーティングシステム、実行対象の
アプリケーションプログラム、および各種処理データな
どが格納される。
The system memory 13 is used as a main memory of this system, and is usually composed of one or more DRAM banks. The system memory 13 stores an operating system, application programs to be executed, various processing data, and the like.

【0023】システムメモリ13は、所定のコネクタを
介してまたは直接にシステムボード10上に実装されて
いる。システムメモリ13は32ビットのメモリデバイ
スであり、そのデータポートはCPUローカルバス31
の32ビットデータバスに接続され、また、アドレス入
力ポートはメモリアドレスバス33に接続されている。
メモリアドレスバス33はDRAM専用のアドレスバス
であり、このメモリアドレスバス33上にはDRAMの
物理アドレス(ロウアドレス/カラムアドレス)がシス
テムコントローラ12から出力される。
The system memory 13 is mounted on the system board 10 via a predetermined connector or directly. The system memory 13 is a 32-bit memory device, and its data port is a CPU local bus 31.
32 bit data bus, and the address input port is connected to the memory address bus 33.
The memory address bus 33 is an address bus dedicated to DRAM, and the physical address (row address / column address) of the DRAM is output from the system controller 12 onto this memory address bus 33.

【0024】同様に、増設メモリ41,42もそれぞれ
32ビットのメモリデバイスであり、対応するコネクタ
21,22を介してそのデータポートがCPUローカル
バス31の32ビットデータバスに接続され、アドレス
入力ポートがメモリアドレスバス33に接続されてい
る。
Similarly, the expansion memories 41 and 42 are also 32-bit memory devices, and their data ports are connected to the 32-bit data bus of the CPU local bus 31 via the corresponding connectors 21 and 22, and the address input ports are provided. Are connected to the memory address bus 33.

【0025】また、システムメモリ13には2本のロウ
アドレスストローブ信号線(RAS線:RAS0、RA
S1)が接続されている。同様に、拡張メモリコネクタ
21には別の2本のロウアドレスストローブ信号線(R
AS線:RAS2、RAS3)が接続され、拡張メモリ
コネクタ22にも、別の2本のロウアドレスストローブ
信号線(RAS線:RAS4、RAS5)が接続されて
いる。
The system memory 13 has two row address strobe signal lines (RAS lines: RAS0, RA).
S1) is connected. Similarly, another two row address strobe signal lines (R
AS lines: RAS2, RAS3) are connected, and the extended memory connector 22 is also connected with another two row address strobe signal lines (RAS lines: RAS4, RAS5).

【0026】さらに、システムメモリ13および増設メ
モリ41,42には、カラムアドレスストローブ信号線
(CAS線)、および他の各種制御信号線(ライトイネ
ーブル信号線WE、アウトプットイネーブル信号線OE
など)がそれぞれ共通接続されている。
Further, in the system memory 13 and the expansion memories 41 and 42, a column address strobe signal line (CAS line) and other various control signal lines (write enable signal line WE, output enable signal line OE) are provided.
Etc.) are commonly connected.

【0027】システムメモリ13および増設メモリ4
1,42内の全てのDRAMバンクは、CPU11のD
RAM用メモリアドレス空間に配置される。このシステ
ムにおいては、各RAS線のデコード条件の簡単化、お
よびインタリーブアーキチャを最大限有効利用するため
に、それらDRAMバンクはメモリサイズの大きなもの
程若いアドレスの方に配置される。
System memory 13 and additional memory 4
All DRAM banks in 1, 42 are D of CPU11.
It is located in the RAM memory address space. In this system, in order to simplify the decoding condition of each RAS line and to make the best use of the interleave architecture, those DRAM banks are arranged at the smaller addresses in the larger memory size.

【0028】システムメモリ13および増設メモリ4
1,42のリード/ライトアクセス制御においては、R
AS線(RAS0〜RAS5)の1つがアクティブ状態
に設定され、そのアクティブ状態のRAS線に接続され
たDRAMバンクがアクセス対象のDRAMバンクとし
て選択される。このようなRAS線の付勢制御は、シス
テムコントローラ12のメモリ制御ロジックによって実
行される。
System memory 13 and additional memory 4
In the read / write access control of 1, 42, R
One of the AS lines (RAS0 to RAS5) is set to the active state, and the DRAM bank connected to the active RAS line is selected as the DRAM bank to be accessed. Such energization control of the RAS line is executed by the memory control logic of the system controller 12.

【0029】図2には、メモリ制御ロジックの構成が示
されている。
FIG. 2 shows the structure of the memory control logic.

【0030】メモリ制御ロジロック120は、DRAM
のページモードアクセスおよびページインタリーブをサ
ポートするハードウェアロジックであり、アドレス変換
回路121、RASデコーダ122、ロウアドレス/カ
ラムアドレスマルチプレクサ123、CAS発生回路1
24、タイミング制御回路125、およびページヒット
判定回路126を有している。
The memory control logic lock 120 is a DRAM.
Of the address conversion circuit 121, the RAS decoder 122, the row address / column address multiplexer 123, and the CAS generation circuit 1.
24, a timing control circuit 125, and a page hit determination circuit 126.

【0031】アドレス変換回路121は、CPUアドレ
ス(A31:02)をDRAM論理アドレス(MA3
1:02)に変換する。この変換は、CPU11のメモ
リアドレス空間に分散配置されている複数のDRAMメ
モリエリアをDRAMアクセス専用の論理アドレス空間
に連続的に割り付けるために行われる。このアドレス変
換動作の一例を図3に示す。
The address conversion circuit 121 converts the CPU address (A31: 02) into the DRAM logical address (MA3).
1:02). This conversion is performed in order to continuously allocate a plurality of DRAM memory areas distributed in the memory address space of the CPU 11 to the logical address space dedicated to DRAM access. An example of this address conversion operation is shown in FIG.

【0032】すなわち、図3(A)に示されているよう
に、CPU11のメモリアドレス空間には、通常、シス
テムメモリエリアやPMメモリエリアのようなDRAM
エリアの他に、ビデオRAM、BIOS ROM、およ
び各種オプションROMなどを配置するための予約領域
(0A0000H〜0C0000H)が確保されてい
る。アドレス変換回路121は、このようなCPUメモ
リマップに応じて、予約領域の直前および直後のDRA
Mエリアのアドレスが連続するようにアドレス変換を行
う。
That is, as shown in FIG. 3A, the memory address space of the CPU 11 is usually a DRAM such as a system memory area or a PM memory area.
In addition to the area, a reserved area (0A0000H to 0C0000H) for allocating a video RAM, a BIOS ROM, various option ROMs, and the like is secured. The address conversion circuit 121 determines the DRA immediately before and after the reserved area according to the CPU memory map.
Address conversion is performed so that addresses in the M area are continuous.

【0033】また、BIOS ROMに格納されたVG
A BIOSやシステムBIOSなどをDRAMにコピ
ーして使用する場合には、図3(B)に示されているよ
うに、予約領域のVGA BIOSエリアおよびシステ
ムBIOSエリアに割り当てられたCPUアドレスも、
DRAM論理アドレスに変換される。さらに、システム
マネージメントモード(SMM)を有するCPUの場合
には、そのSMMの中でのみ使用されるSMRAMエリ
アに割り当てられたCPUアドレスもDRAM論理アド
レスに変換される。
In addition, the VG stored in the BIOS ROM
When A BIOS, system BIOS, etc. are copied to the DRAM and used, as shown in FIG. 3B, the CPU addresses assigned to the VGA BIOS area and the system BIOS area of the reserved area are also
Converted to DRAM logical address. Further, in the case of the CPU having the system management mode (SMM), the CPU address assigned to the SMRAM area used only in the SMM is also converted into the DRAM logical address.

【0034】このようなCPUアドレスからDRAM論
理アドレスへの変換は、例えば16Kバイト単位で行わ
れる。このため、DRAM論理アドレスの下位ビット部
(MA13:02)は、アドレス変換後においても、C
PUアドレスの下位ビット部(A13:02)と等し
い。
The conversion from the CPU address to the DRAM logical address is performed in units of 16 Kbytes, for example. Therefore, the lower bit part (MA13: 02) of the DRAM logical address is C even after the address conversion.
It is equal to the lower bit part (A13: 02) of the PU address.

【0035】アドレス変換回路121によって得られた
DRAM論理アドレス(MA31:02)は、システム
内のDRAMバンクをアドレッシングするために使用さ
れる。
The DRAM logical address (MA31: 02) obtained by the address conversion circuit 121 is used for addressing a DRAM bank in the system.

【0036】RASデコーダ122は、その内部レジス
タにセットされたRAS0〜RAS5それぞれのデコー
ド条件に従ってDRAM論理アドレス(MA31:0
2)をデコードし、RAS0〜RAS5線の中でそのD
RAM論理アドレスが満たすデコード条件を持つRAS
線を選択してそれをアクティブにする。RAS線をアク
ティブにするタイミングなどは、タイミング制御回路1
25からのタイミング制御信号CONT1によって制御
される。
The RAS decoder 122 has a DRAM logical address (MA31: 0) according to the decoding conditions of RAS0 to RAS5 set in its internal register.
2) is decoded and its D is detected in the RAS0 to RAS5 lines.
RAS having a decoding condition satisfied by the RAM logical address
Select a line to activate it. The timing control circuit 1 determines the timing of activating the RAS line.
It is controlled by the timing control signal CONT1 from 25.

【0037】このRASデコーダ122のデコード動作
は、各RAS線のデコード条件とDRAM論理アドレス
との一致/不一致を検出する事のみによって行うことが
できる。RAS0〜RAS5線それぞれのデコード条件
がどのように決定されるかについては、図3以降で詳述
する。
The decoding operation of the RAS decoder 122 can be performed only by detecting the match / mismatch between the decode condition of each RAS line and the DRAM logical address. How the decoding conditions of the RAS0 to RAS5 lines are determined will be described in detail with reference to FIG.

【0038】ロウアドレス/カラムアドレスマルチプレ
クサ123は、DRAM論理アドレス(MA31:0
2)を、アクセス対象DRAMバンクをアドレッシング
するためのロウアドレス(RA)とカラムアドレス(C
A)に分解する。このロウアドレス/カラムアドレスマ
ルチプレクサ123の内部レジスタには、各DRAMバ
ンクのロウアドレス(RA)の開始ビット位置を示す制
御パラメタが予めセットされている。ロウアドレス(R
A)とカラムアドレス(CA)に分解する動作は、アク
セス対象DRAMバンクに対応する制御パラメタに従っ
て行われる。
The row address / column address multiplexer 123 has a DRAM logical address (MA31: 0).
2) is a row address (RA) and a column address (C) for addressing the DRAM bank to be accessed.
Decomposes into A). A control parameter indicating the start bit position of the row address (RA) of each DRAM bank is preset in the internal register of the row address / column address multiplexer 123. Row address (R
The operation of decomposing into A) and the column address (CA) is performed according to the control parameter corresponding to the DRAM bank to be accessed.

【0039】ロウアドレス(RA)およびカラムアドレ
ス(CA)は、メモリバス33上に時分割的に出力され
る。この出力タイミングは、タイミング制御回路125
からのタイミング制御信号CONT2によって制御され
る。
The row address (RA) and the column address (CA) are output on the memory bus 33 in a time division manner. This output timing is the timing control circuit 125.
Is controlled by the timing control signal CONT2.

【0040】CAS発生回路124は、タイミング制御
回路125からのタイミング制御信号CONT3に従っ
て、CAS線の付勢を制御する。
The CAS generation circuit 124 controls the energization of the CAS line according to the timing control signal CONT3 from the timing control circuit 125.

【0041】タイミンク制御回路125は、前述のタイ
ミング制御信号CONT1〜CONT3を発生すること
によって、RASデコーダ122、ロウアドレス/カラ
ムアドレスマルチプレクサ123、およびCAS発生回
路124の動作を制御する。タイミング制御信号の発生
動作は、ページヒット判定回路126からのページヒッ
ト信号HITなどによって制御される。
The timing control circuit 125 controls the operations of the RAS decoder 122, the row address / column address multiplexer 123, and the CAS generation circuit 124 by generating the timing control signals CONT1 to CONT3 described above. The operation of generating the timing control signal is controlled by the page hit signal HIT from the page hit determination circuit 126.

【0042】ページヒット判定回路126は、前回のD
RAMアクセス時のCPUアドレスをページヒート判定
用CPUアドレスとして保持しており、そのCPUアド
レスと次回のDRAMアクセス時のCPUアドレスとを
比較することによって、ページヒットの有無を判定す
る。ここで、ページヒットとは、次回のDRAMアクセ
スが前回と同一のDRAMバンク内の同一ページをアク
セスすることをいう。ページヒットしたことが判定され
ると、このことがページヒット信号HITによって、タ
イミング制御回路125に通知される。
The page hit determination circuit 126 uses the previous D
The CPU address at the time of RAM access is held as a page heat determination CPU address, and the presence or absence of a page hit is determined by comparing the CPU address with the CPU address at the time of the next DRAM access. Here, the page hit means that the next DRAM access accesses the same page in the same DRAM bank as the previous time. When it is determined that a page hit has occurred, this is notified to the timing control circuit 125 by a page hit signal HIT.

【0043】このように、ページヒットの判定動作は、
DRAM論理アドレスではなく、CPUアドレスの値に
基づいて行われる。これにより、アドレス変換動作とペ
ージヒット判定動作とを並行して行うことが可能とな
る。ページヒット判定にCPUアドレスを利用すること
ができるのは、CPUアドレスからDRAM論理アドレ
スへのアドレス変換の単位(16Kバイト)がDRAM
バンクのページサイズ(最大4Kバイト程度)よりも大
きな値に設定されているからである。これにより、DR
AM論理アドレスが前回と今回のアクセスとで同一ペー
ジを指定しているにもかかわらず、CPUアドレスが異
なるページを指定することがなくなる。
As described above, the page hit determination operation is
This is done based on the value of the CPU address, not the DRAM logical address. This makes it possible to perform the address translation operation and the page hit determination operation in parallel. The CPU address can be used for page hit determination because the unit of address conversion from the CPU address to the DRAM logical address (16K bytes) is DRAM.
This is because it is set to a value larger than the page size of the bank (up to about 4 Kbytes). This makes DR
Even if the AM logical address specifies the same page for the previous access and the current access, the page with different CPU addresses will not be specified.

【0044】ページヒットの判定には、CPUアドレス
(A31:02)の中でカラムアドレス以降の全上位ア
ドレスが使用される。従来方式では、DRAMアクセス
か否かの判定、DRAMアクセスナラバソノバンクを決
定するために使用されていたアドレスを含む。
To determine a page hit, all upper addresses after the column address in the CPU address (A31: 02) are used. In the conventional method, the address used for determining whether or not the DRAM is accessed and for determining the DRAM access narrative bank is included.

【0045】カラムアドレスのビット数、つまりページ
サイズはアクセス対象のDRAMバンク毎に異なる。こ
のため、ページヒット判定回路126の内部レジスタに
もページヒット判定に使用すべきビットをRAS線毎に
指定する制御パラメタが予めセットされており、アクセ
ス対象DRAMバンクに対応する制御パラメタに従って
ページヒットの判定が行われる。
The number of bits of the column address, that is, the page size is different for each DRAM bank to be accessed. Therefore, a control parameter for designating a bit to be used for page hit determination for each RAS line is set in advance in the internal register of the page hit determination circuit 126, and the page hit determination is performed according to the control parameter corresponding to the DRAM bank to be accessed. A decision is made.

【0046】このメモリ制御ロジック120によるDR
AM制御タイミングは、次の3つの状態に対応したサイ
クルタイミングに分類される。
DR by this memory control logic 120
The AM control timing is classified into cycle timings corresponding to the following three states.

【0047】(1)ページヒット これは、今回のDRAMアクセスが前回と同一のDRA
Mバンク内の同一ページをアクセスすることをいう。こ
の場合、DRAMバンクはページモードでアクセス制御
される。すなわち、カラムアドレスおよびCAS線の付
勢タイミングだけが制御され、RASデコーダ122に
よるRAS線の切り替えは行われない。また、前回のメ
モリサイクルが終了してもRAS線はアクティブ状態に
維持され続ける。
(1) Page hit This is because the DRAM access this time is the same as the previous DRA.
Accessing the same page in M bank. In this case, the DRAM bank is access controlled in page mode. That is, only the column address and the activation timing of the CAS line are controlled, and the RAS decoder 122 does not switch the RAS line. Further, the RAS line continues to be maintained in the active state even after the last memory cycle is completed.

【0048】(2)バンクミス これは、今回のDRAMアクセスが前回と異なるDRA
Mバンクをアクセスすることをいう。この場合、RAS
デコーダ122によるRAS線の切り替えが発生し、D
RAMバンクは通常のDRAMアクセスサイクルでアク
セスされる。また、ページヒット判定回路126に保持
されているページヒット判定用CPUアドレスの更新が
行われる。
(2) Bank miss This is because the DRAM access this time is different from the previous one.
It refers to accessing the M bank. In this case, RAS
Switching of the RAS line by the decoder 122 occurs, and D
The RAM bank is accessed in a normal DRAM access cycle. Further, the page hit determination CPU address held in the page hit determination circuit 126 is updated.

【0049】(3)ページミス これは、今回のDRAMアクセスが前回と同一のDRA
Mバンク内の異なるページをアクセスすることをいう。
この場合、RASデコーダ122によって前回と同一の
RAS線が再びアクティブ状態に設定し直され、DRA
Mバンクは通常のDRAMアクセスサイクルでアクセス
される。また、ページヒット判定回路126に保持され
ているページヒット判定用CPUアドレスの更新が行わ
れる。
(3) Page miss This is because the DRAM access this time is the same as the previous DRA access.
It refers to accessing different pages in M bank.
In this case, the RAS decoder 122 resets the same RAS line as the previous one to the active state again, and the DRA
The M bank is accessed in a normal DRAM access cycle. Further, the page hit determination CPU address held in the page hit determination circuit 126 is updated.

【0050】次に、図4乃至図6を参照して、RASデ
コーダ122に設定される各RAS線のデコード条件に
ついて説明する。
Next, the decoding conditions of each RAS line set in the RAS decoder 122 will be described with reference to FIGS. 4 to 6.

【0051】図4には、システム内のDRAMメモリマ
ップの一例が示されている。このDRAMメモリマップ
は、図1に示されているように、システムボード10上
にシステムメモリ13として2個の2MバイトDRAM
バンクが実装されており、拡張メモリコネクタ21の増
設メモリ41が1個の8MバイトDRAMバンクから構
成され、また拡張メモリコネクタ22の増設メモリ42
が2個の4MバイトDRAMバンクから構成されている
場合に対応するものである。
FIG. 4 shows an example of the DRAM memory map in the system. This DRAM memory map is, as shown in FIG. 1, two 2 Mbyte DRAMs as the system memory 13 on the system board 10.
The banks are mounted, the expansion memory 41 of the expansion memory connector 21 is composed of one 8 Mbyte DRAM bank, and the expansion memory 42 of the expansion memory connector 22 is
Corresponds to the case where it is composed of two 4 Mbyte DRAM banks.

【0052】この場合、これらDRAMバンクは、メモ
リサイズの大きいもの順、すなわち、図4のように、8
MバイトDRAMバンク、2個の4MバイトDRAMバ
ンク、2個の2MバイトDRAMバンクの順で、合計2
0MバイトのDRAM論理アドレス空間に配置される。
In this case, these DRAM banks are arranged in descending order of memory size, that is, as shown in FIG.
M-byte DRAM bank, 2 4 M-byte DRAM banks, 2 2 M-byte DRAM banks
It is placed in a 0 Mbyte DRAM logical address space.

【0053】このメモリ配置においては、8MバイトD
RAMバンクに対応するRAS2線には0〜8Mバイト
のアドレス範囲が割り当てられる。また、最初の4Mバ
イトDRAMバンクに対応するRAS4線には8〜12
Mバイトのアドレス範囲、次の4MバイトDRAMバン
クに対応するRAS5線には12〜16Mバイトのアド
レス範囲が割り当てられる。さらに、最初の2Mバイト
DRAMバンクに対応するRAS0線には16〜18M
バイトのアドレス範囲、次の2MバイトDRAMバンク
に対応するRAS1線には18〜20Mバイトのアドレ
ス範囲が割り当てられる。RAS3線は使用されないの
で、このRAS3線にはアドレス範囲は割り当てられな
い。
In this memory arrangement, 8 Mbyte D
An address range of 0 to 8 Mbytes is assigned to the RAS2 line corresponding to the RAM bank. In addition, the RAS4 line corresponding to the first 4 Mbyte DRAM bank has 8 to 12
An address range of M bytes and an address range of 12 to 16 Mbytes are assigned to the RAS5 line corresponding to the next 4 Mbyte DRAM bank. Furthermore, the RAS0 line corresponding to the first 2 Mbyte DRAM bank has 16 to 18 M
An address range of 18 to 20 Mbytes is assigned to the RAS1 line corresponding to the byte address range and the next 2 Mbyte DRAM bank. Since the RAS3 line is not used, no address range is assigned to this RAS3 line.

【0054】この時、RAS0〜RAS5線それぞれの
デコード条件は、図5のように決定される。
At this time, the decoding conditions of the RAS0 to RAS5 lines are determined as shown in FIG.

【0055】RAS0〜RAS5線それぞれのデコード
条件としては、各RAS線に割り当てられたアドレス範
囲に属する全てのDRAM論理アドレス値(MA31:
02)にのみ共通に存在するビット列が使用される。
As a decoding condition for each of the RAS0 to RAS5 lines, all the DRAM logical address values (MA31: which belong to the address range assigned to each RAS line are set).
The bit string that is commonly present only in 02) is used.

【0056】すなわち、RAS2線のデコード条件は、
DRAM論理アドレス値(MA31:02)の上位9ビ
ット(MA31〜23)=“0000 0000 0”
となる。DRAM論理アドレス値(MA31:02)の
下位21ビットは、RAS2線に接続された8Mバイト
DRAMバンクのロウアドレスおよびカラムアドレスと
して使用される。
That is, the decoding condition of the RAS2 line is
Upper 9 bits (MA31 to 23) of DRAM logical address value (MA31: 02) = “0000 0000 0”
Becomes The lower 21 bits of the DRAM logical address value (MA31: 02) are used as a row address and a column address of the 8-Mbyte DRAM bank connected to the RAS2 line.

【0057】また、RAS4線のデコード条件は、DR
AM論理アドレス値(MA31:02)の上位10ビッ
ト(MA31〜22)=“0000 0000 10”
となる。DRAM論理アドレス値(MA31:02)の
下位20ビットは、RAS4線に接続された4Mバイト
DRAMバンクのロウアドレスおよびカラムアドレスと
して使用される。
The decoding condition of the RAS4 line is DR
Upper 10 bits (MA31 to 22) of AM logical address value (MA31: 02) = “0000 0000 10”
Becomes The lower 20 bits of the DRAM logical address value (MA31: 02) are used as a row address and a column address of a 4 Mbyte DRAM bank connected to the RAS4 line.

【0058】RAS5線のデコード条件は、DRAM論
理アドレス値(MA31:02)の上位10ビット(M
A31〜22)=“0000 0000 11”とな
る。DRAM論理アドレス値(MA31:02)の下位
20ビットは、RAS5線に接続された4MバイトDR
AMバンクのロウアドレスおよびカラムアドレスとして
使用される。
The decode condition of the RAS5 line is that the upper 10 bits (M) of the DRAM logical address value (MA31: 02) are set.
A31 to 22) = “0000 0000 11”. The lower 20 bits of the DRAM logical address value (MA31: 02) are 4M bytes DR connected to the RAS5 line.
It is used as the row address and column address of the AM bank.

【0059】RAS0線のデコード条件は、DRAM論
理アドレス値(MA31:02)の上位11ビット(M
A31〜21)=“0000 0001 000”とな
る。DRAM論理アドレス値(MA31:02)の下位
19ビットは、RAS0線に接続された2MバイトDR
AMバンクのロウアドレスおよびカラムアドレスとして
使用される。
The decode condition of the RAS0 line is that the upper 11 bits (M) of the DRAM logical address value (MA31: 02).
A31 to 21) = “0000 0001 000”. The lower 19 bits of the DRAM logical address value (MA31: 02) are 2M bytes DR connected to the RAS0 line.
It is used as the row address and column address of the AM bank.

【0060】RAS1線のデコード条件は、DRAM論
理アドレス値(MA31:02)の上位11ビット(M
A31〜21)=“0000 0001 000”とな
る。DRAM論理アドレス値(MA31:02)の下位
19ビットは、RAS0線に接続された2MバイトDR
AMバンクのロウアドレスおよびカラムアドレスとして
使用される。
The decoding condition of the RAS1 line is that the upper 11 bits (M) of the DRAM logical address value (MA31: 02) are set.
A31 to 21) = “0000 0001 000”. The lower 19 bits of the DRAM logical address value (MA31: 02) are 2M bytes DR connected to the RAS0 line.
It is used as the row address and column address of the AM bank.

【0061】このように、各RAS線のデコード条件と
しては、各RAS線に対応するアドレス範囲に属する共
通ビット列が使用される。このため、前述のRASデコ
ーダ122は、DRAM論理アドレス値とデコード条件
との一致/不一致をRAS線毎に検出するだけで済み、
従来に比し、そのハードウェア構成を大幅に簡単化する
ことが可能となる。
As described above, the common bit string belonging to the address range corresponding to each RAS line is used as the decoding condition of each RAS line. Therefore, the RAS decoder 122 described above only needs to detect the match / mismatch between the DRAM logical address value and the decode condition for each RAS line.
The hardware configuration can be greatly simplified as compared with the conventional one.

【0062】次に、ページインタリーブアーキテクチャ
を採用する場合の各RAS線のデコード条件について説
明する。
Next, the decoding condition of each RAS line when the page interleave architecture is adopted will be described.

【0063】ページインタリーブを行う場合には、図4
のようにマッピングされた5つのDRAMバンクは、ペ
ージインタリーブ可能なバンクグループに分類される。
各バンクグループは、メモリアドレス範囲が隣接し且つ
合計メモリサイズが一致するバンクの組み合わせを含
む。このようなグループピングは、DRAM論理アドレ
スの若い方から順番に行われる。
When page interleaving is performed, FIG.
The five DRAM banks thus mapped are classified into bank groups capable of page interleaving.
Each bank group includes a combination of banks having adjacent memory address ranges and matching total memory sizes. Such grouping is performed in order from the smallest DRAM logical address.

【0064】すなわち、図4の例では、RAS2の8M
バイトDRAMバンクのアドレス範囲(0〜8Mバイ
ト)に後続するアドレス範囲に割り付けられた2個の4
MバイトDRAMバンクの合計メモリサイズが8Mバイ
トとなるので、RAS2、RAS4、RAS5に対応す
る3つのバンクによって1つのページインタリーブグル
ープが構成される。
That is, in the example of FIG. 4, 8M of RAS2
Two 4 allocated to the address range following the byte DRAM bank address range (0 to 8 Mbytes)
Since the total memory size of the M-byte DRAM bank is 8 M bytes, one page interleave group is formed by the three banks corresponding to RAS2, RAS4, and RAS5.

【0065】また、RAS0の2MバイトDRAMバン
クのアドレス範囲(16〜8Mバイト)に後続するアド
レス範囲にRAS1の2MバイトDRAMバンクが割り
付けられているので、RAS0、RAS1に対応する2
つのバンクによって別のページインタリーブグループが
構成される。
Since the 2-Mbyte DRAM bank of RAS1 is assigned to the address range subsequent to the address range of the 2-Mbyte DRAM bank of RAS0 (16 to 8 Mbytes), 2 corresponding to RAS0 and RAS1.
One bank constitutes another page interleave group.

【0066】この場合、各RAS線のデコード条件は図
5から図6のように変更される。
In this case, the decoding condition of each RAS line is changed as shown in FIGS.

【0067】すなわち、グループ1のRAS2,RAS
4,RAS5それぞれのデコード条件としては、グルー
プ1に割り当てられる合計16Mバイトのアドレス範囲
(0〜16Mバイト)に属する全てのDRAM論理アド
レス値(MA31:02)に共通に存在するビット列
と、RAS2,RAS4,RAS5それぞれに対応する
DRAMバンクのカラムアドレス(ページ内アドレス)
とロウアドレス(ページアドレス)の間のビット列とが
使用される。
That is, RAS2 and RAS of group 1
4 and RAS5, as a decoding condition, a bit string commonly present in all DRAM logical address values (MA31: 02) belonging to an address range of 16 Mbytes (0 to 16 Mbytes) assigned to group 1, RAS2, Column address of DRAM bank corresponding to RAS4 and RAS5 (in-page address)
And the bit string between the row address (page address) is used.

【0068】すなわち、図6のように、RAS2、RA
S4、およびRAS5に割り当てられる合計16Mバイ
トのアドレス範囲においては、DRAM論理アドレス値
(MA31:02)の上位8ビット(MA31〜24)
=“0000 0000”が共通して存在し、これはグ
ループ2には存在しない。したがって、(MA31〜2
4)=“0000 0000”は、RAS2、RAS
4、およびRAS5の共通のデコード条件として使用さ
れる。
That is, as shown in FIG. 6, RAS2, RA
In the total address range of 16 Mbytes allocated to S4 and RAS5, the upper 8 bits (MA31 to 24) of the DRAM logical address value (MA31: 02)
= “0000 0000” is commonly present and does not exist in group 2. Therefore, (MA31-2
4) = “0000 0000” means RAS2, RAS
4 and RAS5 are used as common decoding conditions.

【0069】RAS2については、DRAM論理アドレ
スにおけるロウアドレスの開始位置が1ビット左シフト
されて、RAS2に対応する8MバイトDRAMバンク
のロウアドレスとカラムアドレスとの間の1ビット(M
A12)=“0”がデコード条件として加えられる。
With respect to RAS2, the start position of the row address in the DRAM logical address is left shifted by 1 bit, and 1 bit (M bit) between the row address and the column address of the 8-Mbyte DRAM bank corresponding to RAS2 is shifted.
A12) = “0” is added as a decoding condition.

【0070】RAS4,RAS5それぞれについては、
DRAM論理アドレスにおけるロウアドレスの開始位置
が2ビット左シフトされて、それらに対応する4Mバイ
トDRAMバンクそれぞれのロウアドレスとカラムアド
レスの間の2ビット(MA13,12)の値がアドレス
条件として加えられる。2ビット使用されるのは、RA
S4,RAS5それぞれのメモリサイズが、RAS2の
メモリサイズの半分だからである。
For each of RAS4 and RAS5,
The starting position of the row address in the DRAM logical address is shifted to the left by 2 bits, and the value of 2 bits (MA13, 12) between the row address and the column address of each corresponding 4 Mbyte DRAM bank is added as an address condition. . 2 bits are used for RA
This is because the memory size of each of S4 and RAS5 is half the memory size of RAS2.

【0071】すなわち、RAS4については、そのRA
S4に対応する4MバイトDRAMバンクのロウアドレ
スとカラムアドレスの間の2ビット(MA13,12)
=“01”がデコード条件として加えられ、RAS5に
ついては、そのRAS5に対応する4MバイトDRAM
バンクのロウアドレスとカラムアドレスの間の2ビット
(MA13,12)=“11”がアドレス条件として加
えられる。
That is, for RAS4, its RA
2 bits between the row address and the column address of the 4-Mbyte DRAM bank corresponding to S4 (MA13, 12)
= “01” is added as a decoding condition, and for RAS5, a 4-Mbyte DRAM corresponding to that RAS5
2 bits (MA13, 12) = “11” between the row address and the column address of the bank are added as an address condition.

【0072】このようにRAS2,RAS4,RAS5
のデコード条件を決定すると、RAS2の8MバイトD
RAMバンクには0〜16Mバイトのアドレス範囲の中
の偶数ページ(0,2,4,6,……)が割り当てら
れ、RAS4の4MバイトDRAMバンクには0〜16
Mバイトのアドレス範囲の中の奇数ページの一部(1,
5,9,……)が割り当てられ、RAS5の4Mバイト
DRAMバンクには0〜16Mバイトのアドレス範囲の
中の残りの奇数ページ(3,7,11,……)が割り当
てられる。
In this way, RAS2, RAS4, RAS5
When the decoding conditions for RAS2 are determined, 8 Mbyte D of RAS2
Even pages (0, 2, 4, 6, ...) Within the address range of 0 to 16 Mbytes are allocated to the RAM bank, and 0 to 16 are allocated to the 4 Mbyte DRAM bank of RAS4.
Part of an odd-numbered page in the M-byte address range (1,
, 5), and the remaining odd pages (3, 7, 11, ...) In the address range of 0 to 16 Mbytes are assigned to the 4 Mbyte DRAM bank of RAS5.

【0073】したがって、0〜16Mバイトの範囲で連
続アクセスが行われる時には、RAS2、RAS4、R
AS2、RAS5、RAS2、……という順番で、3つ
のDRAMバンクがページ単位で交互にアクセスされ
る。
Therefore, when continuous access is performed in the range of 0 to 16 Mbytes, RAS2, RAS4, R
In the order of AS2, RAS5, RAS2, ..., Three DRAM banks are alternately accessed in page units.

【0074】一方、グループ2のRAS0,RAS1そ
れぞれのデコード条件は、次のようになる。
On the other hand, the decoding conditions of RAS0 and RAS1 of group 2 are as follows.

【0075】すなわち、RAS0,RAS1それぞれの
デコード条件としては、グループ2に割り当てられる合
計4Mバイトのアドレス範囲(16〜20Mバイト)に
属する全てのDRAM論理アドレス値(MA31:0
2)に共通に存在するビット列と、RAS0,RAS1
それぞれに対応するDRAMバンクのカラムアドレスと
ロウアドレスの間のビット列とが使用される。
That is, as the decoding conditions of RAS0 and RAS1, all DRAM logical address values (MA31: 0) belonging to the address range of 4 Mbytes (16 to 20 Mbytes) assigned to group 2 are assigned.
2) bit strings commonly present in RAS0 and RAS1
The column address and the bit string between the row addresses of the DRAM bank corresponding to each are used.

【0076】RAS0、RAS1に割り当てられる合計
4Mバイトのアドレス範囲においては、DRAM論理ア
ドレス値(MA31:02)の上位10ビット(MA3
1〜22)=“0000 0001 00”が共通して
存在し、これはグループ1には存在しない。したがっ
て、(MA31〜22)=“0000 0001 0
0”は、RAS0、RAS1の共通のデコード条件とし
て使用される。
In the total address range of 4 Mbytes allocated to RAS0 and RAS1, the upper 10 bits (MA3) of the DRAM logical address value (MA31: 02).
1 to 22) = “0000 0001 00” exist in common, and this does not exist in group 1. Therefore, (MA31-22) = “0000 0001 0
0 ″ is used as a common decoding condition for RAS0 and RAS1.

【0077】また、RAS0については、DRAM論理
アドレスにおけるロウアドレスの開始位置が1ビット左
シフトされて、RAS0に対応する2MバイトDRAM
バンクのロウアドレスとカラムアドレスとの間の1ビッ
ト(MA11)=“0”がデコード条件として加えられ
る。
As for RAS0, the starting position of the row address in the DRAM logical address is shifted left by 1 bit to generate a 2 Mbyte DRAM corresponding to RAS0.
One bit (MA11) = “0” between the row address and the column address of the bank is added as a decoding condition.

【0078】RAS1についても、DRAM論理アドレ
スにおけるロウアドレスの開始位置が1ビット左シフト
されて、それに対応する2MバイトDRAMバンクのロ
ウアドレスとカラムアドレスの間の1ビット(MA1
1)=“1”がデコード条件として加えられる。
Also for RAS1, the starting position of the row address in the DRAM logical address is shifted to the left by one bit, and the corresponding one bit (MA1
1) = “1” is added as a decoding condition.

【0079】このようにRAS0,RAS1のデコード
条件を決定すると、RAS0の2MバイトDRAMバン
クには16〜20Mバイトの4Mバイトのアドレス範囲
の中の偶数ページ(0,2,4,6,……)が割り当て
られ、RAS1の2MバイトDRAMバンクには奇数ペ
ージ(1,3,5,7,……)が割り当てられる。した
がって、16〜20Mバイトの範囲で連続アクセスが行
われる時には、RAS0、RAS1、RAS0、RAS
1、……という順番で、2つのDRAMバンクがページ
単位で交互にアクセスされる。
When the decoding conditions for RAS0 and RAS1 are determined in this way, even-numbered pages (0, 2, 4, 6, ...) In the 4 Mbyte address range of 16 to 20 Mbytes in the 2 Mbyte DRAM bank of RAS0 are determined. ) Is assigned, and odd-numbered pages (1, 3, 5, 7, ...) Are assigned to the 2-Mbyte DRAM bank of RAS1. Therefore, when continuous access is performed in the range of 16 to 20 Mbytes, RAS0, RAS1, RAS0, RAS
Two DRAM banks are alternately accessed page by page in the order of 1, ...

【0080】このように、ページインタリーブは、イン
タリーブグループのアドレス範囲に共通に存在するビッ
ト列と、ロウアドレスとカラムアドレスとの間の所定ビ
ット列とに基づいて各RASのデコード条件を決定し、
それをRASデコーダ122に設定するだけで実現する
事ができる。
As described above, the page interleaving determines the decoding condition of each RAS based on the bit string commonly existing in the address range of the interleave group and the predetermined bit string between the row address and the column address.
It can be realized only by setting it in the RAS decoder 122.

【0081】RASデコーダ122へのデコード条件の
設定などのメモリ制御ロジック120に対する初期設定
処理は、BIOS ROM14のIRTルーチンによっ
て実行される。
Initial setting processing for the memory control logic 120 such as setting of decoding conditions in the RAS decoder 122 is executed by the IRT routine of the BIOS ROM 14.

【0082】図7には、BIOSのIRTルーチンによ
って実行されるメモリ制御ロジック120に対する初期
設定動作の手順が示されている。
FIG. 7 shows the procedure of the initialization operation for the memory control logic 120 executed by the BIOS IRT routine.

【0083】システムがパワーオンされると、IRTル
ーチンは、まず、各DRAMバンクのメモリタイプ(カ
ラムアドレスおよびロウアドレスそれぞれのビット幅)
を調べ、そのメモリバンクタイプにしたがってメモリサ
イズを検出する(ステップS11)。カラムアドレスと
ロウアドレスそれぞれのビット幅は、テスト対象DRA
Mバンクのある特定のメモリ番地に対するライト・リー
ド・コンペアテストを実行することによって検出でき
る。
When the system is powered on, the IRT routine first executes the memory type of each DRAM bank (bit width of each column address and row address).
And the memory size is detected according to the memory bank type (step S11). The bit width of each of the column address and the row address is the DRA to be tested.
This can be detected by executing a write / read compare test for a specific memory address in the M bank.

【0084】このステップS11で行われるメモリサイ
ズ検出処理動作の詳細については、図8以降で後述す
る。
Details of the memory size detection processing operation performed in step S11 will be described later with reference to FIG.

【0085】次に、IRTルーチンは、システム内のD
RAMバンクのメモリ再配置を行う(ステップS1
2)。このメモリ再配置では、図4で説明したように、
メモリサイズの大きいDRAMバンクから順にメモリア
ドレス空間の若い方に配置され、その配置に従って各D
RAMバンクに割り当てるべきアドレス範囲が決定され
る。
Next, the IRT routine calls the DRT in the system.
The memory of the RAM bank is relocated (step S1)
2). In this memory relocation, as described in FIG.
The DRAM banks are arranged in descending order of memory size starting from the DRAM bank with the largest memory size, and each D
The address range to be assigned to the RAM bank is determined.

【0086】次いで、IRTルーチンは、図5で説明し
たように、DRAMバンクそれぞれに割り当てられたア
ドレス範囲毎にその範囲に属するDRAM論理アドレス
値にのみ共通に存在するビット列を検出し、その共通ビ
ット列をRAS線それぞれのデコード条件として決定す
る(ステップS13)。
Next, as described with reference to FIG. 5, the IRT routine detects, for each address range assigned to each DRAM bank, a bit string commonly present only in the DRAM logical address values belonging to that range, and the common bit string is detected. Is determined as a decoding condition for each RAS line (step S13).

【0087】ページインタリーブアーキテクチャを用い
ない場合には、IRTルーチンは、ステップS13で決
定した各RAS線のデコード条件を、そのままRASデ
コーダ122の内部レジスタにセットする(ステップS
17)。次いで、IRTルーチンは、ロウアドレス/カ
ラムアドレスマルチプレクサ123の内部レジスタにロ
ウアドレス開始位置をRAS線毎に指定する制御パラメ
タをセットし、またページヒット判定回路126の内部
レジスタにペ−ジヒット判定に使用するCPUアドレス
の位置をRAS線毎に指定する制御パラメタをセットす
る(ステップS18)。これら制御パラメタの値は、そ
れぞれステップS11で検出されたメモリバンクタイプ
に従って決定される。
When the page interleave architecture is not used, the IRT routine sets the decode condition of each RAS line determined in step S13 in the internal register of the RAS decoder 122 as it is (step S).
17). Next, the IRT routine sets a control parameter that specifies the row address start position for each RAS line in the internal register of the row address / column address multiplexer 123, and also uses it in the internal register of the page hit determination circuit 126 for page hit determination. A control parameter for specifying the CPU address position to be set for each RAS line is set (step S18). The values of these control parameters are determined according to the memory bank type detected in step S11.

【0088】一方、ページインタリーブアーキテクチャ
を採用する場合には、IRTルーチンは、ステップS1
2でメモリサイズ順に配置したDRAMマップに従っ
て、ページインタリーブ可能なグループを決定する(ス
テップS15)。次いで、IRTルーチンは、ページイ
ンタリーブグループのアドレス範囲に共通に存在するビ
ット列と、ロウアドレスとカラムアドレスとの間の所定
ビット列とに基づいて各RASのデコード条件を変更す
る(ステップS16)。
On the other hand, when the page interleave architecture is adopted, the IRT routine executes step S1.
A group capable of page interleaving is determined according to the DRAM map arranged in the memory size order in 2 (step S15). Next, the IRT routine changes the decoding condition of each RAS based on the bit string commonly existing in the address range of the page interleave group and the predetermined bit string between the row address and the column address (step S16).

【0089】この後、IRTルーチンは、ステップS1
6で決定した各RAS線のデコード条件を、RASデコ
ーダ122の内部レジスタにセットする(ステップS1
7)。次いで、IRTルーチンは、ロウアドレス/カラ
ムアドレスマルチプレクサ123の内部レジスタにロウ
アドレス開始位置をRAS線毎に指定する制御パラメタ
をセットし、またページヒット判定回路126の内部レ
ジスタにペ−ジヒット判定に使用するCPUアドレスの
位置をRAS線毎に指定する制御パラメタをセットする
(ステップS18)。ロウアドレス開始位置は、ステッ
プS11で検出されたメモリバンクタイプと、ページイ
ンターリーブのためのデコード条件として使用したロウ
アドレスとカラムアドレス間のビット数とに基づいて決
定される。また、ペ−ジヒット判定に使用するCPUア
ドレスの位置については、ステップS11で検出された
メモリバンクタイプに従って決定される。
After this, the IRT routine proceeds to step S1.
The decode condition of each RAS line determined in 6 is set in the internal register of the RAS decoder 122 (step S1).
7). Next, the IRT routine sets a control parameter that specifies the row address start position for each RAS line in the internal register of the row address / column address multiplexer 123, and also uses it in the internal register of the page hit determination circuit 126 for page hit determination. A control parameter for specifying the CPU address position to be set for each RAS line is set (step S18). The row address start position is determined based on the memory bank type detected in step S11 and the number of bits between the row address and the column address used as the decoding condition for page interleaving. The position of the CPU address used for the page hit determination is determined according to the memory bank type detected in step S11.

【0090】次に、図8乃至図12を参照して、DRA
Mバンクのメモリサイズ検出処理の原理を説明する。
Next, referring to FIGS. 8 to 12, the DRA
The principle of the memory size detection process for M banks will be described.

【0091】まず、図8を参照して、1本のRASでア
クセス制御可能なDRAMバンクの種類について説明す
る。DRAMバンクは、図示のように、タイプ1〜タイ
プ4の4つのバンクに大別される。
First, referring to FIG. 8, the types of DRAM banks whose access can be controlled by one RAS will be described. The DRAM banks are roughly classified into four banks of type 1 to type 4, as shown in the figure.

【0092】タイプ1のDRAMバンクは、2Mバイト
のメモリサイズを有する。このタイプ1のDRAMバン
クは、512K(1K行×512列)×8ビット構成の
4MビットDRAMチップを4個含んでおり、ロウアド
レスのビット幅は10ビット、カラムアドレスのビット
幅は9ビットである。
The type 1 DRAM bank has a memory size of 2 Mbytes. This type 1 DRAM bank includes four 4M bit DRAM chips each having 512K (1K rows × 512 columns) × 8 bits, a row address bit width of 10 bits, and a column address bit width of 9 bits. is there.

【0093】タイプ2のDRAMバンクは、4Mバイト
のメモリサイズを有する。このタイプ2のDRAMバン
クは、1M(1K行×1K列)×4ビット構成の4Mビ
ットDRAMチップを8個含んでおり、ロウアドレスの
ビット幅は10ビット、カラムアドレスのビット幅は1
0ビットである。
The type 2 DRAM bank has a memory size of 4 Mbytes. This type 2 DRAM bank includes eight 4M bit DRAM chips each having a configuration of 1M (1K rows × 1K columns) × 4 bits, a row address bit width is 10 bits, and a column address bit width is 1 bit.
0 bits.

【0094】タイプ3のDRAMバンクは、8Mバイト
のメモリサイズを有する。このタイプ3のDRAMバン
クは、2M(2K行×1K列)×8ビット構成の16M
ビットDRAMチップを4個含んでおり、ロウアドレス
のビット幅は11ビット、カラムアドレスのビット幅は
10ビットである。
The type 3 DRAM bank has a memory size of 8 Mbytes. This type 3 DRAM bank is 2M (2K rows x 1K columns) x 16-bit 16M
It includes four bit DRAM chips, the row address bit width is 11 bits, and the column address bit width is 10 bits.

【0095】タイプ4のDRAMバンクは、16Mバイ
トのメモリサイズを有する。このタイプ4のDRAMバ
ンクは、4M(2K行×2K列)×4ビット構成の16
MビットDRAMチップを8個含んでおり、ロウアドレ
スのビット幅は11ビット、カラムアドレスのビット幅
は11ビットである。
The type 4 DRAM bank has a memory size of 16 Mbytes. This type 4 DRAM bank consists of 4M (2K rows × 2K columns) × 4 bits 16
It includes eight M-bit DRAM chips, the row address bit width is 11 bits, and the column address bit width is 11 bits.

【0096】図9、図10、および図11には、それぞ
れ図1のシステムメモリ13、増設メモリ41、および
増設メモリ42のメモリ構成が示されている。
FIGS. 9, 10, and 11 show the memory configurations of the system memory 13, the additional memory 41, and the additional memory 42 of FIG. 1, respectively.

【0097】システムメモリ13がタイプ1の2個の2
MバイトDRAMバンクによって構成されている場合に
は、図9に示されているように、一方の2MバイトDR
AMバンクの4つのDRAMチップはRAS0線および
CAS線に共通接続され、他方の2MバイトDRAMバ
ンクの4つのDRAMチップはRAS1線、およびCA
S線に共通接続される。また、これら2つの2Mバイト
DRAMバンク内の全てのチップは、メモリアドレスバ
ス33、およびデータバス322の双方に並列接続され
る。
The system memory 13 has two 1 type 2
In the case of the M-byte DRAM bank, as shown in FIG.
The four DRAM chips in the AM bank are commonly connected to the RAS0 line and the CAS line, and the other four DRAM chips in the 2 Mbyte DRAM bank are the RAS1 line and the CA line.
Commonly connected to the S line. Further, all the chips in these two 2 Mbyte DRAM banks are connected in parallel to both the memory address bus 33 and the data bus 322.

【0098】これら2つの2MバイトDRAMバンクの
どちらがアドレス指定されるかは、RAS0とRAS1
のどちらが付勢されるかによって決定される。
RAS0 and RAS1 determine which of these two 2 Mbyte DRAM banks is addressed.
Of which is activated.

【0099】RAS0線が付勢された場合には、その時
にメモリアドレスバス33上に出力されているアドレス
値の下位10ビットがロウアドレスとしてそのRAS0
線に接続されている4つのチップにそれぞれ取り込まれ
る。この後、RAS0線に接続されている4つのチップ
は、CAS線が付勢された時にメモリアドレスバス33
上に出力されているアドレス値の下位9ビットをカラム
アドレスとして取り込む。これら10ビットのロウアド
レスおよび9ビットのカラムアドレスによってRAS0
線に接続されている4つのチップそれぞれの同一番地が
同時にアドレス指定され、1チップ当たり8ビットの合
計32ビット単位でRAS0線に対応するDRAMバン
クがリード/ライトアクセスされる。
When the RAS0 line is activated, the lower 10 bits of the address value output on the memory address bus 33 at that time are used as the row address of the RAS0 line.
It is taken into each of the four chips connected to the line. After that, the four chips connected to the RAS0 line are connected to the memory address bus 33 when the CAS line is activated.
The lower 9 bits of the address value output above are fetched as a column address. RAS0 is defined by these 10-bit row address and 9-bit column address.
The same address of each of the four chips connected to the line is simultaneously addressed, and the DRAM bank corresponding to the RAS0 line is read / write accessed in units of 32 bits, that is, 8 bits per chip.

【0100】同様に、RAS1線が付勢された場合に
は、その時にメモリアドレスバス33上に出力されてい
るアドレス値の下位10ビットのロウアドレスがそのR
AS1線に接続されている4つのチップにそれぞれ取り
込まれる。この後、RAS1線に接続されている4つの
チップは、CAS線が付勢された時にメモリアドレスバ
ス33上に出力されているアドレス値の下位9ビットの
カラムアドレスを取り込む。これら10ビットのロウア
ドレスおよび9ビットのカラムアドレスによって、RA
S1線に接続されている4つのチップそれぞれの同一記
憶位置が同時にアドレス指定され、1チップ当たり8ビ
ットの合計32ビット単位でRAS1線に対応するDR
AMバンクがリード/ライトアクセスされる。
Similarly, when the RAS1 line is activated, the row address of the lower 10 bits of the address value output on the memory address bus 33 at that time is the R address.
It is taken into each of the four chips connected to the AS1 line. After that, the four chips connected to the RAS1 line take in the column address of the lower 9 bits of the address value output on the memory address bus 33 when the CAS line is activated. These 10-bit row address and 9-bit column address enable RA
The same memory location of each of the four chips connected to the S1 line is simultaneously addressed, and the DR corresponding to the RAS1 line in units of a total of 32 bits of 8 bits per chip
The AM bank is read / write accessed.

【0101】増設メモリ41がタイプ3の1個の8Mバ
イトDRAMバンクによって構成されている場合には、
図10に示されているように、その8MバイトDRAM
バンクの4つのDRAMチップはRAS2線およびCA
S線に共通接続される。また、8MバイトDRAMバン
ク内の全てのチップは、メモリアドレスバス33、およ
びデータバス322の双方に並列接続される。
When the extension memory 41 is composed of one type 3 8-Mbyte DRAM bank,
As shown in FIG. 10, the 8-Mbyte DRAM
The four DRAM chips in the bank are RAS2 line and CA
Commonly connected to the S line. Further, all the chips in the 8-Mbyte DRAM bank are connected in parallel to both the memory address bus 33 and the data bus 322.

【0102】RAS2線が付勢された場合には、その時
にメモリアドレスバス33上に出力されているアドレス
値の下位11ビットがロウアドレスとしてそのRAS2
線に接続されている4つのチップにそれぞれ取り込まれ
る。この後、RAS2線に接続されている4つのチップ
は、CAS線が付勢された時にメモリアドレスバス33
上に出力されているアドレス値の下位10ビットをカラ
ムアドレスとして取り込む。これら11ビットのロウア
ドレスと10ビットのカラムアドレスとによって、RA
S0線に接続されている4つのチップそれぞれの対応す
る記憶位置が同時にアドレス指定され、1チップ当たり
8ビットの合計32ビット単位で、RAS2線に対応す
るDRAMバンクがリード/ライトアクセスされる。
When the RAS2 line is activated, the lower 11 bits of the address value output on the memory address bus 33 at that time are used as the row address of the RAS2 line.
It is taken into each of the four chips connected to the line. After this, the four chips connected to the RAS2 line will have the memory address bus 33 when the CAS line is activated.
The lower 10 bits of the address value output above are fetched as a column address. By these 11-bit row address and 10-bit column address, RA
Corresponding storage locations of each of the four chips connected to the S0 line are simultaneously addressed, and the DRAM bank corresponding to the RAS2 line is read / write accessed in units of 32 bits, that is, 8 bits per chip.

【0103】増設メモリ42がタイプ2の2個の4Mバ
イトDRAMバンクによって構成されている場合には、
図11に示されているように、一方の4MバイトDRA
Mバンクの8つのDRAMチップはRAS4線およびC
AS線に共通接続され、他方の4MバイトDRAMバン
クの8つのDRAMチップはRAS5線およびCAS線
に共通接続される。また、これら4MバイトDRAMバ
ンク内の全てのチップは、メモリアドレスバス33、お
よびデータバス322の双方に並列接続される。
When the additional memory 42 is composed of two 4 Mbyte DRAM banks of type 2,
One 4 Mbyte DRA as shown in FIG.
Eight DRAM chips in M bank are RAS 4 lines and C
The eight DRAM chips of the other 4 Mbyte DRAM bank are commonly connected to the AS line, and commonly connected to the RAS5 line and the CAS line. Further, all the chips in these 4 Mbyte DRAM banks are connected in parallel to both the memory address bus 33 and the data bus 322.

【0104】これら2つの4MバイトDRAMバンクの
どちらがアドレス指定されるかは、RAS4とRAS5
のどちらが付勢されるかによって決定される。
RAS4 and RAS5 determine which of these two 4 Mbyte DRAM banks is addressed.
Of which is activated.

【0105】RAS4線が付勢された場合には、その時
にメモリアドレスバス33上に出力されているアドレス
値の下位10ビットがロウアドレスとしてそのRAS4
線に接続されている8つのチップにそれぞれ取り込まれ
る。この後、RAS4線に接続されている8つのチップ
は、CAS線が付勢された時にメモリアドレスバス33
上に出力されているアドレス値の下位10ビットをカラ
ムアドレスとして取り込む。これら10ビットのロウア
ドレスおよび10ビットのカラムアドレスによって、R
AS4線に接続されている8つのチップそれぞれの同一
の記憶位置が同時にアドレス指定され、1チップ当たり
4ビットの合計32ビット単位でRAS4線に対応する
DRAMバンクがリード/ライトアクセスされる。
When the RAS4 line is activated, the lower 10 bits of the address value output on the memory address bus 33 at that time are used as the row address of the RAS4 line.
It is taken into each of the eight chips connected to the line. After this, the eight chips connected to the RAS4 line are connected to the memory address bus 33 when the CAS line is activated.
The lower 10 bits of the address value output above are fetched as a column address. By these 10-bit row address and 10-bit column address, R
The same memory location of each of the eight chips connected to the AS4 line is simultaneously addressed, and the DRAM bank corresponding to the RAS4 line is read / write accessed in units of 32 bits, that is, 4 bits per chip.

【0106】同様に、RAS5線が付勢された場合に
は、その時にメモリアドレスバス33上に出力されてい
るアドレス値の下位10ビットがロウアドレスとしてそ
のRAS5線に接続されている8つのチップにそれぞれ
取り込まれる。この後、RAS5線に接続されている8
つのチップは、CAS線が付勢された時にメモリアドレ
スバス33上に出力されているアドレス値の下位10ビ
ットをカラムアドレスとして取り込む。これら10ビッ
トのロウアドレスおよび10ビットのカラムアドレスと
によって、RAS5線に接続されている8つのチップそ
れぞれの同一記憶位置が同時にアドレス指定され、1チ
ップ当たり4ビットの合計32ビット単位でRAS5線
に対応するDRAMバンクがリード/ライトアクセスさ
れる。
Similarly, when the RAS5 line is activated, the lower 10 bits of the address value output on the memory address bus 33 at that time are connected to the RAS5 line as the row address. Is taken into each. After this, 8 connected to RAS5 line
One chip fetches the lower 10 bits of the address value output on the memory address bus 33 as the column address when the CAS line is activated. The same memory location of each of the eight chips connected to the RAS5 line is simultaneously addressed by the 10-bit row address and the 10-bit column address, and the 4-bit per chip makes a total of 32 bits to the RAS5 line. The corresponding DRAM bank is read / write accessed.

【0107】このように、DRAMバンクのタイプ毎
に、ロウアドレスとして使用されるビット数とカラムア
ドレスとして使用されるビット数との関係が異なってい
る。各RAS線に接続されたDRAMバンクのメモリサ
イズは、ロウアドレスおよびカラムアドレスとして使用
されるビット数の違いを利用して検出される。
As described above, the relationship between the number of bits used as a row address and the number of bits used as a column address is different for each type of DRAM bank. The memory size of the DRAM bank connected to each RAS line is detected by utilizing the difference in the number of bits used as a row address and a column address.

【0108】以下、図12のフローチャートを参照し
て、IRTルーチンのステップS11で実行されるメモ
リサイズ検出処理の手順を説明する。
The procedure of the memory size detection process executed in step S11 of the IRT routine will be described below with reference to the flowchart of FIG.

【0109】IRTルーチンは、RAS0、RAS1、
RAS2、…の順で、RAS線に接続されたDRAMバ
ンクのメモリサイズ検出処理を行う。IRTルーチン
は、まず、検査対象のRAS線の付勢だけが許可される
ように、RASデコーダ122に所定のデコード条件を
セットする(ステップS21)。この場合、検査対象R
AS線のデコード条件としては、メモリサイズ検出のた
めに行われる何回かのメモリアクセスで使用されるメモ
リアドレス値に共通のビット列が使用される。また、検
査対象RAS線を除くの他の全てのRAS線について
は、メモリサイズ検出のために行われる何回かのメモリ
アクセスでそれらRAS線が付勢されないように、検査
対象RAS線とは異なる所定のビット列がそれぞれのデ
コード条件として設定される。
The IRT routine includes RAS0, RAS1,
The memory size detection processing of the DRAM banks connected to the RAS line is performed in the order of RAS2, .... The IRT routine first sets a predetermined decoding condition in the RAS decoder 122 so that only the activation of the RAS line to be inspected is permitted (step S21). In this case, the inspection target R
As a decoding condition for the AS line, a bit string common to the memory address values used in several memory accesses for detecting the memory size is used. In addition, all the other RAS lines except the RAS line to be inspected are different from the RAS line to be inspected so that the RAS lines are not activated by several memory accesses for detecting the memory size. A predetermined bit string is set as each decoding condition.

【0110】次いで、IRTルーチンは、タイプ1〜タ
イプ4のDRAMバンクの中で最もカラムアドレスのビ
ット数が大きいタイプ4のDRAMバンク(カラムアド
レスCA=11ビット、ロウアドレスRA=11ビッ
ト)が検査対象RAS線に接続されていると想定し、そ
のDRAMバンクに対してライト・リード・コンペアテ
ストを行う(ステップS22)。この場合、ロウアドレ
ス/カラムアドレスマルチプレクサ123には、タイプ
4のDRAMバンクに対応する制御パラメタがセットさ
れる。ライト・リード・コンペアテストでは、ライトア
ドレス00001000H(Hは16進表示を示す)の
ライトアクセスと、リードアドレス00000000H
のリードアクセスとが行われ、その時のライトデータと
リードデータの一致の有無が調べられる(ステップS2
3)。
Next, in the IRT routine, the type 4 DRAM bank (column address CA = 11 bits, row address RA = 11 bits) having the largest number of column address bits among the type 1 to type 4 DRAM banks is inspected. Assuming that the DRAM bank is connected to the target RAS line, a write / read compare test is performed on the DRAM bank (step S22). In this case, the row / column address multiplexer 123 is set with a control parameter corresponding to the type 4 DRAM bank. In the write-read-compare test, write access of write address 00001000H (H indicates hexadecimal display) and read address 00000000H
Read access is performed, and it is checked whether or not the write data at that time and the read data match (step S2).
3).

【0111】もし、検査対象RAS線に実際に接続され
ているDRAMバンクが想定した通りのタイプ4のDR
AMバンクであれば、アドレス00001000Hに正
常にデータを書き込むことができるので、ライトデータ
とリードデータの値は不一致となる。一方、検査対象R
AS線に実際に接続されているDRAMバンクがそのカ
ラムアドレス数が10ビット以下のタイプ1、タイプ
2、またはタイプ3のバンクであった場合には、ライト
データとリードデータの値は一致する。これは、次の理
由による。
If the DRAM bank actually connected to the RAS line to be inspected has the type 4 DR as expected.
In the case of the AM bank, the data can be normally written in the address 00001000H, so that the values of the write data and the read data do not match. On the other hand, inspection target R
When the DRAM bank actually connected to the AS line is a type 1, type 2, or type 3 bank having a column address number of 10 bits or less, the values of the write data and the read data match. This is for the following reason.

【0112】すなわち、ステップS22ではタイプ4の
DRAMバンクに対応する設定が成されているので、ア
ドレス00001000Hのライトアクセス時に出力さ
れる11ビットのロウアドレスRA(MA23,……,
MA13)=00000000000であり、11ビッ
トのカラムアドレスCA(MA12,……,MA02)
=10000000000である。カラムアドレス数が
10ビット以下のDRAMバンクにおいては、11ビッ
トのカラムアドレスCAの最上位ビットMA12の値
“1”は無視される。このため、タイプ1、タイプ2、
またはタイプ3のバンクが接続されている場合には、ラ
イトアドレス00001000Hのライトアクセスによ
って、その先頭行におけるカラムアドレスCA=000
0000000で指定される番地、すなわちアドレス0
0000000Hにデータが書き込まれる。これによ
り、リードアドレス00000000Hのリードアクセ
スで読み出されたリードデータがライトデータと一致す
る。
That is, since the setting corresponding to the DRAM bank of type 4 is made in step S22, the 11-bit row address RA (MA23, ..., And) output at the write access of the address 00001000H.
MA13) = 0000000000 and the 11-bit column address CA (MA12, ..., MA02)
= 10000000. In a DRAM bank in which the number of column addresses is 10 bits or less, the value "1" of the most significant bit MA12 of the 11-bit column address CA is ignored. Therefore, type 1, type 2,
Alternatively, when a type 3 bank is connected, the column address CA = 000 in the first row is obtained by the write access of the write address 00001000H.
Address specified by 0000000, that is, address 0
Data is written in 0000000H. As a result, the read data read by the read access of the read address 00000000H matches the write data.

【0113】したがって、ステップS23でライトデー
タとリードデータの不一致が検出された時は、検査対象
RAS線に接続されているDRAMバンクは想定した通
りのタイプ4のDRAMバンク(CA=11ビット、R
A=11ビット、メモリサイズ=16Mバイト)である
と判定され(ステップS24)、一方、ライトデータと
リードデータの一致が検出された場合には、検査対象R
AS線に接続されているDRAMバンクはカラムアドレ
スビット数が10ビット以下の他のタイプ(タイプ1、
タイプ2、またはタイプ3)のDRAMバンクであると
判定される。この場合には、次のようなステップS25
以降の処理が行われる。
Therefore, when a mismatch between the write data and the read data is detected in step S23, the DRAM bank connected to the RAS line to be inspected is the type 4 DRAM bank (CA = 11 bits, R
If it is determined that A = 11 bits and memory size = 16 Mbytes (step S24), and the match between the write data and the read data is detected, the inspection target R
The DRAM bank connected to the AS line has another type (type 1,
It is determined to be a type 2 or type 3) DRAM bank. In this case, the following step S25
The following processing is performed.

【0114】すなわち、IRTルーチンは、今度は、タ
イプ4の次にカラムアドレスビット数が大きいタイプ3
(またはタイプ2)のメモリ構成(カラムアドレスCA
=10ビット、ロウアドレスRA=11ビット)が検査
対象RAS線に接続されていると想定して、そのDRA
Mバンクに対してライト・リード・コンペアテストを行
う(ステップS25)。このライト・リード・コンペア
テストでは、ライトアドレス00000800Hのライ
トアクセスと、リードアドレス00000000Hのリ
ードアクセスとが行われ、その時のライトデータとリー
ドデータの一致の有無が調べられる(ステップS2
6)。
That is, this time, the IRT routine is the type 3 which has the next largest column address bit number after the type 4.
(Or type 2) memory configuration (column address CA
= 10 bits, row address RA = 11 bits), the DRA
A write / read compare test is performed on the M bank (step S25). In this write-read-compare test, a write access of write address 0000000080H and a read access of read address 00000000H are performed, and it is checked whether the write data and the read data at that time match (step S2).
6).

【0115】もし、検査対象RAS線に実際に接続され
ているDRAMバンクがそのカラムアドレス数が9ビッ
ト以下のタイプ1のDRAMバンクであった場合には、
前述と同様にカラムアドレスの最上位ビット“1”が無
視されるため、そのタイプ1のDRAMバンクのアドレ
ス00000000Hで指定される番地にデータが書き
込まれる。この結果、ライトデータとリードデータの値
は一致する。したがって、ライトデータとリードデータ
の一致が検出された場合には、検査対象RAS線に接続
されているDRAMバンクがタイプ1のDRAMバンク
(CA=9ビット、RA=10ビット、メモリサイズ=
2Mバイト)であると判定される(ステップS27)。
If the DRAM bank actually connected to the RAS line to be inspected is a type 1 DRAM bank whose column address number is 9 bits or less,
Since the most significant bit "1" of the column address is ignored as described above, the data is written to the address designated by the address 00000000H of the type 1 DRAM bank. As a result, the values of the write data and the read data match. Therefore, when a match between the write data and the read data is detected, the DRAM bank connected to the RAS line to be inspected is a type 1 DRAM bank (CA = 9 bits, RA = 10 bits, memory size =
It is determined to be 2 Mbytes) (step S27).

【0116】一方、査対象RAS線に実際に接続されて
いるDRAMバンクが想定した通りの10ビットのカラ
ムアドレスビット数を持つタイプ2またはタイプ3のD
RAMバンクであれば、アドレス00010000Hに
正常にデータを書き込むことができるので、ライトデー
タとリードデータの値は不一致となる。したがって、ラ
イトデータとリードデータの不一致が検出された場合に
は、タイプ2またはタイプ3のどちらのDRAMバンク
が接続されているかを検出するために、次のようなステ
ップS28以降の処理が行われる。
On the other hand, the type 2 or type 3 D having the 10-bit column address bit number as expected by the DRAM bank actually connected to the RAS line to be checked.
In the case of the RAM bank, data can be normally written in the address 00010000H, so that the values of the write data and the read data do not match. Therefore, when a mismatch between the write data and the read data is detected, the following processing from step S28 is performed in order to detect which type 2 or type 3 DRAM bank is connected. .

【0117】すなわち、IRTルーチンは、今度は、そ
れらDRAMバンクの中でロウアドレスビット数が大き
いタイプ3のDRAMバンク(カラムアドレスCA=1
0ビット、ロウアドレスRA=11ビット)が接続され
ていると想定して、そのDRAMバンクに対してライト
・リード・コンペアテストを行う(ステップS28)。
That is, the IRT routine, in this case, is a type 3 DRAM bank (column address CA = 1) having a large number of row address bits among these DRAM banks.
Assuming that 0 bit and row address RA = 11 bits) are connected, a write / read compare test is performed on the DRAM bank (step S28).

【0118】このライト・リード・コンペアテストで
は、ライトアドレス00400000Hのライトアクセ
スと、リードアドレス00000000Hのリードアク
セスとが行われ、その時のライトデータとリードデータ
の一致の有無が調べられる(ステップS29)。
In this write-read-compare test, a write access of write address 00400000H and a read access of read address 00000000H are performed, and it is checked whether or not the write data and the read data at that time match (step S29).

【0119】もし、検査対象RAS線に実際に接続され
ているDRAMバンクが想定した通りのタイプ3のDR
AMバンクであれば、アドレス00400000Hに正
常にデータを書き込むことができるので、ライトデータ
とリードデータの値は不一致となる。一方、検査対象R
AS線に実際に接続されているDRAMバンクがそのロ
ウアドレス数が10ビットのタイプ2のバンクであった
場合には、ライトデータとリードデータの値は一致す
る。これは、次の理由による。
If the DRAM bank actually connected to the RAS line to be inspected has the type 3 DR as expected.
In the case of the AM bank, the data can be normally written in the address 00400000H, so that the values of the write data and the read data do not match. On the other hand, inspection target R
If the DRAM bank actually connected to the AS line is a type 2 bank whose row address number is 10 bits, the values of the write data and the read data match. This is for the following reason.

【0120】すなわち、ステップS28ではタイプ3の
DRAMバンクに対応する設定が成されているので、ア
ドレス00400000Hライトアクセス時に出力され
る11ビットのロウアドレスはRA(MA22,……,
MA12)=10000000000であり、10ビッ
トのカラムアドレスCA(MA11,……,MA02)
=0000000000である。ロウアドレス数が10
ビットのタイプ2のDRAMバンクにおいては、11ビ
ットのロウアドレスRAの最上位ビットMA22の値
“1”は無視される。このため、タイプ2のバンクが接
続されている場合には、ライトアドレス0040000
0Hのライトアクセスによって、その先頭行におけるカ
ラムアドレスCA=0000000000で指定される
番地、すなわちアドレス00000000Hにデータが
書き込まれる。これにより、リードアドレス00000
000Hのリードアクセスで読み出されたリードデータ
がライトデータと一致する。
That is, since the setting corresponding to the DRAM bank of type 3 is made in step S28, the 11-bit row address output at the time of address 00400000H write access is RA (MA22, ...,
MA12) = 10000000, and a 10-bit column address CA (MA11, ..., MA02)
= 0000000000. The number of row addresses is 10
In the bit type 2 DRAM bank, the value "1" of the most significant bit MA22 of the 11-bit row address RA is ignored. Therefore, when the type 2 bank is connected, the write address 0040000
By the write access of 0H, the data is written to the address specified by the column address CA = 0000000000000 in the first row, that is, the address 00000000H. As a result, the read address 00000
The read data read by the read access of 000H matches the write data.

【0121】したがって、ステップS29でライトデー
タとリードデータの不一致が検出された時は、検査対象
RAS線に接続されているDRAMバンクは想定した通
りのタイプ3のDRAMバンク(CA=10ビット、R
A=11ビット、メモリサイズ=8Mバイト)であると
判定され(ステップS30)、一方、ライトデータとリ
ードデータの一致が検出された場合には、検査対象RA
S線に接続されているDRAMバンクはロウアドレスビ
ット数が10ビットのタイプ2のDRAMバンク(CA
=10ビット、RA=10ビット、メモリサイズ=4M
バイト)であると判定される(ステップS31)。
Therefore, when the mismatch between the write data and the read data is detected in step S29, the DRAM bank connected to the RAS line to be inspected is the type 3 DRAM bank (CA = 10 bits, R
If it is determined that A = 11 bits and memory size = 8 Mbytes (step S30), and on the other hand that the match between the write data and the read data is detected, the inspection target RA
The DRAM bank connected to the S line is a type 2 DRAM bank (CA having 10 row address bits).
= 10 bits, RA = 10 bits, memory size = 4M
(Byte) is determined (step S31).

【0122】次に、図2で説明したRASデコーダ12
2、ロウアドレス/カラムアドレスマルチプレクサ12
3、およびページヒット判定回路126それぞれの具体
的な回路構成について説明する。
Next, the RAS decoder 12 described with reference to FIG.
2. Row address / column address multiplexer 12
3 and the page hit determination circuit 126 will be described in detail.

【0123】図13には、RASデコーダ122の具体
的な回路構成が示されている。RASデコーダ13は、
図示のように、RAS0線〜RAS5線にそれぞれ対応
する6個のRASデコード回路51〜56を含んでい
る。これらRASデコード回路51〜56は、それぞれ
DRAM論理アドレス(MA31:02)と対応するデ
コード条件との一致/不一致を調べ、一致した際に対応
するRAS線を所定のタイミングで付勢制御する。この
場合、実際には30ビットのDRAM論理アドレス(M
A31:02)全てのビット値を見る必要はなく、サポ
ートするDRAMバンクの種類、最大DRAM論理アド
レス空間などの条件から、MA26,MA25,MA2
4,MA23,MA22,MA21,飛んで、MA1
3,MA12,MA11の9ビットだけがデコードに使
用される。
FIG. 13 shows a specific circuit configuration of the RAS decoder 122. The RAS decoder 13
As shown, it includes six RAS decoding circuits 51 to 56 corresponding to the RAS0 line to the RAS5 line, respectively. Each of these RAS decode circuits 51 to 56 checks the match / mismatch between the DRAM logical address (MA31: 02) and the corresponding decode condition, and when they match, the corresponding RAS line is energized and controlled at a predetermined timing. In this case, the 30-bit DRAM logical address (M
A31: 02) It is not necessary to look at all bit values, and MA26, MA25, MA2 can be selected according to conditions such as the type of DRAM bank to be supported and the maximum DRAM logical address space.
4, MA23, MA22, MA21, fly, MA1
Only 9 bits of 3, MA12 and MA11 are used for decoding.

【0124】RASデコード回路51〜56はどれも同
じ回路構成であるので、ここでは、RASデコード回路
51の回路構成を代表して説明する。
Since the RAS decode circuits 51 to 56 have the same circuit structure, the circuit structure of the RAS decode circuit 51 will be described here as a representative.

【0125】RASデコード回路51は、RASセット
レジスタ61、RASマスクレジスタ62、9個の一致
/不一致検出回路71〜79、9個のマスク回路71〜
79、およびAND回路91から構成されている。
The RAS decode circuit 51 includes a RAS set register 61, a RAS mask register 62, nine match / mismatch detection circuits 71 to 79, and nine mask circuits 71 to 71.
79 and an AND circuit 91.

【0126】RASセットレジスタ61は、CPU11
によってリード/ライト可能なI/Oレジスタであり、
ここにはRAS0線のデコード条件を示すビット列がセ
ットされる。例えば、RAS0線のデコード条件が図5
のように決定された場合には、“00100X XX
1”がRAS0線のデコード条件としてRASセットレ
ジスタ61にセットされる。ここで、Xはデコード条件
に関係しないビット値(Don´t Care)を意味
する。
The RAS set register 61 is used by the CPU 11
Is an I / O register that can be read / written by
A bit string indicating the decoding condition of the RAS0 line is set here. For example, the decoding condition of the RAS0 line is shown in FIG.
If it is decided as “00100X XX
1 ″ is set in the RAS set register 61 as the decoding condition of the RAS0 line. Here, X means a bit value (Don't Care) not related to the decoding condition.

【0127】RASマスクレジスタ62は、CPU11
によってリード/ライト可能なI/Oレジスタであり、
ここにはRAS0線のデコード条件とDRAM論理アド
レスとの一致/不一致の判定結果をビット毎にマスクす
るか、しないかを指定するマスクデータ(“0”=マス
クする、“1”=マスクしない)がセットされる。ここ
で、マスクするというのは、デコード条件のビット列の
対応する1ビットの判定結果に関係なく、そのビットの
判定結果を常に一致したことにすることを意味する。し
たがって、RASセットレジスタ61に前述のようにデ
コード条件として“00100X XX1”がセットさ
れた場合には、RASマスクレジスタ62には、マスク
データ“111110 001”がセットされる。これ
により、デコード条件の“00100X XX1”の内
の“X”のビットをデコード条件から除外することがで
きる。
The RAS mask register 62 is used by the CPU 11
Is an I / O register that can be read / written by
Here, mask data that specifies whether or not the determination result of the match / mismatch between the decode condition of the RAS0 line and the DRAM logical address is masked for each bit (“0” = masked, “1” = not masked). Is set. Here, masking means that the determination result of the bit is always matched regardless of the determination result of the corresponding 1 bit of the bit string of the decoding condition. Therefore, when “00100X XX1” is set as the decoding condition in the RAS set register 61 as described above, the mask data “111110 001” is set in the RAS mask register 62. As a result, the "X" bit in the decoding condition "00100X XX1" can be excluded from the decoding condition.

【0128】一致/不一致検出回路71〜79は、それ
ぞれDRAM論理アドレスとデコード条件の対応するビ
ット同士の一致/不一致を検出する。これら一致/不一
致検出回路71〜79の各々は、排他的論理和ゲートか
ら実現する事ができる。9個のマスク回路71〜79
は、それぞれ対応する一致/不一致検出回路71〜79
の検出結果出力をマスクする。
The match / mismatch detection circuits 71 to 79 detect the match / mismatch between the bits corresponding to the DRAM logical address and the decoding condition, respectively. Each of these match / mismatch detection circuits 71 to 79 can be realized by an exclusive OR gate. Nine mask circuits 71 to 79
Are corresponding match / mismatch detection circuits 71 to 79, respectively.
The detection result output of is masked.

【0129】このように、RASデコーダ122は、1
本のRAS線当たり9ビットのデータサイズに相当する
データの一致/不一致を行うためのロジックだけで実現
する事ができる。
As described above, the RAS decoder 122 is
This can be realized only by the logic for matching / mismatching data corresponding to the data size of 9 bits per RAS line of the book.

【0130】次に、図14を参照して、ロウアドレス/
カラムアドレスマルチプレクサ123の具体的な回路構
成について説明する。
Next, referring to FIG. 14, row address /
A specific circuit configuration of the column address multiplexer 123 will be described.

【0131】ロウアドレス/カラムアドレスマルチプレ
クサ123は、図示のように、レジスタファイル20
1、パターンデコーダ202、ロウアドレスセレクタ2
03、ロウアドレス開始位置切り替え回路204〜20
7、およびロウアドレス/カラムアドレスセレクタ20
8から構成されている。
The row address / column address multiplexer 123, as shown in FIG.
1, pattern decoder 202, row address selector 2
03, row address start position switching circuits 204 to 20
7, and row / column address selector 20
8.

【0132】レジスタファイル201は、CPU11に
よってリード/ライト可能なI/Oレジスタ群であり、
ここにはRAS0〜RAS5線それぞれに対応する6つ
の制御パラメタがセットされる。各制御パラメタは、対
応するRAS線に接続されたDRAMバンクのロウアド
レス開始位置、つまりDRAM論理アドレスのどのbi
tをロウアドレスのLSBにするかを指定する。
The register file 201 is an I / O register group readable / writable by the CPU 11,
Six control parameters corresponding to the RAS0 to RAS5 lines are set here. Each control parameter is a row address start position of the DRAM bank connected to the corresponding RAS line, that is, which bi of the DRAM logical address.
Specifies whether t is the LSB of the row address.

【0133】ロウアドレス開始位置として使用される可
能性があるのは、サポートするDRAMの種類、および
ページインタリーブの条件から、DRAM論理アドレス
のMA11,MA12,MA13,MA14の4ビット
である。各制御パラメタは、これら4種類のロウアドレ
ス開始位置のいずれか1つを指定する4ビットデータか
ら構成される。制御パラメタ“0001”はMA11を
指定し、“0010”はMA12、“0011”はMA
13、“0100”はMA14を指定する。
Four bits MA11, MA12, MA13, and MA14 of the DRAM logical address may be used as the row address starting position, depending on the type of DRAM to be supported and the conditions of page interleaving. Each control parameter is composed of 4-bit data designating one of these four types of row address start positions. The control parameter "0001" specifies MA11, "0010" is MA12, and "0011" is MA.
13, MA0 is designated as "0100".

【0134】レジスタファイル201にセットされてい
る6つの制御パラメタの1つは、パターンデコーダ20
2に読み出される。どの制御パラメタが読み出されるか
は、RASデコータ122のデコード結果出力によって
決定される。例えば、RASデコータ122によってR
AS0線が付勢される時は、RAS0線に対応する制御
パラメタがレジスタファイル201から読み出される。
One of the six control parameters set in the register file 201 is the pattern decoder 20.
2 is read. Which control parameter is read is determined by the decoding result output of the RAS decoder 122. For example, R by the RAS decoder 122
When the AS0 line is activated, the control parameter corresponding to the RAS0 line is read from the register file 201.

【0135】パターンデコーダ202は、レジスタファ
イル201から読み出された制御パラメタをデコード
し、そのデコード結果に従って、セレクタ203に4種
類のロウアドレスの1つを選択させるための選択信号を
発生する。
The pattern decoder 202 decodes the control parameter read from the register file 201, and generates a selection signal for causing the selector 203 to select one of four kinds of row addresses according to the decoding result.

【0136】ロウアドレス開始位置切り替え回路204
は、DRAM論理アドレスMA31:02)の中からM
A11をロウアドレス開始位置(LSB)とする合計1
1ビット(MA21,……,MA11)をロウアドレス
(RA10:0)として取り出す。同様に、ロウアドレ
ス開始位置切り替え回路205はMA12をLSBとす
る合計11ビット(MA22,……,MA12)を取り
出し、ロウアドレス開始位置切り替え回路206はMA
13をLSBとする合計11ビット(MA23,……,
MA13)を取り出し、ロウアドレス開始位置切り替え
回路207はMA14をLSBとする合計11ビット
(MA24,……,MA14)をロウアドレスとして取
り出す。
Row address start position switching circuit 204
Is M from the DRAM logical address MA31: 02).
1 with A11 as the row address start position (LSB)
One bit (MA21, ..., MA11) is taken out as a row address (RA10: 0). Similarly, the row address start position switching circuit 205 extracts a total of 11 bits (MA22, ..., MA12) with MA12 as the LSB, and the row address start position switching circuit 206 outputs MA.
A total of 11 bits with 13 as the LSB (MA23, ...,
MA13) is taken out, and the row address start position switching circuit 207 takes out a total of 11 bits (MA24, ..., MA14) with MA14 as the LSB as a row address.

【0137】これらロウアドレス開始位置切り替え回路
204〜207は、例えばバレルシフタなどによって構
成されている。
These row address start position switching circuits 204 to 207 are composed of, for example, barrel shifters.

【0138】ロウアドレスセレクタ203は、パターン
デコーダ202からの選択信号に従って、ロウアドレス
開始位置切り替え回路204〜207から出力される4
種類のロウアドレスの1つを選択して出力する。ロウア
ドレスセレクタ203によって選択されたロウアドレス
は、ロウアドレス/カラムアドレスセレクタ208に供
給される。また、このロウアドレス/カラムアドレスセ
レクタ208には、カラムアドレスも供給される。この
カラムアドレスとしては、DRAM論理アドレスの下位
11ビット(MA12,……MA02)が常に使用され
る。
The row address selector 203 outputs 4 from the row address start position switching circuits 204 to 207 according to the selection signal from the pattern decoder 202.
One of the row addresses of the types is selected and output. The row address selected by the row address selector 203 is supplied to the row address / column address selector 208. A column address is also supplied to the row address / column address selector 208. As the column address, the lower 11 bits (MA12, ... MA02) of the DRAM logical address are always used.

【0139】ロウアドレス/カラムアドレスセレクタ2
08は、図2のタイミング制御回路125からの制御信
号によって指定されるタイミングで、ロウアドレスとカ
ラムアドレスを選択的にメモリアドレスバス33上に出
力する。
Row address / column address selector 2
08 outputs the row address and the column address selectively onto the memory address bus 33 at the timing designated by the control signal from the timing control circuit 125 of FIG.

【0140】このロウアドレス/カラムアドレスマルチ
プレクサ123においては、RASデコーダ122のデ
コード動作と並行して、ロウアドレス開始位置切り替え
回路204〜207それぞれによるロウアドレス切り出
し動作が行われる。RASデコーダ122のデコード結
果が確定すると、その確定されたデコード結果によって
指定される付勢対象のRAS線に対応した1つの制御パ
ラメタがレジスタファイル201から読み出され、それ
がパターンデコーダ202に送られる。そして、そのパ
ターンデコーダ202によるデコード動作、およびロウ
アドレスセレクタ203のロウアドレス選択動作が制御
パラメタに従って実行され、これによってDRAMアク
セスに使用すべきロウアドレスが確定される。
In row address / column address multiplexer 123, row address cutout operations by row address start position switching circuits 204 to 207 are performed in parallel with the decoding operation of RAS decoder 122. When the decoding result of the RAS decoder 122 is confirmed, one control parameter corresponding to the RAS line to be energized designated by the confirmed decoding result is read from the register file 201 and sent to the pattern decoder 202. . Then, the decoding operation by the pattern decoder 202 and the row address selecting operation of the row address selector 203 are executed according to the control parameters, whereby the row address to be used for DRAM access is determined.

【0141】なお、ここでは、ロウアドレス開始位置切
り替え回路204〜207およびロウアドレスセレクタ
203によってロウアドレス(RA10:0)の11ビ
ット全てをRAS線に応じて切り替えるように説明した
が、実際は、全部のロウアドレスのビットを切り替える
必要はない。
Although it has been described here that all 11 bits of the row address (RA10: 0) are switched according to the RAS line by the row address start position switching circuits 204 to 207 and the row address selector 203, in reality, all of them are switched. It is not necessary to switch the row address bits of.

【0142】すなわち、ロウアドレス開始位置がMA1
1,MA12,MA13,MA14のいずれの場合にお
いても、MA14〜MA19の6ビットは共通に使用さ
れるので、それらビットについては切り替え対象から除
外する事ができる。この場合のCPUアドレスとロウア
ドレスとの対応関係の一例を図15に示す。
That is, the row address start position is MA1.
In any case of 1, MA12, MA13, and MA14, the 6 bits of MA14 to MA19 are commonly used, and therefore these bits can be excluded from the switching target. An example of the correspondence between the CPU address and the row address in this case is shown in FIG.

【0143】図15においては、ロウアドレスの下位3
ビット(RA2〜RA0)と上位2ビット(RA10,
RA9)のみが切り替えの対象となっている。このよう
にすれば、CPUアドレスのMA14〜MA19の6ビ
ットをロウアドレスの中位6ビット(RA8〜RA3)
としてロウアドレス/カラムアドレスセレクタ208に
直接送ることができるので、ロウアドレス開始位置切り
替え回路204〜207およびロウアドレスセレクタ2
03はそれぞれ切り替え対象の5ビット分のハードウェ
ア構成だけで実現できる。
In FIG. 15, the lower 3 bits of the row address
Bits (RA2 to RA0) and upper 2 bits (RA10,
Only RA9) is the target of switching. By doing this, the 6 bits of MA14 to MA19 of the CPU address are set to the middle 6 bits of the row address (RA8 to RA3).
Can be directly sent to the row address / column address selector 208 as a row address start position switching circuit 204 to 207 and the row address selector 2.
03 can be realized only by the hardware configuration of 5 bits to be switched.

【0144】このように、図14のロウアドレス/カラ
ムアドレスマルチプレクサ123の回路構成は、必要と
する回路数を非常に少なくすることができる。しかし、
RASデコーダ122のデコード結果が確定されてから
DRAMアクセスに使用すべきロウアドレスが確定され
るまでには、3つの回路ブロックの動作(レジスタファ
イル201から使用する制御パラメタを選択して読み出
す動作、パターンデコーダによるデコード動作、および
ロウアドレスセレクタ203によるロウアドレス選択動
作)を順次行う必要がある。このため、ロウアドレス/
カラムアドレスマルチプレクサ123内で比較的大きな
ディレイが生じるという問題がある。
As described above, the circuit configuration of the row address / column address multiplexer 123 of FIG. 14 can significantly reduce the number of circuits required. But,
From the determination of the decoding result of the RAS decoder 122 to the determination of the row address to be used for DRAM access, the operation of the three circuit blocks (the operation of selecting and reading the control parameter to be used from the register file 201, the pattern) It is necessary to sequentially perform the decoding operation by the decoder and the row address selection operation by the row address selector 203). Therefore, the row address /
There is a problem that a relatively large delay occurs in the column address multiplexer 123.

【0145】図16には、ロウアドレス/カラムアドレ
スマルチプレクサ123の第2の回路構成例が示されて
いる。この図16の構成は、ロウアドレス/カラムアド
レスマルチプレクサ123内でのディレイを少なくする
ための改良が次のように成されている。
FIG. 16 shows a second circuit configuration example of the row address / column address multiplexer 123. The configuration of FIG. 16 is improved as follows to reduce the delay in the row address / column address multiplexer 123.

【0146】すなわち、この図16のロウアドレス/カ
ラムアドレスマルチプレクサ123においては、図14
のパターンデコーダ202およびロウアドレスセレクタ
203の代わりに、RAS0〜RAS5線それぞれに対
応する6個のパターンデコーダ202−1〜202−
6、および6個のロウアドレスセレクタ203−1〜2
03−6が設けられている。パターンデコーダ202−
1〜202−6は、それぞれレジスタファイル201の
RAS0制御パラメタ〜RAS5制御パラメタに従って
ロウアドレスセレクタ203−1〜203−6のロウア
ドレス選択動作を制御する。
That is, in the row address / column address multiplexer 123 of FIG.
Instead of the pattern decoder 202 and the row address selector 203, the six pattern decoders 202-1 to 202-corresponding to the lines RAS0 to RAS5, respectively.
6 and 6 row address selectors 203-1 and 203-1
03-6 is provided. Pattern decoder 202-
1 to 202-6 control the row address selection operation of the row address selectors 203-1 to 203-6 according to the RAS0 control parameter to the RAS5 control parameter of the register file 201, respectively.

【0147】また、それらロウアドレスセレクタ203
−1〜203−6の次段には、それらロウアドレスセレ
クタ203−1〜203−6によって得られた6種類の
ロウアドレス(RAS0ロウアドレス〜RAS5ロウア
ドレス)の1つをRASデコーダ122のデコード結果
に応じて選択するロウアドレスセレクタ209が設けら
れている。
Also, the row address selector 203
-1 to 203-6, the RAS decoder 122 decodes one of six types of row addresses (RAS0 row address to RAS5 row address) obtained by the row address selectors 203-1 to 203-6. A row address selector 209 for selecting according to the result is provided.

【0148】この回路構成においては、RASデコーダ
122のデコード動作と並行して、ロウアドレス開始位
置切り替え回路204〜207それぞれによるロウアド
レス切り出し動作と、パターンデコーダ202−1〜2
02−6およびロウアドレスセレクタ203−1〜20
3−6によるロウアドレス選択動作とが行われる。これ
により、RASデコーダ122のデコード結果の確定を
待たずに、RAS0〜RAS5線にそれぞれ対応した6
種類のロウアドレス(RAS0ロウアドレス〜RAS5
ロウアドレス)を生成することができる。
In this circuit structure, in parallel with the decoding operation of the RAS decoder 122, row address cutout operations by the row address start position switching circuits 204 to 207 and pattern decoders 202-1 to 202-2 are performed.
02-6 and row address selectors 203-1 to 20-20
The row address selection operation by 3-6 is performed. As a result, the 6 lines corresponding to the RAS0 to RAS5 lines can be provided without waiting for the decoding result of the RAS decoder 122 to be determined.
Type of row address (RAS0 row address to RAS5
Row address) can be generated.

【0149】RASデコーダ122のデコード結果が確
定すると、その確定されたデコード結果によって指定さ
れる付勢対象のRAS線に対応したロウアドレスがロウ
アドレスセレクタ209によって選択される。
When the decoding result of the RAS decoder 122 is confirmed, the row address selector 209 selects the row address corresponding to the RAS line to be energized which is designated by the confirmed decoding result.

【0150】したがって、RASデコーダ122のデコ
ード結果が確定されてからDRAMアクセスに使用すべ
きロウアドレスが確定されるまでに必要となる回路動作
は、最終段のアドレスセレクタ209によるアドレス選
択動作だけとなり、内部ディレイが大幅に低減される。
Therefore, the circuit operation required from the determination of the decoding result of the RAS decoder 122 to the determination of the row address to be used for DRAM access is only the address selection operation by the address selector 209 at the final stage, The internal delay is greatly reduced.

【0151】なお、この図16の構成に於いても、図1
4の場合と同様に、全部のロウアドレスのビットを切り
替える必要はない。
In the structure of FIG. 16 as well, FIG.
As in the case of 4, it is not necessary to switch the bits of all row addresses.

【0152】図17には、図2のページヒット判定回路
126の具体的な回路構成が示されている。
FIG. 17 shows a specific circuit configuration of the page hit determination circuit 126 shown in FIG.

【0153】このページヒット判定回路126には、図
示のように、レジスタファイル301、ページヒット判
定用CPUアドレスレジスタ302、一致判定回路30
3、マスク回路304、および一致判定マスク位置レジ
スタ305が設けられている。
The page hit determination circuit 126 includes a register file 301, a page hit determination CPU address register 302, and a match determination circuit 30 as shown in the figure.
3, a mask circuit 304, and a match determination mask position register 305 are provided.

【0154】レジスタファイル301は、CPU11よ
ってリード/ライト可能なI/Oレジスタであり、ここ
にはページヒット判定のために使用されるCPUアドレ
スとの一致条件をマスクするか、しないかを指定するマ
スクデータ(“0”=マスクする、“1”=マスクしな
い)がRAS0〜RAS5線それぞれに対応する制御パ
ラメタとしてセットされる。
The register file 301 is an I / O register that is readable / writable by the CPU 11 and specifies whether or not the matching condition with the CPU address used for page hit determination is masked. Mask data (“0” = masked, “1” = not masked) is set as a control parameter corresponding to each of the RAS0 to RAS5 lines.

【0155】すなわち、ページヒット判定では、CPU
アドレス(A31:02)の中で、ページ内アドレスを
除外した残りのアドレス、つまり、カラムアドレスに相
当する部分を除いた、ロウアドレス(ページアドレス)
およびRASデコード用アドレスが対象となる。カラム
アドレスに相当する部分はページヒット判定に関与しな
いので、そのカラムアドレスとして使用されているビッ
トそれぞれについての判定結果はマスクデータによって
マスクする必要がある。ここで、マスクするというの
は、該当するビットの判定結果を常に一致したことにす
ることを意味する。
That is, in page hit determination, the CPU
Of the addresses (A31: 02), the remaining addresses excluding the in-page address, that is, the row address (page address) excluding the portion corresponding to the column address
And the RAS decoding address is the target. Since the part corresponding to the column address does not participate in page hit judgment, it is necessary to mask the judgment result for each bit used as the column address with mask data. Here, masking means that the determination results of the corresponding bits are always matched.

【0156】実際には、各RAS線に対応するマスクデ
ータは、カラムアドレスの全ビットではなく、A12,
A11,A10についてそれぞれマスクするか、しない
かを示す3ビットデータから構成されている。これは、
一致判定回路303が、DRAMバンクの種類と関係な
く常にカラムアドレスとして使用されるA10よりも下
位のビットについては一致判定から除外し、A10以降
の上位のビットだけを一致判定の対象とするように構成
されており、また、A12,A11,A10の3ビット
それぞれは、DRAMバンクの種類によってカラムアド
レスの一部として使用されるか否かが異なるからであ
る。
Actually, the mask data corresponding to each RAS line is not all bits of the column address, but A12,
Each of A11 and A10 is composed of 3-bit data indicating whether to mask or not. this is,
The match determination circuit 303 excludes bits lower than A10, which are always used as column addresses, regardless of the type of DRAM bank, from the match determination, and sets only higher bits after A10 as the target of the match determination. This is because each of the three bits A12, A11, and A10 is configured to be used as a part of the column address or not depending on the type of DRAM bank.

【0157】例えば、RAS0線にタイプ1のDRAM
バンク(カラムアドレスビット数=9ビット)が接続さ
れている場合には、A12,A11,A10の3ビット
の中でA10だけがカラムアドレスの一部として使用さ
れる。この時は、RAS0線に対応するマスクデータ
“110”がレジスタファイル301にセットされる。
レジスタファイル301にセットされている6つのマス
クデータのうちの1つは、レジスタファイル301から
読み出されて一致判定マスク位置レジスタ305にセッ
トされる。どのマスクデータが読み出されるかは、RA
Sデコータ122のデコード結果出力によって決定され
る。例えば、RASデコータ122によってRAS0線
が付勢される時は、RAS0線に対応するマスクデータ
がレジスタファイル301から読み出される。
For example, a DRAM of type 1 on the RAS0 line
When a bank (the number of column address bits = 9 bits) is connected, only A10 among the three bits A12, A11, and A10 is used as a part of the column address. At this time, the mask data “110” corresponding to the RAS0 line is set in the register file 301.
One of the six mask data set in the register file 301 is read from the register file 301 and set in the match determination mask position register 305. Which mask data is read depends on RA
It is determined by the decoding result output of the S decoder 122. For example, when the RAS 0 line is energized by the RAS decoder 122, the mask data corresponding to the RAS 0 line is read from the register file 301.

【0158】ページヒット判定用CPUアドレスレジス
タ302には、前回のメモリアクセス時のCPUアドレ
ス(A31:02)の内のA26〜A11の17ビット
がページヒット判定用CPUアドレスとして保持され
る。このページヒット判定用CPUアドレスレジスタ3
02の内容は、ページヒットせず、バンクミスまたはペ
ージミスが発生した時に、その時のメモリアクセスで使
用されているCPUアドレス(A31:02)に従って
更新される。すなわち、バンクミスまたはページミスが
発生すると、タイミング制御回路125からレジスタ更
新信号が発生される。このレジスタ更新信号に応答し
て、その時にCPUアドレスバス上に出力されているC
PUアドレス(A26〜A11)がページヒット判定用
CPUアドレスレジスタ302にラッチされる。これに
よって、ページヒット判定用CPUアドレスレジスタ3
02の内容は、バンクミスまたはページミスが発生した
メモリサイクル時のCPUアドレスに変更される。
The page hit determination CPU address register 302 holds 17 bits A26 to A11 of the CPU address (A31: 02) at the time of the previous memory access as a page hit determination CPU address. This page hit determination CPU address register 3
The contents of 02 are updated according to the CPU address (A31: 02) used in the memory access at that time when a bank miss or page miss occurs without a page hit. That is, when a bank miss or page miss occurs, the timing control circuit 125 generates a register update signal. In response to this register update signal, the C output on the CPU address bus at that time
The PU addresses (A26 to A11) are latched in the page hit determination CPU address register 302. As a result, the page hit determination CPU address register 3
The content of 02 is changed to the CPU address at the time of the memory cycle in which the bank miss or page miss occurs.

【0159】一致判定回路303は、今回のメモリアク
セス時のCPUアドレス(A26〜A11)とページヒ
ット判定用CPUアドレスレジスタ302に保持されて
いるCPUアドレス(A26〜A11)とをビット毎に
比較するコンパレータであり、A26〜A11それぞれ
の検出結果を示す17ビットデータを出力する。
The coincidence determination circuit 303 compares the CPU address (A26 to A11) at the time of this memory access with the CPU address (A26 to A11) held in the page hit determination CPU address register 302 bit by bit. It is a comparator and outputs 17-bit data indicating the detection results of A26 to A11.

【0160】マスク回路304は、A26〜A11それ
ぞれの検出結果の内のA12,A11,A10の検出結
果出力を、一致判定マスク位置レジスタ305のマスク
データに従ってマスクし、マスク後の検出結果出力が全
て一致を示す時にページヒット信号HITを発生する。
The mask circuit 304 masks the detection result outputs of A12, A11, and A10 among the detection results of A26 to A11 in accordance with the mask data of the match determination mask position register 305, and outputs all the detection results after masking. A page hit signal HIT is generated when a match is shown.

【0161】一致判定マスク位置レジスタ305には、
付勢対象のRAS線に対応するマスクデータがセットさ
れる。この一致判定マスク位置レジスタ305の内容
は、ページヒットせず、バンクミスまたはページミスが
発生した時に、その時にRASデコーダ122によって
付勢されるRAS線に対応するマスクデータに更新され
る。すなわち、バンクミスまたはページミスが発生する
と、タイミング制御回路125からレジスタ更新信号が
発生される。このレジスタ更新信号に応答して、その時
にRASデコーダ122によって選択されているレジス
タファイル301内のマスクデータが一致判定マスク位
置レジスタ305にラッチされる。これによって、一致
判定マスク位置レジスタ305の内容は、バンクミスま
たはページミスが発生したメモリサイクル時に付勢され
るRAS線に対応したマスクデータに変更される。
The match determination mask position register 305 stores
Mask data corresponding to the RAS line to be energized is set. The contents of the match determination mask position register 305 are updated to the mask data corresponding to the RAS line activated by the RAS decoder 122 when a bank miss or page miss occurs without a page hit. That is, when a bank miss or page miss occurs, the timing control circuit 125 generates a register update signal. In response to the register update signal, the mask data in the register file 301 selected by the RAS decoder 122 at that time is latched in the match determination mask position register 305. As a result, the contents of the match determination mask position register 305 are changed to the mask data corresponding to the RAS line activated at the memory cycle in which the bank miss or page miss occurs.

【0162】この様に構成されたページヒット判定回路
126によれば、DRAM論理アドレスではなく、CP
Uアドレスを用いて、今回のメモリアクセスが前回のメ
モリアクセスと同一バンク且つ同一ページであるか否か
を判定するページヒット判定が行われる。ページヒット
判定にCPUアドレスを利用することができるのは、前
述したようにアドレス変換回路121によるCPUアド
レスからDRAM論理アドレスへのアドレス変換の単位
がDRAMバンクのページサイズ以上の値に設定されて
いるからである。よって、アドレス変換動作とページヒ
ット判定動作とを並行して行うことが可能となり、ペー
ジヒット判定を高速に行うことができ、メモリアクセス
速度の高速化を実現することができる。
According to the page hit determination circuit 126 configured as described above, not the DRAM logical address but the CP
Using the U address, page hit determination is performed to determine whether or not the memory access this time is in the same bank and the same page as the previous memory access. The CPU address can be used for the page hit determination because, as described above, the unit of address conversion from the CPU address to the DRAM logical address by the address conversion circuit 121 is set to a value equal to or larger than the page size of the DRAM bank. Because. Therefore, the address translation operation and the page hit determination operation can be performed in parallel, the page hit determination can be performed at high speed, and the memory access speed can be increased.

【0163】また、タイミング制御回路125には、C
PU11によってリード/ライト可能なタイミング制御
レジスタ125が設けられている。このタイミング制御
レジスタ125aには、RASデコーダ122のRAS
デコードタイミングを指定する情報と、ページヒット判
定回路126のページヒット判定タイミングを指定する
情報とが設定され、その設定情報に従ってRASデコー
ダ122およびページヒット判定回路126の動作タイ
ミングが決定される。
Further, the timing control circuit 125 has a C
A timing control register 125 that can be read / written by the PU 11 is provided. The RAS of the RAS decoder 122 is stored in the timing control register 125a.
The information designating the decode timing and the information designating the page hit determination timing of the page hit determination circuit 126 are set, and the operation timings of the RAS decoder 122 and the page hit determination circuit 126 are determined according to the setting information.

【0164】通常、これらRASデコーダ122および
ページヒット判定回路126の動作タイミングは、CP
U11のアドレスのディレイ、バスのクロック、使用し
ている回路のプロセスなどにより固定的に決定されるの
で、これら条件が変わる度に設計変更が必要となる。し
かし、この実施形態では、RASデコーダ122および
ページヒット判定回路126の動作タイミングをソフト
ウェアによる設定で可変できるようにしているので、タ
イミングに影響する条件が変わっても設計変更する必要
がなくなる。
Normally, the operation timing of these RAS decoder 122 and page hit determination circuit 126 is CP
Since it is fixedly determined by the delay of the address of U11, the clock of the bus, the process of the circuit used, etc., a design change is required whenever these conditions change. However, in this embodiment, since the operation timings of the RAS decoder 122 and the page hit determination circuit 126 can be changed by setting by software, it is not necessary to change the design even if the condition affecting the timing changes.

【0165】また、タイミング制御回路125は、リフ
レッシュサイクルが間に入った場合などのようにアドレ
スが一致してもページヒットと判定してはならない場合
のことを考慮して、DRAM制御のステートマシンによ
って、「ページアクセス可能状態」と「ページアクセス
不可能状態」の2つの状態を管理できるように構成され
ている。現在の状態が「ページアクセス不可能状態」の
時、タイミング制御回路125はページヒット信号を無
効化する。
In addition, the timing control circuit 125 considers the case where a page hit should not be made even if the addresses match, such as when a refresh cycle comes in between. Is configured to be able to manage two states of "page accessible state" and "page inaccessible state". When the current state is the "page inaccessible state", the timing control circuit 125 invalidates the page hit signal.

【0166】「ページアクセス可能状態」とは、前回ア
クセスからのRASを出したままということである。
「ページアクセス可能状態」でない状態が「ページアク
セス不可能状態」である。システムリセット時は「ペー
ジアクセス不可能状態」である。
The "page accessible state" means that the RAS from the previous access is still output.
A state other than the "page accessible state" is the "page inaccessible state". When the system is reset, the page is inaccessible.

【0167】CPU11のアクセスの後は、リードであ
るかライトであるかに拘わらず、「ページアクセス可能
状態」となる。「ページアクセス可能状態」にある時の
次のCPU11のDRAMアクセスは、そのアドレスに
よって、ページヒット、バンクミス、ページミスのどれ
かになる。ページヒットの時は、高速に処理ができる。
「ページアクセス不可能状態」にある時の次のCPU1
1のDRAMアクセスは、そのアドレスには関係なくバ
ンクミスになる。
After the access by the CPU 11, regardless of whether it is a read or a write, the "page accessible state" is set. The next DRAM access of the CPU 11 in the "page accessible state" is either a page hit, a bank miss or a page miss depending on the address. When a page hits, it can be processed at high speed.
Next CPU1 when in "page inaccessible state"
A DRAM access of 1 results in a bank miss regardless of its address.

【0168】「ページアクセス不可能状態」になる要因
は、ホールドアクノリッジHLDA状態、DRAMシャ
ドーリフレッシュ、RASタイムアウト、システムリセ
ットである。したがって、タイミング制御回路125
は、CPU11からのアドレスストローブADS信号、
HLDA信号、リフレッシュタイマからのDRAMリフ
レッシュ信号DRAM、システムリセット信号等に従っ
て、「ページアクセス可能状態」と「ページアクセス不
可能状態」の2つのステートを管理する。
The factors causing the "page inaccessible state" are the hold acknowledge HLDA state, DRAM shadow refresh, RAS timeout, and system reset. Therefore, the timing control circuit 125
Is the address strobe ADS signal from the CPU 11,
According to the HLDA signal, the DRAM refresh signal DRAM from the refresh timer, the system reset signal, and the like, two states of "page accessible state" and "page inaccessible state" are managed.

【0169】また、タイミング制御回路125はRAS
タイムアウト回路を内蔵しており、一定時間(tRA
S)以上、RASイネーブル状態が続くと、「ページア
クセス可能状態」から「ページアクセス不可能状態」に
移行する。
Further, the timing control circuit 125 uses the RAS
It has a built-in time-out circuit, so
S) If the RAS enabled state continues, the "page accessible state" shifts to the "page inaccessible state".

【0170】現在の状態が「ページアクセス不可能状
態」の時は、ページヒット信号を無効化するために、タ
イミング制御回路125は、ページヒット判定用CPU
アドレスレジスタ302に保持されているメモリアドレ
ス値を、DRAMアクセスに使用されることがない値に
変更してもよい。
When the current state is the "page inaccessible state", the timing control circuit 125 uses the page hit determination CPU to invalidate the page hit signal.
The memory address value held in the address register 302 may be changed to a value that is not used for DRAM access.

【0171】さらに、タイミング制御回路125は、C
PU11以外の他のバスマスタがDRAMをアクセスす
る場合もページモードアクセスをサポートするために、
次の2つのモードを持ち、それらモードを動的に変更す
るように構成されている。
Further, the timing control circuit 125 has a C
In order to support page mode access even when a bus master other than PU11 accesses the DRAM,
It has the following two modes and is configured to change the modes dynamically.

【0172】(モード1)このモードはCPU11と他
のバスマスタが同一ページをアクセスすることはまれで
あるということを想定したものであり、バスマスタの切
り替わりに応答して、「ページアクセス可能状態」から
「ページアクセス不可能状態」に遷移して全てのRAS
をディスエーブルしておくモードである。これにより、
新たにRASをイネーブルするときのプリチャージ時間
を節約することができる。
(Mode 1) This mode is based on the assumption that the CPU 11 and another bus master rarely access the same page. In response to the bus master switching, the "page accessible state" is set. Transition to "page inaccessible state" and all RAS
This is a mode in which is disabled. This allows
Precharge time when newly enabling RAS can be saved.

【0173】(モード2)このモードはCPU11と他
のバスマスタが同一ページをアクセスするという使い方
を想定したモードである。例えば、バスマスタがライト
したデータをすぐにCPU11がリードするような場合
がこれに相当する。このモードでは、バスマスタが切り
替わっても「ページアクセス不可能状態」に遷移せずに
RASをイネーブルのまま保持するので、同一ページ内
への高速アクセスが可能となる。
(Mode 2) In this mode, the CPU 11 and another bus master are supposed to access the same page. For example, the case where the CPU 11 immediately reads the data written by the bus master corresponds to this. In this mode, even if the bus master is switched, the RAS remains enabled without transitioning to the "page inaccessible state", so that high-speed access to the same page is possible.

【0174】これらモードの一方を固定的に利用しても
よいが、モード1で動作中にページヒットしたからしれ
ないアドレスパターンが多い場合にはモード2に移行
し、またモード2で動作中にページヒットしないことが
多いならばモード1に移行するといった、ページヒット
結果を利用したモード切替を行うことが好ましい。
One of these modes may be fixedly used, but if there are many address patterns that may be due to page hits during operation in mode 1, the mode shifts to mode 2, and during operation in mode 2 It is preferable to perform mode switching using the page hit result, such as shifting to mode 1 if there are often no page hits.

【0175】また、図17のページヒット判定回路12
6においては、ページヒット判定用CPUアドレスレジ
スタ302には、CPUからのメモリアドレスと一緒に
そのメモリアドレスに対応するメモリアドレスエリアの
メモリ属性情報がライトアクセスとリードアクセスとで
異なるメモリデバイスを指定しているか否かを示す情報
とそのときのメモリアクセスがライトアクセスとリード
アクセスのいずれであるかを示すサイクル種別情報も保
持され、ライトアクセスとリードアクセスとでアクセス
対象のメモリデバイスが異なるときは、保持されている
メモリアドレスと今回のメモリアクセス時におけるCP
Uからのメモリアドレスとが一致し、且つ保持されてい
るサイクル種別情報と今回のメモリアクセスのサイクル
種別との一致が一致判定回路303によるページヒット
判定条件に加えられている。
The page hit determination circuit 12 shown in FIG.
6, the page hit determination CPU address register 302 specifies the memory address from the CPU and the memory device whose memory attribute information of the memory address area corresponding to the memory address is different between the write access and the read access. Information indicating whether or not the memory access is performed and the cycle type information indicating whether the memory access at that time is a write access or a read access is also held. Retained memory address and CP at this memory access
The coincidence between the memory address from U and the retained cycle type information and the cycle type of the current memory access is added to the page hit determination condition by the coincidence determination circuit 303.

【0176】すなわち、ライトアクセスとリードアクセ
スとでアクセス対象のメモリデバイスが異なるときは、
メモリアドレスの一致の有無だけでは、実際にはページ
ヒット判定を行うことができない。この場合、結果とし
てページヒット判定に時間がかかることになり、高速ペ
ージヒット判定のメリットを生かすことができなくな
る。
That is, when the memory device to be accessed differs between write access and read access,
The page hit judgment cannot be actually made only by the presence / absence of a match of the memory addresses. In this case, as a result, it takes a long time to determine the page hit, and it is not possible to take advantage of the high-speed page hit determination.

【0177】そこで、前述したように、この実施形態で
は、ライトアクセスとリードアクセスとでアクセス対象
のメモリデバイスが異なるときは、ライトかリードかの
サイクル種別情報についてもページヒット判定条件に加
えられている。以下、そのための構成について具体的に
説明する。
Therefore, as described above, in this embodiment, when the memory device to be accessed differs between the write access and the read access, the cycle type information of write or read is also added to the page hit determination condition. There is. Hereinafter, the configuration for that will be specifically described.

【0178】まず、図18を参照して、図17のメモリ
エリア属性テーブル127で管理されているCPU11
のメモリアドレス空間とメモリ属性情報との関係を説明
する。
First, referring to FIG. 18, the CPU 11 managed by the memory area attribute table 127 of FIG.
The relationship between the memory address space of and the memory attribute information will be described.

【0179】メモリエリア属性テーブル127によって
管理される1つのアドレスエリアのサイズは16Kバイ
トであり、図18に示されているように、CPUメモリ
アドレス空間00000000H〜0000FFFFH
は000000Hから順番にAREA00〜AREA6
3と定義される。
The size of one address area managed by the memory area attribute table 127 is 16 Kbytes, and as shown in FIG. 18, the CPU memory address space is 00000000H to 0000FFFFH.
Is AREA00-AREA6 in order from 000000H
Defined as 3.

【0180】これらAREA00〜AREA63の内、
DRAMを含む複数種のメモリデバイスが配置される可
能性があるAREA40〜AREA63に対応する各ア
トリビュートレジスタには、図19に示すような8ビッ
トの属性情報が設定される。図19に示されているよう
に、8ビットの属性情報のうち、bit7とbit6の
2ビットはリード属性情報(READ ATTRIBU
TE)、bit5とbit4の2ビットはライト属性情
報(WRITE ATTRIBUTE)、bit3はD
RAMライトプロテクト情報(WP)、bit2とbi
t1の2ビットはキャッシング制御情報(CASH)と
して使用される。
Of these AREA00 to AREA63,
8-bit attribute information as shown in FIG. 19 is set in each attribute register corresponding to AREA40 to AREA63 in which a plurality of types of memory devices including DRAM may be arranged. As shown in FIG. 19, of the 8-bit attribute information, 2 bits of bit7 and bit6 are read attribute information (READ ATTRIBU).
TE), 2 bits of bit5 and bit4 are write attribute information (WRITE ATTRIBUTE), and bit3 is D.
RAM write protect information (WP), bit2 and bi
2 bits of t1 are used as caching control information (CASH).

【0181】リード属性情報(READ ATTRIB
UTE)は、リードアクセス対象のメモリデバイスの種
類を示すものであり、図20に示されているように、そ
のbit7とbit6の2ビットの組み合わせによっ
て、DRAM、VLバス上のメモリ、PCIバス上のメ
モリ、ISAバス上のメモリのいずれかが指定される。
ライト属性情報(WRITE ATTRIBUTE)
は、ライトアクセス対象のメモリデバイスの種類を示す
ものであり、図21に示されているように、そのbit
5とbit4の2ビットの組み合わせによって、DRA
M、VLバス上のメモリ、PCIバス上のメモリ、IS
Aバス上のメモリのいずれかが指定される。
Read attribute information (READ ATTRIB
UTE) indicates the type of memory device to be read-accessed, and as shown in FIG. 20, by the combination of 2 bits of bit7 and bit6, DRAM, memory on the VL bus, PCI bus , Or the memory on the ISA bus is designated.
Write attribute information (WRITE ATTRIBUTE)
Indicates the type of memory device to be write-accessed, and as shown in FIG.
DRA is determined by the combination of 2 bits of 5 and bit 4.
M, memory on VL bus, memory on PCI bus, IS
One of the memories on the A bus is designated.

【0182】DRAMライトプロテクト情報(WP)
は、ライト属性情報によってDRAMがライトアクセス
対象のメモリデバイスとして指定されている時、図22
に示されているように、bit3の内容によってDRA
Mに対する書き込み保護を行うか否かを示す。
DRAM write protect information (WP)
22 indicates that the DRAM is specified as the memory device for the write access by the write attribute information.
As shown in, DRA depends on the contents of bit3.
Indicates whether or not write protection for M is performed.

【0183】キャッシング制御情報(CASH)は、リ
ード属性情報およびライト属性情報によって共にDRA
Mが指定されている時に於いて、そのRAMのキャッシ
ング操作の有効/無効を制御するためのものであり、図
23に示されているように、そのbit2とbit1の
2ビットの組み合わせによって、ライトバックキャシュ
イネーブル、ライトスルーキャシュイネーブル、キャシ
ュディセーブルのいずれかが指定される。例えば、VG
A BIOSや、システムBIOSがコピーされたDR
AMエリアについては、キャシュディセーブルの設定が
成される。
The caching control information (CASH) is both DRA according to the read attribute information and the write attribute information.
When M is specified, it is for controlling the validity / invalidity of the caching operation of the RAM, and as shown in FIG. 23, the write is performed by the combination of 2 bits of bit2 and bit1. One of back cache enable, write through cache enable, and cache disable is designated. For example, VG
DR in which A BIOS and system BIOS are copied
For the AM area, the cache disable setting is made.

【0184】ページヒット判定用CPUアドレスレジス
タ302には、CPU11からのメモリアドレスと一緒
にそのメモリアドレスに対応するメモリアドレスエリア
のメモリ属性情報がメモリエリア属性テーブル127か
ら読み込まれ、ライトアクセスとリードアクセスとで異
なるメモリデバイスを指定しているか否かを示す情報と
そのときのメモリアクセスがライトアクセスとリードア
クセスのいずれであるかを示すサイクル種別情報が合わ
せて保持される。ライトアクセスとリードアクセスとで
アクセス対象のメモリデバイスが異なるときは、保持さ
れているメモリアドレスと今回のメモリアクセス時にお
けるCPUからのメモリアドレスとが一致し、且つ保持
されているサイクル種別情報と今回のメモリアクセスの
サイクル種別との一致が一致判定回路303によるペー
ジヒット判定条件に加えられている。
The page hit determination CPU address register 302 is loaded with the memory address from the CPU 11 together with the memory attribute information of the memory address area corresponding to the memory address from the memory area attribute table 127. The information indicating whether or not different memory devices are designated by and the cycle type information indicating whether the memory access at that time is a write access or a read access are held together. When the memory device to be accessed differs between write access and read access, the held memory address matches the memory address from the CPU at the time of this memory access, and the held cycle type information and this time The coincidence with the memory access cycle type is added to the page hit determination condition by the coincidence determination circuit 303.

【0185】したがって、メモリ属性を高速に決定でき
るようになり、高速なページヒット判定を生かした高速
メモリアクセスが可能になる。
Therefore, the memory attribute can be determined at high speed, and high-speed memory access that makes use of high-speed page hit determination can be realized.

【0186】さらに、ページヒット判定用CPUアドレ
スレジスタ302には、前述の情報に加え、CPUから
のメモリアドレスに対応するメモリアドレスエリアのD
RAMライトプロテクト情報(WP)とキャッシング制
御情報(CASH)をさらに保持しておくことが望まし
い。これにより、ページヒット判定がなされると同時
に、次に実行すべきサイクルの種別を決定できる。
Further, in addition to the above-mentioned information, the page hit determination CPU address register 302 stores D in the memory address area corresponding to the memory address from the CPU.
It is desirable to further hold the RAM write protect information (WP) and the caching control information (CASH). As a result, the page hit determination is made and at the same time, the type of cycle to be executed next can be determined.

【0187】すなわち、ページヒットであると判定され
たときは、それと同時に次のようにサイクル種別が決定
される。
That is, when it is determined that there is a page hit, at the same time, the cycle type is determined as follows.

【0188】1.ライトページヒット非プロテクト これは、今回のメモリアクセスサイクルがライトサイク
ルであり、かつ保持されているライトプロテクト情報が
非ライトプロテクトを示している場合に実行されるサイ
クルであり、DRAMへの書き込みがページモードで実
行される。
1. Write page hit non-protect This is a cycle executed when the current memory access cycle is a write cycle and the held write protect information indicates non-write protect. Run in mode.

【0189】2.ライトページヒットプロテクト これは、今回のメモリアクセスサイクルがライトサイク
ルであり、かつ保持されているライトプロテクト情報が
ライトプロテクトを示している場合に実行されるサイク
ルであり、CASのアサートはおこなわれず、これによ
りライトプロテクトが実現される。
2. Write page hit protect This is a cycle executed when the current memory access cycle is a write cycle and the held write protect information indicates write protect, and CAS is not asserted. By this, write protection is realized.

【0190】3.リードページヒットシングル これは、今回のメモリアクセスサイクルがリードサイク
ルであり、かつ保持されているキャッシュ制御情報がキ
ャッシュ無効を示している場合に実行されるサイクルで
あり、DRAMからデータを読み出すリードサイクルが
ページモードで1回実行される。
3. Read page hit single This is a cycle executed when the current memory access cycle is a read cycle and the held cache control information indicates that the cache is invalid. The read cycle for reading data from the DRAM is Executed once in page mode.

【0191】4.リードページヒットバースト これは、今回のメモリアクセスサイクルがリードサイク
ルであり、かつ保持されているキャッシュ制御情報がキ
ャッシュ有効を示している場合に実行されるサイクルで
あり、DRAMから連続する複数のデータを読み出すバ
ーストリードサイクルがページモードで実行される。
4. Read page hit burst This is a cycle executed when the current memory access cycle is a read cycle and the held cache control information indicates that the cache is valid. The burst read cycle to read is executed in page mode.

【0192】ここで、ライトプロテクト情報およびキャ
ッシュ制御情報は、そのページに対して、バンクミスま
たはページミスによってRASを出しなおしたときに、
ページヒット判定用のCPUアドレスとともに記録して
おいたものである。これは、これらライトプロテクト情
報およびキャッシュ制御情報のデコード結果を待ってい
ては、ページヒット確定時間に間に合わないためであ
る。
Here, the write protect information and the cache control information are the same when the RAS is reissued for the page due to a bank miss or a page miss.
It is recorded together with the CPU address for page hit determination. This is because waiting for the decoding result of the write protect information and the cache control information will not be in time for the page hit confirmation time.

【0193】従って、リードサイクルのときのライトプ
ロテクト情報、およびライトサイクルのときのキャッシ
ュ制御情報にも意味がある。
Therefore, the write protect information in the read cycle and the cache control information in the write cycle also have meaning.

【0194】また、ページヒットしなかった場合には、
バンクミスかページミスかが判定され、バンクミスが決
定されると、それと同時に次のようにサイクル種別が決
定される。
If there is no page hit,
When a bank miss or a page miss is determined and the bank miss is determined, at the same time, the cycle type is determined as follows.

【0195】1.ライトバンクミス非プロテクト これは、今回のメモリアクセスサイクルがライトサイク
ルであり、かつ今回のメモリアドレスに対応するライト
プロテクト情報が非ライトプロテクトを示している場合
に実行されるサイクルであり、別のDRAMバンクに対
するRASがアサートされ、アーリーライトによってデ
ータ書き込みが実行される。
1. Write bank miss non-protection This is a cycle executed when the current memory access cycle is a write cycle and the write protect information corresponding to the current memory address indicates non-write protection. RAS for the bank is asserted, and the data write is executed by the early write.

【0196】2.ライトバンクミスプロテクト これは、今回のメモリアクセスサイクルがライトサイク
ルであり、かつ今回のメモリアドレスに対応するライト
プロテクト情報がライトプロテクトを示している場合に
実行されるサイクルであり、CASのアサートはおこな
われず、これによりライトプロテクトが実現される。
2. Write bank miss protect This is a cycle executed when the current memory access cycle is a write cycle and the write protect information corresponding to the current memory address indicates write protect, and CAS is not asserted. Without this, write protection is realized.

【0197】3.リードバンクミスシングル これは、今回のメモリアクセスサイクルがリードサイク
ルであり、かつ今回のメモリアドレスに対応するキャッ
シュ制御情報がキャッシュ無効を示している場合に実行
されるサイクルであり、別のDRAMバンクに対するR
ASがアサートされ、そのDRAMバンクからデータを
読み出すリードサイクルが1回実行される。
3. Read bank miss single This is a cycle executed when the current memory access cycle is a read cycle and the cache control information corresponding to the current memory address indicates that the cache is invalid. R
AS is asserted and one read cycle for reading data from the DRAM bank is executed.

【0198】4.リードバンクミスバースト これは、今回のメモリアクセスサイクルがリードサイク
ルであり、かつ今回のメモリアドレスに対応するキャッ
シュ制御情報がキャッシュ有効を示している場合に実行
されるサイクルであり、別のDRAMバンクに対するR
ASがアサートされた後、そのDRAMバンクから連続
する複数のデータを読み出すバーストリードサイクルが
実行される。
4. Read bank miss burst This is a cycle executed when the current memory access cycle is a read cycle and the cache control information corresponding to the current memory address indicates that the cache is valid. R
After AS is asserted, a burst read cycle for reading a plurality of consecutive data from the DRAM bank is executed.

【0199】ここで、ライトプロテクト情報およびキャ
ッシュ制御情報は、今回アクセスされるページに対し
て、定義されるデコード信号であり、次以降のアクセス
のために、ページヒット判定用のCPUアドレスととも
に記録される。
Here, the write protect information and cache control information are decode signals defined for the page accessed this time, and are recorded together with the CPU address for page hit determination for the subsequent accesses. It

【0200】また、ページミスが決定されると、それと
同時に次のようにサイクル種別が決定される。
When a page miss is determined, at the same time, the cycle type is determined as follows.

【0201】1.ライトページミス非プロテクト これは、今回のメモリアクセスサイクルがライトサイク
ルであり、かつ今回のメモリアドレスに対応するライト
プロテクト情報が非ライトプロテクトを示している場合
に実行されるサイクルであり、同一DRAMバンクに対
するRASがアサートし直され、アーリーライトによっ
てデータ書き込みが実行される。
1. Write page miss non-protection This is a cycle executed when the memory access cycle this time is a write cycle and the write protect information corresponding to the memory address this time indicates non-write protection. RAS for is re-asserted, and the data write is executed by the early write.

【0202】2.ライトページミスプロテクト これは、今回のメモリアクセスサイクルがライトサイク
ルであり、かつ今回のメモリアドレスに対応するライト
プロテクト情報がライトプロテクトを示している場合に
実行されるサイクルであり、CASのアサートはおこな
われず、これによりライトプロテクトが実現される。
2. Write page miss protect This is a cycle executed when the current memory access cycle is the write cycle and the write protect information corresponding to the current memory address indicates the write protect, and CAS is not asserted. Without this, write protection is realized.

【0203】3.リードページミスシングル これは、今回のメモリアクセスサイクルがリードサイク
ルであり、かつ今回のメモリアドレスに対応するキャッ
シュ制御情報がキャッシュ無効を示している場合に実行
されるサイクルであり、同一DRAMバンクに対するR
ASがアサートし直され、そのDRAMバンクからデー
タを読み出すリードサイクルが1回実行される。
3. Read page miss single This is a cycle executed when the current memory access cycle is a read cycle and the cache control information corresponding to the current memory address indicates that the cache is invalid.
AS is reasserted and one read cycle for reading data from the DRAM bank is executed.

【0204】4.リードページミスバースト これは、今回のメモリアクセスサイクルがリードサイク
ルであり、かつ今回のメモリアドレスに対応するキャッ
シュ制御情報がキャッシュ有効を示している場合に実行
されるサイクルであり、同一DRAMバンクに対するR
ASがアサートし直された後、そのDRAMバンクから
連続する複数のデータを読み出すバーストリードサイク
ルが実行される。
4. Read page miss burst This is a cycle executed when the current memory access cycle is the read cycle and the cache control information corresponding to the current memory address indicates that the cache is valid.
After AS is reasserted, a burst read cycle for reading a plurality of consecutive data from the DRAM bank is executed.

【0205】ここで、ライトプロテクト情報およびキャ
ッシュ制御情報は、今回アクセスされるページに対し
て、定義されるデコード信号であり、次以降のアクセス
のために、ページヒット判定用のCPUアドレスととも
に記録される。
Here, the write protect information and the cache control information are decode signals defined for the page accessed this time, and are recorded together with the CPU address for page hit determination for the subsequent accesses. It

【0206】以上説明したように、この実施形態によれ
ば、ページヒット判定回路126により、DRAM論理
アドレスではなく、CPUアドレスを用いて、今回のメ
モリアクセスが前回のメモリアクセスと同一バンク且つ
同一ページであるか否かを判定するページヒット判定が
行われる。よって、アドレス変換動作とページヒット判
定動作とを並行して行うことが可能となり、ページヒッ
ト判定を高速に行うことができ、メモリアクセス速度の
高速化を実現することができる。
As described above, according to this embodiment, the page hit determination circuit 126 uses the CPU address instead of the DRAM logical address so that the current memory access is in the same bank and same page as the previous memory access. A page hit determination is performed to determine whether or not Therefore, the address translation operation and the page hit determination operation can be performed in parallel, the page hit determination can be performed at high speed, and the memory access speed can be increased.

【0207】また、メモリ属性情報をページヒット判定
用のCPUアドレスと一緒に保持しておくことにより、
さらに高速のページヒット判定および次のサイクル種別
の決定が可能となる。
By storing the memory attribute information together with the CPU address for page hit determination,
It is possible to determine the page hit at a higher speed and determine the next cycle type.

【0208】[0208]

【発明の効果】以上説明したように、この発明によれ
ば、ページヒット判定を高速に実行できるようになり、
メモリアクセス速度の高速化を実現することができる。
As described above, according to the present invention, page hit determination can be executed at high speed.
The memory access speed can be increased.

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

【図1】この発明の一実施例に係るコンピュータシステ
ムの構成を示すブロック図。
FIG. 1 is a block diagram showing a configuration of a computer system according to one embodiment of the present invention.

【図2】同実施例のシステムに設けられているシステム
コントローラ内のメモリ制御ロジックを示すブロック
図。
FIG. 2 is a block diagram showing a memory control logic in a system controller provided in the system of the embodiment.

【図3】図2のメモリ制御ロジックに含まれるアドレス
変換回路によって実行されるCPUメモリアドレス空間
からDRAM論理アドレス空間への変換動作の示す図。
FIG. 3 is a diagram showing a conversion operation from a CPU memory address space to a DRAM logical address space, which is executed by an address conversion circuit included in the memory control logic of FIG.

【図4】同実施例のシステムに設けられている複数のD
RAMバンクがDRAM論理アドレス空間にメモリサイ
ズ順に再配置された状態を表すDRAMメモリマップを
示す図。
FIG. 4 shows a plurality of Ds provided in the system of the embodiment.
The figure which shows the DRAM memory map showing the state where the RAM bank was rearranged in the DRAM logical address space in order of memory size.

【図5】同実施例のシステムに設けられている複数のD
RAMバンクに接続されるRAS線それぞれのデコード
条件を示す図。
FIG. 5 shows a plurality of Ds provided in the system of the embodiment.
The figure which shows the decoding condition of each RAS line connected to a RAM bank.

【図6】同実施例のシステムでページインタリーブアー
キテクチャを実現する場合に採用されるRAS線それぞ
れのデコード条件を示す図。
FIG. 6 is a diagram showing decoding conditions of each RAS line adopted when realizing a page interleave architecture in the system of the embodiment.

【図7】同実施例のシステムのパワーオン時にIRTル
ーチンによって実行されるメモリ制御ロジックのための
初期設定処理の手順を示すフローチャート。
FIG. 7 is an exemplary flowchart showing the procedure of an initialization process for the memory control logic executed by the IRT routine when the system of the embodiment is powered on.

【図8】同実施例のシステムでサポートされるDRAM
バンクの種類の一例を示す図。
FIG. 8 is a DRAM supported by the system of the embodiment.
The figure which shows an example of the kind of bank.

【図9】同実施例のシステムのシステムボード上に標準
実装されたシステムメモリのメモリ構成の一例を示す
図。
FIG. 9 is a diagram showing an example of a memory configuration of a system memory standardly mounted on the system board of the system of the embodiment.

【図10】同実施例のシステムに設けられた拡張メモリ
スロットに装着される増設メモリのメモリ構成の一例を
示す図。
FIG. 10 is a diagram showing an example of a memory configuration of an extension memory installed in an extension memory slot provided in the system of the embodiment.

【図11】同実施例のシステムに設けられた拡張メモリ
スロットに装着される増設メモリの他のメモリ構成の一
例を示す図。
FIG. 11 is a diagram showing an example of another memory configuration of the additional memory mounted in the expansion memory slot provided in the system of the embodiment.

【図12】図7のメモリ制御ロジックの初期設定処理に
おいて実行される各DRAMバンクのメモリサイズ検出
処理の手順を示すフローチャート。
12 is a flowchart showing the procedure of a memory size detection process for each DRAM bank, which is executed in the initialization process of the memory control logic of FIG. 7.

【図13】図2のメモリ制御ロジックに含まれるRAS
デコーダの具体的構成の一例を示す回路図。
FIG. 13 is a RAS included in the memory control logic of FIG.
FIG. 6 is a circuit diagram showing an example of a specific configuration of a decoder.

【図14】図2のメモリ制御ロジックに含まれるロウア
ドレス/カラムアドレスマルチプレクサの具体的構成の
一例を示す回路図。
14 is a circuit diagram showing an example of a specific configuration of a row address / column address multiplexer included in the memory control logic of FIG.

【図15】図14のロウアドレス/カラムアドレスマル
チプレクサのロウアドレス切り替え動作を説明するため
の図。
15 is a diagram for explaining a row address switching operation of the row address / column address multiplexer in FIG.

【図16】図2のメモリ制御ロジックに含まれるロウア
ドレス/カラムアドレスマルチプレクサの具体的構成の
他の例を示す回路図。
16 is a circuit diagram showing another example of a specific configuration of a row address / column address multiplexer included in the memory control logic of FIG.

【図17】図2のメモリ制御ロジックに含まれるページ
ヒット判定回路の具体的構成の一例を示す回路図。
FIG. 17 is a circuit diagram showing an example of a specific configuration of a page hit determination circuit included in the memory control logic of FIG.

【図18】同実施形態のシステムによって管理されるメ
モリ属性情報とCPUメモリアドレス空間との関係を示
す図。
FIG. 18 is an exemplary view showing a relationship between memory attribute information managed by the system of the embodiment and a CPU memory address space.

【図19】図18のメモリ属性情報のフォーマットを示
す図。
FIG. 19 is a diagram showing a format of memory attribute information of FIG. 18;

【図20】図18のメモリ属性情報に含まれるリード属
性情報の内容を示す図。
20 is a diagram showing the content of read attribute information included in the memory attribute information of FIG. 18;

【図21】図18のメモリ属性情報に含まれるライト属
性情報の内容を示す図。
FIG. 21 is a diagram showing the contents of write attribute information included in the memory attribute information of FIG. 18;

【図22】図18のメモリ属性情報に含まれるDRAM
ライトプロテクト情報の内容を示す図。
FIG. 22 is a DRAM included in the memory attribute information of FIG. 18;
The figure which shows the content of the write protect information.

【図23】図18のメモリ属性情報に含まれるキャッシ
ング制御情報の内容を示す図。
23 is a diagram showing the content of caching control information included in the memory attribute information of FIG. 18;

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

11…CPU、12…システムコントローラ、13…シ
ステムメモリ、21,22…拡張メモリスロット、31
…CPUローカルバス、33…メモリアドレスバス、4
1,42…増設メモリ、120…メモリ制御ロジック、
121…アドレス変換回路、122…RASデコーダ、
123…ロウアドレス/カラムアドレスマルチプレク
サ、124…CAS発生回路、125…タイミング制御
回路、126…ページヒット判定回路、51〜56…R
ASデコード回路、71〜79…一致検出回路、81〜
89…マスク回路、91…AND回路、201,301
…レジスタファイル、202…パターンデコーダ、20
3…ロウアドレスセレクタ、204〜207…ロウアド
レス開始位置切り替え回路、208…ロウアドレス/カ
ラムアドレスセレクタ、302…ページヒット判定用C
PUアドレスレジスタ、303…一致判定回路、304
…マスク回路、305…一致判定マスク位置レジスタ。
11 ... CPU, 12 ... System controller, 13 ... System memory, 21, 22 ... Expansion memory slot, 31
... CPU local bus, 33 ... Memory address bus, 4
1, 42 ... Expansion memory, 120 ... Memory control logic,
121 ... Address conversion circuit, 122 ... RAS decoder,
123 ... Row address / column address multiplexer, 124 ... CAS generation circuit, 125 ... Timing control circuit, 126 ... Page hit determination circuit, 51-56 ... R
AS decode circuit, 71 to 79 ... Match detection circuit, 81 to
89 ... Mask circuit, 91 ... AND circuit, 201, 301
... register file, 202 ... pattern decoder, 20
3 ... Row address selector, 204 to 207 ... Row address start position switching circuit, 208 ... Row address / column address selector, 302 ... Page hit determination C
PU address register, 303 ... Match determination circuit, 304
... mask circuit, 305 ... match determination mask position register.

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 複数のRAS信号がそれぞれ割り当てら
れ、互いに独立してアクセス可能な複数のDRAMバン
クと、 これらDRAMバンクのページサイズ以上の変換単位
で、CPUからのメモリアドレスを、前記複数のDRA
Mバンクに連続して割り当てられたDRAM論理アドレ
スに変換するアドレス変換手段と、 前回のメモリアクセス時におけるCPUからのメモリア
ドレスを保持し、そのメモリアドレスと今回のメモリア
クセス時におけるCPUからのメモリアドレスとを比較
し、一致した時に今回のメモリアクセスが前回のメモリ
アクセスと同一バンク且つ同一ページであることを示す
ページヒット信号を出力するページヒット判定手段と、 前記アドレス変換手段から出力されるDRAM論理アド
レスをデコードして、どのDRAMバンクのRAS信号
を出力するかを決定するRASデコーダであって、前記
ぺージヒット信号が出力された時、DRAMページモー
ドアクセスのためのRAS信号出力制御を行うRASデ
コーダとを具備することを特徴するメモリ制御システ
ム。
1. A plurality of DRAM banks to which a plurality of RAS signals are respectively assigned and which can be accessed independently of each other, and memory addresses from a CPU are converted into memory addresses from a CPU in a conversion unit of a page size of these DRAM banks or more.
Address conversion means for converting to a DRAM logical address continuously assigned to M banks, and a memory address from the CPU at the time of the last memory access is held, and the memory address and the memory address from the CPU at the time of this memory access And a page hit determination unit that outputs a page hit signal indicating that the current memory access is in the same bank and the same page as the previous memory access when they match, and the DRAM logic output from the address conversion unit. A RAS decoder that decodes an address and determines which RAS signal of the DRAM bank is to be output, wherein the RAS decoder performs RAS signal output control for DRAM page mode access when the page hit signal is output. And comprising Mori control system.
【請求項2】 前記CPUのホールドアクノリッジサイ
クル、DRAMリフレッシュサイクル、RASタイムア
ウト、またはシステムリセットに従って、DRAMペー
ジモードアクセスが可能なページアクセス可能状態と前
記DRAMページモードアクセスが不可能なページアク
セス不可能状態との2つの状態を管理し、現在の状態が
前記ページアクセス不可能状態の時、前記ページヒット
信号を無効化する手段をさらに具備することを特徴とす
る請求項1記載のメモリ制御システム。
2. A page accessible state in which DRAM page mode access is possible and a page inaccessible state in which DRAM page mode access is not possible according to the hold acknowledge cycle, DRAM refresh cycle, RAS timeout or system reset of the CPU. 2. The memory control system according to claim 1, further comprising means for managing the two states, and invalidating the page hit signal when the current state is the page inaccessible state.
【請求項3】 前記CPUによってアドレッシング可能
なメモリアドレス空間を構成する複数のメモリアドレス
エリアそれぞれについて、リードアクセスを許可すべき
メモリデバイスの種類を指定する情報とライトアクセス
を許可すべきメモリデバイスの種類を指定する情報とを
含むメモリ属性情報が定義されたメモリ属性テーブルを
さらに具備し、 前記ページヒット判定手段は、 前回のメモリアクセス時におけるCPUからのメモリア
ドレスと一緒にそのメモリアドレスに対応するメモリア
ドレスエリアの前記メモリ属性情報がライトアクセスと
リードアクセスとで異なるメモリデバイスを指定してい
るか否かを示す情報とそのときのメモリアクセスがライ
トアクセスとリードアクセスのいずれであるかを示すサ
イクル種別情報を保持し、ライトアクセスとリードアク
セスとでアクセス対象のメモリデバイスが異なるとき
は、保持されているメモリアドレスと今回のメモリアク
セス時におけるCPUからのメモリアドレスとが一致
し、且つ保持されている前記サイクル種別情報と今回の
メモリアクセスのサイクル種別との一致を条件に、前記
ページヒット信号を出力することを特徴とする請求項1
記載のメモリ制御システム。
3. For each of a plurality of memory address areas forming a memory address space addressable by the CPU, information specifying the type of memory device to which read access is permitted and the type of memory device to which write access is permitted. Further comprising a memory attribute table in which memory attribute information including information designating a memory area is defined, and the page hit determination means is a memory address corresponding to the memory address from the CPU at the time of the last memory access. Information indicating whether the memory attribute information of the address area specifies different memory devices for write access and read access, and cycle type information indicating whether the memory access at that time is write access or read access Hold When the memory device to be accessed differs between the write access and the read access, the held memory address matches the memory address from the CPU at the time of the current memory access, and the cycle type information is held. 2. The page hit signal is output on condition that the cycle type of the current memory access matches.
The described memory control system.
【請求項4】 前記CPUによってアドレッシング可能
なメモリアドレス空間を構成する複数のメモリアドレス
エリアそれぞれについて、ライトプロテクトがなされて
いるか否かを示すライトプロテクト情報とキャッシュメ
モリを使用したキャッシング操作が有効か否かを示すキ
ャッシュ情報とを含むメモリ属性情報が定義されたメモ
リ属性テーブルをさらに具備し、 前記ページヒット判定手段は、 前回のメモリアクセス時におけるCPUからのメモリア
ドレスと一緒にそのメモリアドレスに対応するメモリア
ドレスエリアの前記メモリ属性情報を保持し、ページヒ
ット判定結果と、保持されている前記メモリ属性情報と
に基づいて、次に実行すべきサイクルの種別を決定する
ことを特徴とする請求項1記載のメモリ制御システム。
4. The write protection information indicating whether or not write protection is performed for each of a plurality of memory address areas forming a memory address space addressable by the CPU, and whether or not a caching operation using a cache memory is valid. Further comprising a memory attribute table defining memory attribute information including cache information indicating whether the page hit determination means corresponds to the memory address from the CPU at the time of the last memory access together with the memory address. 2. The memory attribute information of the memory address area is held, and the type of cycle to be executed next is determined based on the page hit determination result and the held memory attribute information. The described memory control system.
【請求項5】 前記CPUによってプログラム可能に構
成され、前記ページヒット判定手段および前記RASデ
コーダそれぞれの動作タイミングを指定するタイミング
指定情報が設定されるレジスタを具備し、 前記ページヒット判定手段および前記RASデコーダそ
れぞれの動作タイミングをソフトウェアによる設定で可
変できるようにしたことを特徴とする請求項1記載のメ
モリ制御システム。
5. A register configured to be programmable by the CPU, in which timing designation information for designating operation timing of each of the page hit determination means and the RAS decoder is set, the page hit determination means and the RAS. 2. The memory control system according to claim 1, wherein the operation timing of each decoder can be changed by setting by software.
【請求項6】 前記CPUのホールドアクノリッジサイ
クル、DRAMリフレッシュサイクル、RASタイムア
ウト、またはシステムリセットに従って、DRAMペー
ジモードアクセスが可能なページアクセス可能状態と前
記DRAMページモードアクセスが不可能なページアク
セス不可能状態との2つの状態を管理し、現在の状態が
前記ページアクセス不可能状態の時、前記ページヒット
判定手段に保持されているメモリアドレス値を、DRA
Mアクセスに使用されることがない値に変更する手段を
さらに具備することを特徴とする請求項1記載のメモリ
制御システム。
6. A page accessible state in which DRAM page mode access is possible and a page inaccessible state in which DRAM page mode access is not possible according to the hold acknowledge cycle, DRAM refresh cycle, RAS timeout, or system reset of the CPU. And the current state is the page inaccessible state, the memory address value held in the page hit determination means is changed to DRA.
The memory control system according to claim 1, further comprising means for changing to a value that is not used for M access.
【請求項7】 前記CPUのホールドアクノリッジサイ
クル、DRAMリフレッシュサイクル、RASタイムア
ウト、またはシステムリセットに従って、DRAMペー
ジモードアクセスが可能なページアクセス可能状態と前
記DRAMページモードアクセスが不可能なページアク
セス不可能状態との2つの状態を管理し、現在の状態が
前記ページアクセス不可能状態の時は前記ページヒット
信号を無効にするために前記RASデコーダの全てのR
AS信号出力をディスエーブルする状態管理手段であっ
て、前記DRAMバンクをアクセスするバスマスタが前
記CPUとそれ以外の他のバスマスタとの間で切り替わ
るとき、そのバスマスタの切り替わりに応答して前記ペ
ージアクセス可能状態からページアクセス不可能状態に
遷移する第1モードと遷移しない第2モードとを有し、
それら2つのモードを選択的に使用可能に構成された状
態管理手段をさらに具備することを特徴とする請求項1
記載のメモリ制御システム。
7. A page accessible state in which DRAM page mode access is possible and a page inaccessible state in which DRAM page mode access is not possible according to the hold acknowledge cycle, DRAM refresh cycle, RAS timeout or system reset of the CPU. All the R's of the RAS decoder for invalidating the page hit signal when the current state is the page inaccessible state.
State management means for disabling the AS signal output, wherein when the bus master accessing the DRAM bank switches between the CPU and another bus master other than the CPU, the page access is possible in response to the switching of the bus master. Has a first mode in which the state transits to a page inaccessible state and a second mode in which the state does not transit,
The state management means configured to selectively use the two modes is further provided.
The described memory control system.
JP33186295A 1995-12-20 1995-12-20 Memory control system Expired - Fee Related JP3614956B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33186295A JP3614956B2 (en) 1995-12-20 1995-12-20 Memory control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33186295A JP3614956B2 (en) 1995-12-20 1995-12-20 Memory control system

Publications (2)

Publication Number Publication Date
JPH09171484A true JPH09171484A (en) 1997-06-30
JP3614956B2 JP3614956B2 (en) 2005-01-26

Family

ID=18248485

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33186295A Expired - Fee Related JP3614956B2 (en) 1995-12-20 1995-12-20 Memory control system

Country Status (1)

Country Link
JP (1) JP3614956B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6938118B1 (en) 1998-10-28 2005-08-30 Imsys Technologies Ab Controlling access to a primary memory
WO2023092946A1 (en) * 2021-11-23 2023-06-01 苏州浪潮智能科技有限公司 Memory patrol inspection method and apparatus, and medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6938118B1 (en) 1998-10-28 2005-08-30 Imsys Technologies Ab Controlling access to a primary memory
WO2023092946A1 (en) * 2021-11-23 2023-06-01 苏州浪潮智能科技有限公司 Memory patrol inspection method and apparatus, and medium

Also Published As

Publication number Publication date
JP3614956B2 (en) 2005-01-26

Similar Documents

Publication Publication Date Title
US5706407A (en) System for reallocation of memory banks in memory sized order
JP3590413B2 (en) Memory controller
US5509138A (en) Method for determining speeds of memory modules
US5329629A (en) Apparatus and method for reading, writing, and refreshing memory with direct virtual or physical access
CA2011518C (en) Distributed cache dram chip and control method
US4849875A (en) Computer address modification system with optional DMA paging
US5809280A (en) Adaptive ahead FIFO with LRU replacement
US7120754B2 (en) Synchronous DRAM with selectable internal prefetch size
US6170070B1 (en) Test method of cache memory of multiprocessor system
US5848258A (en) Memory bank addressing scheme
US5497458A (en) Cache testability circuit for embedded diagnostics
US5329489A (en) DRAM having exclusively enabled column buffer blocks
US6678790B1 (en) Microprocessor chip having a memory that is reconfigurable to function as on-chip main memory or an on-chip cache
US5367655A (en) Memory and associated method including an operating mode for simultaneously selecting multiple rows of cells
US5101339A (en) Computer address modification system using writable mapping and page stores
US5862320A (en) SDRAM DIMM presence detect interface
US5854943A (en) Speed efficient cache output selector circuitry based on tag compare and data organization
JPH05108484A (en) Cache memory
US6292867B1 (en) Data processing system
JP3540388B2 (en) Computer system
JP3614956B2 (en) Memory control system
JP2001256109A (en) Method and device for controlling integrated cache port
EP0310446A2 (en) Cache memory management method
US5960456A (en) Method and apparatus for providing a readable and writable cache tag memory
US5249277A (en) Optimized performance memory method and system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040810

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041004

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041026

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041028

LAPS Cancellation because of no payment of annual fees