From 45ed47ce8947e98a4938799f99fecdcc7c0faa1c Mon Sep 17 00:00:00 2001 From: Mark Zheleznyakov Date: Wed, 8 Jan 2025 01:16:07 +0300 Subject: [PATCH] =?UTF-8?q?feat(09):=20=D0=9D=D0=B0=D0=BF=D0=B8=D1=81?= =?UTF-8?q?=D0=B0=D0=BD=D1=8B=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=D1=8B?= =?UTF-8?q?=20=D0=BF=D1=80=D0=BE=20=D0=BE=D1=80=D0=B3=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B7=D0=B0=D1=86=D0=B8=D1=8E=20=D0=B8=20=D0=B2=D0=B8=D0=B4?= =?UTF-8?q?=D1=8B=20=D0=BA=D1=8D=D1=88=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...°ΠΌΡΡ‚ΠΈ (схСмы). Алгоритмы ΠΎΠ±ΠΌΠ΅Π½Π° ΠΌΠ΅ΠΆΠ΄Ρƒ основной ΠΈ КЭШ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ КЭШ-памяти..md | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Π‘ΠΈΠ»Π΅Ρ‚Ρ‹/09 - ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ КЭШ-памяти. Π’ΠΈΠ΄Ρ‹ КЭШ-памяти (схСмы). Алгоритмы ΠΎΠ±ΠΌΠ΅Π½Π° ΠΌΠ΅ΠΆΠ΄Ρƒ основной ΠΈ КЭШ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ КЭШ-памяти..md diff --git a/Π‘ΠΈΠ»Π΅Ρ‚Ρ‹/09 - ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ КЭШ-памяти. Π’ΠΈΠ΄Ρ‹ КЭШ-памяти (схСмы). Алгоритмы ΠΎΠ±ΠΌΠ΅Π½Π° ΠΌΠ΅ΠΆΠ΄Ρƒ основной ΠΈ КЭШ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ КЭШ-памяти..md b/Π‘ΠΈΠ»Π΅Ρ‚Ρ‹/09 - ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ КЭШ-памяти. Π’ΠΈΠ΄Ρ‹ КЭШ-памяти (схСмы). Алгоритмы ΠΎΠ±ΠΌΠ΅Π½Π° ΠΌΠ΅ΠΆΠ΄Ρƒ основной ΠΈ КЭШ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ КЭШ-памяти..md new file mode 100644 index 0000000..b074d9e --- /dev/null +++ b/Π‘ΠΈΠ»Π΅Ρ‚Ρ‹/09 - ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ КЭШ-памяти. Π’ΠΈΠ΄Ρ‹ КЭШ-памяти (схСмы). Алгоритмы ΠΎΠ±ΠΌΠ΅Π½Π° ΠΌΠ΅ΠΆΠ΄Ρƒ основной ΠΈ КЭШ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ КЭШ-памяти..md @@ -0,0 +1,41 @@ +--- +tags: + - слуТСбноС/Π²_процСссС +pun: Π― отказался ΠΎΡ‚ Ρ…Π»Π΅Π±Π°, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всС ΠΌΠΎΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹... ΠšΡ€ΠΎΡˆΠ΅Ρ‡Π½Ρ‹Π΅! +author: mrqiz +revised: +--- +# Кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ + +> **Кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ** - ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π° с наибольшСй Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ. + +## ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ кэша + +- **ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ** - имССтся высокая Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обращСния ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ Π² памяти Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. +- **ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ пространствСнной Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ** - имССтся высокая Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ обращСния ΠΊ нСскольким рядом стоящим ячСйкам памяти. + +## Π’ΠΈΠ΄Ρ‹ кэш-памяти ΠΈ ΠΈΡ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ + +### ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ассоциативная кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ + +Π§Ρ‚ΠΎΠ±Ρ‹ процСссор ΠΌΠΎΠ³ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· памяти - Π΅ΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ адрСс ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±ΠΈΡ‚ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π»Π΅ΠΆΠ°Ρ‚ эти Π΄Π°Π½Π½Ρ‹Π΅. Для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² ПАКП трСбуСтся Π²Π·ΡΡ‚ΡŒ 20 ΡΡ‚Π°Ρ€ΡˆΠΈΡ… Π±ΠΈΡ‚ΠΎΠ² адрСса. + +Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйки памяти Π΅ΡΡ‚ΡŒ свой "Ρ‚Π΅Π³" - Ρ‡Π°ΡΡ‚ΡŒ адрСса, которая Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π»Π΅ΠΆΠ°Ρ‚ Π² строкС. ΠŸΡ€ΠΈ запросС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· памяти происходит сравнСниС 20 ΡΡ‚Π°Ρ€ΡˆΠΈΡ… Π±ΠΈΡ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… с Ρ‚Π΅Π³Π°ΠΌΠΈ всСх строк Π² кСшС. + +БобствСнно, Π΅ΡΡ‚ΡŒ понятия кэш-попадания ΠΈ кэш-ΠΏΡ€ΠΎΠΌΠ°Ρ…Π°. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅Π³ ΠΈΠ· адрСса ΠΈΠΌΠ΅Π΅Ρ‚ совпадСниС с ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ Ρ‚Π΅Π³ΠΎΠΌ ΠΈΠ· кэша, соотвСтствСнно Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· кэша (Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ быстрСС, Ρ‡Π΅ΠΌ ΠΈΠ΄Ρ‚ΠΈ Π·Π° Π½ΠΈΠΌΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ). Кэш-ΠΏΡ€ΠΎΠΌΠ°Ρ… ΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Π² кэшС Π½Π΅Ρ‚ ΠΈ придСтся ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ. + +ΠœΠΈΠ½ΡƒΡ ПАКП - Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ использования большого количСства тразнзисторов для сравнСния адрСса с Ρ‚Π΅Π³Π°ΠΌΠΈ всСх строк кэша. + +### Ассоциативная ΠΏΠΎ мноТСству кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ + +Π’ АпМКП адрСс дСлится Π½Π° Ρ‚Π΅Π³, индСкс ΠΈ смСщСниС. ИндСкс ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ кэш-строкС находятся Π΄Π°Π½Π½Ρ‹Π΅. А смСщСниС опрСдСляСт, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±Π°ΠΉΡ‚ ΠΈΠ»ΠΈ элСмСнт Π΄Π°Π½Π½Ρ‹Ρ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· строки кэша. + +### Кэш-ΠΏΠ°ΠΌΡΡ‚ΡŒ с прямым ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ + +Π’Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π² АпМКП - адрСс Π² памяти дСлится Π½Π° Ρ‚Π΅Π³, индСкс ΠΈ смСщСниС. + +ИндСкс ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ строку кэша, Π³Π΄Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ индСкс, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ строкС кэша ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π½Π΅Π΅. Π—Π°Ρ‚Π΅ΠΌ ΠΈΠ· этой строки бСрСтся Ρ‚Π΅Π³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт ΡΡ‚Π°Ρ€ΡˆΠΈΠΌ разрядам адрСса, ΠΈ происходит сравнСниС с Ρ‚Π΅Π³ΠΎΠΌ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ адрСса. + +Если Ρ‚Π΅Π³ ΠΈΠ· адрСса совпадаСт с Ρ‚Π΅Π³ΠΎΠΌ Π² строкС кэша - ΠΌΠΎΠΈ поздравлСния, Ρƒ вас кэш-ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅. + +НСдостаток прямого отобраТСния - ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ строкС кэша, Ρ‡Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ кэш-ΠΏΡ€ΠΎΠΌΠ°Ρ…ΠΎΠ², особСнно Ссли нСсколько Π±Π»ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ индСкс. \ No newline at end of file