[go: up one dir, main page]

JPH0816883B2 - プロセッサ・メモリのアドレス制御方法 - Google Patents

プロセッサ・メモリのアドレス制御方法

Info

Publication number
JPH0816883B2
JPH0816883B2 JP3222452A JP22245291A JPH0816883B2 JP H0816883 B2 JPH0816883 B2 JP H0816883B2 JP 3222452 A JP3222452 A JP 3222452A JP 22245291 A JP22245291 A JP 22245291A JP H0816883 B2 JPH0816883 B2 JP H0816883B2
Authority
JP
Japan
Prior art keywords
cache
data
address
ram
chips
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.)
Ceased
Application number
JP3222452A
Other languages
English (en)
Other versions
JPH06342400A (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
Publication of JPH06342400A publication Critical patent/JPH06342400A/ja
Publication of JPH0816883B2 publication Critical patent/JPH0816883B2/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0879Burst mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理システムに
おいてキャッシュを有するプロセッサ・メモリのための
メモリ・チップ・アドレッシング及び選択制御の改良に
関する。
【0002】
【従来の技術】現在の商用計算機システムにおいて最も
普通に使用されているキャッシュ登録簿(ディレクト
リ)は、ハードウェア・マトリックスであって、そのマ
トリックス行はキャッシュ合同(コングルエンス)クラ
スをそれぞれ保持している。ここで、各キャッシュ・ク
ラスは複数の関連エントリを有し、各エントリは関連す
るキャッシュ・データ記憶配列における1ラインの主メ
モリ・アドレス表示を保持することができる。登録簿の
エントリは概念的にはマトリックスのそれぞれの列(す
なわちマトリックスのセット)に配列されているものと
考えられる。異なる列において見いだされる任意の行の
エントリはセット・アソシアティブである。
【0003】従来技術において、米国特許第37053
88号は主メモリがデータのラインをキャッシュに転送
している間、主メモリを一時的に中断させることによ
り、プロセッサがキャッシュ内のデータの異なるライン
にアクセスできるようにしている。米国特許第3670
307号及び第3670309号はキャッシュ内の異な
るBSM(基本記憶モジュール)にアクセスすることに
より、同時的なプロセッサ及びライン・フェッチ・アク
セスを可能にしている。すなわち、プロセッサがキャッ
シュのひとつのBSMのバスにアクセスするのと並行し
て、キャッシュの他のBSMの異なるバスをアクセスし
て主メモリからのライン・フェッチを行うことができ
る。こうするため、キャッシュは複数のBSMで構成さ
れなければならない。米国特許第3588829号で
は、ライン転送の第一ワードから当該ラインの最後のワ
ードが主メモリからキャッシュにフェッチされるまで、
キャッシュに対するプロセッサ要求を遅らせるようにし
ている。
【0004】米国特許第3806888号は主メモリに
高速読出し手段を設け、データ・ラインが、主メモリか
らワードを転送するのに通常必要とされる時間内にバッ
ファを通してキャッシュへ転送することができるように
している。
【0005】汎用計算機において主メモリ及びキャッシ
ュとの間で転送されるデータ単位は、'キャッシュ・ラ
イン'と呼ばれている。各キャッシュ・ラインは複数の
要素(E)から成り、各キャッシュ・ラインにおける要
素の数はライン長さLと呼ばれる。要素における主メモ
リ及びキャッシュの間のデータ経路の幅はWと呼ばれ
る。このことは、1キャッシュ・ラインを転送するには
データ経路を介してL/W回の転送を行うのが必要であ
ることを意味している。
【0006】本発明によって解決される問題は、次のよ
うな場合に起きる。 a)ライン長さLがデータ経路幅Wの倍数であり、 b)データ経路幅Wが要素長さEの倍数であり、 c)現在はキャッシュ内になくかつLより長くはない要
素のストリングをアクセスしようとするCPUにより、
キャッシュ・ラインのロードが行われる場合。
【0007】従来技術に関する前述の問題を解決するに
は、キャッシュ・ラインをロードするに際し、キャッシ
ュ・ミスを生ぜしめた第一要素を含みかつW要素境界に
位置合せされたW個の要素からかかるロードを開始すれ
ばよい。境界位置合せの制約は、ハードウェア設計を単
純化するために導かれるものである。このようにするこ
とで問題となるのは、CPUがW要素境界を横切るよう
な要素のストリングを必要とする場合があるということ
である。このような場合には、CPUは第二のデータ転
送が完了するまで待っていなければならない。
【0008】
【発明が解決しようとする課題】本発明の目的は、キャ
ッシュを有するデータ処理システムの主メモリにおいて
かかるデータ転送の待機を避けるように、チップをアド
レスしかつ選択することにある。
【0009】本発明の他の目的は、適当な追加のハード
ウェア手段を利用して、前記の問題をハードウェア的に
解決することにある。
【0010】
【課題を解決するための手段】本発明においては、適当
なハードウェア手段を追加することによってデータ転送
の待機を避けている。このことはキャッシュ・ミスを生
ぜしめた第一の要素からキャッシュ・ラインのロードを
開始し、次のW−1個の要素までこれを継続することを
可能にする。(前述のように)CPUが第二のデータ転
送を待っていなければならないという事態は、避けるこ
とができる。
【0011】本発明では、待ちサイクルも無ければ、空
サイクルも内。キャッシュを備えた機械においてメモリ
・アクセスの間に失ったサイクルまたは得たサイクルの
各々は、総合性能の約2%に相当する。4つのメモリ・
チップが並列に配されるような例では、本発明は1回の
メモリ・アクセスあたり平均して2サイクルを得ること
ができ、結果として4%またはこれとほぼ等しい割合の
性能の向上を得る。
【0012】メモリをアクセスすることに係る本発明
は、中断無しでキャッシュ・ライン転送が達成できるた
め従来技術よりも優れている。
【0013】
【実施例】図1の簡略化したブロック図をもとに説明す
る。なお、図1(図4、図6、図7も同様)は1データ
・ビットに対応する回路構成のみを示しているにすぎ
ず、実際の実現形態においては各ワード中のビット数に
応じて図1の回路構成が追加されることに注意された
い。PU(プロセッサ・ユニット)は必要とされるデー
タのアドレス及び適当な制御信号を主メモリに送る。デ
コーダはこのアドレス情報をデコードし、並列に4つの
DRAMメモリ・チップの第一行(DRAMビット0な
いし3)を選択するために、アドレスA03を活動状態
にする。各DRAMチップは1データ・ビットを与え
る。次に、これら4つのデータ・ビットは対応するバッ
ファ・アドレスを活動状態にすることによってバッファ
・セル0ないし3に記憶される(ショット1)。続い
て、デコーダはDRAMチップの第二行(4ないし7)
を選択して、それらをバッファ・セル4ないし7に記憶
する(ショット2)。ショット2の開始と同時に、マル
チプレクサはメモリ・バスを通してデータをビットごと
にキャッシュに転送し始める。もし、PUによって必要
とされる第一のバイトがバイト0であれば(キャッシュ
がライン編成されていることに注意)、このバイト0は
図1に示したDRAMメモリ・チップ0からのデータ・
ビットを含み、次のバイト1はDRAMメモリ・チップ
1からのデータ・ビットを含み、以下同様であるから、
データの流れは連続的となり、第一のアクセス損失は無
い(図2のダイアグラムを参照)。
【0014】もし、PUがバイト3をもって開始するこ
とを必要とすれば、図3に示すように、デコーダはショ
ット1においてA03を選択しショット2においてA4
7を選択する。しかし、PUは中断されないデータ・ス
トリングを必要とする。ゆえにマルチプレクサは中断さ
れないシーケンスにおいてデータの転送を開始する前に
3サイクルを待たなければならない。これは3サイクル
の第一のアクセス損失となる。
【0015】かかるアクセス時間の損失を避けるため
に、図4に示すようなアドレッシング方式が提案され
る。
【0016】図4に示すデコーダは各々が1データ・ビ
ットを与えるDRAMを選択するために8つのDRAM
アドレス出力A0...A7を有し、また適当なバッフ
ァ・セルを選択するために8つのバッファ・アドレス出
力を有する。これが図1の従来のデコーダ状態と本発明
との主な相違点である。前述のように、図1に示す従来
のデコーダは、DRAM及びバッファ・セルの各々につ
いて1つずつ、計2つのアドレスのみを供給するにすぎ
ない。
【0017】PUによって必要とされる第一のデータ・
バイトに依存して、デコーダはDRAMアドレス線及び
バッファ・アドレス線を図5の内容に従って選択する。
【0018】バイト3をもって開始するフェッチ・サイ
クルの記述
【0019】前述のように、PUはまずバイト3を必要
とする(開始アドレスの下位ビット=011)PUはこ
のことを3つの下位アドレス・ビットを通してデコーダ
に指示する。第一ショットの間、デコーダはA3、A
4、A5及びA6を活動状態にし、対応するDRAMチ
ップを選択する。適当なバッファ・アドレス・ライン
3、4、5及び6が活動状態にされると同時に、DRA
Mチップから読み取られたデータがバッファ・セルに記
憶される(図6参照)。
【0020】第二のショットの間、デコーダはA7、A
0、A1及びA2を選択し、対応するバッファ・セル
7、0、1及び2を活動状態にする(図7参照)。
【0022】第二のショットの開始の際に、マルチプレ
クサはバイト3から転送を開始し、バイト4−5−6−
7−0−1−2まで継続する(ラップ・アラウンド)。
図8のダイアグラムに見られるようにデータ転送の開始
またはその途中においては待ちサイクルがない。
【0023】
【発明の効果】提案された主メモリのアドレッシング方
式はデコーダの論理が僅かながら複雑になるが、総合的
にはシステムの性能を改善している。キャッシュを備え
た機械におけるメモリ・アクセスの際に失ったサイクル
または得たサイクルの各々は、総合性能の約2%に相当
する。4つのメモリ・チップが並列にある前記の例にお
いて、提案された概念は、メモリ・アクセスにつき平均
して2サイクルを得る。したがって、ほぼこれに相当す
る割合の性能が向上していることがわかる。
【図面の簡単な説明】
【図1】従来のキャッシュ付きメモリのデコーダを表す
ブロック図である。
【図2】第一のバイトがバイト0である場合のダイアグ
ラム図である。
【図3】第一のバイトがバイト3である場合のダイアグ
ラム図である。
【図4】メモリをアドレス指定する本発明のデコーダを
表すブロック図である。
【図5】DRAMアドレス線及びバッファ・アドレス線
の選択図である。
【図6】本発明の第一のショットを示す線図である。
【図7】本発明の第二のショットを示す線図である。
【図8】第一のバイトがバイト3のダイアグラム図であ
る。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平2−10446(JP,A)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】データ処理装置であって、 (a)メモリ・チップの複数のグループを有し、各グル
    ープが容量の等しい2つのチップの組に分けられ、各グ
    ループは第1のアドレスによりアクセス可能で、各個々
    のメモリ・チップは第2のアドレスによってアクセス可
    能である、データを記憶するためのRAM(ランダム・
    アクセス・メモリ)と、 (b)前記RAMに接続され、前記RAMに記憶された
    データの一部を記憶し、要求されたデータを個々に読み
    出すためにキャッシュ・アドレスによってアクセス可能
    であり、要求されたデータがキャッシュ内部に記憶され
    ていない場合にキャッシュ・ミス信号を発生するキャッ
    シュと、 (c)前記キャッシュ及び前記RAMに接続され、前記
    キャッシュ・ミス信号を受け取り、該信号の受け取りに
    応答して、2つのショットで前記RAMから前記キャッ
    シュへのブロック転送を実行するために前記RAMへの
    アドレス送出を開始し、前記開始アドレスは前記第1の
    アドレス及び前記第2のアドレスを含みかつ前記キャッ
    シュから読み取ろうとして前記キャッシュ・ミス信号を
    発生させる原因となった第1のビットを含む前記グルー
    プ及び該グループ内の個々のチップを特定する、CPU
    と、 (d)前記CPUと前記RAMに接続され、前記CPU
    からの前記開始アドレスを受け取り、前記キャッシュ・
    ミス信号の原因となった前記第1のビットから始まる前
    記2つのショットの内の第1のショットにおいて第1の
    チップの組から第1のブロックのデータ転送を開始し、
    その後前記2つのショットの内の第2のショットにおい
    て前記第1のショットにおいてデータ転送が行われなか
    った前記第1のアドレスによってアクセス可能なメモリ
    ・グループのうち残りのメモリ・チップを含む第2のチ
    ップの組からの第2のブロック・データ転送を行う、デ
    コーダ手段と、 (e)前記RAMと前記デコーダ手段に接続され、前記
    2つのショットにおける前記メモリのグループからの転
    送データを記憶するデータ・バッファと、 (f)前記バッファと前記キャッシュに接続され、前記
    データ・バッファから前記キャッシュへ逐次にデータを
    転送し、前記第2のショットの開始と同時に前記第1の
    チップの組から転送されたデータの先頭から逐次転送を
    開始する、マルチプレクサと、 を具備するデータ処理装置。
