JPH08297607A - 特殊バスサイクルに応答してキャッシュメモリを低電力モードに移行させる回路 - Google Patents

特殊バスサイクルに応答してキャッシュメモリを低電力モードに移行させる回路

Info

Publication number
JPH08297607A
JPH08297607A JP7293751A JP29375195A JPH08297607A JP H08297607 A JPH08297607 A JP H08297607A JP 7293751 A JP7293751 A JP 7293751A JP 29375195 A JP29375195 A JP 29375195A JP H08297607 A JPH08297607 A JP H08297607A
Authority
JP
Japan
Prior art keywords
signal
cycle
asserted
memory device
cache memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7293751A
Other languages
English (en)
Inventor
Jens K Ramsey
ジェンズ・ケイ・ラムゼイ
Jeffrey C Stevens
ジェフリー・シー・スティーヴンズ
Michael E Tubbs
マイケル・イー・タブズ
Charles J Stancil
チャールズ・ジェイ・スタンシル
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.)
Compaq Computer Corp
Original Assignee
Compaq Computer Corp
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 Compaq Computer Corp filed Critical Compaq Computer Corp
Publication of JPH08297607A publication Critical patent/JPH08297607A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0833Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30083Power or thermal control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 (修正有) 【課題】マイクロプロセッサによって実行される特殊バ
スサイクルに応答して外部即ちL2キャッシュメモリを
低電力モードに移行させる。 【解決手段】マイクロプロセッサは、そのクロックを遅
くするために、システム要求に応答して停止許可アクノ
リッジ特殊サイクルを実行する。もしシステムが時間の
予め決定された期間の間アイドルであるならば、この要
求は、コンピュータシステムによってアサートされる。
ホルト命令が実行される時に、ホルト特殊サイクルはマ
イクロプロセッサによって発生される。停止許可アクノ
リッジ及びホルト特殊サイクルは、マイクロプロセッサ
を低電力状態に置く。そのチップ選択入力がデアサート
される間、同期SRAMを低電力モードに置くために、
そのアドレスストローブ入力はアサートされる。非同期
のSRAM用には、そのチップ選択入力のデアサートが
SRAMを低電力モードに移行させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータシス
テムの電力節約技術に関し、特にコンピュータシステム
におけるキャッシュメモリデバイスを低電力モードに置
くことによって特殊バスサイクルに応答する回路に関す
る。
【0002】
【従来の技術】集積回路部品における急速な改良がより
強力なコンピュータシステムに至った。IC部品の第1
世代がバイポーラテクノロジを使って確立された。しか
しながらバイポーラデバイスは、より大規模及び高密度
部品の製造に障害と検証された大量の電力を消費した。
次に、ICの部品は金属−酸化物−シリコン(MOS)
テクノロジで製造された。しかし、IC産業がその急速
な成長を始める前には、相補形金属−酸化物−シリコン
(CMOS)デバイスの開発を待たねばならなかった。
CMOS部品は活性動作状態にない時に殆ど電力を消費
しない。この結果、CMOSテクノロジへの移行は、か
なりの低電力消費を維持しながら、より高密度及びより
強力なIC部品の製造を可能にした。
【0003】しかしながら、CMOSテクノロジを使用
しても、コンピュータシステム部品による電力消費は、
特にコンピュータシステムが通電中であるが使用中でな
い時に、重要なエネルギ量をまだ浪費させている。従
来、電力を節約する努力は、主要マイクロプロセッサへ
のクロックを停止又は遅くし、ディスク・ドライブ、ビ
デオシステム及びI/Oポートのような周辺機器への電
源を遮断することに集中していた。このようなコンピュ
ータシステムの電力消費を減少させる装置は、『コンピ
ュータシステムの電力消費を減少させるための装置』と
いう表題の、カータ氏等による米国特許第4,980,
836で説明される。カータ氏等は、選択された周辺機
器が時間のプリセット量毎にアクセスされなかった時を
決定するためにそのアドレス・バスを監視するコンピュ
ータシステムを記載している。時間のプリセット量が満
了した時に、コンピュータシステムは自分自身で電力を
落として、システムクロックを停止させる。更に、キー
ボードエレクトロニクスは低電力モードに置かれ、種々
の雑多なロジックへの給電が停止される。しかしながら
メモリデバイスは、プログラムを保持するために給電さ
れている。最近の進歩は、完全に給電を停止する前に全
システム状態をハードディスクにストアすることによっ
てメモリデバイスさえも給電を停止するのを許容した。
ただこれは、最後の手段であり、電力節約が全レベル及
び期間で望まれるが、非常に長い期間の直後のことでな
い。
【0004】マイクロプロセッサのクロック速度が迅速
に増加するので、マイクロプロセッサのサイクル時間及
びメモリ用のアクセス時間の開きも増加している。主に
コスト理由の為に、コンピュータ製造業者は、主メモリ
システムにダイナミック・ランダムアクセスメモリ(D
RAM)を導入している。DRAMのアクセス時間は、
マイクロプロセッサのサイクル時間に歩調を合わせるこ
とができず、データがマイクロプロセッサ及び主メモリ
間で転送される時には、待ち時間状態(ウエイト・ステ
ート)を挿入することが要求される。キャッシュメモリ
システムは、性能を改善するために、マイクロプロセッ
サ及び主メモリの間で実行される。キャッシュメモリシ
ステムは、大抵データが待ち時間状態の必要性なしでマ
イクロプロセッサでアクセスされるのを許容する高速S
RAMで実行される。キャッシュメモリは、主メモリか
ら回収されたデータのブロックをストアする。従って、
ヒットとなるキャッシュメモリへのどんなアクセスも、
時間のかなりの量を節約する。キャッシュミスは、主メ
モリから回収されるべきデータをまだ要求する。
【0005】
【発明が解決しようとする課題】キャッシュメモリシス
テムは、デバイスの非常に高速の為に電力の重要な量を
消費する。キャッシュメモリシステムのサイズが増える
毎に電力消費も増える。これは高性能のコンピュータシ
ステムにおける電力消費の大きい領域であるが、エネル
ギ節約がこれらの高性能のシステムでも望まれる。この
結果、消費された電力の全体の減少に援助可能である時
はいつでもこれらのキャッシュデバイスの電力消費が減
少されることは望ましい。
【0006】
【課題を解決するための手段】本発明による回路は、キ
ャッシュメモリシステムを低電力モードに置くことによ
ってコンピュータ特殊サイクルに応答する。特に好まし
い実施例は、停止許可アクノリッジ特殊サイクル及びホ
ルト特殊サイクルに応答する。停止許可特殊サイクル
は、好ましくはコンピュータシステムクロック信号を停
止或いは遅くさせる要求を指示して、停止クロック信号
として参照される信号がアサートされる時に、マイクロ
プロセッサによってアサートされる。停止クロック信号
は、時間の予め決定された期間アイドルであることをシ
ステムが検知した時に、アサートされる。ホルト特殊サ
イクルは、好ましくはマイクロプロセッサの操作をやめ
て、低電力状態に入るようにさせるマイクロプロセッサ
によって実行された停止指示に応答してマイクロプロセ
ッサによって発生される。そのような両サイクルにおい
て、マイクロプロセッサの操作が遅くされ或いは停止さ
れた。この結果、キャッシュメモリシステムは用いられ
ず、したがって、エネルギを節約するために低電力モー
ドに置かれる。本発明の他の特徴は、マイクロプロセッ
サ及びキャッシュメモリシステムが低電力モードから一
時的に取り出されてキャッシュ一貫性サイクルを行い、
サイクルが完了した後に低電力モードに戻ることであ
る。
【0007】本発明のより良い理解は、具体的な実施例
の次の詳細な記述が次の図面と関連して考慮される時に
得ることができる。
【0008】
【実施例】次の開示は、総てが本発明の譲受人に譲渡さ
れ、参照によって本願と協働している。1994年10
月14日に出願されたアランL.ゴットラム、ジェンズ
K.ラムゼイ及びマイケルJ.コリンズ氏による米国特
許出願連番08/324,016の表題『単一バンク、
多重ウエイのキャッシュメモリ』、1994年10月1
4日に出願されたマイケルJ.コリンズ、ガリーW.ト
ーメ、マイケル,モリアーティ、ジェンズK.ラムゼイ
及びジョンE.ラーソン氏による米国特許出願連番08
/324,246の表題『プロセッサ及びI/Oバス操
作用の書込配達キューを有するメモリ制御器及びキュー
を制御するための順序ロジック』、1994年10月1
4日に出願されたウイリアムJ.ウオーカ及びアラン
L.ゴットラム氏による米国特許出願連番08/32
3,263の表題『データエラー検知及び訂正システ
ム』、1994年10月14日に出願されたジェンズ
K.ラムゼイ氏による米国特許出願連番08/324,
020の表題『もし書込が主メモリの書込保護領域に発
生するならば、キャッシュメモリの部分を無効にする回
路』、及び1994年10月14日に出願されたジョン
E.ラーソン、マイケル,モリアーティ、マイケルJ.
コリンズ及びガリーW.トーメ氏による米国出願連番0
8/324,011の表題『メモリへのアクセスを仲介
するためのシステム』。
【0009】今図1を参照して、本発明の好ましい実施
例と協働している実例のコンピュータシステムのシステ
ム基板Sが示される。好ましい実施例において、システ
ム基板Sは、交換できる回路基板を受け入れる回路及び
スロットを含む。好ましい実施例において、システム基
板Sに配置された2つの1次バスがある。第1バスは、
PCIADと参照されるアドレス/データ部分100
と、制御及びバイトイネーブル部分102と、制御信号
部分104とを含むPCI即ち(周辺機器相互接続)バ
ス98である。アドレス/データバスPCIADは、好
ましくは32ビット幅であり、もし所望ならば、64ビ
ット幅にアップグレードすることができる。システム基
板S上の第2の1次バスは、EISAバス99である。
EISAバス99は、LAアドレス部分106及びSA
アドレス部分108及びSDデータ部分110及びEI
SA/ISA制御信号部分112を含む。PCI及びE
ISAバス98及び99はシステム基板Sの骨幹を形成
する。
【0010】CPUコネクタ114は、図2で示された
それのようにプロセッサカードを受け入れるために、P
CIバス98に接続される。PCI画像コネクタ116
は、ビデオの画像カード(図示略)を受け入れるため
に、PCIバス98に接続される。画像カードは、外部
のモニタ(図示略)にビデオ信号を供給する。PCIオ
プション・コネクタ118は、PCI標準規格にデザイ
ンされたどんな追加のカードも受け入れるために、PC
Iバス98にも接続される。追加的に、SCSI及びネ
ットワークインタフェイス(NIC)制御器120は、
PCIバス98に接続される。好ましくは、この制御器
120は単一集積回路であり、PCIバスマスタ及びス
レーブとして作用するに必要な能力と、SCSI制御器
及びイーサネットインタフェースとして作用する回路と
を含む。SCSIコネクタ122は、ハードディスク・
ドライブ及びCD−ROMドライブのように種々のSC
SIデバイスの接続を許容するために、制御器120に
接続される。イーサネットコネクタ124はシステム基
板Sに形成されて、制御器120に順に接続されるフィ
ルタ及び変圧器回路126に接続される。これは、ロー
カル領域ネットワーク(LAN)にシステム基板S及び
コンピュータを結線するためのネットワーク又はイーサ
ネット接続を形成する。
【0011】PCI−EISAブリッジ130は、PC
Iバス98及びEISAバス99間で信号を変換するた
めに形成される。PCI−EISAブリッジ130は、
必要なアドレス及びデータバッファ及びラッチと、PC
Iバス用の仲介及びバスマスタ制御ロジックと、EIS
A仲介回路と、EISAシステムとして適宜使用された
EISAバス制御器と、DMA制御器とを含む。好まし
くはPCI−EISAブリッジ130は、単一集積回路
であるが、他の組合せが可能である。雑多なシステムロ
ジックチップ132は、EISAバス99に接続され
る。好ましい実施例において、雑多なシステムロジック
チップ132は、ASICとして導入される。雑多なシ
ステムロジックチップ132は、他の雑多な回路と同様
に、デジタル式音声インタフェイス、パーソナル・コン
ピュータシステムに適宜あるようなカウンタ及びタイ
マ、PCI及びEISAバス98及び99用の割り込み
制御器及び電力管理ロジックを含む。
【0012】EISAバス99には、ISA及びEIS
Aアダプターカードを受け入れる一連の4つのEISA
スロット134が接続される。EISAバス99には統
合I/Oチップ136も接続される。この統合I/Oチ
ップ136は、好ましくはフロッピーディスク制御器、
実時間クロック(RTC)/CMOSメモリ、2つのU
ART及び及び並列ポート及び種々のアドレス・デコー
ド・ロジックを含む。フロッピーディスクドライブへの
電線を受け入れるフロッピーディスクコネクタ138
は、統合I/Oチップ136に接続される。1対の直列
ポートコネクタは、並列ポートコネクタ142と同様
に、統合I/Oチップ136に接続される。EISAバ
ス99及び統合I/Oチップ136両者には、EISA
バス99及びハードディスク・ドライブコネクタ146
間のバッファとして作用するバッファ144が接続され
て、IDE型ハードディスクドライブ(図示略)の接続
を許容する。非揮発性ランダムアクセスメモリ(NVR
AM)148は、EISAバス99に接続されて、統合
I/Oチップ136からその制御信号を受信する。アド
レスラッチ150は、EISAバス99に接続され、統
合I/Oチップ136によって制御されて、NVRAM
148用の追加のアドレス能力を形成する。好ましくは
NVRAM148は、あるシステム情報を含むために使
用される。
【0013】データバッファ152は、コンピュータシ
ステムの種々の追加の部品のために追加のデータ・バス
XDを形成するために、EISAバス99のSD部分に
接続される。NVRAM148は、そのデータビットを
受信するために、XDデータ・バスに接続される。フラ
ッシュROM154は、その制御及びアドレス信号をE
ISAバス99から受信して、データ転送毎にXDバス
に接続される。フラッシュROM154は、好ましくは
コンピュータシステムのためにBIOS情報を含んで、
BIOSの改訂を考慮に入れるために再プログラムする
ことができる。8742即ちキーボード制御器156は
XDバス、EISAアドレス及び制御部分108及び1
12に接続される。キーボード制御器156は、従来の
設計を持ち、順にキーボードコネクタ158及びマウス
或いは指針即ちポインティングデバイスコネクタ160
に接続される。
【0014】また、好ましい実施例のコンピュータシス
テムは音声の能力を含む。この目的のため、CODEC
チップ162は、雑多なシステムロジックチップ132
に接続され、アナログ増幅器及びミキサチップ164に
接続される。FMシンセサイザ・チップ166は、アナ
ログ増幅器及びミキサチップ164に接続され、XDバ
スからデジタル式の情報を受信する。また、FMシンセ
サイザ166は、EISAバス99の制御及びデータ部
分110及び112に接続され、雑多なシステムロジッ
クチップ132によって制御される。音声コネクタ16
8は外部音声がコンピュータに接続できるように形成さ
れて、アナログ増幅器及びミキサ164の入出力に接続
される。
【0015】好ましい実施例における雑多ロジックチッ
プ132は、ハードドライブの回転数(スピン)低下、
モニタの省電力化及びマイクロプロセッサのクロック低
下の3つの電力管理機能を行なう。雑多ロジックチップ
132におけるカウンタ170はハードドライブのスピ
ン低下を起動し、カウンタ172がモニタの省電を起動
する。これらカウンタ170及び172は、次の出来事
即ちハードウェア割り込みレベルがアサートされる時、
ハードディスク・ドライブ、フロッピーディスクドライ
ブ、並列ポート、イーサネットインタフェイス及び種々
の他のポートへの種々のI/O読出又は書込の時及びS
CSI制御器120の活性時の1つがシステムで発生す
る毎に、予め決定した値が再ロードされる。システム管
理割り込み(SMI)は、カウンタ170が計数し終っ
た時に、ハードディスク・ドライブのスピンを低下させ
るために発生される。このSMIは、カウンタ172が
計数し終った時に、画像カードの操作を保留し、それに
よってモニタを省電するために発生される。ハードディ
スク・ドライブがスピンダウンモードにあり、モニタが
省電モードにある時には、第3のカウンタ174がイネ
ーブルされる。このカウンタ174は、予め決定された
値でプリロードされる。カウンタ174が計数し終った
時には、信号SLEEP*が雑多ロジックチップ132
によってローに駆動される。信号SLEEP*は、CP
Uコネクタ114に接続されたプロセッサカードに供給
されて、プロセッサクロックが電力節約のために遅くさ
れたことを指示する。
【0016】今図2を参照して、システム基板Sのある
使用のためのプロセッサ基板Pが示される。プロセッサ
基板Pにおいて、CPU即ちマイクロプロセッサ200
は、好ましくは外部で50又は60MHz、内部で75
又は90MHzで動作するインテルからの64ビット・
ペンティアムP54プロセッサである。また、32ビッ
ト・ペンティアムP24プロセッサは、外部で50MH
z及び内部で75MHz、或いは外部で60MHz及び
内部で90MHzでの操作のために使用することができ
る。或いは、マイクロプロセッサ200は、外部で33
MHz及び内部で100MHzで動作するインテルから
の486DX4プロセッサである。他のプロセッサが用
いられてもよい。マイクロプロセッサ200は、デー
タ、アドレス及び制御部分PD、PA及びPCを持つプ
ロセッサバス202に接続される。ペンティアムP54
プロセッサを用いた時には、データ・バスPDの幅が6
4ビットである。ペンティアムP24プロセッサ又は4
86DX4プロセッサでは、バスPDの幅が32ビット
である。
【0017】マイクロプロセッサ200は、内部即ちL
1キャッシュメモリを含む。レベル2(L2)即ち外部
キャッシュメモリシステム208は、プロセッサバス2
02に接続されて、コンピュータシステムの性能を改善
する追加のキャッシュ能力を形成する。プロセッサキャ
ッシュ及びメモリ制御器(CMC)及びPCIブリッジ
チップ210は、制御部分PC及びアドレス部分PAに
接続される。CMC210は、雑多ロジックチップ13
2によって形成された信号SLEEP*を受信して、マ
イクロプロセッサ200を低電力モードに置く。CMC
210も、データバッファ212及び213を制御す
る。追加的に、CMC210は、制御信号MC及びアド
レス信号MAを主メモリ214に供給する。これら制御
信号MCは、種々のRAS*及びCAS*信号を含む。
また、CMC210は、キャッシュ制御器と協働する時
に、L2キャッシュメモリ208に接続され、それ故
に、L2キャッシュシステム208におけるキャッシュ
メモリデバイス209の操作を制御する。キャッシュメ
モリデバイス209は静的任意アクセスメモリ(SRA
M)で実行される。32ビットプロセッサにとっては、
128K又は256Kバイトのキャッシュメモリサイズ
が支持され、キャッシュライン幅が16バイトである。
64ビットプロセッサにとっては、256K及び512
Kバイトのキャッシュサイズが支持され、キャッシュラ
イン幅が32バイトである。
【0018】更に、CMC210は、キャッシュデータ
RAMとして非同期(標準)或いは同期(バースト)S
RAMを支持する。マイクロプロセッサ200がペンテ
ィアムプロセッサで実行される時には、バーストSRA
Mが50MHz又は60MHzで操作をイネーブルする
ために使用されなければならない。バーストSRAM
は、バーストサイクル間にバーストアドレスをインクリ
メントするために2ビットカウンタを含む。33MHz
で動作する好まれしい486DX4マイクロプロセッサ
にとっては、非同期のSRAMがコスト削減用に好まし
く使用された。キャッシュメモリシステム208は32
K又は64K深さを持って好ましく構築できる。追加的
に、L2キャッシュメモリ208は、各ブロックが2ラ
イン又は4ラインを含むブロックにさらに分割されてい
る。交替処理は1つのブロックが一度に置換されること
を要求する。
【0019】また、キャッシュメモリシステム208
は、直接マップ、単一バンク2ウエイ・セット・アソシ
アティブ又は2バンク2ウエイ・セット・アソシアティ
ブとして構築できる。単一バンク構築は、キャッシュS
RAMの1つのバンクの使用を参照し、2バンク構築が
キャッシュSRAMの2バンクの使用を参照する。2バ
ンク構築において、各バンクがL2キャッシュメモリ2
08の1つのウエイに対応する。図2が4つのSRAM
チップを示しているが、SRAMチップの総数は、キャ
ッシュメモリシステム208がどのように形成されるに
依存する。好ましい実施例において、使用されたキャッ
シュSRAMの数及びサイズがテーブル1に示される。
【0020】 テーブル1 キャッシュサイズ バンク数 連想度 SRAM型 CPU キャッシュSRA Mサイズ SRAM数 128K 1 直接マップ 非同期 486 32Kx9 4 256K 1 直接マップ 非同期 486 64Kx9 4 256K 1 2ウエイ 非同期 486 64Kx9 4 256K 2 2ウエイ 非同期 486 32Kx9 8 128K 1 直接マップ バースト P24 32Kx18 2 256K 1 直接マップ バースト P24 64Kx18 2 256K 1 2ウエイ バースト P24 64Kx18 2 256K 2 2ウエイ バースト P24 32Kx18 4 256K 1 直接マップ バースト P54 32Kx18 4 256K 1 2ウエイ バースト P54 32Kx18 4 512K 1 直接マップ バースト P54 64Kx18 4 512K 1 2ウエイ バースト P54 64Kx18 4 512K 2 2ウエイ バースト P54 32Kx18 8
【0021】テーブル1の第1コラムは、L2キャッシ
ュメモリ208の合計サイズを指定する。コラム2は、
使われたSRAMのバンク数を示す。第3のコラムは、
キャッシュメモリ208が直接マップ又は2ウエイ・セ
ット・アソシアティブとして構築できるかを示し、第4
のコラムは、非同期又はバーストSRAMが使用された
かどうかを指示する。テーブル1のコラム5は、使われ
たプロセッサの種類を示す。最終的に、第6及び第7コ
ラムは、好ましいSRAMチップサイズ及び使われたS
RAMチップの数をそれぞれ示す。
【0022】L2キャッシュメモリ208は、ライトス
ルー及びライトバックキャッシュ一貫性プロトコルを支
持する。もしライトスループロトコルが使用されたなら
ば、L2キャッシュメモリ208への全書込は、主メモ
リ214に戻って書込まれて、L2キャッシュ208及
び主メモリ214間のコヒーレンシを維持する。ライト
バックキャッシュは、当業界で公知なように、MESI
(修正/排他/分担/無効)プロトコルを使う。L2キ
ャッシュメモリ208書込処理は、構築レジスタにおけ
るビット4の状態によって決定される。このビットは、
セット時にライトバック処理を指示し、クリア時にライ
トスル処理が実行される。構築サイクルは、PCIバス
デバイスのソフトウェア駆動初期化及び構築が別々のア
ドレス空間で許容するようにPCIバス98に形成され
る。PCI構築サイクルに関する多くの情報のために、
参照物として協働するインテル社気付けPCI特殊関連
グループからのPCI仕様書2.0を参照せよ。
【0023】メモリサイクル間にマイクロプロセッサ2
00又は種々のPCIバスマスタによって形成されたア
ドレスがL2キャッシュメモリ208に配置されたかど
うかを検知するためには、2つのタッグRAM230及
び232がCMC210に形成される。好ましくはタッ
グRAM230及び232は各々が2Kx20として組
織される。L2キャッシュメモリ208のサイズ及び連
想性に依存して、プロセッサアドレスPAの部分は、各
タッグRAM230又は232におけるラインの指標に
使われる。例えば、1ブロック毎に4つのライン、1ラ
イン毎に16バイトを持つ直接マップされた256K構
築にとっては、プロセッサアドレスビットPA[17]
がタッグRAM230又は232の1つを選択する。ア
ドレスビットPA[16:6]は、選択されたタッグR
AMの入口を指標し、アドレスビットPA[5:4]が
所望のキャッシュラインを選択する。タッグRAM23
0又は232の各入口は、ブロックの各ライン毎にラベ
ル及び2つの状態ビットを含む。従って上記構築のため
に、最上位からの11ビットは、一致が発生したか否か
を決定するために、プロセッサアドレスビットPA[2
7:17]と比較するラベルを含む。もしラベルが一致
するならば、選択されたラインに対応した状態ビット
は、キャッシュラインの状態を決定するために検査され
る。
【0024】他の可能な構築は、1ブロック毎に4ライ
ン及び1ライン毎に32バイトを持つ256Kの2ウエ
イ・セット・アソシアティブキャッシュである。この構
築のためにタッグRAM230が第1ウエイに対応し、
タッグRAM232が第2ウエイに対応する。選択され
たタッグRAMの指標付けは、アドレスビットPA[1
7:7]によって行なわれ、ライン選択は、ビットPA
[6:5]によって行なわれる。ラベルは、プロセッサ
アドレスビットPA[27:18]に含まれる。上記
は、2つの可能な構築を説明したが、L2キャッシュメ
モリ208用の他の構築が利用できることが理解され
る。
【0025】好ましくはASICで実行されたデータバ
ッファ212及び213は、プロセッサデータ・バスP
D及びメモリ配列214によって形成されたメモリデー
タ・バスMD間に接続される。また、データバッファ2
12及び213は、プロセッサコネクタ114によって
一致するように受け入れるように形成されたコネクタ2
24を通してPCIアドレス及びデータ・バスPCIA
Dに接続される。データバッファ212及び213は、
CMC210からの種々の制御信号に接続される。
【0026】データバッファ212及び213は、各々
SLAVE入力を含む。示されるように、データバッフ
ァ212へのSLAVE入力は接地され、データバッフ
ァ213のSLAVE入力は、接続されず、入力が内部
プルアップ抵抗によってハイにプルアップされる。デー
タバッファ212はスレーブデータバッファとして参照
され、データバッファ213がマスタデータバッファと
して参照される。各データバッファは、プロセッサ、メ
モリ及びPCIデータ・バスPD、MD及びPCIAD
からそれぞれデータビットの半分を受信する。
【0027】クロック分配及び発生回路222はプロセ
ッサカードPに協働して、CMC210に接続される。
クロック分配回路222は、クロックCLKをプロセッ
サバス202に供給する。プロセッサコネクタ224
は、CMC210及びクロック分配回路222に接続さ
れて、コンピュータシステムにクロックを供給し、マイ
クロプロセッサ200がPCI及びEISAバス98及
び99をアクセスでき、PCI及びEISAバスマスタ
が主メモリ214をアクセスできるPCIインタフェイ
スを形成する。PCIアドレス及びデータは、アドレス
がアドレス位相期間に形成され、データがデータ位相期
間に形成されるバスPCIADで多重化される。
【0028】好ましい実施例において、非同期又は同期
キャッシュSRAM209で実行されるL2キャッシュ
メモリ208は、停止許可アクノリッジサイクルがプロ
セッサバス202で検知される時或いはHLT命令がマ
イクロプロセッサ200によって実行される時に、低電
力モードに置かれる。HLT命令の実行時には、マイク
ロプロセッサ200は、プロセッサバス202にホルト
特殊サイクルに発生させる。ホルト特殊サイクルは、次
のバス定義信号即ち、バイトイネーブルビットPBE
[2]*がローにアサートされ、信号M/IO*及びD
/C*がローにアサートされ、信号W/R*がハイに駆
動され、アドレスビットPA[31:0]が値0x00
000000に駆動されることによって示される。停止
許可アクノリッジ特殊バスサイクルは、ローにアサート
されて、マイクロプロセッサ200のクロック入力を停
止又は遅くさせる要求であるSTPCLK*入力に応答
してマイクロプロセッサ200によって駆動される。信
号STPCLK*は、雑多ロジックチップ132による
信号SLEEP*のアサートに応答してCMC210に
よってアサートされる。信号STPCLK*がアサート
される時には、より高い優先的な割り込みで上書きされ
ない限り、マイクロプロセッサ200が次の命令指境界
上の実行を停止する。その後マイクロプロセッサ200
は、停止許可アクノリッジ特殊バスサイクルを発生す
る。停止許可アクノリッジバスサイクルの定義は、アド
レスビットPA[31:0]が値0x00000010
に駆動されることを除いて、ホルト特殊サイクルと同一
である。従ってホルト特殊サイクル及び停止許可アクノ
リッジ特殊サイクルはアドレスビットPA[4]のみ異
なる。上述された信号の詳細は、インテルのDX4プロ
セッサデータ本、1994年(以後『インテルDX4デ
ータ本』と言う)及びペンティアム・プロセッサ・ユー
ザ・マニュアル第1巻、ペンティアム・プロセッサデー
タ本、1994年(以後『ペンティアムデータ本』と言
う)を参照せよ。いずれも文献として協働する。
【0029】同期即ちバーストSRAMは、次の入力即
ちアドレスストローブ入力ADSP*及びADSC*と
チップ選択入力CS*とを含む。同期SRAMは、アド
レスストローブ入力ADSC*をローにアサートする
が、チップ選択入力CS*を不活性に維持することによ
って低電力モードに置かれる。バーストサイクルは、初
期バーストアドレスがSRAMにストローブさせるAD
SP*又はADSC*入力ピンをアサートすることによ
って同期SRAM209で始められる。キャッシュSR
AM209のADSP*入力は、マイクロプロセッサ2
00で駆動されたプロセッサアドレスストローブ信号A
DS*に接続され、ADSC*入力がCMC210によ
って形成されたアドレスストローブ信号CADS0*又
はCADS1*に接続される。非同期SRAMは、アド
レスストローブ入力ADSC*又はADSP*を含ま
ず、その代わりに、外部アドレスをラッチするアドレス
ラッチ入力CALENを持つ。非同期SRAMは、チッ
プ選択入力CS*をデアサートすることによって低電力
モードに置かれる。
【0030】好ましい実施例において、CMC210
は、2つのアドレスストローブ信号CADS0*及びC
ADS1*と2つのチップ選択信号CCS0*及びCC
S1*とを形成する。これらの信号が使用された方法
は、L2キャッシュメモリ208が直接マップ、単一バ
ンク2ウエイ・セット・アソシアティブ又は2バンク2
ウエイ・セット・アソシアティブとして構築されたかに
依存する。第1場合において、アドレスストローブ信号
CADS0*及びチップ選択信号CCS0*のみがキャ
ッシュメモリデバイス209に供給されるが、信号CA
DS1*及びCCS1*が未接続状態におかれる。単一
バンク2ウエイ・セット・アソシアティブモードにおい
て、信号CADS0*が第1ウエイへのアドレスストロ
ーブとして供給され、信号CADS1*が第2ウエイへ
のアドレスストローブとして供給され、信号CCS0*
がチップ選択信号として作用する。信号CCS1*はア
ドレス信号として有効に使用されて、この構築における
ウエイ選択を行なう。2バンク2ウエイ・セット・アソ
シアティブ場合においては、アドレスストローブ信号C
ADS0*及びチップ選択信号CCS0*が第1ウエイ
に供給され、アドレスストローブ信号CADS1*及び
チップ選択信号CCS1*が第2ウエイに供給される。
信号CADS0*及びCADS1*が同期キャッシュS
RAM209のみとのアドレスストローブとして使用さ
れたことは注目される。もし非同期キャッシュSRAM
が使用されたならば、信号CADS0*及びCADS1
*は、以後に更に説明されるように、アドレスビットに
対応する。
【0031】マイクロプロセッサ200のSTPCLK
*入力は、マイクロプロセッサ200のクロック入力を
停止又は遅くさせることによって、システムハードウェ
アがマイクロプロセッサ200の電力消費を制御するの
を許容する。マイクロプロセッサ200は、そのSTP
CLK*入力のアサートに応答して停止許可状態に入
る。マイクロプロセッサ200が停止許可状態に入った
時には、そのクロック入力が完全にクロックを停止する
かクロックを遅くすることによって変化できる。もしク
ロック入力がアクティブなままであるならば、マイクロ
プロセッサ200は停止許可状態に留まる。停止許可状
態において、マイクロプロセッサ200は、信号STP
CLK*がデアサートされた10−20クロック期間後
に、その正常な稼働状態に戻って、かなり迅速に復帰す
ることができる。マイクロプロセッサ200が停止許可
状態にある間に、もしクロック入力が完全に停止したな
らば、マイクロプロセッサ200は、電力消費がさらに
減少された停止クロックステートに入る。停止クロック
ステートにおいて、マイクロプロセッサ200を復帰す
るには、マイクロプロセッサ200の内部ロジックが完
全に給電遮断されているので、かなり遅くなる。
【0032】HLT命令の実行は、低電力消費状態でも
ある自動ホルト給電低下状態として参照された状態にマ
イクロプロセッサ200を入らせる。マイクロプロセッ
サ200は、この状態から、ハードウェア割込INT
R、マスクされない割込NMI、システムリセットRE
SET又はソフトリセットSRESETの発生によっ
て、正常な状態に戻って移行する。マイクロプロセッサ
200は、HLT命令に応答してプロセッサバス202
にホルト特殊サイクルに発生させる。CMC210は、
ホルト特殊サイクルをPCIバス98に転送して、マイ
クロプロセッサ200が自動ホルト給電低下状態に入る
意向をコンピュータシステムの残りに知らせる。CMC
210は、PCIバス98でアクノリッジを受信した後
に、ホルト特殊サイクルが通常完了したことをマイクロ
プロセッサ200に確認するために、プロセッサバス2
02上でアクティブとなるRDY*又はBRDY*準備
完了信号を駆動する。それに応答して、マイクロプロセ
ッサ200は、自動ホルト給電低下状態に入る。ペンテ
ィアムP54プロセッサ用には、信号BRDY*が全バ
スサイクルの完了を指示するために使用された。しかし
ながら486DX4又はペンティアムP24プロセッサ
用には、信号BRDY*がバーストサイクルの完了を指
示し、信号RDY*が非バーストサイクルの完了を指示
する。
【0033】今図3及び図4を参照して、ホルト及び停
止許可アクノリッジ特殊サイクルに応答するロジックが
示される。ANDゲート302は、ホルト特殊サイクル
がプロセッサバス202でデコードされた時を指示する
ために信号PHALT REQをアサートする。AND
ゲート304は、停止許可アクノリッジサイクルを指示
するために、信号STPGNT REQをアサートす
る。ANDゲート302の入力は、信号CPU SPC
YC REQと、プロセッサバイトイネーブルビットP
BE[2]*の反転状態と、プロセッサアドレスビット
PA[4]の反転状態とを受信する。ANDゲート30
4の入力は、CPU SPCYC REQ信号と、プロ
セッサバイトイネーブルビットPBE[2]*の反転状
態と、プロセッサアドレスビットPA[4]の状態とを
受信する。信号CPU SPCYCREQは、入力信号
NEWCYC VALID及びCPU SPCYCを受
信するANDゲート306によって供給される。信号C
PU SPCYCは、特殊サイクルが検知され、もしプ
ロセッサバス信号M/IO*、D/C*及びW/R*が
それぞれロー、ロー及びハイに駆動されるならば、ハイ
にアサートされることを指示する。信号NEWCYC
VALIDは、アドレスストローブADS*が新しい有
効なバスサイクルを指示するためにマイクロプロセッサ
200によってローに駆動された後に、1つのCLK2
クロックサイクル(33又は50MHz操作)分又は2
つのCLK2サイクル(60MHz操作)分ハイにアサ
ートされる。クロック信号CLK2はCMC210の内
部クロックである。
【0034】信号NEWCYC VALIDは、D入力
がマルチプレクサ310の出力によって形成された信号
D NEWCYC VALIDを受信するD型フリップ
フロップ308によって供給される。マルチプレクサ3
10の0及び1入力は、ANDゲート312の出力及び
D型フリップフロップ314の出力にそれぞれ接続され
る。マルチプレクサ310は、構築レジスタのビット4
に好ましく対応する信号S FORCEWAYMISS
によって選択される。信号S FORCEWAYMIS
Sは、ハイにセットされて、60MHzで操作の間にC
MC210のアドレスデコード用の待ち状態を強制す
る。
【0035】D型フリップフロップ314は、信号CL
K2によってクロックされ、そのD入力がANDゲート
312の出力に接続される。ANDゲート312の入力
は、アドレスストローブADS*の反転状態及びORゲ
ート316の出力に接続される。ORゲート316の入
力は、信号PAHOLD DLY及び信号PAHOLD
の反転状態を受信する。信号PAHOLDのアサート
は、マイクロプロセッサ200が全アドレス信号出力を
トライステートにさせるマイクロプロセッサ200にア
ドレスホールド信号AHOLDをCMC210がアサー
トさせる。信号AHOLDは、ハイに駆動されて、アド
レスされたデータがL1キャッシュ又はL2キャッシュ
メモリ208にストアされるか否かをマイクロプロセッ
サ200及びCMC210が決定できるスヌープサイク
ル間に、CMC210がスヌープアドレスをアドレス・
バスPA上に駆動するのを許容する。非スヌープサイク
ルのためには、信号PAHOLDがローにデアサートさ
れて、それによってANDゲート312がアドレススト
ローブADS*の活性化を検知できる。信号PAHOL
D DLYは1つのCLK2サイクル分遅れている信号
PAHOLDであって、マイクロプロセッサ200によ
って始められたL1ライトバックサイクルが発生してい
るか否かを決定するためにアドレスストローブADS*
に資格を与えるために使用される。もしヒットがマイク
ロプロセッサ200のL1キャッシュの修正ラインに発
生するならば、L1ライトバックサイクルは発生する。
たとえ信号AHOLDがCMC210によってアサート
状態に保持されたとしても、マイクロプロセッサ200
は、それにもかかわらずL1ライトバックサイクルを始
めるためにアドレスストローブADS*をアサートす
る。それでL1ライトバックサイクルにおいて、アドレ
スストローブADS*の検知は、AHOLDがハイにア
サートされた1つのCLK2サイクル後に発生する。
【0036】信号PHALT REQ及びSTPGNT
REQは、出力がANDゲート320の一入力に接続
されるORゲート318の入力に供給される。ANDゲ
ート320の他の入力は、構築レジスタのビットに好ま
しく対応する信号S ENGREENを受信する。信号
S ENGREENは、CMC210の電力節約特徴を
イネーブルするために、ハイにセットされる。ANDゲ
ート320の出力は、停止バスサイクル又は停止許可サ
イクルが検知された時を指示する信号GREEN RE
Qを駆動する。
【0037】ステートマシーンGREENSTは、低電
力モードを指示する種々の信号をアサートすることによ
る信号GREEN REQのアサートに応答する。ハイ
にアサートされた信号RESETによって示されるリセ
ットで、ステートマシーンGREENSTは、ステート
Aに入り、信号GREEN REQがハイにアサートさ
れるまで、留まる。ステートマシーンGREENST
は、全てがステートAでローにデアサートされた出力信
号D GREENMODE、D GREEN PAHO
LD及びD GREEN CADSを供給する。別に指
示しなければ、ステートマシーンの出力信号は、デアサ
ートされたとみなされる。信号GREENREQのアサ
ートで制御はステートAからステートBに進行する。移
行において、信号D_GREENMODE及びD GR
EEN PAHOLDはハイにアサートされる。信号D
GREENMODEは、信号CLK2によってクロッ
クされて、信号RESETの上昇する縁でローにリセッ
トされるD型フリップフロップ324のD入力に供給さ
れる。D型フリップフロップ324は、ハイにアサート
時に低電力モードが現在アクティブであることをCMC
210の残りに指示する信号GREENMODEを供給
する。信号D GREEN PAHOLDは、ORゲー
ト326の入力に供給される。ORゲート326も、ス
ヌープサイクル間にアサートされた信号D MYSNP
PAHOLDを受信する。ORゲート326の他の入
力は、他のサイクル間にアサートされた他の信号を受信
する。ORゲート326の出力は、信号CLK2によっ
てクロックされて、出力がトライステートバッファ32
9の入力に接続されたD型フリップフロップ328のD
入力に接続される。トライステートバッファは、アクテ
ィブなローである信号IOBUFOEによってイネーブ
ルされて、アドレスホールド信号AHOLDを駆動す
る。信号IOBUFOEは、通常ローにアサートされ
て、あるテストサイクル間にだけハイにデアサートされ
る。信号AHOLDは、CMC210が準備完了アクノ
リッジ信号RDY*又はBRDY*をマイクロプロセッ
サ200に返すまで、アサートされる。信号AHOLD
は、ここでアサートされて、マイクロプロセッサ200
がひょっとすると他のサイクルを始めることを防止し、
一方キャッシュSRAM209が給電低下の最中であ
る。
【0038】ステートBの間ステートマシーンGREE
NSTは、ハイにアサートされた信号D GREENM
ODE及びD GREEN PAHOLDを維持する。
もしバックオフ信号BOFF*がアクティブローを検知
したならば、ステートマシーンGREENSTは、ハイ
にアサートされた信号D GREENMODE及びDG
REEN PAHOLDを維持しながら、ステートBか
らステートAに移行する。BOFF*信号は、マイクロ
プロセッサ200が完了しなかった全ての顕著なバスサ
イクルを中止させる。信号T2及びSYNC ENDP
CYCがハイにアサートされたならば、ステートマシー
ンGREENSTは、信号D GREEN CADSを
ハイにアサートし、アサートされた信号D GREEN
MODE及びD GREEN PAHOLDを維持し
て、ステートBからステートCに移行する。信号T2
は、プロセッサバスサイクルがステートT2にある時
に、ハイにアサートされる。インテル用語でバスサイク
ルのステートT1は、有効なアドレス及び状態信号が駆
動され、アドレスストローブADS*がローにアサート
されるバスサイクルの第1クロックである。バスサイク
ルのステートT2は、もしサイクルが書込であるならば
データがマイクロプロセッサ200で駆動され、或はも
しサイクルが読出であるならば、マイクロプロセッサ2
00によって予想されたバスサイクルの第2及び次のク
ロックである。また、ステートT2において、信号RD
Y*及びBRDY*はバスサイクルの終わりを検知する
ために、マイクロプロセッサ200によってサンプルさ
れる。
【0039】アサートされる時に、信号SYNC EN
DPCYCは、CMC210がホルト特殊サイクル又は
停止許可アクノリッジ特殊サイクル又は信号RDY*又
はBRDY*をアサートすることによる他のサイクルに
応答したことを指示する。信号SYNC ENDPCY
Cは、入力が信号PCIRD ASYNC PRDY及
びSYNC PRDYを受信するORゲート330によ
って供給される。信号PCIRD ASYNC PRD
Yは、マイクロプロセッサ200によって始められPC
Iバス98上の読出サイクルの完了を指示するためにア
サートされる。信号SYNC PRDYは、信号CLK
2によってクロックされたD型フリップフロップ331
によって供給される。D型フリップフロップのD入力
は、ORゲート332の出力に接続される。ORゲート
332の入力は、ステートマシーンSPCYCSTによ
って供給された信号D SPCYC PRDYを受信す
る。他の入力は、信号D REQ PRDYを受信す
る。上述したように、CMC210は、ホルト特殊サイ
クルをPCIバス98に転送している。PCIバス98
上のアクノリッジ信号の受信は、信号D REQ PR
DYをアサートさせる。他の入力は、他のサイクル間に
アサートされた信号を受信する。
【0040】リセットで、ステートマシーンSPCYC
STは、信号CPUFLUSH REQがハイにアサー
トされ或いは信号SWALLOW SPCYC REQ
がハイにアサートされ、信号CPUFLUSH REQ
がローにデアサートされるまで留まるステートAに移行
する。ステートAで出力信号D SPCYC PRDY
及びSTART L2FLUSHはローにデアサートさ
れる。信号CPUFLUSH REQは、信号PFLU
SH REQ及びPFLSHACK2 REQを受信す
るORゲート335によって供給される。信号CPUF
LUSH REQは、フラッシュ特殊サイクルが信号P
FLUSH REQのアサートによって指示されたプロ
セッサバス202でデコードされる時に、ハイにアサー
トされる。また、もしペンティアムプロセッサが使用さ
れたならば、信号CPUFLUSH REQは、信号P
FLSHACK2 REQのアサートによって示された
フラッシュ・アクノリッジ特殊サイクル間にハイにアサ
ートされる。これらのサイクルの記述のためにインテル
DX4データ本及びペンティアムデータブックを参照し
なさい。
【0041】信号SWALLOW SPCYC REQ
は、入力が信号STPGNT REQ、分岐トレース特
殊サイクル間にハイにアサートされた信号BRCHTR
CREC、PFLSHACK2 REQ、32ビットマ
イクロプロセッサ200が使われるならば、L2ライト
バックサイクル間のライトバックアドレスの部分として
CMC210で駆動されたアドレスビットPA[2]の
反転状態に追従する信号PFLSHACK1 REQ、
マイクロプロセッサのL1キャッシュ中の修正ラインが
L2キャッシュ208又は主メモリ214に戻って書込
まれたことをコンピュータシステムの残りに指示するラ
イトバック特殊サイクル間にハイにアサートされた信号
のPWRBK REQ及びマイクロプロセッサ200の
内部キャッシュが無効にされ、外部のL2キャッシュ2
08も無効にされなければならないことを指示するため
に、フラッシュ特殊サイクル間にハイにアサートされた
信号PFLUSH REQを受信するORゲート334
によって供給される。
【0042】従って、停止許可アクノリッジサイクルに
応答する信号STPGNT REQのアサートは、信号
SWALLOW SPCYC REQをアサートさせ、
順にステートマシーンSPCYCSTをステートAから
ステートBに移行させる。ステートマシーンSPCYC
STは、信号T2 OR TDがハイにアサートされ、
或いはバックオフ信号BOFF*がローにアサートされ
るまでステートBに留まる。BOFF*のアサートは、
その出力信号をデアサートに維持している間、ステート
マシーンSPCYCSTをステートAに戻させる。もし
信号T2 ORTDがハイにアサートされるならば、ス
テートマシーンSPCYCSTもステートAに戻るが、
信号SYNC ENDPCYCをハイに駆動するために
信号DSPCYC PRDYをハイにアサートする。信
号T2 OR TDは、入力が信号T2及びW/R*を
受信するANDゲート336によって供給される。特殊
サイクル間に信号W/R*は、ハイに維持される。
【0043】信号D SPCYC PRDYは、ORゲ
ート343の一入力にも供給される。ORゲート343
も、ローカルな書込サイクル間にハイにアサートされた
信号D LOCWR PBRDYと、PCIバス98に
転送したホルト特殊サイクルが確認された時にアサート
される信号D REQ PBRDYとを受信する。OR
ゲート343も、他のサイクル間にアサートされた他の
信号を受信する。ORゲート343の出力は、信号CL
K2によってクロックされたD型フリップフロップ34
5のD入力に接続される。D型フリップフロップ345
の出力は、他のサイクルアサートされた他の信号をも受
信するNORゲート344の一入力に接続される。NO
Rゲート344の出力は、準備完了信号BRDY*を駆
動して、信号IOBUFOEによってイネーブルされる
トライステートバッファ346の入力に接続される。従
って信号D SPCYC PRDYのアサートは、信号
BRDY*をマイクロプロセッサ200に戻して駆動さ
せる。
【0044】D型フリップフロップ331によって形成
された信号SYNC PRDYは、NORゲート340
の一入力にも供給される。NORゲート340も、他の
サイクル間に信号RDY*を活性化するために、ハイに
アサートされた他の信号を受信する。NORゲート34
0の出力は、準備完了信号RDY*を駆動するトライス
テートバッファ342の入力に接続される。トライステ
ートバッファ342は、486DX4又はペンティアム
P24プロセッサが使用された場合に限り発生するロー
にアサートされた信号TRI486OEによってイネー
ブルされる。準備完了信号RDY*及びBRDY*はホ
ルト及び停止許可アクノリッジ特殊サイクルを確認する
ためにマイクロプロセッサ200に供給される。
【0045】今ステートマシーンGREENSTに戻っ
て、信号SYNC ENDPCYC及びT2のアサート
は、制御をステートBから、信号LEAVE GREE
Nがハイにアサートされるまでステートマシーンが留ま
るステートCに移行させる。ステートCにおいて、出力
信号D GREENMODEは、低電力モードを指示す
るためにハイに維持される。信号LEAVE GREE
Nは、スヌープサイクル間にL1キャッシュの修正ライ
ンにヒットを指示するために、マイクロプロセッサ20
0によって供給されたアドレスストローブADS*と信
号HITM*の反転状態とを受信するANDゲート32
2によって形成される。アドレスストローブADS*が
信号HITM*のアサートと関連してマイクロプロセッ
サ200によってアサートされる時に、主メモリ214
への修正ラインのライトバックサイクルが指示される。
マイクロプロセッサ200は停止許可状態又は自動ホル
ト給電低下状態にある間にスヌープサイクルに応答する
ことができるので、修正ラインのライトバックは、マイ
クロプロセッサ200が低電力モードから取り出される
ことを要求しない。この結果、ステートマシーンGRE
ENSTはステートCに留まり、信号D GREENM
ODEがハイにアサートされて維持される。信号LEA
VE GREENは、ADS*が非ライトバックサイク
ルで検知されるまで、ハイに駆動されない。また、信号
HITM*がペンティアムプロセッサによってのみ供給
されることは注目される。CMC210が486DX4
プロセッサと共に用いた時には、プルアップ抵抗338
が信号HITM*をハイにプルするために形成される。
信号LEAVE GREENのアサートは、ステートマ
シーンGREENSTをステートCからステートAに戻
って移行させ、信号DGREENMODEをデアサート
させる。
【0046】今図5を参照して、マイクロプロセッサ2
00の停止クロック入力STPCLK*を駆動するため
の信号SLEEP*に応答するロジックは示される。C
MC210は、信号SLEEP*が雑多なロジック13
2によってアサートされる時に、マイクロプロセッサ2
00のSTPCLK*入力をアサートする。信号SLE
EP*は、CMC210のORゲート402によって受
信される。ORゲート402の他の入力は、信号SLE
EPOEの反転状態を受信し、その出力がフリップフロ
ップ404のD入力に接続される。D型フリップフロッ
プ404の出力は、出力が信号SYNC2 SLEEP
を供給するD型フリップフロップ406のD入力に接続
される。フリップフロップ404及び406は信号CL
K2によってクロックされる。
【0047】信号SLEEPOEは、D入力が信号D
SLEEPOEを受信するD型フリップフロップ408
によって供給される。一度SLEEP*入力がアクティ
ブであることをCMC210が検知した時には、SLE
EP*入力ピンが出力ピンになって、雑多なロジック1
32に戻る信号SLEEP*を駆動することによってC
MC210が雑多なロジック132とハンドシェイクを
行なうことができる。SLEEP*信号は、信号SLE
EPOEのアサートによってイネーブルされたトライス
テートバッファ411で駆動される。CMC210が自
身のSLEEP*信号をサンプルしないことを保証する
ために、信号SLEEPOEは、ORゲート402をデ
セーブルする。トライステートバッファ411の入力
は、D入力が信号D_SLEEP_を受信するD型フリ
ップフロップ410の出力に接続される。マイクロプロ
セッサ200のSTPCLK*入力は、通常アクティブ
な信号IOBUFOEによってイネーブルされたトライ
ステートバッファ413で駆動される。トライステート
バッファ413の入力は、D入力が信号D_STPCL
K_を受信するD型フリップフロップ412の出力に接
続される。全ての3つのD型フリップフロップ408、
410及び412は信号CLK2によってクロックされ
る。信号D SLEEPOE及びD_SLEEP及びD
STPCLKはステートマシーンSTPCLKSTに
よって供給される。
【0048】また、ステートマシーンSTPCLKST
は、出力信号CLR STPGNT及びCLRCNTを
供給する。ステートマシーンSTPCLKSTの記載に
おいて特に注目しなければ、信号CLR STPGNT
及びCLRCNTはローにデアサートされ、信号D S
LEEPOE及びD SLEEP及びD STPCLK
はハイにデアサートされる。リセットで、ステートマ
シーンSTPCLKSTは、信号CLR STPGNT
及びCLRCNTがハイにアサートされ、信号D ST
PCLK及びD SLEEP及びD SLEEPOEが
ハイにデアサートされるステートAに入る。信号CLR
STPGNTは、出力がD型フリップフロップ416
のD入力に接続されるマルチプレクサ414の選択入力
に供給される。マルチプレクサ414の0入力はマルチ
プレクサ418の出力に接続され、マルチプレクサ41
4の1入力がローに結線される。マルチプレクサ418
は、信号STPGNT REQによって選択され、その
1入力がハイに結線され、その0入力がD型フリップフ
ロップ416によって供給された信号STPGNTRE
CVDを受信する。D型フリップフロップ416は、信
号CLK2によってクロックされる。信号STPGNT
RECVDは、もし停止許可アクノリッジサイクルが
受信され、信号CLR STPGNTがローにデアサー
トされるならばハイにアサートされる。従って、ステー
トマシーンSTPCLKSTがステートAに留まり、信
号CLR STPGNTがハイにアサートされるが、信
号STPGNT RECVDは、ローに維持される。
【0049】信号CLRCNTは、信号CLK2によっ
てクロックされる3−ビット2進数カウンタ420のク
リア入力に供給される。このカウンタ420は、信号C
LRCNTがハイにアサートされる時に値0にクリアさ
れる。バイナリカウンタ420は信号MAX CNTB
がローにネゲートされる時に、イネーブルされる。カウ
ンタ420は、CNTB[2:0]の値を値0b111
と比較する比較器422の一入力に出力信号CNTB
[2:0]を供給する。もし比較が真(一致)であるな
らば、信号MAX_CNTBは、カウンタ420をデセ
ーブルするために、ハイにアサートされる。
【0050】雑多ロジックチップ132による信号SL
EEP*のアサートは、信号SYNC2 SLEEPを
2つのCLK2サイクルの後にローにアサートさせて、
その後ステートマシーンSTPCLKSTをステートA
からステートBに移行させる。移行において、信号CL
R STPGNT及びCLRCNTはハイに維持され、
信号D STPCLKがローにアサートされる。信号D
STPCLKのアサートは、信号STPCLK*の次
CLK2の上昇縁でローに駆動させる。マイクロプロセ
ッサ200は、信号STPGNT REQをハイにアサ
ートさせるバス許可アクノリッジサイクルを発生するこ
とによって応答する。
【0051】ステートマシーンSTPCLKSTは、信
号MAX CNTB及び信号STPGNT RECVD
がハイにアサートされるまでステートBに留まる。ステ
ートBにおいて、信号D STPCLKは、ローにアサ
ートされて維持され、信号CLR_STPGNTがロー
にデアサートされる。信号CLRCNTは、信号SYN
C2 SLEEPの反転状態と等しくセットされる。信
号CLR STPGNTのデアサートは、もし信号ST
PGNT REQがアサートされるならば、信号STP
GNT RECVDハイにセットさせる。カウンタ42
0は、信号SLEEP*が雑多ロジックチップ132に
よってハイにデアサートされるまで、クリアされた状態
に維持される。SLEEP*がデアサートされた時に
は、カウンタ420のクリア入力は、2つのCLK2サ
イクル後に解除されて、カウンタ420を計数し始め
る。ステートマシーンSTPCLKSTは、カウンタ4
20が値0b111を計数し、停止許可アクノリッジサ
イクルがマイクロプロセッサ200によってアサートさ
れるまで、ステートBに留まる。これらの状態が発生し
た時には、ステートマシーンSTPCLKSTがステー
トBからステートCに移行して、信号CLRCNTをハ
イにアサートし、信号D STPCLKをローにアサー
トする。CMC210及び雑多ロジックチップ132間
のハンドシェイクが同じ信号によって行なわれ、PCI
バス98がプロセッサバス202より遅いクロック速度
で動作するかもしれないので、8つのCLK2待ち時間
状態は、雑多ロジックチップ132及びCMC210間
で衝突を避けるために挿入される。
【0052】ステートCにおいて、信号CLRCNT
は、カウンタ420が動作できるようにするために、ロ
ーに戻される。更に、信号D SLEEP 及びD S
LEEPOE 及びD STPCLKは全てローにアサ
ートされる。この結果信号SLEEP*は、CMC21
0がSLEEP*要求に応答したことを雑多ロジックチ
ップ132に確認するためにCMC210によってロー
に駆動される。ステートマシーンSTPCLKSTは、
制御がステートDに移行する値0b111にカウンタ4
20が達するまでステートCに留まる。移行において、
信号D STPCLK及びD SLEEPOEがアサー
トされて維持され、一方信号D SLEEPがハイにデ
アサートされて、信号SLEEP*をハイに戻って駆動
する。
【0053】ステートマシーンSTPCLKSTは、雑
多なロジック132が再び信号SLEEP*をアサート
するまでステートDに留まる。好ましい実施例におい
て、CMC210及び雑多ロジックチップ132間のハ
ンドシェイク・プロトコルは、雑多ロジックチップ13
2が二度SLEEP*アサートすること即ちSTPCL
K*のアサートを要求する1回及び信号STPCLK*
のデアサートを要求する2回を必要とする。ステートD
において、信号D SLEEPOE は、トライステー
トバッファ411が雑多ロジックチップ132との衝突
を回避するようにデセーブルされるようにハイにデアサ
ートされる。信号D STPCLKはローに維持され、
信号CLRCNTがハイにアサートされて、カウンタ4
20を再びクリアする。雑多なロジック132が信号S
LEEP*をアサートした時には、信号SYNC SL
EEPは、2つのCLK2サイクル後にローにアサート
され、その後ステートマシーンSTPCLKSTをステ
ートDからEに移行させる。この移行において、信号D
STPCLK、D SLEEPOE及びCLRCNT
はそれぞれロー、ハイ及びハイに維持される。ステート
マシーンSTPCLKSTは、雑多ロジックチップ13
2が信号SLEEP*をハイに戻って駆動するまでステ
ートEで待機する。ステートEで信号D STPCLK
は、ハイにデアサートされる。この結果、1つのCLK
2サイクル後に、信号STPCLK*は活性されない。
【0054】雑多ロジックチップ132がSLEEP*
をハイに駆動した時には、信号CLRCNTは、2つの
CLK2サイクル後にローにアサートしてカウンタ42
0が動作できるようにする。信号MAX CNTBが8
つのCLK2サイクル後にハイにアサートされた時に
は、ステートマシーンSTPCLKSTがステートEか
らFに移行する。移行において、信号CLRCNTはハ
イにアサートされて、カウンタ420をクリアする。ス
テートFにおいて信号D SLEEPOE及びDSLE
EPはローにアサートされて、CMC210が信号ST
PCLK*をデアサートしたことの雑多ロジックチップ
132へのアクノリッジとして、信号SLEEP*をロ
ーに駆動する。同時に信号CLRCNTは、カウンタ4
20が動作できるようにするために、ローにデアサート
される。カウンタ420が値0b111に達した時に
は、ステートマシーンSTPCLKSTがステートFか
らステートGに移行して、信号D SLEEPをハイに
デアサートし、信号D SLEEPOEをローに維持し
て、信号SLEEP*をハイに駆動する。ステートマシ
ンSTPCLKSTはステートGからステートAに戻っ
て移行する。移行において、信号D SLEEPOE
は、トライステートバッファ411を遮断するためにハ
イにデアサートされる。
【0055】今図6を参照して、アドレスストローブC
ADS0*及びCADS1*とチップ選択信号CCS0
*及びCCS1*とを発生するロジックが示される。ス
テートマシーンGREENSTによって発生された信号
D GREEN CADSは、ORゲート502、50
4及び506の各一入力に供給される。また、ORゲー
ト502、504及び506は各々が信号D L2WB
GREEN CADS及びD LOCWR GREE
N CADSを受信する。更に、ORゲート502、5
04及び506はアドレスストローブ及びチップ選択信
号を発生すために、他のサイクル間に駆動される他の信
号を受信する。更に、各ORゲート504及び506の
入力は、入力が信号S BURSTRAMの反転状態、
信号DGREENMODE、信号L2WB IPの反転
状態、信号PTRK A及びアドレスストローブADS
*を受信するANDゲート508の出力に接続される。
信号S BURSTRAMは、構築レジスタのビット5
に対応する。もし信号SBURSTRAMがローにセッ
トされるならば、キャッシュSRAM209が非同期で
あることを指示する。信号S BURSTRAMはもし
ハイにセットされるならば、バーストSRAMが使用さ
れたことを指示する。信号L2WB IPは、ライトバ
ックサイクルをL2キャッシュメモリ208から主メモ
リ214に制御するステートマシーンWBST(図9)
がアクティブであるかどうかを指示する。もしハイであ
るならば、信号L2WB IPがライトバックサイクル
が進行中であること指示し、もしローであるならばステ
ートマシーンWBSTはアイドル状態である。信号PT
RK Aは、プロセッサバス202が不活発、即ちアド
レスストローブADS*がアサートされない時にハイに
アサートされる。
【0056】従って、もし非同期SRAM209が使用
され、信号D GREENMODEがハイにアサートさ
れて低電力モードを指示するならば、もしプロセッサバ
ス202が不活発であり、ライトバックサイクルが始ま
っていないならば、ANDゲート508は、その出力を
ハイに駆動する。後述するように、この状態は、非同期
キャッシュSRAM209のチップ選択CS*入力がハ
イにデアサートさせられて、SRAMを低電力モードに
置く。非同期SRAM用には、そのチップ選択入力CS
*がハイに維持されて、より低い電力モードに留まらせ
なければならない。しかしながら同期SRAMは、より
低い電力モードに置くことがそのチップ選択入力CS*
をデアサートして維持しながら、そのアドレスストロー
ブ入力ADSC*をアサートすることを含むので、異な
る。その後、チップ選択CS*入力は、低電力モードか
ら同期SRAMを出ることなしで再びローに駆動するこ
とができる。同期SRAMは、そのアドレスストローブ
入力ADSP*又はADSC*の1つが活性化される場
合に限り、低電力モードから出る。
【0057】ORゲート502、504及び506の出
力はそれぞれD型フリップフロップ510、512及び
514のD入力に接続される。D型フリップフロップ5
10、512及び514は信号CLK2によってクロッ
クされて、信号SYNC CADS及びSYNC BL
K CCS0及びSYNC BLK CCS1をそれぞ
れ供給する。信号SYNCCADSは、キャッシュアド
レスストローブ信号CADS0*及びCADS1*をそ
れぞれ制御し、信号SYNC BLK CCS0及びS
YNC BLK CCS1はチップ選択信号CCS0*
及びCCS1*を制御する。
【0058】信号SYNC CADSは、信号REQ
ASYNC CADS及びASYNC MWR CAD
Sをも受信するORゲート516の一入力に供給され
る。信号REQ ASYNC CADSは、サイクルを
L2キャッシュメモリ208に割り当てる間に発生され
る。割り当てサイクルは、読出又は書込ミスの後にL2
キャッシュメモリ208のラインを一杯に即ち更新する
ために行なわれる。信号ASYNC MWR CADS
は、メモリ書込サイクル及びL2ライトバックサイクル
間にアサートされる。ORゲート516の出力は、他の
入力がD型フリップフロップ520の出力に接続される
ANDゲート518の入力に接続される。D型フリップ
フロップ520は、信号CLK2によってクロックさ
れ、そのD入力がアドレスストローブADS*のアサー
トを指示する信号D NEWCYCVALIDを受信す
る。ANDゲート518の出力は、出力がマルチプレク
サ524の1入力に接続されるインバータ522の入力
に接続される。マルチプレクサ524の0入力は、信号
CA[1]に接続され、マルチプレクサ524が信号S
BURSTRAMによって選択される。
【0059】マルチプレクサ524の出力は、アドレス
ストローブ信号CADS0*及びCADS1*をそれぞ
れ駆動するトライステートバッファ526及び528の
入力に供給される。トライステートバッファ526及び
528は信号IOBUFOEによってイネーブルされ
る。両方の信号は、L2キャッシュメモリ208が2ウ
エイ・セット・アソシアティブとして形成される場合に
限りアドレスストローブとして使用される。信号CAD
S0*がアドレスを第1ウエイにストローブし、信号C
ADS1*がアドレスを第2ウエイにストローブする。
もしL2キャッシュメモリ208が直接マップとして組
織されたならば、信号CADS0*は、キャッシュSR
AM209のADSC*入力に接続され、信号CADS
1*は未接続である。
【0060】バーストSRAM毎にバーストロジックは
自らSRAM内に配置される。CMC210は、バース
トサイクル間にアドレスをインクリメントする時を指示
するためにキャッシュSRAM209にアドレス進歩信
号CADVO*及びCADV1*を供給する。しかしな
がら非同期SRAMの場合において、バーストサイクル
は、CMC210によって完全に制御されなければなら
ない。非同期キャッシュSRAM209が486DX4
プロセッサでのみ好ましく使用されるので、データ・バ
スPDの幅が32ビット即ち4バイトである。その結果
非同期キャッシュSRAM209への2つの最上位アド
レス入力は、プロセッサアドレスビットPA[3:2]
に対応する。キャッシュSRAM209の2つの最下位
アドレス入力が直接アドレスビットPA[3:2]に接
続していないが、そのCADSn*及びCADVn*出
力を通してCMC210に供給され、但しnは0又は1
に等しい。CADSn*はプロセッサアドレスビットP
A[3]に対応し、CADVn*はプロセッサアドレス
ビットPA[2]に対応する。
【0061】CMC210における信号CA[1:0]
は、それぞれプロセッサアドレスビットPA[3:2]
を代表する。信号CA[1]は、L2キャッシュメモリ
208が非同期のSRAMで実行される時に選択された
マルチプレクサ524の0入力に供給される。同様に信
号CA[O]は、信号CADVn*の上へ多重送信され
る。アドレスストローブADS*が各バスサイクルの始
めでマイクロプロセッサ200によってアサートされる
時には、信号CA[1:0]がアドレスビットPA
[3:2]の状態と共にロードされる。バーストサイク
ル間に信号CA[1:0]は、次のバースト転送のため
にCMC210でインクリメントされる。
【0062】チップ選択信号CCS0*及びCCS1*
は、信号IOBUFOEによってイネーブルされるトラ
イステートバッファ530及び532によってそれぞれ
出力される。チップ選択信号CCS0*は、2バンク2
ウエイ・セット・アソシアティブモードのキャッシュS
RAM209の第1バンクをイネーブルし、チップ選択
信号CCS1*が第2バンクをイネーブルする。単一バ
ンク2ウエイ・セット・アソシアティブモードにおい
て、信号CCS0*がチップ選択信号として作用し、信
号CCS1*はウエイ選択を行なう。直接マップされた
モードにおいて、信号CCS0*のみがキャッシュSR
AM209に接続される。トライステートバッファ53
0の入力は、信号SYNC BLK CCS0、SRA
M BLKCCS0及びREQ BLK CCS0を受
信するORゲート534の出力に接続される。不注意な
書込を回避するためには、信号SRAM BLK CC
S0は、キャッシュSRAM209の書込イネーブル入
力がハイにデアサートされたように書込まれないまで、
2ウエイ・セット・アソシアティブモードで書き込まれ
なかったウエイをデセーブルするために形成される。信
号REQ BLKCCS0は、L2キャッシュメモリ2
08への割り当てサイクル間に駆動される。従って、ス
テートマシーンGREENSTによる信号D GREE
N CADSのアサートは信号SYNC BLK CC
S0をアサートさせて、信号CCS0*をハイにデアサ
ートさせる。
【0063】トライステートバッファ532の入力は、
信号SELB及びSELAによって選択される4:1マ
ルチプレクサ536の出力に接続される。マルチプレク
サ536の0〜3入力はそれぞれ、信号NORM CC
S1 及びNORM SBWAY及びLABELBCM
PR及びALLOCWAY 1を受信する。信号SEL
B及びSELAはテーブル2に従って発生される。
【0064】 テーブル2 SELB SELA 0 0 !SB2WAY 0 1 SB2WAY && !S BURSTRAM + SB2WAY && S BURSTRAM && !NEW PADS60 DLY && !NEWCYC V ALID 1 0 SB2WAY && S BURSTRAM && NEW PADS60 DLY && !NEWCYC VALID 1 1 SB2WAY && S BURSTRAM && NEWC YC VALID
【0065】信号SELB及びSELAは、もし信号S
B2WAYがネゲートされるならばローに駆動される。
信号SB2WAYは、もしL2キャッシュメモリ208
が単一バンク2ウエイ・セット・アソシアティブとして
構築されるならば、ハイにアサートされる。従ってもし
L2キャッシュメモリ208が2バンク2ウエイ・セッ
ト・アソシアティブとして構築されるならば、信号NO
RM CCS1がマルチプレクサ536によって選択さ
れる。信号NORM CCS1は、入力信号REQ B
LK CCS1、SRAM BLK CCS1及びSY
NC BLKCCS1を受信するORゲート538によ
って形成される。信号REQ BLKCCS1は、L2
割り当てサイクルの間に駆動され、信号SRAM BL
KCCS1は、キャッシュSRAM209の第2バンク
の書込イネーブル入力に関するホールド時間要求を満足
させるように駆動される。信号SYNC BLKCCS
1は、信号D GREEN CADSのアサートに応答
してD型フリップフロップ514によってハイにアサー
トされる。
【0066】もし信号SB2WAYがハイにアサートさ
れるならば、マルチプレクサ536への他の3入力の1
つが選択される。注目されるように、単一バンク2ウエ
イ・セット・アソシアティブモードにおいて、信号CC
S1*は、2ウエイの1つを有効に選択するアドレス信
号である。信号NORM SBWAYは、もし信号SB
2WAYがハイにアサートされ、L2キャッシュメモリ
208がローにセットされた信号S BURSTRAM
によって指示されるように非同期SRAMで実行される
ならば、選択される。また、信号NORM SBWAY
は、信号S BURSTRAMがハイにセットされて、
もし信号NEW PADS60 DLY及びNEWCY
C VALIDがローにネゲートされるならば選択され
る。この状態は、同期SRAMが使用され、アドレスス
トローブADS*がCMC210によってアクティブに
検知されなかったことを指示する。信号NORM SB
WAYは、アドレスストローブADS*がアサートされ
る前にウエイ予想を行なうために使用される。ウエイ予
想のより詳細な記述には、これと同時出願した文献とし
て協働する『キャッシュウエイ予想』の表題の特許出願
を参照せよ。
【0067】マルチプレクサ536の2入力は、もし信
号SB2WAY及びS BURSTRAM及びNEW
PADS60 DLYがハイにアサートされて、信号N
EWCYC VALIDがローにネゲートされるならば
選択される。この状態は、アドレスストローブADS*
が検知され、待ち時間状態が60MHz操作のために強
制されることを指示する。この場合選択された信号は、
もしタッグRAM232の選択された入口にストアされ
たラベルがアドレス・バスPAのラベル部分と一致する
ならばハイにアサートされるLABELBCMPRであ
る。従って信号LABELBCMPRは、60MHzで
操作中に強制された待ち状態の間にウエイ選択を行な
う。
【0068】最終的に、信号ALLOCWAY 1は、
もし信号SB2WAY、S BURSTRAM及びNE
WCYC VALIDがハイにアサートされるならば、
選択される。従って信号NEWCYC VALIDがア
ドレスストローブADS*の検知を指示するためにアサ
ートされた後に、信号ALLOCWAY 1は、ウエイ
選択を行なう。信号ALLOCWAY 1の記述のため
に『キャッシュウエイ予想、特許出願』を参照せよ。
【0069】要約すると、もしL2キャッシュメモリ2
08が同期SRAMで実行され、信号D_GREEN_
CADSがホルト特殊バスサイクル或は停止許可アクノ
リッジバスサイクルに応答してステートマシーンGRE
ENSTによってハイにアサートされるならば、アドレ
スストローブ信号CADS0*及びCADS1*はCM
C210によってローにアサートされる。また、信号D
GREEN CADSはチップ選択信号CCS0*及
びCCS1*を制御する。もしL2キャッシュメモリ2
08が直接マップ或いは2バンク2ウエイ・セット・ア
ソシアティブとして構築されたならば、信号CCS0*
及びCCS1*がハイにデアサートされる。しかしなが
ら直接マップされた構築の場合において信号CCS1*
は無視される。もしL2キャッシュメモリ208が単一
バンク2ウエイ・セット・アソシアティブとして構築さ
れるならば、信号CCS1*は、ウエイ0及びウエイ1
間を選択するアドレス信号として有効に用いられて、し
たがって、キャッシュSRAM209を低電力状態に置
く役割をしない。単一バンク2ウエイ・セット・アソシ
アティブにおいて、アドレスストローブCADS0*及
びCADS1*のアサートと、チップ選択信号CCS0
*のデアサートとはキャッシュSRAM209を低電力
モードに置く。これは1つのCLK2サイクル毎に信号
D GREEN CADSをハイに駆動することによっ
て達成される。かつて低電力モードにおいて、同期キャ
ッシュSRAM209は、プロセッサアドレスストロー
ブADS*又はキャッシュアドレスストローブCADS
n*がローにアサートされるまで、そこに留まる。
【0070】非同期キャッシュSRAM209にとっ
て、上述されたように、ANDゲート508は、デアサ
ートされるべきチップ選択信号CCSn*をハイに強制
し、一方信号D GREENMODEがキャッシュSR
AM209を低電力モードに維持するためにアクティブ
である。
【0071】好ましい実施例において、キャッシュSR
AM209を一時的に低電力状態からの移行させ得る2
つの状態が存在する。第1は、マイクロプロセッサ20
0の内部即ちL1キャッシュにおける修正ラインへのス
ヌープヒットを含む。これは、MESIライトバックプ
ロトコルを支持するペンティアムP54又はP24プロ
セッサでのみ発生することができる。他方486DX4
マイクロプロセッサは、ライトスループロトコルだけを
支持する。修正ラインへのスヌープヒットに応答してペ
ンティアムマイクロプロセッサ200は、そのHITM
*出力をアサートする。信号HITM*のアサートは、
スヌープ即ち尋ねサイクルがマイクロプロセッサ200
の内部キャッシュにおける修正ラインをヒットし、マイ
クロプロセッサ200が修正ラインを主メモリ214に
戻って書込んだことをCMC210に知らせる。尋ねサ
イクルのより多くの情報には、ペンティアムデータ本を
参照せよ。
【0072】もしスヌープサイクルがPCIバスマスタ
によって始められたメモリ読出サイクルの結果として発
生したならば、L2キャッシュメモリ208は、もしラ
イトバックサイクル間に形成されたアドレスがL2キャ
ッシュメモリ208のエントリと一致したならば更新さ
れる。L2キャッシュメモリ208の更新は、キャッシ
ュSRAMを低電力モードから取り出すことを必要とす
る。ペンティアムプロセッサは、書込サイクルにおける
キャッシュ度信号CACHE*をアサートすることによ
ってバーストライトバックサイクルを指示する。ライト
バックサイクルは、L1キャッシュのライン幅が32バ
イトであり、一方もし64ビットプロセッサが使用され
たならば、データ・バスPD幅が8バイトであるので、
バーストサイクルであることが注目される。32ビット
プロセッサ用には、L1キャッシュライン幅が16バイ
トであり、データ・バスPD幅が4バイトである。バー
スト転送のために、4つのデータ転送は、ペンティアム
プロセッサで期待され、各データ転送の完了CMC21
0による信号BRDY*のアサートによって指示され
る。従って第4のBRDY*がCMC210によって戻
されるまで、信号HITM*は、マイクロプロセッサ2
00によってローにアサートされて維持される。
【0073】キャッシュSRAM209を一時的に低電
力状態から出させる第2状態は、スヌープヒットがL2
メモリキャッシュシステム208の修正ラインに発生す
るかどうかである。この場合、L2キャッシュメモリ2
08からの修正ラインは、主メモリ214に戻って書込
まなければならない。バーストライトバックサイクルを
行なうためには、キャッシュSRAM209の読出が修
正ラインを回復するために行なわれる。
【0074】今図7及び図8を参照して、L1キャッシ
ュにおける修正ラインへのスヌープヒットに応答してマ
イクロプロセッサ200によって実行されたバーストラ
イトバックサイクルを扱うロジックが示される。バース
トライトバックサイクルを検知するステートマシーンL
OCWRSTの部分が説明される。システムリセットで
ステートマシーンLOCWRSTは、信号BWRT2が
ハイにアサートされ、信号MWR REQ又は信号WR
HIT_REQがハイにアサートされるまで留まるステ
ートAに入る。信号BWRT2はANDゲート602に
よって供給されて、プロセッサバス202上のバースト
書込転送が発生していることを指示する。ANDゲート
602の第1入力はラッチ604の出力に接続され、A
NDゲート602の第2入力が信号T2を受信する。ラ
ッチ604の入力はANDゲート606の出力に接続さ
れる。ANDゲート606の出力状態は、アクティブな
サイクルがプロセッサバス202で検知された時に発生
する信号PTRK Aがローに下がる時にラッチ604
によってラッチされている。ANDゲート606の入力
は、信号W/R*及び信号CACHE*の反転状態を受
信する。信号W/R*は、ハイに駆動される時に書込サ
イクルを指示する。また、もし信号CACHE*がロー
にアサートされるならば、バーストライトバックサイク
ルは示される。
【0075】ORゲート608によって出力された信号
MWR REQは、書込サイクルがCMC210によっ
て主メモリ214に戻って供給される時を指示する。O
Rゲート608の第1入力はANDゲート610の出力
に接続され、他の2入力が信号SMWR REQ WT
及びSMWR REQ MISSを受信する。もしペン
ティアムプロセッサからの出力ピンPWT又はPCDが
ハイにアサートされるならば、信号SMWR REQ
WTは、プロセッサバス202上の非バースト書込サイ
クル間にハイにアサートされる。信号PWTはハイにア
サートされて、特定ページに協働するアドレスのために
ライトスルー処理を強制し、信号PCDがハイにアサー
トされて、ページ基礎による1ページ上のL2キャッシ
ュメモリ208にキャッシュすることをデセーブルす
る。信号SMWR REQ MISSは、ミスが非バー
スト書込サイクル間にL2キャッシュメモリ208で発
生し、もし書込が割り当てることができないならば、ハ
イにアサートされる。
【0076】ANDゲート610の入力は、信号W/R
*及びNEWCYC VALIDと信号CACHE*の
反転状態とを受信する。ANDゲート610の他の入力
は、信号HITM*、L20N、L2WB及びTAGM
ATCHを受信するNANDゲート612の出力に接続
される。信号L20NはL2キャッシュメモリ208が
イネーブルされることを指示し、信号L2WBはL2キ
ャッシュメモリ208がライトバックキャッシュとして
構築されることを指示する。信号TAGMATCHは、
一致がプロセッサアドレスPAのラベル部分及びTAG
RAM230又は232の選択された入口におけるラ
ベル間で発生する時に、ハイにセットされる。従って、
ANDゲート610は、L1キャッシュからライトバッ
クサイクル間或はもし書込サイクルがマイクロプロセッ
サ200によって発生され、ミスがL2キャッシュメモ
リ208で発生し、或はL2キャッシュメモリ208が
イネーブルされず、或いはライトスルーモードで構築さ
れるならば、信号MWRREQをアサートさせる。
【0077】信号WRHIT REQは、ORゲート6
14によって出力され、ヒットがL1キャッシュからバ
ーストライトバックサイクル間にTAG RAM230
又は232で発生する時に、ハイにアサートされる。O
Rゲート614の入力は、タッグRAM230に対応す
る信号WRHITA REQと、タッグRAM232に
対応する信号WRHITB REQとを受信する。信号
WRHITA REQ及びWRHITB REQはそれ
ぞれORゲート616及び618によって供給される。
ORゲート616の入力は、ANDゲート620及び6
22の出力に接続される。ANDゲート620の入力
は、信号CABLEWR REQ及びTHITAを受信
する。信号CABLEWR REQは非バースト書込サ
イクル間にハイにアサートされ、もしアドレス・バスP
Aのラベル部分がタッグRAM230の選択された入口
におけるラベルと一致し、選択されたラインが対応した
状態ビットから決定されるように有効であるならば、信
号T HITAは、ハイにアサートされる。
【0078】ANDゲート622は、信号NEWCYC
VALID、POSSIBLEBURST HIT及
びT MATCHAを受信する。信号POSSIBLE
BURST HITは、もしCMC210がバーストラ
イトバックサイクルを検知し、L2キャッシュ208が
イネーブルされ、マイクロプロセッサ200におけるL
1キャッシュへスヌープ要求がPCIバスマスタによっ
て始められたメモリ読出操作に応答するならば、ハイに
アサートされる。信号T MATCHAは、もし一致が
アドレス・バスPAのラベル部分及び入口の有効又は無
効に拘わらずタッグRAM230の選択された入口にス
トアしたラベル間で発生するならばアサートされる。従
って、もしCMC210がプロセッサバス202上のバ
ーストライトバックサイクルを検知し、ライトバックア
ドレスがタッグRAM230の入口と一致し、タッグR
AM230が選択され、スヌープ要求がPCIバスマス
タによるメモリ読出サイクルの結果であるならば、AN
Dゲート622はその出力をハイに駆動して、ORゲー
ト614が信号WRHIT REQをハイに駆動させ
る。
【0079】ORゲート618の入力は、ANDゲート
626及び628の出力に接続される。ANDゲート6
26は、信号CABLEWR REQ及びT HITB
を受信する。ANDゲート628は、信号NEWCYC
VALID、POSSIBLE BURST HIT
及びT MATCHBを受信する。信号T HITB及
びT MATCHBは、信号の前者セットがタッグRA
M232に対応し、一方後者セットがタッグRAM23
0に対応する以外信号T HITA及びT MATCH
Aと同一である。
【0080】今ステートマシーンLOCWRSTに戻っ
て、マイクロプロセッサ200によって実行されるライ
トバックサイクルは、少なくとも信号BWRT2及びM
WR_REQをハイにアサートさせて、ステートマシー
ンLOCWRSTをステートAからステートEに移行さ
せる。移行において、信号LOCWR HOLD CA
は、信号NEWCYC VALIDの状態と等しくセッ
トされる。信号LOCWR HOLD CAは、NOR
ゲート630の一入力に供給される。NORゲート63
0の他の入力は、信号L2WB HOLD CAを受信
する。信号L2WB HOLD CAは、後で説明さ
れ、L2キャッシュメモリ208からライトバックサイ
クル間にハイにアサートされる。NORゲート630
は、他のサイクル間に駆動される他の信号を受信する。
NORゲート630の出力は、信号CLK2によってク
ロックされたD型フリップフロップ634のD入力に接
続される。D型フリップフロップ634の出力は、AN
Dゲート636の一入力に接続される。ANDゲート6
36の出力は、1入力が信号PNAOを受信するマルチ
プレクサ637の0入力に接続される。マルチプレクサ
637は、もしマイクロプロセッサ200がペンティア
ムP54プロセッサであるならば、ハイにアサートされ
た信号S P54Cによって選択される。マルチプレク
サ637は、ペンティアムP54プロセッサ用のプロセ
ッサ次アドレス信号PNA*と、L2キャッシュメモリ
208が非同期キャッシュSRAM209で実行した時
の信号CALENとを駆動する。CALEN信号は、非
同期のキャッシュSRAM209のアドレスラッチ・イ
ネーブル入力に接続される。プロセッサアドレス・バス
PAの状態は、信号CALENがローに駆動される時
に、非同期のキャッシュSRAM209にラッチされ
る。
【0081】ANDゲート636の他の入力は、D型フ
リップフロップ638の出力に接続される。D型フリッ
プフロップ638は、信号CLK2の下降縁でクロック
され、そのD入力がインバータ640の出力に接続され
る。インバータ640の入力は、信号NEWCYC V
ALIDを受信する。D型フリップフロップ638は、
信号CALENの適当なホールド時間を保証するために
供給される。従って、もしL2キャッシュメモリ208
が非同期のSRAMで実行されるならば、信号LOCW
R HOLD CAのアサートは、信号CALENをロ
ーに駆動させて、プロセッサアドレス・バスPAをキャ
ッシュSRAM209にラッチする。しかしながらもし
同期SRAMが使用されたならば、マイクロプロセッサ
200によるアドレスストローブADS*のアサート
は、初めのバーストアドレスをバーストSRAM209
にロードする。更に、L1ライトバックサイクルを始め
るために、信号ADS*のアサートは、同期キャッシュ
SRAM209を低電力状態から出させる。非同期のキ
ャッシュSRAM209のために、信号ADS*のアサ
ートは、ANDゲート508の出力をローにデアサート
させて、それによってチップ選択信号CCS0*及びC
CS1*をローにアサートすることを許容する。
【0082】ステートマシーンLOCWRSTは、もし
非同期のSRAMが使用されたならばステートEに留ま
り、もし同期SRAMが使用されたならばステートEか
らステートFに移行する。ステートFは、SRAMへの
データホールド時間を保証する非同期SRAM用の余分
な待機ステートを形成する。ステートEにおいて信号B
CNTFのアサートは、ステートマシーンLOCWRS
TをステートAに戻って移行させる。信号BCNTF
は、4つのバースト転送が発生したことを指示する。し
かしながら、もし信号BCNTFがローにデアサートさ
れ、信号S BURSTRAMがハイ又は信号LOCW
R WRHITがローにデアサートされるならばステー
トマシーンLOCWRSTは、ステートEに留まる。信
号LOCWR WRHITは、信号WRHIT REQ
のラッチされるバージョンであって、D型フリップフロ
ップ642によって供給される。D型フリップフロップ
642は、信号CLK2によってクロックされ、そのD
入力がマルチプレクサ644の出力に接続される。マル
チプレクサ644は、信号LOCWR Aによって選択
され、その0入力が信号LOCWR WRHITを受信
し、その1入力が信号WRHIT REQを受信する。
信号LOCWR Aは、もしステートマシーンLOCW
RSTがステートAにあるならばハイにアサートされ
る。従ってL1ライトバックサイクル間のタッグRAM
230又は232における選択された入口への一致は、
ステートマシーンLOCWRSTがステートAに戻るま
で、信号LOCWR WRHITをハイにラッチさせ
る。
【0083】信号BCNTFは、2ビット2進数カウン
タ646が値0b11を計数する時にハイにアサートさ
れる。カウンタ646は、如何にBRDY*信号がCM
C210によってマイクロプロセッサ200に戻って供
給されたかの軌跡を保持する。カウンタ646は、信号
CLK2によってクロックされ、信号BRDY*がCM
C210によってローにアサートされたことをハイにア
サートした時に指示する信号PBRDYによってイネー
ブルされる。カウンタ646のクリア入力は、信号PT
RK A及びENDPCYCを受信するORゲート64
8の出力に接続される。信号PTRK Aはプロセッサ
バス202が現在アイドルであることを指示する。信号
ENDPCYCは、プロセッサバスサイクルの終わりを
指示するために、ハイにアサートされる。ハイにアサー
トされたこれらの2信号のどちらもカウンタ646をゼ
ロにリセットさせる。2ビットのカウンタ646は、比
較器650の一入力に信号BRDY CNT[1:0]
を供給する。もしカウンタ646が値0b11に到達す
るならば、比較器650は信号BCNTFをハイに駆動
する。
【0084】ステートEの間ステートマシーンLOCW
RSTは、ハイにアサートされた信号LOCWR HO
LD CAを維持し、信号D LOCWR PBRDY
をハイにアサートする。信号D LOCWR PBRD
Yは、準備完了信号BRDY*をアサートするためにO
Rゲート343(図3)の入力に供給される。従って好
ましい実施例において、信号BRDY*は、ステートマ
シーンLOCWRSTがステートEにある間、4つのC
LK2サイクル間ローに維持される。第4サイクルでの
信号BRDY*のアサートは、バーストライトバック転
送が完了したことをペンティアムマイクロプロセッサ2
00に通知する。
【0085】更に、ステートマシーンLOCWRSTが
ステートEにある間、チップ選択信号CCS0*の状態
を制御するために使われた信号D LOCWR CWE
0は、もし信号LOCWR WRHITがアサートさ
れ、信号CWE WAYがローにネゲートされるなら
ば、ハイにアサートされる。L2キャッシュメモリ20
8が2バンク2ウエイ・セット・アソシアティブとして
構築される時のみ意味がある信号CWE WAYがAN
Dゲート656によって供給される。ANDゲート65
6の1つの入力はD型フリップフロップ658の出力に
接続され、他の入力は、もし構築レジスタのビット3及
び2がそれぞれハイ及びローにセットされるならばハイ
にアサートされて2バンク2ウエイL2キャッシュメモ
リ208を指示する信号TWOBANK 2WAYを受
信する。D型フリップフロップ658は、信号CLK2
によってクロックされ、そのD入力がANDゲート66
0の出力に接続される。ANDゲート660は、信号S
MODE2WAYと信号WRHITB REQの反転
状態とを受信する。2ウエイ・セット・アソシアティブ
キャッシュにおいて、信号WRHITB REQのアサ
ートは、第2ウエイへの一致を指示する。信号S MO
DE2WAYは、もしL2キャッシュメモリ208が2
ウエイ・セット・アソシアティブとして構築されるなら
ば、ハイにアサートされて、ハイにセットされたオフセ
ット0X52で配置された構築レジスタのビット3又は
2によって指示される。それで、もしL2キャッシュメ
モリ208が2バンク2ウエイ・セット・アソシアティ
ブとして構築されるならば、もしヒットが第1ウエイに
発生するならば、信号D LOCWR CWE0がハイ
にアサートされ、もしヒットが第2ウエイに発生するな
らば、信号のD LOCWRCWE1は、ハイにアサー
トされる。非2バンク構築において、信号D LOCW
R CWE0は、ハイにアサートされ、信号D LOC
WR CWE1は、ローにデアサートされる。
【0086】信号D LOCWR CWE0はORゲー
ト662の一入力に供給され、信号D LOCWR C
WE1がORゲート664の一入力に供給される。OR
ゲート662及び664の第2入力は、非ライトバック
サイクルの間に駆動される信号D REQ CWE0及
びD REQ CWE1をそれぞれ受信する。ORゲー
ト662及び664の出力は、信号D SYNC CW
E0及びD SYNCCWE1をそれぞれ供給する。
【0087】再び図6を参照すると、信号D SYNC
CWE0は信号SYNC BLKCCS1の状態を制
御するORゲート506の一入力に供給される。従って
2バンク構築において、チップ選択信号CCS1*は、
バーストライトバックサイクル間に第1ウエイへの一致
が発生するならばハイにデアサートされる。非2バンク
構築において、信号D SYNC CWE0はハイにア
サートされて、信号SYNC BLK CCS1をハイ
にアサートする。信号D SYNC CWE1は、AN
Dゲート540の一入力に供給される。ANDゲート5
40の他の入力は、信号SB2WAYの反転状態に接続
され、その出力が信号SYNC BLK CCS0の状
態を制御するORゲート504の一入力に接続される。
従って単一バンク2ウエイ・セット・アソシアティブモ
ードにおいて、ANDゲート540の出力はローに維持
される。しかしながら、L2キャッシュメモリ208が
2バンク2ウエイ・セット・アソシアティブとして構築
されたならば、信号DSYNC CWE1の状態は、チ
ップ選択信号CCS0*の状態を決定する。もし第2ウ
エイが選択されてハイにアサートされた信号D SYN
C CWE1によって指示されたならば、信号CCS0
*はデセーブルされる。
【0088】再び図7及び図8を参照すると、ステート
マシーンLOCWRSTは、もし信号LOCWR WR
HITがハイにアサートされるならば、ステートEにお
ける信号D LOCWR CADVをアサートする。信
号D LOCWR CADVは、他の入力がL2キャッ
シュメモリ208からライトバックサイクル間、プロセ
ッサ対メモリ読出サイクル間、L2キャッシュメモリ2
08中のラインの読出ヒットに対応するサイクルの終了
で及びキュー(列)サイクルの実行間に各々駆動される
信号D L2WB CADVと、D MEMRD CA
DVと、D RDHIT PBRDYとD REQ C
ADVとを受信するORゲート666の一入力に供給さ
れる。ORゲート666の出力は、信号CLK2によっ
てクロックされたD型フリップフロップ668のD入力
に接続される。D型フリップフロップ668の出力は、
バーストキャッシュSRAM209に供給されるバース
トアドレス進歩信号CADVn*の状態を制御する信号
SYNC CADVを形成し、nが1又は0に等しい。
信号CADVn*は、ローにアサートされる時に、キャ
ッシュSRAM209におけるバーストロジックがバー
ストアドレスをインクリメントさせる。もし信号SYN
C CADVがハイにアサートされ、同期キャッシュS
RAM209が使用されるならば、信号CADVn*
は、ローに駆動される。
【0089】ステートマシーンLOCWRSTがステー
トEでサイクルしている間、もし信号GOTO DMC
がハイにアサートされるならば、信号LOCWR QP
2MWBは、ハイにアサートされる。この信号GOTO
DMCは、信号CLK2によってクロックされたD型
フリップフロップ670によって供給される。D型フリ
ップフロップ670のD入力は、0入力が信号GOTO
DMCに接続され、1入力が信号MWR REQを受
信するマルチプレクサ672の出力に接続される。マル
チプレクサ672は、ステートマシーンLOCWRST
がステートAにある時に、ハイにアサートされた信号L
OCWR Aによって選択される。従って信号GOTO
DMCは、書込サイクルを主メモリ214に指示する
信号MWR REQのラッチ・バージョンである。信号
LOCWR QP2MWBはCMC210のメモリ制御
器部分に供給されて、ライトバック操作がメモリ214
に実行されていることを指示する。CMC210のメモ
リ制御器部分は、信号LOCWR QP2MWBに応答
して、適切な制御信号をデータバッファ212及び21
3に供給してライトバックデータを行列させる。CMC
210のメモリ制御器部分の詳細な記述は、これと同時
に出願し参照として協働する特許出願の表題『プロセッ
サ及びI/Oバス操作用書込配達キューを有するメモリ
制御器及びキューを制御する順序ロジック』を参照せ
よ。
【0090】更に、もし信号GOTO DMC及び信号
BRDY CNT[O]又はMD1Xがハイにアサート
されるならば、信号LOCWR QPA2MAは、ハイ
にアサートされる。信号MD1XはペンティアムP54
プロセッサが使用されたことを指示する。信号LOCW
R QPA2MAは、CPU対メモリ書込アドレスを行
列するメモリ制御器への要求である。
【0091】上記は、同期キャッシュSRAM209が
如何にマイクロプロセッサ200によって実行されたL
1バーストライトバックサイクルを扱うために活性化さ
れるかを説明した。しかしならがら、もしL2キャッシ
ュメモリ208が(ローに駆動された信号S BURS
TRAMで指示される)非同期SRAMで実行され、信
号LOCWR WRHITがハイにアサートされ、信号
BCNTFがローにデアサートされるならば、ステート
マシーンLOCWRSTはステートEからステートFに
移行する。移行において、ステートマシーンLOCWR
STは、アサートされた信号LOCWR HOLD C
Aを維持して、非同期キャッシュSRAM209にラッ
チされたライトバックアドレスPA[27:4]を保持
する。ステートEからステートFへの移行において、信
号D LOCWR CWE0及びD LOCWR CW
E1及びLOCWR QP2MWB及びLOCWR Q
PA2MIAはステートEと同じ状態に応答してハイに
アサートされる。ステートFからステートマシーンLO
CWRSTは、次のCLK2サイクルでステートEに戻
る。ステートFからステートEの移行において、信号L
OCWR HOLDCAはハイに維持され、信号D L
OCWR CADVがハイにアサートされ、信号D L
OCWR PBRDYがハイにアサートされて、486
DX4マイクロプロセッサ200に戻るバーストアクノ
リッジ信号BRDY*を形成する。信号D LOCWR
CADVは、CMC210におけるアドレスビットC
A[1:0]をインクリメントさせて、それぞれ出力ピ
ンCADSn*及びCADVn*を経て非同期のキャッ
シュSRAM209に供給させる信号SYNC CAD
Vをハイに駆動する。
【0092】4つのBRDY*の信号がアサートされた
後には、信号BCNTFがハイにアサートされて、ステ
ートマシーンLOCWRSTをステートEからステート
Aに移行させる。移行において、ステートマシーンLO
CWRSTは、新しいアドレスがプロセッサアドレス・
バスPAから非同期キャッシュSRAM209に流れる
のを許容するために、信号LOCWR HOLD CA
をデアサートする。更に、もし信号GREENMODE
がハイにアサートされてマイクロプロセッサ200が停
止許可或いは自動停止電力状態にあることを指示するな
らば、ステートマシーンLOCWRSTは、信号D L
OCWR GREEN CADSをハイにアサートす
る。信号D LOCWR GREEN CADSは、そ
れぞれ信号SYNC CADS及びSYNC BLK
CCS0及びSYNC BLK CCS1をアサートす
るために、ORゲート502及び504及び506(図
6)に供給される。従って信号D LOCWR GRE
EN CADSのアサートは、キャッシュSRAM20
9を低電力モードに戻って置く。
【0093】また、ステートEからステートAに戻る移
行において、信号GOTO DMCのアサートは、信号
LOCWR QP2MBをハイにアサートさせる。もし
信号GOTO DMC及び信号BRDY CNT[0]
又はMD1Xがハイにアサートされるならば、信号LO
CWR QPA2MAはハイにアサートされる。
【0094】今図9及び図10を参照して、キャッシュ
SRAM209が低電力モードにある時に、L2キャッ
シュメモリ208における修正ラインにスヌープヒット
に応答するロジックが示される。ステートマシーンWB
STは、主メモリ214にライトバックするために、L
2キャッシュメモリ208からのラインのデータの回収
を制御する。システムリセットで、ステートマシーンW
BSTは、信号L2SNP WBREQがハイにアサー
トされるまで留まるステートAに入る。信号L2SNP
WBREQは、L2キャッシュ208における修正ラ
インへのヒットがPCIバスマスタによって始められた
メモリサイクルに応答して発生したことを指示する。こ
れはステートマシーンWBSTをステートAからステー
トGに移行させる。信号D SEL WBA TO P
AOUTはハイにアサートされて、ライトバックアドレ
スを選択してプロセッサアドレス・バスPAを駆動す
る。ライトバックアドレスは、PCIメモリ要求に協働
するPCIアドレスのラッチ・バージョンである。
【0095】スヌープサイクル間に信号D MYSNP
PAHOLDは、CMC210でハイにアサートされ
る。この信号は、アドレス保持信号AHOLDをアサー
トするために、ORゲート326(図4)の入力に供給
される。アドレス保持信号AHOLDのアサートは、C
MC210がライトバックアドレスによってプロセッサ
アドレス・バスPAを駆動することができるように、マ
イクロプロセッサ200をそれらのアドレス出力ピンを
浮遊即ちハイインピーダンスにさせる。
【0096】ステートマシーンWBSTは、もし信号Q
P2MWBFULLがハイにアサートされて、プロセ
ッサ対メモリ列が現行のライトバックサイクルのために
利用できないことを指示するならばステートGに留ま
る。ステートGにおいて、出力信号L2WB HOLD
CAは、もし非同期SRAMが使用されたならばハイ
にアサートされて、キャッシュSRAM209へのプロ
セッサアドレス・バスPA上のライトバックアドレスを
ラッチする。また、信号D SEL WBA TO P
AOUTはステートGでハイに維持される。プロセッサ
対メモリ行列が一度ライトバック要求毎に利用できるよ
うになった時即ち信号Q P2MWBFULLがネゲー
トされた時には、ステートマシーンWBSTがステート
GからステートBに移行する。信号L2WB HOLD
CAは、SRAM209にラッチされたライトバック
アドレスを保持するようにハイに維持され、信号D S
ELWBA PAOUTは、ライトバックアドレスを選
択することを続けるためにハイに維持される。同期キャ
ッシュSRAM209にとっては、信号D L2WB
CADSは、L2キャッシュメモリ208に初期バース
トアドレスをストローブするためにハイにアサートされ
る。信号D L2WB CADSは、CADSn*信号
の状態を制御するORゲート502の入力に供給され
る。従って信号D L2WB CADSのアサートは、
キャッシュSRAM209を低電力モードから出させ
る。
【0097】ステートBへのステートGからの移行にお
いて、信号D L2WB SBWAYは信号L2WB
WAYに等しいとされる。もしL2キャッシュメモリ2
08が2ウエイ・セット・アソシアティブとして構築さ
れるならば、もしヒットが第2ウエイに対応するタッグ
RAM232で発生するならば、信号L2WB WAY
は、ハイにアサートされる。信号D L2WB SBW
AYは、単一バンク2ウエイ・セット・アソシアティブ
におけるチップ選択信号CCS1*の状態を制御するた
めに形成される。信号CCS1*は、単一バンク2ウエ
イモードにおける有効なアドレス信号であり、L2キャ
ッシュメモリ208におけるウエイ選択を行なう。
【0098】再び図6を参照すると、もしL2キャッシ
ュメモリ208が単一バンク2ウエイ・セット・アソシ
アティブとして構築されるならば、信号SELB及びS
ELAは、マルチプレクサ536の1から3入力の1つ
を選択する。L2キャッシュメモリ208から主メモリ
214へのライトバックサイクル間には、マイクロプロ
セッサ200が関わらなくて、したがって、アドレスス
トローブADS*をアサートしない。この結果、信号N
EWCYC VALIDは、ローにデアサートして留ま
る。上記テーブル2からは、もし信号SB2WAYがハ
イにアサートされ、NEWCYC VALIDがローに
デアサートされるならば、マルチプレクサ536の1又
は2入力が選択されることが理解できる。しかしながら
信号NEW PADS60 DLYがアドレスストロー
ブADS*にも駆動されるので、信号NEW PADS
60 DLYも、ローにデアサートされる。その結果、
L2ライトバックサイクル間にマルチプレクサ536の
1入力が選択される。
【0099】マルチプレクサ536の1入力は、マルチ
プレクサ702によって供給された信号NORM SB
WAYを受信する。マルチプレクサ702の0入力は、
ラッチ704の出力に接続され、その1入力がマルチプ
レクサ706の出力に接続される。マルチプレクサ70
2は、信号S BURSTRAMによって選択される。
ラッチ704の入力は、マルチプレクサ708の出力に
接続される。ラッチ704は、信号SBWAY LEN
がローに落ちた時に、その入力の状態をラッチする。マ
ルチプレクサ708は、信号NEWCYC VALID
によって選択される。その0入力は、マルチプレクサ7
06の出力に接続され、その1入力が信号ALLOCW
AY 1を受信する。マルチプレクサ706の0入力
は、信号LASTRDWAYを受信し、その1入力がO
Rゲート710の出力に接続される。信号LASTRD
WAYは、2ウエイ・セット・アソシアティブモードで
ウエイ予測を行なうために使用された。好ましい実施例
において、予測されたウエイは、L2キャッシュメモリ
208の最後の読出しで選択されたウエイである。マル
チプレクサ706は、図6のD型フリップフロップ51
0によって出力された信号SYNC CADSによって
選択される。ORゲート710の入力は、他のサイクル
でL2キャッシュメモリ208の第1又は第2ウエイを
選択するために信号D L2WB SBWAY及び他の
信号を受信する。
【0100】従って、もし信号D L2WB SBWA
Yがハイにアサートされて修正ラインがL2キャッシュ
メモリ208の第2ウエイからであることを指示するな
らば、ハイ状態は、信号SYNC CADSがD L2
WB CADSのアサートに応答してハイにアサートさ
れる時にマルチプレクサ706の出力に通される。もし
同期キャッシュSRAM209が使用されるならば、マ
ルチプレクサ706出力の状態は、マルチプレクサ70
2を通して信号NORM SBWAYに直接通される。
もし非同期キャッシュSRAM209が使用されるなら
ば、信号NORM SBWAYの状態は、マルチプレク
サ708及びラッチ704を通して決定される。L2バ
ーストライトバックサイクルにおいて、信号NEWCY
C VALIDはデアサートに留まる。ラッチ704に
供給されたラッチ信号SBWAYLENは、信号SBW
AY LENをローに下げさせる信号SYNC CAD
Sがアサートされるまでハイに維持されて、マルチプレ
クサ708の入力がマルチプレクサ702の0入力に通
過できる。従って単一バンク2ウエイ・セット・アソシ
アティブL2キャッシュメモリ208にとって、ステー
トマシーンWBSTによって発生された信号D L2W
B SBWAYは、L2ライトバックサイクル間のCC
S1*の状態に決定する。
【0101】もしL2キャッシュメモリ208が2バン
ク2ウエイ・セット・アソシアティブとして構築される
ならば、両方のチップ選択信号CCS0*及びCCS1
*が両方のバンクをイネーブルするために、ローに維持
される。しかしながら、L2キャッシュSRAM209
の選択されたバンクの出力のみが駆動される。これは、
それぞれ信号D L2WB COE0及びD L2WB
COE1の使用を通して達成される。信号D L2W
B COE0は、信号COE WAYの反転状態に等価
であり、信号D L2WB COE1は、COE WA
Y信号の反転状態に等価である。この信号COE WA
Yは、入力が信号L2WB WAY及びTWOBANK
2WAYを受信するANDゲート712によって供給
される。上記注目されるように、信号L2WB WAY
は、ハイにアサートされる時に、スヌープサイクル間に
タッグRAM232の有効なラインへのヒットを指示す
る。従って信号D L2WB COE0は、第1ウエイ
へのヒット用にハイにアサートされ、信号D L2WB
COE1が第2ウエイへのヒット用にハイにアサート
される。信号D L2WB COE0はORゲート71
4の入力に供給され、信号D L2WB COE1はO
Rゲート716の入力に供給される。ORゲート714
及び716の出力は、それぞれD型フリップフロップ7
18及び720のD入力に接続される。また、ORゲー
ト714及び716は、L2キャッシュメモリ208の
読出を要求している他のサイクル間に他の信号を受信す
る。D型フリップフロップ718及び720は信号CL
K2によってクロックされ、信号SYNC COE0及
びSYNC COE1を出力する。信号SYNC CO
E0はNORゲート722の一入力に供給され、信号S
YNCCOE1がNORゲート724の一入力に供給さ
れる。NORゲート722及び724の出力は、それぞ
れトライステートバッファ726及び728の入力に接
続される。トライステートバッファ726及び728
は、信号IOBUFOE及び各駆動出力イネーブル信号
COE0*及びCOE1*によってイネーブルされる。
信号COE0*及びCOE1*は、それぞれキャッシュ
SRAM209の第1及び第2バンクの出力イネーブル
入力に接続される。信号COEn*はローにアサートさ
れる時に、バンクnの選択されたSRAMをイネーブル
して、データを修正ラインからデータ・バスPDに駆動
し、但しnは0か1である。
【0102】ステートマシーンWBSTは、信号CLK
2の次の上昇縁でステートBからステートCに移行す
る。ステートBからステートCへの移行において、信号
L2WB HOLD CA及びD SEL WBA T
O PAOUTはハイに維持され、信号D L2WB
COE0及びD L2WB COE1はそれらの各状態
で維持される。更に、信号D L2WB CADVはハ
イにアサートされて、図8のORゲート666の一入力
に供給される。信号D L2WB CADVのアサート
は、もし同期SRAMが使用されたならば、バーストア
ドレスをキャッシュSRAM209でインクリメントさ
せ、もし非同期SRAMが使用されたならば、アドレス
ビットCA[1:0]をCMC210でインクリメント
させる。ステートBからステートCへの移行において、
もしマイクロプロセッサ200がペンティアムP54プ
ロセッサであるならば、信号D L2WB QPA2M
Aは、ハイにアサートされる。信号D L2WB QP
A2MAは、プロセッサアドレス・バスPAにあるライ
トバックアドレスの行列をCMC210のメモリ制御器
部分に知らせる。
【0103】次に、ステートマシーンWBSTは、ステ
ートCから、信号L2WB HOLD_CA及びD L
2WB CADVがハイに維持されるステートDに移行
する。信号D SEL WBA TO PAOUTは、
より多くのラインがL2キャッシュメモリ208から戻
って主メモリ214に書込まれるべきかどうかを指示す
る信号MORE LINESの状態に等価である。信号
MORE LINESがハイにアサートされる1つの状
況は、読出又は書込割り当てサイクルが1つ以上の修正
ラインを含むブロックに対してであるかどうかである。
この状況において全ての修正ラインは、割り当てサイク
ルが実行される前に、主メモリ214に戻って書込まれ
なければならない。
【0104】ステートCからステートDへの移行におい
て、信号L2WB QP2MWBもハイにアサートされ
て、CMC210のメモリ制御器部分がキャッシュSR
AM209で駆動されたデータを行列させる。信号D
L2WB COE0及びDL2WB COE1はそれら
の各状態に維持され、信号D L2WB QPA2MA
はハイにアサートされる。
【0105】ライトバックアドレスはペンティアムP5
4プロセッサが使用された時の各サイクル毎に行列させ
られ、ペンティアムP24又は486DX4が使用され
た時の1つ置きのサイクル毎に行列させられる理由は、
2つの場合毎にデータ・バスPDの異なる幅と関係があ
る。ペンティアムP54プロセッサが使用された時に
は、プロセッサデータ・バスPDが64ビット幅であ
る。さもなければデータ幅が32ビットである。メモリ
データ・バスMDの幅が64ビットである。この結果、
32ビットデータ・バスPD上の2つの書込サイクルは
1つのメモリラインを満配するのに必要であるが、64
ビットデータ・バスPD及びメモリデータ・バスMD間
には1対1の対応関係がある。
【0106】追加的にステートCからステートDへの移
行においては、信号L2WB WORD[1:0]は、
値0b00にセットされる。64ビットプロセッサデー
タ・バスPDにとっては、ビットL2WB WORD
[1:0]が各々ライトバックアドレスビットPA
[4:3]として供給されて、主メモリ214への4つ
のバースト転送が進行中であることを指示する。32ビ
ットデータ・バスPDにとっては、ビットL2WB W
ORD [1]は、ライトバックアドレスビットPA
[3]として供給される。32ビットバースト転送にと
って、アドレスビットPA[3:2]は4つの転送が発
生していることを指示する。
【0107】ステートDからは、ステートマシーンWB
STは、信号CLK2の次の上昇端でステートEに移行
する。移行において、信号L2WB HOLD CA、
L2WB QP2MWB、D L2WB CADV、D
L2WB COE0及びDL2WB COE1はそれ
らの各状態で維持される。信号D SEL WBATO
PAOUTは、信号MORE LINESの状態で維
持される。ビットL2WB WOFD[1:0]は値0
b01にインクリメントされて、第2バースト転送を指
示する。もしマイクロプロセッサ200がペンティアム
P54プロセッサで実行されるならば、信号D L2W
B QPA2MAはハイにアサートされる。
【0108】次に、ステートマシーンWBSTは、ステ
ートEから、信号L2WB HOLD CA、L2WB
QP2MWB、D SEL WBA TO PAOU
T、D L2WB CADV、D L2WB COE0
及びD L2WB COE1がそれらの各状態で維持さ
れたステートFに移行される。信号D L2WB QP
A2MAはハイにアサートされ、ビットL2WB WO
RD[1:0]は値0b10にインクリメントされて、
バーストライトバックサイクルで第3のデータ転送を指
示する。もし信号MORE LINESがローにデアサ
ートされるならば、信号L2WB DONEは、ハイに
アサートされる。現行のライトバックサイクルにおい
て、L2キャッシュメモリ208からの1つのみの修正
ラインは、主メモリ214に戻って書込まれる。この結
果、信号MORE LINESはローにデアサートされ
て、信号L2WB DONEをハイにアサートさせる。
【0109】次に、ステートマシーンWBSTは、もし
信号MORE LINESがローであるならば、ステー
トFからステートAに移行する。ステートマシーンWB
STは、もしMORE LINESがハイであるなら
ば、ステートGに移行して、次のラインの転送を始め
る。ステートFからステートAへの移行は、信号L2W
BHOLD CAをローにデアサートさせて、プロセッ
サアドレス・バスPAから新しいアドレスを非同期キャ
ッシュSRAM209に流すことを許容する。ビットL
2WB WORD[1:0]は、値0b11にインクリ
メントされて、バーストライトバックサイクルにおける
第4及び最後のデータ転送を指示する。信号L2WB
QP2MWBはハイに維持され、信号L2WB DON
E DLYは、ハイにアサートされる。信号L2WB
DONE DLYは、主メモリ214へのライトバック
サイクルが完了したことを指示するために、ハイにアサ
ートされる。ステートFからステートAへの移行におい
て、もし信号GREENM0DEがハイにアサートされ
てマイクロプロセッサ200が停止許可状態又は自動ホ
ルト電力低下状態にあることを指示するならば、信号D
L2WB GREEN CADSは、ハイにアサート
される。
【0110】再び図6を参照すると、信号D L2WB
GREEN CADSは、信号SYNC CADSの
状態、SYNC BLK CCS0及びSYNC BL
KCCS1をそれぞれ制御するORゲート502、50
4及び506の入力に供給される。従って信号D L2
WB GREEN CADSのアサートは、キャッシュ
SRAM209を低電力モードに戻って置く。
【0111】
【発明の効果】従って、マイクロプロセッサによって実
行されたある特殊サイクルに応答して外部即ちL2キャ
ッシュメモリを低電力モードに置く回路が説明された。
特に特殊サイクルは、停止許可アクノリッジ特殊サイク
ル及びホルト特殊サイクルである。マイクロプロセッサ
は、コンピュータシステムによる要求に応答して停止許
可アクノリッジ特殊サイクルを実行して、そのクロック
を遅くする。この要求は、もしシステムが時間の予め決
定された期間の間アイドルであるならば、コンピュータ
システムによってアサートされる。HLT命令が実行さ
れる時に、ホルト特殊サイクルは、マイクロプロセッサ
によって発生される。停止許可アクノリッジ及びホルト
特殊サイクルは、マイクロプロセッサを低電力状態に置
く。また、マイクロプロセッサが低電力モードにあるの
で、L2キャッシュメモリは、さらにそれ以上の電力節
約のために低電力モードに置かれる。L2キャッシュメ
モリが同期又は非同期の静的任意アクセスメモリ(SR
AM)によって実行される。同期SRAMを低電力モー
ドに置くためには、そのチップ選択入力がデアサートさ
れる間にそのアドレスストローブ入力がアサートされ
る。非同期SRAMにとっては、そのチップ選択入力を
デアサートすることは、SRAMを低電力モードに移行
させる。
【0112】発明の前述の開示及び記述は、それの実例
及び説明的であり、サイズ、形、材料、構成要素、回路
要素。配線接続及びコンタクトにおける種々の変更が、
説明された回路の詳細と構成と操作の方法でと同程度よ
く発明の精神を逸脱しないで作られてもよい。
【図面の簡単な説明】
【図1】実施例コンピュータシステムのシステム基板の
ブロック図である。
【図2】図1のシステム基板への接続のためのプロセッ
サ基板のブロック図である。
【図3】特殊バスサイクルを検知して、応答するための
回路のロジック図である。
【図4】特殊バスサイクルを検知して、応答するための
回路のロジック図である。
【図5】図2のプロセッサ基板に配置されたマイクロプ
ロセッサに停止クロック信号をアサートするための回路
のロジック図である。
【図6】図2のプロセッサ基板に配置されたキャッシュ
メモリシステムを制御するためのチップ選択及びアドレ
スストローブ信号を発生する回路のロジック図である。
【図7】図5のマイクロプロセッサによって始められた
ライトバックサイクルに応答するための回路のロジック
図である。
【図8】図5のマイクロプロセッサによって始められた
ライトバックサイクルに応答するための回路のロジック
図である。
【図9】図6のキャッシュメモリシステムからライトバ
ックサイクルを行なうための回路のロジック図である。
【図10】図6のキャッシュメモリシステムからライト
バックサイクルを行なうための回路のロジック図であ
る。
【符号の説明】
98 PCIバス 99 EISAバス 114 CPU用コネクタ 132 雑多ロジックチップ 200 ペンティアム 208 キャッシュメモリ 210 CMC 214 主メモリ 222 クロック分配回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェフリー・シー・スティーヴンズ アメリカ合衆国77379テキサス州スプリン グ・ウッドロウド・レイン17611 (72)発明者 マイケル・イー・タブズ アメリカ合衆国77356テキサス州モントゴ メリー・チャーチル・ダウンズ6 (72)発明者 チャールズ・ジェイ・スタンシル アメリカ合衆国77375テキサス州トムボー ル・アベンプレイス・ロード16319

