JP2561261B2 - バッファ記憶アクセス方法 - Google Patents

バッファ記憶アクセス方法

Info

Publication number
JP2561261B2
JP2561261B2 JP62035357A JP3535787A JP2561261B2 JP 2561261 B2 JP2561261 B2 JP 2561261B2 JP 62035357 A JP62035357 A JP 62035357A JP 3535787 A JP3535787 A JP 3535787A JP 2561261 B2 JP2561261 B2 JP 2561261B2
Authority
JP
Japan
Prior art keywords
address
buffer storage
data
bank
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.)
Expired - Lifetime
Application number
JP62035357A
Other languages
English (en)
Other versions
JPS63201851A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62035357A priority Critical patent/JP2561261B2/ja
Priority to DE3851241T priority patent/DE3851241T2/de
Priority to EP88100696A priority patent/EP0279189B1/en
Priority to US07/148,859 priority patent/US4949244A/en
Publication of JPS63201851A publication Critical patent/JPS63201851A/ja
Priority to US07/562,255 priority patent/US5070444A/en
Application granted granted Critical
Publication of JP2561261B2 publication Critical patent/JP2561261B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0851Cache with interleaved addressing

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

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はバッファ記憶を有する記憶システムに係り、
特に複数の要求元が同時にバッファ記憶をアクセスする
場合に好適なバッファ記憶アクセス方法に関する。
〔従来の技術〕
バッファ記憶をもつ記憶システムにおいては、バッフ
ァ記憶装置を主記憶装置より小容量でかつ高速な記憶装
置とし、主記憶装置が保持する利用頻度の高い一部のデ
ータを該バッファ記憶装置に格納することにより、バッ
ファ記憶よりデータを高速に入手することができる。こ
のバッファ記憶は、データを保持するデータ部の他にバ
ッファ記憶アドレス部を備えている。バッファ記憶アド
レス部はデータ部が保持するデータのアドレスを保持
し、アクセスを要求するアドレスのデータがデータ部に
存在するかどうかを示す。
この種バッファ記憶がパイプライン方式の命令処理装
置より直接アクセスされるような構成の場合、バッファ
記憶に対し、命令読出し、オペランド読出し及びオペラ
ンドストアの要求が独立に発行されるため、これらの要
求が同時に発生することがある。この場合、優先順位の
低い要求は待たされることなり、命令処理装置の処理性
能が低下する。これを改善する為に、特開昭59−48879
号公報はバッファ記憶のアドレス部とデータ部をそれぞ
れ独立にアクセス可能な命令読出し用とオペランド読出
し用に分割して構成する方法、更にストア用にアドレス
部を持つ方式を開示している。
また、命令処理装置により直接アクセスされるバッフ
ァ記憶と主記憶との間に中間バッファ記憶を追加する3
階層記憶方式の場合、通常、中間バッファには命令処理
装置の他に入出力制御装置が接続される為、これらの装
置からのアクセス要求が同時に発生することがあり、こ
の場合も上記と同様、優先順位の低い要求が待たされる
ことになる。更に、マルチプロセッサ構成時は複数の命
令処理装置及び複数の入出力制御装置が中間バッファに
接続される為、これらのアクセス要求の競合が増加す
る。これを改善する為に中間バッファを複数個持ち、各
々を独立に動作させることによりアクセス要求の競合を
減少させる方式も考えられている。
〔発明が解決しようとする問題点〕
上記従来技術はいずれもバッファ記憶を複数個持つこ
とにより、スループットを向、させるものであるが、物
量が増加する上に複数個のバッファ記憶の内容を一致さ
せるために複雑な制御が必要となるという問題があっ
た。
本発明の目的は物量の増加を最少におさえ、しかも比
較的単純な制御でバッファ記憶におけるアクセス競合の
減少を可能にするバッファ記憶アクセス方法を提供する
ことにある。
〔問題点を解決するための手段〕
本発明はバッファ記憶アドレス部を二つのバンクに分
割し、各バンクをブロック単位にインタリーブさせ、偶
数ブロックのアドレスと奇数ブロックのアドレスをバン
ク分けして登録し、バッファ記憶データ部も複数バンク
に分割し、各バンクをアクセス巾単位にインタリーブ
し、バッファ記憶アドレス部の各バンクが、バッファ記
憶データ部の各バンクをそれぞれアクセスできるように
する。
〔作 用〕
複数の要求元がバッファ記憶アドレス部とデータ部の
異なるバンクをアクセスする場合は、複数の要求元のバ
ッファ記憶アクセスを同時に処理する。
〔実施例〕
初めに、第2図により従来のバッファ記憶におけるア
ドレス部とデータ部の構成例を説明する。
第2図(a)はバッファ記憶がバッファアドレス部1
と4バンクのデータ部20〜23により構成される例であ
る。データ部の各バンクのアクセス巾が8バイトの場
合、各バンクを8バイト単位にインタリーブさせる。第
1の要求元アドレス線30と第2の要求元アドレス線31は
独立にアドレス部1のアクセスを要求するが、アドレス
部1は一度に1つの要求しか処理できないので、両方の
要求が同時に発生すると、一方の要求が待たされること
になる。アドレス部1を参照した要求は、データ部アド
レス線40〜43によりデータ部20〜23をアクセスし、読出
しの場合は、第1の要求先に対するデータ線500,510,52
0,530と第2の要求元に対するデータ線501,511,521,531
上に各データ部のバンクから読出したデータを確定さ
せ、要求元へデータを転送する。
第2図(b)は第2図(a)のアドレス部を2面化し
た例で、アドレス部10は第1の要求元アドレス線30に接
続し、アドレス部11は第2の要求元アドレス線31に接続
する。データ部20〜23とデータ線500,510,520,530及び
データ線501,511,521,531の動作は、第2図(a)の場
合と同じである。アドレス部10と11は同一内容であり、
第1の要求元によりアドレス部10の参照と第2の要求元
によるアドレス部11の参照は独立に並行して行われ、各
要求元がアクセスするデータ部のバンクが異なれば、そ
れぞれデータ部アドレス線400,410,420,430とデータ部
アドレス線401,411,421,431は同時に異なるデータ部の
バンクをアクセス可能である。従って、第2図(b)は
第2図(a)の方式に比べてアドレス部のスループット
が2倍に改善されるが、(b)の方式の問題はアドレス
部の物量が2倍になる点である。
次に、本発明の一実施例について説明する。第1図は
本発明の構成例を示したもので、第2図(a)のアドレ
ス部1を2バンクに分割し、各バンクをブロック単位に
インタリーブさせたものである。1ブロックを64バイト
とすると、偶数ブロックのアドレスをアドレス部12に登
録し、奇数ブロックのアドレスをアドレス部13に登録す
る。第1及び第2の要求元のアドレス線300,301及び31
0,311はそれぞれアドレス部12と13の両方に接線する。
第1の要求元のアドレスが偶数ブロックを指している場
合は、アドレス線300によりアドレス部12を参照し、奇
数ブロックを指している場合はアドレス線301によりア
ドレス部13を参照する。第2の要求元も同様に、偶数ブ
ロックの場合はアドレス線310によりアドレス部12を参
照し、奇数ブロックの場合はアドレス線311によりアド
レス部13を参照する。各アドレス部12,13の参照の結果
生成したデータ部アドレスはそれぞれデータ部アドレス
線400,410,420,430及びデータ部アドレス線401,411,42
1,431によりデータ部20〜23に入力され、同時に異なる
データ部のバンクをアクセスする。データ部20〜23及び
データ線500,510,520,530,501,511,521,531の動作は第
2図(a)及び(b)と同じである。
第1図の方式では、第1の要求元と第2の要求元のア
ドレスが異なるブロックを指定していれば、アドレス部
12,13を同時に参照可能である点で第2図(a)よりも
優れており、アドレス部12と13を合わせた物量が第2図
(a)のアドレス部1とほゞ同一である点で第2図
(b)よりも優れている。
第1図のバッファ記憶アドレス部12,13とデータ部20,
21,22,23の詳細を第3図に示す。
第3図において、要求元アドレス線300,310及び301,3
11、アドレス部12及び13、データ部アドレス部400,410,
420,430及び401,411,421,431、データ部20〜23、データ
線500,510,520,530及び501,511,521,531は第1図と同一
である。
アドレス部12はセレクタ120、アドレスレジスタ121、
アドレスアレイ1230〜1233、比較回路1250〜1253、ヒッ
ト・ロウ検出回路126及びデータ部アドレスレジスタ128
より構成される。アドレスアレイは4ロウ構成であり、
1230〜1233がそれぞれロウ0〜3に対応する。セレクタ
120は第1と第2の要求元アドレス線300,310の偶数ブロ
ックを指しているアドレスのうち優先順位の高い方を選
択し、アドレスレジスタ121に入力する。アドレスレジ
スタ121の出力は、アドレスアレイの各ロウ1230〜1233
及び各ロウの出力1240〜1243の比較回路1250〜1253に接
続される上位アドレス線1220とアドレスアレイの各ロウ
1230〜1233のアドレス入力に接続される下位アドレス線
1221及びデータ部アドレスレジスタ128の下位に接続さ
れる下位データ部アドレス線1222に分かれる。下位アド
レス線1221により、アドレスアレイの各ロウ1230〜1233
の該当カラムに保持されているアドレスがそれぞれ1240
〜1243に出力される。比較回路1250〜1253は上位アドレ
ス線1220のアドレスとアドレスアレイ1230〜1233から出
力されるアドレスを比較し、アドレスレジスタ121で示
すアドレスがアドレスアレイのいずれかに登録されてい
る場合、登録されているロウをヒット・ロウ検出回路12
6に伝える。ヒット・ロウ検出回路126はこれをエンコー
ドして、ロウ・アドレスを作成し、ロウ・アドレス線12
7によりデータ部アドレスレジスタ128の上位に入力す
る。この時、データ部アドレスレジスタ128の下位には
下位データアドレス線1222の内容が入力され、データ部
アドレスが確定する。
アドレス部13の構成は上記アドレス部12と同様であ
る。このアドレス部13はアドレス部12と独立に動作し、
第1と第2の要求元アドレス線301,311の奇数ブロック
を指しているアドレスがアドレスアレイ1330〜1333のい
ずれかに登録されているかを調べる。登録されていれ
ば、データ部アドレスレジスタ138にデータ部アドレス
が確定する。
アドレス部12と13のデータ部アドレスは、それぞれ各
データ部20〜23のセレクタ200,210,220,230へ入力さ
れ、各データ部のバンクをアクセスするのに用いられ
る。即ち、データ部20では、セレクタ200はアドレス部1
2と13のデータ部アドレス線400と401のデータ部アドレ
スのうち優先順位の高い方を選択してデータ部アドレス
レジスタ201に入力し、バンク0のデータアレイ202をア
クセスする。読出しの場合は、データアレイ202から読
出したデータをデータレジスタ203へ入力し、要求元へ
データ線500又は501により送出する。他のデータ部21〜
23の動作は、それぞれデータ部20と同様である。
以上の説明ではアドレス部12と13の優先順位とデータ
部20〜23の優先順位を別々に決定するように述べたが、
アドレス部12と13の優先順位を決定する時に同時にデー
タ部20〜23の優先順位も考慮し、2つは要求元が異なる
ブロックの異なる8バイトをアクセスする時のみアドレ
ス部12と13を同時に起動するように構成してもよい。
又、実施例では、要求元が2つでアドレス部を2面化
(偶数ブロック部と奇数ブロック部)の場合を説明した
が、一般にm個の要求元(m2)、n面のアドレス部
(n2)に拡張することは容易である。
〔発明の効果〕
本発明によれば、バッファ記憶のアドレス部を複数の
バンクに分割し、各バンクをブロック単位にインタリー
ブし、該バッファ記憶アドレス部の各バンクが、バッフ
ァ記憶データ部のアクセス幅単位にインタリーブされた
各バンクをそれぞれアクセスするので、複数の要求元の
アドレスが指すブロックが異なる場合は同時に複数のア
ドレス部を参照することができ、物量を増加することな
くバンク記憶アドレス部におけるアクセスの競合を減少
させることができる。
【図面の簡単な説明】
第1図は本発明を適用したバッファ記憶の一実施例を示
す図、第2図(a)と(b)は従来のバッファ記憶の構
成例を示す図、第3図は第1図の実施例の詳細構成を示
す図である。 300,301,310,311……要求元アドレス部、 12,13……バッファ記憶アドレス部、 400〜430,401〜431……データ部アドレス線、 20,21,22,23……バッファ記憶データ部、 500〜530,501〜531……データ線。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】主記憶装置と、バッファ記憶アドレス部と
    バッファデータ部とからなるバッファ記憶装置を有する
    記憶システムにおけるバッファ記憶アクセス方法であっ
    て、 前記バッファ記憶データ部は、複数のバンクに分割され
    ており、前記主記憶装置に記憶されている所定のデータ
    の一部を前記主記憶装置のデータの写しとしてある記憶
    単位(以下ブロックという)ごとに前記複数のバンクに
    わたって貯蔵して、各バンクをアクセス巾単位にインタ
    ーリーブさせておき、 前記バッファ記憶アドレス部は、二つのバンクに分割さ
    れており、前記ブロックのブロック単位にインターリー
    ブしたアドレス番号が偶数であるか奇数であるによって
    該各バンクにアドレス番号を登録して、該各バンクが前
    記バッファ記憶データ部の各バンクをそれぞれアクセス
    するようにし、 複数のアクセス要求元が、前記バッファ記憶アドレス部
    に前記バッファ記憶データ部へのアクセス要求を発信
    し、前記バッファ記憶アドレス部の各バンクが該要求を
    受信すると、該要求が自バンクに登録されているブロッ
    クであるかどうかをブロック単位のアドレス番号により
    判断し、該アクセス要求を受けた前記バッファ記憶アド
    レス部の各バンクが要求されたデータのある前記バッフ
    ァ記憶データ部の所定のバンクをアクセスし、 前記複数のデータアクセス要求元が前記バッファ記憶ア
    ドレス部の分割された異なるバンクにアクセスし、さら
    に該バッファ記憶アドレス部のそれぞれのバンクが前記
    バッファ記憶データ部のバンクの異なるバンクをアクセ
    スする場合は複数のアクセス要求元のデータアクセスを
    同時に行い、 前記複数のアクセス要求元が前記バッファ記憶アドレス
    部の分割された異なるバンクにアクセスし、さらに該バ
    ッファ記憶アドレス部のそれぞれのバンクが前記バッフ
    ァ記憶データ部のバンクの同じバンクをアクセスしよう
    とする場合には予め決められた前記バッファ記憶アドレ
    ス部の優先順位によりデータアクセスを行うことを特徴
    とするバッファ記憶アクセス方法。
