JPS59177782A - バツフアメモリ制御方式 - Google Patents

バツフアメモリ制御方式

Info

Publication number
JPS59177782A
JPS59177782A JP58050855A JP5085583A JPS59177782A JP S59177782 A JPS59177782 A JP S59177782A JP 58050855 A JP58050855 A JP 58050855A JP 5085583 A JP5085583 A JP 5085583A JP S59177782 A JPS59177782 A JP S59177782A
Authority
JP
Japan
Prior art keywords
block
request
array
data
buffer memory
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
Application number
JP58050855A
Other languages
English (en)
Inventor
Tadashi Hara
忠 原
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co 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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP58050855A priority Critical patent/JPS59177782A/ja
Publication of JPS59177782A publication Critical patent/JPS59177782A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/16Multiplexed systems, i.e. using two or more similar devices which are alternately accessed for enqueue and dequeue operations, e.g. ping-pong buffers
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • 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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 この発明は情報処理装置に用いられるバッファメモリに
対するアクセスの開側1万式に関するものである。
〈背 景〉 従来、情報処理装置は、主記憶装置とシステムインタフ
ェース装置とを予め定められた大きさのブロックごとに
対応させ、しかもそれらの間の一反のデータの転送幅は
ブロックの1 /Nとなるような構成となっている。し
たかってブロック全体の転送にはN回の転送が必要なた
め、ブロックロード及びスワップアウトのためにはバッ
ファメモリを連続してN回占有することになり、後絞の
櫟求元からのアクセスは、その間処理することかできず
、待ち時間が長くなるという欠点があった。
しかも要求元の装置の高速化や要求元装置台数か増加す
るとよシ高速の処理を要求されるにもかかわらず、ブロ
ックロードやスワップアウトの回数がふえるためよシ待
ぢ時間が長くなるという欠点があった。
〈発明の目的〉 この発明の目的は、バッファメモリをインタリーブし、
同時に複数のアクセスをd]能として、スワップアウト
のバッファメモリ読出し動作及びブロックロードのバッ
ファメモリ書込動作と、後続のバッファメモリ内で処理
可能なリクエスト(要求)とを同時に処理できるように
することによって上記欠点を解決し、スワップアウト、
ブロックロードのだめに後続のリクエストか侍だきれる
ことなく、高速にリクエストを処理できるノぐラフアメ
モリ制御方式を提供することにある。
くうし明の概要〉 この発明によれば、予め定められた単位のデータを1つ
のブロックとして主記憶装置に対応させ、その主記憶装
置とブロック単位でデータの転送を行なうストアイン方
式のバッファメモリにおいて、そのバッファメモリはブ
ロック単位のデータを格納するデータアレイと、そのデ
ータアレイのブロックのアドレス情報及びそのブロック
が書き換えられたことを示す変更ビットとブロックの有
効1住を示す有効ビットとを有するアドレスアレイと、
新たに前記データアレイのブロックを置き侠える時にど
のブロックを置き換えるかを決定するリプレースアレイ
とを有し、アクセス源からのリクエストが発生ずると、
そのリクエストのアドレス情報に対応するブロックがバ
ッファメモリ内に存在するかどうか前記アドレスアレイ
を調べ、存在すればバッファメモリ内でリクエストを処
理し、もし伴在しなければ前記リプレースアレイにより
置き換えブロックを決定し、そのブロックの対応するア
ドレスアレイ上の変更ビットを調べ、有効ビットがオン
でかつ変更ビットがブロックの書き換えを示していた時
に、そのブロックのデータを読み出し・、ヌ」応する主
記憶装置上のブロックへ書き込むスワップアウト動作と
、そのリクエストのアドレス情報に対応する主記憶装置
上のブロックのデータを1’/Pみ出し、データアレイ
上のそのブロックへ1゛き込むブロックロード動作をイ
5ない、皆求されたリクエストの処理は前記ブロックロ
ード動作により主記憶装置から転送されたブロックに対
して行彦う手段とを備えて、バッファメモリはインクリ
ーブ構成とされて、前記ブロックロード動作及びスワッ
プアウト動作と、バッファメモリ内に存在するブロック
に対するりクエストの要求を同時に処理できるように構
成されている。
〈実施例〉 次にこの発明について図面を参照して詳細に説明する。
全体の構成 この発明の一実施例を示す第1図において、システムイ
ンタフェース族W 200 k”i ’Jクエスト袈求
元101〜104と主記憶装置t300との間にあって
、リクエスト受付回路210、ノくソファメモ+)24
0.主記憶装置アクセス回路230及び開側1回路22
0より成る。システムインタフェース装置200はリク
エストa求元101〜104のリクエストを受は付け、
バッファメモリ240内でリクエストの処理が可能な時
にはノ(ソファメモリ240内でリクエストを処理し、
バッファメモリ240内での処理が不可能な時には主記
憶アクセス回路230を通して主記憶装置300よす必
要な情報をアクセスしてバッファメモリ240内に取シ
込んでi′R報を処理するように市11側jする。
バッファメモリ240はストアイン方式で、上記′1、
G、装置300とは予め定められた大きさのブロックを
1つの単位として対応させ、そのブロック単位でデータ
の交侠を行っている。すなわち、バックアメモリ24.
0内に、リクエストの要求元からのリクエストアドレス
に対応するブロックが存在するかどうか調べ、存在しな
けれは主記憶装置300に対して必要なブロックのブロ
ックロードを要求し、主記憶装置300かも送られてき
たデータをバックアメモリ240へ転送シ、リクエスト
を処理する。この時バッファメモIJ 24−0の指定
されたブロックがすでに書き換えられていた時にはブロ
ックロードの前にそのブロックのデータを脱み出し、主
記憶装置300へ書込むスワップアウトの動作を行々う
以上の説明のようにバッファメモl) 2401d:主
記憶装置300とは必ずブロック全単位としてデータの
やり取シを行なう。したがってリフコースト要求元のリ
クエストがたとえ一つのデータの17−ド(読出し)又
はライト(書込み)の要求であっても、バッファメモリ
240に幼心するブロックが存在しなければ主記憶装置
300に対してはそのデータを含むブロック全体のリー
ド又はリードライト両方の要求として送り出されること
になる。
次にバッファメモリの制御の詳細について従来の方法及
びこの発明による方法の説明を行なう。
従来方式 第2図は従来の方式によって構成されたバッファメモリ
を示し、アドレスアレイ241、リプレースアレイ24
2、データアレイ243及び選41FX□回路250.
252.254より成っている。
データアレイ243は上記復製H3o oにブロック単
位で対応され、その対応されたブロックのデータが格納
されている。またアドレスアレイ241は第3図に示す
ようにデータアレイ243のブロックが、主記憶装置3
00上のブロックのどれと対応しているかを示すアドレ
ス情報と、そのブロックが書き換えられたかどうかを承
り変更ビットと、そのブロックの有効性を示す有効ヒツ
トとからなる。
今、リクエスト受付回路210を通してリクエスト要求
元からのリクエストが受は付けられるとアドレスアレイ
241によってそのリクエストアドレスに対応したブロ
ックが、データアレイ243の中に存在するかどうかが
調べられる。その結果ブロックが存在すればリクエスト
の内容によりそのブロックに対してリード又はライトの
動作がなされる。ライトの場合には選択回路250によ
り受付回路210側を選択し、リクエスト要求元がらの
ライトデータをデータアレイ243に書込む。
捷だリードの場合にはデータアレイ243の呪出しパス
を通してデータを読み出し、リクエスト受イ」回路21
0を通してリフニスl−Q求元ヘデータを返す。
もし、データアレイ243中にリクエストアドレスと対
応したブロックが存在しなければ、上記b、装W300
に対してブロックロードの要求を出し、リプレースアレ
イ242にょシ置き換えるべきブロック孕決定し、その
ブロックに対応するアドレスアレイ241内の変更ビッ
トを読み出す。
この時変更ビットが対応するブロックの書き換えを示し
ていたら、そのブロックのデータを読み出し、主記憶装
置アクセス回路230へ送り、スワップアウトの動作を
開始する。
主記憶装置300から先のブロックロードのリクエスト
に対するチー タか返されたらりプレースアレイ242
により決定されたブロックにデータを書き込む、この時
リクエスト要求元からのリクエストがリードならデータ
アレイ243に誓き込むと同時にブロック内の袂求され
たチータラ要求元へ返し、ライトの時には上記復製=:
 300から返されたブロックのデータのうち、対応す
