ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠ΄Π°: ΠΏΠ°ΠΌΡΡ‚ΡŒ

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

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

ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π€ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС

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

Как программист, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ памяти, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° сильно влияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Если Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ систСма ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π²Π²Π΅Ρ€Ρ… ΠΈ Π²Π½ΠΈΠ· ΠΏΠΎ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ свои Π΄Π°Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ процСссор ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½ΠΈΠΌ доступ быстрСС.

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

На написаниС этой ΡΡ‚Π°Ρ‚ΡŒΠΈ мСня Π²Π΄ΠΎΡ…Π½ΠΎΠ²ΠΈΠ»Π° ΡˆΠ΅ΡΡ‚Π°Ρ Π³Π»Π°Π²Π° ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ Computer Systems: A Programmer’s Perspective. Π’ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΈΠ· этой сСрии, Β«ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠ΄Π°: процСссор», ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ борСмся Π·Π° Ρ‚Π°ΠΊΡ‚Ρ‹ процСссора.

ΠŸΠ°ΠΌΡΡ‚ΡŒ Ρ‚ΠΎΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Рассмотрим Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡƒΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ элСмСнты ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Они практичСски ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ пСрвая функция ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ элСмСнты ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ построчно, Π° вторая β€” ΠΏΠΎ столбцам.

ОбС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ количСство инструкций процСссора. Но Π½Π° машинС с Core i7 Haswell пСрвая функция выполняСтся Π² 25 Ρ€Π°Π· быстрСС для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΌΠ°Ρ‚Ρ€ΠΈΡ†. Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ…ΠΎΡ€ΠΎΡˆΠΎ дСмонстрируСт, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΌΡΡ‚ΡŒ Ρ‚ΠΎΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Если Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… количСства выполняСмых инструкций, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π”Π°Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π²Π°ΠΆΠ½ΠΎΠ΅ свойство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. ΠšΠΎΠ³Π΄Ρ‹ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Π² памяти рядом. ΠžΠ±Ρ…ΠΎΠ΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΏΠΎ столбцам ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ»ΠΎΡ…ΡƒΡŽ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° хранится Π² памяти построчно. О Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π½ΠΈΠΆΠ΅.

Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ памяти

БоврСмСнная систСма памяти ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ ΠΎΡ‚ быстрых Ρ‚ΠΈΠΏΠΎΠ² памяти малСнького Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π΄ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² памяти большого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. ΠœΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΊΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ»ΠΈ являСтся кэшСм для Π΄Π°Π½Π½Ρ‹Ρ…, располоТСнных Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ содСрТит ΠΊΠΎΠΏΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня. Когда процСссор Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΠ½ ΠΈΡ… спСрва ΠΈΡ‰Π΅Ρ‚ Π½Π° самых быстрых высоких уровнях. И спускаСтся Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠ΅, Ссли Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ.

На Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ находятся рСгистры процСссора. Доступ ΠΊ Π½ΠΈΠΌ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 0 Ρ‚Π°ΠΊΡ‚ΠΎΠ², Π½ΠΎ ΠΈΡ… всСго нСсколько ΡˆΡ‚ΡƒΠΊ. Π”Π°Π»Π΅Π΅ ΠΈΠ΄Ρ‘Ρ‚ нСсколько ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚ кэш-памяти ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня, доступ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 4 Ρ‚Π°ΠΊΡ‚Π°. ΠŸΠΎΡ‚ΠΎΠΌ ΠΈΠ΄Ρ‘Ρ‚ ΠΏΠ°Ρ€Π° сотСн ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ кэш-памяти Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ уровня. ΠŸΠΎΡ‚ΠΎΠΌ нСсколько ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ кэш-памяти Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ уровня. Она Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅ΠΉ, Π½ΠΎ всё Ρ€Π°Π²Π½ΠΎ быстрСС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. Π”Π°Π»Π΅Π΅ располоТСна ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСдлСнная опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ кэш для локального диска. Диски это Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ лошадки срСди устройств хранСния. Они большиС, ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Π΅ ΠΈ стоят Π΄Ρ‘ΡˆΠ΅Π²ΠΎ. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ с диска Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° собираСтся Π½Π°Π΄ Π½ΠΈΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Π Π°Π·Ρ€Ρ‹Π² Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ доступа ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ диском ΠΊΠΎΠ»ΠΎΡΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ. Диск ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π² дСсятки тысяч Ρ€Π°Π·, ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ кэша ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня Π² ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ Ρ€Π°Π·. Π’Ρ‹Π³ΠΎΠ΄Π½Π΅Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ нСсколько тысяч Ρ€Π°Π· ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, Ρ‡Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΊ диску. На это Π·Π½Π°Π½ΠΈΠ΅ ΠΎΠΏΠΈΡ€Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ B-Π΄Π΅Ρ€Π΅Π²ΡŒΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡ‚Π°Ρ€Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ обращСния ΠΊ диску любой Ρ†Π΅Π½ΠΎΠΉ.

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

БоврСмСнная систСма ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ характСристики:

Π’ΠΈΠΏ ΠΊΡΡˆΠ°Π’Ρ€Π΅ΠΌΡ доступа (Ρ‚Π°ΠΊΡ‚ΠΎΠ²)Π Π°Π·ΠΌΠ΅Ρ€ кэша
РСгистры0дСсятки ΡˆΡ‚ΡƒΠΊ
L1 кэш432 KB
L2 кэш10256 KB
L3 кэш508 MB
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ2008 GB
Π‘ΡƒΡ„Π΅Ρ€ диска100’00064 MB
Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ диск10’000’0001000 GB
Π£Π΄Π°Π»Ρ‘Π½Π½Ρ‹Π΅ сСрвСра1’000’000’000∞

