Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс_ЛЕКЦИЙ_АРХ_2012.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
1.17 Mб
Скачать

3.2 Взаимодействие процессора и различных уровней памяти

Уровни иерархии памяти взаимосвязаны: все данные на одном уровне могут быть также найдены на более низком уровне, и все дан­ные на этом более низком уровне могут быть найдены на следующем нижележащем уровне и так далее.

В каждый момент времени идет об­мен с двумя близлежащими уровнями. Минимальная единица инфор­мации, которая может либо присутствовать, либо отсутствовать в двухуровневой иерархии, называется блоком.

Размер блока может быть либо фиксированным, либо переменным. Если этот размер за­фиксирован, то объем памяти является кратным размеру блока.

Успешное или неуспешное обращение к более высокому уровню называются соответственно попаданием (hit) или промахом (miss).

Попадание - обращение к объекту в памяти, который найден на более высоком уровне, в то время как промах означает, что он не найден на этом уровне.

Доля попаданий или коэффициент попаданий есть доля обращений, найденных на более высоком уровне.

Доля промахов есть доля обращений, которые не найдены на более высоком уровне.

Потери на промах - время для замещения блока в более высоком уровне на блок из более низкого уровня плюс время для пересылки этого блока в требуемое устройство (обычно в процессор).

Потери на промах включают в себя две компоненты: время доступа - время об­ращения к первому слову блока при промахе, и время пересылки - дополнительное время для пересылки оставшихся слов блока.

Время доступа связано с задержкой памяти более низкого уровня, в то время как время пересылки связано с полосой пропускания канала между устройствами памяти двух смежных уровней.

Инициатором обращения к памяти практически всегда является процессор. Исключение - режим прямого доступа к памяти, когда ор­ганизуется процесс передачи файлов между ОП и внешней памятью через соответствующую шину, минуя процессор.

В процессе выполнения программы процессор обрабатывает каждую команду и определяет исполнительный адрес Аисп операнда.

При этом процессор «не знает», на каком уровне памяти находится этот исполнительный адрес, поэтому сразу формируется обращение к ОП.

Далее происходит поиск данных по исполнительному адресу на различных уровнях памяти. Сложность в том, что на каждом уровне данные представлены различными способами.

Будем рассматривать блочную организацию данных.

  • В регистровой памяти данные записы­ваются блоками в виде слов длиной 16, 32, 64 и 128 бит.

  • В кэш-памя­ти блоком является строка длиной 16, 32 или 64 байта. В ОП чаще всего используются страницы по 4 - 8 Кб.

  • На жестких дисках блоки - это сектора по 512 байт. Как правило, размер страницы ОП кратен длине сектора винчестера.

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

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

Аналогично, при обращении к основной памяти при попадании блок данных передается в процессор. При промахе данные загружа­ются с жесткого или оптического диска в ОП.

При обращении к архивной памяти блок данных, то есть иско­мый диск, автоматически передается из хранилища и устанавливается в дисковод компьютера.