る峻求元のアドレスのデータを要求元からのものと置き
換えてデータアレイ243へ書き込む。
したがってリクエスト要求元101〜104から同時又
は連続したリクエストが出され、リクエスト受信回路2
10によりバッファメモリ回路240へ連続したアクセ
スが出された場合で、かつ先行するリクエストの要求す
るブロックかテータアレイ243上に存在しなかった場
合は、先に述べたスワップアウトとブロックロードとの
ためにデータアレイ243のリード及びライトが行なわ
れる。バッファメモリのリード及びライトの動作は必ず
ブロック単位で行なわれるため、これらの動作が終了す
るまでは連続して米でいる後h6(υリクエストは待た
されることになる。
一方、この発明においては第4図に示すようにデータア
レイをインクリーブしてバンクA243、バンクB24
4の2ウエイとし、また谷データアレイのライトデータ
選択回路250.251、ライトアドレス選択回路25
2,253、リードデータ及びリードライトブロック選
択回路256.257をそれぞれ2重化し、データアレ
イ241はバンクA243とバンクB244を第5図に
示すようにリクエストアドレスの最下位ビットによって
選択するように構成されている。
このような構成ではリクエストアドレスの仮下位ビット
が0か1つ1リリクエストアドレスが奇数か偶数かでバ
ンクA243.バンクB244をアクセスすることにな
り、最下位ビットの埴が異なれば同時にアクセスするこ
とが可能となる。したがってリクエスト要求元から複数
の連hE したリクエストの要求があり、バッファメモ
リ240へ連続したアクセスが出された場合で、先のリ
クエストのリクエストアドレスに対応するブロックかデ
ータアレイ243.244のどちらにも存在しなかつた
ために、スワップアウトのだめのデータアレイの読出し
及びブロックロードのだめのデータアレイ243又け2
44への蓄込み動作が行々われだとしても、後続するリ
クエストは先のリクエストのリクエストアドレスの最下
位ヒツトか異なれば同時にアクセスすることが可能とな
る。
捷たもし後続のリクエストのリクエストアドレスの最下
位ビットと、先のスワップアウト又はブロックロードの
処理のだめのアドレスの最下位ビットとが同一であった
としても、スワップアウトのためのデータアレイの読み
出し及びブロックロードのだめのデータアレイへの1゛
込みは必ずブロック単位で連続したアドレスに対して行
な1)れるためにアドレスの下6fビットは1回ごとに
ツク化することになる。しだがって後続のリクエストは
最悪でもブロックロード又はスワップアウトのためのデ
ータアレイのアクセスを1回待つだけでアクセス可能と
なる。また先行するリクエストのブロックかバッファメ
モリ内に存在せず、後続のリクエストのブロックもバッ
ファメモリ内に存在しないよう々場合は、従来の方法で
はスワップアウトのだめのデータアレイの読出しと、ブ
ロックロードのためのデータアレイへの書込みが終るま
で待ったあとで後続のリクエストのだめのスワップアウ
トのだめのデータアレイの読出しを行なわなければなら
なかった。
しかし、この発明の構成では先行するリクエストのスワ
ップアウトのだめの読み出しを待つのみで、ブロックロ
ードのだめの1込みと、後続のリクエストのスワップア
ウトのだめのメモリの読み出しは第6図に示すように最
悪1回の待ちだけで並行して処理することができる。し
かも、ブロックロード7のだめの書込みと、スワップア
ウトの/ζめの読み出しは必ず連続したアドレスで行な
われるだめ第6図に示すようにそれぞれが処理を開始し
てからは1回の待ちもなく並行に処理することが可能で
ある。
先の実施例ではブロックロードとスワップアウトのパス
を通常のリード・ライトと独立に別パスを設ける構成を
とったが、スワップアウトは領き換えの行々われだブロ
ックにのみ行なわ−れるため通常はブロックロードにく
らべて頻度は少なく、したがってブロックロードのパス
のみを別パスとした構成をとることによってもかなりの
効果全得ることができる。この構成でもスワップアウト
と女求元からのライト動作は同時処理可能でめる3、ま
た先の実施例において、髪求元からのリクエスト要求ハ
ス及びアドレスアレイ、リプレースアレイを2重に持ち
複数のリクエストを同時に処理1できるような構成も考
えられるが、このようにするとハードウェア量が増大し
、しかも制御が非常に複雑になってしまう。この発明の
ようにリクエストパス、アドレスアレイ、リプレースア
レイば1つたけとし、スワップアウトとブロックロード
のパスのみをリクエスト=求元からのパスと並列化する
ことによって少ないハードウェア投餐によって大きな同
時処理効果を得ることができる。
く効 果〉 以上説明したように、この発明はバッファメモリをイン
ターリーブし、複数の処理を可能とすることによシ、ス
ワップアウト動作、ブロックロード動作と、バッフツメ
モリ内で処理できる後続のリクエストを待たすことなく
同時に処理でさるという効果がある。
【図面の簡単な説明】
第1図はこの発明の一実施例を示すブロック図、第2j
シ1は第1図に示したバッファメモリな・従来の方法で
イ再ノ戊した場合のブロック図、第3図は第2図中のア
ドレスアレイ241の1つのエントリーを示す図、第4
図は第1図に示したバッファメモリをこの発明の方式で
構成した場合のブロック図、第51ネ1はリクエストア
ドレスの桐、蟻を示す図、第6図はブロックロードとス
ワップアウトの同時処理中のブロックのアドレスを示す
図である。 101.102,103.104 :リクエスト要求元
、2ooニジステムインタフエース装置、210:リク
エスト受伺回;6.220:副側1回路、230:主記
憶装置アクセス回路、240:バッファメモリ回路、3
00:主記憶装置、241ニアドレスアレイ、242 
: ’) フレースアレイ、243,244:データア
レイ、250〜257:選択回路。 特許出願人  日本電気株式会社 代  理  人  卑  野     阜第  4  
図 第5図 」:イ立。 [Eう1漏Eう1y二←[〒く1NV1]丁二;ダL1
1”シダN0第  6  図

Claims (1)

    【特許請求の範囲】
  1. (1)予め定められた単位のデータを1つのブロックと
    して主記憶装置に対応させ、その主記憶装置とブロック
    単位で、データの転送を行なうストアイン方式のバック
    アメモリにおいて、ブロック単位のデータを格納するデ
    ータアレイと、そのテークアレイのブロックのアドレス
    情報及びそのブロックが書き換えられたことを示す変更
    ビットとブロックの有効性を示す有効ビットとを有する
    アドレスアレイと、そのデータアレイのブロックを新た
    に置き侯える時にどのブロックを置き挨えるかを決定す
    るリプレースアレイと、アクセス源からのリクエストが
    発生ずると、そのリクエストのアドレス情報に対応する
    ブロックがバッファメモリ内に存在するかどうか前記ア
    ドレスアレイを調べ、存在すれば前記バッファメモリ内
    でそのリクエストを処理し、もし存イモしなければ前記
    リプレースアレイにより置き換えブロックケ決定し、そ
    のブロックの対応するアドレスアレイ上の変更ビットを
    Sべ、有効ビットがオンでかつその変更ビットがブロッ
    クの書き換えを示していた時に、そのブロックのデータ
    を読み出し、対応する前記主す己憶装置上のブロックへ
    書き込むスワップアウト動作と、前記リクエストのアド
    レス情報に対応する前記主記憶装置上のブロックのテー
    クを読み出し、前記データアレイ上の前記ブロックへ書
    き込むブロックロード動作を行ない、要求きれたリクエ
    ストの処理は前記ブロックロード動作により前記主記憶
    装置から転送されたブロックに対して行なう手段とを備
    え、前記バッファメモリはインターリブ構成とさして同
    時に複数のアクセスを可能とし、前記ブロックロード動
    作及びスワップアラ)・動作と、バッファメモリ内に存
    在するブロックに対するリクエストの要求を同時に処理
    できるようにしたことを特徴とするバッファメモリ制御
    方式。
