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

ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

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

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ кэша ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ строками (cache line) фиксированной Π΄Π»ΠΈΠ½Ρ‹. Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ копию Π±Π»ΠΎΠΊΠ° основной памяти, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ, СстСствСнно, совпадаСт с Π΄Π»ΠΈΠ½ΠΎΠΉ строки. Π‘ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкой кэша связана информация ΠΎΠ± Π°Π΄Ρ€Π΅ΡΠ΅ скопированного Π² Π½Π΅Π΅ Π±Π»ΠΎΠΊΠ° основной памяти ΠΈ ΠΎΠ± Π΅Π΅ состоянии. Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ (valid) — это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ½Π° достовСрно ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ слово «ΠΊΡΡˆ» Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ контСкстС Π±Ρ‹Π»ΠΎ использовано Π² 1967 Π³ΠΎΠ΄Ρƒ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΡΡ‚Π°Ρ‚ΡŒΠΈ для ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² ΠΆΡƒΡ€Π½Π°Π»Π΅ «IBM Systems Journal». Π‘Ρ‚Π°Ρ‚ΡŒΡ касалась ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡ памяти Π² Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ 85 ΠΈΠ· ΡΠ΅Ρ€ΠΈΠΈ IBM System/360. Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΆΡƒΡ€Π½Π°Π»Π° Π›Π°ΠΉΠ» ДТонсон попросил ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½, Π½Π΅ΠΆΠ΅Π»ΠΈ «Π²Ρ‹ΡΠΎΠΊΠΎΡΠΊΠΎΡ€ΠΎΡΡ‚Π½ΠΎΠΉ Π±ΡƒΡ„Π΅Ρ€», Π½ΠΎ ΠΈΠ·-Π·Π° отсутствия ΠΈΠ΄Π΅ΠΉ сам ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» слово «ΠΊΡΡˆ». Π‘Ρ‚Π°Ρ‚ΡŒΡ Π±Ρ‹Π»Π° ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π² Π½Π°Ρ‡Π°Π»Π΅ 1968 Π³ΠΎΠ΄Π°, Π°Π²Ρ‚ΠΎΡ€Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΡ€Π΅ΠΌΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ IBM, ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° распространСниС ΠΈ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡ‚Π²ΠΈΠΈ Π±Ρ‹Π»Π° ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π°, Π° ΡΠ»ΠΎΠ²ΠΎ «ΠΊΡΡˆ» вскорС стало ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ ΠΊΠ°ΠΊ бщСпринятый Ρ‚Π΅Ρ€ΠΌΠΈΠ½.

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

Рис. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ Π—Π£ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° кэша памяти ЦПУ Кэш — это ΠΏΠ°ΠΌΡΡ‚ΡŒ с Π±ΠΎΠ»ΡŒΡˆΠ΅ΠΉ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ доступа, прСдназначСнная для ускорСния обращСния ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, содСрТащимся постоянно Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ с ΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΉ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ доступа (Π΄Π°Π»Π΅Π΅ «ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ»). ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ примСняСтся ЦПУ, Тёсткими дисками, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ ΠΈ Π²Π΅Π±-сСрвСрами.

Кэш состоит ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° записСй. КаТдая запись ассоциирована с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… (нСбольшой части Π΄Π°Π½Π½Ρ‹Ρ…), которая являСтся ΠΊΠΎΠΏΠΈΠ΅ΠΉ элСмСнта Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ памяти. КаТдая запись ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ соотвСтствиС ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΡΡˆΠ΅ ΠΈ ΠΈΡ… ΠΊΠΎΠΏΠΈΡΠΌΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ памяти.

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

НапримСр, Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ провСряСт Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ кэш Π½Π° Π΄ΠΈΡΠΊΠ΅ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ локальной ΠΊΠΎΠΏΠΈΠΈ Π²Π΅Π±-страницы, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½ΠΎΠΌΡƒ URL. Π’ ΡΡ‚ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ URL —- это ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π²Π΅Π±-страницы —- это элСмСнты Π΄Π°Π½Π½Ρ‹Ρ….

Если кэш ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Π² ΠΎΠ±ΡŠΡ‘ΠΌΠ΅, Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΌΠ°Ρ…Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ принято Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ запись для освобоТдСния пространства. Для Π²Ρ‹Π±ΠΎΡ€Π° отбрасываСмой записи ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ вытСснСния (см. Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ вытСснСния).

ΠŸΡ€ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ элСмСнтов Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΡΡˆΠ΅ выполняСтся ΠΈΡ… ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ памяти. Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΡΡˆΠ΅ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ основной памяти управляСтся Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠΉ записи.

Π’ ΠΊΡΡˆΠ΅ с Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ записью ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ синхронноС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ памяти.

Π’ ΠΊΡΡˆΠ΅ с ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ записью (ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ записью) ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ происходит Π² ΡΠ»ΡƒΡ‡Π°Π΅ вытСснСния элСмСнта Π΄Π°Π½Π½Ρ‹Ρ…, пСриодичСски ΠΈΠ»ΠΈ ΠΏΠΎ Π·Π°ΠΏΡ€ΠΎΡΡƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Для отслСТивания ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… элСмСнтов Π΄Π°Π½Π½Ρ‹Ρ… записи кэша хранят ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ (ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ «Π³Ρ€ΡΠ·Π½Ρ‹ΠΉ»). ΠŸΡ€ΠΎΠΌΠ°Ρ… Π² ΠΊΡΡˆΠ΅ с ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ записью ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π° обращСния ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ памяти: ΠΏΠ΅Ρ€Π²ΠΎΠ΅ для записи замСняСмых Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΊΡΡˆΠ°, Π²Ρ‚ΠΎΡ€ΠΎΠ΅ для чтСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ элСмСнта Π΄Π°Π½Π½Ρ‹Ρ….

Π’ ΡΠ»ΡƒΡ‡Π°Π΅, Ссли Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ памяти ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ нСзависимо ΠΎΡ‚ ΠΊΡΡˆΠ°, Ρ‚ΠΎ Π·Π°ΠΏΠΈΡΡŒ кэша ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ кэшами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ когСрСнтности кэша.

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

Рис.

Кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ способ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π²ΡƒΡ… Ρ‚ΠΈΠΏΠΎΠ² Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… устройств, Π½ΠΎ ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡƒΡΡ‚ройств — «Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΅» Π—Π£. Оно стоит Π΄ΠΎΡ€ΠΎΠΆΠ΅ ΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΠΌΠ΅Π΅Ρ‚ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшой объСм. Π’Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ кэш-памяти являСтся ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± ΠΈΠ½Ρ‚Снсивности использования Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½ΠΈΠΊΠ°ΠΊ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π—Π£ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π² Π—Π£ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, всС это дСлаСтся автоматичСски систСмными срСдствами.

