JPH01246655A - 多重プロセッサ計算機システムのための記憶サブシステム - Google Patents
多重プロセッサ計算機システムのための記憶サブシステムInfo
- Publication number
- JPH01246655A JPH01246655A JP1038528A JP3852889A JPH01246655A JP H01246655 A JPH01246655 A JP H01246655A JP 1038528 A JP1038528 A JP 1038528A JP 3852889 A JP3852889 A JP 3852889A JP H01246655 A JPH01246655 A JP H01246655A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- storage
- processor
- request
- address
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 201
- 239000000872 buffer Substances 0.000 description 188
- 238000012546 transfer Methods 0.000 description 38
- 230000008859 change Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 102100027152 Dihydrolipoyllysine-residue acetyltransferase component of pyruvate dehydrogenase complex, mitochondrial Human genes 0.000 description 11
- 101001122360 Homo sapiens Dihydrolipoyllysine-residue acetyltransferase component of pyruvate dehydrogenase complex, mitochondrial Proteins 0.000 description 11
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 238000013500 data storage Methods 0.000 description 9
- 230000003111 delayed effect Effects 0.000 description 9
- 238000003491 array Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000000034 method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 239000012536 storage buffer Substances 0.000 description 2
- FRJNIHLOMXIQKH-UHFFFAOYSA-N 1-amino-15-oxo-4,7,10-trioxa-14-azaoctadecan-18-oic acid Chemical compound NCCCOCCOCCOCCCNC(=O)CCC(O)=O FRJNIHLOMXIQKH-UHFFFAOYSA-N 0.000 description 1
- ZJRUTGDCLVIVRD-UHFFFAOYSA-N 2-[4-chloro-2-(hydroxymethyl)phenoxy]acetic acid Chemical compound OCC1=CC(Cl)=CC=C1OCC(O)=O ZJRUTGDCLVIVRD-UHFFFAOYSA-N 0.000 description 1
- BDEDPKFUFGCVCJ-UHFFFAOYSA-N 3,6-dihydroxy-8,8-dimethyl-1-oxo-3,4,7,9-tetrahydrocyclopenta[h]isochromene-5-carbaldehyde Chemical compound O=C1OC(O)CC(C(C=O)=C2O)=C1C1=C2CC(C)(C)C1 BDEDPKFUFGCVCJ-UHFFFAOYSA-N 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000007853 buffer solution Substances 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 102220288203 rs761824859 Human genes 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
本発明は計算機システムに係り、特に、第1レベル及び
第2レベルの階層記憶を有する多重プロセッサ計算機シ
ステム(以下、MPシステムという)において、記憶待
ち行列を第1レベルに設け。
第2レベルの階層記憶を有する多重プロセッサ計算機シ
ステム(以下、MPシステムという)において、記憶待
ち行列を第1レベルに設け。
記憶待ち行列及び書込みバッファを第2レベルに設けて
、キャッシュ記憶階層の第2レベルに記憶すべきデータ
を待合せさせる技術に係る。
、キャッシュ記憶階層の第2レベルに記憶すべきデータ
を待合せさせる技術に係る。
B、従来の技術とその課題
MPシステムは複数のプロセッサ及びこれらのプロセッ
サによってアクセスされる主記憶を備えている。一般に
、このようなMPシステムには、命令及びデータを一時
記憶する中間レベルのキャッシュが設けられる。例えば
、米国特許第4445174号明細書及び同第4442
487号明細書は、第1レベルのキャッシュ記憶(LL
キャッシュ)及び第2レベルのキャッシュ記憶(L2キ
ャッシュ)を含むMPシステムを開示している。
サによってアクセスされる主記憶を備えている。一般に
、このようなMPシステムには、命令及びデータを一時
記憶する中間レベルのキャッシュが設けられる。例えば
、米国特許第4445174号明細書及び同第4442
487号明細書は、第1レベルのキャッシュ記憶(LL
キャッシュ)及び第2レベルのキャッシュ記憶(L2キ
ャッシュ)を含むMPシステムを開示している。
プロセッサ毎に設けられるL1キャッシュ、各プロセッ
サのし1キヤツシユに接続され、L1キャッシュにより
共用されるL2キャッシュ、及びL2キャッシュに接続
される主記憶(L3)を有するシステム構成については
、これらの特許は具体的に開示していない。このような
システム構成においては、成るプロセッサのし1キヤツ
シユに記憶されているデータ又は命令を共用L2キャッ
シュに移し、最終的にはL3に記憶させる場合に、もし
共用し2キヤツシユが他のプロセッサからのデータ又は
命令を記憶すべく使用中であれば、前者のL1キャッシ
ュは共用L2キャッシュが使用可能になるまで待たなけ
ればならない、その間前者のプロセッサが別のオペレー
ションを実行できるようにするためには、そのL1キャ
ッシュから共用L2キャッシュへ記憶すべきデータ又は
命令を待機させておく待合せシステムが必要である。
サのし1キヤツシユに接続され、L1キャッシュにより
共用されるL2キャッシュ、及びL2キャッシュに接続
される主記憶(L3)を有するシステム構成については
、これらの特許は具体的に開示していない。このような
システム構成においては、成るプロセッサのし1キヤツ
シユに記憶されているデータ又は命令を共用L2キャッ
シュに移し、最終的にはL3に記憶させる場合に、もし
共用し2キヤツシユが他のプロセッサからのデータ又は
命令を記憶すべく使用中であれば、前者のL1キャッシ
ュは共用L2キャッシュが使用可能になるまで待たなけ
ればならない、その間前者のプロセッサが別のオペレー
ションを実行できるようにするためには、そのL1キャ
ッシュから共用L2キャッシュへ記憶すべきデータ又は
命令を待機させておく待合せシステムが必要である。
その場合、データ又は命令を待ち行列に入れる時に、も
し待ち行列が一杯であれば、プロセッサは待ち行列に空
きがでるまで、別のオペレーションを開始できない。従
って、待ち行列をパイプライン方式のステージ構成にし
、その中に複数組のデータ又は命令を入れられるように
するのが望ましい、そうすれば、プロセッサは関連する
L1キャッシュに書込むデータ又は命令を共用L2キャ
ッシュへの書込みに備えて待ち行列に入れることができ
、継続オペレーションが可能になる。
し待ち行列が一杯であれば、プロセッサは待ち行列に空
きがでるまで、別のオペレーションを開始できない。従
って、待ち行列をパイプライン方式のステージ構成にし
、その中に複数組のデータ又は命令を入れられるように
するのが望ましい、そうすれば、プロセッサは関連する
L1キャッシュに書込むデータ又は命令を共用L2キャ
ッシュへの書込みに備えて待ち行列に入れることができ
、継続オペレーションが可能になる。
複数のプロセッサ、1つの主記憶、L1キャッシュ及び
L2キャッシュを含むMPシステムにおいて、成るプロ
セッサがデータを変更する時、もし対応する未変更デー
タがプロセッサのキャッシュにあわば、変更データをプ
ロセッサのキャッシュに再書込みしなければならないに
の再書込みは、他のプロセッサが変更データを「見る」
前に行わなければならない。従って、他のプロセッサに
対する変更データの可視性を管理するための何らかの手
段が必要である。更に、主記憶及びキャッシュのアクセ
スを正確に制御するための手段も必要である。
L2キャッシュを含むMPシステムにおいて、成るプロ
セッサがデータを変更する時、もし対応する未変更デー
タがプロセッサのキャッシュにあわば、変更データをプ
ロセッサのキャッシュに再書込みしなければならないに
の再書込みは、他のプロセッサが変更データを「見る」
前に行わなければならない。従って、他のプロセッサに
対する変更データの可視性を管理するための何らかの手
段が必要である。更に、主記憶及びキャッシュのアクセ
スを正確に制御するための手段も必要である。
本発明の目的は、L1キャッシュ及び共用し2キヤツシ
ユに記憶すべきデータを待機させておく記憶待ち行列を
含む新規な記憶サブシステムを提供することにある。
ユに記憶すべきデータを待機させておく記憶待ち行列を
含む新規な記憶サブシステムを提供することにある。
C1解題を解決するための手段
本発明の記憶サブシステムは、第1図にも示すように、
記憶待ち行列システムを含む。その第1の記憶待ち行列
はL1キャッシュと関連づけられ、第2の記憶待ち行列
はMPシステムのL2キャッシュと関連づけられる。M
Pシステムは少なくとも第1プロセツサ及び第2プロセ
ツサを含み、各プロセッサは専用のL1キャッシュを備
えている。
記憶待ち行列システムを含む。その第1の記憶待ち行列
はL1キャッシュと関連づけられ、第2の記憶待ち行列
はMPシステムのL2キャッシュと関連づけられる。M
Pシステムは少なくとも第1プロセツサ及び第2プロセ
ツサを含み、各プロセッサは専用のL1キャッシュを備
えている。
各プロセッサのL1キャッジ・ユ□は、該L1キャッシ
ュへの記憶前にデータの待合せを行う自身の第1記憶待
ち行列に接続される。第1プロセツサ及び第2プロセツ
サは第2レベルのキャッシュ、すなわちL2キャッシュ
を共用する。L2キャッシュは自身の第2記憶待ち行列
に接続される。L2キャッシュは主記憶にも接続される
。主記憶は記憶階層の第3レベルL3に相当する。第2
記憶待ち行列をL2キャッシュに接続するのが書込みバ
ッファ・システムである。データをL1キャッシュに書
込む時は、それと同じにデータをその第1記憶待ち行列
に入れる。データは一旦L1キャッシュに記憶されると
、L2キャッシュにも記憶されねばならないが、それに
先立ってまずL2キャッシュの第2記憶待ち行列に入れ
られる。第2記憶待ち行列に入れられてしまうと、第2
記憶待ち行列をL2キャッシュに接続する書込みバッフ
ァの1つにデータを記憶させることができる。データは
、L2キャッシュへの実際の記憶に先立って最終L2キ
ャッシュ書込みバッファに記憶される。
ュへの記憶前にデータの待合せを行う自身の第1記憶待
ち行列に接続される。第1プロセツサ及び第2プロセツ
サは第2レベルのキャッシュ、すなわちL2キャッシュ
を共用する。L2キャッシュは自身の第2記憶待ち行列
に接続される。L2キャッシュは主記憶にも接続される
。主記憶は記憶階層の第3レベルL3に相当する。第2
記憶待ち行列をL2キャッシュに接続するのが書込みバ
ッファ・システムである。データをL1キャッシュに書
込む時は、それと同じにデータをその第1記憶待ち行列
に入れる。データは一旦L1キャッシュに記憶されると
、L2キャッシュにも記憶されねばならないが、それに
先立ってまずL2キャッシュの第2記憶待ち行列に入れ
られる。第2記憶待ち行列に入れられてしまうと、第2
記憶待ち行列をL2キャッシュに接続する書込みバッフ
ァの1つにデータを記憶させることができる。データは
、L2キャッシュへの実際の記憶に先立って最終L2キ
ャッシュ書込みバッファに記憶される。
順次記憶(SS)に関連するデータや命令は最終−L2
キャッシュ書込みバッファへの実際の記憶に先立って書
込みバッファに記憶されるが、非順次記憶(NS)に関
連するデータや命令は、書込みバッファをバイパスして
、第2記憶待ち行列から最終L2キャッシュ書込みバッ
ファへ直接記憶される。アービトレーションの結果、L
2キャッシュのアクセスが可能になると、最終L2キャ
ッシュ書込みバッファに記憶されていたデータがL2キ
ャッシュに書込まれる。−旦データがL2キャッシュに
記憶されると、L2キャッシュから続いて出される相互
無効化要求により、L1キャッシュにあるデータの他の
対応するエントリが無効化される。L1キャッシュの記
憶待ち行列、L2キャッシュの記憶待ち行列、及びL2
記憶待ち行列とL2キャッシュの間に相互接続された書
込みバッファをこのように用いれば、たとえL2キャ多
シュが成るプロセッサの記憶動作で使用中であっても、
他のプロセッサが種々の命令の実行を妨げられることは
ない。
キャッシュ書込みバッファへの実際の記憶に先立って書
込みバッファに記憶されるが、非順次記憶(NS)に関
連するデータや命令は、書込みバッファをバイパスして
、第2記憶待ち行列から最終L2キャッシュ書込みバッ
ファへ直接記憶される。アービトレーションの結果、L
2キャッシュのアクセスが可能になると、最終L2キャ
ッシュ書込みバッファに記憶されていたデータがL2キ
ャッシュに書込まれる。−旦データがL2キャッシュに
記憶されると、L2キャッシュから続いて出される相互
無効化要求により、L1キャッシュにあるデータの他の
対応するエントリが無効化される。L1キャッシュの記
憶待ち行列、L2キャッシュの記憶待ち行列、及びL2
記憶待ち行列とL2キャッシュの間に相互接続された書
込みバッファをこのように用いれば、たとえL2キャ多
シュが成るプロセッサの記憶動作で使用中であっても、
他のプロセッサが種々の命令の実行を妨げられることは
ない。
D、実施例
第2図は単一プロセッサ計算機システムを示したもので
ある。このシステムは記憶制御装置(SCL)12に接
続されたL3メモリ10を含む。
ある。このシステムは記憶制御装置(SCL)12に接
続されたL3メモリ10を含む。
記憶制御装置12は統合I10サブシステム14に接続
され、サブシステム14は統合アダプタ及び単一カード
・チャネル16に接続される。記憶制御装置12はI/
Dキャッシュ(Ll)18にも接続される。I/Dキャ
ッシュ18は命令(1)キャッシュ及びデータ(D)
・キャッシュを含み、これらを集合的にL1キャッシ
ュと呼ぶ。I/Dキャッシュ18は、命令ユニット(エ
ユニット)。
され、サブシステム14は統合アダプタ及び単一カード
・チャネル16に接続される。記憶制御装置12はI/
Dキャッシュ(Ll)18にも接続される。I/Dキャ
ッシュ18は命令(1)キャッシュ及びデータ(D)
・キャッシュを含み、これらを集合的にL1キャッシ
ュと呼ぶ。I/Dキャッシュ18は、命令ユニット(エ
ユニット)。
実行ユニット(Eユニット)及び制御記憶装置(CS)
を含むI ’/ Eユニット20、並びに特開昭60−
61864号公報に記載の如きベクトル・プロセッサ(
VP)22に接続される。第2図のシステムは複数シス
テム・チャネル間連絡装置24も含む。
を含むI ’/ Eユニット20、並びに特開昭60−
61864号公報に記載の如きベクトル・プロセッサ(
VP)22に接続される。第2図のシステムは複数シス
テム・チャネル間連絡装置24も含む。
メモリ10は2枚の知能メモリ・カードで構成され、各
メモリ・カードはレベル3 (L3)メモリ部及び拡張
(L4)メモリ部を含む。メモリ・カードは、誤り検査
及び訂正、リフレッシュ・アドレス・レジスタ及びカウ
ンタ、並びに冗長ビット構成といった特徴があるため「
知能的」である。
メモリ・カードはレベル3 (L3)メモリ部及び拡張
(L4)メモリ部を含む。メモリ・カードは、誤り検査
及び訂正、リフレッシュ・アドレス・レジスタ及びカウ
ンタ、並びに冗長ビット構成といった特徴があるため「
知能的」である。
L3メモリ10へのインタフェースは8バイト幅である
。メモリ・サイズは8MB、16MB、32MB及び6
4MBである。L3メモリ10は記憶制御装置(SCL
)12に接続される。
。メモリ・サイズは8MB、16MB、32MB及び6
4MBである。L3メモリ10は記憶制御装置(SCL
)12に接続される。
記憶制御装置12は、L3メモリ10、I10サブシス
テム14及びI/Dキャッシュ18へのアクセスを調停
する3つのバス・アービタを含む。
テム14及びI/Dキャッシュ18へのアクセスを調停
する3つのバス・アービタを含む。
記憶制御装置12は更にI/DキャッシュすなわちL1
キャッシュ18でデータ探索を行うためのディレクトリ
も含む。データがL1キャッシュ18にあってもそれが
古ければ、記憶制御装置12はL1キャッシュ18にあ
る古いデータを無効化することにより、I10サブシス
テム14がL3メモリ10にあるデータを更新できるよ
うにする。
キャッシュ18でデータ探索を行うためのディレクトリ
も含む。データがL1キャッシュ18にあってもそれが
古ければ、記憶制御装置12はL1キャッシュ18にあ
る古いデータを無効化することにより、I10サブシス
テム14がL3メモリ10にあるデータを更新できるよ
うにする。
I/Eユニット20は然る後にL3メモリ10から更新
されたデータを得なければならない。記憶制御装置12
は更に、I10サブシステム14及びI/Eユニット2
0からL3メモリ10へ送られるデータをバッファする
ための複数のバッファを含む。I/Eユニット20に関
連するバッファは256バイトのライン・バッファであ
って、順次オペレーションのような特定のタイプの命令
については、−時に8バイトのエントリを作成すること
ができる。このライン・バッファは、−杯であれば、L
3メモリ10に対してデータのブロック転送を行う、ブ
ロック転送は通常の記憶動作よりも多くのデータを転送
するので、その分メモリ・オペレーションの回数が減る
。
されたデータを得なければならない。記憶制御装置12
は更に、I10サブシステム14及びI/Eユニット2
0からL3メモリ10へ送られるデータをバッファする
ための複数のバッファを含む。I/Eユニット20に関
連するバッファは256バイトのライン・バッファであ
って、順次オペレーションのような特定のタイプの命令
については、−時に8バイトのエントリを作成すること
ができる。このライン・バッファは、−杯であれば、L
3メモリ10に対してデータのブロック転送を行う、ブ
ロック転送は通常の記憶動作よりも多くのデータを転送
するので、その分メモリ・オペレーションの回数が減る
。
L1キャッシュ18を構成する命令キャッシュ及びデー
タ・キャッシュは何れも16にバイトのキャッシュであ
る。記憶制御装置12へのインタフェースは8バイト幅
であるから、記憶制御装置12からのインページ動作は
8回のデータ転送サイクルを必要とする。データ・キャ
ッシュはストアスルー式であり、工“/Eユニット20
からのデータはL3メモリ10には書込まれるが、もし
対応するデータがL1キャッシュ18になければ、L1
キャッシュへの書込みは行われない。このオペレーショ
ンを援助するため、8回までの記憶動作をバッファでき
る記憶バッファがL1データ・キャッシュ18と共に使
用される6 ベクトル・プロセッサ22はデータ・キャッシュ18に
接続される。ベクトル・プロセッサ22は、I/Eユニ
ット20から記憶制御装置12へのデータフローは許す
が、その動作中は、データ取出しのためにI/Eユニッ
ト20が記憶制御装置12にアクセスすることは許さな
い。
タ・キャッシュは何れも16にバイトのキャッシュであ
る。記憶制御装置12へのインタフェースは8バイト幅
であるから、記憶制御装置12からのインページ動作は
8回のデータ転送サイクルを必要とする。データ・キャ
ッシュはストアスルー式であり、工“/Eユニット20
からのデータはL3メモリ10には書込まれるが、もし
対応するデータがL1キャッシュ18になければ、L1
キャッシュへの書込みは行われない。このオペレーショ
ンを援助するため、8回までの記憶動作をバッファでき
る記憶バッファがL1データ・キャッシュ18と共に使
用される6 ベクトル・プロセッサ22はデータ・キャッシュ18に
接続される。ベクトル・プロセッサ22は、I/Eユニ
ット20から記憶制御装置12へのデータフローは許す
が、その動作中は、データ取出しのためにI/Eユニッ
ト20が記憶制御装置12にアクセスすることは許さな
い。
統合I10サブシステム14は、8バイトのバスを介し
て記憶制御装置12に接続される。サブシステム14は
、自身からのデータを記憶制御装置12と同期させるの
に用いる3つの64バイト・バッファを含む。I/Eユ
ニット20及びI10サブシステム14は異なったクロ
ックで動作しており、3つの64バイト・バッファはこ
れらのクロックを同期させる働きがある。
て記憶制御装置12に接続される。サブシステム14は
、自身からのデータを記憶制御装置12と同期させるの
に用いる3つの64バイト・バッファを含む。I/Eユ
ニット20及びI10サブシステム14は異なったクロ
ックで動作しており、3つの64バイト・バッファはこ
れらのクロックを同期させる働きがある。
複数システム・チャネル間連絡装置24は4ポートのチ
ャネル間アダプタであって、システムの外部に設けられ
る。
ャネル間アダプタであって、システムの外部に設けられ
る。
トライアディク(多重プロセッサ)システムの例を第3
図に示す。
図に示す。
第3図において、記憶サブシステム26は1対のL3メ
モリIOA、IOHのポートに接続され。
モリIOA、IOHのポートに接続され。
バス切替え装置(BSU)26A及びL2キャッシュ2
6Bを含む。記憶サブシステム26の詳細は第6図に示
しである。BSU26Aは、統合I10サブシステム1
4、共用チャネル・プロセッサA (SHCP−A)2
8A、及び3台のプロセッサに接続される。第1プロセ
ツサはI/Dキャッシュ18A及びI/Eユニット20
Aを含み、第2プロセツサはI/Dキャッシュ18B及
びI/Eユニット20Bを含み、第3プロセツサはI/
Dキャッシュ18C及びI/Eユニット20Cを含む、
各I/Dキャッシュ18A、18B、18CはL1キャ
ッシュと呼ばれる。記憶サブシステム26のキャッシュ
26BはL2キャッシュと呼ばれ、主記憶10A/IO
BはL3メモリと呼ばれる。
6Bを含む。記憶サブシステム26の詳細は第6図に示
しである。BSU26Aは、統合I10サブシステム1
4、共用チャネル・プロセッサA (SHCP−A)2
8A、及び3台のプロセッサに接続される。第1プロセ
ツサはI/Dキャッシュ18A及びI/Eユニット20
Aを含み、第2プロセツサはI/Dキャッシュ18B及
びI/Eユニット20Bを含み、第3プロセツサはI/
Dキャッシュ18C及びI/Eユニット20Cを含む、
各I/Dキャッシュ18A、18B、18CはL1キャ
ッシュと呼ばれる。記憶サブシステム26のキャッシュ
26BはL2キャッシュと呼ばれ、主記憶10A/IO
BはL3メモリと呼ばれる。
記憶サブシステム26は、3台のプロセッサ18A/2
0A、18B/20B及び18C/20C12つのL3
メモリ10A及びIOB、2台の共用チャネル・プロセ
ッサ28A及び28B、並びに統合I10サブシステム
14を接続する。記憶サブシステム26は、処理すべき
要求の優先順位を決定する回路、インタフェースを動作
させる回路、及びL2キャッシュ26Bをアクセスする
回路を含む。L2キャッシュ26Bはストアイン式のキ
ャッシュであり、データの変更はすべてL2キャッシュ
26Bで行われる。ただし、変更要求がI10サブシス
テム14からのものであり、且つ変更すべきデータがL
3メモリIOA/10BにあってL2キャッシュ26B
になければ、データの変更はL3メモリでのみ行われる
。
0A、18B/20B及び18C/20C12つのL3
メモリ10A及びIOB、2台の共用チャネル・プロセ
ッサ28A及び28B、並びに統合I10サブシステム
14を接続する。記憶サブシステム26は、処理すべき
要求の優先順位を決定する回路、インタフェースを動作
させる回路、及びL2キャッシュ26Bをアクセスする
回路を含む。L2キャッシュ26Bはストアイン式のキ
ャッシュであり、データの変更はすべてL2キャッシュ
26Bで行われる。ただし、変更要求がI10サブシス
テム14からのものであり、且つ変更すべきデータがL
3メモリIOA/10BにあってL2キャッシュ26B
になければ、データの変更はL3メモリでのみ行われる
。
記憶サブシステム26とL3メモリIOA/10Bの間
のインタフェースは2つの16バイト・ポートを含む。
のインタフェースは2つの16バイト・ポートを含む。
第2図では、これは単一の8バイト・ポートであった。
ただし、第2図の主記憶10は第3図のメモリ・カード
IOA/IOBと同一である。2枚のメモリ・カードI
OA/IOBは並行にアクセスされる。
IOA/IOBと同一である。2枚のメモリ・カードI
OA/IOBは並行にアクセスされる。
共用チャネル・プロセッサ28は2つのポートを介して
記憶サブシステム26に接続される。各ポートは8バイ
ト・インタフェースである。共用チャネル・プロセッサ
28はBSU26Aとは無関係の同波数で動作する。B
SU内部のクロックは共用チャネル・プロセッサ28の
クロックと同期される。その方法は、第2図における記
憶制御装置12と統合I10サブシステム14の間のク
ロック同期と同様である。
記憶サブシステム26に接続される。各ポートは8バイ
ト・インタフェースである。共用チャネル・プロセッサ
28はBSU26Aとは無関係の同波数で動作する。B
SU内部のクロックは共用チャネル・プロセッサ28の
クロックと同期される。その方法は、第2図における記
憶制御装置12と統合I10サブシステム14の間のク
ロック同期と同様である。
次に、第2図のシステムの動作について説明する。
普通、命令は命令キャッシュ(LLキャッシュ)18に
あり、実行を待っている。I/Eユニット20はL1キ
ャッシュ18に設けられているディレクトリを探索し、
目的の命令がL1キャッシュ18にあるかどうかを調べ
る。もしなければ、I/Eユニット20は記憶制御装置
12に対する記憶装置要求を生成する。命令のアドレス
、すなわち該命令を含むキャッシュ・ラインのアドレス
が記憶制御装置12に送られる。記憶制御装置12は、
L3メモリ10に接続されたバスのアクセスを調停する
。最終的には、I/Eユニット20からの要求はL3メ
モリ10へ渡される。この要求は、I/Eユニット20
への転送のためにL3メモリ10から1ラインを取出す
ことを指示するコマンドを含む。L3メモリ10は要求
をラッチして解読し、命令を記憶しているメモリ・カー
ド中の記憶位置を選択し、数サイクルの遅延の後、8バ
イト単位で命令を記憶制御装置12に送る。取出された
命令は記憶制御装置12から命令キャッシュ(Llキャ
ッシュ)18に送られて、そこに−時記憶され、次いで
命令キャッシュ18からI/Eユニット20の命令バッ
ファに送られる。工/Eユニット20は内部のデコーダ
により命令を解読する。
あり、実行を待っている。I/Eユニット20はL1キ
ャッシュ18に設けられているディレクトリを探索し、
目的の命令がL1キャッシュ18にあるかどうかを調べ
る。もしなければ、I/Eユニット20は記憶制御装置
12に対する記憶装置要求を生成する。命令のアドレス
、すなわち該命令を含むキャッシュ・ラインのアドレス
が記憶制御装置12に送られる。記憶制御装置12は、
L3メモリ10に接続されたバスのアクセスを調停する
。最終的には、I/Eユニット20からの要求はL3メ
モリ10へ渡される。この要求は、I/Eユニット20
への転送のためにL3メモリ10から1ラインを取出す
ことを指示するコマンドを含む。L3メモリ10は要求
をラッチして解読し、命令を記憶しているメモリ・カー
ド中の記憶位置を選択し、数サイクルの遅延の後、8バ
イト単位で命令を記憶制御装置12に送る。取出された
命令は記憶制御装置12から命令キャッシュ(Llキャ
ッシュ)18に送られて、そこに−時記憶され、次いで
命令キャッシュ18からI/Eユニット20の命令バッ
ファに送られる。工/Eユニット20は内部のデコーダ
により命令を解読する。
命令を実行するには、L3メモリ10にあるオペランド
を必要とすることが多い、I/Eユニット20はデータ
・キャッシュ18のディレクトリを探索し、もしオペラ
ンドがデータ・キャッシュ18になければ、上述の命令
キャッシュ・ミスの時と同様に、L3メモリ10をアク
セスするため記憶装置要求を出す。この結果オペランド
がデータ・キャッシュ18にもたらされると、I/Eユ
ニット20はデータ・キャッシュ18をアクセスする。
を必要とすることが多い、I/Eユニット20はデータ
・キャッシュ18のディレクトリを探索し、もしオペラ
ンドがデータ・キャッシュ18になければ、上述の命令
キャッシュ・ミスの時と同様に、L3メモリ10をアク
セスするため記憶装置要求を出す。この結果オペランド
がデータ・キャッシュ18にもたらされると、I/Eユ
ニット20はデータ・キャッシュ18をアクセスする。
命令がマイクロコードの使用を要求していると、I/E
ユニット20は内部の制御記憶装置(CS)に記憶され
ているマイクロコードを使用する。工/Eユニット20
がI10命令を解読した場合は、L3メモリ10の補助
部に情報が記憶される。これは命令の実行からは切離さ
れている。次いでI/Eユニット20は、情報がL3メ
モリ10に記憶されていることを統合I10サブシステ
ム14に知らせる。サブシステム14のプロセッサはL
3メモリ10をアクセスして情報を取出す。
ユニット20は内部の制御記憶装置(CS)に記憶され
ているマイクロコードを使用する。工/Eユニット20
がI10命令を解読した場合は、L3メモリ10の補助
部に情報が記憶される。これは命令の実行からは切離さ
れている。次いでI/Eユニット20は、情報がL3メ
モリ10に記憶されていることを統合I10サブシステ
ム14に知らせる。サブシステム14のプロセッサはL
3メモリ10をアクセスして情報を取出す。
次に第3図のシステムの動作について説明する。
まず、特定のI/Eユニット2oA、20B又は20C
が命令を要求して、自身のし1キヤツシユ18A、18
B又は18Gを探索した時に、所望の命令がそのL1キ
ャッシュになかったとする。
が命令を要求して、自身のし1キヤツシユ18A、18
B又は18Gを探索した時に、所望の命令がそのL1キ
ャッシュになかったとする。
その場合、当該I/Eユニットは、L2キャッシュ26
Bを探索すべく記憶サブシステム26のアクセスを要求
する。記憶サブシステム26は、I/Eユニット20A
、20B、20C1共用チヤネル・プロセッサ28及び
統合I10サブシステム14からの要求を受け取るアー
ビタを備えている。特定のI/Eユニット(20A〜2
0Cの1つ)が記憶サブシステム26のアクセスを許さ
れると、そのI/Eユニットは所望の命令を見つけるた
め、記憶サブシステム26内のL2キャッシュ26Bの
ディレクトリを探索する。所望の命令がL2キャッシュ
26Bにあれば、その命令は要求を出したI/Eユニッ
トに戻される。所望の命令がL2キャッシュ26Bにな
ければ、L3メモリIOA又はIOHに要求が送られる
。所望の命令がL3メモリで見つかると、その命令は直
ちに記憶サブシステム26に送られ(−時に16バイト
ずつ)、L2キャッシュ26Bへの記憶と同時に、特定
のI/Eユニット(20A〜20Cの1つ)へバイパス
される。
Bを探索すべく記憶サブシステム26のアクセスを要求
する。記憶サブシステム26は、I/Eユニット20A
、20B、20C1共用チヤネル・プロセッサ28及び
統合I10サブシステム14からの要求を受け取るアー
ビタを備えている。特定のI/Eユニット(20A〜2
0Cの1つ)が記憶サブシステム26のアクセスを許さ
れると、そのI/Eユニットは所望の命令を見つけるた
め、記憶サブシステム26内のL2キャッシュ26Bの
ディレクトリを探索する。所望の命令がL2キャッシュ
26Bにあれば、その命令は要求を出したI/Eユニッ
トに戻される。所望の命令がL2キャッシュ26Bにな
ければ、L3メモリIOA又はIOHに要求が送られる
。所望の命令がL3メモリで見つかると、その命令は直
ちに記憶サブシステム26に送られ(−時に16バイト
ずつ)、L2キャッシュ26Bへの記憶と同時に、特定
のI/Eユニット(20A〜20Cの1つ)へバイパス
される。
記憶サブシステム26は、MPシステムにおける記憶の
一貫性を維持するための機能も持っている0例えば、特
定のI/Eユニット20C(以下では説明の便宜上、I
/Eユニットをプロセッサと呼ぶことにする)がデータ
を変更する場合、そのデータを他のプロセッサ20A及
び20Bから見れるようにしなければならない。プロセ
ッサ2oCが自身のし1キヤツシユ18Cにあるデータ
を変更するのであれば、そのデータに対する探索が記憶
サブシステム26のL2キャッシュ・ディレクトリ26
J(第5図参照)で行われる。もし見つかると、L1キ
ャッシュ18Cでの変更に合わせてL2キャッシュ中の
データも変更される。
一貫性を維持するための機能も持っている0例えば、特
定のI/Eユニット20C(以下では説明の便宜上、I
/Eユニットをプロセッサと呼ぶことにする)がデータ
を変更する場合、そのデータを他のプロセッサ20A及
び20Bから見れるようにしなければならない。プロセ
ッサ2oCが自身のし1キヤツシユ18Cにあるデータ
を変更するのであれば、そのデータに対する探索が記憶
サブシステム26のL2キャッシュ・ディレクトリ26
J(第5図参照)で行われる。もし見つかると、L1キ
ャッシュ18Cでの変更に合わせてL2キャッシュ中の
データも変更される。
これが終ると、他のプロセッサ20A及び20Bは、そ
れらのし1キヤツシユ18A及び18Bにある対応する
データを変更するため、L2キャッシュ26Bにある正
しい変更データを見ることを許される。プロセッサ20
Gは、他のプロセッサ20A及び20Bがそれらの対応
するデータを変更するまでは、当該データを再びアクセ
スすることはできない。記憶要求によって変更されたデ
ータの写しについて他のプロセッサのL1キャッシュを
検査することを「相互照会ノという。相互照会はそのよ
うな写しを除くために使用される。他のL1キャッシュ
は、記憶動作が行われた時に新しいデータで更新されな
い。
れらのし1キヤツシユ18A及び18Bにある対応する
データを変更するため、L2キャッシュ26Bにある正
しい変更データを見ることを許される。プロセッサ20
Gは、他のプロセッサ20A及び20Bがそれらの対応
するデータを変更するまでは、当該データを再びアクセ
スすることはできない。記憶要求によって変更されたデ
ータの写しについて他のプロセッサのL1キャッシュを
検査することを「相互照会ノという。相互照会はそのよ
うな写しを除くために使用される。他のL1キャッシュ
は、記憶動作が行われた時に新しいデータで更新されな
い。
プロセッサ(第2図の20、第3図の20A〜20C)
及びそのL1キャッシュ(第2図の18、第3図の18
A〜18C)の詳細な構成を第4図に示す。
及びそのL1キャッシュ(第2図の18、第3図の18
A〜18C)の詳細な構成を第4図に示す。
第4@において、プロセッサ(20,20A〜20Cの
1つ)は次のような構成要素を備えている。まず制御記
憶サブシステム20−1は、84KBの高速固定制御記
憶2O−IA、ページ可能制御記憶2O−IB (8K
B、2にワード、4ウエイ・アソシアティブ式)、ペー
ジ可能制御記憶2O−IHのためのディレクトリ(C5
DIR)20−IC1制御記憶アドレス・レジスタ(C
8AR)20−LD、及び8要素のブランチ連係機、構
(BAL 5TK)20−IEを含む。機械状態制御
機構20−2は、プロセッサ用の大域制御機構2O−2
Aと、制御記憶起点アドレス・バスを介してC8AR2
0−LDに接続され、マイクロコード化された命令のた
めの初期アドレスを生成するのに用いるOPブランチ・
テーブル2O−2Bとを含む、アドレス生成ユニット2
0−3は3つのチップで構成される。第1チツプは命令
キャッシュDLAT及びL1ディレクトリ2O−3Aを
含み、第2チツプはデータ・キャッシュDLAT及びL
1ディレクトリ2O−3Bを含み、第3チツプはアドレ
ス・バスを介してL1キャッシュ18.18A〜18C
に接続されたアドレス生成チップ2O−3Gである。命
令DLAT及びL1ディレクトリ2O−3Aは4本のヒ
ツト線を介してL1キャッシュの命令キャッシュ部、1
8−1Aに接続される。これらのヒツト線は、要求され
た命令が命令キャッシュ部18−IAにあることを示す
、同様に、データDLAT及びL1ディレクトリ2O−
3Bも、要求されたデータがLlキャッシュのデータ・
キャッシュ部18−2Bにあることを示す4本のヒツト
線を介してデータ・キャッシュ部18−2Bに接続され
る。アドレス生成ユニット2o−3はアドレス生成に用
いる16個の汎用レジスタの写しくGPRC0PY)2
0−3D及び命令実行のためにアドレスをマイクロコー
ドへ供給するのに用いる3つの記憶アドレス・レジスタ
(SAR)20−3Eを含む。
1つ)は次のような構成要素を備えている。まず制御記
憶サブシステム20−1は、84KBの高速固定制御記
憶2O−IA、ページ可能制御記憶2O−IB (8K
B、2にワード、4ウエイ・アソシアティブ式)、ペー
ジ可能制御記憶2O−IHのためのディレクトリ(C5
DIR)20−IC1制御記憶アドレス・レジスタ(C
8AR)20−LD、及び8要素のブランチ連係機、構
(BAL 5TK)20−IEを含む。機械状態制御
機構20−2は、プロセッサ用の大域制御機構2O−2
Aと、制御記憶起点アドレス・バスを介してC8AR2
0−LDに接続され、マイクロコード化された命令のた
めの初期アドレスを生成するのに用いるOPブランチ・
テーブル2O−2Bとを含む、アドレス生成ユニット2
0−3は3つのチップで構成される。第1チツプは命令
キャッシュDLAT及びL1ディレクトリ2O−3Aを
含み、第2チツプはデータ・キャッシュDLAT及びL
1ディレクトリ2O−3Bを含み、第3チツプはアドレ
ス・バスを介してL1キャッシュ18.18A〜18C
に接続されたアドレス生成チップ2O−3Gである。命
令DLAT及びL1ディレクトリ2O−3Aは4本のヒ
ツト線を介してL1キャッシュの命令キャッシュ部、1
8−1Aに接続される。これらのヒツト線は、要求され
た命令が命令キャッシュ部18−IAにあることを示す
、同様に、データDLAT及びL1ディレクトリ2O−
3Bも、要求されたデータがLlキャッシュのデータ・
キャッシュ部18−2Bにあることを示す4本のヒツト
線を介してデータ・キャッシュ部18−2Bに接続され
る。アドレス生成ユニット2o−3はアドレス生成に用
いる16個の汎用レジスタの写しくGPRC0PY)2
0−3D及び命令実行のためにアドレスをマイクロコー
ドへ供給するのに用いる3つの記憶アドレス・レジスタ
(SAR)20−3Eを含む。
固定小数点命令実行ユニット20−4は、データ(D)
バスを介してデータ・キャッシュ18−2に接続され、
上述の16個の汎用レジスタ及びマイクロコードによっ
て独占的に使用される多数の作業用レジスタを含むロー
カル・メモリ・スタック2O−4Aと;算術及びシフト
・タイプの様々なオペレーションの結果及び370条件
コードの結果を含む条件レジスタ2O−4Bと;4バイ
トのALU20−4Cと;8バイトの回転組合せユニッ
ト2O−4Dと;汎用レジスタ、作業用レジスタ及び条
件レジスタからブランチの方向を決定するビットを選択
するブランチ・ビット選択ハードウェア2O−4Eとを
含んでいる。浮動小数点プロセッサ20−5は、浮動小
数点レジスタ及びマイクロコード作業用レジスタ2O−
5Eと、コマンド解説制御機構2O−5Aと、浮動小数
点加算器2O−5Bと、固定小数点及び浮動小数点乗算
アレイ2O−5Cと、平方根及び除算機構2O−5Dと
を含んでいる。1987年9月30日付の米国特許出頴
第102985号はこのような浮動小数点プロセッサ2
0−5の一例を開示している。ALU2o−4Cは、1
987年6月26日付の米国特許出願第66580号に
開示されているような加算器を含む。
バスを介してデータ・キャッシュ18−2に接続され、
上述の16個の汎用レジスタ及びマイクロコードによっ
て独占的に使用される多数の作業用レジスタを含むロー
カル・メモリ・スタック2O−4Aと;算術及びシフト
・タイプの様々なオペレーションの結果及び370条件
コードの結果を含む条件レジスタ2O−4Bと;4バイ
トのALU20−4Cと;8バイトの回転組合せユニッ
ト2O−4Dと;汎用レジスタ、作業用レジスタ及び条
件レジスタからブランチの方向を決定するビットを選択
するブランチ・ビット選択ハードウェア2O−4Eとを
含んでいる。浮動小数点プロセッサ20−5は、浮動小
数点レジスタ及びマイクロコード作業用レジスタ2O−
5Eと、コマンド解説制御機構2O−5Aと、浮動小数
点加算器2O−5Bと、固定小数点及び浮動小数点乗算
アレイ2O−5Cと、平方根及び除算機構2O−5Dと
を含んでいる。1987年9月30日付の米国特許出頴
第102985号はこのような浮動小数点プロセッサ2
0−5の一例を開示している。ALU2o−4Cは、1
987年6月26日付の米国特許出願第66580号に
開示されているような加算器を含む。
外部チップ20−6はタイマ及び割込み機構を含む。割
込みはI10サブシステム14等から来る。プロセッサ
間連絡機構(IPC)20−7は連絡バスを介して記憶
サブシステムに接続されており、プロセッサ間でのメツ
セージ交換及び時刻機構へのアクセスを可能にする。
込みはI10サブシステム14等から来る。プロセッサ
間連絡機構(IPC)20−7は連絡バスを介して記憶
サブシステムに接続されており、プロセッサ間でのメツ
セージ交換及び時刻機構へのアクセスを可能にする。
第4図において、L1キャッシュ(18,18A〜18
Cの1つ)は次のような構成要素を僅えている。まず命
令キャッシュ18−1は、16にバイト/4ウエイのキ
ャッシュ18−IAと、その出力部に設けられた16バ
イトの命令バッファ18−IBと、記憶サブシステムか
らの入力部に設けられた8バイトのインページ・レジス
タ18−ICとを含む、インページ・レジスタ18−I
Cに接続されている記憶バスは8バイト幅である。
Cの1つ)は次のような構成要素を僅えている。まず命
令キャッシュ18−1は、16にバイト/4ウエイのキ
ャッシュ18−IAと、その出力部に設けられた16バ
イトの命令バッファ18−IBと、記憶サブシステムか
らの入力部に設けられた8バイトのインページ・レジス
タ18−ICとを含む、インページ・レジスタ18−I
Cに接続されている記憶バスは8バイト幅である。
インページ・レジスタ18−ICは制御記憶サブシステ
ム20−1に接続され、ページ可能制御記憶2O−IB
でミスが生じた場合に新しいデータをサブシステム20
−1に供給する。データ・キャッシュ18−2は、記憶
バスに接続されたインページ・バッファ18−2Aと、
16にバイト/4ウエイのキャッシュ18−2Bと、キ
ャッシュ・データフロー18−2Cと、8要素の記憶バ
ッファ18−2Dとを含む、キャッシュ・データフロー
18−2Cは複数の入出力レジスタを含み、8バイトの
データ・バス(Dバス)を介してプロセッサに接続され
、8バイトのベクトル・バスを介してベクトル・プロセ
ッサ(22A〜22C)に接続される。
ム20−1に接続され、ページ可能制御記憶2O−IB
でミスが生じた場合に新しいデータをサブシステム20
−1に供給する。データ・キャッシュ18−2は、記憶
バスに接続されたインページ・バッファ18−2Aと、
16にバイト/4ウエイのキャッシュ18−2Bと、キ
ャッシュ・データフロー18−2Cと、8要素の記憶バ
ッファ18−2Dとを含む、キャッシュ・データフロー
18−2Cは複数の入出力レジスタを含み、8バイトの
データ・バス(Dバス)を介してプロセッサに接続され
、8バイトのベクトル・バスを介してベクトル・プロセ
ッサ(22A〜22C)に接続される。
次に、第4図に示すプロセッサ及びL1キャッシュの動
作について説明・する。
作について説明・する。
まず、実行すべき命令が命令キャッシュ18−IAに記
憶されているものとする。この命令は命令キャッシュ1
8−IAから取出されて命令バッファ18−IHに書込
まれる(命令バッファ18−IBは常に一杯の状態を保
つようにされる)。
憶されているものとする。この命令は命令キャッシュ1
8−IAから取出されて命令バッファ18−IHに書込
まれる(命令バッファ18−IBは常に一杯の状態を保
つようにされる)。
次いで命令は命令バッファ18−IBから取出されて、
アドレス生成ユニット20−3、固定小数点実行ユニッ
ト2o−4及び機械状態制御機構20−2の命令レジス
タに書込まれ、かくして命令の解読が始まる。必要であ
れば、オペランドがアドレス生成ユニット20−3のG
PRC0PY20−3Dから取出される(通常は、RX
形式の命令の場合に、基底レジスタ及び指標レジスタに
ついてオペランドが要求されるとGPRC0PY20−
3Dがアクセスされる)。次のサイクルでアドレス生成
プロセスが開始する。基底レジスタ及び指標レジスタの
内容が命令の変位フィールドに加算され、有効アドレス
が生成されて、データ・キャッシュ18−2又は命令キ
ャッシュ18−1に送られる。この例ではオペランドの
取出しを行うので、有効アドレスはデータ・キャッシュ
18−2に送られる。アドレスはデータDLAT及びL
1ディレクトリ・チップ2O−3Bにも送られる。キャ
ッシュ及びディレクトリのアクセスは第3サイクルで開
始する。チップ2O−3Bは、有効アドレスから絶対ア
ドレスへの変換が可能かどうかを調べる。もし同じ変換
が以前に行われていれば、変換結果が記録されている。
アドレス生成ユニット20−3、固定小数点実行ユニッ
ト2o−4及び機械状態制御機構20−2の命令レジス
タに書込まれ、かくして命令の解読が始まる。必要であ
れば、オペランドがアドレス生成ユニット20−3のG
PRC0PY20−3Dから取出される(通常は、RX
形式の命令の場合に、基底レジスタ及び指標レジスタに
ついてオペランドが要求されるとGPRC0PY20−
3Dがアクセスされる)。次のサイクルでアドレス生成
プロセスが開始する。基底レジスタ及び指標レジスタの
内容が命令の変位フィールドに加算され、有効アドレス
が生成されて、データ・キャッシュ18−2又は命令キ
ャッシュ18−1に送られる。この例ではオペランドの
取出しを行うので、有効アドレスはデータ・キャッシュ
18−2に送られる。アドレスはデータDLAT及びL
1ディレクトリ・チップ2O−3Bにも送られる。キャ
ッシュ及びディレクトリのアクセスは第3サイクルで開
始する。チップ2O−3Bは、有効アドレスから絶対ア
ドレスへの変換が可能かどうかを調べる。もし同じ変換
が以前に行われていれば、変換結果が記録されている。
変換されたアドレスはディレクトリ2O−3Bの出力と
比較される。データ・がキャッシュ18−2Bに取込ま
れていると、ディレクトリ及びDLATの出力は一致す
る。その場合、データDLAT及びL1ディレクトリ2
O−3Bからの4本のヒツト線のうちの1本が活動化さ
れる。これらのヒツト線はデータ・キャッシュ18−2
Bに接続されており。
比較される。データ・がキャッシュ18−2Bに取込ま
れていると、ディレクトリ及びDLATの出力は一致す
る。その場合、データDLAT及びL1ディレクトリ2
O−3Bからの4本のヒツト線のうちの1本が活動化さ
れる。これらのヒツト線はデータ・キャッシュ18−2
Bに接続されており。
活動化されたヒツト線は、4つのアソシアティブ・クラ
スのうちどのクラスが所望のデータを含んでいるかを示
す。次の第4サイクルで、データ・キャッシュ18−2
Bの出力がキャッシュ・データフロー18−2C中の取
出し整合フィルタを介してゲートされ、適切にシフトさ
れ、Dバスを介して固定小数点実行ユニット20−4に
送られ、ALU20−4Cにラッチされる。これは、R
X形式の命令の第2オペランドのアクセスである。この
シフト・プロセスと並行して、第1オペランドがローカ
ル・メモリ2O−4A中の汎用レジスタからアクセスさ
れる。その結果、2つのオペランドがALU20−4G
の入力部にラッチされる。
スのうちどのクラスが所望のデータを含んでいるかを示
す。次の第4サイクルで、データ・キャッシュ18−2
Bの出力がキャッシュ・データフロー18−2C中の取
出し整合フィルタを介してゲートされ、適切にシフトさ
れ、Dバスを介して固定小数点実行ユニット20−4に
送られ、ALU20−4Cにラッチされる。これは、R
X形式の命令の第2オペランドのアクセスである。この
シフト・プロセスと並行して、第1オペランドがローカ
ル・メモリ2O−4A中の汎用レジスタからアクセスさ
れる。その結果、2つのオペランドがALU20−4G
の入力部にラッチされる。
第5サイクルにおいて、ALU20−4Gは命令のOP
コードの指示に従って2つのオペランドを処理(加算、
減算、除算等)する。第5サイクルの終りにALU20
−4Cの出力がラッチされ、条件レジスタ2O−4Bが
オーバーフロー状態又はゼロ状態を示すようにセットさ
れる。第6サイクルにおいて、アドレス生成ユニット2
0−3のGPRC0PY20−3Dをローカル・メモリ
2O−4Aの内容と一致させるため、ALU20−4G
の出力がローカル・メモリ2O−4A及びGPRC0P
Y20−3DLm書戻される。
コードの指示に従って2つのオペランドを処理(加算、
減算、除算等)する。第5サイクルの終りにALU20
−4Cの出力がラッチされ、条件レジスタ2O−4Bが
オーバーフロー状態又はゼロ状態を示すようにセットさ
れる。第6サイクルにおいて、アドレス生成ユニット2
0−3のGPRC0PY20−3Dをローカル・メモリ
2O−4Aの内容と一致させるため、ALU20−4G
の出力がローカル・メモリ2O−4A及びGPRC0P
Y20−3DLm書戻される。
この命令の解読サイクルが完了すると、次の命令の解読
サイクルを開始することができ、従って一時に6個まで
の命令を解読又は実行できる。命令の実行を終らせるの
にマイクロコードが必要な場合がある。従って解読サイ
クルの間に、命令の○Pコードをアドレスとして用いて
oPブランチ・テーブル2O−2Bが探索される。OP
ブランチ・テーブル2O−2Bは、命令実行に必要なマ
イクロコード・ルーチンの開始アドレスを与える。他の
命令も同様であるが、これらの命令は実行に2サイクル
以上を必要とする。従って、OPブランチ・テーブル2
O−2Bが探索されている間は。
サイクルを開始することができ、従って一時に6個まで
の命令を解読又は実行できる。命令の実行を終らせるの
にマイクロコードが必要な場合がある。従って解読サイ
クルの間に、命令の○Pコードをアドレスとして用いて
oPブランチ・テーブル2O−2Bが探索される。OP
ブランチ・テーブル2O−2Bは、命令実行に必要なマ
イクロコード・ルーチンの開始アドレスを与える。他の
命令も同様であるが、これらの命令は実行に2サイクル
以上を必要とする。従って、OPブランチ・テーブル2
O−2Bが探索されている間は。
命令解読は一時中止される。マイクロコードの場合、マ
イクロ命令を解読用ハードウェアへ供給するのにIバス
が使用される。その際、命令キャッシュ18−IAは遮
断され、制御記憶サブシステム20−1がターンオンさ
れて、マイクロ命令が1バス上を転送される。
イクロ命令を解読用ハードウェアへ供給するのにIバス
が使用される。その際、命令キャッシュ18−IAは遮
断され、制御記憶サブシステム20−1がターンオンさ
れて、マイクロ命令が1バス上を転送される。
浮動小数点命令も同様にして解読されるが、アドレス生
成サイクルの間に、実行すべきオペレーションを指示す
るコマンドが浮動小数点ユニット20−5に送られる点
が異なっている。例えばRX形式の浮動小数点命令の場
合、オペランドは前述のようにデータ・キャッシュ18
−2Bから取出されるが、固定小数点プロセッサ20−
4ではなく浮動小数点プロセッサ20−5に送られる。
成サイクルの間に、実行すべきオペレーションを指示す
るコマンドが浮動小数点ユニット20−5に送られる点
が異なっている。例えばRX形式の浮動小数点命令の場
合、オペランドは前述のようにデータ・キャッシュ18
−2Bから取出されるが、固定小数点プロセッサ20−
4ではなく浮動小数点プロセッサ20−5に送られる。
浮動小数点命令の実行が完了すると、条件コード及びも
しあればオーバーフロー等の割込み条件を示す結果が固
定小数点実行ユニット20−4に戻される。
しあればオーバーフロー等の割込み条件を示す結果が固
定小数点実行ユニット20−4に戻される。
次に、第4図のシステムを別の面から説明する。
第4図において、パイプラインの第1ステージは命令解
読である。1つのオペランドがメモリにあるRX形式の
命令の場合、基底レジスタ及び指標レジスタの内容をG
PRC0PY20−3Dから得なければならない、変位
フィールドが基底レジスタ及び指標レジスタに加算され
る。この加算は次のサイクルの始めに完了し、有効アド
レスを与える。有効アドレスはDLAT及びディレクト
リ・チップ2O−3A/2O−3Bに送られる。
読である。1つのオペランドがメモリにあるRX形式の
命令の場合、基底レジスタ及び指標レジスタの内容をG
PRC0PY20−3Dから得なければならない、変位
フィールドが基底レジスタ及び指標レジスタに加算され
る。この加算は次のサイクルの始めに完了し、有効アド
レスを与える。有効アドレスはDLAT及びディレクト
リ・チップ2O−3A/2O−3Bに送られる。
有効アドレスの上位部分は変換しなけれけばならないが
、下位部分は変換することなくキャッシュ18−IA/
18−2Bに送られる。第3サイクルにおいて、キャッ
シュ・アクセスが開始される。
、下位部分は変換することなくキャッシュ18−IA/
18−2Bに送られる。第3サイクルにおいて、キャッ
シュ・アクセスが開始される。
絶対アドレスを得るため仮想アドレスを用いてDLAT
ディレクトリが探索される。この絶対アドレスはキャッ
シュ・ディレクトリに保持されている絶対アドレスと比
較され、もし一致すれば、キャッシュ18−IA/18
−2Bに向かう対応するヒツト線が活動化される。一方
、キャッシュでは4つのアソシアティブ・クラスがすべ
てアクセスされて、出力部にラッチされている。第4サ
イクルにおいて、活動化されたヒツト線に対応するクラ
スが選択され、そのデータが位置合せされて、Dバスを
介して固定小数点実行ユニット20−4又は浮動小数点
ユニット20−5に送られる。かくして、第4サイクル
の終りには、一方のオペランドがALU20−4Cの入
力部にラッチされる。
ディレクトリが探索される。この絶対アドレスはキャッ
シュ・ディレクトリに保持されている絶対アドレスと比
較され、もし一致すれば、キャッシュ18−IA/18
−2Bに向かう対応するヒツト線が活動化される。一方
、キャッシュでは4つのアソシアティブ・クラスがすべ
てアクセスされて、出力部にラッチされている。第4サ
イクルにおいて、活動化されたヒツト線に対応するクラ
スが選択され、そのデータが位置合せされて、Dバスを
介して固定小数点実行ユニット20−4又は浮動小数点
ユニット20−5に送られる。かくして、第4サイクル
の終りには、一方のオペランドがALU20−4Cの入
力部にラッチされる。
この間プロセッサでは他の命令が実行されている。
他方のオペランドを得るため、GPRC0PY20−3
D及びローカル・メモリ2O−4Aがアクセスされる。
D及びローカル・メモリ2O−4Aがアクセスされる。
この時点で両方のオペランドがALU20−4Gの入力
部にラッチされる。計算、条件レジスタのセット、及び
GPRC0PY20−3Dへの結果の書込みが1サイク
ルで行われる。結果は例えばアドレス計算に入用なこと
がある。その場合、結果はアドレス生成用加算器2O−
3Cに入力される。命令によっては、その実行中にキャ
ッシュ18−IA/18−2Bのアクセスが不要なもの
もある。そのような命令の解読が完了すると、結果はキ
ャッシュ・アクセスに起因する遅延なしに直接実行ユニ
ットに渡される。従って、命令が解読されてアドレス生
成チップ20−3に渡されると直ちに別の命令が解読さ
れる。
部にラッチされる。計算、条件レジスタのセット、及び
GPRC0PY20−3Dへの結果の書込みが1サイク
ルで行われる。結果は例えばアドレス計算に入用なこと
がある。その場合、結果はアドレス生成用加算器2O−
3Cに入力される。命令によっては、その実行中にキャ
ッシュ18−IA/18−2Bのアクセスが不要なもの
もある。そのような命令の解読が完了すると、結果はキ
ャッシュ・アクセスに起因する遅延なしに直接実行ユニ
ットに渡される。従って、命令が解読されてアドレス生
成チップ20−3に渡されると直ちに別の命令が解読さ
れる。
第5図は第2図のシステムを少し書直したものである。
第5図のMPシステムは、記憶サブシステム26;第1
L1キャッシュ記憶18A;第2L1キャッシュ記憶1
8B;第3L1キャッシュ記憶18C;命令(I)ユニ
ット、実行(E)ユニット及び制御記憶(CS)を含み
、第1LIキヤツシユ記憶18Aに接続された第1プロ
セッサ20A;第1LIキヤツシユ記憶18Aに接続さ
れた第1ベクトル・プロセッサ(VP)22A; Iユ
ニット、Eユニット及び制御記憶を含み、第2L1キヤ
ツシユ記憶18Bに接続された第2プロセッサ22B;
第2LLキヤツシユ記憶18Bに接続された第2ベクト
ル・プロセッサ22B;Iユニット、Eユニット及び制
御記憶を含み、第3LLキヤツシユ記憶18Cに接続さ
れた第3プロセッサ20C;第3LLキヤツシユ記憶1
8Gに接続された第3ベクトル・プロセッサ22Cを含
んでいる。記憶サブシステム26には、主記憶10A、
10B、共用チャネル・プロセッサ28A、28B及び
統合アダプタ・サブシステム14.16も接続されてい
る。
L1キャッシュ記憶18A;第2L1キャッシュ記憶1
8B;第3L1キャッシュ記憶18C;命令(I)ユニ
ット、実行(E)ユニット及び制御記憶(CS)を含み
、第1LIキヤツシユ記憶18Aに接続された第1プロ
セッサ20A;第1LIキヤツシユ記憶18Aに接続さ
れた第1ベクトル・プロセッサ(VP)22A; Iユ
ニット、Eユニット及び制御記憶を含み、第2L1キヤ
ツシユ記憶18Bに接続された第2プロセッサ22B;
第2LLキヤツシユ記憶18Bに接続された第2ベクト
ル・プロセッサ22B;Iユニット、Eユニット及び制
御記憶を含み、第3LLキヤツシユ記憶18Cに接続さ
れた第3プロセッサ20C;第3LLキヤツシユ記憶1
8Gに接続された第3ベクトル・プロセッサ22Cを含
んでいる。記憶サブシステム26には、主記憶10A、
10B、共用チャネル・プロセッサ28A、28B及び
統合アダプタ・サブシステム14.16も接続されてい
る。
記憶サブシステム26の構成を第6図に示す。
第6図の記憶サブシステム26は、L2制御部26に;
L3/L4メモリIOA及びIOHに接続されたL2
キャッシュ/バス切替えユニット(BSU)26B/2
6A;L2制御部26Kに接続されたメモリ制御部26
E ; L2キャッシュ/バス切替えユニット26B/
26A及びメモリ制御部26Eに接続されたバス切替え
ユニット(BSU)制御部26F;バス切替えユニット
制御部26F及びL2キャッシュ/バス切替えユニット
26B/26Aに接続された記憶チャネル・データ・バ
ッファ28G;メモリ制御部26F及びL2制御部26
Kに接続されたアドレス/キー制御部26H;アドレス
/キー制御部26Hに接続されたL3記憶キー26エ;
並びにメモリ制御部26E及びアドレス/キー制御部2
6Hに接続されたチャネルL2キャッシュ・ディレクト
リ26J、を含んでいる。L2制御部26には記憶サブ
システム26のためのアービトレーション・ユニット、
すなわちL2キャッシュ・アービタを含む、あとで説明
するように、L2キャッシュ・アービタは、L2キャッ
シュ26Bに情報を記憶する要求が許されるかどうかを
決定する。
L3/L4メモリIOA及びIOHに接続されたL2
キャッシュ/バス切替えユニット(BSU)26B/2
6A;L2制御部26Kに接続されたメモリ制御部26
E ; L2キャッシュ/バス切替えユニット26B/
26A及びメモリ制御部26Eに接続されたバス切替え
ユニット(BSU)制御部26F;バス切替えユニット
制御部26F及びL2キャッシュ/バス切替えユニット
26B/26Aに接続された記憶チャネル・データ・バ
ッファ28G;メモリ制御部26F及びL2制御部26
Kに接続されたアドレス/キー制御部26H;アドレス
/キー制御部26Hに接続されたL3記憶キー26エ;
並びにメモリ制御部26E及びアドレス/キー制御部2
6Hに接続されたチャネルL2キャッシュ・ディレクト
リ26J、を含んでいる。L2制御部26には記憶サブ
システム26のためのアービトレーション・ユニット、
すなわちL2キャッシュ・アービタを含む、あとで説明
するように、L2キャッシュ・アービタは、L2キャッ
シュ26Bに情報を記憶する要求が許されるかどうかを
決定する。
記憶サブシステム26は、プロセッサ毎に別々に設けら
れる記憶待ち行列と共に共用の逐次再使用可能L2キャ
ッシュを用いることにより、3台″までのプロセッサの
間での記憶の一貫性を維持し、更にチャネル装置をサポ
ートするため、チャネル・インタフェースを3つまでサ
ポートする(L3/L4メモリへの2つの並列パスを使
用)、記憶サブシステム26の機能は幾つかの主要ユニ
ットに分けることができる。そのうちの2つ、すなわち
L2キャッシュ及びL3/L4メモリ・ポートは。
れる記憶待ち行列と共に共用の逐次再使用可能L2キャ
ッシュを用いることにより、3台″までのプロセッサの
間での記憶の一貫性を維持し、更にチャネル装置をサポ
ートするため、チャネル・インタフェースを3つまでサ
ポートする(L3/L4メモリへの2つの並列パスを使
用)、記憶サブシステム26の機能は幾つかの主要ユニ
ットに分けることができる。そのうちの2つ、すなわち
L2キャッシュ及びL3/L4メモリ・ポートは。
重要な資源へのアクセスを許可するという点で主コント
ローラと考えられる。残りのユニットはL2制御部26
K及びメモリ制御部26Hに従属していると考えられる
。
ローラと考えられる。残りのユニットはL2制御部26
K及びメモリ制御部26Hに従属していると考えられる
。
旦l亘!皿ス互基
L2制御部26には、中央プロセッサが記憶階層の下位
レベル、すなわちL2キャッシュ及びL3/L4メモリ
をアクセスするための基本インタフェースを提供する。
レベル、すなわちL2キャッシュ及びL3/L4メモリ
をアクセスするための基本インタフェースを提供する。
L2制御部26には、各プロセッサとの固有のコマンド
/アドレス・インクフェースを維持する。各プロセッサ
は、取出し要求に対してL1キャッシュ・ミスが生じた
時に、このインタフェースを介してL1キャッシュから
の取出し要求を送る。同様に、プロセッサのすべての記
憶要求もこのインタフェースを介してL2制御部26K
に送られる。L2制御部26には、L2キャッシュ・レ
ベルに各プロセッサのための要求待ち行列を維持する。
/アドレス・インクフェースを維持する。各プロセッサ
は、取出し要求に対してL1キャッシュ・ミスが生じた
時に、このインタフェースを介してL1キャッシュから
の取出し要求を送る。同様に、プロセッサのすべての記
憶要求もこのインタフェースを介してL2制御部26K
に送られる。L2制御部26には、L2キャッシュ・レ
ベルに各プロセッサのための要求待ち行列を維持する。
保留中の要求の中からサービスを受ける要求を随時選択
するのが前述のL2キャッシュ・アービタである。L2
制御部26KにはL2キャッシュ・ディレクトリもあり
、選択された要求がL2キャッシュのアクセスによって
完了できるかどうかを決定する。もしL2キャッシュの
アクセスが可能であれば、その要求は完了次第廃棄され
る。L2キャッシュ・ディレクトリ・ミスのため要求を
完了できない場合は、その要求はL2制御部26にで保
留状態におかれ、L3メモリから所望のデータを取出す
要求がメモリ制御部26Eに送られる。L2制御部26
には、構成全体での記憶の一貫性を維持する責任があり
。
するのが前述のL2キャッシュ・アービタである。L2
制御部26KにはL2キャッシュ・ディレクトリもあり
、選択された要求がL2キャッシュのアクセスによって
完了できるかどうかを決定する。もしL2キャッシュの
アクセスが可能であれば、その要求は完了次第廃棄され
る。L2キャッシュ・ディレクトリ・ミスのため要求を
完了できない場合は、その要求はL2制御部26にで保
留状態におかれ、L3メモリから所望のデータを取出す
要求がメモリ制御部26Eに送られる。L2制御部26
には、構成全体での記憶の一貫性を維持する責任があり
。
L2状況アレイでL1キャッシュの内容を監視している
。必要に応じて、L1キャッシュの写しの無効化要求が
それぞれのコマンド/アドレス・インタフェースを介し
て関連するプロセッサに送られる。
。必要に応じて、L1キャッシュの写しの無効化要求が
それぞれのコマンド/アドレス・インタフェースを介し
て関連するプロセッサに送られる。
メモリ 7部26E
メモリ制御部26EはL3/L4メモリ・ポートへのア
クセスを割振る機能を持ったユニットである。2つの独
立したポートがあり、各ポートは記憶内容の半分を含ん
でいる。メモリ制御部26Eは、すべてのチャネル要求
を最大7つまで、及びプロセッサ上2キャッシュ・ミス
要求をプロセッサ当り1つまで待ち行列に入れる。メモ
リ制御部26Eはこの要求待ち行列からメモリ・ポート
当り1つの要求を選択する。プロセッサ要求に対しては
、これが遂行すべき主機能である。しかしチャネル要求
の場合は、メモリ制御部26Eは記□憶キー・アレイ及
びチャネル上2キャッシュ・ディレクトリへのアクセス
も制御する。メモリ制御部26Eは、アドレス/キー制
御部26Hからチャネル要求を受取ると、まずチャネル
上2キャッシュ・ディレクトリ26J (L2キャッシ
ュ・ディレクトリの写し)を探索することによって、所
望のデータがL2キャッシュ26Bにあるがどうかを決
定しなければならない。更に、メモリ制御部26Eは、
当該要求に関連する記憶キーを記憶キー・アレイ26I
中の記憶キーと比較することによって、アクセスが許さ
れるかどうかを決定する。保護例外が生じなければ、メ
モリ制御部26Eは、この要求がL3アクセスの競合に
加わるのを許す。この要求は、L3アービタによって選
択された時、もしチャネル上2キャッシュ・ディレクト
リ26Jの探索でヒツトが生じているとL2制御部26
Kに送られ、ミスが生じているとL3ポートに送られる
。
クセスを割振る機能を持ったユニットである。2つの独
立したポートがあり、各ポートは記憶内容の半分を含ん
でいる。メモリ制御部26Eは、すべてのチャネル要求
を最大7つまで、及びプロセッサ上2キャッシュ・ミス
要求をプロセッサ当り1つまで待ち行列に入れる。メモ
リ制御部26Eはこの要求待ち行列からメモリ・ポート
当り1つの要求を選択する。プロセッサ要求に対しては
、これが遂行すべき主機能である。しかしチャネル要求
の場合は、メモリ制御部26Eは記□憶キー・アレイ及
びチャネル上2キャッシュ・ディレクトリへのアクセス
も制御する。メモリ制御部26Eは、アドレス/キー制
御部26Hからチャネル要求を受取ると、まずチャネル
上2キャッシュ・ディレクトリ26J (L2キャッシ
ュ・ディレクトリの写し)を探索することによって、所
望のデータがL2キャッシュ26Bにあるがどうかを決
定しなければならない。更に、メモリ制御部26Eは、
当該要求に関連する記憶キーを記憶キー・アレイ26I
中の記憶キーと比較することによって、アクセスが許さ
れるかどうかを決定する。保護例外が生じなければ、メ
モリ制御部26Eは、この要求がL3アクセスの競合に
加わるのを許す。この要求は、L3アービタによって選
択された時、もしチャネル上2キャッシュ・ディレクト
リ26Jの探索でヒツトが生じているとL2制御部26
Kに送られ、ミスが生じているとL3ポートに送られる
。
アドレス/キー ′ 26H
アドレス/キー制御部26Hは2つの基本機能を持って
いる。その1つは外部チャネル装置のためのコマンド/
アドレス・インタフェースであり、3つのチャネル・イ
ンタフェースをサポートする。
いる。その1つは外部チャネル装置のためのコマンド/
アドレス・インタフェースであり、3つのチャネル・イ
ンタフェースをサポートする。
コマンド・/アドレス・インタフェースはチャネル装置
から記憶要求を受取り、それを記憶サブシステム・クロ
ックレートに変換し、内部バッファに入れる。このイン
タフェースはまた要求をメモリ制御部26Eに送り、す
べてのチャネル・オペレーションの状況をチャネル・・
サブシステムに戻す。
から記憶要求を受取り、それを記憶サブシステム・クロ
ックレートに変換し、内部バッファに入れる。このイン
タフェースはまた要求をメモリ制御部26Eに送り、す
べてのチャネル・オペレーションの状況をチャネル・・
サブシステムに戻す。
もう1つの機能は記憶キー・アレイ及び参照/変更(R
/C)ビット・アレイのサポートである。
/C)ビット・アレイのサポートである。
キー・アレイは、システム/370アーキテクチヤで要
求されている記憶キーを保持する。メモリ制御部26E
は、これらのアレイへのアクセスを許可する基本コント
ローラとして働く。アドレス/キー制御・部26Hは、
記憶キー・アレイの参照ビット及び変更ビットを更新す
るために、プロセッサ上2キャッシュ・アクセスで使用
されるR/Cアレイのアクセス許可を制御する。R/C
ビットの写しは複数あり、それらはアドレス/キー制御
部26Eの要求で併合されねばならない。
求されている記憶キーを保持する。メモリ制御部26E
は、これらのアレイへのアクセスを許可する基本コント
ローラとして働く。アドレス/キー制御・部26Hは、
記憶キー・アレイの参照ビット及び変更ビットを更新す
るために、プロセッサ上2キャッシュ・アクセスで使用
されるR/Cアレイのアクセス許可を制御する。R/C
ビットの写しは複数あり、それらはアドレス/キー制御
部26Eの要求で併合されねばならない。
バス えユニ・ト BSU II 26FBSU制
御部26Fは、L2キャッシュ/BSUデータフロー及
び記憶チャネル・データ・バッファ(SCDB)データ
フローに対する基本コントローラとして働き、−記憶サ
ブシステム26においてL2制御部26K及びメモリ制
御部26Eの要求でデータを移動させるための中心とな
る。BSU制御部26Fは、L2キャッシュ、L3/L
4ポート及び5CDBとの間で情報をやりとりできるデ
ータ・バスを管理する。・ L2キャッシュ・データ・アレイはここにある。
御部26Fは、L2キャッシュ/BSUデータフロー及
び記憶チャネル・データ・バッファ(SCDB)データ
フローに対する基本コントローラとして働き、−記憶サ
ブシステム26においてL2制御部26K及びメモリ制
御部26Eの要求でデータを移動させるための中心とな
る。BSU制御部26Fは、L2キャッシュ、L3/L
4ポート及び5CDBとの間で情報をやりとりできるデ
ータ・バスを管理する。・ L2キャッシュ・データ・アレイはここにある。
各中央プロセッサは該ユニットに対する8バイトの両方
向データ・インタフェースを持っている。
向データ・インタフェースを持っている。
これは、プロセッサからL2キャッシュ又はL3/L4
メモリへのデータ移動及びその反対方向のデータ移動を
サポートする。このユニットでは、2つの16バイト・
インタフェース(各L 3/L4ポートに1つ)及び記
憶チャネ・ル・データ・バッファ(SCDB)26Gへ
の2つの32バイト・インタフェースもサポートされる
。これらのインタフエースは、5CDB26GとL2キ
ャッシュ26B又はL3/L4メモリとの間のデータ移
動をサポートする。
メモリへのデータ移動及びその反対方向のデータ移動を
サポートする。このユニットでは、2つの16バイト・
インタフェース(各L 3/L4ポートに1つ)及び記
憶チャネ・ル・データ・バッファ(SCDB)26Gへ
の2つの32バイト・インタフェースもサポートされる
。これらのインタフエースは、5CDB26GとL2キ
ャッシュ26B又はL3/L4メモリとの間のデータ移
動をサポートする。
叩 チャネル・データ・バッファ 5CDB Z1乱
3つのチャネル記憶インタフェースをサポートするため
、5CDB26Gは独立した各チャネル・データ・イン
タフェース毎に1組のバッファを備えている。これは、
チャネル装置からL2キャッシュ26B又はL3/L4
メモリへのデータ移動及びその反対方向のデータ移動を
サポートする。
、5CDB26Gは独立した各チャネル・データ・イン
タフェース毎に1組のバッファを備えている。これは、
チャネル装置からL2キャッシュ26B又はL3/L4
メモリへのデータ移動及びその反対方向のデータ移動を
サポートする。
チャネル・データ・バッファの制御部は分割され、チャ
ネル・インタフェース自身及び記憶サブシステム(BS
U制御部26F)がその一部を受持つ。
ネル・インタフェース自身及び記憶サブシステム(BS
U制御部26F)がその一部を受持つ。
5CDB26Gは、中央プロセッサが要求したL3/L
4メモリ間の転送を可能にするメモリ・バッファもサポ
ートする。
4メモリ間の転送を可能にするメモリ・バッファもサポ
ートする。
第6図において、L2キャッシュ/バス切替えユニット
26B/26Aは3つの出力信号cpo。
26B/26Aは3つの出力信号cpo。
CPI及びCF2を発生する。L2制御部26にも3つ
の出力信号CPO,CPI及びCF2を発生する。L2
キャッシュ/バス切替えユニット26B/26A及びL
2制御部26Kからのcp。
の出力信号CPO,CPI及びCF2を発生する。L2
キャッシュ/バス切替えユニット26B/26A及びL
2制御部26Kからのcp。
出力信号は結合されて記憶サブシステム26の出力信号
になり、第1キヤツシユ記憶18Aを付勢する。同様に
、L2キャッシュ/バス切替えユニット26B/26A
及びL2制御部26KからのCPI出力信号は結合され
て記憶サブシステム26の出力信号になり、第2L1キ
ヤツシユ記憶18Bを付勢し、L2キャッシュ/バス切
替えユニット26B/26A及びL2制御部26Kから
のCP2出力信号は第3LLキヤツシユ記憶18Cを付
勢する出力信号になる。
になり、第1キヤツシユ記憶18Aを付勢する。同様に
、L2キャッシュ/バス切替えユニット26B/26A
及びL2制御部26KからのCPI出力信号は結合され
て記憶サブシステム26の出力信号になり、第2L1キ
ヤツシユ記憶18Bを付勢し、L2キャッシュ/バス切
替えユニット26B/26A及びL2制御部26Kから
のCP2出力信号は第3LLキヤツシユ記憶18Cを付
勢する出力信号になる。
記憶チャネル・データ・バッファ26Gは3つの出力信
号5HCPA、5)ICPB及びNIOを発生する。5
HCPAは共用チャネル・プロセッサA28Aを示し、
5HCPBは共用チャネル・プロセッサB28Bを示し
、NIOは統合I10及びアダプタ・サブシステム14
/16を示す。
号5HCPA、5)ICPB及びNIOを発生する。5
HCPAは共用チャネル・プロセッサA28Aを示し、
5HCPBは共用チャネル・プロセッサB28Bを示し
、NIOは統合I10及びアダプタ・サブシステム14
/16を示す。
同様に、アドレス/キー制御部26Hも3つの出力信号
5HCPA、5HCPB及びNIOを発生する。記憶チ
ャネル・データ・バッファ26G及びアドレス/キー制
御部26Hからの5HCPA出力信号は結合されて、共
用チャネル・プロセッサA28Aに対する記憶サブシス
テム26の出力信号になる。同様に、2つの5HCPB
出力信号は結合されて、共用チャネル・プロセッサB2
8Bに対する記憶サブシステムの出力信号になり、2つ
のNIO出力信号は結合されて、統合アダプタ・サブシ
ステム14/16に対する記憶サブシステムの出力信号
になる。
5HCPA、5HCPB及びNIOを発生する。記憶チ
ャネル・データ・バッファ26G及びアドレス/キー制
御部26Hからの5HCPA出力信号は結合されて、共
用チャネル・プロセッサA28Aに対する記憶サブシス
テム26の出力信号になる。同様に、2つの5HCPB
出力信号は結合されて、共用チャネル・プロセッサB2
8Bに対する記憶サブシステムの出力信号になり、2つ
のNIO出力信号は結合されて、統合アダプタ・サブシ
ステム14/16に対する記憶サブシステムの出力信号
になる。
第1A図ん第1C図は、L2キャッシュ/BSU26’
B/26Aの一部及びL1キャッシュ記憶18A/18
B/18Cの詳細な構成を示している。
B/26Aの一部及びL1キャッシュ記憶18A/18
B/18Cの詳細な構成を示している。
図示のように、L1キャッシュ記憶18AはL1記憶待
ち行列18A1に接続されたL1キャッシュ18aを含
む、LLキャッシュ18aの入力部はインページ・デー
タ・レジスタ(IPDR)18A2に接続され、出力部
は取出しデータ・レジスタ18A3に接続される。L1
キャッシュ記憶18B及び18Cの構成もこれと同様で
ある。
ち行列18A1に接続されたL1キャッシュ18aを含
む、LLキャッシュ18aの入力部はインページ・デー
タ・レジスタ(IPDR)18A2に接続され、出力部
は取出しデータ・レジスタ18A3に接続される。L1
キャッシュ記憶18B及び18Cの構成もこれと同様で
ある。
L1記憶待ち行列18A1はL2記憶待ち行列26A1
に接続され、Ll記憶待ち行列18B1はL2記憶待ち
行列26A2に接続され、L1記憶待ち行列18CはL
2記憶待ち行列26A3に接続される。従って、各L1
記憶待ち行列はMPシステムの特定のプロゼッサと一意
的に関連づけられる。各L1記憶待ち行列は特定のL2
記憶待ち行列とも一意的に関連づけられるから、結集と
して各L2記憶待ち行列も特定のプロセッサと一意的に
関連づけられる。各L2記憶待ち行列の出力には書込み
バッファが接続されている。例えば、L2記憶待ち行列
26A1の出力部はL2書込みバッファO(L2WB−
0)26A10及びL2書込みバッファ1 (L2WB
−1)26A11に接続される。L2記憶待ち行列26
A1の出力部は記憶サブシステムL2書込みバッファ(
SSL2WB)制御部26A12にも接続される。L2
記憶待ち行列26A2及び26A3の出力部の接続も同
様に行われる。上述の書込みバッファ及びL2記憶待ち
行列はすべてそれらの出力をL2キャッシュ書込みバッ
ファ(WB)26A4に接続される。L2キャッシュ書
込みバッファ26A4の出力はL2キャッシュ26Bに
接続される。
に接続され、Ll記憶待ち行列18B1はL2記憶待ち
行列26A2に接続され、L1記憶待ち行列18CはL
2記憶待ち行列26A3に接続される。従って、各L1
記憶待ち行列はMPシステムの特定のプロゼッサと一意
的に関連づけられる。各L1記憶待ち行列は特定のL2
記憶待ち行列とも一意的に関連づけられるから、結集と
して各L2記憶待ち行列も特定のプロセッサと一意的に
関連づけられる。各L2記憶待ち行列の出力には書込み
バッファが接続されている。例えば、L2記憶待ち行列
26A1の出力部はL2書込みバッファO(L2WB−
0)26A10及びL2書込みバッファ1 (L2WB
−1)26A11に接続される。L2記憶待ち行列26
A1の出力部は記憶サブシステムL2書込みバッファ(
SSL2WB)制御部26A12にも接続される。L2
記憶待ち行列26A2及び26A3の出力部の接続も同
様に行われる。上述の書込みバッファ及びL2記憶待ち
行列はすべてそれらの出力をL2キャッシュ書込みバッ
ファ(WB)26A4に接続される。L2キャッシュ書
込みバッファ26A4の出力はL2キャッシュ26Bに
接続される。
各記憶サブシステムL2書込みバッファ(SSL2WB
)制御部の出力は、L2キャッシュ26Bをアドレスす
るL2アドレス・レジスタ26A5に接続される。L2
キャッシュ26Bの出力はL2キャッシュ読取リバッフ
ァ(RB)26A6に接続され、その出力はLIOイン
ページ・バッファ(LIOIPB)26A7、Lllイ
ンページ・バッファ(LIIIPB)26A8及びL1
2インページ・バッファ(L12IPB)26A9に接
続される。インページ・バッファ26A7は前述のイン
ページ・データ・レジスタ(IPDR)18A2に接続
され、インページ・バッファ26八8はインページ・デ
ータ・レジスタ(IPDR)18B2に接続され、イン
ページ・バッファ26A9はインページ・データ・レジ
スタ(工PDR)18C2に接続される。
)制御部の出力は、L2キャッシュ26Bをアドレスす
るL2アドレス・レジスタ26A5に接続される。L2
キャッシュ26Bの出力はL2キャッシュ読取リバッフ
ァ(RB)26A6に接続され、その出力はLIOイン
ページ・バッファ(LIOIPB)26A7、Lllイ
ンページ・バッファ(LIIIPB)26A8及びL1
2インページ・バッファ(L12IPB)26A9に接
続される。インページ・バッファ26A7は前述のイン
ページ・データ・レジスタ(IPDR)18A2に接続
され、インページ・バッファ26八8はインページ・デ
ータ・レジスタ(IPDR)18B2に接続され、イン
ページ・バッファ26A9はインページ・データ・レジ
スタ(工PDR)18C2に接続される。
本実施例では、L1記憶待ち行列及びL2記憶待ち行列
はシステム/370及び370−XAの命令セットをサ
ポートするように設計されており、所与のプロセッサに
ついてパフォーマンスを上げると共に、最上位レベルの
共通記憶、すなわちL2キャッシュ26Bにおけるプロ
セッサ間の干渉を最小限に抑える。記憶待ち行列の構成
は、2レベル・キャッシュ記憶の属性を想定して、2レ
ベル待ち行列になっている。各プロセッサは自身の待ち
行列を所有する。L1キャッシュ・レベルでは、L1記
憶待ち行列制御部が待ち行列への要求挿入を管理し、記
憶の一貫性維持についても成る程度管理する。L2キャ
ッシュ・レベルでは、第6図のL2制御部26Kが待ち
行列からの要求取出しを管理し、キャッシュ・レベルと
プロセッサの間の大域的な記憶の一貫性を維持する。記
憶要求は、共用し2キヤツシユ・レベルで記憶の処理を
最も効率よく行えるように分類される。このような記憶
待ち行列設計は、命令セットの再試行可能性を維持する
と共に、たとえ最上位レベルの共通記憶(L2キャッシ
ュ)への記憶が完了していなくても命令実行を進められ
るようにしている。
はシステム/370及び370−XAの命令セットをサ
ポートするように設計されており、所与のプロセッサに
ついてパフォーマンスを上げると共に、最上位レベルの
共通記憶、すなわちL2キャッシュ26Bにおけるプロ
セッサ間の干渉を最小限に抑える。記憶待ち行列の構成
は、2レベル・キャッシュ記憶の属性を想定して、2レ
ベル待ち行列になっている。各プロセッサは自身の待ち
行列を所有する。L1キャッシュ・レベルでは、L1記
憶待ち行列制御部が待ち行列への要求挿入を管理し、記
憶の一貫性維持についても成る程度管理する。L2キャ
ッシュ・レベルでは、第6図のL2制御部26Kが待ち
行列からの要求取出しを管理し、キャッシュ・レベルと
プロセッサの間の大域的な記憶の一貫性を維持する。記
憶要求は、共用し2キヤツシユ・レベルで記憶の処理を
最も効率よく行えるように分類される。このような記憶
待ち行列設計は、命令セットの再試行可能性を維持する
と共に、たとえ最上位レベルの共通記憶(L2キャッシ
ュ)への記憶が完了していなくても命令実行を進められ
るようにしている。
従って、1つの命令の記憶を後続の命令のパイプライン
実行ステージとオーバーラツプさせることにより1機械
のパフォーマンスを上げることができる。このオーバー
ラツプは一貫性に関するアーキテクチャ上の規則により
制限されるだけである。
実行ステージとオーバーラツプさせることにより1機械
のパフォーマンスを上げることができる。このオーバー
ラツプは一貫性に関するアーキテクチャ上の規則により
制限されるだけである。
この記憶待ち行列設計によれば、最上位レベルの共通記
憶への結果の書込みを命令の真の終了まで遅らせること
によって、仮想記憶でページ・フォールトを起こしそう
な命令を予めテストする必要がなくなる。また、プロセ
ッサのマイクロコードだけを用いることによって機械を
このような状態から回復させる効率的な機構もサポート
される。
憶への結果の書込みを命令の真の終了まで遅らせること
によって、仮想記憶でページ・フォールトを起こしそう
な命令を予めテストする必要がなくなる。また、プロセ
ッサのマイクロコードだけを用いることによって機械を
このような状態から回復させる効率的な機構もサポート
される。
370−XA命令セットは、実記憶にあるオペランドを
処理する幾つかのタイプに分けられる。
処理する幾つかのタイプに分けられる。
例えば、実記憶に書込まれる結果の長さに応じて命令を
2種類に分けることができる。その一方は非順次記憶(
NS)であり、他方は順次記憶(SS)である、NSタ
イプは主としてオペランドの長さが命令のOPコードに
よって暗示される命令から成っている。結果の長さは1
〜8バイトであり、一般に実記憶への単一記憶アクセス
を必要とする。ただし、結果記憶フィールドの開始アド
レスにオペランドの長さを加えた時にダブルワード境界
を越えると、各ダブルワードに適切なバイトを書込むた
め2回の記憶アクセスが必要になる。
2種類に分けることができる。その一方は非順次記憶(
NS)であり、他方は順次記憶(SS)である、NSタ
イプは主としてオペランドの長さが命令のOPコードに
よって暗示される命令から成っている。結果の長さは1
〜8バイトであり、一般に実記憶への単一記憶アクセス
を必要とする。ただし、結果記憶フィールドの開始アド
レスにオペランドの長さを加えた時にダブルワード境界
を越えると、各ダブルワードに適切なバイトを書込むた
め2回の記憶アクセスが必要になる。
SSタイプは、オペランドの長さが命令中で又は命令が
使用する汎用レジスタ中で明示されている命令から成る
。多重記憶(STORE MULTIPLE)のよう
な命令もここに分類できる。結果の長さは1〜256バ
イトであり、一般に複数回の記憶アクセスが必要である
。結果は一時に1〜8バイトの単位で書込まれる。
使用する汎用レジスタ中で明示されている命令から成る
。多重記憶(STORE MULTIPLE)のよう
な命令もここに分類できる。結果の長さは1〜256バ
イトであり、一般に複数回の記憶アクセスが必要である
。結果は一時に1〜8バイトの単位で書込まれる。
付加的な処理モードを必要とする他のタイプの命令につ
いては特別の考慮が払われる。例えば、命令によっては
、実記憶の連結していない記憶位置に複数の結果を書込
むことが必要なものがある。
いては特別の考慮が払われる。例えば、命令によっては
、実記憶の連結していない記憶位置に複数の結果を書込
むことが必要なものがある。
そのため、1つの命令で複数のNSを可能にするオペレ
ーション・モードがサポートされる。オペランドの長さ
が明示される命令は実際には1〜8バイトだけを書込む
ものが多い。これらの記憶要求は、あとで明らかになる
ように、パフォーマンス上の理由から記憶サブシステム
でNSタイプに変換される。記憶待ち行列オペレーショ
ンの混合モードのサポートが要求される場合もある。同
じ命令中でSSタイプを実行し、続いてNSタイプを実
行できるようにすると、このような要求がサポートされ
る。
ーション・モードがサポートされる。オペランドの長さ
が明示される命令は実際には1〜8バイトだけを書込む
ものが多い。これらの記憶要求は、あとで明らかになる
ように、パフォーマンス上の理由から記憶サブシステム
でNSタイプに変換される。記憶待ち行列オペレーショ
ンの混合モードのサポートが要求される場合もある。同
じ命令中でSSタイプを実行し、続いてNSタイプを実
行できるようにすると、このような要求がサポートされ
る。
記憶サブシステムで処理する記憶要求をサポートするた
めの他の要求は、オペレーション終了(EOP)標識を
各記憶要求に関連づけることである。例えば、EOP=
Oはオペレーションがまだ終了しないことを示し、EO
P=1はこれが当該命令における最後の記憶であること
を示す、EoP標識は、370−XA命令及びそれに関
連する記憶要求が完了したかどうかを示す、成る命令の
実行中は、その実行終了を示すEOPII識が受取られ
るまでは、共通記憶レベル(L2キャッシュ)に対する
複数のデータ記憶要求は許されない。
めの他の要求は、オペレーション終了(EOP)標識を
各記憶要求に関連づけることである。例えば、EOP=
Oはオペレーションがまだ終了しないことを示し、EO
P=1はこれが当該命令における最後の記憶であること
を示す、EoP標識は、370−XA命令及びそれに関
連する記憶要求が完了したかどうかを示す、成る命令の
実行中は、その実行終了を示すEOPII識が受取られ
るまでは、共通記憶レベル(L2キャッシュ)に対する
複数のデータ記憶要求は許されない。
EOPIjl識が受取られなければ、データはL1記憶
待ち行列、L2記憶待ち行列又はL2書込みバッファに
は記憶できるが、EOP標識を受取るまではL2キャッ
シュへの記憶は行えない、EOP標識を受取ると、L2
書込みバッファからL2キャッシュへの記憶を開始する
ことができる。これにより、命令の実行が首尾よく完了
するまでは記憶内容を変更できないという原理が維持さ
れる。
待ち行列、L2記憶待ち行列又はL2書込みバッファに
は記憶できるが、EOP標識を受取るまではL2キャッ
シュへの記憶は行えない、EOP標識を受取ると、L2
書込みバッファからL2キャッシュへの記憶を開始する
ことができる。これにより、命令の実行が首尾よく完了
するまでは記憶内容を変更できないという原理が維持さ
れる。
ただし、これは要求元プロセッサのL1キャッシュの変
更まで禁止するものではない。この記憶要求状況標識の
ために特別のオペレーション・モードもサポートされる
。370−XA命令が実際に実行されていない割込み処
理のレベルでは、マイクロコード割込みルーチンの効率
的な処理を可能にするため、すべての記憶要求はEOP
標識を含むようにされる。
更まで禁止するものではない。この記憶要求状況標識の
ために特別のオペレーション・モードもサポートされる
。370−XA命令が実際に実行されていない割込み処
理のレベルでは、マイクロコード割込みルーチンの効率
的な処理を可能にするため、すべての記憶要求はEOP
標識を含むようにされる。
次に第1図〜第6図を参照しながら、本発明のLL/L
2記憶待ち記憶膜計について説明する。
2記憶待ち記憶膜計について説明する。
まず、成るプロセッサ(20A〜20Cのうちの1台)
がL1キャッシュ(18A〜18Cのうちの1つ)に記
憶要求を出したとする。その場合、コマンド・タイプ(
NS又はSS、EOP) 、開始フィールド・アドレス
、1〜8バイトのデータ及びフィールド長が同時にL1
キャッシュに供給される。開始フィールド・アドレスは
プログラム・アドレス・ビット1〜31から成り、記憶
フィールドの最初のバイトを識別する。フィールド長は
、このアドレスから始まる変更すべきバイトの数(1〜
8)を示す、もし要求により変更される記憶フィールド
がダブルワード境界を越えると、L1キャッシュはこれ
を2つの要求とみなす。その各要求でキャッシュ・アク
セス及び記憶待ち行列への挿入が行われる。順次記憶は
多数のこのような記憶要求を含み、その順序づけは実行
ユニットにより制御される。
がL1キャッシュ(18A〜18Cのうちの1つ)に記
憶要求を出したとする。その場合、コマンド・タイプ(
NS又はSS、EOP) 、開始フィールド・アドレス
、1〜8バイトのデータ及びフィールド長が同時にL1
キャッシュに供給される。開始フィールド・アドレスは
プログラム・アドレス・ビット1〜31から成り、記憶
フィールドの最初のバイトを識別する。フィールド長は
、このアドレスから始まる変更すべきバイトの数(1〜
8)を示す、もし要求により変更される記憶フィールド
がダブルワード境界を越えると、L1キャッシュはこれ
を2つの要求とみなす。その各要求でキャッシュ・アク
セス及び記憶待ち行列への挿入が行われる。順次記憶は
多数のこのような記憶要求を含み、その順序づけは実行
ユニットにより制御される。
プロセッサ20から供給された記憶アドレスはDLAT
及びL1ディレクトリ2O−3A、2O−3Bを介して
絶対アドレスに変換され、その下位ビット及び絶対アド
レスからのフィールド長を用いて記憶バイト・フラグ(
STBF)が生成される。記憶バイト・フラグはダブル
ワード内の記憶すべきバイトを絶対アドレス・ビット1
〜28で識別する6データがL1キャッシュにあるかど
うかを調べるためし1キヤツシユ・ディレクトリ2O−
3A、2O−3Bが探索される。次に、L1キャッシュ
18はL1記憶待ち行列にエントリを作成する。プロセ
ッサ20Aが記憶要求を出していると、L1キャッシュ
18AがL1記憶待ち行列18A1にエントリを作成し
、絶対アドレス、コマンド・タイプ、データ及び記憶バ
イト・フラグをL1記憶待ち行列18A1に入れる。要
求されたデータがL1キャッシュ18Aにあれば(L1
キャッシュ18Aヒツト)、この動作と並行して、絶対
アドレス及び記憶バイト・フラグに従っ゛てL1キャッ
シュ18A中の要求されたデータが更新される。
及びL1ディレクトリ2O−3A、2O−3Bを介して
絶対アドレスに変換され、その下位ビット及び絶対アド
レスからのフィールド長を用いて記憶バイト・フラグ(
STBF)が生成される。記憶バイト・フラグはダブル
ワード内の記憶すべきバイトを絶対アドレス・ビット1
〜28で識別する6データがL1キャッシュにあるかど
うかを調べるためし1キヤツシユ・ディレクトリ2O−
3A、2O−3Bが探索される。次に、L1キャッシュ
18はL1記憶待ち行列にエントリを作成する。プロセ
ッサ20Aが記憶要求を出していると、L1キャッシュ
18AがL1記憶待ち行列18A1にエントリを作成し
、絶対アドレス、コマンド・タイプ、データ及び記憶バ
イト・フラグをL1記憶待ち行列18A1に入れる。要
求されたデータがL1キャッシュ18Aにあれば(L1
キャッシュ18Aヒツト)、この動作と並行して、絶対
アドレス及び記憶バイト・フラグに従っ゛てL1キャッ
シュ18A中の要求されたデータが更新される。
前の記憶要求がすべてL2キャッシュ26Bに転送され
ており、且つL2キャッシュ26Bへのインタフェース
が使用可能であれば、L1記憶待ち行列18A1に入れ
られていた記憶要求がL22キヤツシユ構、すなわちL
2記憶待ち行列26A1及び関連する書込みバッファに
転送される。
ており、且つL2キャッシュ26Bへのインタフェース
が使用可能であれば、L1記憶待ち行列18A1に入れ
られていた記憶要求がL22キヤツシユ構、すなわちL
2記憶待ち行列26A1及び関連する書込みバッファに
転送される。
L22キヤツシユ構が受取る情報は、ダブルワード絶対
アドレス、コマンド・タイプ、データ及び記憶バイト・
フラグである。これらの情報はL2記憶待ち行列26A
1に入れられる0次のステップでは、L2記憶待ち行列
26A1からL2キャッシュ26Bへの書込みが行われ
る。第1図に示すように、順次記憶(S S)オペレー
ションに係るデータ又は命令については、L2キャッシ
ュ26Bへの書込みはL2書込みバッファ26A10又
は26A11及びL2キャッシュ書込みバッファ26A
4を介して行われる。非順次記憶(NS)オペレーショ
ンは、L2書込みバッファを介さず。
アドレス、コマンド・タイプ、データ及び記憶バイト・
フラグである。これらの情報はL2記憶待ち行列26A
1に入れられる0次のステップでは、L2記憶待ち行列
26A1からL2キャッシュ26Bへの書込みが行われ
る。第1図に示すように、順次記憶(S S)オペレー
ションに係るデータ又は命令については、L2キャッシ
ュ26Bへの書込みはL2書込みバッファ26A10又
は26A11及びL2キャッシュ書込みバッファ26A
4を介して行われる。非順次記憶(NS)オペレーショ
ンは、L2書込みバッファを介さず。
L2記憶待ち行列から直接L2キャッシュ書込みバッフ
ァ26A4に書込む。もし当該プロセッサからの前の記
憶要求がすべてサービスされており、且つその他の条件
が満たされるならば、記憶要求はL2制御部26Kにあ
るL2キャッシュ・アービタに入る。要求がL2キャッ
シュ・アービタにより許可されると、DLAT及びL1
ディレクトリ2O−3A、20=3Bから得られた絶対
アドレスを用いてL2キャッシュ・ディレクトリが探索
される。対応するデータがL2キャッシュ26Bにあれ
ば、記憶バイト・フラグの制御のもとにデータがL2キ
ャッシュ26Bに書込まれる。各プロセッサのし1キヤ
ツシユ18A、18B、18Cの内容を反映するL1状
況アレイに対する問合せが行われ、もし1以上のL1キ
ャッシュ18A〜18Gが対応する古いデータを記憶し
ていると、記憶の一貫性を維持するために、適切なL1
相互無効化要求がそのようなL1キャッシュに送られる
。データが一旦L2キャッシュ26Bに記憶されると、
L1記憶待ち行列18A1、L2記憶待ち行列26A1
及びL2書込みバッファに記憶されていた対応するデー
タ・エントリがそれらから除去される。
ァ26A4に書込む。もし当該プロセッサからの前の記
憶要求がすべてサービスされており、且つその他の条件
が満たされるならば、記憶要求はL2制御部26Kにあ
るL2キャッシュ・アービタに入る。要求がL2キャッ
シュ・アービタにより許可されると、DLAT及びL1
ディレクトリ2O−3A、20=3Bから得られた絶対
アドレスを用いてL2キャッシュ・ディレクトリが探索
される。対応するデータがL2キャッシュ26Bにあれ
ば、記憶バイト・フラグの制御のもとにデータがL2キ
ャッシュ26Bに書込まれる。各プロセッサのし1キヤ
ツシユ18A、18B、18Cの内容を反映するL1状
況アレイに対する問合せが行われ、もし1以上のL1キ
ャッシュ18A〜18Gが対応する古いデータを記憶し
ていると、記憶の一貫性を維持するために、適切なL1
相互無効化要求がそのようなL1キャッシュに送られる
。データが一旦L2キャッシュ26Bに記憶されると、
L1記憶待ち行列18A1、L2記憶待ち行列26A1
及びL2書込みバッファに記憶されていた対応するデー
タ・エントリがそれらから除去される。
第7図はL1記憶待ち行列18A1.18B1.18C
1の内容を示したものである。
1の内容を示したものである。
図示のように、各L1記憶待ち行列は、論理アドレス部
18A1 (A)、絶対アドレス部18A1 (B)
、コマンド・フィールド18A1 (C) 。
18A1 (A)、絶対アドレス部18A1 (B)
、コマンド・フィールド18A1 (C) 。
データ・フィールド18A1 (D)及び記憶バイト・
フラグ(STBF)フィールド18A1 (E)を含む
。
フラグ(STBF)フィールド18A1 (E)を含む
。
各プロセッサのL1記憶待ち行列は他のプロセッサから
は完全に独立している。各L1記憶待ち行列は1次元ア
レイと考えることができる。それは、L2記憶待ち行列
への要求の転送に関し、先入れ先出し式の循環待ち行列
として働く。第7図に示すように、L1記憶待ち行列は
5つのフィールドから成っているが、最初の論理アドレ
ス18Al(A)は必らずしも必要ではない。これは、
同じプロセッサ内での命令ストリームへの書込みを検出
(プログラム記憶比較で行われる)するのに使用できる
が、この検出は次の絶対アドレスを用いても可能である
。第2フイールドに含まれる絶対アドレス18A1 (
B)は、記憶待ち行列エントリにおけるダブルワード・
データのアドレスを表わし、記憶要求を待ち行列に入れ
る前に行われる動的アドレス変換によって得られる。こ
のアドレスはLl及びL2キャッシュ・バッファの更新
に用いられ、またL1記憶待ち行列に入れられでいるが
L2キャッシュにはまだ記憶されていない結果を後続の
命令が取出そうとする時のアドレス(オペランド記憶比
較で使用される)としても使用される。コマンド・フィ
ールド18A1 (C)は順次記憶(SS)ビット及び
オペレーション終了(EOP)ビットを含む。SSビッ
トが0であれば非順次記憶要求を示し、1であれば順次
記憶要求を示す。EOOPビットは記憶待ち行列内の命
令境界を定める。4番目のデータ・フィールド18A1
(D)は、論理アドレス・ビット29〜31に従って
位置合せされる8バイトまでのデータを含む。例えば、
もしバイト位置1のところから始めて4バイトを記憶す
るのであれば、バイト1〜4が結果の4バイトを含む、
最後の記憶バイト・フラグ(STBF)フィールド18
A1 (E)は、待ち行列に入れられているダブルワー
ドのどのバイトが書込まれるかを示す。上述の例では、
記憶バイト・フラグ1〜4は1であり、残りのフラグO
及び5〜7はOである。
は完全に独立している。各L1記憶待ち行列は1次元ア
レイと考えることができる。それは、L2記憶待ち行列
への要求の転送に関し、先入れ先出し式の循環待ち行列
として働く。第7図に示すように、L1記憶待ち行列は
5つのフィールドから成っているが、最初の論理アドレ
ス18Al(A)は必らずしも必要ではない。これは、
同じプロセッサ内での命令ストリームへの書込みを検出
(プログラム記憶比較で行われる)するのに使用できる
が、この検出は次の絶対アドレスを用いても可能である
。第2フイールドに含まれる絶対アドレス18A1 (
B)は、記憶待ち行列エントリにおけるダブルワード・
データのアドレスを表わし、記憶要求を待ち行列に入れ
る前に行われる動的アドレス変換によって得られる。こ
のアドレスはLl及びL2キャッシュ・バッファの更新
に用いられ、またL1記憶待ち行列に入れられでいるが
L2キャッシュにはまだ記憶されていない結果を後続の
命令が取出そうとする時のアドレス(オペランド記憶比
較で使用される)としても使用される。コマンド・フィ
ールド18A1 (C)は順次記憶(SS)ビット及び
オペレーション終了(EOP)ビットを含む。SSビッ
トが0であれば非順次記憶要求を示し、1であれば順次
記憶要求を示す。EOOPビットは記憶待ち行列内の命
令境界を定める。4番目のデータ・フィールド18A1
(D)は、論理アドレス・ビット29〜31に従って
位置合せされる8バイトまでのデータを含む。例えば、
もしバイト位置1のところから始めて4バイトを記憶す
るのであれば、バイト1〜4が結果の4バイトを含む、
最後の記憶バイト・フラグ(STBF)フィールド18
A1 (E)は、待ち行列に入れられているダブルワー
ドのどのバイトが書込まれるかを示す。上述の例では、
記憶バイト・フラグ1〜4は1であり、残りのフラグO
及び5〜7はOである。
MPシステムにおいて、もし成るプロセッサがL1記憶
待ち行列に入れられているデータを取出そうとすると、
次に述べる2つの事象のうちの何れかが生じる。まず、
取出し要求でL1キャッシュ・ヒツトが生じた場合は、
概念的に完了した記憶待ち行列エントリのすべての絶対
アドレスがダブルワード境界について取出し要求のダブ
ルワード絶対アドレスと比較される。1以上の絶対アド
レスが一致すると、最後に一致した待ち行列エントリが
除去されてL2キャッシュへ送られるまで、取出しは行
われない。これは、要求元のプロセッサが他のプロセッ
サよりも前にデータを見るのを阻止する。次に、取出し
要求でL1キャッシュ”・ミスが生じた場合は、概念的
に完了した記憶待ち行列エントリのすべての絶対アドレ
スがL1キャッシュ・ライン境界について取出し要求の
L1キャッシュ・ライン絶対アドレスと比較される。1
以上の絶対アドレスが一致すると、最後に一致した待ち
行列エントリが除去されてL2キャッシュに送られるま
で、取出しは行われない。これは、L1キャッシュとし
てキャッシュの間の記憶の一貫性を保証する。
待ち行列に入れられているデータを取出そうとすると、
次に述べる2つの事象のうちの何れかが生じる。まず、
取出し要求でL1キャッシュ・ヒツトが生じた場合は、
概念的に完了した記憶待ち行列エントリのすべての絶対
アドレスがダブルワード境界について取出し要求のダブ
ルワード絶対アドレスと比較される。1以上の絶対アド
レスが一致すると、最後に一致した待ち行列エントリが
除去されてL2キャッシュへ送られるまで、取出しは行
われない。これは、要求元のプロセッサが他のプロセッ
サよりも前にデータを見るのを阻止する。次に、取出し
要求でL1キャッシュ”・ミスが生じた場合は、概念的
に完了した記憶待ち行列エントリのすべての絶対アドレ
スがL1キャッシュ・ライン境界について取出し要求の
L1キャッシュ・ライン絶対アドレスと比較される。1
以上の絶対アドレスが一致すると、最後に一致した待ち
行列エントリが除去されてL2キャッシュに送られるま
で、取出しは行われない。これは、L1キャッシュとし
てキャッシュの間の記憶の一貫性を保証する。
次に4つのポインタ、すなわちLIEPポインタ、LI
TPポインタ、LLIPポインタ及びLIDPポインタ
について説明する。これら4つのポインタのうち前の2
つは第7図に示しである。
TPポインタ、LLIPポインタ及びLIDPポインタ
について説明する。これら4つのポインタのうち前の2
つは第7図に示しである。
論理アドレスが首尾よく変換され、且つアクセス例外が
生じなければ、記憶要求がL1キャッシュに出される度
に、L1記憶待ち行列にエントリが置かれる。これはL
1キャッシュのヒツト/ミスとは無関係に行われる。待
ち行列に入れる(エンキューする)直前に、L1記憶待
ち行列エンキュー・ポインタ(L I E P)が増分
され、待ち行列中の次に使用可能なエントリを指す。エ
ンキューはL1記憶待ち行列が一杯でなければ可能であ
る。
生じなければ、記憶要求がL1キャッシュに出される度
に、L1記憶待ち行列にエントリが置かれる。これはL
1キャッシュのヒツト/ミスとは無関係に行われる。待
ち行列に入れる(エンキューする)直前に、L1記憶待
ち行列エンキュー・ポインタ(L I E P)が増分
され、待ち行列中の次に使用可能なエントリを指す。エ
ンキューはL1記憶待ち行列が一杯でなければ可能であ
る。
記憶待ち行列のオーバーフローを避けるため、命令レジ
スタがL1キャッシュまでのパイプライン・ステージを
考慮して記憶待ち行列の充填状態が予測される。エンキ
ューは実行ユニットの記憶要求により制御される。L2
キャッシュとの間の両方向性のコマンド/アドレス・イ
ンタフェース及びデータ・インタフェースをサポートす
るため、L1記憶待ち行列転送ポインタ(LITP)が
使用される。通常は両方のインタフェースが使用可能で
あり、記憶要求がL1記憶待ち行列に置かれる時、その
記憶要求はL2記憶待ち行列にも転送される。状況によ
っては、L2への記憶要求転送を遅延させねばならない
ことがある。例えば、L1キャッシュで取出しミスがし
ょうじたためにL2キャッシュからL1キャッシュへの
データ転送が行われているような場合である。実行ユニ
ットは、記憶要求を出した後は、その要求がL2へ転送
されなくても、動作を続けることができる。LITPは
要求がL2へ転送される度に増分される。命令境界ポイ
ンタ(LLIP)は370−XA全命令境界を区切るの
に必要である。EOP標識を受取る度に、LIEPがL
llPにコピーされる。
スタがL1キャッシュまでのパイプライン・ステージを
考慮して記憶待ち行列の充填状態が予測される。エンキ
ューは実行ユニットの記憶要求により制御される。L2
キャッシュとの間の両方向性のコマンド/アドレス・イ
ンタフェース及びデータ・インタフェースをサポートす
るため、L1記憶待ち行列転送ポインタ(LITP)が
使用される。通常は両方のインタフェースが使用可能で
あり、記憶要求がL1記憶待ち行列に置かれる時、その
記憶要求はL2記憶待ち行列にも転送される。状況によ
っては、L2への記憶要求転送を遅延させねばならない
ことがある。例えば、L1キャッシュで取出しミスがし
ょうじたためにL2キャッシュからL1キャッシュへの
データ転送が行われているような場合である。実行ユニ
ットは、記憶要求を出した後は、その要求がL2へ転送
されなくても、動作を続けることができる。LITPは
要求がL2へ転送される度に増分される。命令境界ポイ
ンタ(LLIP)は370−XA全命令境界を区切るの
に必要である。EOP標識を受取る度に、LIEPがL
llPにコピーされる。
LLIPはL1記憶待ち行列において″概念的に完了し
た″記憶を示すのに用いられる。このような記憶は、た
とえMPシステムの共通記憶レベルであるL2キャッシ
ュで行われていなくても、実行ユニットから見れば37
0−XA全命令完了しているので、完了したものとみな
される。このポインタは、プログラム記憶比較及びオペ
ランド記憶比較について検査されるエントリのための境
界を示す。最後に、L1デキュー・ポインタ(LIDP
)は記憶待ち行列から除去(デキュー)された最新のエ
ントリを識別する。このポインタが実際に指すのはL1
記憶待ち行列の無効エントリであり、これはエンキュー
のために使用可能な最後のエントリである。L1記憶待
ち行列のエントリは、対応するエントリがL2記憶待ち
行列から除去される時に、L2記憶待ち行列制御部から
の信号によってのみデキューされる。LIDPはLIE
Pと併用されて、記憶待ち行列が一杯か空かを検出し、
必要に応じて実行ユニットを制御する。
た″記憶を示すのに用いられる。このような記憶は、た
とえMPシステムの共通記憶レベルであるL2キャッシ
ュで行われていなくても、実行ユニットから見れば37
0−XA全命令完了しているので、完了したものとみな
される。このポインタは、プログラム記憶比較及びオペ
ランド記憶比較について検査されるエントリのための境
界を示す。最後に、L1デキュー・ポインタ(LIDP
)は記憶待ち行列から除去(デキュー)された最新のエ
ントリを識別する。このポインタが実際に指すのはL1
記憶待ち行列の無効エントリであり、これはエンキュー
のために使用可能な最後のエントリである。L1記憶待
ち行列のエントリは、対応するエントリがL2記憶待ち
行列から除去される時に、L2記憶待ち行列制御部から
の信号によってのみデキューされる。LIDPはLIE
Pと併用されて、記憶待ち行列が一杯か空かを検出し、
必要に応じて実行ユニットを制御する。
8第8図は、第7図のL1記憶待ち行列の出力部。
具体的には絶対アドレス・フィールド18A1(B)に
接続される2つのフィールド・アドレス・レジスタ、す
なわち開始フィールド絶対アドレス(SFAA)フィー
ルド・アドレス・レジスタ及び終了フィールド絶対アド
レス(EFAA)フィールド・アドレス・レジスタを示
している。
接続される2つのフィールド・アドレス・レジスタ、す
なわち開始フィールド絶対アドレス(SFAA)フィー
ルド・アドレス・レジスタ及び終了フィールド絶対アド
レス(EFAA)フィールド・アドレス・レジスタを示
している。
これらのフィールド・アドレス・レジスタは、順次記憶
処理をサポートするため、比較の目的で使用される。例
えば、370−XA命令は単一バイト記憶要求で記憶内
容を256バイトまで変更することができる。L1記憶
待ち行列18A1〜18C1に供給される各要求が固有
のエントリを必要とするのであれば、命令全体で256
個のエントリを確保しておかないと再試行の面で間厘が
ある。このような状況を避けるため、L2キャッシュ2
6Bで順次記憶が開始される時に、同じ命令に関連する
各エントリがデキューされ、そのアドレスが第8図の適
切なフィールド・アドレス・レジスタ5FAA又はEF
AAにロードされる。
処理をサポートするため、比較の目的で使用される。例
えば、370−XA命令は単一バイト記憶要求で記憶内
容を256バイトまで変更することができる。L1記憶
待ち行列18A1〜18C1に供給される各要求が固有
のエントリを必要とするのであれば、命令全体で256
個のエントリを確保しておかないと再試行の面で間厘が
ある。このような状況を避けるため、L2キャッシュ2
6Bで順次記憶が開始される時に、同じ命令に関連する
各エントリがデキューされ、そのアドレスが第8図の適
切なフィールド・アドレス・レジスタ5FAA又はEF
AAにロードされる。
これにより、順次記憶で変更される記憶フィールドの境
界が、比較のためにL1キャッシュ又はL1記憶待ち行
列のレベルにおいて最小限のハードウェアで維持される
。これらのフィールド・アドレス・レジスタはプログラ
ム記憶比較及びオペランド記憶比較をサポートするため
に用いられる。
界が、比較のためにL1キャッシュ又はL1記憶待ち行
列のレベルにおいて最小限のハードウェアで維持される
。これらのフィールド・アドレス・レジスタはプログラ
ム記憶比較及びオペランド記憶比較をサポートするため
に用いられる。
次にこれらの比較について説明する。
オペランド記 比
成る命令が特定の記憶位置に結果を記憶し、後続の命令
が同じ記憶位置からオペランドを取出す場合、粗のよう
なオペランド取出しは更新された記憶内容に対するもの
でなければならない。絶対アドレスに基く比較が要求さ
れる。記憶要求を待ち行列に入れているので、L2キャ
ッシュへの記憶が実際に完了してすべてのプロセッサが
更新された記憶内容を見れるようになるまで、オペラン
ド取出しを遅らせる必要が成る。単一プロセッサの場合
は、記憶内容の変更を他のプロセッサに伝える必要がな
いので、このような遅延は不要である。チャネルはプロ
セッサとは非同期に動作するので、プロセッサによる記
憶を知らなくてもよい。
が同じ記憶位置からオペランドを取出す場合、粗のよう
なオペランド取出しは更新された記憶内容に対するもの
でなければならない。絶対アドレスに基く比較が要求さ
れる。記憶要求を待ち行列に入れているので、L2キャ
ッシュへの記憶が実際に完了してすべてのプロセッサが
更新された記憶内容を見れるようになるまで、オペラン
ド取出しを遅らせる必要が成る。単一プロセッサの場合
は、記憶内容の変更を他のプロセッサに伝える必要がな
いので、このような遅延は不要である。チャネルはプロ
セッサとは非同期に動作するので、プロセッサによる記
憶を知らなくてもよい。
本例では、L1記憶待ち行列へのエンキュー、及びL1
キャッシュにデータがある場合のLlやの更新で、記憶
の完了を示すことができる。しかし。
キャッシュにデータがある場合のLlやの更新で、記憶
の完了を示すことができる。しかし。
記憶時にデータがL1キャッシュになければ、キャッシ
ュ記憶階層のすべてのレベルにおけるデータの一貫性を
保持するため、オペランド記憶比較を伴なう取出し要求
は、L1キャッシュへのインページ前にL2キャッシュ
への記憶が完了するのを待たなければならない。
ュ記憶階層のすべてのレベルにおけるデータの一貫性を
保持するため、オペランド記憶比較を伴なう取出し要求
は、L1キャッシュへのインページ前にL2キャッシュ
への記憶が完了するのを待たなければならない。
プログラム 比
プロセッサ内部では、プログラム記憶比較について2つ
のケースがある。最初のケースはオペランド記憶及びそ
れに続く同じ記憶位置からの命令取出しく記憶後取出し
)に係り、第2のケースは命令バッファへの命令先取り
及びそれに続く先取り命令実行前の同じ記憶位置への記
憶(取出し後記憶)に係る1成る命令が特定の記憶位置
に結果を記憶し、後続の命令取出しが同じ記憶位置から
行われる場合、そのような命令取出しは更新された記憶
ないように対するものでなければならない。
のケースがある。最初のケースはオペランド記憶及びそ
れに続く同じ記憶位置からの命令取出しく記憶後取出し
)に係り、第2のケースは命令バッファへの命令先取り
及びそれに続く先取り命令実行前の同じ記憶位置への記
憶(取出し後記憶)に係る1成る命令が特定の記憶位置
に結果を記憶し、後続の命令取出しが同じ記憶位置から
行われる場合、そのような命令取出しは更新された記憶
ないように対するものでなければならない。
論理アドレスに基く比較が要求される。記憶要求を待ち
行列に入れているので、L2キャッシュへの記憶が実際
に完了してすべてのプロセッサが更新された記憶内容を
見れるようになるまで、命令取出しを遅らせる必要があ
る。第2のケースでは。
行列に入れているので、L2キャッシュへの記憶が実際
に完了してすべてのプロセッサが更新された記憶内容を
見れるようになるまで、命令取出しを遅らせる必要があ
る。第2のケースでは。
プロセッサ内で実行された各オペランド記憶のアドレス
が命令ストリーム中の先取りされた命令と比較され、も
し一致すると、関連する命令が無効化される。先取りさ
れた命令のソース、すなわちL1命令キャッシュ・ライ
ンは、L2キャッシュでオペランド記憶が行われるまで
は、実際に無効化されることはない。L2キャッシュへ
のオペランド記憶が生じると、L2キャッシュ制御部は
L1命令キャッシュ・ラインの無効化を要求する。
が命令ストリーム中の先取りされた命令と比較され、も
し一致すると、関連する命令が無効化される。先取りさ
れた命令のソース、すなわちL1命令キャッシュ・ライ
ンは、L2キャッシュでオペランド記憶が行われるまで
は、実際に無効化されることはない。L2キャッシュへ
のオペランド記憶が生じると、L2キャッシュ制御部は
L1命令キャッシュ・ラインの無効化を要求する。
プログラム命令は、プログラム・オペランドとは物理的
に独立したLlキャッシュにあり、記憶はL1オペラン
ド・キャッシュに対してのみ行われるので、単一プロセ
ッサの場合も例外はない。記憶後取出しのケースでは、
L1命令キャッシュへのインページの前にL2キャッシ
ュがプロセッサから記憶された最新のデータを含んでい
ることが必要である。
に独立したLlキャッシュにあり、記憶はL1オペラン
ド・キャッシュに対してのみ行われるので、単一プロセ
ッサの場合も例外はない。記憶後取出しのケースでは、
L1命令キャッシュへのインページの前にL2キャッシ
ュがプロセッサから記憶された最新のデータを含んでい
ることが必要である。
第8図に示したフィールド・アドレス・レジスタ(SF
AA及びEFAA)は、同じ370−XA記憶装置間命
令におけるオペランド・オーバーラツプの検出にも使用
される0次に、このオペランド・オーバーラツプについ
て説明する。
AA及びEFAA)は、同じ370−XA記憶装置間命
令におけるオペランド・オーバーラツプの検出にも使用
される0次に、このオペランド・オーバーラツプについ
て説明する。
オペランド・オーバーラツプ
両方のオペランドが記憶装置にある記憶装置間命令では
、それらのオペランドがオーバーラツプする可能性があ
る。このオーバーラツプ状態の検出は論理アドレスに基
いて行う必要が成る。記憶装置の宛先フィールドは実際
にL1記憶待ち行列、L1キャッシュ(LLキャッシュ
・ディレクトリ・ヒツトが生じた時)、及びL2キャッ
シュ書込みバッファに組込まれる。ただし、L2キャッ
シュ自身には組込まれない、オペランド・オーバーラツ
プが生じると、L1キャッシュ記憶待ち行列データ及び
L2キャッシュからの古いL1ライン・データがL1キ
ャッシュへのインページ時に組合わされる。破壊的オー
バーラツプの場合は、オーバーラツプ部分は必らずしも
記憶装置から取出さなくてもよい。従って、L2キャッ
シュの実際の更新は当該命令のオペレーション終了まで
延期される。
、それらのオペランドがオーバーラツプする可能性があ
る。このオーバーラツプ状態の検出は論理アドレスに基
いて行う必要が成る。記憶装置の宛先フィールドは実際
にL1記憶待ち行列、L1キャッシュ(LLキャッシュ
・ディレクトリ・ヒツトが生じた時)、及びL2キャッ
シュ書込みバッファに組込まれる。ただし、L2キャッ
シュ自身には組込まれない、オペランド・オーバーラツ
プが生じると、L1キャッシュ記憶待ち行列データ及び
L2キャッシュからの古いL1ライン・データがL1キ
ャッシュへのインページ時に組合わされる。破壊的オー
バーラツプの場合は、オーバーラツプ部分は必らずしも
記憶装置から取出さなくてもよい。従って、L2キャッ
シュの実際の更新は当該命令のオペレーション終了まで
延期される。
取出しアクセスでオペランド・オーバーラツプが検出さ
れた場合は、L1キャッシュ・レベルでのエンキューと
並行してL1キャッシュの内容が変更された時にデータ
がL1キャッシュに記憶されていれば、問題はない、オ
ペランド・オーバーラツプを伴なう取出しでL1キャッ
シュ・ミスが生じると、L2キャッシュへの取出し要求
の転送前に、L1記憶待ち行列が空にされる(L2が当
該命令に関係するすべてのL1記憶待ち行列エントリを
処理する)、これにより、L2が当該命令のための最新
のデータをL2書込みバッファに持つことが保証される
。次いでL1キャッシュ・ミスがL2キャッシュで処理
され、最新のデータをL1キャッシュに与えるために、
L2書込みバッファ及びL2キャッシュ・ラインの内容
が組合わされる。
れた場合は、L1キャッシュ・レベルでのエンキューと
並行してL1キャッシュの内容が変更された時にデータ
がL1キャッシュに記憶されていれば、問題はない、オ
ペランド・オーバーラツプを伴なう取出しでL1キャッ
シュ・ミスが生じると、L2キャッシュへの取出し要求
の転送前に、L1記憶待ち行列が空にされる(L2が当
該命令に関係するすべてのL1記憶待ち行列エントリを
処理する)、これにより、L2が当該命令のための最新
のデータをL2書込みバッファに持つことが保証される
。次いでL1キャッシュ・ミスがL2キャッシュで処理
され、最新のデータをL1キャッシュに与えるために、
L2書込みバッファ及びL2キャッシュ・ラインの内容
が組合わされる。
第9図はL2記憶待ち行列26A1の内容を示したもの
であるが、26A2及び26A3もこれと同じである。
であるが、26A2及び26A3もこれと同じである。
第9図に示すように、L2記憶待ち行列は4つの主フィ
ールドから成っている。第1フイールドは絶対アドレス
26A1 (A)を含む、これは、記憶待ち行列エント
リにあるダブルワード・データのアドレスを表わし、要
求と共にL1記憶待ち行列から転送される。このアドレ
スはL2キャッシュ及びL2書込みバッファを更新する
のに用いられ、また各L1キャッシュにあるデータの記
録を維持するL1状況アレイに間合せる際のアドレスと
しても使用される0次のコマンド・フィールド26A1
(B)は順次記憶ビットを含み、これが0であれば非
順次記憶要求を示し、1であれば順次記憶要求を示す、
記憶待ち行列内の命令境界を区切るEOPビットも含ま
れる1次のデータ・フィールド26A1 (C)は、L
1記憶待ち行列へのロードと同時に転送されてくる8バ
イトまでのデータを含む、最後のフィールドは記憶バイ
ト・フラグ(STBF)フィールド26A1 (D)で
あり、L1記憶待ち行列の場合と同様に、エンキューさ
れたダブルワードのどのバイトが記憶装置に書込まれる
かを示す。
ールドから成っている。第1フイールドは絶対アドレス
26A1 (A)を含む、これは、記憶待ち行列エント
リにあるダブルワード・データのアドレスを表わし、要
求と共にL1記憶待ち行列から転送される。このアドレ
スはL2キャッシュ及びL2書込みバッファを更新する
のに用いられ、また各L1キャッシュにあるデータの記
録を維持するL1状況アレイに間合せる際のアドレスと
しても使用される0次のコマンド・フィールド26A1
(B)は順次記憶ビットを含み、これが0であれば非
順次記憶要求を示し、1であれば順次記憶要求を示す、
記憶待ち行列内の命令境界を区切るEOPビットも含ま
れる1次のデータ・フィールド26A1 (C)は、L
1記憶待ち行列へのロードと同時に転送されてくる8バ
イトまでのデータを含む、最後のフィールドは記憶バイ
ト・フラグ(STBF)フィールド26A1 (D)で
あり、L1記憶待ち行列の場合と同様に、エンキューさ
れたダブルワードのどのバイトが記憶装置に書込まれる
かを示す。
第3図及び第5図に示した各プロセッサ20A、20B
、20Cは、他のプロセッサからは完全に独立した自身
のL2記憶待ち行列26A1.26A2.26A3をそ
れぞれ維持する。記憶サブシステムはこれらのL2記憶
待ち行列及びL2書込みバッファ(第1図参照)を管理
する。L2書込みバッファも各プロセッサに関連づけら
れ、第1図ではrL2WB−OJ及びrL2WB−IJ
で示されている。
、20Cは、他のプロセッサからは完全に独立した自身
のL2記憶待ち行列26A1.26A2.26A3をそ
れぞれ維持する。記憶サブシステムはこれらのL2記憶
待ち行列及びL2書込みバッファ(第1図参照)を管理
する。L2書込みバッファも各プロセッサに関連づけら
れ、第1図ではrL2WB−OJ及びrL2WB−IJ
で示されている。
一般的に言うと、L2記憶待ち行列は2つの主要部を含
む、第1あ主要部はL2記憶待ち行列の1次元アレイ2
6A1〜26A3である。これは。
む、第1あ主要部はL2記憶待ち行列の1次元アレイ2
6A1〜26A3である。これは。
要求をL2キャッシュ26B又は上述のL2書込みバッ
ファヘデキューする際に先入れ先出し式の循環待ち行列
として働く、その構造はL1記憶待ち行列と同じである
が、エントリ・ポインタが若干具なっている。第2の主
要部は、各プロセッサの順次記憶処理に使用されるL2
書込みバッファのセット26A10/26A11.26
A13/26A14.26A16/26A17.及び2
6A4である。
ファヘデキューする際に先入れ先出し式の循環待ち行列
として働く、その構造はL1記憶待ち行列と同じである
が、エントリ・ポインタが若干具なっている。第2の主
要部は、各プロセッサの順次記憶処理に使用されるL2
書込みバッファのセット26A10/26A11.26
A13/26A14.26A16/26A17.及び2
6A4である。
記憶要求が要求元プロセッサからL1キャッシュ/記憶
サブシステム・インタフェースを介して転送される度に
、L2記憶待ち行列にエントリが置かれる。L2記憶待
ち行列に対しては、エンキュー・ポインタ(L2EP)
、完了ポインタ(L20P)及びデキュー・ポインタ(
L2DP)が使用される。L2EPは、L2記憶待ち行
列へのエンキューの直前に増分され、待ち行列中の次に
使用可能なエントリを指す、L1記憶待ち行列及びL2
記憶待ち行列のエントリ数が同じであれば、Llが記憶
待ち行列オーバーフローを阻止するので、L2へのエン
キューは常に許される。L2CPは、L2記憶待ち行列
中でサービス可能な記憶要求を区切るのに必要である。
サブシステム・インタフェースを介して転送される度に
、L2記憶待ち行列にエントリが置かれる。L2記憶待
ち行列に対しては、エンキュー・ポインタ(L2EP)
、完了ポインタ(L20P)及びデキュー・ポインタ(
L2DP)が使用される。L2EPは、L2記憶待ち行
列へのエンキューの直前に増分され、待ち行列中の次に
使用可能なエントリを指す、L1記憶待ち行列及びL2
記憶待ち行列のエントリ数が同じであれば、Llが記憶
待ち行列オーバーフローを阻止するので、L2へのエン
キューは常に許される。L2CPは、L2記憶待ち行列
中でサービス可能な記憶要求を区切るのに必要である。
EOP標識を受取る度に、L2EPがL2CPにコピー
される。また順次記憶処理の場合、順次記憶要求がエン
キューされる度に、L2CPは増分される。L2CPは
、L2記憶待ち行列においてサービス可能な記憶要求を
示すのに用いられる。サービス可能な記憶要求とは、非
順次記憶の場合はL2キャッシュへの書込みが可能な記
憶要求を意味し、順次記憶の場合はL2書込みバッファ
への移動が可能な記憶要求を意味する。最後のL2DP
は、L2記憶待ち行列がオペランド除去された最新のエ
ントリを識別する。これは実際には無効のL2記憶待ち
行列エントリを指し、エンキューのために最後に使用可
能なエントリを示す。L2記憶待ち行列エントリは、L
2キャッシュ26Bに書込まれる時(NS)又はL2書
込みバッファに移される時(SS)にデキューされる。
される。また順次記憶処理の場合、順次記憶要求がエン
キューされる度に、L2CPは増分される。L2CPは
、L2記憶待ち行列においてサービス可能な記憶要求を
示すのに用いられる。サービス可能な記憶要求とは、非
順次記憶の場合はL2キャッシュへの書込みが可能な記
憶要求を意味し、順次記憶の場合はL2書込みバッファ
への移動が可能な記憶要求を意味する。最後のL2DP
は、L2記憶待ち行列がオペランド除去された最新のエ
ントリを識別する。これは実際には無効のL2記憶待ち
行列エントリを指し、エンキューのために最後に使用可
能なエントリを示す。L2記憶待ち行列エントリは、L
2キャッシュ26Bに書込まれる時(NS)又はL2書
込みバッファに移される時(SS)にデキューされる。
第10図は、SS L2WB制御部26A12.26
A15及び26A18に設けられる1組のL2記憶待ち
行列ライン保持レジスタを前述のL2書込みバッファと
共に示している。
A15及び26A18に設けられる1組のL2記憶待ち
行列ライン保持レジスタを前述のL2書込みバッファと
共に示している。
各L2記憶待ち行列のデータ・フィールド26Al(C
)の出力はそれぞれL2書込みバッファ0 (L2WB
−0)26A10.26A13及び26A16並びにL
2書込みバッフ71(L2WB−1)26A11.26
A14及び26A17に接続される。各L2記憶待ち行
列の絶対アドレス・フィールド26.A1(A)はそれ
ぞれ記憶サブシステムL2書込みバッファ(SS L
、2WB)制御部26A12.−26A15及び26A
18に接続される。各SS L2WB制御部は1組の
ライン保持レジスタ、すなわちライン保持0レジスタ、
ライン保持ルジスタ及びライン保持2レジスタを含む、
ライン保持レジスタはアドレス・レジスタであり、順次
記憶処理をサポートするのに必要である。各L2記憶待
ち行列の記憶バイト・フラグ(・5TBF)フィールド
26A1 (D)はL2書込みバッファ記憶バイト・フ
ラグ0(L2WB 5TBF O)レジスタ、L2
書込みバッファ記憶バイト・フラグl (L2WB
5TBF1)レジスタ及びL2書込みバッファ記憶バイ
ト・フラグ2 (L2WB 5TBF 2)レジス
タに接続される。
)の出力はそれぞれL2書込みバッファ0 (L2WB
−0)26A10.26A13及び26A16並びにL
2書込みバッフ71(L2WB−1)26A11.26
A14及び26A17に接続される。各L2記憶待ち行
列の絶対アドレス・フィールド26.A1(A)はそれ
ぞれ記憶サブシステムL2書込みバッファ(SS L
、2WB)制御部26A12.−26A15及び26A
18に接続される。各SS L2WB制御部は1組の
ライン保持レジスタ、すなわちライン保持0レジスタ、
ライン保持ルジスタ及びライン保持2レジスタを含む、
ライン保持レジスタはアドレス・レジスタであり、順次
記憶処理をサポートするのに必要である。各L2記憶待
ち行列の記憶バイト・フラグ(・5TBF)フィールド
26A1 (D)はL2書込みバッファ記憶バイト・フ
ラグ0(L2WB 5TBF O)レジスタ、L2
書込みバッファ記憶バイト・フラグl (L2WB
5TBF1)レジスタ及びL2書込みバッファ記憶バイ
ト・フラグ2 (L2WB 5TBF 2)レジス
タに接続される。
1つの370−XA命令は記憶内容を256バイトまで
変更することができる。L2キャッシュ・ラインの容量
を128バイトとすると、256バイトのフィールドは
3つのL2キャッシュ・ラインにまたがることが多い。
変更することができる。L2キャッシュ・ラインの容量
を128バイトとすると、256バイトのフィールドは
3つのL2キャッシュ・ラインにまたがることが多い。
順次記憶をL2で開始する時、最初のライン保持レジス
タにL2記憶待ち行列中の絶対アドレスがロードされ、
データがL2キャッシュにあるかどうかを決定するため
、この絶対アドレスを用いてL2キャッシュ・ディレク
トリが探索される。もしデータがL2キャッシュにあれ
ば、L2キャッシュ・セットもライン保持レジスタにロ
ードされ、かくして順次記憶が行われる間、キャッシュ
・ラインがL2キャッシュにピニングされる。「ピニン
グ」とは、I’lJ(次記憶が行われている間、当該L
2キャッシュ・ラインを他のラインで置換えることがで
きないことを意味するが、アクセスに関してはこれ以外
の制限はない、、L2キャッシュ・ディレクトリの探索
でミスが検出されると、L2書込みバッファへのデータ
移動及び記憶待ち行列からのデキューが続行される。処
理は現キャッシュ・ラインの終りに達するまで続く、所
望のデータがL2キャッシュへインページされる前にキ
ャッシュ・ラインの終りに達すると、処理は一時中止さ
れるが、さもなければ次のL2キャッシュ・ラインに続
く、別のL2キャッシュ・ラインが記憶される度に、L
2キャッシュ・ディレクトリの探索が行われ、且つ別の
ライン保持レジス□りが設定される。順次記憶について
のEOPが検出されると、データは連絡するキャッシュ
書込みサイクルでL2キャッシュに記憶され、ライン保
持レジスタはリセットされる。
タにL2記憶待ち行列中の絶対アドレスがロードされ、
データがL2キャッシュにあるかどうかを決定するため
、この絶対アドレスを用いてL2キャッシュ・ディレク
トリが探索される。もしデータがL2キャッシュにあれ
ば、L2キャッシュ・セットもライン保持レジスタにロ
ードされ、かくして順次記憶が行われる間、キャッシュ
・ラインがL2キャッシュにピニングされる。「ピニン
グ」とは、I’lJ(次記憶が行われている間、当該L
2キャッシュ・ラインを他のラインで置換えることがで
きないことを意味するが、アクセスに関してはこれ以外
の制限はない、、L2キャッシュ・ディレクトリの探索
でミスが検出されると、L2書込みバッファへのデータ
移動及び記憶待ち行列からのデキューが続行される。処
理は現キャッシュ・ラインの終りに達するまで続く、所
望のデータがL2キャッシュへインページされる前にキ
ャッシュ・ラインの終りに達すると、処理は一時中止さ
れるが、さもなければ次のL2キャッシュ・ラインに続
く、別のL2キャッシュ・ラインが記憶される度に、L
2キャッシュ・ディレクトリの探索が行われ、且つ別の
ライン保持レジス□りが設定される。順次記憶について
のEOPが検出されると、データは連絡するキャッシュ
書込みサイクルでL2キャッシュに記憶され、ライン保
持レジスタはリセットされる。
この順次記憶に関連するフィールド・アドレス・レジス
タを解放するため、最終デキュー信号がLlに転送され
る。これにより、順次記憶で変更された記憶フィールド
の境界が最小限のハードウェアで維持されると共に、L
2キャッシュ・レベルでのユンカレンシが改善される゛
。
タを解放するため、最終デキュー信号がLlに転送され
る。これにより、順次記憶で変更された記憶フィールド
の境界が最小限のハードウェアで維持されると共に、L
2キャッシュ・レベルでのユンカレンシが改善される゛
。
256バイトの記憶フィールドの場合、L2キャッシュ
・ディレクトリがアクセスされるのは高々6回である。
・ディレクトリがアクセスされるのは高々6回である。
これは、ダブルワード毎に個別の記憶動作を行い、従′
って約33回のキャッシュ・アクセスを必要とする方式
に比べて、L2キャッシュのビジー時間を大幅に短縮す
る。
って約33回のキャッシュ・アクセスを必要とする方式
に比べて、L2キャッシュのビジー時間を大幅に短縮す
る。
L2記憶待ち行列のデータ部を用いた順次記憶処理を可
能にするためには、ライン保持レジスタの他にL2書込
みバッファが必要であ゛る。順次記憶のエントリがL2
記憶待ち行列からデキューされる時、データが実記憶に
置かれるかの如くにアドレス合せされて、記憶フィール
ドのイメージがL2書込みバッファに形成される。順次
記憶のEOPを受取る′と、L2キセッシュで3つまで
の連続するライン書込みサイクルがとられ、記憶バイト
・フラグめ制御のちとに各書込みサイクルで1〜128
バイトがキャッシュに移される。このようにして、最大
3つの書込みオペレーションで256バイトのフィール
ドをL2キャッシュに書込むことができる。これはL2
キャッシュの使用可能性を大幅に改善する。
能にするためには、ライン保持レジスタの他にL2書込
みバッファが必要であ゛る。順次記憶のエントリがL2
記憶待ち行列からデキューされる時、データが実記憶に
置かれるかの如くにアドレス合せされて、記憶フィール
ドのイメージがL2書込みバッファに形成される。順次
記憶のEOPを受取る′と、L2キセッシュで3つまで
の連続するライン書込みサイクルがとられ、記憶バイト
・フラグめ制御のちとに各書込みサイクルで1〜128
バイトがキャッシュに移される。このようにして、最大
3つの書込みオペレーションで256バイトのフィール
ドをL2キャッシュに書込むことができる。これはL2
キャッシュの使用可能性を大幅に改善する。
オペランド・オーバーラツプの場合、LLインページ要
求がL1キャッシュで処理される時に、L2書込みバッ
ファにあるデータをL2キャッシュからのデータと組合
せる必要がある。L2書込みバッファ及びL2キャッシ
ュからどのバイトをゲートするかは、L2書込みバッフ
ァに関連する記憶バイト・フラグにより制御される。そ
の結果、L1キャッシュは現在実−行中の命令に対する
最新のデータを含む要求されたし1キヤツシユ・ライン
を受取る。各プロセッサがこのような機構を1組持って
いるので、記憶サブシステムは各プロセッサについての
順次記憶オペレーションの同時処理をサポートする。唯
一の競合点は間合せに必要なL2キャッシュ・ディレク
トリとL2W込みバッファからL2キャッシュへの実際
の記憶である。
求がL1キャッシュで処理される時に、L2書込みバッ
ファにあるデータをL2キャッシュからのデータと組合
せる必要がある。L2書込みバッファ及びL2キャッシ
ュからどのバイトをゲートするかは、L2書込みバッフ
ァに関連する記憶バイト・フラグにより制御される。そ
の結果、L1キャッシュは現在実−行中の命令に対する
最新のデータを含む要求されたし1キヤツシユ・ライン
を受取る。各プロセッサがこのような機構を1組持って
いるので、記憶サブシステムは各プロセッサについての
順次記憶オペレーションの同時処理をサポートする。唯
一の競合点は間合せに必要なL2キャッシュ・ディレク
トリとL2W込みバッファからL2キャッシュへの実際
の記憶である。
仮想記憶環境におけるページ・フォールトからの効率的
な回復をサポートするため、マイクロコードはプロセッ
サ記憶インタフェースをリセットするコマンドを出すこ
とができる。これは1部分的に完了した370−XA全
命令関連するLL/L2記憶待ち記憶膜ントリのクリア
を可能にする。
な回復をサポートするため、マイクロコードはプロセッ
サ記憶インタフェースをリセットするコマンドを出すこ
とができる。これは1部分的に完了した370−XA全
命令関連するLL/L2記憶待ち記憶膜ントリのクリア
を可能にする。
手順は次の通りである。
まずマイクロコードは、前に完了した命令のすべての記
憶がL2キャッシュに対してなされることを保証する。
憶がL2キャッシュに対してなされることを保証する。
次いで上述のリセット・コマンドを出すことができる。
L1記憶待ち行列及びL2記憶待ち行列は関連する制御
部と共にシステム・リセット状態におかれる。マイクロ
コードは、当該命令が変更したかも知れないL1キャッ
シュ中のデータを無効化する。これで記憶装置に対する
命令の影響がなくなる。
部と共にシステム・リセット状態におかれる。マイクロ
コードは、当該命令が変更したかも知れないL1キャッ
シュ中のデータを無効化する。これで記憶装置に対する
命令の影響がなくなる。
要約すると、本発明に従うLL/L2記憶待ち記憶膜計
は、密結合MPシステム内での各プロセッサの実行を最
大限に分離すると共に、共用L2キャッシュ・バッファ
資源の利用を最小限に抑える。370−XA全命令プロ
セッサ内で首尾よく完了するまでは、如何なる命令も記
憶域を変更しない。命令は、記憶域の使用可能性を最大
にするよう、゛結果記憶フィールド長に従って処理され
る。
は、密結合MPシステム内での各プロセッサの実行を最
大限に分離すると共に、共用L2キャッシュ・バッファ
資源の利用を最小限に抑える。370−XA全命令プロ
セッサ内で首尾よく完了するまでは、如何なる命令も記
憶域を変更しない。命令は、記憶域の使用可能性を最大
にするよう、゛結果記憶フィールド長に従って処理され
る。
これにより、部分結果が共通記憶レベルのL2キャッシ
ュに現われないという簡単な記憶処理が可能になる。従
って、L2キャッシュ中のラインを動作中の特定のプロ
セッサ専用にすべきではない。
ュに現われないという簡単な記憶処理が可能になる。従
って、L2キャッシュ中のラインを動作中の特定のプロ
セッサ専用にすべきではない。
ページ・フォールトについても、記憶フィールド・アド
レスを予め検査する必要をなくすことにより。
レスを予め検査する必要をなくすことにより。
すなわち部分結果を記憶させるためにL2キャッシュに
あるデータの排他的アクセスを要求することにより、W
I単なページ・フォールト処理がサポートされる。これ
は共用L2キャッシュにあるデータの同時使用可能性を
最大にし、MPシステム全体のパフォーマンスを更に上
げる。
あるデータの排他的アクセスを要求することにより、W
I単なページ・フォールト処理がサポートされる。これ
は共用L2キャッシュにあるデータの同時使用可能性を
最大にし、MPシステム全体のパフォーマンスを更に上
げる。
次に、第1図〜第10図の他、各種オペレーションのタ
イミングを示す第11図〜第49図を参照しながら、L
1記憶待ち行列、L2記憶待ち行列及び記憶要求処理一
般について更に詳しく説明する。なお、第11図〜第4
9図では下記の如き略号が使用されている。
イミングを示す第11図〜第49図を参照しながら、L
1記憶待ち行列、L2記憶待ち行列及び記憶要求処理一
般について更に詳しく説明する。なお、第11図〜第4
9図では下記の如き略号が使用されている。
BSU バス切替えユニット
C/A コマンド/アドレス
DQ デキュー
DW ダブルワード(8バイト)EFA 終
了フィールド・アドレスEOP オペレーション終
了 EQ エンキュー H/M ヒツト/ミス LHOライン保持0レジスタ LHI ライン保持ルジスタ LI 局所無効化 MD ミニディレクトリ OPB アウトページ・バッファ QW 4倍ワード(16バイト)R/C参照/変
更ビット RD 読取り REP 反復 SFA 開始フィールド・アドレスWB 書
込みバッファ WRM込み XI 相互無効化 1.1 記憶装置記憶、TLBミス (第11図) 実行ユニット(プロセッサ)がL1オペランド・キャッ
シュに対して記憶装置記憶要求を出す。セット・アソシ
アティブ式TLB探索の結果、記憶要求で与えられた論
理アドレスに対する絶対アドレスが得られなかった。動
的アドレス変換の要求が実行ユニットに出され、現記憶
オペレーションは無効にされる。比較のための有効絶対
アドレスがTLBから得られなかったので、TLBミス
はL1キャッシュ・ディレクトリの探索結果を無効にす
る。LLキャッシュへの書込みはキャンセルされる。T
LBミスのため、LL記憶待ち行列への記憶要求のエン
キューは行われない。現命令に続く先取りされた命令は
、記憶要求による変更について、論理アドレスの比較に
よって検査される。
了フィールド・アドレスEOP オペレーション終
了 EQ エンキュー H/M ヒツト/ミス LHOライン保持0レジスタ LHI ライン保持ルジスタ LI 局所無効化 MD ミニディレクトリ OPB アウトページ・バッファ QW 4倍ワード(16バイト)R/C参照/変
更ビット RD 読取り REP 反復 SFA 開始フィールド・アドレスWB 書
込みバッファ WRM込み XI 相互無効化 1.1 記憶装置記憶、TLBミス (第11図) 実行ユニット(プロセッサ)がL1オペランド・キャッ
シュに対して記憶装置記憶要求を出す。セット・アソシ
アティブ式TLB探索の結果、記憶要求で与えられた論
理アドレスに対する絶対アドレスが得られなかった。動
的アドレス変換の要求が実行ユニットに出され、現記憶
オペレーションは無効にされる。比較のための有効絶対
アドレスがTLBから得られなかったので、TLBミス
はL1キャッシュ・ディレクトリの探索結果を無効にす
る。LLキャッシュへの書込みはキャンセルされる。T
LBミスのため、LL記憶待ち行列への記憶要求のエン
キューは行われない。現命令に続く先取りされた命令は
、記憶要求による変更について、論理アドレスの比較に
よって検査される。
L1オペランド・キャッシュに関してTLBミスが生じ
ているので、記憶要求を完了させるための有効絶対アド
レスは存在しない、プログラム記憶比較検査は阻止され
る。TLBミスのため、記憶要求はL2キャッシュには
転送されない、ハードウェアで実行される命令の場合は
、もしアドレス変換が成功すると、この命令のところか
らプログラム実行が再開される。マイクロ命令の記憶要
求の場合は、アドレス変換が成功すると、マイクロ命令
が再実行される。いずれの場合も、L1制御部は同じ記
憶要求がL2記憶待ち行列に転送されるのを避けるため
、繰返された記憶要求のエンキューは行わない。L1記
憶待ち行列にエンキューされるのは最新の新しい記憶要
求だけである。
ているので、記憶要求を完了させるための有効絶対アド
レスは存在しない、プログラム記憶比較検査は阻止され
る。TLBミスのため、記憶要求はL2キャッシュには
転送されない、ハードウェアで実行される命令の場合は
、もしアドレス変換が成功すると、この命令のところか
らプログラム実行が再開される。マイクロ命令の記憶要
求の場合は、アドレス変換が成功すると、マイクロ命令
が再実行される。いずれの場合も、L1制御部は同じ記
憶要求がL2記憶待ち行列に転送されるのを避けるため
、繰返された記憶要求のエンキューは行わない。L1記
憶待ち行列にエンキューされるのは最新の新しい記憶要
求だけである。
1.2 記憶装置記憶、TLBヒツト、アクセス例外(
第12図) 実行ユニットがL1オペランド・キャッシュに対して記
憶装置記憶要求を出す、セット・アソシアティブ式TL
B探索の結果、記憶要求で与えられた論理アドレスに対
する絶対アドレスが得られる。しかし、TLBアクセス
の結果として、アクセス例外(保護例外又はアドレス指
定例外)が検出される。実行ユニットにアクセス例外が
白され、現記憶オペレーションは無効にされる。アクセ
ス例外はL1キャッシュ・ディレクトリ探索の結果を無
効にする。LLキャッシュへの書込みはキャンセルされ
る。アクセス例外のため、L1記憶待ち行列への記憶要
求のエンキューは行われない。
第12図) 実行ユニットがL1オペランド・キャッシュに対して記
憶装置記憶要求を出す、セット・アソシアティブ式TL
B探索の結果、記憶要求で与えられた論理アドレスに対
する絶対アドレスが得られる。しかし、TLBアクセス
の結果として、アクセス例外(保護例外又はアドレス指
定例外)が検出される。実行ユニットにアクセス例外が
白され、現記憶オペレーションは無効にされる。アクセ
ス例外はL1キャッシュ・ディレクトリ探索の結果を無
効にする。LLキャッシュへの書込みはキャンセルされ
る。アクセス例外のため、L1記憶待ち行列への記憶要
求のエンキューは行われない。
現命令に続く先取りされた命令は、記憶要求による変更
について、論理アドレスの比較によって検査される。ア
クセス例外が生じているので、記憶要求を完了させるた
めの有効絶対アドレスは存在しない。プログラム記憶比
較検査は阻止される。
について、論理アドレスの比較によって検査される。ア
クセス例外が生じているので、記憶要求を完了させるた
めの有効絶対アドレスは存在しない。プログラム記憶比
較検査は阻止される。
現プログラムが異常終了するので、記憶要求はL2記憶
待ち行列には転送されない。最終的には。
待ち行列には転送されない。最終的には。
この命令に関連するエンキューされた記憶要求を除去す
るために、プロセッサ回復ルーチンの一部としてプロセ
ッサL2インタフェースがマイクロコードによりリセッ
トされる。
るために、プロセッサ回復ルーチンの一部としてプロセ
ッサL2インタフェースがマイクロコードによりリセッ
トされる。
1.3 記憶装置記憶、非順次、TLBヒツト、アクセ
ス例外なし、遅延記憶待ち行列転送、L2キャッシュ使
用中 (第13図)実行ユニットがL1オペランド・キ
ャッシュに対して記憶装置非順次記憶要求を出す。セッ
ト・アソシアティブ式TLB探索の結果、記憶要求で与
えられた論理アドレスに対する絶対アドレスがアクセス
例外なしに得られる。TLBからの絶対アドレスを用い
てL1キャッシュ・ディレクトリが探索され、その結果
L1キャッシュにデータがあることがわかると(LLl
ヒツト1選択されたL1キャッシュ・セットへの書込み
が有効化され。
ス例外なし、遅延記憶待ち行列転送、L2キャッシュ使
用中 (第13図)実行ユニットがL1オペランド・キ
ャッシュに対して記憶装置非順次記憶要求を出す。セッ
ト・アソシアティブ式TLB探索の結果、記憶要求で与
えられた論理アドレスに対する絶対アドレスがアクセス
例外なしに得られる。TLBからの絶対アドレスを用い
てL1キャッシュ・ディレクトリが探索され、その結果
L1キャッシュにデータがあることがわかると(LLl
ヒツト1選択されたL1キャッシュ・セットへの書込み
が有効化され。
記憶バイト・フラグの制御のもとに、記憶要求データの
ダブルワード内の所望のバイトだけが書込まれる。ディ
レクトリ探索の結果、L1キャッシュ・ミスが検出され
ると、L1キャッシュへの書込みはキャンセルされる。
ダブルワード内の所望のバイトだけが書込まれる。ディ
レクトリ探索の結果、L1キャッシュ・ミスが検出され
ると、L1キャッシュへの書込みはキャンセルされる。
何れの場合も、記憶要求はL1記憶待ち行列にエンキュ
ーされる。待ち行列エントリ情報は、絶対アドレス、デ
ータ、記憶バイト・フラグ及び記憶要求タイプ(非順次
記憶、順次記憶、オペレージJン終了)から成っている
。L2記憶待ち行列への記憶要求の転送は遅らされる。
ーされる。待ち行列エントリ情報は、絶対アドレス、デ
ータ、記憶バイト・フラグ及び記憶要求タイプ(非順次
記憶、順次記憶、オペレージJン終了)から成っている
。L2記憶待ち行列への記憶要求の転送は遅らされる。
次の3つの状態の如何なる組合せも転送を遅らせる。ま
ず、記憶要求は記憶待ち行列に入った順序に従ってサー
ビスされねばならない。
ず、記憶要求は記憶待ち行列に入った順序に従ってサー
ビスされねばならない。
例えばL L/L 2インタフエースが前に使用中であ
ったため、LL記憶待ち行列エンキュー・ポインタ(L
IEP)がL1転送ポインタ(LITP)よりも大きく
なると、先行の全エントリが転送されない限り、この要
求をL2に転送することはできない。第2に、LIEP
及びLITPは等しいが、LL/L2インタフェースが
別のL1キャッシュへのデータ転送又はL2がらのL1
キャッシュ・ライン無効化要求で使用中である。第3に
。
ったため、LL記憶待ち行列エンキュー・ポインタ(L
IEP)がL1転送ポインタ(LITP)よりも大きく
なると、先行の全エントリが転送されない限り、この要
求をL2に転送することはできない。第2に、LIEP
及びLITPは等しいが、LL/L2インタフェースが
別のL1キャッシュへのデータ転送又はL2がらのL1
キャッシュ・ライン無効化要求で使用中である。第3に
。
L2記憶待ち行列が現在−杯であり、L1記憶待ち行列
からの記憶要求を受取れない、現命令に続く先取りされ
た命令は、記憶要求による変更について、論理アドレス
の比較によって検査される。
からの記憶要求を受取れない、現命令に続く先取りされ
た命令は、記憶要求による変更について、論理アドレス
の比較によって検査される。
もし一致が生じると、命令バッファは無効化される。最
終的には、プロセッサ記憶要求はL2キャッシュに転送
される。このプロセッサに関連するL2記憶待ち行列が
要求を受取った時に空であり、且つこの要求でEOPが
示されていると、この要求はL2キャッシュ・アービタ
により選択されると直ちにサービスされる。何れの場合
も、要求元プロセッサに関連するL2記憶待ち行列にエ
ントリが作成される。L2記憶待ち行列は物理的に制御
部及びデータ部に分けられる。絶対アドレス及び記憶要
求タイプはL2制御部26Kに維持される。関連するデ
ータ及び記憶バイト・フラグはL2キャッシュ・データ
フロ一部にエンキューされる。L2キャッシュ・アービ
タはこのプロセッサ記憶要求をサービスのために選択し
ない。
終的には、プロセッサ記憶要求はL2キャッシュに転送
される。このプロセッサに関連するL2記憶待ち行列が
要求を受取った時に空であり、且つこの要求でEOPが
示されていると、この要求はL2キャッシュ・アービタ
により選択されると直ちにサービスされる。何れの場合
も、要求元プロセッサに関連するL2記憶待ち行列にエ
ントリが作成される。L2記憶待ち行列は物理的に制御
部及びデータ部に分けられる。絶対アドレス及び記憶要
求タイプはL2制御部26Kに維持される。関連するデ
ータ及び記憶バイト・フラグはL2キャッシュ・データ
フロ一部にエンキューされる。L2キャッシュ・アービ
タはこのプロセッサ記憶要求をサービスのために選択し
ない。
1.4 記憶装置記憶、非順次、TLBヒツト。
アクセス例外なし、L2キャッシュ・ヒツト (第14
〜21図) 実行ユニットがL1オペランド・キャッシュに対して記
憶装置非順次記憶要求を出す、セット・アソシアティブ
式TLB探索の結果、記憶要求で与えられた論理アドレ
スに対する絶対アドレスがアクセス例外なしに得られる
。TLBからの絶対アドレスを用いてL1キャッシュ・
ディレクトリが探索され、その結果L1キャッシュにデ
ータがあることがわかると(Llヒツト)1選択された
L1キャッシュ・セットへの書込みが有効化され。
〜21図) 実行ユニットがL1オペランド・キャッシュに対して記
憶装置非順次記憶要求を出す、セット・アソシアティブ
式TLB探索の結果、記憶要求で与えられた論理アドレ
スに対する絶対アドレスがアクセス例外なしに得られる
。TLBからの絶対アドレスを用いてL1キャッシュ・
ディレクトリが探索され、その結果L1キャッシュにデ
ータがあることがわかると(Llヒツト)1選択された
L1キャッシュ・セットへの書込みが有効化され。
記憶バイト・フラグの制御のもとに、記憶要求データの
ダブルワード内の所望のバイトだけがL1キャッシュ・
フングルエンス及び選択されたセットに書込まれる。T
LBからの絶対アドレスとの不一致により、ディレクト
リ探索でL1キャッシュ・ミスが検出されると、Llキ
ャッシュへの書込みはキャンセルされる。何れの場合も
、記憶要求はL1記憶待ち行列にエンキューされる。待
ち行列エントリ情報は、絶対アドレス、データ、記憶バ
イト・フラグ及び記憶要求タイプ(非順次記憶、順次記
憶、オペレーション終了)から成っている。この要求の
前にL1記憶待ち行列が空になっており(L I E
P及びLITPが等しい)、且つLL/L2インタフェ
ースが使用可能であれば。
ダブルワード内の所望のバイトだけがL1キャッシュ・
フングルエンス及び選択されたセットに書込まれる。T
LBからの絶対アドレスとの不一致により、ディレクト
リ探索でL1キャッシュ・ミスが検出されると、Llキ
ャッシュへの書込みはキャンセルされる。何れの場合も
、記憶要求はL1記憶待ち行列にエンキューされる。待
ち行列エントリ情報は、絶対アドレス、データ、記憶バ
イト・フラグ及び記憶要求タイプ(非順次記憶、順次記
憶、オペレーション終了)から成っている。この要求の
前にL1記憶待ち行列が空になっており(L I E
P及びLITPが等しい)、且つLL/L2インタフェ
ースが使用可能であれば。
記憶要求は直ちにL2に転送される。さもなければ、L
L/L2インタフェースが使用可能な時にLITPが当
該エントリを選択するまで、L2への転送は遅らされる
。現命令に続く先取りされた命令は、記憶要求による変
更について、論理アドレスの比較によって検査される。
L/L2インタフェースが使用可能な時にLITPが当
該エントリを選択するまで、L2への転送は遅らされる
。現命令に続く先取りされた命令は、記憶要求による変
更について、論理アドレスの比較によって検査される。
もし一致が生じると、命令バッファは無効化される。L
2制御部が記憶要求を受取る。L2記憶待ち行列が空で
あす且つ記憶要求でEOPが示されていると、この要求
はL2キャッシュ・アービタにより選択されると直ちに
サービスされる。L2記憶待ち行列が空でもEOPが示
されていなければ、この記憶要求は、EOPが受取られ
てL2キャッシュ・アービタへの入力が可能になるまで
、L2記憶待ち行列で待っていなければならない。要求
元プロセッサのためのL2記憶待ち行列が空でなければ
、このプロセッサから前に出されたすべての記憶要求が
L2キャッシュで完了されるまで、この記憶要求はL2
記憶待ち行列で待っていなければならない。何れの場合
も、要求元プロセッサに関連するL2記憶待ち行列にエ
ントリが作成される。L2記憶待ち行列は物理的に制御
部及びデータ部に分けられる。絶対アドレス及び記憶要
求タイプはL2制御部26Kに維持される。関連するデ
ータ及び記憶バイト・フラグはL2キャッシュ・データ
フロ一部にエンキューされる。L2キャッシュ・アービ
タはこのプロセッサ記憶要求をサービスのために選択す
る。L2制御部26には、プロセッサL2キャッシュ記
憶コマンド及びL2キャッシュ・コングルエンスをL2
キャッシュ制御部に転送し、プロセッサL2キャッシュ
記憶コマンドをメモリ制御部に転送する。LLオペラン
ド・キャッシュはストアスルー式のキャッシュであるか
ら、たとえ最初の記憶要求でL1キャッシュ・ミスが生
じていたとしても、L1キャッシュへのインページは不
要である。L2制御部26には、要求元プロセッサに関
連するL2記憶待ち行列の制御部から記憶要求をデキュ
ーする。L2キャッシュ・ディレクトリ26Jの探索で
L2キャッシュ・ヒツトが検出された時、次の4つのケ
ースのうちの1つが生じる。
2制御部が記憶要求を受取る。L2記憶待ち行列が空で
あす且つ記憶要求でEOPが示されていると、この要求
はL2キャッシュ・アービタにより選択されると直ちに
サービスされる。L2記憶待ち行列が空でもEOPが示
されていなければ、この記憶要求は、EOPが受取られ
てL2キャッシュ・アービタへの入力が可能になるまで
、L2記憶待ち行列で待っていなければならない。要求
元プロセッサのためのL2記憶待ち行列が空でなければ
、このプロセッサから前に出されたすべての記憶要求が
L2キャッシュで完了されるまで、この記憶要求はL2
記憶待ち行列で待っていなければならない。何れの場合
も、要求元プロセッサに関連するL2記憶待ち行列にエ
ントリが作成される。L2記憶待ち行列は物理的に制御
部及びデータ部に分けられる。絶対アドレス及び記憶要
求タイプはL2制御部26Kに維持される。関連するデ
ータ及び記憶バイト・フラグはL2キャッシュ・データ
フロ一部にエンキューされる。L2キャッシュ・アービ
タはこのプロセッサ記憶要求をサービスのために選択す
る。L2制御部26には、プロセッサL2キャッシュ記
憶コマンド及びL2キャッシュ・コングルエンスをL2
キャッシュ制御部に転送し、プロセッサL2キャッシュ
記憶コマンドをメモリ制御部に転送する。LLオペラン
ド・キャッシュはストアスルー式のキャッシュであるか
ら、たとえ最初の記憶要求でL1キャッシュ・ミスが生
じていたとしても、L1キャッシュへのインページは不
要である。L2制御部26には、要求元プロセッサに関
連するL2記憶待ち行列の制御部から記憶要求をデキュ
ーする。L2キャッシュ・ディレクトリ26Jの探索で
L2キャッシュ・ヒツトが検出された時、次の4つのケ
ースのうちの1つが生じる。
ケースI
L2キャッシュ・ディレクトリの探索でL2キャッシュ
・ヒツトが検出されたが、訂正不能記憶装置エラー標識
が活動化されている凍結レジスタ又はライン保持レジス
タが、要求されたL2キャッシュ・ラインにつき代替プ
ロセッサに対してセットされる。L2制御部26には、
訂正不能記憶装置エラーが示されている凍結成いはライ
ン保持が解放されるまで、この記憶要求を保留状態にす
る。記憶要求は、このプロセッサのためのL2記憶待ち
行列の制御部に復元される。L2制御部26にはこのプ
ロセッサについてのコマンド・バッファ要求をなおサー
ビスすることができる。アドレス/キー制御部26Hに
は如何なる情報も送られない。L2キャッシュ・ライン
状況及びキャッシュ・セットがL2キャッシュ制御部に
転送され、キャッシュ・セット修飾子がL2キャッシュ
に転送され、L2キャッシュ・ライン状況がメモリ制御
部に転送される。訂正不能記憶装置エラーによる代替プ
ロセッサの凍結又はライン保持の競合のため、ロック状
況が強制され、L1状況アレイ比較が阻止され、且つL
2制御部26Kが要求元プロセッサのし1キヤツシユへ
の命令完了信号の転送を阻止する。L2キャッシュ制御
部はプロセッサL2キャッシュ記憶コマンド及びL2キ
ャッシュ・コングルエンスを受取り、L2キャッシュの
アクセスを開始する。L2キャッシュ制御部は、L2記
憶待ち行列から最も古いエントリをデキューし且つL2
書込みバッファを介してL2キャッシュへの書込みを行
うため、コマンドをL2データフロ一部に送る。L2キ
ャッシュ・ライン状況(L2ヒツト及びロック)を受取
ると、L2キャッシュ制御部はデータ記憶待ち行列エン
トリのデキュー及びL2キャッシュの書込みをキャンセ
ルする。メモリ制御部はL2コマンド及びL3ポート識
別子を受取る。L2ヒツト及びロックというL2キャッ
シュ・ライン状況を一受取ると、要求は落とされる。
・ヒツトが検出されたが、訂正不能記憶装置エラー標識
が活動化されている凍結レジスタ又はライン保持レジス
タが、要求されたL2キャッシュ・ラインにつき代替プ
ロセッサに対してセットされる。L2制御部26には、
訂正不能記憶装置エラーが示されている凍結成いはライ
ン保持が解放されるまで、この記憶要求を保留状態にす
る。記憶要求は、このプロセッサのためのL2記憶待ち
行列の制御部に復元される。L2制御部26にはこのプ
ロセッサについてのコマンド・バッファ要求をなおサー
ビスすることができる。アドレス/キー制御部26Hに
は如何なる情報も送られない。L2キャッシュ・ライン
状況及びキャッシュ・セットがL2キャッシュ制御部に
転送され、キャッシュ・セット修飾子がL2キャッシュ
に転送され、L2キャッシュ・ライン状況がメモリ制御
部に転送される。訂正不能記憶装置エラーによる代替プ
ロセッサの凍結又はライン保持の競合のため、ロック状
況が強制され、L1状況アレイ比較が阻止され、且つL
2制御部26Kが要求元プロセッサのし1キヤツシユへ
の命令完了信号の転送を阻止する。L2キャッシュ制御
部はプロセッサL2キャッシュ記憶コマンド及びL2キ
ャッシュ・コングルエンスを受取り、L2キャッシュの
アクセスを開始する。L2キャッシュ制御部は、L2記
憶待ち行列から最も古いエントリをデキューし且つL2
書込みバッファを介してL2キャッシュへの書込みを行
うため、コマンドをL2データフロ一部に送る。L2キ
ャッシュ・ライン状況(L2ヒツト及びロック)を受取
ると、L2キャッシュ制御部はデータ記憶待ち行列エン
トリのデキュー及びL2キャッシュの書込みをキャンセ
ルする。メモリ制御部はL2コマンド及びL3ポート識
別子を受取る。L2ヒツト及びロックというL2キャッ
シュ・ライン状況を一受取ると、要求は落とされる。
ケース2
L2キャッシュ・ディレクトリの探索でL2キャッシュ
・ヒツトが検出されたが、要求されたダブルワードにつ
き代替プロセッサに対してロック・レジスタがセットさ
れる。L2制御部26には、ロックが解放されるまでこ
の記憶要求を保留状態にする。記憶要求は、このプロセ
ッサのためのL2記憶待ち行列の制御部に復元される。
・ヒツトが検出されたが、要求されたダブルワードにつ
き代替プロセッサに対してロック・レジスタがセットさ
れる。L2制御部26には、ロックが解放されるまでこ
の記憶要求を保留状態にする。記憶要求は、このプロセ
ッサのためのL2記憶待ち行列の制御部に復元される。
L2制御部26には、このプロセッサについてのコマン
ド・バッファ要求をなおサービスすることができる。
ド・バッファ要求をなおサービスすることができる。
アドレス/キー制御部26Hには如何なる情報も送られ
ない、L2キャッシュ・ライン状況及びキャッシュ・セ
ットがL2キャッシュ制御部に転送され、キャッシュ・
セット修飾子がL2キャッシュに転送され、L2キャッ
シュ・ライン状況がメモリ制御部に転送される0代替プ
ロセッサ・ロック競合のため、ロック状況が強制され、
L’l状況アレイ比較が阻止され、且つL2制御部26
Kが要求元プロセッサのL1キャッシュ′への命令完了
信号の転送を阻止する。L2キャッシュ制御部は□プロ
セッサ上2キャッシュ記憶コマンド及びL2キャッシュ
・コングルエンスを受取り、L2キャッシュのアクセス
を開始する。L2キャッシュ制御部は、L2記憶待ち行
列から最も古いエントリをデキューし且つL2g込み一
バッファを介してL2キャッ−シュへの書込みを行うた
め、コマンドをL2データフロ一部に送る。L2ヒツト
及びロッ゛りというL2キャッシュ・ライン状況を受取
ると、L2キャッシュ制御部はデータ記憶待ち行列エン
トリのデキュー及びL2キャッシュの書込みをキャンセ
ルする。メモリ制御部はL2コマンド及びL3ポート識
別子を受取る。L2ヒツト及びロックというL2キャッ
シュ・ライン状況を受取ると、要求は落とされる。
ない、L2キャッシュ・ライン状況及びキャッシュ・セ
ットがL2キャッシュ制御部に転送され、キャッシュ・
セット修飾子がL2キャッシュに転送され、L2キャッ
シュ・ライン状況がメモリ制御部に転送される0代替プ
ロセッサ・ロック競合のため、ロック状況が強制され、
L’l状況アレイ比較が阻止され、且つL2制御部26
Kが要求元プロセッサのL1キャッシュ′への命令完了
信号の転送を阻止する。L2キャッシュ制御部は□プロ
セッサ上2キャッシュ記憶コマンド及びL2キャッシュ
・コングルエンスを受取り、L2キャッシュのアクセス
を開始する。L2キャッシュ制御部は、L2記憶待ち行
列から最も古いエントリをデキューし且つL2g込み一
バッファを介してL2キャッ−シュへの書込みを行うた
め、コマンドをL2データフロ一部に送る。L2ヒツト
及びロッ゛りというL2キャッシュ・ライン状況を受取
ると、L2キャッシュ制御部はデータ記憶待ち行列エン
トリのデキュー及びL2キャッシュの書込みをキャンセ
ルする。メモリ制御部はL2コマンド及びL3ポート識
別子を受取る。L2ヒツト及びロックというL2キャッ
シュ・ライン状況を受取ると、要求は落とされる。
ケース3
L2キャッシュ・ディレクトリの探索でL2キャッシュ
・ヒツトが検出されたが、訂正不能記憶装置エラー標識
を含むインページ凍結レジスタがこのプロセッサに対し
て活動化される。この状態は、記憶要求によるL2キャ
ッシュ・インページに対して訂正不能記憶装置エラーが
報告された後で生じる。L2キャッシュ・ラインは無効
表示される。絶対アドレスが参照/変更ビット・セット
・コマンドと共にアドレス/キー制御部に転送される。
・ヒツトが検出されたが、訂正不能記憶装置エラー標識
を含むインページ凍結レジスタがこのプロセッサに対し
て活動化される。この状態は、記憶要求によるL2キャ
ッシュ・インページに対して訂正不能記憶装置エラーが
報告された後で生じる。L2キャッシュ・ラインは無効
表示される。絶対アドレスが参照/変更ビット・セット
・コマンドと共にアドレス/キー制御部に転送される。
L2キャッシュ・ライン状況及びキャッシュ・セットが
L2キャッシュ制御部に転送され、キャッシュ・セット
修飾子がL2キャッシュに転送され、L2キャッシュ・
ライン状況がメモリ制御部26Eに転送される。L2制
御部は、記憶要求の結果として、コマンド・バッファ要
求ブロック・ラッチ、凍結レジスタ、及び凍結レジスタ
に関連する訂正不能記憶装置エラー標識をクリアする。
L2キャッシュ制御部に転送され、キャッシュ・セット
修飾子がL2キャッシュに転送され、L2キャッシュ・
ライン状況がメモリ制御部26Eに転送される。L2制
御部は、記憶要求の結果として、コマンド・バッファ要
求ブロック・ラッチ、凍結レジスタ、及び凍結レジスタ
に関連する訂正不能記憶装置エラー標識をクリアする。
要求元プロセッサのL1オペランド・キャッシュ状況を
除くす永てのL1状況アレイが変更されたL1キャッシ
ュ・ラインの写しについて探索される。L1状況アレイ
は下位L2キャッシュ・コングルエンスを用いてアドレ
スされ、その出力とL2キャッシュ・セット及び上位コ
ングルエンスが比較される。要求元プロセッサのL1命
令キャッシュ状況アレイで一致が検出されると、エント
リはクリアされ、アドレス・バス要求がLlによって許
可された後で、L1キャッシュの写しの局所無効化のた
めに、L1キャッシュ・コングルエンス及びL1キャッ
シュ・セ゛ットが要求元プロセッサに転送される。もし
何れかの代替プロセッサのL1状況アレイで一致が検出
されると、必要なエントリがL1状況でクリアされ、ア
ドレス・バス要求が当該L1によって許可された後で、
LLキャッシュの写しの相互無効化のために、L1キャ
ッシュ・コングルエンス及びL1キャッシュ・セット(
1つはL1オペランド・キャッシュ用、1つはL1命令
キャッシュ用)が要求された代替プロセッサへ同時に転
送される。要求されたアドレス・インタフェースの許可
が所定数のサイクル内に与えられることをLlが保証す
るので、L2記憶アクセスは局所無効化又は相互無効化
の要求による影響を受けない、記憶要求でのL2キャッ
シュ・ミスによるインページがサービスされ且つ訂正不
能記憶装置エラーがL3ラインで検出された後で記憶が
行われるので、この場合L1の写しが見つかってはなら
ない、この記憶要求にオペレージ罵ン終了が関連してい
ると、この命令に関連するすべてのL1記憶待ち行列エ
ントリを除去するために、L2制御部26には命令完了
信号を要求元プロセッサのL1キャッシュに送る。これ
は、L2キャッシュへの記憶が完了したことを示す。
除くす永てのL1状況アレイが変更されたL1キャッシ
ュ・ラインの写しについて探索される。L1状況アレイ
は下位L2キャッシュ・コングルエンスを用いてアドレ
スされ、その出力とL2キャッシュ・セット及び上位コ
ングルエンスが比較される。要求元プロセッサのL1命
令キャッシュ状況アレイで一致が検出されると、エント
リはクリアされ、アドレス・バス要求がLlによって許
可された後で、L1キャッシュの写しの局所無効化のた
めに、L1キャッシュ・コングルエンス及びL1キャッ
シュ・セ゛ットが要求元プロセッサに転送される。もし
何れかの代替プロセッサのL1状況アレイで一致が検出
されると、必要なエントリがL1状況でクリアされ、ア
ドレス・バス要求が当該L1によって許可された後で、
LLキャッシュの写しの相互無効化のために、L1キャ
ッシュ・コングルエンス及びL1キャッシュ・セット(
1つはL1オペランド・キャッシュ用、1つはL1命令
キャッシュ用)が要求された代替プロセッサへ同時に転
送される。要求されたアドレス・インタフェースの許可
が所定数のサイクル内に与えられることをLlが保証す
るので、L2記憶アクセスは局所無効化又は相互無効化
の要求による影響を受けない、記憶要求でのL2キャッ
シュ・ミスによるインページがサービスされ且つ訂正不
能記憶装置エラーがL3ラインで検出された後で記憶が
行われるので、この場合L1の写しが見つかってはなら
ない、この記憶要求にオペレージ罵ン終了が関連してい
ると、この命令に関連するすべてのL1記憶待ち行列エ
ントリを除去するために、L2制御部26には命令完了
信号を要求元プロセッサのL1キャッシュに送る。これ
は、L2キャッシュへの記憶が完了したことを示す。
L1記憶待ち行列からのデキューは、L2キャッシュの
最後の又は唯一の更新と同時に行われる。
最後の又は唯一の更新と同時に行われる。
L2記憶待ち行列からのデキューは、L2キャッシュへ
の各非順次記憶が完了した時に行わ九る。
の各非順次記憶が完了した時に行わ九る。
L2キャッシュ制御部はプロセッサL2キャッシュ記憶
コマンド及びL2キャッシュ・コングルエンスを受取り
、L2キャッシュのアクセスを開始する。L2キャッシ
ュ制御部は、L2記憶待ち行列から最も古いエントリを
デキューし且つL2書込みバッファを介してL2キャッ
シュへの書込みを行うために、コマンドをL2データフ
ロ一部に送る。L2ヒツト及び非ロックというL2キャ
ッシュ・ライン状況を受取ると、L2キャッシュ制御部
はL2キャッシュ・セットを用いてL2キャッシュへの
記憶を制御し、記憶バイト・フラグの制御のもとに、プ
ロセッサL2キャッシュ読取りシーケンスの第2サイク
ルで書込みが行われる。
コマンド及びL2キャッシュ・コングルエンスを受取り
、L2キャッシュのアクセスを開始する。L2キャッシ
ュ制御部は、L2記憶待ち行列から最も古いエントリを
デキューし且つL2書込みバッファを介してL2キャッ
シュへの書込みを行うために、コマンドをL2データフ
ロ一部に送る。L2ヒツト及び非ロックというL2キャ
ッシュ・ライン状況を受取ると、L2キャッシュ制御部
はL2キャッシュ・セットを用いてL2キャッシュへの
記憶を制御し、記憶バイト・フラグの制御のもとに、プ
ロセッサL2キャッシュ読取りシーケンスの第2サイク
ルで書込みが行われる。
メモリ制御部はL2コマンド及びL3ポート識別子を受
取る。L2ヒツト及び非ロックというL2キャッシュ・
ライン状況を受取ると、要求は落とされる。アドレス/
キー制御部は参照(R)ビット及び/変更(C)ビット
の更新のため絶対アドレスを受取る。記憶要求によって
更新されたL2キャッシュ・ラインを含む4KBのペー
ジに対する参照ビット及び変更ビットが1にセットされ
る。
取る。L2ヒツト及び非ロックというL2キャッシュ・
ライン状況を受取ると、要求は落とされる。アドレス/
キー制御部は参照(R)ビット及び/変更(C)ビット
の更新のため絶対アドレスを受取る。記憶要求によって
更新されたL2キャッシュ・ラインを含む4KBのペー
ジに対する参照ビット及び変更ビットが1にセットされ
る。
久ニス土
L2キャッシュ・ディレクトリの探索でL2キャッシュ
・ヒツトが検出され、L2キャッシュ・ラインが変更表
示を受ける。参照/変更ビット・セット・コマンドと共
に絶対アドレスがアドレス/キー制御部に転送される。
・ヒツトが検出され、L2キャッシュ・ラインが変更表
示を受ける。参照/変更ビット・セット・コマンドと共
に絶対アドレスがアドレス/キー制御部に転送される。
L2キャッシュ・ライン状況及びキャッシュ・セットが
L2キャッシュ制御部に転送され、キャッシュ・セット
修飾子がL2キャッシュに転送され、L2キャッシュ・
ライン状況がメモリ制御部26Eに転送される。
L2キャッシュ制御部に転送され、キャッシュ・セット
修飾子がL2キャッシュに転送され、L2キャッシュ・
ライン状況がメモリ制御部26Eに転送される。
もし要求元プロセッサがロックを保持していると、ロッ
ク・アドレス及び記憶要求アドレスが比較される。これ
らが一致すればロックはクリアされ、不一致であれば機
械チエツクがセットされる。変更されたL1キャッシュ
・ラインの写しについて、要求元プロセッサのL1オペ
ランド・キャッシュ状況を除くすべてのL1状況アレイ
が探索される。
ク・アドレス及び記憶要求アドレスが比較される。これ
らが一致すればロックはクリアされ、不一致であれば機
械チエツクがセットされる。変更されたL1キャッシュ
・ラインの写しについて、要求元プロセッサのL1オペ
ランド・キャッシュ状況を除くすべてのL1状況アレイ
が探索される。
L1状況アレイは下位L2キャッシュ・コングルエンス
を用いてアドレスされ、その出力とL2キャッシュ・セ
ット及び上位コングルエンスとが比較される。要求元プ
ロセッサのL1命令キャッシュ状況アレイで一致が検出
されると、エントリがクリアされ、アドレス・バス要求
がLlによって許可された後で、L1キャッシュの写し
の局所無効化のために、L1キャッシュ・フングルエン
ス及びL1キャッシュ・セットが要求元プロセッサに転
送される。何れかの代替プロセッサのL1状況アレイで
一致が検出されると、必要なエントリがL1状況でクリ
アされ、アドレス・バス要求がLlによって許可された
後で、L1キャッシュの写しの相互無効化のために、L
1キャッシュ・コングルエンス及びL1キャッシュ・セ
ット(1つはL1キャッシュ・オペランド用、1つはL
1命令キャッシュ用)が要求された代替プロセッサへ同
時に転送される。要求されたアドレス・インタフェース
が所定数のサイクル内に許可されることをLXが保証す
るので、L2記憶アクセスは局所無効化又は相互無効化
の要求による影響を受けない。もしオペレーション終了
がこの記憶要求に関連づけられていると、L2制御部2
6には、この命令に関連するすべてのL1記憶待ち行列
エントリを除去するために、命令完了信号を要求元プロ
セッサのL1キャッシュに送る。これはL2キャッシュ
への記憶が完了したことを示す、L1記憶待ち行列から
のデキューは、L2キャッシュにおける最後の又は唯一
の更新と同時に行われる。L2記憶待ち行列からのデキ
ューは、L2キャッシュへの各非順次記憶が完了した時
に行われる。L2キャッシュ制御部はプロセッサL2キ
ャッシュ記憶コマンド及びL2キャッシュ・コングルエ
ンスを受取り、L2キャッシュのアクセスを開始する。
を用いてアドレスされ、その出力とL2キャッシュ・セ
ット及び上位コングルエンスとが比較される。要求元プ
ロセッサのL1命令キャッシュ状況アレイで一致が検出
されると、エントリがクリアされ、アドレス・バス要求
がLlによって許可された後で、L1キャッシュの写し
の局所無効化のために、L1キャッシュ・フングルエン
ス及びL1キャッシュ・セットが要求元プロセッサに転
送される。何れかの代替プロセッサのL1状況アレイで
一致が検出されると、必要なエントリがL1状況でクリ
アされ、アドレス・バス要求がLlによって許可された
後で、L1キャッシュの写しの相互無効化のために、L
1キャッシュ・コングルエンス及びL1キャッシュ・セ
ット(1つはL1キャッシュ・オペランド用、1つはL
1命令キャッシュ用)が要求された代替プロセッサへ同
時に転送される。要求されたアドレス・インタフェース
が所定数のサイクル内に許可されることをLXが保証す
るので、L2記憶アクセスは局所無効化又は相互無効化
の要求による影響を受けない。もしオペレーション終了
がこの記憶要求に関連づけられていると、L2制御部2
6には、この命令に関連するすべてのL1記憶待ち行列
エントリを除去するために、命令完了信号を要求元プロ
セッサのL1キャッシュに送る。これはL2キャッシュ
への記憶が完了したことを示す、L1記憶待ち行列から
のデキューは、L2キャッシュにおける最後の又は唯一
の更新と同時に行われる。L2記憶待ち行列からのデキ
ューは、L2キャッシュへの各非順次記憶が完了した時
に行われる。L2キャッシュ制御部はプロセッサL2キ
ャッシュ記憶コマンド及びL2キャッシュ・コングルエ
ンスを受取り、L2キャッシュのアクセスを開始する。
L2キャッシュ制御部は、L2記憶待ち行列から最も古
いエントリをデキューし且つL2書込みバッファを介し
てL2キャッシュへの書込みを行うために、コマンドを
L2データフロ一部に送る。L2ヒツト及び非ロックと
いうL2キャッシュ・ライン状況を受取ると、L2キャ
ッシュ制御部はL2キャッシュ・セットを用いてL2キ
ャッシュへの記憶を制御し、記憶バイト・フラグの制御
のもとに、プロセッサL2キャッシュ読取リシーケンス
の第2サイクルで書込みが行われる。メモリ制御部はL
2コマン゛ド及びL3ポート識前°゛子を受取る。L2
ヒツト及び非ロックというL2キャッシュ・ライン状況
を受取ると、要求は落とされる。アドレス/キー制御部
は参照ビット及び変更ビットの更新のために絶対アドレ
スを受取る。
いエントリをデキューし且つL2書込みバッファを介し
てL2キャッシュへの書込みを行うために、コマンドを
L2データフロ一部に送る。L2ヒツト及び非ロックと
いうL2キャッシュ・ライン状況を受取ると、L2キャ
ッシュ制御部はL2キャッシュ・セットを用いてL2キ
ャッシュへの記憶を制御し、記憶バイト・フラグの制御
のもとに、プロセッサL2キャッシュ読取リシーケンス
の第2サイクルで書込みが行われる。メモリ制御部はL
2コマン゛ド及びL3ポート識前°゛子を受取る。L2
ヒツト及び非ロックというL2キャッシュ・ライン状況
を受取ると、要求は落とされる。アドレス/キー制御部
は参照ビット及び変更ビットの更新のために絶対アドレ
スを受取る。
記憶要求により更新されたL2キャッシュ・ラインを含
む4KBのページについての参照ビット及び変更ビット
が1にセットされる。
む4KBのページについての参照ビット及び変更ビット
が1にセットされる。
1.5 記憶装置記憶、非順次、TLBヒツト、アクセ
ス例外なし、L2キャッシュ・ミス (第22〜30図
) 実行ユニットがL1オペランド・キャッシュに対する記
憶装置非順次記憶要求を出す、セット・アソシアティブ
式TLB探索の結果、要求で与えられた論理アドレスに
対する絶対アドレスがアクセス例外なしに得られる。こ
の絶対アドレスを用いたL1キャッシュ・ディレクトリ
の探索でデータがキャッシュにあることがわかると(L
Lヒツト)、選択されたL1キャッシュ・セットへの書
込みが有効化される。記憶バイト・フラグの制御のもと
に記憶要求データのダブルワード内の所望のデータだけ
がL1キャッシュ・コングルエンス及び選択されたセッ
トに書込まれる。ディレクトリ探索の結果、TLBから
の絶対アドレスと一致しなければ(LLキャッシュ・ミ
ス)、L1キャッシュの書込みはキャンセルされる。何
れの場合も、記憶要求はL1記憶待ち行列にエンキュー
される。待ち行列エントリ情報は、絶対アドレス、デー
タ、記憶バイト・フラグ及び記憶要求タイプ(非順次記
憶、順次記憶、オペレーション終了)から成っている。
ス例外なし、L2キャッシュ・ミス (第22〜30図
) 実行ユニットがL1オペランド・キャッシュに対する記
憶装置非順次記憶要求を出す、セット・アソシアティブ
式TLB探索の結果、要求で与えられた論理アドレスに
対する絶対アドレスがアクセス例外なしに得られる。こ
の絶対アドレスを用いたL1キャッシュ・ディレクトリ
の探索でデータがキャッシュにあることがわかると(L
Lヒツト)、選択されたL1キャッシュ・セットへの書
込みが有効化される。記憶バイト・フラグの制御のもと
に記憶要求データのダブルワード内の所望のデータだけ
がL1キャッシュ・コングルエンス及び選択されたセッ
トに書込まれる。ディレクトリ探索の結果、TLBから
の絶対アドレスと一致しなければ(LLキャッシュ・ミ
ス)、L1キャッシュの書込みはキャンセルされる。何
れの場合も、記憶要求はL1記憶待ち行列にエンキュー
される。待ち行列エントリ情報は、絶対アドレス、デー
タ、記憶バイト・フラグ及び記憶要求タイプ(非順次記
憶、順次記憶、オペレーション終了)から成っている。
この要求が出された時にL1待ち行列が空であり(L
I E PとLITPが等しい)且つLl/L2インタ
フェースが使用可能であれば、記憶要求は直ちにL2へ
転送される。さもなければ、LL/L2が使用可能であ
る時にLITPがこのエントリを選択するまで、転送は
遅らされる。現命令に続く先取りされた命令は、記憶要
求による変更につき、論理アドレスの比較によって検査
される。もし一致が生じると、命令バッファは無効化さ
れる。L2制御部が゛記憶要求を受取る。L2記憶待ち
行列が空で返り且つ記憶要求でEOPが示されていると
、この要求はL2キャッシュ・アービタにより選択され
ると直ちにサービスされる。L2記憶待ち行列が空でも
EOPが示されていなければ、この記憶要求は、EOP
が受取られてL2キャッシュ・アービタへの入力が可能
になるまで、L2記憶待ち行列で待っていなければなら
ない、要求持ちプロセッサのためのL2記憶待ち行列が
空でなければ、このプロセッサがら前に出されたすべて
の記憶要求がL2キャッシュで完了するまで、この記憶
要求はL2記憶待ち行列で待っていなければならない、
何れの場合も、要求元プロセッサに関連するL2記憶待
ち行列にエントリが作成される。L2記憶待ち行列は物
理的に制御部及びデータ部に分けられる。絶対アドレス
及び記憶要求タイプはL2制御部26Kに維持される。
I E PとLITPが等しい)且つLl/L2インタ
フェースが使用可能であれば、記憶要求は直ちにL2へ
転送される。さもなければ、LL/L2が使用可能であ
る時にLITPがこのエントリを選択するまで、転送は
遅らされる。現命令に続く先取りされた命令は、記憶要
求による変更につき、論理アドレスの比較によって検査
される。もし一致が生じると、命令バッファは無効化さ
れる。L2制御部が゛記憶要求を受取る。L2記憶待ち
行列が空で返り且つ記憶要求でEOPが示されていると
、この要求はL2キャッシュ・アービタにより選択され
ると直ちにサービスされる。L2記憶待ち行列が空でも
EOPが示されていなければ、この記憶要求は、EOP
が受取られてL2キャッシュ・アービタへの入力が可能
になるまで、L2記憶待ち行列で待っていなければなら
ない、要求持ちプロセッサのためのL2記憶待ち行列が
空でなければ、このプロセッサがら前に出されたすべて
の記憶要求がL2キャッシュで完了するまで、この記憶
要求はL2記憶待ち行列で待っていなければならない、
何れの場合も、要求元プロセッサに関連するL2記憶待
ち行列にエントリが作成される。L2記憶待ち行列は物
理的に制御部及びデータ部に分けられる。絶対アドレス
及び記憶要求タイプはL2制御部26Kに維持される。
関連するデータ及び記憶バイト・フラグはL2キャッシ
ュ・データフロ一部にエンキューされる。L2キャッシ
ュ・アービタはこのプロセッサ記憶要求をサービスのた
めに選択する。L2制御部26にはプロセッサL2キャ
ッシュ記憶コマンド及びL2キャッシュ・コングルエン
スをL2キャッシュ制御部に送り、プロセッサL2キャ
ッシュ記憶コマンドをメモリ制御部に送る。L1オペラ
ンド・キャッシュはストアスルー式のキャッシュである
から、たとえ最初の記憶要求でL1キャッシュ・ミスが
生じていたとしても、L1キャッシュへのインページは
不要である。L2制御部26には、要求元プロセッサに
関連するL2記憶待ち行列の制御部から記憶要求をデキ
ューする。L2キャッシュ・ディレクトリの探索でL2
キャッシュ・ミスが検出された時1次の3つのケースA
−Cのうちの1つが生じる。L2キャッシュはストアイ
ン式のキャッシュであるから、記憶要求の完了前にL2
キャッシュ・ラインをL3メモリからインページしなけ
ればならない、L2キャッシュ・ミスを起こした記憶要
求は、L2キャッシュにおける他の要求のサービス及び
L3からL2へのインページを可能にするために保留状
態にされる。
ュ・データフロ一部にエンキューされる。L2キャッシ
ュ・アービタはこのプロセッサ記憶要求をサービスのた
めに選択する。L2制御部26にはプロセッサL2キャ
ッシュ記憶コマンド及びL2キャッシュ・コングルエン
スをL2キャッシュ制御部に送り、プロセッサL2キャ
ッシュ記憶コマンドをメモリ制御部に送る。L1オペラ
ンド・キャッシュはストアスルー式のキャッシュである
から、たとえ最初の記憶要求でL1キャッシュ・ミスが
生じていたとしても、L1キャッシュへのインページは
不要である。L2制御部26には、要求元プロセッサに
関連するL2記憶待ち行列の制御部から記憶要求をデキ
ューする。L2キャッシュ・ディレクトリの探索でL2
キャッシュ・ミスが検出された時1次の3つのケースA
−Cのうちの1つが生じる。L2キャッシュはストアイ
ン式のキャッシュであるから、記憶要求の完了前にL2
キャッシュ・ラインをL3メモリからインページしなけ
ればならない、L2キャッシュ・ミスを起こした記憶要
求は、L2キャッシュにおける他の要求のサービス及び
L3からL2へのインページを可能にするために保留状
態にされる。
ケースA
L2キャッシュ・ディレクトリの探索でL2キャッシュ
・ミスが生じたが、このプロセッサに関する前のL2キ
ャッシュ・インページがまだ終っていない、L2制御部
26には、前のインページ要求が完了するまで、この記
憶要求を保留状態にする。記憶要求は、このプロセッサ
に関連するL2記憶待ち行列の制御部に復元される。コ
マンド・バッファ及び記憶待ち行列が両方共L2キャッ
シュ・インページの完了を待っているので、このプロセ
ッサに関するそれ以上の要求はL2キャッシュではサー
ビスされない、アドレス/キー制御部には情報は送られ
ない、L2キャッシュ・ライン状況及びキャッシュ・セ
ットがL2キャッシュ制御部に転送され、キャッシュ・
セット修飾子がL2キャッシュに転送され、L2キャッ
シュ・ライン状況がメモリ制御部に転送される。前のイ
ンページ要求のため、ロック状況が強制される。L2キ
ャッシュ・ミスのため、L1状況アレイの比較が阻止さ
れ、L2制御部26には要求元プロセッサのL1キャッ
シュへの命令完了信号の転送を阻止する。L2キャッシ
ュ制御部はプロセッサL2キャッシュ記憶コマンド及び
L2キャッシュ・コングルエンスを受取り、L2キャッ
シュのアクセスを開始する。L2キャッシュ制御部は、
L2記憶待ち行列から最も古いエントリをデキューし且
つL2書込みバッファを介してL2キャッシュへの書込
みを行うために、コマンドをL2データフロ一部に送る
。L2ミス及びロックというL2キャッシュ・ライン状
況を受取ると、L2キャッシュ制御部は記憶待ち行列エ
ントリのデキュー及びL4ヤッシュの書込みをキャンセ
ルする。メモリ制御部はL2コマンド及びL3ポート識
別子を受取る。L2ミス及びロックというL2キャッシ
ュ・ライン状況を受取ると、要求は落とされる。
・ミスが生じたが、このプロセッサに関する前のL2キ
ャッシュ・インページがまだ終っていない、L2制御部
26には、前のインページ要求が完了するまで、この記
憶要求を保留状態にする。記憶要求は、このプロセッサ
に関連するL2記憶待ち行列の制御部に復元される。コ
マンド・バッファ及び記憶待ち行列が両方共L2キャッ
シュ・インページの完了を待っているので、このプロセ
ッサに関するそれ以上の要求はL2キャッシュではサー
ビスされない、アドレス/キー制御部には情報は送られ
ない、L2キャッシュ・ライン状況及びキャッシュ・セ
ットがL2キャッシュ制御部に転送され、キャッシュ・
セット修飾子がL2キャッシュに転送され、L2キャッ
シュ・ライン状況がメモリ制御部に転送される。前のイ
ンページ要求のため、ロック状況が強制される。L2キ
ャッシュ・ミスのため、L1状況アレイの比較が阻止さ
れ、L2制御部26には要求元プロセッサのL1キャッ
シュへの命令完了信号の転送を阻止する。L2キャッシ
ュ制御部はプロセッサL2キャッシュ記憶コマンド及び
L2キャッシュ・コングルエンスを受取り、L2キャッ
シュのアクセスを開始する。L2キャッシュ制御部は、
L2記憶待ち行列から最も古いエントリをデキューし且
つL2書込みバッファを介してL2キャッシュへの書込
みを行うために、コマンドをL2データフロ一部に送る
。L2ミス及びロックというL2キャッシュ・ライン状
況を受取ると、L2キャッシュ制御部は記憶待ち行列エ
ントリのデキュー及びL4ヤッシュの書込みをキャンセ
ルする。メモリ制御部はL2コマンド及びL3ポート識
別子を受取る。L2ミス及びロックというL2キャッシ
ュ・ライン状況を受取ると、要求は落とされる。
ケースB
L2キャッシュ・ディレクトリの探索でL2キャッシュ
・ミスが生じたが、代替プロセッサについて、同じL2
キャッシュ・ラーインに対する前のL2キャッシュ・イ
ンページがまだ終っていない。
・ミスが生じたが、代替プロセッサについて、同じL2
キャッシュ・ラーインに対する前のL2キャッシュ・イ
ンページがまだ終っていない。
L2制御部26には、前のインページ要求が完了するま
で、この記憶要求を保留状態にする。記憶要求は、この
プロセッサに関連するL2記憶待ち行列の制御部に復元
される。L2制御部26には、このプロセッサに関する
コマンド・バッファ要求をなおサービスすることができ
る。アドレス/キー制御部には情報は送られない、L2
キャッシュ・ライン状況及びキャッシュ・セットがL2
キャッシュ制御部に転送され、キャッシュ・セット修飾
子がL2キャッシュに転送され、L2キャッシュ・ライ
ン状況がメモリ制御部26Eに転送される。
で、この記憶要求を保留状態にする。記憶要求は、この
プロセッサに関連するL2記憶待ち行列の制御部に復元
される。L2制御部26には、このプロセッサに関する
コマンド・バッファ要求をなおサービスすることができ
る。アドレス/キー制御部には情報は送られない、L2
キャッシュ・ライン状況及びキャッシュ・セットがL2
キャッシュ制御部に転送され、キャッシュ・セット修飾
子がL2キャッシュに転送され、L2キャッシュ・ライ
ン状況がメモリ制御部26Eに転送される。
前のインページ凍結競合のため、ロック状況が強制され
る。L2キャッシュ・ミスのため、L1状況アレイの比
較が阻止され、L2制御部26には要求元プロセッサの
L1キャッシュへの命令完了信号の転送を阻止する。L
2キャッシュ制御部はプロセッサL2キャッシュ記憶コ
マンド及びL2キャッシュ・コングルエンスを受取って
、L2キャッシュのアクセスを開始する。L2キャッシ
ュ制御部は、L2記憶待ち行列から最も古いエントリを
デキューし且つL2書込みバッファを介してL2キャッ
シュへの書込みを行うために、コマンドをL2データフ
ロ一部に送る。L2ミス及びロックというL2キャッシ
ュ・ライン状況を受取ると、L2キャッシュ制御部は記
憶待ち行列エントリのデキュー及びL2キャッシュの書
込みをキャンセルする。メモリ制御部はL2コマンド及
びL3ポート識別子を受取る。L2ミス及びロックとい
うL2キャッシュ・ライン状況を受取ると、要求は落と
される。
る。L2キャッシュ・ミスのため、L1状況アレイの比
較が阻止され、L2制御部26には要求元プロセッサの
L1キャッシュへの命令完了信号の転送を阻止する。L
2キャッシュ制御部はプロセッサL2キャッシュ記憶コ
マンド及びL2キャッシュ・コングルエンスを受取って
、L2キャッシュのアクセスを開始する。L2キャッシ
ュ制御部は、L2記憶待ち行列から最も古いエントリを
デキューし且つL2書込みバッファを介してL2キャッ
シュへの書込みを行うために、コマンドをL2データフ
ロ一部に送る。L2ミス及びロックというL2キャッシ
ュ・ライン状況を受取ると、L2キャッシュ制御部は記
憶待ち行列エントリのデキュー及びL2キャッシュの書
込みをキャンセルする。メモリ制御部はL2コマンド及
びL3ポート識別子を受取る。L2ミス及びロックとい
うL2キャッシュ・ライン状況を受取ると、要求は落と
される。
ケースC
L2キャッシュ・ディレクトリの探索でL2キャッシュ
・ミスが生じる。L211J御部26にはこの記憶要求
を保留状態にし、プロセッサ・インページ凍結レジスタ
をセットする。記憶要求は、このプロセッサに関連する
L2記憶待ち行列の制御部に復元される。L2制御部2
6にはこのプロセッサに関するコマンド・バッファ要求
をなおサービスすることができる。゛絶対アドレスがア
ドレス/キー制御部に送られる。L2キャッシュ・ライ
ン状況及びキャッシュ・セットがL2キャッシュ制御部
に転送され、キャッシュ・セット修飾子がL2キャッシ
ュに転送され、L2キャッシュ・ライン状況がメモリ制
御部26Hに転送される。L2キャッシュ・ミスのため
、L1状況アレイの比較が阻止され、L2制御部26に
は要求元プロセッサのL1キャッシュへの命令完了信号
の転送を阻止する。L2キャッシュ制御部はプロゼッサ
L2キャッシュ記憶コマンド及びL2キャヅシ丘・−コ
ングルエンスを受取り、L2キャッシュのアゲセスを開
始する。L2キャッシュ制御部は、L2記憶待ち行列か
ら最も古いエントリをデキューし且つL2書込みバッフ
ァを介してL2キャッシュへの書込みを行うために、コ
マンドをL2データフロ一部に送る。L2ミス及び非ロ
ックというL2キャッシュ・ライン状況を受取ると、L
2キャッシュ制御部は記憶待ち行列エントリのデキュー
及びL2キャッシュの書込みをキャンセルする。
・ミスが生じる。L211J御部26にはこの記憶要求
を保留状態にし、プロセッサ・インページ凍結レジスタ
をセットする。記憶要求は、このプロセッサに関連する
L2記憶待ち行列の制御部に復元される。L2制御部2
6にはこのプロセッサに関するコマンド・バッファ要求
をなおサービスすることができる。゛絶対アドレスがア
ドレス/キー制御部に送られる。L2キャッシュ・ライ
ン状況及びキャッシュ・セットがL2キャッシュ制御部
に転送され、キャッシュ・セット修飾子がL2キャッシ
ュに転送され、L2キャッシュ・ライン状況がメモリ制
御部26Hに転送される。L2キャッシュ・ミスのため
、L1状況アレイの比較が阻止され、L2制御部26に
は要求元プロセッサのL1キャッシュへの命令完了信号
の転送を阻止する。L2キャッシュ制御部はプロゼッサ
L2キャッシュ記憶コマンド及びL2キャヅシ丘・−コ
ングルエンスを受取り、L2キャッシュのアゲセスを開
始する。L2キャッシュ制御部は、L2記憶待ち行列か
ら最も古いエントリをデキューし且つL2書込みバッフ
ァを介してL2キャッシュへの書込みを行うために、コ
マンドをL2データフロ一部に送る。L2ミス及び非ロ
ックというL2キャッシュ・ライン状況を受取ると、L
2キャッシュ制御部は記憶待ち行列エントリのデキュー
及びL2キャッシュの書込みをキャンセルする。
メモリ制御部はL2コマンド及びL3ポート識別子を受
取る。L2ミス及び非ロックというL2キャッシュ・ラ
イン状況を受取ると、記憶要求は必要なL3メモリ・ポ
ートの使用に関する競合に加、ttdS、インページ/
アウトページ・バッファ対を含むすべての資源が使用可
能であれば、L3取出しアクセスを開始するため、コマ
ンドがBSU制御部に送られる。メモリ制御部は、L2
ディレクトリ状況をインページ保留状態にセットするよ
うL2制御部26Kに命じる。アドレス/キー制御部は
絶対アドレスを受け取る。要求されたキャッシュ・ライ
ンを含む4KBのページの参照ビットが1にセットされ
る。L2キャッシュ・インページだけが遂行されている
ので、関連する変更ビットは変更されない、記憶アクセ
スはインページの完了後に再実行される。絶対アドレス
はL3物理アドレスに変換される。物理アドレスは、L
2キャッシュ・ミスの結果インタフェースが使用可能に
なると直ちにBSU制御部に転送される。BSU制御部
は、メモリ制御部26Eのコマンド及びL3物理アドレ
スを受取ると、それらをプロセッサ記憶装置へ転送し且
つ所望のポートにおけるメモリ・カードを選択すること
により、L3メモリ・ポートの128バイトの取出しを
開始する。データは、L3メモリ・・ポートの多重化さ
れたコマンド/アドレス及びデータ・インタフェースを
介して一時に16バイトずつ転送される。128バイト
のL2キャッシュ・ラインを得るためには、L3メモリ
からのデータ転送を8回(QWA−QWH)行う必要が
ある。この転送は、記憶アクセスにより要求されたダブ
ルワード(DW)を含む4倍ワード(QW)から始まる
1次の3回の転送はL1キャッシュ・ラインの残りを含
む。最後の4回の転送はL2キャッシュ・ラインの残り
を含む。
取る。L2ミス及び非ロックというL2キャッシュ・ラ
イン状況を受取ると、記憶要求は必要なL3メモリ・ポ
ートの使用に関する競合に加、ttdS、インページ/
アウトページ・バッファ対を含むすべての資源が使用可
能であれば、L3取出しアクセスを開始するため、コマ
ンドがBSU制御部に送られる。メモリ制御部は、L2
ディレクトリ状況をインページ保留状態にセットするよ
うL2制御部26Kに命じる。アドレス/キー制御部は
絶対アドレスを受け取る。要求されたキャッシュ・ライ
ンを含む4KBのページの参照ビットが1にセットされ
る。L2キャッシュ・インページだけが遂行されている
ので、関連する変更ビットは変更されない、記憶アクセ
スはインページの完了後に再実行される。絶対アドレス
はL3物理アドレスに変換される。物理アドレスは、L
2キャッシュ・ミスの結果インタフェースが使用可能に
なると直ちにBSU制御部に転送される。BSU制御部
は、メモリ制御部26Eのコマンド及びL3物理アドレ
スを受取ると、それらをプロセッサ記憶装置へ転送し且
つ所望のポートにおけるメモリ・カードを選択すること
により、L3メモリ・ポートの128バイトの取出しを
開始する。データは、L3メモリ・・ポートの多重化さ
れたコマンド/アドレス及びデータ・インタフェースを
介して一時に16バイトずつ転送される。128バイト
のL2キャッシュ・ラインを得るためには、L3メモリ
からのデータ転送を8回(QWA−QWH)行う必要が
ある。この転送は、記憶アクセスにより要求されたダブ
ルワード(DW)を含む4倍ワード(QW)から始まる
1次の3回の転送はL1キャッシュ・ラインの残りを含
む。最後の4回の転送はL2キャッシュ・ラインの残り
を含む。
L2キャッシュ・インページ・バッファへの最後のデー
タ転送が完了すると、BSU制御部はL2制御部26K
に適切なプロセッサ・インページ完了信号を送る。L2
キャッシュへのデータ転送の間、アドレス/キー制御部
はL3訂正不能エラー線を監視する。インページ中に訂
正不能エラーが検出されると、幾つかの機能が遂行され
る。L2キャッシュへの各4倍ワード転送で、記憶アク
セスを最初に要求したプロセッサにL3訂正不能工、
ラー信号が送られる。このプロセッサは所与のL2キ
ャッシュ・インページ要求について1つの記憶装置訂正
不能エラー標識(アドレス/キー制御部で最初に検出さ
れたもの)を受取る。アドレス/キー制御部で検出され
た最小の記憶装置訂正不能エラーのダブルワード・アド
レスが要求元プロセッサのために記録される。プロセッ
サによりアクセスされたL1キャッシュ・ライン中の何
れかのデータで訂正不能エラーが生じると、訂正不能エ
ラー処理のための標識がセットされる。最後に、L2キ
ャッシュインページ・バッファに転送された何れかのデ
ータが訂正不能エラーが生じると、アドレス/キー制御
部はL2制御部26Kに信号を送って、L2キャッシュ
・インページ及びそれに続く記憶要求の処理を変更させ
る。L2キャッシュ・アービタはプロセッサのサービス
のためインページ完了を選択する。L2制御部26には
インページ・バッファ書込みコマンド及びL2キャッシ
ュ・コングルエンスをL2キャッシュ制御部に送り、イ
ンページ完了状況応答をメモリ制御部26Eに送る。L
2キャッシュ・ディレクトリの探索の結果、次に並べる
2つのケースのうちの何れかが生じる。
タ転送が完了すると、BSU制御部はL2制御部26K
に適切なプロセッサ・インページ完了信号を送る。L2
キャッシュへのデータ転送の間、アドレス/キー制御部
はL3訂正不能エラー線を監視する。インページ中に訂
正不能エラーが検出されると、幾つかの機能が遂行され
る。L2キャッシュへの各4倍ワード転送で、記憶アク
セスを最初に要求したプロセッサにL3訂正不能工、
ラー信号が送られる。このプロセッサは所与のL2キ
ャッシュ・インページ要求について1つの記憶装置訂正
不能エラー標識(アドレス/キー制御部で最初に検出さ
れたもの)を受取る。アドレス/キー制御部で検出され
た最小の記憶装置訂正不能エラーのダブルワード・アド
レスが要求元プロセッサのために記録される。プロセッ
サによりアクセスされたL1キャッシュ・ライン中の何
れかのデータで訂正不能エラーが生じると、訂正不能エ
ラー処理のための標識がセットされる。最後に、L2キ
ャッシュインページ・バッファに転送された何れかのデ
ータが訂正不能エラーが生じると、アドレス/キー制御
部はL2制御部26Kに信号を送って、L2キャッシュ
・インページ及びそれに続く記憶要求の処理を変更させ
る。L2キャッシュ・アービタはプロセッサのサービス
のためインページ完了を選択する。L2制御部26には
インページ・バッファ書込みコマンド及びL2キャッシ
ュ・コングルエンスをL2キャッシュ制御部に送り、イ
ンページ完了状況応答をメモリ制御部26Eに送る。L
2キャッシュ・ディレクトリの探索の結果、次に並べる
2つのケースのうちの何れかが生じる。
ケースI
L2制御部26Kが置換のために1つのL2キャッシュ
・ラインを選択する。この場合、置換されたラインは変
更されていないので、キャストアウト(下位レベルへの
書戻し)は不要である。L2ディレクトリは、新しいL
2キャッシュ・ラインの存在を示すように更新される。
・ラインを選択する。この場合、置換されたラインは変
更されていないので、キャストアウト(下位レベルへの
書戻し)は不要である。L2ディレクトリは、新しいL
2キャッシュ・ラインの存在を示すように更新される。
L2キャッシュ・インページ・バッファへのインページ
でL3記憶装置訂正不能エラーが検出されていなければ
、このL2キャッシュ・ミス・インページのために設定
されていた凍結レジスタがクリアされる。L2キャッシ
ュ・インページ・バッファへのインページでL3記憶装
置訂正不能エラーが検出されると、このL2キャッシュ
・ミス・インページのために設定されていた凍結レジス
タは活動状態に保たれ、この凍結レジスタに関連する記
憶装置訂正不能エラー標識がセットされ、インページを
要求したプロセッサのためのコマンド・バッファはL2
キャッシュ・アービタへの入力を阻止され、このプロセ
ッサに関連するすべてのL1キャッシュ標識は記憶装置
訂正不能エラーを示すようにセットされる0選択された
L2キャッシュ・セットがアドレス/キー制御部及びL
2キャッシュ制御部に転送される。置換されたL2キャ
ッシュ・ラインの状況がL2キャッシュ制御部及びメモ
リ制御部26Hに転送され、キャッシュ・セット修飾子
がL2キャッシュに転送される。すべてのL1キャッシ
ュに関するL1状況アレイが、置換されたL2キャッシ
ュ・ラインの写しについて検査される。写しが見つかる
と、そのL1キャッシュに無効化要求が送られる。弛緩
されたL2キャッシュ・ラインに関するL1写し状況が
クリアされる。L2キャッシュ制御部はインページ・バ
ッファ書込みコマンドを受取り、L2制御部26Kから
の状況を待ってL2キャッシュ・インページを完了させ
るためL2ライン書込みに備える。L2キャッシュ制御
部はL2キャッシュ・セット及び置換ライン状況を受取
る。置換されたラインが変更されていないので、L2キ
ャッシュ制御部は、インページ・バッファからL2キャ
ッシュへの書込みを行うことをL2キャッシュに知らせ
る。これはフルラインの書込みで且つキャッシュ・セッ
トはインタリーブされるので、L2キャッシュ・ライン
書込みを可能にするため、L2キャッシュ・セットを用
いてアドレス・ビット25及び26を操作しなければな
らない。BSU制御部はオペレーション終了(EOP)
をメモリ制御部26Eに知らせる。アドレス/キー制御
部はL2制御部26KからL2キャッシュ・セットを受
取る。インページ・アドレス・バッファとL2制御部か
ら受取ったL2キャッシュ・セットとに基いて、L2ミ
ニディレクトリ更新アドレス・レジスタがセットされる
。メモリ制御部は置換されたラインの状況を受取る。キ
ャストアウトが不要なので、メモリセイギョブ26Eは
インページ要求で保持されていた資源を解放する。メモ
リ制御部は、このプロセッサに関連するL2ミイディレ
クトリ更新アドレス・レジスタを用いてL2ミニディレ
クトリを更新するため、コマンドをアドレス/キー制御
部に送る。これでメモリ制御部は現オペレーションの完
了を示し、要求元プロセッサが再びメモリ資源の争奪に
加わるのを許す、かくして元のL2記憶待ち行列要求が
再びL2キャッシュ・アービタに入力される。L2キャ
ッシュ・アービタにより選択されると、再び記憶アクセ
スが試みられ、これがL2制御部26に内で要求をサー
ビスする最初の試みであるかのように実行される。
でL3記憶装置訂正不能エラーが検出されていなければ
、このL2キャッシュ・ミス・インページのために設定
されていた凍結レジスタがクリアされる。L2キャッシ
ュ・インページ・バッファへのインページでL3記憶装
置訂正不能エラーが検出されると、このL2キャッシュ
・ミス・インページのために設定されていた凍結レジス
タは活動状態に保たれ、この凍結レジスタに関連する記
憶装置訂正不能エラー標識がセットされ、インページを
要求したプロセッサのためのコマンド・バッファはL2
キャッシュ・アービタへの入力を阻止され、このプロセ
ッサに関連するすべてのL1キャッシュ標識は記憶装置
訂正不能エラーを示すようにセットされる0選択された
L2キャッシュ・セットがアドレス/キー制御部及びL
2キャッシュ制御部に転送される。置換されたL2キャ
ッシュ・ラインの状況がL2キャッシュ制御部及びメモ
リ制御部26Hに転送され、キャッシュ・セット修飾子
がL2キャッシュに転送される。すべてのL1キャッシ
ュに関するL1状況アレイが、置換されたL2キャッシ
ュ・ラインの写しについて検査される。写しが見つかる
と、そのL1キャッシュに無効化要求が送られる。弛緩
されたL2キャッシュ・ラインに関するL1写し状況が
クリアされる。L2キャッシュ制御部はインページ・バ
ッファ書込みコマンドを受取り、L2制御部26Kから
の状況を待ってL2キャッシュ・インページを完了させ
るためL2ライン書込みに備える。L2キャッシュ制御
部はL2キャッシュ・セット及び置換ライン状況を受取
る。置換されたラインが変更されていないので、L2キ
ャッシュ制御部は、インページ・バッファからL2キャ
ッシュへの書込みを行うことをL2キャッシュに知らせ
る。これはフルラインの書込みで且つキャッシュ・セッ
トはインタリーブされるので、L2キャッシュ・ライン
書込みを可能にするため、L2キャッシュ・セットを用
いてアドレス・ビット25及び26を操作しなければな
らない。BSU制御部はオペレーション終了(EOP)
をメモリ制御部26Eに知らせる。アドレス/キー制御
部はL2制御部26KからL2キャッシュ・セットを受
取る。インページ・アドレス・バッファとL2制御部か
ら受取ったL2キャッシュ・セットとに基いて、L2ミ
ニディレクトリ更新アドレス・レジスタがセットされる
。メモリ制御部は置換されたラインの状況を受取る。キ
ャストアウトが不要なので、メモリセイギョブ26Eは
インページ要求で保持されていた資源を解放する。メモ
リ制御部は、このプロセッサに関連するL2ミイディレ
クトリ更新アドレス・レジスタを用いてL2ミニディレ
クトリを更新するため、コマンドをアドレス/キー制御
部に送る。これでメモリ制御部は現オペレーションの完
了を示し、要求元プロセッサが再びメモリ資源の争奪に
加わるのを許す、かくして元のL2記憶待ち行列要求が
再びL2キャッシュ・アービタに入力される。L2キャ
ッシュ・アービタにより選択されると、再び記憶アクセ
スが試みられ、これがL2制御部26に内で要求をサー
ビスする最初の試みであるかのように実行される。
ケース2
L2制御部26Kが置換のために1つのL2キャッシュ
・ラインを選択する。この場合、置換ラインの状況はそ
れが変更されたことを示しているので、L2キャッシュ
のキャストアウトが必要である。L2ディレクトリは、
新しいL2キャッシュ・ラインの存在を示すように更新
される。L2キャッシュ・インページ・バッファへのイ
ンページでL3記憶装置訂正不能エラーが検出されてい
なければ、このL2キャッシュ・ミス拳インページのた
めに設定されていた凍結レジスタがクリアされる。L2
キャッシュ・インページ・バッファへのインページでL
3記憶装置訂正不能エラーが検出されると、このL2キ
ャッシュ・ミス・インページのために設定されていた凍
結レジスタは活動状態に保たれ、この凍結レジスタに関
連する記憶装置訂正不能エラー標識がセットされ、イン
ページを要求したプロセッサのためのコマンド・バッフ
ァはL2キャッシュ・アービタへの入力を阻止され、こ
のプロセッサに関連するすべてのL1キャッシュ標識は
記憶装置訂正不能エラーを示すようにセットされる。デ
ィレクトリから読出されたアドレスが選択されたL2キ
ャッシュ・セットと共にアドレス/キー制御部に転送さ
れる1選択されたL2キャッシュ・セットはL2キャッ
シュ制御部にも送られる。置換されたL2キャッシュ・
ラインの状況がL2キャッシュ制御部及びメモリ制御部
26Eに転送され、キャッシュ・セット修飾子がL2キ
ャッシュに転送される。すべてのL1キャッシュに関す
るL1状況アレイが置換されたL2キャッシュ・ライン
の写しについて検査される。写しが見つかると、そのL
1キャッシュに無効化要求が送られる。置換されたL2
キャッシュ・ラインに関するL1写し状況がクリアされ
る。
・ラインを選択する。この場合、置換ラインの状況はそ
れが変更されたことを示しているので、L2キャッシュ
のキャストアウトが必要である。L2ディレクトリは、
新しいL2キャッシュ・ラインの存在を示すように更新
される。L2キャッシュ・インページ・バッファへのイ
ンページでL3記憶装置訂正不能エラーが検出されてい
なければ、このL2キャッシュ・ミス拳インページのた
めに設定されていた凍結レジスタがクリアされる。L2
キャッシュ・インページ・バッファへのインページでL
3記憶装置訂正不能エラーが検出されると、このL2キ
ャッシュ・ミス・インページのために設定されていた凍
結レジスタは活動状態に保たれ、この凍結レジスタに関
連する記憶装置訂正不能エラー標識がセットされ、イン
ページを要求したプロセッサのためのコマンド・バッフ
ァはL2キャッシュ・アービタへの入力を阻止され、こ
のプロセッサに関連するすべてのL1キャッシュ標識は
記憶装置訂正不能エラーを示すようにセットされる。デ
ィレクトリから読出されたアドレスが選択されたL2キ
ャッシュ・セットと共にアドレス/キー制御部に転送さ
れる1選択されたL2キャッシュ・セットはL2キャッ
シュ制御部にも送られる。置換されたL2キャッシュ・
ラインの状況がL2キャッシュ制御部及びメモリ制御部
26Eに転送され、キャッシュ・セット修飾子がL2キ
ャッシュに転送される。すべてのL1キャッシュに関す
るL1状況アレイが置換されたL2キャッシュ・ライン
の写しについて検査される。写しが見つかると、そのL
1キャッシュに無効化要求が送られる。置換されたL2
キャッシュ・ラインに関するL1写し状況がクリアされ
る。
L2キャッシュ制御部はインページ・バッファ書込みコ
マンドを受取、L2制御部26Kからの状況を待ってL
2キャッシュ・インページを完了させるためL2ライン
書込みに備える。L2キャッシュ制御部はL2キャッシ
ュ・セット及び置換ライン状況を受取る。置換されたラ
インが変更されているので、L2キャッシュ制御部は、
インページ・バッファのデータをL2キャッシュに書込
む前に、インページ・バッファと対になっているアウト
ページ・バッファ(OP B )へのフルライン読出し
が必要なことをL2キャッシュに知らせる。
マンドを受取、L2制御部26Kからの状況を待ってL
2キャッシュ・インページを完了させるためL2ライン
書込みに備える。L2キャッシュ制御部はL2キャッシ
ュ・セット及び置換ライン状況を受取る。置換されたラ
インが変更されているので、L2キャッシュ制御部は、
インページ・バッファのデータをL2キャッシュに書込
む前に、インページ・バッファと対になっているアウト
ページ・バッファ(OP B )へのフルライン読出し
が必要なことをL2キャッシュに知らせる。
これらはフルライン・アクセスであり且っキャッシュ・
セットがインタリーブされるので、L2キャッシュ・ラ
イン・アクセスを可能にするため、L2キャッシュ・セ
ットを用いてアドレス・ビット25及び26を操作しな
ければならない、アドレス/キー制御部はL2制御部2
6Kからアウトページ・アドレスを受取って、それを物
理アドレスに変換し、L2キャッシュ・セットと共にア
ウトページ・アドレス・バッファに保持する。インペー
ジ・アドレス・バッファとL2制御部から受取ったL2
キャッシュ・セットとに基いて、L2ミニディレクトリ
更新アドレス・レジスタがセットされる。アドレス/キ
ー制御部は、L3ラインの書込みに備えて、アウトペー
ジ物理アドレスをBSU制御部に転送する。メモリ制御
部は置換されたラインの状況を受取る。キャストアウト
が必要なので、メモリ更新が完了するまでメモリ制御部
26EはL3資源を解放できない。キャストアウトは、
インページに使用されたものと同じメモリ・ポートで行
われる。メモリ制御部は、このプロセッサに関連するL
2ミニディレクトリ更新アドレス・レジスタを用いてI
、 2ミニデイレクトリを更新するため、コマンドをア
ドレス/キー制御部に送る。これでメモリ制御部は現オ
ペレーションの完了を示し、要求元プロセッサが再びメ
モリ資源の争奪に加わるのを許す。かくして元のL2記
憶待ち行列要求が再びL2キャッシュ・アービタに入力
される。L2キャッシュ・アービタにより選択されると
、再び記憶アクセスが試みられ、これがL2制御部26
に内で要求をサービスする最初の試みであるかのように
実行される。置換されたL2キャッシュ・ラインが変更
されていることを認識して、BSU制御部はアドレス/
キー制御部からアウトページ・アドレスを受取った後に
、フルライン書込みコマンド及びアドレスをL2キャッ
シュ・データフロ一部を介して選択されたメモリ・ポー
トに転送することにより、キャストアウトを開始する。
セットがインタリーブされるので、L2キャッシュ・ラ
イン・アクセスを可能にするため、L2キャッシュ・セ
ットを用いてアドレス・ビット25及び26を操作しな
ければならない、アドレス/キー制御部はL2制御部2
6Kからアウトページ・アドレスを受取って、それを物
理アドレスに変換し、L2キャッシュ・セットと共にア
ウトページ・アドレス・バッファに保持する。インペー
ジ・アドレス・バッファとL2制御部から受取ったL2
キャッシュ・セットとに基いて、L2ミニディレクトリ
更新アドレス・レジスタがセットされる。アドレス/キ
ー制御部は、L3ラインの書込みに備えて、アウトペー
ジ物理アドレスをBSU制御部に転送する。メモリ制御
部は置換されたラインの状況を受取る。キャストアウト
が必要なので、メモリ更新が完了するまでメモリ制御部
26EはL3資源を解放できない。キャストアウトは、
インページに使用されたものと同じメモリ・ポートで行
われる。メモリ制御部は、このプロセッサに関連するL
2ミニディレクトリ更新アドレス・レジスタを用いてI
、 2ミニデイレクトリを更新するため、コマンドをア
ドレス/キー制御部に送る。これでメモリ制御部は現オ
ペレーションの完了を示し、要求元プロセッサが再びメ
モリ資源の争奪に加わるのを許す。かくして元のL2記
憶待ち行列要求が再びL2キャッシュ・アービタに入力
される。L2キャッシュ・アービタにより選択されると
、再び記憶アクセスが試みられ、これがL2制御部26
に内で要求をサービスする最初の試みであるかのように
実行される。置換されたL2キャッシュ・ラインが変更
されていることを認識して、BSU制御部はアドレス/
キー制御部からアウトページ・アドレスを受取った後に
、フルライン書込みコマンド及びアドレスをL2キャッ
シュ・データフロ一部を介して選択されたメモリ・ポー
トに転送することにより、キャストアウトを開始する。
データは一時に16バイトずつアウトページ・バッファ
からメモリに転送される。
からメモリに転送される。
メモリへの最後の4倍ワード転送の後、BSU制御部は
メモリ制御部26Eにオペレージ目ン終了を知らせる。
メモリ制御部26Eにオペレージ目ン終了を知らせる。
メモリ制御部はこのオペレーション終了に応答してL3
ポートを解放し、メモリ・ボートへのオーバーラツプ・
アクセスを可能にする。
ポートを解放し、メモリ・ボートへのオーバーラツプ・
アクセスを可能にする。
1.6 記憶装置記憶、順次、初期L2ライン・アクセ
ス、TLBヒツト、アクセス例外なし、L2キャッシュ
・ヒツト (第31〜35図) 実行ユニットがL1オペランド・キャッシュに対して記
憶装置順次記憶要求を出す。セット・アソシアティブT
LB探索の結果、記憶要求で与えられた論理アドレスに
対する絶対アドレスがアクセス例外なしに得られる。T
LBからの絶対アドレスを用いたL1キャッシュ・ディ
レクトリの探索により、データがキャッシュにあること
がわかると(LLヒツト)、選択されたL1キャッシュ
・セットへの書込みが有効化され、記憶バイト・フラグ
の制御のもとに、記憶要求データのダブルワード内の所
望のバイトだけがし1キヤツシユ・コングルエンス及び
選択されたセットに書込まれる。
ス、TLBヒツト、アクセス例外なし、L2キャッシュ
・ヒツト (第31〜35図) 実行ユニットがL1オペランド・キャッシュに対して記
憶装置順次記憶要求を出す。セット・アソシアティブT
LB探索の結果、記憶要求で与えられた論理アドレスに
対する絶対アドレスがアクセス例外なしに得られる。T
LBからの絶対アドレスを用いたL1キャッシュ・ディ
レクトリの探索により、データがキャッシュにあること
がわかると(LLヒツト)、選択されたL1キャッシュ
・セットへの書込みが有効化され、記憶バイト・フラグ
の制御のもとに、記憶要求データのダブルワード内の所
望のバイトだけがし1キヤツシユ・コングルエンス及び
選択されたセットに書込まれる。
TLBからの絶対アドレスと一致しないため、ディレク
トリ探索でL1キャッシュ・ミスが生じると、L1キャ
ッシュの書込みはキャンセルされる。
トリ探索でL1キャッシュ・ミスが生じると、L1キャ
ッシュの書込みはキャンセルされる。
何れの場合も、記憶要求はL1記憶待ち行列にエンキュ
ーされる。待ち行列エントリ情報は、絶対アドレス、デ
ータ、記゛憶バイト・フラグ及び記憶要求タイプ(非順
次記憶、順次記憶、オペレーション終了)から成ってい
る。この要求の前にL1記憶待ち行列が空になっており
(L I E P及びLITPが等しい)、且つLL/
L2インタフェースが使用可能″であれば、記憶要求は
直ちにL2に転送される。さもなければ、Ll/L2イ
ンタフェースが使用可能な時にLITPが当該エントリ
を選択するまで、L2への転送は遅らされる。現命令に
続く先取りされた命令は、記憶要求による変更について
、論理アドレスの比較によって検査される。もし一致が
生じると、命令バッファは無効化される。L2制御部が
記憶要求を受取る。順次記憶ルーチンが開始されていな
ければ、この要求はL2キャッシュ・ラインへの初期記
憶アクセスであると同時に初期順次記憶アクセスでもあ
る。
ーされる。待ち行列エントリ情報は、絶対アドレス、デ
ータ、記゛憶バイト・フラグ及び記憶要求タイプ(非順
次記憶、順次記憶、オペレーション終了)から成ってい
る。この要求の前にL1記憶待ち行列が空になっており
(L I E P及びLITPが等しい)、且つLL/
L2インタフェースが使用可能″であれば、記憶要求は
直ちにL2に転送される。さもなければ、Ll/L2イ
ンタフェースが使用可能な時にLITPが当該エントリ
を選択するまで、L2への転送は遅らされる。現命令に
続く先取りされた命令は、記憶要求による変更について
、論理アドレスの比較によって検査される。もし一致が
生じると、命令バッファは無効化される。L2制御部が
記憶要求を受取る。順次記憶ルーチンが開始されていな
ければ、この要求はL2キャッシュ・ラインへの初期記
憶アクセスであると同時に初期順次記憶アクセスでもあ
る。
初期順次記憶要求がサービスされていて順次オペレーシ
ョンが進行中であれば、この要求は順次記憶ルーチンに
おける新しいL2キャッシュ・ラインへの初期記憶アク
セスを表わす、L2記憶待ち行列が空であれば、この要
求はL2キャッシュ・アービタにより選択されると直ち
にサービスされる。このプロセッサに関するL2記憶待
ち行列が空でなければ、このプロセッサから前に出され
たすべての記憶要求がL2キャッシュ又はL2キャッシ
ュ書込みバッファで完了するまで、この要求は記憶待ち
行列で待っていなければならない。何れの場合も、要求
元プロセッサのためのL2記憶待ち行列にエントリが作
成される。L2記憶待ち行列は物理的に制御部及びデー
タ部に分けられる。
ョンが進行中であれば、この要求は順次記憶ルーチンに
おける新しいL2キャッシュ・ラインへの初期記憶アク
セスを表わす、L2記憶待ち行列が空であれば、この要
求はL2キャッシュ・アービタにより選択されると直ち
にサービスされる。このプロセッサに関するL2記憶待
ち行列が空でなければ、このプロセッサから前に出され
たすべての記憶要求がL2キャッシュ又はL2キャッシ
ュ書込みバッファで完了するまで、この要求は記憶待ち
行列で待っていなければならない。何れの場合も、要求
元プロセッサのためのL2記憶待ち行列にエントリが作
成される。L2記憶待ち行列は物理的に制御部及びデー
タ部に分けられる。
絶対アドレス及び記憶要求タイプはL2制御部26Kに
維持される。関連するデータ及び記憶バイト・フラグは
L2キャッシュ・データフロ一部にエンキューされる。
維持される。関連するデータ及び記憶バイト・フラグは
L2キャッシュ・データフロ一部にエンキューされる。
この記憶要求が順次記憶オペレーションを開始させるの
であれば、L2制御部26にはL2キャッシュ・ディレ
クトリを探索して、所望のラインがL2キャッシュにあ
るかどうかを検査しなければならない、このプロセッサ
について順次オペレーションが進行中であれば、このプ
ロセッサからの前の順次記憶要求のアドレス・ビット2
4.25.27及び28との比較により、今回の記憶要
求の絶対アドレス・ビット24が前の記憶要求のものと
は異なっていることが検出される。この記憶要求は異な
ったL2キャッシュ・ラインに対するものである。その
ようなわけで。
であれば、L2制御部26にはL2キャッシュ・ディレ
クトリを探索して、所望のラインがL2キャッシュにあ
るかどうかを検査しなければならない、このプロセッサ
について順次オペレーションが進行中であれば、このプ
ロセッサからの前の順次記憶要求のアドレス・ビット2
4.25.27及び28との比較により、今回の記憶要
求の絶対アドレス・ビット24が前の記憶要求のものと
は異なっていることが検出される。この記憶要求は異な
ったL2キャッシュ・ラインに対するものである。その
ようなわけで。
L2制御部26にはL2キャッシュ・ディレクトリを探
索して、このラインがL2キャッシュにあるかどうかを
検査しなければならない0反復コマンドがL2キャッシ
ュ制御部に転送されることはない、また、どのような情
報もアドレス/キー制御部及びメモリ制御部26Hには
直ちに転送されることはない、これは順次記憶オペレー
ションでアクセスされる最初のラインではないので、L
2制御部26には前に順次アクセスされたL2キャッシ
ュ・ラインの状況を検査する。前のラインがL2キャッ
シュになければ、L2制御部26には。
索して、このラインがL2キャッシュにあるかどうかを
検査しなければならない0反復コマンドがL2キャッシ
ュ制御部に転送されることはない、また、どのような情
報もアドレス/キー制御部及びメモリ制御部26Hには
直ちに転送されることはない、これは順次記憶オペレー
ションでアクセスされる最初のラインではないので、L
2制御部26には前に順次アクセスされたL2キャッシ
ュ・ラインの状況を検査する。前のラインがL2キャッ
シュになければ、L2制御部26には。
インページが完了するまで、現ラインの順次処理を保留
にする。さもなければ、L2制御部はTItL2キャッ
″シュ・ラインへの順次記憶を続けることができる。’
(1,8の説明を参照されたい、)L2キャッシュ・ア
ービタはこの記憶要求をサービスのために選択する。L
2制御部26には、L2キャッシュ書込みバッファ記憶
コマンド及びL2キャッシュ・フングルエンスをL2キ
ャッシュ制御部に転送し、プロセッサL2キャッシュ記
憶コマンドをメモリ制御部26Eに転送する。L1オペ
ランド・キャッシュはストアスルー式のキャッシュであ
るから、たとえ最初の記憶要求でL1キャッシュ・ミス
が生じたとしても、L1キャッシュへのインベージは不
要である。L2#御部26には、同じL2キャッシュ・
ラインに対する後続の順次記憶要求のオーバーラツプ処
理を可能にするため、L2記憶待ち行列の制御部から記
憶要求をデキューする。L2制御部26には、この記憶
要求が順次記憶オペレーション中で新しいL2キャッシ
ュ・ラインを開始させることを認識する。
にする。さもなければ、L2制御部はTItL2キャッ
″シュ・ラインへの順次記憶を続けることができる。’
(1,8の説明を参照されたい、)L2キャッシュ・ア
ービタはこの記憶要求をサービスのために選択する。L
2制御部26には、L2キャッシュ書込みバッファ記憶
コマンド及びL2キャッシュ・フングルエンスをL2キ
ャッシュ制御部に転送し、プロセッサL2キャッシュ記
憶コマンドをメモリ制御部26Eに転送する。L1オペ
ランド・キャッシュはストアスルー式のキャッシュであ
るから、たとえ最初の記憶要求でL1キャッシュ・ミス
が生じたとしても、L1キャッシュへのインベージは不
要である。L2#御部26には、同じL2キャッシュ・
ラインに対する後続の順次記憶要求のオーバーラツプ処
理を可能にするため、L2記憶待ち行列の制御部から記
憶要求をデキューする。L2制御部26には、この記憶
要求が順次記憶オペレーション中で新しいL2キャッシ
ュ・ラインを開始させることを認識する。
も・しこの記憶要求が順次記憶オペレーションを開始さ
せるのであれば、L2制御部26にはこのプロセッサに
関する順次オペレーション進行中標識をセットする。記
憶待ち行列要求の絶対アドレス・ビット24.25.2
7及び28が順次記憶ルーチンにおける将来の参照に備
えて保管される。データはL2キャッシュではなくて要
求元プロセッサのためのL2キャッシュ書込みバッファ
に向けられるので1代替プロセッサ・ロック競合が検出
されても、それは無視される。もし要求元プロセッサ′
がロックを保持していると1機械チエツクがセットされ
る。L2キャッシュ・ディレクトリの探索でL2キャッ
シュ・ヒツトが検出された場合は1次の2つのケースの
うちの何れかが生じる。
せるのであれば、L2制御部26にはこのプロセッサに
関する順次オペレーション進行中標識をセットする。記
憶待ち行列要求の絶対アドレス・ビット24.25.2
7及び28が順次記憶ルーチンにおける将来の参照に備
えて保管される。データはL2キャッシュではなくて要
求元プロセッサのためのL2キャッシュ書込みバッファ
に向けられるので1代替プロセッサ・ロック競合が検出
されても、それは無視される。もし要求元プロセッサ′
がロックを保持していると1機械チエツクがセットされ
る。L2キャッシュ・ディレクトリの探索でL2キャッ
シュ・ヒツトが検出された場合は1次の2つのケースの
うちの何れかが生じる。
ケースI
L2キャッシュ・ディレクトリの探索でL2キャッシュ
・ヒツトが検出されたが、要求されたL2キャッシュ・
ラインに関し、訂正不能記憶装置エラー標識が活動化さ
れている凍結レジスタ又はライン保持レジスタが代替プ
ロセッサに対してセットされる。L2制御部26には、
訂正不能記憶装置エラーに伴なう凍結ないしライン保持
が解放されるまで、この記憶要求及び後続の順次記憶要
求を保留状態にする。記憶要求はこのプロセッサに関す
るL2記憶待ち行列の制御部に復元される。
・ヒツトが検出されたが、要求されたL2キャッシュ・
ラインに関し、訂正不能記憶装置エラー標識が活動化さ
れている凍結レジスタ又はライン保持レジスタが代替プ
ロセッサに対してセットされる。L2制御部26には、
訂正不能記憶装置エラーに伴なう凍結ないしライン保持
が解放されるまで、この記憶要求及び後続の順次記憶要
求を保留状態にする。記憶要求はこのプロセッサに関す
るL2記憶待ち行列の制御部に復元される。
L2制御部26にはこのプロセッサに関するコマンド・
バッファ要求をなおサービスすることができる。アドレ
ス/キー制御部にはどのような情報も送られない、L2
キャッシュ・ライン状況及びキャッシュ・セットがL2
キャッシュ制御部に転送され、キャッシュ・セット修飾
子がL2キャッシュに転送され、L2キャッシュ・ライ
ン状況がメモリ制御部26Eに転送される。訂正不能記
憶装置エラー競合による代替プロセッサ凍結(ライン保
持)のため、ロック状況が強制される。順次記憶オペレ
ーションが進行中のため、L1状況アレイの比較は阻止
され、またL2制御部26には命令完了信号を要求元プ
ロセッサのL1キャッシュに送らない、L2キャッシュ
制御部はL2キャッシュ書込みバッファ記憶コマンド及
びL2キャッシュ・コングルエンスを受取って、L2キ
ャッシュのアクセスを開始する。L2キャッシュ制御部
は、L2記憶待ち行列から最も古いエントリをデキュー
し且つ次のL2キャッシュ書込みバッファへの書込みを
行うために、コマンドをL2データフロ一部に送る。L
2ヒツト及びロックというL2キャッシュ・ライン状況
を受取ると、L2キャッシュ制御部はデータ記憶待ち行
列エントリのデキュー及びL2キャッシュ書込みバッフ
ァへの書込みをキャンセルする。メモリ制御部はL2コ
マンド及びL3ポート識別子を受取る。L2ヒツト及び
ロックというL2キャッシュ・ライン状況を受取ると、
要求は落とされる。
バッファ要求をなおサービスすることができる。アドレ
ス/キー制御部にはどのような情報も送られない、L2
キャッシュ・ライン状況及びキャッシュ・セットがL2
キャッシュ制御部に転送され、キャッシュ・セット修飾
子がL2キャッシュに転送され、L2キャッシュ・ライ
ン状況がメモリ制御部26Eに転送される。訂正不能記
憶装置エラー競合による代替プロセッサ凍結(ライン保
持)のため、ロック状況が強制される。順次記憶オペレ
ーションが進行中のため、L1状況アレイの比較は阻止
され、またL2制御部26には命令完了信号を要求元プ
ロセッサのL1キャッシュに送らない、L2キャッシュ
制御部はL2キャッシュ書込みバッファ記憶コマンド及
びL2キャッシュ・コングルエンスを受取って、L2キ
ャッシュのアクセスを開始する。L2キャッシュ制御部
は、L2記憶待ち行列から最も古いエントリをデキュー
し且つ次のL2キャッシュ書込みバッファへの書込みを
行うために、コマンドをL2データフロ一部に送る。L
2ヒツト及びロックというL2キャッシュ・ライン状況
を受取ると、L2キャッシュ制御部はデータ記憶待ち行
列エントリのデキュー及びL2キャッシュ書込みバッフ
ァへの書込みをキャンセルする。メモリ制御部はL2コ
マンド及びL3ポート識別子を受取る。L2ヒツト及び
ロックというL2キャッシュ・ライン状況を受取ると、
要求は落とされる。
ケース2
L2キャッシュ・ディレクトリの探索でL2キャッシュ
・ヒツトが検出される。L2キャッシュ・ラインは変更
されていない、アドレス/キー制御部にはどのような情
報も送られない、L2キャッシュ・ライン状況及びキャ
ッシュ・セットがL2キャッシュ制御部に転送され、キ
ャッシュ・セット修飾子がL2キャッシュに転送され、
L2キャッシュ・ライン状況がメモリ制御部に転送され
る。
・ヒツトが検出される。L2キャッシュ・ラインは変更
されていない、アドレス/キー制御部にはどのような情
報も送られない、L2キャッシュ・ライン状況及びキャ
ッシュ・セットがL2キャッシュ制御部に転送され、キ
ャッシュ・セット修飾子がL2キャッシュに転送され、
L2キャッシュ・ライン状況がメモリ制御部に転送され
る。
この記憶要求で変更されるL2キャッシュ・ラインに関
連して、絶対アドレス・ビット4〜24及びL2キャッ
シュ・セットを含むライン保持が設定される。アドレス
・ビット25は、この記憶要求がL2キャッシュ・ライ
ンの上半分を変更するのか下半分を変更するのかを示す
、ビット25が0であれば、現ライン保持レジスタの上
位半ライン修飾子がセットされ、ビット25が1であれ
ば、下位半ライン修飾子がセットされる。順次記憶オペ
レーションが進行中のため、L1状況アレイの比較は阻
止され、L2制御部26には命令完了信号を要求元プロ
セッサのL1キャッシュに送らない。L2キャッシュ制
御部はL2キャッシュ書込みバッファ記憶コマンド及び
L2キャッシュ・コングルエンスを受取り、L2キャッ
シュのアクセスを開始する。L2キャッシュ制御部は、
L2記憶待ち行列から最も古いエントリをデキューし且
つ次のL2キャッシュ書込みバッファへの書込みを行う
ために、コマンドをL2データフロ一部に送る。L2ヒ
ツト及び非ロックというL2キャッシュ・ライン状況を
受取ると、L2キャッシュ制御部はL2キャッシュ書込
みバッファへの記憶を完了し、要求元プロセッサに関す
る書込みバッファにはデータ及び記憶バイト・フラグが
アドレス合せされてロードされる。このオペレーション
及びL2キャッシュ書込みバッファに関連する後続の順
次記憶要求に備えてL2キャッシュ・コングルエンスが
L2データフロ一部に保管される。順次記憶オペレーシ
ョンのこの部分についてはキャッシュは不要であるが、
記憶待ち行列データは非順次記憶要求の時と同様にして
パイプライン・ステージにより強制的にL2キャッシュ
書込みバッファに移される。データ記憶待ち行列エント
リは、データがL2キャッシュ書込みバッファに書込ま
れる時に、L2記憶待ち行列からデキューされるが、L
1記憶待ち行列からはデキューされない。
連して、絶対アドレス・ビット4〜24及びL2キャッ
シュ・セットを含むライン保持が設定される。アドレス
・ビット25は、この記憶要求がL2キャッシュ・ライ
ンの上半分を変更するのか下半分を変更するのかを示す
、ビット25が0であれば、現ライン保持レジスタの上
位半ライン修飾子がセットされ、ビット25が1であれ
ば、下位半ライン修飾子がセットされる。順次記憶オペ
レーションが進行中のため、L1状況アレイの比較は阻
止され、L2制御部26には命令完了信号を要求元プロ
セッサのL1キャッシュに送らない。L2キャッシュ制
御部はL2キャッシュ書込みバッファ記憶コマンド及び
L2キャッシュ・コングルエンスを受取り、L2キャッ
シュのアクセスを開始する。L2キャッシュ制御部は、
L2記憶待ち行列から最も古いエントリをデキューし且
つ次のL2キャッシュ書込みバッファへの書込みを行う
ために、コマンドをL2データフロ一部に送る。L2ヒ
ツト及び非ロックというL2キャッシュ・ライン状況を
受取ると、L2キャッシュ制御部はL2キャッシュ書込
みバッファへの記憶を完了し、要求元プロセッサに関す
る書込みバッファにはデータ及び記憶バイト・フラグが
アドレス合せされてロードされる。このオペレーション
及びL2キャッシュ書込みバッファに関連する後続の順
次記憶要求に備えてL2キャッシュ・コングルエンスが
L2データフロ一部に保管される。順次記憶オペレーシ
ョンのこの部分についてはキャッシュは不要であるが、
記憶待ち行列データは非順次記憶要求の時と同様にして
パイプライン・ステージにより強制的にL2キャッシュ
書込みバッファに移される。データ記憶待ち行列エント
リは、データがL2キャッシュ書込みバッファに書込ま
れる時に、L2記憶待ち行列からデキューされるが、L
1記憶待ち行列からはデキューされない。
メモリ制御部はL2コマンド及びL3ポート識別子を受
取る。L2ヒツト及び非ロックというL2キャッシュ・
ライン状況を受取ると、要求は落とされる。
取る。L2ヒツト及び非ロックというL2キャッシュ・
ライン状況を受取ると、要求は落とされる。
1.7 記憶装置記憶、順次、初期L2ライン・アクセ
ス、TLBヒツト、アクセス例外なし、L2キャッシュ
・ミス (第36〜44図) 実行ユニットがL1オペランド・キャッシュに対して記
憶装置順次記憶要求を出す6セツト・アソシアティブ式
TLB探索の結果、記憶要求で与えられた論理アドレス
に対する絶対アドレスがアクセス例外なしに得られる。
ス、TLBヒツト、アクセス例外なし、L2キャッシュ
・ミス (第36〜44図) 実行ユニットがL1オペランド・キャッシュに対して記
憶装置順次記憶要求を出す6セツト・アソシアティブ式
TLB探索の結果、記憶要求で与えられた論理アドレス
に対する絶対アドレスがアクセス例外なしに得られる。
TLBからの絶対アドレスを用いたし1キヤツシユ・デ
ィレクトリの探索により、データがキャッシュにあるこ
とがわかると(Llヒツト)1選択されたL1キャッシ
ュ・セットへの書込みが有効化され、記憶バイト・フラ
グの制御のもとに、記憶要求データのダブルワード内の
所望のバイトだけがし1キヤツシユ・コングルエンス及
び選択されたセットに書込まれる。TLBからの絶対ア
ドレスと一致しないため、ディレクトリ探索でL1キャ
ッシュ・ミスが生じると、L1キャッシュの書込みはキ
ャンセルされる。何れの場合も、記憶要求はL1記憶待
ち行列にエンキューされる。待ち行列エントリ情報は、
絶対アドレス、データ、記憶バイト・フラグ及び記憶要
求タイプ(非順次記憶、順次記憶、オペレーション終了
)から成っている。この要求の前にLl記憶待ち行列が
空になっており(L I E P及びLITPが等しい
)、且つLl/L2インタフェースが使用可能であれば
、記憶要求は直ちにL2に転送される。さもなければ、
Ll/L2インタフェースが使用可能な時にLITPが
当該エントリを選択するまで、L2への転送は遅らされ
る。
ィレクトリの探索により、データがキャッシュにあるこ
とがわかると(Llヒツト)1選択されたL1キャッシ
ュ・セットへの書込みが有効化され、記憶バイト・フラ
グの制御のもとに、記憶要求データのダブルワード内の
所望のバイトだけがし1キヤツシユ・コングルエンス及
び選択されたセットに書込まれる。TLBからの絶対ア
ドレスと一致しないため、ディレクトリ探索でL1キャ
ッシュ・ミスが生じると、L1キャッシュの書込みはキ
ャンセルされる。何れの場合も、記憶要求はL1記憶待
ち行列にエンキューされる。待ち行列エントリ情報は、
絶対アドレス、データ、記憶バイト・フラグ及び記憶要
求タイプ(非順次記憶、順次記憶、オペレーション終了
)から成っている。この要求の前にLl記憶待ち行列が
空になっており(L I E P及びLITPが等しい
)、且つLl/L2インタフェースが使用可能であれば
、記憶要求は直ちにL2に転送される。さもなければ、
Ll/L2インタフェースが使用可能な時にLITPが
当該エントリを選択するまで、L2への転送は遅らされ
る。
現命令に続く先取りされた命令は、記憶要求による変更
について、論理アドレスの比較によって検査される。も
し一致が生じると、命令バッファは無効化される。L2
制御部が記憶要求を受取る。
について、論理アドレスの比較によって検査される。も
し一致が生じると、命令バッファは無効化される。L2
制御部が記憶要求を受取る。
順次記憶ルーチンが開始されていなければ、この要求は
L2キャッシュ・ラインへの初期記憶アクセスであると
同時に初期順次記憶アクセスでもある。初期順次記憶要
求がサービスされていて順次オペレーションが進行中で
あれば、この要求は順次記憶ルーチンにおける新しいL
2キャッシュ・ラインへの初期記憶アクセスを表わす。
L2キャッシュ・ラインへの初期記憶アクセスであると
同時に初期順次記憶アクセスでもある。初期順次記憶要
求がサービスされていて順次オペレーションが進行中で
あれば、この要求は順次記憶ルーチンにおける新しいL
2キャッシュ・ラインへの初期記憶アクセスを表わす。
L2記憶待ち行列が空であれば、この要求はL2キャッ
シュ・アービタにより選択されると直ちにサービスされ
る。このプロセッサに関するL2記憶待ち行列が空でな
ければ、このプロセッサから前に出されたすべての記憶
要求がL2キャッシュ又はL2キャッシュ書込みバッフ
ァで完了するまで、この要求は記憶待ち行列で待ってい
なければならない。
シュ・アービタにより選択されると直ちにサービスされ
る。このプロセッサに関するL2記憶待ち行列が空でな
ければ、このプロセッサから前に出されたすべての記憶
要求がL2キャッシュ又はL2キャッシュ書込みバッフ
ァで完了するまで、この要求は記憶待ち行列で待ってい
なければならない。
何れの場合も、要求元プロセッサのためのL2記憶待ち
行列にエントリが作成される。L2記憶待ち行列は物理
的に制御部及びデータ部に分けられる。絶対アドレス及
び記憶要求タイプはL2制御部26Kに維持される。関
連するデータ及び記憶バイト・フラグはL2キャッシュ
・データフロー部にエンキューされる。こ、の記憶要求
が順次記憶オペレーションを開始させるのであれば、L
2制御部26にはL2キャッシュ・ディレクトリを探索
して、所望のラインがL2キャッシュにあるかどうかを
検査しなければならない。このプロセッサについて順次
オペレーションが進行中であれば、このプロセッサから
の前の順次記憶要求のアドレス・ビット24.25.2
7及び28との比較により、今回の記憶要求の絶対アド
レス・ビット24が前の記憶要求のものとは異なってい
ることが検出される。この記憶要求は異なったL2キャ
ッシュ・ラインに対するものである。そのようなわけで
、L2制御部26にはL2キャッシュ・ディレクトリを
探索して、このラインがL2キャッシュにあるかどうか
を検査しなければならない。反復コマンドがL2キャッ
シュ制御部に転送されることはない。また、どのような
情報もアドレス/キー制御部及びメモリ制御部26Eに
直ちに転送されることはない。これは順次記憶オペレー
ションでアクセスされる最初のラインではないので。
行列にエントリが作成される。L2記憶待ち行列は物理
的に制御部及びデータ部に分けられる。絶対アドレス及
び記憶要求タイプはL2制御部26Kに維持される。関
連するデータ及び記憶バイト・フラグはL2キャッシュ
・データフロー部にエンキューされる。こ、の記憶要求
が順次記憶オペレーションを開始させるのであれば、L
2制御部26にはL2キャッシュ・ディレクトリを探索
して、所望のラインがL2キャッシュにあるかどうかを
検査しなければならない。このプロセッサについて順次
オペレーションが進行中であれば、このプロセッサから
の前の順次記憶要求のアドレス・ビット24.25.2
7及び28との比較により、今回の記憶要求の絶対アド
レス・ビット24が前の記憶要求のものとは異なってい
ることが検出される。この記憶要求は異なったL2キャ
ッシュ・ラインに対するものである。そのようなわけで
、L2制御部26にはL2キャッシュ・ディレクトリを
探索して、このラインがL2キャッシュにあるかどうか
を検査しなければならない。反復コマンドがL2キャッ
シュ制御部に転送されることはない。また、どのような
情報もアドレス/キー制御部及びメモリ制御部26Eに
直ちに転送されることはない。これは順次記憶オペレー
ションでアクセスされる最初のラインではないので。
L2制御部26には前に順次アクセスされたL2キャッ
シュ・ラインの状況を検査する。前のラインがL2キャ
ッシュになければ、L2制御部26には、インページが
完了するまで、現ラインの順次処理を保留にする。さも
なければ、L2制御部は現L2キャッシュ・ラインへの
順次記憶を続けることができる。(1,8の説゛明を参
照されたい。
シュ・ラインの状況を検査する。前のラインがL2キャ
ッシュになければ、L2制御部26には、インページが
完了するまで、現ラインの順次処理を保留にする。さも
なければ、L2制御部は現L2キャッシュ・ラインへの
順次記憶を続けることができる。(1,8の説゛明を参
照されたい。
)L2キャッシュ・アービタはこの記憶要求をサービス
のために選択する。L2制御部26には。
のために選択する。L2制御部26には。
L2キャッシュ書込みバッファ記憶コマンド及びL2キ
ャッシュ・コングルエンスをL2キャッシュ制御部に転
送し、プロセッサL2キャッシュ記憶コマンドをメモリ
制御部26Eに転送する。L1オペランド・キャッシュ
はストアスルー式のキャッシュであるから、たとえ最初
の記憶要求でL1キャッシュ・ミスが生じたとしても、
L1キャッシュへのインページは不要である。L2制御
部26には、同じL2キャッシュ・ラインに対する後続
の順次記憶要求のオーバーラツプ処理を可能にするため
、L2記憶待ち行列の制御部から記憶要求をデキューす
る。L2キャッシュ・ディレクトリの探索でL2キャッ
シュ・ミスが生じた場合、次の3つのケースA−Cのう
ちの何れかが生じる。
ャッシュ・コングルエンスをL2キャッシュ制御部に転
送し、プロセッサL2キャッシュ記憶コマンドをメモリ
制御部26Eに転送する。L1オペランド・キャッシュ
はストアスルー式のキャッシュであるから、たとえ最初
の記憶要求でL1キャッシュ・ミスが生じたとしても、
L1キャッシュへのインページは不要である。L2制御
部26には、同じL2キャッシュ・ラインに対する後続
の順次記憶要求のオーバーラツプ処理を可能にするため
、L2記憶待ち行列の制御部から記憶要求をデキューす
る。L2キャッシュ・ディレクトリの探索でL2キャッ
シュ・ミスが生じた場合、次の3つのケースA−Cのう
ちの何れかが生じる。
L2キャッシュはストアイン式のキャッシュであるから
、順次記憶完了ルーチンの開始前にL2キャッシュ・ラ
インをL3メモリからインページしなければならない。
、順次記憶完了ルーチンの開始前にL2キャッシュ・ラ
インをL3メモリからインページしなければならない。
ケースA
L2キャッシュ・ディレクトリの探索でL2キャッシュ
・ミスが生じたが、このプロセッサに関する前のL2キ
ャッシュ・インページがまだ終っていない。L2制御部
26には、前のインページ要求が完了するまで、この記
憶要求を保留状態にする。記憶要求は、このプロセッサ
に関連するL2記憶待ち行列の制御部に復元される。コ
マンド・バッファ及び記憶待ち行列が両方共L2キャッ
シュ・インページの完了を待っているので、このプロセ
ッサに関するそれ以上の要求はL2キャッシュではサー
ビスされない。アドレス/キー制御部には情報は送られ
ない。L2キャッシュ・ライン状況及びキャッシュ・セ
ットがL2キャッシュ制御部に転送され、キャッシュ・
セット修飾子がL2キャッシュに転送され、L2キャッ
シュ・ライン状況がメモリ制御部に転送される。前のイ
ンページ要求のため、ロック状況が強制される。順次記
憶オペレーションが進行中のため、L1状況アレイの比
較が阻止され、L2制御部26には要求元プロセッサの
L1キャッシュに命令完了信号を転送しない。L2キャ
ッシュ制御部はL2キャッシュ書込みバッファ記憶コマ
ンド及びL2キャッシュ・コングルエンスを受取り、L
2キャッシュのアクセスを開始する。L2キャッシュ制
御部は、L2記憶待ち行列から最も古いエントリをデキ
ューし且つ次のL2キャッシュ書込みバッファへの書込
みを行うために、コマンドをL2データフロ一部に送る
。L2ミス及びロックというL2キャッシュ・ライン状
況を受取ると、L2キャッシュ制御部はデータ記憶待ち
行列エントリのデキュー及びL2キャッシュ書込みバッ
ファの書込みをキャンセルする。メモリ制御部はL2コ
マンド及びL3ポート識別子を受取る。L2ミス及びロ
ックというL2キャッシュ・ライン状況を受取ると。
・ミスが生じたが、このプロセッサに関する前のL2キ
ャッシュ・インページがまだ終っていない。L2制御部
26には、前のインページ要求が完了するまで、この記
憶要求を保留状態にする。記憶要求は、このプロセッサ
に関連するL2記憶待ち行列の制御部に復元される。コ
マンド・バッファ及び記憶待ち行列が両方共L2キャッ
シュ・インページの完了を待っているので、このプロセ
ッサに関するそれ以上の要求はL2キャッシュではサー
ビスされない。アドレス/キー制御部には情報は送られ
ない。L2キャッシュ・ライン状況及びキャッシュ・セ
ットがL2キャッシュ制御部に転送され、キャッシュ・
セット修飾子がL2キャッシュに転送され、L2キャッ
シュ・ライン状況がメモリ制御部に転送される。前のイ
ンページ要求のため、ロック状況が強制される。順次記
憶オペレーションが進行中のため、L1状況アレイの比
較が阻止され、L2制御部26には要求元プロセッサの
L1キャッシュに命令完了信号を転送しない。L2キャ
ッシュ制御部はL2キャッシュ書込みバッファ記憶コマ
ンド及びL2キャッシュ・コングルエンスを受取り、L
2キャッシュのアクセスを開始する。L2キャッシュ制
御部は、L2記憶待ち行列から最も古いエントリをデキ
ューし且つ次のL2キャッシュ書込みバッファへの書込
みを行うために、コマンドをL2データフロ一部に送る
。L2ミス及びロックというL2キャッシュ・ライン状
況を受取ると、L2キャッシュ制御部はデータ記憶待ち
行列エントリのデキュー及びL2キャッシュ書込みバッ
ファの書込みをキャンセルする。メモリ制御部はL2コ
マンド及びL3ポート識別子を受取る。L2ミス及びロ
ックというL2キャッシュ・ライン状況を受取ると。
要求は落とされる。
ケースB
L2キャッシュ・ディレクトリの探索でL2キャッシュ
・ミスが生じたが、代替プロセッサについて、同じL2
キャッシュ・ラインに対する前のL2キャッシュ・イン
ページがまだ終っていない。
・ミスが生じたが、代替プロセッサについて、同じL2
キャッシュ・ラインに対する前のL2キャッシュ・イン
ページがまだ終っていない。
L2制御部26には、前のインページ要求が完了するま
で、この記憶要求を保留状態にする。記憶要求は、この
プロセッサに関連するL2記憶待ち行列の制御部に復元
される。L2制御部26には、このプロセッサに関する
コマンド・バッファ要求をなおサービスすることができ
る。アドレス/キー制御部には情報は送られない。L2
キャッシュ・ライン状況及びキャッシュ・セットがL2
キャッシュ制御部に転送され、キャッシュ・セット修飾
子がL2キャッシュに転送され、L2キャッシュ・ライ
ン状況がメモリ制御部26Eに転送される。
で、この記憶要求を保留状態にする。記憶要求は、この
プロセッサに関連するL2記憶待ち行列の制御部に復元
される。L2制御部26には、このプロセッサに関する
コマンド・バッファ要求をなおサービスすることができ
る。アドレス/キー制御部には情報は送られない。L2
キャッシュ・ライン状況及びキャッシュ・セットがL2
キャッシュ制御部に転送され、キャッシュ・セット修飾
子がL2キャッシュに転送され、L2キャッシュ・ライ
ン状況がメモリ制御部26Eに転送される。
前のインページ凍結競合のため、ロック状況が強制され
る。順次記憶オペレーションが進行中のため、L1状況
アレイの比較が阻止され、L2制御部26には要求元プ
ロセッサのL1キャッシュに命令完了信号を転送しない
。L2キャッシュ制御部はプロセッサ上2キャッシュ書
込みバッファ記憶コマンド及びL2キャッシュ・コング
ルエンスを受取って、L2キャッシュのアクセスを開始
する。L2キャッシュ制御部は、L2記憶待ち行列から
最も古いエントリをデキューし且つL2キャッシュ書込
みバッファへの書込みを行うために、コマンドをL2デ
ータフロ一部に送る。L2ミス及びロックというL2キ
ャッシュ・ライン状況を受取ると4L2キャッシュ制御
部はデータ記憶待ち行列エントリのデキュー及びL2キ
ャッシュ書込みバッファの書込みをキャンセルする。メ
モリ制御部はL2コマンド及びL3ポート識別子を受取
る。L2ミス及びロックというL2キャッシュ・ライン
状況を受取ると、要求は落とされる。
る。順次記憶オペレーションが進行中のため、L1状況
アレイの比較が阻止され、L2制御部26には要求元プ
ロセッサのL1キャッシュに命令完了信号を転送しない
。L2キャッシュ制御部はプロセッサ上2キャッシュ書
込みバッファ記憶コマンド及びL2キャッシュ・コング
ルエンスを受取って、L2キャッシュのアクセスを開始
する。L2キャッシュ制御部は、L2記憶待ち行列から
最も古いエントリをデキューし且つL2キャッシュ書込
みバッファへの書込みを行うために、コマンドをL2デ
ータフロ一部に送る。L2ミス及びロックというL2キ
ャッシュ・ライン状況を受取ると4L2キャッシュ制御
部はデータ記憶待ち行列エントリのデキュー及びL2キ
ャッシュ書込みバッファの書込みをキャンセルする。メ
モリ制御部はL2コマンド及びL3ポート識別子を受取
る。L2ミス及びロックというL2キャッシュ・ライン
状況を受取ると、要求は落とされる。
ケースC
L2キャッシュ・ディレクトリの探索でL2キャッシュ
・ミスが生じる。順次記憶処理がL2キャッシュ・ミス
のサービスとオーバーラツプするのを可能にするため、
L2制御部26にはこの記憶要求を保留状態にしないが
、プロセッサ・インページ凍結レジスタをセットする。
・ミスが生じる。順次記憶処理がL2キャッシュ・ミス
のサービスとオーバーラツプするのを可能にするため、
L2制御部26にはこの記憶要求を保留状態にしないが
、プロセッサ・インページ凍結レジスタをセットする。
このプロセッサに関して、L2制御部26にはコマンド
・バッファ要求及び現L2キャッシュ・ラインに対する
順次記憶要求の両方をサービスすることができる。
・バッファ要求及び現L2キャッシュ・ラインに対する
順次記憶要求の両方をサービスすることができる。
絶対アドレスがアドレス/キー制御部に転送される。L
2キャッシュ・ライン状況及びキャッシュ・セットがL
2キャッシュ制御部に転送され、キャッシュ・セット修
飾子がL2キャッシュに転送され、L2キャッシュ・ラ
イン状況がメモリ制御部26Eに転送される。もしこの
記憶要求が順次記憶オペレーションを開始するのであれ
ば、L2制御部26にはこのプロセッサに関する順次オ
ペレーション進行中標識をセットする。記憶待ち行列要
求の絶対アドレス・ビット24.25.27及び28が
順次記憶ルーチンにおける将来の参照に備えて保管され
る。この記憶要求によって変更されるL2キャッシュ・
ラインのため、絶対アドレス・ビット4〜24及びL2
キャッシュ・セットを含むライン保持が設定される。絶
対アドレス・ビット25は、この記憶要求がL2キャッ
シュ・ラインの上半分を変更するのか下半分を変更する
のかを示す。ビット25がOであれば、現ライン保持レ
ジスタの上位半ライン修飾子がセットされ、ビット25
が1であれば、下位半ライン修飾子がセットされる。順
次記憶オペレーションが進行中のため、L1状況アレイ
の比較は阻止され、L2制御部26には命令完了信号を
要求元プロセッサのL1キャッシュに送らない。L2キ
ャッシュ制御部はL2キャッシュ書込みバッファ記憶コ
マンド及びL2キャッシュ・コングルエンスを受取り、
L2キャッシュのアクセスを開始する。L2キャッシュ
制御部は、L2記憶待ち行列から最も古いエントリをデ
キューし且つ次のL2キャッシュ書込みバッファへの書
込みを行うために、コマンドをL2データフロ一部に送
る。L2ミス及び非ロックというL2キャッシュ・ライ
ン状況を受取ると、L2キャッシュ制御部はL2キャッ
シュ書込みバッファへの記憶を完了し、要求元プロセッ
サに関する書込みバッファにはデータ及び記憶バイト・
フラグがアドレス合せされてロードされる。
2キャッシュ・ライン状況及びキャッシュ・セットがL
2キャッシュ制御部に転送され、キャッシュ・セット修
飾子がL2キャッシュに転送され、L2キャッシュ・ラ
イン状況がメモリ制御部26Eに転送される。もしこの
記憶要求が順次記憶オペレーションを開始するのであれ
ば、L2制御部26にはこのプロセッサに関する順次オ
ペレーション進行中標識をセットする。記憶待ち行列要
求の絶対アドレス・ビット24.25.27及び28が
順次記憶ルーチンにおける将来の参照に備えて保管され
る。この記憶要求によって変更されるL2キャッシュ・
ラインのため、絶対アドレス・ビット4〜24及びL2
キャッシュ・セットを含むライン保持が設定される。絶
対アドレス・ビット25は、この記憶要求がL2キャッ
シュ・ラインの上半分を変更するのか下半分を変更する
のかを示す。ビット25がOであれば、現ライン保持レ
ジスタの上位半ライン修飾子がセットされ、ビット25
が1であれば、下位半ライン修飾子がセットされる。順
次記憶オペレーションが進行中のため、L1状況アレイ
の比較は阻止され、L2制御部26には命令完了信号を
要求元プロセッサのL1キャッシュに送らない。L2キ
ャッシュ制御部はL2キャッシュ書込みバッファ記憶コ
マンド及びL2キャッシュ・コングルエンスを受取り、
L2キャッシュのアクセスを開始する。L2キャッシュ
制御部は、L2記憶待ち行列から最も古いエントリをデ
キューし且つ次のL2キャッシュ書込みバッファへの書
込みを行うために、コマンドをL2データフロ一部に送
る。L2ミス及び非ロックというL2キャッシュ・ライ
ン状況を受取ると、L2キャッシュ制御部はL2キャッ
シュ書込みバッファへの記憶を完了し、要求元プロセッ
サに関する書込みバッファにはデータ及び記憶バイト・
フラグがアドレス合せされてロードされる。
このオペレーション及びL2キャッシュ書込みバッファ
に関連する後続の順次記憶要求に備えてL2キャッシュ
・コングルエンスがL2データフロ一部に保管される。
に関連する後続の順次記憶要求に備えてL2キャッシュ
・コングルエンスがL2データフロ一部に保管される。
順次記憶オペレーションのこの部分についてはキャッシ
ュは不要であるが、記憶待ち行列データは非順次記憶要
求の時と同様にしてパイプライン・ステージにより強制
的にL2キャッシュ書込みバッファに移される。データ
記憶待ち行列エントリは、データがL2キャッシュ書込
みバッファに書込まれる時に、L2記憶待ち行列からデ
キューされるが、L1記憶待ち行列からはデキューされ
ない、メモリ制御部はL2コマンド及びL3ポート識別
子を受取る。L2ミス及び非ロックというL2キャッシ
ュ・ライン状況を受取ると、記憶要求は必要なL3メモ
リ・ポートの使用に関する競合に加わる。インページ/
アウトページ・バッファ対を含むすべての資源が使用可
能であれば、L3取出しアクセスを開始するため、コマ
ンドがBSU制御部に送られる。メモリ制御部は、L2
ディレクトリ状況をインページ保留状態にセットするよ
うL2制御部26Kに命じる。アドレス/キー制御部は
絶対アドレスを受取る。要求されたキャッシュ・ライン
を含む4KBのページの参照ビットが1にセットされる
。L2キャッシュ・インページだけが遂行されているの
で、関連する変更ビットは変更されない。記憶アクセス
は順次記憶完了ルーチンの間に実行される。
ュは不要であるが、記憶待ち行列データは非順次記憶要
求の時と同様にしてパイプライン・ステージにより強制
的にL2キャッシュ書込みバッファに移される。データ
記憶待ち行列エントリは、データがL2キャッシュ書込
みバッファに書込まれる時に、L2記憶待ち行列からデ
キューされるが、L1記憶待ち行列からはデキューされ
ない、メモリ制御部はL2コマンド及びL3ポート識別
子を受取る。L2ミス及び非ロックというL2キャッシ
ュ・ライン状況を受取ると、記憶要求は必要なL3メモ
リ・ポートの使用に関する競合に加わる。インページ/
アウトページ・バッファ対を含むすべての資源が使用可
能であれば、L3取出しアクセスを開始するため、コマ
ンドがBSU制御部に送られる。メモリ制御部は、L2
ディレクトリ状況をインページ保留状態にセットするよ
うL2制御部26Kに命じる。アドレス/キー制御部は
絶対アドレスを受取る。要求されたキャッシュ・ライン
を含む4KBのページの参照ビットが1にセットされる
。L2キャッシュ・インページだけが遂行されているの
で、関連する変更ビットは変更されない。記憶アクセス
は順次記憶完了ルーチンの間に実行される。
絶対アドレスはL3物理アドレスに変換される。
物理アドレスは、L2キャッシュ・ミスの結果インタフ
ェースが使用可能になると直ちにBSU制御部に転送さ
れる。BSU制御部は、メモリ制御部26Eのコマンド
及びL3物理アドレスを受取ると、それらをプロセッサ
記憶装置へ転送し且つ所望のポートにおけるメモリ・カ
ードを選択することにより、L3メモリ・ポートの12
8バイトの取出しを開始する。データは、L3メモリ・
ポートの多重化されたコマンド/アドレス及びデータ・
インタフェースを介して、−時に16バイトずつ転送さ
れる。128バイトのL2キャッシュ・ラインを得るた
めには、L3メモリからのデータ転送を8回行う必要が
成る。この転送は、記憶アクセスにより要求されたダブ
ルワードを含む4倍ワードから始まる0次の3回の転送
はL1キャッシュ・ラインの残りを含む。最後の4回の
転送はL2キャッシュ・ラインの残りを含む。L2キャ
ッシュ・インページ・バッファへの最後のデータ転送が
完了すると、BSU制御部はL2制御部26Kに適切な
プロセッサ・インページ完了信号を送る。L2キャッシ
ュへのデータ転送の間、アドレス/キー制御部はL3訂
正不能エラー線を監視する。インページ中に訂正不能エ
ラーが検出されると、幾つかの機能が遂行される。L2
キャッシュへの各4倍ワード転送で、記憶アクセスを最
初に要求したプロセッサにL3訂正不能エラー信号が送
られる。このプロセッサは所与のL2キャッシュ・イン
ページ要求について1つの記憶装置訂正不能エラー標識
(アドレス/キー制御部で最初に検出されたもの)を受
取る。アドレス/キー制御部で検出された最初の記憶装
置訂正不能エラーのダブルワード・アドレスが要求元プ
ロセッサのために記録される。プロセッサによりアクセ
スされたし1キヤツシユ・ライン中の何れかのデータで
訂正不能エラーが生じると、訂正不能エラー処理のため
の標識がセットされる。最後に、L2キャッシュ・イン
ページ・バッファに転送された何れかのデータで訂正不
能エラーが生じると、アドレス/キー制御部はL2制御
部26Kに信号を送って、L2キャッシュ・インページ
及びそれに続く順次記憶完了ルーチンの処理を本校指せ
る。L2キャッシュ・アービタはプロセッサのサービス
のためインページ完了を選択する。L2制御部26には
インページ・バッファ書込みコマンド及びL2キャッシ
ュ・コングルエンスをL2キャッシュ制御部に送り、イ
ンページ完了状況応答をメモリ制御部26Eに送る。L
2キャッシュ・ディレクトリの探索の結果1次に述べる
2つのケースのうちの何れかが生じる。
ェースが使用可能になると直ちにBSU制御部に転送さ
れる。BSU制御部は、メモリ制御部26Eのコマンド
及びL3物理アドレスを受取ると、それらをプロセッサ
記憶装置へ転送し且つ所望のポートにおけるメモリ・カ
ードを選択することにより、L3メモリ・ポートの12
8バイトの取出しを開始する。データは、L3メモリ・
ポートの多重化されたコマンド/アドレス及びデータ・
インタフェースを介して、−時に16バイトずつ転送さ
れる。128バイトのL2キャッシュ・ラインを得るた
めには、L3メモリからのデータ転送を8回行う必要が
成る。この転送は、記憶アクセスにより要求されたダブ
ルワードを含む4倍ワードから始まる0次の3回の転送
はL1キャッシュ・ラインの残りを含む。最後の4回の
転送はL2キャッシュ・ラインの残りを含む。L2キャ
ッシュ・インページ・バッファへの最後のデータ転送が
完了すると、BSU制御部はL2制御部26Kに適切な
プロセッサ・インページ完了信号を送る。L2キャッシ
ュへのデータ転送の間、アドレス/キー制御部はL3訂
正不能エラー線を監視する。インページ中に訂正不能エ
ラーが検出されると、幾つかの機能が遂行される。L2
キャッシュへの各4倍ワード転送で、記憶アクセスを最
初に要求したプロセッサにL3訂正不能エラー信号が送
られる。このプロセッサは所与のL2キャッシュ・イン
ページ要求について1つの記憶装置訂正不能エラー標識
(アドレス/キー制御部で最初に検出されたもの)を受
取る。アドレス/キー制御部で検出された最初の記憶装
置訂正不能エラーのダブルワード・アドレスが要求元プ
ロセッサのために記録される。プロセッサによりアクセ
スされたし1キヤツシユ・ライン中の何れかのデータで
訂正不能エラーが生じると、訂正不能エラー処理のため
の標識がセットされる。最後に、L2キャッシュ・イン
ページ・バッファに転送された何れかのデータで訂正不
能エラーが生じると、アドレス/キー制御部はL2制御
部26Kに信号を送って、L2キャッシュ・インページ
及びそれに続く順次記憶完了ルーチンの処理を本校指せ
る。L2キャッシュ・アービタはプロセッサのサービス
のためインページ完了を選択する。L2制御部26には
インページ・バッファ書込みコマンド及びL2キャッシ
ュ・コングルエンスをL2キャッシュ制御部に送り、イ
ンページ完了状況応答をメモリ制御部26Eに送る。L
2キャッシュ・ディレクトリの探索の結果1次に述べる
2つのケースのうちの何れかが生じる。
ケースI
L2制御部26Kが置換のために1つのL2キャッシュ
・ラインを選択する。この場合、置換されたラインは変
更されていないので、キャストアウトは不要である。L
2ディレクトリは、新しいL2キャッシュ・ラインの存
在を示すように更新される。このL2キャッシュ・ミス
・インページのために設定されていた凍結レジスタはク
リアされる。L2キャッシュ・インページ・バッファへ
のインページでL3記憶装置訂正不能エラーが検出され
ると、このL2キャッシュ・ミス・インページに係るラ
イン保持レジスタに関連する記憶装置訂正不能エラー標
識がセットされ、このプロセッサに関連するすべてのL
1キャッシュ標識は記憶装置訂正不能エラーを示すよう
にセットされる。
・ラインを選択する。この場合、置換されたラインは変
更されていないので、キャストアウトは不要である。L
2ディレクトリは、新しいL2キャッシュ・ラインの存
在を示すように更新される。このL2キャッシュ・ミス
・インページのために設定されていた凍結レジスタはク
リアされる。L2キャッシュ・インページ・バッファへ
のインページでL3記憶装置訂正不能エラーが検出され
ると、このL2キャッシュ・ミス・インページに係るラ
イン保持レジスタに関連する記憶装置訂正不能エラー標
識がセットされ、このプロセッサに関連するすべてのL
1キャッシュ標識は記憶装置訂正不能エラーを示すよう
にセットされる。
選択されたL2キャッシュ・セットがアドレス/キー制
御部及びL2キャッシュ制御部に転送される。置換され
たL2キャッシュ・ラインの状況がL2キャッシュ制御
部及びメモリ制御部26Eに転送され、キャッシュ・セ
ット修飾子がL2キャッシュに転送される。すべてのL
lキャッシュに関するL1状況アレイが、置換されたL
2キャッシュ・ラインの写しについて検査される。写し
が見つかると、そのL1キャッシュに無効化要求が送ら
れる。置換されたL2キャッシュ・ラインに関するL1
写し状況がクリアされる。L2キャッシュ制御部はイン
ページ・バッファ書込みコマンドを受取り、L2制御部
26Kからの状況を待ってL2キャッシュ・インページ
を完了させるためL2ライン書込みに備える。L2キャ
ッシュ制御部はL2キャッシュ・セット及び置換ライン
状況を受取る。置換されたラインが変更されていないの
で、L2キャッシュ制御部は、インページ・バッファか
らL2キャッシュへの書込みを行うことをL2キャッシ
ュに知らせる。これはフルラインの書込みで且つキャッ
シュ・セットはインタリーブされるので、L2キャッシ
ュ・ライン書込みを可能にするため、L2キャッシュ・
セットを用いてアドレス・ビット25及び26を操作し
なければならない。BSU制御部はオペレーション終了
をメモリ制御部26Eに知らせる。アドレス/キー制御
部はL2制御部26KからL2キャッシュ・セットを受
取る。インページ・アドレス・バッファとL2制御部か
ら受け取ったL2キャッシュ・セットとに基いて、L2
ミニディレクトリ更新アドレス・レジスタがセットされ
る。メモリ制御部は置換されたラインの状況を受取る。
御部及びL2キャッシュ制御部に転送される。置換され
たL2キャッシュ・ラインの状況がL2キャッシュ制御
部及びメモリ制御部26Eに転送され、キャッシュ・セ
ット修飾子がL2キャッシュに転送される。すべてのL
lキャッシュに関するL1状況アレイが、置換されたL
2キャッシュ・ラインの写しについて検査される。写し
が見つかると、そのL1キャッシュに無効化要求が送ら
れる。置換されたL2キャッシュ・ラインに関するL1
写し状況がクリアされる。L2キャッシュ制御部はイン
ページ・バッファ書込みコマンドを受取り、L2制御部
26Kからの状況を待ってL2キャッシュ・インページ
を完了させるためL2ライン書込みに備える。L2キャ
ッシュ制御部はL2キャッシュ・セット及び置換ライン
状況を受取る。置換されたラインが変更されていないの
で、L2キャッシュ制御部は、インページ・バッファか
らL2キャッシュへの書込みを行うことをL2キャッシ
ュに知らせる。これはフルラインの書込みで且つキャッ
シュ・セットはインタリーブされるので、L2キャッシ
ュ・ライン書込みを可能にするため、L2キャッシュ・
セットを用いてアドレス・ビット25及び26を操作し
なければならない。BSU制御部はオペレーション終了
をメモリ制御部26Eに知らせる。アドレス/キー制御
部はL2制御部26KからL2キャッシュ・セットを受
取る。インページ・アドレス・バッファとL2制御部か
ら受け取ったL2キャッシュ・セットとに基いて、L2
ミニディレクトリ更新アドレス・レジスタがセットされ
る。メモリ制御部は置換されたラインの状況を受取る。
キャストアウトが不要なので、メモリ制御部26Eはイ
ンページ要求で保持されていた資源を解放する。メモリ
制御部は、このプロセッサに関連するL2ミニディレク
トリ更新アドレス・レジスタを用いてL2ミニディレク
トリを更新するため、コマンドをアドレス/キー制御部
に送る。これでメモリ制御部は現オペレーションの完了
を示し、要求元プロセッサが再びメモリ資源の争奪に加
わるのを許す。
ンページ要求で保持されていた資源を解放する。メモリ
制御部は、このプロセッサに関連するL2ミニディレク
トリ更新アドレス・レジスタを用いてL2ミニディレク
トリを更新するため、コマンドをアドレス/キー制御部
に送る。これでメモリ制御部は現オペレーションの完了
を示し、要求元プロセッサが再びメモリ資源の争奪に加
わるのを許す。
ケース2
L2制御部26Kが置換のために1つのL2キャッシュ
・ラインを選択する。この場合、置換ラインの状況はそ
れが変更されたことを示しているので、L2キャッシュ
、キャストアウトが必要である。L2ディレクトリは、
新しいL2キャッシュ・ラインの存在を示すように更新
される。このL2キャッシュ・ミス・インページのため
に設定されていた凍結レジスタがクリアされる。L2キ
ャッシュ・インページ・バッファへのインページでL3
記憶装置訂正不能エラーが検出されると、このL2キャ
ッシュ・ミス・インページに係るライン保持レジスタに
関連する記憶装置訂正不能エラー標識がセットされ、こ
のプロセッサに関連するすべてのL1キャッシュ標識は
記憶装置訂正不能エラーを示すようにセットされる。デ
ィレクトリから読出されたアドレスが選択されたL2キ
ャッシュ・セットと共にアドレス/キー制御部に転送さ
れる。選択されたL2キャッシュ・セットはL2キャッ
シュ制御部にも送られる。置換されたL2キャッシュ・
ラインの状況がL2キャッシュ制御部及びメモリ制御部
26Eに転送され、キャッシュ・セット修飾子がL2キ
ャッシュに転送される。すべてのL1キャッシュに関す
るL1状況アレイが置換されたL2キャッシュ・ライン
の写しについて検査される。写しが見つかると、そのL
1キャッシュに無効化要求が送られる。置換されたL2
キャッシュ・ラインに関するL1写し状況がクリアされ
る。L2キャッシュ制御部はインページ・バッファ書込
みコマンドを受取り、L2制御部26Kからの状況を待
ってL2キャッシュ・インページを完了させるためL2
ライン書込みに備える。L2キャッシュ制御部はL2キ
ャッシュ・セット及び置換ライン状況を受取る。置換さ
れたラインが変更されているので、L2キャッシュ制御
部は、インページ・バッファのデータをL2キャッシュ
に書込む前に、インページ・バッファと対になっている
アウトページ・バッファへのフルライン読出しが必要な
ことをL2キャッシュに知らせる。これらはフルライン
・アクセスであり且つキャッシュ・セットがインタリー
ブされるので、L2キャッシュ・ライン・アクセスを可
能にするため、L2キャッシュ・セットを用いてアドレ
ス・ビット25及び26を操作しなければならない。
・ラインを選択する。この場合、置換ラインの状況はそ
れが変更されたことを示しているので、L2キャッシュ
、キャストアウトが必要である。L2ディレクトリは、
新しいL2キャッシュ・ラインの存在を示すように更新
される。このL2キャッシュ・ミス・インページのため
に設定されていた凍結レジスタがクリアされる。L2キ
ャッシュ・インページ・バッファへのインページでL3
記憶装置訂正不能エラーが検出されると、このL2キャ
ッシュ・ミス・インページに係るライン保持レジスタに
関連する記憶装置訂正不能エラー標識がセットされ、こ
のプロセッサに関連するすべてのL1キャッシュ標識は
記憶装置訂正不能エラーを示すようにセットされる。デ
ィレクトリから読出されたアドレスが選択されたL2キ
ャッシュ・セットと共にアドレス/キー制御部に転送さ
れる。選択されたL2キャッシュ・セットはL2キャッ
シュ制御部にも送られる。置換されたL2キャッシュ・
ラインの状況がL2キャッシュ制御部及びメモリ制御部
26Eに転送され、キャッシュ・セット修飾子がL2キ
ャッシュに転送される。すべてのL1キャッシュに関す
るL1状況アレイが置換されたL2キャッシュ・ライン
の写しについて検査される。写しが見つかると、そのL
1キャッシュに無効化要求が送られる。置換されたL2
キャッシュ・ラインに関するL1写し状況がクリアされ
る。L2キャッシュ制御部はインページ・バッファ書込
みコマンドを受取り、L2制御部26Kからの状況を待
ってL2キャッシュ・インページを完了させるためL2
ライン書込みに備える。L2キャッシュ制御部はL2キ
ャッシュ・セット及び置換ライン状況を受取る。置換さ
れたラインが変更されているので、L2キャッシュ制御
部は、インページ・バッファのデータをL2キャッシュ
に書込む前に、インページ・バッファと対になっている
アウトページ・バッファへのフルライン読出しが必要な
ことをL2キャッシュに知らせる。これらはフルライン
・アクセスであり且つキャッシュ・セットがインタリー
ブされるので、L2キャッシュ・ライン・アクセスを可
能にするため、L2キャッシュ・セットを用いてアドレ
ス・ビット25及び26を操作しなければならない。
アドレス/キー制御部はL2制御部26Kからアウトペ
ージ・アドレスを受取って、それを物理アドレスに変換
し、L2キャッシュ・セットと共にアウトページ・アド
レス・バッファに保持する。
ージ・アドレスを受取って、それを物理アドレスに変換
し、L2キャッシュ・セットと共にアウトページ・アド
レス・バッファに保持する。
インページ・アドレス・バッファとL2制御部から受取
ったL2キャッシュ・セットとに基いて。
ったL2キャッシュ・セットとに基いて。
L2ミニディレクトリ更新アドレス・レジスタがセット
される。アドレス/キー制御部は、L3ラインの書込み
に備えて、アウトページ物理アドレスをBSU制御部に
転送する。メモリ制御部は置換されたラインの状況を受
取る。キャストアウトが必要なので、メモリ更新が完了
するまでメモリ制御部26EはL3資源を解放できない
。キャストアウトは、インページに使用されたものと同
じメモリ・ポートで行われる。メモリ制御部は、このプ
ロセッサに関連するL2ミニディレクトリ更新アドレス
・レジスタを用いてL2ミニディレクトリを更新するた
め、コマンドをアドレス/キー制御部に送る。これでメ
モリ制御部は現オペレーションの完了を示し、要求元プ
ロセッサが再びメモリ資源の争奪に加わるのを許す。置
換されたL2キヤツシユ・ラインが変更されていること
を認識して、BSU制御部はアドレス/キー制御部から
アウトページ・アドレスを受取った後に、フルライン書
込みコマンド及びアドレスをL2キャッシュ・データフ
ロ一部を介して選択されたメモリ・ポートに転送するこ
とにより、キャストアウトを開始する。データは一時に
16バイトずつアウトページ・バッファからメモリに転
送される。メモリへの最後の4倍ワード転送の後、BS
U制御部はメモリ制御部26Eにオペレーション終了を
知らせる。メモリ制御部はこのオペレーション終了に応
答してL3ポートを解放し、メモリ・ポートへのオーバ
ーラツプ・アクセスを可能にする。
される。アドレス/キー制御部は、L3ラインの書込み
に備えて、アウトページ物理アドレスをBSU制御部に
転送する。メモリ制御部は置換されたラインの状況を受
取る。キャストアウトが必要なので、メモリ更新が完了
するまでメモリ制御部26EはL3資源を解放できない
。キャストアウトは、インページに使用されたものと同
じメモリ・ポートで行われる。メモリ制御部は、このプ
ロセッサに関連するL2ミニディレクトリ更新アドレス
・レジスタを用いてL2ミニディレクトリを更新するた
め、コマンドをアドレス/キー制御部に送る。これでメ
モリ制御部は現オペレーションの完了を示し、要求元プ
ロセッサが再びメモリ資源の争奪に加わるのを許す。置
換されたL2キヤツシユ・ラインが変更されていること
を認識して、BSU制御部はアドレス/キー制御部から
アウトページ・アドレスを受取った後に、フルライン書
込みコマンド及びアドレスをL2キャッシュ・データフ
ロ一部を介して選択されたメモリ・ポートに転送するこ
とにより、キャストアウトを開始する。データは一時に
16バイトずつアウトページ・バッファからメモリに転
送される。メモリへの最後の4倍ワード転送の後、BS
U制御部はメモリ制御部26Eにオペレーション終了を
知らせる。メモリ制御部はこのオペレーション終了に応
答してL3ポートを解放し、メモリ・ポートへのオーバ
ーラツプ・アクセスを可能にする。
1.8 記憶装置記憶、順次、2次L2ライン・アクセ
ス、TLBヒツト、アクセス例外なし (第45〜49
図) 実行ユニットがL1オペランド′・キャッシュに対して
記憶装置順次記憶要求を出す。セット・アソシアティブ
TLB探素の結果、記憶゛要求で与えられた論理アドレ
スに対する絶対アドレスがアクセス例外なしに得られる
。TLBからの絶対アドレスを用いたL1キャッシュ・
デイレクートリの探索により、データがキャッシュにあ
ることがわかると(Llヒツト)、選択されたし1キヤ
ツシユ・セットへの書込みが有効化され、記憶バイト・
フラグの制御のもとに、記憶要求データのダブルワード
内の所望のバイトだけがL1キャッシュ・フングルエン
ス及び選択されたセットに書込まれる。
ス、TLBヒツト、アクセス例外なし (第45〜49
図) 実行ユニットがL1オペランド′・キャッシュに対して
記憶装置順次記憶要求を出す。セット・アソシアティブ
TLB探素の結果、記憶゛要求で与えられた論理アドレ
スに対する絶対アドレスがアクセス例外なしに得られる
。TLBからの絶対アドレスを用いたL1キャッシュ・
デイレクートリの探索により、データがキャッシュにあ
ることがわかると(Llヒツト)、選択されたし1キヤ
ツシユ・セットへの書込みが有効化され、記憶バイト・
フラグの制御のもとに、記憶要求データのダブルワード
内の所望のバイトだけがL1キャッシュ・フングルエン
ス及び選択されたセットに書込まれる。
TLBからの絶対アドレスと一致しないため、ディレク
トリ探索でL1キャッシュ・ミスが生じると、L1キャ
ッシュの書込みはキャンセルされる。
トリ探索でL1キャッシュ・ミスが生じると、L1キャ
ッシュの書込みはキャンセルされる。
何れの場合も、記憶要求はL1記憶待ち行列にエンキュ
ーされる。待ち行列エントリ情報は、絶対アドレス、デ
ータ、記憶バイト・フラグ及び記憶要求タイプ(非順次
記憶、順次記憶、オペレーション終了)から成っている
。LIEP及びLITPが等しく且つLL/L2インタ
フェースが使用可能であれば、記憶要求は直ちにL2に
転送される。さもなければ、LL/L2インタフェース
が使用可能な時にLITPが当該エントリを選択するま
で、L2への転送は遅らされる。現命令に続く先取りさ
れた命令は、記憶要求による変更について、論理アドレ
スの比較によって検査される。
ーされる。待ち行列エントリ情報は、絶対アドレス、デ
ータ、記憶バイト・フラグ及び記憶要求タイプ(非順次
記憶、順次記憶、オペレーション終了)から成っている
。LIEP及びLITPが等しく且つLL/L2インタ
フェースが使用可能であれば、記憶要求は直ちにL2に
転送される。さもなければ、LL/L2インタフェース
が使用可能な時にLITPが当該エントリを選択するま
で、L2への転送は遅らされる。現命令に続く先取りさ
れた命令は、記憶要求による変更について、論理アドレ
スの比較によって検査される。
もし一致が生じると、命令バッファは無効化される。L
21制御部26Kが記憶要求を受取る。初期順次記憶要
求がサービスされていて順次オペレーションが進行中で
あれば、この記憶要求及び後続の記憶要求に対して特別
の考慮が払われる。L2記憶待ち行列が空であれば、こ
の要求は要求元プロセッサ専用の特別の順次記憶オペレ
ージJン・シーケンサによって直ちにサービスされる。
21制御部26Kが記憶要求を受取る。初期順次記憶要
求がサービスされていて順次オペレーションが進行中で
あれば、この記憶要求及び後続の記憶要求に対して特別
の考慮が払われる。L2記憶待ち行列が空であれば、こ
の要求は要求元プロセッサ専用の特別の順次記憶オペレ
ージJン・シーケンサによって直ちにサービスされる。
このプロセッサに関するL2記憶待ち行列が空でなけれ
ば、このプロセッサから前に出されたすべての記憶要求
がL2キャッシュ書込みバッファで完了するまで、この
要求は記憶待ち行列で待っていなければならない。何れ
の場合も、要求元プロセッサのためのL2記憶待ち行列
にエントリが作成される。L2記憶待ち行列は物理的に
制御部及びデータ部に分けられる。絶対アドレス及び記
憶要求タイプはL2制御部26Kに維持される。関連す
るデータ及び記憶バイト・フラグはL2キャッシュ・デ
ータフロ一部にエンキューされる。L2制御部26には
、このプロセッサについて順次オペレージ3ンが進行中
であることを認識すると、絶対アドレス・ビット24.
25.27及び28とこのプロセッサに関する前の順次
記憶要求の対応する絶対アドレス・ビットとを比較する
。この比較で絶対アドレス・ビットの一致が生じる。こ
れは、記憶要求が同じL2キャッシュ・ラインに対する
ものであることを示す。かくて、L2キャッシュ及びそ
のディレクトリはデキューには関与しないので、L2キ
ャッシュ・ラインが現在L2キャッシュにあるか否かに
は関係なく、この記憶待ち行列要求のサービスが可能で
ある。記憶待ち行列要求がサービスされ、このプロセッ
サに関するL2記憶待ち行列から要求がデキューされる
。絶対アドレス・ビット25が1であれば、現ライン保
持レジスタの下位半ライン修飾子が1にセットされ、こ
の半ラインが変更されることを示す。L2制御部は、今
回の順次記憶要求及び前の記憶要求のアドレス・ビット
27及び28の違いに基いて、このプロセッサに対して
特別に割振られたインタフェースに3つのコマンドのう
ちの1つを出す。違いが′00′であれば、アドレス増
分なしの反復を指定するコマンドが出され、′01′で
あれば、反復及び8だけの増分を指定するコマンドが出
され、10′であれば、反復及び16だけの増分を指定
するコマンドが出される。記憶待ち行列要求の絶対アド
レス・ビット24.25.27及び28は順次記憶ルー
チンにおける将来の参照に備えて保管され、後続のサイ
クルで次のエントリがサービスされるように記憶待ち行
列エントリはデキューされる。L22制御26にはアド
レス/キー又はメモリ制御部26Eにどのような情報も
送らない、L2キャッシュ制御部は、このプロセッサに
関する最後に供給されたL2キャッシュ・コングルエン
ス及びL22制御26Kにより指定されたアドレス合せ
に基いて、L2記憶待ち行列から最も古いエントリをデ
キューするため、コマンドをL2データフロ一部に送る
。データ及び記憶バイト・フラグがアドレス合せされて
要求元プロセッサに関するL2キャッシュ書込みバッフ
ァに書込まれる。順次記憶オペレーションのこの部分に
ついては、キャッシュ・セットは不要であるが、記憶待
ち行列データは非順次記憶要求の時と同様にしてパイプ
ライン・ステージにより強制的にL2キャッシュ書込み
バッファに移される。
ば、このプロセッサから前に出されたすべての記憶要求
がL2キャッシュ書込みバッファで完了するまで、この
要求は記憶待ち行列で待っていなければならない。何れ
の場合も、要求元プロセッサのためのL2記憶待ち行列
にエントリが作成される。L2記憶待ち行列は物理的に
制御部及びデータ部に分けられる。絶対アドレス及び記
憶要求タイプはL2制御部26Kに維持される。関連す
るデータ及び記憶バイト・フラグはL2キャッシュ・デ
ータフロ一部にエンキューされる。L2制御部26には
、このプロセッサについて順次オペレージ3ンが進行中
であることを認識すると、絶対アドレス・ビット24.
25.27及び28とこのプロセッサに関する前の順次
記憶要求の対応する絶対アドレス・ビットとを比較する
。この比較で絶対アドレス・ビットの一致が生じる。こ
れは、記憶要求が同じL2キャッシュ・ラインに対する
ものであることを示す。かくて、L2キャッシュ及びそ
のディレクトリはデキューには関与しないので、L2キ
ャッシュ・ラインが現在L2キャッシュにあるか否かに
は関係なく、この記憶待ち行列要求のサービスが可能で
ある。記憶待ち行列要求がサービスされ、このプロセッ
サに関するL2記憶待ち行列から要求がデキューされる
。絶対アドレス・ビット25が1であれば、現ライン保
持レジスタの下位半ライン修飾子が1にセットされ、こ
の半ラインが変更されることを示す。L2制御部は、今
回の順次記憶要求及び前の記憶要求のアドレス・ビット
27及び28の違いに基いて、このプロセッサに対して
特別に割振られたインタフェースに3つのコマンドのう
ちの1つを出す。違いが′00′であれば、アドレス増
分なしの反復を指定するコマンドが出され、′01′で
あれば、反復及び8だけの増分を指定するコマンドが出
され、10′であれば、反復及び16だけの増分を指定
するコマンドが出される。記憶待ち行列要求の絶対アド
レス・ビット24.25.27及び28は順次記憶ルー
チンにおける将来の参照に備えて保管され、後続のサイ
クルで次のエントリがサービスされるように記憶待ち行
列エントリはデキューされる。L22制御26にはアド
レス/キー又はメモリ制御部26Eにどのような情報も
送らない、L2キャッシュ制御部は、このプロセッサに
関する最後に供給されたL2キャッシュ・コングルエン
ス及びL22制御26Kにより指定されたアドレス合せ
に基いて、L2記憶待ち行列から最も古いエントリをデ
キューするため、コマンドをL2データフロ一部に送る
。データ及び記憶バイト・フラグがアドレス合せされて
要求元プロセッサに関するL2キャッシュ書込みバッフ
ァに書込まれる。順次記憶オペレーションのこの部分に
ついては、キャッシュ・セットは不要であるが、記憶待
ち行列データは非順次記憶要求の時と同様にしてパイプ
ライン・ステージにより強制的にL2キャッシュ書込み
バッファに移される。
データ記憶待ち行列エントリは、データがL2キャッシ
ュ書込みバッファに書込まれる時に、L2記憶待ち行列
からデキューされるが、L1記憶待ち行列からはデキュ
ーされない。
ュ書込みバッファに書込まれる時に、L2記憶待ち行列
からデキューされるが、L1記憶待ち行列からはデキュ
ーされない。
1.9 記憶装置記憶、順次、完了ルーチン、L2キ
ャッシュ・ヒツト 順次記憶完了ルーチンはL22制御によって生成される
一連のコマンドから成り、L2キャッシュ書込みバッフ
ァからL2キャッシュへの書込みを行わせる。これは通
常、順次記憶を実行した命令に関するオペレーション終
了標識の受取りによって開始される。オペレーション終
了は順次オペレーションの最後の順次記憶要求と関連づ
けることができ、またこのプロセッサに関する別のオペ
レーション終了記憶装置コマンドとして後で転送されて
もよい。何れの場合も、順次記憶オペレーションについ
て一旦し2制御部26Kにより検出されると、このプロ
セッサ用の順次オペレーション・シーケンサが完了ルー
チンを開始する。順次オペレーション・シーケンサは代
替プロセッサのロックについてすべての活動ライン保持
を検査し。
ャッシュ・ヒツト 順次記憶完了ルーチンはL22制御によって生成される
一連のコマンドから成り、L2キャッシュ書込みバッフ
ァからL2キャッシュへの書込みを行わせる。これは通
常、順次記憶を実行した命令に関するオペレーション終
了標識の受取りによって開始される。オペレーション終
了は順次オペレーションの最後の順次記憶要求と関連づ
けることができ、またこのプロセッサに関する別のオペ
レーション終了記憶装置コマンドとして後で転送されて
もよい。何れの場合も、順次記憶オペレーションについ
て一旦し2制御部26Kにより検出されると、このプロ
セッサ用の順次オペレーション・シーケンサが完了ルー
チンを開始する。順次オペレーション・シーケンサは代
替プロセッサのロックについてすべての活動ライン保持
を検査し。
要求されたすべてのL2キャッシュ・ラインがキャッシ
ュにあることを確かめる。何らかのロック競合が存在す
るか、又は順次記憶オペレーションに関してL2キャッ
シュ・ミスが未解決であれば。
ュにあることを確かめる。何らかのロック競合が存在す
るか、又は順次記憶オペレーションに関してL2キャッ
シュ・ミスが未解決であれば。
順次オペレーション完了ルーチンは保留状態におかれる
。ロック競合が存在せず且つ要求されたラインがL2キ
ャッシュにあれば、順次オペレーション完了ルーチンは
L2キャッシュ・アービタによる選択が可能である。L
2キャッシュ・アービタはサービスのためにこの順次オ
ペレーション完了ルーチンを選択する。活動ライン保持
の数を認識して、L22制御26には、それらのライン
保持レジスタに関連するすべてのL2キャッシュ・ライ
ン書込みを完了するのに必要な数の連続サイクルの間、
L2キャッシュをこの要求専用に維持する。このルーチ
ンは、L2キャッシュ書込みバッファからL2キャッシ
ュへの書込みを行わせる連続的なコマンドで、L2キャ
ッシュ書込みバッファのすべての有効な内容をL2キャ
ッシュに書込むことにより、順次オペレーションを終ら
せる。
。ロック競合が存在せず且つ要求されたラインがL2キ
ャッシュにあれば、順次オペレーション完了ルーチンは
L2キャッシュ・アービタによる選択が可能である。L
2キャッシュ・アービタはサービスのためにこの順次オ
ペレーション完了ルーチンを選択する。活動ライン保持
の数を認識して、L22制御26には、それらのライン
保持レジスタに関連するすべてのL2キャッシュ・ライ
ン書込みを完了するのに必要な数の連続サイクルの間、
L2キャッシュをこの要求専用に維持する。このルーチ
ンは、L2キャッシュ書込みバッファからL2キャッシ
ュへの書込みを行わせる連続的なコマンドで、L2キャ
ッシュ書込みバッファのすべての有効な内容をL2キャ
ッシュに書込むことにより、順次オペレーションを終ら
せる。
順次記憶オペレーションに関連する有効なライン保持レ
ジスタの数に応じて、次のシーケンスが3回まで実行さ
れる。
ジスタの数に応じて、次のシーケンスが3回まで実行さ
れる。
L22制御26KがL2キャッシュ書込みバッファから
L2キャッシュへの書込みを指定する1つのコマンド及
びライン保持レジスタから取られたL2キャッシュ・コ
ングルエンスをL2キャッシュ制御部に転送し、L2キ
ャッシュ記憶コマンドをメモリ制御部に転送する。L2
キャッシュ・ディレクトリの探索でL2キャッシュ・ヒ
ツトが生じた時、次の2つのケースのうちの何れかが生
じる。
L2キャッシュへの書込みを指定する1つのコマンド及
びライン保持レジスタから取られたL2キャッシュ・コ
ングルエンスをL2キャッシュ制御部に転送し、L2キ
ャッシュ記憶コマンドをメモリ制御部に転送する。L2
キャッシュ・ディレクトリの探索でL2キャッシュ・ヒ
ツトが生じた時、次の2つのケースのうちの何れかが生
じる。
ケースI
L2キャッシュ・ディレクトリの探索でL2キャッシュ
・ヒツトが検出されたが、ライン保持レジスタに関連す
る訂正不能記憶装置エラー標識が活動状態にある。この
状況は、順次記憶要求によるL2キャッシュ・インペー
ジについて訂正不能記憶装置エラーが報告された後に、
プロセッサに関して生じる。L2キャッシュ・ラインは
無効表示される。絶対アドレスが参照/変更ビット・セ
ット・コマンドと共にアドレス/キー制御部に転送され
る。L2キャッシュ・ライン状況及びキャッシュ・セッ
トがL2キャッシュ制御部に転送され、キャッシュ・セ
ット修飾子がL2キャッシュに転送され、L2キャッシ
ュ・ライン状況がメモリ制御部に転送される。順次記憶
オペレーションのこのL2キャッシュ・ラインに関連す
るライン保持レジスタがクリアされ、対応する訂正不能
記憶装置エラー標識がリセットされる。要求元プロセッ
サのL1オペランド・キャッシュの状況を除くすべての
L1状況アレイが、関連するライン保持レジスタからの
半ライン修飾子の制御のもとに、変更されたL2キャッ
シュ半ラインの写しについて探索される。L1状況アレ
イは下位L2キャッシュ・コングルエンスを用いてアド
レスされ、その出力とL2キャッシュ・セット及び上位
コングルエンスとが比較される。要求元プロセッサのL
1命令キャッシュ状況アレイで一致が生じると、必要な
エントリがクリアされ、アドレス・バス要求がLlによ
って許可された後で、L1命令キャッシュの写しの局所
無効化のためにL1キャッシュ・コングルエンス及びL
1キャッシュ6セツトが要求元プロセッサに転送される
0代替プロセッサのL1状況アレイの何れかで一致が生
じると、必要なエントリがL1状況でクリアされ、アド
レス・バス要求が当該L1によって許可された後で、L
1キャッシュの写しの相互無効化のために、L1キャッ
シュ・コングルエンス及びL1キャッシュ・セット(L
lオペランド・キャッシュ用に2つ、L1命令キャッシ
ュ用に2つ)が同時に必要な代替プロセッサに転送され
る。要求されたアドレス・インタフェースの許可が所定
数のサイクル内に与えられることをLlが保証するので
、L2記憶アクセスは局所無効化又は相互無効化の要求
による影響を受けない。完了ルーチンにおけるL2キャ
ッシュ書込みバッファからL2キャッシュへの書込みを
指定する最後のコマンドで順次記憶に関連するすべての
エントリを除去するために。
・ヒツトが検出されたが、ライン保持レジスタに関連す
る訂正不能記憶装置エラー標識が活動状態にある。この
状況は、順次記憶要求によるL2キャッシュ・インペー
ジについて訂正不能記憶装置エラーが報告された後に、
プロセッサに関して生じる。L2キャッシュ・ラインは
無効表示される。絶対アドレスが参照/変更ビット・セ
ット・コマンドと共にアドレス/キー制御部に転送され
る。L2キャッシュ・ライン状況及びキャッシュ・セッ
トがL2キャッシュ制御部に転送され、キャッシュ・セ
ット修飾子がL2キャッシュに転送され、L2キャッシ
ュ・ライン状況がメモリ制御部に転送される。順次記憶
オペレーションのこのL2キャッシュ・ラインに関連す
るライン保持レジスタがクリアされ、対応する訂正不能
記憶装置エラー標識がリセットされる。要求元プロセッ
サのL1オペランド・キャッシュの状況を除くすべての
L1状況アレイが、関連するライン保持レジスタからの
半ライン修飾子の制御のもとに、変更されたL2キャッ
シュ半ラインの写しについて探索される。L1状況アレ
イは下位L2キャッシュ・コングルエンスを用いてアド
レスされ、その出力とL2キャッシュ・セット及び上位
コングルエンスとが比較される。要求元プロセッサのL
1命令キャッシュ状況アレイで一致が生じると、必要な
エントリがクリアされ、アドレス・バス要求がLlによ
って許可された後で、L1命令キャッシュの写しの局所
無効化のためにL1キャッシュ・コングルエンス及びL
1キャッシュ6セツトが要求元プロセッサに転送される
0代替プロセッサのL1状況アレイの何れかで一致が生
じると、必要なエントリがL1状況でクリアされ、アド
レス・バス要求が当該L1によって許可された後で、L
1キャッシュの写しの相互無効化のために、L1キャッ
シュ・コングルエンス及びL1キャッシュ・セット(L
lオペランド・キャッシュ用に2つ、L1命令キャッシ
ュ用に2つ)が同時に必要な代替プロセッサに転送され
る。要求されたアドレス・インタフェースの許可が所定
数のサイクル内に与えられることをLlが保証するので
、L2記憶アクセスは局所無効化又は相互無効化の要求
による影響を受けない。完了ルーチンにおけるL2キャ
ッシュ書込みバッファからL2キャッシュへの書込みを
指定する最後のコマンドで順次記憶に関連するすべての
エントリを除去するために。
L2制御部26には命令完了信号を要求元プロセッサの
L1キャッシュに送る。これは、L2キャッシュへのす
べての関連する記憶が完了したことを示す。L1記憶待
ち行列からのデキュー及びL2キャッシュ書込みバッフ
ァの解放は、L2キャッシュの最後の更新と同時に行わ
れる。L2キャッシュ制御部はL2キャッシュ書込みバ
ッファからL2キャッシュへの書込みを指定するコマン
ド及びL2キャッシュ・コングルエンスを受取り、L2
キャッシュのアクセスを開始する。L2キャッシュ制御
部は、要求されたL2キャッシュ書込みバッファの内容
をL2キャッシュに書込むために、コマンドをL2デー
タフロ一部に送る。L2ヒツト及び非ロックというL2
キャッシュ・ライン状況を受取ると、L2キャッシュ制
御部はL2キャッシュ・セットを用いてL2キャッシュ
への記憶を制御し、アドレス・ビット25及び26を操
作してフルラインの書込みを行おせる。書込みは、L2
キャッシュ書込みバッファの記憶バイト・フラグの制御
のもとに、2サイクルで行われる。
L1キャッシュに送る。これは、L2キャッシュへのす
べての関連する記憶が完了したことを示す。L1記憶待
ち行列からのデキュー及びL2キャッシュ書込みバッフ
ァの解放は、L2キャッシュの最後の更新と同時に行わ
れる。L2キャッシュ制御部はL2キャッシュ書込みバ
ッファからL2キャッシュへの書込みを指定するコマン
ド及びL2キャッシュ・コングルエンスを受取り、L2
キャッシュのアクセスを開始する。L2キャッシュ制御
部は、要求されたL2キャッシュ書込みバッファの内容
をL2キャッシュに書込むために、コマンドをL2デー
タフロ一部に送る。L2ヒツト及び非ロックというL2
キャッシュ・ライン状況を受取ると、L2キャッシュ制
御部はL2キャッシュ・セットを用いてL2キャッシュ
への記憶を制御し、アドレス・ビット25及び26を操
作してフルラインの書込みを行おせる。書込みは、L2
キャッシュ書込みバッファの記憶バイト・フラグの制御
のもとに、2サイクルで行われる。
最初のサイクルでは、4倍ワード0及び1(32バイト
)が更新され1次のサイクルでは、L2キャッシュ・ラ
インの残りの4倍ワード(96バイト)が更新される。
)が更新され1次のサイクルでは、L2キャッシュ・ラ
インの残りの4倍ワード(96バイト)が更新される。
メモリ制御部はL2コマンド及びL3ポート識別子を受
取る。L2ヒツト及び非ロックというL2キャッシュ・
ライン状況を受取ると、要求は落とされる。アドレス/
キー制御部は参照ビット及び変更ビットの更新のため絶
対アドレスを受取る。記憶要求により更新されたL2キ
ャッシュ・ラインを含む4KBのページについての参照
ビット及び変更ビットが1にセットされる。
取る。L2ヒツト及び非ロックというL2キャッシュ・
ライン状況を受取ると、要求は落とされる。アドレス/
キー制御部は参照ビット及び変更ビットの更新のため絶
対アドレスを受取る。記憶要求により更新されたL2キ
ャッシュ・ラインを含む4KBのページについての参照
ビット及び変更ビットが1にセットされる。
ケース2
L2キャッシュ・ディレクトリの探索でL2キャッシュ
・ヒツトが検出され、L2キャッシュ・ラインが変更表
示を受ける。参照/変更ビット・セット・コマンドと共
に絶対アドレスがアドレス/キー制御部に転送される。
・ヒツトが検出され、L2キャッシュ・ラインが変更表
示を受ける。参照/変更ビット・セット・コマンドと共
に絶対アドレスがアドレス/キー制御部に転送される。
L2キャッシュ・ライン状況及びキャッシュ・セットが
L2キャッシュ制御部に転送され、キャッシュ・セット
修飾子がL2キャッシュに転送され、L2キャッシュ・
ライン状況がメモリ制御部26Eに転送される。
L2キャッシュ制御部に転送され、キャッシュ・セット
修飾子がL2キャッシュに転送され、L2キャッシュ・
ライン状況がメモリ制御部26Eに転送される。
順次記憶オペレーションのこのL2キャッシュ・ライン
に関連するライン保持レジスタがクリアされる。関連す
るライン保持レジスタからの半ライン修飾子の制御のも
とに、変更されたL2キャッシュ半ラインの写しについ
て、要求元プロセッサのL1オペランド・キャッシュ状
況を除くすべてのL1状況アレイが探索される。L1状
況アレイは下位L2キャッシュ・コングルエンスを用い
てアドレスされ、その出力とL2キャッシュ・セット及
び上位コングルエンスとが比較される。要求元プロセッ
サのL1命令キャッシュ状況アレイで−Mが検出される
と、必要なエントリがクリアされ、アドレス・バス要求
がLlによって許可された後で、L1キャッシュの写し
の局所無効化のために、L1キャッシュ・コングルエン
ス及びL1キャッシュ・セットが要求元プロセッサに転
送される。何れかの代替プロセッサのL1状況アレイで
一致が検出されると、必要なエントリがL1状況でクリ
アされ、アドレス・バス要求がLlによって許可された
後で、L1キャッシュの写しの相互無効化のために、L
1キャッシュ・コングルエンス及びL1キャッシュ・セ
ット(Llキャッシュ・オペランド用に2つ、L1命令
キャッシュ用に2つ)が要求された代替プロセッサへ同
時に転送される。要求されたアドレス・インタフェース
が所定数のサイ、クル内に許可されることをLlが保証
するので、L2記憶アクセスは局所無効化又は相互無効
化の要求による影響を受けない。L2制御部26には、
完了ルーチンにおけるL2キャッシュ書込みバッファか
らL2キャッシュへの書込みを指定する最後のコマンド
で順次記憶に関連するすべてのエントリを除去するため
に、命令完゛了信号を要求元プロセッサのL1キャッシ
ュに送る。これはL2キャッシュへのすべての関連する
記憶が完了したことを示す。L1記憶待ち行列からのデ
キュー及びL2キャッシュ書込みバッファの解放は、L
2キャッシュにおける最後の更新と同時に行われる。L
2キャッシュ書込みバッファからL2キャッシュへの書
込みを指定するコマンド及びL2キャッシュ・コングル
エンスを受取り、L2キャッシュのアクセスを開始する
。L2キャッシュ制御部は、要求されたL2キャッシュ
書込みバッファの内容をL2キャッシュに書込むために
、コマンドをL2データフロ一部に送る。L2ヒツト及
び非ロックというL2キャッシュ・ライン状況を受取る
と、L2キャッシュ制御部はL2キャッシュ・セットを
用いてL2キャッシュへの記憶を制御し、アドレス・ビ
ット25及び26を操作してフルラインの書込みを行わ
せる。書込みは、L2キャッシュ書込みバッファの制御
のもとに、2サイクルで行われる。最初のサイクルでは
、4倍ワードO及び1(32バイト)が更新され。
に関連するライン保持レジスタがクリアされる。関連す
るライン保持レジスタからの半ライン修飾子の制御のも
とに、変更されたL2キャッシュ半ラインの写しについ
て、要求元プロセッサのL1オペランド・キャッシュ状
況を除くすべてのL1状況アレイが探索される。L1状
況アレイは下位L2キャッシュ・コングルエンスを用い
てアドレスされ、その出力とL2キャッシュ・セット及
び上位コングルエンスとが比較される。要求元プロセッ
サのL1命令キャッシュ状況アレイで−Mが検出される
と、必要なエントリがクリアされ、アドレス・バス要求
がLlによって許可された後で、L1キャッシュの写し
の局所無効化のために、L1キャッシュ・コングルエン
ス及びL1キャッシュ・セットが要求元プロセッサに転
送される。何れかの代替プロセッサのL1状況アレイで
一致が検出されると、必要なエントリがL1状況でクリ
アされ、アドレス・バス要求がLlによって許可された
後で、L1キャッシュの写しの相互無効化のために、L
1キャッシュ・コングルエンス及びL1キャッシュ・セ
ット(Llキャッシュ・オペランド用に2つ、L1命令
キャッシュ用に2つ)が要求された代替プロセッサへ同
時に転送される。要求されたアドレス・インタフェース
が所定数のサイ、クル内に許可されることをLlが保証
するので、L2記憶アクセスは局所無効化又は相互無効
化の要求による影響を受けない。L2制御部26には、
完了ルーチンにおけるL2キャッシュ書込みバッファか
らL2キャッシュへの書込みを指定する最後のコマンド
で順次記憶に関連するすべてのエントリを除去するため
に、命令完゛了信号を要求元プロセッサのL1キャッシ
ュに送る。これはL2キャッシュへのすべての関連する
記憶が完了したことを示す。L1記憶待ち行列からのデ
キュー及びL2キャッシュ書込みバッファの解放は、L
2キャッシュにおける最後の更新と同時に行われる。L
2キャッシュ書込みバッファからL2キャッシュへの書
込みを指定するコマンド及びL2キャッシュ・コングル
エンスを受取り、L2キャッシュのアクセスを開始する
。L2キャッシュ制御部は、要求されたL2キャッシュ
書込みバッファの内容をL2キャッシュに書込むために
、コマンドをL2データフロ一部に送る。L2ヒツト及
び非ロックというL2キャッシュ・ライン状況を受取る
と、L2キャッシュ制御部はL2キャッシュ・セットを
用いてL2キャッシュへの記憶を制御し、アドレス・ビ
ット25及び26を操作してフルラインの書込みを行わ
せる。書込みは、L2キャッシュ書込みバッファの制御
のもとに、2サイクルで行われる。最初のサイクルでは
、4倍ワードO及び1(32バイト)が更新され。
次のサイクルでは、L2キャッシュ・ラインの残りの4
倍ワード(96バイト)が更新される。メモリ制御部は
L2コマンド及びL3ポート識別子を受取る。L2ヒツ
ト及び非ロックというL2キャッシュ・ライン状況を受
取ると、要求は落とされる。アドレス/キー制御部は参
照ビット及び変更ビットの更新のために絶対アドレスを
受取る。
倍ワード(96バイト)が更新される。メモリ制御部は
L2コマンド及びL3ポート識別子を受取る。L2ヒツ
ト及び非ロックというL2キャッシュ・ライン状況を受
取ると、要求は落とされる。アドレス/キー制御部は参
照ビット及び変更ビットの更新のために絶対アドレスを
受取る。
記憶要求により更新されたL2キャッシュ・ラインを含
む4KBのページについての参照ビット及び変更ビット
が1にセットされる。
む4KBのページについての参照ビット及び変更ビット
が1にセットされる。
E1発明の効果
本発明によれば、L2キャッシュ・レベルにおけるプロ
セッサ間の干渉が最小限に抑えられ、計算機システムの
パフォーマンスが改善される。
セッサ間の干渉が最小限に抑えられ、計算機システムの
パフォーマンスが改善される。
第1図は第1A図乃至第1C図のつながりを示す図。
第1A図乃至第1C図はL2キャッシュ/バス切替えユ
ニット(B S U)の詳細を示すブロック図。 第2図は単一プロセッサ計算機システムの構成を示すブ
ロック図。 第3図は多重プロセッサ計算機システムの構成を示すブ
ロック図。 ゛ 第4図はI/Dキャッシュ(LLキャッシュ)、
■ユニット、Eユニット及び制御記憶(CS)の詳細を
示すブロック図。 第5図は第2図と類似の構成を示すブロック図。 第6図は記憶サブシステムの詳細を示すブロック図。 第7図はL1記憶待ち行列の構成を示すブロック図。 第8図はL1記憶待ち行列に接続されるL1フィールド
・アドレス・レジスタを示すブロック図。 第9図はL2記憶待ち行列の構成を示すブロック図。 第10図はL2記憶待ち行列に接続されるL2ライン保
持レジスタ及び書込みバッファを示すブロック図。 第11図乃至第49図は第2図の計算機システムにおけ
る種々の記憶ルーチンのタイミングを示す図。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 頓 宮 孝 −(外1名) 第7図 第9図 プ0セlJサ I−−−t=−1−−
−2−−−1−−−1−−−I−−−a−−−IL3メ
モリ l l
l l l第11図 コ 12図 1四す19ヱ l−12−−−1
−13−−−1−14−−−合金レグフ々
I I +L3メそり
l l 1第15
図 ′fI″I ← −停
1−−−1ウー−1−−−111−−1−−−
IA−−IL3メモリ I
1 1 1第in! 21図 第25図 プロセッサ 1−−−21−1−−−
24−1−−−1曳−1−−−!f1−1零零Ll千ヤ
ツツユの与しかソスプム円に仔仕する場せにのろ叉1丁
。 第35図 プロセッサ 1−−−4F+−1−−
−48−1−−−47−L3メモリ
1 1 1第49図
ニット(B S U)の詳細を示すブロック図。 第2図は単一プロセッサ計算機システムの構成を示すブ
ロック図。 第3図は多重プロセッサ計算機システムの構成を示すブ
ロック図。 ゛ 第4図はI/Dキャッシュ(LLキャッシュ)、
■ユニット、Eユニット及び制御記憶(CS)の詳細を
示すブロック図。 第5図は第2図と類似の構成を示すブロック図。 第6図は記憶サブシステムの詳細を示すブロック図。 第7図はL1記憶待ち行列の構成を示すブロック図。 第8図はL1記憶待ち行列に接続されるL1フィールド
・アドレス・レジスタを示すブロック図。 第9図はL2記憶待ち行列の構成を示すブロック図。 第10図はL2記憶待ち行列に接続されるL2ライン保
持レジスタ及び書込みバッファを示すブロック図。 第11図乃至第49図は第2図の計算機システムにおけ
る種々の記憶ルーチンのタイミングを示す図。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 頓 宮 孝 −(外1名) 第7図 第9図 プ0セlJサ I−−−t=−1−−
−2−−−1−−−1−−−I−−−a−−−IL3メ
モリ l l
l l l第11図 コ 12図 1四す19ヱ l−12−−−1
−13−−−1−14−−−合金レグフ々
I I +L3メそり
l l 1第15
図 ′fI″I ← −停
1−−−1ウー−1−−−111−−1−−−
IA−−IL3メモリ I
1 1 1第in! 21図 第25図 プロセッサ 1−−−21−1−−−
24−1−−−1曳−1−−−!f1−1零零Ll千ヤ
ツツユの与しかソスプム円に仔仕する場せにのろ叉1丁
。 第35図 プロセッサ 1−−−4F+−1−−
−48−1−−−47−L3メモリ
1 1 1第49図
Claims (1)
- 【特許請求の範囲】 複数のプロセッサを含む多重プロセッサ計算機システ
ムのための記憶サブシステムであって、各プロセッサに
接続された第1レベル・キャッシュと、 各第1レベル・キャッシュに接続され、前記複数のプロ
セッサによって共用される第2レベル・キャッシュと、 前記第2レベル・キャッシュに接続された第3レベル・
メモリと、 各プロセッサに対応して設けられ、対応するプロセッサ
から第1レベル・キャッシュに向うデータ又は命令を受
け取って待合せさせる第1レベル記憶待ち行列と、 各第1レベル記憶待ち行列に対応して設けられ、対応す
る第1記憶待ち行列の出力と前記第2レベル・キャッシ
ュの入力との間に接続されて、前記データ又は命令を前
記第2レベル・キャッシュに記憶させる前に対応する第
1記憶待ち行列から前記データ又は命令を受取って待合
せさせる第2レベル記憶待ち行列と、 を具備することを特徴とする、多重プロセッサ計算機シ
ステムのための記憶サブシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/159,016 US5023776A (en) | 1988-02-22 | 1988-02-22 | Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage |
US159016 | 1988-02-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01246655A true JPH01246655A (ja) | 1989-10-02 |
JPH0648479B2 JPH0648479B2 (ja) | 1994-06-22 |
Family
ID=22570714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1038528A Expired - Lifetime JPH0648479B2 (ja) | 1988-02-22 | 1989-02-20 | 多重プロセッサ計算機システムのための記憶サブシステム |
Country Status (6)
Country | Link |
---|---|
US (1) | US5023776A (ja) |
EP (1) | EP0329942B1 (ja) |
JP (1) | JPH0648479B2 (ja) |
BR (1) | BR8900552A (ja) |
CA (1) | CA1315896C (ja) |
DE (1) | DE68922326T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006048182A (ja) * | 2004-07-30 | 2006-02-16 | Fujitsu Ltd | 記憶制御装置、ムーブインバッファ制御方法およびプログラム |
Families Citing this family (158)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2714952B2 (ja) * | 1988-04-20 | 1998-02-16 | 株式会社日立製作所 | 計算機システム |
US5371874A (en) * | 1989-01-27 | 1994-12-06 | Digital Equipment Corporation | Write-read/write-pass memory subsystem cycle |
US5214777A (en) * | 1989-03-27 | 1993-05-25 | Ncr Corporation | High speed read/modify/write memory system and method |
US5155832A (en) * | 1989-07-05 | 1992-10-13 | Hewlett-Packard Company | Method to increase performance in a multi-level cache system by the use of forced cache misses |
JPH0340046A (ja) * | 1989-07-06 | 1991-02-20 | Hitachi Ltd | キャッシュメモリ制御方式および情報処理装置 |
US5214765A (en) * | 1989-08-31 | 1993-05-25 | Sun Microsystems, Inc. | Method and apparatus for executing floating point instructions utilizing complimentary floating point pipeline and multi-level caches |
US5230070A (en) * | 1989-09-08 | 1993-07-20 | International Business Machines Corporation | Access authorization table for multi-processor caches |
US5307477A (en) * | 1989-12-01 | 1994-04-26 | Mips Computer Systems, Inc. | Two-level cache memory system |
US5136700A (en) * | 1989-12-22 | 1992-08-04 | Digital Equipment Corporation | Apparatus and method for reducing interference in two-level cache memories |
US5317718A (en) * | 1990-03-27 | 1994-05-31 | Digital Equipment Corporation | Data processing system and method with prefetch buffers |
US5197139A (en) * | 1990-04-05 | 1993-03-23 | International Business Machines Corporation | Cache management for multi-processor systems utilizing bulk cross-invalidate |
EP0461926B1 (en) * | 1990-06-15 | 1998-09-02 | Compaq Computer Corporation | Multilevel inclusion in multilevel cache hierarchies |
ATE119732T1 (de) * | 1990-06-26 | 1995-03-15 | Siemens Ag | Programmgesteuerte kommunikationsanlage. |
US5317708A (en) * | 1990-06-29 | 1994-05-31 | Digital Equipment Corporation | Apparatus and method for an improved content addressable memory |
US5193167A (en) * | 1990-06-29 | 1993-03-09 | Digital Equipment Corporation | Ensuring data integrity by locked-load and conditional-store operations in a multiprocessor system |
EP0470735B1 (en) * | 1990-08-06 | 1999-03-10 | NCR International, Inc. | Computer memory system |
US5530941A (en) * | 1990-08-06 | 1996-06-25 | Ncr Corporation | System and method for prefetching data from a main computer memory into a cache memory |
US5287512A (en) * | 1990-08-06 | 1994-02-15 | Ncr Corporation | Computer memory system and method for cleaning data elements |
US5724548A (en) * | 1990-09-18 | 1998-03-03 | Fujitsu Limited | System including processor and cache memory and method of controlling the cache memory |
CA2043493C (en) * | 1990-10-05 | 1997-04-01 | Ricky C. Hetherington | Hierarchical integrated circuit cache memory |
JP3144794B2 (ja) * | 1990-11-09 | 2001-03-12 | 株式会社日立製作所 | マルチプロセッサシステム |
US5249282A (en) * | 1990-11-21 | 1993-09-28 | Benchmarq Microelectronics, Inc. | Integrated cache memory system with primary and secondary cache memories |
US5276835A (en) * | 1990-12-14 | 1994-01-04 | International Business Machines Corporation | Non-blocking serialization for caching data in a shared cache |
US5287473A (en) * | 1990-12-14 | 1994-02-15 | International Business Machines Corporation | Non-blocking serialization for removing data from a shared cache |
JPH04246745A (ja) * | 1991-02-01 | 1992-09-02 | Canon Inc | 情報処理装置及びその方法 |
US5490261A (en) * | 1991-04-03 | 1996-02-06 | International Business Machines Corporation | Interlock for controlling processor ownership of pipelined data for a store in cache |
DE4115152C2 (de) * | 1991-05-08 | 2003-04-24 | Gao Ges Automation Org | Kartenförmiger Datenträger mit einer datenschützenden Mikroprozessorschaltung |
US5265233A (en) * | 1991-05-17 | 1993-11-23 | Sun Microsystems, Inc. | Method and apparatus for providing total and partial store ordering for a memory in multi-processor system |
US5440752A (en) * | 1991-07-08 | 1995-08-08 | Seiko Epson Corporation | Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU |
US5361368A (en) * | 1991-09-05 | 1994-11-01 | International Business Machines Corporation | Cross interrogate synchronization mechanism including logic means and delay register |
US5530835A (en) * | 1991-09-18 | 1996-06-25 | Ncr Corporation | Computer memory data merging technique for computers with write-back caches |
US5423016A (en) * | 1992-02-24 | 1995-06-06 | Unisys Corporation | Block buffer for instruction/operand caches |
US5485592A (en) * | 1992-04-07 | 1996-01-16 | Video Technology Computers, Ltd. | Write back cache controller method and apparatus for use in a system having a CPU with internal cache memory |
JP2788836B2 (ja) * | 1992-05-15 | 1998-08-20 | インターナショナル・ビジネス・マシーンズ・コーポレイション | ディジタルコンピュータシステム |
US5450561A (en) * | 1992-07-29 | 1995-09-12 | Bull Hn Information Systems Inc. | Cache miss prediction method and apparatus for use with a paged main memory in a data processing system |
US6735685B1 (en) * | 1992-09-29 | 2004-05-11 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
US5455942A (en) * | 1992-10-01 | 1995-10-03 | International Business Machines Corporation | Partial page write detection for a shared cache using a bit pattern written at the beginning and end of each page |
WO1994011828A2 (en) * | 1992-11-09 | 1994-05-26 | Ast Research, Inc. | Write buffer with full rank byte gathering |
US5367701A (en) * | 1992-12-21 | 1994-11-22 | Amdahl Corporation | Partitionable data processing system maintaining access to all main storage units after being partitioned |
US5375223A (en) * | 1993-01-07 | 1994-12-20 | International Business Machines Corporation | Single register arbiter circuit |
CA2107056C (en) * | 1993-01-08 | 1998-06-23 | James Allan Kahle | Method and system for increased system memory concurrency in a multiprocessor computer system |
US5809525A (en) * | 1993-09-17 | 1998-09-15 | International Business Machines Corporation | Multi-level computer cache system providing plural cache controllers associated with memory address ranges and having cache directories |
US5530832A (en) * | 1993-10-14 | 1996-06-25 | International Business Machines Corporation | System and method for practicing essential inclusion in a multiprocessor and cache hierarchy |
US5471598A (en) * | 1993-10-18 | 1995-11-28 | Cyrix Corporation | Data dependency detection and handling in a microprocessor with write buffer |
US6219773B1 (en) | 1993-10-18 | 2001-04-17 | Via-Cyrix, Inc. | System and method of retiring misaligned write operands from a write buffer |
US5740398A (en) * | 1993-10-18 | 1998-04-14 | Cyrix Corporation | Program order sequencing of data in a microprocessor with write buffer |
US5615402A (en) * | 1993-10-18 | 1997-03-25 | Cyrix Corporation | Unified write buffer having information identifying whether the address belongs to a first write operand or a second write operand having an extra wide latch |
US5668985A (en) * | 1994-03-01 | 1997-09-16 | Intel Corporation | Decoder having a split queue system for processing intstructions in a first queue separate from their associated data processed in a second queue |
US5623628A (en) * | 1994-03-02 | 1997-04-22 | Intel Corporation | Computer system and method for maintaining memory consistency in a pipelined, non-blocking caching bus request queue |
US5590309A (en) * | 1994-04-01 | 1996-12-31 | International Business Machines Corporation | Storage protection cache and backing storage having system control element data cache pipeline and storage protection bits in a stack array with a stack directory for the stack array |
US5649092A (en) * | 1994-04-21 | 1997-07-15 | Unisys Corporation | Fault tolerant apparatus and method for maintaining one or more queues that are shared by multiple processors |
US5590304A (en) * | 1994-06-13 | 1996-12-31 | Covex Computer Corporation | Circuits, systems and methods for preventing queue overflow in data processing systems |
US5692152A (en) * | 1994-06-29 | 1997-11-25 | Exponential Technology, Inc. | Master-slave cache system with de-coupled data and tag pipelines and loop-back |
US5644752A (en) * | 1994-06-29 | 1997-07-01 | Exponential Technology, Inc. | Combined store queue for a master-slave cache system |
US5551001A (en) * | 1994-06-29 | 1996-08-27 | Exponential Technology, Inc. | Master-slave cache system for instruction and data cache memories |
JP3277730B2 (ja) * | 1994-11-30 | 2002-04-22 | 株式会社日立製作所 | 半導体メモリ装置、及び、それを用いた情報処理装置 |
JP3132749B2 (ja) * | 1994-12-05 | 2001-02-05 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | マルチプロセッサ・データ処理システム |
US5584013A (en) * | 1994-12-09 | 1996-12-10 | International Business Machines Corporation | Hierarchical cache arrangement wherein the replacement of an LRU entry in a second level cache is prevented when the cache entry is the only inclusive entry in the first level cache |
US5717942A (en) * | 1994-12-27 | 1998-02-10 | Unisys Corporation | Reset for independent partitions within a computer system |
US5603005A (en) * | 1994-12-27 | 1997-02-11 | Unisys Corporation | Cache coherency scheme for XBAR storage structure with delayed invalidates until associated write request is executed |
US5638538A (en) * | 1995-01-13 | 1997-06-10 | Digital Equipment Corporation | Turbotable: apparatus for directing address and commands between multiple consumers on a node coupled to a pipelined system bus |
US5663961A (en) * | 1995-02-24 | 1997-09-02 | Motorola, Inc. | Packet switch with centralized buffering for many output channels |
US5701313A (en) * | 1995-02-24 | 1997-12-23 | Unisys Corporation | Method and apparatus for removing soft errors from a memory |
US5511164A (en) * | 1995-03-01 | 1996-04-23 | Unisys Corporation | Method and apparatus for determining the source and nature of an error within a computer system |
US5752264A (en) * | 1995-03-31 | 1998-05-12 | International Business Machines Corporation | Computer architecture incorporating processor clusters and hierarchical cache memories |
US5666494A (en) * | 1995-03-31 | 1997-09-09 | Samsung Electronics Co., Ltd. | Queue management mechanism which allows entries to be processed in any order |
US5638534A (en) * | 1995-03-31 | 1997-06-10 | Samsung Electronics Co., Ltd. | Memory controller which executes read and write commands out of order |
US5680598A (en) * | 1995-03-31 | 1997-10-21 | International Business Machines Corporation | Millicode extended memory addressing using operand access control register to control extended address concatenation |
US5649155A (en) * | 1995-03-31 | 1997-07-15 | International Business Machines Corporation | Cache memory accessed by continuation requests |
US5767856A (en) * | 1995-08-22 | 1998-06-16 | Rendition, Inc. | Pixel engine pipeline for a 3D graphics accelerator |
US5963981A (en) * | 1995-10-06 | 1999-10-05 | Silicon Graphics, Inc. | System and method for uncached store buffering in a microprocessor |
US5724533A (en) * | 1995-11-17 | 1998-03-03 | Unisys Corporation | High performance instruction data path |
US5680571A (en) * | 1995-12-28 | 1997-10-21 | Unisys Corporation | Multi-processor data processing system with multiple, separate instruction and operand second level caches |
US5875462A (en) * | 1995-12-28 | 1999-02-23 | Unisys Corporation | Multi-processor data processing system with multiple second level caches mapable to all of addressable memory |
US6279077B1 (en) * | 1996-03-22 | 2001-08-21 | Texas Instruments Incorporated | Bus interface buffer control in a microprocessor |
US6317803B1 (en) | 1996-03-29 | 2001-11-13 | Intel Corporation | High-throughput interconnect having pipelined and non-pipelined bus transaction modes |
US5911051A (en) * | 1996-03-29 | 1999-06-08 | Intel Corporation | High-throughput interconnect allowing bus transactions based on partial access requests |
US5829010A (en) * | 1996-05-31 | 1998-10-27 | Sun Microsystems, Inc. | Apparatus and method to efficiently abort and restart a primary memory access |
US5867699A (en) * | 1996-07-25 | 1999-02-02 | Unisys Corporation | Instruction flow control for an instruction processor |
US5835908A (en) * | 1996-11-19 | 1998-11-10 | Microsoft Corporation | Processing multiple database transactions in the same process to reduce process overhead and redundant retrieval from database servers |
US5781182A (en) * | 1996-11-19 | 1998-07-14 | Winbond Electronics Corp. | Line buffer apparatus with an extendible command |
US6000011A (en) * | 1996-12-09 | 1999-12-07 | International Business Machines Corporation | Multi-entry fully associative transition cache |
US6035424A (en) * | 1996-12-09 | 2000-03-07 | International Business Machines Corporation | Method and apparatus for tracking processing of a command |
US5889996A (en) * | 1996-12-16 | 1999-03-30 | Novell Inc. | Accelerator for interpretive environments |
US6279098B1 (en) | 1996-12-16 | 2001-08-21 | Unisys Corporation | Method of and apparatus for serial dynamic system partitioning |
US5960455A (en) * | 1996-12-30 | 1999-09-28 | Unisys Corporation | Scalable cross bar type storage controller |
US5875201A (en) * | 1996-12-30 | 1999-02-23 | Unisys Corporation | Second level cache having instruction cache parity error control |
US6122711A (en) | 1997-01-07 | 2000-09-19 | Unisys Corporation | Method of and apparatus for store-in second level cache flush |
US5970253A (en) * | 1997-01-09 | 1999-10-19 | Unisys Corporation | Priority logic for selecting and stacking data |
US5822766A (en) * | 1997-01-09 | 1998-10-13 | Unisys Corporation | Main memory interface for high speed data transfer |
US5922057A (en) * | 1997-01-10 | 1999-07-13 | Lsi Logic Corporation | Method for multiprocessor system of controlling a dynamically expandable shared queue in which ownership of a queue entry by a processor is indicated by a semaphore |
US6341301B1 (en) | 1997-01-10 | 2002-01-22 | Lsi Logic Corporation | Exclusive multiple queue handling using a common processing algorithm |
US5966547A (en) * | 1997-01-10 | 1999-10-12 | Lsi Logic Corporation | System for fast posting to shared queues in multi-processor environments utilizing interrupt state checking |
US5860093A (en) * | 1997-01-21 | 1999-01-12 | Unisys Corporation | Reduced instruction processor/storage controller interface |
US5983310A (en) | 1997-02-13 | 1999-11-09 | Novell, Inc. | Pin management of accelerator for interpretive environments |
US5926645A (en) * | 1997-07-22 | 1999-07-20 | International Business Machines Corporation | Method and system for enabling multiple store instruction completions in a processing system |
US5956714A (en) * | 1997-08-13 | 1999-09-21 | Southwestern Bell Telephone Company | Queuing system using a relational database |
US6138209A (en) * | 1997-09-05 | 2000-10-24 | International Business Machines Corporation | Data processing system and multi-way set associative cache utilizing class predict data structure and method thereof |
US6079002A (en) * | 1997-09-23 | 2000-06-20 | International Business Machines Corporation | Dynamic expansion of execution pipeline stages |
US6263404B1 (en) | 1997-11-21 | 2001-07-17 | International Business Machines Corporation | Accessing data from a multiple entry fully associative cache buffer in a multithread data processing system |
US6073129A (en) * | 1997-12-29 | 2000-06-06 | Bull Hn Information Systems Inc. | Method and apparatus for improving the performance of a database management system through a central cache mechanism |
US6345339B1 (en) * | 1998-02-17 | 2002-02-05 | International Business Machines Corporation | Pseudo precise I-cache inclusivity for vertical caches |
US6356996B1 (en) | 1998-03-24 | 2002-03-12 | Novell, Inc. | Cache fencing for interpretive environments |
US6141732A (en) * | 1998-03-24 | 2000-10-31 | Novell, Inc. | Burst-loading of instructions into processor cache by execution of linked jump instructions embedded in cache line size blocks |
US6578193B1 (en) | 1998-03-24 | 2003-06-10 | Novell, Inc. | Endian-neutral loader for interpretive environment |
US6173393B1 (en) * | 1998-03-31 | 2001-01-09 | Intel Corporation | System for writing select non-contiguous bytes of data with single instruction having operand identifying byte mask corresponding to respective blocks of packed data |
US6272597B1 (en) * | 1998-12-31 | 2001-08-07 | Intel Corporation | Dual-ported, pipelined, two level cache system |
US6473834B1 (en) | 1999-12-22 | 2002-10-29 | Unisys | Method and apparatus for prevent stalling of cache reads during return of multiple data words |
US6415357B1 (en) | 1999-12-23 | 2002-07-02 | Unisys Corporation | Caching method and apparatus |
JP2001195250A (ja) * | 2000-01-13 | 2001-07-19 | Mitsubishi Electric Corp | 命令トランスレータ、トランスレータ付命令メモリおよびそれらを用いたデータ処理装置 |
US7649901B2 (en) * | 2000-02-08 | 2010-01-19 | Mips Technologies, Inc. | Method and apparatus for optimizing selection of available contexts for packet processing in multi-stream packet processing |
US7082552B2 (en) * | 2000-02-08 | 2006-07-25 | Mips Tech Inc | Functional validation of a packet management unit |
US20010052053A1 (en) * | 2000-02-08 | 2001-12-13 | Mario Nemirovsky | Stream processing unit for a multi-streaming processor |
US7139901B2 (en) * | 2000-02-08 | 2006-11-21 | Mips Technologies, Inc. | Extended instruction set for packet processing applications |
US7058064B2 (en) * | 2000-02-08 | 2006-06-06 | Mips Technologies, Inc. | Queueing system for processors in packet routing operations |
US7155516B2 (en) | 2000-02-08 | 2006-12-26 | Mips Technologies, Inc. | Method and apparatus for overflowing data packets to a software-controlled memory when they do not fit into a hardware-controlled memory |
US7042887B2 (en) | 2000-02-08 | 2006-05-09 | Mips Technologies, Inc. | Method and apparatus for non-speculative pre-fetch operation in data packet processing |
US7502876B1 (en) | 2000-06-23 | 2009-03-10 | Mips Technologies, Inc. | Background memory manager that determines if data structures fits in memory with memory state transactions map |
US7032226B1 (en) * | 2000-06-30 | 2006-04-18 | Mips Technologies, Inc. | Methods and apparatus for managing a buffer of events in the background |
US7165257B2 (en) * | 2000-02-08 | 2007-01-16 | Mips Technologies, Inc. | Context selection and activation mechanism for activating one of a group of inactive contexts in a processor core for servicing interrupts |
US7076630B2 (en) * | 2000-02-08 | 2006-07-11 | Mips Tech Inc | Method and apparatus for allocating and de-allocating consecutive blocks of memory in background memo management |
US7065096B2 (en) * | 2000-06-23 | 2006-06-20 | Mips Technologies, Inc. | Method for allocating memory space for limited packet head and/or tail growth |
US7058065B2 (en) * | 2000-02-08 | 2006-06-06 | Mips Tech Inc | Method and apparatus for preventing undesirable packet download with pending read/write operations in data packet processing |
US6778444B1 (en) * | 2000-08-18 | 2004-08-17 | Intel Corporation | Buffer for a split cache line access |
US6857049B1 (en) | 2000-08-30 | 2005-02-15 | Unisys Corporation | Method for managing flushes with the cache |
US7069391B1 (en) | 2000-08-30 | 2006-06-27 | Unisys Corporation | Method for improved first level cache coherency |
US6928517B1 (en) | 2000-08-30 | 2005-08-09 | Unisys Corporation | Method for avoiding delays during snoop requests |
US6697925B1 (en) | 2000-12-22 | 2004-02-24 | Unisys Corporation | Use of a cache ownership mechanism to synchronize multiple dayclocks |
DE10122422A1 (de) | 2001-05-09 | 2002-11-21 | Siemens Ag | Verfahren und Vorrichtung zum Einstellen der Bandbreite einer Verbindung zwischen mindestens zwei Kommunikationsendpunkten in einem Datennetz |
US6785775B1 (en) | 2002-03-19 | 2004-08-31 | Unisys Corporation | Use of a cache coherency mechanism as a doorbell indicator for input/output hardware queues |
US6941421B2 (en) * | 2002-10-29 | 2005-09-06 | International Business Machines Corporation | Zero delay data cache effective address generation |
US7039836B2 (en) * | 2003-04-01 | 2006-05-02 | Hewlett-Packard Development Company, L.P. | High performance computer system having a firmware error queue and automatic error handling |
US7360021B2 (en) * | 2004-04-15 | 2008-04-15 | International Business Machines Corporation | System and method for completing updates to entire cache lines with address-only bus operations |
US8352712B2 (en) * | 2004-05-06 | 2013-01-08 | International Business Machines Corporation | Method and system for specualtively sending processor-issued store operations to a store queue with full signal asserted |
US7603528B2 (en) * | 2004-10-08 | 2009-10-13 | International Business Machines Corporation | Memory device verification of multiple write operations |
JP2006113882A (ja) * | 2004-10-15 | 2006-04-27 | Fujitsu Ltd | データ管理装置 |
US8645973B2 (en) | 2006-09-22 | 2014-02-04 | Oracle International Corporation | Mobile applications |
US20080104333A1 (en) * | 2006-10-31 | 2008-05-01 | Veazey Judson E | Tracking of higher-level cache contents in a lower-level cache |
US7941728B2 (en) * | 2007-03-07 | 2011-05-10 | International Business Machines Corporation | Method and system for providing an improved store-in cache |
US8205064B2 (en) * | 2007-05-11 | 2012-06-19 | Advanced Micro Devices, Inc. | Latency hiding for a memory management unit page table lookup |
DE102007062974B4 (de) * | 2007-12-21 | 2010-04-08 | Phoenix Contact Gmbh & Co. Kg | Signalverarbeitungsvorrichtung |
US8195881B2 (en) * | 2008-02-26 | 2012-06-05 | International Business Machines Corporation | System, method and processor for accessing data after a translation lookaside buffer miss |
US7808849B2 (en) * | 2008-07-08 | 2010-10-05 | Nvidia Corporation | Read leveling of memory units designed to receive access requests in a sequential chained topology |
US7796465B2 (en) * | 2008-07-09 | 2010-09-14 | Nvidia Corporation | Write leveling of memory units designed to receive access requests in a sequential chained topology |
US8461884B2 (en) * | 2008-08-12 | 2013-06-11 | Nvidia Corporation | Programmable delay circuit providing for a wide span of delays |
US8719510B2 (en) * | 2010-03-29 | 2014-05-06 | Via Technologies, Inc. | Bounding box prefetcher with reduced warm-up penalty on memory block crossings |
US8645631B2 (en) * | 2010-03-29 | 2014-02-04 | Via Technologies, Inc. | Combined L2 cache and L1D cache prefetcher |
US8762649B2 (en) * | 2010-03-29 | 2014-06-24 | Via Technologies, Inc. | Bounding box prefetcher |
US9075732B2 (en) | 2010-06-15 | 2015-07-07 | International Business Machines Corporation | Data caching method |
US9483406B2 (en) | 2013-03-11 | 2016-11-01 | Via Technologies, Inc. | Communicating prefetchers that throttle one another |
US9251083B2 (en) | 2013-03-11 | 2016-02-02 | Via Technologies, Inc. | Communicating prefetchers in a microprocessor |
US10083035B2 (en) * | 2013-07-15 | 2018-09-25 | Texas Instruments Incorporated | Dual data streams sharing dual level two cache access ports to maximize bandwidth utilization |
US9531829B1 (en) * | 2013-11-01 | 2016-12-27 | Instart Logic, Inc. | Smart hierarchical cache using HTML5 storage APIs |
US20150378900A1 (en) * | 2014-06-27 | 2015-12-31 | International Business Machines Corporation | Co-processor memory accesses in a transactional memory |
US10133489B2 (en) * | 2014-09-16 | 2018-11-20 | Oracle International Corporation | System and method for supporting a low contention queue in a distributed data grid |
US10394566B2 (en) * | 2017-06-06 | 2019-08-27 | International Business Machines Corporation | Banked cache temporarily favoring selection of store requests from one of multiple store queues |
US10891227B2 (en) * | 2018-11-29 | 2021-01-12 | International Business Machines Corporation | Determining modified tracks to destage during a cache scan |
CN112019589B (zh) * | 2020-06-30 | 2023-09-05 | 浙江远望信息股份有限公司 | 一种多层级负载均衡数据包处理方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57167189A (en) * | 1981-03-31 | 1982-10-14 | Ibm | Multiplex processing system with shared cash memory |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4136386A (en) * | 1977-10-06 | 1979-01-23 | International Business Machines Corporation | Backing store access coordination in a multi-processor system |
US4354232A (en) * | 1977-12-16 | 1982-10-12 | Honeywell Information Systems Inc. | Cache memory command buffer circuit |
US4167782A (en) * | 1977-12-22 | 1979-09-11 | Honeywell Information Systems Inc. | Continuous updating of cache store |
US4167779A (en) * | 1978-03-10 | 1979-09-11 | Digital Equipment Corporation | Diagnostic apparatus in a data processing system |
US4323968A (en) * | 1978-10-26 | 1982-04-06 | International Business Machines Corporation | Multilevel storage system having unitary control of data transfers |
US4225922A (en) * | 1978-12-11 | 1980-09-30 | Honeywell Information Systems Inc. | Command queue apparatus included within a cache unit for facilitating command sequencing |
US4349871A (en) * | 1980-01-28 | 1982-09-14 | Digital Equipment Corporation | Duplicate tag store for cached multiprocessor system |
US4467414A (en) * | 1980-08-22 | 1984-08-21 | Nippon Electric Co., Ltd. | Cashe memory arrangement comprising a cashe buffer in combination with a pair of cache memories |
US4425615A (en) * | 1980-11-14 | 1984-01-10 | Sperry Corporation | Hierarchical memory system having cache/disk subsystem with command queues for plural disks |
US4484267A (en) * | 1981-12-30 | 1984-11-20 | International Business Machines Corporation | Cache sharing control in a multiprocessor |
US4442487A (en) * | 1981-12-31 | 1984-04-10 | International Business Machines Corporation | Three level memory hierarchy using write and share flags |
US4823259A (en) * | 1984-06-29 | 1989-04-18 | International Business Machines Corporation | High speed buffer store arrangement for quick wide transfer of data |
DE3584318D1 (de) * | 1984-06-29 | 1991-11-14 | Ibm | Hochgeschwindigkeitspufferspeicheranordnung fuer schnelle datenuebertragung. |
US4755930A (en) * | 1985-06-27 | 1988-07-05 | Encore Computer Corporation | Hierarchical cache memory system and method |
-
1988
- 1988-02-22 US US07/159,016 patent/US5023776A/en not_active Expired - Fee Related
-
1989
- 1989-01-17 DE DE68922326T patent/DE68922326T2/de not_active Expired - Fee Related
- 1989-01-17 EP EP89100716A patent/EP0329942B1/en not_active Expired - Lifetime
- 1989-01-20 CA CA000588790A patent/CA1315896C/en not_active Expired - Fee Related
- 1989-02-09 BR BR898900552A patent/BR8900552A/pt not_active Application Discontinuation
- 1989-02-20 JP JP1038528A patent/JPH0648479B2/ja not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57167189A (en) * | 1981-03-31 | 1982-10-14 | Ibm | Multiplex processing system with shared cash memory |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006048182A (ja) * | 2004-07-30 | 2006-02-16 | Fujitsu Ltd | 記憶制御装置、ムーブインバッファ制御方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP0329942A2 (en) | 1989-08-30 |
DE68922326T2 (de) | 1995-10-26 |
EP0329942A3 (en) | 1990-08-29 |
EP0329942B1 (en) | 1995-04-26 |
CA1315896C (en) | 1993-04-06 |
JPH0648479B2 (ja) | 1994-06-22 |
DE68922326D1 (de) | 1995-06-01 |
US5023776A (en) | 1991-06-11 |
BR8900552A (pt) | 1989-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH01246655A (ja) | 多重プロセッサ計算機システムのための記憶サブシステム | |
US5276848A (en) | Shared two level cache including apparatus for maintaining storage consistency | |
US5202972A (en) | Store buffer apparatus in a multiprocessor system | |
US6161208A (en) | Storage subsystem including an error correcting cache and means for performing memory to memory transfers | |
US5809530A (en) | Method and apparatus for processing multiple cache misses using reload folding and store merging | |
US5418973A (en) | Digital computer system with cache controller coordinating both vector and scalar operations | |
US5291586A (en) | Hardware implementation of complex data transfer instructions | |
US5511175A (en) | Method an apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency | |
US5148533A (en) | Apparatus and method for data group coherency in a tightly coupled data processing system with plural execution and data cache units | |
US6665774B2 (en) | Vector and scalar data cache for a vector multiprocessor | |
US5265233A (en) | Method and apparatus for providing total and partial store ordering for a memory in multi-processor system | |
US5898866A (en) | Method and apparatus for counting remaining loop instructions and pipelining the next instruction | |
KR100308682B1 (ko) | 다중방향연관외부마이크로프로세서캐쉬 | |
JPH0227440A (ja) | 記憶システム | |
KR19980063489A (ko) | 멀티스레드 프로세서의 명령어 및 연관된 인출 요청의 백그라운드 완료 | |
US5930832A (en) | Apparatus to guarantee TLB inclusion for store operations | |
JPH0321934B2 (ja) | ||
US5649137A (en) | Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency | |
EP0380842A2 (en) | Method and apparatus for interfacing a system control unit for a multiprocessor system with the central processing units | |
JPH02239331A (ja) | データ処理システム及びその命令実行を促進する方法 | |
KR100308674B1 (ko) | 멀티사이클데이터캐쉬판독을위한데이터레지스터 | |
GB2200481A (en) | Maintaining coherence between a microprocessor's integrated cache and external memory | |
EP0348616B1 (en) | Storage subsystem including an error correcting cache | |
EP0375892B1 (en) | Data processing system | |
AU628531B2 (en) | Method and apparatus for interfacing a system control unit for a multiprocessor system with the central processing units |