Виды кэш памяти по способам записи (л13):
- сквозная запись; - буферизованная запись; - обратная запись. Достоинства, недостатки каждого метода. Алгоритм сквозной записи (WT - Write Through) предусматривает выполнение каждой операции записи (даже однобайтной) одновременно и в строку кэш памяти, и в основную память. Алгоритм достаточно прост в реализации и легко обеспечивает целостность данных за счет постоянного совпадения копий данных в кэш и в основной памяти. Но эта простота оплачивается низкой эффективностью записи. При сквозной записи передача блоков между основной памятью и кэшем происходит редко и относительно более проста организация управления вычислительной системы, но при каждой записи информации в кэш требуется обращение к основной памяти, что может стать причиной снижения быстродействия системы Алгоритм буферизированной сквозной записи (BWT) блок, записываемый в кэш, в основную память не заносится. При подкачке буфера, когда объектом замены становится блок, содержимое которого в кэш обновлялось, данные этого блока передаются в основную память и тем самым осуществляется обновление содержимого основной памяти. При буферизации время занятости основной памяти относительно меньше, так как обновление информации в каждом блоке, находящемся в кэш, происходит многократно.
Алгоритм обратной записи (WB - Write Back) позволяет уменьшить количество операций записи в оперативную память. Если блок памяти, в который должна производиться запись, отображен и в кэш памяти, то физическая запись сначала будет произведена в эту действительную строку кэш памяти, и будет отмечена как грязная (dirty), или модифицированная, то есть требующая записи в оперативную память. Только после записи в оперативную память строка станет чистой (clean). Данный алгоритм сложнее в реализации, но существенно эффективнее, чем алгоритм сквозной записи (WT). В соответствии с первым способом блок, записываемый в кэш-память, одновременно записывается в основную память, в результате чего содержимое одноименных блоков на обоих уровнях памяти обычно совпадает. При использовании второго способа блок, записываемый в кэш, в основную память не заносится. При подкачке буфера, когда объектом замены становится блок, содержимое которого в кэше обновлялось, данные этого блока передаются в основную память и тем самым осуществляется обновление содержимого основной памяти. При сквозной записи передача блоков между основной памятью и кэшем происходит редко и относительно более проста организация управления вычислительной системы, но при каждой записи информации в кэш требуется обращение к основной памяти, что может стать причиной снижения быстродействия системы. При буферизации время занятости основной памяти относительно меньше, так как обновление информации в каждом блоке, находящемся в кэше, происходит многократно.
|