ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ кэш-памяти. 
Кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Кэш с ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ассоциативным ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ позволяСт ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ нСдостаток прямого, Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ любого Π±Π»ΠΎΠΊΠ° ΠžΠŸ Π² Π»ΡŽΠ±ΡƒΡŽ строку кэш-памяти. Π›ΠΎΠ³ΠΈΠΊΠ° управлСния выдСляСт Π² Π°Π΄Ρ€Π΅ΡΠ΅ ΠžΠŸ Π΄Π²Π° поля: ΠΏΠΎΠ»Π΅ Ρ‚Π΅Π³Π° ΠΈ ΠΏΠΎΠ»Π΅ слова. ПолС Ρ‚Π΅Π³Π° совпадаСт с Π°Π΄Ρ€Π΅ΡΠΎΠΌ Π±Π»ΠΎΠΊΠ° ΠžΠŸ. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ наличия ΠΊΠΎΠΏΠΈΠΈ Π±Π»ΠΎΠΊΠ° Π² ΠΊΡΡˆ-памяти, Π»ΠΎΠ³ΠΈΠΊΠ° управлСния кэша Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚Π΅Π³ΠΈ всСх строк Π½Π° ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠ»Π΅ΠΌ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ кэш-памяти. Кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

БтратСгия размСщСния

ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ кэш-памяти Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Ρ€Π°Π½ΡŒΡˆΠ΅ Ρ‡Π΅ΠΌ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° IBM/360, ΠΈ ΡΠ΅Π³ΠΎΠ΄Π½Ρ кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ имССтся практичСски Π² Π»ΡŽΠ±ΠΎΠΌ классС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², Π° Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… — Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠΌ числС.

Π’ΠΈΠΏΠΎΠ²Ρ‹Π΅ значСния ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для кэш-памяти Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… станций ΠΈ сСрвСров.

Рис 1. Π’ΠΈΠΏΠΎΠ²Ρ‹Π΅ значСния ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для кэш-памяти Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… станций ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€ΠΎΠ²

ВсС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΈ Π΄Π»Ρ кэш-памяти, хотя слово «ΡΡ‚Ρ€ΠΎΠΊΠ°» (line) часто употрСбляСтся вмСсто слова «Π±Π»ΠΎΠΊ» (block).

На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2 прСдставлСн Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания кэш-памяти.

Рассмотрим ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ кэш-памяти Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ, отвСчая Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ вопроса ΠΎΠ± ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ памяти.

1. Π“Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π±Π»ΠΎΠΊ Π² ΠΊΡΡˆ-памяти?

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ размСщСния Π±Π»ΠΎΠΊΠΎΠ² Π² ΠΊΡΡˆ-памяти ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Ρ‚Ρ€ΠΈ основных Ρ‚ΠΈΠΏΠ° ΠΈΡ… ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ:

Если ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ основной памяти ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ фиксированноС мСсто, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π² ΠΊΡΡˆ-памяти, Ρ‚ΠΎ Ρ‚акая кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ называСтся кэшСм с ΠΏΡ€ΡΠΌΡ‹ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ (direct mapped). Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ простая организация кэш-памяти, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ для ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ адрСсов Π±Π»ΠΎΠΊΠΎΠ² основной памяти Π½Π° Π°Π΄Ρ€Π΅ΡΠ° кэш-памяти просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ младшиС разряды адрСса Π±Π»ΠΎΠΊΠ°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, всС Π±Π»ΠΎΠΊΠΈ основной памяти, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ младшиС разряды Π² ΡΠ²ΠΎΠ΅ΠΌ адрСсС, ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² ΠΎΠ΄ΠΈΠ½ Π±Π»ΠΎΠΊ кэш-памяти, Ρ‚. Π΅.

(адрСс Π±Π»ΠΎΠΊΠ° кэш-памяти) = (адрСс Π±Π»ΠΎΠΊΠ° основной памяти) mod (число Π±Π»ΠΎΠΊΠΎΠ² Π² ΠΊΡΡˆ-памяти) Если Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Π»ΠΎΠΊ основной памяти ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Π»ΡŽΠ±ΠΎΠΌ мСстС кэш-памяти, Ρ‚ΠΎ ΠΊΡΡˆ называСтся ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ассоциативным (fully associative).

Если Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Π»ΠΎΠΊ основной памяти ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΌ мноТСствС мСст Π² ΠΊΡΡˆ-памяти, Ρ‚ΠΎ ΠΊΡΡˆ называСтся мноТСствСнно-ассоциативным (set associative). ΠžΠ±Ρ‹Ρ‡Π½ΠΎ мноТСство прСдставляСт собой Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ большСго числа Π±Π»ΠΎΠΊΠΎΠ² Π² ΠΊΡΡˆΠ΅. Если мноТСство состоит ΠΈΠ· n Π±Π»ΠΎΠΊΠΎΠ², Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ называСтся мноТСствСнно-ассоциативным с n ΠΊΠ°Π½Π°Π»Π°ΠΌΠΈ (n-way set associative). Для размСщСния Π±Π»ΠΎΠΊΠ° ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ мноТСство. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ опрСдСляСтся младшими разрядами адрСса Π±Π»ΠΎΠΊΠ° памяти (индСксом):

(адрСс мноТСства кэш-памяти) = (адрСс Π±Π»ΠΎΠΊΠ° основной памяти) mod (число мноТСств Π² ΠΊΡΡˆ-памяти) Π”Π°Π»Π΅Π΅, Π±Π»ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π½Π° Π»ΡŽΠ±ΠΎΠΌ мСстС Π΄Π°Π½Π½ΠΎΠ³ΠΎ мноТСства.

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ кэш-памяти ΠΎΡ‡Π΅Π½ΡŒ ΡˆΠΈΡ€ΠΎΠΊ: кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ с ΠΏΡ€ΡΠΌΡ‹ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π΅ΡΡ‚ΡŒ просто одноканальная мноТСствСнно-ассоциативная кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ассоциативная кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ с m Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½Π° m-канальной мноТСствСнно-ассоциативной. Π’ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… процСссорах ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π»ΠΈΠ±ΠΎ кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ с ΠΏΡ€ΡΠΌΡ‹ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π»ΠΈΠ±ΠΎ Π΄Π²ΡƒΡ…- (Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…-) канальная мноТСствСнно-ассоциативная кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ.

2. Как Π½Π°ΠΉΡ‚ΠΈ Π±Π»ΠΎΠΊ, находящийся Π² ΠΊΡΡˆ-памяти?

Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π² ΠΊΡΡˆ-памяти имССтся адрСсный Ρ‚Π΅Π³, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ, ΠΊΠ°ΠΊΠΎΠΉ Π±Π»ΠΎΠΊ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ памяти Π΄Π°Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ кэш-памяти прСдставляСт. Π­Ρ‚ΠΈ Ρ‚Π΅Π³ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ с Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΌ процСссором адрСсом Π±Π»ΠΎΠΊΠ° памяти.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ способ опрСдСлСния Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π±Π»ΠΎΠΊ кэш-памяти содСрТит Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€Π½ΡƒΡŽ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΡƒΡŽ для использования ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. НаиболСС ΠΎΠ±Ρ‰ΠΈΠΌ способом Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ являСтся Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊ Ρ‚Π΅Π³Ρƒ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π±ΠΈΡ‚Π° достовСрности (valid bit).

АдрСсация мноТСствСнно-ассоциативной кэш-памяти осущСствляСтся ΠΏΡƒΡ‚Π΅ΠΌ дСлСния адрСса, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π°, Π½Π° Ρ‚Ρ€ΠΈ части: ΠΏΠΎΠ»Π΅ смСщСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π±ΠΎΡ€Π° Π±Π°ΠΉΡ‚Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Π»ΠΎΠΊΠ° кэш-памяти, ΠΏΠΎΠ»Π΅ индСкса опрСдСляСт Π½ΠΎΠΌΠ΅Ρ€ мноТСства, Π° ΠΏΠΎΠ»Π΅ Ρ‚Π΅Π³Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для сравнСния. Если ΠΎΠ±Ρ‰ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ кэш-памяти Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ стСпСни ассоциативности ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ количСства Π±Π»ΠΎΠΊΠΎΠ² Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅, ΠΏΡ€ΠΈ этом ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ Ρ€Π°Π·ΠΌΠ΅Ρ€ индСкса ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ся Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ‚Π΅Π³Π°.

3. Какой Π±Π»ΠΎΠΊ кэш-памяти Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‰Π΅Π½ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΌΠ°Ρ…Π΅?

ΠŸΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠΌΠ°Ρ…Π°, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ кэш-памяти Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΉ Π·Π°ΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ Π±Π»ΠΎΠΊ. Польза ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ с ΠΏΡ€ΡΠΌΡ‹ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ здСсь Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ простыС. Π’Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ просто Π½Π΅Ρ‡Π΅Π³ΠΎ: Π½Π° ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ провСряСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π±Π»ΠΎΠΊ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этот Π±Π»ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‰Π΅Π½. ΠŸΡ€ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ассоциативной ΠΈΠ»ΠΈ мноТСствСнно-ассоциативной ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ кэш-памяти ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ нСсколько Π±Π»ΠΎΠΊΠΎΠ², ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°Π΄ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π° Π² ΡΠ»ΡƒΡ‡Π°Π΅ ΠΏΡ€ΠΎΠΌΠ°Ρ…Π°. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ для замСщСния Π±Π»ΠΎΠΊΠΎΠ² ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π΄Π²Π΅ основных стратСгии: случайная ΠΈ LRU.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ΅ распрСдСлСниС, Π±Π»ΠΎΠΊΠΈ-ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ случайно. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… систСмах, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ воспроизводимоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ псСвдослучайный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ замСщСния.

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ выбрасывания ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, которая скоро ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ, всС обращСния ΠΊ Π±Π»ΠΎΠΊΠ°ΠΌ Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ. ЗамСняСтся Ρ‚ΠΎΡ‚ Π±Π»ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π»ΡΡ дольшС всСх (LRU — Least-Recently Used).

Достоинство случайного способа Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Π΅. Когда количСство Π±Π»ΠΎΠΊΠΎΠ² для поддСрТания трассы увСличиваСтся, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ LRU становится всС Π±ΠΎΠ»Π΅Π΅ Π΄ΠΎΡ€ΠΎΠ³ΠΈΠΌ ΠΈ Ρ‡Π°ΡΡ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½Ρ‹ΠΌ. На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3 ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ различия Π² Π΄ΠΎΠ»ΡΡ… ΠΏΡ€ΠΎΠΌΠ°Ρ…ΠΎΠ² ΠΏΡ€ΠΈ использовании Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° замСщСния LRU ΠΈ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»Π΅ΠΉ ΠΏΡ€ΠΎΠΌΠ°Ρ…ΠΎΠ² для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° LRU ΠΈ случайного Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° замСщСния ΠΏΡ€ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… кэша ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… ассоциативностях ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ Π±Π»ΠΎΠΊΠ° 16 Π±Π°ΠΉΡ‚.

Рис. 2. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»Π΅ΠΉ ΠΏΡ€ΠΎΠΌΠ°Ρ…ΠΎΠ² для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° LRU ΠΈ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° замСщСния ΠΏΡ€ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… кэша ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… ассоциативностях ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ Π±Π»ΠΎΠΊΠ° 16 Π±Π°ΠΉΡ‚.

4. Π§Ρ‚ΠΎ происходит Π²ΠΎ Π²Ρ€Π΅ΠΌΡ записи?

ΠŸΡ€ΠΈ обращСниях ΠΊ ΠΊΡΡˆ-памяти Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΏΡ€Π΅ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ обращСния ΠΏΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ. ВсС обращСния Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ обращСниями ΠΏΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π΅ ΠΏΠΈΡˆΡƒΡ‚ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ записи ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΌΠ΅Π½Π΅Π΅ 10% ΠΎΠ±Ρ‰Π΅Π³ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° памяти. Π–Π΅Π»Π°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΉ случай Π±ΠΎΠ»Π΅Π΅ быстрым ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ кэш-памяти для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ чтСния, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… нСльзя ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π°Ρ‚ΡŒ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ записи.

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΎΠ±Ρ‰ΠΈΠΉ случай являСтся ΠΈ Π±ΠΎΠ»Π΅Π΅ простым. Π‘Π»ΠΎΠΊ ΠΈΠ· ΠΊΡΡˆ-памяти ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½ Π² Ρ‚ΠΎ ΠΆΠ΅ самоС врСмя, ΠΊΠΎΠ³Π΄Π° читаСтся ΠΈ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ся Π΅Π³ΠΎ Ρ‚Π΅Π³. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° начинаСтся сразу ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ становится доступным адрСс Π±Π»ΠΎΠΊΠ°. Если Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ происходит с ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ΠΌ, Ρ‚ΠΎ Π±Π»ΠΎΠΊ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ направляСтся Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€. Если ΠΆΠ΅ происходит ΠΏΡ€ΠΎΠΌΠ°Ρ…, Ρ‚ΠΎ ΠΎΡ‚ Π·Π°Ρ€Π°Π½Π΅Π΅ считанного Π±Π»ΠΎΠΊΠ° Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·Ρ‹, ΠΏΡ€Π°Π²Π΄Π° Π½Π΅Ρ‚ ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²Ρ€Π΅Π΄Π°.

Однако ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ записи ситуация ΠΊΠΎΡ€Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ мСняСтся. ИмСнно процСссор опрСдСляСт Ρ€Π°Π·ΠΌΠ΅Ρ€ записи (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΡ‚ 1 Π΄ΠΎ 8 Π±Π°ΠΉΡ‚ΠΎΠ²) ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ эта Ρ‡Π°ΡΡ‚ΡŒ Π±Π»ΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС это ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π°Π΄ Π±Π»ΠΎΠΊΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅-модификация-запись: Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π° Π±Π»ΠΎΠΊΠ°, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π΅Π³ΠΎ части ΠΈ Π·Π°ΠΏΠΈΡΡŒ Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния Π±Π»ΠΎΠΊΠ°. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, модификация Π±Π»ΠΎΠΊΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° провСряСтся Ρ‚Π΅Π³, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ являСтся ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ΠΌ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚Π΅Π³ΠΎΠ² Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ, Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ записи ΠΎΡ‚Π½ΠΈΠΌΠ°ΡŽΡ‚ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Π΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ чтСния.

ΠžΡ‡Π΅Π½ΡŒ часто организация кэш-памяти Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… отличаСтся ΠΈΠΌΠ΅Π½Π½ΠΎ стратСгиСй выполнСния записи. Когда выполняСтся запись Π² ΠΊΡΡˆ-ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π΄Π²Π΅ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ возмоТности: сквозная запись (write through, store through) — информация записываСтся Π² Π΄Π²Π° мСста: Π² Π±Π»ΠΎΠΊ кэш-памяти ΠΈ Π² Π±Π»ΠΎΠΊ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня памяти. запись с ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (write back, copy back, store in) — информация записываСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π±Π»ΠΎΠΊ кэш-памяти. ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ кэш-памяти записываСтся Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π·Π°ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ся. Для сокращСния частоты копирования Π±Π»ΠΎΠΊΠΎΠ² ΠΏΡ€ΠΈ Π·Π°ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π±Π»ΠΎΠΊΠΎΠΌ кэш-памяти связываСтся Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Π±ΠΈΡ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ (dirty bit). Π­Ρ‚ΠΎΡ‚ Π±ΠΈΡ‚ состояния ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π±Ρ‹Π» Π»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½ Π±Π»ΠΎΠΊ, находящийся Π² ΠΊΡΡˆ-памяти. Если ΠΎΠ½ Π½Π΅ ΠΌΠΎΠ΄ΠΈΡ„ицировался, Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ отмСняСтся, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ содСрТит Ρ‚Ρƒ ΠΆΠ΅ ΡΠ°ΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΡΡˆ-ΠΏΠ°ΠΌΡΡ‚ΡŒ.

