JP2849327B2 - システム管理モードの実行中に書込み保護状態を無効にするコンピュータシステムの操作方法及びコンピュータシステム - Google Patents

システム管理モードの実行中に書込み保護状態を無効にするコンピュータシステムの操作方法及びコンピュータシステム

Info

Publication number
JP2849327B2
JP2849327B2 JP6075298A JP7529894A JP2849327B2 JP 2849327 B2 JP2849327 B2 JP 2849327B2 JP 6075298 A JP6075298 A JP 6075298A JP 7529894 A JP7529894 A JP 7529894A JP 2849327 B2 JP2849327 B2 JP 2849327B2
Authority
JP
Japan
Prior art keywords
state
signal
memory
write
cycle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP6075298A
Other languages
English (en)
Other versions
JPH076094A (ja
Inventor
ガリー・ダブリュー・ソーム
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.)
KONPATSUKU KONPYUUTA CORP
Original Assignee
KONPATSUKU KONPYUUTA 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 KONPATSUKU KONPYUUTA CORP filed Critical KONPATSUKU KONPYUUTA CORP
Publication of JPH076094A publication Critical patent/JPH076094A/ja
Application granted granted Critical
Publication of JP2849327B2 publication Critical patent/JP2849327B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1615Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)
  • Power Sources (AREA)
  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、特にシステム管理モー
