JP3886189B2 - バースト可でキャッシュ不可のメモリアクセスを支援するマイクロプロセッサ装置 - Google Patents
バースト可でキャッシュ不可のメモリアクセスを支援するマイクロプロセッサ装置 Download PDFInfo
- Publication number
- JP3886189B2 JP3886189B2 JP33713296A JP33713296A JP3886189B2 JP 3886189 B2 JP3886189 B2 JP 3886189B2 JP 33713296 A JP33713296 A JP 33713296A JP 33713296 A JP33713296 A JP 33713296A JP 3886189 B2 JP3886189 B2 JP 3886189B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- microprocessor
- access
- bus
- cache
- 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 - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims description 309
- 238000012545 processing Methods 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 20
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000013507 mapping Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 239000004020 conductor Substances 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- WABPQHHGFIMREM-UHFFFAOYSA-N lead(0) Chemical compound [Pb] WABPQHHGFIMREM-UHFFFAOYSA-N 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing 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)
Description
【発明の属する技術分野】
この発明はマイクロプロセッサを用いたデータ処理装置の分野に関し、より特定すると、メモリバッファ管理方式に関する。
【0002】
【従来の技術】
現在の高性能のデータ処理装置は、中央処理装置(CPU)として単一チップのマイクロプロセッサを用い、主メモリとして半導体ランダムアクセスメモリ(RAM)を用いて実現している。主メモリは一般にダイナミックRAM(DRAM)で実現しており、密度が高くビット当たりの価格は低い。しかし従来のDRAMのアクセス時間とサイクル時間は比較的遅く、最新のマイクロプロセッサのクロック速度に追いつくことができない。
【0003】
従来のマイクロプロセッサを用いたデータ処理装置は、主メモリのアクセス速度の限界を克服しかつ高密度で低価格のDRAMを得るために、キャッシュメモリを用いている。キャッシュメモリは一般に高速のスタティックRAM(SRAM)の小さなブロックであって、マイクロプロセッサと同じチップ上かまたはチップ外(またはその両方)にあり、近い将来アクセスする可能性のあるメモリ位置の内容を記憶する。一般にキャッシュメモリは、最近アクセスしたメモリ位置の近くのメモリ位置の内容を記憶する。マイクロプロセッサはメモリに逐次にアクセスすることが多いので、逐次のサイクルで行う逐次のメモリアクセスは、メモリ空間内の互いにごく近くのメモリアドレスにアクセスする。したがって、隣のメモリ位置の内容をキャッシュ内に記憶すれば、マイクロプロセッサから主メモリの代わりにキャッシュメモリにアクセスすることにより、メモリのかなりの部分にアクセスすることができる。このように、キャッシュメモリを用いることにより、装置全体の性能が向上する。最近のマイクロプロセッサの中には多レベルのキャッシュメモリを備えているものがあり、レベルが上がるに従ってキャッシュメモリの容量が増加し(速度は減少する)、性能が最適になる。キャッシュメモリを巧みに設計し利用することにより、主DRAMメモリへのアクセスをできるだけ減らして、装置の性能を大きく向上させることができる。
【0004】
マイクロプロセッサを用いた装置のメモリアクセス性能を向上させる別の方法は、通常「バースト」アクセスサイクルと呼ぶ、特殊なメモリアクセスサイクルを用いることである。バーストメモリアクセスサイクルは、メモリ装置の動作において、一連のメモリ位置にアクセスするのに用いる。一般に、バーストアクセスはマイクロプロセッサと主メモリの間に置いたメモリコントローラチップにより行い、マイクロプロセッサが与えるアドレス情報と制御信号に応じて動作する。バーストサイクルはメモリアクセスの性能を向上させるのに非常に効果がある。たとえば8バイトのバスを持つ最近の装置では、最高のキャッシュを用いた場合には、わずか5バスサイクル(2−1−1−1)で単一のメモリアドレスを与えることにより、1バーストサイクルで32バイトのメモリにアクセスすることができる。またバスサイクルシーケンス8−3−3−3(全体で17バスサイクル)で32バイトのアクセスを行うページモードDRAMを用いることにより、また最高の場合はバスサイクルシーケンス6−1−1−1(全体で9バスサイクル)で32バイトのバーストアクセスを行う早期データ出力(Early Data Out)(EDO)および同期DRAMなどの特殊なDRAM機能を用いることにより、バーストアクセスは非常に効率的になる。非バーストの場合に比べるとこれは格段の進歩である。非バーストで、8度の別個の4バイト読み出し(非バーストアクセスは一般に4バイトより長くないので)を1グループとしてアクセスすると、32バイト線にアクセスするのに64サイクル必要である。このように、バーストモードメモリアクセスは非バーストサイクルに比べて一般に2倍から6倍速い。
【0005】
いわゆる「ペンティアム級」のマイクロプロセッサ(インテルコーポレーションが発売しているPENTIUMマイクロプロセッサと互換性のある機能と命令セットを持つマイクロプロセッサ)などの、よく知られた「x86」構造を用いたマイクロプロセッサでは、バーストメモリアクセスはキャッシュ動作にリンクしている。言い換えると、x86構造のマイクロプロセッサのバーストメモリ動作は、キャッシュ書込(cache line fill) 動作(メモリから読み出す)およびキャッシュからメモリへの書込(write-back)動作(メモリに書き込む)に関してだけ行う。これらのマイクロプロセッサをキャッシュ構造にしてほとんどのデータおよび命令の検索をキャッシュメモリにより行う場合、キャッシュ動作にバーストメモリアクセスを行えば性能は極めて高くなる。
【0006】
【発明が解決しようとする課題】
一般にキャッシュ化の動作は「真の」メモリ位置に対して優れている(従来のメモリアクセス動作では、マイクロプロセッサは真のメモリ位置にだけデータの書き込みまたは読み出しを行う)。というのは、マイクロプロセッサはキャッシュのメモリ位置の値と主メモリのメモリ位置の値とを一致させることができるからである。同じメモリ位置についてキャッシュの値と主メモリの値が同じであれば、主メモリの値の代わりにキャッシュの値を読んでも問題はない。しかし、たとえば入出力装置の状態を含むメモリ位置や、グラフィックスアクセラレータにより変えられるスクリーンバッファのメモリ位置の場合は、メモリ位置が揮発性であってメモリ位置のキャッシュの値が古くなっていることがよくある。主メモリ位置の代わりに揮発性のメモリ位置のキャッシュの値を読むと、装置の動作に大きな問題を生じる。したがって従来のIBMのPC構造では、一般にメモリコントローラが動作して、マイクロプロセッサがこれらの揮発性の位置を「キャッシュ可(cacheable) 」にして(すなわち、キャッシュメモリに記憶して)アクセスを阻止する。
【0007】
たとえばメモリ写像レジスタは、従来のメモリアクセスでアクセスするが一般にキャッシュ可アクセスは阻止する領域である。というのは、メモリ写像レジスタは頻繁にポーリングして装置の状態の変化を検出し、これに応じて何らかの制御を行うからである。メモリ写像レジスタをキャッシュ化した場合、装置の状態が変わるとメモリ写像レジスタの主メモリの値は変わるが、キャッシュ化した値は変わらない。メモリ写像レジスタを定期的にポーリングしてもキャッシュの値を読み出すだけであって、知りたい装置の状態の変化は検出しないので制御ができなくなる。別の例で、メモリ写像入出力機能などの非メモリ装置をキャッシュ化すると、オンチップキャッシュメモリの読み出しはバスサイクルとして現れないので、バスでの読み出し動作に応じて状態が変わる型の入出力装置では別の問題が生じる。またキャッシュは主メモリよりも更新された値を多く含むので、書き戻しキャッシュ化も非メモリ位置に関して問題を生じる。読出しキャッシュへの書き込みはバスに現れないので、これらの位置をキャッシュ化すると、バスに行った書き込みを再び命令するように見える。
【0008】
揮発性なので一般にキャッシュ可アクセスを阻止するメモリ領域の別の例としてビデオメモリがある。ビデオメモリは論理的にはマイクロプロセッサのメモリ写像内にあり、物理的には主メモリ内にあるかまたは別個にある(グラフィックスアダプタ内など)。ビデオメモリはマイクロプロセッサ以外の装置(たとえば、グラフィックスプロセッサ、すなわちグラフィックスアダプタ)の制御の下にあることが多い。その内容はマイクロプロセッサの制御の外で頻繁に変えられるので、主マイクロプロセッサによるキャッシュ可アクセスには適していない。ビデオメモリの一部をマイクロプロセッサのキャッシュ内に記憶すると、グラフィックスプロセッサにより変えられるので、その後キャッシュの内容をアクセスしても無効になる可能性がある。
【0009】
したがって従来のx86構造のマイクロプロセッサでは、バースト可メモリアクセスはアクセスするメモリ位置がキャッシュ可であることにつながっている。たとえばPENTIUMマイクロプロセッサは、メモリにアクセス中は(マイクロプロセッサが端子M/IO#に高論理レベルを与えることによりメモリアクセスであることを示す。ただし#は信号が低論理レベルで活動状態であることを示す)端子CACHE#に制御信号を出力することにより、バースト可メモリアクセスを要求する。この要求に応じて、メモリコントローラはマイクロプロセッサが与えたメモリアドレスがメモリ空間のキャッシュ可領域にあるかどうかを決定し、キャッシュ可領域内にある場合はマイクロプロセッサにKEN#入力を表明し、バーストアクセスを行う。この従来の方法では、キャッシュ可アクセスが阻止されたメモリの領域にマイクロプロセッサがバースト可アクセスを要求した場合は、メモリコントローラはバースト可アクセスを行わず、KEN#の出力を停止して(deasserting) このことを示す。そして、所望のメモリ位置に単一転送アクセスを行う。
【0010】
【課題を解決するための手段】
この発明はマイクロプロセッサ、たとえばPENTIUM級のマイクロプロセッサ、を用いたデータ処理装置で実現する。マイクロプロセッサは入出力アドレス空間を持つ。入出力アドレス空間はメモリアドレス空間内の位置と共通のアドレス値を持ち、メモリ/入出力選択制御信号により選択できる。またマイクロプロセッサは、メモリへのキャッシュアクセス要求を示す制御出力を持つ。この発明ではマイクロプロセッサは、メモリアドレスの提示と組み合わせたキャッシュ要求信号と、入出力アクセスの選択とを表明することにより、キャッシュ不可メモリ領域へのバースト可アクセスを要求する。この装置はメモリコントローラを備える。メモリコントローラは、キャッシュ要求信号と入出力アクセス選択の組み合わせをメモリへのバースト可アクセスの要求と解釈してバースト可アクセスを行い、制御信号によりこのことをマイクロプロセッサに示す。
【0011】
この発明の目的は、キャッシュ不可のメモリ位置にバースト可アクセスを行う、マイクロプロセッサを用いたデータ処理装置を提供することである。
この発明の別の目的は、このアクセスを読み出しにも書き込みにも行うことである。
この発明の他の目的や利点は、以下の説明と図面を参照すれば、当業者には明らかになる。
【0012】
【発明の実施の形態】
【実施例】
図1を参照して、この発明の第1の好ましい実施態様を実現する例示のマイクロプロセッサを用いた装置2を詳細に説明する。図1に示すように、装置2は中央処理装置(CPU)5を備える。この発明の実施態様では、CPU5はよく知られた「x86構造」のマイクロプロセッサであり、好ましくはPENTIUM級のマイクロプロセッサである。CPU5はその一部にバスインターフェース装置(BIU)8を備える。BIU8はCPU5の内部の回路であって、CPU5と装置2内の他の部分との間の通信を制御する。この発明のこの実施態様では、CPU5のBIU8は、アドレスバスABUSとデータバスDBUSと制御バスCBUSから成るバスに接続する。この技術では普通であるが、アドレスバスABUSはCPU5が2進アドレスを与えて装置2の他の要素にアクセスするためのバスであり、データバスDBUSはCPU5と他の装置要素との間でディジタルデータを伝送するためのバスであり、制御バスCBUSは装置2の要素間に制御信号を伝えるためのバスである。
【0013】
図1の装置2では、関連するコントローラにより種々の周辺要素がバスABUS、DBUS、CBUSに接続し、通常の装置の機能を行う。装置2の主メモリ20は、メモリコントローラ10によりバスABUS、DBUS、CBUSに結合する。メモリコントローラ10はCPU5からアドレス値と制御信号を受けて対応する制御信号を主メモリ20に与え、主メモリ20はデータバスDBUSにより、CPU5とデータを授受するなどの所望の動作を行う。また装置2はレベル3キャッシュメモリ22を備える。キャッシュメモリ22は通常の方法でキャッシュコントローラ12に接続する。キャッシュコントローラ12はバスABUS、DBUS、CBUSに接続し、CPU5とレベル3キャッシュメモリ22との間のデータの伝送を制御する。この例では、レベル3キャッシュメモリ22は装置2の第3レベルキャッシュメモリで、レベル1およびレベル2キャッシュメモリはCPU5内にある(図1にはレベル2キャッシュ6を示す)。
【0014】
また装置2は入出力コントローラ14を備える。入出力コントローラ14はバスABUS、DBUS、CBUSによりCPU5に接続し、また数個の入出力装置24に接続する。入出力装置24は、ビデオモニタや、キーボードや、位置決め装置や、ディスク駆動副装置など、装置2内の一般的な入力および出力周辺装置を含む。コントローラ10、12、14は一般にいわゆる「チップセット」で実現され、CPU5と共に動作する。さらに装置2はクロック発生回路16を備える。クロック発生回路16は周期的なクロック信号を線CLKに発生させてシステム2の各要素に(BIU8を通してCPU5にも)与え、また種々の各装置要素内に内部クロック信号を発生させる。したがって装置2はデスクトップワークステーションや携帯用ノートブック型などの一般的な最新のコンピュータに対応する。コンピュータプログラムはディスク記憶装置(入出力装置24の中の1つで表す)内に記憶し、主メモリ20にダウンロードして動作させる。
【0015】
メモリアクセスを行うには、CPU5はバスABUSにアドレス値を与え、同時に制御バスCBUSに該当する制御信号(読み出し/書き込み選択信号を含む)を与える。メモリコントローラ10は該当する制御信号を主メモリ20に与え、所望の位置にアクセスする。この例では、主メモリ20の一部20vはビデオメモリで、入出力機能24の1つのグラフィックスアダプタ(すなわちコントローラ)により、バスABUS、DBUS、CBUS、または第2バス(図示せず)を用いて独立にアクセスすることができる。またはビデオメモリ20vは、PCIビデオカードの場合のように、バス上の独自の装置として実現することもできる。メモリコントローラ10の制御の下に(一般に制御バスCBUSを用いてメモリコントローラ10とCPU5の間の初期接続手順プロトコルにより行う)、CPU5はデータバスDBUS上にデータを与える(メモリ書き込み)か、データバスDBUSからデータを受ける(メモリ読み出し)。
【0016】
図1に示すように、メモリ通信も入出力通信も同じバス、すなわちアドレスバスABUS、データバスDBUS、制御バスCBUSを用いて行う。したがって、x86構造のマイクロプロセッサを用いた装置で通常行うように、この発明の実施態様でも入出力アクセスは上述のメモリアクセスと同様の方法で行う。すなわち、CPU5はアドレスバスABUSにアドレスを与え、同時にバスCBUSに該当する制御信号を与える。入出力動作では、アドレスバスABUSのアドレスは入出力機能24の特定の1つに対応する。入出力コントローラ14の制御の下に、CPU5から選択された入出力機能24にデータバスDBUSを用いて(出力動作の場合)、または選択された入出力機能24からCPU5にデータバスDBUSを用いて(入力動作の場合)、データを伝送する。
【0017】
次に図2を参照して、この発明の第1実施態様のメモリコントローラ10の構成と動作について、またCPU5および主メモリ20に関連して、詳細に説明する。図2に示すように、アドレスバスABUS、データバスDBUS、制御バスCBUS(これらはCPU5の特定の端子に接続する)により、CPU5のBIU8はメモリコントローラ10と通信する。CPU5の端子は外部コネクタで、その形式はピン(ピン−グリッド−アレイパッケージの場合)や、はんだボールや、パッケージリード線や、ボンドパッド(チップ形式の場合)や、集積回路パッケージ用の任意のその他の従来型の外部接続である。この技術で知られているように、CPU5の端子は通常ピン名または信号名で呼ぶ。説明の都合上、CPU5の端子に接続するバス線の名は対応する端子と同じ名とする。図2に示すように、制御バスCBUSはCPU5の端子(この例では従来のPENTIUM級のマイクロプロセッサの端子、たとえばメモリ/入出力選択M/IO#、キャッシュ要求CACHE#、バースト作動可能BRDY#、キャッシュ可能KEN#などを含む)に対応する線を備える。メモリアクセスを行うのに用いる他の従来のPENTIUM級の端子(図2には示していない)には、バイト可能信号BE7#−BE0、アドレス状態信号ADS#、データ/制御選択D/C#、書き込み/読み出し選択W/R#、読出書込み/ライトスルー(write-through) 信号WB/WT#、などがある。クロック発生器16は線CLKによりCPU5(BIU8を通して)とメモリコントローラ10にクロック信号を与える。
【0018】
メモリコントローラ10は、CPU5と主メモリ20の間の通信を行うためのいくつかの機能ブロックを備える。当業者は機能的な説明からメモリコントローラ10の構成と動作を完全に理解できるので、図2にはこれらのブロックを機能的に示す。この技術で従来行われているように、アドレスバッファ21はアドレスバスABUSによりCPU5からメモリアドレスを受けてアドレスマルチプレクサ26に送り、アドレス線An からAo により主メモリ20に与える。同様にメモリコントローラ10内のデータバッファ23はデータバスDBUSによりCPU5からデータを受けて、書き込み動作の場合はこれを書き込みバッファ27に送る。書き込みバッファ27はデータ線Dinにより主メモリ20と通信する。しかしこの信号路は双方向的であって、書き込みバッファ27は線Dout により主メモリ20からデータを受け、このデータをデータバッファ23に送って、メモリ読み出し動作でCPU5に与える。
【0019】
CPU5と主メモリ20との間の通信の制御はバス制御回路25により行う。バス制御回路25は制御バスCBUSとメモリ制御回路29に接続する。さらにメモリコントローラ10は制御論理28を備える。制御論理28はメモリコントローラ10の内部動作を制御する。詳しく言うと、バス制御回路25は制御バスCBUSによりCPU5から制御信号(信号M/IO#とCACHE#を含む)を受け、メモリアクセス要求に応じて、該当する従来のDRAM制御およびタイミング信号を主メモリ20に送るようメモリ制御回路29に命令してメモリアクセスを行う。この信号には、行アドレスストローブ(RAS#)、列アドレスストローブ(CAS#)、書き込み可能(WE#)がある。さらに、バス制御回路25はCPU5に制御信号を送ってメモリアクセスの状態を示す。この制御信号はキャッシュ可能信号KEN#とバースト作動可能信号BRDY#(これはバーストアクセスに特に重要で、後で説明する)を含む。
【0020】
またメモリコントローラ10の制御論理28は好ましくはメモリコントローラ10の動作を制御するプログラマブルレジスタを備える。このレジスタは主メモリ20のキャッシュ不可位置を規定するレジスタを含む。CPU5が要求する各メモリアクセスに応じて、制御論理28はこれらのレジスタを調べて、アドレスバスABUSに与えられる所望のメモリアドレスがメモリアドレス空間のキャッシュ不可領域にあるかどうかを決定する。この技術で知られているように、メモリコントローラ10は線KEN#を出力して、所望のメモリアドレスがキャッシュ可であることをCPU5に示し、また所望のメモリアドレスがキャッシュ不可領域内にある場合は線KEN#の出力を停止する。
【0021】
この発明の背景に関して上に述べたように、従来の技術ではバースト可メモリアクセスはキャッシュ不可領域にないメモリアドレスだけに用いることができる。したがって従来のマイクロプロセッサは、キャッシュ不可領域へのメモリアクセス要求に応じて線KEN#の出力を停止した。さらに、マイクロプロセッサの端子BRDY#はメモリのキャッシュ不可領域への単一転送動作(読み出しまたは書き込み)の間だけ出力し、バーストアクセスの場合のような多バスサイクルでは表明しない。
【0022】
図3はこの発明のこの実施態様の装置2内の各アドレス空間の略図である。例示の装置2は、従来のPENTIUM級のマイクロプロセッサのように、4ギガバイトのメモリアドレス空間30(メモリアドレスは0000 0000hからFFFF FFFFh)と64キロバイトの入出力アドレス空間40(メモリアドレスは0000 0000hから0000 FFFFh)を持つ。またCPU5を含めて一般のPENTIUM級のマイクロプロセッサのように、メモリアドレス空間30と入出力アドレス空間40はいくつかの同じアドレス値(すなわちメモリアドレス空間30内と入出力アドレス空間40内の位置に対応する、0000 0000hと0000 FFFFhの間のアドレス値)を共有する。上に説明したように、従来のx86構造のマイクロプロセッサはM/IO#と呼ぶ端子に制御信号を与える。M/IO#は、高論理レベルの場合はメモリアクセスが起こることを示し、低論理レベルの場合は入出力動作が起こることを示す。
【0023】
図3に示すように、メモリアドレス空間30はキャッシュ不可領域32を含む。上に説明したように、キャッシュ不可領域32はメモリアドレス空間30の領域に対応し、キャッシュ書き込みまたはキャッシュ読み出しによるアクセスが阻止される。或るレジスタ(キャッシュ可アクセスを阻止するアドレスを含んでいる)の内容に従って、メモリコントローラ10は、特定すると制御論理28は、キャッシュ不可領域へのキャッシュ可アクセスを阻止する。キャッシュ不可領域32とはビデオメモリ20v(図1参照)やメモリ写像制御レジスタなどで、どちらもキャッシュ記憶に適していない。このように、メモリコントローラ10が動作して線KEN#に出力停止の状態を出すことにより、キャッシュ不可領域32の内容をCPU5の内部キャッシュ(たとえば図1に示すレベル2キャッシュ6)に記憶するのを阻止する。
【0024】
しかしこの発明に関連して、x86構造のマイクロプロセッサ内の主メモリのキャッシュ不可領域にバーストアクセス機能を与えると有用であることが分かった。たとえば、CPU5はキャッシュ不可領域32内のビデオメモリ20vの一部の内容に迅速にアクセスしたい(すなわちバーストモードで)場合がある。またたとえば、CPU5はスクリーン像をメモリに複写したい、またはメモリの別の部分をビデオメモリに複写したい場合がある。ビデオメモリ20vはキャッシュ不可なので、従来のx86構造の装置はキャッシュ不可領域32へのバースト可アクセスを阻止する。
【0025】
しかしこの発明の第1の好ましい実施態様では、CPU5は制御バスCBUS内にある制御信号を用いて、主メモリ20にバースト可だがキャッシュ不可のアクセスを要求することができる。上に示したように、従来のx86構造のマイクロプロセッサは制御出力信号M/IO#を用いて、メモリアクセスを行うか(M/IO#が高)入出力動作を行うか(M/IO#が低)を示す。対照的にこの発明のこの実施態様では、CPU5は線M/IO#の低論理レベルとCACHE#信号の表明(低論理信号)の組み合わせを用いて、メモリアドレス空間30のキャッシュ不可領域にバースト可メモリアクセスを要求する。メモリコントローラ10は、特定するとその中のバス制御回路25は、このM/IO#低とCACHE#低の組み合わせをバーストメモリアクセスの要求と解釈し(従来の方法で入出力要求と解釈するのとは異なる)、メモリアドレスがメモリアドレス空間30のキャッシュ不可領域32内であることを制御論理28が示す場合でも、主メモリ20にキャッシュ不可バーストメモリアクセスを行う。CPU5がM/IO#低およびCACHE#低と共にメモリアドレス空間30のキャッシュ可領域内のアドレスを与える場合も、バーストアクセスを要求して実行する。しかしこの場合は、アドレスされたメモリ位置にキャッシュアクセスが可能な場合でも、CPU5はキャッシュアクセスをしない。
【0026】
この発明のこの実施態様では、次の表および図3の対応する論理に従って、CPU5は制御信号M/IO#およびCACHE#によりメモリおよび入出力動作を要求する。
【0027】
この動作の略図を図3のバス制御回路25に示す。バス制御回路25は、単一メモリ転送サイクル(すなわちバースト不可でキャッシュ不可)用の制御信号MEN1と、バースト可でキャッシュ可のメモリアクセス用のMENBCと、入出力動作用のIOENと、バースト可でキャッシュ不可のメモリアクセス用のMENBNCを駆動するのに用いる。ANDゲート31は線M/IO#とCACHE#が共に高のときだけ線MEN1を高に駆動し、ANDゲート33は線M/IO#が低で線CACHE#が高のときだけ線IOENを高に駆動し、ANDゲート35は線M/IO#が高で線CACHE#が低のときだけ線MENBCを高に駆動し、ANDゲート37は線M/IO#とCACHE#が共に低のときだけ線MENBNCを高に駆動する。
【0028】
もちろん、この発明のこの実施態様では、入出力コントローラ14は線M/IO#の論理レベルが低で線CACHE#が低のときには応答しないように設計して、バースト可でキャッシュ不可のメモリアクセスが、意図しない入出力動作と共に起こったためにバスが矛盾することのないようにしなければならない。
【0029】
次に図4を参照して、この発明の第1の好ましい実施態様において、CPU5が要求し主メモリ20およびメモリコントローラ10が行うバースト可でキャッシュ不可のメモリ読み出し動作を示すタイミング図を、以下にさらに詳細に説明する。この例では、CPU5はアドレスバス線A31−A3にメモリアドレスを出し、同時にバイト可能線BE7#−BE0#に0の値を出して、読み出しメモリアクセスを要求する。CPU5が線ADS#に低論理レベルを表明するとこのアドレスが有効になる。バースト可でキャッシュ不可のメモリ読み出しのこの例では、CPU5が与えるアドレスはメモリアドレス空間30のキャッシュ不可領域32内にある。またメモリアドレスと共に、CPU5は線D/C#に高論理レベルを出してこの動作がデータ動作であることを示し、また線W/R#低を出力してメモリ読み出しを要求する。これらの信号は、x86構造のマイクロプロセッサの読み出し動作で従来から用いられている。またこの発明のこの第1の実施態様では、CPU5は線M/IO#に低論理レベルを与え、同時に線CACHE#に低論理レベルを与える。これらの信号はすべて図4のバスサイクルB0にある。
【0030】
信号のこの組み合わせにより、主メモリ20のキャッシュ不可領域にバースト可アクセスを要求中であることをメモリコントローラ10に示す。メモリコントローラ10はこの要求に応えて該当する制御信号とアドレスを主メモリ20内のアドレスされたメモリ装置に出す。バスサイクルB2で(バスサイクルB1は待ち状態である)、線KEN#低を出力することにより主メモリ20へのバースト可アクセスが許可されたことを、また線BRDY#低を出力することにより現在のクロックサイクルの終わりにデータバスDBUSに有効なメモリデータが乗ることを、メモリコントローラ10はCPU5に示す。メモリ読み出しがキャッシュ不可なので、線WB/WT#はこの動作ではドントケア(don't care)である。次に、有効なデータが4語(quad words)QW0からQW3の形式で(それぞれ64ビットすなわち8バイトで)現在のバスサイクルB2の終わりと次の3連続バスサイクルB3からB5に、データバスDBUSに現れる(待ち状態がないと仮定する)。この発明のこの実施態様では、バスサイクルB6でメモリコントローラは線BRDY#を高状態に駆動して、バーストメモリ読み出しが完了したことを示す。バースト可でキャッシュ不可型または他の型の、以後のメモリアクセスは従来の方法で行う。
【0031】
次に図5を参照して、バースト可でキャッシュ不可のメモリ書き込み動作について詳細に説明する。図4のメモリ読み出しの場合と同様に、CPU5は動作を開始して、バスサイクルWB0で所望のアドレスをアドレス線A31からA3に与え、ADS#信号低をCPU5が表明すると同時にバイト可能ビットBE#をゼロにし、また線D/C#のレベルを高にする。またこのサイクルWB0で、CPU5は線W/R#高を出力してメモリ書き込みを行おうとしていることを示し、線M/IO#低および線CACHE#低を出力してキャッシュ不可メモリ位置へのバースト書き込みを要求する。読み出しの場合と同様に、アドレスがメモリアドレス空間30のキャッシュ可領域を指す場合は、バーストアクセスは行うがキャッシュへの書き込みは行わない。CPU5のこの要求に応じて、メモリコントローラ10は線KEN#に低論理レベルを出して(1つの待ち状態の後、バスサイクルWB2で)主メモリ20へのバーストアクセスが許可されたことを示し、それと共に線BRDY#を低論理レベルにして、現在のバスサイクルWB2の終わりに有効なデータが入ることを示す。次にCPU5は、バスサイクルWB2の終わりとその後の3バスサイクルWB3からWB5に、データバスDBUSに有効なデータを乗せて書き込みを行う。最終バスサイクルWB6でメモリコントローラ10は線BRDY#を駆動して、バースト書き込み動作が完了したことを示す。
【0032】
したがってこの発明のこの好ましい実施態様では、x86構造のマイクロプロセッサを用いたコンピュータ装置内の主メモリのキャッシュ不可領域にバースト可アクセスを行う。このようにしてメモリ動作の広い範囲において、特にビデオRAM位置などのキャッシュ化に適していないメモリ位置にアクセスするときに、バースト速度でメモリ動作を行うことができる。さらにこの発明のこの第1の実施態様では、マイクロプロセッサにピンを追加する必要なく、このアクセスを行うことができる。
【0033】
マイクロプロセッサの追加のピンとこれに対応するマザーボード導体が利用できる場合は、この発明は第2の実施態様で実現してよい。これについては、図6を参照して説明する。図6では、図2と同じ要素には同じ番号を用いて参照する。
【0034】
図6に示すCPU50は図2に関して説明したPENTIUM級のマイクロプロセッサであるが、この設計では或る型のメモリアクセスはバースト可アクセスの要求を意味する。これらの要求をメモリコントローラ60内のバス制御論理55に伝えて(明示的にまたは暗示的に)、バーストメモリアクセス要求と解釈する。
【0035】
たとえば、CPU50はREP MOV命令セットなどのブロックメモリアクセス動作を行うと、BIU8に制御フラグをセットしてバス制御論理55に伝える。この場合、制御フラグをセットすると、バス制御論理55はその後のすべてのメモリアクセス要求(線M/IO#が高)をバーストアクセス、すなわちメモリアドレス空間のキャッシュ可およびキャッシュ不可領域へのアクセスの要求と解釈する。またはCPU50は、メモリのキャッシュ可およびキャッシュ不可領域へのバーストメモリアクセスであることをはっきり示す特定の命令を実行する。この場合も、CPU50はフラグすなわち制御信号をセットして、バーストアクセスを要求したことをメモリコントローラ60に示す。
【0036】
この発明のこの第2の実施態様では、CPU50はメモリのキャッシュ可およびキャッシュ不可領域にバーストメモリアクセスを要求するので、メモリコントローラ60からCPU50へはキャッシュ可とバースト可を別々に示すことが好ましい。これは、CPU50は暗黙のバーストアクセス要求を出すが、メモリアドレスがメモリアドレス空間のキャッシュ可領域にあるかどうかは知らないからである。メモリアクセスがキャッシュ不可の場合でも、やはりバースト可アクセスが望ましい。したがってこの発明のこの実施態様では、バースト可能信号BEN#が与えられる。これは、従来のPENTIUM級の制御信号およびピンの他に、この発明のこの実施態様で与えられる信号および対応するCPU端子である。図6に示すようにこの発明のこの実施態様では、バス制御論理55は線KEN#に信号を出してメモリアクセスがキャッシュ可であることを示し(この発明の第1の実施態様で前に説明したのと同様に)、また線BEN#に信号を出してバーストアクセスが許可されたかどうかを示す。CPU50がキャッシュ不可メモリ位置にバーストアクセスを要求した場合は、バス制御論理55は線KEN#を高に保持し(キャッシュ不可アクセスを示す)、BEN#を低に駆動して、バースト可アクセスが許可されたことを示し、データバスDBUSに4カッド語のデータがある、またはこれから入ることをCPU50に知らせる。
【0037】
この発明のこの第2の実施態様では、メモリコントローラ60はキャッシュ可だがバースト可でないメモリアクセスを行い、このことをCPU50に伝えることができる(線KEN#を低にし線BEN#を高にすることにより)。しかしキャッシュ充填および書き戻しは全キャッシュ線で行うことが好ましいので、このメモリアクセスモードが有用かどうかは疑問である。
【0038】
したがって上に述べたこの発明のすべての実施態様は、この発明は或る種のメモリ位置の、特にx86構造のマイクロプロセッサではバースト可アクセスができなかったビデオメモリなどの位置の、メモリアクセス性能を向上させるという点が非常に優れている。この発明ではメモリにバースト可でキャッシュ不可のアクセスを行うことができるが、これはマイクロプロセッサを用いた装置の実質的な再設計や再構成を必要とせず、またこの発明の一実施態様ではマイクロプロセッサの端子を追加する必要もない。
【0039】
この発明について好ましい実施態様に関して説明したが、もちろんこれらの実施態様の修正や代替が考えられる。当業者がこの説明と図面を参照すれば、この発明の利点と長所を持つこれらの実施態様の修正や代替が可能になることは明らかである。これらの修正や代替は、特許請求の範囲に規定したこの発明の範囲内にあるものである。
【0040】
以上の説明に関して更に以下の項を開示する。
(1) マイクロプロセッサを用いたデータ処理装置であって、
マイクロプロセッサであって、データ処理命令を実行し、データ・制御・アドレス信号を伝達するバスに接続し、前記制御信号は入力または出力動作を示す入出力制御信号と、メモリアクセスを示すメモリアクセス制御信号と、1アドレス値を与えて複数のアドレス可能なメモリ位置へのアクセス要求を示すバースト要求信号とを含み、前記マイクロプロセッサはキャッシュメモリを備える、マイクロプロセッサと、
出力装置と、
前記バスと出力装置に結合し、前記マイクロプロセッサが前記バスにアドレス値と共に入出力制御信号を示すとこれに応じて、データを前記マイクロプロセッサから受けて前記出力装置から出力する、入出力装置コントローラと、
前記マイクロプロセッサと授受する入力および出力に対応するディジタルデータを記憶し、アドレス空間を持つ、主読み出し/書き込みメモリと、
前記バスと主読み出し/書き込みメモリに接続し、前記マイクロプロセッサが諸信号と共にメモリアクセス制御信号により前記バスにアドレス値を与えるとこれに応じて、前記主読み出し/書き込みメモリへのアクセスを制御する、メモリコントローラと
を備え、
前記メモリコントローラは主メモリのキャッシュ不可部分へのキャッシュアクセスを阻止し、
また前記マイクロプロセッサが入出力制御信号と共にバースト要求信号を与えるとこれに応じて、前記メモリコントローラは前記主読み出し/書き込みメモリのキャッシュ不可部分へのバーストメモリアクセスを可能にする、
マイクロプロセッサを用いたデータ処理装置。
【0041】
(2) 前記マイクロプロセッサが主読み出し/書き込みメモリのキャッシュ可部分へのメモリアドレスと共にバースト要求信号を与えるとこれに応じて、前記メモリコントローラはキャッシュメモリアクセスを可能にする、第1項記載のマイクロプロセッサを用いたデータ処理装置。
(3) 前記入出力装置コントローラに結合し、前記マイクロプロセッサがバスにアドレス値と共に入出力制御信号を与えるとこれに応じて、データを前記入出力コントローラに与えて前記マイクロプロセッサに伝達する、入力装置をさらに備える、第1項記載のマイクロプロセッサを用いたデータ処理装置。
(4) 前記マイクロプロセッサはx86構造型である、第1項記載のマイクロプロセッサを用いたデータ処理装置。
【0042】
(5) 前記マイクロプロセッサは前記バスに接続するM/IO#端子を備え、
前記マイクロプロセッサは前記M/IO#端子を第1論理レベルにすることにより入出力制御信号を与え、
前記マイクロプロセッサは前記M/IO#端子を第2論理レベルにすることによりメモリアクセス制御信号を与える、
第4項記載のマイクロプロセッサを用いたデータ処理装置。
(6) 前記マイクロプロセッサは前記バスに接続するCACHE#端子を備え、
前記マイクロプロセッサはCACHE#端子を表明することによりバースト要求信号を与える、
第5項記載のマイクロプロセッサを用いたデータ処理装置。
(7) 前記主読み出し/書き込みメモリの前記キャッシュ不可部分はビデオメモリに対応する、第1項記載のマイクロプロセッサを用いたデータ処理装置。
【0043】
(8) 前記主読み出し/書き込みメモリへのバーストアクセスを可能にするとこれに応じて、前記メモリコントローラは前記バスにバーストアクセス応答信号を与える、第1項記載のマイクロプロセッサを用いたデータ処理装置。
(9) 前記主読み出し/書き込みメモリアドレス空間のキャッシュ可部分へのキャッシュアクセスを可能にするとこれに応じて、前記メモリコントローラは前記バスにキャッシュアクセス応答信号を与える、第8項記載のマイクロプロセッサを用いたデータ処理装置。
(10) 前記バスはPENTIUM級のマイクロプロセッサ制御信号に対応する制御信号を伝達する複数の導体を備え、前記複数の導体は前記メモリコントローラが前記マイクロプロセッサに与えるキャッシュアクセス応答信号を伝達する導体を含み、また前記バスは、前記メモリコントローラが前記バースト応答信号を与えるための、前記メモリコントローラと前記マイクロプロセッサの間に結合する導体をさらに備える、第9項記載のマイクロプロセッサを用いたデータ処理装置。
【0044】
(11) 前記メモリコントローラは主メモリのキャッシュ不可部分へのキャッシュアクセスを阻止し、
前記マイクロプロセッサは入出力制御信号を与えて入力または出力動作を示し、
前記データ処理装置は、
出力装置と、
前記バスと出力装置に結合し、前記マイクロプロセッサが前記バスにアドレス値と共に入出力制御信号を示すとこれに応じて、データを前記マイクロプロセッサから受けて出力装置から出力する、入出力装置コントローラ、
を備え、
前記マイクロプロセッサが前記バスに入出力制御信号と共にバースト要求信号を与えるとこれに応じて、前記メモリコントローラは前記主読み出し/書き込みメモリのキャッシュ不可部分へのバーストメモリアクセスを可能にする、
第8項記載のマイクロプロセッサを用いたデータ処理装置。
【0045】
(12) x86構造のマイクロプロセッサ(5)を用いた装置(2)を開示する。この装置はメモリアドレス空間と入出力アドレス空間を持ち、入出力動作は入出力写像により行う。この発明の第1実施態様では、マイクロプロセッサ(5)がキャッシュ要求信号(CACHE#)と入出力動作を要求したことを示す制御信号(M/IO#)の組み合わせを出力することにより、キャッシュアクセスが阻止されている主メモリ(20)の領域にバーストアクセスを行う。メモリコントローラ(10)はこの組み合わせをキャッシュ不可メモリ位置へのバースト要求と解釈し、キャッシュ応答制御信号(KEN#)を表明してバーストアクセスの許可を示し、バーストメモリアクセスを行う。この発明の第2実施態様では、メモリコントローラ(60)はキャッシュ応答信号(KEN#)とは別のバースト応答信号(BEN#)により、キャッシュ不可メモリ空間へのバーストアクセスに応答する。
【図面の簡単な説明】
【図1】この発明の好ましい実施態様のデータ処理装置の電気ブロック図。
【図2】この発明の第1実施態様の、図1の装置のメモリおよび入出力コントローラの電気ブロック図。
【図3】図1のデータ処理装置のメモリアドレス空間および入出力アドレス空間の略図であって、この発明の第1の好ましい実施態様における各アドレス空間をアクセスする条件を示す略図。
【図4】この発明の第1の好ましい実施態様の、キャッシュ不可メモリからのバースト読み出し要求と性能を示すタイミング図。
【図5】この発明の第1の好ましい実施態様の、キャッシュ不可メモリからのバースト書き込み要求と性能を示すタイミング図。
【図6】この発明の第2実施態様の、図1の装置のメモリおよび入出力コントローラの電気ブロック図。
【符号の説明】
2 データ処理装置
5 中央処理装置(CPU)
8 バスインターフェース
10 メモリコントローラ
12 キャッシュコントローラ
14 入出力コントローラ
16 クロック発生器
20 主メモリ
22 キャッシュメモリ
24 入出力装置
Claims (1)
- マイクロプロセッサを用いたデータ処理装置であって、
マイクロプロセッサであって、データ処理命令を実行し、データ・制御・アドレス信号を伝達するバスに接続し、前記制御信号は入力または出力動作を示す入出力制御信号と、メモリアクセスを示すメモリアクセス制御信号と、1アドレス値を与えて複数のアドレス可能なメモリ位置へのアクセス要求を示すバースト要求信号とを含み、前記マイクロプロセッサはキャッシュメモリを備える、マイクロプロセッサと、
出力装置と、
前記バスと出力装置に結合し、前記マイクロプロセッサが前記バスにアドレス値と共に入出力制御信号を与え、かつ、前記バースト要求信号を与えないならば、これに応じて、データを前記マイクロプロセッサから受けて前記出力装置から出力する、入出力装置コントローラと、
前記マイクロプロセッサと授受する入力および出力に対応するディジタルデータを記憶し、アドレス空間を持つ、主読み出し/書き込みメモリと、
前記バスと主読み出し/書き込みメモリに接続し、前記マイクロプロセッサが諸信号と共にメモリアクセス制御信号により前記バスにアドレス値を与えるとこれに応じて、前記主読み出し/書き込みメモリへのアクセスを制御する、メモリコントローラと
を備え、
前記メモリコントローラは主読み出し/書き込みメモリのキャッシュ不可部分へのキャッシュアクセスを阻止し、
また前記マイクロプロセッサが入出力制御信号と共にバースト要求信号を与えるとこれに応じて、前記メモリコントローラは前記主読み出し/書き込みメモリのキャッシュ不可部分へのバーストメモリアクセスを可能にする、
マイクロプロセッサを用いたデータ処理装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US879995P | 1995-12-18 | 1995-12-18 | |
US008799 | 1995-12-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09179780A JPH09179780A (ja) | 1997-07-11 |
JP3886189B2 true JP3886189B2 (ja) | 2007-02-28 |
Family
ID=21733751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33713296A Expired - Fee Related JP3886189B2 (ja) | 1995-12-18 | 1996-12-17 | バースト可でキャッシュ不可のメモリアクセスを支援するマイクロプロセッサ装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6032225A (ja) |
EP (1) | EP0782079A1 (ja) |
JP (1) | JP3886189B2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9724031D0 (en) | 1997-11-13 | 1998-01-14 | Advanced Telecommunications Mo | Cache memory operation |
US6321302B1 (en) | 1998-04-15 | 2001-11-20 | Advanced Micro Devices, Inc. | Stream read buffer for efficient interface with block oriented devices |
US6219745B1 (en) * | 1998-04-15 | 2001-04-17 | Advanced Micro Devices, Inc. | System and method for entering a stream read buffer mode to store non-cacheable or block data |
US6178467B1 (en) * | 1998-07-07 | 2001-01-23 | International Business Machines Corporation | Microprocessor system requests burstable access to noncacheable memory areas and transfers noncacheable address on a bus at burst mode |
US6215497B1 (en) * | 1998-08-12 | 2001-04-10 | Monolithic System Technology, Inc. | Method and apparatus for maximizing the random access bandwidth of a multi-bank DRAM in a computer graphics system |
JP4252828B2 (ja) * | 2003-03-19 | 2009-04-08 | 株式会社日立製作所 | キャッシュ制御方法、ノード装置、プログラム |
US7457901B2 (en) * | 2005-07-05 | 2008-11-25 | Via Technologies, Inc. | Microprocessor apparatus and method for enabling variable width data transfers |
US7441064B2 (en) * | 2005-07-11 | 2008-10-21 | Via Technologies, Inc. | Flexible width data protocol |
US7502880B2 (en) * | 2005-07-11 | 2009-03-10 | Via Technologies, Inc. | Apparatus and method for quad-pumped address bus |
CN100407182C (zh) * | 2005-07-19 | 2008-07-30 | 威盛电子股份有限公司 | 用于在数据传送中排序事务处理节拍的装置和方法 |
US7444472B2 (en) * | 2005-07-19 | 2008-10-28 | Via Technologies, Inc. | Apparatus and method for writing a sparsely populated cache line to memory |
US7590787B2 (en) * | 2005-07-19 | 2009-09-15 | Via Technologies, Inc. | Apparatus and method for ordering transaction beats in a data transfer |
US20080086594A1 (en) * | 2006-10-10 | 2008-04-10 | P.A. Semi, Inc. | Uncacheable load merging |
TW201015579A (en) * | 2008-09-18 | 2010-04-16 | Panasonic Corp | Buffer memory device, memory system, and data readout method |
US9158691B2 (en) | 2012-12-14 | 2015-10-13 | Apple Inc. | Cross dependency checking logic |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4075686A (en) * | 1976-12-30 | 1978-02-21 | Honeywell Information Systems Inc. | Input/output cache system including bypass capability |
AU616213B2 (en) * | 1987-11-09 | 1991-10-24 | Tandem Computers Incorporated | Method and apparatus for synchronizing a plurality of processors |
WO1992000590A1 (en) * | 1990-06-27 | 1992-01-09 | Mos Electronics Corporation | Random access cache memory |
US5732241A (en) * | 1990-06-27 | 1998-03-24 | Mos Electronics, Corp. | Random access cache memory controller and system |
JP3105283B2 (ja) * | 1991-03-20 | 2000-10-30 | キヤノン株式会社 | メモリ・アクセス制御装置 |
ATE164463T1 (de) * | 1991-07-08 | 1998-04-15 | Seiko Epson Corp | Single-chip seitendrucker-steuerschaltung |
US5566324A (en) * | 1992-12-24 | 1996-10-15 | Ncr Corporation | Computer apparatus including a main memory prefetch cache and method of operation thereof |
JPH06348593A (ja) * | 1993-06-03 | 1994-12-22 | Sumitomo Electric Ind Ltd | データ転送制御装置 |
JP2675981B2 (ja) * | 1993-09-20 | 1997-11-12 | インターナショナル・ビジネス・マシーンズ・コーポレイション | スヌープ・プッシュ・オペレーションを回避する方法 |
JPH07114469A (ja) * | 1993-10-18 | 1995-05-02 | Mitsubishi Electric Corp | データ処理装置 |
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 |
-
1996
- 1996-12-17 EP EP96309213A patent/EP0782079A1/en not_active Ceased
- 1996-12-17 JP JP33713296A patent/JP3886189B2/ja not_active Expired - Fee Related
- 1996-12-18 US US08/769,194 patent/US6032225A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6032225A (en) | 2000-02-29 |
JPH09179780A (ja) | 1997-07-11 |
EP0782079A1 (en) | 1997-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5903908A (en) | Method and apparatus for maintaining cache coherency using a single controller for multiple cache memories | |
US8195918B2 (en) | Memory hub with internal cache and/or memory access prediction | |
JP3886189B2 (ja) | バースト可でキャッシュ不可のメモリアクセスを支援するマイクロプロセッサ装置 | |
US5809524A (en) | Method and apparatus for cache memory replacement line identification | |
US5249284A (en) | Method and system for maintaining data coherency between main and cache memories | |
US6178481B1 (en) | Microprocessor circuits and systems with life spanned storage circuit for storing non-cacheable data | |
US5701503A (en) | Method and apparatus for transferring information between a processor and a memory system | |
US20070055813A1 (en) | Accessing external memory from an integrated circuit | |
US20020199079A1 (en) | Method to prefetch data from system memory using a bus interface unit | |
US6173368B1 (en) | Class categorized storage circuit for storing non-cacheable data until receipt of a corresponding terminate signal | |
US5974497A (en) | Computer with cache-line buffers for storing prefetched data for a misaligned memory access | |
US6425056B2 (en) | Method for controlling a direct mapped or two way set associative cache memory in a computer system | |
US20040123010A1 (en) | Shared write buffer in a peripheral interface and method of operating | |
US6990516B2 (en) | Distributed shared memory system and data-maintenance method of same | |
US5450559A (en) | Microcomputer system employing address offset mechanism to increase the supported cache memory capacity | |
US6487626B2 (en) | Method and apparatus of bus interface for a processor | |
JP3964049B2 (ja) | マイクロプロセッサ | |
JP3251903B2 (ja) | プロセッサ・データをバースト転送する方法及びコンピュータ・システム | |
US5749092A (en) | Method and apparatus for using a direct memory access unit and a data cache unit in a microprocessor | |
US5809534A (en) | Performing a write cycle to memory in a multi-processor system | |
US6292867B1 (en) | Data processing system | |
JP3817327B2 (ja) | データ処理システムにおいてチップ選択可能な装置をアクセスする方法および装置 | |
JP2580263B2 (ja) | バッファ記憶装置 | |
JP3583844B2 (ja) | キャッシュメモリ方式 | |
EP0840232B1 (en) | Microprocessor comprising means for storing non-cacheable data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060705 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060714 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061016 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061121 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101201 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111201 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121201 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121201 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131201 Year of fee payment: 7 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |