Вырабатываются процессором по особым условиям:
– прерывание типа 0 вырабатывается в случае переполнения при операции деления на 0;
– прерывание типа 1 вырабатывается после выполнения каждой команды при установленном флаге трассировки TF;
– прерывание типа 4 вырабатывается по команде INTO (Interrupt Overflow), если установлен флаг переполнения OF.
Аппаратные прерывания
В отличие от программных и внутренних прерываний, могут возникать асинхронно по отношению к исполняемой программе.
Они подразделяются на маскируемые и немаскируемые. ЦП может воспринимать прерывания после выполнения каждой команды, длинные строковые команды имеют для восприятия прерываний специальные окна.
Маскируемые прерывания
Вызываются переходом в высокий уровень сигнала на входе INTR (Interrupt Request) при установленном флаге разрешения (IF=1).
В этом случае ЦП сохраняет в стеке регистр флагов, сбрасывает флаг IF и вырабатывает два следующих друг за другом (back to back) цикла подтверждения прерывания, в которых генерируются управляющие сигналы INTA# (Interrupt Acknowledge).
Высокий уровень сигнала INTR должен сохраняться, по крайней мере, до подтверждения прерывания.
Первый цикл подтверждения – холостой, по второму импульсу внешний контроллер прерываний передает по шине данных байт, содержащий номер вектора, обслуживающего данный тип аппаратного прерывания.
Прерывание с полученным номером вектора выполняется ЦП так же, как и программное.
Обработка текущего прерывания может быть прервана немаскируемым прерыванием, а если обработчик установит флаг IF, то и другим маскируемым аппаратным прерыванием.
После аппаратного сброса флаг IF сброшен – прерывания запрещены до явного разрешения.
Немаскируемые прерывания
Выполняются независимо от состояния флага IF по сигналу NMI (Non Mascable Interrupt). Высокий уровень на этом входе вызовет прерывание с типом 2, которое выполняется как и маскируемое. Его обработка не может прерываться под действием сигнала на входе NMI до выполнения инструкции IRET.
Инструкция HALT переводит ЦП в состояние остано-ва, из которого его может вывести только аппаратное прерывание или аппаратный сброс. В этом режиме ЦП не управляет локальной шиной.
Инструкция WAIT заставляет ЦП ожидать активного (низкий уровень) сигнала на входе TEST#.
До его появления ЦП также не управляет локальной шиной. В случае аппаратного прерывания по окончании его обслуживания ЦП снова вернется в состояние ожидания.
Проверка состояния входа TEST# используется для синхронизации с математическим сопроцессором 8087.
Интерфейс ЦП 8086 допускает наличие на своей локальной шине других контроллеров, а также позволяет строить многопроцессорные системы.
Управление шиной может передаваться от ЦП другому контроллеру по соответствующему запросу.
Система команд ЦП i 8086
Включает следующие основные группы:
¨ инструкции пересылки данных;
¨ арифметические и логические инструкции;
¨ инструкции со строками;
¨ инструкции передачи управления;
¨ инструкции управления процессором.
Каждая команда имеет один или два байта кода инструкции, за которыми может следовать 1, 2 или 4 байта операнда.
Перед кодом инструкции возможно применение:
– префиксов CS:, OS:, ES:, SS:, указывающих на использование заданных сегментных регистров вместо обычного,
– префикса REP, указывающего на необходимость повтора инструкции указанное в регистре СХ число раз,
– префикса LOCK, блокирующего системную шину на время выполнения инструкции.
Система команд 16-разрядного ЦП 8086 является подмножеством команд 32-разрядных процессоров 80x86.
Разрядные процессоры
Разработку 64-разрядного процессора Itanium/ Merced фирмы Intel и Hewlett-Packard начали еще в 1994 г. и в 1997 г. представили его первые технические характеристики. В настоящее время выпускаются процессоры Itanium 2 на ядре Madison с 0,13-микронной технологией, тактовой частотой до 1,5 ГГц и кэш-памятью объемом 6 Мб. На подходе новый процессор Itanium 2 на ядре Deerfield с 0,09-микронной технологией, частотой до 1,5 ГГц и кэш-памятью 6 Мб для использования в серверах.
В 2005 г. Intel планирует выпуск процессоров Itanium на ядре Montecito. Эти процессоры будут изготавливаться по 0,09-микронной технологии с размещением на одном кристалле сразу двух процессорных ядер.
Весной 2003 г. кампания AMD выпустила 64-разрядный процессор на ядре Hammer, а осенью 2003 г. кампания AMD официально объявила о выпуске 64-разрядных процессоров:
– AMD Athlon 64 FX-51 для высокопроизводительных платформ,
– AMD Athlon 3200+ для офисных РС;
– AMD Athlon 3000+ для мобильных систем.
![]() | |||||||||
![]() | ![]() | ||||||||
![]() | |||||||||
![]() | |||||||||
|
В настоящее время 64-разрядные процессоры Itanium 2 фирмы Intel и Opteron кампании AMD используются для создания кластеров и супер-компьютеров (с числом процессоров до 12000!).
Все процессоры Opteron, независимо от модели, имеют кэш-память объемом 1 Мб и поддерживают два набора инструкций: традиционный 32-разрядный набор команд x86 и расширенные 64-разрядные инструкции x86-64. Это позволяет этим процессорам эффектив-но справляться с существующими 32-разрядны-ми приложениями, однако полностью их возможности проявляются в 64-разрядном режиме.
Для этого необходимо использовать 64-разряд-ные ОС и приложения – программы. Одной из 64-разрядных ОС является Microsoft.NET Server Beta. Поддержка 64-разрядных процессоров включена также в Windows XP sp2, Windows 2003 Server.
IBM создала ОС Monterey-64 для 64-разрядного процессора Itanium/Merced корпорации Intel.
Кампания Sun Microsystems в 2000 г. представила 64-разрядный процессор UltraSPARC IIe для встроенных коммуникационных систем.
Китайский Институт компьютерных технологий разработал 64-разрядный процессор Godson-2, работающий на частоте 500 МГц