WIP: 09 - Принципы организации кэш-памяти #38

Draft
mrqiz wants to merge 2 commits from feat/tickets/09 into master
Owner

09 - Принципы организации кэш-памяти

  • Общее описание кэш-памяти
  • Принципы организации
  • Виды кэша
  • Алгоритмы обмена между основной памятью и кэшом
  • Иерархия кэша

freacat

# 09 - Принципы организации кэш-памяти - [x] Общее описание кэш-памяти - [x] Принципы организации - [x] Виды кэша - [ ] Алгоритмы обмена между основной памятью и кэшом - [ ] Иерархия кэша --- ![freacat](https://static.inkling.su/CompArch2024/memes/freacat.jpg)
mrqiz added 1 commit 2025-01-08 01:16:57 +03:00
Member

Для удобства читателя, добавь, пожалуйста, в заголовках с типами кэш-памяти используемые тобой в дальннйшем сокращения в скобках (ПАКП и подобные)

Для удобства читателя, добавь, пожалуйста, в заголовках с типами кэш-памяти используемые тобой в дальннйшем сокращения в скобках (ПАКП и подобные)
ElectronixTM requested review from ElectronixTM 2025-01-08 12:28:44 +03:00
ElectronixTM requested changes 2025-01-08 12:41:27 +03:00
ElectronixTM left a comment
Member

Все, что я тут наговорил, происходит из того, что я саму методичку еще ее читал. Но в какой-то степени это и хорошо, так как я еще не замылил глаз

Все мои просьбы касаются в основном добавления примечаний, чтобы было чуть понятнее. Объем билета выдержан хорошо

Все, что я тут наговорил, происходит из того, что я саму методичку еще ее читал. Но в какой-то степени это и хорошо, так как я еще не замылил глаз Все мои просьбы касаются в основном добавления примечаний, чтобы было чуть понятнее. Объем билета выдержан хорошо
@ -0,0 +18,4 @@
### Полностью ассоциативная кэш-память
Чтобы процессор мог прочитать данные из памяти - ему необходимо указать адрес из нескольких битов, в котором лежат эти данные. Для идентификации данных в ПАКП требуется взять 20 старших битов адреса.
Member

Картинки бы это дело не испортили

Картинки бы это дело не испортили
mrqiz marked this conversation as resolved
@ -0,0 +20,4 @@
Чтобы процессор мог прочитать данные из памяти - ему необходимо указать адрес из нескольких битов, в котором лежат эти данные. Для идентификации данных в ПАКП требуется взять 20 старших битов адреса.
У каждой ячейки памяти есть свой "тег" - часть адреса, которая говорит о том, какие данные лежат в строке. При запросе данных из памяти происходит сравнение 20 старших битов данных с тегами всех строк в кеше.
Member

происходит сравнение 20 старших битов данных

Думаю, что не данных, а адреса

И правильно ли я понимаю, что тег, это как раз и есть те самые первые 20 бит?

> происходит сравнение 20 старших битов данных Думаю, что не данных, а адреса И правильно ли я понимаю, что тег, это как раз и есть те самые первые 20 бит?
Author
Owner

Да, данных

Как понимаю, это тег

Да, данных Как понимаю, это тег
@ -0,0 +24,4 @@
Собственно, есть понятия кэш-попадания и кэш-промаха. Первое говорит о том, что тег из адреса имеет совпадение с каким-то тегом из кэша, соответственно есть возможность получить данные из кэша (что будет быстрее, чем идти за ними в основную память). Кэш-промах же говорит о том, что таких данных в кэше нет и придется обратиться в память.
Минус ПАКП - необходимость использования большого количества тразнзисторов для сравнения адреса с тегами всех строк кэша.
Member

Я могу конечно догадаться, что речь идет об аппаратном сравнении адреса в какой-то части кэш-памяти процессорв, но если в методичке написано, где именно, не мог бы ты это указать в примечаниях?

Я могу конечно догадаться, что речь идет об аппаратном сравнении адреса в какой-то части кэш-памяти процессорв, но если в методичке написано, где именно, не мог бы ты это указать в примечаниях?
@ -0,0 +34,4 @@
Также как и в АпМКП - адрес в памяти делится на тег, индекс и смещение.
Индекс указывает на конкретную строку кэша, где могут находиться данные. Процессор использует индекс, чтобы обратиться к определенной строке кэша и извлечь данные из нее. Затем из этой строки берется тег, который соответствует старшим разрядам адреса, и происходит сравнение с тегом входного адреса.
Member

Тут мне тоже чет больно, можно картинку какую-нибудь

Тут мне тоже чет больно, можно картинку какую-нибудь
@ -0,0 +38,4 @@
Если тег из адреса совпадает с тегом в строке кэша - мои поздравления, у вас кэш-попадание.
Недостаток прямого отображения - каждый блок данных может храниться только в одной определенной строке кэша, что увеличивает вероятность кэш-промахов, особенно если несколько блоков данных имеют одинаковый индекс.
Member

Возможно из-за того, что я не понял предыдущий абзац, я плохо понимаю и то, почему собственно блок данных может быть только в определенной ячейке

Возможно из-за того, что я не понял предыдущий абзац, я плохо понимаю и то, почему собственно блок данных может быть только в определенной ячейке
mrqiz added 1 commit 2025-01-08 13:29:17 +03:00
This pull request is marked as a work in progress.
This branch is out-of-date with the base branch
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/tickets/09:feat/tickets/09
git checkout feat/tickets/09
Sign in to join this conversation.
No description provided.