ド用のメモリがコンピュータの主メモリ空間(スペー
ス)に配置されて、従来のアプリケーションによってア
クセスでき、従って書き込み保護されなければならない
システム管理モードを有するコンピュータに関する。
【0002】
【従来の技術】マイクロプロセッサ基準のコンピュータ
システムは、性能がものすごい比率で増加している。こ
の増加の殆どは、マイクロプロセッサ自身の改良に基づ
いている。例えば、クロック速度は、メインフレームに
よってのみ既に使用された値に到達している。しかしな
がら、汎用のメモリ装置(デバイス)の性能は、同じ割
合で増加していない。実際、ダイナミックランダム・ア
クセスメモリ(DRAM)は、性能が最近停滞して、努
力の大部分がメモリ容量の増加に集中している。それ
で、主メモリはボトルネックとなっている。
【0003】非常に高速で高価なスタチックRAMの少
量がデータのコピーを記憶するのに用いられるキャッシ
ュメモリシステムは、この問題を幾分軽減するが、設計
が非常に複雑で高価である。更に、貧弱なメモリ性能
は、主メモリにアクセスしなければならない時に帰って
くる。そこで、主メモリシステムの性能を改良する必要
性がまだある。
【0004】ページモードメモリ装置は、メモリシステ
ム効率を増加させる1つの方法を提供する。もし、同じ
ページとして参照されて、同じローアドレスで連続して
アクセスされたならば、カラムアドレスのみが供給され
なければならない。これは、ページヒットとして参照さ
れるケース毎にサイクル時間を劇的に減少できる。これ
は、手短なゲインで、それ自身によってかなり容易にな
されるが、いっそうの性能が常に要望される。
【0005】多くのプロセッサにおいては、各サイクル
のデータ部分の前にアドレスが供給される。これは、パ
イプラインとして参照され、メモリシステムの性能増加
を許容する。全部のアドレスデコードは、部分的に並列
動作が発生するように、データ部分が始まる前に始める
ことができる。
【0006】
【発明が解決しようとする課題】殆どの場合において、
この重複は、関連したシステムがかなりの複雑さを扱え
ないので、幾分最小、1或いは2クロックサイクルであ
る。例えば、メモリ制御器は、イベントを制御し、プロ
セッサクロックのエッジで遷移(進展)する主要ステー
トマシーンに基づいた同期制御器として適宜確立され
る。マイクロプロセッサ及びコンピュータシステムの複
雑さが増加すると、従来のメモリ制御器の仕様が非常に
制限されたものとなる。あらゆる可能なケースを扱う主
要ステートマシーンを確立することは非常に困難であ
る。圧倒的でないならば複雑さが威圧している。この結
果、数々の潜在的性能の改良が制限されなければならな
い。通常、これは、どのパイプラインも制限され、極僅
かな並列動作があることを意味する。幾つかの仕様は後
書き込み動作を許容するが、これは、他の方法において
更に複雑さを増加させる。この結果、幾つかの他の特徴
が犠牲になり、潜在的利得がなくなる。
【0007】勿論、メモリシステム性能はコスト及び速
度間に兼ね合い(トレードオフ)がある。80ナノ秒の
DRAMが適宜使用されたが、僅かに高いコストで60
ナノ秒のDRAMが利用可能である。従来のメモリ制御
器は、使用者が速度対コストの兼ね合いを許容できる異
なった速度のDRAMを使用できるが、まぜこぜ速度の
システムはどんな利益も生まない。メモリ制御器は、異
なった速度のDRAMを使用できるが、システムには1
つのみの実動作速度が許容される。かくして、メモリ制
御器は、取付けられたDRAMの最も遅い速度で動作す
る。これは、メモリ制御器によって制御される主メモリ
システムにおいて、使用者が基準メモリ領域を高速で
作させ、一方拡張メモリ領域を低速で動作させることが
できない。この制限がメモリ制御器の複雑さの故に再度
発生する。
【0008】従って、達成できるメモリシステム性能利
得があるが、従来の仕様制限が実務的でなく潜在的のみ
と表現される。それ故明らかに、プロセッサアドレスの
パイプラインを最大限に使用でき、最大数のサイクルを
同時に実行でき、異なったアクセス速度のメモリデバイ
で有効に使用できるメモリ制御器を持つことが好まし
い。
【0009】追加的に、インテル社からの80386S
L及び80486SLのようなマイクロプロセッサは、
SMI即ちシステム管理割り込みを受信した時に入るシ
ステム管理モードとして参照されるモードを含んでい
る。最近、インテル社のP5即ちペンティアムプロセッ
サがこの特徴を追加した。このP5は、スーパースカラ
アーキテクチャ及び、集積及び分離されたコード及びデ
ータキャッシュを持つ非常に高性能のマイクロプロセッ
サである。データバスは64ビット幅で、8パリティビ
ットが形成される。データキャッシュは、32バイトラ
イン幅を持つライトバック仕様である。
【0010】SMIピンはSMモードに入るために使用
され、SMIACT*として参照される信号がP5即ち
ペンティアムによって供給されて、SMモードの動作を
指示する。SMIがアサートされた時には、インテルの
マイクロプロセッサは、システム管理メモリ(SMRA
M)として参照されるメモリ部分を主メモリ空間にマッ
プする。その後、全部のCPU状態がSMRAMにスタ
ック状即ち最後に入れたメモリ内容が最初に取り出せる
ようにセーブされる。CPU状態がセーブされた後に、
マイクロプロセッサは特定のデバイスへの電力を減少さ
せるような、特定のシステム管理タスクを形成する割込
サービスルーチンであるSMIハンドラルーチンを実行
し始める。このルーチンが実行されながら、他の割込要
求は、サービスされず、同割込ルーチンの完了或いはマ
イクロプロセッサがリセットされるまで無視される。S
MIハンドラがそのタスクを完了した時には、CPU状
態がSMRAMから回復されて、主プログラムを続行す
る。
【0011】SMIを用いる第1群のプロセッサ、イン
テル社の80386SL及び80486SLマイクロプ
ロセッサにおいて、SMRAMは30000h及び3F
FFFh間の主メモリ空間にマップされる。CPU状態
に関するデータは、3FFFFhから開始して従来のス
タックのように下位方向に記憶される。CPU状態がS
MRAMにセーブされた後に、マイクロプロセッサは、
SMRAM空間に配置されたメモリアドレス38000
hでSMIハンドラを開始させる。80386及び80
486マイクロプロセッサ世代において、SMI開始ア
ドレスは、プログラマが変更できないように、アクセス
できないレジスタに記憶されていた。同様に30000
h及び3FFFFh間のメモリ空間の使用がマイクロプ
ロセッサに予めセットされて、変更できないようになっ
ている。このSMRAMの位置及び開始アドレスは固定
及び公知であるが、しばしば不便である。SMIがアサ
ートされる前の30000h及び3FFFFh間の主メ
モリ空間に記憶されたどのデータも、SMIハンドラに
よって上書きされて、特定のメモリにマップ(転写)
し、従来のメモリにマップ(復元)するハードウエアが
展開されない限り失ってしまう。このマップ要求は、過
剰なロジックを必要とする問題を抱え、どのキャッシュ
メモリシステムの必要な一斉書き換えのメモリ内容の急
激な変更を強いることとなる。これはコストと性能に欠
陥を持つ。もし、マッピングが形成されないならば、ソ
フトウエアが、SMRAMで使用されたメモリ空間回り
に注意して設計してデータの不用意な損失を防止しなけ
ればならない。
【0012】この不便を救済するためには、ペンティア
ム即ちP5マイクロプロセッサがSMIハンドラ開始ア
ドレス及びSMRAM空間の位置を使用者によって変更
することを許容している。ペンティアム仕様において
は、マイクロプロセッサのレジスタに記憶されるSMI
開始アドレスが最初30000h値に適宜設定される。
この結果、第1のSMIがアサートされた時には、SM
Iハンドラがアドレス38000hから開始する。しか
しながら、SMIハンドラルーチンが実行中では、それ
がSMRAMとして使用されるべきメモリの異なった領
域に形成されてもよい。この新規SMRAMは、プログ
ラマによって選択された主メモリ空間のどの位置でも開
始してもよい。SMRAMは、新規SMRAM開始アド
レスで始まる64キロバイトのブロックを備える。SM
Iハンドラが終了した時に、新規開始アドレスは、マイ
クロプロセッサの開始アドレスレジスタ内の旧開始アド
レスと置換される。
【0013】次のSMIがアサートされた時には、マイ
クロプロセッサは、SMRAMとして、新規64キロバ
イトのメモリブロックを主メモリ空間にマップし、SM
Iハンドラを新規SMRAMの中間点の新規開始アドレ
スから開始する。例えば、第1のSMIサービスルーチ
ン中では、プログラマがSMRAM開始点を03000
0hから100000hに変更してもよい。SMIが次
にアサートされた時には、10000h及び10FFF
Fh間の主メモリ空間にSMRAMをマップする。その
後、マイクロプロセッサは、SMIハンドラのためにア
ドレス108000hを参照する。かくして、この特徴
は、プログラマにSMRAM用に主メモリ内のより便利
な位置を選択することを許容する。
【0014】SMRAMの再配置力は、プログラマに便
利なオプションを提供するが、同時問題も提供する。S
MRAMに位置する非常に高レベルのコード及びその敏
感な特性故に、SMRAMは、主メモリ空間に配置され
た時にコードの不注意な上書きを防止するために、メモ
リのこの領域を書き込み保護することが非常に好まし
い。多くの問題は、システムがSMIに好ましく応答し
ないので、システム管理コードが上書きされたならば起
こる。SMRAMが主メモリ空間外に配置された時に
は、通常の主メモリ空間外の領域へのメモリマッピング
が同領域への不用意な書込を防止するので、これが問題
とならず、書込保護が不必要となる。SMRAM領域が
主メモリ空間にある時には、書込保護されなければなら
ない。
【0015】しかし、このブロックの書込保護は更なる
問題を提起する。従来の書込保護は物理アドレスに基づ
いてなされていた。従って、領域は一度書込保護される
と、特定の命令が実行されるまで書込保護状態に留ま
る。プロセッサは、これらの命令が自動ステート格納操
作に先立って実行されないので、システム管理モード
移行時に内部ステート値を記憶できない。これは、マ
シーンステートの好ましい回復を妨害する。更に、シス
テム管理コードは、特定の命令が実行されるまで、それ
自身のデータを記憶するSMRAM内の予約領域を使用
できない。この領域は書込保護されてメモ領域或はより
常設的な記憶用に使用できない。他のメモリを用いるこ
とは、これらの位置にあるアプリケーションコードと
そらく干渉するので可能でない。勿論、この書込保護ビ
ットは、システム管理モードに入った時に、ある位置へ
の書込動作を防止することができる。
【0016】それ故、SMRAMが主メモリに安全に位
置でき、システム管理モード動作中に好ましく動作でき
るように、SMRAMによる書込保護問題を解決するこ
とが好ましい。
【0017】本発明によるメモリ制御器は、いかなるプ
ロセッサパイプラインも最大限に使用し、コンピュータ
システムで5つまでの大きいサイクル数を同時に動作さ
せることを許容する。これはメモリシステムの性能にお
ける著しい改良を許容する。
【0018】この改善が得られた第一の方法は、大規模
の複雑なマスタステートマシーンから複数の単純な相互
依存のステートマシーンにメモリ制御機能を移行させこ
とによって得られている。基本的に各ステートマシーン
は全部の操作の1つの小部分通常特定機能を分担する。
各ステートマシーンがその機能を完了した点に到達した
時には、そのタスクを今実行できることを関連のステー
トマシーンに配達して、その次のスタート或いは進行指
示のために待機状態に進む。第2のステートマシーン
は、同様の形態で動作する。これは、完全なサイクルが
実行されるまで、繰り返される。アドレス及び命令デコ
ードのようなサイクルの早期(前半)部分を分担するス
テートマシーンを除いて、サイクルの最後(後半)部分
を分担するステートマシーンがそれらのタスクを完了す
る前に次サイクルでそれらのタスクを開始する。それ
で、よりゆるい関係は、進展に他の信号が必要になる点
に到達するまで、各ステートマシーンが各サイクルで可
能な限り進展することを許容する。それゆえにこの相互
依存の特質は、パイプライン状態の非常に有効な取り扱
いを許容する。
【0019】メモリ制御器は、さらに論理上従来の場合
から再編成される。システムメモリは、中間即ちホスト
バスにオフ配置され(切り離され)ないが、プロセッサ
バスに直接切り離される。ホストバスはプロセッサバス
にも切り離される。従って、3つのバスは、3ポイント
接続を形成する。データバッファはこの3ポイント接続
に位置して、同時にその3バスでデータを扱うことがで
きる。従って、潜在的データルートの数は、全プロセッ
サ・メモリ操作がプロセッサ・ホストバス操作を邪魔し
ながら、ホストバスの使用を必要とする従来の場合より
増やされる。2つの分離通路を通れるデータによって、
共起の機会が増加する。
【0020】このメモリ制御器は、論理上3つのメイン
ブロックを組織し、1つがプロセッサバスに接続されて
相互作用を分担するフロントエンドと呼ばれる。メモリ
ブロックは、実メモリ装置と共に相互作用を扱うために
形成されて、サイクル開始と完了を指示するために、フ
ロントエンドブロックと通信する。同様に、ホストブロ
ックはホストバス相互作用を扱うために形成されて、フ
ロントエンドブロックに起動イベントを通信する。
【0021】フロントエンドブロックは、サイクルをデ
コードして、サイクルがメモリ或はホストバスへ行くか
否かを決めて、適切なブロックを初期化する。その後、
フロントエンドブロックは、次サイクルの動作から解放
されて、パイプラインが容易に扱われる。もし、次サイ
クルがメモリ或はホストバス以外に意図されるならば、
そのブロックは活発化することができ、その操作を始め
る。今フルな共起が展開される。フロントエンドブロッ
クは、1サイクルがプロセッサによって形成されると仮
定すると、まだ他のサイクルデコードから解放され
る。従って、より多くのパイプラインも展開することが
できる。好ましい実施例において、EISAバスはホス
トバスから展開される。書込操作がホストバスからEI
SAバスに配達することができるので、EISAの書
込操作が挿入されるならば、より多くの共起も得ること
ができることは明白である。
【0022】
【課題を解決するための手段】複数のステートマシーン
としてのメモリ制御器の配列は、この共起を簡単にす
る。可能性が個別よりむしろグループとして扱われる
と、全体でより少数のステートしか必要とされない。そ
れで、メモリ制御器の全部の複雑さが処理しやすいサイ
ズに大いに減少させられ、まだパイプラインと共起が得
られ最大にされる。
【0023】追加的に、勿論、複数のステートマシーン
によって形成された柔軟性は、メモリ制御器が60ns及
び80nsのような異なった速度のメモリデバイスを個々
の基準で用いることを許容し、メモリ制御器がメモリシ
ステムの最も遅い速度でなく、各メモリデバイスのフル
仕様速度で実行(動作)させる。メモリ速度はメモリの
128キロバイトの各ブロック毎に記憶される。この記
憶された値は、その後、メモリサイクルが発生している
時に、ステートマシーンを再呼び出しするために使用さ
れて、それでメモリデバイスのタイミング変更を達成す
る。この値が各128キロバイトブロック毎に利用でき
るので、各メモリデバイスはその能力一杯の速度で動作
することができる。
【0024】更に、このメモリ制御器は、SMIACT
*信号によって指示されるように、システム管理モード
がアクティブの時に、書込保護が無効にされるロジック
を含んでいる。この様に、SMRAMは主メモリの書込
保護領域として定義された領域に配置でき、システム管
理モードに入った時に、プロセッサは内部状態を記憶で
き、システム管理モードは、制限なしにSMRAM領域
を自由に操作できる。これは、透明なシステム管理モー
ド及び通常のモード操作を許容できる。
【0025】それ故に、本発明によるメモリ制御器は、
プロセッサによって提供されたいかなるアドレスパイプ
ラインも最大限に使用し、多数のサイクルを同時(共
起)に動作でき、異なる速度のメモリデバイス毎にその
動作を動的に調整ている。これは、全ての可能な稼働
状態下の信頼できる操作がより容易に決定できるよう
に、極端な複雑さなしで行われている。更に、システム
管理モードは、主メモリの書込保護領域に配置でき、シ
ステム管理モード操作期間中にフル書込できるメモリと
して利用できる。
【0026】
【実施例】本発明のより良い理解は、好ましい実施例の
以下の詳細な記述が添付図面と共に熟慮される時に得ら
れることができる。
【0027】今図1を参照すると、好ましい実施例に従
ったコンピュータシステムCが示される。プロセッサ基
板Pは、プロセッサ、キャッシュメモリ及び主メモリ及
び協働設備及び好ましくはカード縁のコネクタ100を
含む。このコネクタ100を受信するためには、システ
ム基板Sは、好ましくはカード縁を収容するソケットの
コネクタ102を含む。このシステム基板Sは、共通の
システム素子及び交換できる回路基板用のスロット或は
コネクタを含む。システム基板Sは、追加のコネクタ1
04をも含む。このコネクタ104は、I/O基板I上
のコネクタ106に差し込まれる。好ましくは、I/O
基板Iがフロッピー及びハードディスク・ドライブ制御
ユニット、音声システム及び並列及びシリアル・ポート
のようなコンピュータCのI/O関連部品を含む。追加
的に、I/O基板Iには、実時間クロック及びCMOS
メモリがある。プロセッサ基板P、システム基板S及び
I/O基板Iの各々は詳細に後述する。
【0028】これは、コンピュータシステムCの例及び
好ましい実施例であることが注目され、単一システム基
板或いはマザーボードが普通に載せられる全部品を持つ
数々の他の実施例が容易に開発できることが理解され
る。
【0029】今図2を参照して、システム基板Sのブロ
ック図が示される。2つの主なバス、即ちホストバスH
及びEISAバスEはシステム基板Sの論理的バックボ
ーンを形成する。ホストバスHは、3つの構成要素、ホ
ストデータ即ちHDバス、HA即ちホストアドレス・バ
ス及びHC即ちホスト制御バスを持っている。好ましく
は、HDバスが32ビット幅であり、HAバスが32ビ
ットアドレス空間用に形成される。好ましくは、ホスト
バスHが80386のようなパイプライン能力を含む8
0486プロトコルに従って実質的に操作される。EI
SAバスEは、4つの主な構成要素、SA及びLA即ち
システム及び初期のアドレス・バス、SD即ちシステム
データ・バス及びSC即ちシステム制御バスを持ってい
る。このEISAバスEには、複数のEISAスロット
108が接続している。インテル82358のようなE
ISAバス制御器110は、ホストバスHサイクル及び
EISAバスEサイクルの間で変換する必要な性能を提
供し、HA及びHCバスとSCバスとの間に接続され
る。このEISAバス制御器110は、ホストバスH及
びEISAバスEの間で必要なデータ転送機能が形成
し、EISAシステムへのデータ結合及び切り離し要求
を形成するデータEBB即ちEISAバスバッファ11
2を制御するために接続される。同様にEISAバス制
御器110は、アドレスEISAバスバッファ即ちEB
B114のために制御機能を形成する。このアドレスE
BB114は、EISAバスE及びホストバスH間で転
送能力を形成し、更に、HAバス信号をラッチして、適
切ならSAバス信号を形成する。
【0030】このコンピュータCは、EISAバスEの
(アービトレーション)仲介と同様に、割込システム、
DMA制御器及び多くのタイマーのようなある基本的構
成要素を含む。これらの構成要素は、全てHA、HC及
びSCバスに接続されるEISAシステム周辺装置11
6に含まれる。システムグルーチップ118として参照
されるチップは、EISAバスEおよびXD即ちXデー
タ・バスとして参照されたバスに接続され、コンピュー
タシステムCで必要な多数の雑多な機能を実行する。
【0031】最後に、XバスXとして参照される第3バ
スは、コネクタ104に供給される。このXバスXは、
アドレスXA、データXD及び制御SC部分を持ってい
る。XAラインはバッファ120の手段によってSAバ
スから展開され、一方XDバスがバッファ或いはトラン
シーバ122の手段によってSDバスから形成される。
好ましくは、XDバスは16ビット幅であり、XAバス
がSAバスと同じビット幅である。ホストバスH及びX
Dバスはプロセッサ基板Pとの接続のためにコネクタ1
02に供給される。更に、XDバスがEISAシステム
周辺装置116に接続している。
【0032】今図3を参照すると、I/O基板Iが詳細
に示される。このI/O基板IのバックボーンはXバス
Xである。このXバスXには、コンピュータシステムC
の基本操作手順を含むROM即ち読出専用メモリ124
が接続されている。このROM124は、基本操作手順
を容易に変更できるようにフラッシュ型EPROMが好
ましい。実時間クロック(RTC)/CMOSユニット
126がXバスXに接続されて、実時間クロック機能及
び長期間メモリ能力を形成している。フロッピ・ディス
ク制御器128はXバスXに接続されて、フロッピ・デ
ィスクユニット130からのデータを受信する。代表的
に8042デバイスのキーボード制御器132がXバス
Xに接続されて、キーボード134及びマウス即ち指針
デバイス136のデータを受信する。多重周辺チップ1
38はXバスXに接続されて、ハードディスク装置14
0、並列ポート142及び2つのシリアル・ポート14
4及び146にインターフェイスを形成する。最後に、
音声システム148は、音声システムに接続しているス
ピーカ150と共に音声の機能を形成するために、Xバ
スxに接続している。他の構成要素は、所望ならばI/
O基板Iで形成できる。好ましくは、好ましいコンピュ
ータシステムC内のグラフィックスシステムは、EIS
Aスロット108に配置される着脱自在のアドインカー
ド上で形成され、I/O基板Iに必然的に置かれていな
い。
【0033】今図4を参照して、プロセッサ基板Pは詳
細に示される。このプロセッサ基板P上の第一の構成要
素は、プロセッサ即ちCPU152で、好ましい実施例
でインテル社からの80486後の次世代設計のP5即
ちペンティアム・マイクロプロセッサである。好ましい
実施例では66MHzバージョンが利用される。803
86及び80486の操作及びインタフェースは、読者
に馴染みがあると仮定する。このP5は、スーパースカ
ラ(Superscalar)アーキテクチャ及び内蔵の分離型コ
ード及びデータキャッシュを持つ非常に高性能マイクロ
プロセッサである。データ・バスは64ビット幅で、8
パリティビットが形成される。データキャッシュは、6
4バイトライン幅を持つライトバック設計である。P5
の多くの信号は、80386及び80486と類似した
機能を持ち、変更或いは新規な機能を持つ信号のみがこ
こに詳細に説明される。その1つの信号は、サイクルが
プロセッサ152によってキャッシュできるか否かを指
示するために使用されるCACHEである。もし。この
CACHE信号が読出或いは書込サイクル中にあるなら
ば、バーストサイクルであり、即ちキャッシュラインフ
ル或いはライトバックである。更に、P5は、PBRD
Y*即ちプロセッサバースト用意入力のみを持ち、PR
DY*即ち単一サイクル用意入力を持たず、このPBR
DY*入力がプロセッサ152への全準備完了(用意)
指示のために使われる。P5は、アドレスパイプライン
を許容するPNA*即ち次アドレス入力を含む。
【0034】P5の1つの追加の特徴は、後に長文で説
明するシステム管理モード即ちSMMである。
【0035】3つのバス、PD即ちプロセッサデータ・
バス、PA即ちプロセッサアドレス・バス及びPC即ち
プロセッサ制御バスは、P5のCPU152に接続して
いる。これらPD及びPAバスには、メモリ制御器15
6から制御信号を受信するレベル2(L2)外部キャッ
シュ154が接続している。好ましい実施例では、メモ
リ制御器156は、メモリ制御機能を含んで、追加的に
L2キャッシュ154を操作するために必要なキャッシ
ュ制御能力を含む単一ASICである。
【0036】PDバスには、2つの新規バス、HD即ち
ホストデータ・バス及びMD即ちメモリデータ・バスを
展開するデータバッファ158が接続される。HDバス
は、システム基板Sへの接続のためにコネクタ100に
接続している。データバッファ158は、メモリ制御器
156によって制御される。トランシーバ/ラッチユニ
ット160は、PAバス及びHAバスの間で接続され
て、P5のCPU152及びホストバスH間のアドレス
のラッチ及び転送能力を形成する。このトランシーバ/
ラッチ160は、メモリ制御器156によって制御され
て、プロセッサバスからホストバスHにサイクルの配達
を許容する。
【0037】プロセッサ・ユーティリティ・チップ16
2は、CPU152との使用に必要なユーティリティ操
作を形成する。このプロセッサ・ユーティリティ・チッ
プ162はXDバス及びHCバスに接続されて、メモリ
制御器156によって制御される。好ましくは、プロセ
ッサ・ユーティリティ・チップ162の出力は、P5C
PU152の制御機能を形成するために、PCバスに供
給される。
【0038】勿論、メモリ制御器156は、DDF即ち
データ目標設備164として参照されたユニットに接続
されている。このDDF164は、メモリのモジュール
化、アドレスの変換及びメモリ区分即ちページ共有記憶
を形成する。DDF164は、特定のメモリバンクがイ
ネーブルかを指示するメモリ能力を形成し、128キロ
バイトの境界毎にアドレスの変換を形成し、それがプロ
セッサ基板P上の主メモリ或は外部に位置するか、書込
保護されたか、高速か、或はキャッシュ化できるかどう
か、またその部分がライトバックキャッシュで利用でき
るかどうかのような、各128キロバイトブロックの特
徴の指示を形成する。このDDF164の操作は、19
89年11月3日に出願された米国特許出願番号07/
431,666及び1991年5月8日に出願公開され
た欧州特許出願公開0426386でより完全に説明さ
れ、両方をここに参照する。DDF164の出力は、一
連の、特定のメモリモジュールをイネーブルするRAS
EN即ちRASイネーブル信号、128キロバイト上の
アドレスビットを指示するある変換アドレス、及びHN
CA、HCW、HWP、PLOCMEM*及びSPD6
Oのようなページ特徴ビットである。
【0039】プロセッサー基板Pのメモリ部分には、4
つの同一モジュールが形成され、各モジュールがアドレ
ス/制御バッファ166、個々のSIMMユニット16
8を収容する1つのソケット及び基本メモリ170を含
んでいる。アドレス/制御バッファ166は、PAバ
ス、DDF164のアドレス及びイネーブル出力、及び
メモリ制御器156からの制御信号を受信する。このア
ドレス/制御バッファ166の出力は、SIMM168
或は基本メモリデバイス170に供給されるアドレス及
びRAS*、CAS*及びWE*信号である。これらの
信号は、SIMM168と基本メモリデバイス170の
各々に供給される。更に、各SIMM168或は基本メ
モリデバイス170はメモリデータ・バスMDに接続し
ている。示されるように4つの同様なモジュールがあ
る。プロセッサー基板Pの他のコンフィギュレーション
(構成)が展開できるが、後述する詳細によって変形例
が当該技術者によって明らかである。
【0040】今図5を参照すると、メモリ制御器156
で利用或は供給される種々の制御信号が関連したバス或
はブロックとの適当な接続と共に示される。図5はコン
ピュータシステムCの残りの構成要素へのメモリ制御器
156の接続の概観に有用である。
【0041】今図6を参照して、アドレス/制御バッフ
ァ166のブロック図が示される。MSELCA*即ち
メモリ選択カラムアドレス信号がD型フリップフロップ
200に供給される。このフリップフロップ200のク
ロックには、プロセッサ152のクロックとして使われ
た66MHz信号が好ましいPCLK信号が供給され
る。フリップフロップ200の非反転出力が12ビット
幅の2:1マルチプレクサ202の選択入力に供給され
る。MALE即ちメモリアドレス・ラッチイネーブル信
号は、PCLK信号でクロックされるD型フリップフロ
ップ204のD入力に供給される。このフリップフロッ
プ204の非反転出力がSMALE信号であって、21
ビット幅のラッチ206のイネーブル入力に供給され
る。ラッチ206のD入力は、PAバスからのPA<1
6..4>信号及びDDF164からのTA<25..
17>変換されたアドレス信号を受信する。信号PA<
16..13>及びTA<24、22..17>を受信
するラッチ206の一部の非反転出力がマルチプレクサ
202の一入力に供給される。信号PA<12..5>
及びTA<25,23>を受信するラッチ206の他の
部分の非反転出力は、マルチプレクサ202のゼロ入力
に対する入力として供給される。PA<4>信号を受信
するラッチ206部分の非反転出力がバーストロジック
210のアドレス入力に供給される。このバーストロジ
ック210は、プロセッサ152のバースト操作即ちキ
ャッシュラインフル及びライトバック操作期間中にメモ
リに印加されるアドレスをインクリメント、効果的に反
転するために用いられる。勿論、バーストロジック21
0は、アドレスをロードする時を示すMALE信号及び
活性時に同アドレスをインクリメントするMADRIN
C*信号を受信する。さらにPCLK信号はバースト
ジック210に供給されて、実クロック操作を実行す
る。バーストロジック210の出力は、カラムアドレス
の最少重要ビット(LSB)であって、マルチプレクサ
202のゼロ入力に供給される。マルチプレクサ202
の出力は、12ビット幅のD型フリップフロップ212
のD入力に供給される。これらフリップフロップ212
は、PCLK信号でクロックされ、Q即ち非反転出力が
MA<11..0>信号である。
【0042】REFRESH*信号は、イネーブル入力
がSMALE信号を受信するラッチ214のD入力に供
給される。ラッチ214の出力がRASデコード論理ブ
ロック216への一入力として供給される。どのメモリ
バンク、基本メモリ170或はSIMM168が活発化
かどうかを示すDDF164からのRASEN<1..
0>信号は、2ビットラッチ218のD入力に供給され
る。ラッチ218へのイネーブル入力はSMALE信号
である。ラッチ218の出力は、RASデコードロジッ
ク216に他の入力として供給される。RASデコード
ロジック216の出力は、適当なRASが選択され、或
いはREFRESH操作のケースにおいて全ローアドレ
スが供給される必要があることを指示するために活性と
なる2ビット信号である。RASデコードロジック21
6の出力は、D型フリップフロップ222の非反転出力
によって供給されるLMRAS*信号をイネーブル入力
が受信する2ビットラッチ220に供給される。MRA
S*信号は、PCLK信号によってクロックされたフリ
ップフロップ222のD入力に供給される。この場合、
マスタRAS即ちMRAS*信号は、デコードされたR
AS信号をイネーブルするために使用される。ラッチ2
20の非反転出力は、2つのORゲート224の1つの
入力及び2つのORゲート226の1つの入力に供給さ
れる。ORゲート224及び226への第2入力がLM
RAS*信号によって供給される。ORゲート224の
出力は、PCLK信号によってクロックされ、その出力
がRASA*<1..0>信号である2ビットD型フリ
ップフロップ228のD入力に供給される。ORゲート
226の出力は、PCLK信号によってクロックされ、
出力がRASB*<1..0>信号である2ビットD型
フリップフロップ230のD入力に供給される。RAS
A*信号及びRASB*信号は、メモリ駆動システムの
追加のファンアウトを形成するために使用される。
【0043】4つのプロセッサバイトイネーブル信号、
即ちアドレス/制御バッファ166がどれを参照してい
るかに依存して、各アドレス/制御バッファ166が3
2ビットのメモリを扱うPBE*<3..0>或はPB
E<7..4>は、4ビットラッチ232のD入力に供
給される。ラッチ232のためのイネーブル信号はSM
ALE信号である。ラッチ232の出力は、CASデコ
ードロジック234への4つの入力である。PA<3>
信号は、SMALE信号によってイネーブルされたラッ
チ236のD入力に供給される。ラッチ236の出力
は、CASデコードロジック234に供給される。メモ
リ制御器156からのMALLBES*即ちメモリ全バ
イトイネーブル信号は、SMALE信号によってイネー
ブルされたラッチ238のD入力に供給される。ラッチ
238の出力は、CASデコードロジックに供給され
る。CASデコードロジック234は、4つの出力、即
ちアドレス制御バッファ166によって供給されるメモ
リの特定のバイトを活発化させる4ラインを持ってい
る。PA<3>信号はメモリシステムの上位及び下位6
4ビットを選択するために用いられ、PBE*信号が
れら64ビットの特定のバイトライン・エンコードに用
いられる。CASデコードロジック234の4つの出力
は、4ビットラッチ240のD入力に供給される。ラッ
チ240へのイネーブル信号は、D型フリップフロップ
242の非反転出力から供給されたLMCAS*即ちラ
ッチされたマスタCAS信号である。フリップフロップ
242は、D入力がマスタCAS即ちMCAS*信号を
受信して、PCLK信号によってクロックされる。ラッ
チ240の4つの出力は、4つの2入力ORゲート24
4の入力として及び4つの2入力ORゲート246への
入力として供給される。これらORゲート244及び2
46への他の入力は、LMCAS*信号によって供給さ
れる。ORゲート244の出力は、PCLK信号によっ
てクロックされ、非反転出力がCASA*<3..0>
信号である4ビットD型フリップフロップ248に供給
される。同様に、ORゲート246の4つの出力は、P
CLK信号によってクロックされ、非反転出力がCAS
B*<3..0>信号である4ビットD型フリップフロ
ップ250のD入力に供給される。再度、2重かは追加
のファンアウトを形成するために使用される。
【0044】MWE*信号は、PCLK信号によってク
ロックされたD型フリップフロップ252のD入力に供
給される。フリップフロップ252の非反転出力は、D
型フリップフロップ254及び256のD入力に供給さ
れる。これらフリップフロップ254及び256は、P
CLK信号によってクロックされて、メモリ書込イネー
ブル信号であるMWEA*及びMWEB*信号を各々生
成する。
【0045】それで、アドレス/制御バッファ166に
MRAS*、MCAS*、MALE、MALLBES
*、MADRINC*、WE*及びMSELCA*信号
を供給することによって、メモリ制御器は、インタリー
ブ操作と同様にページモード操作を許容する適当なメモ
リアドレスと関連して、RAS、CAS及び書込イネー
ブル信号を適当に供給されることができる。
【0046】図7、8及び9は、データバッファ158
の種々の部分の詳細を表わす。今図7を参照して、PD
バスビット63〜0及びこれらラインと関連するパリテ
ィビットは、72ビット幅のバッファ270の入力に供
給される。バッファ270の出力は、4組の72ビット
ラッチ272、274、276及び278のD入力に供
給される。これら4組のラッチは、LPDMDEN0、
LPDMDEN1、LPDMDEN2及びLPDMDE
N3信号をイネーブル入力として受信する。4組のラッ
チ272−278の使用は、書込配達操作でプロセッサ
152からの全バーストを記憶することを許容する。ラ
ッチ272の出力が3:1の72ビット幅のマルチプレ
クサ280のゼロ(第0群)入力へ行く。ラッチ276
の出力は、マルチプレクサ280の入力へ行く。ラッ
チ274の出力は、第2組の72ビット幅3:1マルチ
プレクサ286のゼロ入力へ行く。同様にラッチ278
の出力は、マルチプレクサ286の入力へ行く。マル
チプレクサ280及び286への選択入力は、LMDS
EL<1..0>信号に接続している。マルチプレクサ
280及び286の出力は、144ビット幅のトライス
テートバッファ288の入力に供給された144ビット
幅のパス(経路)を形成するために並列に結合してい
る。バッファ288のための出力制御が反転されて、L
MDOE*信号に接続している。バッファ288の出力
は、メモリデータバス、即ちビット127〜0のメモリ
データ及び16ビットのパリティである。
【0047】36ビット幅のラッチ292及び第2組の
36ビット幅のラッチ290は、並列にバッファ270
の出力に接続される。ラッチ290及び292へのイネ
ーブル入力は、LPDHDEN即ちラッチされたプロセ
ッサデータ対ホストデータイネーブル信号によって供給
される。ラッチ290の出力は、32ビット幅の3:1
マルチプレクサ296のゼロ入力に供給される。パリテ
ィデータは、マルチプレクサ296に供給されない。ラ
ッチ292の出力は、マルチプレクサ296の入力に
供給される。マルチプレクサ296への選択入力は、H
DSEL<1..>信号即ちホストデータ選択信号を
受信する。マルチプレクサ296の出力は、反転制御入
力がHDOE*信号を受信する32ビット幅のトライス
テートバッファ298に供給される。バッファ298の
出力は、HDバスの32ビットに接続している。
【0048】勿論、チャンネルは、ホストデータ・バス
からメモリデータ・バスに行くために必要である。この
結果、32ビット幅のバッファ300は、HDバスに接
続して、32ビット幅のラッチ302のD入力に接続す
る出力を持っている。LDHDEN即ちラッチされた
プロセッサデータ対ホストデータイネーブル信号ラッ
チ302のイネーブル入力に供給される。ラッチ302
の出力は、4ビットのパリティ出力を形成するパリティ
発生器304に供給される。ラッチ302の出力は、4
組の32ビット幅のバッファ306、308、310及
び312に供給される。同様にパリティ発生器304の
出力は、4組の4ビットバッファ314、316、31
8及び320に供給される。これらバッファ306、3
08、314及び316の出力は、マルチプレクサ28
0の第3チャンネルに入力を形成するために並列接続さ
れ、一方バッファ310、312、318及び320の
出力はマルチプレクサ286の第3チャンネルに入力を
形成するために並列接続される。従って、ホストデータ
・バスからの同じデータがメモリデータ・バスを経由し
て4倍供給されるが、これは、アドレス制御バッファ1
66中のRASデコードロジック216及びCASデコ
ードロジック234がどのデータバイト及びどのメモリ
デバイスが実際アクティブで、データを受信するかを実
際に制御するので許容できることは明白である
【0049】勿論、ホストデータ・バスからプロセッサ
データ・バスにデータを得ることは必要である。結局、
バッファ300の出力は、2組の32ビットラッチ32
2及び324のD入力に供給される。LHDPDEN1
信号は、ラッチ322へのイネーブル入力であり、LH
DPDEN0信号は、ラッチ324へのイネーブル入力
である。パリティ発生器326及び328はそれぞれラ
ッチ322及び324の出力に接続している。パリティ
発生器326、ラッチ322、パリティ発生器328及
びラッチ324の出力は、適当なサイズのバッファ33
0、332、334及び336に供給されて、64デー
タビットと8パリティビットとからなる72ビット幅の
値が72ビット幅の3:1マルチプレクサ338の第3
入力に供給される。マルチプレクサ338用の選択制御
は、LPDSEL<1..0>即ちラッチされたプロセ
ッサデータ選択信号によって供給される。或いはマルチ
プレクサ338の出力は、反転トライステート制御がL
PDOE*信号を受信する72ビット幅のトライステー
トバッファ340の入力に供給される。バッファ340
の出力は、プロセッサデータ及びパリティバスの72ビ
ットに接続している。2組のラッチ322及び324の
使用によって、ホストデータ・バス上の2つの完全なア
クセスは、プロセッサに供給された72ビット語を供給
するために、並列結合することができる。
【0050】勿論、経路は、メモリデータ・バスからプ
ロセッサーデータ・バスに形成されなければならない。
結局、144ビット幅のバッファ342は、メモリデー
タ・バス及びメモリパリティ値を受信するために接続し
ている。バッファ342の出力は、イネーブル入力がL
MDPDEN信号を受信する144ビットラッチ344
に供給される。ラッチ344の出力は、下位64ビット
及び関連の0群入力に対するパリティ、及び上位64ビ
ット及び関連の0群入力に対するパリティと共に、マル
チプレクサ338の第0及び第1群入力に供給される。
この様に、マルチプレクサ338は、メモリシステムの
バンク或いはインタリーブ部分の間で選択するために用
いることができる。
【0051】バッファ342の出力のデータ部分は、
4:1の32ビット幅のマルチプレクサ350の4入力
にも32ビット区分で供給される。マルチプレクサ35
0のためのセレクション制御は、メモリデータの32ビ
ット部分がホストデータ・バスに供給されるべきである
ことを示すMDHDSEL<1..0>信号によって供
給される。マルチプレクサ350の出力は、イネーブル
入力がLMDHDEN信号を受信する32ビットラッチ
352に供給される。ラッチ352の出力は、マルチプ
レクサ296の第3入力に接続している。
【0052】理解されるように、データバッファ158
は、バスのどの2組において、方向にデータを転送で
きる必要なリンク及び接続を含む。その上にバッファ1
58は、プロセッサから全バースト書込操作の配達を許
容するのに十分なラッチを含む。同様にホストバスから
の多重操作は、必要ならばプロセッサシステムへの供給
用に構築されるまで、配達或は集約される。更に、プロ
セッサからホストバスへの書込操作配達することがで
きる。
【0053】今図8を参照して、ラッチロジックは、プ
ロセッサデータ対ホスト即ちメモリデータ・バス信号の
ために示される。PDHDLE*信号は、出力がラッチ
362およびD型フリップフロップ364のD入力に供
給されたバッファ360に供給される。PCLK信号
は、ラッチ362の反転イネーブル入力におよびフリッ
プフロップ364のクロック入力に供給される。ラッチ
362及びフリップフロップ364の反転出力は、出力
がLPDHDEN信号である2入力ANDゲート366
に2入力として供給される。バッファ、ラッチ、フリッ
プフロップ及びANDゲートの類似した配列は、LPD
MDEN<3..0>信号を生成するために、PDMD
LE*<3..0>信号と共に利用される。
【0054】今図9を参照して、PDOE*信号は、出
力がD型フリップフロップ370のD入力に供給された
バッファ368に供給される。PCLK信号はフリップ
フロップ370をクロックする。フリップフロップ37
0の非反転出力は、LPDOE*信号である。再び、類
似したバッファ及びフリップフロップ配列は、PDSE
L<1..0>、HDPDLE<1..0>、MDHD
LE、MDPDLE、MDSEL<1..0>及びMD
OE*信号と共に使われて、それぞれLPDSEL<
1..0>、LHDPDEN<1..0>、LMDHD
EN、LMDPDEN、LMDSEL<1..0>及び
LMDOE*信号を生成する。
【0055】今図10を参照して、メモリ制御器156
の部分が示される。好ましくは、メモリ制御器156が
一連の相互依存のブロックとして組織される。これらブ
ロックの各々は、論理的に組織されて、L2キャッシュ
154、プロセッサ152、メモリ、ホストバスH或は
関連の仲介のような特定の外部ユニットに関連する。最
初のブロックは、FECON即ちフロントエンド制御器
400として参照される。FECONブロック400
は、プロセッサ152からのサイクル開始信号を受取る
ためにプロセッサ152と相互作用して、MCONブロ
ック402及びCONブロック404を活発化する信
号を形成し、同様に、MCONブロック402及びHC
ONブロック404からのハンドシェーク信号を受け取
った時にプロセッサ152に完了信号を供給する。勿
論、FECONブロック400は、プロセッサ書込デー
タをラッチし、プロセッサ読出データをイネーブルする
信号をデータバッファ158に供給する。MCONブロ
ック402は第2の主なブロックであって、メモリ制御
部分である。このMCONブロック402は、アドレス
/制御バッファ166とインタフェイスして必要な制御
信号を供給し、データバッファ158とインタフェイス
して、メモリからのデータをラッチし、メモリへのデー
タをイネーブルする。HCONブロック404は、ホス
トバス制御ブロックであり、ホストバスHとインタフェ
イスして、その操作に必要な信号を形成する。HCON
ブロック404は、さらにデータバッファ158と通信
して、ホストバスHからのデータをラッチし、ホストバ
スHへのデータをイネーブルする。MCONブロック4
02及びHCONブロック404は、後述でより明白に
なるように、FECONブロック400とハンドシェイ
ク通信をする。
【0056】CCONブロック406は、L2キャッシ
ュ制御器であり、FECONブロック400及びキャッ
シュ154とインターフェイスして、完全なキャッシュ
制御機能を形成する。好ましくは、キャッシュ制御器が
論理及び操作の簡単のための256キロバイトの直接マ
ップのライトスルー・ルックアサイド・キャッシュであ
る。HARB即ちホスト仲介ブロックとして参照された
ブロック408は、FECONブロック400とインタ
ーフェイスして、プロセッサ及びホストバス仲介を形成
する。図10に示す最終ブロックは、MPMONブロッ
ク410即ちメモリパフォーマンスモニタである。好ま
しい実施例のメモリ制御器156においては、メモリパ
フォーマンスモニタ410は、メモリサイクルの終りで
MRAS*信号の状態を決定するために利用される。効
果的にMPMONブロック410は、次の操作予想を実
行して、次の操作がメモリページヒット或いはメモリペ
ージミスかの可能性を持つかどうかに依存して、MRA
S*信号が適当にローに維持され或いはハイに持ち上げ
ることができる。これの多くは、下に記述されたステー
トマシーンと共に記述される。
【0057】簡略化のために図10で示されなかった他
のブロックは、DDFCON即ちデータ目標(ターゲッ
ト)設備制御ブロックである。これは、簡略化のために
省かれるが、DDF164と協働するに必要な従来信号
を形成して、プログラム及び読出を許容する。この操作
は、既に参照した特許出願文献及びFECON400の
操作に基づいて明白である。
【0058】好ましくは、FECONブロック400、
MCONブロック402及びHCONブロック404
は、各々が独立及び相互依存しながら作用し、あるルー
ズなロジックを持つ複数のステートマシーンからなる。
各ステートマシーンはその操作を始める信号を受信し、
他の信号の受信に従って進展する。メモリ制御操作に必
要な種々のタスクは、示されるようにこれら複数のステ
ートマシーン間および制御ブロックの間で分割されて、
過度に複雑な単一マスタステートマシーンを必要としな
いで、パイプライン及び多重同時発生を許容する。複数
の個々のステートマシーンの使用によって、各操作は、
その最大可能速度で進展し、他の信号或は情報がその進
展を許容するに必要な時だけ停止することを許容する。
この配列及び操作は、多数のステートマシーンが参照の
タイミング図を含んで後述されるので、明白となる。メ
モリ制御器156内及び種々の制御ブロック間で使用及
び形成されるこれら多数の信号は、図10に示される。
リストが必然的に完全でないが、より重要な信号が示さ
れている。CCON即ちキャッシュ制御器406の更な
る詳細は、キャッシュ操作が発生している時に必要なも
のを除いて、この操作に特に関連しないので、提供しな
い。
【0059】今図11を参照して、FECONブロック
400自身は一連のサブブロック即ちモジュールから構
成されている。最初のブロックは、PCM即ちプロセッ
サー制御モジュール410である。このモジュール41
0は、主にプロセッサー152から状態(ステータス)
信号を受信して、サイクルの操作を開始する。第2のブ
ロックは、MCONブロック402と直結してインター
フェイスするMCM即ちメモリ制御モジュール412で
ある。HCMブロック414は、HCONブロック40
4とのインターフェイスに使われる。PNA即ちプロセ
ッサ次のアドレス発生として参照されたブロック416
はアドレスパイプラインのフル使用を許すために、プロ
セッサ152へ次アドレス即ちNA*信号を供給するた
めに利用される。PBRDYGEN即ちプロセッサバー
スト用意発生として参照されたブロック418は、プロ
セッサ152に用意信号を供給するために使われて、サ
イクルのデータ部分が完了し、次のデータ部分が処理で
きることを示す。最後のブロックは、MDバス或いはH
DバスからPDバスへのデータ通路を選択するために使
われたDPSELCMブロック420である。
【0060】図12を参照して、MCONブロック40
2は、その組成のサブブロックと共に示される。ブロッ
ク430は、プロセッサ152をメモリ自身に効果的に
インタフェイスするCPUMEMブロックである。CP
UMEMブロック430には、プロセッサ・サイクルの
ためにRAS、CAS及び他の信号を展開するために利
用されたプロセッサメモリステートマシーンが含まれ
る。特に指示しなければ、全てのステートマシーンは、
PCLK即ちプロセッサクロック信号の立上がり縁で進
展する。ISABM即ちISAバスマスタブロックとし
て参照されたブロック432は、ISAバスマスタとの
インタフェイスに使われ、ISAバスマスタと使われた
メモリステートマシーンを含む。同様に、EISABM
即ちEISAバスマスタとして参照されるブロック43
4は、EISAバスマスタが制御状態にありメモリ操作
を要求する時に、ステートマシーンとメモリ制御を形成
する。MABCON即ちメモリアドレス・バス制御ブロ
ックとして参照されたブロック436は、メモリアドレ
ス関連信号を扱うために利用された。MBCON即ち
メモリデータ・バス制御ブロック438は、メモリ及び
ホスト伝送のためにデータバッファ158のラッチイネ
ーブル及び出力イネーブル信号を扱うために使われる。
SNPCON即ちスヌープ制御として参照されたブロッ
ク440は、プロセッサバス操作のスヌーピングが適切
なキャッシュコヒーレンシとライトバック操作を許すた
めに適切である時に、レベル2(2次)キャッシュ15
4及びプロセッサ152を指示するために使われる。最
後のブロックは、メモリデバイスへのリフレッシュ操作
を制御するREFSM即ちリフレッシュステートマシー
ンブロック442である。
【0061】まだ図13はHCONブロック404のた
めの他の類似したブロック故障である。HSYNC即ち
ホスト同期化サブブロック446はサイクル操作を決定
するために、ホストバスHを追跡するために使われる。
HOST即ちホストステートマシーンブロック448
は、プロセッサー152からホストバスHへの操作を駆
動するために使われたホストバスマスタである。HAC
ON即ちホストアドレス制御として参照されたブロック
452はアドレス関連信号を扱い、一方、HDCON即
ちホストデータ制御として参照されたブロック454が
データ操作を制御する。ブロック400、402及び4
04の各々は、示されたそれらのサブブロックのほかに
他の雑多な論理を含むことは理解される。
【0062】今図14へさらに進んで、PCMブロック
410中の最初のステートマシーンが示される。既に述
べたように特に注釈しなければ、ここに記載したステー
トマシーンの全てが、PCLK信号の立上りエッジで処
理が進行する。これは、PPROG即ちプロセッササイ
クル進行ステートマシーンであり、プロセッサバスの基
本サイクル追跡のために使われて、2つの第一の信号即
ち、PPROG即ちメモリ制御器156におけるプロセ
ッササイクル進展信号及びPEOC即ちプロセッササイ
クル終了信号が形成される。これら特定の信号の変形が
種々のモジュール毎に形成される。リセットでは、PP
ROGステートマシーンが状態A(アイドル即ち待機状
態)から開始する。PPROGステートマシーンは、P
WR即ちプロセッサ書込/読出信号の状態によって示さ
れる読出操作の時に、パイプライン化された時のPPE
ND信号で示されるようにプロセッササイクルが待機状
態の時に、或はDSPADS即ち遅延された同期化プロ
セッサADS信号を受け取った時に、状態(ステート)
Aから状態Bに進行する。SPADS信号は、PCLK
信号に同期化反転させられたプロセッサ152からのA
DS*信号である。DSPADS信号は、1サイクル分
のPCLK信号を遅延させたSPADS信号である。こ
れらの状態下で制御は状態Bに進行する。もしプロセッ
サ152が状態Bでバーストサイクルを実行していない
ならば、PEOC信号はずうっと供給される。PBUR
ST信号で示されるバースト操作が起こり、PBRDY
信号によって示されるように先のデータサイクルが完了
した時には、制御が状態Bから状態Cに進行する。サイ
クルが待機中(未決定)で、バースト操作でなく、先の
サイクルが完了し、待機サイクルが有効書込サイクル即
ちメモリコード書込でない時には、制御が状態Bから状
態Fに進行する。更なる待機サイクルがなく、バースト
操作が発生せず、PBRDY信号によって示されるよう
にデータ転送が完了した後、従ってアイドル状態の時に
は、制御が状態Bから状態Aへ戻る。この他の全ケー
ス、特にPBRDY信号がアサートされなかった時には
制御が状態Bに留まる。制御は、データ操作の完了を示
すPBRDY信号がアサートされる時に状態Cから状態
Dに進行し、そうでない時に状態Cに留まる。PBRD
Y信号によって示されるように、次のデータ操作が完了
した時に、制御は状態Dから状態Eに進行する。さもな
ければ制御は状態Dに留まる。状態Eでは、3つの可能
な出口及びループが存在する。PEOC信号は、状態E
でアサートされる。もし、バーストの最後のデータ値が
転送中と指示され、他のサイクルが待機中で、待機中が
読み出し操作ならば、制御は状態Eから状態Bに戻り、
次のサイクルに進行する。もしデータ値が形成中と示さ
れ、サイクルが待機中でないならば、制御は状態Aに戻
る。もしサイクルが待機中で、有効書込サイクル及びデ
ータ転送が完了したならば、制御は状態Fに進行して書
込操作を始める。その他の全ケース、特にデータ操作が
完了するまで制御は状態Eに留まる。
【0063】もし、有効書込操作が示され、サイクルが
待機中或はDSPADS信号がアクティブならば、制御
は状態Aから状態Fに進行する。制御は、状態B或はF
への遷移でない全てのサイクルの間、状態Aに留まる。
状態Fでは、バースト操作が起こっていないならば、P
EOC信号がアサートされる。もしバースト操作が発生
せず、PBRDY信号によって示されるようにデータ伝
送が完了し、どのサイクルも待機していないならば、制
御は状態Fから状態Aに進行して、次サイクルまでアイ
ドル状態になる。PBRDY信号によって示されるよう
にデータが転送され、バースト操作が発生しているなら
ば、制御は状態Gに進行する。もし読出サイクルが待機
中で、バーストが発生せず、データ伝送が発生したなら
ば、制御は状態Bに進行する。さもなければ、制御は特
にデータが用意されるまで状態Fに留まる。PBRDY
信号が形成されるならば制御は状態Gから状態Hに進行
し、さもなければ状態Gに留まる。制御は、PBRDY
信号の受信時に状態Hから状態Iに進行し、そうでなけ
れば状態Hに留まる。状態IでPEOC信号がアサート
される。制御は、PBRDY信号がアサートされた時に
状態Iから状態Aに進行し、そうでなければ状態Iのま
まである。状態A以外の全状態において、PPROG即
ちプロセッササイクル進行信号がアサートされる。
【0064】PPROGステートマシーンの説明に示し
たように、PPEND即ちプロセッササイクル待機とし
て参照された信号は、パイプラインのフル使用を許すた
めに必要である。この信号は、図15で示されたPPE
NDステートマシーンによって形成される。これは、1
つが現在進行していながらプロセッサーサイクルが要求
されることを示すために使われた単純な2状態ステート
マシーンである。リセットで、PPENDステートマシ
ーンは、(アイドル状態)状態Aに進行する。もしSP
ADS即ち同期化プロセッサーADS信号が受信され、
PPROG信号が真ならば、制御は状態Aから状態Bに
進行する。状態BでPPEND信号がアサートされる。
制御は、SPADS信号がアサートされない時に、PB
RDY信号及びPEOC信号を論理積をしてPCLKで
同期化させられたバージョンであるSEOC信号を受取
った時に、状態Bから状態Aに戻る。さもなければ制御
は状態Bに留まる。
【0065】勿論、PCMモジュール410は、DPO
E*信号を展開することを分担する。これは、図16に
示されるように、DPOEステートマシーンで行われ
る。制御はリセットで状態Aに初期化される。もし、メ
モリキャッシュヒットでない読出サイクルの間に発生す
るDSPADS信号によって示されるようにメモリシス
テムが現在出力を供給し、サイクルが進行中であり(D
POE OK信号と定義する)、PEOC及びPBRD
Y信号によって示されるようにデータ転送が完了しなか
ったならば、制御は状態D(待ち状態)に進む。それで
状態Dのこのモードで、DPOEステートマシーンは、
用意できるようになるためにPDバスを待っている。制
御は、データ操作が完了したことを示すPEOC及びP
BRDY信号を受け取ると状態Dから状態Bに進行し、
或いは、もしこれがノンキャッシュヒットメモリ読出サ
イクルでありサイクルが現在進行中でないならば、或い
はそれがDPOE OK状態でありサイクルが進行中で
ありそのサイクルの終わりがPEOC及びPBRDY信
号によって示されるならば状態Aから状態Bに進行す
る。その他全ケースでは制御が適当に状態A及びDに留
まる。もし、これがDPOE OKサイクル以外で、サ
イクルの終わりが発生し、次のクロックサイクルでPB
RDY信号がアサートされることを示すEPBRDY即
ち初期プロセッサバス用意として参照された信号を受け
取ったならば、制御は状態Bから状態Aに進行する。こ
の場合、サイクルが効果的に完了され、出力制御は、デ
ータバッファー158で示されるように、実際に出力を
制御するDPOE信号が内部同期化フリップフロップの
為に1PCLK信号サイクル遅らせた信号であるので、
遮断される。もしそれがアクティブであるDPOE O
K信号によって示される出力を供給し、サイクルが完了
せず、或いは早期用意が受信されなかったならば、制御
は状態Bから状態Cに進行する。その他全ケースでは制
御が状態Bに留まる。制御はPEOC及びPBRDY信
号を受け取ると状態Cから状態Bに戻って、そうでなけ
れば状態Cに留まる。次の状態が状態B或いは状態Cで
ある時に、或いはステートマシーンが状態Cにある時に
は、DPOE*信号がアクティブつまりローにアサート
されることが注目される。この様に、それで、プロセッ
サ152によるノンキャッシュヒット読出サイクル毎
に、出力イネーブルが適当な時間アクティブである。一
般にこの明細書で信号を参照する場合、信号名の後のア
ステリスク(*)は、ロー電圧レベルがある時に論理的
に真性であり、アステリスクなしの信号名と反転し、信
号名後の角括弧内の数字は、データ或いはアドレス分野
のようなバス構成の論理信号の単一或いは複数のビット
位置を示すために使われてることを示す。勿論、この明
細書では、ステートマシーン遷移状態は、その論理的状
態でなく、指示信号のレベルに基づいている。
【0066】ある雑多な信号は、PCMモジュール41
0でも生成される。これらの最初がFEHLDA即ちフ
ロントエンドホールド・アクノリッジ信号である。これ
は、プロセッサ、キャッシュ、メモリ、ホストバス読出
及びホストバス書込サイクルがどれも進行中でなく、プ
ロセッサバスホールドリクエストが受信されることを示
す信号を入力として受信するANDゲートの出力の入力
を持ち、PCLK信号によってクロックされたD型フリ
ップフロップの出力である。第2の雑多な信号は、PC
LK信号によってクロックされたD型フリップフロップ
の出力によって供給され、キャッシュラインフル及びラ
イトバックのようなプロセッサキャッシュ化或はL2キ
ャッシュ154読出配置であるサイクルの始めに供給さ
れ、そのようなサイクルの一連の最後のデータの終わり
で遮断されるPBURST信号である。
【0067】今図17に進んで、メモリ制御モジュール
412中の最初のステートマシーンは、MPROG即ち
メモリ進行ステートマシーンである。このステートマシ
ーンは、リセットで状態Aから始まる。単一メモリ読出
サイクル、バーストメモリ読出サイクル、単一メモリ書
込サイクル及びメモリライトバック或はバースト書込サ
イクルに関する、状態Aからの4つの基本経路が存在す
る。制御は、DSPADS信号がアクティブであり、メ
モリサイクルがMCYC信号によって示され、FEBU
RST*信号によって示されるようにL2キャッシュラ
イン・フルバーストサイクルが進行中でなく、読出が指
示された時に、状態Aから、単一メモリ読出サイクル用
に使われる状態Dに進行する。勿論、L2キャッシュラ
インフル操作は、プロセッサ152キャッシュラインフ
ルミスがL2キャッシュ154ラインフルの原因である
ので、常にプロセッサ152キャッシュラインフルであ
る。L2キャッシュ154によって供給されたプロセッ
サ152キャッシュラインフルは、主メモリに向けられ
た操作でなく、他のキャッシュヒットとして扱われる。
制御は、もし、SMRDY即ち同期化メモリ用意信号が
供給され、MPGHPG 1ST信号によって示される
ようにこのメモリサイクルに先立ってホストバス上にサ
イクルが既に進行していず、メモリサイクルが待機状態
でもなく、他のメモリサイクルも開始していないなら
ば、状態Dから状態Aに戻る。このMPGHPG 1S
T信号は、ホストバスH及びメモリへの同時読出サイク
ルが順列変更命令(out of order)を得れないように、
データの戻りを遅延するために用いられる。もしメモリ
が用意でき、キャッシュサイクルが進行中であるなら
ば、或はもしSMRDY信号が受信され、ホストバスサ
イクルがまず開始したならば、制御は状態Dから状態L
に進行する。もしメモリが用意を示し、ホストバスサイ
クルが既に進行中でなく、他のメモリサイクルが待機中
或は他のメモリサイクルが初期化中のいずれかならば、
制御が状態Dから状態Cに進行する。さもなければ制御
は状態Dに留まる。
【0068】もしホストサイクルが既に進行中でなく、
キャッシュサイクルが進行中でなく、他のメモリサイク
ルが待機中或は他のメモリサイクルが開始中のいずれか
ならば、制御が状態Lから状態Cに進行する。未完ホス
トサイクルがすでに進行中でなく、キャッシュサイクル
が進行中でなく、メモリサイクルが待機中でなく或いは
他のメモリサイクルが始まっていないならば、制御が状
態Lから状態Aに進行する。全ての他のケースで制御は
状態Lに留まる。
【0069】もしメモリバースト読出が発生しているな
らば、真性となるDSPADS信号で指示され、メモリ
サイクルが指示され、L2キャッシュライン・フルバー
ストサイクルが指示され、読み出しサイクルが指示され
るように、制御は状態Aから状態Fに進展する。制御
は、もしメモリ操作が用意できたと指示され、キャッシ
ュサイクルが進行中であるならば、或いはもし用意が既
に指示され、ホストバスサイクルが最初を進行したなら
ば、状態Fから状態Eに進行する。そうでなければ、S
MRDY信号で示されるように、もしメモリ制御が用意
できたことを指示し、ホストバスサイクルがすでに進行
中でないならば、制御は状態Fから状態Gに進行する。
さもなければ制御は状態Fに留まる。MRDBHLD
LV即ちメモリ読出バーストホールド・リーブ(leav
e)として参照される信号が活性で、バーストの完了を
示すならば、制御は状態Eから状態Gに遷移する。MR
DBHLD LV信号の展開は、下に記述される。さも
なければ制御は状態Eに留まる。
【0070】もし、それが用意できていたとメモリが示
し、メモリサイクルが待機中或いはメモリサイクルが始
まると指示したならば、制御は、状態Gから状態Cに遷
移する。もし、メモリがその完成を示し、メモリサイク
ルの待機がなく或いはメモリサイクルの開始がないなら
ば、制御が状態Gから状態Aに遷移する。他の場合、制
御はメモリサイクルが終わるまで状態Gに留まる。
【0071】単一メモリ書込ケース毎に、制御は、プロ
セッサキャッシュ化サイクルでないという指示と共に、
ハイになるDSPADS信号、MCYC及びPWR信号
に基づいて、状態Aから状態Hに遷移する。制御は、用
意できたとメモリが示し、メモリサイクルが待機中或い
は始まる時に、状態Hから状態Cに進行する。もし、用
意できたとメモリが示し、他のメモリサイクルが待機中
でなく、或いはサイクルが始まっていなければ、制御が
状態Hから状態Aに進行する。他の全ケースでは制御
は、一般にメモリ操作の完成を待って、状態Hに留ま
る。
【0072】状態Aを出る最後のケースにおいて、制御
はメモリライトバックサイクルのために状態Aから状態
Iに進行する。これは、真性のDSPADS信号によっ
て示されて、即ちメモリサイクルスタートがMCYC信
号によって示され、PCACHE即ちプロセッサキャッ
シュ化信号があり、書込が発生する。用意ができたとメ
モリが示す時に、制御が状態Iから状態Jに進行する。
さもなければ制御は状態Iに留まる。もしメモリが用意
でき、他のメモリサイクルが待機中或いは、他のメモリ
サイクルが始まっているならば、制御は状態Jから状態
Cに進行する。もしメモリサイクルが指示するように完
了し、他のメモリサイクルが待機中でなく、或いは始ま
っていないならば、制御は状態Jから状態Aに進行す
る。この場合の好ましい実施例においては、プロセッサ
・データキャッシュ・ラインサイズが256ビット即ち
2メモリ操作であるので、2つの用意が必要である。さ
もなければ制御は状態Jに留まる。
【0073】もし、メモリサイクルがMCYC信号によ
って示され、サイクルがバーストでなく読出であり又
、MRDPND即ちメモリ読出待機として参照された
信号が真性と示されるならば、制御が状態Cから状態D
に進行する。MRDPND信号展開は、下に記述され
る。制御は、メモリサイクル指示、バースト指示及び読
出即ちMRDBPNDメモリ読出バースト待機信号の存
在によって示されるように読出バーストの場合毎に、状
態Cから状態Fに進行する。制御は、サイクルがプロセ
ッサ・キャッシュ化でなく、単一書込サイクルである事
或はMWRPND信号がアクティブでメモリ書込が存在
する事実のメモリサイクル指示で、状態Cから状態Hに
進行する。キャッシュ・ライトバックである他の全ケー
スにおいて制御は状態Cから状態Iに進行する。
【0074】MPROGステートマシーンは、いくつか
の信号を生成する。これらの信号は、次の通りである。
MRD=MPROGステートD MRDHLD=MPROGステートL MRDBHLD=MPROGステートE MRDB1=MPROGステートF MRDB2=MPROGステートG MWR=MPROGステートH MWRB1=MPROGステートI MWRB2=MPROGステートJ MPDREQ=(MPROGステートE+MPROGス
テートL)* MPROG=(MPROGステートA+MPROGステ
ートC)* EMPROG=(MPROGステートA+MPROGス
テートC+MPROG NEXTステートA+MPRO
G NEXTステートC)* MEMRD=(MCYC&PWR*)+MRD+MRD
B1+MRDB2+MRDHLD+MRDBHLDME
MWR=MWR+MWRB1+MWRB2 従って、MPROGステートマシーンは、メモリサイク
ルがMPROG、MEMRD、MEMWR及び他の信号
を供給することによってメモリシステムに存在している
時に指示されることが理解される。
【0075】今図18を参照して、MPEND即ちメモ
リ待機ステートマシーンが示される。上記したように、
MPROGステートマシーンは、その分岐状態の1つと
してメモリサイクルが待機中である事実を利用する。こ
の信号は、MPENDステートマシーンによって供給さ
れる。リセット時にはMPENDステートマシーンがア
イドル状態或は状態Aに進む。状態Aからの4つの出口
は、単一メモリ読出サイクル、バーストメモリ読出サイ
クル、単一メモリ書込サイクル及びメモリライトバック
サイクルケース毎の1つづつである。制御は、DSPA
DS信号、MCYC信号及びMPROG即ちメモリ進展
信号が真性であり、書込が指示され、プロセッサキャッ
シュ化操作でない時に、状態Aから状態Cに進行する。
従って、これが単一書込ケースである。メモリサイクル
がMPROGステートマシーンによって示されるように
進行中では、制御が状態Cに留まる。さもなければ制御
は状態Aに進行する。
【0076】制御は、真性のDSPADS、MCYC及
びMPROG信号、書込指示及びプロセッサキャッシュ
化である指示によって示されるように、メモリライトバ
ックサイクル毎に状態Aから状態Dに進行する。メモリ
サイクルがアクティブでない時に、制御は状態Dから状
態Aに進行し、そうでなければ状態Dに留まる。制御
は、メモリサイクルが進行中で、バーストでない読出
モリサイクル毎に状態Aから状態Eに進行する。これ
は、真性のDSPADS、MCYC及びMPROG信号
及び非バーストの場合で指示された読出によって示され
る。制御は、進行中のメモリサイクルが完了した時に、
状態Eから状態Aに進行し、そうでなければ完了するま
で状態Eに留まる。もしDSPADS、MCYC及びM
PROG信号が真性で、メモリサイクルが進行中である
ことを指示し、他のメモリサイクルが要求され、読出サ
イクルで、バーストが指示されたならば、制御が状態A
から状態Fに進行する。進行中の現行のメモリサイクル
が完了した時、制御は状態Fから状態Aに進行する。さ
もなければ制御は状態Fに留まる。次の状態として状態
C或はDに入る時、或はステートマシーンが状態C、
D、E或はFにある時には、MPEND即ちメモリサイ
クル待機信号が真である。次の状態或は現行の状態が状
態Cである時には、MWRPND信号が真である。次の
状態或は現行の状態が状態Dである時には、MWRBP
ND信号が真性である。MRDBPND信号が状態Fの
間真性であり、一方MRDPND信号は状態Eの間真性
である。
【0077】勿論、MCMモジュール412は、データ
が書込サイクルにおいてプロセッサデータバスからデー
タバッファ158にラッチされるべきであるの指示を
分担する。単一書込操作の場合においてはデータがラッ
チ272及び274にラッチされるが、バースト操作で
は全4つのラッチが利用される。しかしながら、単一書
場合において、DPMLE1信号は、単一書込のみ
必要であることをデコーダが後に指示するので、実際発
生されないことが注目される。
【0078】システムのリセット時には、図19に示す
MPMLE即ちプロセッサ対メモリラッチ・イネーブル
ステートマシーンが状態Aでスタートする。SET D
PMLE0とSET DPMLE1として参照される信
号は、MWEPBRDY信号即ちメモリ書込早期PBR
DY信号が形成される時に、状態Aでアクティブであ
る。その上にMWEPBRDY信号がアクティブな時、
DPMLE1信号は、状態Dで形成される。MWEPB
RDY信号がMWEPBRDYステートマシーン(図2
1)から受信されて、この書込サイクルが配達されて、
次のサイクルが適切に進んでいることを指示した時に、
制御が状態Aから状態Cに進行する。MWEPBRDY
信号が受信されなかった時には、最初の2つのラッチが
オープンなままであるように、制御は状態Aに留まる。
もしMPROGステートマシーンが、バースト書込状況
で、第1の部分がMWRB1信号で指示されるように進
行中であることを指示したならば、制御は状態Cから状
態Dに進行する。さもなければ制御は状態Cから状態A
に後戻りする。もしバースト操作が発生しているなら
ば、CLR DPMLE1信号は、ラッチ信号が不活性
で、状態Dで再びアクティブになることができるよう
に、状態Cでアサートされる。制御は、次の書込サイク
ルが配達されたことを指示するMWEPBRDY信号が
供給されるまで、状態Dに留まる。さもなければ制御は
状態Dに留まる。追加的に、状態Dにおいて、SET
PMDRDY信号即ちセット・プロセッサメモリ用意信
号は、PMRDY信号がメモリへの実書込サイクルを始
まるために形成できるように、MWEPBRDY信号が
指示された時に形成される。制御は全ケースにおいて状
態Eから状態Fに進行する。状態Fは、バースト序列に
おける第3書込サイクル毎に利用され、制御は状態Fに
留まり、一方このサイクルが連続的に配達されなかった
ことを示すMWEPBRDY信号がアサートされていな
い。状態Fがアクティブで、MWEPBRDY信号がア
サートされる時には、ラッチ276が開かれるように、
SET DPMLE2信号がアサートされる。サイクル
の配達が示された時、制御は状態Fから状態Gに進行す
る。制御は単一PCLK信号サイクルの後に状態Gから
状態Hに進行する。状態Hは、ライトバック操作中の4
つの書込サイクルの最後であり、制御が状態Aに進行し
て、MWEPBRDY信号がアサートされるまで、制御
は状態Hに留まる。MWEPBRDY信号が形成される
時、SET DPMLE3信号は、状態Hでアサート
る。更に、SET PMDRDY信号は、MWEPB
RDY信号が形成されて、全幅のメモリデータがメモリ
に供給することができることを指示した時に状態Hで形
成される。
【0079】MPMLEステートマシーンの論議で示さ
れるように、信号SET PMDRDYはデータが配達
バッファに転送されて、転送できることを指示する。こ
の信号は図20で示されたPMDRDYステートマシー
ンによって利用される。このステートマシーンはリセッ
ト後に状態Aで操作を始める。もしSET PMDRD
Y信号が受信されるならば、制御は状態Aから状態Bに
進行する。さもなければ制御は状態Aに留まる。もしS
ET PMDRDY信号がアクティブであり、CLR
PMRDY*信号によって形成されるようにPMRDY
信号をクリアする指示がないならば、制御が状態Bから
状態Cに進行する。このCLR PMRDY信号は、M
RDY信号と、MWR、MWRB1及びMWRB2信号
の論理和信号との論理積である。従って、PMRDY信
号をクリアすることは、もしメモリが用意でき、書込操
作で、単一或はバーストが進行中である事を指示したな
らば適切である。制御は、PMDRDY信号のクリアが
適切で、SET PMDRDY信号がアクティブでない
ならば、状態Bから状態Aに進行する。さもなければ制
御は状態Bに留まる。PMDRDY信号のクリアが適切
にセットされないならば、制御が状態Cから状態Bに進
行する。さもなければ制御は状態Cに留まる。従って
PMDRDYステートマシーンは、書込配達バッファが
フルであることをメモリ制御に示すために、PMDR
DY信号を形成する。このPMDRDY信号は、状態B
及びCで、或はMWR PMDRDY信号がMPMLE
ステートマシーンによって供給され、そのステートマシ
ーンが状態Aの時に真性であり、MWEPBRDY信号
は受信され、これは単一書込操作である時に、アクティ
ブである。従って、操作は、状態Aで始まり、最初の1
28ビットが利用可能である時に状態Bに進行し、もし
第2の128ビットが利用可能であるならば状態Cに進
行して、最初の128ビットが実際にメモリシステムに
書込まれない。各128ビットが実際書込まれた時に
は、PMDRDYステートマシーンが状態Cから状態B
に状態Aに順追って戻る。
【0080】上記したように、MPMLEステートマシ
ーンの遷移が主にMWEPBRDY信号基づいてい
る。この信号は、図21で示されたMWEPBRDYス
テートマシーンによって供給される。リセット時には、
このステートマシーンは、状態A(従来のアイドル状
態)で始める。もしSPADS信号がアクティブであ
り、メモリデータ書込サイクルがデコードされ、プロセ
ッササイクルが進行中でなく或はプロセッサ書込サイク
ルが完了しているならば、又はこれの代りに、もしDS
PADS信号が存在し、主メモリデータ書込サイクルが
デコードされ、主メモリデータ書込サイクルが進行中
で、完了中ならば、制御が状態Aから状態Cに進行す
る。もしDSPADS信号がアクティブであり、局所メ
モリデータ書込サイクルがデコードされ、読出サイクル
が進行中だが完了していないならば、制御が状態Aから
状態Fに進行する。もしDSPADS信号がアクティブ
であり、主メモリデータ書込サイクルデコードされ、
メモリ読出サイクルが完了中であるならば、或はDSP
ADS信号がアクティブであり、メモリデータ書込サイ
クルがデコードされ、読出サイクルが完了中であるなら
ば、制御は状態Aから状態Gに進行する。PPEOC信
号が受信された時には、制御は状態Fから状態Gに進行
し、そうでなければ状態Fに留まる。常に制御は状態G
から状態Cに進行する。もしDSPADS信号がアクテ
ィブであり、主メモリデータ書込サイクルがデコードさ
れ、メモリ書込サイクルがアクティブであるが未完であ
るならば、制御は状態Aから状態Hに進行する。他の全
ケースでは制御が状態Aに留まる。PPEOC即ちサイ
クル終了信号が受信された時には、制御は状態Hから状
態Cに進行し、そうでなければ状態Hに留まる。
【0081】制御は、もし主メモリデータ書込サイクル
がデコードされるならば、状態Cから状態Dに進行し、
そうでなければ状態Aへ戻る。MWRB1信号によって
示されるように、もしライトバックの最初の部分が進行
中ならば、或いはライトバックが待機中であるならば制
御は状態Dから状態Eに進行する。もしメモリサイクル
が進行中でなく、メモリ書込サイクルが待機中でなく、
或いはプロセッササイクルが進行中でないならば制御は
状態Dから状態Aに進行する。他の全ケース制御は、状
態Dから状態Jに進行する。もしPEOC信号がアクテ
ィブでサイクルが完了したことを指示したならば、制御
が状態Eから状態Jに進行する。他の全ケース制御は、
状態Eから状態Iに進行する。常に制御は状態Iから状
態Eに進行する。
【0082】状態Jからの多数の出口が存在する。もし
SPADS信号がアクティブであり、メモリデータ書込
がデコードされてメモリサイクルが始まろうとせず、キ
ャッシュサイクルが発生せず、ホストバスサイクルが発
生せず、プロセッサ読出サイクルが発生しないならば、
或は第2の条件として、もし単一書込サイクル或はライ
トバックサイクルの最初の部分が発生中で、キャッシュ
サイクルが進行中でなく、現在進行中の書込サイクルが
完了寸前ならば、或は第3の条件として、もしメモリ書
込サイクル或いはメモリバースト書込サイクルが待機中
で、書込サイクルが進行中で、他のいかなるサイクルも
進行中でないならば、制御は、状態Jから状態Cに進行
する。もしDSPADS信号がアクティブであり、主メ
モリデータ書込サイクルがデコードされ、メモリサイク
ルが進行中でなく、サイクルがプロセッサに対して完了
せず、キャッシュサイクル或いはホストバスサイクルが
進行中であるならば、制御が状態Jから状態Fに進行す
る。もしDSPADS信号が真であり、主メモリ書込デ
ータサイクルがデコードされ、メモリサイクルが進行中
でなく、現行サイクルが完了中ならば、制御が状態Jか
ら状態Gに進行する。もしメモリサイクルが進行中でな
く、メモリ書込サイクルが待機中でなく、メモリバース
ト書込サイクルが待機中でなく、SPADSとDSPA
DS信号がアサートされないならば、制御が状態Jから
状態Aに進行する。他の全ケースでは制御は状態Jに留
まる。
【0083】MWEPRDY信号は、ステートマシーン
が状態Cであり、主メモリデータ書込サイクルがデコー
ドされ、ローのHWP信号又はハイのSMIACT信号
によって指示されるように、書込サイクルが書込保護さ
れたメモリ位置に存在しない時には、このステートマシ
ーンによってアサートされる。これは、HWP信号がシ
ステム管理モード間に無効にされるように、HWP信号
がSMIACTと結合即ち選択する第1の位置である。
この場合、もしシステム管理モードに入らず書込保護
された位置がアクセスされたならば、HWP信号の項目
の故にMWEPBRDY信号が生成されない。しかし、
SMIACT信号がHWP信号と結合してそれを無効に
して、システム管理モードがアクティブになる時に、S
MIACT信号(項目)があたかもメモリ位置が書込保
護されていないかのように生成されるべきMWEPBR
DY信号用に必要な指示を形成する。さらにMMEPB
RDY信号も、状態Eの間アクティブである。
【0084】このMWEPBRDY信号は、ローカル
(局所)メモリ書込操作のための早期用意信号と見なさ
れ、他の早期用意信号と結合させられて、実際にPBR
DY信号を形成するために再同期化される。この結果、
PBRDY信号より一PCLK信号サイクル分早い信号
が形成されて、早期と見なされる。これらの早期用意信
号の組立体が下に記述される。
【0085】勿論、メモリ制御モジュール412は、主
メモリ読出操作のための早期用意信号を展開することを
分担する。この信号は、図22で示されるように、MR
EPBRDYステートマシーンによって供給される。こ
のステートマシーンは、状態Aにおいてリセット操作を
始める。もしホストバスサイクルがまだ始まらず、キャ
ッシュサイクルが進行中でなく、メモリが用意できて単
一メモリ読出サイクルが発生し、或はメモリが用意がで
きてメモリ読出バーストサイクルが発生したならば、或
はこれの代りとしてもしメモリ早期開始信号が受信され
たならば、制御が状態Aから状態Bに進行する。他の全
ケースでは制御は、状態Aに留まる。MRERDY S
TRT信号の展開が図47で示される。
【0086】MRDHLDとMRDBHLD信号はOR
ゲート820に供給される。ORゲート820の出力
は、ANDゲート822によるSHPROG 1STと
HPROG*信号に合わせられる。これらMRDHLD
とMRDBHLD信号はORゲート824にも供給され
る。ORゲート824の出力とCPROG*とHPRO
G1ST*信号はANDゲート826によって結合され
る。ORゲート828はANDゲート822と826の
出力を受信して、PCLK信号によってクロックされた
D型フリップフロップ830のD入力に出力を供給す
る。SHPROG1STとMEMRDとSMRDY信号
は、出力がORゲート834によるMRDHLDとMR
DBHLD信号に合同させられたORゲート832によ
って結合される。ORゲート834の出力は、ANDゲ
ート836中のCPROG*とHPROG 1ST*信
号に合同させられる。フリップフロップ830の非反転
出力とANDゲート836の出力は、出力がMRERD
YSTRT信号であるORゲート838の入力である。
【0087】もし、これがメモリ読出バーストサイクル
であり、或いはメモリ読出バーストサイクルがホスト或
はキャッシュバス操作のためにホールドするならば、制
御が状態Bから状態Cに進行する。他の全ケースでは制
御が状態Bから状態Aに進行する。制御は、全ケースに
おいて状態Cから状態Dにおよび全ケースにおいて状態
Dから状態Eに進行する。制御は、MRDY即ちメモリ
用意信号がメモリ制御ブロック402から受信されるま
で、状態Eに留まり、その時、状態Fに進む。その後制
御は、連続したPCLK信号サイクルで、状態Fから状
態Gに状態Hに状態Aに引き続き進行する。
【0088】MREPBRDY即ちメモリ読出早期PB
RDY信号は、状態BとDとFとHで単一及びバースト
操作に適切にアサートされる。MRDBHLD LVと
して参照されるMRDBHLD出口信号は、既に記載し
たように、状態CでMPROGステートマシーンに供給
される。
【0089】追加的に、雑多な論理(ミスセレニアス・
ロジック)は、メモリ制御モジュール412に存在して
いる。この雑多な論理の機能の1つは、SETDPML
E<3..0>信号からPDMDLE*<3..0>信
号を作り出すことである。これらの信号の展開が 図2
3で示される。MPROGステートマシーンの状態Hで
アサートされるMWR信号は、2入力ORゲート500
と2入力ORゲート502の入力である。MWRB1信
号即ちライトバックサイクルの第一の部分がORゲート
500の第2入力に供給される。MPROGステートマ
シーンの状態JでアサートされるMWRB2信号即ちラ
イトバックサイクルの第2の部分は、ORゲート502
の第2入力に供給され、ライトバックサイクルの第2の
128ビットを指示する。メモリ制御ブロック402か
らのMRDY即ちメモリ用意信号は、2つのNANDゲ
ート504と506の第1入力に供給される。NAND
ゲート504の第2入力は、ORゲート500の出力で
あり、NANDゲート506の第2入力がORゲート5
02の出力である。NANDゲート504の出力は、第
2入力がD型フリップフロップ510の反転出力である
ANDゲート508の第1入力である。ANDゲート5
08の出力は、第2入力がSET DPMLE0信号を
受信する2入力ORゲート512の第1入力に供給され
る。ORゲート512の出力がフリップフロップ510
のD入力に供給される。フリップフロップ512の反転
出力は、PDMDLE*<0>信号である。
【0090】NANDゲート504の出力は、第2入力
が反転でなくCLR DPMLE1信号を受信する2入
力NORゲート514の反転入力にも供給される。NO
Rゲート514の出力は、第2入力がD型フリップフロ
ップ518の反転出力を受信する2入力ANDゲート5
16に第1入力として供給される。ANDゲート516
の出力は、第2入力がSET DPMLE1信号を受信
する2入力ORゲート520に第1入力として形成され
る。ORゲート520の出力は、フリップフロップ51
8のD入力に形成される。フリップフロップ518の反
転出力は、PDMDLE*<1>信号である。
【0091】NANDゲート506の出力は、2入力A
NDゲート522に第1入力として供給され、ANDゲ
ート522への第2入力がD型フリップフロップ524
の反転出力によって供給された。ANDゲート522の
出力は、第2入力がSETDPMLE2信号であるOR
ゲート526に第1入力として供給される。ORゲート
524の出力は、フリップフロップ524のD入力に形
成される。フリップフロップ524の反転出力は、PD
MDLE*<2>信号である。NANDゲート506の
出力は、第2入力がD型フリップフロップ530の反転
出力を受信する2入力ANDゲート528の第1入力に
も供給される。ANDゲート528の出力は、第2入力
がSET DPMLE3信号を受信する2入力ORゲー
ト532の第1入力に供給される。ORゲート532の
出力は、フリップフロップ530のD入力に供給され
る。フリップフロップ530の反転出力は、PDMDL
E*<3>信号である。PCLK信号は、フリップフロ
ップ510と518と524と530にクロック入力と
して供給される。
【0092】メモリ制御モジュール412に類似した方
法においてホスト制御モジュール414は、一連のステ
ートマシーンをも含む。これらの最初は、図24で示さ
れたHRD即ちホスト読出ステートマシーンである。こ
のステートマシーンは、ホストバスHで走行即ち実行し
ている読出サイクル、単一またはバーストサイクルを追
跡する。HRDステートマシーンは、リセット時に状態
Aで始める。制御は、DSPADS信号がアクティブで
あり、バーストでないホスト読出サイクルが要求され、
ホスト書込サイクルが進行中で、1つが待機中の時に、
状態Aから状態Bに進行する。もしDSPADS信号が
アクティブであり、ホスト読出サイクルが要求され、バ
ーストサイクルであり、ホスト書込サイクルが進行中
で、或は1つが待機中ならば、制御が状態Aから状態F
に進行する。制御は、DSPADS信号がアクティブで
あり、ホスト書込サイクルが進行中でなく或は1つが待
機中でない時に、要求されたホスト読出非バーストサイ
クル毎に、状態Aから状態Cに進行する。制御は、DS
PADS信号がアサートされ、ホスト書込サイクルが進
行中でなく、1つが待機中でない時の、ホスト読出バー
スト毎の要求で状態Aから状態Dに進行する。他の全ケ
ースでは制御が状態Aに留まる。
【0093】もしホスト用意信号が形成され、或はホス
ト書込が進行中でなく、ホスト書込が待機中でないなら
ば、制御は状態Bから状態Cに進行する。他の全ケース
では制御が状態Bに留まる。もし用意信号がホスト制御
ブロック404から受信され、或は書込サイクルは進行
中でなく、ホスト書込サイクルが待機中でないならば、
制御が状態Fから状態Dに進行する。他の全ケースでは
制御が状態Fに留まる。
【0094】もしHREPBRDY即ちホスト読出早期
PBRDY信号アサートされ、ホスト読出サイクルが
待機中で又はホスト読出バーストサイクルが待機中で或
はDSPADS信号がアサートされホスト読出サイク
ルがアサートされているならば、制御は状態Cから状態
Eに進行する。もしHREPBRDY信号がアサートさ
れ、状態Eへの遷移毎に述べる更なる条件がないなら
ば、制御は状態Cから状態Aに進行する。他の全ケース
では制御が状態Cに留まる。制御は、もし読出ホストが
待機中であるならば状態Eから状態Cに進行し、そうで
なければ状態Dに進行する。もしHREPBRDY信号
があり、PEOC信号がアクティブであり、ホスト読出
が待機中で又はホストバースト読出が待機中で或は読出
サイクルがプロセッサバスでサンプルされたならば、
制御が状態Dから状態Eに進行する。もしHREPBR
DY信号があり、PEOC信号があり、状態Dから状態
Eへの遷移の更なる条件がないならば、制御が状態Dか
ら状態Aに進行する。他の全ケースでは制御が状態Dに
留まる。ホストサイクルは、HLOCMEM*信号がハ
イで非主メモリ位置を示すI/Oサイクル或はメモリサ
イクルとして同定される。
【0095】2つの信号は、HRDステートマシーンに
よって供給される。これらは、状態B、C及びD中に活
性となるHRDPRG信号即ちホスト読出進展信号と、
状態B、C或いはD中に活性となるHOSTRD即ちホ
スト読出信号とであり、ホストサイクルが活性の時にプ
ロセッサが読み出し要求を指示する。
【0096】注目されるように、HRDステートマシー
ンは、2状態として、HRDPND及びHRDPBND
即ちホスト読出待機及びホスト読出バースト待機信号を
利用する。これらは図25のHRDPNDステートマシ
ーンによって供給される。HRDPNDステートマシー
ンは、リセット時に状態Aで始まる。DSPADS信号
がアサートされ、ホスト読出サイクルが進行中で、ホス
ト非バースト読出サイクルがプロセッサ150によって
要求された時に、制御が状態Aから状態Bに進行する。
もしDSPADS信号がアサートされ、ホスト読出サイ
クルが進行中で、ホストバースト読出サイクルがプロセ
ッサ150によってホストバスHに要求されたならば、
制御は、状態Aから状態Cに進行する。他の全ケースで
は制御が状態Aに留まる。HRDPRG即ちホスト読出
進展信号がデアサートされる時、制御は状態Bから状態
Aに進行する。他の全ケースでは制御が状態Bに留ま
る。HRDPRG信号がデアサートされる時、制御は状
態Cから状態Aに進行する。他の全ケースでは制御が状
態Cに留まる。HRDPND即ちホスト読出待機信号は
状態Bでアサートされ、一方HRDBPND信号が状態
Cでアサートされる。
【0097】HRDステートマシーンがホスト読出サイ
クルを追跡するために用いられたと同様に、ステートマ
シーンがホスト書込サイクルを追跡するために使われ
る。これは、図26で示されるように、HWTステート
マシーンである。このステートマシーンは、リセット時
に状態Aから入り、もしホスト書込サイクルがデコード
され、先のサイクルがローとなるHACK信号によって
指示されるようにアクノリッジされ、書込配達がイネー
ブルであり、プロセッササイクルが待機中でないなら
ば、状態Aから状態Cに進行する。もしホスト書込サイ
クルが指示され、配達がイネーブルされず、プロセッサ
サイクルが待機中でないならば、或はもしホストバスへ
の書込が要求され、プロセッササイクルが待機中及び終
了中で、配達がイネーブルでないならば、制御が状態A
から状態Gに進行する。制御は、もしホスト書込サイク
ルが要求され、プロセッササイクルが待機中及び終了中
で、配達がイネーブルであるならば、状態Aから状態F
に進行する。もしホスト書込サイクルが要求され、プロ
セッササイクルが待機中で終了していなかったならば、
制御は状態Aから状態Eに進行する。他の全ケースでは
制御が状態Aに留まる。
【0098】もしホスト書込サイクルが待機中であるな
らば、或はもしホスト書込サイクルが要求されて配達が
イネーブルであるならば、どちらの場合も、ホストバス
が書込操作を受信する準備ができたことをSHRDY即
ち同期化HRDY信号が指示たならば、制御は状態G
から状態Cに進行する。このHRDY信号は、PCLK
信号によってクロックされたD型フリップフロップの非
反転出力で供給される。マルチプレクサの出力はD入力
に接続され、PHASE信号が選択を形成する。第0入
力はフリップフロップの非反転出力を受信し、第1入力
がホストバスHにあるHERDY*信号の反転バージョ
ンであるHERDY信号を受信して、単一サイクル早期
用意指示を示す。PEOC及びPBRDY又はSEOC
信号によって指示されるようにプロセッササイクルが終
わり、配達がデセーブルされたならば、制御は状態Eか
ら状態Gに進行する。プロセッササイクルが完了して配
達がイネーブルである時には、制御が状態Eから状態F
に進行する。他の全ケースでは制御が状態Eに留まる。
制御は全ケースにおいて状態Fから状態Cに進行する。
制御は全ケースにおいて状態Cから状態Dに進行する。
【0099】状態Dからのいくつかの出口が存在する。
最初の出口は、用意が受信され、ホスト書込サイクルが
要求され或は待機中で、プロセッサ書込サイクルが進行
中でなく或はホスト書込サイクルが第1書込でない時或
は待機中のプロセッササイクルが完了しないならば発生
する状態Dから状態Eにである。制御は、書込が待機中
或は書込が要求され、配達がイネーブルされ、プロセッ
サによって進行中の読出サイクルが終了中SHRDY
信号の受取り時に状態Dから状態Fに進行する。制御
は、用意が受信され、他の書込サイクルが待機中或は要
求中で、配達がイネーブルされる時に、状態Dから状態
Cに進行する。もし用意が受信され、非配達書込サイク
ルが待機中で、或は書込サイクルが待機中で、配達がデ
セーブルされるならば、制御は状態Dから状態Gに進行
する。もし用意が受信され、書込サイクルが待機中でな
く、どんな書込サイクルも要求されていないならば、制
御は状態Dから状態Aに進行する。勿論HWTステート
マシーンは、ホスト書込サイクルが進行中である時及び
用意信号が形成されるべきである時を指示する。HWT
PRG即ちホスト書込進展信号は、HWTステートマシ
ーンが状態A以外の状態にある時に、存在する。HWE
PBRDY即ちホスト書込早期プロセッサ用意信号は、
HRDY即ちホスト用意信号が戻った時に、状態C或は
状態Gに形成される。SET DPHLE信号は、状態
Cの間にアクティブである。
【0100】注目されるように、HWTステートマシー
ンは、書込サイクルが待機中であるかどうか知っている
必要がある。これは図27のHWL1PNDステートマ
シーンによって行われる。このステートマシーンは、リ
セット時に状態Aで始まる。もしホスト書込サイクルが
進行中であり、ホスト書込サイクルが要求され、配達が
イネーブルされ、先の書込サイクルが完了していなかっ
たならば、或いは書込サイクルの第2レベルが配達、待
機中ならば、制御が状態Aから状態Bに進行する。DS
PADS信号が真であり、書込サイクルが進行中で、書
込サイクルが要求され、進行中の書込サイクルが完了し
ていず、配達がデセーブルされた時或はもし第2の非配
達書込サイクルは待機中であるならば、制御は、状態A
から状態Cに進行する。他の全ケースでは制御が状態A
に留まる。用意信号がホスト制御器404から受信され
る時、制御は状態Bから状態Aに進行する。全部他の全
ケースでは制御が状態Bに留まる。用意が戻る時には制
御は状態Cから状態Aに進行し、そうでなければ、状態
Cに留まる。HWTL1PND即ち第1レベルホスト書
込待機信号は状態Bの間アクティブであり、HWTNP
L1PND即ちホスト第1レベル非配達書込サイクル待
機が状態Cで真である。
【0101】要は、一度に3つのホストバス書込サイク
ル待機(実行中)を持つことができることである。これ
は、1つのサイクルがホストバスHに配達でき、1つの
サイクルがホストバスHからEISAバスEに配達で
き、他のものがプロセッサ152から待機できるので可
能である。それゆえに2レベルを追跡することは必要で
ある。この追跡は、図28のHWL2PNDステートマ
シーンによって行われる。このステートマシーンは、リ
セット時に状態Aで始まって、DSPADS信号がアク
ティブで、ホストバスへの書込サイクルが要求され、配
達がイネーブルされ、配達或いは配達されない第1書込
サイクルが待機中である時に、状態Bに進行する。もし
DSPADS信号がアクティブであり、ホスト書込サイ
クルが要求され、そのサイクルの配達がイネーブルでな
く、サイクルがすでに待機中であるならば、制御が状態
Aから状態Cに進行する。その他の全ケースでは制御は
状態Aに留まる。配達或いは非配達書込サイクルが待機
中でない時には、制御が状態Bから状態Aに進行する。
即ち、予め待機していたサイクルがもはや待機中でな
く、完了している。他のケースでは制御は状態Bに留ま
る。同様に先の待機信号が実行されるならば、制御は状
態Cから状態Aに進行する。さもなければ制御は状態C
に留まる。HWTL2PND即ちホスト書込配達レベル
2待機信号が状態Bでアクティブであり、HWTNPL
2PND即ちレベル2書込待機非配達信号が状態Cでア
クティブである。
【0102】勿論、プロセッサ用意信号が書込ケースに
供給されると、読出ケースにおける早期プロセッサ用意
を形成することが必要である。これは図29のHREP
BRDYステートマシーンによって行われる。このステ
ートマシーンは、リセット時に状態Aで始まる。もしホ
スト読出が進行中で、ホスト書込が進行中でなく、プロ
セッササイクルが待機中で、現在のプロセッササイクル
が終了中でなく、進行中のホストバスサイクルが進行中
のプロセッササイクルに先立って始めていないならば、
制御は状態Bに進行する。他の全ケースでは制御が状態
Aに留まる。制御は、現行のプロセッササイクルが完了
中で、ホストバスサイクルが完了していなかったなら
ば、状態Bから状態Cに進行する。制御は、ホストバス
サイクルが完了中で、プロセッササイクルが完了してい
ないならば、状態Bから状態Dに進行する。制御は、ホ
スト及びプロセッササイクルが完了しているならば、状
態Bから状態Eに進行する。さもなければ制御は状態B
に留まる。制御はホストサイクルが完了している時に状
態Cから状態Aに進行する。さもなければ制御は状態C
に留まる。制御はプロセッササイクルが完了している時
に状態Dから状態Eに進行する。さもなければ制御は状
態Dに留まる。常に制御は状態Eから状態Aに進行す
る。
【0103】HREPBRDY即ちホスト読出早期PB
RDY信号は、状態Cでホストバスサイクルが完了した
ならば状態Eで、或はホスト書込サイクルが進行中でな
いならば状態Aで形成され、進行中のホストサイクルは
最初で、完了中である。
【0104】図60には、ホスト制御モジュール414
にも含まれるある雑多なロジックが示される。PDHD
LE*信号は、D型フリップフロップ700の反転出力
として供給される。PDHDLE*信号は、ORゲート
702にも接続している。ORゲート702は、他入力
としてHWTステートマシーンからSET DPHLE
信号を受信する。ORゲート702の出力は、NAND
ゲート704の反転HRDY信号の指示と論理積され
る。NANDゲート704の出力は、フリップフロップ
700のD入力に供給される。フリップフロップ700
は、PCLK信号によってクロックされる。ロジック
は、HPROG即ちホストバスサイクル進展信号をも展
開する。これはORゲート706の出力として展開され
る。ORゲート706は、ORゲート708の出力とD
型フリップフロップ710の非反転出力を受信する。O
Rゲート708は、HRDPRGホスト読出進展信号、
HWTPRGホスト書込進展信号及びHWL1PEND
ホスト書込待機信号を受信する。ORゲート706の出
力は、第2入力がNORゲート714の出力を受信する
ANDゲート712の第1入力であり、このNORゲー
ト714が順にPEOC及びPBRDY信号を受信し
て、現行のプロセッササイクルが完了していないことを
指示する。ANDゲート712の出力は、フリップフロ
ップ710のD入力として供給される。フリップフロッ
プ710は、PCLK信号によってクロックされる。H
CMモジュール414によって生成された関心の最後の
信号は、無効化パリティチェック即ちIGNPCHK信
号である。この信号は、パリティがホストバスHで維持
されないので、ホストバスHからの読出操作の間にプロ
セッサ152によって利用される。IGNPCHK信号
は、入力が2入力ORゲート718の出力を受信するフ
リップフロップ716の非反転出力として供給される。
ORゲート718への第1入力は、D型フリップフロッ
プ720の非反転出力によって供給される。第2入力
は、フリップフロップ720のD入力にも接続している
D型フリップフロップ722の非反転出力によって供給
される。HREPBRDY信号は、フリップフロップ7
22のD入力に供給される。全ての3つのフリップフロ
ップ716と720と722はPCLK信号によってク
ロックされる。
【0105】データバッファ158を検討すると、FE
CONモジュール400が読出ケース間にマルチプレク
サ338の適当な制御を許すために、PDSEL<
1..0>信号をも供給されなければならないことは、
理解される。これは主に図30で指示されたDPSEL
ステートマシーンの使用によって行われる。このステー
トマシーンは、リセットで状態Aに留まり、状態B、C
或はDにあるHRDステートマシーンによって示される
ようにもしホスト読出サイクルが進行中であるならば、
或いはもしホスト読出サイクルが進展中ならば、状態C
に進行し、HPROG 1ST信号によって示されるよ
うにホストサイクルが第1データ部分を開始しているの
で、そのデータ部分に戻している。制御はいくつかの異
なる状態下で状態Aから状態Bに進行する。これらの第
1は、メモリ読出サイクルが進行中にあり、早期PBR
DY信号が供給され、サイクルが完了せず、最初進行す
るホスト読出サイクルが進行中でない時である。状態A
から状態Bへの遷移用の第2の状態は、メモリ読出サイ
クルが発生し、早期PBRDYが供給され、サイクルが
終り、完了中のサイクルがLPAI03信号によって示
されるようにクリアされたPA<3>ビットを持ってい
る時である。状態Aから状態Bへの遷移の最後の状態
は、MEMRDとMCYC信号によって示されるように
メモリ読出サイクルが発生し、メモリサイクルがメモリ
制御ブロック402によってアクノリッジされ、PA<
3>信号がクリアされて下位64ビットを指示し、PB
RDY信号がアサートされなかった時である。他の全ケ
ースでは制御は、状態Aで留まる。
【0106】もし最初始まるホスト読出サイクルが発生
するならば、制御は状態Bから状態Cに進行する。制御
は、これらの特定の条件で利用されるようにPA<3>
ビットがセットされることを除いて、状態Aから状態B
への遷移毎に真である同じ状態のために状態Bから状態
Aに進行する。さもなければ制御は状態Bで留まる。ホ
スト読出サイクルが発生せず、メモリ読出サイクルが発
生し、ビットPA<3>がセットされない時には、制御
が状態Cから状態Aに進行する。もしホスト読出サイク
ルが発生せず、読出サイクルが発生し、PA<3>ビッ
トがセットされるならば、制御が状態Cから状態Bに進
行する。さもなければ制御は状態Cで留まる。
【0107】DPSELステートマシーンの特定の状態
は、マルチプレクサのセレクションを決定する。状態A
において、NPDSEL<1..0>として参照した信
号は第1のチャンネルを示すためにセットされる。状態
Bにおいて、NDPSEL<1..0>信号は第2のチ
ャンネルを示すためにセットされ、一方状態Cにおい
て、NDPSEL<1..0>信号はマルチプレクサ3
38の第3入力を示すためにセットされる。これらND
PSEL<1..0>信号は、2つのD型フリップフロ
ップの入力に供給され、これらフリップフロップがPC
LK信号によってクロックされて、フリップフロップの
非反転出力がPDSEL<1..0>信号を生成してい
る。
【0108】プロセッサ152に供給されてパイプライ
ンを許容しなければならない1つの信号は、PNA即ち
プロセッサ次アドレスとして参照された信号である。プ
ロセッサ152はこの信号を見て、パイプラインモード
で次のアドレスを供給することができることを知る。そ
れゆえにPNA信号を適切に発生することは、必要であ
る。一連のステートマシーンとランダムロジックはこの
信号を形成するために利用される。最初のステートマシ
ーンは、図31のPNAステートマシーンである。この
ステートマシーンは、PNA信号が所定のウィンドウ内
で形成することができる指示を供給するために使われ
る。ステートマシーンは、リセットで状態Aから始ま
る。もしSPADS信号が真であり、EPNA DEC
即ち早期PNAデコードとして参照された信号が供給さ
れるならば、制御は状態Aから状態Bに進行する。EP
NA DEC信号は、2つの条件下で展開される。第1
は、ローカルすなわちプロセッサバス位置に対してでな
く、特別のサイクルでないプロセッサ読出サイクルであ
る。第2は、L2キャッシュ154によって応答され
ず、要求されるコード書込でない非特殊非局所プロセッ
サ書込サイクルが要求された時である。さもなければ制
御は状態Aで留まる。もしPPEOC信号がアサートさ
れてサイクルの完了を示したならば、制御が状態Bから
状態Aに後戻りする。PNA信号がアサートされて、サ
イクルが完了しないならば、制御は状態Bから状態Cに
進行する。制御は全ての他のケースにおいて状態Bで留
まる。もしSPADS信号がアサートされEPNA D
EC信号がアサートされないならば或はサイクルが終っ
ているならば、制御は状態Cから状態Aに後戻りする。
もしSPADS信号がアサートされ、現行のサイクルが
終り、上記のEPNA DECWR信号即ち上記の書込
条件が真でなく或は読出が進行中でないならば、制御は
状態Cから状態Bに進行する。もしSPADS信号がア
クティブであり、現行のサイクルが完了せず、EPNA
DEC信号がアクティブであるならば、制御が状態C
から状態Eに進行する。もしSPADS信号がアクティ
ブであり、現在進行中のサイクルが完了し、EPNA
DEC信号がアサートされているならば、制御が状態C
から状態Dに進行する。他の全ケースで制御は状態Cで
留まる。状態Dにあることは、操作がパイプラインであ
る指示である。もしPPEOC信号がアサートされてサ
イクルの完了を示すならば、制御が状態Dから状態Bに
進行する。さもなければ制御は状態Dで留まる。制御は
全ての場合において状態Eから状態Bに進行する。
【0109】PNAステートマシーンは1つの信号を供
給する。これはステートマシーンが状態Bにある時、P
NA OK信号である。これは、1つのサイクルが現在
パイプラインされず、或いは効果的に完了していないの
で、他のアドレスを受信することは可能であるとの指示
である。
【0110】RDPNAステートマシーンとして参照さ
れたステートマシーンは、図32で示されて、PNA信
号が現行の読出サイクル毎に発生することができること
を指示するために用いられる。制御はリセット時に状態
Aで始まる。もし信号EPNA DECRD(EPNA
DEC信号の読出用)が真であり、状態の以下の組の
いずれも真であるならば、制御は状態Aから状態Bに進
行する。第1組は、もしMCYC即ちメモリサイクルが
指示され、アクノリッジがメモリ制御ブロック402か
ら受信されたならばである。第2組は、もしホストサイ
クルがアクティブであり、アクノリッジがホスト制御ブ
ロック404から受信されたならばである。第3組は、
もしDSPADS信号がアクティブであり、サイクルが
メモリサイクル或いはホストサイクルであるならばであ
る。他の全ケースでは制御が状態Aで留まる。もしPN
A信号がアサートされるならば、或いは現行のサイクル
がPPEOC信号によって示されるように完了している
ならば、制御は状態Bから状態Aに後戻りする。さもな
ければ制御は状態Bで留まる。RDPNA OK信号
は、状態Bで或いは次の状態は状態Bである時に発生す
る。
【0111】類似のステートマシーン(WRPNAステ
ートマシーン)は図33で示されて、そして書込サイク
ルケースのためのWRPNA OK信号を生成するため
に使われる。このステートマシーンはリセットで状態A
から始まって、3つの条件の1条件下で状態Bに進行す
る。最初の条件は、SPADS信号がアサートされ、E
PNA DECWR信号がアサートされ、メモリ書込が
発生せず、ホスト書込は進行中でないか、或いはホスト
制御ブロック402が操作をアクノリッジした時であ
る。第2の条件は、SPADS信号とEPNA DEC
信号が両方共アサートされ、メモリ書込サイクルが進行
中でEMACK信号によってまもなく完了するものとア
クノリッジされ、ホストバス書込が進行中でなく或いは
それはアクノリッジされた時である。最後の条件は、ホ
ストサイクルが発生し、それがアクノリッジされ、進行
中のホスト書込であり、PNA信号が送られず、EPN
ADECWR信号がアサートされた時である。他の全ケ
ースでは制御が状態Aで留まる。もしPNA信号がアサ
ートされるならば、或いはPPEOC信号によって示さ
れるように、サイクルが終わったならば制御は状態Aへ
状態Bから戻る。さもなければ制御は状態Bで留まる。
WRPNA OK信号は、ステートマシーンが状態Bに
あり、或いは次の状態が状態Bであるならば開発され
る。
【0112】PNAGENモジュール416は、現実の
PNA信号を生成するために、いくらかのランダムな論
理を含む。PNA信号は、フリップフロップの反転出力
によって生成されたPNA*信号と共にフリップフロッ
プの非反転出力によって生成される。フリップフロップ
は、PCLK信号によってクロックされる。フリップフ
ロップへの入力は、PNA OK信号、HPNAOK信
号、及びRDPNAOKとWRPNAOK信号を結合す
るORゲートの出力の入力を持つORゲートの出力によ
って供給される。HPNA OK信号は、その入力とし
て、ホスト書込サイクルが進行中であることを指示する
信号及びORゲートの出力を持つNANDゲートの出力
である。このORゲートは、第1入力としてホスト読出
サイクルが進行中を指示する信号及び第2入力としてA
NDゲートを持ち、このANDゲートは、入力としてホ
ストサイクルがあることを示す信号及びEPNA DE
CRD信号を持っている。
【0113】以上説明したように、多数のステートマシ
ーンは、PBRDY即ちプロセッサバースト用意信号の
進行用に用いている。プロセッサ152で形成されるよ
うに分岐追跡メッセージのようなある特殊なサイクル
は、ホストバスHに供給されないで、エラーを防止しな
ければならないが、用意指示は供給しなければならな
い。更に、プロセッサ152は、どの現実の操作も発生
しないが、書込保護エリアへの書込操作毎に用意指示を
受信しなければならない。これら特定の場合毎にEPB
RDY信号は、図34で示されたWPEPBRDYステ
ートマシーンによって供給される。このステートマシー
ンは、リセット時に状態Aから始まり、もしDSPAD
S信号が真であり、ローカル或は主メモリへのデータ書
込が指示され、SMIモードがアクティブでなく、書込
保護ステータスがDDF164から指示されたならば、
或はもしDSPADS信号が真であり、分岐追跡メッセ
ージがデコードされたならば、更にこれら両方の場合
に、プロセッササイクルがメモリ制御器156で進行中
でなく、或は進行中のサイクルが終り、PBRDY信号
がアサートされることの追加条件を満たしたならば、状
態Bに遷移(進行)する。プロセッササイクルが進行中
において、もしDSPADS信号がアサートされ、ロー
カル(局所)メモリ書込データ操作が指示され、SMI
モードがアクティブでなく、書込保護指示がDDF16
4から受信されたならば、或はDSPADS信号が真で
あり、分岐追跡メッセージがデコードされたならば、制
御が状態Aから状態Cに進行する。さもなければ制御は
状態Aで留まる。常に制御は状態Bから状態Aに進行す
る。進行中のサイクルがアサートされたPEOC及びP
BRDY信号によって示されるように完了した時には、
制御は状態Cから状態Bに進行する。さもなければ制御
は状態Cで留まる。WPEPBRDY信号は、状態Bで
アサートされる。従って、このステートマシーンは、書
込保護メモリへの書込または分岐追跡メッセージの場合
におけるプロセッサBRDY指示を形成するために使わ
れる。書込保護エリアへの書込時において、他のステー
トマシーンのどれも、この操作を実行せず、実際にデー
タは無視される。同様にデータは、分岐追跡メッセージ
毎に無視されて、ホストバスHに渡されない。
【0114】WPEPBRDYステートマシーンは、も
しSMIモードがアクティブならば、SMIACT信号
に指示されるように、WPEPBRDY信号を生成しな
いことが注目され、そうでなければ操作は書込保護位置
に指向させられる。WPEPBRDYステートマシーン
は単純に状態Aに留まり、この場合、MWEPBRDY
ステートマシーンが通常の書込ケースとして早期用意信
号の発生を扱う。
【0115】この最後のEPBRDY信号の展開と共に
PBRDY信号を展開する論理を記述することは、適当
である。EPBRDY信号として参照される信号は、M
REPBRDYとMWEPRDYとHREPBRDYと
HWEPBRDYとWPEPBRDY信号と相互に論理
和して展開される。この信号は、キャッシュ制御器がキ
ャッシュラインフルを形成していないことの指示(出
力)と論理積がとられて、D型フリップフロップの入力
に供給される。フリップフロップの非反転出力がPBR
DY信号であり、一方フリップフロップの反転出力は、
プロセッサ152に供給されるPBRDY*信号であ
る。
【0116】既に注目されるように、MCYCとHCY
Cとして参照された2つの信号が利用された。図10で
示されるように、MCYC信号はMCONブロック40
2に供給され、HCYC信号がHCONブロック404
に供給されて、実行サイクルを指示する。このデコード
がある論理によって行われる。
【0117】MCYCロジックは、図35で示される。
6入力ANDゲート550は、PMIO、PDC、PW
R*、PLOCAL*、CHIT OK*及びHLOC
MEM信号を受信して、L2キャッシュ154ヒットで
ない主メモリデータ読出サイクルをデコードする。6入
力ANDゲート552は、PMIO、PDC*、PWR
*、PLOCAL*、HLOCMEM及びCHIT O
K*信号を受信して、L2キャッシュ154ヒットでな
いメモリ命令(コマンド)読出サイクルをデコードす
る。6入力ANDゲート554は、PMIO、PDC、
PWR、PLOCAL*及びHLOCMEM信号と、S
MIACT及びHWP*信号を受信する2入力ORゲー
ト556の出力とを受信する。従って、このANDゲー
ト554は、メモリデータ書込サイクルをデコードす
る。SMIACT及びHWP*信号がORゲート556
で論理和されることが注目される。これは、2つの信号
が合同され実行される最後の位置であって、SMRAM
のような通常書込保護されたメモリ領域がシステム管理
モード期間中に書込保護されない。通常の書込保護の場
合においては、MCYC信号が発生せず、メモリサイク
ルが動作しないのでWPEPBRDYステートマシーン
がサイクルを取り扱う。しかし、SMIACT信号があ
る時にはHWP信号指示が無効にされ、フル書込サイク
ルが実行される。従って、従来のメモリのエリアがSM
RAMとして、上書きする危険性なしで利用することが
でき、しかもSMMモードの間に充分アクセスすること
ができる。
【0118】ANDゲート550、552及び554の
出力は、出力が2入力ANDゲート558に第1入力と
して供給された3入力ORゲート557の入力に供給さ
れる。ANDゲート558の第2入力が、DSPADS
信号を受信する。ANDゲート558の出力は、第2入
力がD型フリップフロップ562の非反転出力を受信す
る2入力OR560への一入力として供給される。OR
ゲート560の出力がMCYC信号であって、そして2
入力ANDゲート564の入力に供給される。ANDゲ
ート564の第2入力が反転されて、MACK信号を受
信する。ANDゲート564の出力は、フリップフロッ
プ562のD入力に供給されて、このフリップフロップ
562がPCLK信号によってクロックされる。
【0119】HCYC信号の展開が、図36で示され
る。4入力ANDゲート570は、CHIT OK*と
PMIOとPDCとPWR信号を受信して、ホストバス
メモリデータ書込操作をデコードする。5入力ANDゲ
ート572は、PMIOとPDC*とPWR*とHLO
CMEM*とCHIT OK*信号を受信して、キャッ
シュヒットでないホストバスメモリコマンド読出操作を
デコードする。5入力ANDゲート574は、PMIO
とPDCとPWR*とHLOCMEM*とCHIT
*信号を受信して、キャッシュヒットでないホストバ
スメモリデータ読出操作をデコードする。2入力ORゲ
ート576は、PMIO*とPWR*信号を受信して、
ホストバスI/O読出操作をデコードする。3入力OR
ゲート578は、PMIO*とPDCとPWR信号を受
信して、ホストバスI/Oデータ書込操作を指示する。
ANDゲート570、572及び574とORゲート5
76及び578の出力は7入力ORゲート580に入力
として供給される。このORゲート580の残りの入力
には、ホストバスに転送されるべきプロセッサバスロー
カルサイクル及び特別サイクル即ち80486の等価特
別サイクルを各々指示するPLOCAL及びHSPCY
C信号が供給される。ORゲート580の出力は、第2
入力がDSPADS信号を受信する2入力ANDゲート
582への一入力として供給される。ANDゲート58
2の出力は、2入力ORゲート584への一入力として
供給される。ORゲートへの第2入力は、D型フリップ
フロップ586の非反転出力に接続している。フリップ
フロップ586は、PCLK信号によってクロックされ
る。ORゲート584の出力は、第2入力が反転して2
入力ANDゲート590の出力を受信する2入力AND
ゲート588への一入力として供給される。ANDゲー
ト588の出力は、フリップフロップ586のD入力に
供給される。HACK信号は、ANDゲート590への
一入力として供給され、2入力NANDゲート592の
出力が第2入力を形成する。PPROGRDとPWR信
号はNANDゲート592への入力である。NANDゲ
ート592の出力は、第2入力がORゲート584の出
力を受信する2入力ANDゲート594にも入力とし
て供給される。ANDゲート594の出力は、HCYC
信号である。これでフロントエンド制御器400の記述
を完了する。
【0120】メモリ制御ブロック402は、図12でよ
り詳細に示され、そのステートマシーンは、この時点で
説明される。CPUMEMモジュール430は、プロセ
ッサ152から導かれたメモリ操作の実制御を分担す
る。CPUMEMモジュール430の核は、図38に示
すようにMEM即ちメモリステートマシーンである。制
御は、リセット時にMI即ちメモリアイドルである。こ
の状態において、ステートマシーンは、アイドルで、D
RAMをプリチャージし、MRAS*信号はハイであ
る。メモリサイクルが要求されていることを示すMCY
C信号がアクティブであり、DRAMが充分プリチャー
ジされなかったことを示すCHGTO*即ち未チャージ
タイムアウト信号がアサートされたならば、制御は状態
MIから状態MRCに進行する。MCYC信号によって
示されるように、もしメモリRAS1サイクルが要求さ
れ、CHGTO信号が真でプリチャージ時間が完了した
ことを指示するならば、制御が状態MIから状態MR1
に進行する。BMPROG即ちバスマスタサイクル進展
信号がアサートされる時、制御は状態MIから状態MN
に進行する。他の全ケースでは制御が状態MIで留ま
る。プリチャージ時間が完了されたことを指示するCH
GTO信号がアクティブな時、制御は状態MRCから状
態MR1に進行する。制御は全ての場合において状態M
R1から状態MR2に進行する。DDF164からのL
SPD60即ちラッチされたSPD6信号によって示
されるように、DRAMが60nsの速度を持ち、読出
サイクルが指示され、或はPMDRDY即ちプロセッサ
対メモリデータ用意信号がアクティブであるならば、制
御が状態MR2から状態MC1(CAS状態の最初)に
進行する。書込サイクルが要求され、PMDRDY信号
がアサートされないならば、制御は60nsのDRAM
用に状態MR2から状態MR4に進行する。他の全ケー
スでは制御が状態MR2から状態MR3に進行する。特
に80nsのDRAMの場合においては、制御が状態M
R2からMR3に進行する。制御は全ての場合において
状態MR3から状態MR4に進行する。もし読出サイク
ルが要求され、或はPMDRDY信号によって示される
ようにデータが利用可能であるならば、制御がMR4か
ら状態MC1に進行する。制御は全ての他の場合のため
に状態MR4で留まる。
【0121】常に制御は状態MC1から状態MC2に進
行する。FECONブロック400がメモリからデータ
を受ける準備ができていることを指示して、MRDRE
Q信号がアサートされる時、制御は状態MC2から状態
MC3に進行する。他の全ケースでは制御が状態MC2
で留まる。常に制御は状態MC3から状態Mに進行す
る。
【0122】状態MNからの多数の出口が存在する。状
態MNでMRAS*信号はローである。もしバーストサ
イクルが発生したならば、もし真性のMCYC、BUR
ST*、MWR*及びPGHIT信号で指示されるよう
に非バーストメモリページヒット読出が発生したなら
ば、或はMCYC信号と、アサートされたBURST*
とPGHITとPMDRDYとPRMWR信号によって
示されるように、次のサイクルが非バーストメモリペー
ジヒットであり、先のサイクルがメモリ書込であり、デ
ータが利用可能であるならば、制御は状態MNから状態
MC1に進行する。PRMWR信号は先のメモリサイク
ルが書込サイクルであることを示す。状態MNから状態
MC1へのこのループは、最短ループであって、66M
Hzクロックを基準にして、2つのウエイト状態ループ
を指示する。それで、ページヒットが得られた時には、
メモリ制御器156は、ほとんどのページヒット操作用
にメモリサイクルモード毎に2ウエイト状態で動作する
ことができる。制御は、真性のMCYC、BURST
*、MWR、PGHIT及びPMDRDY*信号によっ
て指示されるように、データが供給されない非バースト
メモリページヒット書込において、状態MNから状態M
R4に進行する。勿論、制御は、真性のMCYC、BU
RST*、MWR、PGHIT及びPRMWR*信号に
よって指示されるように、読出操作に続く書込を有する
非バーストメモリページヒットにおいて、状態MNから
状態MR4に進行する。もし他のサイクルが要求され、
それが真性のMCYC、BURST*及びPHGHIT
*信号によって示されるように非バースト非ページヒッ
トであるならば、制御は状態MNからMRCに進行す
る。制御は、メモリ性能モニタが次のサイクルがたぶん
ページヒットでなく、それ故ページミスの場合時間を節
約できるか否かを解るためにDRAMをプリチャージす
るに適切であることを指示するので、もしアイドル状態
が非バースト、非バスマスタサイクル、非メモリサイク
ル毎に必要ならば、或はもしホールド要求がプロセッサ
152によってアクノリッジされたならば、状態MNか
ら状態MIに進行する。これらの状態は、MCYC*及
びBURST*信号と、真であるBMPROG*信号
と、HHLDA或はMPM HIT*によって示され
る。他の全ケースでは制御が効果的に第2のアイドル状
態である状態MNに留まる。この場合、MRAS*信号
がローに保持される。特に、次の状態を指示するメモリ
パフォーマンスモニタは、ページヒットでありそうなら
ば、制御が状態MNに留まり、ヒットを待って状態MC
1或はMR4に遷移する。
【0123】注目されるように、MEMステートマシー
ンは、バーストが発生しているか否かを知る必要があ
る。この情報は、図38で示されたBURSTステート
マシーンによって供給される。このステートマシーン
は、リセットで状態Aから始まり、NEWCYC及びC
BURST信号に基づいて、キャッシュバースト操作が
発生し新規サイクルが展開されたならば、状態Bに進行
する。このNEWCYC信号は、MACK及びMCYC
信号の論理積であり、CBURST信号がプロセッサ1
52ライトバック即ちL2キャッシュ154センド・ア
ロケート(sendallocate)ラインフルを指示する。他の
全ケースでは制御が状態Aで留まる。MBRDY信号が
受信されて、128ビットのデータがメモリシステムに
転送されたことを指示した時には、制御が状態Bから状
態Cに進行する。さもなければ制御は状態Bで留まる。
制御は、MBRDY信号の次の発生で状態Cから状態A
に戻り、さもなければ状態Cで留まる。従って、新規な
バーストサイクルの開始が指示された時には、データが
転送されると、制御が状態Bから状態Cに進行する。
ってBURST信号は、状態BとCの期間にアサートさ
れ、一方BURST2信号が状態Cでアサートされ、E
BURST信号が状態Bで形成される。
【0124】CHGTO即ちプリチャージタイムアウト
信号は単純なカウンタによって供給される。MRAS信
号がアサートされる時はいつでも、カウンタに4のデフ
ォルト値がロードされる。この信号のアサートは以下に
記述される。カウンタは、MRAS信号がデアサートさ
れた(ハイのMRAS*信号)時のPCLK信号の各立
上がりエッジ毎に、カウントダウンされる。カウンタが
1の値に届く時はプリチャージ時間が60nsDRA
Mのために完了された指示である。カウンタが0になっ
た時、これはプリチャージ時間が80nsDRAMを完
了した指示である。それ故、CHGTO信号は、MRA
S*信号のデアサートの開始から60nsDRAM用に
3つの計数で、80nsDRAM用に4つの計数で供給
される。
【0125】このPGHIT即ちページヒット信号はペ
ージヒット検知ブロックによって供給される。これは、
プロセッサアドレス<27..12>ビット用のラッチ
を含むかなり従来的なブロックで、このラッチはアドレ
スがメモリに供給されている時にアクティブとなるプロ
セッサメモリアドレス・ラッチイネーブル信号で操作さ
れる。ラッチの出力は比較器の第1入力群に供給され、
一方アクティブ即ち現行のプロセッサアドレス<2
7..12>ビットが比較器の第2入力群に供給され
る。もしこれらのアドレスが等しいならば、新規の列ア
ドレスをDRAMに供給しなくてもよいページヒット操
作であると見なす。ある雑多な論理は、CPUMEMモ
ジュール430にも含まれる。最初の機能は、MRDY
信号(図39)の生成である。このMRDY信号はPC
LK信号でクロックされたD型フリップフロップ740
の出力として供給される。フリップフロップ740への
D入力は、MWR信号を受信する選択入力を有するマル
チプレクサ742の出力信号を受信する。このマルチプ
レクサ742の第0入力は、EBURST*信号及びM
EMステートマシーンの次の状態が状態MC2であるこ
とを指示する信号を受信するANDゲート744の出力
に接続される。ANDゲート744の出力は、PCLK
信号によってクロックされて、出力がLMRDY或はE
MACK信号でありD型フリップフロップ746のD入
力にも供給される。マルチプレクサ742の第1入力
は、次の状態がMC3であることを指示する信号を受信
する。この同じ信号は、PCLK信号によってクロック
されて、出力がMBRDY信号であるD型フリップフロ
ップ748のD入力に供給される。
【0126】MACK即ちメモリアクノリッジ信号は、
図40で展開される。次の状態が状態MNであることを
指示する信号とEBURST*信号はANDゲート75
0の入力に供給される。ANDゲート750の出力は、
他入力が次の状態が状態MIであることを指示する信号
であるORゲート752への一入力である。このORゲ
ートの出力は、その出力がNMACK信号であるフリッ
プフロップ754のD入力に供給される。フリップフロ
ップ754は、PCLK信号によってクロックされて、
その非反転出力としてMACK信号を持っている。
【0127】CPUセクションからのMRASSC即ち
マスタRASセット信号は次の状態が状態MR1である
ことを指示する信号と同じである。CPU信号からのM
RASRC即ちマスタRASリセット信号は、図41の
3入力ORゲート756の出力として示される。次の状
態MC3とMCYCとPGHIT*及びBURST2信
号はANDゲート758に供給される。BURST*と
PGHIT*とMCYC及び次の状態MN信号はAND
ゲート760に供給された。ANDゲート758及び7
60の出力は、MEMステートマシーンの次の状態が状
態MIであることを指示する信号と共に、ORゲート7
56への入力として供給される。CPUセクションから
のNMCASC即ち次のサイクルマスタCAS信号は次
の状態が状態MCであることを指示する信号に等価であ
る。
【0128】図42で示されるように、CPUからのN
MALEC即ち次のサイクルメモリ・アドレスイネーブ
ル信号がORゲート762の出力として供給される。次
の状態MC3とEBURST*信号はANDゲート76
4の入力に要求される。次の状態MNとEBURST*
とMCYC*信号はANDゲート766に入力として供
給される。ANDゲート764と766の出力及び次の
状態がMIであることを指示する信号は、ORゲート7
62への入力である。
【0129】CPUセクションからのNMADRINC
C即ち次のサイクルメモリアドレス・インクリメント信
号は、BURST操作間に状態MC3となる次の状態に
等価である。CPUセクションからのMALLBESC
即ちメモリ全バイトイネーブル信号は、読出サイクル或
はキャッシュバースト操作の期間中に形成される。CP
UセクションからのNMWEC即ち次のサイクルメモリ
書込イネーブル信号は、図43で示されるように、OR
ゲート768の出力として供給される。次の状態どのM
R或はどのMC信号及びMWR信号がANDゲート77
0の入力である。次の状態NMとNXTCYCとPWR
とPRMWRとEBURST*信号はANDゲート77
2の入力である。次の状態MNとMWRとEBURST
信号はANDゲート774の入力である。ANDゲート
770と772と774の出力は、ORゲート768の
入力である。NDMPLE即ち次のサイクルメモリデー
タ対プロセッサデータ・ラッチイネーブル信号は、読出
操作中にMC3となるステートマシーンの次の状態に等
価である。プロセッサセクションからのNDMSELO
C即ち次のサイクルメモリデータ選択最少重要ビット信
号は、図44で示されるように、ORゲート776の出
力として供給される。次の状態MC3及び次の状態MN
信号は、出力がANDゲート780に供給されたORゲ
ート778への一入力として供給され、ANDゲート7
80の他入力がEBURST信号を受信する。次の状態
MC1及び次の状態MC2信号は、出力がANDゲート
784の一入力であるORゲート782の入力であり、
ANDゲート784の他入力がBURST2信号を受信
する。ANDゲート780と784の出力はORゲート
776の入力である。
【0130】CPUセクション信号からのNMDOEC
即ち次のサイクルメモリデータ出力イネーブル信号がN
ORゲート786の出力によって供給される。次の状態
どのMR或はどのMC信号及びステートマシーンが状態
MC3にあることの指示は、ORゲート778への入力
として供給される。ORゲート778の出力が、他の入
力がMWR*信号を受信するANDゲート790への入
力として供給される。次状態NMとEBURSTとMW
R*信号はANDゲート792への入力である。次状態
MNとNXTCYCとPWR*とEBURST*信号は
ANDゲート794への入力である。ANDゲート79
7と792と794とRDHLD信号の出力は、NOR
ゲート786への入力である。RDHLD信号は、PC
LK信号でクロックされるD型フリップフロップ796
の非反転出力として形成される。状態MC3とPRMW
R*とEBURST*信号は出力がフリップフロップ7
96のD入力に接続しているANDゲート798に供給
される。
【0131】IMALE信号は、MACK信号の1PC
LK分遅延させたバージョンである。この信号は、MW
R信号を展開するためにPWR信号をラッチし、MDC
信号を展開するためにPDC信号をラッチし、LSPD
60信号を展開するためにSPD6O即ちメモリ速度6
0信号をラッチするために使われる。
【0132】HHLDA信号がローであり、MACK信
号が真であり、MCYC信号が真である時には、ページ
ヒット検知器と一緒に使われたPMALE即ちプロセッ
サメモリアドレスラッチ信号が開発される。NXTCY
C信号は、図46で示されるように、ORゲート800
の出力として生成される。SPADSとPMIO信号
は、出力がORゲート800への一入力であるANDゲ
ート802への入力として供給され、MCYC信号がO
Rゲート800への他入力である。
【0133】コンピュータシステムCには、操作できる
追加の型のバスマスタも存在する。これらの1つは、E
ISAスロット108に位置するISA即ちIndustry S
tandard Architectureバスマスタである。これらのバス
マスタが主メモリをアドレスできるので、それらの操作
の使用に制御モジュール、ISABM432及びステー
トマシーンを持つことは適当である。このステートマシ
ーンは、図48のISAステートマシーンである。ステ
ートマシーンは、リセットで状態IIから始める。これ
はISAアイドル状態である。ISAコマンドがアクテ
ィブでない時、制御は状態IIで留まる。後に定義され
た信号の定義と共にISAコマンドがアクティブな時
に、制御は状態IIから状態IR2に進行する。制御
は、次のPCLK信号クロックの縁(エッジ)で、状態
IR2から状態IR3に進行し、その後状態IR3から
状態IR4に進行する。もしスヌープ・ライトバックが
発生しているならば、即ち、プロセッサ152のライト
バックキャッシュが読出ヒットが発生したことを決定
し、このライトバックが適切であるならば、この操作が
完了されるまで、制御は状態IR4に留まる。スヌープ
ライトバックが完了した時に、制御は状態IR4から状
態IC1に進行する。その後、PCLK信号の連続立上
りエッジで、制御は状態IC1から状態IC2に、状態
IC3に進行し、その後状態ILに進行する。制御は、
ISACMD信号が活発化される間、状態ILで留ま
る。ISAコマンドが完了した時に、制御は状態ILか
ら状態IIに進行する。
【0134】ISACMD信号の展開が、図49で示さ
れる。MRDCとMWTC信号はORゲート600に2
入力として供給される。ORゲートの出力は、4入力A
NDゲート602への一入力である。ANDゲート60
2への他入力は、HHLDAとREFRESH*とEM
STR16信号である。従って、ISAバスマスタがE
ISAバスEの制御を持ち、活性的にサイクルを動作さ
せた時には、ANDゲート602の出力がアクティブで
ある。このANDゲート602の出力がXISACMD
信号であって、そしてD型フリップフロップ604のD
入力に供給される。フリップフロップ604の反転クロ
ック入力は、66MHzPCLK信号のために2でPC
LK信号を分周して開発されたHCLK即ちホストバス
クロック信号を受信する。勿論、ANDゲート602の
出力は、正のクロック入力がホストバスHからHCLK
信号を受信するD型フリップフロップ606のD入力に
供給される。フリップフロップ604と606の非反転
出力は、それぞれ2:1マルチプレクサ608の第0及
び第1入力である。マルチプレクサ608への選択入力
には、PCLK信号がHCLK信号と位相があったこと
即ち2つの立上がり縁が位置合わせされたことを指示す
るPHASE信号によって供給される。PHASE信号
は、PCLK信号によってクロックされて、そしてその
D入力でHCLK*信号を受信するD型フリップフロッ
プの非反転出力である。マルチプレクサ608の出力
が、クロック入力がPCLK信号を受信するD型フリッ
プフロップ610のD入力に供給される。フリップフロ
ップ610の非反転出力は、ISACMD信号である。
【0135】メモリステートマシーンに関して、ISA
ステートマシーンは、アドレス/制御バッファチップ1
68とデータバッファ158を制御する毎に複数の信号
を形成する。MRASSI即ちマスタRASセットIS
A信号は、ISAステートマシーンが状態IIにあり、
ISACMD信号が真であり、サイクルが主メモリをア
ドレスしている時に、アクティブである。MRASRI
即ちマスタRASリセットISA信号は、ISACMD
信号がアサートされない時に状態ILでアサートされ
る。NMCASI即ちISAによる次のサイクルマスタ
CAS信号は、次の状態が状態IC1、IC2又はIC
3時に、操作が主メモリに対した時及び操作が書込保護
メモリに対してでなく或は読出操作である時に、アサー
トされる。NMWEI即ちISA部分からの次の状態M
WE信号は、次状態がIR4、IC1、IC2或はIC
3状態であり、ISA書込操作が要求されて、サイクル
が書込保護空間に対してでない時に、アサートされる。
MALLBESI即ちメモリ全バイトイネーブルISA
信号は、ISACMD信号がアサートされる時、読出サ
イクルの間にアサートされる。NDMHLEI即ちIS
Aシステムからの次のメモリデータ対ホストデータラッ
チイネーブル信号は、状態IR2における書込中或は状
態IC2における読出中に形成される。DHOEI即ち
ISAによるホストデータ出力イネーブル信号は、IS
ACMD信号がアサートされる時、ISA読出操作の間
に供給される。NMDOEI信号は、読出操作毎に次の
状態がIR4、IC1、IC2或はIC3状態であり、
現行の状態が状態IC3であり、或はRDHLD信号が
アサートされる時に、ネゲートされる。
【0136】勿論、ISABMロジック432は、CH
RDY信号を供給することを分担する。このためのロジ
ックが、図50で示される。SNPWB信号は、D型フ
リップフロップ620のD入力に供給される。PCLK
信号は、フリップフロップ620をクロックする。同期
クリア入力は、ISAステートマシーンが状態II或は
IC3にあることを指示する信号を入力として受信する
2入力ORゲート622の出力を受信する。フリップフ
ロップ620の非反転出力が、ステートマシーンが状態
IC2であり、読出操作が発生している指示を他の2入
力で受信する3入力ANDゲート624への一入力とし
て供給される。ANDゲート624の出力が、7〜0ダ
ウンカウンタ626のロード入力に供給される。PCL
K信号は、カウンタ626をクロックする。カウンタ6
26の出力は、CHRDYTO即ちCHRDYタイムア
ウト信号として参照されるゼロ信号である。この信号
は、2入力ANDゲート628への一入力として供給さ
れ、他入力がステートマシーンが状態ILにある指示を
受信している。XISACMD信号及びHCW*即ち非
ライトバック信号は2入力ANDゲート630への入力
として供給される。XISACMD*信号と状態IIの
指示が2入力ANDゲート632への入力として供給さ
れる。2入力ANDゲート634は、ORゲート636
の出力とNANDゲート638の出力を受信する。NA
NDゲート638への入力は、フリップフロップ620
の出力及びISAバスマスタによる読出操作を指示する
ISARD信号である。ORゲート636への入力は、
ISAステートマシーンが状態IC1、IC2或はIC
3にある指示である。ANDゲート628と630と6
32と634の出力が、出力がCHRDY信号であるO
Rゲート640への入力として供給される。
【0137】ISAバスマスタが分離した制御モジュー
ル432を持つように、EISABMモジュール434
は、形成され、図51で示されるEISAステートマシ
ーンとして参照されたステートマシーンを含む。このス
テートマシーンは、リセット後に状態EI即ちEISA
アイドルで操作を始める。この状態には、EISAST
ART即ちESTRT信号が受信されるまで留まる。E
STRT信号は、STARTとSBCLKとHMIOと
REFRESH*とEMSTR16*とHHLDA信号
が真である時に真であり、PCLK信号がHCLK信号
と位相合わせされ、その時に状態ERSに進行する。制
御は、PCLK同期化BCLK即ちSBCLK信号がア
サートされないまで、状態ERSで留まる。その後制御
は、状態ERWに進行する。制御は、SBCLK信号が
アサートされない間この状態に留まる。制御は、SBC
LK信号がアサートされ、書込操作が発生している時に
状態ERWから状態EW1に進行する。SBCLK信号
及びBCLK信号は、SBCLKHI信号によって示さ
れるようにアサートされない時に制御が状態EW1で留
まり、両者がアサートされた時に制御がEW1から状態
EW2に進行する。制御は、全ケースにおいて次のPC
LK信号サイクル上で状態EW2からEC1に進行す
る。SBCLK信号が真であり、読出操作が発生してい
る時に、制御は状態ERWから直接状態EC1に進行す
る。
【0138】制御は、PCLK信号の次の立上がり縁
で、状態EC1から状態EC2に進行する。制御は読出
操作の間に状態EC2から状態EC3に進行し、その後
次のPCLK信号の縁で状態ESTに進行する。制御は
書込操作のために状態ESTに状態EC2から直接に進
行する。もしスヌープライトバックが発生しているなら
ば、制御は、状態ESTから状態EWBに進行して、そ
のライトバック操作の間留まる。ライトバックが完了し
た時には、制御が状態EWBから状態EC1に進行し
て、ライトバックによって割込まれた操作を再実行す
る。もしスヌープライトバックが発生せず、SBCLK
LO信号によって示されるようにSBCLKとBCLK
信号がローであるならば、或はもしスヌープライトバッ
クが発生せず、書込が発生していたならば、制御は状態
ESTから状態ENに進行する。他の全ケースでは制御
が状態ESTで留まる。もし同期化EXRDY即ちSB
EXRDY信号がアサートされないならば、制御は状態
ENから状態ENWに進行する。このSBEXRDY信
号は、まずBCLK信号の立ち下がりエッジに同期さ
れ、その後HCLK信号と位相合わせされたPCLK信
号に同期するEXRDY信号である。制御は、SBCL
K及びBCLK信号のいずかがアサートされる時、状態
ENWに留まり、SBCLKLO信号で状態ENに遷移
する。もしEISAバーストが発生し、操作がSMSB
URSTとSBEXRDY信号によって示されるように
用意できたならば、制御は状態ENから状態ERWに進
行する。SMSBURST信号は、BCLKとHCLK
信号がローである時、PCLK信号に同期させられたM
SBURST信号である。もしバーストが発生せず、ハ
イになるSBEXRDY信号によって示されるようにサ
イクルが完了したならば、制御はアイドル状態に入るた
めに、状態ENから状態EIに進行する。
【0139】ISA及びCPUMEMモジュール432
及び430がアドレス/制御バッファ166とデータバ
ッファ158を制御する種々の信号を展開しなければな
らないのと同様に、EISAモジュール434も展開
る。生成された1つの信号は、フルBCLKウエイト
状態を追加しないで、ある漸増タイミングを形成するた
めにBCLK信号を拡張するために、EISAバス制御
器110に供給されたHSTRETCH*信号である。
HSTRETCH*信号を展開するロジックが図52で
示される。D型フリップフロップ650は、PCLK信
号によってクロックされて、非反転出力に接続された入
力を持っている。状態ERWとRESET信号は、出力
がフリップフロップ650の同期クリア入力に供給され
た2入力ORゲート652への入力である。状態EWB
指示は、フリップフロップ650の同期セット入力に供
給される。
【0140】勿論、フリップフロップ650の非反転出
力は、2入力ANDゲート654の一入力に供給され、
その他入力がEC即ち状態EC1、2或いは3指示を受
信する。ANDゲート654の出力が、D型フリップフ
ロップ656のD入力に供給される。PHASEとPC
LK信号を受信する2入力ANDゲート658の出力
が、フリップフロップ656のクロック入力に供給され
る。フリップフロップ656の非反転出力は3入力OR
ゲート660の1つの入力に供給され、残りの2入力
は、次の状態が状態EC1、EC2或はEC3であるこ
とを指示する信号或いは現行の状態が状態EC1、EC
2或はEC3であることを指示する信号を受信する。O
Rゲート660の出力が、3入力ANDゲート662へ
の一入力として供給される。ANDゲート662の残り
の入力は、主メモリ読出を指示するHWR*とLOCM
EM信号である。2入力ANDゲート664は、SNP
WBと、EI*即ちEISAステートマシーンが状態E
Iにない信号とを受信する。ANDゲート664の出力
とANDゲート662の出力は、出力がD型フリップフ
ロップ668のD入力に供給されたORゲート666へ
の2入力である。PHASEとPCLK信号は、出力が
フリップフロップ668をクロックするANDゲート6
70に供給される。フリップフロップ668の非反転出
力とANDゲート664の出力は、出力がHSTRET
CH*信号であるNORゲート672への2入力として
供給される。
【0141】MRASSE即ちEISA部によってセッ
トされたマスタRAS信号は、次状態が状態ERWであ
る時或いはMRASSR信号が供給されている時に形成
される。このMRASSR信号が、状態RBにあるリフ
レッシュステートマシーンに基づくセット信号である。
このリフレッシュステートマシーンは後述する。MRA
SRE即ちEISAによるマスタRASリセット信号
は、次状態が状態EIであり、現行の状態が状態ENで
あって、アイドルへの遷移を指示する時に、或いはMR
ASSR信号がアサートされる時に、形成される。この
MRASRR信号は、リフレッシュステートマシーンが
状態RCにあり、SBCLKLO信号がアサートされて
いることを指示する。NMCASR即ち次のサイクルマ
スタCASリフレッシュ信号は、リフレッシュステート
マシーンが状態RA或はRBにある時にアサートされ
る。NMCASE即ち次のEISAサイクルによるマス
タCAS信号は、NMCASR信号がアサートされる
時、或いは、次状態が状態ECで、主メモリ操作が発生
し、それが書込保護されていず、或いは読出操作である
時にアサートされる。NMWEE即ちEISAによる次
のサイクルメモリ書込イネーブル信号は、次状態がEW
2、EC或いはEWBで、主メモリへの書込保護されて
いない書込が発生している時に形成される。NMALE
E信号は、次状態が状態EC1、EC2或はEC3以外
の時に形成される。MALLBESE信号は、読出操作
期間中に、状態がEI或はERSの以外の時或いはリフ
レッシュステートマシーンが状態RIにない時に形成さ
れる。NDMHLEE即ちEISAによる次のサイクル
MDHDラッチイネーブル信号は読出毎の状態EW1及
び書込毎の状態EC2期間中に形成される。NDHOE
E即ちEISAによる次のサイクルHD出力イネーブル
信号は、ローカルメモリへの読出しで、CMD*信号の
ハイレベルでオープン即ちイネーブル期間を持つラッチ
の入力に供給されるERW状態の期間中に形成される。
このラッチの出力は、DHOEE信号である。NMDO
EE即ちEISAによる次のサイクルMD出力イネーブ
ル信号は、読出操作時において、次状態が状態ERW、
EC1、EC2、EC3或いはEBWであり、その状態
が状態EC1、EC2或いはEC3であり、或いは状態
EC1、EC2或はEC3に続く状態即ち状態ESTへ
の最初のエントリ状態の時にアサートされない。
【0142】REFSMモジュール442で使われたR
EFRESHステートマシーンが、図53で示される。
リセット後状態RIで操作が始まり、RSTRT即ちリ
フレッシュ開始信号が検知されるまで留まる。このRS
TRT信号は、SBCLK信号とSTART信号とRE
FRESH信号とHHLDA信号がアサートされる時、
形成される。これは、EISAバスでのリフレッシュサ
イクルの開始部分の起動の指示である。RSTRT信号
がアサートされる時、制御は状態RIから状態RWに進
行する。制御は状態RAに進行し、その後連続PCLK
信号の立ち上がりエッジで状態RBに進行する。SBC
LKHI信号がアサートされるまで、制御は状態RBで
留まる。アサート時には、状態RCに、その後状態RI
に進行する。
【0143】MABCONモジュール436は、アドレ
ス/制御バッファ166への種々のMRAS*とMCA
S*とMALLBES*とMALEとMWE*とMSE
LCA*とMADRINC*信号を供給する。MRAS
即ちマスタRAS信号及びMRAS*信号は、JK型フ
リップフロップの出力から供給され、そのJ入力がMR
ASSC,MRASSI及びMRASSE信号の論理和
を受信し、そのK入力がMRASRC,MRASRI及
びMRASRE信号の論理和を受信する。このフリップ
フロップは、PCLK信号によってクロックされる。M
CAS*信号は、PCLK信号によってクロックされる
D型フリップフロップの反転出力として形成され、その
D入力でNMCASCとNMCASIとNMCASEの
論理和を受信する。NMSELCA信号は、MRAS信
号、SPD6O信号及びマスタサイクルが進行中でない
ことを指示する信号の論理積によって生成される。この
信号は、MRASとPCLK信号を受信するANDゲー
トの出力によってクロックされたフリップフロップのD
入力に供給される。反転出力は、MSELCA*信号で
ある。MALLBES*信号は、ライトバックが発生し
ていないことを指示する信号を選択入力として受信する
マルチプレクサの出力として供給され、このマルチプレ
クサは、第0入力としてMALLBESE及びMALL
BESI信号信号を受信するNORゲートの出力、第1
入力としてMALLBESC信号の反転信号を持ってい
る。MALE信号は、入力がNMALECとNMALE
E信号の論理積を受信し、PCLK信号によってクロッ
クされるD型フリップフロップの出力で供給される。M
ADRINC*信号は、NMADRINCC*信号を受
信して、PCLK信号によってクロックされるD型フリ
ップフロップの非反転出力で生成される。MWE*信号
は、NMWEI及びNMWEE信号の論理和をD入力で
受信して、ライトバックが施行中でない時にPCLK信
号によってクロックされるD型フリップフロップの反転
出力で生成される。
【0144】MDBCONモジュール438は、種々の
他のソースからの信号と結合することによって、データ
バッファ158に種々の選択、ラッチ及び出力イネーブ
ル信号を供給する。MDSEL<1..0>信号は、入
力がNDMSEL<1..0>信号を受信して、PCL
K信号によってクロックされる2つのD型フリップフロ
ップの出力によって供給される。NDMSEL<1>信
号はライトバックが進行中でないことを指示する信号を
受信し、一方、NDMSEL<0>信号は、NDMSE
LOC信号とBMNOWB*信号をその入力で受信する
ANDゲートの出力を受信する。MDHDLE信号は、
D入力がNDMHLEI及びNDMHLEE信号を受信
するORゲートの出力を受信し、PCLK信号でクロッ
クされたD型フリップフロップの非反転出力で形成され
る。MDPDLE信号は、その入力でNDMPLE信号
を受信し、PCLK信号でクロックされたD型フリップ
フロップの出力で供給される。MDOE*信号は、D入
力がNMDOEI及びNMDOEE信号の論理積を受信
し、入力が同期化BMNOWB及びPCLK信号である
ANDゲートでクロックされたD型フリップフロップの
非反転出力として形成される。HDOE*信号は、DH
OEIとDHOEE信号を受信するNORゲートの出力
で供給される。
【0145】MCONモジュール402の1つの他の機
能は、SNPCON即ちスヌープ制御モジュール440
である。このモジュール440は、種々のキャッシュに
よって使われるべき、ライトバックが発生していること
の指示を形成するためにスヌープストローブを供給する
ことを分担する。このモジュール440は、図54で示
されたスヌープステートマシーンを利用する。このステ
ートマシーンは、リセット時に状態SIで始まる。PE
ADS即ちプロセッサ外部アドレス信号が受信されない
時に制御は状態SIに留まる。PEADS信号はPCL
K信号でクロックされるD型フリップフロップの出力で
形成され、そのD入力がキャッシュ化できるアドレスを
指示するHNCA*信号及びSNPSTBI及びSNP
SNBE信号の論理和を受信するANDゲートの出力を
受信する。SNPSTBE信号は、SBCLK信号がア
サートされる時、状態ERWの間に生成される。NIS
ACMD信号が真であり、ISACMD信号が真でない
時に、SNPSTBI信号がアサートされる。この信号
が受信される時には、制御は状態SW1に進行し、その
後、後続のPCLK信号の立上がりエッジで状態SW2
及びSW3に進行する。プロセッサキャッシュヒットが
発生した指示がないならば、制御は状態SIへ戻る。も
しヒットが発生したならば、制御は状態SWB1に進行
する。SPADS信号が受信されるまで、制御は状態S
WB1で留まる。その後制御は、SWB2に進行する。
制御は、LMRDY信号が受信されるまでこの状態に留
まり、その時点で状態SWB3に進行し、そこから状態
SIに進行する。ステートマシーンが状態SWB1、S
WB2或はSWB3にある時、SNPWB即ちスヌープ
ライトバック進展信号が供給される。
【0146】種々の他の雑多な信号は、MCONモジュ
ール402で生成される。たとえばBMPROG即ちバ
スマスタ進展信号がBMPROGIとBMPROGE信
号の論理和によって生成される。BMPROGI信号が
ISACMD信号であり、一方BMPROGE信号は、
EISAステートマシーンが状態ECでない時、或はリ
フレッシュステートマシーンが状態R1でない時に形成
される。BMNOWB即ちバスマスタ進展及び非ライト
バック信号は、BMPROGバスマスタ進展及びSWB
PROG*即同期化ライトバック進展信号の論理積によ
って形成される。SWBPROG信号は、スヌープステ
ートマシーンが状態SWB1にある時、或いは次状態が
状態SWB2である時に供給される。
【0147】MDHDSEL<1..0>信号は、次に
述べる通り、生成されたHA<3..2>信号によって
生成される。NHALEIとNHALEE信号は論理積
されて、NHALEBM信号を形成する。NHALEE
信号は、EISAステートマシーンの次状態が状態E
I、ENW或はENであり、状態がEI或はERSであ
る時、又はもし状態がEC2であり、書込が発生し、ス
ヌープライトバックでないならばアクティブである。N
HALEI信号はISACMD信号の反転信号である。
NHALEBM信号は、順にPCLK信号によってクロ
ックされた2つのD型フリップフロップのD入力に接続
されたマルチプレクサ用の選択入力として使われる。マ
ルチプレクサの一入力は、バスマスタで駆動されるもの
としてHAバスからHA<3>及びHA<4>信号を受
信する。マルチプレクサのゼロ入力がフリップフロップ
の非反転出力を受信する。フリップフロップの非反転出
力が2つのラッチの入力にも供給される。BMLEI及
びBMLEE信号の論理和が、ラッチ用のイネーブル入
力として供給される。ISAステートマシーンが状態I
R2にある時、BMLEI信号がアサートされる。EI
SAステートマシーンが状態ERWにある時、BMLE
E信号がアサートされる。ラッチの非反転出力は、MD
HDSEL<1..0>信号でもあるBM HA<
3..2>信号である。
【0148】勿論、HCONモジュール404は、必要
な信号を展開するために多くのステートマシーンとモジ
ュールを含む。これらのモジュールの最初は、HSYN
C即ちホスト同期モジュール446である。HSYNC
ステートマシーンは、図55で示される。制御は、リセ
ット時に停滞するがFECONモジュール400からの
HCYC信号が受信されない状態HSIに進行する。H
CYC信号が受信されるやいなや、制御は、状態HSH
に進行して、NHSTRT即ち次のサイクルホスト開始
信号が真になるまで、或は位相が適切にアサートされ即
ちPCLK及びHCLK信号の立上りエッジが位置合わ
せされる時までそこに留まる。もしNHSTRT信号が
アサートされず、位相が適当であるならば、制御は状態
HSPに進行する。NHSTRT信号がアサートされ
い間、制御は状態HSPで留まる。もしHCYC信号と
同時にNHSTRT信号がアサートされて、他のサイク
ルが要求されることを示したならば、制御は状態HSH
へ戻る。NHSTRT信号がアサートされ、HCYC信
号がアサートされないならば、制御は、アイドル状態H
SIへ戻る。
【0149】NHACK即ち次のサイクルHACK信号
は、次状態が状態HSIである時に、或は現行の状態が
状態HSPで、NHSTRT信号がアサートされる時
転送間に供給される。このHACK信号は、PCLK信
号によってクロックされたD型フリップフロップの出力
で供給され、そのD入力がNHACK信号を受信する。
HREQ即ちホストサイクル要求信号は、HSH状態の
間、次状態がHSH状態である時或はHATO信号がア
サートされない時に、アサートされる。HATO信号は
必要なアドレスサイクルが完了したことを示す。
【0150】HCONモジュール404で利用された次
制御モジュールは、図56で示されたHOSTステート
マシーンを使うHOSTモジュール448である。この
モジュール448は、メモリ制御器156がバスマスタ
として動作した時に、ホストバスでの信号の制御を形成
する。制御は、リセット時に状態HTIで始まって、ホ
ストバスサイクルが要求されなかったことを示すHRE
Q信号がアサートされない間、その状態に留まる。HR
EQ信号がアサートされる時に、制御は状態HT1に進
行する。PCLK信号の次の立上がりエッジ制御はH
T2に進行する。制御は、もしHRDY信号がアサート
され、HREQ信号がアサートされて、一サイクルが完
了し、他のものが待機中であることを指示するならば、
状態HT2から状態HT1に戻る。HREQ信号がアサ
ートされ、ホスト操作が完了したことを指示するHR
DY信号がアサートされる時には、制御が状態HT2か
ら状態HTIに戻る。もしHRDY信号がアサートされ
ず、HREQ信号がアサートされず、HNA信号がアサ
ートされるならば、制御が状態HT2から状態HT2I
に進行する。これはホストバスHのパイプラインを初期
化するアイドル状態である。もしHRDY信号がアサー
トされず、HREQ信号がアサートされ、HNA信号が
アサートされるならば、制御が状態HT2から状態HT
2Pに進行する。これは、パイプラインであるが、アイ
ドル状態ではない。それで、これらHT2IとHT2P
はパイプライン状態である。他の全ての状態毎に制御は
状態HT2で留まる。
【0151】制御は、HRDY信号とHREQ信号があ
って、パイプラインと新規サイクル要求からの出口を示
した時に、状態HT2Iから状態HT1に後に進行す
る。HRDY信号が受信され、HREQ信号がアクティ
ブでない時には、制御が状態HT2Iから状態HTIに
進行する。制御はアイドル状態を始めるために、状態H
TIへ戻る。もしHRDY信号がアサートされず、HR
EQ信号がアサートされるならば、制御は状態HT2I
から状態HT2Pに進行する。他の全ケースでは制御が
状態HT2Iで留まる。HRDY信号がアサートされる
時に、制御は状態HT2Pから状態HT1Pに進行す
る。さもなければ制御は状態H2Pで留まる。制御は、
HREQ信号がアサートされて新しいサイクルが要求さ
れたことを指示し、HNA信号がアサートされて新しい
パイプラインアドレスが供給されることを指示し、それ
がホストバスでの特別のサイクルでない時に、状態HT
1Pから状態HT2Pに戻る。もしHREQ信号がアサ
ートされず、HNA信号がアサートされるならば、或い
はHREQ信号がアサートされ、HNA信号がアサート
されて、それが特別のサイクルであるならば、制御は状
態HT1Pから状態HT2Iに進行する。HNA信号が
アサートされないで、パイプラインモードを出ることを
指示したならば、制御が状態HT1Pから状態HT2に
進行する。
【0152】NHADSとして参照される信号は、次状
態がHT1或はHT2Pで操作が主メモリに対してでな
い時にアサートされる。HADS*信号は、D入力でN
HADS信号を受信し、PCLK信号によってクロック
されるD型フリップフロップの、PHASE信号中に反
転出力及びPHASE*信号中に非反転出力によってア
サートされる。NLHADS信号は、次状態がHT1或
はHT2Pで、主メモリとの転送操作である時に、アサ
ートされる。LHADS信号は、D入力でNHADS信
号を受信し、PCLK信号によってクロックされるD型
フリップフロップの、PHASE信号中に非反転出力及
びPHASE*信号中に非反転出力としてアサートされ
る。
【0153】HACON即ちホストアドレス制御モジュ
ール452はHBEとHA信号を展開するために使われ
る。HADD即ちホストアドレスステートマシーンとし
て参照されたステートマシーンが、図57で示される。
このステートマシーンは、リセット時に状態HAIから
始める。制御は、HADS信号がアサートされる時に、
状態HAlに進行して、そして他のケースにおいて状態
HAIで留まる。制御は、HATO信号がアサートされ
ない間、最後のホストアドレスサイクルが実行されなか
ったことを指示して、状態HAlで留まる。最後のサイ
クルが完了したことを指示するHATO信号がアサート
される時に、制御は状態HAlから状態HA2に進行す
る。HATO信号は、進行中にサイクルを完了するため
に、どれくらい多くの32ビットサイクルが走行(動
作)しなければならないことを指示している値がロード
されるダウンカウンタによって供給される。HADS信
号がアサートされず、HNA或はHRDY信号がアサー
トされる時には、制御が状態HA2から状態HAIに進
行する。他の場合、制御が状態HA2で留まる。NHS
TRT信号は次の状態がHAIであり、或いは現行の状
態がHAIである時にアサートされる。NHASLE信
号即ち次のホストアドレス・ラッチイネーブル信号は、
次の状態がHAIであり、NHACK信号がアサートさ
れる時、或いは次の状態がHA2であり、HADS信号
がアサートされなかった時に形成される。HALE信号
は、PCLK信号によってクロックされ、そのD入力で
NHASLE信号を受信するD型フリップフロップの非
反転出力として供給される。HALE信号は、ホストバ
スへのプロセッササイクル定義信号をラッチして、そし
てトランシーバーラッチ160でアドレスをラッチする
ために使われる。
【0154】勿論、HDCON即ちホストデータ制御モ
ジュール454はステートマシーンを利用する。この場
合、ステートマシーンは、図58で示されたHDAT即
ちホストデータ・ステートマシーンである。このステー
トマシーンは、データバッファー158が適当に操作す
ることができるように、データに関してホストバスサイ
クルを追跡する。ステートマシーンはリセット時に状態
HDIから始まって、そしてHADS信号がアサートさ
れない間、その状態に留まる。その後HADS信号がア
サートされる時、制御は状態HD1に進行する。HDT
O信号がアサートされ、HRDY信号がアサートされ、
HADS信号がアサートされないで、全データが転送さ
れて、新しいサイクルが要求されていないことを指示し
た時には、制御が状態HD1から状態HDIに戻る。H
DTO信号は、データ転送数を計数する事以外はHAT
O信号に類似している。異なるカウンタは、パイプライ
ンの為に必要である。HDTO信号がアサートされ、H
RDY信号がアサートされないで、最後の転送が完了し
てないことを指示した時に、制御は状態HD1から状態
HD2に進行する。制御は全ての他のケースにおいて状
態HD1で留まる。HRDY信号がアサートされ、HA
DS信号がアサートされて、先のサイクルが完了し、新
しいサイクルが要求されていることを指示した時には、
制御が状態HD2から状態HD1に進行する。HRDY
信号がアサートされ、HADS信号がアサートされない
で、サイクルが完了したが、新しいサイクルが要求され
てないことを指示した時に、制御は状態HD2から状態
HDIに進行する。MRDY信号がアサートされない
間、制御は状態HD2で留まる。ステートマシーンの次
状態が状態HD1である時に、HPROG即ちホストサ
イクル進展信号が供給される。HEND即ちホストサイ
クル終了信号は状態HD2で形成される。
【0155】記述されるように、HDCONモジュール
454は、勿論データバッファ158に信号を供給する
ことを分担する。結局、HDSEL<1..0>信号は
展開される。HDSEL<1>信号は、HHLDA信号
である。HDSEL<0>信号は、同調時にPCLK信
号によってクロックされ、ホストデータサイクルが進行
中であり、先の転送が完了して、キャッシュラインフル
が進行中の時、或はホストデータサイクルが進行中であ
り、先のデータ転送が数え終わり、キャッシュラインフ
ルが発生せず、プロセッサ152の下位4バイトが利用
されている時に、D入力に供給されたゼロ値を持ってい
るD型フリップフロップの出力によって展開される。こ
のD入力は、真性のHTDO信号によって指示されるよ
うにデータ開始が初期化され、ホストサイクルが進行中
であり、ホストキャッシュラインフルが発生せず、或は
上位4バイトイネーブルが用いられなかった時に、1値
を受信する。サイクルが発生せず、HRDY信号がアサ
ートされる時には、フリップフロップの反転出力がその
入力に供給される。全ての他の場合においてフリップフ
ロップの出力が、同じままである。
【0156】HDOE*信号は、MCONモジュール4
02から供給されたHDOEM*信号及びHDOEH*
として参照される信号のAND結合である。HDOEH
*信号は、PCLK信号及びPHASE信号の結合によ
ってクロックされるD型フリップフロップの出力として
供給される。もしホストサイクルが進行中であるなら
ば、入力はHDWR信号の反転信号を受信する。もしH
END信号とHRDY信号が真であるならば、同調した
次PCLKエッジでHDOEH*信号がデアサートされ
るように、1つが供給される。HDPDLE<1..
>信号は、2つのJ−Kフリップフロップの出力で供給
される。これらフリップフロップはPCLK信号によっ
てクロックされる。フリップフロップへのK入力がフリ
ップフロップの各出力を受信する。フリップフロップへ
のJ入力は、PHASE信号、HERDY信号及びHD
LWRとして参照した信号及びビット1用に上位ダブル
語が操作されるDHLO*信号或はビット0用に下位ダ
ブル語が操作されるHDLO信号の論理積結合である。
HDLWR信号は、PHASE信号とHPROG信号と
論理積されたPCLK信号によってクロックされたD型
フリップフロップの出力によって供給される。この入力
は、HDWR信号の反転信号を受信する。
【0157】HARB即ちホストバス・アービトレータ
408はステートマシーン(図59のHARBステート
マシーン)を利用する。このステートマシーンは、リセ
ットで状態Aで始まり、SHHOLD即ち同期化HHO
LD信号がアサートされるまで、状態Aに留まる。その
後制御は、状態Bに進行する。SPHLDA即ち同期化
PHLDA信号及びFEHLDA信号がアサートされる
まで、制御は状態Bで留まる。その後制御は、状態Cに
進行する。SHHOLD*信号がアサートされる時に、
制御は状態Cから状態Dに進行する。制御は全てのケー
スにおいて状態Dから状態Aに進行する。SWBREQ
信号がアサートされる時に、制御は状態Cから状態Eに
進行する。他の全ケースでは制御が状態Cで留まる。制
御は、SWBREQ*信号がアサートされる時に状態E
から状態Fに進行し、SWBREQ即ち同期化ライトバ
ック要求信号がアサートされる間、状態Eに留まる。S
PHLDA信号とFEHLDA信号がアサートされる時
に、制御は状態Fから状態Cに進行する。さもなければ
制御は状態Fで留まる。プロセッサ152に供給された
AHOLD即ちアドレスホールド信号は、NPAHOL
D信号とCAHOLD信号を受信するORゲートの出力
をその入力で受信するD型フリップフロップの出力で開
発される。次状態が状態C、状態D、状態E或は状態F
である時に、NPAHOLD信号がアサートされる。C
AHOLD信号は、L2キャッシュ154の読出アロケ
ート・キャッシュラインフルサイクル期間中にキャッシ
ュ制御器406から供給される。次状態が状態B、状態
C、状態D或は状態Fである時、NPHOLD信号がア
サートされる。PHOLD信号は、その入力でNPHO
LD信号を受信して、そしてPCLK信号によってクロ
ックされるD型フリップフロップの出力からプロセッサ
152にアサートされる。次状態が状態C、状態E或は
状態Fである時に、NHHLDA信号がアサートされ
る。HHLDA信号はその入力でNHHLDA信号を受
信するD型フリップフロップの出力によって供給され
て、そしてPCLKとPHASE信号の結合によってク
ロックされる。
【0158】図61〜78は、本発明のメモリ制御器に
従った多数の信号の操作を説明する多くのタイミング図
である。多くの場合、種々のステートマシーンの状態
は、ステートマシーンの遷移図と同等を許すために示さ
れる。図61は、60nsメモリへの64ビットプロセ
ッサ対メモリページヒット書込を示す。図62は、60
nsメモリからの64ビットプロセッサページ・ヒット
読出を示す。図63は、80nsメモリへの64ビット
プロセッサ対メモリページミス書込を示す。図64は、
60nsメモリからの64ビットプロセッサページミス
読出を示す。図65は、図64との綿密な比較のために
80nsメモリからの64ビットプロセッサページミス
読出を示す。図66は、60nsメモリからのページヒ
ットキャッシュラインフルを示す。図67は、60ns
メモリへのページミスライトバックを示す。図68は、
書込保護されたメモリへの書込を示す。図69は、ホス
ト読出に続くホストバスHからの64ビットプロセッサ
パイプライン化読出を示す。図70はホストバスHへの
非パイプライン64ビットプロセッサ書込を示す。図7
1は、まずメモリおよびホストバスHへの同時プロセッ
サ書込サイクルを示す。図72は、メモリから同時プロ
セッサ読出サイクルを示す。図73は、まずホストバス
Hおよびメモリへの同時プロセッサ書込サイクルを示
す。図74は、次サイクルのメモリ読出とパイプライン
に続き、ホストバスH書込に続くEISAバスE書込を
示すことによる共起を示す。図75は、ISAバスマス
タ書込を示す。図76がISAバスマスタ読出サイクル
を示す。図77は、EISAバスマスタ書込サイクルを
示す。図78が修正された位置へのEISAバスマスタ
読出ヒットを示す。注目されるように、メモリ制御器1
56のタイミングの実施例の見本が示されている。当該
技術者は、容易に残りの可能性を展開できる。
【0159】それ故、メモリ制御器は、システム管理モ
ードがSMIACT*信号によって指示されるようにア
クティブな時に、書込保護が無効にされるロジックを含
んでいる。この様に、SMRAMは、主メモリの書込保
護域として定義された領域に配置でき、システム管理モ
ードに入った時に、プロセッサが内部状態を記憶でき、
システム管理コードが制限なしに自由にSMRAM領域
で操作できる。これは、透明なシステム管理モード及び
通常モード操作を許容する。
【0160】この明細書において、HWP信号を無効に
するSMIACT*信号の動作は、メモリ制御器156
のメモリ関連部分に関して記載されたことが注目され
る。同様の動作が似た理由からキャッシュ制御器即ちC
CON406でも類似方法で発生することが注目され
る。その詳しい説明は簡略化のため省略する。
【0161】好ましい実施例にいてはSMRAMのみ
が書込保護されるが、他の変形例ではSMRAMが通常
操作モード操作期間中に完全に隠すことができる。これ
は、DDF164の例えばHHのヒドンビットの展開を
含む種々の方法で達成できる。WPEPBRDYステー
トマシーンは、WPEPBRDY信号を遷移し展開する
ための条件として書込動作中のHWP信号の存在と同様
に、どのメモリサイクル期間中にHH信号の存在を含
で容易に変形することができる。その後、HH信号は、
WPEPBRDYステートマシーンが動作しないよう
に、SMIACT信号によって制限される。WPEPB
RDYステートは、システム管理モードがアクティブな
時に、ヒドン書込場合において追加の項目がWPEPB
RDY信号の展開を含むように類似の変形を含む。MR
EPBRDYステートマシーンも、もしHH信号が存在
してSMIACT信号がアクティブでないならば、状態
BにおいてWREPBRDY信号を生成しないように、
変形することができる。これは、書込保護操作用の現行
のMWEPBRDY場合と類似している。最終的に、M
CYC信号生成ロジックが僅かに変形される。即ち、A
NDゲート550、552及び554は、ORゲート5
56と類似し、入力としてHH*信号及びSMIACT
信号を有するORゲートによって生成された追加の項目
を含んで、MCYC信号がヒドンされるどのサイクルで
も生成されず、システム管理モード期間中に要求されな
い。
【0162】本発明の前述の開示及び記述は、実施例及
びそれの説明であって、記述された回路及び構成及び操
作方法と同様に、サイズ、形、材料、構成要素、回路素
子、ワイヤ接続及び接点における種々の変更が本発明の
精神を逸脱しないでなされてもよい。
【図面の簡単な説明】
【図1】本発明と協働するコンピュータシステムのブロ
ック図である。
【図2】図1のシステム基板のブロック図である。
【図3】図1のI/O基板のブロック図である。
【図4】図1のプロセッサ基板のブロック図である。
【図5】図4のプロセッサ基板の部分のより詳細なブロ
ック図である。
【図6】図4のアドレス/制御バッファのブロック図で
ある。
【図7】図4のデータバッファのブロック図である。
【図8】図4のデータバッファのブロック図である。
【図9】図4のデータバッファのブロック図である。
【図10】図4のメモリ制御器の主な部分のブロック図
である。
【図11】図4のメモリ制御器中の種々のステートマシ
ーンの概略配置図である。
【図12】図4のメモリ制御器中の種々のステートマシ
ーンの概略配置図である。
【図13】図4のメモリ制御器中の種々のステートマシ
ーンの概略配置図である。
【図14】図4のメモリ制御器中のPPROGステート
マシーンの遷移図である。
【図15】図4のメモリ制御器中のPPENDステート
マシーンの遷移図である。
【図16】図4のメモリ制御器中のDPOEステートマ
シーンの遷移図である。
【図17】図4のメモリ制御器中のMPROGステート
マシーンの遷移図である。
【図18】図4のメモリ制御器中のMPENDステート
マシーンの遷移図である。
【図19】図4のメモリ制御器中のMPMLEステート
マシーンの遷移図である。
【図20】図4のメモリ制御器中のPMDRDYステー
トマシーンの遷移図である。
【図21】図4のメモリ制御器中のMWEPBRDYス
テートマシーンの遷移図である。
【図22】図4のメモリ制御器中のMREPBRDYス
テートマシーンの遷移図である。
【図23】種々のステートマシーンと共に使われた図4
のメモリ制御器の部分の概略図である。
【図24】図4のメモリ制御器中のHRDステートマシ
ーンの遷移図である。
【図25】図4のメモリ制御器中のHRDPNDステー
トマシーンの遷移図である。
【図26】図4のメモリ制御器中のHWTステートマシ
ーンの遷移図である。
【図27】図4のメモリ制御器中のHWL1PNDステ
ートマシーンの遷移図である。
【図28】図4のメモリ制御器中のHWL2PNDステ
ートマシーンの遷移図である。
【図29】図4のメモリ制御器中のHREPBRDYス
テートマシーンの遷移図である。
【図30】図4のメモリ制御器中のDPSELステート
マシーンの遷移図である。
【図31】図4のメモリ制御器中のPNAステートマシ
ーンの遷移図である。
【図32】図4のメモリ制御器中のRDPNAステート
マシーンの遷移図である。
【図33】図4のメモリ制御器中のWRPNAステート
マシーンの遷移図である。
【図34】図4のメモリ制御器中のWPEPBRDYス
テートマシーンの遷移図である。
【図35】種々のステートマシーンと共に使われた図4
のメモリ制御器のMCYCロジック部分の概略図であ
る。
【図36】種々のステートマシーンと共に使われた図4
のメモリ制御器のHCYCロジック部分の概略図であ
る。
【図37】図4のメモリ制御器中のMEMステートマシ
ーンの遷移図である。
【図38】図4のメモリ制御器中のBURSTステート
マシーンの遷移図である。
【図39】図4のメモリ制御器中のCPUMEMモジュ
ールの第1部分の概略図である。
【図40】図4のメモリ制御器中のCPUMEMモジュ
ールの第2部分の概略図である。
【図41】図4のメモリ制御器中のCPUMEMモジュ
ールの第3部分の概略図である。
【図42】図4のメモリ制御器中のCPUMEMモジュ
ールの第4部分の概略図である。
【図43】図4のメモリ制御器中のCPUMEMモジュ
ールの第5部分の概略図である。
【図44】図4のメモリ制御器中のCPUMEMモジュ
ールの第6部分の概略図である。
【図45】図4のメモリ制御器中のCPUMEMモジュ
ールの第7部分の概略図である。
【図46】図4のメモリ制御器中のCPUMEMモジュ
ールの第8部分の概略図である。
【図47】図4のメモリ制御器中のCPUMEMモジュ
ールの第9部分の概略図である。
【図48】図4のメモリ制御器中のISAステートマシ
ーンの遷移図である。
【図49】図4のメモリ制御器中のISAモジュールの
第1部分の概略図である。
【図50】図4のメモリ制御器中のISAモジュールの
第2部分の概略図である。
【図51】図4のメモリ制御器中のEISAステートマ
シーンの遷移図である。
【図52】図4のメモリ制御器中のEISAモジュール
の概略図である。
【図53】図4のメモリ制御器中のREFRESHステ
ートマシーンの遷移図である。
【図54】図4のメモリ制御器中のSNOOPステート
マシーンの遷移図である。
【図55】図4のメモリ制御器中のHSYNCステート
マシーンの遷移図である。
【図56】図4のメモリ制御器中のHOSTステートマ
シーンの遷移図である。
【図57】図4のメモリ制御器中のHADDステートマ
シーンの遷移図である。
【図58】図4のメモリ制御器中のHDATステートマ
シーンの遷移図である。
【図59】図4のメモリ制御器中のHARBステートマ
シーンの遷移図である。
【図60】図4のメモリ制御器中のHARBモジュール
の概略図である。
【図61】図4のメモリ制御器中の種々のサイクルのタ
イミング図である。
【図62】図4のメモリ制御器中の種々のサイクルのタ
イミング図である。
【図63】図4のメモリ制御器中の種々のサイクルのタ
イミング図である。
【図64】図4のメモリ制御器中の種々のサイクルのタ
イミング図である。
【図65】図4のメモリ制御器中の種々のサイクルのタ
イミング図である。
【図66】図4のメモリ制御器中の種々のサイクルのタ
イミング図である。
【図67】図4のメモリ制御器中の種々のサイクルのタ
イミング図である。
【図68】図4のメモリ制御器中の種々のサイクルのタ
イミング図である。
【図69】図4のメモリ制御器中の種々のサイクルのタ
イミング図である。
【図70】図4のメモリ制御器中の種々のサイクルのタ
イミング図である。
【図71】図4のメモリ制御器中の種々のサイクルのタ
イミング図である。
【図72】図4のメモリ制御器中の種々のサイクルのタ
イミング図である。
【図73】図4のメモリ制御器中の種々のサイクルのタ
イミング図である。
【図74】図4のメモリ制御器中の種々のサイクルのタ
イミング図である。
【図75】図4のメモリ制御器中の種々のサイクルのタ
イミング図である。
【図76】図4のメモリ制御器中の種々のサイクルのタ
イミング図である。
【図77】図4のメモリ制御器中の種々のサイクルのタ
イミング図である。
【図78】図4のメモリ制御器中の種々のサイクルのタ
イミング図である。
【符号の説明】
156 メモリ制御器 164 DDF 166 アドレス/制御バッファ 168 基本メモリ 170 追加DRAM
フロントページの続き (56)参考文献 特開 平6−95769(JP,A) 特開 平6−230979(JP,A) 特開 昭60−107156(JP,A) 欧州特許出願公開426386(EP,A) 英国特許出願公開2259166(GB,A) 日経バイト、[83](1991)日経BP 社 p.142−148 (58)調査した分野(Int.Cl.6,DB名) G06F 12/14 G06F 1/32

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】主メモリ空間の領域内で操作できるシステ
    ム管理モードを含む種々の操作モードを持つプロセッサ
    を含み、このプロセッサが主メモリ空間の前記領域のた
    めの再配置できるSMI開始アドレスを形成するコンピ
    ュータシステムの操作方法であって、 主メモリ空間の部分が書込保護されたことの書込保護
    示を形成し、 システム管理モードが活性である時を決定し、 システム管理モードが活性と決定した時に、主メモリ空
    間に書込めるように、前記書込保護指示を無効にする段
    階を備えた操作方法。
  2. 【請求項2】書込保護指示が形成されなかった時に、主
    メモリへの書込操作を実行し、操作完了信号を戻す段階
    と、 書込保護指示が形成された時に、主メモリへの書込操作
    を実行しないで前記操作完了信号のみを戻す段階とを備
    え、 前記無効にする段階は、書込保護指示が形成され、シス
    テム管理モードが活性と決定された時に、主メモリに書
    込みを行い、操作完了信号を戻すための前記書込操作を
    実行する段階を行わせ、書込保護指示が形成された時
    に、主メモリへの書込操作を実行しないで前記操作完了
    信号のみを戻す前記段階の実行を防止することを特徴と
    する請求項1に記載の方法。
  3. 【請求項3】プロセッサと、使用者からのデータを受信
    するキーボードと、このキーボードに接続されてキーボ
    ードからのデータを受信するキーボード制御器と、前記
    プロセッサの制御下でキーボード制御器から受信された
    データを記憶しディスクドライブからのデータを記憶す
    るメモリとを含み、前記プロセッサがメモリの領域で操
    作できるシステム管理モードを含む種々の操作モードを
    持ち、前記メモリの前記領域のための再配置できるSM
    I開始アドレスを形成し、各操作モードが前記メモリに
    アクセスするための同一バスサイクルを形成するコンピ
    ュータシステムであって、 メモリの部分が書込保護されたことの書込保護指示を形
    成する手段と、 システム管理モードが活性である時を決定する手段と、 システム管理モードが活性と決定した時に、メモリに書
    込めるように、前記書込保護指示を無効にする手段とを
    備えたコンピュータシステム。
  4. 【請求項4】メモリ操作の完了後に操作完了信号を用
    い、 書込保護指示が形成されなかった時に、メモリへの書込
    操作を実行し、操作完了信号を戻す手段と、 書込保護指示が形成された時に、メモリへの書込操作を
    実行しないで前記操作完了信号のみを戻す手段とを備
    え、 前記無効にする手段は、書込保護指示が形成され、シス
    テム管理モードが活性と決定された時に、メモリに書込
    みを行い、操作完了信号を戻すための前記書込操作を実
    行する手段を動作させ、書込保護指示が形成された時
    に、メモリへの書込操作を実行しないで前記操作完了信
    号のみを戻す前記手段の動作を防止することを特徴とす
    る請求項3に記載のコンピュータシステム。
  5. 【請求項5】ディスクドライブからのデータを受信し記
    憶するように結合されたメモリと、システム管理モード
    を持ち、前記メモリ内で再配置できるSMI開始アドレ
    スを持つ前記メモリの書込保護された部分を形成し、シ
    ステム管理モード及び同システム管理モード以外のモー
    ド期間中に、前記メモリへの書込操作を実行し、システ
    ム管理モードが活性であることの指示を形成し、次の操
    作を進行するために操作完了指示を受信するプロセッサ
    と、 メモリの前記部分が書込保護されたことの指示を形成す
    る手段と、 前記プロセッサ、前記メモリ及び前記書込保護指示手段
    に結合されて、前記メモリの操作を制御するメモリ制御
    器とを備え、 前記メモリ制御器は、 システム管理モードが活性である時を決定する手段と、 システム管理モードが活性と決定した時に、メモリに書
    込めるように、前記書込保護の指示を無効にする手段
    と、 書込保護指示が形成されなかった時に、メモリへの書込
    操作を実行し、操作完了信号を前記プロセッサに戻す手
    段と、 書込保護指示が形成された時に、メモリへの書込操作を
    実行しないで前記操作完了信号のみを前記プロセッサに
    戻す手段とを更に備え、 前記無効にする手段は、書込保護指示が形成され、シス
    テム管理モードが活性と決定された時に、メモリに書込
    みを行い、操作完了信号を前記プロセッサに戻すための
    前記書込操作を実行する手段を動作させ、書込保護指示
    が形成された時に、メモリへの書込操作を実行しないで
    前記操作完了信号のみを前記プロセッサに戻す前記手段
    の起動を防止することを特徴とするコンピュータシステ
    ム。
