JPH01163852A - データ処理システム内のサブシステムおよびその動作方法 - Google Patents

データ処理システム内のサブシステムおよびその動作方法

Info

Publication number
JPH01163852A
JPH01163852A JP63248927A JP24892788A JPH01163852A JP H01163852 A JPH01163852 A JP H01163852A JP 63248927 A JP63248927 A JP 63248927A JP 24892788 A JP24892788 A JP 24892788A JP H01163852 A JPH01163852 A JP H01163852A
Authority
JP
Japan
Prior art keywords
memory
data
buffer
processor
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP63248927A
Other languages
English (en)
Inventor
Jack Benkual
ジャック・ベンキュアル
Shmuel Shottan
シュメル・ショータン
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.)
COMPUTER CONSOLES Inc
Original Assignee
COMPUTER CONSOLES Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by COMPUTER CONSOLES Inc filed Critical COMPUTER CONSOLES Inc
Publication of JPH01163852A publication Critical patent/JPH01163852A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 一般に、この発明はデータ処理システムに関するもので
あり、特に、この発明はデータ処理システムにおいて使
用するためのサブシステムおよび方法に関するものであ
って、このデータ処理システムは命令プロセッサとメモ
リとを備え、その命令プロセッサがメモリへの連続アク
セスを開始し得る時間よりも実質的に長い待ち時間をメ
モリが有するように、メモリが多数のアドレス可能メモ
リ場所をHする。
コンピュータアーキテクチュアを確立する際に提示され
る重要な点は、典型的には、一般に競合する目標を扱う
ことに関連する。たとえば、アドレス可能メモリにおい
て増加されたメモリ容量を提供して、命令プロセッサに
より使用されるようにより多量のプログラムとより多く
のデータを保持することが大いに望ましい。別の目標は
、命令とデータが命令プロセッサにより実行されるよう
に提供され得る速度を増すことである。
ここ何年かにわたって、より高速の、より大きい容量の
メモリを実現するためのテロノロジーにおいて、さらに
また、より高速の、より強力な命令プロセッサを実現す
ることにおいてかなりの改良があった。
集積回路テクノロジーをメモリチップの製造に応用した
結果、当該技術の状態は、アドレス可能メモリにおいて
多数メガバイトのメモリ容量を提供することを実用化し
ている。その上、チクロッジ−の進歩が、命令プロセッ
サに関して達成することを実用的にする能力と速度を増
加させた。
そのような増加された能力に関して、このことは主に、
ビットスライスアプローチに基づいたプロセッサの場合
におけるように、命令プロセッサチップ内で、または1
組のチップの各々において可能である高実装密度のため
に可能にされている。
特定的には、集積回路製造技術における当該技術の状態
は、およそ450ミルX450ミルの大きさの1個のチ
ップ内に500,000個を超えるデバイスを組入れる
ことが現実的であるようなものである。このことは今や
、1.2ミクロンのCMOS(相補形金属酸化物半導体
)技術が利用できるために実用的である。チップ上のそ
のような多数のデバイスにより、命令プロセッサは非常
にわずかな基本クロックサイクルで非常に復雑な動作を
実行し得て、実際、多くの強力な命令の各々は、1個の
基本クロックサイクルにより規定される時間内で命令プ
ロセッサにより実行され得る。
命令プロセッサが動作し1ワる増加された速度に関して
、当該技術の集積回路テクノロジーを利用して、命令プ
ロセッサ内で動作を順序づけるのに非常に速い基本クロ
ック速度を採用することが実際的であり、特に、当該技
術のCMOS(相補形金属酸化物半導体)テクノロジー
を利用して、約18ナノ秒もの短いクロックサイクルを
lJj%するように50メガヘルツを超過する速度を採
用することが実際的である。
大容量アドレス可能メモリが動作し得る速度がまた何年
かにわたって増加されており、それは、1チツプあたり
100万ビツト記憶セルを有する、市場で入手可能なメ
モリチップがおよそ120ナノ秒以内に読出しまたは書
込みするようにアクセスされ得る点に達している。12
0ナノ秒アクセス時間と18ナノ秒処理時間の間の大き
な比は、より重要な要因ではあるが、メモリサイクル時
間とプロセッサ実行時間の間の比を決定する際に関連す
る唯一の要因ではない。他の要因は、バス構造を介して
データ通信を行なう際に関係する「ハンドシエイキング
」と呼ばれる事項を含んでおり、それらは、メモリへの
アクセスに対する競合を解決する際の“仲裁“問題をさ
らに含んでいる。種々の要因の組合わされた効果は、プ
ロセッサ−メモリデータ伝達サイクルが典型的には、命
令プロセッサの約12基本クロックサイクルの近隣の値
を消費することである。
この比が高いので、成る状況においては、メモリアクセ
スに付随して実質的なペナルティが課される。そのよう
な状況は次のようなものである。
すなわち、一連の命令のうちの1つに付随して、その命
令が完了され得る前に、または次の命令の実行を開始し
得る前に、そのようなメモリアクセスが完了されなけれ
ばならない。
この高い比の基礎となる主な要因の原因の1つは、大容
量メモリに対するアドレスデコード構造が、信号が伝搬
してゆかなければならない数多くのレベルを有している
ことにある。一般に、アドレス可能メモリ場所の数を2
倍にする毎に、アドレスデコード構造の付加的レベルの
必要と待ち時間の付随する増加を生じる。この高い比は
そのような構造特徴のせいであるため、メモリと命令プ
ロセッサの両方で利用可能なデバイスの動作の速度が製
造テクノロジーにより改善されても、この比は高いまま
である。
コンピュータアーキテクチュアの分野における重要な開
発の1つは、全システムスルーブツトへのこの高い比の
悪影響を最小限にすることに向けられている。特に、こ
の開発は命令プロセッサ用キャッシュメモリである。キ
ャッシュメモリは命令またはデータ、あるいはその両方
をストアするための特別な種類のバッファメモリであっ
て、主メモリと比べると、それは比較的小さい8量を有
し、付随する比較的高い速度を有する。プログラムがル
ープなどを規定するように編成される方法を含む種々の
理由のために、ロードおよびストア命令の、統計的に高
いパーセンテージの命令取出しと実行の両方が、最近参
照されたメモリ場所を参照する。この点はしばしば、「
参照の局所性」と呼ばれる。
キャッシュメモリは、そのような参照の局所性の利用を
ばえている。その基本概念は、高速アクセスの比較的小
さいバッファメモリをロードするように手配して、非常
にしばしば命令またはデータ項目がその中に見出され得
て、主メモリにアクセスすることを不要にするようにす
ることである。
成る構造は、キャッシュメモリを主メモリと区別する。
この区別する構造は、とりわけ、連想アドレス指定のた
めに使用されるアドレス指定構造に関係する。キャッシ
ュメモリにおける各場所は、命令またはデータのような
情報をストアするためのメモリセルと、タグをストアす
るための他のメモリセルとを有する。そのようなストア
されたタグは、連想アドレス指定構造に組入れられる比
較器回路により使用される。特に、メモリアドレスがプ
ログラムカウンタかまたはアドレスレジスタによりキャ
ッシュメモリに供給される場合、比較器回路は、メモリ
アドレスの一部と1つまたはそれ以上のストアされたタ
グを比較する。ストアされたタグがその部分と同じ値を
Hしている場合、キャツシュヒツトが存在し、その意味
するところは、所望の情報がキャッシュメモリに存して
おり、それにより主メモリアクセスのペナルティが課さ
れる必要がない、という′ことである。そうでない場合
には、キャッシュミスが存在する。
キャッシュミスの場合には、命令プロセッサは主メモリ
読出しを始めて、情報を得る。情報が洪給されると、そ
れはキャッシュメモリにストアされて、それよりも古く
にアクセスされた情報に取って代わる。この動作は一般
に、プロセッサが供給された情報のその最初の使用を行
なう間に実行され得る。
データをストアするために使用されるキャッシュメモリ
の場合、2つの異なる基本戦略があり、その一方は置換
を処理する問題に重大な影響を及ぼす。この戦略は、“
ライトバック(writeback)’と呼ばれる。他
方の戦略は置換処理には重大な影響を及ぼさず、″ライ
トスルー(write  through)’と呼ばれ
る。
ライトスルー戦略に従えlf、命令プロセッサがストア
命令を実行するときはいつでも、それは主メモリへの書
込みを始めるようにコマンドを出すが、それはアドレス
およびデータを供給することを必要とする。キャッシュ
場所が偶然に、アドレスされたメモリ場所にデータのコ
ピーをストアしている場合でさえも、そのとおりである
。この戦略の一特徴は、メモリ中のデータが新しいまま
であるか、または正確に保たれていることである。この
戦略は成る不利な点を有する。バックツーバックに連続
する(back−to−back)か、または主メモリ
が遅れをとり得ないような近接した状態で、一連のメモ
リアクセス命令が実行される場合に、そのような正大な
不利な点が現われる。
そのような状況において、命令プロセッサのスループッ
トは悪影響を及ぼされる。
ライトバック戦略に従えば、結果的にキャツシュヒツト
を生じさせるメモリ場所を参照して命令プロセッサがス
トア命令を実行するときはいつでも、そのキャッシュ場
所におけるデータは、遅れをとらないようにメモリへの
書込みを同時に始めることなしに、新たなデータでオー
バーライドされる。そのようなライトバックキャッシュ
への書込みの場合に、ダーティ・ビット(dirtyb
it)がセットされる。これが行なわれて、キャッシュ
場所にストアされたデータがもはや関連メモリ場所の内
容と同一でないことを示す。
さらにライトバック戦略に従えば、汚れている(d i
 r t y)と印されたキャッシュ場所のデータが、
キャッシュ置換動作の途中でメモリにライトバックされ
る。ライトバック戦略は、バックツーバックのメモリア
クセスがライトスルー戦略で引き起こす問題を除去する
ことが久しく認められてきたが、ライトバック戦略に関
連するキャッシュ置換動作が特別な複雑にする問題を提
示することも久しく認められている。
ライトバック戦略をサポートして置換動作を処理するた
めの構造と方法を提供するための公知の技術に従えば、
2段階プロセスが連続的に実施される。第1段階では、
汚れたエントリがメモリに書込まれる。第1段階が完了
された後で、第2段階が始まる。Ti2段階においては
、置換エントリがメモリから読出されて、キャッシュ場
所へとロードされる。そのようなキャッシュ置換動作へ
のペナルティは厳重である。この点で、動作をトリガす
る事象は、命令プロセッサが命令を実行するのに必要と
するデータに対するキャッシュミスである。しかしなが
ら、その必要とされるデータが命令プロセッサに利用で
きるようにされる前に、累積する待ち時間のために比較
的長い時間が経過する。特に、最初の段階における書込
動作に関してメモリの待ち時間があり、この時間を通し
て、命令プロセッサはそれが必要とするデータを待って
いる。次に、この段階が完了された後でのみ、命令プロ
セッサはメモリ読出しを始め得る。次に、命令プロセッ
サは、最終的には、読出動作に関するメモリの待ち時間
の後で、必要なデータが利用可能となるまで、待ち続け
る。
上で説明された事柄は、データ処理システムが改良され
たサブシステムを組入れて、キャッシュメモリが設けら
れる場合でさえ主メモリ待ち時間がプロセッサスルーブ
ツトに及ぼし得る悪影響を減じるための方法を実行する
必要があることの証明となる要因を表わしている。
発明の概要 この発明は、命令プロセッサと、比較的多数のアドレス
可能メモリ場所を有する主メモリとを備え、命令プロセ
ッサがメモリへの連続アクセスを開始し得る時間よりも
実質的に長い待ち時間を主メモリが有するような、デー
タ処理システムのサブシステムの編成および動作への新
規で有利なアプローチに基づいている。
この発明は、そのようなサブシステムに組入れられる要
素の組合わせに存するとみなされ得るか、その代わりに
、成る方法に存するとみなされ得る。
データ処理システムのそのようなサブシステムに関して
この発明を規定することに関しては、サブシステムは比
較的少数のバッファ場所を有するバッファメモリ手段を
含み、主メモリから読出されるデータは最初は主メモリ
にストアされたデータの複製としてそれらのバッファ場
所ヘスドアされ、その後に、修正されて汚れていると印
される。
サブシステムは、多重バッファ手段を含む連続動作手段
をさらに含み、汚いと印されたデータを主メモリから読
出された他のデータと置換して、その後で、汚いと印さ
れたデータが主メモリに書込まれるようにする。
成る好ましい特徴に従えば、多重バッファ手段は、バス
を介して命令プロセッサと通信するように接1/2され
、かつ、プロセッサ−メモリ間をバッファする一手段と
、メモリ−プロセッサ間をバッファする一手段と、アド
レスラッチング手段とを含む。連続動作手段は複数の連
続的に入る状態を有する。連続的に入る状態のうちの1
つでは、連続動作手段がバスから主メモリの読出しを開
始する際に使用するためラッチング手段へとアドレスを
伝達する。置換データを得るためのそのような読出しに
関与する待ち時間の間、連続動作手段は別な状態へ進み
、バスからプロセッサ−メモリ間バッファ手段へとデー
タを伝達するよう準備する。その後、連続動作手段が別
な状態に入り、主メモリから慕出された置換データをメ
モリ−プロセッサ間バッファ手段へと伝達するよう準備
する。
置換データがメモリ−プロセッサ間バッファ手段へと伝
達された後で、連続動作手段が別な状態に入り、プロセ
ッサ−メモリ間バッファ手段にストアされたデータを主
メモリに書込む準備をする。
好ましい実施例においては、非常に有利なバス−バンド
幅:I!J!!機構が複数個のバススイッチチップの並
列配置により達成されるが、これらバススイッチチップ
の各々はバヅファ手段のスライスを規定する。各バスス
イッチチップは、バスの第1の予め定められた数の導体
に連結して命令プロセッサと通信するための手段を有し
、さらに、メモリバスの第2のより多数の導体に連結す
るための手段を有する。後で詳#11に説明される好ま
しい実施例の場合は、並列に動作する6個のバススイッ
チチップがある。各バススイッチチップ内では、プロセ
ッサ−メモリ間バッファ手段は8バツフアラインの深さ
である。同様に、メモリ−プロセッサ間バッファ手段は
8バツフアラインの深さである。メモリへのデータ伝達
は、“ニブルモード”と呼ばれる公知の有利なf1f徴
を活用する、2つの連続する伝達に関係する。ニブルモ
ードが適用できる特殊な状況においては、通常の待ち時
間より実質的に短く、典型的にはそのオ)ずか2分の1
の時間が2つの連続するメモリアクセスの第2のものに
より費やされる。1対のニブルモードアクセスの各アク
セスの結果、プロセッサ伝達に関与する並列データの4
倍の幅の連結グループをロードする。こうして、1秒あ
たりのメガバイトで表わされるメモリバスバンド幅は、
プロセッサバスバンド幅に近接して符合する。120ナ
ノ秒RAMチップを′用いて256ビツトの連結グルー
プを規定すると、およそ55.5メガヘルツの基本クロ
ック速度で動作する命令プロセッサは、400ナノ秒経
たないうちに512ビツトのデータを読出し得る。これ
は、1秒あたり160メガバイトのビークデータ伝達速
度を構成する。
成る方法に関してこの発明を規定することに関しては、
この発明は、キャッシュメモリが設けられてキャッシュ
場所にデータをストアするデータ処理システムを動作す
る方法を提供するが、それらのキャッシュ場所の各々は
待ち時間を有する多数の主メモリ場所と関連する。この
方法は、データをキャッシュメモリ場所に書込むことと
、そうする途中でそのキャッシュメモリ場所に対しダー
ティ・ビットをセットすることとを含む。その方法のこ
の段は、その方法の新規で有利な連続して実施される段
の段階を設定する。この連続動作列は、そのキャッシュ
メモリ場所でのキャッシュメモリミスによりトリガされ
、かつ1、アドレスされたメモリ場所からのデータの読
出しを始めることを含む。待ち時間の間、その連続動作
列が進行して、そのキャッシュ場所からプロセッサ−メ
モリ間バッファへとデータを伝達する。その連続動作列
は、アドレスされたメモリ場所から読出されたデータを
メモリ−プロセッサ間バッファを介してそのキャッシュ
場所へと伝達することをさらに含む。この連続動作列に
おける別な段は、別なメモリ場所への書込みを実施して
、そこにプロセッサ−メモリ間バッファからのデータを
ストアすることである。
上で要約されるこの発明の特徴に加えて、この発明は、
好ましい実施例と関連して下で説明される数多くの他の
新規で有利な特徴を提供する。これらの数多くの新規で
有利な特徴は、前掲の特許請求の範囲の説明に含まれて
いる。
詳細な説明 この詳細な説明は、この発明の現在好ましい実施例の構
成および動作を説明しており、さらに、中央処理ユニッ
ト(CPU)が組入れられることが好ましいより大型の
データ処理システムの一部を形成する、全中央処理ユニ
ットの成る特徴を説明している。CPUにおける命令プ
ロセッサの成る特定の特徴は、この発明の好ましい実施
例のこの説明に関連しており、したがって、それらの特
定の特徴が論じられる。この発明の原理は次のようなも
のである。すなわち、この発明は種々の他の特定の命令
プロセッサのいずれかを含むデータ処理システムに適用
可能であり、かつ、下で述べられる詳細な事柄の多くは
この説明に含まれて、具体例の状況内でこれらの原理の
説!す1を容品にする。
好ましい実施例は、第1図の略図に示されるように配置
にされることが好ましいCPUにおける要素の組合わせ
に存する。CPUには、活性動作状態にある単一チツブ
命令、プロセッサ101があり、さらに、非活性状態に
あり、かつ冗長性9ためにのみ設けられる別な命令プロ
セッサ101Rがあることが適当である。オプションと
して、CPUはまた算術演算用プロセッサ103とその
ような冗長プロセッサ103Rとを含み得て、それらの
うちのいずれも、活性状態の命令プロセッサの制御下で
浮動小数点演算のような算術演算を実施するためのコプ
ロセッサとして機能し得る。
多数のメモリチップは8メモリアレイに編成されて主メ
モリ105を規定し、さらに、種々の集積回路の配置が
メモリ制御107として一括して示されている。メモリ
制御107の一般的機能は、命令プロセッサ101によ
りそこに出されるコマンドをデコードして、主メモリ1
05を制御するように適当な態様で種々のタイミング信
号および制御信号を生成することである。それらのコマ
ンドは、読出しおよび書込みのような桂々の動作の選択
に関連する。タイミングおよび制御信号は、典型的には
RASおよびCASと呼ばれる、行および列アドレス指
定のための信号と、典型的にはWEと呼ばれる、書込み
を可能化するための信号とを含む。メモリ制御107の
実現はこの発明の好ましい実施例のこの説明には本質的
に関連せず、さらに、先行技術は、適当な集積回路を編
成して主メモリ105用のメモリ制御配置を実現するた
めの原理を教示している。
1組の6バススイツチチツプBSOないしBS5がビッ
トスライス編成に従えば並列に配置されて、BS 10
9を規定する。好ましい実施例の重要な要素がB510
9に含まれており、さらに、ビットスライス編成された
チップの組におけるこれらの要素の組入れはかなりの利
点を有する。この発明のこれらの要素と、この好ましい
実施例におけるように、ビットスライス編成されたチッ
プの組にそれらを組入れることから起こる利点とが、下
でより詳細に説明される。
また第1図に示されるように、すべての上で説明された
チップは相互接続されている。この点で、プロセッサバ
ス111、I10バス113、メモリアドレスバス11
5、およびメモリデータバス117が存在する。B51
09は、各々がそれぞれのバスに接続するための4個の
ボートを規定する。このBSは、この発明とは無関係な
理由で、I10バス113に接続される。
この発明の原理によれば、その要素のうちの1個は命令
プロセッサに組入れられ、さらに、重要な利点がこの要
素を単一チップ命令プロセッサに組入れることから起こ
る。
第2図を参照すると、この発明の好ましい特徴に従って
、すなわち、単一チップ命令プロセッサ内でオンチップ
キャッシュとしてバッファメモリ手段を実装することに
より、命令プロセッサ101内に規定されるキャッシュ
メモリがここに説明される。
このキャッシュメモリは、第2図においてはIDC20
1と1「11定される。“IDC”は命令データキャッ
シュ(Instruction  Data  Cac
he)の略成語であり、さらに、この語はIDC201
が命令とデータの両方をストアするので使用される。第
2図に示されるように、IDC201は列203を含む
多数列のセルを含み、そこでは各セルはダーティ・ビッ
トのストア機能を備えている。列203は、ライトバッ
ク戦略を実現するという目的のサポートのため特に設け
られている。第2図に列205として識別される別な列
においては、各セルは、それがライトバック戦略に従っ
て使用されるかどうかとは無関係にキャッシュに通例で
あるように、有効ビットのストア機能を備えている。I
DC201の行に関する次の説明の後で、他の列が下で
説明される。
それらの行に関して、128行の各々が別々のキャッシ
ュ場所を規定する。IDC201における128のキャ
ッシュ場所は、5etOおよび5etlとして第2図に
識別される2個のセットへとグループ分けされる。こい
換えると、1Dc201は、その128の場所が64ア
ドレス可能2セツトブロツクへとグループ分けされる状
態で、2セツト連想キヤツシユとして編成される。その
ような2セツトブロツクあたりのセルはLU(最後に使
用された(Last  Used))ビットをストアす
る。
IDC201における各キャッシュ場所は、データのブ
ロックかまたは8命令のグループを二者択一的にストア
することを与えている。命令プロセッサ101の命令レ
パートリにおける各命令は、64ビツト命令フオーマツ
トを有し、したがって、そのような8命令のグループは
512ビツトを伴う。IDC201は、そのような51
2ビツト幅グループに対応する512列を何する。
各命令は、32ビツト制御ワ一ド部分と32ビツトリテ
ラル部分を含む。制御ワード部分は、多(の異なる動作
を特定するために使用される。リテラル部分は、リテラ
ルデータ、絶対アドレス指定、および分岐のための絶対
アドレス用に使用される。さらに下で説明されるように
、命令プロセッサ101では仮想アドレス指定戦略が採
用される。
データのブロックは、同様に512ビツトを伴う、デー
タのブロックの512ビツトは多数のグループを規定す
る。バイトによりグループ分けすると、512ビツトは
64バイトを規定する。他のグループ分けは、16ビツ
トワード、32ビツトロングワード、および64ビツト
カツドワードによる。
カッドワードグループ分けは、プロセッサバス111 
(第1図)の幅と同一の広がりを持つ。プロセッサバス
111の32ビツト幅部分は、32ビツトアドレスかま
たは32ビツトロングワードのいずれかを送るために多
重化される。この部分は、ここではプロセッサアドレス
バスXAと呼ばれる。プロセッサバス111の他の32
ビツト幅部分、は、ここではプロセッサデータバスXD
と呼ばれる。プロセッサアドレスバスXAがデータを伝
達するために使用される場合、それはプロセッサデータ
バスXDと並列に協働して、データはカッドワード単位
で、すなわち、−度に64ビツトずつ直列的に伝達され
る。
命令プロセッサ101には、共通バスをIDC210と
共有する他のキャッシュメモリがある。
この共通バスは、ここでは統合キャッシュバス(Uni
fied   Cache   Bus(UCB))と
呼ばれる。キャッシュメモリ210はUCBボートを有
し、このボートによりキャッシュメモリ210はUCB
に接続される。UCBポートのUCBへの接続に関して
、それは、1グループあたり32接続を有する16のグ
ループへと論理的に分割される512の接続を含む。プ
ロセッサデータバスXDとIDC201の列のそれぞれ
に指標づけされたセットの間でロングワードを伝達する
際には、−度にこれらのグループのうちの1個が用いら
れる。それらのデータグループが、ここではUCD<O
>ないしUCD<15>と呼ばれる。
ラッチ仮想アドレス(LVA207)レジスタは、記憶
場所を参照するために使用される32ビツトアドレスを
ストアするためのセルを含んでいる。命令プロセッサ1
01内とそれが実行する成る命令の中で、成る記憶場所
の各々が、物理アドレスへと変換される仮想アドレスに
より参照される。仮想アドレスを物理アドレスに変換す
るためにベージテーブルおよびページテーブルエントリ
を利用するための技術が公知であるが、そのような事柄
は好ましい実施例のこの説明とは無関係である。
主メモリ105におけるメモリ場所を参照することに加
えて、IDC201におけるキャッシュメモリ場所をア
クセスする際に仮想アドレスが使用される。仮想アドレ
スは複数のフィールドに分割される。1個のそのような
フィールドは20個ノ上位ヒツト、VA [31:12
]を含み、かつ、タグフィールドと呼ばれる。この20
ビツトタグフイールドは、22° DI、000.00
0)個の値のうちどれかを有し得る。別なフィールド、
VA[11:6]は、ブロックフィールドと呼ばれる。
この6ビツトフイールドは、64個の値のうちどれかを
有し得る。別なフィールド、VA[5: 2]はエント
リフィールドと呼ばれる。この4ビツトフイールドは、
16個の値のうちいずれかを有し得る。
キャッシュ探索動作の途中で、64個の識別可能な2セ
ツトブロツクのうち1個を選択するためにブロックフィ
ールドが使用される。2個のキャッシュ場所のうち一方
を示すLUビットを基礎として、キャッシュ場所のレベ
ルに対するさらなる選択がなされる。各選択されたキャ
ッシュ場所は、動作におけるいずれの点でも、多くの異
なるメモリ場所のうちのいずれかと関連し得る。たとえ
ば、2セツトブロツク0の5etOにおけるキャッシュ
場所においては、一連の仮想アドレスのいずれかと連関
し得るセルのバイト幅グループ(1個の場所につき64
個のそのようなグループ)のうちの1個であり、それら
は10進で、0.4096.8196などと表わされる
。そのような1連続列においては22°個の仮想アドレ
ス(32ビツトにより与えられる4ギガバイトアドレス
空間内で)がある。ストアされたタグ情報は、22°個
の可能なマツピングのうちどれが現(IE関連している
かを示す。仮想アドレスのタグフィールドがストアされ
たタグフィールドに等しい場合、キャツシュヒツトがあ
る。2セット連想編成のため、キャッシュミスが起こっ
たことを決定する前に、2回のタグフィールド探索動作
が連続的に実施される。
そのようなキャッシュミス時に、比較器209がUCミ
ス信号を立ち上げる。有効ビットが偽であれば、このこ
とは、アクセスされたキャッシュ場所が有効データを含
んでいないことを示しており、したがって、有効ビット
が偽であるときはいつでも、比較器209がUCミス信
号を立ち上げる。有効ビットが真であり、ダーティビッ
トが真であり、さらにタグが符合しない場合、キャッシ
ュ置換動作が必要である。命令プロセッサにおける、第
2図でDSTCNTL211と識別される回路配置が、
ダーティビット信号およびUCミス信号を含む多数の信
号を受f5する。命令プロセッサ101においては、D
STCNTLは、この技術分野ではプロセッサタイミン
グおよび制御ユニットと一般に呼ばれる回路により実施
される機能を実現するために使用される、プログラム可
能論理アレイである。DSTCNTLのこの実現は好ま
しい実施例のこの説明とは無関係であり、先行技術が、
プロセッサタイミングおよび制御ユニットの機能を実施
するように、適当な回路を編成してDSTCNTLを実
現するための原理を教示している。同様に、命令プロセ
ッサ内に多(の付加的なレジスタおよびラッチがあるが
、それらはこの発明の好ましい実施例のこの説明とは無
関係なので、第2図には特に示されていない。
第3図を参照すると、B5109が、プロセッサ−メモ
リ間バッファ301とメモリ−プロセッサ間バッファ3
03とを含む複数バッファ手段を規定している。これら
のバッファの各々は8レジスタの深さである。これらの
レジスタは、プロセッサ−メモリ間バッファ301にお
けるレジスタ301−0ないし301−7およびメモリ
−プロセッサ間バッファ303におけるレジスタ303
−〇ないし303−7として第3図に識別されている。
各々のそのようなレジスタは、64ビット幅カッドワー
ドをストアする機能を備えている。
(パリティピットが各ロングワードに付加されて、各レ
ジスタが66セル幅であるようにすることが好ましい。
第3図とデータ伝達のために設けられた構造のこの説明
とを簡略化するために、パリティピットを伝達するため
に設けられる構造は第3図には示されておらず、その説
明の残余のものはデータの構造にのみ関連している。) 上述のように、B5109は、ビットスライス編成と一
致して6バススイツチチツプにより規定される。製造の
際に標準化をもたらすことのような数多くの理由で、各
バススイッチは同一構造を有する。成る程度まで、ビッ
トスライス編成における構造の複製は、別々の平行な機
能に対応する。
より特定的に言えば、上述のカッドワード幅レジゆ スタは、並列バススイッチ間分散されたセルにより連堵
された態様で)じ成される。これらの複製されたセルは
、異なるビットの並列データをストアするという別々の
平行機能を実施する。他方で、成る共通制御機能が、概
して、レジスタに影響を及ぼす。そのような共通制御機
能の代表的な具体例が、カッドワード幅レジスタのセル
・\と、またはそこからデータを伝達する途中でバスス
イッチチップに共通に使用されるタロツクと同期化され
る制御信号を生じるという機能である。この点で、第3
図は、そのような共通制御機能を実施するためのステー
トマシン305を示している。各バススイッチはそれ自
体の複製ステートマシンを有し、タイミング信号および
制御信号を生じて、B5109を規定する種々の並列回
路のそのスライスの動作を同期的に順序づける。各バス
スイッチにおいて同一に設けられるステートマシンはプ
ログラム可能論理アレイにより適切に実現され得るが、
このプログラム可能論理アレイは一連の状態を規定して
、それの現在の状態の論理的機能として種々の制御信号
を立ち上げる。
B5109を規定する他の複製された構造もまた、共通
の制御機能に対立するものとして、別々な平行機能を実
施する。この別な複製された構造の成るものはゲート回
路307を規定するが、それは別々な同一のゲート回路
を含む。これらのゲート回路はバススイッチチ〜ツブ間
に分散されて、各チップがゲート回路を有して、プロセ
ッサバス111から、プロセッサーメ干り間バッファ3
01のカッドワード幅レジスタを規定するようにそれが
与えるセルへと、データを伝達するという機能の共有を
実施する。プロセッサデータバスからのこれらの伝達は
1度に1カツドワードで成し遂げられ、さらに、レジス
タが連続的に選択されてバッファ301において8カツ
ドワードの合計を累積するが、それらはそこに、データ
命令プロセッサ101が読出されてそこへ伝達されてし
まう必要があった後まで保持される。他のそのような複
製回路は、ゲート動作回路309とマルチプレクサ31
1を規定し、これらは協働して、1度に1カツI・ワー
ド、メモリ−プロセッサ間バッファ303の連続的に選
択されたレジスタからプロセッサバス111へとデータ
を伝達する機能を実施する。他のそのような複製回路は
、マルチプレクサ313とバスドライバ314を規定し
、それらは協働して、−度に4カツトワード、プロセッ
サバスtり闇 ゛     のバッファ301のレジスタの連続的に選
択されたグループからメモリデータバス117へとデー
タを伝達する機能を実施する。他のそのような複製回路
はゲート動作回路315を規定し、それは、1度に4カ
ツドワード・メモリデータバス115からメモリ−プロ
セッサ間バッファ303のレジスタの連続的に選択され
たグループへとデータを伝達する機能を実施する。他の
そのような複製回路は、主メモリのアドレス指定時に関
連する回路を規定する。これは、アドレスラッチレジス
タ317と、行および列アドレスマルチプレクサ319
と、メモリアドレスバス115に対するバスドライバ3
21とを含む。
命令プロセッサ101はシステム指示の要求を開始して
、メモリ制御107へ選択されたコマンドを出すことに
より読出−置換動作をなし遂げる。
このおよび他のそのようなコマンドは、XcMD<Q 
ニア>と呼ばれる8ビット幅信号をコード化することに
より規定される。メモリ制御107は、MA CK L
と示される肯定応答信号と、データが得られる時間に関
連する、DAVLと示される別な信号とを含む、ハンド
シエイキング信号を命令プロセッサ101へと送る。そ
れは置換コマンドをデコードして、それがB5109に
付与するBSCMD信号を立ち上げる。
BSCMDを受信して読出し一置換動作をサポートする
場合、ステートマシン305は、ここで一般に説明され
てゆく態様でそれが進んでゆく一連の状態の第1のもの
に入る。タイミング信号および制御信号を生じるための
ステートマシンにはよくあることだが、ステートマシン
305は、1つより多いその状態の間にそれが生じる制
御信号のうちのいくつかを立ち上げる。大まかに言うと
、読出し一置換動作の間にステートマシン305が進ん
でゆく種々の状態は、たとえば4つの主段階を提供する
。第1の段階はプロセッサ101から読出アドレスを得
ることと、それをラッチして、それが所要の時間の間に
主メモリ105によりデコードするように提示され得る
ようにすることを必要とする。第2の段階は平行なプロ
セスを必要とし、その一方はダーティ・データ(すなわ
ち、置換されることが必要である汚れていると印された
キャッシュ場所から読出されたデータ)の伝達を特徴と
する特に、主メモリ読出しの待ち時間の間、1度に1カ
ツドワード、ダーティ・データがプロセッサ−メモリ間
バッファ301の連続的に選択されたレジスタ・\と伝
達される。好ましい実施例におけるこの第2の段階の別
な局面は、ニブルモードにおいて主メモリへと行なわれ
る2回のアクセスに関連する。この対の読出アクセスの
第1のものの結果、メモリ−プロセッサ間バッファ30
3のレジスタ303−0ないし303−3をロードする
ことが起こる。これらのアクセスの第2のものの結果、
メモリ−プロセッサ間バッファ303のレジスタ303
−4ないし303−7のロードが起こる。第3の段階は
、メモリ−プロセッサ間バッファ303から命令プロセ
ッサ101へ置換データを伝達する必要があり、これは
1度に1力ツドワード行なわれる。したがって、重要な
ことだが、命令プロセッサ101は、置換データを得る
ための読出動作が始まる前でもダーティ・データが主メ
モリに書込まれる先行技術のアプローチに必要とされる
経過時間の半分以内で、置換データを受信する。第4の
段階は、ダーティ・データをメモリに書込むことが必要
である。その対の読出アクセスの終わりの直後にこの書
込動作を始めるように手配すべきか否かが、選択の問題
である。現在好ましい実施例がサブシステムであるCP
Uにおいて、通信協定が採用されており、それは、命令
プロセッサ101に、待ち時間の間ではなくむしろ必要
とするデータを受信した後で、書込アドレスを送らせる
必要を生じさせる。
ゲート動作回路307に関連する詳細に関しては、この
回路は64個のゲート動作回路を含み、それらの各々は
一般に3状態ゲートと呼ばれる型からなる。これらの6
4個のゲートのうち、32個のゲートの各々は、その人
力がプロセッサバス111のデータバス部分を介して3
2個の並列信号のそれぞれのものを受信するように接続
される。
それらの信号は集合的にXDH<0 : 31 >と識
別される。ゲート動作回路307の残余の32個のゲー
トの各々は、その入力がプロセッサバス111のアドレ
スバス部分を介して32個の並列信号のそれぞれのもの
を受信するように接続される。
それらの信号は集合的にXAH<0 : 31>と識別
される。
CPUに対し採用される通信協定に従えば、読出し一置
換コマントを出した後に命令プロセッサが送出する最初
の情報は読出アドレスであり、さらに、それはその直後
に一連の8カツドワードのダーティ・データを送る。3
2ビツトのアドレスのうち、アドレスのCPU内伝達に
おいては24ビツトしか使用されない。これがそうであ
る理由は、8個までのCPUを有する全データ処理シス
テムにおける各CPUは2ギガバイトメモリ空間の12
8メガバイト部分を割当てられるからである。
アドレスラッチレジスタ317は24ビツト幅である。
それは、メモリ読出しまたは書込みに付随してB510
9により受取られる各アドレスを保持する。上述のよう
に、メモリ105はRASおよびCASタイミング制御
で行および列によりアドレスされる。したがって、B5
109はまずメモリに成る行に対する12ビツト幅アド
レスを送り、他方でメモリ制御107がRAS信号を立
上げ、次に、B5109が成る列に対する12ビツト幅
アドレスを送り、他方でメモリ制御07がCAS信号を
立上げる。アドレスラッチレジスタ317とメモリアド
レスバス115の間に結合されるマルチプレクサ319
は、アドレスの2つの部分を1度に1つずつ連続的に送
る。ステートマシン305により生じられるタイミング
信号および制御信号のうちの1個は、C0LADH(列
アドレスの略成語)として識別される。ステートマシン
が進行するその一連の状態のうちの1つの間、それはC
0LADH信号を立上げて、アドレスラッチ317にお
ける24ビツトアドレスの12ビツト列部分を出力ドラ
イバ321へとマルチプレクサ319に伝達させる。C
0LADH信号がロー(偽)である間、マルチプレクサ
319がアドレスの行アドレス部分を通過させる。CA
S信号の後縁で、主メモリ105は有効読出データをメ
モリデータバス117に提示する。
ゲート動作回路315に関連するさらなる詳細に関して
は、それは256個のゲート動作回路を含み、それらの
各々は、一般に3状態ゲートと呼ばれる型からなる。こ
れらのゲートの各々は、その人力がメモリデータバス1
17の256個の導体のうちのそれぞれのものに接続さ
れる。メモリから読出される256ビツトのデータが、
ゲート動作回路315を介して並列に伝達され、かつ、
ステートマシン305により生じられる制御信号に応答
してメモリ−プロセッサ間バッファ303の8個のレジ
スタのうちの4個へとロードされる。
上で説明された状態の間にデータの512ビツトブロツ
クの2分の1の読出しを制御してしまうと、ステートマ
シン305は次の状態に進んで、1対のニブルモード読
出しのうち第2のものを引き起こす。この第2の読出し
に関して、ステートマシン305は、ゲート動作回路3
15にこの第2の読出しの256ビツトをレジスタ31
1−4ないし311−7へとロードさせる状態に入る。
次に、ステートマシン305は8つの連続する状態を通
して順序づけを行なうが、それらは各メモリ−プロセッ
サ間バッファ303のレジスタのそれぞれのものからプ
ロセッサ101への伝達を引き起こすためのものである
第4図を参照すると、ここではさらに、B5109のビ
ットスライス編成に関する詳細が明らかにされる。各バ
ッファスイッチチップB50−BS5は多数の端子のセ
ットを有する。これらの端子セットの1つがXD端子の
組であり、それは6個の端子を含む。これらの端子の組
のうち別なものがXA端子の組であり、それは同様に6
個の端子を含む。組合わせると、これらは1個のチップ
につき12個のX型端子を提供する。これらX型端子は
、プロセッサバス111に連結するためにfり用できる
。6個のバススイッチが、各々そのように利用できる1
2個のXU端子をHしており、合計72個のX型の利用
可能な端子が存在する。
組合わされた利用可能な合計72個のX型端子のうち、
66個のX型嬉子が接続されて、64ビツトカツドワー
ドおよび2個のパリティビットの伝達を与えるが、その
ようなパリティビットの各々はそのカッドワードの別な
ロングワード部分に対するものである。
各バススイッチは別な対の端子の組RAおよびRDを有
するが、それらはバス113への接続に利用できる。バ
ス113はトランシーバ401および403とともに使
用されて、同じ全データ処理システムにおける他のCP
Uと通信する。そのようなシステムにおける各CPUは
、そのようなCPU内通信および種々の110通信用の
、RBUSと示されたバス(第1図)に連結する。
各バススイッチは、8個の端子セットMDOないしMD
7をさらに有し、これらの端子のセットの各々は6個の
端子を含む。組合わせると、これらは1個のチップあた
り48個のM型端子を提供する。MJa端子は、メモリ
バス117への接続のために利用できる。6個のバスス
イッチが各々、そのように利用できる48個のそのよう
なM型端子を白°して、合計288個の利用可能なM型
端子が存在する。組合わされた合計288個のM型端子
のうち、264個の端子がメモリデータバス117に接
続されて、8個のパリティビットと並列な256ビツト
のデータの伝達を与える。
各バススイッチは、2個のA型端子AAOおよびAAI
をさらに有する。A型端子はメモリアドレスバス115
に連結する。6個のバススイッチが各々2個のM型端子
を有して、合計12個のA型端子が?′7.在して、多
重化ベースでの12ビツト行アドレスおよび12ビツト
列アドレスの伝達を与える。
6バススイツチチツプの種々のバスへの接続に関連する
詳細に関しては、まず、バススイッチBSOの接続が説
明される。プロセッサバス111のXA部分は、32ビ
ツトのデータおよびパリティピット用の33個の導体を
有する。
これらの導体は、ここでは集合的にXAB [31:0
.PF3と呼ばれる。プロセッサ111のXDB部分は
同様に、パリティビットにおける2ビツトのデータ用に
33個の導体を有する。これらの導体は、ここでは集合
的にXDB [31: 0゜PARIと呼ばれる。
バススイッチBSOに関して、その6個のXA型端子が
それぞれ導体XAB [27,22:19゜0]に接続
される。これは第4図においては対応する番号27,2
2:19,0で示され、バススイッチBSOの描写の隣
りに現われる。バススイッチBSOの6個のXD’42
端子は、それぞれ導体XDB [27,22:19,0
1に接続される。
すなわち、バススイッチBSOのXA型端子に与えられ
る同じ番号[27,22:19,0]は、等しくXD型
端子に与えられる。これはまた、バス113に関するバ
ススイッチBSOのRA型端子およびRD型端子につい
て言える。これはまた、メモリデータバス117のスラ
イスに関するバススイッチBSOのM型端子についても
言える。
メモリデータバス117のスライスの導体を指定するこ
とに関して、−船釣な指定はM D B 。
[J]であり、ここでiは0から7の範囲にあり、Jは
0から31の範囲にあるか、またはPAR(パリティビ
ット)である。メモリデータバス117の導体は8個の
メモリ配列AROないしAl1に接続される。特定的に
言えば、導体MD BO[31: 0.PARIがメモ
リ配列AROに接続され、導体MDB+  [31:0
.PARIがメモリ配列ARIに接続される、などであ
る。バススイッチBSOに関して、その6個のMDO型
端子はMDBo  [27,22:19.OFに接続さ
れる。これらの同じ番号がメモリデータバス117の他
のスライスに関して与えられるが、バススイッチBSO
のMDI型端子からMD 7J4!!端子まではこのメ
モリデータバス117に接続される。
バススイッチBSOのA型端子に関しては、それらは、
8個のメモリ配列AROないしAl1の各々にアドレス
される12ビツトマトリクスの2個の最下位ビットを与
えるように接続される。
バススイッチBSIに関しては、メモリバス111、バ
ス113およびメモリデータバス117へのそれの接続
に与えられる番号は、[28,14:11.2]である
。それのA型端子は、メモリ配列の各々にアドレスの2
個の次の上位ビットを与える。A型端子に関する先の順
序はバススイッチBS2ないしBS5に対して継続し、
そのため、組合わせると、バススイッチはメモリ配列の
各々に12ビツトマトリクスアドレスを与える。
バススイッチBS2ないしBS5の接続に対して他のバ
スに与えられる呑号に関しては、次のとおりである。す
なわち、バススイッチBS2については(29,14:
 11.2)であり、バススイッチBS3については(
31:30,10ニア)であり、バススイッチBS4に
ついては(24:23.6:3)であり、さらに、バス
スイッチBS5については(26: 25,1’AR)
である。
配列AROは、後半の5ビツトの各々が2進値0をHす
るアドレスを有する、すべてのメモリ場所を含んでいる
。これは指定’   Ot+011″により一般に表わ
され、ここでは文字すは2進値を示し、文字Hは16進
値を示す。
配列AR4は、後半の4ビツトのδ々が2進値0を有し
、かつ次の上位ビットが2進値1を有するすべてのメモ
リ場所を含んでいる。これは指定“  1bO,“によ
り表わされる。
配列ARIは、後半の4ビツトが16進値4を有し、か
つ次の最上位ビットが2進値0を有するすべてのメモリ
場所を含んでいる。これは指定″  Ob4.−により
表わされる。
配列AR5は、後半の4ビツトが16進値4を有し、か
つ次の上位ビットは2進[iilを有するすべてのメモ
リ場所を含んでいる。これは指定“−1゜4N”により
表わされる。
配置1JAR2は、後半の4ビツトが16進値8を(−
1°し、かつ次の上位ビットが2進値0をHするすべて
のメモリ場所を含んでいる。これは指定“−〇b8□”
により表わされる。
配列AR6は、後半の4ビツトが16進値8を有し、か
つ次の上位ビットが2進値1をHするすべてのメモリ場
所を含んでいる。これは指定“lb 8.”により表わ
される。
配列AR3は、後半の4ビツトが16進値Cを有し、か
つ次の上位ビットが2進値0を有するすべてのメモリ場
所を含んでいる。これは指定“ObC,“により表わさ
れる。
配列AR7は、後半の4ビツトが16進値CをHし、か
つ次の上位ビットが2進[1を有するすべてのメモリ場
所を含んでいる。これは指定“1゜CHI”により表わ
される。
この詳細な説明の初めで述べられたように、この説明は
、この発明の現在好ましい実施例を対象としており、そ
の実施例と、それが組入れられることが好ましい命令プ
ロセッサとの多くの特定の特徴を提示している。前掲の
特許請求の範囲はこの発明を規定することに向けられて
おり、上で詳細に述べられたものに加えて、実行と実施
を包含している。
【図面の簡単な説明】
第1図は、種々の集積回路チップを含む中央処理ユニッ
ト(CPU)に関する略図であり、この発明を利用する
ためにどれぐらいのチップが配置されることが好ましい
かを示している。 第2図は、第1図のCPUに組入れられる単一チップ命
令プロセッサに関するブロック図であり、とりわけ、オ
ンチップキャッシュメモリと、この発明の好ましい実施
例の説明に関連する他の特徴とを示している。 第3図は、この発明の好ましい実施例に従って規定され
る多重バッファを白゛するサブシステムの要素を表わす
ブロック図である。 第4図は、第1図のCPUに関するブロック図であり、
どれぐらいの集積回路チップがプロセッサバスかまたは
メモリバス、あるいはその両方に接続されるかをより詳
細に示している。 図において、101は命令プロセッサ、10.3は算術
プロセッサ、105は主メモリ、107はメモリ制御、
111はプロセッサバス、113は人出力バス、115
はメモリアドレスバス、117はメモリデータバス、2
01はキャッシュメモリ、209は比較2;である。 手続補正書(方式) 平成1年1月77日 特訂庁良宮殿 1、事件の表示 昭和63年特許願第248927号 2、発明の名称 データ処理システム内のりブシステムおよびその動作方
法3、補J)をする者 事イI]との関係 特a′l出願人 住 所 アメリカ合衆国、カリフォルニア州、ア〜ビン
ミ1アランズ・ブールバード、9801名 称 コンピ
ュータ・コンソールズ・インコーホレーテッド代表者 
エヌ・ダーシイ・ローシエ 4、代理人 住 所 大阪市北区南森町21目1番29号 住友銀行
南森町ビル電話 大阪(06)361−2021 (代
)、−氏名弁理士(6474)深見久部 □ 5、補正命令の日付                
 −−・−′−自発補正 6、補正の対象 図面企図 7、補正の内容 部平で描いた図面全図を別紙のとおり。なお、図面は内
容に変更なし。 以上

Claims (6)

    【特許請求の範囲】
  1. (1)命令プロセッサと比較的多数のアドレス可能メモ
    リ場所を有する主メモリとを含み、命令プロセッサが主
    メモリへの連続アクセスを始め得る時間よりも実質的に
    長い待ち時間を主メモリが有するようなデータ処理シス
    テムにおけるサブシステムであって、 主メモリから読出されたデータがまず主メモリにストア
    されたデータの複製としてストアされ、その後で修正さ
    れかつ汚れていると印される、比較的少数のバッファ場
    所を有するバッファメモリ手段と、 汚れていると印されたデータを主メモリから読出された
    他のデータと置換して、その後で汚いと印されたデータ
    が主メモリへと書込まれるようにするための連続動作手
    段とを含む、データ処理システム内のサブシステム。
  2. (2)バッファメモリ手段がプロセッサ−メモリ間バッ
    ファとメモリ−プロセッサ間バッファを含み、さらに、
    汚れていると印されたデータが、置換データを読出すた
    めの待ち時間の間プロセッサ−メモリ間バッファにスト
    アされ、さらに、置換データが、汚れていると印された
    データがメモリに書込まれる前に、メモリ−プロセッサ
    間バッファにストアされる、請求項1に記載のサブシス
    テム。
  3. (3)各バッファが、メモリからバッファへの伝達のバ
    ンド幅をバッファからプロセッサへの伝達のバンド幅と
    実質的に符合させるための手段の支持に使用するための
    多重レジスタを有する、請求項2に記載のサブシステム
  4. (4)バッファメモリ手段が、ビットスライス配置のた
    めに編成される1組の集積回路チップにより規定される
    、請求項1に記載のサブシステム。
  5. (5)各々のそのようなチップが、チップが寄与してバ
    ッファメモリ手段を規定するように複数個のメモリセル
    を含む、請求項4に記載のサブシステム。
  6. (6)キャッシュメモリが設けられて、キャッシュ場所
    の各々が待ち時間を有する多数の主メモリ場所に関連す
    るようなキャッシュ場所にデータをストアするデータ処
    理システムの動作を行なう方法であって、 データをキャッシュ場所に書込んで、それを行なう途中
    でそのキャッシュメモリ場所に対するダーティ・ビット
    を設定するステップと、 そのキャッシュ場所にキャッシュミスを検出すると、読
    出し−置換の一連の動作ステップを始めるステップと、 アドレスされた主メモリ場所からのデータの読出しを始
    めることにより、読出し−置換動作に取りかかるステッ
    プと、 待ち時間の間にそのキャッシュ場所からデータをプロセ
    ッサ−メモリ間バッファへ伝達することをさらに続行す
    るステップと、 アドレスされたメモリ場所から読出されたデータをメモ
    リ−プロセッサ間バッファを介してそのキャッシュ場所
    へと伝達するステップと、 別なアドレスされたメモリ場所への書込みを実施して、
    そこにプロセッサ−メモリ間バッファからのデータをス
    トアするステップとを含む、方法。
JP63248927A 1987-10-02 1988-09-30 データ処理システム内のサブシステムおよびその動作方法 Pending JPH01163852A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10463287A 1987-10-02 1987-10-02
US104,632 1987-10-02

Publications (1)

Publication Number Publication Date
JPH01163852A true JPH01163852A (ja) 1989-06-28

Family

ID=22301513

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63248927A Pending JPH01163852A (ja) 1987-10-02 1988-09-30 データ処理システム内のサブシステムおよびその動作方法

Country Status (3)

Country Link
EP (1) EP0310446A3 (ja)
JP (1) JPH01163852A (ja)
KR (1) KR890007161A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155824A (en) * 1989-05-15 1992-10-13 Motorola, Inc. System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
US5251310A (en) * 1990-06-29 1993-10-05 Digital Equipment Corporation Method and apparatus for exchanging blocks of information between a cache memory and a main memory
US5287512A (en) * 1990-08-06 1994-02-15 Ncr Corporation Computer memory system and method for cleaning data elements
US5420994A (en) * 1990-08-06 1995-05-30 Ncr Corp. Method for reading a multiple byte data element in a memory system with at least one cache and a main memory
EP0470737A1 (en) * 1990-08-06 1992-02-12 NCR International, Inc. Cache memory operating method and structure
US5530835A (en) * 1991-09-18 1996-06-25 Ncr Corporation Computer memory data merging technique for computers with write-back caches
GB2385174B (en) 1999-01-19 2003-11-26 Advanced Risc Mach Ltd Memory control within data processing systems

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4317168A (en) * 1979-11-23 1982-02-23 International Business Machines Corporation Cache organization enabling concurrent line castout and line fetch transfers with main storage
US4489381A (en) * 1982-08-06 1984-12-18 International Business Machines Corporation Hierarchical memories having two ports at each subordinate memory level

Also Published As

Publication number Publication date
EP0310446A2 (en) 1989-04-05
EP0310446A3 (en) 1990-08-16
KR890007161A (ko) 1989-06-19

Similar Documents

Publication Publication Date Title
US5640534A (en) Method and system for concurrent access in a data cache array utilizing multiple match line selection paths
EP0036110B1 (en) Cache addressing mechanism
US5586294A (en) Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer
KR920005280B1 (ko) 고속 캐쉬 시스템
US6496902B1 (en) Vector and scalar data cache for a vector multiprocessor
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
US6138209A (en) Data processing system and multi-way set associative cache utilizing class predict data structure and method thereof
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
US4995041A (en) Write back buffer with error correcting capabilities
EP0407119B1 (en) Apparatus and method for reading, writing and refreshing memory with direct virtual or physical access
JPS5936350B2 (ja) キヤツシユ・アクセス方式
US5805855A (en) Data cache array having multiple content addressable fields per cache line
JPS624745B2 (ja)
EP0706131A2 (en) Method and system for efficient miss sequence cache line allocation
JPH05173837A (ja) オペランド内の情報のスタティックおよびダイナミック・マスキングを兼ね備えるデータ処理システム
US6745291B1 (en) High speed LRU line replacement system for cache memories
US7260674B2 (en) Programmable parallel lookup memory
JPH07120312B2 (ja) バッファメモリ制御装置
US5761714A (en) Single-cycle multi-accessible interleaved cache
US5893163A (en) Method and system for allocating data among cache memories within a symmetric multiprocessor data-processing system
US5333291A (en) Stride enhancer for high speed memory accesses with line fetching mode and normal mode employing boundary crossing determination
EP0706132A2 (en) Method and system for miss sequence handling in a data cache array having multiple content addressable fields per cache line
JPH01163852A (ja) データ処理システム内のサブシステムおよびその動作方法
JPH05210974A (ja) 同一チップ上でのスタティックキャッシュメモリとダイナミックメインメモリとの結合システム
JPH06214871A (ja) デュアルポート電子データ記憶システム及び電子データ記憶システム、並びに同時アクセス方法