Claims (32)

    【特許請求の範囲】
  1. 【請求項1】コンピュータシステムに配置されたキャッ
    シュメモリデバイスを低電力状態に移行させる回路であ
    って、 前記コンピュータシステムは、バスと、このバスに連結
    されたマイクロプロセッサと、前記バスに連結された主
    メモリと、前記バスに連結されたキャッシュメモリデバ
    イスとを含み、前記回路は、 前記バスに連結されて、バス特殊サイクルを検知する検
    知手段と、 前記検知手段に連結されて、もし前記特殊サイクルが検
    知されるならば、第1信号をアサートする手段と、 前記第1信号に応答し、前記バスに連結されると共にキ
    ャッシュメモリデバイスを低電力モードに置く手段とを
    備え、 前記特殊サイクルは、マイクロプロセッサが低電力消費
    モードに入っていることを指示するために、マイクロプ
    ロセッサによって発生されることを特徴とする回路。
  2. 【請求項2】前記キャッシュメモリデバイスは、第1ア
    ドレスストローブ入力とチップ選択入力とを含み、前記
    キャッシュメモリデバイスを低電力モードに置く手段
    は、 前記バスに連結されて前記第1信号に応答すると共に、
    もし前記第1信号がアサートされるならば、キャッシュ
    メモリデバイスの前記アドレスストローブ入力にキャッ
    シュアドレスストローブ信号を供給し、このキャッシュ
    アドレスストローブ信号供給手段が前記キャッシュアド
    レスストローブ信号をアサートする手段と、 前記バスに連結されて前記第1信号に応答すると共に、
    もし前記第1信号がアサートされるならば、キャッシュ
    メモリデバイスの前記チップ選択入力にチップ選択信号
    を供給し、このチップ選択信号供給手段が前記チップ選
    択信号をデアサートする手段とを含み、前記キャッシュ
    メモリデバイスは、アサートされた前記キャッシュアド
    レスストローブ信号及びデアサートされた前記チップ選
    択信号に応答して低電力状態に置かれることを特徴とす
    る請求項1に記載の回路。
  3. 【請求項3】前記キャッシュメモリデバイスは、同期S
    RAM即ち静的任意アクセスメモリである請求項2に記
    載の回路。
  4. 【請求項4】キャッシュメモリデバイスは、第2アドレ
    スストローブ入力をさらに含み、コンピュータシステム
    は、バスと連結されてバススヌープアドレスを持つスヌ
    ープサイクルを発生する手段をさらに含み、マイクロプ
    ロセッサが内部キャッシュを含み、マイクロプロセッサ
    は、マイクロプロセッサがその低電力消費モードにある
    間に前記スヌープサイクルに応答することができ、もし
    前記スヌープアドレスが前記内部キャッシュで修正され
    た位置に対応するならばマイクロプロセッサが主メモリ
    へのライトバックサイクルを発生し、マイクロプロセッ
    サがプロセッサアドレスストローブ信号をアサートして
    前記ライトバックサイクルを始め、前記プロセッサアド
    レスストローブ信号がキャッシュメモリデバイスの前記
    第2アドレスストローブ入力に供給され、前記プロセッ
    サアドレスストローブ信号のアサートは、もしキャッシ
    ュメモリデバイスが既に低電力状態にあるならば、キャ
    ッシュメモリデバイスを低電力状態から出させて、 前記第1信号に応答すると共に、キャッシュメモリデバ
    イスが低電力状態にあることを指示する第2信号を供給
    し、この第2信号がアサートされた前記第1信号に応答
    して、アサート状態で維持される手段と、 前記バスに連結されて前記ライトバックサイクルの完了
    を検知する手段と、 前記第2信号に応答し、前記ライトバックサイクル検知
    手段に連結すると共に、もし前記第2信号がアサートさ
    れ、前記ライトバックサイクルが完了されるならば、第
    3信号をアサートする手段とを更に備え、前記キャッシ
    ュアドレスストローブ信号供給手段及び前記チップ選択
    信号供給手段は前記第3信号にさらに応答し、もし前記
    第3信号がキャッシュメモリデバイスを低電力状態に戻
    って置くためにアサートされるならば前記キャッシュア
    ドレスストローブ信号がアサートされ前記チップ選択信
    号がデアサートされる請求項2に記載の回路。
  5. 【請求項5】前記コンピュータシステムは、前記バスと
    連結されて前記バス上のスヌープアドレスを持つスヌー
    プサイクルを発生する手段と、前記バスと連結されて前
    記スヌープアドレスがキャッシュメモリデバイスにある
    か否かを決定する手段と、前記決定手段と連結されても
    し前記スヌープアドレスがキャッシュメモリデバイスの
    修正された位置に対応するならば、第2信号をアサート
    する手段と、前記バスと連結され前記第2信号に応答す
    ると共に、もし前記第2信号がアサートされるならば、
    主メモリへのライトバックサイクルを発生する手段とを
    更に含み、前記キャッシュアドレスストローブ信号供給
    手段がさらに前記第2信号に応答し、もし前記第2信号
    がアサートされるならば前記キャッシュアドレスストロ
    ーブ信号がアサートされ、前記キャッシュアドレススト
    ローブ信号のアサートはもしキャッシュメモリデバイス
    が既に低電力状態にあるならばキャッシュメモリデバイ
    スを低電力状態から移行させ、前記回路は、更に前記第
    1信号に応答すると共に、キャッシュメモリデバイスが
    低電力状態にあることを指示する第3信号を供給し、前
    記第3信号がアサートされた前記第1信号に応答してア
    サート状態に維持された手段と、 前記バスと連結されて前記ライトバックサイクルの完了
    を検知する手段と、 前記第3信号に応答し前記ライトバックサイクル検知手
    段に連結されて、前記第3信号がアサートされて、前記
    ライトバックサイクルが完了するならば第4信号をアサ
    ートする手段とを備え、前記キャッシュアドレスストロ
    ーブ信号供給手段及び前記チップ選択信号供給手段が前
    記第4信号にさらに応答し、もし前記第4信号がキャッ
    シュメモリデバイスを低電力状態に戻って置くためにア
    サートされるならば、前記キャッシュアドレスストロー
    ブ信号がアサートされ、前記チップ選択信号がデアサー
    トされる請求項2に記載の回路。
  6. 【請求項6】キャッシュメモリデバイスはチップ選択入
    力を含み、キャッシュメモリデバイスを低電力モードに
    置く前記手段は、 前記バスに連結され前記第1信号に応答すると共に、チ
    ップ選択信号をキャッシュメモリデバイスの前記チップ
    選択入力に供給する手段を含み、もし前記第1信号がア
    サートされるならば、前記チップ選択信号供給手段が前
    記チップ選択信号をデアサートし、キャッシュメモリデ
    バイスがデアサートされた前記チップ選択信号に応答し
    て低電力状態に置かれる請求項1に記載の回路。
  7. 【請求項7】前記キャッシュメモリデバイスは、非同期
    SRAM即ち静的任意アクセスメモリである請求項6に
    記載の回路。
  8. 【請求項8】キャッシュメモリデバイスはアドレススト
    ローブ入力を含み、コンピュータシステムは前記バスと
    連結されてバススヌープアドレスを持つスヌープサイク
    ルを発生する手段をさらに含み、マイクロプロセッサは
    内部キャッシュを含み、マイクロプロセッサは、マイク
    ロプロセッサがその低電力消費モードにある間に前記ス
    ヌープサイクルに応答することができ、マイクロプロセ
    ッサは、もし前記スヌープアドレスが前記内部キャッシ
    ュで修正された位置に対応するならば主メモリへのライ
    トバックサイクルを発生し、前記チップ選択信号供給手
    段がさらに前記ライトバックサイクルに応答し、もし前
    記ライトバックサイクルがアクティブであるならば前記
    チップ選択信号がアサートされ、前記チップ選択信号を
    アサートすることは、もしキャッシュメモリデバイスが
    既に低電力状態にあるならば、キャッシュメモリデバイ
    スを低電力状態から移行させ、回路は更に前記第1信号
    に応答すると共に、キャッシュメモリデバイスが低電力
    状態にあることを指示する第2信号を供給し、前記第2
    信号がアサートされた前記第1信号に応答してアサート
    状態に維持される手段を含み、前記チップ選択信号供給
    手段がさらに前記第2信号に応答し、もし前記第2信号
    がアサートされ前記ライトバックサイクルが完了したな
    らば、前記チップ選択信号がデアサートされ、前記チッ
    プ選択信号のデアサートはキャッシュメモリデバイスを
    低電力状態に戻って置く請求項6に記載の回路。
  9. 【請求項9】前記コンピュータシステムは、前記バスと
    連結されて前記バス上のスヌープアドレスを持つスヌー
    プサイクルを発生する手段と、前記バスと連結されて前
    記スヌープアドレスがキャッシュメモリデバイスにある
    か否かを決定する手段と、前記決定手段と連結されても
    し前記スヌープアドレスがキャッシュメモリデバイスの
    修正された位置に対応するならば、第2信号をアサート
    する手段と、前記バスと連結され前記第2信号に応答す
    ると共に、もし前記第2信号がアサートされるならば、
    主メモリへのライトバックサイクルを発生する手段とを
    更に含み、前記チップ選択信号供給手段がさらに前記ラ
    イトバックサイクルに応答し、もし前記ライトバックサ
    イクルがアクティブであるならば前記チップ選択信号供
    給手段がアサートされ、前記チップ選択信号のアサート
    は、もしキャッシュメモリデバイスが既に低電力状態に
    あったならばキャッシュメモリデバイスを低電力状態か
    ら移行させ、前記回路は、 前記第1信号に応答してキャッシュメモリデバイスが低
    電力状態にあることを指示する第3信号を供給する手段
    を更に含み、前記第3信号がアサートされていた前記第
    1信号に応答してアサート状態で維持され、前記チップ
    選択信号手段は前記第3信号にさらに応答し、もし前記
    第3信号がアサートされ前記ライトバックサイクルが完
    了したならば前記チップ選択信号がデアサートされ、前
    記チップ選択信号のデアサートはキャッシュメモリデバ
    イスを低電力状態に戻って置く請求項6に記載の回路。
  10. 【請求項10】前記特殊サイクルは、停止許可アクノリ
    ッジ特殊サイクルを含む請求項1に記載の回路。
  11. 【請求項11】コンピュータシステムは、もしコンピュ
    ータシステムが時間の予め決定された期間の間アイドル
    であるならば、停止クロック信号をアサートする手段を
    さらに含み、マイクロプロセッサが前記停止クロック信
    号を受信する停止クロック入力を含み、マイクロプロセ
    ッサがクロック入力をさらに含み、前記停止クロック信
    号がマイクロプロセッサを低電力消費モードに置くため
    に前記クロック入力を遅くさせ或いは停止させる要求で
    あり、マイクロプロセッサは、前記停止クロック信号の
    アサートに応答して前記バスに前記停止許可アクノリッ
    ジサイクルを発生する請求項10に記載の回路。
  12. 【請求項12】前記マイクロプロセッサは、ペンティア
    ムプロセッサである請求項11に記載の回路。
  13. 【請求項13】前記マイクロプロセッサは、486DX
    4プロセッサである請求項11に記載の回路。
  14. 【請求項14】前記特殊サイクルはホルト特殊サイクル
    であり、もしマイクロプロセッサがホルト命令を実行す
    るならば、マイクロプロセッサが前記バス上に前記ホル
    ト特殊サイクルを発生し、前記ホルト命令がマイクロプ
    ロセッサの操作を終わらせてマイクロプロセッサを低電
    力消費モードに置かせる請求項1に記載に記載の回路。
  15. 【請求項15】前記マイクロプロセッサは、ペンティア
    ムプロセッサである請求項14に記載の回路。
  16. 【請求項16】前記マイクロプロセッサは、486DX
    4プロセッサである請求項14に記載の回路。
  17. 【請求項17】バスと、 前記バスと連結したキャッシュメモリデバイスと、 前記バスと連結したマイクロプロセッサと、 回路とを備え、この回路は、 前記バスと連結して前記バス特殊サイクルを検知する手
    段と、 前記検知手段と連結してもし前記特殊サイクルが検知さ
    れるならば、第1信号をアサートする手段と、 前記バスと連結して、前記第1信号に応答すると共に、
    前記キャッシュメモリデバイスを低電力モードに置く手
    段とを備え、前記特殊サイクルは前記マイクロプロセッ
    サが低電力消費モードに入っていることを指示するため
    に前記マイクロプロセッサによって発生されるコンピュ
    ータシステム。
  18. 【請求項18】前記キャッシュメモリデバイスは、第1
    アドレスストローブ入力とチップ選択入力とを含み、前
    記キャッシュメモリデバイスを低電力モードに置く手段
    は、 前記バスに連結されて前記第1信号に応答すると共に、
    もし前記第1信号がアサートされるならば、前記キャッ
    シュメモリデバイスの前記アドレスストローブ入力にキ
    ャッシュアドレスストローブ信号を供給し、このキャッ
    シュアドレスストローブ信号供給手段が前記キャッシュ
    アドレスストローブ信号をアサートする手段と、 前記バスに連結されて前記第1信号に応答すると共に、
    もし前記第1信号がアサートされるならば、前記キャッ
    シュメモリデバイスの前記チップ選択入力にチップ選択
    信号を供給し、このチップ選択信号供給手段が前記チッ
    プ選択信号をデアサートする手段とを含み、前記キャッ
    シュメモリデバイスは、アサートされた前記キャッシュ
    アドレスストローブ信号及びデアサートされた前記チッ
    プ選択信号に応答して前記低電力状態に置かれることを
    特徴とする請求項17に記載のコンピュータシステム。
  19. 【請求項19】前記キャッシュメモリデバイスは、同期
    SRAM即ち静的任意アクセスメモリである請求項18
    に記載のコンピュータシステム。
  20. 【請求項20】前記バスと連結した主メモリと、 前記バスと連結して前記バススヌープアドレスを持つス
    ヌープサイクルを発生し、前記キャッシュメモリデバイ
    スは、第2アドレスストローブ入力をさらに含み、前記
    マイクロプロセッサが内部キャッシュを含み、前記マイ
    クロプロセッサは、前記マイクロプロセッサがその低電
    力消費モードにある間に前記スヌープサイクルに応答す
    ることができ、もし前記スヌープアドレスが前記内部キ
    ャッシュで修正された位置に対応するならば前記マイク
    ロプロセッサが前記主メモリへのライトバックサイクル
    を発生し、前記マイクロプロセッサがプロセッサアドレ
    スストローブ信号をアサートして前記ライトバックサイ
    クルを始め、前記プロセッサアドレスストローブ信号が
    前記キャッシュメモリデバイスの前記第2アドレススト
    ローブ入力に供給され、前記プロセッサアドレスストロ
    ーブ信号のアサートは、もし前記キャッシュメモリデバ
    イスが既に低電力状態にあるならば、前記キャッシュメ
    モリデバイスを低電力状態から来るようにさせる手段と
    を更に備え、前記回路はさらに前記第1信号に応答する
    と共に、前記キャッシュメモリデバイスが低電力状態に
    あることを指示する第2信号を供給し、この第2信号が
    アサートされた前記第1信号に応答して、アサート状態
    で維持される手段と、 前記バスに連結されて前記ライトバックサイクルの前記
    完了を検知する手段と、 前記第2信号に応答し、前記ライトバックサイクル検知
    手段に連結すると共に、もし前記第2信号がアサートさ
    れ、前記ライトバックサイクルが完了されるならば、第
    3信号をアサートする手段とを更に含み、前記キャッシ
    ュアドレスストローブ信号供給手段及び前記チップ選択
    信号供給手段は前記第3信号にさらに応答し、もし前記
    第3信号が前記キャッシュメモリデバイスを低電力状態
    に戻って置くためにアサートされるならば前記キャッシ
    ュアドレスストローブ信号がアサートされ前記チップ選
    択信号がデアサートされる請求項18に記載のコンピュ
    ータシステム。
  21. 【請求項21】前記バスと連結した主メモリと、 前記バスと連結されて前記バス上にスヌープアドレスを
    持つスヌープサイクルを発生する手段と、 前記バスと連結されて前記スヌープアドレスが前記キャ
    ッシュメモリデバイスにあるか否かを決定する手段と、 前記決定手段と連結されてもし前記スヌープアドレスが
    前記キャッシュメモリデバイスの修正された位置に対応
    するならば、第2信号をアサートする手段と、 前記バスと連結され前記第2信号に応答すると共に、も
    し前記第2信号がアサートされるならば、前記主メモリ
    へのライトバックサイクルを発生する手段とを更に備
    え、前記キャッシュアドレスストローブ信号供給手段が
    さらに前記第2信号に応答し、もし前記第2信号がアサ
    ートされるならば前記キャッシュアドレスストローブ信
    号がアサートされ、前記キャッシュアドレスストローブ
    信号のアサートはもし前記キャッシュメモリデバイスが
    既に低電力状態にあるならば前記キャッシュメモリデバ
    イスを低電力状態から移行させ、前記回路は、更に前記
    第1信号に応答すると共に、前記キャッシュメモリデバ
    イスが低電力状態にあることを指示する第3信号を供給
    し、前記第3信号がアサートされた前記第1信号に応答
    してアサート状態に維持された手段と、 前記バスと連結されて前記ライトバックサイクルの前記
    完了を検知する手段と、 前記第3信号に応答すると共に、前記ライトバックサイ
    クル検知手段に連結されて、前記第3信号がアサートさ
    れて、前記ライトバックサイクルが完了するならば第4
    信号をアサートする手段とを含み、前記キャッシュアド
    レスストローブ信号供給手段及び前記チップ選択信号供
    給手段が前記第4信号にさらに応答し、もし前記第4信
    号がキャッシュメモリデバイスを低電力状態に戻って置
    くためにアサートされるならば、前記キャッシュアドレ
    スストローブ信号がアサートされ、前記チップ選択信号
    がデアサートされる請求項18に記載のコンピュータシ
    ステム。
  22. 【請求項22】前記キャッシュメモリデバイスは、チッ
    プ選択入力を含み、前記キャッシュメモリデバイスを低
    電力モードに置く前記手段は、 前記バスと連結されて前記第1信号に応答すると共に、
    前記キャッシュメモリデバイスの前記チップ選択入力に
    チップ選択信号を供給し、前記チップ選択信号供給手段
    はもし前記第1信号がアサートされるならば、前記チッ
    プ選択信号をデアサートする手段を含み、前記キャッシ
    ュメモリデバイスは、デアサートされた前記チップ選択
    信号に応答して前記低電力状態に置かれる請求項17に
    記載のコンピュータシステム。
  23. 【請求項23】前記キャッシュメモリデバイスは、非同
    期の静的任意アクセスメモリである請求項22に記載の
    コンピュータシステム。
  24. 【請求項24】前記バスと連結した主メモリと、 前記バスに連結して前記バススヌープアドレスを持つス
    ヌープサイクルを発生し、前記キャッシュメモリデバイ
    スがアドレスストローブ入力を含み、前記マイクロプロ
    セッサが内部キャッシュを含み、前記マイクロプロセッ
    サは前記マイクロプロセッサがその低電力消費モードに
    ある間に前記スヌープサイクルに応答することができ、
    もし前記スヌープアドレスが前記内部キャッシュの修正
    された位置に対応するならば、前記マイクロプロセッサ
    は前記主メモリへのライトバックサイクルを発生し、前
    記チップ選択信号供給手段がさらに前記ライトバックサ
    イクルに応答し、もし前記ライトバックサイクルがアク
    ティブであるならば前記チップ選択信号がアサートさ
    れ、前記チップ選択信号のアサートは、もし前記キャッ
    シュメモリデバイスが既に低電力状態にあるならば、前
    記キャッシュメモリデバイスを低電力状態から移行させ
    る手段とを更に備え、前記回路がさらに前記第1信号に
    応答すると共に、前記キャッシュメモリデバイスが低電
    力状態にあることを指示する第2信号を供給する手段を
    含み、前記第2信号がアサートされた前記第1信号に応
    答してアサート状態で維持され、前記チップ選択信号供
    給手段がさらに前記第2信号に応答し、もし前記第2信
    号がアサートされて、前記ライトバックサイクルが完了
    したならば前記チップ選択信号がデアサートされ、前記
    チップ選択信号のデアサートが前記キャッシュメモリデ
    バイスを低電力状態に戻って置く請求項22に記載のコ
    ンピュータシステム。
  25. 【請求項25】前記バスと連結して前記バススヌープア
    ドレスを持つスヌープサイクルを発生する手段と、 前記バスと連結して前記スヌープアドレスが前記キャッ
    シュメモリデバイスにあるか否かを決定する手段と、 前記決定手段と連結してもし前記スヌープアドレスが前
    記キャッシュメモリデバイスで修正された位置に対応す
    るならば、第2信号をアサートする手段と、 前記バスに連結し前記第2信号に応答すると共に、もし
    前記第2信号がアサートされるならば、前記主メモリに
    ライトバックサイクルを発生する手段とを更に備え、前
    記チップ選択信号供給手段はさらに前記ライトバックサ
    イクルに応答し、もし前記ライトバックサイクルがアク
    ティブであるならば、前記チップ選択信号供給手段が前
    記チップ選択信号をアサートし、前記チップ選択信号の
    アサートはもし前記キャッシュメモリデバイスが既に低
    電力状態にあるならば前記キャッシュメモリデバイスを
    低電力状態から移行させ、前記回路はさらに、 前記第1信号に応答すると共に、前記キャッシュメモリ
    デバイスが低電力状態にあることを指示する第3信号を
    供給する手段を含み、前記第3信号がアサートされた前
    記第1信号に応答してアサート状態で維持され、前記チ
    ップ選択信号手段が前記第3信号にさらに応答し、もし
    前記第3信号がアサートされ前記ライトバックサイクル
    が完了したならば前記チップ選択信号がデアサートさ
    れ、前記チップ選択信号のデアサートは前記キャッシュ
    メモリデバイスを低電力状態に戻って置く請求項22に
    記載のコンピュータシステム。
  26. 【請求項26】前記特殊サイクルは、停止許可アクノリ
    ッジ特殊サイクルを含む請求項17に記載のコンピュー
    タシステム。
  27. 【請求項27】前記コンピュータシステムは、もし前記
    コンピュータシステムが時間の予め決定された期間の間
    アイドルであるならば、停止クロック信号をアサートす
    る手段をさらに含み、前記マイクロプロセッサが前記停
    止クロック信号を受信する停止クロック入力を含み、前
    記マイクロプロセッサがクロック入力をさらに含み、前
    記停止クロック信号が前記マイクロプロセッサを低電力
    消費モードに置くために前記クロック入力を遅くさせ或
    いは停止させる要求であり、前記マイクロプロセッサ
    は、前記停止クロック信号のアサートに応答して前記バ
    スに前記停止許可アクノリッジサイクルを発生する請求
    項26に記載のコンピュータシステム。
  28. 【請求項28】前記マイクロプロセッサは、ペンティア
    ムプロセッサである請求項27に記載の回路。
  29. 【請求項29】前記マイクロプロセッサは、486DX
    4プロセッサである請求項27に記載の回路。
  30. 【請求項30】前記特殊サイクルはホルト特殊サイクル
    であり、もし前記マイクロプロセッサがホルト命令を実
    行するならば、前記マイクロプロセッサが前記バス上に
    前記ホルト特殊サイクルを発生し、前記ホルト命令が前
    記マイクロプロセッサの操作を終わらせて前記マイクロ
    プロセッサを低電力消費モードに置かせる請求項17に
    記載のコンピュータシステム。
  31. 【請求項31】前記マイクロプロセッサは、ペンティア
    ムプロセッサである請求項30に記載の回路。
  32. 【請求項32】前記マイクロプロセッサは、486DX
    4プロセッサである請求項30に記載回路。
JP7293751A 1994-10-14 1995-10-16 特殊バスサイクルに応答してキャッシュメモリを低電力モードに移行させる回路 Pending JPH08297607A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US32311094A 1994-10-14 1994-10-14
US08/323,110 1994-10-14

Publications (1)

Publication Number Publication Date
JPH08297607A true JPH08297607A (ja) 1996-11-12

Family

ID=23257774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7293751A Pending JPH08297607A (ja) 1994-10-14 1995-10-16 特殊バスサイクルに応答してキャッシュメモリを低電力モードに移行させる回路

Country Status (5)

Country Link
US (2) US5813022A (ja)
EP (1) EP0707256A3 (ja)
JP (1) JPH08297607A (ja)
AU (1) AU3313795A (ja)
CA (1) CA2160525A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120331196A1 (en) * 2010-02-26 2012-12-27 Mike Erickson Restoring stability to an unstable bus

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU3313795A (en) * 1994-10-14 1996-04-26 Compaq Computer Corporation Circuit for placing a cache memory into low power mode in response to special bus cycles
JP3798476B2 (ja) * 1996-08-30 2006-07-19 株式会社東芝 コンピュータシステムおよびそのシステムにおけるキャッシュメモリのパワーダウン制御方法
US5951689A (en) * 1996-12-31 1999-09-14 Vlsi Technology, Inc. Microprocessor power control system
EP0855718A1 (en) * 1997-01-28 1998-07-29 Hewlett-Packard Company Memory low power mode control
JP3676077B2 (ja) * 1998-03-31 2005-07-27 株式会社リコー インターフェイス装置
US6085330A (en) * 1998-04-07 2000-07-04 Advanced Micro Devices, Inc. Control circuit for switching a processor between multiple low power states to allow cache snoops
US6308279B1 (en) * 1998-05-22 2001-10-23 Intel Corporation Method and apparatus for power mode transition in a multi-thread processor
US6105141A (en) * 1998-06-04 2000-08-15 Apple Computer, Inc. Method and apparatus for power management of an external cache of a computer system
DE19828316C2 (de) * 1998-06-25 2000-07-06 Daimler Chrysler Ag Vorrichtung zur Senkung des Leistungsverbrauchs eines Signalprozessor-Systems
US6151599A (en) * 1998-07-17 2000-11-21 International Business Machines Corporation Web client scripting test architecture for web server-based authentication
US6336157B1 (en) * 1998-10-30 2002-01-01 Agilent Technologies, Inc. Deterministic error notification and event reordering mechanism provide a host processor to access complete state information of an interface controller for efficient error recovery
JP3250556B2 (ja) * 1998-11-11 2002-01-28 セイコーエプソン株式会社 インクジェット式印刷装置、インクカートリッジのメモリ装置へのアクセス方法、及び印刷装置の制御方法
US6658532B1 (en) * 1999-12-15 2003-12-02 Intel Corporation Cache flushing
US20020038433A1 (en) * 2000-06-28 2002-03-28 Z-World, Inc. System and method for utilizing programmed multi-speed operation with a microprocessor to reduce power consumption
US6836824B1 (en) * 2000-09-26 2004-12-28 Sun Microsystems, Inc. Method and apparatus for reducing power consumption in a cache memory system
US6983388B2 (en) * 2000-10-25 2006-01-03 Agere Systems Inc. Method and apparatus for reducing leakage power in a cache memory by using a timer control signal that removes power to associated cache lines
US6845432B2 (en) * 2000-12-28 2005-01-18 Intel Corporation Low power cache architecture
US6738675B2 (en) 2000-12-30 2004-05-18 Intel Corporation Method, apparatus, and system to reduce microprocessor power dissipation
US7424576B2 (en) * 2001-05-02 2008-09-09 Intel Corporation Parallel cachelets
US7114038B2 (en) * 2001-12-28 2006-09-26 Intel Corporation Method and apparatus for communicating between integrated circuits in a low power mode
US6832300B2 (en) * 2002-03-20 2004-12-14 Hewlett-Packard Development Company, L.P. Methods and apparatus for control of asynchronous cache
US7093153B1 (en) * 2002-10-30 2006-08-15 Advanced Micro Devices, Inc. Method and apparatus for lowering bus clock frequency in a complex integrated data processing system
JP3986950B2 (ja) * 2002-11-22 2007-10-03 シャープ株式会社 Cpuおよびこれを備えた情報処理装置、cpuの制御方法
US6971034B2 (en) * 2003-01-09 2005-11-29 Intel Corporation Power/performance optimized memory controller considering processor power states
US7237216B2 (en) * 2003-02-21 2007-06-26 Infineon Technologies Ag Clock gating approach to accommodate infrequent additional processing latencies
GB0404696D0 (en) * 2004-03-02 2004-04-07 Level 5 Networks Ltd Dual driver interface
US7698575B2 (en) * 2004-03-30 2010-04-13 Intel Corporation Managing power consumption by requesting an adjustment to an operating point of a processor
US7343502B2 (en) * 2004-07-26 2008-03-11 Intel Corporation Method and apparatus for dynamic DLL powerdown and memory self-refresh
US7694080B2 (en) * 2004-12-29 2010-04-06 Intel Corporation Method and apparatus for providing a low power mode for a processor while maintaining snoop throughput
US7218562B2 (en) * 2005-07-01 2007-05-15 P.A. Semi, Inc. Recovering bit lines in a memory array after stopped clock operation
US9710384B2 (en) * 2008-01-04 2017-07-18 Micron Technology, Inc. Microprocessor architecture having alternative memory access paths
US8566628B2 (en) * 2009-05-06 2013-10-22 Advanced Micro Devices, Inc. North-bridge to south-bridge protocol for placing processor in low power state
US20110112798A1 (en) * 2009-11-06 2011-05-12 Alexander Branover Controlling performance/power by frequency control of the responding node
US8271812B2 (en) 2010-04-07 2012-09-18 Apple Inc. Hardware automatic performance state transitions in system on processor sleep and wake events
US8799553B2 (en) * 2010-04-13 2014-08-05 Apple Inc. Memory controller mapping on-the-fly
US8806232B2 (en) 2010-09-30 2014-08-12 Apple Inc. Systems and method for hardware dynamic cache power management via bridge and power manager
US8468373B2 (en) 2011-01-14 2013-06-18 Apple Inc. Modifying performance parameters in multiple circuits according to a performance state table upon receiving a request to change a performance state
US10430190B2 (en) 2012-06-07 2019-10-01 Micron Technology, Inc. Systems and methods for selectively controlling multithreaded execution of executable code segments
US9875051B2 (en) 2015-04-24 2018-01-23 Toshiba Memory Corporation Memory system that controls power state of buffer memory

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4758945A (en) * 1979-08-09 1988-07-19 Motorola, Inc. Method for reducing power consumed by a static microprocessor
US5012406A (en) * 1988-04-19 1991-04-30 Power Card Supply Line of power interruption in predetermined area of internal permanent memory
US4980836A (en) 1988-10-14 1990-12-25 Compaq Computer Corporation Apparatus for reducing computer system power consumption
US5167024A (en) * 1989-09-08 1992-11-24 Apple Computer, Inc. Power management for a laptop computer with slow and sleep modes
JPH04143819A (ja) * 1989-12-15 1992-05-18 Hitachi Ltd 消費電力制御方法、半導体集積回路装置およびマイクロプロセツサ
US5247642A (en) * 1990-12-05 1993-09-21 Ast Research, Inc. Apparatus for determining cacheability of a memory address to provide zero wait state operation in a computer system
US5230074A (en) * 1991-01-25 1993-07-20 International Business Machines Corporation Battery operated computer power management system
US5392417A (en) * 1991-06-05 1995-02-21 Intel Corporation Processor cycle tracking in a controller for two-way set associative cache
GB2260631B (en) * 1991-10-17 1995-06-28 Intel Corp Microprocessor 2X core design
JPH06236284A (ja) * 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
JP2988781B2 (ja) * 1992-05-22 1999-12-13 シャープ株式会社 コンピュータシステム用電力制御装置
US5452434A (en) * 1992-07-14 1995-09-19 Advanced Micro Devices, Inc. Clock control for power savings in high performance central processing units
US5420808A (en) * 1993-05-13 1995-05-30 International Business Machines Corporation Circuitry and method for reducing power consumption within an electronic circuit
US5471625A (en) * 1993-09-27 1995-11-28 Motorola, Inc. Method and apparatus for entering a low-power mode and controlling an external bus of a data processing system during low-power mode
US5384747A (en) * 1994-01-07 1995-01-24 Compaq Computer Corporation Circuit for placing a memory device into low power mode
US5430683A (en) * 1994-03-15 1995-07-04 Intel Corporation Method and apparatus for reducing power in on-chip tag SRAM
US5432967A (en) * 1994-06-20 1995-07-18 Raftery Design, Inc. Multiple position support cushion
AU3313795A (en) * 1994-10-14 1996-04-26 Compaq Computer Corporation Circuit for placing a cache memory into low power mode in response to special bus cycles

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120331196A1 (en) * 2010-02-26 2012-12-27 Mike Erickson Restoring stability to an unstable bus
US8799545B2 (en) * 2010-02-26 2014-08-05 Hewlett-Packard Development Company, L.P. Restoring stability to an unstable bus

Also Published As

Publication number Publication date
US6041401A (en) 2000-03-21
EP0707256A2 (en) 1996-04-17
CA2160525A1 (en) 1996-04-15
US5813022A (en) 1998-09-22
AU3313795A (en) 1996-04-26
EP0707256A3 (en) 1996-08-07

Similar Documents

Publication Publication Date Title
JPH08297607A (ja) 特殊バスサイクルに応答してキャッシュメモリを低電力モードに移行させる回路
EP0780755B1 (en) Circuit for setting computer system bus signals to predetermined states in low power mode
US8365001B2 (en) Method and apparatus for adaptive power management of memory subsystem
US5721935A (en) Apparatus and method for entering low power mode in a computer system
JP2838375B2 (ja) Scsiディスクドライブパワーダウン装置
US8112652B2 (en) Multiprocessor system power management of shared memories powering down memory bank only when all processors indicate not powering that memory bank
US7523324B2 (en) Method and apparatus for improving bus master performance
US6209067B1 (en) Computer system controller and method with processor write posting hold off on PCI master memory request
US7721123B2 (en) Method and apparatus for managing the power consumption of a data processing system
US7299370B2 (en) Method and apparatus for improved reliability and reduced power in a processor by automatic voltage control during processor idle states
JP2002539527A (ja) プログラム可能な待ち状態を有するマイクロプロセシング装置
KR19990076908A (ko) 전원 관리 장치 및 방법
US5822756A (en) Microprocessor cache memory way prediction based on the way of a previous memory read
JPH08227377A (ja) 異なったサイクルで異なる速度のメモリデバイスにアクセスできるメモリ制御器
US20140208144A1 (en) Method and Apparatus for Adaptive Power Management of Memory Subsystem
JP3726116B2 (ja) Pcmciaカードのための起動システム
US5796992A (en) Circuit for switching between synchronous and asynchronous memory refresh cycles in low power mode
US5557782A (en) Flexible deterministic state machine
JP3568592B2 (ja) 周辺バスクロック信号を制御するためのコンピュータシステムおよびその方法
EP1570335B1 (en) An apparatus and method for address bus power control
US5699550A (en) Computer system cache performance on write allocation cycles by immediately setting the modified bit true
US5835948A (en) Single bank, multiple way cache memory
EP0811197B1 (en) System management shadow port
JP2003271260A (ja) コンピュータシステム及びその動作制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060119

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060614