JPH0461383B2 - - Google Patents

Info

Publication number
JPH0461383B2
JPH0461383B2 JP61316133A JP31613386A JPH0461383B2 JP H0461383 B2 JPH0461383 B2 JP H0461383B2 JP 61316133 A JP61316133 A JP 61316133A JP 31613386 A JP31613386 A JP 31613386A JP H0461383 B2 JPH0461383 B2 JP H0461383B2
Authority
JP
Japan
Prior art keywords
buffer
rank
write request
write
data
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
JP61316133A
Other languages
English (en)
Other versions
JPS62262160A (ja
Inventor
Anson Miruzu Junia Maabin
Maachin Kurudeeru Resutaa
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.)
EMU AI PII ESU KONPYUUTAA SHISUTEMUZU Inc
Original Assignee
EMU AI PII ESU KONPYUUTAA SHISUTEMUZU Inc
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 EMU AI PII ESU KONPYUUTAA SHISUTEMUZU Inc filed Critical EMU AI PII ESU KONPYUUTAA SHISUTEMUZU Inc
Publication of JPS62262160A publication Critical patent/JPS62262160A/ja
Publication of JPH0461383B2 publication Critical patent/JPH0461383B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison

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)
  • Communication Control (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明はコンピユータシステム、特に中央処
理装置(CPU)からメモリサブシステムにデー
タ書込みをバツフアする装置に関するものであ
る。
〔従来技術〕
典型的なコンピユータシステムは、命令を実行
する中央処理装置(CPU)と、命令とデータを
保持するメモリサブシステムとを含むいくつかの
サブシステムに分割される。CPUは、読取要求
を出してメモリから情報を得て、書込み要求を出
してメモリに情報を書込む。メモリが、急速に一
杯になれば、メモリアクセス要求が直ちに実行さ
れる。CPUがその作業を続ける用意ができる時
までに要求は完了される。しかしながら、多くの
コンピユータでは、メモリサブシステムはCPU
ほど速くない。つまり、CPUがメモリアクセス
要求を出すと、進行前に完了すべき要求に従い、
メモリサブシステムは待ち状態または立往生状態
となるにちがいない。この問題は、多くの減少命
令セツトコンピユータ(RISCs)で使用されるよ
うな高速パイプライン式CPUsに度々現われる。
このようなCPUsでは、命令がパイプに入いる時
間と、命令実行が完了する時間との間で、非常に
速いクロツクの数サイクルが通過するが、新たな
命令は取出されるか、新たなメモリアクセス要求
は非常に速いクロツクの各サイクルに出される。
多くのコンピユータでは、2つのレベルのメモ
リ、つまり、大きくて比較的遅いが安価な記憶装
置および小さくて速いキヤシユメモリを実現して
この問題の厳しさを減少している。キヤシユメモ
リは、“瞬時的ローカリテイの原則(Principle
of temporal locality)”即ち、ある時点で参照
とされるメモリーロケーシヨンは、その後再び直
ぐに参照される傾向にあるという大程のコンピユ
ータプログラムでの固有特性を利用したものであ
る。キヤツシユに基づくコンピユータアーキテク
チヤでは、CPUは最初に、キヤツシユ内で必要
とされる命令とデータを発見しようとする。キヤ
ツシユは十分に速く、CPUと歩調が合う。情報
がキヤツシユ内にない場合だけ、読取要求が主記
憶装置に出される。要求された情報が到着する
と、潜在する将来の利用のため、情報はCPUに
提供され、キヤツシユに書込まれる(いくつかの
前のエントリと重ね書きされる)。CPUからのデ
ータ書込みにおいて、キヤツシユまたは主記憶装
置または両方共、更新でき、他方に書込みが生じ
たことを一方に示すため、フラグが必要であるの
が分かる。キヤツシユメモリの使用は、CPUが
入力しなければならない多くの待ち状態を著しく
減少するため、コンピユータの全体のスループツ
トを改良する。しかしながら、主記憶装置へのア
クセスが必要である時、なお待ち状態が必要とな
る。
主記憶装置読取要求の速度は、コンピユータシ
ステムのスループツトにとつて重大である。その
理由は、大程のCPUは、要求された情報を受取
るまで、操作を続行できないからである。しかし
ながら、メモリ書込み要求の速度は重大なもので
ないと認められていた。データが主記憶装置に送
り出されるやいなや、CPUはもはやデータを必
要とせず、主記憶装置を共用するいくつかの他の
装置により、データを必要としなければ、理論
上、CPUが要求を出す次の時間まで、実際上、
データを書込む必要がない。このことは、CPU
主記憶装置との間に書込みバツフアサブシステム
を挿入することで都合よく使用できる。このよう
なサブシステムは、読取要求をメモリに直ちに通
すが、バスが、既に使用されていない時だけ、書
込み要求をメモリに通す。書込み要求は代わり
に、内部バツフア内でバツフアされ、バスが使用
可能になるまで保持される。書込みバツフアサブ
システムは典型的には、任意の到着メモリ読取要
求が、書込みバツフア内でなお要求されるデータ
であるかどうかを決めるロジツクを含む。要求さ
れるデータであれば、これらのシステムはCPU
を一時的に停止し、その間、書込みバツフアサブ
システムは、矛盾する書込み要求および要求を処
理する全てをバツフア内で実行する。書込みバツ
フアサブシステムは典型的にはまたバツフア・フ
ル信号を生成して、サブシステムが書込み要求を
受取れない時、CPUが書込み要求を出するのを
妨げる。
多くのコンピユータでは、命令またはデータは
フルワードより小さい単位で取出されるか記憶さ
れる。それで、コンピユータシステムを32ビツト
ワードで設計すれば、CPUはそれぞれ16ビツト
ハードワードまたは8ビツトバイトの取出コマン
ドまたは書込みコマンドを出すことができる。こ
の柔軟性のあるコンピユータは異なる方法で改良
できる。米国特許第4347562号には、32ビツトワ
イドメモリに書込むため、周辺機器から到着する
16ビツトデータユニツトをバツフアに入れる装置
が記載されている。この装置は、第1の16ビツト
データユニツトと、周辺機器から受取られる宛先
アドレスを保持する手段から成る。データをメモ
リに書込む前に、この装置は第2アドレスデータ
ペアの到着するのを待ち、2つのアドレスが単一
メモリワードにあるかどうかを決める。それらの
アドレスが単一メモリワード内にあれば、この装
置は第1データユニツトと第2データユニツトを
同時にメモリ内に書込む。もし、2つのアドレス
が同じメモリワード内になければ、この装置は第
1データユニツトをメモリに書込み、周辺機器か
らさらに受取るため、第3アドレスデータペアと
組合わせできるように第2アドレスデータペアを
保持する。
米国特許第3449724号には、別のバツフアリン
グスキーマが記載されており、これは、インタリ
ーブメモリシステムに対して読取と書込みをバツ
フアに入れるものである。ここで記載されたスキ
ーマは、2つのバツフアされたメモリアクセス要
求が同じメモリ位置に向けられ、単一メモリ選択
作用による実行のため、共に連鎖するのが認めら
れる。このスキーマは使用中のインタリーブメモ
リモジユールにアクセスするために必要な時間を
減少しなければならない。
〔発明が解決しようとする問題点〕
本発明の目的はコンピユータシステムのバス使
用法を改良することである。
本発明の他の目的は主記憶装置に対する書込み
コマンドのバツフアリングを改良することであ
る。
本発明の更に他の目的は、同じメモリアドレス
に書込まれるデータのバイトを集める装置を提供
することである。
更に本発明の他の目的は、同じメモリアドレス
に順次書込みコマンドを集めることでメモリ書込
みを行なうのに必要なバス時間を減少し、これら
コマンドを同時に行なう方法を提供することであ
る。
〔問題点を解決するための手段〕
本発明によると、CPUと主記憶装置との間に
書込みバツフアサブシステムが挿入される。この
書込みバツフアサブシステは、CPUからのアド
レスデータペアを受取り、それらを多数のランク
のある内部バツフアの第1レベルまたはランクに
置く。それから、主記憶装置バスコントローラへ
要求を出し、データセツトが主記憶装置での書込
み使用可能であることを通報する。バスが空いて
いる時、コントローラはデータをバスにセツトで
き、書込みを行なわせる。書込みが完了すると、
コントローラは、情報の使用に応答して、書込み
バツフアサブシステムからの他の要求を待つ。書
込みバツフアサブシステムがCPUから連続して、
同じメモリワードアドレスを参照する2つの書込
みコマンドを受取ると、このサブシステムはこれ
らのコマンドを単一のバツフアランクに集め、主
記憶装置への単一アクセス中にこれらのコマンド
を実行できる。しかしながら、バスコントローラ
による実行を連続的に待ちながら、バツフアラン
ク内で書込みコマンドを変更しようとすれば、書
込みコマンドは集められない。非順次書込みコマ
ンドもまた集められない。これらの両方の制限
は、集合により得られる改良されたバス使用法を
著しく低下することなく、書込みバツフアサブシ
ステムを実現するのに必要なロジツクの複雑さを
著しく減らす。更に、非順次書込みコマンドの集
合を妨げることにより、必要ならば、ダミーアド
レスに介入書込みコマンドを出すことにより、ソ
フトウエアは短時間フレームで2度、同じアドレ
スに情報を書込むことができる。また、この書込
みバツフアサブシステムは、CPUに対してバツ
フア・フル状態の信号を送る手段を含み、書込み
コマンドがペンテイング中のため、アドレスに対
するメモリ読取コマンドの発行を検出するのに有
用な信号を提供する。
〔作用及び実施例〕
以下添付図面を参照して本発明を更に詳しく説
明する。
第1図はコンピユータシステムの重要な部分を
示し、中央処理装置(CPU)12と、この発明
による書込みバツフアサブシステム10と、主記
憶装置22とを含む。コンピユータシステムの一
般的なアーキテクチヤは、それぞれ8ビツトバイ
ト,16ビツトバイト,24ビツトバイト,32ビツト
バイトが主記憶装置でアクセスできるようになつ
ている。CPU2はCPUアドレスバス14とCPU
データバス16から成るCPUバス13を介して
書込みバツフアサブシステムと連絡する。書込み
バツフアサブシステムはメモリアドレスバス24
とメモリデータバス26から成るメモリバス23
を介して主記憶装置22と連絡する。メモリバス
23はバスコントローラ20の制御により動作す
る。このコンピユータシステムは減少命令セツト
コンピユータ(RISC)技術を採用したもので、
通常、別のバス(図示せず)を介してCPU12
に接続されるキヤツシユ(図示せず)から必要な
命令とデータを得る。しかしながら、必要とされ
る情報がキヤツシユ内にないか、情報が記憶装置
のキヤツシユされないセグメントがあるか、デー
タ書込みを実行しなければならないか、等の場
合、このCPUは書込みバツフアサブシステム1
0に対して適当なメモリアクセス要求を出す。
書込みバツフアサブシステム10がCPU12
から書込み要求(アドレスデータ対やいくつかの
制御信号から成る)を受けると、それらの内の1
つが生じる。もし他の書込み要求が書込みバツフ
アサブシステム10内でペンテイング中でなく、
主記憶装置22へのバスが空いていれば書込み要
求は、実行のためわずかな遅れの後で主記憶装置
22にパスされる。もし他の書込み要求が書込み
バツフアサブシステム10内でペンデイング中で
なくて、主記憶装置22へのバスが使用中であれ
ば、書込み要求が内部書込みバツフアの第1ラン
クに記憶され、要求の有用性がバスコントローラ
20に表示される。バスコントローラ20は、バ
スが空いている時、書込みが完了するときに、記
憶装置への要求が情報の使用に応答できるように
する。
新しい要求を受け入れる時、確実に他方の書込
み要求が書込みバツフアサブシステム内でペンデ
イング中であれば、この新しい要求は単に次の使
用可能なバツフアランクに記憶される。1以上の
他の書込み要求がペンデイング中であれば、サブ
システム10は入力要求のワードアドレスをバツ
フア内の直前の要求のワードアドレスと比較す
る。そして合致しなければ、新しい要求は現在の
バツフアランクに書込まれ、合致すれば、新しい
要求は先行要求と共にに前のバツフアランクに
“集合”される。コンピユータの一般的なアーキ
テクチヤに応じて、有効であり、即ち、主記憶装
置内でアドレス指定された語のバイトを重ね置き
しようとする入力データのバイトだけが、バツフ
アランク内でバイトを重ね書きする。バツフアラ
ンク内のバイトは、そのバイトに対する入力デー
タが無効であれば変化せずに残される。かくし
て、例えば、もし入力書込み要求が、あるワード
アドレスのバイト1と2の半語(ハーフワード)
書込み要求であり、前の書込み要求が同じワード
アドレスのバイト1,2,3に対する3バイト書
込み要求であれば、2つの要求はフルワード書込
み要求に変換され、前の要求を保持するバツフア
ランクに記憶される。バイト0と1内のデータは
新しい要求により寄与されるデータとなり、バイ
ト2と3内のデータは前の要求により寄与される
データとなる。このことは主記憶装置に対して全
32ビツトバス幅を使用するために要求が結合され
るのみならず、宛先ワードアドレスのバイト1に
対する不必要な書込みが排除されるという利益を
有する。
書込み要求をCPU12から受けて、書込みバ
ツフアサブシステム10内のバツフアランクの内
の1つを除いて全てが満たされると、3つの可能
な結果が生じる。即ち、 (1) バスコントローラ20が既に第1の記憶され
た要求で動作していれば、新たな要求は、最後
のバツフアランクに単に記憶される(又は、上
記のように前のランクでの要求と共に集められ
る)だけである。第1の記憶された要求がまさ
に空になりかけているため、この時点では
CPUに対して書込バツフア・フル
(WBFULL)は信号を送る必要がない。
(2) バスコントローラがまだ第1の記憶された要
求で動作していなければ、入力要求のワードア
ドレスが直前の要求のワードアドレスと一致
し、新たな要求は上記のような前のランク内の
要求と共に集められる。一致を検出するのに必
要な時間のために、WBFULLは1クロツクサ
イクルの信号を送る。
(3) バスコントローラがまだ第1の記憶された要
求で動作せず、入力要求のワードアドレスが直
前の要求のワードアドレスと一致しなければ、
新たな要求は最後の使用可能なバツフアに記憶
され、WBFULLは信号を送る。CPU12が書
込み要求の準備ができて、WBFULLが稼動中
であれば、CPU12は、WBFULLがクリアす
るまで、待ち状態に入いる。
書込みバツフアサブシステム10は常に、
CPUアドレスバス14のワードアドレスを全て
ペンデイング中の書込み要求のワードアドレスと
比較し、一致を見いだすと、MATCHIN信号を
発生し、この信号が読取り要求中に発生すれば、
CPU12を待ち状態にする。それから、
MATCHINがクリアするまで、バスコントロー
ラ20はバツフアランク内で記憶された順番で、
ペンデイング中の書込み要求を実行する。このこ
とは、メモリ位置に対する全てのペンデイング中
の書込み要求が完了するまで、メモリ位置からの
読取り要求は決して実行されないことを保証す
る。
この発明による書込みバツフアサブシステム
は、4つのゲート配列と小量のランダムロジツク
を用いて設計して構成してある。ゲート配列はサ
ブシステムをスライスに分割し、各々のスライス
は各々の4つのバツフアランクで、32アドレスビ
ツトの内の8アドレスビツトの記憶装置と、36デ
ータビツトの内の9データビツト(8データビツ
トに1パリテイビツトを加えたもの)の記憶装置
と、カウンタと付加要素とから成る。
第2a図と第2b図を参照して、第1図で示す
書込みバツフアサブシステム10を詳細に説明す
る。この書込みバツフア10は4つのバツフアラ
ンクから成り、各々のバツフアランクは、データ
ランク70と、ワードアドレスランク80と、
“バリツドランク”50とから成るのが分かる。
各々のバリツドランク50a,50b,50c,
50dは、4情報ビツトを保持し、各々のビツト
は、対応するデータランク内の対応するバイトが
有効かどうかを表示する。任意の書込み要求を伴
うCPU12からの制御信号に応じて、有効なビ
ツトがセツトされる。バリツドランク50からの
出力は後述するORゲート52a,52b,52
c,52dを介して入力にフイードバツクされ
る。これらのバリツドランク50は、ゲートされ
ないクロツク信号でクロツクされ、ORゲート5
2の第2入力が低い限り、有効なビツトは単に再
循環される。
CPU12からの制御信号はACCESSTYPEIN
信号を含み、この信号は、書込み要求が、バイ
ト,ハーフワード,3バイトまたはフルワードを
書込むためのものであるかどうかを表示する。
ACCESSTYPEIN信号はデコーダ54に送ら
れ、このデコーダは、アドレス入力
ADDRESSIN(1:0)の下位2ビツトを更に参
照することで、4バイト入力データワードを書込
むことを表示する4ビツト信号を発生する。これ
らの4ビツトが、後述する書込みストローブ
WTSTROBEおよび入力ランク選択信号
INRANKSELのある論理ユニツト56に送られ
る。これらの信号に従つて適当な時間において、
論理ユニツト56は、入力書込み要求を記憶する
バツフアランクに対応する4ビツト出力に4ビツ
ト入力を転送する。論理ユニツト56は、それぞ
れが書込みバツフアサブシステム10の各々のバ
ツフアランクに対応する4ビツト出力を有する。
論理ユニツト56の4ビツト出力は対応するOR
ゲート52の第2入力に送られる。かくして、適
当な時間において、書込み要求が、書込みバツフ
アサブシステム10の所定ランクに書込まれる
と、そのランクに既にあるデータバイトの有効性
を示す4つのビツトと、入力データの有効性を示
す4つのビツトのORがとられ、その結果が適当
なバリツドランク50に再び書込まれる。論理ユ
ニツト56はまた4つの1ビツト信号、つまり、
ADDRSELA,ADDRSELB,ADDRSELC,
ADDRSELDを発生する。これらの信号は後述す
るように入力アドレスを適当なアドレスランクに
書込むために使用される。
4つのバリツドランク50の4ビツト出力は共
通のデータセレクタ58に連結され、このセレク
タは後述する信号OUTRANKSELにより連続的
に指定されるバツフアランクに対応して4ビツト
出力を選択する。この選択された4ビツト信号は
エンコーダ60に送られ、信号WBENを介して
バスコントローラ20により割込可能にされる
時、エンコーダは4ビツトを
ACCESSTYPEOUT信号と2つのアドレス出力
ADDRESOUT(1:0)の下位ビツトに変換す
る。各々のバリツドランク50からの4ビツト出
力はまたORゲート62a,62b,62c,6
2dにより共に論理和がとられ、少なくとも、対
応するデータランクの1つのバイトが有効データ
を含むことを示すNOTEMPTYA,
NOTEMPTYB,NOTEMPTYCおよび
NOTEMPTYD信号を発生する。
書込みバツフアサブシステム10は更に、各々
が32ビツトデータワードを保持する4つのデータ
ランク70a,70b,70c,70dを含む。
データランク70の出力はデータセレクタ72
a,72b,2c,72dを介して、入力にフイ
ードバツクされ、バリツドランク50と同様に、
ゲートされないクロツクにより連続的にクロツク
される。データセレクタ72の第2入力は第2b
図でDATAIN(35:0)として表わされるCPU
データバス16に全て連結される。各々のデータ
セレクタ72は、1つが9ビツトバイトである4
セレクト入力を有する。これらのセレクト入力は
論理ユニツト56の対応する4ビツト出力のそれ
ぞれに連結される。しかして、通常状態ででは、
データランク70からのデータは連続的にデータ
セレクタ72を介して再循環する。書込み要求を
CPU12から受けると、適当な時間において、
データセレクタ72は、適当なデータランク70
に書込まれる有効な入力データのバイトだけを選
択する。他の全てのデータランク70の全てのバ
イトと同様にデータランク70の残りのバイト
は、単に再循環される。データランク70の出力
はまた、データセレクタ74に連結され、制御ラ
インWBENを介してバストコントローラ20に
より割込可能にされる時、データセレクタは、メ
モリデータバス26に、OUTRANKSELにより
選択されるバツフアランク内のデータワードを出
力する。
第2a図を参照すると、書込みバツフアサブシ
ステム10は更に4つのアドレスランク80a,
80b,80c,80dを含む。これらのアドレ
スランクは、上位30ビツトを構成する各々の書込
み要求に対するワードアドレスだけを保持する。
データランク70と同様に、アドレスランク80
内の情報は、再循環されてそれぞれのデータセレ
クタ82a,82b,82c,82dを介して、
ゲートされないクロツクの各サイクルでの入力に
戻される。しかしながら、データセレクタ72と
異なり、データセレクタ82は、30ビツト入力の
内の1つだけを完全に選択できる。データセレク
タ82の第2入力は全てCPUアドレスバス14
であるADDRESSIN(31:2)の上位30ビツトに
連結される。データセレクタ82のセレクト入力
はそれぞれ、ADDRSELA,ADDRSELB,
ADDRSELC,ADDRSELDに連結される。アド
レスランク80内のアドレス情報はそれで、書込
みバツフアサブシステム10で書込み要求が書込
まれる時を除いて再循環され、その場合、
INRANKSELにより指定されたアドレスランク
の内容だけが、入力アドレス信号により重ね書き
される。アドレスランク80の30ビツト出力はま
た、データセレクタ84に連結され、信号
WBENを介してバスコントローラ20により割
込可能にされる時、データセレクタはメモリアド
レスバス24に、OUTRANKSELにより指定さ
れるバツフアランク内のワードアドレスを出力す
る。
アドレスランク80の出力は、更にそれぞれの
比較器90a,90b,90c,90dの第1入
力に連結される。比較器90の第2入力は入力ア
ドレス信号ADDRESSIN(31:2)に連結され
る。同等だけを示す比較器90の出力は、信号
NOTEMPTYA,NOTEMPTYB,
NOTEMPTYC,NOTEMPTYDにより、AND
ゲート92a,92b,92c,92dを介して
ゲートされ、それぞれ、信号MATCHINA,
MATCHINB,MATCHINC,MATCHINDを
発生する。後者の信号は入力ワードアドレス信号
が対応するバツフアランクのワードアドレスに一
致することを示す。任意のMATCHINの起動を
防ぐために後者の信号は、NOTEMPTYにより
ゲートされ、即ち、バスコントローラにより主記
憶装置22に既に書込まれている記憶されたワー
ドアドレスに基底付けられたものである。信号
MACHINA,MATCHINB,MATCHINC,
MATCHINDはORゲート94により付加的に論
理和がとられ、合成MATCHIN信号を発生する。
この信号は、入力ワードアドレスが少なくとも、
有効な記憶されたワードアドレスの1つと一致
し、前記のように、CPU12からの要求を読取
るために使用されることを示す。
書込みバツフアサブシステム10は更に、バス
コントローラ20が次の書込み要求を取らないよ
うバツフアのトラツクを保つOUTカウンタ10
0と、CPU12からの新たな入力書込み要求の
ため使用可能な次のバツフアランクのトラツクを
保つINカウンタ102とを含む。OUTカウンタ
100は、バスコントローラ20により発生され
るACKNOWLEDGE信号の存在中にクロツク信
号により増加され、出力としてOUTRANKSEL
を発生する。ACKNOWLEGEはまた、サブシス
テム制御ロジツク104に連結され、このロジツ
クは、OUTRANKSELと、WTMEM(書込み要
求がCPUバス13に置かれたことを示すCPU1
2からの信号)と、INONT(INカウンタ102
の出力)と、NOTEMPTYAと、
NOTEMPTYBと、NOTEMTYCと、
NOTEMTYDと、MATCHINAと、
MATCHINBと、MATCHINCと、
MATCHINDに連結される付加入力を有する。
サブシステム制御ロジツク104は、次のように
書込みバツフアサブシステム10のための制御シ
ステムを生成する。
書込み要求がペンデイング中であり、実行のた
め使用可能であることをバスコントローラ20に
示すWTREQAVLは、任意のNOTEMTYiが稼
動中である時はいつでも稼動中である。
入力書込み要求を記憶するか集めるかをバツフ
アランクに指示するため、書込みバツフアサブシ
ステム10内で使用されるINRANKSELは、も
し、(1)INCTがOUTRANKSEL+1に等しいか、
(2)バツフアランクINCT−1のための
MATCHINiが活動停止していれば、INCNTに
等しくセツトされ、もし、INCNTが
OUTRANKSEL+1と異なり、バツフアランク
INCNT−1のためのMATCHINiが稼動中であ
れば、INCNT−1に等しくセツトされる。
INカウンタ102のクロツク入力に連結され
るINCREMETINは、WTMEMに応答してクロ
ツクされる。しかしながら、もし、(1)INCNTが
OUTRANKSEL+1に等しいか、(2)バツフアラ
ンクINCNT−1のためのMATCHINiが活動停
止している場合だけ、クロツキングを生じる。
書込みバツフアサブシステム10がいつぱいで
あり、もはや書込みを受取れないことをCPU1
2に信号で伝えるWBFULLは、(1)全ての
NOTEMPTYiが稼動中であれば稼動中である
か、(2)WTMEMに応答して、(a)3つの
NOTEMPTYiが稼動中であり、(b)
ACKNOWLEDGEが活動停止していれば、稼動
中である。
入力書込み要求の記憶をバツフアに与えるた
め、書込みバツフアサブシステム10内で使用さ
れるタイミング信号であるWTSTROBEは、適
当な遅れの後でWTMEMに応答する。
第2a図および第2b図で示す書込みバツフア
サブシステムの動作を説明する。パワーアツプさ
れると、書込み要求が、実行のため連続的にバス
コントローラ20に対して使用可能であることを
指示するため、バリツドランク50内の全ビツト
がクリアされる。OUTカウンタ100とINカウ
ンタ102も共に0にセツトされ、活動停止の
WTREQAVL信号が発生される。書込み要求が
CPU12から受取られないとき(即ち、
WTMEMが活動停止しているとき)、バリツドラ
ンク50,データランク70,アドレスランク8
0内の情報は変化されずに再循環する。バリツド
ランク50内の情報はORゲート52を通過する
が、WTSTROBEが活動停止状態であるので、
ORゲート52の第2入力は低く留まる。同様に
して、同じ理由で、データセレクタ72(再循環
データ情報がこのセレクタを通過する)と、セレ
クタ82(再循環アドレス情報がこのセレクタを
通過する)とが、CPUデータおよびアドレスバ
ス16と14での情報より再循環情報をバツフア
ランクに入力するために選択を続ける。
CPU12がWTMEMを稼動して書込み要求の
信号を送ると、バツフアランクaに入力書込み要
求を書込ませるために、適当な時間において、
WTSTROBEが起動される。バツフアランクa
は、INカウンタをバツフアランクaに指定する
ために選択され、前のバツフアランク(ランク
d)の全有効ビツトが活動停止しているので、
NOTEMPTYDである。このことは、
MATCHINDをANDゲート92dを介して、強
制的に活動停止して、INカウンタ102の出力
に等しく、サブシステム制御ロジツク104を
INRANKSELにセツトする。
WTSTROBEが、WTMEMにより起動される
ために実際の書込が生じる。このことにより、論
理ユニツト56を1クロツクサイクルのため
ADDRSELAにターンオンにして、CPUアドレ
スバス14のワードアドレスがデータセレクタ8
2aにより選択され、アドレスランク80aに記
憶される。WTSTROBEはまた、1クロツクサ
イクルのため、バツフアランクaに対応する4ビ
ツト出力の内の適当な1つに論理ユニツト56を
ターンオフする。例えば、基準がフルワード書込
みであるとすれば、ACCESSTYPEINは、その
ような4つの全ビツトが起動されることを指示す
る。これらの全ビツトは、ORゲート52を介し
てバリツトランク50a内で既にある情報と論理
和が取られるが、“1”の論理和は全て“1”で
あるので、バリツドランク50aの全ての4ビツ
トがセツトされる。(ORゲート52の機能は、
バリツドランク50のためのJKフリツプフロツ
プを使用することで達成できることは明らかであ
る。)同様に、ランクaに対応して論理ユニツト
56の4ビツト出力は、データセレクタ72a
が、1クロツクサイクルのため、全ての4バイト
のため、データランク70a内に記憶するため
に、CPUデータバス16のデータを選択するよ
うにする。
WTMEMが活動停止状態に戻ると、INカウン
タ102が増加し、バツフアランクbを指定す
る。NOTEMPTYAは稼動中であるので、
WTREQAVLが起動され、書込み要求がバツフ
アランクの1つでベンデイング中であることをバ
スコントローラ20に表示される。しかしなが
ら、この例示のために、バスコントローラ20
は、この要求においてまだ動作していないと仮定
される。
WTMEMがCPU12により再び起動され、第
2書込み要求の存在を指示する時、情報がバツフ
アランクbに書込まれる。INカウンタ102が
バツフアランクbを指定するためにバツフアラン
クbが選択される。バツフアランクbは
OUTRANKSELにより指定されるバツフアラン
クより、1ランク高い。それで、サブシステム制
御ロジツク104は、入力ワードアドレスと任意
のバツフアランクのワードアドレス間の任意の一
致にもかかわらず、INCNT(バツフアランクb
を指定する)に等しいINRANKSELをセツトす
る。この例のために、この第2の書込み要求は所
定のワードアドレスのバイト1,2,3に対する
書込み要求であり、ACCESSTYPEINと
ADDRESSI(1:00)が表われる。それで、論理
ユニツト56はバツフアランクbに対応した4ビ
ツト出力の1,2,3のビツトだけターンオフ
し、ビツト0は起動しない。ORゲート52bを
介してバリツドランク50bのバイト1,2,3
がセツトされ、バリツドランク50bのバイト0
はセツトされずに残る。同様に、データセレクタ
72bを介してデータランク70bのバイト1,
2,3がCPUデータバス16の入力データのバ
イト1,2,3により重ね書きされる。データラ
ンク70bのバイト0は変化せず、このバイトは
パワアツプしても変化しないのでランダム情報を
含む。WTMEMが活動停止状態に戻る時、INカ
ウンタ102は再び増加し、WTREQAVLは起
動状態のままである。もう一度、バスコントロー
ラ20がこの時点で任意のバツフアランクを空に
しないと考えられる。
WTMEMが3回目に起動し、CPUバス13に
まだ他の書込み要求があることを示す時、入力ワ
ードアドレスがバツフアランクb内に記憶された
ワードアドレスと一致するかどうかにより、情報
がバツフアランクcかバツフアランクbかに書込
まれる。一致しなければ、MATCHINB信号は
活動停止となる。それで、サブシステム制御ロジ
ツク104、連続的にバツフアランクcを指定す
るINカウンタ102の出力に等しい
INRANKSELをセツトする。入力ワードアドレ
スがバツフアランクb内のワードアドレスに一致
しなければ、MATCHINB信号が表われる。
INCNTはOUTRANKSELより上のバツフアラ
ンクをもはや指定しない(バツフアランクaのま
まである)ので、サブシステム制御ロジツク10
4はINカウンタ102により指定されるバツフ
アランク以下のバツフアランクに等しい
INRANKSELをセツトする。入力情報はそれで
バツフアランクbに書込まれる。
この例のために、入力書込み要求がバイト0と
1に対するハーフワードであり、そのワードアド
レスがバツフアランクbのワードアドレスに一致
すると仮定する。前の書込み要求と同じように、
入力ワードアドレスはINRANKSELにより指定
されるバツフアランクに対応するアドレスランク
80bに書込まれる。論理ユニツト56は、ビツ
ト0とビツト1が起動し、ビツト2とビツト3が
起動しないバツフアランクbに対する4ビツト出
力を生成する。これらのビツトはORゲート52
bにより、バリツドランク50bに既にある有効
ビツトと論理和が取られ、ビツト0をターンオン
し(前はオフであつた)、ビツト1をターンオン
し(既にオンであつた)、ビツト2とビツト3を
前の(オン)状態にする。バリツドランク50b
の全ビツトがそれで今やセツトされている。同様
にデータセレクタ72bは、入力データからバイ
ト0とバイト1を選択し、再循環データからバイ
ト2とバイト3を選択し、データランク70bに
記憶する。バイト0内のランダムデータは入力デ
ータのバイト0と重ね書きされ、データランク7
0b内の前のデータのバイト2とバイト3は変動
せず残る。WTMEMが活動停止状態に戻ると、
INカウンタ102は増加しない。その理由は、
(1)INカウンタはOUTRANKSELにより指定され
るバツフアランク以上のバツフアランクを連続的
に指定せず、(2)MATCHINBが起動しているか
らである。
バスコントローラ20がペンデイング中の書込
み要求を実行する用意が整う時、
ACKNOWLEDGE信号とWBEN信号を起動す
る。OUTRANKSELがバツフアランクaを指定
するので、データセレクタ74と84は、データ
ランク70aとアドレスランク80aから、それ
ぞれ、データとワードアドレスを選択する。同時
に、バリツドランクaからの有効ビツトがデータ
セレクタ58により選択されててエンコーダ60
に与えられる。4つの有効ビツト全てが稼動中で
あるので、バツフアランクa内の書込み要求が、
エンタイヤワードのためであることをエンコーダ
0が決定し、従つてACCESSTYPEOUTをセツ
トする。また、対応して、このエンコーダは、0
に対する下位の2つのアドレスビツトである
ADDRESSOUT(1:0)をセツトする。書込み
要求が完了すると、バスコントローラ20は、
ACKNOWLEDGE信号の活動を停止し、それに
より、OUTRANKSELを増加して、バツフアラ
ンクbを指定する。バスコントローラ20が、書
込みバツフアサブシステム10内でペンデイング
中の次の書込み要求を実行する用意をする時、バ
スコントローラは再び、ACKNOWLEDGEと
WBENを起動する。今、OUTRANKSELがバツ
フアランクbを指定しているので、バツフアラン
クbからのワードアドレスとデータはデータセレ
クタ74と84により選択され、メモリバス23
に割込みできる。本発明によると、バリツドラン
クb内の全ての有効ビツトが稼動している。前に
説明したように、このことは2つの異なる書込み
要求の組合わせを表わし、同じワードアドレス内
にバイトのグループを重ねることである。それ
で、この書込みバツフアシステム10は、バスコ
ントローラ20と主記憶装置22により扱われな
ければならない書込み要求の数を効率的に1つに
減少するものである。前記のように、アドレスさ
れるワードのバイト1に対する余分な書込みがそ
の上除去されている。この主記憶装置サブシステ
ムは、ワードの隣接しない2つのバイトに対する
書込み要求を実行できないことに注意すべきであ
る。そうであれば、例えば、位置0と3だけに有
効データバイトを有するバツフアランクを空にす
るため、2つのバスサイクルが必要となる。この
処理のために余分の回路が必要となる。しかしな
がら、同数の書込み要求を記憶するために、少数
のバツフアランクを要するので、なお長所があ
る。
上述の記載において本発明を特別な実施例に関
して説明したが、発明の範囲内で数多くの変更が
可能であるのが分かる。例えば、上記実施例は、
直前の要求以外の任意の要求による入力書込み要
求の集合は許容しないが、このような集合を許容
するシステムも設計可能である。更に、上記実施
例はOUTカウンタにより連続的に指定される要
求により、入力書込み要求の集合を許容しない
が、ある状況では、この集合を許容するシステム
を設計できる。最後に、上記実施例では、書込み
要求はCPUにより生成されて、データが記憶装
置に書込まれるけれども、書込み要求を他の周辺
装置で生成し、データを他の出力装置に書込むシ
ステムに対しても本発明を同等に利用できる。こ
れらの変更は全てこの発明の範囲内のものであ
る。
〔発明の効果〕
本発明によると、CPUと主記憶装置との間に
書込みバツフアサブシステムが挿入されるので、
この書込みバツフアサブシステムは、CPUから
のアドレスデータペアを受取り、それらを多数の
ランクのある内部バツフアの第1レベルまたはラ
ンクに置き、それから、主記憶装置バスコントロ
ーラへ要求を出し、データセツトが主記憶装置で
の書込み使用可能であることを通報する。また、
バスが空いている時、コントローラはデータをバ
スにセツトでき、書込みを行なわせる。書込みが
完了すると、コントローラは、情報の使用に応答
して、書込みバツフアサブシステムからの他の要
求を待つ。
書込みバツフアサブシステムがCPUから連続
して、同じメモリワードアドレスを参照する2つ
の書込みコマンドを受取ると、このサブシステム
はこれらのコマンドを単一のバツフアランクに集
め、主記憶装置への単一アクセス中にこれらのコ
マンドを実行できる。しかしながら、バスコント
ローラによる実行を連続的に待ちながら、バツフ
アランク内で書込みコマンドを変更しようとすれ
ば、書込みコマンドは集められない。非順次書込
みコマンドもまた集められない。これらの両方の
制限は、集合により得られる改良されたバス使用
法を著しく低下することなく、書込みバツフアサ
ブシステムを実現するのに必要なロジツクの複雑
さを著しく減少することができる。更に、非順次
書込みコマンドの集合を妨げることにより、必要
ならば、ダミーアドレスに介入書込みコマンドを
出すことにより、ソフトウエアは短時間フレーム
で2度、同じアドレスに情報を書込むことができ
る。また、この書込みバツフアサブシステムは、
CPUに対してバツフアフル状態の信号を送る手
段を含み、書込みコマンドがペンテイング中のた
め、アドレスに対するメモリ読取コマンドの発行
を検出するのに有用な信号を提供することができ
る。
以上の説明から明らかのように、本発明によれ
ば、コンピユータにおけるバスの使用法が改良さ
れ、コンピユータにおける主記憶装置に対する書
込みバツフアリングが改良される。また、本発明
により、改善された、同じメモリアドレスに書込
まれるデータのバイトを集める手段が提供される
ので、同じメモリアドレスに順次書込みコマンド
を集めることによりメモリの書込みに要するバス
時間を大巾に減少し、これらのコマンドを同時に
行うことが可能となる。上述の効果は特に本発明
における別の書込みバツフアサブシステムの挿入
により達成されるものである。
【図面の簡単な説明】
第1図はこの発明による書込みバツフアサブシ
ステムを組込んだコンピユータのブロツク線図で
ある。第2a図と第2b図は、第1図の書込みバ
ツフアサブシステムの詳細を示す。 符号の説明、10……書込みバツフアサブシス
テム、12……CPU、13……CPUバス、14
……CPUアドレスバス、16……CPUデータバ
ス、20……バスコントローラ、22……主記憶
装置、23……メモリバス、24……メモリアド
レスバス、26……メモリデータバス、50a,
50b,50c,50d……バリツドランク、5
2a,52b,52c,52d……ORゲート、
54……デコーダ、56……論理ユニツト、58
……共通データセレクタ、60……エンコーダ、
62a,62b,62c,62d……ORゲー
ト、70a,70b,70c,70d……データ
ランク、72a,72b,72c,72d……デ
ータセレクタ、74……データセレクタ、80
a,58b,80c,80d……アドレスラン
ク、82a,82b,82c,82d……データ
セレクタ、84……データセレクタ、100……
OUTカウンタ、102……INカウンタ、104
……サブシステム制御ロジツク。

Claims (1)

  1. 【特許請求の範囲】 1 各書込み要求が、それらの要求と対応するデ
    ータとアドレスとを有する書込み要求を出力装置
    にバツフアする装置において、 第1のバツフアランクと、 前記第1のバツフアランクと異なる第2のバツ
    フアランクと、 前記書込み要求のうちの第1の書込み要求を前
    記第1のバツフアランクに書込む手段と、 前記第1のバツフアランクが空であれば、前記
    書込み要求のうちの第2の書込み要求を前記第1
    のバツフアランクに書込む手段と、 前記第1のバツフアランクが空でなくかつ前記
    第1の書込み要求と対応するアドレスが、前記第
    2の書込み要求と対応するアドレスと一致しなけ
    れば、前記第2のバツフアランクに前記第2の書
    込み要求を書込む手段と、 前記第2の書込み要求と対応するアドレスが前
    記第1の書込み要求と対応するアドレスと一致し
    かつ前記第1のバツフアランクが空でなければ、
    前記第1のバツフアランク内で前記第2の書込み
    要求を前記第1の書込み要求と併合する手段を具
    備し、前記併合する手段は、前記第2の書込み要
    求によつて出力装置に書込まれる予定の前記第2
    の書込み要求と対応するデータのビツトだけを前
    記第1のバツフアランクに書込む手段を具備して
    いる書込みバツフア装置。 2 前記併合する手段が、前記第1の書込み要求
    によつて前記出力装置に書込まれる予定でありか
    つ前記第2の書込み要求によつて前記出力装置に
    書込まれる予定でない前記第1の書込み要求と対
    応したデータのビツトを前記バツフアランク内に
    保持する特許請求の範囲第1項に記載の書込みバ
    ツフア装置。 3 各書込み要求と対応するデータがデータワー
    ドであり、かつ各書込み要求が前記出力装置に書
    込まれるべきデータワードのビツトを指す有効な
    信号と対応しており、さらに各バツフアランクが
    データワードを保持するデータレジスタと、前記
    データワードからのデータが書込まれるべきアド
    レスを保持するアドレスレジスタと、書込まれる
    べきビツトを指すバリツドレジスタを具備してお
    り、前記バツフアランクは、前記バリツドレジス
    タが前記データレジスタのビツトのうちのどれも
    指さなければ空と認められ、また前記バリツドレ
    ジスタが前記データレジスタのビツトのうちの少
    なくとも1つを指せば空でないと認められように
    なされており、さらに、 第1の入力書込み要求のアドレスを前記バツフ
    アランクのうちの第1の入力バツフアランクのア
    ドレスレジスタに書込む手段と、 前記第1の入力書込み要求の有効な信号によつ
    て指される第1の入力書込み要求のデータワード
    のビツトだけを前記バツフアランクのうちの第1
    の入力バツフアランクのデータレジスタに書込む
    手段と、 前記第1の入力書込み要求の有効な信号によつ
    て指されるビツトと変更手段の起動直前にバリツ
    ドレジスタによつて指されるビツトを指すように
    前記第1の入力入力バツフアランクのバリツドレ
    ジスタの内容を変更する手段をさらに具備してい
    る特許請求の範囲第2項に記載の装置。 4 前記バツフアランクのうちの出力バツフアラ
    ンクを空にしかつその出力バツフアランクのデー
    タレジスタのビツトのどれをも指さないように前
    記出力バツフアランクのバリツドレジスタを変更
    する手段をさらに具備している特許請求の範囲第
    3項に記載の装置。 5 前記バツフアランクのうちの出力バツフアラ
    ンクを空にしかつその出力バツフアランクのデー
    タレジスタのビツトのどれをも指さないように前
    記出力バツフアランクのバリツドレジスタを変更
    する手段と、 前記第2の入力書込み要求の有効な信号によつ
    て指される前記第2の入力書込み要求のデータワ
    ードのビツトだけを前記バフアランクのうちの第
    2の入力バフアランクのデータレジスタに書込む
    手段と、 いかなる書込み要求も介在しないで前記第1の
    入力書込み要求に続く第2の入力書込み要求のア
    ドレスを、前記バツフアランクのうちの第2の入
    力バツフアランクのアドレスレジスタに書込む手
    段と、 前記第2の入力書込み要求の有効な信号によつ
    て指されるビツトと変更手段の起動直前にバリツ
    ドレジスタによつて指されるビツトを指すように
    前記第2の入力入力バツフアランクのバリツドレ
    ジスタの内容を変更する手段を具備しており、 前記第2の入力書込み要求のアドレスが前記第
    1の入力書込み要求のアドレスと一致しておりか
    つ前記第1の入力バツフアランクが空でなけれ
    ば、あるいは、前記第2の入力書込み要求のアド
    レスが前記第1の入力書込み要求のアドレスと一
    致しておらずかつ前記第1の入力バツフアランク
    が空であれば、前記バツフアランクの第2の入力
    バツフアランクが前記バツフアランクの第1の入
    力バツフアランクとなるように選択されるように
    なされている特許請求の範囲第3項に記載の装
    置。
JP61316133A 1986-05-05 1986-12-26 書込みバツフア装置 Granted JPS62262160A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US860304 1986-05-05
US06/860,304 US4805098A (en) 1986-05-05 1986-05-05 Write buffer

Publications (2)

Publication Number Publication Date
JPS62262160A JPS62262160A (ja) 1987-11-14
JPH0461383B2 true JPH0461383B2 (ja) 1992-09-30

Family

ID=25332918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61316133A Granted JPS62262160A (ja) 1986-05-05 1986-12-26 書込みバツフア装置

Country Status (5)

Country Link
US (1) US4805098A (ja)
EP (1) EP0244540B1 (ja)
JP (1) JPS62262160A (ja)
AT (1) ATE94667T1 (ja)
DE (1) DE3689042T2 (ja)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0772886B2 (ja) * 1986-08-01 1995-08-02 インターナショナル・ビジネス・マシーンズ・コーポレーション データ処理システム
GB2200483B (en) * 1987-01-22 1991-10-16 Nat Semiconductor Corp Memory referencing in a high performance microprocessor
US5151982A (en) * 1988-03-30 1992-09-29 Kabushiki Kaisha Toshiba Data processing system
US5179679A (en) * 1989-04-07 1993-01-12 Shoemaker Kenneth D Apparatus and method for permitting reading of data from an external memory when data is stored in a write buffer in the event of a cache read miss
CA2066454C (en) * 1989-09-11 1998-08-25 Bhikoo J. Patel Apparatus and method for maintaining cache/main memory consistency
US6807609B1 (en) * 1989-12-04 2004-10-19 Hewlett-Packard Development Company, L.P. Interleaving read and write operations on a bus and minimizing buffering on a memory module in a computer system
US5224214A (en) * 1990-04-12 1993-06-29 Digital Equipment Corp. BuIffet for gathering write requests and resolving read conflicts by matching read and write requests
US5416907A (en) * 1990-06-15 1995-05-16 Digital Equipment Corporation Method and apparatus for transferring data processing data transfer sizes
US5357622A (en) * 1990-09-27 1994-10-18 Dell U.S.A., L.P. Apparatus for queing and storing data writes into valid word patterns
CA2050507C (en) * 1990-10-26 1999-07-13 Lane Jordon Abrams Message-oriented bank controller interface
US5410654A (en) * 1991-07-22 1995-04-25 International Business Machines Corporation Interface with address decoder for selectively generating first and second address and control signals respectively in response to received address and control signals
US5379396A (en) * 1991-10-11 1995-01-03 Intel Corporation Write ordering for microprocessor depending on cache hit and write buffer content
US5469555A (en) * 1991-12-19 1995-11-21 Opti, Inc. Adaptive write-back method and apparatus wherein the cache system operates in a combination of write-back and write-through modes for a cache-based microprocessor system
US5459842A (en) * 1992-06-26 1995-10-17 International Business Machines Corporation System for combining data from multiple CPU write requests via buffers and using read-modify-write operation to write the combined data to the memory
US5519839A (en) * 1992-10-02 1996-05-21 Compaq Computer Corp. Double buffering operations between the memory bus and the expansion bus of a computer system
US5572235A (en) * 1992-11-02 1996-11-05 The 3Do Company Method and apparatus for processing image data
US5481275A (en) 1992-11-02 1996-01-02 The 3Do Company Resolution enhancement for video display using multi-line interpolation
US5838389A (en) * 1992-11-02 1998-11-17 The 3Do Company Apparatus and method for updating a CLUT during horizontal blanking
US5752073A (en) * 1993-01-06 1998-05-12 Cagent Technologies, Inc. Digital signal processor architecture
GB2276964A (en) * 1993-03-31 1994-10-12 Hypertech Pty Ltd Buffering write cycles.
US5796976A (en) * 1993-05-04 1998-08-18 Digital Equipment Corporation Temporary storage having entries smaller than memory bus
US5435001A (en) * 1993-07-06 1995-07-18 Tandem Computers Incorporated Method of state determination in lock-stepped processors
US5640527A (en) * 1993-07-14 1997-06-17 Dell Usa, L.P. Apparatus and method for address pipelining of dynamic random access memory utilizing transparent page address latches to reduce wait states
US5826069A (en) * 1993-09-27 1998-10-20 Intel Corporation Having write merge and data override capability for a superscalar processing device
US5377338A (en) * 1993-10-12 1994-12-27 Wang Laboratories, Inc. Apparatus and methods for reducing numbers of read-modify-write cycles to a memory, and for improving DMA efficiency
US5559988A (en) * 1993-12-30 1996-09-24 Intel Corporation Method and circuitry for queuing snooping, prioritizing and suspending commands
US5630075A (en) * 1993-12-30 1997-05-13 Intel Corporation Write combining buffer for sequentially addressed partial line operations originating from a single instruction
GB2288255B (en) * 1994-04-07 1998-03-11 Advanced Risc Mach Ltd Write request interlock
US5696938A (en) * 1994-08-31 1997-12-09 Vlsi Technology, Inc. Computer system permitting mulitple write buffer read-arounds and method therefor
US5829018A (en) * 1994-10-25 1998-10-27 International Business Machines Corporation Apparatus and method for writing data from a cache to a storage device
US5664148A (en) * 1995-08-17 1997-09-02 Institute For The Development Of Emerging Architectures L.L.C. Cache arrangement including coalescing buffer queue for non-cacheable data
US5963981A (en) * 1995-10-06 1999-10-05 Silicon Graphics, Inc. System and method for uncached store buffering in a microprocessor
US6317803B1 (en) 1996-03-29 2001-11-13 Intel Corporation High-throughput interconnect having pipelined and non-pipelined bus transaction modes
US5911051A (en) * 1996-03-29 1999-06-08 Intel Corporation High-throughput interconnect allowing bus transactions based on partial access requests
US5860091A (en) * 1996-06-28 1999-01-12 Symbios, Inc. Method and apparatus for efficient management of non-aligned I/O write request in high bandwidth raid applications
US5892978A (en) * 1996-07-24 1999-04-06 Vlsi Technology, Inc. Combined consective byte update buffer
US5860107A (en) * 1996-10-07 1999-01-12 International Business Machines Corporation Processor and method for store gathering through merged store operations
US5894569A (en) * 1997-04-14 1999-04-13 International Business Machines Corporation Method and system for back-end gathering of store instructions within a data-processing system
US6438660B1 (en) * 1997-12-09 2002-08-20 Intel Corporation Method and apparatus for collapsing writebacks to a memory for resource efficiency
JP2000047977A (ja) * 1998-07-27 2000-02-18 Hitachi Ltd 双方向バス制御方式
US6434641B1 (en) * 1999-05-28 2002-08-13 Unisys Corporation System for reducing the number of requests presented to a main memory in a memory storage system employing a directory-based caching scheme
US6678803B2 (en) * 1999-11-03 2004-01-13 Micron Technology, Inc. Method and device to use memory access request tags
US6549211B1 (en) 1999-12-29 2003-04-15 Intel Corporation System and method for increasing the efficiency and reliability of the storage of sequential data
US6560675B1 (en) * 1999-12-30 2003-05-06 Unisys Corporation Method for controlling concurrent cache replace and return across an asynchronous interface
US7159041B2 (en) * 2000-03-07 2007-01-02 Microsoft Corporation Method and system for defining and controlling algorithmic elements in a graphics display system
US6819325B2 (en) 2000-03-07 2004-11-16 Microsoft Corporation API communications for vertex and pixel shaders
US6831635B2 (en) * 2001-03-01 2004-12-14 Microsoft Corporation Method and system for providing a unified API for both 2D and 3D graphics objects
US6828975B2 (en) * 2001-03-01 2004-12-07 Microsoft Corporation Method and system for managing graphics objects in a graphics display system
US6812923B2 (en) 2001-03-01 2004-11-02 Microsoft Corporation Method and system for efficiently transferring data objects within a graphics display system
US6874150B2 (en) * 2001-03-01 2005-03-29 Microsoft Corporation Method and system for maintaining connections between surfaces and objects in a graphics display system
US7023431B2 (en) * 2001-03-01 2006-04-04 Microsoft Corporation Method and system for providing data to a graphics chip in a graphics display system
US6757768B1 (en) * 2001-05-17 2004-06-29 Cisco Technology, Inc. Apparatus and technique for maintaining order among requests issued over an external bus of an intermediate network node
US7200715B2 (en) 2002-03-21 2007-04-03 Network Appliance, Inc. Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes
WO2005015805A2 (en) * 2003-08-08 2005-02-17 Visionflow, Inc. Software and hardware partitioning for multi-standard video compression and decompression
JP4649257B2 (ja) * 2005-04-04 2011-03-09 キヤノン株式会社 マルチcpuシステム
US7743184B2 (en) * 2006-08-25 2010-06-22 Freescale Semiconductor, Inc. Coherent access register data transfer device and methods thereof
TWI396975B (zh) * 2008-08-06 2013-05-21 Realtek Semiconductor Corp 可調適緩衝裝置及其方法
US9461930B2 (en) 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor
US8949500B2 (en) * 2011-08-08 2015-02-03 Lsi Corporation Non-blocking processor bus bridge for network processors or the like
US8489794B2 (en) * 2010-03-12 2013-07-16 Lsi Corporation Processor bus bridge for network processors or the like
US9444757B2 (en) 2009-04-27 2016-09-13 Intel Corporation Dynamic configuration of processing modules in a network communications processor architecture
US20120059976A1 (en) 2010-09-07 2012-03-08 Daniel L. Rosenband Storage array controller for solid-state storage devices
US8850114B2 (en) * 2010-09-07 2014-09-30 Daniel L Rosenband Storage array controller for flash-based storage devices
WO2013100928A1 (en) * 2011-12-28 2013-07-04 Intel Corporation Reducing the number of sequential operations in an application to be performed on a shared memory cell
US10318292B2 (en) 2014-11-17 2019-06-11 Intel Corporation Hardware instruction set to replace a plurality of atomic operations with a single atomic operation
US11132145B2 (en) * 2018-03-14 2021-09-28 Apple Inc. Techniques for reducing write amplification on solid state storage devices (SSDs)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5442941A (en) * 1977-08-13 1979-04-05 Fujitsu Ltd Store buffer control system
JPS60142439A (ja) * 1983-12-29 1985-07-27 Fujitsu Ltd ストアバツフア装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3449724A (en) * 1966-09-12 1969-06-10 Ibm Control system for interleave memory
US4156906A (en) * 1977-11-22 1979-05-29 Honeywell Information Systems Inc. Buffer store including control apparatus which facilitates the concurrent processing of a plurality of commands
US4291370A (en) * 1978-08-23 1981-09-22 Westinghouse Electric Corp. Core memory interface for coupling a processor to a memory having a differing word length
FR2474201B1 (fr) * 1980-01-22 1986-05-16 Bull Sa Procede et dispositif pour gerer les conflits poses par des acces multiples a un meme cache d'un systeme de traitement numerique de l'information comprenant au moins deux processus possedant chacun un cache
US4347567A (en) * 1980-02-06 1982-08-31 Rockwell International Corporation Computer system apparatus for improving access to memory by deferring write operations
JPS59136859A (ja) 1983-01-27 1984-08-06 Nec Corp バツフア制御装置
GB8401804D0 (en) * 1984-01-24 1984-02-29 Int Computers Ltd Data storage apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5442941A (en) * 1977-08-13 1979-04-05 Fujitsu Ltd Store buffer control system
JPS60142439A (ja) * 1983-12-29 1985-07-27 Fujitsu Ltd ストアバツフア装置

Also Published As

Publication number Publication date
DE3689042D1 (de) 1993-10-21
EP0244540A2 (en) 1987-11-11
ATE94667T1 (de) 1993-10-15
EP0244540B1 (en) 1993-09-15
DE3689042T2 (de) 1994-01-27
EP0244540A3 (en) 1988-10-26
JPS62262160A (ja) 1987-11-14
US4805098A (en) 1989-02-14

Similar Documents

Publication Publication Date Title
JPH0461383B2 (ja)
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
US4995041A (en) Write back buffer with error correcting capabilities
EP0405882B1 (en) Move 16 block move and coprocessor interface instruction
US5586294A (en) Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer
US4493026A (en) Set associative sector cache
US5371870A (en) Stream buffer memory having a multiple-entry address history buffer for detecting sequential reads to initiate prefetching
KR100278328B1 (ko) 캐시 미스 버퍼
US6138208A (en) Multiple level cache memory with overlapped L1 and L2 memory access
US5461718A (en) System for sequential read of memory stream buffer detecting page mode cycles availability fetching data into a selected FIFO, and sending data without aceessing memory
EP0288649A1 (en) Memory control subsystem
JPH0345407B2 (ja)
EP0303648B1 (en) Central processor unit for digital data processing system including cache management mechanism
EP0344886B1 (en) Data transfer processing system
US5452418A (en) Method of using stream buffer to perform operation under normal operation mode and selectively switching to test mode to check data integrity during system operation
EP0279189A2 (en) Storage system
JPH0410102B2 (ja)
US5638538A (en) Turbotable: apparatus for directing address and commands between multiple consumers on a node coupled to a pipelined system bus
US4737908A (en) Buffer memory control system
WO2001025941A1 (en) Multiprocessor computer systems with command fifo buffer at each target device
JP3039391B2 (ja) メモリシステム
EP0302926B1 (en) Control signal generation circuit for arithmetic and logic unit for digital processor
JPH0415496B2 (ja)
JPS63240651A (ja) キヤツシユメモリ
JPS635446A (ja) マイクロコンピユ−タシステム

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term