JP58050855A 1983-03-25 1983-03-25 バツフアメモリ制御方式 Pending JPS59177782A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58050855A JPS59177782A (ja) 1983-03-25 1983-03-25 バツフアメモリ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58050855A JPS59177782A (ja) 1983-03-25 1983-03-25 バツフアメモリ制御方式

Publications (1)

Publication Number Publication Date
JPS59177782A true JPS59177782A (ja) 1984-10-08

Family

ID=12870334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58050855A Pending JPS59177782A (ja) 1983-03-25 1983-03-25 バツフアメモリ制御方式

Country Status (1)

Country Link
JP (1) JPS59177782A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6272041A (ja) * 1985-09-25 1987-04-02 Nec Corp キヤツシユメモリ制御装置
JPS641044A (en) * 1987-03-04 1989-01-05 Nec Corp Memory access controller
JPH02278445A (ja) * 1989-04-20 1990-11-14 Pfu Ltd キャッシュメモリシステム
WO1994007200A1 (en) * 1992-09-21 1994-03-31 Unisys Corporation Multiported buffer memory system for disk drive complex
EP0695988A3 (ja) * 1994-08-05 1996-03-13 At & T Corp
US5924117A (en) * 1996-12-16 1999-07-13 International Business Machines Corporation Multi-ported and interleaved cache memory supporting multiple simultaneous accesses thereto
WO2003001360A3 (en) * 2001-06-20 2003-10-16 Motorola Inc First-in, first-out memory system and method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51113429A (en) * 1975-03-29 1976-10-06 Nec Corp Hierarchy memory system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51113429A (en) * 1975-03-29 1976-10-06 Nec Corp Hierarchy memory system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6272041A (ja) * 1985-09-25 1987-04-02 Nec Corp キヤツシユメモリ制御装置
JPH0556543B2 (ja) * 1985-09-25 1993-08-19 Nippon Electric Co
JPS641044A (en) * 1987-03-04 1989-01-05 Nec Corp Memory access controller
JPH02278445A (ja) * 1989-04-20 1990-11-14 Pfu Ltd キャッシュメモリシステム
WO1994007200A1 (en) * 1992-09-21 1994-03-31 Unisys Corporation Multiported buffer memory system for disk drive complex
EP0695988A3 (ja) * 1994-08-05 1996-03-13 At & T Corp
US5924117A (en) * 1996-12-16 1999-07-13 International Business Machines Corporation Multi-ported and interleaved cache memory supporting multiple simultaneous accesses thereto
WO2003001360A3 (en) * 2001-06-20 2003-10-16 Motorola Inc First-in, first-out memory system and method thereof
US6779055B2 (en) 2001-06-20 2004-08-17 Freescale Semiconductor, Inc. First-in, first-out memory system having both simultaneous and alternating data access and method thereof
CN100377072C (zh) * 2001-06-20 2008-03-26 飞思卡尔半导体公司 先进先出存储系统及其方法

