JPH05210580A - コンピューターシステム内のメモリをインターリーブ化するシステムおよび方法 - Google Patents
コンピューターシステム内のメモリをインターリーブ化するシステムおよび方法Info
- Publication number
- JPH05210580A JPH05210580A JP24600092A JP24600092A JPH05210580A JP H05210580 A JPH05210580 A JP H05210580A JP 24600092 A JP24600092 A JP 24600092A JP 24600092 A JP24600092 A JP 24600092A JP H05210580 A JPH05210580 A JP H05210580A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- board
- address
- bus
- boards
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1647—Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
Abstract
(57)【要約】
【目的】コンピューターシステム用のメモリボードを与
える。 【構成】このメモリボード16は少なくとも一つの類似
のメモリボード18と並列にシステムバス14に接続可
能である。このボードは該バス上のアドレスに応答する
メモリコントローラ21を含み、そのコントローラは、
少なくとも一つの他のボードとこのボードをインターリ
ーブ化する。またこのボードは、メモリバンクBANK
0-3を分割することができるRAM20を具える。
える。 【構成】このメモリボード16は少なくとも一つの類似
のメモリボード18と並列にシステムバス14に接続可
能である。このボードは該バス上のアドレスに応答する
メモリコントローラ21を含み、そのコントローラは、
少なくとも一つの他のボードとこのボードをインターリ
ーブ化する。またこのボードは、メモリバンクBANK
0-3を分割することができるRAM20を具える。
Description
【0001】
【産業上の利用分野】本発明はコンピューターシステム
内のデータへのアクセス性能に関し、特にメモリのイン
ターリーブ化に関する。
内のデータへのアクセス性能に関し、特にメモリのイン
ターリーブ化に関する。
【0002】
【従来の技術】多くの高性能コンピューターシステムは
システムバスに接続された多重メモリボードを使用す
る。これらボードはシステムによっては「ハード的に接
続され」ており、また別のシステムではいわゆる「拡張
スロット」を通してバスに接続される。拡張スロットは
必要に応じてメモリボードを追加/除去することを可能
にする。多くのシステムは固定ボードとリムーバブルボ
ード(脱着式ボード)を使用する。拡張ボードの主な利
点の一つはユーザーにとってそれらの経費と性能の均衡
を図ることができる点である。拡張メモリを使用すれば
止むことのないソフトのメモリ増大傾向にハードウェア
を追随させることができる。
システムバスに接続された多重メモリボードを使用す
る。これらボードはシステムによっては「ハード的に接
続され」ており、また別のシステムではいわゆる「拡張
スロット」を通してバスに接続される。拡張スロットは
必要に応じてメモリボードを追加/除去することを可能
にする。多くのシステムは固定ボードとリムーバブルボ
ード(脱着式ボード)を使用する。拡張ボードの主な利
点の一つはユーザーにとってそれらの経費と性能の均衡
を図ることができる点である。拡張メモリを使用すれば
止むことのないソフトのメモリ増大傾向にハードウェア
を追随させることができる。
【0003】通常、メモリボードは各々にメモリコント
ローラと多数のデータ格納用ダイナミックRAM(DR
AM)とを含む。ボードの格納容量は設置されたDRA
Mチップの個数と容量とに依存する。
ローラと多数のデータ格納用ダイナミックRAM(DR
AM)とを含む。ボードの格納容量は設置されたDRA
Mチップの個数と容量とに依存する。
【0004】メモリアクセスを高速化するために、メモ
リインターリービング(memory inteleaving)と呼ばれ
る方法が知られている。インターリービングとは、連続
するデータエレメントを交互のバンクに格納すべく、メ
モリコントローラに接続されたDRAMチップを複数
(2の倍数)のバンクに分割する方法である。各バンク
はそれ自身のメモリアドレスとデータバッファレジスタ
とを有する。DRAMコントローラは到来するアドレス
を検査し、それに応じた正しいバンクを選択する。例え
ばもしもDRAMが二つのバンクに分割されると、バン
クの一つは奇数に指定され、他方が偶数に指定される。
DRAMコントローラはアドレスの偶奇を認識し、適切
なバンクを選択する。偶/奇のインターリービング化は
しばしば2-ウェイ インターリービング(two-way inte
rleaving)と呼ばれる。その理由は連続するアドレス
(consecutive addresses)に対して二つのバンクがあ
るからである。4-ウェイ(four-way )インターリービン
グは四つのバンクを必要とし、四つ毎のアドレスが一つ
のバンクを選択する。
リインターリービング(memory inteleaving)と呼ばれ
る方法が知られている。インターリービングとは、連続
するデータエレメントを交互のバンクに格納すべく、メ
モリコントローラに接続されたDRAMチップを複数
(2の倍数)のバンクに分割する方法である。各バンク
はそれ自身のメモリアドレスとデータバッファレジスタ
とを有する。DRAMコントローラは到来するアドレス
を検査し、それに応じた正しいバンクを選択する。例え
ばもしもDRAMが二つのバンクに分割されると、バン
クの一つは奇数に指定され、他方が偶数に指定される。
DRAMコントローラはアドレスの偶奇を認識し、適切
なバンクを選択する。偶/奇のインターリービング化は
しばしば2-ウェイ インターリービング(two-way inte
rleaving)と呼ばれる。その理由は連続するアドレス
(consecutive addresses)に対して二つのバンクがあ
るからである。4-ウェイ(four-way )インターリービン
グは四つのバンクを必要とし、四つ毎のアドレスが一つ
のバンクを選択する。
【0005】インターリービングの利点は、一方のメモ
リバンクが先行のアクセスを実行している間、他のメモ
リバンクが選択できることである。このようにして連続
的メモリアクセスに必要な時間が顕著に低減できる。こ
れは連続的ロケーションにインストラクション(指令)
およびデータを配置する大抵のコンピューターについて
言えることである。
リバンクが先行のアクセスを実行している間、他のメモ
リバンクが選択できることである。このようにして連続
的メモリアクセスに必要な時間が顕著に低減できる。こ
れは連続的ロケーションにインストラクション(指令)
およびデータを配置する大抵のコンピューターについて
言えることである。
【0006】普通、コンピューターシステムの各メモリ
ボードは他のボードのアドレスまたはコンピューターシ
ステムが使用するアドレスと重複しないメモリアドレス
領域またはブロックを割当てる。各ボードは、与えられ
たアドレスに応答すべきか否かを決定するための領域検
出回路を具えている。メモリブロックのサイズは当該ボ
ードの接続されているDRAMチップの容量に依存す
る。各ボードのアドレス領域を設定する方法は多数知ら
れている。例えばアドレス領域は前記検出器中にハード
的に組み込むことができ、あるいは手動でスイッチの切
り替えによりプログラム化できる。システムによっては
コンピューターが電力投入されたときメモリを検査し、
各ボード上のレジスタにコンフィギュレーションデータ
を与えることにより各ボード毎に領域を動的に設定す
る。
ボードは他のボードのアドレスまたはコンピューターシ
ステムが使用するアドレスと重複しないメモリアドレス
領域またはブロックを割当てる。各ボードは、与えられ
たアドレスに応答すべきか否かを決定するための領域検
出回路を具えている。メモリブロックのサイズは当該ボ
ードの接続されているDRAMチップの容量に依存す
る。各ボードのアドレス領域を設定する方法は多数知ら
れている。例えばアドレス領域は前記検出器中にハード
的に組み込むことができ、あるいは手動でスイッチの切
り替えによりプログラム化できる。システムによっては
コンピューターが電力投入されたときメモリを検査し、
各ボード上のレジスタにコンフィギュレーションデータ
を与えることにより各ボード毎に領域を動的に設定す
る。
【0007】システムメモリから受けたコードの実行に
際して、アプリケーションプログラムは同一メモリボー
ド上の連続メモリロケーションにアクセスするのが通例
である。しかし、同一メモリボードへの読み取りリクエ
ストおよび書き込みリクエストはボトルネック(bottle
neck、隘路)を起こしかねない。例えば読み取りに続
いてメモリへのポストされた書き込み(posted write
以下、ポスト書き込みという)を考えてみよう。ポスト
書き込みとは、メモリコントローラが迅速にレジスタ内
にデータエレメントを格納してからシステムバスを開放
する書き込みである。次いでそのメモリコントローラは
他のオペレーションをシステムバス上に保持することな
くそのデータエレメントを書き込む。しかしもしも次の
オペレーションが当該メモリボードからのデータ読み取
りリクエストであると、そのデータエレメントがDRA
Mに書き込みされる間、遅延が起きる。したがってポス
ト書き込みにより節約されたはずの時間が失われてしま
う。
際して、アプリケーションプログラムは同一メモリボー
ド上の連続メモリロケーションにアクセスするのが通例
である。しかし、同一メモリボードへの読み取りリクエ
ストおよび書き込みリクエストはボトルネック(bottle
neck、隘路)を起こしかねない。例えば読み取りに続
いてメモリへのポストされた書き込み(posted write
以下、ポスト書き込みという)を考えてみよう。ポスト
書き込みとは、メモリコントローラが迅速にレジスタ内
にデータエレメントを格納してからシステムバスを開放
する書き込みである。次いでそのメモリコントローラは
他のオペレーションをシステムバス上に保持することな
くそのデータエレメントを書き込む。しかしもしも次の
オペレーションが当該メモリボードからのデータ読み取
りリクエストであると、そのデータエレメントがDRA
Mに書き込みされる間、遅延が起きる。したがってポス
ト書き込みにより節約されたはずの時間が失われてしま
う。
【0008】
【発明が解決しようとする課題】本発明はメモリアクセ
スの速度を増大させるコンピューターシステムおよび方
法を与えることを課題とする。
スの速度を増大させるコンピューターシステムおよび方
法を与えることを課題とする。
【0009】本発明の別の課題は改善された性能を持つ
コンピューターシステム与えることである。
コンピューターシステム与えることである。
【0010】
【課題を解決するための手段】本発明の一形態はコンピ
ューターシステム用のメモリボードである。このボード
は少なくとも一つの類似のメモリボードと並列に、シス
テムバスに接続することが可能である。このボードは、
このボードを少なくとも一つの他のボードとインターリ
ーブ化すると共に前記バス上のアドレスに応答するメモ
リコントローラを含む。
ューターシステム用のメモリボードである。このボード
は少なくとも一つの類似のメモリボードと並列に、シス
テムバスに接続することが可能である。このボードは、
このボードを少なくとも一つの他のボードとインターリ
ーブ化すると共に前記バス上のアドレスに応答するメモ
リコントローラを含む。
【0011】本発明のもう一つの形態は、データが最下
位層に格納されると共に少なくとも二つの層がインター
リーブ化される多重層メモリシステムである。
位層に格納されると共に少なくとも二つの層がインター
リーブ化される多重層メモリシステムである。
【0012】本発明のさらに別の形態は、システムバス
にそれぞれ接続された複数のメモリボードの各々のRA
Mにアドレス指定する方法である。RAMは、選択され
たメモリボードをインターリーブ化することによりアド
レス指定される。
にそれぞれ接続された複数のメモリボードの各々のRA
Mにアドレス指定する方法である。RAMは、選択され
たメモリボードをインターリーブ化することによりアド
レス指定される。
【0013】
【実施例】図1はシステムバス14に接続されたマイク
ロプロセッサ12を含むコンピューターシステム10の
一部を示す。システムバス14には並列のメモリボード
16、18が接続される。メモリボード16、18の一
方または両方とも、システムバス14にハード的に接続
できる。しかし、好ましい実施例ではメモリボード1
6、18は拡張スロットに挿入することによりシステム
バス14に接続可能となっている。図1は本発明が適用
できるアーキテクチャを簡単に示す。しかし、本発明は
このアーキテクチャをいろいろに設計変更したものにも
適用できる。例えば、本発明はシステムバス14に三つ
以上のメモリボードが接続されたアーキテクチャにも適
用できる。また、本発明は二つ以上のシステムバスに多
重メモリボードが接続されたアーキテクチャにも適用で
きる。
ロプロセッサ12を含むコンピューターシステム10の
一部を示す。システムバス14には並列のメモリボード
16、18が接続される。メモリボード16、18の一
方または両方とも、システムバス14にハード的に接続
できる。しかし、好ましい実施例ではメモリボード1
6、18は拡張スロットに挿入することによりシステム
バス14に接続可能となっている。図1は本発明が適用
できるアーキテクチャを簡単に示す。しかし、本発明は
このアーキテクチャをいろいろに設計変更したものにも
適用できる。例えば、本発明はシステムバス14に三つ
以上のメモリボードが接続されたアーキテクチャにも適
用できる。また、本発明は二つ以上のシステムバスに多
重メモリボードが接続されたアーキテクチャにも適用で
きる。
【0014】図2はメモリボード16の簡単な図であ
る。メモリボード16はDRAM20、メモリコントロ
ーラ21、およびコンフィギュレーションレジスタ26
を含む。メモリコントローラ21はDRAMコントロー
ラ22およびメモリセレクタ24を含む。メモリセレク
タ24はバスアドレスA(2:31)を受信するため、
線28によりシステムバス14に接続される。メモリセ
レクタ24はまたコンフィギュレーションビットを受信
するため、レジスタ26に接続されるが、これについて
は後述する。メモリセレクタ24はDRAMコントロー
ラ22に至る線30上にDRAMアドレスM(0:1
9)を与え、線32上にSELECT信号を与える。D
RAMコントローラ22はメモリセレクタ24およびD
RAM20の間に接続される。DRAM20は四つのメ
モリバンクBANK0、BANK1、BANK2、BA
NK3に分割される。
る。メモリボード16はDRAM20、メモリコントロ
ーラ21、およびコンフィギュレーションレジスタ26
を含む。メモリコントローラ21はDRAMコントロー
ラ22およびメモリセレクタ24を含む。メモリセレク
タ24はバスアドレスA(2:31)を受信するため、
線28によりシステムバス14に接続される。メモリセ
レクタ24はまたコンフィギュレーションビットを受信
するため、レジスタ26に接続されるが、これについて
は後述する。メモリセレクタ24はDRAMコントロー
ラ22に至る線30上にDRAMアドレスM(0:1
9)を与え、線32上にSELECT信号を与える。D
RAMコントローラ22はメモリセレクタ24およびD
RAM20の間に接続される。DRAM20は四つのメ
モリバンクBANK0、BANK1、BANK2、BA
NK3に分割される。
【0015】図3はメモリセレクタ24の一層詳細な図
である。メモリセレクタ24は二つの回路34、36を
含む。回路34はバスアドレスA(2:31)をDRA
MアドレスM(0:19)に変換する。回路34は一対
のマルチプレクサ38、40を含む。マルチプレクサ3
8はそれぞれ低位バスアドレスビットA4および高位バ
スアドレスビットA22を受信する入力端I0およびI1を
有する。マルチプレクサ38の選択入力端Sはコンフィ
ギュレーションレジスタ26からコンフィギュレーショ
ンビットC0を受信する。マルチプレクサ38の出力は
DRAMアドレスビットM18である。マルチプレクサ4
0はそれぞれ低位バスアドレスビットA5および高位バ
スアドレスビットA23を受信する入力端I0およびI1を
有する。マルチプレクサ40の選択入力端者レジスタコ
ンフィギュレーションレジスタ26からコンフィギュレ
ーションビットC1を受信する。マルチプレクサ40の
出力はDRAMアドレスビットM19である。各マルチプ
レクサ38、40についてI0およびI1入力端がそれぞ
れ選択入力端Sの「0」および「1」により選択され
る。
である。メモリセレクタ24は二つの回路34、36を
含む。回路34はバスアドレスA(2:31)をDRA
MアドレスM(0:19)に変換する。回路34は一対
のマルチプレクサ38、40を含む。マルチプレクサ3
8はそれぞれ低位バスアドレスビットA4および高位バ
スアドレスビットA22を受信する入力端I0およびI1を
有する。マルチプレクサ38の選択入力端Sはコンフィ
ギュレーションレジスタ26からコンフィギュレーショ
ンビットC0を受信する。マルチプレクサ38の出力は
DRAMアドレスビットM18である。マルチプレクサ4
0はそれぞれ低位バスアドレスビットA5および高位バ
スアドレスビットA23を受信する入力端I0およびI1を
有する。マルチプレクサ40の選択入力端者レジスタコ
ンフィギュレーションレジスタ26からコンフィギュレ
ーションビットC1を受信する。マルチプレクサ40の
出力はDRAMアドレスビットM19である。各マルチプ
レクサ38、40についてI0およびI1入力端がそれぞ
れ選択入力端Sの「0」および「1」により選択され
る。
【0016】もしもバスアドレスA(2:31)が所定
範囲内にあり、かつもしもアドレスA(2:31)の二
つのビットが所定値を有すれば、回路36は後述するよ
うにボード選択信号SELECTを発生する。回路36
の領域検出器部分は比較器42、44を含む。比較器4
2はバスアドレスビットA(24:31)およびメモリ
ボード16上に含まれる最低位アドレス領域を示す値
(RANGE BOTTOM)を受信するための入力端
を有する。もしもバスアドレスA(24:31)がRA
NGE BOTTOM以上であると、比較器42はその
出力端に「1」を与える。比較器44はバスアドレスビ
ットA(24:31)とメモリボード16上に含まれる
最高位アドレスを示す値(RANGE TOP)を受信
するための入力端を有する。もしもバスアドレスA(2
4:31)がRANGE TOP未満であると、比較器
42はその出力端に「1」を与える。
範囲内にあり、かつもしもアドレスA(2:31)の二
つのビットが所定値を有すれば、回路36は後述するよ
うにボード選択信号SELECTを発生する。回路36
の領域検出器部分は比較器42、44を含む。比較器4
2はバスアドレスビットA(24:31)およびメモリ
ボード16上に含まれる最低位アドレス領域を示す値
(RANGE BOTTOM)を受信するための入力端
を有する。もしもバスアドレスA(24:31)がRA
NGE BOTTOM以上であると、比較器42はその
出力端に「1」を与える。比較器44はバスアドレスビ
ットA(24:31)とメモリボード16上に含まれる
最高位アドレスを示す値(RANGE TOP)を受信
するための入力端を有する。もしもバスアドレスA(2
4:31)がRANGE TOP未満であると、比較器
42はその出力端に「1」を与える。
【0017】回路36はまたマルチプレクサ46、4
8、EXORゲート50、52、およびANDゲート5
4を含む。マルチプレクサ46はそれぞれ高位バスアド
レスビットA22および低位バスアドレスビットA4を受
信する入力端I0およびI1を有する。マルチプレクサ4
6の選択入力端Sはコンフィギュレーションレジスタ2
6からコンフィギュレーションビットC0を受信する。
マルチプレクサ46はEXORゲート50の入力端の一
方に接続される。EXORゲート50の他方の入力端は
コンフィギュレーションビットC2を受信する。マルチ
プレクサ48は、高位バスアドレスビットA23および低
位バスビットA5をそれぞれ受信する入力端I0およびI
1を有する。マルチプレクサ48の選択入力端Sはコン
フィギュレーションレジスタ26からコンフィギュレー
ションビットC1を受信する。マルチプレクサ48の出
力端はEXORゲート52の一方の入力端に接続され
る。EXORゲート52の他方の入力端はコンフィギュ
レーションビットC3を受信する。
8、EXORゲート50、52、およびANDゲート5
4を含む。マルチプレクサ46はそれぞれ高位バスアド
レスビットA22および低位バスアドレスビットA4を受
信する入力端I0およびI1を有する。マルチプレクサ4
6の選択入力端Sはコンフィギュレーションレジスタ2
6からコンフィギュレーションビットC0を受信する。
マルチプレクサ46はEXORゲート50の入力端の一
方に接続される。EXORゲート50の他方の入力端は
コンフィギュレーションビットC2を受信する。マルチ
プレクサ48は、高位バスアドレスビットA23および低
位バスビットA5をそれぞれ受信する入力端I0およびI
1を有する。マルチプレクサ48の選択入力端Sはコン
フィギュレーションレジスタ26からコンフィギュレー
ションビットC1を受信する。マルチプレクサ48の出
力端はEXORゲート52の一方の入力端に接続され
る。EXORゲート52の他方の入力端はコンフィギュ
レーションビットC3を受信する。
【0018】比較器42、44の出力端およびEXOR
ゲート50、52はANDゲート54に入力される。A
NDゲート54の出力がSELECT信号である。SE
LECT信号はそれがアクティブであるとき、メモリア
ドレスM(0:19)に応答してDRAMコントローラ
22をイネーブル化する。
ゲート50、52はANDゲート54に入力される。A
NDゲート54の出力がSELECT信号である。SE
LECT信号はそれがアクティブであるとき、メモリア
ドレスM(0:19)に応答してDRAMコントローラ
22をイネーブル化する。
【0019】以下にメモリセレクタ24の動作を説明す
る。最低位バスアドレスビットA(0:1)が図示され
ていないことに最初に、注意されたい。ここに記載する
実施例ではDRAM20にアドレス指定可能な最小デー
タエレメントはダブルワード(四バイト)である。ビッ
トA(0:1)はシステムプロセッサが一ダブルワード
内の特定バイトをアクセス指定するために使用できる
が、DRAM20にアクセスするのには必要でない。
る。最低位バスアドレスビットA(0:1)が図示され
ていないことに最初に、注意されたい。ここに記載する
実施例ではDRAM20にアドレス指定可能な最小デー
タエレメントはダブルワード(四バイト)である。ビッ
トA(0:1)はシステムプロセッサが一ダブルワード
内の特定バイトをアクセス指定するために使用できる
が、DRAM20にアクセスするのには必要でない。
【0020】メモリセレクタ24の主な機能はシステム
バス14に接続された他のメモリボードにメモリボード
16をインターリーブ化することである。(一般的に、
ボードが異なる数のDRAMを含むとそれらボードをイ
ンターリーブ化できない。)本インターリーブ機能はコ
ンフィギュレーションレジスタ26の使用により完全に
プログラム可能である。システム初期化すなわち立ち上
げの期間、コンフィギュレーションビットC0、C1、C
2およびC3がコンフィギュレーションレジスタ26に
書き込まれる。ビットC0およびC1は、インターリーブ
化されるべきボード数に基づいて回路34がバスアドレ
スA(2:31)をメモリアドレスM(0:19)に変
換することを可能にする。下の表はその変換のいろいろ
の可能性を示すものである。 表1 C0 C1 インターリービング アドレス指定可能なバイト 0 0 なし n/a 1 0 2-ウェイ 16 1 1 4-ウェイ 16 マルチプレクサ38、40はアドレスビットA4、A5、
A22、およびA23を選択的に再配位化(re-ordering)
する。もしも全くインターリービングを行わないことに
すると、ビットC0およびC1はそれぞれDRAMアドレ
スビットM18、M19のためにアドレスビットA4、A5を
選択する。同時にビットC0およびC1がマルチプレクサ
46、48に与えられ、そこでアドレスビットA22およ
びA23がそれぞれ選択され、SELECT信号を決定す
る。
バス14に接続された他のメモリボードにメモリボード
16をインターリーブ化することである。(一般的に、
ボードが異なる数のDRAMを含むとそれらボードをイ
ンターリーブ化できない。)本インターリーブ機能はコ
ンフィギュレーションレジスタ26の使用により完全に
プログラム可能である。システム初期化すなわち立ち上
げの期間、コンフィギュレーションビットC0、C1、C
2およびC3がコンフィギュレーションレジスタ26に
書き込まれる。ビットC0およびC1は、インターリーブ
化されるべきボード数に基づいて回路34がバスアドレ
スA(2:31)をメモリアドレスM(0:19)に変
換することを可能にする。下の表はその変換のいろいろ
の可能性を示すものである。 表1 C0 C1 インターリービング アドレス指定可能なバイト 0 0 なし n/a 1 0 2-ウェイ 16 1 1 4-ウェイ 16 マルチプレクサ38、40はアドレスビットA4、A5、
A22、およびA23を選択的に再配位化(re-ordering)
する。もしも全くインターリービングを行わないことに
すると、ビットC0およびC1はそれぞれDRAMアドレ
スビットM18、M19のためにアドレスビットA4、A5を
選択する。同時にビットC0およびC1がマルチプレクサ
46、48に与えられ、そこでアドレスビットA22およ
びA23がそれぞれ選択され、SELECT信号を決定す
る。
【0021】もしも、各ボード上に16個の連続バイト
がアドレス指定可能であるように二つのボードをインタ
ーリーブ化すべきであれば、ビットC0、C1はそれぞれ
DRAMアドレスビットM18およびM19のためにアドレ
スビットA22およびA5を選択する。同時に、マルチプ
レクサ46、48にはビットC0、C1が与えられ、ここ
でアドレスビットA4、A23がそれぞれ選択され、SE
LECT信号を決定する。
がアドレス指定可能であるように二つのボードをインタ
ーリーブ化すべきであれば、ビットC0、C1はそれぞれ
DRAMアドレスビットM18およびM19のためにアドレ
スビットA22およびA5を選択する。同時に、マルチプ
レクサ46、48にはビットC0、C1が与えられ、ここ
でアドレスビットA4、A23がそれぞれ選択され、SE
LECT信号を決定する。
【0022】もしも各ボード上に16個の連続的バイト
がアドレス可能であるように四つのボードをインターリ
ーブ化すべきであれば、ビットC0、C1がそれぞれDR
AMアドレスビットM18およびM19のためにアドレスビ
ットA22およびA23を選択する。同時に、マルチプレク
サ46、48にはビットC0、C1が与えられ、ここでア
ドレスビットA4、A5がそれぞれ選択され、SELEC
T信号を決定する。
がアドレス可能であるように四つのボードをインターリ
ーブ化すべきであれば、ビットC0、C1がそれぞれDR
AMアドレスビットM18およびM19のためにアドレスビ
ットA22およびA23を選択する。同時に、マルチプレク
サ46、48にはビットC0、C1が与えられ、ここでア
ドレスビットA4、A5がそれぞれ選択され、SELEC
T信号を決定する。
【0023】このようにしてコンフィギュレーションレ
ジスタ26内のプログラム可能なビットC0、C1がイン
ターリーブ化されたボード数を決定する。
ジスタ26内のプログラム可能なビットC0、C1がイン
ターリーブ化されたボード数を決定する。
【0024】回路36はボード選択信号SELECTを
発生するが、いくつかの入力信号により影響される。比
較器42、44を含む領域セレクタが出力信号を与える
のはバスアドレスがボード16に対する所定範囲(rang
e、領域)内にあるときのみである。信号RANGE
BOTTOMおよび信号RANGE TOPはシステム
コンフィギュレーション期間に負荷されたコンフィギュ
レーションレジスタ(図示してなし)から与えることが
できる。この領域セレクタはシステム内のすべてのメモ
リボードがインターリーブ化されている場合でも必要で
ある。その理由はコンピューターシステム内には他の目
的のために予約されまたは使用されている他のアドレス
空間があり得るからである。もしもある与えられたアド
レス、例えばアドレスビットA(24:31)、がRA
NGE BOTTOMおよびRANGE TOPの間に
あれば、比較器42、44から出される出力信号は共に
「1」である。
発生するが、いくつかの入力信号により影響される。比
較器42、44を含む領域セレクタが出力信号を与える
のはバスアドレスがボード16に対する所定範囲(rang
e、領域)内にあるときのみである。信号RANGE
BOTTOMおよび信号RANGE TOPはシステム
コンフィギュレーション期間に負荷されたコンフィギュ
レーションレジスタ(図示してなし)から与えることが
できる。この領域セレクタはシステム内のすべてのメモ
リボードがインターリーブ化されている場合でも必要で
ある。その理由はコンピューターシステム内には他の目
的のために予約されまたは使用されている他のアドレス
空間があり得るからである。もしもある与えられたアド
レス、例えばアドレスビットA(24:31)、がRA
NGE BOTTOMおよびRANGE TOPの間に
あれば、比較器42、44から出される出力信号は共に
「1」である。
【0025】マルチプレクサ46はコンフィギュレーシ
ョンビットC0の値に応じてA22またはA4のいずれかを
選択する。マルチプレクサ48はコンフィギュレーショ
ンビットC1の値に応じてA23またはA5のいずれかを選
択する。入力線A22およびA4はマルチプレクサ38、
46において、コンフィギュレーションビットC0がマ
ルチプレクサ38の出力としてA4を選択するときはマ
ルチプレクサ46の出力としてA22を選択すべく設定さ
れている。さらにコンフィギュレーションビットC0が
マルチプレクサ38の出力としてA22を選択するときは
マルチプレクサ46の出力としてA4を選択する。同様
にして入力線A23およびA5はマルチプレクサ40、4
8内で、コンフィギュレーションビットC1がマルチプ
レクサ40の出力としてA5を選択するときはマルチプ
レクサ48の出力としてA23を選択すべく設定されてい
る。さらにコンフィギュレーションビットC1がマルチ
プレクサ40の出力としてA23を選択するときはマルチ
プレクサ48の出力としてA5を選択する。
ョンビットC0の値に応じてA22またはA4のいずれかを
選択する。マルチプレクサ48はコンフィギュレーショ
ンビットC1の値に応じてA23またはA5のいずれかを選
択する。入力線A22およびA4はマルチプレクサ38、
46において、コンフィギュレーションビットC0がマ
ルチプレクサ38の出力としてA4を選択するときはマ
ルチプレクサ46の出力としてA22を選択すべく設定さ
れている。さらにコンフィギュレーションビットC0が
マルチプレクサ38の出力としてA22を選択するときは
マルチプレクサ46の出力としてA4を選択する。同様
にして入力線A23およびA5はマルチプレクサ40、4
8内で、コンフィギュレーションビットC1がマルチプ
レクサ40の出力としてA5を選択するときはマルチプ
レクサ48の出力としてA23を選択すべく設定されてい
る。さらにコンフィギュレーションビットC1がマルチ
プレクサ40の出力としてA23を選択するときはマルチ
プレクサ48の出力としてA5を選択する。
【0026】各マルチプレクサ46、48の出力はそれ
ぞれコンフィギュレーションビットC2およびC3と結び
付けられ。ビットC2は主としてボード16が偶である
か奇であるかを示す。EXORゲート50の出力はその
入力のただ一つのみが「1」であるとき「1」となるの
で、EXORゲート50の出力はマルチプレクサ46の
出力の変化により切り替わる。C3ビットは主としてメ
モリボード16が四つのメモリボードの上位の組にある
か、低位の組にあるかを示す。EXORゲート52の出
力はその入力のただ一つのみが「1」であるとき「1」
であるので、EXORゲート52の出力はマルチプレク
サ48の出力の変化によって切り替わる。
ぞれコンフィギュレーションビットC2およびC3と結び
付けられ。ビットC2は主としてボード16が偶である
か奇であるかを示す。EXORゲート50の出力はその
入力のただ一つのみが「1」であるとき「1」となるの
で、EXORゲート50の出力はマルチプレクサ46の
出力の変化により切り替わる。C3ビットは主としてメ
モリボード16が四つのメモリボードの上位の組にある
か、低位の組にあるかを示す。EXORゲート52の出
力はその入力のただ一つのみが「1」であるとき「1」
であるので、EXORゲート52の出力はマルチプレク
サ48の出力の変化によって切り替わる。
【0027】上記のシステムはシステムの初期化の期間
にコンフィギュレーションレジスタ26に格納された値
に従って完全にプログラム化することができる。一旦プ
ログラム化されると、このシステムはコンフィギュレー
ションレジスタ26何格納された値に従って選択された
メモリボードをインターリーブ化する。選択されたビッ
トA4、A5、A22、およびA23は、DRAM20をアド
レス指定するためのアドレスM(0:19)を形成すべ
くメモリアドレスビットのシーケンスに再配位化され
る。とくに、低位ビットA4およびA5はA(2:23)
内で占めていた位置から除去される。次いでビットA4
およびA22間で、またビットA5およびA23間で、それ
ぞれ高位アドレスビットM18およびM19を形成するため
の選択が行われる。A4とA22、およびA5とA23の未選
択ビット対はメモリボードを選択するのに使用される。
にコンフィギュレーションレジスタ26に格納された値
に従って完全にプログラム化することができる。一旦プ
ログラム化されると、このシステムはコンフィギュレー
ションレジスタ26何格納された値に従って選択された
メモリボードをインターリーブ化する。選択されたビッ
トA4、A5、A22、およびA23は、DRAM20をアド
レス指定するためのアドレスM(0:19)を形成すべ
くメモリアドレスビットのシーケンスに再配位化され
る。とくに、低位ビットA4およびA5はA(2:23)
内で占めていた位置から除去される。次いでビットA4
およびA22間で、またビットA5およびA23間で、それ
ぞれ高位アドレスビットM18およびM19を形成するため
の選択が行われる。A4とA22、およびA5とA23の未選
択ビット対はメモリボードを選択するのに使用される。
【0028】本システムは各ボード上のアクセス可能な
連続バイト数を変更することができるようにすることが
できることに注目されたい。例えば、もしもビットA
4、A5がビットA5、A6で置換されると、各ボード上で
アクセス可能なバイト数は16から32に変わる。
連続バイト数を変更することができるようにすることが
できることに注目されたい。例えば、もしもビットA
4、A5がビットA5、A6で置換されると、各ボード上で
アクセス可能なバイト数は16から32に変わる。
【0029】本発明のもう一つの特徴は図1および図2
を参照すると理解できる。基本的には本システムメモリ
は二つの層状態(tiers)に配列される。メモリの高位
の層はボード16、18である。低位層は各ボード上の
メモリバンク0-3である。メモリボード16、18の
インターリーブ化は上述した。しかしDRAMコントロ
ーラ22はアドレスM(0:19)のメモリバンク0-
3をもインターリーブ化できる。従って本発明のもう一
つの実施例は、2層メモリシステムであって、データが
最下位層に格納され、両方の層がインターリーブ化され
たシステムである。DRAMコントローラ22によるメ
モリバンクのインターリーブ化は標準的機能であり、こ
れ以上の詳細な説明は省略する。
を参照すると理解できる。基本的には本システムメモリ
は二つの層状態(tiers)に配列される。メモリの高位
の層はボード16、18である。低位層は各ボード上の
メモリバンク0-3である。メモリボード16、18の
インターリーブ化は上述した。しかしDRAMコントロ
ーラ22はアドレスM(0:19)のメモリバンク0-
3をもインターリーブ化できる。従って本発明のもう一
つの実施例は、2層メモリシステムであって、データが
最下位層に格納され、両方の層がインターリーブ化され
たシステムである。DRAMコントローラ22によるメ
モリバンクのインターリーブ化は標準的機能であり、こ
れ以上の詳細な説明は省略する。
【0030】多重層インターリービングの一つの例とし
て、メモリボード間の2-ウェイ インターリービングお
よびメモリバンク間の4-ウェイ インターリービングが
ある場合を考えよう。一グループのメモリアドレスはビ
ットA2およびA3によってのみ確定されかつ識別される
四つのアドレスを含む。連続するグループのメモリアド
レスはボード間にインターリーブ化される。従って一グ
ループ内の四つのアドレスは一メモリボードにアロケー
ト(用意)され、次の連続的グループ内の四つのアドレ
スは別のボードにアロケートされ、以下、同様である。
各グループ内の四つの連続的アドレスは次いでそれぞれ
のメモリバンク0-3間でインターリーブ化される。
て、メモリボード間の2-ウェイ インターリービングお
よびメモリバンク間の4-ウェイ インターリービングが
ある場合を考えよう。一グループのメモリアドレスはビ
ットA2およびA3によってのみ確定されかつ識別される
四つのアドレスを含む。連続するグループのメモリアド
レスはボード間にインターリーブ化される。従って一グ
ループ内の四つのアドレスは一メモリボードにアロケー
ト(用意)され、次の連続的グループ内の四つのアドレ
スは別のボードにアロケートされ、以下、同様である。
各グループ内の四つの連続的アドレスは次いでそれぞれ
のメモリバンク0-3間でインターリーブ化される。
【0031】メモリシステム内の層数は、必要であれば
2以上にできる。
2以上にできる。
【0032】当業者には本発明が上に開示した特定の実
施例に限定されないことが了解できよう。例えば、イン
ターリーブ化を高め、および/または一ボード上でアク
セス可能な連続バイト数を増大するため、マルチプレク
サ38、40、46、48の数およびコンフィギュレー
ションレジスタ26内のコンフィギュレーションビット
数を変えることができる。またメモリはDRAMに限定
されず、RAMと称する他のいろいろの読み取り/書き
込みメモリを含むことができる。
施例に限定されないことが了解できよう。例えば、イン
ターリーブ化を高め、および/または一ボード上でアク
セス可能な連続バイト数を増大するため、マルチプレク
サ38、40、46、48の数およびコンフィギュレー
ションレジスタ26内のコンフィギュレーションビット
数を変えることができる。またメモリはDRAMに限定
されず、RAMと称する他のいろいろの読み取り/書き
込みメモリを含むことができる。
【0033】
【効果】以上、説明したように本発明のメモリボードは
少なくとも一つの類似のメモリボードと並列にシステム
バスに接続可能であり、このボードは該バス上のアドレ
スに応答するメモリコントローラを含み、そのコントロ
ーラは、少なくとも一つの他のボードとこのボードをイ
ンターリーブ化することができ、またこのボードはメモ
リバンクを分割することができるRAMを具えることか
ら、メモリボード間のデータの読み取り/書き込みに遅
延することがない。
少なくとも一つの類似のメモリボードと並列にシステム
バスに接続可能であり、このボードは該バス上のアドレ
スに応答するメモリコントローラを含み、そのコントロ
ーラは、少なくとも一つの他のボードとこのボードをイ
ンターリーブ化することができ、またこのボードはメモ
リバンクを分割することができるRAMを具えることか
ら、メモリボード間のデータの読み取り/書き込みに遅
延することがない。
【図1】本発明を使用するコンピューターシステムの一
部のブロック線図である。
部のブロック線図である。
【図2】図1に示すメモリボードの一つのブロック線図
である。
である。
【図3】図1に示すメモリセレクタの線図である。
12 マイクロプロセッサ 14 システムバス 16、18 メモリボード 20 DRAM 21 メモリコントローラ 24 メモリセレクタ 26 コンフィギュレーションレジスタ 28、30、32 信号線
Claims (3)
- 【請求項1】コンピューターにおいて少なくとも一つの
類似のメモリボードと並列にシステムに接続されるメモ
リボードであって、 該メモリボードを少なくとも他の一つのボードとインタ
ーリーブ化させると共に、バス(バスアドレス)上のア
ドレスに応答するメモリコントローラを含むことを特徴
とするメモリボード。 - 【請求項2】各々が複数の並列に接続されたメモリバン
クを有する並列接続されたメモリボードを複数具えたコ
ンピューターシステムにおけるセレクタであって、該ボ
ードと、該メモリバンクをさらにインターリーブ化する
コントローラとをインターリーブ化するセレクタ。 - 【請求項3】システムバスに接続された複数のメモリボ
ードの各々にランダムアクセスメモリ(RAM)を有す
るコンピューターシステムにおいて、選択されたメモリ
ボードをインターリーブ化することにより該RAMにア
クセスする方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US75542191A | 1991-09-05 | 1991-09-05 | |
| US755421 | 1991-09-05 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05210580A true JPH05210580A (ja) | 1993-08-20 |
Family
ID=25039079
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP24600092A Pending JPH05210580A (ja) | 1991-09-05 | 1992-08-24 | コンピューターシステム内のメモリをインターリーブ化するシステムおよび方法 |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP0530991A1 (ja) |
| JP (1) | JPH05210580A (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE4427042C2 (de) * | 1994-07-29 | 1997-05-22 | Siemens Ag | Verfahren zur Steuerung einer Sequenz von Zugriffen eines Prozessors zu einem zugeordneten Speicher |
| US20050240717A1 (en) * | 2004-04-27 | 2005-10-27 | Via Technologies, Inc. | Interleaved Mapping Method of Block-Index-To-SDRAM-Address for Optical Storage (CD/DVD) System |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5128450B2 (ja) * | 1971-10-06 | 1976-08-19 | ||
| US4740911A (en) * | 1984-10-12 | 1988-04-26 | Elxsi International | Dynamically controlled interleaving |
-
1992
- 1992-08-11 EP EP92307337A patent/EP0530991A1/en not_active Withdrawn
- 1992-08-24 JP JP24600092A patent/JPH05210580A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| EP0530991A1 (en) | 1993-03-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0473275B1 (en) | Memory control unit and memory unit | |
| US3806881A (en) | Memory arrangement control system | |
| US5848258A (en) | Memory bank addressing scheme | |
| CA2116985C (en) | Memory system | |
| US6912615B2 (en) | Control means for burst access control | |
| JPS62149093A (ja) | 連続したアドレススペ−スを与えるメモリシステム | |
| US7564733B2 (en) | Memory device and method having programmable address configurations | |
| EP1415304B1 (en) | Memory device having different burst order addressing for read and write operations | |
| CA1304523C (en) | Computer bus having page mode memory access | |
| JPS60157646A (ja) | メモリバンク切換装置 | |
| US6078532A (en) | Method and apparatus for improving performance of DRAM subsystems with SRAM overlays | |
| US5301292A (en) | Page mode comparator decode logic for variable size DRAM types and different interleave options | |
| US5630098A (en) | System and method for interleaving memory addresses between memory banks based on the capacity of the memory banks | |
| JPH05210580A (ja) | コンピューターシステム内のメモリをインターリーブ化するシステムおよび方法 | |
| US7363460B2 (en) | Semiconductor memory device having tag block for reducing initialization time | |
| JPH11250660A (ja) | メモリデバイスおよび該メモリデバイスのアドレッシング方法 | |
| US6742077B1 (en) | System for accessing a memory comprising interleaved memory modules having different capacities | |
| JPH0981453A (ja) | メモリ制御方法及びその実施装置 | |
| US6041015A (en) | Semiconductor type memory device having consecutive access to arbitrary memory address | |
| JP3138460B2 (ja) | 半導体メモリのデータ書込み・読出し方式 | |
| JP3349929B2 (ja) | メモリ制御装置 | |
| KR900002496Y1 (ko) | 메모리 영역 확장 회로 | |
| US5890194A (en) | Method for efficient use of DRAM data and parity areas | |
| JPS5841584B2 (ja) | マルチアクセスメモリ方法およびマルチアクセス用メモリチツプ | |
| JPH0370052A (ja) | アドレス変換回路、メモリコントロール装置、情報処理装置、および、記録装置 |