JPH04280344A - メモリ装置 - Google Patents

メモリ装置

Info

Publication number
JPH04280344A
JPH04280344A JP3067716A JP6771691A JPH04280344A JP H04280344 A JPH04280344 A JP H04280344A JP 3067716 A JP3067716 A JP 3067716A JP 6771691 A JP6771691 A JP 6771691A JP H04280344 A JPH04280344 A JP H04280344A
Authority
JP
Japan
Prior art keywords
bus
memory
data
cache memory
main 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
JP3067716A
Other languages
English (en)
Inventor
Tetsuya Toi
哲也 戸井
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP3067716A priority Critical patent/JPH04280344A/ja
Publication of JPH04280344A publication Critical patent/JPH04280344A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、システムバスに複数の
バスマスタが接続される情報処理システムにおいて、前
記システムバスに接続されるメモリ装置に関する。
【0002】
【従来の技術】従来より、例えば特開昭60─1149
53号公報に示されるように、システムバスに、CPU
やダイレクトメモリアクセス(以下、DMAと記す。)
制御装置等の複数のバスマスタおよびメモリ装置が接続
され、バスアービタにより、同一時にはこれらのバスマ
スタのうちのただ一つが使用権を得るように制御される
情報処理システムがある。
【0003】
【発明が解決しようとする課題】このような情報処理シ
ステムでは、あるバスマスタがメモリ装置にアクセスす
る場合、このバスマスタがシステムバスの使用要求をバ
スアービタに提示した時に、他のバスマスタが既にバス
を獲得して使用中のために、バスが空くまで待たされる
ことにより、そのバスマスタ本来の性能が発揮できない
状態、いわゆるバスネックとなることが多い。
【0004】このバスネックを回避するため、例えば次
のような手段が考えられる。 (1)システムバスを高速化する。 (2)システムバスを多重化する。 (3)バスマスタ個々にローカルなキャッシュメモリを
設ける。 このうち、(1),(2)の手段は、システムバスの転
送能力を高めものであるが、必然的に独自のバスアーキ
テクチャとなり、標準バスを採用する場合は不可能であ
る。また、(3)の手段では、システムの物量が増すば
かりでなく、個々のローカルなキャッシュメモリとメイ
ンメモリの間のデータの一貫性を保証するための複雑な
制御が必要になる。また、キャッシュメモリのヒット率
が十分高くなければ、ミスヒット時にシステムバス上で
発生するブロック転送が逆に他のバスマスタのバス使用
を著しく妨げることになってしまう危険がある。なお、
特開昭57─103178号公報には、キャッシュメモ
リのヒット率を向上させる技術が開示されている。
【0005】上記(3)の手段でも上述の問題があるの
で、バスネックを回避する手段として、特開平1─22
9345号公報に示されるように、メモリ装置側にキャ
ッシュメモリを設けることが考えられる。しかしながら
、この場合、バスマスタがメモリ装置にアクセスした際
にキャッシュメモリがミスヒットすると、メインメモリ
からキャッシュメモリにブロック転送が行われるが、こ
のブロック転送の間、メモリ装置にアクセスしているバ
スマスタが実際にはバスを使用していないのにもかかわ
らずバスを占有し続けるため、やはりバスネックが解消
されない。
【0006】そこで本発明の目的は、バスマスタ間の競
合をできるだけ回避して、バスネックを解消できるよう
にしたメモリ装置を提供することにある。
【0007】
【課題を解決するための手段】請求項1記載のメモリ装
置は、複数のバスマスタが接続され、同一時にはこれら
のバスマスタのうちバスアービタによって許可されたた
だ一つが使用するシステムバスに接続されるメモリ装置
であって、メインメモリと、このメインメモリとシステ
ムバスとの間に設けられ、メインメモリよりもアクセス
時間の短いキャッシュメモリと、メインメモリとキャッ
シュメモリとの間に設けられ、バスマスタからメモリ装
置への書き込み時にはキャッシュメモリからのデータを
一括保持して順次メインメモリに転送し、メモリ装置か
らバスマスタへの読み出し時にはメインメモリからの読
み出しデータを順次保持して1ライン長のデータが全て
読み出された後、一括してキャッシュメモリに転送する
ラインバッファと、メインメモリからラインバッファへ
のデータの転送の際、バスアービタに対してシステムバ
スを解放させる指示を送る制御手段とを備えたものであ
る。
【0008】このメモリ装置では、このメモリ装置から
バスマスタへの読み出し時にキャッシュメモリがミスヒ
ットすると、メインメモリからキャッシュメモリへブロ
ック転送が行われるが、この際、メインメモリからの読
み出しデータはラインバッファに順次保持され1ライン
長のデータが全て読み出された後、このラインバッファ
から一括してキャッシュメモリに転送される。メインメ
モリからラインバッファへのデータの転送の際には、制
御装置がバスアービタに対してシステムバスを解放させ
る指示を送り、これによりシステムバスが解放される。
【0009】請求項2記載の発明のメモリ装置は、請求
項1記載の発明におけるメインメモリをダイナミックR
AMを用いて構成し、キャッシュメモリを高速スタティ
ックRAMを用いて構成したものである。
【0010】
【実施例】以下、図面を参照して本発明の実施例につい
て説明する。図1ないし図3は本発明の一実施例に係る
【0011】図1は本発明の一実施例のメモリ装置を含
む情報処理システムの概略の構成を示すブロック図であ
る。この情報処理システムは、システムバス11と、こ
のシステムバス11に接続されたバスマスタとしてのC
PU12、DMA制御装置(1)21およびDMA制御
装置(2)22を備えている。これらCPU12、DM
A制御装置(1)21およびDMA制御装置(2)22
は、同一時にはこれらのバスマスタのうちのただ一つに
システムバス11の使用許可を与えるバスアービタ20
に接続されている。なお、CPU12はCPUキャッシ
ュメモリ13を介してシステムバス11に接続されてお
り、CPU12とCPUキャッシュメモリ13とはCP
Uバス14を介して接続されている。また、DMA制御
装置(1)21はISDN等の高速通信回線23に接続
され、これを制御し、DMA制御装置(2)22は固定
ディスク装置24に接続され、これを制御している。ま
た、システムバス11には本実施例のメモリ装置31が
接続されている。また、システムバス11には低速の入
出力制御装置15を介して低速の入力装置16、表示装
置17および印字装置18等が接続されている。
【0012】メモリ装置31は、システムバス11に直
接、接続されるグローバルキャッシュメモリ32と、キ
ャッシュバス33を介してこのキャッシュメモリ32に
接続されたラインバッファ34と、バッファバス35を
介してこのラインバッファ34に接続されたメインメモ
リ36と、グローバルキャッシュメモリ32,ラインバ
ッファ34およびメインメモリ36を制御する制御回路
37とを備えている。メインメモリ36はダイナミック
RAM(以下、DRAMと記す。)を用いて構成され、
グローバルキャッシュメモリ32はこのメインメモリ3
6よりもアクセス時間の短い高速のスタティックRAM
(以下、SRAMと記す。)を用いて構成されている。 また、制御回路37はバスアービタ20に接続されてい
る。
【0013】図2はメモリ装置31の詳細な構成を示す
ブロック図である。この図に示すように、キャッシュメ
モリ32は、データメモリ41と、タグメモリ42と、
データメモリ41とシステムバス11の間に設けられた
セレクタ43とを有している。ここで、システムバス1
1の幅は8ビットである。また、データメモリ41のラ
イン長は4バイトであり、各ラインの8ビットのデータ
幅の4つの領域のうちの1つがセレクタ43によって選
択的にシステムバス11に接続されるようになっている
。また、タグメモリ42は、データメモリ41に記憶さ
れたデータのメインメモリ36上のアドレス(Addr
ess:図2ではADRと記す。)とそのデータが有効
(Valid:図2ではVと記す。)か否かを記憶する
ようになっている。
【0014】ラインバッファ34は、データメモリ41
と同じライン長(ここでは4バイト)を持ち、このライ
ンバッファ34の8ビット幅の各領域は、それぞれデー
タメモリ41の8ビット幅の各領域に接続されている。 また、メインメモリ36は、DRAM46と、このDR
AM46とラインバッファ34との間に設けられたセレ
クタ47とを有している。そして、ラインバッファ34
の8ビット幅の各領域のうちの一つがセレクタ47によ
って選択的にDRAM23に接続されるようになってい
る。ここで、セレクタ43,47は共に双方向性である
【0015】次に、図3および図4を参照して本実施例
の動作について説明する。図3は本実施例の動作を説明
するためのタイムチャート、図4は従来の動作を説明す
るためのタイムチャートである。
【0016】本実施例のメモリ装置31では、バスマス
タからのメモリ装置31へのデータの書き込み時は、シ
ステムバス11からのデータはキャッシュメモリ32に
書き込まれると共にメインメモリ36に書き込まれる。 この場合、キャッシュメモリ32のデータメモリ41か
らのラインデータはラインバッファ34によって一括保
持され、セレクタ47を介して順次メインメモリ36の
DRAM46に転送される。
【0017】また、メモリ装置31からバスマスタへの
データの読み出し時は、バスマスタは、まずキャッシュ
メモリ32のタグメモリ42にアクセスし、ヒットした
場合にはこのキャッシュメモリ32のデータメモリ41
から所望のデータが読み出される。一方、ミスヒット時
には、メインメモリ36からキャッシュメモリ32にブ
ロック転送が行われる。この場合、メインメモリ36の
DRAM46からの読み出しデータは、セレクタ47を
介して順次ラインバッファ34に蓄えられていき、この
ラインバッファ34に1ライン長のデータが全て蓄えら
れた後、このラインバッファ34からキャッシュメモリ
32のデータメモリ41に一括して転送される。図1に
示すように、キャッシュメモリ32、ラインバッファ3
4およびメインメモリ36の動作は制御回路37によっ
て制御されるが、この制御回路37は、メインメモリ3
6のDRAM46からラインバッファ34へのデータの
転送の際、バスアービタ20に対して、システムバス1
1を解放させる指示であるバス一時解放応答39を送る
。これによりシステムバス11が解放される。
【0018】ここで、図3を用いて本実施例の動作の具
体例を説明する。この例では、(b)に示すように、ま
ずCPU12がA1 点においてバスアービタ20に対
してバス使用要求を出す。このCPU12はB1 点に
おいてバスアービタ20からバス使用許可を受けてバス
使用権を獲得する。その後、CPU12はシステムバス
11を介してメモリ装置31にアクセスし、(a)に示
すようにシステムバス11が使用中(busy)となる
。 (c)に示すように、C1 点においてCPU12がグ
ローバルキャッシュメモリ32のタグメモリ42にアク
セスし、キャッシュメモリ32がミスヒットであること
が判明すると、制御回路37はG1 点においてバスア
ービタ20にバス一時解放応答39を送る。このバス一
時解放応答39を受けたバスアービタ20は、CPU1
2に対してシステムバス11の使用を中断させ、システ
ムバス11が解放される。
【0019】また、(e)に示すように、制御回路37
がバス一時解放応答39を出すG1 点と同時のD1 
点において、メインメモリ36のDRAM46が起動さ
れ、CPU12が要求するデータを含むブロックのデー
タがファーストページモード等を用いてDRAM46か
ら読み出され、セレクタ47を介して順次ラインバッフ
ァ34に蓄えられていき、このラインバッファ34に1
ライン長のデータが全て蓄えられた時点で、(d)に示
すように、ラインバッファ34からキャッシュメモリ3
2のデータメモリ41に一括して転送され、E1 点に
おいてこのデータ転送が完了する。
【0020】この時点まで、キャッシュメモリ32はア
イドル状態なので、他のバスマスタからのアクセス要求
を受け付けることが可能である。図3に示す例では、(
f)に示すように、DMA制御装置がA2 点において
バス使用要求を出し、CPU12がシステムバス11を
解放した後のB2 点においてバス使用権を獲得し、(
c)に示すC2 点においてキャッシュメモリ32のタ
グメモリ42にアクセスしている。そして、キャッシュ
メモリ32がヒットし、E2 点においてキャッシュメ
モリ32からDMA制御装置へのデータの転送が完了し
、DMA制御装置は、E2 点と同時の(f)に示すF
2 点においてシステムバス11の使用を完了し、シス
テムバス11を解放している。
【0021】最初にメモリ装置31にアクセスしたCP
U12は、キャッシュメモリ32に所望のデータが転送
完了するまで、何度かバス使用要求を出し(A3 点)
、バス使用権を獲得し(B3 点)、メモリ装置31の
キャッシュメモリ32にアクセスする(C3 点)が、
全てバス一時解放応答を受け(G3 点)、再度バスを
解放する。
【0022】図3に示す例では、キャッシュメモリ32
に所望のデータが転送完了した後、CPU12がA5 
点でバス使用要求を出す前に、DMA制御装置がA4 
点においてバス使用要求を出し、B4 点においてバス
使用権を獲得し、C4 点においてキャッシュメモリ3
2にアクセスし、E4 点においてキャッシュメモリ3
2からDMA制御装置へのデータの転送が完了し、DM
A制御装置はF4 点においてバスの使用を完了し、こ
れを解放している。
【0023】キャッシュメモリ32に所望のデータが転
送完了した後に、A5 点でバス使用要求を出したCP
U12は、B5 点においてバス使用権を獲得し、C5
 点においてキャッシュメモリ32のタグメモリ42に