Similar Documents

Publication Publication Date Title
US3938097A (en) Memory and buffer arrangement for digital computers
JP3620473B2 (ja) 共有キャッシュメモリのリプレイスメント制御方法及びその装置
JPS6284350A (ja) 階層キヤツシユメモリ装置および方法
US6493799B2 (en) Word selection logic to implement an 80 or 96-bit cache SRAM
US5355345A (en) Fully scalable memory apparatus
JP3786993B2 (ja) データ記憶ユニット及び該ユニットを用いたデータ記憶装置
JPS59177782A (ja) バツフアメモリ制御方式
JPS63201851A (ja) バッファ記憶アクセス方法
US4608671A (en) Buffer storage including a swapping circuit
JP2000187983A (ja) メモリ装置
JPH0210446A (ja) バッファ記憶装置
JPS5841584B2 (ja) マルチアクセスメモリ方法およびマルチアクセス用メモリチツプ
JPH0215150Y2 (ja)
JPH02304649A (ja) キャッシュメモリ高速アクセス方式
JPS5836434B2 (ja) バツフアメモリソウチ
JPS59148193A (ja) 情報処理装置
JPH03225540A (ja) キャッシュメモリの無効化処理方式
JPS6111864A (ja) デ−タ処理方式
JPS63157255A (ja) 情報処理装置
JPH0156411B2 (ja)
JPS5924427B2 (ja) 表示装置
JPS60253083A (ja) 記憶装置制御方式
JPH0414373B2 (ja)
JPS59165176A (ja) 画像処理装置
JPS6340972A (ja) メモリ制御方式