JPH08227376A - コンピュータシステム及びその動作方法 - Google Patents

コンピュータシステム及びその動作方法

Info

Publication number
JPH08227376A
JPH08227376A JP7211204A JP21120495A JPH08227376A JP H08227376 A JPH08227376 A JP H08227376A JP 7211204 A JP7211204 A JP 7211204A JP 21120495 A JP21120495 A JP 21120495A JP H08227376 A JPH08227376 A JP H08227376A
Authority
JP
Japan
Prior art keywords
address
memory
main memory
cache
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7211204A
Other languages
English (en)
Inventor
Mark S Young
マーク・エス・ヤング
Daniel E Lenoski
ダニエル・イー・レノスキー
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH08227376A publication Critical patent/JPH08227376A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0877Cache access modes
    • G06F12/0884Parallel mode, e.g. in parallel with main memory or CPU
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 アドレスピン数を削減すると共にシステム
の動作速度を向上させるための新規なアドレス指定方法
を用いたコンピュータシステム及びその動作方法の提
供。 【解決手段】 本発明では、アドレスバスはキャッシ
ュ/主メモリによって共有されている。メモリアクセス
が要求されると、キャッシュメモリにアクセスするのに
十分な数の第1セットのアドレスビットがバス上に出力
される。これらのビットは主メモリに対する行ビットと
しても働き、主メモリアドレスバッファに格納される。
キャッシュヒットの場合、キャッシュメモリに対するデ
ータの書き込み/読み出しがなされる。キャッシュミス
の場合、行アドレスビットが主メモリ内にストローブさ
れると共に、列アドレスビットとして働く残りのメモリ
ビットが出力され、主メモリがアクセスされる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータシス
テムに関する。より詳細には、主メモリとキャッシュメ
モリとを用いたコンピュータシステムに関し、キャッシ
ュメモリと主メモリの両方にアドレス情報を高速に提供
することのできる新規な方法及び構造を提供するもので
ある。
【0002】
【従来の技術】高性能コンピュータでは、典型的には高
速のスタティックRAM(SRAM)から形成された高
速のキャッシュメモリがしばしば用いられており、直前
に使用された情報または再度使われる可能性の高い情報
を記憶し、全体的なメモリアクセス速度を向上させてい
る。キャッシュメモリを用いたこのような高性能コンピ
ュータに於いては、プロセッサからキャッシュ及び主メ
モリに、できるだけ速くアドレス情報を提供することが
重要である。このことは、第1レベルまたは第2レベル
の外部キャッシュ、即ち、CPUまたはマイクロプロセ
ッサの外部に配置されたキャッシュがある場合に特に成
り立つ。従来技術では、プロセッサは、キャッシュデー
タRAM及びタグRAM(tag RAMs)に対する
指標を形成するため、アドレス全体(現状のマシンでは
32ビットに達する)を送出している。フルアドレス
(full address)を用いて、キャッシュメ
モリサイクルと主メモリサイクルは、要求された場合、
同時に開始することができ、要求された情報は、それが
キャッシュメモリ内に記憶されている場合(“キャッシ
ュヒット”)はキャッシュメモリから読み出され、キャ
ッシュメモリ内に記憶されていない場合(“キャッシュ
ミス”)は主メモリから読み出される。都合の悪いこと
に、集積回路のピンや、またある場合には、バスを形成
している信号経路は、今日製造されている高度に集積化
されたプロセッサやシステムに於いては、不足しがちな
資源である。アドレスピン(address pin
s)を最少化することによって、次の4つの面に於いて
設計者を援助することができる。(1)ピンの数が減少
することにより、パッケージサイズ及び集積回路のダイ
サイズを小さくできる。(2)同時にスイッチングする
アドレス信号の数がより少なくなることによって、アド
レスラインのスイッチングによって生じる瞬間的な電流
サージが小さくなり、それによって“グランド結合(g
round bounce)”が小さくなる。(3)信
号ピンによる含みコストの負担が軽減される。即ち、信
号ピンの数がより多い場合に必要とされる電力用または
グラウンド用ピンの数が減少する。(4)ある場合に
は、集積回路の信号I/Oに於けるアドレス遷移の数が
減ることによって、全体的な電力消費も減少する。
【0003】更に、将来的な利点として、現状のコンピ
ュータのアドレス範囲の拡大に対応できるということが
挙げられる。今日の殆どのコンピュータは、32ビット
に達する物理アドレスで動作している。しかしながら、
次世代のマシンは、アドレス範囲を64ビットに押し上
げつつある。従って、これらの技法を用いて必要とされ
るアドレスピンの数を最少化することができる場合は、
さらに多くのピンを用いなければならないというプレッ
シャーは減るであろう。
【0004】従来、CPUからのコンピュータシステム
に必要なアドレス指定を維持しつつ、アドレスビットの
総数よりも少ない数のアドレスピンしか用いないような
技法が知られている。図1及び図2は、これを実現する
ための2つの従来の方法を図示したものである。
【0005】図1は、典型的な従来のコンピュータシス
テム10を図示したブロック図である。このコンピュー
タシステム10は、CPU11、主メモリコントローラ
を含む主メモリ20、キャッシュメモリコントローラを
含むキャッシュメモリ12、例えば主メモリアドレスバ
ス16/18のようなCPU11と主メモリ20とキャ
ッシュメモリ12との間に配置された適当なバス及び制
御ライン、レジスタされたアドレスバッファ(regi
stered address buffer)13、
レジスタされたアドレスバッファラッチ制御ライン1
7、キャッシュメモリアドレスバス14、主メモリデー
タバス19、データトランシーバ21、及びデータバス
15を含んでいる。図1では、CPUは、キャッシュア
ドレスバス14と主メモリアドレスバス16/18とを
別個に有するものとして示されている。もしキャッシュ
メモリ12がCPU11の外部にあるということを予め
知っていたなら、CPU設計者はキャッシュアドレスピ
ンをCPU11上にしか設けなかったであろう。
【0006】図2は、別の従来技術の構造を示してい
る。この構造は、CPU11、キャッシュメモリ12、
及び主メモリ20を含んでいる。図2に示されている従
来の回路では、CPU11はアドレスバス26上にフル
アドレスを生成すると共に、的確にキャッシュメモリ1
2及び主メモリ20のアドレス指定ができるように、主
メモリ20の制御回路と外部キャッシュメモリ12の制
御回路によって、要求されているように、それが操作さ
れラッチされるようにしている。図2の従来の回路で
は、単に主メモリ20のアドレス指定を行うのに必要な
情報を外部メモリインタフェース23に提供するため
に、フルアドレスが出力される。また、キャッシュメモ
リ12のアドレス指定をするためだけに専用に備えられ
たCPUのピンはないため、キャッシュメモリ12は、
CPUがその存在を認識しているか否かに関わらず具備
され得る。従って、CPU11によって提供される最小
アドレスは、CPU11によってアドレス指定され得る
物理メモリの大きさによって限定される。これは、CP
U11によって可能な全アドレス範囲ではない。しか
し、もしそれがそのような範囲よりも小さい場合は、た
とえCPU11が内部ではより広い範囲のアドレス指定
を行うことができるとしても、通常ピンの数が減らさ
れ、チップコストを低減するようにされる。この例とし
ては、モトローラ(Motorola)68000CP
Uがあり、これは32ビットに達するアドレスのアドレ
ス指定をするように設計されているが、ピン数とコスト
を節約するように24ビットのアドレスしか備えていな
いパッケージに組み込まれている。
【0007】図1の従来の回路と図2の従来の回路の何
れに於いても、CPU11によって外部キャッシュメモ
リ12または主メモリ20に供給されるアドレスは、以
下のように用いられる。フルアドレスは、キャッシュメ
モリコントローラ及び主メモリコントローラによって異
なった成分に分解される。例えば、サン(Sun)ワー
クステーションSS−10モデル51に於いて用いられ
ている1MBの外部キャッシュコントローラの例を考え
てみよう。このプロセッサモジュールは、CPU11、
キャッシュコントローラ、及びキャッシュメモリ12と
して働く1MBのSRAMを含んでおり、図2によく似
た構成となっている。CPU11は、36ビットの物理
アドレスをキャッシュメモリ12及び主メモリ20に対
して生成する。典型的には、そのアドレスは、キャッシ
ュデータ/タグRAMに対する(ワード)指標と、(キ
ャッシュワードに対する)バイト指標と、タグマッチ成
分とに分解される。図3は、このようなアドレス分解の
例を示している。
【0008】最も頻繁に用いられている設計では、CP
U11によってアドレスが送出されるとき、キャッシュ
メモリのルックアップのためには、キャッシュ指標のみ
しか必要とされない。このキャッシュ指標は、処理時間
に重要な影響を与えるキャッシュメモリアクセスを開始
するのに必要とされる。キャッシュメモリがアドレス指
定される場合、データ/タグRAMの成分のみが使用さ
れる。フルアドレスの内、バイト指標及びタグマッチ成
分は、後にキャッシュメモリアクセスに於いてキャッシ
ュタグ比較が必要となるまで必要とされないが、これは
タグ情報がキャッシュメモリからフェッチされるまで発
生しない。この例に於いては、下位アドレスビット(1
9→3)によって、128K×64ビットのキャッシュ
アレイに対する指標が形成されている。この例では、キ
ャッシュデータワードは64ビット、即ち8バイトの幅
であるため、CPUアドレスのより下位の3つのアドレ
スビットは、下位アドレスビットによって定められた6
4ビットワードの中の一つのバイトを特定するのに用い
られる。残りのアドレスビット(35→20)は、タグ
マッチ成分を形成し、キャッシュメモリデータの一意的
な識別を可能としている。“タグ”は、キャッシュデー
タRAMの中に格納されたデータ値を一意に識別するラ
ベルである。キャッシュは主メモリよりも遙かに小さい
ため、どの主メモリロケーションが実際にキャッシュ内
にあるのか一意に識別するためには、キャッシュデータ
RAM内の各値に一つのラベルが関連付けられていなけ
ればならない。典型的なタグは、例えばアドレス識別
子、許可ビット、及びコンテキスト/ユーザIDのよう
な、幾つかの成分からなる。
【0009】アドレス識別子は、通常“完全な(com
plete)”アドレスであるが、直接マッピングされ
たキャッシュに対しては、より下位のキャッシュ指標ビ
ットが取り除かれており、複数ウェイ・セットアソシア
ティブキャッシュに対しては、付加的なビットが付け加
えられている。許可ビットは、通常、アクセスに関する
詳細、即ち書き込み可能なロケーションであるとか、ス
ーパーバイザのみであるとか、ダーティ(dirty)
である、等を示している。コンテキスト/ユーザIDビ
ットは、同じメモリロケーションを用いて同時に実行さ
れている異なるCPUタスクの区別をする。キャッシュ
及びそれらの具現に関する従来の参考文献には、Jim
Handyによる「The Cache Memor
y Book」(Academic Press 19
93、ISBN #0−12−322985−5)や、
John HennessyとDavid Pstte
rsonによる「Computer Architec
ture−A Quantitative Appro
ach」(Morgan Kaufman Publi
shers、1990、ISBN #1−55860−
069−0)がある。
【0010】データRAMに於いては、1ロケーション
当たり1タグしかあり得ないが、通常、コストを下げる
ために、一つのタグが、“ブロック”または“ライン”
と呼ばれる複数のロケーションを表している。
【0011】一方、主メモリ20は、キャッシュメモリ
12とは少し異なった方法でアドレスを使用する。例え
ば、主メモリ20によって用いられる場合、アドレスは
図4に示されているように分解される(ここでもまたサ
ンワークステーションSS−10を例として使用してい
る)。この場合、主メモリ20のダイナミックRAM
(DRAM)は、複数の単一インラインメモリモジュー
ル(single in−line memory m
odule:SIMM)として形成されている。それは
同じ物理アドレスであるにも関わらず、それらのビット
は様々に使用される。
【0012】最近のコンピュータシステムの主メモリ
は、DRAMデバイスから構成されている。ピン数を減
らすため、チップ製造メーカは、各制御ストローブ(c
ontrol strobe)に於いて約半分のアドレ
スしか用いることができないパッケージの中にそれらを
組み込んでいる。従って、DRAMデバイスは、順次ス
トローブされる2つの別個の値(行アドレス及び列アド
レス)を必要とする。
【0013】主メモリ20は、典型的には所望のサイズ
のメモリ“バンク”を形成するようにひとまとめにされ
た複数のDRAMチップから形成されている。現在コン
ピュータに於いて使用されている一般的なバンクサイズ
は、4、16、32、または64メガバイト(MB)で
ある。複数のバンクからなるメモリは、通常、コンピュ
ータシステムに於いてサポートされている。アドレスの
より上位のビットは、異なるバンクの中からの選択に用
いられる。より下位のビットは、メモリアドレスの異な
る半分に分けられ、DRAMデバイス内にローディング
される。Mountain View、Califor
niaの、Sun Microsystems社から入
手可能なスパークステーション10(Sparcsta
tion10)で用いられている32ビット主メモリに
ついて考えてみる。図5は、アドレスビットからなる幾
つかのグループに分けられた32ビットアドレスを示し
ている。この例に於いては、より下位のビットは物理ア
ドレスビット25〜0となっている。典型的なDRAM
チップでは、例えば、1M×4、4M×1、4M×4、
2M×8などの物理的構成に依存しているが、データア
クセス用には、13本のアドレスピンしか備わっていな
い。そのようなデバイスは、全ての内部ビットにアクセ
スするには13ビットよりも大きい数のアドレスを必要
とするであろう。従って、デバイスにアドレス全体をロ
ードするには、2つの別個のアドレスストローブシーケ
ンスが必要とされている。これらの2つのアドレススト
ローブは、通常、行アドレスストローブ(Row Ad
dress Strobe:RAS)及び列アドレスス
トローブ(Column Address Strob
e:CAS)として知られている。これらのアドレスス
トローブ(DRAMデバイス上の別個の制御信号)によ
って、行アドレスと列アドレスは、それぞれ共通の行/
列アドレスピンからDRAM内へ順次ロードされる。
【0014】一般的に、DRAMデバイスは、行アドレ
ス値が先で、列アドレス値がその次というように動作す
る。DRAMデバイスは、どちらのアドレスビットが先
にロードされても気にしないが、それはDRAMは常に
最初のアドレスストローブを行アドレスとして認識し、
DRAMデバイスメモリアレイ内の複数の行の中から選
択するからである。同様に、第2のストローブされたア
ドレスは、常に、列アドレスとなるが、それはこのアド
レスビットのセットは、DRAMデバイスメモリアレイ
内の特定の列を物理的に選択するからである。選択され
た行ラインと列ラインの交点によって、アクセスされる
DRAMの特定の位置が決まる。
【0015】形式的には、ユーザはアドレス(行及び
列)ビットを自由に矛盾なく入れ替えることができ、D
RAMは所望のデータロケーションに的確にアクセスす
ることができる。しかしながら、ある理由があってその
ようにはしない。即ち、もしアクセスが逐次的に行われ
るならば、DRAMは大幅にその性能(読み出し/書き
込み速度)を向上させることができる。コンピュータ、
特にキャッシュ用のコンピュータは、しばしば、主メモ
リ内のデータに逐次的にアクセスする。従って、行と列
の値を入れ替えることは、DRAMにから見た通常の物
理アドレスの逐次性を壊し、DRAMの性能は深刻な影
響を受けるであろう。この逐次的なアドレスは、しばし
ばページモードまたは静的列アドレス指定方法と呼ばれ
る。この特性を有するDRAMは、列値を表すより下位
のビットだけを置き換えることによってデータに逐次ア
クセスし、列値の限定された範囲に対してデータへのア
クセス時間を半分に縮めることができる。DRAMの逐
次的なアクセスによって達成されるこの処理速度の優位
性は、従来、他のアドレス指定方法があまり深く追及さ
れなかったことの理由の一つである。
【0016】このことは、アドレス信号の数を減少させ
ることが望まれている場合、設計者がジレンマに陥ると
いうことを意味している。このジレンマは、主メモリの
DRAMが、列アドレスがストローブされる前に行アド
レスがストローブされることを必要とするため、主メモ
リ20が上位アドレスビットを優先させていることによ
って発生する。一方、キャッシュは常に物理アドレスの
より下位のビット(0〜N。ここでNはキャッシュデー
タRAMにアクセスするのに用いられる最大アドレスビ
ットである)を必要とする。しかしながら、物理アドレ
スのより下位のビットは、主メモリ20によって用いら
れるDRAMの列アドレス値にたまたま対応している。
上述のDRAMのアドレス指定の説明で述べたように、
アドレス指定が逐次的に行われる場合にDRAMの性能
が向上するため、物理アドレスのより下位のビットが列
アドレスとして働くようにしておくことは、非常に好ま
しい。DRAMの行アドレス値は上位アドレスビットか
ら構成されているため、これらのビットはキャッシュ指
標アドレス値とは完全に違っている。従って、キャッシ
ュメモリ12と主メモリ20の両方のアドレス指定をす
る2つの値を共有することはできない。このジレンマの
ために、高性能コンピュータシステムを実現しようとし
ている設計者は、キャッシュメモリ12と主メモリ20
へのアクセスを同時に始められるように、キャッシュR
AM用の下位ビットと主メモリ用の上位ビットとを提供
するフルアドレスを要求した。従来技術に於ける解決法
は、CPU11からフルアドレス値を出力することであ
った。
【0017】
【発明が解決しようとする課題】本発明の主な目的は、
キャッシュメモリ及び主メモリのアドレス指定を行うの
に必要とされるアドレスピンの数を削減すると共に、コ
ンピュータシステムの動作速度を向上させるための新規
なアドレス指定方法を用いたコンピュータシステム及び
その動作方法を提供することである。
【0018】
【課題を解決するための手段】本発明によると、新規な
方法でアドレス指定される主メモリ及びキャッシュメモ
リを用いたコンピュータシステム及びその動作方法が提
供され、それによってキャッシュメモリ及び主メモリの
アドレス指定を完全に行うのに必要とされるアドレスピ
ンの数が削減されると共に、コンピュータシステムの動
作速度が向上している。CPUアドレスバスは、キャッ
シュメモリと主メモリによって共有されており、主メモ
リの全内容を完全にアドレス指定するのに必要とされる
のより少ないバスリードを有している。メモリアクセス
が要求されると、キャッシュメモリにアクセスするのに
十分な数のアドレスビットを含む第1セットのアドレス
ビットがCPUからCPUアドレスバス上に出力され
る。これらのビットはまた、主メモリに対する行アドレ
スビットとしても働き、主メモリアドレスバッファに格
納される。キャッシュヒットの場合は、適切なデータが
キャッシュメモリに書き込まれるか、またはキャッシュ
メモリから読み出される。逆に、キャッシュミスの場合
は、主メモリアドレスバッファに格納された行アドレス
ビットは、主メモリ内にストローブされ、CPUは、主
メモリの要求されているメモリロケーションにアクセス
できるように、列アドレスビットとして働く残りのメモ
リビットを出力する。
【0019】
【発明の実施の形態】本発明によると、主メモリのアド
レス指定やキャッシュメモリの指標付けをするためのア
ドレスの用いられ方が、従来のアドレスの使用法に対し
て改良されている。本発明に従うと、キャッシュメモリ
の指標付けをするのに、より下位のアドレスビットがな
お用いられている。キャッシュメモリで用いられている
RAMは、通常、主メモリと較べて小さいため、キャッ
シュメモリのアドレス指定をするのに必要とされるアド
レスビットの数は、主メモリのアドレス指定をするのに
必要とされる行または列アドレスビットの数と比較でき
る程度である。しかしながら、本発明によると、行及び
列アドレスに対するDRAMアドレス指定方法は反転さ
れている。このようにすることによって、主メモリにア
クセスするのと同じアドレスラインを用いて同時に効率
的にキャッシュメモリのアドレス指定を行う場合、従来
に較べてそれらのアドレスラインの数が、大まかに言っ
て、約半分になる。
【0020】本発明による新規なメモリアドレスビット
を用いた一例が、図6に示されている。これは、キャッ
シュメモリと主メモリを非常に効率的に用いるのに適し
ている。本発明に従ってアドレスの用い方を再配置する
ことによって、ある任意の時間に必要とされるアドレス
ピンの数は、外部キャッシュRAMをアドレス指定する
のに必要とされるアドレスピンの数に等しくなるまで削
減される。図6に示されている例では、1MBに達する
キャッシュメモリと4GBに達する主メモリに対して、
33から17に削減されている。
【0021】図7は、本発明による新規なシステムのア
ドレス指定方法を用いた、本発明に従って構成されたコ
ンピュータシステムの一実施例を示している。外観上
は、この実施例は図2にやや似ている。しかしながら、
重要な相違点が幾つかある。図7の新規な構造と図2の
従来の構造との間の重要な相違点の第1は、CPU41
からのピンの数がより少ないという点であり、この例で
は、アーキテクチャ及びサイズが同一なキャッシュ及び
主メモリを含む図2の従来の例に於ける33アドレスピ
ンに対して17ピンとなっている。本発明に従った第2
の重要な相違点は、外部アドレスバッファ/MUX43
が、CPU41から入力される“行”及び“列”アドレ
ス値を保持するレジスタされたバッファを含んでいるこ
とであり、このとき列アドレスが最初に保持され、その
次に行アドレスが保持されるようにされ、それらは、こ
の外部アドレスバッファ/MUX43によって、主メモ
リ42に、行アドレスが最初で、列アドレスがその次に
なるように加えられる。本発明の一実施例によると、列
アドレスを最初に出力し、行アドレスを次に出力するマ
ルチプレクサの機能は、CPU41によって実行され、
それによって構成要素のコストが上昇しないようにされ
ている。メモリ制御ロジック(主メモリ40の一部とし
て形成されている)は、的確な時間に正しいアドレス
(行及び列)を取り込むように、適切な制御信号をスト
ローブする。
【0022】図8は、本発明の一実施例を示しており、
CPU41が、主メモリ40及びキャッシュメモリ42
を含む外部デバイスにアドレスを提供するために、それ
らのアドレスに対して内部的にどのように動作するかを
表している。興味深いことは、CPU41は従来技術に
於けるのと同様にアドレスに関して動作することができ
る一方で、本発明に従って、アドレスピンの用いられ方
が改良されたことによってピンの数がより少なくなって
いるということを含む幾つかの利点を有しているという
ことである。
【0023】図10及び図11は、本発明に従ったコン
ピュータシステムの動作方法を、ここに説明される例に
従って示しているフローチャートであり、メモリアクセ
スが、メモリからのデータの読み出しではなく、メモリ
へのデータの書き込みを目的としている場合に、この発
明がどのように動作するかということを示していると共
に、キャッシュヒットとキャッシュミスの何れの場合の
処理方法についても示している。
【0024】図12は、この実施例の動作を表すタイミ
ングダイアグラムである。動作時、CPU41の内部で
は、新たなメモリアクセス要求が生成される。これによ
ってアドレスが物理アドレスレジスタ410に取り込ま
れる。第1部分(より下位の部分)のアドレス(行/キ
ャッシュ指標値)が、アドレスマルチプレクサ411に
よって選択され、バス56を介して、キャッシュメモリ
42とアドレスレジスタ/バッファ43に同時に送られ
る。このステップによって、キャッシュメモリ42のア
クセスが開始され、それと同時に主メモリ40へのアド
レスセットアップ時間がスタートされる。また、このス
テップによって、メモリ(行)アドレス値がデコーダ5
7によってデコードされ、主メモリ40を構成している
複数の異なったメモリデバイスの中から選択が可能とな
る。キャッシュメモリ42と主メモリ40にいったんア
ドレスが送られると、CPU41は必要とされるアドレ
ス及びデータアクセス伝達時間の間、待ち状態となる。
【0025】キャッシュメモリ42からのデータは、C
PU41にロードされ、キャッシュヒット/ミスのチェ
ックが、バス62を介してタグメモリ63からアクセス
されたタグデータを基に、CPU41のタグデータヒッ
ト/ミスロジック415によって行われ、所望のデータ
がキャッシュメモリ42に格納されているかどうかが判
定される。データがキャッシュメモリ42内にあった場
合(キャッシュヒット)は、主メモリ40に更にアドレ
スを送る必要はない。この場合、動作が読み出しである
場合、データはキャッシュメモリ42からCPU41へ
送られる。一方、動作が書き込みの場合、データはCP
U41からデータパス61上に送出され、キャッシュメ
モリ42に書き込まれる。また、タグデータはCPU4
1によってバス62上に出力され、タグメモリ63に書
き込まれる。
【0026】逆に、データがキャッシュメモリ42にな
かった場合(キャッシュミス)は、キャッシュ/メモリ
タイミングシーケンサ413は、デコーダ57によって
選択された主メモリ40のメモリデバイス内に、アドレ
スレジスタ43に格納された行アドレスを(搬用RAS
信号を介して)ストローブし、更にアドレスマルチプレ
クサ411から主メモリ40に列アドレスを送出する。
列アドレスが主メモリ40に到達すると、列ストローブ
制御(CAS)信号がCPU41によって生成され、こ
の信号は、アドレスのこの第2の半分を主メモリ40に
ロードするのに用いられる。主メモリ40によって必要
とされるアクセス時間の間待った後、データはデータト
ランシーバ59を介してバス61を通じてCPU41に
送られる。主メモリ内のワードに引き続きアクセスする
ため、次の列アドレスがCPU41によってに送出さ
れ、新しい列アドレスのストローブが行われる。
【0027】この最後の動作がキャッシュミスに応じた
書き込みの場合は、データは、CPU41からの書き込
みイネーブル(WEN)信号を用いることによって、主
メモリ40から読み出されるのではなく、主メモリ40
へ書き込まれる。
【0028】図7及び図8に示されている新規なCPU
及びメモリ構造の動作に対する適切な信号タイミングの
一例が、図9のタイミングダイアグラムに示されてい
る。新たなアドレスサイクルの開始が、アドレスストロ
ーブ信号(AS*)によって示されている。最初に出力
されるアドレスは、キャッシュアクセスの指標付けをす
るのに必要とされる物理的なCPUアドレスである。こ
れによって、タイミングに敏感な通常のキャッシュアク
セスが、様々な条件によって悪影響を受けないことが保
証される。この信号タイミングの例は、同期式システム
(即ち、クロックがシステム(CPU41やキャッシュ
メモリ12)にタイミング信号を供給しているようなシ
ステム)として示されている。本発明は同期式動作を必
要とするものではないが、単に実現に於ける例として示
している。本発明に従って、アドレスの第1の半分が主
メモリ40のDRAMの“行”アドレス、即ち、DRA
Mアクセスを開始するのに必要とされるアドレスの最初
の部分を表しているため、主メモリのアクセスの開始に
遅れが生じない。
【0029】主メモリ40に対する行アドレスは、キャ
ッシュメモリ42に加えられるのと同時にメモリアドレ
スレジスタ43にロードされる。従来のシステムでは、
キャッシュメモリが要求された情報を含んでいないとい
うことが確認されるまで、主メモリのDRAMアクセス
は試みられない。しかしながら、DRAMアドレスライ
ンの電気的な負荷は通常大きいため、アドレス情報がキ
ャッシュメモリ42に与えられるのと同時にそのアドレ
スを主メモリのDRAMピンに加えることによって、最
大量の伝達時間が主メモリ40のDRAMに与えられ
る。これによって、後に続くメモリアクセスに於いて貴
重な時間を節約することができる。
【0030】いったんキャッシュメモリ12によって要
求されたデータが使用不能であると判定されると、主メ
モリアクセスが開始される。行アドレスが行/列アドレ
スレジスタ43に既に取り込まれているため、CPU1
1はバス46を形成しているより少ない数のアドレスピ
ン上に列アドレスを出力することができる。従って、本
発明によると、主メモリアクセスが要求されたとき、主
メモリ40は、CPU11からのより数の少なくなった
アドレスピンと、その結果幅の狭くなったアドレスバス
46とを用いて、アドレス情報の全体を受信する。
【0031】様々なキャッシュデータサイズ及び性能基
準に対して、異なるキャッシュラインサイズを許容する
ため、及び/またはDRAMプリフェッチ(prefe
tch)動作を開始するため、アドレスはわずかに変形
されてストローブされる。最初のアクセスの後の、アド
レスのストローブのされ方は、DRAMモジュールから
のメモリデータバスの幅、キャッシュラインサイズ、及
びCPUデータリクエストのサイズに大きく依存してい
る。
【0032】例えば、キャッシュラインサイズが32バ
イトで、DRAMメモリSIMMが1アドレス当たり2
56ビット(即ち32バイト)のデータを提供する場
合、アドレスシーケンスは: 行アドレス RAS(行アドレスストローブ)制御信号 列アドレス CAS(列アドレスストローブ)制御信号 となる。
【0033】別の方法として、例えばキャッシュライン
サイズが32バイトでDRAMメモリSIMMが1アド
レス当たり128ビット(即ち16バイト)のデータを
提供する場合、アドレスシーケンスは: 行アドレス RAS(行アドレスストローブ)制御信号 行アドレス CAS(列アドレスストローブ)制御信号 列アドレス+16 CAS(列アドレスストローブ)制御信号 となる。
【0034】別の実施例では、幅が広いデータ経路上
に、ある形態のデータマルチプレクサが備わっており、
プロセッサのデータキャッシュにロードされ得るよう
に、それらのデータ経路のサイズを減らしている。図8
に示されている例では、例えばキャッシュ/CPUデー
タ経路61は幅64ビットとして示されており、従っ
て、2:1MUX(128ビットの幅のメモリSIMM
に対して)または4:1MUX(256ビットの幅のメ
モリSIMMに対して)が別の実施例に於いては用いら
れている。
【0035】また、キャッシュメモリと主メモリのアク
セスに同じアドレスピンを用いているため、ある実施例
では、データが主メモリSIMMから流れている場合
に、キャッシュデータRAMの適切なローディングがで
きるようにピンのタイミング(pin timing)
が制御される。そのようなタイミングシーケンスの簡単
な例が、図13に示されている。この例は、64ビット
に多重化された幅256ビットのメモリバスについて示
している。
【0036】また、別の実施例では、行アドレス及び列
アドレスが、これらの多重化されたビット量(bit
quantities)の一つに組み合わされて、適切
に格納され、キャッシュメモリコントローラまたは主メ
モリコントローラによって必要に応じて用いられる。
【0037】図13に示されている以下の実施例では、
逐次的なDRAMアドレス指定に対して列アドレス値を
ストローブする必要がない。この例に於けるキャッシュ
ラインサイズは32バイトである。図13に示されてい
るタイミングシーケンスでは、CPUがキャッシュコン
トローラユニットにリクエストを生成している。ステッ
プ1では、キャッシュロジックがアドレスの交換をし、
組み合わされたキャッシュ指標アドレス及びメモリ行ア
ドレスを送出している。ステップ2に於いてデータがタ
グRAMから戻ってきたとき、それがキャッシュミスで
あるかどうかがチェックされる。もし(このタイミング
ダイアグラムの例のように)キャッシュミスが起こって
いる場合は、メモリロジックへのRAS制御信号がステ
ップ3に於いてアクティブになる。新しいデータ(列ア
ドレス値)が、ステップ4に於いてアドレスピン上に置
かれる。十分な時間が経過した後(ステップ5)、CA
S制御信号がメモリに対してアクティブになる。メモリ
デバイスへのアクセス遅れを待った後(ステップ6)、
第1のデータがCPU及びデータキャッシュRAMに読
み戻される。この例では、アドレスピンが、主メモリア
ドレス値だけでなくキャッシュメモリ指標としても働く
ビットを供給するため、データをキャッシュメモリに格
納する前に、それらを所望のアドレスに対するキャッシ
ュ指標値に切り替え直さなければならない。最初のデー
タワードをキャッシュに書き込んだ後(及びCPUへと
データを戻した後)、第2のデータワード及びアドレス
がステップ7に於いて到着する。この場合、アドレス
は、適当に増加されてCPUから供給され、データはメ
モリマルチプレクサ回路から供給される。ステップ8及
びステップ9は、キャッシュラインの埋め込みを完了す
るように、64ビットデータバスに逐次多重化されてい
る残りのワードを示しているだけである。
【0038】CPUのピン上の指標キャッシュアドレス
を繰り返し増加する簡単な別の方法では、バーストキャ
ッシュRAM(burst cache RAM)が用
いられる。この方法では、最初のアドレスのみが必要と
され、その後は、適切なストローブ制御の元で、キャッ
シュメモリの内部でアドレスは自動的に増加(キャッシ
ュラインサイズに達する)される。
【0039】主メモリ40のDRAMデバイスに対し
て、ページモードアクセスまたは静的列アクセスを用い
るようなシステムに於いても、本発明は、これらの特徴
のほとんどをサポートする十分なフレキシビリティを備
えている。本発明に従ってページモードをサポートする
方法は、ページモードが必要とされる理由とページモー
ド主メモリの大きさとに依存する。
【0040】ページモードDRAM主メモリ動作をサポ
ートするため、本発明の別の実施例に於いては、DRA
Mが限れられたページモード型の動作をすることができ
るように、少数のアドレスビットが再割当てされる。デ
ータ幅と主メモリ及びキャッシュメモリのアドレス範囲
とに依存するが、この実施例では、少数のアドレスビッ
トの交換しか含まないか、あるいは、単に少数の付加的
なアドレスピンの追加しか必要としない。これらの付加
的なピンは、必要ならば、DRAMの通常のページモー
ド動作で適切に機能するように、“新たな列”アドレス
値のわずかな部分が増加することを可能とする冗長なア
ドレス値を形成する。
【0041】図14の例では、システムはCPU941
の外部にある128キロバイトのキャッシュメモリ94
2の周辺について設計されている。主メモリ940は4
つのメモリSIMMスロット940−1〜940−4を
含んでおり、それらの各々は64MBの主メモリ全体に
対してSIMM一つ当たり16MBに達するメモリをサ
ポートするように設計されている。
【0042】キャッシュメモリ942は、直接マッピン
グキャッシュメモリであり、32バイトのラインサイズ
を用いている。主メモリ940及びキャッシュメモリ9
42との間のデータ経路961は、64ビット(8バイ
ト)の幅である。
【0043】この例は、本発明による新規なアドレス指
定方法を用いており、アドレスピンの数が削減されてい
る。しかしながら、キャッシュメモリ942のラインサ
イズは32バイトであり、主メモリ940のデータ経路
では、1度に各DRAMメモリアクセスによって8バイ
トしか検索することしかできないため、ある形態のペー
ジモードアドレス指定/アクセス方法が用いられてい
る。
【0044】これを実現するためには、4つの性質の異
なった問題に必要とされるアドレスについて検討しなけ
ればならない。これらの問題とは、即ち、外部キャッシ
ュメモリ942の要求、全物理メモリ範囲、本発明の新
規なアドレス指定方法を伴った主メモリ940(ページ
化されていない)、及びページモードの要求である。
【0045】この例では、外部キャッシュメモリ942
は、(例えば、4つの16K×16SRAMチップを用
いた)16K×64ビットメモリとして構成された12
8KBである。このことは、16KエントリRAMデバ
イスのアドレス要求は14ビット(214=16,384
アドレスロケーション)で有ることを意味する。従っ
て、外部のキャッシュメモリ942のアドレス指定をす
るために、最少でも、CPU940からのアドレスライ
ンは14本必要である。
【0046】32ビットのアドレス範囲を仮定すると、
この例では全メモリ空間は4GBである。しかしなが
ら、この例では、アドレス空間のうち64MBだけしか
物理的に実現されていない。このことは、CPU940
は、本発明の新規なアドレス指定方法ではなく従来の技
術を用いた場合、26ビットのアドレス情報を提供する
ということを意味している。
【0047】この例に於ける主メモリ940のDRAM
は、2M×64(全体で16MB)の4つの別々のバン
ク940−1〜940−4として構成されている。2M
×8のDRAM(SIMM当たり8個)は、実際には2
M×8として構成された16MBのデバイスである。通
常の16MB×1のDRAMは、12個の行アドレス値
と12個の列アドレス値とを必要とする。しかしなが
ら、×8構造で実現されているため、DRAMは12個
の行アドレスと9個の列アドレスを必要とする。従っ
て、12+9=21ビットであり、221によって、2M
×8デバイスのアドレス指定をするために必要とされる
2M個のエントリを生成することができるということに
注意されたい。
【0048】
【表1】
【0049】本発明による新規なアドレス指定方法を用
いるが、ページモードアドレス指定を用いない場合は、
主メモリ940のDRAM上の2M個のエントリをアド
レス指定するのに、表1に示され、図15にも示されて
いるように、21個のアドレスビット(CPUアドレス
[23:0]のうち、[2:0]は、64ビット/8バ
イト幅のデータ経路のためには用いられない)を必要と
する。これらの21個のアドレスビットは、表1に示さ
れているように、従来に於いては、12の行アドレス値
と9つの列アドレス値とに分解される。即ち、行アドレ
ス=CPUアドレス[23:12]、列アドレス=CP
Uアドレス[11:03]となっている。本発明による
と、これは反転されて、新たな行アドレスは[14:0
3]となり、列アドレスは[23:15]となる。
【0050】CPU940からのアドレスビットのこの
ような配置によって、図14に於いてTA[13:0]
として示されているように、キャッシュメモリ942に
対する指標値(14ビット)が与えられると共に、主メ
モリ940に対する行/列アドレス値が与えられる。こ
の例のアドレスビットマッピングは図15に示されてい
る。
【0051】上位2つの列アドレスビットは、主メモリ
940によって使用されるだけでなく、最小限のキャッ
シュ指標アドレス要求を満たすような冗長信号としても
現れる。行アドレス+列アドレスビットは、主メモリ9
40の内部で組み合わされた場合、CPUアドレス[2
3:03]の完全なセットを形成する。また、列アドレ
スは9ビットの長さしかなく、主メモリ940へのアド
レスレジスタ/信号は12ビットの幅を持っているた
め、これらの3つの未使用アドレスビット位置にはダミ
ーの値が入れられる。
【0052】ページモード要求を処理するため、システ
ムによって実行される逐次的なアクセスのタイプについ
て説明する。この例では、主メモリ940からキャッシ
ュメモリ942に新たなラインがロードされたとき、ま
たはキャッシュメモリ942にラインが書き出されたと
き(ライトバック(write back)キャッシュ
プロトコルを仮定している)には常に、32バイト逐次
アクセスが実行される。メモリへのデータアクセスは1
度のアクセスにつき8バイトしかできないため、ページ
モードに於いては、ラインの埋め込み(または格納)動
作から残りの24バイトデータを読み出すために更に3
回のアクセスが必要とされる。この4つの逐次的なアク
セス要求を可能にするには、アドレスの列成分の2つの
最下位ビットが各アクセスに対し1だけ増加することが
必要である。
【0053】キャッシュラインの埋め込み動作は逐次的
であり、ラインサイズを法(modulo)として重な
っているため、列アドレスに於いて、下位の2つのビッ
トしか増加されない。従って、上述したような非ページ
モードの本発明の実施例と比較して、少し異なった行/
列アドレス分解が用いられる。増加する内部のCPUア
ドレスの値は、この例では、アドレスビット[4:3]
である。一実施例では、行/列アドレスビットは若干シ
フトされ、主メモリ940によって見られるアドレスは
(再度組立られたとき)、表1に示されているようにな
る。
【0054】キャッシュ指標付アドレスの整合性を保つ
ため、キャッシュメモリ942へのピンアドレスの上位
2ビットは、必要とされるように、全14ビットを供給
するように適合されている。
【0055】この例では、キャッシュに対する逐次的な
バースト読み出しまたはバースト書き込みは、以下のよ
うになっている。
【0056】 行アドレス(CPU アドレス[16:05]) (1)列アドレス(CPU アドレス[23:17],
[04:03]) (2)列アドレス(CPU アドレス[23:17],
([04:03]+1)) (3)列アドレス(CPU アドレス[23:17],
([04:03]+2)) (4)列アドレス(CPU アドレス[23:17],
([04:03]+3))
【0057】4つの別個のDRAMバンクのアドレス指
定をするため、更に2つのアドレスビットが必要とさ
れ、4つのバンクの選択制御信号(DRAMの行アドレ
スストローブ、即ちRAS信号)を供給するようにデコ
ードされる。図14の例では、これらの4つのバンク選
択制御信号ビットは、CPU941によってデコードさ
れ、4つの別々のピン(RAS0、RAS1、RAS
2、RAS3)として送出される。
【0058】図16に示されている例は、“きれいな
(clean)”キャッシュライン上のキャッシュの読
み出しミス(32バイトラインの埋め込み)であり、こ
れは、ステップ1に於ける、CPU読み出しリクエスト
及びアドレス読み出しによって始まっている。キャッシ
ュコントローラ/メモリインタフェースユニットは、組
み合わされたキャッシュ指標及び行アドレスを、CPU
のアドレスピン上に送出する。ステップ2に於いて、そ
のアドレスが内部キャッシュSRAM及びDRAMアド
レスラッチに到達すると、行値はDRAMアドレスラッ
チに取り込まれ、DRAM SIMMに対するアドレス
セットアップ時間がスタートする。キャッシュSRAM
からのデータも使用可能となり、キャッシュ制御ヒット
/ミスロジックへと入力される。DRAMへの行アドレ
スがラッチされ、キャッシュデータ/タグ情報が検索さ
れているため、アドレスピンは列アドレス値にスイッチ
される。ステップ3に於いては、内部キャッシュロジッ
クによって、データがキャッシュヒットであるか否か判
定される。この例では、データは有効なロケーションに
なく(キャッシュミス)、従って、ステップ4に於い
て、要求されている主メモリSIMMが、行アドレスス
トローブ(RAS)を介してアクセスされる。DRAM
のアドレス上のホールド時間は、RAS制御に比較する
と、ゼロnsであるため、殆ど同時刻にDRAMアドレ
スラッチはストローブされ、列アドレス値を取り込む。
次の(増加された)列アドレス値は、CPUアドレスピ
ンにセットアップされ、最初のページモードサイクルに
対して準備される。
【0059】DRAMのRASからCASの最小の間隔
の後、列アドレスストローブ(CAS)がステップ5に
於いてアクティブとなり、選択されたメモリSIMMの
DRAMデバイスに列アドレスをラッチする。適当なア
クセス時間によってデータのDRAMからの出力が可能
となった後、ステップ6で、DRAMアドレスラッチに
次の列アドレス値をロードすることによって、列アドレ
スに新しい値が与えられる。この時データがキャッシュ
にも戻ってくるため、書き込み動作が持続している間、
適切なSRAMアドレスがキャッシュピンに再び置かれ
る。しかしながら、一実施例では、特殊化されたバース
トモードSRAMが用いられており、それらはアドレス
のコピーを内部に保持して、内部で増加させる機能を実
行することによって、このような要求を不要とし、この
タスクのキャッシュコントローラの負荷を軽減してい
る。
【0060】この例では、キャッシュタグ値は一度だけ
(通常、ラインの最初の書き込み時に)更新され、バー
ストライン埋め込み動作の間、各キャッシュデータRA
Mの書き込みの度に行われることはないことに注意され
たい。
【0061】CAS制御信号は、DRAMのCASプリ
チャージ(precharge)時間をスタートするよ
うに非アクティブになる。DRAMデータは、ステップ
7で、キャッシュSRAMにロードされるようにCPU
/キャッシュコア(core)に送り返され、要求され
るように、CPUに与えられる。CAS制御信号は最小
限のプリチャージ時間の後、再度アクティブになり、最
初のページモードアクセスをスタートさせる。最小限の
データアクセス時間が経過した後、データはキャッシュ
/CPUに送り返され(2回目)、CASは再度非アク
ティブになる。このシーケンスは更に2回繰り返される
(ステップ9、10、11及び12)。それによって、
新たなキャッシュラインを埋めるのに必要な32バイト
を読み込むのに必要とされる4つのシーケンシャルペー
ジモードアクセスが完了する。
【0062】本発明はこれで完全に説明された。当業者
にとっては、本発明の範囲及び精神を逸脱することなく
様々な変形変更ができることは明らかであろう。
【図面の簡単な説明】
【図1】図1は、典型的な従来技術のコンピュータシス
テムを表しており、これらは別個の主メモリアドレスバ
スとキャッシュアドレスバスとを有するキャッシュメモ
リ及び主メモリを用いている。
【図2】図2は、共有メモリアドレスバスを備えた主メ
モリ及びキャッシュメモリを用いた典型的な従来技術の
コンピュータシステムを示している。
【図3】図3は、典型的な従来のキャッシュメモリのア
ドレス分解法を示している。
【図4】図4は、典型的な従来の主メモリのアドレス分
解法を示している。
【図5】図5は、スパークステイション10に於ける3
2ビット主メモリアドレスの分解を示している。
【図6】図6は本発明の一実施例に従った主メモリとキ
ャッシュメモリの両方で使用するためのアドレスビット
の分解について示している。
【図7】図7は、本発明の一実施例に従って用いられる
のに適したコンピュータシステムのブロック図を示して
いる。
【図8】図8は、本発明の一実施例に従って動作するコ
ンピュータシステムのより詳細なブロック図である。
【図9】図9は、図8の実施例に関連するタイミングダ
イアグラムである。
【図10】図10は、図11と共に主メモリ40とキャ
ッシュメモリ42の両方によって用いられる共有アドレ
スバス46を用いた本発明の一実施例の動作を示すフロ
ーチャートである。
【図11】図11は、図10と共に主メモリ40とキャ
ッシュメモリ42の両方によって用いられるアドレスバ
ス46を用いた本発明の一実施例の動作を示すフローチ
ャートである。
【図12】図12は、図10及び図11の実施例に関連
するタイミングを示したタイミングダイアグラムであ
る。
【図13】図13は、多重化されたアドレス指定の関連
する本発明の一実施例の動作を説明するためのタイミン
グダイアグラムである。
【図14】図14は、ページモードDRAM主メモリ動
作に於いて用いるのに適した本発明の構造の一例を説明
するためのブロックダイアグラムである。
【図15】図15は、従来技術に於けるアドレスビット
と、図14の実施例に対する本発明の別の実施例を説明
する図である。
【図16】図16は、本発明に従ったキャッシュ読み出
しミスに於けるページモードメモリ動作の一例を説明す
るタイミングダイアグラムである。
【符号の説明】
10 従来のコンピュータシステム 11 CPU 12 キャッシュメモリ 13 たアドレスバッファ 14 キャッシュメモリアドレスバス 15 データバス 16、18 主メモリアドレスバス 17 アドレスバッファラッチ制御ライン 19 主メモリデータバス 20 主メモリ 21 データトランシーバ 23 外部メモリインタフェース 26 アドレスバス 40 主メモリ 41 CPU 42 キャッシュメモリ 43 外部アドレスバッファ/MUX(メモリアドレス
レジスタ) 46 アドレスバス 56 バス 57 デコーダ 59 データトランシーバ 61 データパス 62 バス 63 タグメモリ 410 物理アドレスレジスタ 411 アドレスマルチプレクサ 413 キャッシュ/メモリタイミングシーケンサ 415 タグデータヒット/ミスロジック 940 主メモリ 940−1〜940−4 メモリSIMMスロット 941 システムはCPU 942 キャッシュメモリ 961 データ経路
フロントページの続き (72)発明者 ダニエル・イー・レノスキー アメリカ合衆国カリフォルニア州95129・ サンノゼ・クラレンドンドライブ 4885

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 プロセッサ、主メモリ、キャッシュメ
    モリ、及び前記プロセッサを前記主メモリと前記キャッ
    シュメモリとに接続するアドレスバスを含むコンピュー
    タシステムの動作方法であって、 前記プロセッサによって主メモリに対する全ビットより
    も少ない第1の複数のアドレスビットが前記アドレスバ
    スに出力されるようにする過程と、 前記キャッシュメモリによって前記第1の複数のアドレ
    スビットを基にキャッシュメモリアクセスが実行される
    ようにする過程と、 前記主メモリのアクセス動作が開始されるように、前記
    主メモリによって前記第1の複数のアドレスビットが用
    いられるようにする過程と、 前記キャッシュメモリアクセスの結果がキャッシュミス
    であるか否かを判定する過程とを含み、 キャッシュミスの場合、前記キャッシュアクセス結果の
    判定過程は、更に、 前記プロセッサによって前記アドレスバス上に第2の複
    数のアドレスビットが出力されるようにする過程と、 前記主メモリへのアクセス動作が完了するように、前記
    主メモリによって前記第2の複数のアドレスビットが用
    いられるようにする過程とを含むことを特徴とするコン
    ピュータシステムの動作方法。
  2. 【請求項2】 前記第1の複数のアドレスビットの少
    なくとも幾つかが前記主メモリに対する行アドレスとし
    て働き、前記第2の複数のアドレスビットの少なくとも
    幾つかが前記主メモリに対する列アドレスとして働くこ
    とを特徴とする請求項1に記載の方法。
  3. 【請求項3】 前記キャッシュメモリアクセスと前記
    主メモリアクセスの開始が、実質的に同時に実行される
    ことを特徴とする請求項1に記載の方法。
  4. 【請求項4】 前記主メモリが複数のメモリバンクを
    含んでおり、 当該方法が、前記メモリバンクの中から適切な一つを選
    択するべく、前記第1の複数のアドレスビットの少なく
    とも幾つかをデコードしてデコードされた行アドレスス
    トローブ信号を生成する過程を含んでいることを特徴と
    する請求項2に記載の方法。
  5. 【請求項5】 前記キャッシュメモリアクセスの結果
    がキャッシュヒットの場合、要求されているメモリアク
    セスに関して前記プロセッサからそれ以上アドレスビッ
    トが出力されないことを特徴とする請求項1に記載の方
    法。
  6. 【請求項6】 前記第2の複数のアドレスビットを生
    成する過程が、複数のアドレスビットのセットを逐次生
    成する過程を含んでいることを特徴とする請求項1に記
    載の方法。
  7. 【請求項7】 前記主メモリがページモードメモリと
    してアクセスされることを特徴とする請求項1に記載の
    方法。
  8. 【請求項8】 コンピュータシステムであって、 プロセッサと、 主メモリと、 キャッシュメモリと、 前記プロセッサを前記主メモリと前記キャッシュメモリ
    とに接続するアドレスバスと、 前記プロセッサによって主メモリに対する全ビットより
    も少ない第1の複数のアドレスビットが前記アドレスバ
    スに出力されるようにするための第1のプログラム制御
    要素と、 前記キャッシュメモリによって前記第1の複数のアドレ
    スビットを基にキャッシュメモリアクセスが実行される
    ようにするためのキャッシュメモリコントローラと、 前記主メモリのアクセス動作が開始されるように、前記
    主メモリによって前記第1の複数のアドレスビットが用
    いられるようにするための主メモリコントローラと、 前記キャッシュメモリアクセスに応答して前記キャッシ
    ュメモリから情報を受け取り、前記キャッシュメモリア
    クセスの結果がキャッシュミスか否かを判定する第2の
    プログラム制御要素とを含み、 キャッシュミスの場合、前記第2のプログラム制御要素
    は、前記プロセッサによって前記アドレスバス上に第2
    の複数のアドレスビットが生成されるように前記第1制
    御要素を活性化すると共に、前記主メモリへの前記アク
    セス動作が完了するように前記主メモリによって前記第
    2の複数のアドレスビットが用いられるように前記第2
    制御要素を活性化することを特徴とするコンピュータシ
    ステム。
  9. 【請求項9】 前記主メモリが、前記第1の複数のア
    ドレスビットの内少なくとも幾つかを行アドレスとして
    用い、前記第2の複数のアドレスビットの内少なくとも
    幾つかを列アドレスとして用いていることを特徴とする
    請求項8に記載のシステム。
  10. 【請求項10】 前記プロセッサが、前記キャッシュ
    メモリアクセスと前記主メモリアクセスの開始が実質的
    に同時に実行されるようにしていることを特徴とする請
    求項8に記載のシステム。
  11. 【請求項11】 前記主メモリが複数のメモリバンク
    を含んでおり、 当該システムが、更に、前記メモリバンクの中から適切
    な一つを選択するべく前記第1の複数のアドレスビット
    の内少なくとも幾つかをデコードしてデコードされた行
    アドレスストローブ信号を生成するメモリバンクデコー
    ダを含んでいることを特徴とする請求項9に記載のシス
    テム。
  12. 【請求項12】 前記第2プログラム要素が、前記キ
    ャッシュメモリアクセスの結果がキャッシュヒットの場
    合、前記プロセッサによってそれ以上メモリアクセスア
    ドレスビットが生成されないようにしていることを特徴
    とする請求項8に記載のシステム。
  13. 【請求項13】 前記第2プログラム要素が、複数の
    アドレスビットのセットを逐次生成するための第3の制
    御要素を含んでいることを特徴とする請求項8に記載の
    システム。
  14. 【請求項14】 前記第2プログラム要素が、前記主
    メモリがページモードメモリとしてアクセスされるよう
    にするための第4の制御要素を含んでいることを特徴と
    する請求項8に記載のシステム。
  15. 【請求項15】 コンピュータシステムの提供方法で
    あって、 プロセッサを提供する過程と、 主メモリを提供する過程と、 キャッシュメモリを提供する過程と、 前記プロセッサを前記主メモリと前記キャッシュメモリ
    とに接続するためのアドレスバスを提供する過程と、 前記プロセッサによって主メモリに対する全ビットより
    も少ない第1の複数のアドレスビットが前記アドレスバ
    スに出力されるようにするための第1のプログラム制御
    要素を提供する過程と、 前記キャッシュメモリによって前記第1の複数のアドレ
    スビットを基にキャッシュメモリアクセスが実行される
    ようにするためのキャッシュメモリコントローラを提供
    する過程と、 前記主メモリのアクセス動作が開始されるように、前記
    主メモリによって前記第1の複数のアドレスビットが用
    いられるようにするための主メモリコントローラを提供
    する過程と、 前記キャッシュメモリアクセスに応答して前記キャッシ
    ュメモリから情報を受け取り、前記キャッシュメモリア
    クセスの結果がキャッシュミスか否かを判定する第2の
    プログラム制御要素を提供する過程とを含み、 キャッシュミスの場合、前記第2のプログラム制御要素
    は、前記プロセッサによって前記アドレスバス上に第2
    の複数のアドレスビットが生成されるように前記第1制
    御要素を活性化すると共に、前記主メモリへの前記アク
    セス動作が完了するように前記主メモリによって前記第
    2の複数のアドレスビットが用いられるように前記第2
    制御要素を活性化することを特徴とするコンピュータシ
    ステムの提供方法。
  16. 【請求項16】 前記第1の複数のアドレスビットの
    内少なくとも幾つかを行アドレスとして用い、前記第2
    の複数のアドレスビットの内少なくとも幾つかを列アド
    レスビットとして用いる主メモリを提供する過程を更に
    含むことを特徴とする請求項15に記載の方法。
  17. 【請求項17】 前記キャッシュメモリアクセスと前
    記主メモリアクセスの開始が実質的に同時に実行される
    ようにするプロセッサを提供する過程を更に含むことを
    特徴とする請求項15に記載の方法。
  18. 【請求項18】 複数のメモリバンクを備えた主メモ
    リを提供する過程と、 前記メモリバンクの中から適切な一つを選択するべく前
    記第1の複数のアドレスビットの少なくとも幾つかをデ
    コードしてデコードされた行アドレスストローブ信号を
    生成するためのメモリバンクデコーダを提供する過程と
    を更に含むことを特徴とする請求項15に記載の方法。
  19. 【請求項19】 前記キャッシュメモリアクセスの結
    果がキャッシュヒットの場合、前記プロセッサによって
    それ以上メモリアクセスアドレスビットが生成されない
    ようにする第2のプログラム要素を提供する過程を更に
    含むことを特徴とする請求項15に記載の方法。
  20. 【請求項20】 複数のアドレスビットのセットを逐
    次生成するための第3の制御ル要素を含む第2のプログ
    ラム要素を提供する過程を更に含むことを特徴とする請
    求項15に記載の方法。
  21. 【請求項21】 前記主メモリがページモードメモリ
    としてアクセスされるようにするための第4の制御要素
    を含む第2のプログラム要素を提供する過程をさらに含
    むことを特徴とする請求項15に記載の方法。
JP7211204A 1994-07-28 1995-07-27 コンピュータシステム及びその動作方法 Pending JPH08227376A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28183294A 1994-07-28 1994-07-28
US08/281,832 1994-07-28

Publications (1)

Publication Number Publication Date
JPH08227376A true JPH08227376A (ja) 1996-09-03

Family

ID=23078963

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7211204A Pending JPH08227376A (ja) 1994-07-28 1995-07-27 コンピュータシステム及びその動作方法

Country Status (3)

Country Link
EP (1) EP0694844B1 (ja)
JP (1) JPH08227376A (ja)
DE (1) DE69512159T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008193146A (ja) * 2007-01-31 2008-08-21 Canon Inc 復号回路
JP2010033533A (ja) * 2008-07-03 2010-02-12 Buffalo Inc メモリモジュール、および、メモリ用補助モジュール

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3092557B2 (ja) * 1997-09-16 2000-09-25 日本電気株式会社 半導体記憶装置
US7360023B2 (en) 2003-09-30 2008-04-15 Starcore, Llc Method and system for reducing power consumption in a cache memory

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04233642A (ja) * 1990-07-27 1992-08-21 Dell Usa Corp キャッシュアクセスと並列的にメモリアクセスを行なうプロセッサ及びそれに用いられる方法
US5247643A (en) * 1991-01-08 1993-09-21 Ast Research, Inc. Memory control circuit for optimizing copy back/line fill operation in a copy back cache system
JPH0561769A (ja) * 1991-09-02 1993-03-12 Daikin Ind Ltd メモリ・アクセス方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008193146A (ja) * 2007-01-31 2008-08-21 Canon Inc 復号回路
US8539170B2 (en) 2007-01-31 2013-09-17 Canon Kabushiki Kaisha Decoding circuit
JP2010033533A (ja) * 2008-07-03 2010-02-12 Buffalo Inc メモリモジュール、および、メモリ用補助モジュール

Also Published As

Publication number Publication date
DE69512159D1 (de) 1999-10-21
EP0694844B1 (en) 1999-09-15
DE69512159T2 (de) 2000-04-20
EP0694844A1 (en) 1996-01-31

Similar Documents

Publication Publication Date Title
EP0175080B1 (en) Microcomputer memory and method for its operation
EP0407119B1 (en) Apparatus and method for reading, writing and refreshing memory with direct virtual or physical access
JP2509766B2 (ja) キャッシュメモリ交換プロトコル
US8730759B2 (en) Devices and system providing reduced quantity of interconnections
US6931483B2 (en) Memory device having different burst order addressing for read and write operations
JPH0223591A (ja) コンピユータ・システム、コンピユータ・システム中のメモリの読取方法及び転送方法、メモリ制御の方法及びメモリ・コントローラ
US6219765B1 (en) Memory paging control apparatus
JPH0652633B2 (ja) メモリ・サブシステム
JPH10177519A (ja) 統合されたプロセッサ・メモリ装置
US6954822B2 (en) Techniques to map cache data to memory arrays
KR100637947B1 (ko) 데이터의 순차적 니블 버스트 오더링메모리 장치 및 그 방법
JP3468268B2 (ja) インターリーブ式キャッシュ
US6363460B1 (en) Memory paging control method
US5987570A (en) Performing overlapping burst memory accesses and interleaved memory accesses on cache misses
US7350016B2 (en) High speed DRAM cache architecture
JPH08227376A (ja) コンピュータシステム及びその動作方法
JP3967921B2 (ja) データ処理装置及びデータ処理システム
JP3583844B2 (ja) キャッシュメモリ方式
US6385687B2 (en) Method and apparatus for simultaneously accessing the tag and data arrays of a memory device
US6065097A (en) Apparatus and method for sharing a unified memory bus between external cache memory and primary memory
JPWO2001037098A1 (ja) データ処理装置及びデータ処理システム
JP3930195B2 (ja) データ処理システム
JPH0561769A (ja) メモリ・アクセス方法
JPH11143770A (ja) 多バンクdram制御装置
JPH03198288A (ja) メモリアクセス制御装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041102

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050202

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050209

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050621