Программирование на JAVA

В результате выполнения программы оба эти блока должны быть скопированы в блок 1 кэша. Конфликт разрешается просто: старый блок заменяется новым.

Таким образом, местоположение блока в кэше определяется на основе его адре­са в памяти. Адрес в памяти может быть разделен на три поля (рис. 8.4). Четыре младших разряда задают одно из 16 слов блока. Когда в кэш записывается новый блок, 7-разрядное поле номера блока данного кэша определяет его местоположе­ние. Пять старших разрядов задают адрес блока в памяти. При записи блока в кэш они указываются в специальном поле тега (дескрипторе). Такое поле имеет­ся в кэше для каждого из его блоков — оно определяет, какому из 32 блоков памя­ти, отображаемых на данный блок кэша, соответствует хранящаяся здесь инфор­мация. Во время выполнения программы процессор генерирует адреса, в каждом из которых 7-разрядное поле номера блока кэша указывает на конкретный блок в нем. Тег этого блока сравнивается со старшими 5 разрядами адреса, и если они совпадают, значит, данное слово уже находится в кэше. В противном случае блок, содержащий данное слово, нужно извлечь из основной памяти и поместить в кэш. Технология прямого отображения очень проста, но ей недостает гибкости.


<< назад вперед >>