• 検索結果がありません。

メモリ・リード&ライト

ドキュメント内 000 (ページ 144-152)

第 6 章 バス・サイクル

6.3 メモリ・リード&ライト

データ・ステートを実行する。このステートへ移行する唯一の目的は、バス遷移 がパイプライン動作中ににより引き起こすバス・コンテンションを防止すること にある。

バッファにアドレスおよびデータを保管し、

BRDY#

を戻し、のちにメモリへのス トアを実行する。プロセッサがライト・サイクル中に

EWBE#

をネゲートしてサン プリングする場合、

EWBE#

がアサートされてサンプリングされるまで、ある活動 を一時停止する。「

EWBE#

(外部ライト・バッファの空き)」の項を参照。図

45

は、命令のシリアル化を実行中に二次ライト・サイクルが発生している。プロセッ サは

EWBE#

がアサートされてサンプリングされるまで、次のサイクルを遅らす。

Read Cycle Write Cycle Write Cycle (Next Cycle Delayed by EWBE#) CLK

A[31:3]

BE[7:0]#

ADS#

M/IO#

D/C#

W/R#

BREQ D[63:0]

DP[7:0]

CACHE#

EWBE#

KEN#

ADDR DATA IDLE ADDR DATA DATA IDLE ADDRDATA DATA IDLE IDLE IDLE IDLE IDLE ADDR

ミスアラインド・シングル転送メモリ・リード&ライト

46

に、ミスアラインド(スプリット)メモリ・リードに続くミスアラインド・メモリ・

ライトを示す。「

SCYC

(スプリット・サイクル)」の項に定義された通り、アライ メントのとれていないサイクルはすべてミスアラインドと判断される。ミスアラ インド・アクセスに遭遇した場合、プロセッサは、アクセスを完了するために必要 なバス・サイクルのペア(それぞれが、それ自身の

ADS#

および

BRDY#

を伴う)

を決定する。

AMD-K6

プロセッサは、ミスアラインド・メモリ・リードおよびメモリ・ライトを、最 下位バイト(

LSB

)を先に、次いで最上位バイト(

MSB

)を実行する。表

20

に、こ の順序を示す。図

46

の最初のメモリ・リード・サイクルでは、プロセッサは最下位 バイトを読み込む。プロセッサが

BRDY#

をアサートされた状態でサンプリング した直後に、プロセッサは

2

番目のバス・サイクルをドライブして最上位バイトを 読み込み、ミスアラインド転送を完了する。

20.

 ミスアラインド転送時のバス・サイクル・オーダ

Type of Access First Cycle Second Cycle

Memory Read LSBs MSBs

Memory Write LSBs MSBs

同様に、図

46

のミスアラインド・メモリ・ライト・サイクルでは、先ず

LSB

がメモリ・

バスに転送されている。次のサイクルで、プロセッサが

BRDY#

をアサートされ た状態でサンプリングした後、

MSB

はメモリ・バスに書き込まれる。

LSB MSB LSB MSB

Memory Read (Misaligned) Memory Write (Misaligned)

CLK A[31:3]

BE[7:0]#

ADS#

M/IO#

D/C#

W/R#

D[63:0]

BRDY#

ADDRDATA DATA IDLE ADDRDATA DATA IDLE ADDR DATA DATA DATAIDLE ADDR DATA DATA DATA IDLE

46.

 ミスアライメンド・シングル転送メモリ・リード&ライト

バースト・リードおよびパイプライン方式バースト・リード

47

に、通常のバースト・リード・サイクルおよびパイプライン方式バースト・

リード・サイクルを示す。

AMD-K6

プロセッサは

CACHE#

ADS#

を一緒にドラ イブし、その時点でのバス・サイクルがバースト・サイクルであることを指定す る。プロセッサが最初の

BRDY#

と共に

KEN#

をアサートされた状態でサンプリ ングした場合、プロセッサはバースト転送を実行する。バースト転送の間、シス テム・ロジックは

BE[7:0]#

を無視し、プロセッサが

A[31:3]

上でアサートした開 始アドレスで開始される全

8

バイトを戻さなければならない。開始アドレス次第 では、システム・ロジックはバースト内の各転送の連続するクワッドワード・アド レス(

A[4:3]

)を(表

21

に示す)決定しなければならない。

プロセッサは

2

番目、

3

番目、および

4

番目のクワッドワードが、表

21

に示すシーケ ンスで発生することを予期する。

21.

 バースト時の

A[4:3]

アドレス生成シーケンス

Address Driven By

Processor on A[4:3]

A[4:3] Addresses of Subsequent Quadwords* Generated By System Logic Quadword 1 Quadword 2 Quadword 3 Quadword 4

00b 01b 10b 11b

01b 00b 11b 10b

10b 11b 00b 01b

11b 10b 01b 00b

Note:

* quadword = 8 bytes

47

では、プロセッサは全バースト・リード・サイクルにわたり

CACHE#

をドライ ブしている。最初の バースト・リード・サイクルで、プロセッサは

A D S #

CACHE#

をドライブし、次いで

ADS#

をネゲートするクロック・エッジ後にクロッ ク・エッジに始まる各クロック・エッジで

BRDY#

をサンプリングする。プロセッサ は

KEN#

を、最初の

BRDY#

がアサートされた状態でサンプリングされたクロッ ク・エッジで、アサートされた状態でサンプリングし、

32

バイトのバースト・リー ド・サイクルを実行し、計

4

つの

BRDY#

を予期する。図

47

に示されたのは、ウエ

クロック・エッジで、

NA#

をアサートされた状態でサンプリングしている。

NA#

アサートされるということは、システム・ロジック側がプロセッサに対し、早期に 次のアドレスを出力するよう要求していることを意味する(またパイプライン転 送要求ともいう)。その時点でのサイクルの完了を待たずに、プロセッサは次の バースト・サイクルに対して

ADS#

および関連する信号をドライブする。パイプ ライン化により、

CPU

のサイクル間アイドル・タイムを減少させることができる。

DATA1 DATA2 DATA3

Burst Read Pipelined Burst Read

ADDR1 ADDR2 ADDR3

Burst Read CLK

A[31:3]

BE[7:0]#

ADS#

M/IO#

D/C#

W/R#

NA#

D[63:0]

CACHE#

KEN#

BRDY#

DATA DATA DATA DATA

ADDR IDLE ADDRDATA DATA IDLE PIPE-ADATA DATA DATA DATA IDLE

-NA

47.

 バースト・リードおよびパイプライン方式バースト・リード

バースト・ライトバック

48

に、バースト・リードおよびそれに続くライトバック・トランザクションを示す。

AMD-K6

プロセッサは、下記の条件下でライトバックを開始する。

リプレースメント:

その時点で有効(

Valid

)エントリで埋められたキャッシュ・ラインに対して キャッシュ・ライン・フィルが開始される場合、プロセッサ

LRA

アルゴリズム を使用して、リプレースするラインを選択する。修正ステートにあるデータ・

キャッシュ・ラインへのリプレースメントが行われる前に、修正されたライン はメモリにライトバックされるよう、スケジューリングされる。

内部スヌープ:

プロセッサは命令キャッシュ・ラインを読み取る場合はいつでもデータ・

キャッシュをスヌープし、またデータ・キャッシュ・ラインを書き込むときはい つでも命令キャッシュをスヌープする。このスヌーピングは、同じアドレスが 両方のキャッシュに保管されていないか、すなわち、自己修正コードの発生 を示す状況がないか、判断するために実行される。スヌープが修正ステー トでデータ・キャッシュをヒットする場合、そのラインは無効化(

Invalidate

される前にメモリへライトバックされる。

WBINVD

命令:

WBINVD

命令を実行する場合、プロセッサは修正済み(

Modified

)ライン をすべてデータ・キャッシュにライトバックし、両方のキャッシュの全ライン を無効化(

Invalidate

)する。

キャッシュ・フラッシュ:

アサートされた状態の

FLUSH#

をサンプリングすると、プロセッサは、フ ラッシュ・アクノリッジ・ス ペ シャル・サ イク ル を 実 行し 、修 正 済 み

Modified

)ラインをすべてデータ・キャッシュにライトバックし、両方の キャッシュの全ラインを無効化(

Invalidate

)する。

プロセッサは、照会またはフラッシュ・サイクル中、ライトバック・サイクルをドラ イブする。図

48

に示すライトバックは、キャッシュ・ライン・リプレースにより引き 起こされたものである。プロセッサはキャッシュ・ラインをフィルするバースト・

リード・サイクルを完了させる。バースト・リード・サイクルの直後に、メモリにラ

Burst Read Burst Writeback from L1 Cache CLK

A[31:3]

BE[7:0]#

ADS#

CACHE#

M/IO#

D/C#

W/R#

D[63:0]

KEN#

BRDY#

WB/WT#

DATA DATA DATA DATA IDLE

ADDR ADDR DATA DATA DATA DATA IDLE

48.

 キャッシュ・ライン・リプレースメントによるバースト・ライトバック

6.4 I/O リード&ライト

ドキュメント内 000 (ページ 144-152)