JP3222452A 1990-09-03 1991-08-08 プロセッサ・メモリのアドレス制御方法 Ceased JPH0816883B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP90116850A EP0473804A1 (en) 1990-09-03 1990-09-03 Alignment of line elements for memory to cache data transfer
DE90116850.0 1990-09-03

Publications (2)

Publication Number Publication Date
JPH06342400A JPH06342400A (ja) 1994-12-13
JPH0816883B2 true JPH0816883B2 (ja) 1996-02-21

Family

ID=8204414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3222452A Ceased JPH0816883B2 (ja) 1990-09-03 1991-08-08 プロセッサ・メモリのアドレス制御方法

Country Status (3)

Country Link
US (1) US5388240A (ja)
EP (1) EP0473804A1 (ja)
JP (1) JPH0816883B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308241B1 (en) * 1997-12-22 2001-10-23 U.S. Philips Corporation On-chip cache file register for minimizing CPU idle cycles during cache refills
US8250295B2 (en) 2004-01-05 2012-08-21 Smart Modular Technologies, Inc. Multi-rank memory module that emulates a memory module having a different number of ranks
US7916574B1 (en) 2004-03-05 2011-03-29 Netlist, Inc. Circuit providing load isolation and memory domain translation for memory module
US8516185B2 (en) 2009-07-16 2013-08-20 Netlist, Inc. System and method utilizing distributed byte-wise buffers on a memory module
US8154901B1 (en) 2008-04-14 2012-04-10 Netlist, Inc. Circuit providing load isolation and noise reduction
US8417870B2 (en) * 2009-07-16 2013-04-09 Netlist, Inc. System and method of increasing addressable memory space on a memory board
US9128632B2 (en) 2009-07-16 2015-09-08 Netlist, Inc. Memory module with distributed data buffers and method of operation
KR20160038034A (ko) 2013-07-27 2016-04-06 넷리스트 인코포레이티드 로컬 동기화를 갖는 메모리 모듈

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3588829A (en) * 1968-11-14 1971-06-28 Ibm Integrated memory system with block transfer to a buffer store
US3705388A (en) * 1969-08-12 1972-12-05 Kogyo Gijutsuin Memory control system which enables access requests during block transfer
US3670307A (en) * 1969-12-23 1972-06-13 Ibm Interstorage transfer mechanism
US3806888A (en) * 1972-12-04 1974-04-23 Ibm Hierarchial memory system
US4189772A (en) * 1978-03-16 1980-02-19 International Business Machines Corporation Operand alignment controls for VFL instructions
US4317168A (en) * 1979-11-23 1982-02-23 International Business Machines Corporation Cache organization enabling concurrent line castout and line fetch transfers with main storage
US4400770A (en) * 1980-11-10 1983-08-23 International Business Machines Corporation Cache synonym detection and handling means
JPS57105879A (en) * 1980-12-23 1982-07-01 Hitachi Ltd Control system for storage device
US4796222A (en) * 1985-10-28 1989-01-03 International Business Machines Corporation Memory structure for nonsequential storage of block bytes in multi-bit chips
US4992979A (en) * 1985-10-28 1991-02-12 International Business Machines Corporation Memory structure for nonsequential storage of block bytes in multi bit chips
US5226147A (en) * 1987-11-06 1993-07-06 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device for simple cache system
US4912631A (en) * 1987-12-16 1990-03-27 Intel Corporation Burst mode cache with wrap-around fill
JP2580263B2 (ja) * 1988-06-28 1997-02-12 株式会社日立製作所 バッファ記憶装置
US5131083A (en) * 1989-04-05 1992-07-14 Intel Corporation Method of transferring burst data in a microprocessor
US5255378A (en) * 1989-04-05 1993-10-19 Intel Corporation Method of transferring burst data in a microprocessor