Быстрая ΠΏΠ°ΠΌΡΡ‚ΡŒ стоит ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΡ€ΠΎΠ³ΠΎ, Π° мСдлСнная ΠΎΡ‡Π΅Π½ΡŒ Π΄Ρ‘ΡˆΠ΅Π²ΠΎ. Π­Ρ‚ΠΎ вСликая идСя Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² систСм ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ большиС Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ ΠΈ Π΄Π΅ΡˆΡ‘Π²ΠΎΠΉ памяти с малСнькими Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ быстрой ΠΈ Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ систСма ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° скорости быстрой памяти ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрёмся ΠΊΠ°ΠΊ это удаётся.

Допустим, ваш ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ 8 Π“Π‘ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈ диск Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 1000 Π“Π‘. Но ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ со всСми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π° дискС Π² ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π’Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚Π΅ Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠΏΠ°Ρ€Ρƒ-Ρ‚Ρ€ΠΎΠΉΠΊΡƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Π½ΠΈΠΌΠΈ нСсколько часов. ВсС эти прилоТСния ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, поэтому вашСй систСмС Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ диску. ΠŸΠΎΡ‚ΠΎΠΌ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Ρ‹ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ приходится Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ с диска Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Но это Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ°Ρ€Ρƒ сСкунд, послС Ρ‡Π΅Π³ΠΎ Π²Ρ‹ нСсколько часов Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с этим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ диску. Π’Ρ‹ Π½Π΅ особо Π·Π°ΠΌΠ΅Ρ‡Π°Π΅Ρ‚Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ диск, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с нСбольшим Π±ΡŠΡ‘ΠΌΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. Π’Π°ΠΌ Π½Π΅Ρ‚ смысла Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ дСньги Π½Π° установку 1024 Π“Π‘ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ содСрТимоС всСго диска. Если Π±Ρ‹ Π²Ρ‹ это сдСлали, Π²Ρ‹ Π±Ρ‹ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ Π² Ρ€Π°Π±ΠΎΡ‚Π΅, это Π±Ρ‹Π»ΠΎ Π±Ρ‹ «дСньги Π½Π° Π²Π΅Ρ‚Π΅Ρ€Β».

Π’Π°ΠΊ ΠΆΠ΅ Π΄Π΅Π»ΠΎ обстоит ΠΈ с малСнькими кэшами процСссора. Допустим Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ вычислСния Π½Π°Π΄ массивом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит 1000 элСмСнтов Ρ‚ΠΈΠΏΠ° int. Π’Π°ΠΊΠΎΠΉ массив Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 4 ΠšΠ‘ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ помСщаСтся Π² кэшС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 32 ΠšΠ‘. БистСма ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π°Ρ‡Π°Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ куском ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. Она ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ этот кусок Π² кэш, ΠΈ процСссор быстро выполняСт дСйствия Π½Π°Π΄ этим массивом, наслаТдаясь ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ кэша. ΠŸΠΎΡ‚ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹ΠΉ массив ΠΈΠ· кэша копируСтся Π½Π°Π·Π°Π΄ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ скорости ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π΄ΠΎ скорости кэша Π½Π΅ Π΄Π°Π»ΠΎ Π±Ρ‹ ΠΎΡ‰ΡƒΡ‚ΠΈΠΌΠΎΠ³ΠΎ прироста Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΎ Π±Ρ‹ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ систСмы Π² сотни ΠΈ тысячи Ρ€Π°Π·. Но всё это Π²Π΅Ρ€Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π›ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Π›ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ β€” основная концСпция этой ΡΡ‚Π°Ρ‚ΡŒΠΈ. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ быстрСС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠ»ΠΎΡ…ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Π›ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Ρ‹Π²Π°Π΅Ρ‚ Π΄Π²ΡƒΡ… Ρ‚ΠΈΠΏΠΎΠ². Когда ΠΌΡ‹ обращаСмся ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ мСсту Π² памяти ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·, это врСмСннÑя Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Когда ΠΌΡ‹ обращаСмся ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, Π° ΠΏΠΎΡ‚ΠΎΠΌ обращаСмся ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ располоТСны Π² памяти рядом с ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, это пространствСнная Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Рассмотрим, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая суммируСт элСмСнты массива:

Π’ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ sum ΠΈ i происходит Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°. Они ΠΈΠΌΠ΅ΡŽΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ располоТСны Π² быстрых рСгистрах процСссора. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массива A ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠ»ΠΎΡ…ΡƒΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту ΠΌΡ‹ обращаСмся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ Ρ€Π°Π·Ρƒ. Но Π·Π°Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ β€” Ρ‚Ρ€ΠΎΠ½ΡƒΠ² ΠΎΠ΄ΠΈΠ½ элСмСнт, ΠΌΡ‹ Π·Π°Ρ‚Π΅ΠΌ Ρ‚Ρ€ΠΎΠ³Π°Π΅ΠΌ элСмСнты рядом с Π½ΠΈΠΌ. ВсС Π΄Π°Π½Π½Ρ‹Π΅ Π² этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΈΠ»ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, поэтому ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

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

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

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

Π”Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΉ ΠΊ ΠΊΡΡˆΡƒ ΠΊΠΎΠ΄