アクセスし、今度はヒットし、所望のデータがシステム
バス11を介してデータメモリ41よりCPU12に渡
される。そして、E5 点において、キャッシュメモリ
32からCPU12へのデータの転送が完了し、CPU
12はF5 点においてバスの使用を完了し、これを解
放する。
【0024】ここで、本実施例との比較のために、図4
を用いてラインバッファ34を設けない従来のメモリ装
置の動作を説明する。このメモリ装置では、(b)に示
すように、A11点でバス使用要求を出したCPUは、
B11点においてバス使用権を獲得し、(c)に示すよ
うにC11点においてグローバルキャッシュメモリにア
クセスする。キャッシュメモリがミスヒットであること
が判明すると、(d)に示すようにD11点において、
メインメモリのDRAMが起動され、CPUが要求する
データを含むブロックのデータが順次キャッシュメモリ
転送され、(b)に示すようにE11点においてこのデ
ータ転送が完了する。その後、所望のデータがシステム
バスを介してキャッシュメモリよりCPUに渡される。 そして、F11点において、キャッシュメモリからCP
Uへのデータの転送が完了し、CPUはバスの使用を完
了し、これを解放する。(e)に示すように、A12点
でバス使用要求を出したDMA制御装置は、F11点で
のバス解放後のB12点においてバス使用権を獲得し、
F12点においてバスの使用を完了し、これを解放する
。このように、従来のメモリ装置では、キャッシュメモ
リのミスヒット時には、(a)に示すようにブロック転
送期間を含むB11点からF11点までの間、システム
バスはずっとbusyであり、バスネックが発生し易い
【0025】これに対し本実施例では、キャッシュメモ
リ32のデータメモリ41のライン長を一回のブロック
転送容量とし、このライン長と同じ記憶容量のラインバ
ッファ34を、キャッシュメモリ32のデータメモリ4
1とメインメモリ36のDRAM46との間に設け、キ
ャッシュメモリ32のミスヒット時に発生するブロック
転送をDRAM46とデータメモリ41の間で直接行う
のではなく、中間のラインバッファ34を介して分割し
て行っている。しかも、DRAM46とラインバッファ
34との間の複数回(=ライン長〔バイト〕/DRAM
46のデータ幅〔バイト〕)のデータ転送の間、アクセ
ス要求しているバスマスタを一時的にシステムバス11
から切り離すように制御している。従って、その間、シ
ステムバス11およびキャッシュメモリ32が解放され
、他のバスマスタがキャッシュメモリ32のヒットして
いる他のアドレスエントリとデータのやりとりをするこ
とができる。このように本実施例によれば、他のバスマ
スタから見て、システムバス11のみならずキャッシュ
メモリ32までもがアイドル状態になる比率が高く、効
果的にバスネックを回避することができる。しかも、従
来の改善策で問題となる事項とは一切関係なく、システ
ムのバスネックを解消することができる。
【0026】また、本発明におけるラインバッファの容
量は、8バイト〜128バイト程度であるので、ASI
C等へ内蔵することが容易であり、DRAMやキャッシ
ュメモリの制御回路等のASICに組み込めば、ライン
バッファを設けることによるハードウェアの物量の増加
はほとんど無視できる。
【0027】なお、本発明は上記実施例に限定されず、
例えば、システムバス上のバスマスタはCPUとDMA
制御装置との組み合わせに限らず、また、CPUはロー
カルなキャッシュメモリを持たないものでも良い。
【0028】また、実施例では、システムバス11の幅
を8ビット、データメモリ41およびラインバッファ3
4のライン長を4バイト、DRAM46のデータ幅を8
ビットとしたが、本発明はこれらの条件に限定されず、
データメモリ41とシステムバス11の間、ラインバッ
ファ34とDRAM46の間は、双方向セレクタ43,
47によりデータ幅の整合をとるので、任意のデータ幅
が可能である。
【0029】また、バスアービタは、実施例に示したよ
うな集中型に限らず、各バスマスタに設ける分散型でも
良い。
【0030】
【発明の効果】以上説明したように本発明によれば、メ
モリ装置のメインメモリとキャッシュメモリの間にライ
ンバッファを設け、キャッシュメモリのミスヒット時に
発生するブロック転送をラインバッファを介して行い、
メインメモリからラインバッファへのデータの転送の際
、システムバスを解放させるようにしたので、バスマス
タ間の競合をできるだけ回避して、バスネックを解消で
きるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例のメモリ装置を含む情報処理
システムの概略の構成を示すブロック図である。
【図2】本発明の一実施例のメモリ装置の詳細な構成を
示すブロック図である。
【図3】本発明の一実施例のメモリ装置の動作を説明す
るためのタイムチャートである。
【図4】従来のメモリ装置の動作を説明するためのタイ
ムチャートである。
【符号の説明】
11  システムバス 12  CPU 20  バスアービタ 21,22  DMA制御装置 31  メモリ装置 32  グローバルキャッシュメモリ 34  ラインバッファ 36  メインメモリ 37  制御回路

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  複数のバスマスタが接続され、同一時
    にはこれらのバスマスタのうちバスアービタによって許
    可されたただ一つが使用するシステムバスに接続される
    メモリ装置であって、メインメモリと、このメインメモ
    リと前記システムバスとの間に設けられ、前記メインメ
    モリよりもアクセス時間の短いキャッシュメモリと、前
    記メインメモリと前記キャッシュメモリとの間に設けら
    れ、バスマスタからメモリ装置への書き込み時には前記
    キャッシュメモリからのデータを一括保持して順次メイ
    ンメモリに転送し、メモリ装置からバスマスタへの読み
    出し時には前記メインメモリからの読み出しデータを順
    次保持して1ライン長のデータが全て読み出された後、
    一括してキャッシュメモリに転送するラインバッファと
    、前記メインメモリから前記ラインバッファへのデータ
    の転送の際、前記バスアービタに対してシステムバスを
    解放させる指示を送る制御手段とを具備することを特徴
    とするメモリ装置。
  2. 【請求項2】  複数のバスマスタが接続され、同一時
    にはこれらのバスマスタのうちバスアービタによって許
    可されたただ一つが使用するシステムバスに接続される
    メモリ装置であって、ダイナミックRAMを用いて構成
    されるメインメモリと、このメインメモリと前記システ
    ムバスとの間に設けられ、高速スタティックRAMを用
    いて構成されるキャッシュメモリと、前記メインメモリ
    と前記キャッシュメモリとの間に設けられ、バスマスタ
    からメモリ装置への書き込み時には前記キャッシュメモ
    リからのデータを一括保持して順次メインメモリに転送
    し、メモリ装置からバスマスタへの読み出し時には前記
    メインメモリからの読み出しデータを順次保持して1ラ
    イン長のデータが全て読み出された後、一括してキャッ
    シュメモリに転送するラインバッファと、前記メインメ
    モリから前記ラインバッファへのデータの転送の際、前
    記バスアービタに対してシステムバスを解放させる指示
    を送る制御手段とを具備することを特徴とするメモリ装
    置。
