Вордовские лекции (1115151), страница 2
Текст из файла (страница 2)
Возможность предварительной буферизации при чтении команд/данных. Оптимизация при записи в ОЗУ больших объемов данных.
3.2Центральный процессор
3.2.1Структура, функции ЦП
ЦП обеспечивает выполнение программы, размещенной в ОЗУ. Осуществляется выбор машинного слова, содержащего очередную машинную команду, дешифрация команды, контроль корректности данных, определение исполнительных адресов операндов, получение значения операндов и исполнение машинной команды.
Регистровая память процессора – сверхоперативные запоминающие устройства, размещенные в процессоре
3.2.2Регистры общего назначения (РОН)
Используются в машинных командах для организации индексирования и определения исполнительных адресов операндов, а также для хранения значений наиболее часто используемых операндов, в этом случае сокращается число реальных обращений в ОЗУ и повышается системная производительность ЭВМ.
3.2.3Специальные регистры
Качественный и количественный состав специализированных регистров ЦП зависит от архитектуры ЭВМ. Ниже представлены некоторые из возможных типов регистров, обычно входящие в состав специализированных регистров. Кроме регистров, рассмотренных ниже, мы будем доопределять эту группу по ходу курса.
Регистр адреса (РА) - содержит адрес команды, которая исполняется в данный момент времени. По содержимому РА ЦП осуществляет выборку текущей команды, по завершении ее исполнения регистр адреса изменяет свое значение тем самым указывает на следующую команду, которую необходимо выполнить.
Регистр результата (РР) - содержит код, характеризующий результат выполнения последней арифметико-логической команды. Содержимое РР может характеризовать результат операции. Для арифметических команд это может быть «=0», «>0», «<0», переполнение. Содержимое РР используется для организации ветвлений в программах, а также для программного контроля результатов.
Слово – состояние процессора (ССП или PSW) - регистр, содержащий текущие «настройки» работы процессора и его состояние. Содержание и наличие этого регистра зависит от архитектуры ЭВМ. Например, в ССП может включаться информация о режимах обработки прерываний, режимах выполнения арифметических команд и т. п. Частично, содержимое ССП может устанавливаться специальными командами процессора.
Регистры внешних устройств (РВУ) - специализированные регистры, служащие для организации взаимодействия ЦП с внешними устройствами. Через РВУ осуществляется обмен данными с ВУ и передача управляющей информации (команды управления ВУ и получения кодов результат обработки запросов к ВУ).
Регистр указатель стека - используется для ЭВМ, имеющих аппаратную реализацию стека, в данном регистре размещается адрес вершины стека. Содержимое изменяется автоматически при выполнении «стековых» команд ЦП.
3.3Буферная память, КЭШ
Вернемся к проблеме дисбаланса скорости доступа к ОЗУ и скорости обработки информации ЦП.
Первое решение – использовать программные средства. Программист может разместить наиболее часто используемые операнды в РОН, тем самым сокращается количество «медленных» обращений в ОЗУ. Результат решения во многом зависит от качества программирования.
Второе решение – использование в архитектуре ЭВМ специальных регистровых буферов или КЭШ памяти.
Регистровые буфера или КЭШ память предназначены для разрешения проблемы несоответствия скоростей работы ОЗУ и ЦП, на аппаратном уровне, т.е. эта форма оптимизации в системе организована аппаратно и работает всегда, вне зависимости от исполняемой программы. Следует отметить, что результат этой оптимизации, в общем случае зависит от характеристик программы (об этом несколько позднее). Традиционно, в развитых ЭВМ используется аппаратная буферизация доступа к операндам команд, а также к самим командам.
3.3.1Буферизация работы с операндами
Буфер операндов – аппаратная таблица, логически являющаяся компонентом ЦП (физически это может быть и отдельное от ЦП устройство), призванная аппаратно минимизировать количество обращений к «медленному» ОЗУ при записи и чтении операндов.
Таблица состоит из фиксированного числа строк. Каждая строка имеет следующие поля:
-
адрес – физический адрес машинного слова в ОЗУ;
-
значение – значение машинного слова, соответствующего адресу;
-
признак изменения – код, характеризующий факт изменения поля значения (в соответствующей ячейке ОЗУ значение отличается от значения в таблице);
-
код старения – код, характеризующий интенсивность обращений к данной строке. По значению поля определяются наиболее «популярные» строки. Конкретный алгоритм изменения данного поля зависит от ЭВМ.
Примерные алгоритмы использования буфера операндов
Алгоритм для чтения данных из ОЗУ
Пусть имеется команды чтения данных из машинного слова по физическому адресу Aисп.
-
Поиск по таблице строки, содержащей адрес, совпадающий с Aисп. Если такой строки нет, то на п. 3.
-
Происходит обновление кода старения. Результатом команды чтения является содержимое поля «Значение».
-
По значениям поля «Код старения» осуществляется поиск строки, используемой наименее интенсивно.
-
Анализируется код изменения. Если значение изменялось в таблице, то происходит запись значения по адресу в ОЗУ.
-
Считывается машинное слово из ОЗУ по адресу Aисп и заполняется данная строка.
-
Считанное значение является результатом выполнения команды чтения.
Алгоритм для записи данных в ОЗУ
Пусть имеется команда записи значения в машинное слово по физическому адресу Aисп.
-
Поиск по таблице строки, содержащей адрес, совпадающий с Aисп. Если такой строки нет, то на п. 3.
-
Значение записывается в поле «Значение». Происходит обновление полей «Признак изменения», «Код старения». Выполнения команды записи завершено.
-
По значению поля «Код старения» осуществляется поиск строки, используемое наименее интенсивно.
-
Анализируется код изменения. Если значение изменялось в таблице, то происходит запись значения по адресу в ОЗУ.
-
Происходит обновление содержимого полей строки в соответствии с командой записи. Выполнение команды завершено.
3.3.2Буферизация выборки команд
Б уфер команд – минимизация обращений в ОЗУ за машинными командами.
Интерпретация одноименных полей аналогична буферу операндов.
Примерный алгоритм использования
Центральному процессору требуется для выполнения машинная команда, размещенная по физическому адресу ОЗУ Aисп.
-
Поиск по таблице строки, содержащей Aисп. Если такой не то на п. 3.
-
Обновление поля «Код старения», чтение поля «Значение» и передача его процессору для исполнения.
-
Поиск наименее интенсивно используемой строки. Чтение машинного слова из ОЗУ по адресу Aисп и заполнение всех полей строки. Передача процессору значения для исполнения.
Конкретные реализация и алгоритмы зависят от архитектуры ЭВМ. Возможно, например, использование одного буфера.
Некоторые итоги решения проблемы оптимизации доступа к ОЗУ
3.4Внешние устройства
3.4.1Организация управления внешними устройствами
Управление внешними устройствами с использованием специальных команд и/или специальных регистров внешних устройств (ВУ).
Возможно использование «специальных» областей ОЗУ для обмена информацией с внешними устройствами.
а) Центральный процессор – ВУ
На ЦП ложатся все функции по управлению устройством. В этом случае осуществляется «микро» управление ВУ центральным процессором. Данная схема является простейшей, но объем затрат ЦП неоправданно велик (сложность соответствующих драйверов).
б) ЦП – контроллер ВУ – ВУ
в) ЦП – процессор ввода/вывода – ВУ
Для перечисленных вариантов ЦП использует запросы от уровня микрокоманд управления ВУ в случае а) до высокоуровневых макрозапросов в случае б) и в).
3.4.2Типы внешних устройств (ВУ)
Обмен с ВЗУ происходит некоторыми порциями данных – записями. Размер физической записи зависит от типа конкретного устройства. Все записи, размещенные на конкретном ВЗУ можно однозначно пронумеровать.
Устройства последовательного доступа.
ВЗУ является устройством последовательного доступа если для чтения i-й записи необходимо прочесть («просмотреть») предыдущие i-1 запись.
Примером устройства последовательного типа является магнитная лента (МЛ).
Обычно длина физической записи МЛ произвольная, она определяется специальными маркерами начала и конца записи.
Устройства последовательного доступа являются простейшими ВЗУ. Они обычно используются для архивирования данных. Скорость обработки запросов чтения/записи самая низкая (большой объем механических действий, таких как перемотка лент вперед-назад при выполнении обмена).
Устройства прямого доступа
Устройство прямого доступа характеризуется возможностью чтения любой записи без предварительного просмотра каких-либо других записей, размещенных на данном устройстве. ВЗУ прямого доступа классифицируются по производительности.
Магнитные диски (МД)
Наименее скоростные устройства прямого доступа. При выполнении обмена совершаются следующие действия:
-
перемещение считывающей/головки на нужный цилиндр;
-
ожидание выхода головки на начало нужного сектора диска (ожидание механического поворота диска на начало сектора);
-
непосредственный обмен (в темпе движения диска);
Магнитный барабан
Высокоскоростное ВЗУ. При выполнении обмена совершаются следующие действия:
-
электронное включение считывающей/записывающей головки, соответствующей нужному треку;
-
ожидание размещения головки над началом нужного сектора (ожидание механического поворота барабана на начало сектора);
-
непосредственный обмен в темпе движения барабана.
-
магнитный барабан используется операционными системами высокопроизводительных ЭВМ для хранения оперативных данных (данных, время доступа к которым должно быть минимальным).
Матрично-электронные ВЗУ прямого доступа
Память на магнитных доменах, ВЗУ, построенные на элементной базе ОЗУ и т.п.
В обмене отсутствует «механическая» составляющая, поэтому это наиболее быстродействующие ВЗУ.
3.4.3Синхронная/асинхронная работа с ВУ
Существует две принципиально различные стратегии выполнения обмена с внешними устройствами: синхронная и асинхронная работа с ВУ.
Синхронная работа с ВУ
Процессор подает запрос внешнему устройству и ожидает завершения выполнения запроса.
Системы с синхронной организацией работы ВУ неэффективны с точки зрения использования времени работы центрального процессора. Процессор часто «ожидает» выполнения запроса. Наиболее подходит для однопрограммных специализированных вычислительных систем.
Асинхронная работа с ВУ
При обработке запроса к ВУ происходит разделение выполнения на три части:
Первая – передача ЦП запроса на выполнение работ. После этого процессор может выполнять другие команды.
Вторая – параллельно работе ЦП происходит выполнение запроса к ВУ (т.е. в это время процессор может выполнять другие машинные команды).
Третья – выполнение работы ЦП прерывается и ему передается информация о завершении выполнения запроса. Следует отметить, что ЦП может также приостановить работу в случае обращения в область ОЗУ, находящуюся в обмене.