Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Регистры расширений MMX, SSE. 7 страница



Исключения делятся наотказы,ловушки и выходы из процесса, в зависимости от способа сообщения о них и возможности перезапуска процессора с вызвавшей их команды. Отказы – это исключения, которые выявляются и обслуживаются перед выполнением команды. Они могут иметь место в виртуальной системе памяти, когда процессор обращается к несуществующим странице или сегменту. В процессе обработки такого исключения операционная система обращается к странице или сегменту на диске, а процессор перезапускает команду. Ловушка – это исключение, которое возникает непосредственно после выполнения команды. Примером ловушки является прерывание/исключение по команде INT, обрабатываемое пользователем. Выход из процесса является исключением, которое не позволяет точно локализовать причину, вызвавшую исключительную ситуацию. Выходы из процесса используются для сообщения о крупных ошибках, таких как неисправности аппаратуры или ошибки в системных таблицах. Адресом возврата из процедуры обработки исключений всегда является команда, вызвавшая исключение, возможны префиксы.

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

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

Программу, затребованную запросом прерывания, назовем прерывающей программой, противопоставляя ее прерываемой программе,выполнявшейся в ЭВМ до появления запроса.

Убран абзац
Возможность прерывания программ – важное архитектурное свойство ЭВМ, позволяющее эффективно использовать производительность процессора при наличии нескольких, протекающих параллельно во времени, процессов, требующих в произвольные моменты времени управления и обслуживания со стороны процессора. В первую очередь это относится к организации параллельной во времени работы процессора и периферийных устройств машины, а также к использованию ЭВМ для управления в реальном времени технологическими процессами.

Чтобы ЭВМ могла, не требуя больших усилий от программиста, реализовывать с высоким быстродействием прерывания программ, машине необходимо придать соответствующие аппаратурные и программные средства, совокупность которых получила название системы прерывания программ.В качестве аппаратных средств используется контроллер прерывания (блок прерывания).

Основными функциями системы прерывания являются:

· запоминание состояния прерываемой программы и осуществление перехода к прерывающей программе;

· восстановление состояния прерванной программы и возврат к ней.

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

 

Характеристики системы прерывания

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

1. Общее число запросов прерывания (входов в систему прерывания).

2. Время реакции – время между появлением запроса прерывания и моментом прерывания текущей программы. На рис. 2.25 приведена упрощенная временная диаграмма процесса прерывания.

Рис.2.25. Упрощенная временная диаграмма процесса прерывания

Для одного и того же запроса задержки в исполнении прерывающей программы зависят от того, сколько программ со старшим приоритетом ждут обслуживания, поэтому время реакции определяют для запроса с наивысшим приоритетом (tP).

Время реакции зависит от того, в какой момент допустимо прерывание. Большей частью прерывание допускается после окончания текущей команды. В этом случае время реакции определяется в основном длительностью выполнения команды

Это время реакции может оказаться недопустимо большим для ЭВМ, предназначенных для работы в реальном масштабе времени. В таких машинах часто допускается прерывание после любого такта выполнения команды (микрокоманды). Однако при этом возрастает количество информации, подлежащей запоминанию и восстановлению при переключении программ, так как в этом случае необходимо сохранять также и состояние счетчика тактов, регистра кода операции и некоторых других узлов. Такая организация прерывания возможна только в машинах с быстродействующей сверхоперативной памятью.

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

3. Затраты времени на переключение программ (издержки прерывания) равны суммарному расходу времени на запоминание и восстановление состояния программы (рис. 2.25):

tизд = t3 + tв.

4. Глубина прерывания – максимальное число программ, которые могут прерывать друг друга. На рис. 2.26 показаны процессы прерывания в системах с различной глубиной прерывания (предполагается, что приоритет каждого последующего запроса выше предыдущего). Если после перехода к прерывающей программе и вплоть до ее окончания прием запросов прекращается, то говорят, что система имеет глубину прерывания, равную 1 (относительная дисциплина обслуживания).

Рисунок изменен
Рис. 2.26. Процессы прерывания с различной глубиной прерывания и
дисциплиной обслуживания

Убрано предложение
Глубина равна n, если допускается последовательное прерывание до n прерывающих программ (абсолютная дисциплина обслуживания). Глубина прерывания обычно совпадает с числом уровней приоритета в системе прерывания. Система с большим значением глубины прерывания обеспечивает более быструю реакцию на срочные запросы.

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

Программно-управляемый приоритет прерывающих программ

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

В ЭВМ широко применяется способ маскирования прерываний.

Маска прерывания представляет собой двоичный код, разряды которого поставлены в соответствие запросам или классам (уровням) прерывания. Маска загружается командой программы в регистр маски (рис. 2.27).

Рис.2.27. Маскирование прерываний

Состояние 1 в данном разряде регистра маски (РгМ) разрешает, а состояние 0 запрещает (маскирует) прерывание текущей программы от соответствующего запроса в регистре запросов прерываний (РгЗП). Таким образом, программа, изменяя маску в регистре маски, может устанавливать произвольные приоритетные соотношения между программами без перекоммутации линий, по которым поступают запросы прерывания. Каждая прерывающая программа может установить свою маску. При формировании маски 1 устанавливаются в разряды, соответствующие запросам (прерывающим программам) с более высоким, чем у данной программы, приоритетом. Схемы И выделяют поступившие незамаскированные запросы прерывания, из которых специальная схема выделяет наиболее приоритетный запрос, формирует код его номера и вырабатывает основной сигнал прерывания (ОСП).

Убран абзац
С замаскированным запросом, в зависимости от причины прерывания, поступают двояким образом: или он игнорируется, или запоминается, с тем, чтобы осуществить затребованные действия, когда запрет будет снят. Например, если прерывание вызвано окончанием операции в ПУ, то его следует, как правило, запомнить, так как иначе ЭВМ останется неосведомленной о том, что ПУ освободилось.

Организация перехода к прерывающей программе

Наиболее гибким и динамичным является векторное прерывание,при котором вектор начального состояния прерывающей программы называют вектором прерывания.Он содержит всю необходимую информацию для перехода к прерывающей программе, в том числе ее начальный адрес. Каждому запросу (уровню) прерывания соответствует свой вектор прерывания, способный инициировать выполнение соответствующей прерывающей программы. Векторы прерывания обычно находятся в специально выделенных фиксированных ячейках памяти (стеке).

Главное место в процедуре перехода к прерывающей программе занимает передача из соответствующего регистра (регистров) процессора в память (стек) на сохранение текущего вектора состояния прерываемой программы (чтобы можно было вернуться к ее исполнению) и загрузка в регистр (регистры) процессора вектора прерывания прерывающей программы, к которой при этом переходит управление процессором. Источник прерывания, выставляя запрос прерывания, посылает в процессор (выставляет на шины интерфейса) код адреса в памяти своего вектора прерывания.

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

3. ФункциональнаЯ и структурнаЯ организация центрального процессора ЭВМ

В области вычислительной техники различают процессоры центральные, графические, ввода-вывода, передачи данных, коммуникационные и специализированные.

3.1.

Изменен номер
Назначение и структура центрального процессора

Центральный процессор – основное устройство ЭВМ, которое наряду с обработкой данных выполняет функции управления системой: инициирование ввода-вывода, обработку системных событий, управление доступом к основной памяти и т. п.

Структурная организация центрального процессора (ЦП) определяется функционально-логической организацией, микроархитектурой и требованиями к технико-экономическим показателям.

Логическую структуру ЦП представляет ряд функциональных средств (см. рис. 3.1): средства обработки, средства управления системой и программой (центральное устройство управления), локальная память, буферная память (кэш-память L1, L2, …), средства инициализации ввода-вывода, средства управления памятью, системные средства.

Средства обработки обеспечивают выполнение операций над данными с фиксированной (целочисленные данные) и плавающей точкой, векторными данными, полями переменной длины и т. д. Локальная память состоит из регистров общего назначения, регистров данных с плавающей точкой, управляющих регистров и др.. К средствам управления памятью относятся средства управления доступом к ОП и предвыборкой команд и данных. Буферная память включает в себя кэш-память команд и данных первого (L1), второго (L2), а в некоторых процессорах и третьего (L3) уровней. Средства инициализации ввода-вывода обеспечивают активизацию контроллеров (каналов) периферийных устройств. К системным средствам относятся средства службы времени: часы астрономического времени, таймер, коммутатор и т. д.

Существует обязательный (стандартный) минимальный набор функциональных средств для каждого типа центрального процессора. Он включает в себя регистры общего назначения, средства выполнения стандартного набора операций и средства управления вычислительным процессом. Конкретная реализация ЦП может различаться составом средств, способом их реализации, техническими параметрами.


Рис. 3.1. Логическая организация ЦП


3.2. Назначение, классификация и организация ЦУУ

Центральное устройство управления (ЦУУ) – это комплекс средств автоматического управления процессом передачи и обработки информации. ЦУУ вырабатывает управляющие сигналы (УС), необходимые для выполнения всех операций, предусмотренных системой команд, а также координирует работу всех узлов и блоков ЭВМ. В связи с этим можно считать ЦУУ преобразователем первичной командной информации, представленной программой решения задачи, во вторичную командную информацию, представляемую управляющими сигналами.

В общем случае ЦУУ формирует управляющие сигналы для реализации следующих функций:

· выборки из памяти кода очередной команды;

· расшифровки кода операции и признаков выбранной команды;

· выборки операндов и выполнения машинной операции;

· обеспечения прерываний при выполнении команд;

· формирования адреса следующей команды;

· учета состояний других устройств машины;

·

Убран абзац
инициализации работы контроллеров (каналов) ввода-вывода;

· организации контроля работоспособности ЭВМ.

По общей организацииуправление может быть центральным, распределенным и смешанным. В первом случае в блоке управления ЦУУ вырабатываются все УС для всех команд, выполняемых процессором ЭВМ. Во втором случае операционные и другие устройства процессора имеют собственные блоки местного управления. В последнем случае ЦУУ вырабатывает сигналы для запуска в работу блоков местного управления.

По способу синхронизации работы различают ЦУУ:

· синхронного типа, в которых время цикла может быть постоянным или переменным;

· асинхронного типа, в которых продолжительность цикла определяется фактическими затратами времени на выполнение каждой операции, в этом случае необходимо вырабатывать сигналы об окончании операции;

· смешанного типа, где частично реализуются оба предыдущих принципа организации циклов.

По принципу формирования и развертывания временной последовательности УС различают ЦУУ:

· аппаратного (схемного) типа;

·

Убран абзац
микропрограммного типа.

Центральное устройство управления микропрограммного типа

Убран абзац
Микропрограммный принцип управления обеспечивает реализацию одной сложной машинной команды путем выполнения определенной микропрограммы, интерпретирующей алгоритм выполнения данной операции. Совокупность микропрограмм, необходимая для реализации сложных команд ЭВМ, хранится в специальной памяти микропрограмм. Каждая микропрограмма состоит из определенной последовательности микрокоманд, которые после выборки из памяти преобразуются в набор управляющих сигналов (технология Micro-ops fusion от Intel).

Анализ аппаратурной (схемной) и микропрограммной реализации устройства управления указывает на зависимость стоимости управления от сложности выполняемых команд. Для простых команд выгодно использовать схемное управление, а для сложных команд – микропрограммное. Однако последнее приводит к увеличению затрат времени на выработку управляющих воздействий. Основным же преимуществом микропрограммного управления является его гибкость, которая позволяет повышать эффективность серийно выпускаемых и эксплуатируемых машин за счет введения новых средств математического обеспечения, использующих дополнительный набор команд и новые функции процессора. Модернизация алгоритмов или реализация дополнительных команд легко осуществляется путем изменения содержимого микропрограммной памяти.

3.3. Регистровые структуры центрального процессора

3.3.1. Регистровые структуры процессоров IA-32

В процессорах IA-32 можно выделить следующие группы регистров:

1. Основные функциональные регистры:

· регистры общего назначения (GPR);

· указатель команд;

· регистр флагов;

· регистры сегментов.

2. Регистры процессора обработки чисел с плавающей точкой (FPU):

· регистры данных;

· регистр тегов;

· регистр состояния;

· регистр указателей команд и данных FPU;

· регистр управления FPU.

Регистры расширений MMX, SSE.

4. Системные регистры:

· регистры управления микропроцессора;

· регистры системных адресов.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.