Arch: new
Все теоритические билеты по Архитектуре ЭВМ в основном были написаны, кроме: 8.4; 13.4; 14.4; 15.4. Задачи будут позже.
This commit is contained in:
28
2 курс/1 семестр/Архитектура ЭВМ/Лекции/19 билет/1.md
Normal file
28
2 курс/1 семестр/Архитектура ЭВМ/Лекции/19 билет/1.md
Normal file
@ -0,0 +1,28 @@
|
||||
#### Кэш прямого отображения(Direct mapped cache). Поля строки/блока кэша. Проецирующая функция.
|
||||
|
||||
**Кэш прямого отображения** - стратегия размещения блока основной памяти в кэше, где блок размещается в одном строго определенном месте, определяемом функцией размещения.
|
||||
Существует три стратегии размещения или проецирования блока основной памяти в кэш:
|
||||
|
||||
1) **Direct mapped cache**
|
||||
|
||||
Строго в одно определенное место, определяемое функцией проецирования: index = (адрес блока) MOD (число блоков в кэше)
|
||||
2) **Fully associative cache**
|
||||
|
||||
В любом месте (нет проецирующей функции).
|
||||
3) **Set associative cache:**
|
||||
|
||||
В ограниченном наборе мест. Набор - группа блоков в кэше. Блок проецируется строго на один набор, но он может размещен в любом месте набора. Функция проецирования:
|
||||
index = (адрес блока) MOD (число блоков в кэше)
|
||||
Кэш, имеющий n блоков в наборе называется $n$-канальным наборно-ассоциативным ($n$-way set-associative).
|
||||
**Функция проецирования** - функция, определяющая место размещения данных из основной памяти в кэше.
|
||||
Для любой строки кэша нужно хранить:
|
||||
1) Кэшированные данные.
|
||||
2) **Tag** - адрес оперативной памяти, из которой данные кэшированы. Если адрес совпадает с адресом, к которому мы обратились, значит там наши данные. В противном случае надо читать данные из памяти.
|
||||
3) Бит валидности - признак того, что содержимое записи кэша актуально, т.е строка действительно содержит закэшированные данные.
|
||||
32-битный адрес разбивается на следующие поля:
|
||||
1) Последние 2 бита - биты смещения.
|
||||
|
||||
Относятся к адресации внутри кэш-блока, т.е это внутри блока байты с номерами 0,1,2,3.
|
||||
2) Предыдущие 3 бита - биты, которые были получены от операции:
|
||||
(адрес блока) MOD (число блоков в кэше)
|
||||
3) Все остальное - тег. Возможные адреса блоков, которые могут храниться в конкретной записи в кэше. Если тэг из кэша равен тэгу из адреса, по которому обратились, и бит валидности установлен, то диагностируем попадание и берем данные из кэша.
|
5
2 курс/1 семестр/Архитектура ЭВМ/Лекции/19 билет/2.md
Normal file
5
2 курс/1 семестр/Архитектура ЭВМ/Лекции/19 билет/2.md
Normal file
@ -0,0 +1,5 @@
|
||||
#### Наборно-ассоциативный кэш (Set associative cache), полностью ассоциативный кэш (Fully associative cache).
|
||||
|
||||
**Наборно-ассоциативный кэш** требует параллельного сравнения тегов и более сложную логику проверки попадания, что может увеличить задержку доступа.
|
||||
В наборно-ассоциативном кэше меньше промахов в результате уменьшения числа конфликтов между блоками, которые были бы спроецированы в одну и ту же строку в кэше прямого отображения.
|
||||
У **полностью ассоциативного кэша** никакого разбиения адреса нет, адрес блока является тэгом. В полностью ассоциативном кэше преимущество: высокая скорость считывания. Недостаток: сложность аппаратной реализации.
|
Reference in New Issue
Block a user