JP6075298A 1993-03-22 1994-03-22 システム管理モードの実行中に書込み保護状態を無効にするコンピュータシステムの操作方法及びコンピュータシステム Expired - Fee Related JP2849327B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/034,525 US5475829A (en) 1993-03-22 1993-03-22 Computer system which overrides write protection status during execution in system management mode
US034,525 1993-03-22

Publications (2)

Publication Number Publication Date
JPH076094A JPH076094A (ja) 1995-01-10
JP2849327B2 true JP2849327B2 (ja) 1999-01-20

Family

ID=21876960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6075298A Expired - Fee Related JP2849327B2 (ja) 1993-03-22 1994-03-22 システム管理モードの実行中に書込み保護状態を無効にするコンピュータシステムの操作方法及びコンピュータシステム

Country Status (7)

Country Link
US (2) US5475829A (ja)
EP (1) EP0617364B1 (ja)
JP (1) JP2849327B2 (ja)
AT (1) ATE202862T1 (ja)
CA (1) CA2119401C (ja)
DE (1) DE69427606T2 (ja)
IL (1) IL108889A0 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5970237A (en) * 1994-06-14 1999-10-19 Intel Corporation Device to assist software emulation of hardware functions
JP2634147B2 (ja) * 1994-09-16 1997-07-23 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステム、キャッシュヒットの判定方法
AU703750B2 (en) * 1994-10-14 1999-04-01 Compaq Computer Corporation Easily programmable memory controller which can access different speed memory devices on different cycles
US5638532A (en) * 1994-12-06 1997-06-10 Digital Equipment Corporation Apparatus and method for accessing SMRAM in a computer based upon a processor employing system management mode
US5574937A (en) * 1995-01-30 1996-11-12 Intel Corporation Method and apparatus for improving instruction tracing operations in a computer system
US5704058A (en) * 1995-04-21 1997-12-30 Derrick; John E. Cache bus snoop protocol for optimized multiprocessor computer system
US5721877A (en) * 1995-05-31 1998-02-24 Ast Research, Inc. Method and apparatus for limiting access to nonvolatile memory device
US5913225A (en) * 1995-06-08 1999-06-15 International Business Machines Corporation Cache flush mechanism for a secondary cache memory
US5745914A (en) * 1996-02-09 1998-04-28 International Business Machines Corporation Technique for converting system signals from one address configuration to a different address configuration
US5926827A (en) * 1996-02-09 1999-07-20 International Business Machines Corp. High density SIMM or DIMM with RAS address re-mapping
US5784625A (en) * 1996-03-19 1998-07-21 Vlsi Technology, Inc. Method and apparatus for effecting a soft reset in a processor device without requiring a dedicated external pin
US5761736A (en) * 1996-05-16 1998-06-02 Advanced Micro Devices, Inc. Apparatus and method for implementing multiple scaled states in a state machine
US5909696A (en) * 1996-06-04 1999-06-01 Intel Corporation Method and apparatus for caching system management mode information with other information
US5729760A (en) * 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
JPH10143431A (ja) * 1996-10-29 1998-05-29 Texas Instr Inc <Ti> マイクロプロセッサおよびコンピュータシステムにおけるデータのキャッシング方法
EP2105841A1 (en) * 1997-10-10 2009-09-30 Rambus Inc. Apparatus and method for pipelined memory operations with write mask
EP1327991A3 (en) * 1997-10-10 2005-05-11 Rambus Inc. Apparatus and method for pipelined memory operations
US6145048A (en) * 1998-09-17 2000-11-07 Micron Technology, Inc. Method of processing system management interrupt requests
US6212592B1 (en) 1998-09-17 2001-04-03 Micron Technology, Inc. Computer system for processing system management interrupt requests
US7149854B2 (en) * 2001-05-10 2006-12-12 Advanced Micro Devices, Inc. External locking mechanism for personal computer memory locations
US7134006B2 (en) * 2003-06-03 2006-11-07 Gateway Inc. Method and system for changing software access level within or outside a host protected area
US7681046B1 (en) 2003-09-26 2010-03-16 Andrew Morgan System with secure cryptographic capabilities using a hardware specific digital secret
US7694151B1 (en) * 2003-11-20 2010-04-06 Johnson Richard C Architecture, system, and method for operating on encrypted and/or hidden information
US20050188064A1 (en) * 2004-02-24 2005-08-25 Ioannis Schoinas Using a configuration mode for partition management in server platforms
US7496727B1 (en) * 2005-12-06 2009-02-24 Transmeta Corporation Secure memory access system and method
US8683158B2 (en) * 2005-12-30 2014-03-25 Intel Corporation Steering system management code region accesses
US8661265B1 (en) 2006-06-29 2014-02-25 David Dunn Processor modifications to increase computer system security
US7925815B1 (en) * 2006-06-29 2011-04-12 David Dunn Modifications to increase computer system security
WO2008097710A2 (en) * 2007-02-02 2008-08-14 Tarari, Inc. Systems and methods for processing access control lists (acls) in network switches using regular expression matching logic
JP5977209B2 (ja) * 2013-07-18 2016-08-24 日本電信電話株式会社 ステートマシン回路

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2259166A (en) 1991-08-30 1993-03-03 Intel Corp Transparent system interrupts with automatic input/output trap restart

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4472790A (en) * 1982-02-05 1984-09-18 International Business Machines Corporation Storage fetch protect override controls
US4489380A (en) * 1982-04-01 1984-12-18 Honeywell Information Systems Inc. Write protected memory
JPS5958700A (ja) * 1982-09-29 1984-04-04 Fujitsu Ltd 記憶保護判定方式
US4665506A (en) * 1983-01-03 1987-05-12 Texas Instruments Incorporated Memory system with write protection
JPS60107156A (ja) * 1983-11-16 1985-06-12 Hitachi Ltd デ−タ処理システム
US4734851A (en) * 1985-04-17 1988-03-29 Dennis Director Write protect control circuit for computer hard disc systems
US5249285A (en) * 1988-08-01 1993-09-28 Stenograph Corporation RAM lock device and method for a text entry system
CA2028551A1 (en) * 1989-11-03 1991-05-04 John S. Thayer Data destination facility
US5228039A (en) * 1990-05-09 1993-07-13 Applied Microsystems Corporation Source-level in-circuit software code debugging instrument
US5325499A (en) * 1990-09-28 1994-06-28 Tandon Corporation Computer system including a write protection circuit for preventing illegal write operations and a write poster with improved memory
US5163096A (en) * 1991-06-06 1992-11-10 International Business Machines Corporation Storage protection utilizing public storage key control

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2259166A (en) 1991-08-30 1993-03-03 Intel Corp Transparent system interrupts with automatic input/output trap restart

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
日経バイト、[83](1991)日経BP社 p.142−148

