JPH0823843B2 - メモリ・コントローラ、及びデータ処理システム - Google Patents

メモリ・コントローラ、及びデータ処理システム

Info

Publication number
JPH0823843B2
JPH0823843B2 JP3290408A JP29040891A JPH0823843B2 JP H0823843 B2 JPH0823843 B2 JP H0823843B2 JP 3290408 A JP3290408 A JP 3290408A JP 29040891 A JP29040891 A JP 29040891A JP H0823843 B2 JPH0823843 B2 JP H0823843B2
Authority
JP
Japan
Prior art keywords
memory
map
banks
address
unit
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.)
Expired - Fee Related
Application number
JP3290408A
Other languages
English (en)
Other versions
JPH05134923A (ja
Inventor
典生 藤田
光宏 合田
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP3290408A priority Critical patent/JPH0823843B2/ja
Priority to TW080108172A priority patent/TW200577B/zh
Priority to KR1019920016538A priority patent/KR950014176B1/ko
Priority to CN92110513A priority patent/CN1040159C/zh
Priority to CA002079353A priority patent/CA2079353A1/en
Priority to BR929203840A priority patent/BR9203840A/pt
Priority to SG1996000209A priority patent/SG52203A1/en
Priority to EP92309177A priority patent/EP0540198A1/en
Publication of JPH05134923A publication Critical patent/JPH05134923A/ja
Publication of JPH0823843B2 publication Critical patent/JPH0823843B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理システムに
係り、特に、ダイナミック型のメモリをインタリーブ及
び非インタリーブの双方でアクセスするためのメモリ・
コントローラに関する。
【0002】
【従来の技術】インタリーブ方式のメモリ・アクセスは
主として大型計算機システムにおいて採用されてきた
が、パーソナル・コンピュータにおいてもダイナミック
型のシステム・メモリの実質的なアクセス速度を向上さ
せるためにインタリーブ方式のメモリ・アクセスが採用
される場合がある。ところで、パーソナル・コンピュー
タにおいては、メモリ実装用の複数のスロットが用意さ
れており、ユーザが必要に応じてメモリを適宜増設出来
るようになっている。ところが、インタリーブ方式を採
用した従来のパーソナル・コンピュータでは、メモリの
実装の仕方に制約があった。例えば、メモリ実装用スロ
ットが偶数バンク側と奇数バンク側に分けられ、偶数バ
ンク側に実装されたメモリ・モジュールと奇数バンクに
実装されたメモリ・モジュールとの間においてインタリ
ーブ・アクセスが可能な場合において、偶数バンク側の
第1番目のスロットに実装されたメモリ・モジュールと
奇数バンク側の第1番目のスロットに実装されたメモリ
・モジュールとは等しい容量でなければインタリーブ・
アクセスが出来なかった。
【0003】
【解決しようとする問題点】本発明の目的は、システム
・メモリとして複数のメモリ・モジュールがどのような
状態でユーザにより実装或は増設されても、常に最適な
実装状態で実装或は増設された場合と同等の範囲でイン
タリーブ・アクセスすることを可能にするメモリ・コン
トローラ及びデータ処理システムを提供することであ
る。
【0004】
【課題を解決するための手段】前記目的を達成するた
め、本発明に係るメモリ・コントローラは、インタリー
ブ可能な複数のバンクにメモリ・ユニットが振り分けて
設けられている場合に、全てのバンク内のメモリ・ユニ
ットを、前記バンクの数に相当する異なる種類の所定の
順序で並べて成る複数のメモリ・マップを形成し、前記
CPUアドレスを含む所定の範囲のアドレス領域が前記
複数のメモリ・マップ内の夫々において何れのメモリ・
ユニットに属するかを検出し、検出された各メモリ・ユ
ニットが互いにインタリーブ可能なバンクに属するか否
かを検出する機能を持たせることとした。
【0005】
【実施例】以下、本発明の実施例を図面に基づいて説明
する。図2には本発明に係るデータ処理システムの一実
施例が示されている。図中、データ処理システムは、マ
イクロプロセッサ(CPU)10、DMAコントローラ
12、POST(パワーオンセルフテスト・プログラム)
/BIOS(基本入出力システム)を記憶するためのRO
M16、メモリ・コントローラ18、システム・コント
ローラ30、データ・バス・バツファ32、システムク
ロック発振器20、システム・バス22、拡張カード用
の複数の拡張スロット24、メモリ・バス26、及び、
メモリ増設のための複数のメモリ・スロット28を有し
ている。メモリ・スロット28は、偶数バンク28Aの
4つのメモリ・スロット28A−0、28A−1、28
A−2、及び28A−3と、奇数バンク28Bの4つの
メモリ・スロット28B−0、28B−1、28B−
2、及び28B−3とを有している。此等のメモリ・ス
ロットの夫々にはメモリ・モジュールとしてのSIMM
(シングルインラインメモリモジュール)が実装され
る。SIMMは両面実装型と片面実装型とがあり、片面
ごとに個別のRAS信号が割り当てられる。SIMMの
片面のメモリをメモリ・ユニットと言うことにする。
【0006】図3にはSIMMの実装状態の一例が示さ
れている。図中、メモリ・ユニット0及び1はメモリ・
スロット28A−0の一方の面及び残りの面の夫々に対
応している。以下同様に、1つのメモリ・ユニットは1
つのメモリ・スロットの片面に対応している。図3の場
合では、偶数バンク28Aのメモリ・スロット28A−
0(メモリ・ユニット0及び1)には、両面の夫々に4
Mバイトのメモリ・ユニットが実装された8Mバイトの
SIMMが実装されていることになる。メモリ・スロッ
ト28A−1(メモリ・ユニット2及び3)には、両面
の夫々に1Mバイトのメモリ・モジュールが実装された
2MバイトのSIMMが実装され、メモリ・スロット2
8A−2及び28A−3(メモリ・ユニット4から7)
にはSIMMは実装されていないことになる。また、奇
数バンク28Bのメモリ・スロット28B−0(メモリ
・ユニット8及び9)には、方面にだけ4Mバイトのメ
モリ・モジュールが実装された4MバイトのSIMMが
実装され、メモリ・スロット28B−1(メモリ・ユニ
ット10及び11)には、両面の夫々に1Mバイトのメ
モリ・モジュールが実装された2MバイトのSIMMが
実装され、メモリ・スロット28A−2及び28A−3
(メモリ・ユニット12から15)にはSIMMは実装
されていないことになる。
【0007】図1にはメモリ・コントローラ18の内部
構造が示されている。図1において、レジスタ40はS
IMMの実装状態に関する情報を保持している。より詳
細には、図3に示されるように、メモリ・ユニット0か
ら15にどのような容量(サイズ)のメモリ・モジュー
ルが実装されているかを示す情報を保持している。SI
MMは自らの識別情報を保持しており、システム電源投
入時にPOST(パワー・オン・セルフ・テスト)プロ
グラムにより前記識別情報が読み出されるとともに読み
出され識別情報に基づいてレジスタ40に、図3に示さ
れるような、メモリの実装状態(メモリ・ユニットの記
憶容量及び各バンク内における取付け位置に関するデー
タ)に関する情報が書き込まれる。
【0008】図1において、メモリ・マップ形成手段4
2はレジスタ40内のデータに基づいて、メモリ・ユニ
ット0乃至15を、前記バンクの数に相当する異なる種
類の順序で並べて成る複数のメモリ・マップを形成する
ための手段である。本実施例ではバンクは2つなので2
種類のメモリ・マップが形成される。メモリ・マップ形
成手段42は、第1のメモリ・マップ形成手段42Aと
第2のメモリ・マップ形成手段42Bとから成る。第1
のメモリ・マップ形成手段42Aは、レジスタ40内の
データに基づいて、偶数バンク28A内のメモリ・ユニ
ットを、小さいメモリ・ユニット番号から大きいメモリ
・ユニット番号の順序で並べた後に、奇数バンク28B
内のメモリ・ユニットを、小さいメモリ・ユニット番号
から大きいメモリ・ユニット番号の順序で並べて成る第
1のメモリ・マップ60A(図4参照)を形成するため
のものである。また、第2のメモリ・マップ形成手段4
2Bは、レジスタ40のデータに基づいて、奇数バンク
28B内のメモリ・ユニットを、大きいメモリ・コネク
タ番号から小さいメモリ・コネクタ番号の順序で並べた
後に、偶数バンク28A内のメモリ・ユニットを、大き
いメモリ・コネクタ番号から小さいメモリ・コネクタ番
号の順序で並べて成る第2のメモリ・マップ60B(図
4参照)を形成するためのものである。
【0009】メモリ・ユニット特定手段44は、CPU
10からのCPUアドレス或はDMAコントローラ12
からのDMAアドレス(此等のアドレスをCPU等側か
らのアドレスと言う。)を含む所定の範囲のアドレス領
域が複数のメモリ・マップ60A及び60B内の夫々に
おいて何れのメモリ・ユニットに属することになるかを
特定するための手段である。本実施例では前記所定の範
囲は1Mのアドレス範囲である。1Mのアドレス範囲を
取り扱うために、例えばCPUアドレスがA0からA3
1の32ビット幅であっても下位のA0からA19の2
0ビットは無視されている。メモリ・ユニット特定手段
44は、第1及び第2のメモリ・ユニット特定手段44
A及び44Bから成り、第1のメモリ・ユニット特定手
段44AはCPU等からの或るアドレスを含む1Mのア
ドレス範囲の領域が第1のメモリ・マップ60Aに従う
場合に帰属することになるメモリ・ユニットを特定す
る。また、第2のメモリ・ユニット特定手段44Bは同
じアドレス範囲の領域が第2のメモリ・マップ60Bに
従う場合に帰属することになるメモリ・ユニットを特定
する。
【0010】制御手段46は、第1及び第2のメモリ・
ユニット特定手段44A及び44Bの夫々により特定さ
れたメモリ・ユニットが異なるバンクに属するか否かを
検出する機能を有し、更に、異なるバンクに属すること
を検出した場合は両バンク28A及び28Bに対してイ
ンタリーブ・アクセスを行う態様で物理アドレス信号を
発生し、同じバンクに属することを検出した場合は両バ
ンク28A及び28Bの一方に対してだけ非インタリー
ブ・アクセスに従う物理アドレス信号を発生する。
【0011】ここで、インタリーブ・アクセスを行う態
様とは、両バンクを通して合計16個のメモリ・ユニッ
トの夫々に対して個別に設けられている合計16本のR
AS信号線の内の2本を同時にアクティブにするととも
に、各バンクに対して1組(4本)づつ個別に設けられ
ている2組(合計8本)のCAS信号線を2組共アクテ
ィブにすることである。尚、1組(4本)のCAS信号
線の内の何本を同時にアクティブにするかは、CPU等
側からのアドレスの最下位の2ビット(A0及びA1に
対応するバイト・イネーブル線BE0、BE1、BE
2、及びBE3)の値により定まり、1組の内の1本か
ら4本の何れかになる。また、非インタリーブ・アクセ
スを行う態様とは、16本のRAS信号線の内の1本だ
けをアクティブにするとともに、アクティブにされたR
AS信号線が属する方のバンクに対する1組(4本)の
CAS信号線だけをアクティブにすることである。尚、
1組(4本)のCAS信号線の内の何本を同時にアクテ
ィブにするかは、CPU等側からのアドレスの最下位の
2ビット(A0及びA1に対応するバイト・イネーブル
線BE0、BE1、BE2、及びBE3)の値により定
まり、1組の内の1本から4本の何れかになる。制御手
段46にはCPU等からのアドレス信号の内のA11、
A3、A2だけと、A0及びA1に対応するバイト・イ
ネーブル線BE0、BE1、BE2、及びBE3が入力
し、此等の合計7ビットの信号に基づいて前述のRAS
/CAS信号線の選択(デコード)が行われている。
【0012】RAS/CAS発生器48は、CPU10
からの状態信号(制御信号線の一部)とクロック信号に
基づいて、制御手段46からRAS/CAS信号を出力
させるためのタイミング信号を発生する。また、アドレ
ス・マルチプレクス50は、制御手段46からのRAS
/CAS信号の出力に合わせて10ビットのアドレス信
号を発生するためのものである。即ち、RAS信号に合
わせて出力される10ビットのアドレス信号とCAS信
号の出力に合わせて出力される10ビットのアドレス信
号の合計20ビットにより1Mのアドレス範囲の内の特
定の記憶位置が特定されるのである。
【0013】図5には、第1のメモリ・マップ形成手段
42Aを構成する論理回路の一例が示されている。第1
のメモリ・マップ形成手段42Aは直列に並べられた加
算器42A−1乃至42A−16を有している。加算器
42A−1は、第1のメモリ・マップ60Aのスタート
・アドレスである00000000Hexにメモリ・ユ
ニット0のアドレス・サイズ(容量あるいはアドレス範
囲)を加算することにより、第1のメモリ・マップ60
A上でのメモリ・ユニット1のスタート・アドレスを求
めている。また、加算器42A−2は、メモリ・ユニッ
ト1のスタート・アドレスにメモリ・ユニット1のアド
レス・サイズを加算することにより、第1のメモリ・マ
ップ60A上でのメモリ・ユニット2のスタート・アド
レスを求めている。以下同様であるが、加算器42A−
16はメモリ・ユニット15のスタート・アドレスにメ
モリ・ユニット15のアドレス・サイズを加算すること
により、第1のメモリ・マップ60A上でのメモリ・ユ
ニット15のエンド・アドレスを求めている。各メモリ
・ユニットのアドレス・サイズはレジスタ40から与え
られる。
【0014】図6には、第2のメモリ・マップ形成手段
42Bを構成する論理回路の一例が示されている。第2
のメモリ・マップ形成手段42Bは直列に並べられた加
算器42B−1乃至42B−16を有している。加算器
42B−1は、第2のメモリ・マップ60Bのスタート
・アドレスである00000000Hexにメモリ・ユ
ニット15のアドレス・サイズを加算することにより、
第2のメモリ・マップ60B上でのメモリ・ユニット1
4のスタート・アドレスを求めている。また、加算器4
2B−2は、メモリ・ユニット14のスタート・アドレ
スにメモリ・ユニット14のアドレス・サイズを加算す
ることにより、第2のメモリ・マップ60B上でのメモ
リ・ユニット13のスタート・アドレスを求めている。
以下同様であるが、加算器42B−16はメモリ・ユニ
ット0のスタート・アドレスにメモリ・ユニット0のア
ドレス・サイズを加算することにより、第2のメモリ・
マップ60B上でのメモリ・ユニット0のエンド・アド
レスを求めている。各メモリ・ユニットのアドレス・サ
イズはレジスタ40から与えられる。
【0015】図7には、第1のメモリ・ユニット特定手
段44Aを構成する論理回路の一例が示されている。第
1のメモリ・ユニット特定手段44Aは並列に並べられ
た比較器44A−0乃至42A−16を有している。比
較器44A−n(但し、n=0、1、・・・15)のX
入力にはCPUアドレスが入力し、Y入力には第1のメ
モリ・マップ形成手段42Aのn番目の加算器即ち、加
算器42A−nの出力が入力する。前記加算器の出力
は、第1のメモリ・マップ60Aにおけるメモリ・ユニ
ットnのスタート・アドレスを表している。従って、比
較器44A−nはCPU等からのアドレス(X)と第1
のメモリ・マップ60Aにおけるメモリ・ユニットnの
スタート・アドレス(Y)とを比較し、CPU等からの
アドレス(X)が第1のメモリ・マップ60Aにおける
メモリ・ユニットnのスタート・アドレス(Y)に等し
いか大きい場合は(X>=Y)の出力を真にし、CPU
アドレス(X)が第1のメモリ・マップ60Aにおける
メモリ・ユニットnのスタート・アドレス(Y)より小
さい場合は(X<Y)の出力を真にする。
【0016】同様にして、比較器44A−(n+1)は
CPU等からのアドレス(X)と第1のメモリ・マップ
60Aにおけるメモリ・ユニット(n+1)のスタート
・アドレス(Y)とを比較し、CPU等からのアドレス
(X)が第1のメモリ・マップ60Aにおけるメモリ・
ユニット(n+1)のスタート・アドレス(Y)に等し
いか大きい場合は(X>=Y)の出力を真にし、CPU
等からのアドレス(X)が第1のメモリ・マップ60A
におけるメモリ・ユニット(n+1)のスタート・アド
レス(Y)より小さい場合は(X<Y)の出力を真にす
る。AND回路54A−nは、比較器44A−nの(X
>=Y)出力と比較器44A−(n+1)の(X<Y)
出力が共に真の場合にメモリ・ユニットnを選択する信
号線をアクティブにする。他の比較器及びAND回路も
同様にして各メモリ・ユニットを選択する信号線をアク
ティブにする。
【0017】図8には、第2のメモリ・ユニット特定手
段44Bを構成する論理回路の一例が示されている。第
2のメモリ・ユニット特定手段44Bは並列に並べられ
た比較器44B−0乃至42B−16を有している。比
較器44B−(n+1)(但し、n=15、14、・・
・0)のX入力にはCPU等からのアドレスが入力し、
Y入力には第2のメモリ・マップ形成手段42Bの(1
5−n)番目の加算器即ち、加算器42B−(15−
n)の出力が入力する。前記加算器の出力は、第2のメ
モリ・マップ60Bにおけるメモリ・ユニットnのスタ
ート・アドレスを表している。従って、比較器44B−
(n+1)はCPU等からのアドレス(X)と第2のメ
モリ・マップ60Bにおけるメモリ・ユニットnのスタ
ート・アドレス(Y)とを比較し、CPU等からのアド
レス(X)が第2のメモリ・マップ60Bにおけるメモ
リ・ユニットnのスタート・アドレス(Y)に等しいか
大きい場合は(X>=Y)の出力を真にし、CPU等か
らのアドレス(X)が第2のメモリ・マップ60Bにお
けるメモリ・ユニットnのスタート・アドレス(Y)よ
り小さい場合は(X<Y)の出力を真にする。
【0018】同様にして、比較器44B−nはCPU等
からのアドレス(X)と第2のメモリ・マップ60Bに
おけるメモリ・ユニット(n−1)のスタート・アドレ
ス(Y)とを比較し、CPU等からのアドレス(X)が
第2のメモリ・マップ60Bにおけるメモリ・ユニット
(n−1)のスタート・アドレス(Y)に等しいか大き
い場合は(X>=Y)の出力を真にし、CPU等からの
アドレス(X)が第2のメモリ・マップ60Bにおける
メモリ・ユニット(n−1)のスタート・アドレス
(Y)より小さい場合は(X<Y)の出力を真にする。
AND回路54B−nは、比較器44B−nの(X<
Y)出力と比較器44B−(n+1)の(X>=Y)出
力が共に真の場合にメモリ・ユニットnを選択する信号
線をアクティブにする。他の比較器及びAND回路も同
様にして各メモリ・ユニットを選択する信号線をアクテ
ィブにする。
【0019】図9には、第1及び第2のメモリ・ユニッ
ト特定手段44A及び44Bの夫々により特定されたメ
モリ・ユニットが異なるバンクに属するか否かを示す信
号線を出力するインタリーブ/非インタリーブ選択回路
80が示され、この回路80は制御手段46内に含まれ
ている。図9において、8入力OR回路80A−1には
第1のメモリ・ユニット特定手段44Aからの16本の
メモリ・ユニット選択線の内の偶数バンク28A内のメ
モリ・ユニット0乃至7についての8本の選択線が入力
し、8入力OR回路80B−1には第2のメモリ・ユニ
ット特定手段44Bからの16本のメモリ・ユニット選
択線の内の奇数バンク28B内のメモリ・ユニット8乃
至15についての8本の選択線が入力している。OR回
路80A−1とOR回路80B−1の出力はAND回路
80Cの入力側に接続されている。従って、AND回路
80Cの出力が真のときは、OR回路80A−1の出力
とOR回路80B−1の出力が共に真のときなので、あ
るCPUアドレスを含む1Mのアドレス領域(アドレス
・サイズ)が第1のメモリ・マップ60Aに従う場合に
帰属することになるメモリ・ユニットと第2のメモリ・
マップ60Bに従う場合に帰属することになるメモリ・
ユニットとが、図4の物理アドレス・マップ60Cの物
理アドレスが00600000Hex未満のアドレス領
域に配置された場合であり、それら2つのメモリ・ユニ
ットは別々のバンクに帰属していることを示している。
【0020】8入力OR回路80A−2には第1のメモ
リ・ユニット特定手段44Aからの16本のメモリ・ユ
ニット選択線の内の奇数バンク28B内のメモリ・ユニ
ット8乃至15についての8本の選択線が入力し、8入
力OR回路80B−2には第2のメモリ・ユニット特定
手段44Bからの16本のメモリ・ユニット選択線の内
の偶数バンク28A内のメモリ・ユニット0乃至7につ
いての8本の選択線が入力している。OR回路80A−
2とOR回路80B−2の出力はAND回路80Dの入
力側に接続されている。従って、AND回路80Dの出
力が真のときは、OR回路80A−2の出力とOR回路
80B−2の出力が共に真のときなので、あるCPUア
ドレスを含む1Mバイトのアドレス領域(アドレス・サ
イズ)が第1のメモリ・マップ60Aに従う場合に帰属
することになるメモリ・ユニットと第2のメモリ・マッ
プ60Bに従う場合に帰属することになるメモリ・ユニ
ットとが、図4の物理アドレス・マップ60Cの下半分
の同じ物理アドレス領域に配置された場合に、それら2
つのメモリ・ユニットは別々のバンクに帰属しているこ
とを示している。従って、OR回路80Eの出力は、イ
ンタリーブ可能であることを示している。
【0021】図10には、制御手段46中のRAS発生
回路90が示され、この回路90はインタリーブ/非イ
ンタリーブ選択回路80の出力に基づいて、インタリー
ブ可能な場合は異なるバンクに属する2つのメモリ・ユ
ニットの夫々に対して同時にRAS信号を出力し、イン
タリーブ不可能な場合は1つのメモリ・ユニットに対し
てだけRAS信号を出力する。
【0022】図11には、マルチプレクス・アドレス・
テーブルの一例が示されている。メモリ・ユニットの1
0本のアドレス・ピンMA0乃至MA9に現れる信号が
RAS信号の立ち下がりでラッチされるとロー・アドレ
スが得られ、CAS信号の立ち下がりでラッチされると
カラム・アドレスが得られる。インタリーブ・アクセス
を行うときは、2つのバンク28A及び28B中のメモ
リ・ユニットが同時に選択される。図11のテーブル
は、インタリーブ・アクセスを行うときに、CPU等か
らのアドレスを、偶数バンク28A中のメモリ・ユニッ
トと奇数バンク28B中のメモリ・ユニットへ、どのよ
うにして振り分けるかを具体的に示している。即ち、C
PU等からのアドレスを第1のメモリ・マップ60A中
のメモリ・ユニットと第2のメモリ・マップ60B中の
メモリ・ユニットへ、どのようにして振り分けるかを具
体的に示している。図11のテーブルに従う場合、CP
U等からのアドレスのA2が0のときは第1のメモリ・
マップ60A中のメモリ・ユニットが選択され、A2が
1のときは第2のメモリ・マップ60B中のメモリ・ユ
ニットが選択される。
【0023】また、図11のテーブルは、非インタリー
ブ・アクセスを行うときに、CPU等からのアドレスを
偶数バンク28A中のメモリ・ユニットと奇数バンク2
8B中のメモリ・ユニットへ、どのようにして振り分け
るか、即ち、CPU等からのアドレスを第1のメモリ・
マップ60A中のメモリ・ユニットと第2のメモリ・マ
ップ60B中のメモリ・ユニットへ、どのようにして振
り分けるかをも具体的に示している。非インタリーブ・
アクセスを行うときは、第1のメモリ・マップ60A中
の1つのメモリ・ユニットと第2のメモリ・マップ60
B中の1つのメモリ・ユニットとの何れか一方だけがに
選択される。図11のテーブルに従う場合、第1のメモ
リ・マップ60A中のメモリ・ユニットが選択されるか
第2のメモリ・マップ60B中のメモリ・ユニットが選
択されるかはCPU等側からのアドレスのA11の値に
よることになる。A11=0のときは第1のメモリ・マ
ップ60A中のメモリ・ユニットが選択され、A11=
1のときは第2のメモリ・マップ60B中のメモリ・ユ
ニットが選択される。
【0024】このような本実施例によれば、偶数バンク
28Aと奇数バンク28Bのメモリ・スロットにどのよ
うな順序でSIMMが実装されていても、常に最大限の
範囲のメモリ・アドレスをインタリーブ・アクセスでき
る。つまり、SIMMの実装状態にかかわらず、偶数バ
ンク28Aと奇数バンク28Bのメモリ容量の内の少な
い方の容量の2倍の容量については必ずインタリーブ・
アクセスできるという効果がある。
【0025】また、DOSはシステム・メモリの物理ア
ドレス内の下位に配置され、OS/2は上位に配置され
る等、一般にオペレーティング・システムはシステム・
メモリの物理アドレスの下位や上位に配置されるが、前
記実施例では、図4の物理アドレス・マップ60Cにも
示されるように、全アドレス範囲の下上位置にインタリ
ーブ可能なアドレス範囲が配置されている。従って、オ
ペレーティング・システムのように頻繁に実行されるプ
ログラムが記憶されているアドレス範囲についてインタ
リーブできるので、プログラムの実行速度を向上させる
効果が高い。
【0026】尚、前記実施例では、偶数バンク内のメモ
リ・ユニットを昇順で並べた後に奇数バンク内のメモリ
・ユニットを昇順で並べて成る第1のメモリ・マップ
と、前記第1のメモリ・マップとは逆の順序でメモリ・
ユニットを並べて成る第2のメモリ・マップを形成した
が、メモリ・マップの構成はこのような場合に限られ
ず、各メモリ・マップ内のメモリ・ユニットの配列が同
一でなければよい。但し、偶数バンク内のメモリ・ユニ
ットを昇順で並べた後に奇数バンク内のメモリ・ユニッ
トを昇順で並べて成る第1のメモリ・マップと、前記第
1のメモリ・マップとは逆の順序でメモリ・ユニットを
並べて成る第2のメモリ・マップを形成する場合は、前
述のように、全アドレス範囲の下上位置にインタリーブ
可能なアドレス範囲が配置されるので、オペレーティン
グ・システムのように頻繁に実行されるプログラムが記
憶されているアドレス範囲についてインタリーブできる
という効果がある。
【0027】また、本発明が適用されるのは2ウェイ・
インタリーブに限られず、インタリーブ可能なメモリ・
バンクが2個以外の数の場合にも適用され得る。
【0028】
【発明の効果】上述のように本発明によれば、システム
・メモリとして複数のメモリ・モジュールがどのような
状態でユーザにより実装或は増設されても、常に最適な
実装状態で実装或は増設された場合と同等の範囲でイン
タリーブ・アクセスすることを可能にするメモリ・コン
トローラ及びデータ処理システムを提供できる。
【図面の簡単な説明】
【図1】本発明に係るメモリ・コントローラの一実施例
の構成を示すブロック図である。
【図2】本発明に係るデータ処理システムの一実施例の
全体構成を示すブロック図である。
【図3】前記実施例のメモリ・コントローラのレジスタ
内に保持されるデータの内容の一例を示すブロック図で
ある。
【図4】前記実施例のメモリ・マップの一例を示すブロ
ック図である。
【図5】前記実施例のメモリ・コントローラの第1のメ
モリ・マップ形成手段の一例を示すブロック図である。
【図6】前記実施例のメモリ・コントローラの第2のメ
モリ・マップ形成手段の一例を示すブロック図である。
【図7】前記実施例のメモリ・コントローラの第1のメ
モリ・ユニット特定手段の一例を示すブロック図であ
る。
【図8】前記実施例のメモリ・コントローラの第2のメ
モリ・ユニット特定手段の一例を示すブロック図であ
る。
【図9】前記実施例のメモリ・コントローラの制御手段
のインタリーブ/非インタリーブ検出機能を有する部分
の一例を示すブロック図である。
【図10】前記実施例のメモリ・コントローラの制御手
段のRAS信号線を選択する機能を有する部分の一例を
示すブロック図である。
【図11】前記実施例のメモリ・マルチプレクス・アド
レス・テーブルの一例である。
【符号の説明】
10 CPU(マイクロプロセッサ) 12 DMAコントローラ 14 NVRAM 16 ROM 18 メモリ・コントローラ 20 システム・クロック発振器 22 システム・バス 24 拡張スロット 26 メモリ・バス 28 メモリ 28A 偶数バンク 28B 奇数バンク 30 システム・コントローラ 32 データ・バス・バッファ 40 レジスタ 42 メモリ・マップ形成手段 42A 第1のメモリ・マップ形成手段 42B 第2のメモリ・マップ形成手段 44 メモリ・ユニット特定手段 44A 第1のメモリ・ユニット特定手段 44B 第2のメモリ・ユニット特定手段 46 制御手段 48 RAS/CAS信号発生器 50 アドレス信号発生器 80 インタリーブ/非インタリーブ選択回路 90 RAS発生回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 合田 光宏 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内 (56)参考文献 特開 昭61−49249(JP,A) 実開 昭3−116442(JP,U)

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】インタリーブ可能な複数のバンクの少なく
    とも一部に1つ或は複数のメモリ・ユニットが振り分け
    られて配置されている場合に、CPUあるいはDMAコ
    ントローラ側から送られてくるアドレスに基づいて前記
    メモリ・ユニット内の記憶位置を指定するための物理ア
    ドレス信号を発生するためのメモリ・コントローラであ
    って、各バンク内のメモリ・ユニットを、前記バンクの数に相
    当する異なる種類の所定の順序に並べて成る複数のメモ
    リ・マップを形成し、 前記CPU等側からのアドレスを含む所定の範囲のアド
    レス領域が前記複数のメモリ・マップ内の夫々において
    何れのメモリ・ユニットに属するかを検出し、 前記メモリ・マップ毎に検出された各メモリ・ユニット
    が互いに異なるバンクに属しているか否かを検出し、 互いに異なるバンクに属していれはインタリーブ・アク
    セスに従う態様で、同じバンクに属していれば非インタ
    リーブ・アクセスに従う態様で、前記物理アドレス信号
    を発生する、 ことを特徴とする メモリ・コントローラ
  2. 【請求項2】前記複数のバンクは2つのバンクであり、
    前記複数のメモリ・マップは、前記2つのバンクの内の
    一方のバンク内のメモリ・ユニットを所定の順序で並べ
    た後に他方のバンク内のメモリ・ユニットを所定の順序
    で並べて成る第1のメモリ・マップと、前記第1のメモ
    リ・マップとは逆の順序でメモリ・ユニットを並べて成
    る第2のメモリ・マップである、請求項1のメモリ・コ
    ントローラ
  3. 【請求項3】インタリーブ可能な複数のバンクにメモリ
    ・ユニットが振り分けて配置されている場合に、CPU
    或はDMAコントローラ側から送られてくるアドレスに
    基づいてメモリ・ユニット内の記憶位置を指定するため
    の物理アドレスを発生するためのメモリ・コントローラ
    であって、 前記メモリ・ユニットのアドレス・サイズ及び各バンク
    内における配置に関するデータを保持するレジスタと、 前記レジスタ内のデータに基づいて、前記メモリ・ユニ
    ットを、前記バンクの数に相当する異なる種類の順序で
    並べて成る複数のメモリ・マップを形成するためのメモ
    リ・マップ形成手段と、 前記CPU等側からのアドレスを含む所定の範囲のアド
    レス領域が前記複数のメモリ・マップ内の夫々において
    何れのメモリ・ユニットに属するかを特定するメモリ・
    ユニット特定手段と、前記メモリ・ユニット特定手段により特定された前記メ
    モリ・マップ毎の各メモリ・ユニットが互いに異なるバ
    ンクに振り分けられているか否かに応じて、前記バンク
    に対してインタリーブ・アクセス或は非インタリーブ・
    アクセスのいずれか一方に従う態様で前記物理アドレス
    を発生する制御手段と、 を有するメモリ・コントローラ
  4. 【請求項4】前記複数のバンクは2つのバンクであり、 前記メモリ・マップ形成手段は、前記レジスタ内のデー
    タに基づいて、一方のバンク内のメモリ・ユニットを所
    定の順序で並べた後に他方のバンク内のメモリ・ユニッ
    トを所定の順序で並べて成る第1のメモリ・マップを形
    成する第1のメモリ・マップ形成手段と、前記レジスタ
    内のデータに基づいて、前記第1のメモリ・マップとは
    逆の順序でメモリ・ユニットを並べてなる第2のメモリ
    ・マップを形成する第2のメモリ・マップ形成手段と、
    から成り、 前記メモリ・ユニット特定手段は、前記CPU等側から
    のアドレスを含む所定の範囲のアドレス領域が第1のメ
    モリ・マップ内で帰属することになるメモリ・ユニット
    を特定する第1のメモリ・ユニット特定手段と、前記ア
    ドレス領域が第2のメモリ・マップ内で帰属することに
    なるメモリ・ユニットを特定する第2のメモリ・ユニッ
    ト特定手段と、から成り、 前記第1及び第2のメモリ・ユニット特定手段の夫々に
    より特定されたメモリ・ユニットが異なるバンクに属す
    るか否かに応じて、前記バンクに対してインタリーブ・
    アクセス或は非インタリーブ・アクセスに従う態様で前
    記物理アドレス信号を発生する制御手段と、 を有する請求項3のメモリ・コントローラ
  5. 【請求項5】CPUと、 DMAコントローラと、 少なくとも一部に1つ或は複数のメモリ・ユニットが振
    り分けて配置されているインタリーブ可能な複数のメモ
    リ・バンクを有するメモリと、 前記メモリへのアクセスを制御するためのメモリ・コン
    トローラであって、各バンク内のメモリ・ユニットを、
    前記バンクの数に相当する異なる種類の所定の順序で並
    べて成る複数のメモリ・マップを形成し、前記CPU或
    は前記DMAコントローラ側からのアドレスを含む所定
    の範囲のアドレス領域が前記複数のメモリ・マップ内の
    夫々において何れのメモリ・ユニットに属するかを検出
    し、検出された各メモリ・ユニットが互いに異なるバン
    クに振り分けられているか否かに応じて、前記バンクに
    対してインタリーブ・アクセス或は非インタリーブ・ア
    クセスのいずれか一方に従う態様でメモリ・アクセスを
    行う機能を有する、メモリ・コントローラと、 前記CPUと前記メモリ・コントローラとを接続するバ
    スと、 を有するデータ処理システム
  6. 【請求項6】前記複数のバンクは2つのバンクであり、
    前記複数のメモリ・マップは、前記2つのバンクの内の
    一方のバンク内のメモリ・ユニットを所定の順序で並べ
    た後に他方のバンク内のメモリ・ユニットを所定の順序
    で並べて成る第1のメモリ・マップと、前記第1のメモ
    リ・マップとは逆の順序でメモリ・ユニットを並べて成
    る第2のメモリ・マップである、請求項5のデータ処理
    システム
  7. 【請求項7】前記メモリ・コントローラは、 前記メモリ・ユニットのアドレス・サイズ及び各バンク
    内における配置に関するデータを保持するレジスタと、 前記レジスタ内のデータに基づいて、前記メモリ・ユニ
    ットを、前記バンクの数に相当する異なる種類の順序に
    並べて成る複数のメモリ・マップを形成するためのメモ
    リ・マップ形成手段と、 前記CPU等側からのアドレスを含む所定の範囲のアド
    レス領域が前記複数のメモリ・マップ内の夫々において
    何れのメモリ・ユニットに属するかを特定するメモリ・
    ユニット特定手段と、 前記メモリ・ユニット特定手段により特定された前記メ
    モリ・マップ毎のメモリ・ユニットが互いに異なるバン
    クに振り分けられているか否かに応じて、前記バンクに
    対してインタリーブ・アクセス或は非インタリーブ・ア
    クセスのいずれか一方に従う態様でメモリ・アクセスの
    ための物理アドレス信号を発生する制御手段と、を有す
    る、 請求項5のデータ処理システム
  8. 【請求項8】前記複数のバンクは2つのバンクであり、 前記メモリ・マップ形成手段は、前記レジスタ内のデー
    タに基づいて、一方のバンク内のメモリ・ユニットを所
    定の順序で並べた後に他方のバンク内のメモリ・ユニッ
    トを所定の順序で並べて成る第1のメモリ・マップを形
    成する第1のメモリ・マップ形成手段と、前記レジスタ
    内のデータに基づいて、前記第1のメモリ・マップとは
    逆の順序でメモリ・ユニットを並べてなる第2のメモリ
    ・マップを形成する第2のメモリ・マップ形成手段と、
    から成り、 前記メモリ・ユニット特定手段は、前記CPU等側から
    のアドレスを含む所定の範囲のアドレス領域が第1のメ
    モリ・マップ内で帰属することになるメモリ・ユニット
    を特定する第1のメモリ・ユニット特定手段と、前記ア
    ドレス領域が第2のメモリ・マップ内で帰属することに
    なるメモリ・ユニットを特定する第2のメモリ・ユニッ
    ト特定手段と、から成り、 前記第1及び第2のメモリ・ユニット特定手段の夫々に
    より特定されたメモリ・ユニットが異なるバンクに属す
    るか否かに応じて、前記バンクに対してインタリーブ・
    アクセス或は非インタリーブ・アクセスに従う態様で前
    記物理アドレス信号を発生する制御手段と、 を有する請求項7のデータ処理システム
JP3290408A 1991-10-11 1991-10-11 メモリ・コントローラ、及びデータ処理システム Expired - Fee Related JPH0823843B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP3290408A JPH0823843B2 (ja) 1991-10-11 1991-10-11 メモリ・コントローラ、及びデータ処理システム
TW080108172A TW200577B (ja) 1991-10-11 1991-10-16
KR1019920016538A KR950014176B1 (ko) 1991-10-11 1992-09-09 메모리 콘트롤라 및 데이타 처리 시스템
CN92110513A CN1040159C (zh) 1991-10-11 1992-09-11 存储控制器与数据处理系统
CA002079353A CA2079353A1 (en) 1991-10-11 1992-09-24 Memory controller and data processing system
BR929203840A BR9203840A (pt) 1991-10-11 1992-10-01 Controlador de memoria e sistema de processamento de dados
SG1996000209A SG52203A1 (en) 1991-10-11 1992-10-08 Memory controller and data processing system
EP92309177A EP0540198A1 (en) 1991-10-11 1992-10-08 Memory controller and data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3290408A JPH0823843B2 (ja) 1991-10-11 1991-10-11 メモリ・コントローラ、及びデータ処理システム

Publications (2)

Publication Number Publication Date
JPH05134923A JPH05134923A (ja) 1993-06-01
JPH0823843B2 true JPH0823843B2 (ja) 1996-03-06

Family

ID=17755633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3290408A Expired - Fee Related JPH0823843B2 (ja) 1991-10-11 1991-10-11 メモリ・コントローラ、及びデータ処理システム

Country Status (8)

Country Link
EP (1) EP0540198A1 (ja)
JP (1) JPH0823843B2 (ja)
KR (1) KR950014176B1 (ja)
CN (1) CN1040159C (ja)
BR (1) BR9203840A (ja)
CA (1) CA2079353A1 (ja)
SG (1) SG52203A1 (ja)
TW (1) TW200577B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619471A (en) * 1995-06-06 1997-04-08 Apple Computer, Inc. Memory controller for both interleaved and non-interleaved memory
US6272600B1 (en) * 1996-11-15 2001-08-07 Hyundai Electronics America Memory request reordering in a data processing system
CN100405326C (zh) * 1997-07-24 2008-07-23 自由度半导体公司 访问存储器的方法以及数据处理系统
US6629219B1 (en) 2000-03-31 2003-09-30 Intel Corporation Method and apparatus for providing highly programmable memory mapping and improved interleaving
US7519693B2 (en) * 2004-11-18 2009-04-14 International Business Machines Corporation Apparatus, system, and method for integrating an enclosure
US7870351B2 (en) * 2007-11-15 2011-01-11 Micron Technology, Inc. System, apparatus, and method for modifying the order of memory accesses
JP2016218721A (ja) 2015-05-20 2016-12-22 ソニー株式会社 メモリ制御回路およびメモリ制御方法
US10776308B2 (en) * 2017-06-30 2020-09-15 Intel Corporation Smart memory data store or load method and apparatus
US10303398B2 (en) * 2017-10-26 2019-05-28 Advanced Micro Devices, Inc. Swizzling in 3D stacked memory

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6149249A (ja) * 1984-08-17 1986-03-11 Fujitsu Ltd 記憶装置のインタリ−ブ制御方式
JPS61262862A (ja) * 1985-11-28 1986-11-20 Nec Corp 主記憶装置
US5341486A (en) * 1988-10-27 1994-08-23 Unisys Corporation Automatically variable memory interleaving system
TWM286903U (en) * 2005-01-25 2006-02-01 Shu-Shiung Guo Jewelry lamp

Also Published As

Publication number Publication date
EP0540198A1 (en) 1993-05-05
BR9203840A (pt) 1993-05-04
SG52203A1 (en) 1998-09-28
CN1040159C (zh) 1998-10-07
CN1071771A (zh) 1993-05-05
TW200577B (ja) 1993-02-21
KR930008639A (ko) 1993-05-21
JPH05134923A (ja) 1993-06-01
KR950014176B1 (ko) 1995-11-22
CA2079353A1 (en) 1993-04-12

Similar Documents

Publication Publication Date Title
US5430856A (en) Data processing system simultaneously performing plural translations of virtual addresses having different page sizes
JP3590413B2 (ja) メモリ制御装置
US6170039B1 (en) Memory controller for interchanging memory against memory error in interleave memory system
US5619471A (en) Memory controller for both interleaved and non-interleaved memory
US5278801A (en) Flexible addressing for drams
US5446860A (en) Apparatus for determining a computer memory configuration of memory modules using presence detect bits shifted serially into a configuration register
US5737572A (en) Bank selection logic for memory controllers
US5307469A (en) Multiple mode memory module
US4870569A (en) Vector access control system
JPH0823843B2 (ja) メモリ・コントローラ、及びデータ処理システム
JPH10301842A (ja) メモリ制御装置
US5265053A (en) Main memory DRAM interface
US6553478B1 (en) Computer memory access
US5901298A (en) Method for utilizing a single multiplex address bus between DRAM, SRAM and ROM
US6292867B1 (en) Data processing system
GB2256293A (en) Memory decode system
JPH0981453A (ja) メモリ制御方法及びその実施装置
JP3614956B2 (ja) メモリ制御システム
JP3540388B2 (ja) コンピュータシステム
KR0154748B1 (ko) 다양한 메모리 폭 및 길이를 갖는 시스템의 피지컬 어드레스 제어방법
US6141727A (en) Device and method for controlling data storage device
JP2684752B2 (ja) 拡張記憶制御方式
JPS63163938A (ja) ダイナミツクramコントロ−ラ
JPH06243028A (ja) メモリアドレス制御方法
JPH0561769A (ja) メモリ・アクセス方法

Legal Events

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