Оба ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ записи ΠΈΠΌΠ΅ΡŽΡ‚ свои прСимущСства ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΈ. ΠŸΡ€ΠΈ записи с ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ записи Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ кэш-памяти, ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎ записСй Π² ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π±Π»ΠΎΠΊ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ записи Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² ΡΡ‚ΠΎΠΌ случаС обращСния ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ памяти происходят Ρ€Π΅ΠΆΠ΅, Π²ΠΎΠΎΠ±Ρ‰Π΅ говоря трСбуСтся мСньшая полоса пропускания памяти, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π½Ρ‹Ρ… систСм. ΠŸΡ€ΠΈ сквозной записи ΠΏΡ€ΠΎΠΌΠ°Ρ…ΠΈ ΠΏΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ Π½Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Π·Π°ΠΏΠΈΡΠΈ Π² Π±ΠΎΠ»Π΅Π΅ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, ΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, сквозная запись ΠΏΡ€ΠΎΡ‰Π΅ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‡Π΅ΠΌ запись с ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Бквозная запись ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ прСимущСство Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ основная ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ²Π΅ΠΆΡƒΡŽ копию Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ Π² ΠΌΡƒΠ»ΡŒΡ‚ипроцСссорных систСмах, Π° Ρ‚Π°ΠΊΠΆΠ΅ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°.

Когда процСссор ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ записи ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ сквозной записи, Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΡΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΡ€ΠΈΠΎΡΡ‚анавливаСтся для записи (write stall). ΠžΠ±Ρ‰ΠΈΠΉ ΠΏΡ€ΠΈΠ΅ΠΌ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ остановов ΠΏΠΎ Π·Π°ΠΏΠΈΡΠΈ связан с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΡƒΡ„Π΅Ρ€Π° записи (write buffer), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт процСссору ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ обновлСния содСрТимого памяти. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ остановы ΠΏΠΎ Π·Π°ΠΏΠΈΡΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π±ΡƒΡ„Π΅Ρ€Π° записи.

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠΌΠ°Ρ…Π΅ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ записи ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π΄Π²Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности: Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ запись Π² ΠΊΡΡˆ-памяти (write allocate) (называСтся Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ ΠΏΡ€ΠΈ записи (fetch on write)). Π‘Π»ΠΎΠΊ загруТаСтся Π² ΠΊΡΡˆ-ΠΏΠ°ΠΌΡΡ‚ΡŒ, вслСд Π·Π° Ρ‡Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ дСйствия Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΌΡΡ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ записи с ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ΠΌ. Π­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ°Ρ… ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ. И Π½Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ запись Π² ΠΊΡΡˆ-памяти (называСтся Ρ‚Π°ΠΊΠΆΠ΅ записью Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ (write around)). Π‘Π»ΠΎΠΊ модифицируСтся Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΈ Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ся Π² ΠΊΡΡˆ-ΠΏΠ°ΠΌΡΡ‚ΡŒ.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π² ΠΊΡΡˆ-памяти, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΉ запись с ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ записи Π² ΠΊΡΡˆ-памяти (Π² Π½Π°Π΄Π΅ΠΆΠ΄Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ запись Π² ΡΡ‚ΠΎΡ‚ Π±Π»ΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‡Π΅Π½Π°), Π° Π² ΠΊΡΡˆ-памяти со ΡΠΊΠ²ΠΎΠ·Π½ΠΎΠΉ записью Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ записи Π² ΠΊΡΡˆ-памяти часто Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ запись Π² ΡΡ‚ΠΎΡ‚ Π±Π»ΠΎΠΊ всС Ρ€Π°Π²Π½ΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ).

БтратСгия размСщСния.

На ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ этого ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° сущСствСнноС влияниС ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚.

стратСгия размСщСния, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ, Π² ΠΊΠ°ΠΊΠΎΠ΅ мСсто кэш-памяти.

слСдуСт ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ памяти.

Π’ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΡΠΏΠΎΡΠΎΠ±Π° размСщСния Π΄Π°Π½Π½Ρ‹Ρ… основной памяти Π² ΠΊΡΡˆ-памяти сущСствуСт Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° кэш-памяти:

кэш с ΠΏΡ€ΡΠΌΡ‹ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ (Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ);

ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ассоциативный кэш;

мноТСствСнный ассоциативный кэш ΠΈΠ»ΠΈ частично-ассоциативный.

Кэш с ΠΏΡ€ΡΠΌΡ‹ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ (Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ) являСтся самым.

простым Ρ‚ΠΈΠΏΠΎΠΌ Π±ΡƒΡ„Π΅Ρ€Π°. АдрСс памяти ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ опрСдСляСт строку.

кэша, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ Π±Π»ΠΎΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈ этом ΠΏΡ€Π΅Π΄ΠΏΠΎ;

лагаСтся, Ρ‡Ρ‚ΠΎ опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ Ρ€Π°Π·Π±ΠΈΡ‚Π° Π½Π° Π±Π»ΠΎΠΊΠΈ ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ‚Π°;

ΠΊΠΎΠΌΡƒ Π±Π»ΠΎΠΊΡƒ Π² Π±ΡƒΡ„Π΅Ρ€Π΅ отводится всСго ΠΎΠ΄Π½Π° строка. Π­Ρ‚ΠΎ простой ΠΈ Π½Π΅Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΉ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ способ отобраТСния. Основной Π΅Π³ΠΎ нСдостаток — ТСсткоС Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠžΠŸ ΠΎΠ΄Π½ΠΎΠΉ строки Π² ΠΊΡΡˆΠ΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ обращаСтся ΠΊ ΡΠ»ΠΎΠ²Π°ΠΌ ΠΈΠ· Π΄Π²ΡƒΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ², ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ строку кэш-памяти, постоянно Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ строки ΠΈ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ попадания Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΈΠ·ΠΊΠΎΠΉ.

Кэш с ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ассоциативным ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ позволяСт ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ нСдостаток прямого, Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ любого Π±Π»ΠΎΠΊΠ° ΠžΠŸ Π² Π»ΡŽΠ±ΡƒΡŽ строку кэш-памяти. Π›ΠΎΠ³ΠΈΠΊΠ° управлСния выдСляСт Π² Π°Π΄Ρ€Π΅ΡΠ΅ ΠžΠŸ Π΄Π²Π° поля: ΠΏΠΎΠ»Π΅ Ρ‚Π΅Π³Π° ΠΈ ΠΏΠΎΠ»Π΅ слова. ПолС Ρ‚Π΅Π³Π° совпадаСт с Π°Π΄Ρ€Π΅ΡΠΎΠΌ Π±Π»ΠΎΠΊΠ° ΠžΠŸ. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ наличия ΠΊΠΎΠΏΠΈΠΈ Π±Π»ΠΎΠΊΠ° Π² ΠΊΡΡˆ-памяти, Π»ΠΎΠ³ΠΈΠΊΠ° управлСния кэша Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚Π΅Π³ΠΈ всСх строк Π½Π° ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠ»Π΅ΠΌ Ρ‚Π΅Π³Π° адрСса. АссоциативноС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ обСспСчиваСт Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ строки для вновь записываСмого Π±Π»ΠΎΠΊΠ°. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ нСдостаток этого способа — Π² Π½Π΅ΠΎΠ±Ρ…одимости использования Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΉ ассоциативной памяти.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎ-ассоциативный Ρ‚ΠΈΠΏ ΠΈΠ»ΠΈ частично-ассоциативный Ρ‚ΠΈΠΏ отобраТСния — это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… компромиссов, ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‰ΠΈΠΉ достоинства прямого ΠΈ Π°ΡΡΠΎΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ способов. Кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ (ΠΈ Ρ‚Π΅Π³ΠΎΠ² ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…) разбиваСтся Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Π—Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ ΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠžΠŸ такая ΠΆΠ΅ ТСсткая, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€ΠΈ прямом ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. А Π²ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠΎ ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌ модуля ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ ΠΈ Π΄Π»Ρ поиска Π½ΡƒΠΆΠ½ΠΎΠΉ строки Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… модуля ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ассоциативный ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ. Π­Ρ‚ΠΎΡ‚ способ отобраТСния Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСн Π² ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… микропроцСссорах.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