JP62035357A 1987-02-18 1987-02-18 バッファ記憶アクセス方法 Expired - Lifetime JP2561261B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP62035357A JP2561261B2 (ja) 1987-02-18 1987-02-18 バッファ記憶アクセス方法
DE3851241T DE3851241T2 (de) 1987-02-18 1988-01-19 Speicheranordnung.
EP88100696A EP0279189B1 (en) 1987-02-18 1988-01-19 Storage system
US07/148,859 US4949244A (en) 1987-02-18 1988-01-27 Storage system
US07/562,255 US5070444A (en) 1987-02-18 1990-08-03 Storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62035357A JP2561261B2 (ja) 1987-02-18 1987-02-18 バッファ記憶アクセス方法

Publications (2)

Publication Number Publication Date
JPS63201851A JPS63201851A (ja) 1988-08-19
JP2561261B2 true JP2561261B2 (ja) 1996-12-04

Family

ID=12439626

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62035357A Expired - Lifetime JP2561261B2 (ja) 1987-02-18 1987-02-18 バッファ記憶アクセス方法

Country Status (4)

Country Link
US (2) US4949244A (ja)
EP (1) EP0279189B1 (ja)
JP (1) JP2561261B2 (ja)
DE (1) DE3851241T2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276850A (en) * 1988-12-27 1994-01-04 Kabushiki Kaisha Toshiba Information processing apparatus with cache memory and a processor which generates a data block address and a plurality of data subblock addresses simultaneously
JPH077355B2 (ja) * 1988-12-27 1995-01-30 株式会社東芝 情報処理装置
US5182801A (en) * 1989-06-09 1993-01-26 Digital Equipment Corporation Apparatus and method for providing fast data transfer between multiple devices through dynamic reconfiguration of the memory space of the devices
JPH0740247B2 (ja) * 1989-06-20 1995-05-01 松下電器産業株式会社 キャッシュメモリ装置
JP2899986B2 (ja) * 1990-08-08 1999-06-02 株式会社日立製作所 データ格納方法,ベクトルデータバッファ装置およびベクトルデータ処理装置
US5581734A (en) * 1993-08-02 1996-12-03 International Business Machines Corporation Multiprocessor system with shared cache and data input/output circuitry for transferring data amount greater than system bus capacity
EP0840231A1 (en) * 1996-10-31 1998-05-06 Texas Instruments Incorporated Microprocessor comprising multi-level cache memory
US5924117A (en) * 1996-12-16 1999-07-13 International Business Machines Corporation Multi-ported and interleaved cache memory supporting multiple simultaneous accesses thereto
JPH1165871A (ja) * 1997-08-11 1999-03-09 Mitsubishi Electric Corp ワンチップクロック同期式メモリー装置
JP3793062B2 (ja) * 2001-09-27 2006-07-05 株式会社東芝 メモリ内蔵データ処理装置
JP4336848B2 (ja) 2004-11-10 2009-09-30 日本電気株式会社 マルチポートキャッシュメモリ及びマルチポートキャッシュメモリのアクセス制御方式
US20210018952A1 (en) * 2017-06-02 2021-01-21 Ultramemory Inc. Semiconductor module
US11226909B2 (en) 2018-08-24 2022-01-18 Rambus Inc. DRAM interface mode with interruptible internal transfer operation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5466727A (en) * 1977-11-07 1979-05-29 Fujitsu Ltd Access control system for buffer memory
US4371929A (en) * 1980-05-05 1983-02-01 Ibm Corporation Multiprocessor system with high density memory set architecture including partitionable cache store interface to shared disk drive memory
US4381541A (en) * 1980-08-28 1983-04-26 Sperry Corporation Buffer memory referencing system for two data words
JPS57105879A (en) * 1980-12-23 1982-07-01 Hitachi Ltd Control system for storage device
US4424561A (en) * 1980-12-31 1984-01-03 Honeywell Information Systems Inc. Odd/even bank structure for a cache memory
EP0055579B1 (en) * 1980-12-31 1991-03-20 Bull HN Information Systems Inc. Cache memories with double word access
JPS58149548A (ja) * 1982-03-02 1983-09-05 Hitachi Ltd メモリ制御方式
JPS5948879A (ja) * 1982-09-10 1984-03-21 Hitachi Ltd 記憶制御方式
US4646737A (en) * 1983-06-13 1987-03-03 Laserscope, Inc. Localized heat applying medical device
US4646237A (en) * 1983-12-05 1987-02-24 Ncr Corporation Data handling system for handling data transfers between a cache memory and a main memory
US4695943A (en) * 1984-09-27 1987-09-22 Honeywell Information Systems Inc. Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization

Also Published As

Publication number Publication date
US4949244A (en) 1990-08-14
US5070444A (en) 1991-12-03
EP0279189A3 (en) 1990-08-22
JPS63201851A (ja) 1988-08-19
DE3851241D1 (de) 1994-10-06
EP0279189A2 (en) 1988-08-24
EP0279189B1 (en) 1994-08-31
DE3851241T2 (de) 1994-12-15

Similar Documents

Publication Publication Date Title
US5450564A (en) Method and apparatus for cache memory access with separate fetch and store queues
US5586294A (en) Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
US5371870A (en) Stream buffer memory having a multiple-entry address history buffer for detecting sequential reads to initiate prefetching
US5754800A (en) Multi processor system having dynamic priority based on row match of previously serviced address, number of times denied service and number of times serviced without interruption
US4881163A (en) Computer system architecture employing cache data line move-out queue buffer
JP2761506B2 (ja) 主記憶制御装置
US5960455A (en) Scalable cross bar type storage controller
JPS6118222B2 (ja)
JP2561261B2 (ja) バッファ記憶アクセス方法
US6546465B1 (en) Chaining directory reads and writes to reduce DRAM bandwidth in a directory based CC-NUMA protocol
US5313602A (en) Multiprocessor system and method of control over order of transfer of data between buffer storages
US6760743B1 (en) Instruction memory system for multi-processor environment and disjoint tasks
JP4240610B2 (ja) 計算機システム
US7028142B2 (en) System and method for reducing access latency to shared program memory
EP0611462B1 (en) Memory unit including a multiple write cache
JPH0421222B2 (ja)
JPH0427583B2 (ja)
EP0304587B1 (en) Interruptible cache loading
JP2742245B2 (ja) 並列計算機
JPS59218692A (ja) ロジカルバツフア記憶制御方式
JP2972568B2 (ja) バス拡張装置
CN117389767A (zh) 基于soc芯片的共享存储池的数据交换方法及装置
JPS6356573B2 (ja)
JPH09223120A (ja) マルチプロセッサシステム