АрхитСктура соврСмСнных 32-разрядных процСссоров Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ряд срСдств ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ памяти: Π΄Π²Π° уровня кэша инструкций ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (L1 Cache ΠΈ L2 Cache), Π±ΡƒΡ„Π΅Ρ€Ρ‹ ассоциативной трансляции (TLB) Π±Π»ΠΎΠΊΠ° страничной пСрСадрСсации ΠΈ Π±ΡƒΡ„Π΅Ρ€Ρ‹ записи. Π­Ρ‚ΠΈ срСдства Π² Ρ€Π°Π·Π½Ρ‹Ρ… вариациях (Π½Π° ΠΊΡ€ΠΈΡΡ‚Π°Π»Π»Π΅, ΠΊΠ°Ρ€Ρ‚Ρ€ΠΈΠ΄ΠΆΠ΅ процСссора ΠΈΠ»ΠΈ Π½Π° ΡΠΈΡΡ‚Π΅ΠΌΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅) прСдставлСны Π² ΡΠΈΡΡ‚Π΅ΠΌΠ°Ρ… с ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π°ΠΌΠΈ 486, Pentium ΠΈ Π 6. Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π΅ 80 386 (Intel) имСлся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ TLB, a ΠΊΡΡˆ-ΠΏΠ°ΠΌΡΡ‚ΡŒ, устанавливаСмая Π½Π° ΡΠΈΡΡ‚Π΅ΠΌΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅, Π½Π΅ ΠΈΠΌΠ΅Π»Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ со ΡΡ‚ΠΎΡ€ΠΎΠ½Ρ‹ процСссора.

1.ОписаниС устройства. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ

Основная ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² рСализуСтся Π½Π° ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ динамичСской памяти (DRAM), ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΉ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΡ€ΠΎΡΡ‚ΠΎΡŽ процСссора — ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΡ‚Ρ‹ оТидания (wait states). БтатичСская ΠΏΠ°ΠΌΡΡ‚ΡŒ (SRAM), построСнная, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€, Π½Π° Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π½Ρ‹Ρ… ячСйках, ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅ способна Π΄ΠΎΠ³Π½Π°Ρ‚ΡŒ соврСмСнныС процСссоры ΠΏΠΎ Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ Ρ‚Π°ΠΊΡ‚Ρ‹ оТидания (ΠΈΠ»ΠΈ хотя Π±Ρ‹ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΡ… ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ). Π Π°Π·ΡƒΠΌΠ½Ρ‹ΠΌ компромиссом для построСния экономичных ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСм явился иСрархичСский способ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. ИдСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠΎΡ‡Π΅Ρ‚Π°Π½ΠΈΠΈ основной памяти большого объСма Π½Π° DRAM с ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшой кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π½Π° Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… микросхСмах SRAM.

Π’ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ слово кэш (cache) ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ «Ρ‚Π°ΠΉΠ½Ρ‹ΠΉ склад», «Ρ‚Π°ΠΉΠ½ΠΈΠΊ» («Π·Π°Π½Π°Ρ‡ΠΊΠ°»). Π’Π°ΠΉΠ½Π° этого склада Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π΅Π³ΠΎ «ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΠΈ» — для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ½ Π½Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚авляСт собой Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ адрСсуСмой области памяти. Кэш являСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ ΠΊΠΎΠΏΠΈΠΉ Π±Π»ΠΎΠΊΠΎΠ² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ памяти, Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ обращСния ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅Π΅ врСмя Π²Π΅Π»ΠΈΠΊΠ°. Кэш Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ копию всСй основной памяти, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΅Π³ΠΎ объСм Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· мСньшС основной памяти. Он Ρ…Ρ€Π°Π½ΠΈΡ‚ лишь ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство Π±Π»ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ (cache directory) — список ΠΈΡ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ соотвСтствия областям основной памяти. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π²ΡΡ ΠΏΠ°ΠΌΡΡ‚ΡŒ, доступная процСссору.

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

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ памяти ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с ΠΏΠΎΠΈΡΠΊΠΎΠΌ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π° Π² ΡΠ»ΡƒΡ‡Π°Π΅ попадания — ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ (Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Look aside). Π­Ρ‚ΠΎ экономит врСмя, Π½ΠΎ Π»ΠΈΡˆΠ½ΠΈΠ΅ обращСния ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ памяти Π²Π΅Π΄ΡƒΡ‚ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ энСргопотрСблСния. Π”Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚: ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π²Π½Π΅ΡˆΠ½Π΅ΠΉ памяти начинаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС фиксации ΠΏΡ€ΠΎΠΌΠ°Ρ…Π° (Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Look Through), ΠΏΡ€ΠΈ этом тСряСтся ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ΄ΠΈΠ½ Ρ‚Π°ΠΊΡ‚ процСссора, Π·Π°Ρ‚ΠΎ экономится энСргия.

Π’ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… кэш ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ строится ΠΏΠΎ Π΄Π²ΡƒΡ…ΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ схСмС. ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ кэш (L1 Cache) встроСн Π²ΠΎ Π²ΡΠ΅ процСссоры класса 486 ΠΈ ΡΡ‚Π°Ρ€ΡˆΠ΅; это Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ кэш. ОбъСм этого кэша Π½Π΅Π²Π΅Π»ΠΈΠΊ (8−32 ΠšΠ±Π°ΠΉΡ‚). Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ кэш (Ρ‚Π°ΠΊ называСмая Гарвардская Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° — ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΎΠ½ΡΠΊΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ для ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…). Π’Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΉ кэш (L2 Cache) для процСссоров 486 ΠΈ Pentium являСтся внСшним (устанавливаСтся Π½Π° ΡΠΈΡΡ‚Π΅ΠΌΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅), Π° Ρƒ Π 6 располагаСтся Π² ΠΎΠ΄Π½ΠΎΠΉ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ с ΡΠ΄Ρ€ΠΎΠΌ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ся ΠΊ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ шинС процСссора.

Рис.

