Переход к соответствующему обработчику прерывания осуществляется (в реальном режиме работы микропроцессора) посредством таблицы векторов прерываний. Эта таблица располагается в самых младших адресах ОП, имеет объём 1 Кб и содержит значения сегментного регистра команд (CS) и указателя команд (IP) для 256 обработчиков прерываний.
Адрес | ↑ | 1Кб | ↓ | |||||
255 | IPL | IPH | CSL | CSH | Тип 255 | |
8 | IPL | IPH | CSL | CSH | Тип 2 | |
4 | IPL | IPH | CSL | CSH | Тип 1 | |
0 | IPL | IPH | CSL | CSH | Тип 0 |
Обращение к элементам таблицы осуществляется по восьмиразрядному коду – типу прерывания. Однако, при выполнении операции записи ситуация коренным образом меняется. Именно процессор определяет размер записи (обычно от 1 до 8б), и только эта часть блока может быть изменена. В общем случае это подразумевает выполнение над блоком последовательности операций «чтение – модификация – запись», т.е. чтение оригинального блока, модификация его части и запись нового значения блока. Более того, модификация блока не может начинаться до тех пор, пока проверяется тег, чтобы убедиться в том, что обращение является попаданием.
Поскольку проверка тегов не может выполняться параллельно с другой работой, то операция записи отнимает больше времени, чем операция чтения. Очень часто организация кэш-памяти в разных ЭВМ отличается именно стратегией выполнения записи. Когда выполняется запись в кэш-память, имеются две базовые возможности:
· Сквозная запись – write through, store through – информация записывается в два места: в блок кэш-памяти и в блок более низкого уровня памяти.
· Запись с обратным копированием – write back, copy back, store in – информация записывается только в блок кэш-памяти. Модифицированный блок кэш-памяти записывается в основную память только тогда, когда он замещается. Для сокращения частоты копирования блоков обычно с каждым блоком кэш-памяти связывается так называемый бит модификации. Этот бит состояния показывает, был ли модифицирован блок, находящийся в кэш-памяти. Если он не модифицировался, то обратное копирование отменяется, поскольку более низкий уровень содержит ту же самую информацию, что и кэш-память.
Оба подхода к организации записи имеют свои преимущества и недостатки. При записи с обратным копированием, операции записи выполняются со скоростью кэш-памяти, и несколько записей в один и тот же блок требуют только одной записи в память более низкого уровня. Поскольку в этом случае обращение к основной памяти происходит реже, требуется меньшая полоса пропускания памяти, что очень привлекательно для мультипроцессорных систем.
При сквозной записи промахи по чтению не влияют на записи в более высокий уровень, и кроме того, сквозная запись проще для реализации. Сквозная запись также имеет преимущество в том, что основная память имеет наиболее свежую копию данных. Это важно в мультипроцессорных системах, а также для организации ввода-вывода. Когда процессор ожидает завершения записи при выполнении сквозной записи, то говорят, что он приостанавливается для записи – write stall.
Общий приём минимизации «останов по записи» связан с использованием буфера записи write buffer, который позволяет процессору продолжить выполнение команд во время обновления содержимого памяти. Следует отметить, что остановы по записи могут возникать и при наличии буфера записи. При промахе во время записи имеются две дополнительные возможности:
· Разместить запись в кэш-памяти – write allocate – называется также выборкой при записи – fetch on write. Блок загружается в кэш-память, вслед за тем выполняются действия, аналогичные выполняющимся при выполнении записи с попаданием. Это похоже на промах при чтении.
· Не размещать запись в кэш-памяти – называется записью окружения – write around. Блок модифицируется на более низком уровне и не загружается в кэш-память.
Формула для среднего времени доступа в памяти в системах с кэш-памятью выглядит следующим образом:
Среднее время доступа = Время обращения при попадании + Доля промахов * Потери при промахе
Эта формула наглядно показывает пути оптимизации работы кэш-памяти, сокращение потерь при промахе, а также сокращение времени обращения кэш-памяти при попадании.
Организация памяти ЭВМ
В основе реализации иерархии памяти современных ЭВМ лежат два принципа:
· Принцип локальности обращений
· Соотношение «стоимость/производительность»
Принцип локальности обращений говорит о том, что большинство программ, к счастью, не выполняют обращений ко всем своим командам и данным равновероятно, а оказывают предпочтение некоторой части своего адресного пространства.
Иерархия памяти в современных ЭВМ строится на нескольких уровнях, причём более высокий уровень меньше по объёму, быстрее и имеет большую стоимость в пересчёте на байт, чем более низкий уровень, и меньшую скорость передачи. Уровни иерархии взаимосвязаны: все данные на одном уровне могут быть также найдены на более низком уровне, и все данные на этом более низком уровне могут быть найдены на следующем нижележащем уровне и так далее, пока мы не достигнем основания иерархии. В каждый момент времени мы имеем дело с двумя близлежащими уровнями.
Память – это совокупность отдельных устройств, которые запоминают, хранят и выдают информацию. Отдельные устройства памяти называют запоминающими устройствами.
Производительность ЭВМ в значительной мере определяется составом и характеристиками отдельных ЗУ, которые различаются по принципу действия, техническим характеристикам, назначению.
Основные операции с памятью:
· Процедура записи
· Процедура чтения (выборки)
Процедуры записи и чтения также называют обращением к памяти.
За одно обращение к памяти «обрабатывается» для различных устройств различные единицы данных (байт, слово, длинное слово, блок). Основные технические характеристики памяти: Ёмкость, быстродействие (время обращения к ЗУ).
В некоторых ЗУ считывание данных сопровождается их разрушением. В этом случае цикл обращения к памяти должен содержать функцию «регенерация данных» (для ЗУ динамического типа).
Этот цикл состоит из трёх шагов:
· Время от начала операции обращения до момента, как данные станут доступны (время доступа)
· Считывание после обращения
· Регенерация
Процедура записи имеет:
· Время доступа
· Время подготовки (приведение в исходное состояние поверхности магнитного диска при записи)
· Запись
Максимальная длительность чтения-записи называется временем обращения к памяти.
По физическим основам все ЗУ делятся на полупроводниковые, магнитные, магнитооптические, оптические и т.д.
В зависимости от вида реализуемых операций память бывает двусторонней (память с любым обращением чтение-запись) и односторонней (или только чтение, или только запись).
По способу организации доступа к данным все ЗУ делятся на:
· ЗУ с произвольным доступом
· ЗУ с прямым или циклическим доступом
· ЗУ с последовательным доступом
Дата: 2019-02-02, просмотров: 349.