Also Published As

Publication number Publication date
US5388240A (en) 1995-02-07
JPH06342400A (ja) 1994-12-13
EP0473804A1 (en) 1992-03-11

Similar Documents

Publication Publication Date Title
US5051889A (en) Page interleaved memory access
JP2714944B2 (ja) 半導体記憶装置
US6389514B1 (en) Method and computer system for speculatively closing pages in memory
US4924375A (en) Page interleaved memory access
US5875470A (en) Multi-port multiple-simultaneous-access DRAM chip
JP2777247B2 (ja) 半導体記憶装置およびキャッシュシステム
US5421000A (en) Memory subsystem having a static row memory and a dynamic RAM
US5111386A (en) Cache contained type semiconductor memory device and operating method therefor
US5561781A (en) Port swapping for improved virtual SRAM performance and processing of concurrent processor access requests
US4894770A (en) Set associative memory
JP3065736B2 (ja) 半導体記憶装置
JP2509766B2 (ja) キャッシュメモリ交換プロトコル
US10672445B2 (en) Memory device including local support for target data searching and methods of operating the same
JP2717674B2 (ja) バスマスタ
US6931483B2 (en) Memory device having different burst order addressing for read and write operations
JP2648548B2 (ja) コンピュータ・メモリ
JPH0764864A (ja) ダイナミックram
US4796222A (en) Memory structure for nonsequential storage of block bytes in multi-bit chips
US6925028B2 (en) DRAM with multiple virtual bank architecture for random row access
US4949244A (en) Storage system
JPH0816883B2 (ja) プロセッサ・メモリのアドレス制御方法
JP2000195253A (ja) Dram及びdramのデ―タ・アクセス方法
US4992979A (en) Memory structure for nonsequential storage of block bytes in multi bit chips
JPH11176152A (ja) 低待ち時間ページ・ヒット操作を有する狭データ幅dram
US20010034808A1 (en) Cache memory device and information processing system

Legal Events

Date Code Title Description
A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20060912