Кэш-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ³Π΅Ρ€Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ (coherency) — ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… кэш-памяти ΠΎΠ±ΠΎΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ памяти, ΠΏΡ€ΠΈ Ρ‚ΠΎΠΌ условии, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΡΡ‚ΠΈΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ процСссором, Π½ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ (busmaster) Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°ΠΌΠΈ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊ ΡˆΠΈΠ½Π°ΠΌ (PCI, VLB, ISA ΠΈ Ρ‚. Π΄.). Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ процСссоров ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько, ΠΈ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ свой Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ кэш.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ кэша ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ строками (cache line) фиксированной Π΄Π»ΠΈΠ½Ρ‹. Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ копию Π±Π»ΠΎΠΊΠ° основной памяти, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ, СстСствСнно, совпадаСт с Π΄Π»ΠΈΠ½ΠΎΠΉ строки. Π‘ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкой кэша связана информация ΠΎΠ± Π°Π΄Ρ€Π΅ΡΠ΅ скопированного Π² Π½Π΅Π΅ Π±Π»ΠΎΠΊΠ° основной памяти ΠΈ ΠΎΠ± Π΅Π΅ состоянии. Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ (valid) — это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ½Π° достовСрно ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ основной памяти, ΠΈΠ»ΠΈ Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±Π»ΠΎΠΊ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π°Π½Π½ΡƒΡŽ строку (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡΡ‚Π°Ρ€ΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ адрСса ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ€ страницы), ΠΈ ΠΎ Π΅Π΅ состоянии называСтся Ρ‚Π΅Π³ΠΎΠΌ (tag) ΠΈ Ρ…ранится Π² ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ с Π΄Π°Π½Π½ΠΎΠΉ строкой ячСйкС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ памяти Ρ‚Π΅Π³ΠΎΠ² (tag RAM). Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΡ… ΠΎΠ±ΠΌΠ΅Π½Π° с ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ строка участвуСт Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ (нСсСкторированный кэш), для процСссоров 486 ΠΈ ΡΡ‚Π°Ρ€ΡˆΠ΅ Π΄Π»ΠΈΠ½Π° строки совпадаСт с ΠΎΠ±ΡŠΠ΅ΠΌΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» (для 486 это 4×4=16 Π±Π°ΠΉΡ‚, для Pentium 4×8=32 Π±Π°ΠΉΡ‚). Π’ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ сСкторированного (sectored) кэша, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ΄Π½Π° строка содСрТит нСсколько смСТных ячССк — сСкторов, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… соотвСтствуСт минимальной ΠΏΠΎΡ€Ρ†ΠΈΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹Ρ… кэша с ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. ΠŸΡ€ΠΈ этом Π² Π·Π°ΠΏΠΈΡΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π±ΠΈΡ‚Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСктора Π΄Π°Π½Π½ΠΎΠΉ строки. Π‘Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ позволяСт ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ для хранСния ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ объСма кэша, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ большСС количСство Π±ΠΈΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° отводится ΠΏΠΎΠ΄ Ρ‚Π΅Π³ ΠΈ Π²Ρ‹Π³ΠΎΠ΄Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‡Π΅ΠΌ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ индСкса (количСство элСмСнтов) ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ кэша ΠΏΠΎΠ΄ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° памяти Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΌΠ°Ρ…Π°Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ чтСния, Π² Π 6 строки Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΈ ΠΏΡ€ΠΈ записи. Π—Π°ΠΏΠΈΡΡŒ Π±Π»ΠΎΠΊΠ°, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΏΠΈΠΈ Π² ΠΊΡΡˆΠ΅, производится Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ (для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ быстродСйствия запись ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· Π±ΡƒΡ„Π΅Ρ€ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ записи). ПовСдСниС кэш-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΏΡ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ записи Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° копия Π·Π°Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½Π½ΠΎΠΉ области находится Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ строкС кэша, опрСдСляСтся Π΅Π³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ, ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠΉ записи (Write Policy). Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π΅ основныС ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ записи Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΊΡΡˆΠ° Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ: сквозная запись WT (Write Through) ΠΈ ΠΎΠ±Ρ€Π°Ρ‚ная запись WB (Write Back).

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

ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° WB позволяСт ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ записи Π½Π° ΡˆΠΈΠ½Π΅ основной памяти. Если Π±Π»ΠΎΠΊ памяти, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ запись, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ Π² ΠΊΡΡˆΠ΅, Ρ‚ΠΎ Ρ„изичСская запись сначала Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° Π² ΡΡ‚Ρƒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ строку кэша, ΠΈ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π° ΠΊΠ°ΠΊ грязная (dirty), ΠΈΠ»ΠΈ модифицированная, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π°Ρ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Волько послС этой Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ (записи Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ) строка станСт чистой (clean), ΠΈ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ² Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ цСлостности Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»ΠΎΠΉ строкой. Π­Ρ‚Π° Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π΄ΠΎ Π½Π°ΡΡ‚уплСния ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ нСобходимости (ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ памяти Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π°Π±ΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ, Π·Π°ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π² ΠΊΡΡˆΠ΅ Π½ΠΎΠ²Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ) ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ врСмя послС ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ всСй строки. Π”Π°Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ слоТнСС Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎ эффСктивнСС, Ρ‡Π΅ΠΌ WT. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° систСмной ΠΏΠ»Π°Ρ‚ΠΎΠΉ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ с ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ записью Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… интСрфСйсных сигналов для Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… строк Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ссли ΠΊ ΡΡ‚ΠΎΠΉ области производится ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ со ΡΡ‚ΠΎΡ€ΠΎΠ½Ρ‹ Ρ‚Π°ΠΊΠΈΡ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΡˆΠΈΠ½Ρ‹, ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ процСссоры, графичСскиС Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ дисков, сСтСвыС Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹ ΠΈ Ρ‚. ΠΏ.

Π’ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΡΠΏΠΎΡΠΎΠ±Π° опрСдСлСния Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ³ΠΎ соотвСтствия строки кэша ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΠΈ основной памяти Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ Ρ‚Ρ€ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ кэш-памяти: кэш прямого отобраТСния (direct-mapped cache), ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ассоциативный кэш (fully associative cache) ΠΈ ΠΈΡ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ — частичноили Π½Π°Π±ΠΎΡ€Π½ΠΎ-ассоциативный кэш (set-associative cache).

2. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹

2.1 Кэш прямого отобраТСния

Рис. 2. Кэш прямого отобраТСния.

Π’ ΠΊΡΡˆ-памяти прямого отобраТСния адрСс памяти, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ происходит ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅, ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ опрСдСляСт строку кэша, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ Π±Π»ΠΎΠΊ. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΊΠΎΠ³ΠΎ кэша поясним Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ нСсСкторированного кэша объСмом 256 ΠšΠ±Π°ΠΉΡ‚ с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ строки 32 Π±Π°ΠΉΡ‚Π° ΠΈ ΠΎΠ±ΡŠΠ΅ΠΌΠΎΠΌ ΠΊΡΡˆΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ основной памяти 64 ΠœΠ±Π°ΠΉΡ‚ — Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ кэш систСмной ΠΏΠ»Π°Ρ‚Ρ‹ для Pentium. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ памяти Π² Ρ‚Π°ΠΊΠΎΠΉ систСмС ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ рис. 2.

ΠšΡΡˆΠΈΡ€ΡƒΠ΅ΠΌΠ°Ρ основная ΠΏΠ°ΠΌΡΡ‚ΡŒ условно разбиваСтся Π½Π° ΡΡ‚Ρ€Π°Π½ΠΈΡ†Ρ‹ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС 256), Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… совпадаСт с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ кэш-памяти (256 ΠšΠ±Π°ΠΉΡ‚). Кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ (ΠΈ ΡƒΡΠ»ΠΎΠ²Π½ΠΎ страницы основной памяти) дСлится Π½Π° ΡΡ‚Ρ€ΠΎΠΊΠΈ (256К / 32 = 8К строк). АрхитСктура прямого отобраТСния ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ каТдая строка кэша ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΈΠ· Π»ΡŽΠ±ΠΎΠΉ страницы ΠΊΡΡˆΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ памяти Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π΅ΠΉ ΡΡ‚Ρ€ΠΎΠΊΡƒ (Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ ΠΎΠ½ΠΈ находятся Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅). ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ объСм основной памяти ΠΌΠ½ΠΎΠ³ΠΎ большС объСма кэша, Π½Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку кэша ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ мноТСство Π±Π»ΠΎΠΊΠΎΠ² памяти с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ младшСй Ρ‡Π°ΡΡ‚ΡŒΡŽ адрСса (смСщСниСм Π²Π½ΡƒΡ‚Ρ€ΠΈ страницы). Одна строка Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚, СстСствСнно, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ копию Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΡ‚ΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ². НомСр (адрСс) строки Π² ΠΊΡΡˆ-памяти называСтся индСксом (index). Π’Π΅Π³ нСсСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±Π»ΠΎΠΊ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π°Π½Π½ΡƒΡŽ строку (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡΡ‚Π°Ρ€ΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ адрСса ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ€ страницы). ΠŸΠ°ΠΌΡΡ‚ΡŒ Ρ‚Π΅Π³ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ количСство ячССк, Ρ€Π°Π²Π½ΠΎΠ΅ количСству строк кэша, Π° Π΅Π΅ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ достаточной, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ Π±ΠΈΡ‚Ρ‹ адрСса ΠΊΡΡˆΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ памяти, Π½Π΅ ΠΏΠΎΠΏΠ°Π²ΡˆΠΈΠ΅ Π½Π° ΡˆΠΈΠ½Ρƒ адрСса кэш-памяти. ΠšΡ€ΠΎΠΌΠ΅ адрСсной части Ρ‚Π΅Π³Π° с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкой кэша связаны Π±ΠΈΡ‚Ρ‹ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ицированности Π΄Π°Π½Π½Ρ‹Ρ….

Π’ Π½Π°Ρ‡Π°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ обращСния ΠΊ ΠΊΡΡˆΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ памяти ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ считываСт ячСйку ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ индСксом, сравниваСт Π±ΠΈΡ‚Ρ‹ адрСса Ρ‚Π΅Π³Π° со ΡΡ‚Π°Ρ€ΡˆΠΈΠΌΠΈ Π±ΠΈΡ‚Π°ΠΌΠΈ адрСса памяти ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π­Ρ‚ΠΎΡ‚ Π°Π½Π°Π»ΠΈΠ· выполняСтся Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ слСТСния (snoop cycle), ΠΈΠ½ΠΎΠ³Π΄Π° Π΅Π³ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ†ΠΈΠΊΠ»ΠΎΠΌ запроса (inquire). Если Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π°Π½Π°Π»ΠΈΠ·Π° выясняСтся, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ Π±Π»ΠΎΠΊ Π½Π΅ Π½Π°Ρ…одится Π² ΠΊΡΡˆΠ΅, Ρ‚ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ся (ΠΈΠ»ΠΈ продолТаСтся) Ρ†ΠΈΠΊΠ» обращСния ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ памяти (случай кэш-ΠΏΡ€ΠΎΠΌΠ°Ρ…Π°). Π’ ΡΠ»ΡƒΡ‡Π°Π΅ попадания запрос обслуТиваСтся кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ ΠΏΡ€ΠΎΠΌΠ°Ρ…Π° послС считывания основной памяти ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΎΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ кэша (Ссли ΠΎΠ½Π° чистая), Π° Π² Π΅Π΅ Ρ‚Π΅Π³ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ Π±ΠΈΡ‚Ρ‹ адрСса ΠΈ ΡƒΡΡ‚анавливаСтся ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. НСзависимо ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΌΠ° Π·Π°Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ памяти строка пСрСписываСтся Π² ΠΊΡΡˆ вся Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ относится ΠΊΠΎ Π²ΡΠ΅ΠΌ Π΅Π΅ Π±Π°ΠΉΡ‚Π°ΠΌ). Если ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ кэша Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π΅Π΅ считываниС (read ahead), Ρ‚ΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ свободныС Ρ†ΠΈΠΊΠ»Ρ‹ ΡˆΠΈΠ½Ρ‹ обновится ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ строка (Ссли ΠΎΠ½Π° Π±Ρ‹Π»Π° чистой). Π§Ρ‚Π΅Π½ΠΈΠ΅ «ΠΏΡ€ΠΎ запас» позволяСт ΠΏΡ€ΠΈ нСобходимости ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» чтСния ΠΈΠ· ΠΊΡΡˆΠ° Ρ‡Π΅Ρ€Π΅Π· Π³Ρ€Π°Π½ΠΈΡ†Ρƒ строки.

Π’Π°ΠΊΠΎΠΉ кэш ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ°ΠΌΡƒΡŽ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ся Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠΌ кэшС Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° систСмных ΠΏΠ»Π°Ρ‚. Однако Π΅ΠΌΡƒ присущ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΉ нСдостаток, Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ ΠΏΡ€ΠΈ рассмотрСнии рис. 2. Если Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ процСссору ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±Π»ΠΎΠΊΠΈ памяти, смСщСнныС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π° Π½Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ, ΠΊΡ€Π°Ρ‚Π½ΡƒΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ страницы (Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ это Π±ΡƒΠ΄ΡƒΡ‚ Π±Π»ΠΎΠΊΠΈ, располоТСнныС Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ Π² Ρ€Π°Π·Π½Ρ‹Ρ… страницах), Ρ‚ΠΎ ΠΊΡΡˆ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ интСнсивно, Π½ΠΎ Π²Ρ…ΠΎΠ»ΠΎΡΡ‚ΡƒΡŽ (cache trashing). ΠžΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, считанныС Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ, — Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ сплошная Ρ‡Π΅Ρ€Π΅Π΄Π° кэш-ΠΏΡ€ΠΎΠΌΠ°Ρ…ΠΎΠ². ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ страниц Π² ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½Ρ‹Ρ… ΠžΠ‘ Ρ‚Π°ΠΊΠΆΠ΅ сниТаСт количСство кэш-ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎ отраТаСтся Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы. Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° кэша ΠΏΡ€ΠΈ сохранСнии Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ прямого отобраТСния даст Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ сущСствСнный эффСкт, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π·Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ строки кэша. НС ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ объСма, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ структуры кэша, ΠΎ Ρ‡Π΅ΠΌ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ Π΄Π°Π»Π΅Π΅.

ОбъСм ΠΊΡΡˆΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ памяти (MCACHED) ΠΏΡ€ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ прямого отобраТСния опрСдСляСтся объСмом кэш-памяти (VCACHE) ΠΈ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ памяти Ρ‚Π΅Π³ΠΎΠ² (N):

MCACHED = VCACHE x 2N, Π² Π½Π°ΡˆΠ΅ΠΌ случаС MCACHED = 256 ΠšΠ±Π°ΠΉΡ‚ Ρ… 28 = 64 ΠœΠ±Π°ΠΉΡ‚.

Иногда Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ кэша прямого отобраТСния Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ понятиС Π½Π°Π±ΠΎΡ€ (set), Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ±ΠΈΡ‚ΡŒ с Ρ‚ΠΎΠ»ΠΊΡƒ. Оно примСняСтся вмСсто Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° строка (line) Π² ΡΠ΅ΠΊΡ‚ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ кэшС прямого отобраТСния, Π° ΡΠ΅ΠΊΡ‚ΠΎΡ€ Ρ‚ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ строкой.

Π‘ Π½Π°Π±ΠΎΡ€ΠΎΠΌ (ΠΊΠ°ΠΊ ΠΈ ΡΡ‚Ρ€ΠΎΠΊΠΎΠΉ нСсСкторированного кэша) связана информация ΠΎ Ρ‚Π΅Π³Π΅, относящаяся ΠΊΠΎ Π²ΡΠ΅ΠΌ элСмСнтам Π½Π°Π±ΠΎΡ€Π° (строкам ΠΈΠ»ΠΈ сСкторам). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π½Π°Π±ΠΎΡ€Π° (строка ΠΈΠ»ΠΈ сСктор) ΠΈΠΌΠ΅Π΅Ρ‚ собствСнный Π±ΠΈΡ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² ΠΊΡΡˆ-ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ (рис. 3).

Рис. 3. Π‘Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ кэш прямого отобраТСния.

2.2 Наборно-ассоциативный кэш

Наборно-ассоциативная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° кэша позволяСт ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π±Π»ΠΎΠΊΡƒ ΠΊΡΡˆΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ памяти ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк кэша, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… Π² Π½Π°Π±ΠΎΡ€ (set).

МоТно ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² ΡΡ‚ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Π΅ΡΡ‚ΡŒ нСсколько ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΊΠ°Π½Π°Π»ΠΎΠ² прямого отобраТСния, Π³Π΄Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ кэша приходится ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, Π² ΠΊΠ°ΠΊΡƒΡŽ ΠΈΠ· ΡΡ‚Ρ€ΠΎΠΊ Π½Π°Π±ΠΎΡ€Π° ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Π±Π»ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ….

Π’ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ случаС ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ памяти ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π΄Π²ΡƒΡ… строк (Two Way SetAssociative Cache). Π’Π°ΠΊΠΎΠΉ кэш Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄Π²Π° Π±Π°Π½ΠΊΠ° памяти ΠΈ Ρ‚Π΅Π³ΠΎΠ² (рис. 4).

Рис. 4. Π”Π²ΡƒΡ…ΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€Π½ΠΎ-ассоциативный кэш.

НомСр Π½Π°Π±ΠΎΡ€Π° (индСкс), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π·Π°Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ опрСдСляСтся срСднСй Ρ‡Π°ΡΡ‚ΡŒΡŽ адрСса (ΠΊΠ°ΠΊ Π½ΠΎΠΌΠ΅Ρ€ строки Π² ΠΊΡΡˆΠ΅ прямого отобраТСния). Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π½Π°Π±ΠΎΡ€Π°, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰Π°Ρ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ Π±Π»ΠΎΠΊ, опрСдСляСтся сравнСниСм Ρ‚Π΅Π³ΠΎΠ² (ΠΊΠ°ΠΊ ΠΈ Π² Π°ΡΡΠΎΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π½ΠΎΠΌ кэшС), ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ выполняСмым для всСх ΠΊΠ°Π½Π°Π»ΠΎΠ² кэша. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ связан ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ строку Π½Π°Π±ΠΎΡ€Π°, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΡƒΡŽ Π·Π°ΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ Π½ΠΎΠ²Ρ‹ΠΌ Π±Π»ΠΎΠΊΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡΠ»ΡƒΡ‡Π°Π΅ кэш-ΠΏΡ€ΠΎΠΌΠ°Ρ…Π° (Π½Π° Ρ€ΠΈΡ. 4 Π² Π΅Π΅ ΡΡ‚ΠΎΡ€ΠΎΠ½Ρƒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ стрСлка). ΠšΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠΌ Π½Π° Π·Π°ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выбираСтся строка, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ дольшС всСго Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°Π»ΠΈΡΡŒ (Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ LRU — Least Recently Used). ΠŸΡ€ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большом количСствС ΠΊΠ°Π½Π°Π»ΠΎΠ² (строк Π² Π½Π°Π±ΠΎΡ€Π΅) ΠΏΡ€ΠΈΠ±Π΅Π³Π°ΡŽΡ‚ ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΡŽ — Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ PseudoLRU для Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… строк (Four Way Set Associative Cache) позволяСт ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ всСго 3 Π±ΠΈΡ‚Π°. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° замСщСния FIFO (ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ вошСл — ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈ Π²Ρ‹ΡˆΠ΅Π») ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ случайного (random) замСщСния, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, Π½ΠΎ ΠΌΠ΅Π½Π΅Π΅ эффСктивно.

Наборно-ассоциативная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΡˆΠΈΡ€ΠΎΠΊΠΎ примСняСтся для ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ кэша соврСмСнных процСссоров. ОбъСм ΠΊΡΡˆΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ памяти опрСдСляСтся Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅, Π½ΠΎ Π·Π΄Π΅ΡΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ объСм ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π°Π½ΠΊΠ° (Π° Π½Π΅ Π²ΡΠ΅Π³ΠΎ кэша) ΠΈ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ относящихся ΠΊ Π½Π΅ΠΌΡƒ ячССк Ρ‚Π΅Π³Π°.

2.3 Ассоциативный кэш

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

3. Алгоритмы ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ дСйствия

3.1 Алгоритмы замСщСния Π΄Π°Π½Π½Ρ‹Ρ…

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

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

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

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

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

Π Π°Π·ΠΌΠ΅Ρ€ кэш-памяти

LRU

Random

LRU

Random

LRU

Random

16 KB

5.18%

5.69%

4.67%

5.29%

4.39%

4.96%

64 KB

1.88%

2.01%

1.54%

1.66%

1.39%

1.53%

256 KB

1.15%

1.17%

1.13%

1.13%

1.12%

1.12%

3.2 Алгоритмы псСвдо-LRU

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

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ строки Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅ Ρ‡Π΅Ρ€Π΅Π· L0, L1, L2 ΠΈ L3. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ мноТСству Π² Π±Π»ΠΎΠΊΠ΅ LRU ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Ρ€ΠΈ Π±ΠΈΡ‚Π° Π’0, Π’1 ΠΈ Π’2, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

— Π΅ΡΠ»ΠΈ послСднСС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π² ΠΏΠ°Ρ€Π΅ L0—L1 Π±Ρ‹Π»ΠΎ ΠΊ ΡΡ‚Ρ€ΠΎΠΊΠ΅ L0, Ρ‚ΠΎ Π±ΠΈΡ‚ Π’1 устанавливаСтся Π² ΡΠΎΡΡ‚ояниС 1, Π° ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΡΡ‚Ρ€ΠΎΠΊΠ΅ L1 Π±ΠΈΡ‚ Π’1 сбрасываСтся Π² 0;

— Π΅ΡΠ»ΠΈ послСднСС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π² ΠΏΠ°Ρ€Π΅ L2—L3 Π±Ρ‹Π»ΠΎ ΠΊ ΡΡ‚Ρ€ΠΎΠΊΠ΅ L2, Ρ‚ΠΎ Π±ΠΈΡ‚ Π’2 устанавливаСтся Π² ΡΠΎΡΡ‚ояниС 1, Π° ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΡΡ‚Ρ€ΠΎΠΊΠ΅ L3 Π±ΠΈΡ‚ Π’2 сбрасываСтся Π² 0. Π’Ρ‹Π±ΠΎΡ€ замСняСмой строки (ΠΊΠΎΠ³Π΄Π° всС строки Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅ достовСрны) опрСдСляСт содСрТимоС Π±ΠΈΡ‚ Π’0, Π’1 ΠΈ Π’2:

Π’Π°Π±Π»ΠΈΡ†Π°

Π’0

Π’1

Π’2

X

замСняСтся строка L0

X

замСняСтся строка L1

X

замСняСтся строка L2

X

замСняСтся строка L3

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ кэш-памяти ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ нСдостовСрными, задавая ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ нСдостовСрности кэш-памяти Π½Π° ΡˆΠΈΠ½Π΅ процСссора. ΠŸΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ сравниваСт ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅ΠΌΡ‹ΠΉ нСдостовСрным адрСс с Ρ‚эгами строк, находящихся Π² ΠΊΡΡˆ-памяти, ΠΈ ΡΠ±Ρ€Π°ΡΡ‹Π²Π°Π΅Ρ‚ Π±ΠΈΡ‚ достовСрности ΠΏΡ€ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ соотвСтствия (равСнства). ΠŸΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½Π° Ρ‚Π°ΠΊΠΆΠ΅ опСрация очистки кэш-памяти, которая ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π² Π½Π΅Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€Π½ΠΎΠ΅ всС содСрТимоС кэш-памяти.

4. НСдостатки Ρ€Π°Π±ΠΎΡ‚Ρ‹ устройства ΠΏΡ€ΠΈ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ машина ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

НСдостатки рассмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ‚Ρ€Π΅Ρ… Π²ΠΈΠ΄ΠΎΠ² процСссоров: Intel, AMD, IBM. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ нСдостатков процСссора P-4 ΡΠ²Π»ΡΡŽΡ‚ΡΡ слСдствиСм Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠΉ, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° Π΄ΠΎΡΡ‚ΠΈΠΆΠ΅Π½ΠΈΠ΅ высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ — ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частоты ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ спСкулятивного Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π° ΠΌΠ½ΠΎΠ³ΠΈΡ… дСйствий ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ выполнСния «Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ…» ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² ΡƒΡ‰Π΅Ρ€Π± «Π½Π΅Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌ». ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ нСдостатками ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

Β· острая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° алиасинга ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· L1-кэша ΠΈ, ΠΊΠ°ΠΊ слСдствиС, Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π½Π° Ρ€Π΅ΠΏΠ»Π΅ΠΉ (Π² ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ процСссорС P-4);

Β· половинная частота запуска скалярных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ SSE;

Β· нСэффСктивная рСализация Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ сдвига (всСх сдвигов Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π΅ P-4, сдвигов Π²ΠΏΡ€Π°Π²ΠΎ ΠΈ Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π΅ΡΠΊΠΈΡ… Π² 64-Π±ΠΈΡ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π΅ P-4E);

Β· высокая Π»Π°Ρ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ инструкций, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с Ρ„Π»Π°Π³ΠΎΠΌ пСрСноса CF (ADC, SBB);

Β· большая Π΄Π»ΠΈΠ½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° нСпрСдсказанного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°;

Β· нСдостаточная ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π’-кэша для ΠΏΠ»ΠΎΡ…ΠΎ структурированных ΠΊΠΎΠ΄ΠΎΠ²;

Β· ΠΌΠ°Π»Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ L1-кэша ΠΈ Π²Ρ‹ΡΠΎΠΊΠ°Ρ Π»Π°Ρ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ доступа ΠΊ L2-ΠΊΡΡˆΡƒ.

АрхитСктурС процСссора K8 (AMD) имССтся ΠΈ Ρ€ΡΠ΄ нСдостатков, Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… обусловлСна Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ ограничСниями ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹:

Β· статичСскоС Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ° МОПов Π½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎ 3 элСмСнта с ΠΏΡ€ΠΈΠ²ΡΠ·ΠΊΠΎΠΉ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… устройств ALU/AGU ΠΊ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡΠΌ этих элСмСнтов;

Β· слабая систСма прСдсказания ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹;

Β· нСдостаточно ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Π°Ρ аппаратная ΠΏΡ€Π΅Π΄Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° ΠΈΠ· ΠΏΠ°ΠΌΡΡ‚ΠΈ;

Β· отсутствиС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² пСрСупорядочСния ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ ΠΏΠ°ΠΌΡΡ‚ΠΈ;

Β· Π²Π·Π°ΠΈΠΌΠ½ΠΎ эксклюзивная организация кэшСй, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈΠ· L2-кэша ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ врСмя доступа;

Β· нСдостаточная Π°ΡΡΠΎΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ L1-кэшСй, ΡΠ½ΠΈΠΆΠ°ΡŽΡ‰Π°Ρ ΠΈΡ… ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ.

Π’ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ PPC970 ΠΊ ΠΎΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ ограничСниям ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ отнСсти:

