JPH09282228A - 主記憶制御装置 - Google Patents

主記憶制御装置

Info

Publication number
JPH09282228A
JPH09282228A JP8088199A JP8819996A JPH09282228A JP H09282228 A JPH09282228 A JP H09282228A JP 8088199 A JP8088199 A JP 8088199A JP 8819996 A JP8819996 A JP 8819996A JP H09282228 A JPH09282228 A JP H09282228A
Authority
JP
Japan
Prior art keywords
data
cpu
memory
buffer memory
read
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.)
Granted
Application number
JP8088199A
Other languages
English (en)
Other versions
JP3429948B2 (ja
Inventor
Yuji Sugaya
祐二 菅谷
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 JP08819996A priority Critical patent/JP3429948B2/ja
Priority to US08/832,256 priority patent/US6205517B1/en
Priority to DE19714681A priority patent/DE19714681B4/de
Publication of JPH09282228A publication Critical patent/JPH09282228A/ja
Application granted granted Critical
Publication of JP3429948B2 publication Critical patent/JP3429948B2/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/0848Partitioned cache, e.g. separate instruction and operand caches
    • 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/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【課題】スヌープ機能を有さないCPU内キャッシュメ
モリと主記憶装置との間のデータの一貫性を確保しつ
つ、DMA実行可能デバイス又はCPUからの主記憶装
置へのデータアクセスを高速化可能な主記憶制御装置を
実現する。 【解決手段】CPU1とDMAデバイス2はキャッシュメ
モリ1cへの格納が不可能なアドレス領域を共有し当該領
域へのデータを格納するリードバッファメモリ3a、3b、
ライトバッファメモリ4a,4bを設け、CPU1又はデバイ
ス2の共有する領域からの読み出しアクセス時に、アク
セスデータがバッファメモリ3a、3b内にある場合、バッ
ファメモリ3a,3b内のデータをCPU1又はデバイス2に
送る。アクセスデータがバッファメモリ3a,3b内に無い
場合、主記憶装置7からCPU1又はデバイス2が読み出
しアクセスアドレスと下位固定長ビットのみ異なるアド
レスのデータを読み出しエラー検出訂正しバッファメモ
リ3a,3bに格納する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、計算機システムに
おける主記憶装置を高速アクセス可能にする主記憶制御
装置に属する。
【0002】
【従来の技術】CPUの中には主記憶装置への高速アク
セスを狙いとして、内部に主記憶装置に記憶された内容
の一部を格納するキャッシュメモリを有するものがあ
る。このようなCPUにおいては、CPU以外のDMA
(Direct MemoryACCESS)可能なデ
バイスの主記憶装置へのアクセスを監視するスヌープ機
能によりキャッシュメモリと主記憶装置との間のデータ
の一貫性、つまり同一性を維持している。
【0003】しかし、キャッシュメモリを有するCPU
の中には、スヌープ機能を有しないものがある。特に、
世の中に数多く出回っている組込型のCPUでは、性能
向上のためキャッシュメモリを内蔵するが、コスト低減
のためにスヌープ機能を有しないものが多い。これらの
スヌープ機能を有さないCPUにおいては、キャッシュ
メモリと主記憶装置との間の記憶されたデータの一貫性
は、ソフトウェアにより確保している。
【0004】つまり、CPUには、ワークステーション
や高機能パーソナルコンピュータへの適用を目的とした
性能指向型CPUと家庭用ゲーム機や電子手帳等への適
用を目的とした組込型CPUの2種類がある。一般に、
性能指向型のCPUはメモリを共有する複数のCPUを
使用することにより性能を向上させるシステムへの適用
を考慮に入れ、他のCPU又は、DMAデバイスが主記
憶装置へアクセスしたことを監視するスヌープ機能を有
する。これにより、CPU内蔵のキャッシュメモリと主
記憶装置との間のデータの一貫性を確保している。
【0005】一方、組込型のCPUは組込の対象とする
機器の価格が高くないことから、コストパフォーマンス
を重視している。したがって、性能向上のためCPU内
にキャッシュメモリを内蔵するが、価格低減のためスヌ
ープ機能を有しないものが多い。組込型のCPUは、組
込の対象が多岐にわたるため、全CPUの出荷個数に対
する占める割合が高い。
【0006】
【発明が解決しようとする課題】ところで、上述したよ
うに、スヌープ機能を有しないキャッシュメモリ内蔵C
PUにおいては、キャッシュメモリと主記憶装置との間
のデータの一貫性は、ソフトウェアにより確保される
が、この方法には次の2つがある。 (1)キャッシュメモリを使用しないか、CPU以外の
DMA実行可能デバイスがアクセスする主記憶装置の記
憶領域を、CPUのキャッシュメモリへの格納が不可能
なアドレス領域に割り当る。
【0007】(2)DMA実行可能デバイスが、アクセ
スする領域をCPUのキャッシュメモリへの格納が可能
なアドレス領域に割り当てる。但し、DMA起動時にD
MA実行可能デバイスが書込アクセスする主記憶領域の
データがキャッシュメモリ内に存在する場合は、キャッ
シュメモリ内の当該データを無効化する。
【0008】ところが、上記(1)の方法では、主記憶
装置の全領域若しくはDMA実行可能デバイスがアクセ
スする領域へのCPUのアクセスは、直接主記憶装置へ
行われるため、キャッシュメモリへのアクセス時に比
べ、アクセス時間が大きくなる欠点がある。
【0009】また、上記(2)の方法では、DMA起動
時に主記憶装置への書込アクセスがある度に、キャッシ
ュメモリの内容が無効化される可能性がある。このた
め、キャッシュメモリの使用効率が悪くなりキャッシュ
メモリのヒット率が低下し、CPUの主記憶装置への平
均アクセス時間が低下する欠点がある。
【0010】本発明の目的は、これら従来技術の欠点を
解消し、キャッシュメモリを内蔵し、スヌープ機能を有
さないCPUと、DMA実行可能なディバイスとからの
主記憶装置へのアクセスを制御する主記憶制御装置にお
いて、キャッシュメモリと主記憶装置との間のデータの
一貫性を確保しつつ、主記憶装置へのデータアクセスを
高速化可能な主記憶制御装置を実現することである。
【0011】
【課題を解決するための手段】上記目的を達成するた
め、本発明は次のように構成される。主記憶手段と、キ
ャッシュメモリを内蔵するCPUと、主記憶手段に直接
メモリアクセス可能なアクセス可能デバイスとを有する
コンピュータシステムにおける主記憶手段へのデータア
クセスを制御する主記憶制御装置において、主記憶手段
の記憶領域であって、CPUのキャッシュメモリへの格
納が可能であり、アクセス可能デバイスのデータアクセ
スが禁止される第1のアドレス領域と、アクセス可能デ
バイスのデータアクセスが可能であり、CPUのキャッ
シュメモリへの格納が禁止された第2のアドレス領域
と、主記憶手段に格納されたデータを格納でき、CPU
又はアクセス可能デバイスからのデータアクセス要求に
従って、格納したデータを読み出し可能なリードバッフ
ァメモリと、CPU又はアクセス可能デバイスが、デー
タアクセス要求をした際に、アクセスするデータがリー
ドバッファメモリ内にある場合は、リードバッファメモ
リ内のデータを、アクセス要求したCPU又はアクセス
可能デバイスに送り、アクセスするデータがリードバッ
ファメモリ内に無い場合は、CPU又はアクセス可能デ
バイスがアクセス要求しているアドレスと下位の固定長
ビットのみが異なるアドレスのデータを、主記憶手段か
ら読み出し、リードバッファメモリに格納すると共に、
アクセス要求しているデータをCPU又はアクセス可能
デバイスに送る制御部とを備える。
【0012】上記構成により、アクセス可能デバイスが
書き込みアクセスする主記憶手段のデータは、第2のア
ドレス領域にあり、キャッシュメモリ内に存在しないた
め、キャッシュメモリと主記憶手段との間のデータの一
貫性を確保でき、アクセス可能手段のデータ書き込み時
に、キャッシュメモリ内データを無効化する必要が無
い。また、リードバッファメモリは、主記憶手段より高
速アクセスが可能である。したがって、CPU以外のデ
バイスであるアクセス可能デバイスの主記憶手段へのア
クセスを監視するスヌープ機能を有しないCPUであっ
ても、キャッシュメモリと主記憶手段とのデータの一貫
性が確保でき、かつ、データアクセス時間が短縮化でき
る。
【0013】好ましくは、上記主記憶制御装置におい
て、CPU又はアクセス可能デバイスが主記憶手段に書
き込み要求するデータを格納可能なライトバッファメモ
リを、さらに備え、制御部は、CPU又はアクセス可能
デバイスが書き込み要求するデータをライトバッファメ
モリに格納し、この格納したデータを主記憶手段に書き
込む。
【0014】また、好ましくは、上記データエラー検出
訂正手段を、さらに備え、制御部は、CPU又はアクセ
ス可能デバイスがデータアクセス要求をした際に、アク
セスするデータがリードバッファメモリ内に無い場合
は、主記憶手段からCPU又はアクセス可能デバイスが
アクセス要求しているアドレスと下位の固定長ビットの
みが異なるアドレスのデータを読み出し、データエラー
検出訂正手段により、読み出したデータに対し誤り検出
訂正を行った後、リードバッファメモリに格納するとと
もに、アクセス要求しているデータをCPU又はアクセ
ス可能デバイスに送る。
【0015】データエラー検出訂正されたデータがリー
ドバッファメモリに格納されているため、この格納され
たデータを、CPU又はアクセス可能デバイスが読み込
み要求した場合には、リードバッファメモリに格納され
たデータが読み込まれる。このデータは、既にエラー訂
正されているので、その時間だけ、データアクセス時間
を短縮化することができる。
【0016】また、好ましくは、上記主記憶制御装置に
おいて、CPU又はアクセス可能デバイスが主記憶手段
に書き込み要求するデータを格納可能なライトバッファ
メモリを、さらに備え、制御部は、CPU又はアクセス
可能デバイスが書き込み要求するデータをライトバッフ
ァメモリに格納し、この格納したデータをデータエラー
検出訂正手段により、チェックビットを生成し、この生
成したチェックビット及びライトバッファメモリ内のデ
ータを上記主記憶手段に書き込む。
【0017】また、好ましくは、上記主記憶制御装置に
おいて、リードバッファメモリは、複数個である。ま
た、好ましくは、上記主記憶制御装置において、上記ラ
イトバッファメモリは、複数個である。
【0018】
【発明の実施の形態】以下、本発明の実施の形態を添付
図面を用いて説明する。図1は、コンピュータシステム
における本発明の一実施形態である主記憶制御装置の全
体概略図である。図1において、1はCPUであり。こ
のCPU1は、キャッシュメモリ1cを有しており、ス
ヌープ機能は有していない。2はDMA実施可能なデバ
イス(アクセス可能デバイス)である。7は主記憶装置
であり、この主記憶装置7のアドレス領域のうち、CP
U1とDMAデバイス2とは、CPU1のキャッシュメ
モリ1cへの格納が不可能なアドレス領域を共有する。
その他の主記憶装置7のアドレス領域は、CPU1のキ
ャッシュメモリ1cへの格納が可能なアドレス領域に割
り当てられる。
【0019】3a、3bは、リードバッファメモリ、4
a、4bはライトバッファメモリであり、各バッファメ
モリは、ある一定量のデータを格納できるだけの容量を
持ち主記憶装置7よりも高速アクセス可能である。リー
ドバッファメモリ3a及び3b、ライトバッファメモリ
4a及び4bは、CPU1とDMAデバイス2とが共有
するアドレス領域の連続したアドレスのデータを格納す
る。
【0020】図1の例においては、リードバッファメモ
リとライトバッファメモリの、それぞれの個数は2個と
なっているが、1個又は2個以上の複数個とすることも
可能である。5は、ECC(エラー検出訂正)実行ユニ
ットであり、このECC実行ユニット5は、主記憶装置
7への書込データに対するチェックビットの生成と、主
記憶装置7からの読み出しデータの誤り検出訂正を行
う。
【0021】ところで、半導体の分野では、微細化技術
が著しく進展している。各種メモリ素子では、この微細
化技術の進展によりメモリ素子1個あたりの記憶容量が
増大する反面、記憶セル1個の占める体積の縮小による
蓄積電荷量の減少や、微小欠陥の発生確率の高まり、動
作の高速化に伴う電気的なノイズの印加等の外部要因に
より、データ中のエラービットの発生確率が高くなる。
【0022】メモリ装置に於けるデータの信頼性向上の
方法としては、ECC機構が知られている。ECC機構
では、拡張ハミングコードを用いてデータビットよりチ
ェックビットを生成し、データビットとチェックビット
をメモリ装置に書き込み、読み出し時にはメモリ装置か
ら読み出したデータビットとチェックビットよりシンド
ロームを生成し、このシンドロームより1ビットの誤り
訂正及び2ビットの誤り検出を行う。上述した誤り検出
訂正が、ECC実行ユニット(データエラー検出訂正手
段)5により実行されるものである。
【0023】6は制御部であり、CPU1、DMAデバ
イス2からのアドレス、制御信号をそれぞれアドレスバ
ス8及び制御線9を通して受け取り、その値を基にリー
ドバッファメモリ3a、3b、ライトバッファメモリ4
a、4b、ECC実行ユニット5、主記憶装置7をメモ
リアドレスバス11、メモリ制御線12、バッファ制御
線15を介して制御する。
【0024】また、CPU1及びDMAデバイス2と、
リードバッファメモリ3a、3b、ライトバッファメモ
リ4a、4bは、データバス10を介してデータの送受
信を行う。また、主記憶装置7とECC実行ユニット5
とはメモリデータバス13を介してデータの送受信を行
い、リードバッファメモリ3a、3b、ライトバッファ
メモリ4a、4bとECC実行ユニット5とはバッファ
データバス14を介してデータの送受信を行う。
【0025】図2は、主記憶装置7における記憶領域の
割当を示す図である。この実施形態においては、図2に
示すような主記憶装置7の記憶領域の割当により、CP
U1内のキャッシュメモリ1cと主記憶装置7との間の
記憶データの一貫性を確保する。
【0026】つまり、アドレス$0000から$XXX
Xまでは、CPU1内蔵のキャッシュメモリ1cへの格
納可能領域(第1のアドレス領域)であり、この領域は
CPU1の占有とする。そして、この占有空間にCPU
1の実行するプログラムを置くことにより、CPU1の
実行プログラムをキャッシュメモリ1cに格納可能と
し、キャッシュヒット時のプログラム実行時間を短縮す
ることが出来る。
【0027】また、アドレス$XXXX+1からアドレ
ス$YYYYまでの領域(第2のアドレス領域)は、C
PU1内蔵のキャッシュメモリ1cへの格納不可能領域
であり、この領域は、CPU1とDMAデバイス2との
共有空間である。DMAデバイス2が、主記憶装置7に
アクセスするのは、この領域のみであり、CPU1内蔵
のキャッシュメモリ1cに格納された、主記憶装置7の
格納データが、DMAデバイス2により書き換えられる
ことはないため、CPU1内蔵のキャッシュメモリ1c
と主記憶装置7との間のデータの一貫性を確保すること
が出来る。
【0028】しかし、アドレス$XXXX+1からアド
レス$YYYYまでの領域のデータは、キャッシュメモ
リ1c内に存在することはないため、CPU1がアドレ
ス$XXXX+1からアドレス$YYYYまでの領域の
データ参照する場合、主記憶装置7に直接アクセスする
ことになる。この場合は、キャッシュメモリ1cへアク
セスするよりもアクセス時間が大きくなる。
【0029】本発明では、リードバッファメモリ3a、
3b、ライトバッファメモリ4a、4bを用い、キャッ
シュメモリ1cの格納不可能領域に対するCPU1及び
DMAデバイス2のアクセス時間を短縮する構成となっ
ている。
【0030】図3は、制御部6の詳細図である。図3に
おいて、51a、51bはリードバッファアドレスレジ
スタであり、これらリードバッファアドレスレジスタ5
1a、51bは、リードバッファメモリ3a、3bに格
納されたデータのアドレス、リードバッファメモリ3
a、3bの内容の有効性を表す情報及びリードバッファ
メモリ3a、3bの使用の履歴情報を保持する。
【0031】また、52a、52bはライトバッファア
ドレスレジスタであり、これらライトバッファアドレス
レジスタ52a、52bは、ライトバッファメモリ4
a、4bに格納されたデータのアドレス、ライトバッフ
ァメモリ4a、4bの内容の有効性を表す情報及びライ
トバッファメモリ4a、4bの使用の履歴情報を保持す
る。
【0032】比較制御部53は、リードバッファアドレ
スレジスタ51a、51b、ライトバッファアドレスレ
ジスタ52a、52bに保持されたアドレスと、CPU
1及びDMAデバイス2のアドレスとを比較する。そし
て、比較制御部53は、上記比較結果と、CPU1及び
DMAデバイス2の制御信号、及びバッファメモリ内容
の有効性を表す情報とを基に、リードバッファメモリ3
a、3b、ライトバッファメモリ4a、4b、ECC実
行ユニット5、主記憶装置7の制御を行う。
【0033】図4は、本発明の一実施形態における主記
憶制御装置を用いて、CPU1又はDMAデバイス2が
主記憶装置7へのリードアクセスを行うときの動作フロ
ーチャートである。図4のステップ100において、比
較制御部6は、CPU1又はDMAデバイス2のリード
アクセスアドレスを基に、アクセスアドレスとリードバ
ッファアドレスレジスタにあるデータとを比較する。そ
して、ステップ101において、上記アクセスアドレス
のデータがリードバッファメモリにあるか否かを判断
し、アクセスアドレスのデータがリードバッファメモリ
にある場合、つまり、リードバッファメモリにヒットし
た場合には、ステップ102に進み、リードバッファメ
モリから、そのデータを直ちにデータをCPU1、DM
Aデバイス2に送る。
【0034】ステップ101において、リードバッファ
メモリにヒットしなかった場合は、ステップ103に進
み、比較制御部6は、上記アクセスアドレスのデータが
ライトバッファメモリにあるか否かを判断し、ヒットし
た場合には、ステップ104に進む。このステップ10
4において、ライトバッファメモリから、そのデータを
直ちにデータをCPU1、DMAデバイス2に送る。
【0035】ステップ103において、ライトバッファ
メモリにヒットしなかった場合は、ステップ105に進
み、比較制御部6は、リードバッファメモリの中で、使
用履歴が最も古いデータを選択する。次に、ステップ1
06において、比較制御部6は、主記憶装置7からリー
ドアクセスアドレスと下位の固定ビットのみが異なるア
ドレスのデータを読み出す。
【0036】続いて、ステップ107において、比較制
御部6は、ステップ106にて読み出したデータに対し
てECC実行ユニット5にエラー検出訂正を実行させ
る。そして、ステップ108において、比較制御部6
は、ECC実行後のデータを選択したリードバッファメ
モリに格納する。次に、比較制御部6は、ステップ10
8にてデータを格納したリードバッファメモリからその
データをCPU1、DMAデバイス2に送る。
【0037】リードバッファメモリ3a、3bは、主記
憶装置7よりも高速アクセス可能であるため、データの
アクセス時間が短縮される。また、リードバッフメモリ
3a、3bには、ECC実行ユニット5により誤り検出
訂正を実行したデータが格納されているため、再度、E
CC実行を行う必要が無く、ECC実行時間を省くこと
が出来る。
【0038】図5は、従来例に対応するリードアクセス
サイクル、つまり、リードバッファメモリが無い場合の
CPU1、DMAデバイス2のリードアクセスサイクル
を示す図である。また、図6は、リードバッファメモリ
がある場合、つまり、この実施形態における場合の、C
PU1、DMAデバイス2のリードアクセスサイクルを
示す図である。
【0039】図5では、CPU1、DMAデバイス2
は、主記憶装置7に直接リードアクセスするため、主記
憶装置7のリードアクセス時間とECC実行時間との和
が、主記憶装置へのアクセス時間となる。これに対し
て、図6では、CPU1、DMAデバイス2は、リード
バッファメモリ3a、3bにアクセスするためリードバ
ッファメモリ3a、3bへのアクセス時間が主記憶装置
7へのアクセス時間と等価となる。
【0040】主記憶装置7、リードバッファメモリ3
a、3bへのアクセス時間を、それぞれ60ns、10
ns、ECC実行時間を15nsとすると、図5、図6
を比較して、この実施形態によりリードアクセスにおけ
るデータアクセス時間を65ns短縮できる。
【0041】また、リードバッファメモリ3a、3bに
は連続したアドレスのデータが格納されているが、CP
U1のデータ参照は時間的空間的局所性があると共に、
DMAデバイス2による主記憶装置7へのアクセスは連
続したアドレスに対して行われるため、リードバッファ
メモリ3a、3bにヒットする確率は高い。
【0042】上述したように、リードバッファメモリ3
a、3bにアクセスアドレスのデータが無い場合、比較
制御部6にて、ライトバッファメモリ4a、4bにアク
セスアドレスのデータがあるかどうかを判断する。アク
セスアドレスのデータがライトバッファメモリ4a、4
bにある場合、ライトバッファメモリ4a、4bから直
ちにデータをCPU1、DMAデバイス2に送る。ライ
トバッファメモリ4a、4bには最新のデータが格納さ
れているためデータの一貫性に問題はない。
【0043】また、ライトバッファメモリ4a、4b
は、主記憶装置7よりも高速アクセス可能であるため、
データアクセス時間が短縮される。
【0044】図7は、ライトバッファメモリヒット時の
CPU1、DMAデバイス2のリードアクセスサイクル
を示す図である。図7では、CPU1、DMAデバイス
2は、ライトバッファメモリ4a、4bに直接アクセス
するため、ライトバッファメモリ4a、4bへのアクセ
ス時間がデータアクセス時間となる。
【0045】主記憶装置7、ライトバッファメモリ4
a、4bへのアクセス時間を、それぞれ60ns、10
ns、ECC実行時間を15nsとすると、図5と図7
との比較により、この実施形態により、リードアクセス
におけるデータアクセス時間を65ns短縮できる。
【0046】上述したように、ライトバッファメモリ4
a、4bにアクセスアドレスのデータが無い場合は、比
較制御部5にてリードバッファ3a、3bの中で使用履
歴の最も古いものを選択する。
【0047】そして、主記憶装置7からリードアクセス
アドレスと下位の固定長ビットのみが異なるアドレスの
データを読み出し、ECC実行ユニット5により誤り検
出訂正実施後、選択されたリードバッファメモリに格納
すると共にアクセスデータをCPU1又はDMAデバイ
ス2に送る。
【0048】この際、主記憶装置7に対しては、連続し
たアドレスへのリードアクセスとなるが、DRAM等で
は連続アクセスを高速に実行できるバーストモードを備
えているため、DRAMを主記憶装置7とする場合に
は、バーストモードを使用すれば、1回のリードアクセ
スを複数回実行するよりもデータアクセス時間を短くで
きる。
【0049】図8は、リードバッファメモリ、ライトバ
ッファメモリミスヒット時であって、CPU1、DMA
デバイス2のバーストモードを使用しないアクセスサイ
クルを示す図である。また、図9は、リードバッファメ
モリ、ライトバッファメモリミスヒット時であって、C
PU1、DMAデバイス2のバーストモードを使用した
アクセスサイクルを示す図である。
【0050】図8では、図5に示したアクセスサイクル
を4回繰り返している。図9では、バーストモード使用
により、一定間隔で連続してデータが読み出されてい
る。主記憶装置7のリードアクセス時間を、60ns、
バーストモードによるデータ読み出し間隔を10ns、
ECC実行時間を15nsとすると、図8と図9との比
較により、バーストモードを使用した場合には、リード
バッファメモリ、ライトバッファメモリミスヒット時の
リードアクセスにおけるデータアクセス時間を195n
s短縮できる。
【0051】リードバッファメモリ3aにCPU1のリ
ードアクセスデータがある場合の動作を図10に示し、
リードバッファメモリ3bにDMAデバイス2のリード
アクセスデータがある場合の動作を図11に示す。
【0052】CPU1からのリードアクセスとDMAデ
バイス2からのリードアクセスが交互にあり、それぞれ
異なる領域の連続したアドレスへのアクセスを行う場
合、リードバッファメモリが1つの場合は、その度毎に
リードバッファメモリがミスヒットとなり、リードアク
セスアドレスと下位の固定長ビットのみが異なるアドレ
スのデータを主記憶装置7から読み出して格納すること
になる。このため、このような場合には、同じデータを
複数回読み出してくることになり、リードバッファメモ
リを用いた効果がでない。
【0053】これに対して、リードバッファメモリを、
この実施形態のように2つ又はそれ以上の複数個設けれ
ば、CPU1のリードアクセスアドレスと下位の固定長
ビットのみが異なるアドレスのデータとDMAデバイス
2のリードアクセスアドレスと下位の固定長ビットのみ
が異なるアドレスのデータを別々のリードバッファメモ
リに格納することが出来るため、図10に示した動作と
図11に示した動作を交互に行うことが出来る。これに
より、データのアクセス時間を短縮することが出来る。
【0054】ライトバッファメモリ4aにCPU1のリ
ードアクセスデータがある場合の動作を図12に示す。
また、リードバッファメモリ3a、3b及びライトバッ
ファメモリ4a、4bにCPU1のリードアクセスデー
タが無い場合の動作を図13に示す。
【0055】図13では、使用履歴が最も古いリードバ
ッファメモリとして3aが選択され、主記憶装置7から
読み出されてECC実行ユニット5により誤り検出訂正
が実施されたCPU1のアクセスアドレスと下位の固定
長ビットのみが異なるアドレスのデータが格納される。
【0056】図14は、この実施形態における主記憶制
御装置を用いて、CPU1又はDMAデバイス2が主記
憶装置7へのライトアクセスを行うときの動作フローチ
ャートである。図14のステップ200において、比較
制御部6は、CPU1又はDMAデバイス2のライトア
クセスの要求があることを判定する。次に、ステップ2
01において、ライトアクセスアドレスのデータがリー
ドバッファにあるかどうかを判断し、アクセスアドレス
のデータがリードバッファにある場合、CPU1又はD
MAデバイス2のライトデータとリードバッファ内のラ
イトアクセスアドレスのデータの一貫性がとれなくなる
ためリードバッファメモリ内の当該データを無効化す
る。
【0057】次に、ステップ202において、比較制御
部6は、ライトアクセスアドレスのと下位の固定長ビッ
トのみが異なるアドレスのデータを保持するライトバッ
ファメモリが存在するかどうか確認する。存在すれば、
ステップ203に進み、当該ライトバッファメモリに、
CPU1又はDMAデバイス2のライトデータを書き込
む。そして、ステップ204において、当該ライトバッ
ファメモリが記憶容量一杯となると、一括してその記憶
データを主記憶装置7に書き込む。
【0058】ステップ202において、ライトアクセス
アドレスのと下位の固定長ビットのみが異なるアドレス
のデータを保持するライトバッファメモリが存在しない
場合には、ステップ205に進む。そして、このステッ
プ205において、比較制御部6は、全てのライトバッ
ファメモリが使用されているか否かを判断し、空のライ
トバッファメモリがあれば、ステップ206にてその空
のライトバッファメモリにライトデータを書き込む。
【0059】ステップ205において、全てのライトバ
ッファメモリが使用されている場合には、ステップ20
7に進む。そして、このステップ207において、比較
制御部6は、使用履歴の最も古いライトバッファメモリ
の記憶内容を一括して主記憶装置7に書き込む。続い
て、ステップ208において、記憶内容が主記憶装置7
に書き込まれ、空となったライトバッファメモリにライ
トデータが書き込まれる。ライトバッファメモリは、主
記憶装置7よりも高速アクセスが可能であるため、デー
タアクセス時間が短縮される。
【0060】図15は、ライトバッファメモリが無い場
合のCPU1、DMAデバイス2のライトアクセスサイ
クルを示す図である。また、図16は、ライトバッファ
メモリが有る場合のCPU1、DMAデバイス2のライ
トアクセスサイクルを示す図である。
【0061】図15では、CPU1、DMAデバイス2
は、主記憶装置7に直接ライトアクセスするため、主記
憶装置7のライトアクセス時間とECC実行時間の和が
データアクセス時間となる。これに対して、図16で
は、CPU1、DMAデバイス2は、ライトバッファメ
モリにアクセスするためライトバッファメモリのアクセ
ス時間がデータアクセス時間となる。
【0062】主記憶装置7のライトアクセス時間とEC
C実行時間との和、ライトバッファメモリのアクセス時
間をそれぞれ45ns、10nsとすると、図15と図
16との比較から、この実施形態によりリードアクセス
におけるデータアクセス時間を30ns短縮できること
が解る。
【0063】上述したように、CPU1又はDMAデバ
イス2のライトデータの書込によりライトバッファメモ
リが一杯になった場合、ライトバッファメモリの内容を
主記憶装置7に一括して書き込む。この際、主記憶装置
7に対しては連続したアドレスへのライトアクセスする
場合があるが、DRAM等では連続アクセスを高速に実
行できるバーストモードを備えているため、バーストモ
ードを使用すれば、1回のライトアクセスを複数回実行
するよりもデータアクセス時間を短くすることができ
る。
【0064】図17は、バーストモードを使用しない場
合のライトバッファメモリから主記憶装置7へのライト
サイクルを示す図である。また、図18は、バーストモ
ードを使用する場合のライトバッファメモリから主記憶
装置7へのライトサイクルを示す図である。
【0065】図17では、図15に示したのアクセスを
4回繰り返している。これに対して、図18では、バー
ストモード使用により一定間隔で連続してデータが書き
込まれている。主記憶装置7のライトアクセス時間とE
CC実行時間との和をそれぞれ45ns、バーストモー
ドによるデータ書き込み間隔を10nsとすると、図1
7と図18との比較から、この実施形態によりライトバ
ッファメモリが一杯になった際のライトアクセスにおけ
るデータアクセス時間を105ns短縮できる。
【0066】CPU1のデータ書込は時間的空間的局所
性があると共に、DMAデバイス2による主記憶装置7
へのアクセスは連続したアドレスに対して行われるた
め、ライトバッファメモリに格納されたデータのアドレ
スが連続になる確率は高い。
【0067】上述したように、ライトアクセスアドレス
の下位の固定長ビットのみが異なるアドレスのデータを
保持するライトバッファメモリが存在しない場合、制御
部5により全てのライトバッファメモリが使用されてい
るかどうか判断する。
【0068】そして、空のライトバッファメモリが存在
する場合、当該ライトバッファメモリにライトデータを
書き込む。ライトバッファメモリは主記憶装置7よりも
高速アクセスが可能であるため、データアクセス時間が
短縮される。
【0069】また、全てのライトバッファメモリが使用
されている場合、CPU1又はDMAデバイス2のライ
トデータを書き込むライトバッファメモリが存在しない
ため、使用履歴の最も古いライトバッファメモリの内容
を一括して主記憶装置7に書き込み、当該ライトバッフ
ァメモリを空として、ライトデータを書き込む。
【0070】ライトアクセスアドレスのと下位の固定長
ビットのみが異なるアドレスのアドレスのデータを保持
するライトバッファメモリが存在する場合もしくは空の
ライトバッファメモリが存在する場合の動作を図19及
び図20に示す。
【0071】図19は、CPU1からの主記憶装置7へ
のライトアクセスであり、ライトバッファメモリ4aが
ライトアクセスアドレスと下位の固定長ビットのみが異
なるアドレスのデータを保持しているか、ライトバッフ
ァメモリ4aが空の場合である。
【0072】図20は、DMAデバイス2からの主記憶
装置7へのライトアクセスであり、ライトバッファメモ
リ4bがライトアクセスアドレスと下位の固定長ビット
のみが異なるアドレスのデータを保持しているか、ライ
トバッファメモリ4bが空の場合である。
【0073】データ書き込みによりライトバッファメモ
リが一杯になった場合、もしくはライトデータ書き込み
の際に、全てのライトバッファメモリが使用されている
場合の動作を図21に示す。
【0074】図21において、ライトバッファメモリ4
aは書き込みにより一杯になったライトバッファメモリ
であるか、全てのライトバッファメモリが使用されてい
る際に使用履歴が最も古いライトバッファメモリであ
る。ライトバッファメモリ4aの内容を一括して主記憶
装置7に書き込むことにより、ライトバッファメモリ4
aを空にする。
【0075】図22は、本発明の主記憶制御装置を適用
したコントローラを血液自動分析装置に組み込んだ場合
の概略構成図である。血液自動分析装置は、H/D(ハ
ードディスク)300を有する1台のコア部200aと
複数台の分析部200b、・・・200cからなり、イ
ーサネット400により互いに接続されている。
【0076】コア部200aに接続されたH/D300
は、各分析部200b,200cから送られてくるデー
タの格納に用いられる。コア部200aはイーサネット
400を介して送られる分析部200b,200cから
のコマンド,データを受け取り、H/D300へのデー
タの格納および、H/D300内データを基にした計算
等の処理を行い、分析部200b,200cに応答を返
す。
【0077】一方、分析部200b、・・・200c
は、コア部200aに対してコマンドを発行した後は、
コア部200aからの応答を待ち、応答の結果に従って
次の動作を行う。従って、イーサネット400を介して
のデータの送受信の速度とコア部200aのコマンド処
理の速度が向上すれば、分析部200b、・・・200
cのスループット向上につながる。
【0078】コア部200aと分析部200b、・・・
200cは、各々、本発明の主記憶制御装置を適用した
コントローラ100a、100b、・・・100cを組
み込んでいる。図22では、各コントローラ100a、
100b、・・・100cはイーサネットコントローラ
2AとSCSIコントローラ2Bとの2つのDMAデバ
イスを有する。
【0079】イーサネットコントローラ2Aが、イーサ
ネット400を介したコマンド、データの送受信の制御
を行い、SCSIコントローラ2Bが、H/D300の
アクセス制御を行う。コマンドの処理を行うCPU1
は、イーサネット400及びH/D300と直接データ
のやり取りはしない。CPU1とイーサネットコントロ
ーラ2A及びSCSIコントローラ2Bが主記憶装置7
のキャッシュメモリ格納不可能な領域を媒介として、デ
ータのやり取りを行うことにより、CPU1とイーサネ
ット400及びH/D300の間のデータのやり取りを
行う。
【0080】本発明によれば、CPU1とイーサネット
コントローラ2A及びSCSIコントローラ2Bが共有
する主記憶装置7のアクセス速度を向上させることが出
来る。これにより、CPU1とイーサネット400との
間のデータのやり取り、CPU1とH/D300との間
のデータのやり取りの速度を向上させることが出来る。
【0081】この結果、血液自動分析装置において、コ
ア部200aにおける分析部200b、・・・200c
からのコマンドに対する応答を速くすることが出来、分
析部200b、・・・200cのスループットを向上さ
せることが出来る。
【0082】
【発明の効果】本発明は、以上説明したように構成され
ているため、次のような効果がある。CPUとDMAデ
バイスは、CPUへのキャッシュメモリへの格納が不可
能なアドレス領域を共有する。その他の主記憶装置の記
憶領域はキャッシュメモリに一部内容が格納されている
ため、キャッシュメモリヒット時の主記憶装置へのアク
セス時間が速くなる。DMA実行可能デバイスが書込ア
クセスする主記憶装置の記憶領域のデータは、キャッシ
ュメモリ内に存在しないため、キャッシュメモリと主記
憶装置との間のデータの一貫性を確保でき、DMA起動
時にキャッシュメモリ内データを無効化する必要が無
い。このため、スヌープ機能を有していないCPUであ
っても、キャッシュの使用効率が向上するとともにキャ
ッシュのヒット率が向上し、平均データアクセス時間が
速くなる。
【0083】CPUとDMAデバイスが共有する主記憶
装置の記憶領域のデータは、その一部が主記憶装置より
高速アクセスが可能なリードバッファメモリ、ライトバ
ッファメモリに格納される。リードバッファメモリには
連続したアドレスのデータが格納され、CPUのデータ
アクセスには時間的空間的局所性があり、DMAデバイ
スの主記憶装置へのアクセスは連続したアドレスへのア
クセスである。
【0084】このため、CPUとDMAデバイスが共有
する主記憶装置の記憶領域へのアクセスはリードバッフ
ァメモリにヒットする確率が高く、平均データアクセス
時間が速くなる。
【0085】また、上記理由によりライトバッファメモ
リに書き込まれるデータのアドレスは連続している確率
が高く、主記憶装置とリードバッファメモリ、ライトバ
ッファメモリの間のデータ転送を高速なバースト転送に
より行うことにより、主記憶装置の平均データアクセス
時間が速くなる。
【0086】また、ECC実行ユニットにより主記憶装
置のデータに対しECCを実行するため、データを高信
頼に保つことが出来ると共に、ECC実行後のデータを
リードバッファメモリに格納しておくため、リードバッ
ファメモリヒット時はECC実行時間を削減でき、デー
タアクセス時間を、より高速化することができる。
【0087】また、リードバッファメモリを、複数個設
ける構成とすると、CPU1のリードアクセスアドレス
と下位の固定長ビットのみが異なるアドレスのデータと
DMAデバイス2のリードアクセスアドレスと下位の固
定長ビットのみが異なるアドレスのデータとを別々のリ
ードバッファメモリに格納することが出来る。
【0088】したがって、CPU1からのリードアクセ
スとDMAデバイス2からのリードアクセスが交互にあ
り、それぞれ異なる領域の連続したアドレスへのアクセ
スを行う場合、これらの動作を交互に行うことが出来、
データのアクセス時間を、短縮化することが出来る。
【図面の簡単な説明】
【図1】本発明の一実施形態の全体概略図である。
【図2】本発明の一実施形態における主記憶装置の記憶
領域の割当を示す図である。
【図3】図1に示した制御部の詳細構成図である。
【図4】CPU又はDMAデバイスの主記憶装置へのリ
ードアクセス時の動作フローチャートである。
【図5】リードバッファメモリが無い場合のCPU、D
MAデバイスのリードアクセスサイクルを示す図であ
る。
【図6】リードバッファメモリが有る場合のCPU、D
MAデバイスのリードアクセスサイクルを示す図であ
る。
【図7】ライトバッファメモリヒット時のCPU、DM
Aデバイスのリードアクセスサイクルを示す図である。
【図8】リードバッファメモリ、ライトバッファメモリ
ミスヒット時のCPU、DMAデバイスのバーストモー
ドを使用しないリードアクセスサイクルを示す図であ
る。
【図9】リードバッファメモリ、ライトバッファメモリ
ミスヒット時のCPU、DMAデバイスのバーストモー
ドを使用したリードアクセスサイクルを示す図である。
【図10】リードバッファメモリにCPUのリードアク
セスデータがある場合の動作を示す図である。
【図11】リードバッファメモリにDMAデバイスのリ
ードアクセスデータがある場合の動作を示す図である。
【図12】ライトバッファメモリにCPUのリードアク
セスデータがある場合の動作を示す図である。
【図13】リードバッファメモリ及びライトバッファメ
モリにCPUのリードアクセスデータが無い場合の動作
でを示す図である。
【図14】CPU又はDMAデバイスの主記憶装置への
ライトアクセス時の動作フローチャートである。
【図15】ライトバッファメモリが無い場合のCPU、
DMAデバイスのライトアクセスサイクルを示す図であ
る。
【図16】ライトバッファメモリが有る場合のCPU、
DMAデバイスのライトアクセスサイクルを示す図であ
る。
【図17】バーストモードを使用しないライトバッファ
メモリから主記憶装置へのライトアクセスサイクルを示
す図である。
【図18】バーストモードを使用したライトバッファメ
モリから主記憶装置へのライトアクセスサイクルを示す
図である。
【図19】CPUからのライトバッファメモリへの書き
込み動作を示す図である。
【図20】DMAデバイスからのライトバッファメモリ
への書き込み動作を表す図である。
【図21】ライトバッファメモリから主記憶装置への書
き込み動作を表す図である。
【図22】本発明の主記憶制御装置を適用したコントロ
ーラを組み込んだ血液自動分析装置の概略構成図であ
る。
【符号の説明】
1 スヌープ機能を有さないキャッシュメモリ内蔵CP
U 1c キャッシュメモリ 2、2A、2B DMA実施可能なデバイス 3a、3b リードバッファメモリ 4a、4b ライトバッファメモリ 5 ECC実行ユニット 6 制御部 7 主記憶装置 8 アドレスバス 9 制御線 10 データバス 11 メモリアドレスバス 12 メモリ制御線 13 メモリデータバス 14 バッファデータバス 15 バッファ制御線 51a、51b リードバッファアドレスレジスタ 52a、52b ライトバッファアドレスレジスタ 53 比較制御部 100a、100b、100c コントローラ 200a 血液自動分析装置コア部 200b、200c 血液自動分析装置分析部 300 H/D 400 イーサネット

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】主記憶手段と、キャッシュメモリを内蔵す
    るCPUと、主記憶手段に直接メモリアクセス可能なア
    クセス可能デバイスとを有するコンピュータシステムに
    おける上記主記憶手段へのデータアクセスを制御する主
    記憶制御装置において、 上記主記憶手段の記憶領域であって、上記CPUのキャ
    ッシュメモリへの格納が可能であり、上記アクセス可能
    デバイスのデータアクセスが禁止される第1のアドレス
    領域と、上記アクセス可能デバイスのデータアクセスが
    可能であり、上記CPUのキャッシュメモリへの格納が
    禁止された第2のアドレス領域と、 上記主記憶手段に格納されたデータを格納でき、上記C
    PU又はアクセス可能デバイスからのデータアクセス要
    求に従って、格納したデータを読み出し可能なリードバ
    ッファメモリと、 上記CPU又はアクセス可能デバイスが、データアクセ
    ス要求をした際に、アクセスするデータが上記リードバ
    ッファメモリ内にある場合は、リードバッファメモリ内
    のデータを、アクセス要求した上記CPU又はアクセス
    可能デバイスに送り、アクセスするデータが上記リード
    バッファメモリ内に無い場合は、上記CPU又はアクセ
    ス可能デバイスがアクセス要求しているアドレスと下位
    の固定長ビットのみが異なるアドレスのデータを、上記
    主記憶手段から読み出し、上記リードバッファメモリに
    格納すると共に、アクセス要求しているデータをCPU
    又はアクセス可能デバイスに送る制御部と、 を備えることを特徴とする主記憶制御装置。
  2. 【請求項2】請求項1記載の主記憶制御装置において、
    上記リードバッファメモリは、複数個であることを特徴
    とする主記憶制御装置。
  3. 【請求項3】請求項1又は2記載の主記憶制御装置にお
    いて、上記CPU又はアクセス可能デバイスが上記主記
    憶手段に書き込み要求するデータを格納可能なライトバ
    ッファメモリを、さらに備え、上記制御部は、CPU又
    はアクセス可能デバイスが書き込み要求するデータを上
    記ライトバッファメモリに格納し、この格納したデータ
    を主記憶手段に書き込むことを特徴とする主記憶制御装
    置。
  4. 【請求項4】請求項3記載の主記憶制御装置において、
    上記ライトバッファメモリは、複数個であることを特徴
    とする主記憶制御装置。
  5. 【請求項5】請求項1記載の主記憶制御装置において、
    データエラー検出訂正手段を、さらに備え、上記制御部
    は、CPU又はアクセス可能デバイスがデータアクセス
    要求をした際に、アクセスするデータが上記リードバッ
    ファメモリ内に無い場合は、上記主記憶手段からCPU
    又はアクセス可能デバイスがアクセス要求しているアド
    レスと下位の固定長ビットのみが異なるアドレスのデー
    タを読み出し、上記データエラー検出訂正手段により、
    読み出したデータに対し誤り検出訂正を行った後、リー
    ドバッファメモリに格納するとともに、アクセス要求し
    ているデータを上記CPU又はアクセス可能デバイスに
    送ることを特徴とする主記憶制御装置。
  6. 【請求項6】請求項5記載の主記憶制御装置において、
    上記リードバッファメモリは、複数個であることを特徴
    とする主記憶制御装置。
  7. 【請求項7】請求項5又は6記載の主記憶制御装置にお
    いて、上記CPU又はアクセス可能デバイスが上記主記
    憶手段に書き込み要求するデータを格納可能なライトバ
    ッファメモリを、さらに備え、上記制御部は、CPU又
    はアクセス可能デバイスが書き込み要求するデータを上
    記ライトバッファメモリに格納し、この格納したデータ
    を上記データエラー検出訂正手段により、チェックビッ
    トを生成し、この生成したチェックビット及びライトバ
    ッファメモリ内のデータを上記主記憶手段に書き込むこ
    とを特徴とする主記憶制御装置。
  8. 【請求項8】請求項7記載の主記憶制御装置において、
    上記ライトバッファメモリは、複数個であることを特徴
    とする主記憶制御装置。
JP08819996A 1996-04-10 1996-04-10 組込み型cpu用制御装置 Expired - Lifetime JP3429948B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP08819996A JP3429948B2 (ja) 1996-04-10 1996-04-10 組込み型cpu用制御装置
US08/832,256 US6205517B1 (en) 1996-04-10 1997-04-03 Main memory control apparatus for use in a memory having non-cacheable address space allocated to DMA accesses
DE19714681A DE19714681B4 (de) 1996-04-10 1997-04-09 Speichersteuergerät

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08819996A JP3429948B2 (ja) 1996-04-10 1996-04-10 組込み型cpu用制御装置

Publications (2)

Publication Number Publication Date
JPH09282228A true JPH09282228A (ja) 1997-10-31
JP3429948B2 JP3429948B2 (ja) 2003-07-28

Family

ID=13936238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08819996A Expired - Lifetime JP3429948B2 (ja) 1996-04-10 1996-04-10 組込み型cpu用制御装置

Country Status (3)

Country Link
US (1) US6205517B1 (ja)
JP (1) JP3429948B2 (ja)
DE (1) DE19714681B4 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030022493A (ko) * 2001-09-10 2003-03-17 주식회사 텔루션 통신 시스템의 메모리 억세스 장치
WO2010032433A1 (ja) * 2008-09-18 2010-03-25 パナソニック株式会社 バッファメモリ装置、メモリシステム及びデータ読出方法
US8375257B2 (en) 2007-08-21 2013-02-12 Samsung Electronics Co., Ltd. ECC control circuits, multi-channel memory systems including the same, and related methods of operation

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2331379A (en) * 1997-11-13 1999-05-19 Advanced Telecommunications Mo Controlling access to a shared memory by dual mapping
JP2001188748A (ja) * 1999-12-27 2001-07-10 Matsushita Electric Ind Co Ltd データ転送装置
US6892279B2 (en) 2000-11-30 2005-05-10 Mosaid Technologies Incorporated Method and apparatus for accelerating retrieval of data from a memory system with cache by reducing latency
US6587920B2 (en) 2000-11-30 2003-07-01 Mosaid Technologies Incorporated Method and apparatus for reducing latency in a memory system
US7032071B2 (en) * 2002-05-21 2006-04-18 Sun Microsystems, Inc. Method, system, and program for using buffers to provide property value information for a device
US8751753B1 (en) 2003-04-09 2014-06-10 Guillermo J. Rozas Coherence de-coupling buffer
US7636815B1 (en) * 2003-04-09 2009-12-22 Klaiber Alexander C System and method for handling direct memory accesses
US20050038946A1 (en) * 2003-08-12 2005-02-17 Tadpole Computer, Inc. System and method using a high speed interface in a system having co-processors
TWI277872B (en) * 2004-10-19 2007-04-01 Via Tech Inc Method and related apparatus for internal data accessing of computer system
US7971002B1 (en) 2005-04-07 2011-06-28 Guillermo Rozas Maintaining instruction coherency in a translation-based computer system architecture
US20080086594A1 (en) * 2006-10-10 2008-04-10 P.A. Semi, Inc. Uncacheable load merging
JP2009230201A (ja) * 2008-03-19 2009-10-08 Nec Electronics Corp Usbコントローラ、及びバッファメモリ制御方法
US9158691B2 (en) 2012-12-14 2015-10-13 Apple Inc. Cross dependency checking logic
WO2017111891A1 (en) * 2015-12-21 2017-06-29 Hewlett Packard Enterprise Development Lp Caching io requests

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317718A (en) * 1990-03-27 1994-05-31 Digital Equipment Corporation Data processing system and method with prefetch buffers
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
US5263142A (en) 1990-04-12 1993-11-16 Sun Microsystems, Inc. Input/output cache with mapped pages allocated for caching direct (virtual) memory access input/output data based on type of I/O devices
GB2260628A (en) * 1991-10-11 1993-04-21 Intel Corp Line buffer for cache memory
US5283883A (en) * 1991-10-17 1994-02-01 Sun Microsystems, Inc. Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput
US5659713A (en) * 1992-04-24 1997-08-19 Digital Equipment Corporation Memory stream buffer with variable-size prefetch depending on memory interleaving configuration
US5603007A (en) * 1994-03-14 1997-02-11 Apple Computer, Inc. Methods and apparatus for controlling back-to-back burst reads in a cache system
WO1995025310A1 (en) * 1994-03-14 1995-09-21 Apple Computer, Inc. A peripheral processor card for upgrading a computer

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030022493A (ko) * 2001-09-10 2003-03-17 주식회사 텔루션 통신 시스템의 메모리 억세스 장치
US8375257B2 (en) 2007-08-21 2013-02-12 Samsung Electronics Co., Ltd. ECC control circuits, multi-channel memory systems including the same, and related methods of operation
KR101425957B1 (ko) * 2007-08-21 2014-08-06 삼성전자주식회사 이씨씨 제어 회로 및 그것을 포함하는 멀티채널 메모리시스템
TWI476778B (zh) * 2007-08-21 2015-03-11 Samsung Electronics Co Ltd Ecc控制電路、包含該電路的多通道記憶體系統以及相關操作方法
WO2010032433A1 (ja) * 2008-09-18 2010-03-25 パナソニック株式会社 バッファメモリ装置、メモリシステム及びデータ読出方法

Also Published As

Publication number Publication date
US6205517B1 (en) 2001-03-20
JP3429948B2 (ja) 2003-07-28
DE19714681A1 (de) 1997-10-30
DE19714681B4 (de) 2009-10-15

Similar Documents

Publication Publication Date Title
JP3429948B2 (ja) 組込み型cpu用制御装置
CA1322611C (en) Memory control unit
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
EP0434250B1 (en) Apparatus and method for reducing interference in two-level cache memories
CN103201725B (zh) 用于在多个处理器之间共享的存储器的存储器访问设备
US11500797B2 (en) Computer memory expansion device and method of operation
US20090070526A1 (en) Using explicit disk block cacheability attributes to enhance i/o caching efficiency
US5226150A (en) Apparatus for suppressing an error report from an address for which an error has already been reported
US20050114559A1 (en) Method for efficiently processing DMA transactions
US8082396B2 (en) Selecting a command to send to memory
US5499353A (en) Cache address strobe control logic for stimulated bus cycle initiation
CN109582214B (zh) 数据访问方法以及计算机系统
US11379381B2 (en) Main memory device having heterogeneous memories, computer system including the same, and data management method thereof
US9454451B2 (en) Apparatus and method for performing data scrubbing on a memory device
JP2007524904A (ja) 動的プリフェッチ・バッファ構成および置換のための方法および装置
US20220245066A1 (en) Memory system including heterogeneous memories, computer system including the memory system, and data management method thereof
US20210382661A1 (en) Signalling for heterogeneous memory systems
US6321302B1 (en) Stream read buffer for efficient interface with block oriented devices
CN117389914B (zh) 缓存系统、缓存写回方法、片上系统及电子设备
JPH09146836A (ja) キャッシュ索引の障害訂正装置
CN107783909B (zh) 一种内存地址总线扩展方法及装置
US5809534A (en) Performing a write cycle to memory in a multi-processor system
JP3564343B2 (ja) キャッシュバイパス時のデータ転送装置と方法
JPH09319657A (ja) 命令読み込み用バッファを備えたプロセッサ
US6141735A (en) Performing a memory access cycle in a multi-processor computer system

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080516

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080516

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090516

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100516

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130516

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130516

Year of fee payment: 10

EXPY Cancellation because of completion of term