JP3067716A 1991-03-08 1991-03-08 メモリ装置 Pending JPH04280344A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3067716A JPH04280344A (ja) 1991-03-08 1991-03-08 メモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3067716A JPH04280344A (ja) 1991-03-08 1991-03-08 メモリ装置

Publications (1)

Publication Number Publication Date
JPH04280344A true JPH04280344A (ja) 1992-10-06

Family

ID=13352960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3067716A Pending JPH04280344A (ja) 1991-03-08 1991-03-08 メモリ装置

Country Status (1)

Country Link
JP (1) JPH04280344A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0830546A (ja) * 1994-07-20 1996-02-02 Nec Niigata Ltd バス制御装置
JP2016018251A (ja) * 2014-07-04 2016-02-01 株式会社ソシオネクスト データ転送装置及びデータ転送方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0830546A (ja) * 1994-07-20 1996-02-02 Nec Niigata Ltd バス制御装置
JP2016018251A (ja) * 2014-07-04 2016-02-01 株式会社ソシオネクスト データ転送装置及びデータ転送方法

Similar Documents

Publication Publication Date Title
US5802576A (en) Speculative cache snoop during DMA line update
CA2007737C (en) Data transfer operations between two asynchronous buses
US6317813B1 (en) Method for arbitrating multiple memory access requests in a unified memory architecture via a non unified memory controller
JP2009211248A (ja) Dma転送装置
JPH06309230A (ja) バススヌ−プ方法
EP0745941B1 (en) A system and method for providing a flexible memory hierarchy
JP2591502B2 (ja) 情報処理システムおよびそのバス調停方式
US20070043910A1 (en) Memory control apparatus executing prefetch instruction
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
JP2000082011A (ja) Dmaユニットによる改良されたメモリ・アクセスをする方法及びコンピュ―タ・システム
JPH04280344A (ja) メモリ装置
JPH0830546A (ja) バス制御装置
JPH06250970A (ja) メモリ制御装置
JPH06309231A (ja) キャッシュメモリ制御方法
KR960005394B1 (ko) 멀티 프로세서 시스템
JPH0844661A (ja) 情報処理装置
JP2682789B2 (ja) コンピュータ入出力キャッシュ・システム
JPH0612363A (ja) メモリ制御装置およびマルチプロセッサシステム
JPS6055459A (ja) プロツクデ−タ転送記憶制御方法
JPH0351943A (ja) 高速バスと低速バスのバスライン共用化方式
JP2004240520A (ja) ノンキャッシュ領域内高速メモリアクセス方法
JP2966038B2 (ja) ディジタルデータ処理ユニット調停装置及び方法
JPH04313134A (ja) コンピュータシステム
JPH0648038U (ja) マルチプロセッサシステム
JPS63259746A (ja) バンクメモリ間のデ−タ転送方式