Организация ЭВМ и систем

Распределение секторов


По данному методу основная память разбивается на секторы, состоящие из фиксированного числа строк, кэш-память также разбивается на секторы, состоящие из такого же числа строк. Рассмотрим случай, когда длина строки равна 16 словам, а сектор состоит из 16 строк. Структура кэш-памяти с рас­пределением секторов представлена на рис. 4.8. В адресе основной памяти старшие 10 бит показывают номер сектора, следующие 4 бит — номер строки внутри сектора, а младшие 4 бит — адрес слова в строке.

По данному методу распределение секторов в основной памяти, и секто­ров в кэш-памяти осуществляется полностью ассоциативно. Другими слова­ми, каждый сектор в основной памяти может соответствовать любому секто­ру в кэш-памяти. Распределение строк в секторе одинаково для основной па­мяти и кэш-памяти. К каждой строке, хранимой в кэш-памяти, добавляется один бит информации, называемый битом достоверности (действительно­сти); он показывает, совпадает или нет содержимое этой строки с содержи­мым строки в основной памяти, которая в данный момент анализируется на соответствие строки кэш-памяти.


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

Если сектор, содержащий слово, доступ к которому запрашивается, уже находится в кэш-памяти, то в том случае, когда бит достоверности строки, содержащий это слово, равен 0, этот бит устанавливается и строка пересыла­ется из основной памяти в данную область кэш-памяти. В том случае, когда бит достоверности уже равен 1, данное слово можно считать из кэш-памяти.



Содержание раздела