cisco it essentials - uefi.composter.com.uauefi.composter.com.ua/documents/eite/eite5ppt.pdf ·...

Post on 03-Jul-2020

25 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Cisco IT Essentials

Две причины, побудившие компьютерную индустрию использовать кэш-память, концепция которой была реализована еще во времена IBM360 • Разница в скоростях доступа к оперативной памяти (кэш данных) • Разница в тактировании внутренних операций CPU и операций ввода-вывода (кэш команд)

Кэш-память — транзитный буфер быстродействующей памяти ограниченного объема, расположенный отдельно от оперативного запоминающего устройства, предназначенный для временного хранения только что использованной информации или тех данных, которые вероятно потребуются в ближайшее время. По быстродействию и принадлежности кэш-память делится на уровни [L0,] L1, L2, L3, [L4].

Динамическая память •Требуется периодическая регенерация •Малые размеры ячейки (транзистор+конденсатор) •Сравнительно медленная в доступе •Подключается однопроводным способом Статическая память •Постоянно готова к чтению/записи •Занимает больше места (6 транзисторов) •Сравнительно быстрая •Требует дифференциального подключения

VDD

WL WL

DL DL

Write Through — сквозная запись производится непосредственно в основную память (и дублируется в кэш), то есть запись не кэшируется. Write Back — отложенная запись данных выполняется сначала в кэш-память, а в ОЗУ — только по определенному событию: при вытеснении или по истечении времени.

Как определить, что данные находятся в кэш-памяти? Проверить все пары «адрес-данные» по ключевому значению адреса. Если он не обнаружен, можно запросить ОЗУ. Дело пойдет быстрее, если разделить кэш-память на сегменты, и только в заголовке хранить адрес всего блока (по аналогии с алфавитным указателем).

Чтение При необходимости CPU опросит только заголовки сегментов на наличие (cache hit) или отсутствие (cache miss) в кэш-памяти данных, соответствующей указанному адресу. Поиск будет вестись до первого кэш-попадания Если все заголовки ответили негативно, запрос по адресу следует направить контроллеру оперативной памяти.

Если все заголовки хранят актуальную информацию, то стоит попрощаться с одним из них — вытеснить мало значимое в пользу важного, что определяет эффективность использования кэш-памяти. •Least Recently Used — запись в заголовок, информация давно не запрашивалась; •Most Recently Used — вытесняется последний из использованных (как в очереди FIFO); •LFU (Least Frequently Used) — вытесняется реже всех использованный заголовок; •ARC (Adaptive Replacement Cache) — алгоритм вытеснения, комбинирующий LRU и LFU, запатентованный IBM.

Для корректной работы компьютерной платформы требуется достоверность данных при одновременном их использовании разными программами, потоками, процессорами и процессорными логическими ядрами. Когерентность кэш-памяти возникает даже в однопроцессорных, однозадачных, однопоточных средах. Типичный пример – валидность данных в ОЗУ, L1 и L2.

Модифицированное состояние кэш-памяти содержит последнее изменение корректных данных. Копия в ОЗУ устарела и некорректна, и никто не располагает валидной копией. Модифицированные данные могут повторно корректироваться без каких-либо запросов к ОЗУ и изменению из их статуса в процессоре. Состояние может поменяться на Exclusive при записи модифицированных данных в основную память.

Эксклюзивное состояние содержит самые свежие и корректные данные. Копия в основной памяти также содержит наиболее свежую, корректную копию данных. Ни один другой процесс не имеет копии данных в своем кэше. Состояние может измениться на Modified в любой момент для модификации содержимого данной кэш-линии. Также состояние в любой момент может измениться на Invalid.

Состояние кэш-памяти Invalid не содержит корректных данных. Корректные копии данных могут быть либо в основной памяти, либо в кэше другого процессора.

Разделяемое (Shared) состояние содержит самые свежие и корректные данные. Копия в ОЗУ и другие процессоры в системе могут иметь копии данных в разделяемом состоянии, если ни один другой процессор не завладел правами на них типа Owned. Запись в данную кэш-линию запрещена, и требует перевода её в эксклюзивное состояние с одновременным переводом всех остальных разделяемых копий в состояние Invalid.

Состояние Оwned похоже на состояние Shared тем, что другие процессоры могут иметь эту же копию данных. Копия в основной памяти может быть устаревшей и некорректной. Только один из процессоров может установить состояние Owned, все остальные процессоры могут иметь эти данные только в состоянии Shared. Кеш-линия может перейти в состояние Modified после снятия актуальности (принудительного перевода в состояние Invalid) всех разделяемых копий в других процесс.

top related