Β· статичСскоС Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ° МОПов Π½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎ 4−5 элСмСнтов с ΠΏΡ€ΠΈΠ²ΡΠ·ΠΊΠΎΠΉ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… устройств ΠΊ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡΠΌ этих элСмСнтов;

Β· Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ мноТСства ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… условий, ΡΠ½ΠΈΠΆΠ°ΡŽΡ‰ΠΈΡ… число МОПов Π² Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ (Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΈΠ· Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€Π°);

Β· нСдостаточно эффСктивная рСализация L1-кэшСй, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ассоциативности ΠΈ ΡΠ»ΠΈΡˆΠΊΠΎΠΌ большой Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ°;

Β· Π·Π°Π²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠ΅ врСмя выполнСния прСдсказанного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° (3 Ρ‚Π°ΠΊΡ‚Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ² 2 Ρ‚Π°ΠΊΡ‚ΠΎΠ² Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… процСссоров);

Β· высокая Π»Π°Ρ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ выполнСния цСлочислСнных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (2 Ρ‚Π°ΠΊΡ‚Π°) ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ (6 Ρ‚Π°ΠΊΡ‚ΠΎΠ²);

Β· нСдостаточная пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ памяти ΠΈΠ·-Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ скорости ΡˆΠΈΠ½Ρ‹.

5. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ эффСктивности доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ

Π’ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… процСссорах ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ срСдства, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΈ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π½Π° ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΈΡ… ΠΏΡ€ΠΈΡ…ΠΎΠ΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ этого доступа. НаиболСС Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ ΠΈΠ· ΡΡ‚ΠΈΡ… срСдств ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΏΡ€Π΅Π΄Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈΠ· ΠΏΠ°ΠΌΡΡ‚ΠΈ. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… процСссоров Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π²Π° Ρ‚Π°ΠΊΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° — программная ΠΏΡ€Π΅Π΄Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° (software prefetch), ΠΈ Π°Π²Ρ‚оматичСская аппаратная ΠΏΡ€Π΅Π΄Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° (hardware prefetch).

НаличиС ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… инструкций ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΏΡ€Π΅Π΄Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ позволяСт ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ пСрСсылку Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π² ΠΊΡΡˆΠΈ процСссора Π·Π°Π±Π»Π°Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, с Ρ‚Π°ΠΊΠΈΡ… расчётом, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ использования этих Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ оказались Π±Ρ‹ Π² ΠΊΡΡˆΠ°Ρ…. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€Π΅Π΄Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° лишь ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ считываниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΏΠ°ΠΌΡΡ‚ΠΈ, послС Ρ‡Π΅Π³ΠΎ считаСтся Π·Π°Π²Π΅Ρ€ΡˆΡ‘Π½Π½ΠΎΠΉ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ доступа ΠΊ ΠΏΠ°ΠΌΡΡ‚ΠΈ, опСрация ΠΏΡ€Π΅Π΄Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ рСгистр, поэтому ΠΎΠ½Π° Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² Π±ΡƒΡ„Π΅Ρ€Π΅ пСрСупорядочСния ROB ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π° Π² ΠΎΡ‚ставку Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. ИспользованиС ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ (с Ρ†Π΅Π»ΡŒΡŽ ускорСния ΠΈΡ… ΠΏΡ€ΠΈΡ…ΠΎΠ΄Π° Π² ΠΊΡΡˆ) ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ Π±Ρ‹ ΠΊ Ρ‚Π°ΠΊΠΎΠΌΡƒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ — нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, считанноС Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€, Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΠ»ΠΎΡΡŒ Π±Ρ‹ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ инструкций ΠΏΡ€Π΅Π΄Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ — считываниС ΠΈΠ· ΠΏΠ°ΠΌΡΡ‚ΠΈ Π² L2-кэш, считываниС ΠΈΠ· ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΈΠ»ΠΈ ΠΈΠ· L2-кэша Π² L1-кэш, считываниС Π±Π»ΠΎΠΊΠ° для Π΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Π»ΠΈΠ±ΠΎ для ΠΎΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ использования. Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π΅ P-4 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΡ€Π΅Π΄Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² L2-кэш.

АвтоматичСская аппаратная ΠΏΡ€Π΅Π΄Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° прСдставляСт собой ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ распознаёт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ (ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ рСгулярныС) обращСния Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ ΠΏΡ‹Ρ‚аСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π΅ΠΆΠ°ΡŽΡ‰ΡƒΡŽ ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… процСссорах этот ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΡƒΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π² ΠΏΡ€ΡΠΌΠΎΠΌ, Ρ‚Π°ΠΊ ΠΈ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ адрСсов Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ) ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ нСсколько нСзависимых ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ адрСсов, обСспСчивая Ρ‚Π΅ΠΌ самым ΠΏΡ€Π΅Π΄Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

НаиболСС ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΏΡ€Π΅Π΄Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Π½ΠΎΠ²ΠΎΠΌ процСссорС P8 (Intel Core).

Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ связан с ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ями Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² ΡƒΡΠ»ΠΎΠ²ΠΈΡΡ… Π²Π½Π΅ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ исполнСния. Π’ ΡΠ²ΡΠ·ΠΈ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ опСрация ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ ΡƒΡ…ΠΎΠ΄Π° Π² ΠΎΡ‚ставку ΠΈ Π½Π΅ Ρ€Π°Π½Π΅Π΅, Ρ‡Π΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ отставлСны всС ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, физичСская запись Π² ΠΊΡΡˆΠΈ ΠΈΠ»ΠΈ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° Π΄ΠΎ ΡΡ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°. По ΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ всС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ (записи) Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Π±ΡƒΡ„Π΅Ρ€Π΅ упорядочСния ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ ΠΏΠ°ΠΌΡΡ‚ΠΈ MOB (Memory Order Buffer). ЀизичСская запись Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΡΡ‚ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π° Π² ΠΊΡΡˆ производится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ отставки ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ инструкции. Если опСрация Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ (чтСния) ΠΈΠ· ΠΏΠ°ΠΌΡΡ‚ΠΈ адрСсуСт элСмСнт Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ оказался Π² ΡΡ‚ΠΎΠΌ Π±ΡƒΡ„Π΅Ρ€Π΅, Ρ‚ΠΎ ΠΎΠ½ ΡΡ‡ΠΈΡ‚ываСтся нСпосрСдствСнно ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π°.

Π’ ΡƒΡΠ»ΠΎΠ²ΠΈΡΡ… Π²Π½Π΅ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ исполнСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ опСрация Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ окаТСтся Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ выполнится опСрация Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ адрСсу. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ адрСс Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½, ΠΈ Π΅ΡΡ‚ΡŒ риск, Ρ‡Ρ‚ΠΎ рассматриваСмая опСрация Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠΎΠ³Π»Π° Π±Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΊ ΡΡ‚ΠΈΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎ ΡΡ‚ΠΎΠΌΡƒ адрСсу. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π°, Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π°Ρ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ консСрвативныС схСмы управлСния опСрациями обращСния Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ, с Π·Π°ΠΏΡ€Π΅Ρ‚ΠΎΠΌ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π»ΡŽΠ±Ρ‹Ρ… рискованных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ привСсти ΠΊ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Однако Ρ‚Π°ΠΊΠΈΠ΅ консСрвативныС схСмы ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ Π²Π½Π΅ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΌΡƒ исполнСнию «Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Ρ‹Ρ…» ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ ΠΏΡ€ΠΈΠ²Π΅ΡΡ‚ΠΈ ΠΊ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΏΠΎ Π°Π΄Ρ€Π΅ΡΠ°ΠΌ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅Π²Π΅Π»ΠΈΠΊΠ°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° восстановлСния Π² ΡΠ»ΡƒΡ‡Π°Π΅ выполнСния Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ обращСния Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π·Π°ΠΏΡ€Π΅Ρ‚Π° Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ рискованных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π΅ P8 (Intel Core) Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ — ΠΎΠ½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡƒ восстановлСния послС Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ прСдсказанного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ отставки инструкции ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° производится ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ прСдсказания.

Помимо ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° восстановлСния, Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π΅ P8 имССтся Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ «ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ», Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ состоит Π² ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠΈ вСроятности исполнСния рискованной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ· ΠΏΠ°ΠΌΡΡ‚ΠΈ. Если Ρ‚Π°ΠΊΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ опСрация Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ с Π½Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹ΠΌ (Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚) адрСсом памяти, производится прСдсказаниС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° ΠΏΠΎ Π°Π΄Ρ€Π΅ΡΠ°ΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Если прСдсказываСтся отсутствиС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°, опСрация Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ запускаСтся Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Если Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ отставки этой инструкции выяснится, Ρ‡Ρ‚ΠΎ прСдсказаниС Π±Ρ‹Π»ΠΎ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΌ, ΠΈ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΡ‘Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΏΠΎ Π°Π΄Ρ€Π΅ΡΠ°ΠΌ с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ, Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½Π° вмСстС со Π²ΡΠ΅ΠΌΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ опСрациями, ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ Π΅Ρ‘ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠžΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π½Π°Π·Π²Π°Π½ΠΈΠ΅ «ΡƒΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΠ΅ нСоднозначностСй Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ» (Memory Disambiguation).

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ рассмотрим Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ связан с Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠ΅ΠΌ адрСсов для ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ — Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ стСком. АдрСс Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ стСка хранится Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ ESP. ИзмСнСниС этого рСгистра ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ нСявно, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΡΡ‚Π΅ΠΊΠ° (инструкции PUSH ΠΈ POP) Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅ ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (инструкции CALL ΠΈ RET), Ρ‚Π°ΠΊ ΠΈ ΡΠ²Π½ΠΎ, Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ цСлочислСнной инструкции. Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ инструкции, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ рСгистр ESP ΠΈ Π½Π΅ΡΠ²Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π»ΠΈΡΡŒ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€ΠΎΠΌ Π² Π΄Π²Π° МОПа, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ» ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ дСйствиС, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ — выполнял ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ слоТСния ΠΈΠ»ΠΈ вычитания для рСгистра ESP.

Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π°Ρ… P-M, P-M2 ΠΈ P8 Π²Π²Π΅Π΄Ρ‘Π½ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «Dedicated Stack Engine». Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ отслСТиваСт (Π½Π° ΡΡ‚Π°ΠΏΠ΅ дСкодирования инструкций) Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ стСка ΠΈ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ‚ Π² ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅ΠΌΡ‹Ρ… ΠœΠžΠŸΠ°Ρ… Π°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ «ΠΌΠ΅Π½ΡΡŽΡ‰Π΅ΠΌΡƒΡΡ» рСгистру ESP Π½Π° ΡΡƒΠΌΠΌΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ «ΠΏΠΎΡΡ‚оянного» Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ адрСса стСка ΠΈ ΠΎΡ‚слСТиваСмого смСщСния. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΡ‚ΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ постоянно ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ рСгистр ESP — Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΡΠ»ΡƒΡ‡Π°Π΅ явного использования Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΈΠ»ΠΈ индСкса. Благодаря этому ΠΈΡΡ‡Π΅Π·Π°ΡŽΡ‚ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ опСрациями ΠΏΠΎ ΡΡ‚ΠΎΠΌΡƒ рСгистру, сниТаСтся число МОПов Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… инструкциях (с Π΄Π²ΡƒΡ… Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ), ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ΡΡ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€Π° ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ся общая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ процСссора.

Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ машина ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π“ΡƒΠΊ М., АппаратныС срСдства IBM PC, ЭнциклопСдия — БПб: ΠŸΠΈΡ‚Π΅Ρ€ΠšΠΎΠΌ, 1999. — 816с.: ΠΈΠ».

Π­.Π’Π°Π½Π½Π΅Π½Π±Π°ΡƒΠΌ, Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы, БПб: ΠŸΠΈΡ‚Π΅Ρ€, 2002. — 1024 с.

Π“Ρ€ΠΈΠ³ΠΎΡ€ΡŒΠ΅Π² Π’.А., ΠœΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ i486. АрхитСктура ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (Π² 4-Ρ… ΠΊΠ½ΠΈΠ³Π°Ρ…). Книга 2. ВнутрСння Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° М., Π“Ρ€Π°Π½Π°Π», 1993. — Ρ. 382, ΠΈΠ». 54.

ΠœΠ°Ρ€Π³ΠΎΠ»ΠΈΡ А., Поиск ΠΈ ΡƒΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΠ΅ нСисправностСй Π² ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…. — Πš.: «Π”ΠΈΠ°Π»Π΅ΠΊΡ‚ΠΈΠΊΠ°», 1994. — 368с., ΠΈΠ».

ΠšΠΎΠ½ΡΠΏΠ΅ΠΊΡ‚ Π»Π΅ΠΊΡ†ΠΈΠΉ.

ΠŸΠ΅Ρ‚Ρ€ΠΎΠ²ΡΠΊΠΈΠΉ И.И., ΠŸΡ€ΠΈΠ±Ρ‹Π»ΡŒΡΠΊΠΈΠΉ А. Π’., ЛогичСскиС ИБ КР1533, КР1554. Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ. Π§Π°ΡΡ‚ΡŒ 2. «Π‘ΠΈΠ½ΠΎΠΌ», 1993.

Π¨ΡƒΠ»ΡŒΠ³ΠΈΠ½ О.А. ΠΈ Π΄Ρ€., Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ логичСским микросхСмам, Π§Π°ΡΡ‚ΡŒ 1 ΠΈ 2, М.: Π˜Π”Π”Πš, 1998.

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