Also Published As

Publication number Publication date
DE69427606T2 (de) 2001-11-08
ATE202862T1 (de) 2001-07-15
CA2119401C (en) 1998-09-15
DE69427606D1 (de) 2001-08-09
JPH076094A (ja) 1995-01-10
US5475829A (en) 1995-12-12
US5596741A (en) 1997-01-21
EP0617364A2 (en) 1994-09-28
IL108889A0 (en) 1994-06-24
EP0617364B1 (en) 2001-07-04
CA2119401A1 (en) 1994-09-23
EP0617364A3 (en) 1995-10-11

Similar Documents

Publication Publication Date Title
JP2849327B2 (ja) システム管理モードの実行中に書込み保護状態を無効にするコンピュータシステムの操作方法及びコンピュータシステム
JP2597954B2 (ja) フルパイプライン共起メモリ制御器
CA2118662C (en) Memory controller having all dram address and control signals provided synchronously from a single device
US5890200A (en) Method and apparatus for maintaining cache coherency in a computer system with a highly pipelined bus and multiple conflicting snoop requests
US5488709A (en) Cache including decoupling register circuits
US5715428A (en) Apparatus for maintaining multilevel cache hierarchy coherency in a multiprocessor computer system
JP3218317B2 (ja) 集積キャッシュユニットおよびその構成方法
JP3158161B2 (ja) 集積キャッシュユニットおよび集積キャッシュユニットにおいてインターロック変数をキャッシュする方法
US6115791A (en) Hierarchical cache system flushing scheme based on monitoring and decoding processor bus cycles for flush/clear sequence control
US6202125B1 (en) Processor-cache protocol using simple commands to implement a range of cache configurations
US5732241A (en) Random access cache memory controller and system
US20030005237A1 (en) Symmetric multiprocessor coherence mechanism
JPH02190930A (ja) ソフトウエア命令実行装置
US7620954B2 (en) Mechanism for handling load lock/store conditional primitives in directory-based distributed shared memory multiprocessors
JPH08227377A (ja) 異なったサイクルで異なる速度のメモリデバイスにアクセスできるメモリ制御器
JP3218316B2 (ja) 集積キャッシュユニットおよびその内部でキャッシュ機能を実現するための方法
US5860113A (en) System for using a dirty bit with a cache memory
JPH0574103B2 (ja)
US5781925A (en) Method of preventing cache corruption during microprocessor pipelined burst operations
US8112590B2 (en) Methods and apparatus for reducing command processing latency while maintaining coherence
WO1992000590A1 (en) Random access cache memory
JPH10501085A (ja) 二次キャッシュ・メモリ用のキャッシュ・フラッシュ機構
JPH04211880A (ja) ワンチップ・マイクロプロセッサ及びそのバスシステム
Garcia et al. Single chip PCI bridge and memory controller for PowerPC microprocessors
JP2000227877A (ja) 待ち時間を低減した非同期入出力キャッシュ

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees