Билет 7.Оперативное запоминающее устройство
ОЗУ - устройство, предназначенное для хранения оперативной информации. В ОЗУ размещается исполняемая в данный момент программа и используемые ею данные. ОЗУ состоит из ячеек памяти, содержащей поле машинного слова и поле служебной информации.
Машинное слово – поле программно изменяемой информации, в машинном слове могут располагаться машинные команды (или части машинных команд) или данные, с которыми может оперировать программа. Машинное слово имеет фиксированный для данной ЭВМ размер (обычно размер машинного слова – это количество двоичных разрядов, размещаемых в машинном слове).
Служебная информация (иногда ТЭГ) – поле ячейки памяти, в котором схемами контроля процессора и ОЗУ автоматически размещается информация, необходимая для осуществления контроля за целостностью и корректностью использования данных, размещаемых в машинном слове.
В поле служебной информации могут размещаться:
· разряды контроля четности машинного слова (при записи машинного слова подсчет числа единиц в коде машинного слова и дополнение до четного или нечетного в контрольном разряде), при чтении контроль соответствия;
· разряды контроля данные-команда (обеспечение блокировки передачи управления на область данных программы или несанкционированной записи в область команд);
· машинный тип данных – осуществление контроля за соответствием машинной команды и типа ее операндов;
Конкретная структура, а также наличие поля служебной информации зависит от конкретной ЭВМ.
В ОЗУ все ячейки памяти имеют уникальные имена, имя - адрес ячейки памяти. Обычно адрес – это порядковый номер ячейки памяти (нумерация ячеек памяти возможна как подряд идущими номерами, так и номерами, кратными некоторому значению). Доступ к содержимому машинного слова осуществляется посредством использования адреса. Обычно скорость доступа к данным ОЗУ существенно ниже скорости обработки информации в ЦП.
Необходимо, чтобы итоговая скорость выполнения команды процессором как можно меньше зависела от скорости доступа к коду команды и к используемым в ней операндам из памяти. Это составляет проблему, которая системным образом решается на уровне архитектуры ЭВМ.
Расслоение ОЗУ – один из аппаратных путей решения проблемы дисбаланса в скорости доступа к данным, размещенным в ОЗУ и производительностью ЦП. Суть расслоения ОЗУ состоит в следующем. Все ОЗУ состоит из k блоков, каждый из которых может работать независимо. Ячейки памяти распределены между блоками таким образом, что у любой ячейки ее соседи размещаются в соседних блоках.
Возможность предварительной буферизации при чтении команд/данных. Оптимизация при записи в ОЗУ больших объемов данных.
Билет 8.Буферная память, КЭШ
Регистровые буфера или КЭШ память предназначены для разрешения проблемы несоответствия скоростей работы ОЗУ и ЦП, на аппаратном уровне, т.е. эта форма оптимизации в системе организована аппаратно и работает всегда, вне зависимости от исполняемой программы.
Буферизация работы с операндами
Буфер операндов – аппаратная таблица, логически являющаяся компонентом ЦП (физически это может быть и отдельное от ЦП устройство), призванная аппаратно минимизировать количество обращений к «медленному» ОЗУ при записи и чтении операндов.
Таблица состоит из фиксированного числа строк. Каждая строка имеет следующие поля:
· адрес – физический адрес машинного слова в ОЗУ;
· значение – значение машинного слова, соответствующего адресу;
· признак изменения – код, характеризующий факт изменения поля значения (в соответствующей ячейке ОЗУ значение отличается от значения в таблице);
· код старения – код, характеризующий интенсивность обращений к данной строке. По значению поля определяются наиболее «популярные» строки. Конкретный алгоритм изменения данного поля зависит от ЭВМ.
Буферизация выборки команд
Буфер команд – минимизация обращений в ОЗУ за машинными командами.
Имеются поля: адрес, значение, код старения.
Интерпретация одноименных полей аналогична буферу операндов.
Примерный алгоритм использования
Центральному процессору требуется для выполнения машинная команда, размещенная по физическому адресу ОЗУ Aисп.
1. Поиск по таблице строки, содержащей Aисп. Если такой не то на п. 3.
2. Обновление поля «Код старения», чтение поля «Значение» и передача его процессору для исполнения.
3. Поиск наименее интенсивно используемой строки. Чтение машинного слова из ОЗУ по адресу Aиспи заполнение всех полей строки. Передача процессору значения для исполнения.
Конкретные реализация и алгоритмы зависят от архитектуры ЭВМ. Возможно, например, использование одного буфера.
Некоторые итоги решения проблемы оптимизации доступа к ОЗУ:
Сглаживание разницы в производительности ОЗУ и ЦП->->: Минимизация часла реальных обращений в ОЗУ->(Использование РОН, Аппаратная буферизация), Распараллеливание работы с ОЗУ->(Расслоение ОЗУ).
Билет. Аппарат прерываний
Аппарат прерываний ЭВМ - возможность аппаратуры ЭВМ стандартным образом обрабатывать возникающие в вычислительной системе события. Данные события будем называть прерываниями.
Прерывание - одно из событий в вычислительной системе, на возникновение которого предусмотрена стандартная реакция аппаратуры ЭВМ. Количество различных типов прерываний ограничено и определяется при разработке аппаратуры ЭВМ.
Прерывания можно разделить на две группы внутренние и внешние.
Внутренние прерывания инициируются схемами контроля работы процессора. Это может быть реакция ЦП на программную ошибку. Например, деление на ноль.
Внешние прерывания – это средство, позволяющее ЭВМ корректно взаимодействовать с внешними устройствами. Это может быть событие, связанное с поступлением новой информации от ВУ или возникновение ошибки во ВУ.
Аппарат прерываний ЦП обеспечивает стандартную реакцию аппаратуры при возникновении прерывания. Тем самым обеспечивается возможность корректной обработки прерываний в ВС.
Рассмотрим обобщенную (и упрощенную) модель последовательности действий, происходящих в ВС при возникновении прерывания.
При обработке события, связанного с возникновением прерывания на первом этапе работает аппаратура ВС. При этом аппаратно (без участия программы) выполняются следующие действия:
1. Включается режим блокировки прерываний.
2. Обработка прерывания предполагает сохранение возможности корректного продолжения прерванной программы (процесса) с точки прерывания.
3. Следующим шагом является переход на программный режим обработки прерываний.
Второй этап. Программная обработка прерывания. Управление передано на точку ОС, занимающуюся обработкой прерывания. При входе в эту точку часть ресурсов ЦП, используемых программами освобождена (результат малого упрятывания). Поэтому будет запущена программа ОС, которая может использовать только освобожденные малым упрятыванием ресурсы ЦП (перечень доступных в этот момент ресурсов – характеристика аппаратуры). Выполняется следующая последовательность действий:
1. Анализ и предварительная обработка прерывания.
2. “Полное упрятывание” осуществляется полное упрятывание состояния всех ресурсов ЦП, использовавшихся прерванной программой (все регистры, настройки, режимы и т.д.) в специальную программную таблицу (в контекст процесса или программы – о нем позже).
3. До данного момента времени все действия происходили в режиме блокировки прерываний. После полного упрятывания разблокируются прерывания (то есть включается стандартный режим при котором возможно появление прерываний).
4. Заключительный этап – завершение обработки прерывания.