Как программисты Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΡ‚Π°Ρ€Π°Ρ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΊΠ°ΠΊ говорят, Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΉ ΠΊ ΠΊΡΡˆΡƒ (cache-friendly). Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, основной ΠΎΠ±ΡŠΡ‘ΠΌ вычислСний производится лишь Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… мСстах ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это нСсколько ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ². Если Π΅ΡΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹, Ρ‚ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒ Π½Π° самом Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ ΠΈΠ· Ρ†ΠΈΠΊΠ»ΠΎΠ², ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Ρ‚Π°ΠΌ выполняСтся Ρ‡Π°Ρ‰Π΅ всСго. Π­Ρ‚ΠΈ мСста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΡΡ‚Π°Ρ€Π°ΡΡΡŒ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΈΡ… Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

ВычислСния Π½Π°Π΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ Π² прилоТСниях Π°Π½Π°Π»ΠΈΠ·Π° сигналов ΠΈ Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… вычислСниях. Если ΠΏΠ΅Ρ€Π΅Π΄ программистами встанСт Π·Π°Π΄Π°Ρ‡Π° Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ пСрСмноТСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†, Ρ‚ΠΎ 99.9% ΠΈΠ· Π½ΠΈΡ… Π½Π°ΠΏΠΈΡˆΡƒΡ‚ Π΅Ρ‘ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Π­Ρ‚ΠΎΠΌ ΠΊΠΎΠ΄ дословно повторяСт матСматичСскоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ пСрСмноТСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†. ΠœΡ‹ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ всС элСмСнты ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ построчно, вычисляя ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ. Π’ ΠΊΠΎΠ΄Π΅ Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° Π½Π΅ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, это Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ B[k][j] Π² самом Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ Ρ†ΠΈΠΊΠ»Π΅. ΠœΡ‹ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ B ΠΏΠΎ стобцам. Казалось Π±Ρ‹, Π½ΠΈΡ‡Π΅Π³ΠΎ с этим Π½Π΅ подСлаСшь ΠΈ придётся ΡΠΌΠΈΡ€ΠΈΡ‚ΡŒΡΡ. Но Π²Ρ‹Ρ…ΠΎΠ΄ Π΅ΡΡ‚ΡŒ. МоТно ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ вычислСниС ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ функция выглядит ΠΎΡ‡Π΅Π½ΡŒ странно. Но ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ‚ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Ρ‚ΠΎ ΠΆΠ΅ самоС. Волько ΠΌΡ‹ Π½Π΅ вычисляСм ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π·Π° Ρ€Π°Π·, ΠΌΡ‹ ΠΊΠ°ΠΊ Π±Ρ‹ вычисляСм элСмСнты частично Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. Но ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ свойство этого ΠΊΠΎΠ΄Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ Ρ†ΠΈΠΊΠ»Π΅ ΠΌΡ‹ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΎΠ±Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ построчно. На машинС с Core i7 Haswell вторая функция Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² 12 Ρ€Π°Π· быстрСС для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΌΠ°Ρ‚Ρ€ΠΈΡ†. НуТно Π±Ρ‹Ρ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΡƒΠ΄Ρ€Ρ‹ΠΌ программистом, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π‘Π»ΠΎΠΊΠΈΠ½Π³

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

МоТно ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. Допустим Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„, прСдставлСнный Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ смСТности. Π­Ρ‚ΠΎ такая квадратная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΈΠ· Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли элСмСнт ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с индСксом (i, j) Ρ€Π°Π²Π΅Π½ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅, Ρ‚ΠΎ сущСствуСт Π³Ρ€Π°Π½ΡŒ ΠΎΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π³Ρ€Π°Ρ„Π° i ΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ j. Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ этот ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ Π² Π½Π΅ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Ссли Π΅ΡΡ‚ΡŒ Π³Ρ€Π°Π½ΡŒ (i, j), Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ противополоТная Π³Ρ€Π°Π½ΡŒ (j, i). ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ссли ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ, Ρ‚ΠΎ элСмСнты (i, j) ΠΈ (j, i) ΡΠ²Π»ΡΡŽΡ‚ΡΡ симмСтричными ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ. Π­Ρ‚Ρƒ Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π΅Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅:

Π‘Π»ΠΎΠΊΠΈΠ½Π³ появляСтся СстСствСнным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄ собой Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ иссСкитС эту ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ линиями, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π΅Ρ‘, скаТСм, Π½Π° 16 Ρ€Π°Π²Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠ° (Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ строки ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ столбца). Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΄Π²Π° Π»ΡŽΠ±Ρ‹Ρ… симмСтричных Π±Π»ΠΎΠΊΠ°. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ всС элСмСнты Π² ΠΎΠ΄Π½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ свои симмСтричныС элСмСнты Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅. Π­Ρ‚ΠΎ Π½Π°Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΌΡ‹ΡΠ»ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Ρƒ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ Π½Π°Π΄ этими Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΏΠΎΠΎΡ‡Π΅Ρ€Ρ‘Π΄Π½ΠΎ. Π’ этом случаС Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ этапС ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с двумя Π±Π»ΠΎΠΊΠ°ΠΌΠΈ. Если Π±Π»ΠΎΠΊΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ достаточно малСнького Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Ρ‚ΠΎ ΠΎΠ½ΠΈ помСстятся Π² кэшС высокого уровня. Π’Ρ‹Ρ€Π°Π·ΠΈΠΌ эту идСю Π² ΠΊΠΎΠ΄Π΅:

НуТно Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±Π»ΠΎΠΊΠΈΠ½Π³ Π½Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π° систСмах с ΠΌΠΎΡ‰Π½Ρ‹ΠΌΠΈ процСссорами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΏΡ€Π΅Π΄Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ. На систСмах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΏΡ€Π΅Π΄Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ, Π±Π»ΠΎΠΊΠΈΠ½Π³ ΠΌΠΎΠΆΠ΅Ρ‚ сильно ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

На машинС с процСссором Core i7 Haswell вторая функция Π½Π΅ выполняСтся быстрСС. На машинС с Π±ΠΎΠ»Π΅Π΅ простым процСссором Pentium 2117U вторая функция выполняСтся Π² 2 Ρ€Π°Π·Π° быстрСС. На ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΏΡ€Π΅Π΄Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠ»Π°ΡΡŒ Π±Ρ‹ Π΅Ρ‰Ρ‘ сильнСС.

КакиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ быстрСС

ВсС Π·Π½Π°ΡŽΡ‚ ΠΈΠ· курсов ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ с наимСньшСй ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² с высокой ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ. Но эти слоТности ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π° тСорСтичСской машинС, созданной нашСй ΠΌΡ‹ΡΠ»ΡŒΡŽ. На Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… тСорСтичСски ΠΏΠ»ΠΎΡ…ΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ выполнятся быстрСС тСорСтичСски Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ. ВспомнитС, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 200 Ρ‚Π°ΠΊΡ‚ΠΎΠ², Π° ΠΈΠ· кэша ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня 4 Ρ‚Π°ΠΊΡ‚Π° β€” это Π² 50 Ρ€Π°Π· быстрСС. Если Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ часто Ρ‚Ρ€ΠΎΠ³Π°Π΅Ρ‚ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π° ΠΏΠ»ΠΎΡ…ΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ свои Π΄Π°Π½Π½Ρ‹Π΅ Π² кэшС, Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ. Π’Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° процСссорС Ρ…ΡƒΠΆΠ΅, Ρ‡Π΅ΠΌ ΠΏΠ»ΠΎΡ…ΠΎΠΉ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ вносит Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Π²Π΅Π΅Ρ€ процСссора. А ΠΏΠ»ΠΎΡ…ΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π»ΠΈΡˆΡ‘Π½ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ‚Π°ΠΊΡ‚Π΅ отправляСт Π² ΠΊΠΎΠ½Π²Π΅Π΅Ρ€ Π½ΠΎΠ²ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ. Π˜Π½Ρ‹ΠΌΠΈ словами, ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° это Π΅Ρ‰Ρ‘ Π½Π΅ всё. Как Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π±ΡƒΠ΄Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ машинС с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

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

Допустим, ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π΄Π»ΠΈΠ½ΠΎΠΉ 1000 элСмСнтов ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΠΎΠ±ΠΎΠΈΠΌΠΈ способами. И Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ элСмСнт Π² сСрСдину ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ списка Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½ΠΎ разбросаны ΠΏΠΎ памяти, поэтому Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ 500 элСмСнтов, Π½Π°ΠΌ понадобится 500*200=100’000 Ρ‚Π°ΠΊΡ‚ΠΎΠ². Массив располоТСн Π² памяти ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°ΠΌ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°Ρ‚ΡŒΡΡ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ кэша ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ нСсколько ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ элСмСнты массива, тратя 1-4 Ρ‚Π°ΠΊΡ‚Π° Π½Π° элСмСнт. ΠœΡ‹ сдвинСм ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ массива максимум Π·Π° 500*4=2000 Ρ‚Π°ΠΊΡ‚ΠΎΠ². Π’ΠΎ Π΅ΡΡ‚ΡŒ быстрСС Π² 50 Ρ€Π°Π·.

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

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ памяти, ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‚ свои ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Π»ΠΈΡΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΡˆΠ΅ Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΈ процСссор ΠΏΠΎΠ»ΡƒΡ‡Π°Π» ΠΈΡ… быстрСС.

Π’ частности, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

АрхитСктура Π­Π’Πœ

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ПК

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹

Мини блог

Π‘Π°ΠΌΠΎΠ΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ΅

ΠŸΠ°ΠΌΡΡ‚ΡŒ. НиТний ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ доступа

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ доступа

Π Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ основных ΠΌΠ΅Ρ‚ΠΎΠ΄Π° доступа. Π‘ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΈΠ· Π½ΠΈΡ… связана своя организация памяти, ΠΈ ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ΅ быстродСйствия Π­Π’Πœ.

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ доступ. Π—Π£ с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ доступом, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Π»ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… записями. Для доступа ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ элСмСнту (слову ΠΈΠ»ΠΈ Π±Π°ΠΉΡ‚Ρƒ) Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ всС ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π΅ΠΌΡƒ Π΄Π°Π½Π½Ρ‹Π΅. ВрСмя доступа зависит ΠΎΡ‚ полоТСния Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ записи Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ записСй Π½Π° носитСлС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ элСмСнта Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Π°Π½Π½ΠΎΠΉ записи. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Π—Π£ Π½Π° ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠΉ Π»Π΅Π½Ρ‚Π΅.

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

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ доступ. КаТдая ячСйка памяти ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ физичСский адрСс. ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ любой ячСйкС Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ врСмя ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ очСрСдности. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ устройства основной памяти.

Ассоциативный доступ. Π­Ρ‚ΠΎΡ‚ Π²ΠΈΠ΄ доступа позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ поиск ячССк, содСрТащих Ρ‚Π°ΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² совпадаСт с состояниСм ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠ±Ρ€Π°Π·Ρ†Π΅. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ осущСствляСтся ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ для всСх ячССк памяти, нСзависимо ΠΎΡ‚ Π΅Π΅ Смкости. По ассоциативному ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ построСны Π±Π»ΠΎΠΊΠΈ КЭШ-памяти.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ быстродСйствия Π—Π£

Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ†ΠΈΠΊΠ»Π° памяти ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ обращСния (Π’Π¦). ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ ΠΊ памяти с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ доступом, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΎΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ минимальноС врСмя ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ обращСниями ΠΊ памяти. ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ обращСния Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя врСмя доступа плюс Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ для затухания сигналов Π½Π° линиях, Π° Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… Π—Π£, Π³Π΄Π΅ считываниС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π΅Π΅ Ρ€Π°Π·Ρ€ΡƒΡˆΠ΅Π½ΠΈΡŽ, β€” для восстановлСния считанной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ. Π­Ρ‚ΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ· Π½Π΅Π΅. Для памяти с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ доступом ΠΎΠ½Π° Ρ€Π°Π²Π½Π° 1/Π’Π¦. Для Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΈΠ΄ΠΎΠ² памяти ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ опрСдСляСтся ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ:


Π³Π΄Π΅ TN β€” срСднСС врСмя считывания ΠΈΠ»ΠΈ записи N Π±ΠΈΡ‚ΠΎΠ²; ВА β€” срСднСС врСмя доступа; R β€” ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ пСрСсылки Π² Π±ΠΈΡ‚Π°Ρ… Π² сСкунду.

Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… устройств

ΠŸΠ°ΠΌΡΡ‚ΡŒ часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ «ΡƒΠ·ΠΊΠΈΠΌ мСстом» Ρ„ΠΎΠ½-НСймановских Π’Πœ ΠΈΠ·-Π·Π° Π΅Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠ³ΠΎ отставания ΠΏΠΎ Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ ΠΎΡ‚ процСссоров, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ, Ρ€Π°Π·Ρ€Ρ‹Π² этот Π½Π΅ΡƒΠΊΠ»ΠΎΠ½Π½ΠΎ увСличиваСтся. Π’Π°ΠΊ, Ссли ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ процСссоров возрастаСт Π²Π΄Π²ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 1,5 Π³ΠΎΠ΄Π°, Ρ‚ΠΎ для микросхСм памяти прирост быстродСйствия Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 9% Π² Π³ΠΎΠ΄ (ΡƒΠ΄Π²ΠΎΠ΅Π½ΠΈΠ΅ Π·Π° 10 Π»Π΅Ρ‚), Ρ‡Ρ‚ΠΎ выраТаСтся Π² ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ Ρ€Π°Π·Ρ€Ρ‹Π²Π° Π² быстродСйствии ΠΌΠ΅ΠΆΠ΄Ρƒ процСссором ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Π° Π½Π° 50% Π² Π³ΠΎΠ΄. ΠŸΡ€ΠΈ создании систСмы памяти постоянно приходится Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ обСспСчСния Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ Смкости ΠΈ высокого быстродСйствия Π·Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡƒΡŽ Ρ†Π΅Π½Ρƒ. НаиболСС эффСктивным Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ являСтся созданиС иСрархичСской памяти. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΠ°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ состоит ΠΈΠ· Π—Π£ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (см. рисунок Π½ΠΈΠΆΠ΅), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Π² зависимости ΠΎΡ‚ характСристик, относят ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ. Π‘ΠΎΠ»Π΅Π΅ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ мСньшС ΠΏΠΎ Смкости, быстрСС ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π² пСрСсчСтС Π½Π° Π±ΠΈΡ‚, Ρ‡Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ. Π£Ρ€ΠΎΠ²Π½ΠΈ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ взаимосвязаны: всС Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, ΠΈ всС Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° этом Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π½ΠΈΠΆΠ΅Π»Π΅ΠΆΠ°Ρ‰Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΈ Ρ‚. Π΄.

ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π€ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС

Π‘Ρ…Π΅ΠΌΠ° иСрархичСской памяти

Π§Π΅Ρ‚Ρ‹Ρ€Π΅ Π²Π΅Ρ€Ρ…Π½ΠΈΡ… уровня ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π­Π’Πœ, Π° всС Π½ΠΈΠΆΠ½ΠΈΠ΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ β€” это внСшняя ΠΈΠ»ΠΈ вторичная ΠΏΠ°ΠΌΡΡ‚ΡŒ. По ΠΌΠ΅Ρ€Π΅ двиТСния Π²Π½ΠΈΠ· ΠΏΠΎ иСрархичСской структурС:

Если ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² соотвСтствии с ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ 1 β€” 3, Π° Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ размСщСния Π² Π½Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ удовлСтворяСт ΠΏΡƒΠ½ΠΊΡ‚Ρƒ 4, иСрархичСская организация Π²Π΅Π΄Π΅Ρ‚ ΠΊ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡŽ ΠΎΠ±Ρ‰Π΅ΠΉ стоимости ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π‘ΠΏΡ€Π°Π²Π΅Π΄Π»ΠΈΠ²ΠΎΡΡ‚ΡŒ этого утвСрТдСния Π²Ρ‹Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ ΠΈΠ· ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ. Если Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ процСсс выполнСния Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ с ΠΎΡ‡Π΅Π½ΡŒ высокой Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ адрСс ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π»ΠΈΠ±ΠΎ слСдуСт нСпосрСдствСнно Π·Π° адрСсом, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π±Ρ‹Π»Π° считана тСкущая ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π»ΠΈΠ±ΠΎ располоТСн Π²Π±Π»ΠΈΠ·ΠΈ Π½Π΅Π³ΠΎ. Π’Π°ΠΊΠΎΠ΅ располоТСниС адрСсов называСтся пространствСнной Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, структурированы, ΠΈ Ρ‚Π°ΠΊΠΈΠ΅ структуры ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ячСйках памяти. Данная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ называСтся пространствСнной Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ содСрТат мноТСство Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ нСбольшиС Π½Π°Π±ΠΎΡ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ мСсто врСмСнная Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. ВсС Ρ‚Ρ€ΠΈ Π²ΠΈΠ΄Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ понятиС Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ часто ΠΎΠ±Π»Π΅ΠΊΠ°ΡŽΡ‚ Π² Ρ‡ΠΈΡΠ»Π΅Π½Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π° «90/ 10»: 90% Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ связано с доступом ΠΊ 10% адрСсного пространства этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Из свойства Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹Ρ‚Π΅ΠΊΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ². ΠŸΠΎΠΌΠ΅Ρ‰Π°Ρ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ Π² Π±ΠΎΠ»Π΅Π΅ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ сущСствСнно ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π° ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, Π±ΡƒΠ΄ΡƒΡ‡ΠΈ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ ΠΈΠ· ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π—Π£ Π² быстроС, Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈ срСднСС врСмя доступа ΠΊ Π½ΠΈΠΌ Π² этом случаС опрСдСляСтся ΡƒΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ быстрым Π—Π£. На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ информация разбиваСтся Π½Π° Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°ΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ уровнями. ΠŸΡ€ΠΈ доступС ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΈ Π΄Π°Π½Π½Ρ‹ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΈΡ… считывания, сначала производится поиск Π² памяти Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня. Π€Π°ΠΊΡ‚ обнаруТСния Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ΠΌ (hit), Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС говорят ΠΎ ΠΏΡ€ΠΎΠΌΠ°Ρ…Π΅ (miss). ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠΌΠ°Ρ…Π΅ производится поиск Π² Π—Π£ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ, Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня, Π³Π΄Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΌΠ°Ρ…. ПослС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ выполняСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ пСрСсылка Π±Π»ΠΎΠΊΠ°, содСрТащСго ΠΈΡΠΊΠΎΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, с Π½ΠΈΠΆΠ½ΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π½Π° Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ, нСзависимо ΠΎΡ‚ числа ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ, пСрСсылка ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя сосСдними уровнями. ΠŸΡ€ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ΅ эффСктивности ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ памяти ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ характСристики:

ОписаниС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ уровня ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ Π—Π£ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ²:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ кэш Π² процСссорС ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½

ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π€ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС

ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π€ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Для ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΠΌΠΈ критСриями Π²Ρ‹Π±ΠΎΡ€Π° процСссора ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΅Π³ΠΎ тактовая частота ΠΈ количСство Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ядСр. А Π²ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ кэш-памяти ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ повСрхностно, Π° Ρ‚ΠΎ ΠΈ вовсС Π½Π΅ ΡƒΠ΄Π΅Π»ΡΡŽΡ‚ ΠΈΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ³ΠΎ внимания. А зря!

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

ΠŸΡ€Π΅Π΄ΠΏΠΎΡΡ‹Π»ΠΊΠΈ создания кэш-памяти

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

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ· постоянной памяти, Π΅Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ вся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Β«ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡΒ» Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π­Ρ‚ΠΎ дСлаСтся для ускорСния ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… процСссором. Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти процСссор Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСй, Π°, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈ систСма Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС Π² сравнСнии с Ρ‚Π΅ΠΌ, Ссли Π±Ρ‹ массивы Π΄Π°Π½Π½Ρ‹Ρ… поступали Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΠ· Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ быстрых (ΠΏΠΎ ΠΌΠ΅Ρ€ΠΊΠ°ΠΌ процСссорных вычислСний) Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ.

Если Π±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ Β«ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²ΠΊΠΈΒ», Ρ‚ΠΎ процСсс считывания Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с накопитСля Π·Π°Π½ΠΈΠΌΠ°Π» Π±Ρ‹ Π½Π΅ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅, ΠΏΠΎ ΠΌΠ΅Ρ€ΠΊΠ°ΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ мощности процСссора, врСмя.

ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π€ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС

Но Π²ΠΎΡ‚ Π½Π΅Π·Π°Π΄Π°Ρ‡Π°, ΠΊΠ°ΠΊΠΎΠΉ Π±Ρ‹ быстрой Π½ΠΈ Π±Ρ‹Π»Π° опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ, процСссор всСгда Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС. ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ β€” это Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ свСрхмощный Β«ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Β», Ρ‡Ρ‚ΠΎ произвСсти самыС слоТныС вычислСния для Π½Π΅Π³ΠΎ β€” это Π΄Π°ΠΆΠ΅ Π½Π΅ доля сСкунды, Π° ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΈ сСкунды.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ процСссора Π² любом ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ всСгда ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ считывания ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти.

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

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

ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π€ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС

ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ простому ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, Π³ΠΎΠ»ΠΎΡΡƒΡŽΡ‰Π΅ΠΌΡƒ своими ΠΊΡ€ΠΎΠ²Π½Ρ‹ΠΌΠΈ сбСрСТСниями, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ процСссор самый быстрый ΠΈ самый Π»ΡƒΡ‡ΡˆΠΈΠΉ, Π½ΠΎ Π·Π° Π½Π΅Π³ΠΎ придСтся ΠΎΡ‚Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большС Π΄Π΅Π½Π΅Π³ β€” довольно ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ сущСствуСт мноТСство стандартов, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° ΡƒΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ оборудования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ Β«ΠΆΠ΅Π»Π΅Π·Π°Β». Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ прямо Π½Π° кристалл процСссора Π½Π΅ прСдставляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ ΠΏΠΎ ряду ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΡ‡ΠΈΠ½.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ

Как стало понятно ΠΈΠ· постановки Π·Π°Π΄Π°Ρ‡ΠΈ, Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π² процСссор достаточно быстро. По ΠΌΠ΅Ρ€ΠΊΠ°ΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° β€” это ΠΌΠΈΠ³, Π½ΠΎ для Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ядра β€” достаточно большой ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ эффСктивнСС ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π’ΠΎΡ‚ здСсь Π½Π° Π²Ρ‹Ρ€ΡƒΡ‡ΠΊΡƒ ΠΈ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ тСхнология, которая называСтся кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ β€” это свСрхбыстрая ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ прямо Π½Π° кристаллС процСссора. Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· этой памяти Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, сколько Π±Ρ‹ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ для извлСчСния Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ объСма ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, процСссор молниСносно ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΡƒΡ‚ ΠΆΠ΅ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ.

Кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ β€” это, ΠΏΠΎ сути, Ρ‚Π° ΠΆΠ΅ опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΠΎΠ»Π΅Π΅ быстрая ΠΈ дорогая. Она ΠΈΠΌΠ΅Π΅Ρ‚ нСбольшой объСм ΠΈ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² соврСмСнного процСссора.

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

БпСкулятивноС исполнСниС β€” ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ процСссора, ΠΊΠΎΠ³Π΄Π° послСдний выполняСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π² дальнСйшСм. ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² соврСмСнных процСссорах довольно сущСствСнно ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ± Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€Π΅Π΄ΡƒΠ³Π°Π΄Ρ‹Π²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π² скором Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ (ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ Π² кэш). Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ кэш, способный ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ блиТайшиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π·Π°Π±Π»Π°Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈΡ… ΠΈΠ· ΠžΠ—Π£ Π² ячСйки свСрхбыстрой памяти. Π’ ΠΈΠ΄Π΅Π°Π»Π΅ ΠΈΡ… Π½Π°Π΄ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈΠΌΠ΅Π» Π½ΡƒΠ»Π΅Π²ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Β«ΠΏΡ€ΠΎΠΌΠ°Ρ…ΠΎΠ²Β».

Но ΠΊΠ°ΠΊ процСссор это Π΄Π΅Π»Π°Π΅Ρ‚? ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ Ρ‡Ρ‚ΠΎ, слСдит Π·Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ? Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стСпСни Π΄Π°. Он Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π² кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊ Π½ΠΈΠΌ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½Ρ‹ΠΉ доступ, ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ это Π½Π° основС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π½Π΅Π΅ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² кэш Π² этом сСансС Ρ€Π°Π±ΠΎΡ‚Ρ‹. БущСствуСт нСсколько способов, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… число Β«ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΉΒ» (ΡƒΠ³Π°Π΄Ρ‹Π²Π°Π½ΠΈΠΉ), Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°ΡŽΡ‰ΠΈΡ… число Β«ΠΏΡ€ΠΎΠΌΠ°Ρ…ΠΎΠ²Β». Π­Ρ‚ΠΎ врСмСнная ΠΈ пространствСнная Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ β€” Π΄Π²Π° Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° кэш-памяти, благодаря ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ процСссор Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π² кэш.

ВрСмСнная Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

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

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π΅Π½Π½Π°Ρ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

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

Набор Ρ‚Π°ΠΊΠΈΡ… адрСсов называСтся строкой (Π±Π»ΠΎΠΊΠΎΠΌ) кэша, Π° количСство считанных Π΄Π°Π½Π½Ρ‹Ρ… β€” Π΄Π»ΠΈΠ½ΠΎΠΉ кэша.

ΠŸΡ€ΠΈ пространствСнной Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ процСссор сначала ΠΈΡ‰Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ Π² кэш, ΠΈ, Ссли ΠΈΡ… Ρ‚Π°ΠΌ Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚, Ρ‚ΠΎ обращаСтся ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти.

Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ кэш-памяти

Π›ΡŽΠ±ΠΎΠΉ соврСмСнный процСссор ΠΈΠΌΠ΅Π΅Ρ‚ Π² своСй структурС нСсколько ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ кэш-памяти. Π’ спСцификации процСссора ΠΎΠ½ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ L1, L2, L3 ΠΈ Ρ‚. Π΄.

ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π€ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС

Если провСсти аналогию ΠΌΠ΅ΠΆΠ΄Ρƒ устройством кэш-памяти процСссора ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ мСстом, скаТСм столяра ΠΈΠ»ΠΈ прСдставитСля любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ профСссии, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠ½ΡƒΡŽ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ. НаиболСС вострСбованный Π² Ρ€Π°Π±ΠΎΡ‚Π΅ инструмСнт находится ΠΏΠΎΠ΄ Ρ€ΡƒΠΊΠΎΠΉ, Π° Ρ‚ΠΎΡ‚, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π΅ΠΆΠ΅, располоТСн дальшС ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π·ΠΎΠ½Ρ‹.

Π’Π°ΠΊ ΠΆΠ΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° быстрых ячССк кэша. Π―Ρ‡Π΅ΠΉΠΊΠΈ памяти ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня (L1) Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° кристаллС Π² нСпосрСдствСнной близости ΠΎΡ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ядра. Π­Ρ‚Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ β€” самая быстрая, Π½ΠΎ ΠΈ самая малая ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ. Π’ Π½Π΅Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ вострСбованныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚Ρ‚ΡƒΠ΄Π° потрСбуСтся всСго ΠΎΠΊΠΎΠ»ΠΎ 5 Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ². Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня состоит ΠΈΠ· Π΄Π²ΡƒΡ… Π±Π»ΠΎΠΊΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ 32 ΠšΠ‘. Один ΠΈΠ· Π½ΠΈΡ… β€” кэш Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня, Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” кэш инструкций ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня. Они ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π±Π»ΠΎΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ молниСносноС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ.

Кэш Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ уровня большС ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ, Π½ΠΎ Π·Π° счСт Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ L2 ΠΈ L3 ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ΠΎΡ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ядра, ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π½ΠΈΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹. Π‘ΠΎΠ»Π΅Π΅ наглядно устройство кэш-памяти ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎ.

Кэш L2, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ содСрТит ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΡƒΠΆΠ΅ Π΄ΠΎ 512 ΠšΠ‘, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ объСм Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΡΡˆΡƒ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ уровня. Но Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ запросов ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π² Π΄Π²Π° Ρ€Π°Π·Π° большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Кэш Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ уровня ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΡƒΠΆΠ΅ ΠΎΡ‚ 2 Π΄ΠΎ 32 ΠœΠ‘ (ΠΈ постоянно увСличиваСтся вслСд Π·Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ), Π½ΠΎ ΠΈ Π΅Π³ΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ Π½ΠΈΠΆΠ΅. Она ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 30 Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ².

ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС. Π€ΠΎΡ‚ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ памяти врСмя доступа наибольшСС

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, обрабатывая ΠΈΡ…, Ρ‡Ρ‚ΠΎ называСтся, ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ курсами. Π—Π° счСт этого ΠΈ достигаСтся ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰Π°Ρ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° рассмотрим процСссоры Intel. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΊΠΎΠ²: Π² кэшС хранятся Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΈΡ… адрСс (тэг кэша). Π‘Π½Π°Ρ‡Π°Π»Π° процСссор ΠΈΡ‰Π΅Ρ‚ ΠΈΡ… Π² L1. Если информация Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° (Π²ΠΎΠ·Π½ΠΈΠΊ ΠΏΡ€ΠΎΠΌΠ°Ρ… кэша), Ρ‚ΠΎ Π² L1 Π±ΡƒΠ΄Π΅Ρ‚ создан Π½ΠΎΠ²Ρ‹ΠΉ тэг, Π° поиск Π΄Π°Π½Π½Ρ‹Ρ… продолТится Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… уровнях. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ мСсто ΠΏΠΎΠ΄ Π½ΠΎΠ²Ρ‹ΠΉ тэг, информация, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, пСрСносится Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ L2. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ постоянно ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ с ΠΎΠ΄Π½ΠΎΠ³ΠΎ уровня Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

Π‘ кэшСм связан Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «сСт ассоциативности». Π’ L1 Π±Π»ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… привязан ΠΊ строкам кэша Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ сСтС (Π±Π»ΠΎΠΊΠ΅ кэша). Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 8-way (8 ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ассоциативности) ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ Π±Π»ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ привязан ΠΊ 8 строкам кэша. Π§Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, Ρ‚Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ шанс Π½Π° ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ кэша (процСссор нашСл Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ). Π•ΡΡ‚ΡŒ ΠΈ нСдостатки. Π“Π»Π°Π²Π½Ρ‹Π΅ β€” услоТнСниС процСсса ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сниТСниС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ кэша, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, L1 ΠΈ L3. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΈΠ½ΠΊΠ»ΡŽΠ·ΠΈΠ²Π½Ρ‹Π΅ кэши. ИспользованиС лишнСго объСма памяти окупаСтся ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ поиска. Если процСссор Π½Π΅ нашСл Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Π΅ΠΌΡƒ Π½Π΅ придСтся ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΈΡ… Π½Π° Π²Π΅Ρ€Ρ…Π½ΠΈΡ… уровнях кэша. Π’ этом случаС задСйствованы кэши-ΠΆΠ΅Ρ€Ρ‚Π²Ρ‹. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ассоциативный кэш, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния Π±Π»ΠΎΠΊΠΎΠ², вытСснСнных ΠΈΠ· кэша ΠΏΡ€ΠΈ Π·Π°ΠΌΠ΅Π½Π΅. Он ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ количСства ΠΏΡ€ΠΎΠΌΠ°Ρ…ΠΎΠ². НапримСр, кэши-ΠΆΠ΅Ρ€Ρ‚Π²Ρ‹ L3 Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· L2. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранятся Π² L2, ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ мСсто Π² памяти, ΠΎΠ΄Π½Π°ΠΊΠΎ услоТняСт поиск Π΄Π°Π½Π½Ρ‹Ρ…: систСмС приходится ΠΈΡΠΊΠ°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ тэг Π² L3, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ большС ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°Ρ… записи информация хранится Π² кэшС ΠΈ основной систСмной памяти. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ процСссоры Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π² кэш, происходит Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ эта информация Π±ΡƒΠ΄Π΅Ρ‚ записана Π² ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π’ΠΎ врСмя Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π² кэшС, послС Ρ‡Π΅Π³ΠΎ ΠΈΡ… «вытСсняСт» Π² ΠžΠ—Π£.

Π˜Ρ‚Π°ΠΊ, кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ процСссора β€” ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ соврСмСнного процСссора. ΠžΡ‚ количСства ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ кэша ΠΈ объСма ячССк свСрхбыстрой памяти Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ, Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ зависит ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы. ОсобСнно Ρ…ΠΎΡ€ΠΎΡˆΠΎ это ощущаСтся Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π° Π³Π΅ΠΉΠΌΠΈΠ½Π³ ΠΈΠ»ΠΈ слоТныС вычислСния.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *