Студопедия

Мы поможем в написании ваших работ!




Организация прерываний в микропроцессоре К1810ВМ86

 

ВМ86 имеет эффективную систему прерываний, в которой каждому прерыванию поставлен в соответствие код 0..255, идентифицирующий тип прерывания. Прерывания могут инициироваться ВУ (внешние прерывания) или командами программных прерываний, а в некоторых случаях - автоматически самим микропроцессором (внутренние прерывания).

Рис.3. Источники прерываний.

 

Внешние прерывания. Запросы на внешние прерывания поступают в микропроцессор по 2-м входам: INTR и NMI (Non Maskable Interrupt - немаскируемое прерывание), и сами прерывания соответственно делятся на маскируемые и немаскируемые.
Запросы на маскируемые прерывания от ВУ поступают обычно на входы программируемого контроллера приоритетных прерываний (ПКПП) К1810ВР59, который формирует сигнал прерывания INTR. Этот ПКПП может работать как с ВМ86, так и с микропроцессором КР580ВМ80А (аналогично ПКПП КР580ВН59).

Действия ВМ86 при поступлении прерывания INTR зависят от состояния флага разрешения прерываний IF (Interrupt Flag) в регистре флагов. Если IF=0, то прерывания по входу INTR запрещены (замаскированы) и ВМ86 игнорирует запрос прерывания, переходя к следующей команде. Если IF=1, то МП распознает запрос прерывания и обрабатывает его.
Состоянием флага IF программист может управлять с помощью команд STI (установка) и CLI (сброс).
Запросы на немаскируемые прерывания поступают по входу NMI и обычно используются для прерывания работы микропроцессора при катастрофических ситуациях: аварийное пропадание питания, сбой памяти и др. Запросы NMI запоминаются в МП и имеют более высокий приоритет, чем прерывания по входу INTR. Обработка прерываний NMI не зависит от состояния флага IF. Немаскируемому прерыванию присваивается тип 2, который автоматически формируется внутри микропроцессора, а циклы шины подтверждения прерывания #INTA не формируются, что ускоряет реакцию МП на немаскируемые прерывания.
Внутренние прерывания. Внутренние прерывания характеризуются типом прерывания, который либо предопределен (INTO, тип 4), либо содержится в коде команды INT n. Внутренние прерывания не могут быть запрещены (кроме пошагового прерывания).
Прерывание по ошибке деления на 0 (тип 0) генерируется микропроцессором сразу после команды деления DIV, IDIV, если формат частного превышает формат приемника или в случае деления на 0.
Прерывание по переполнению (тип 4) генерируется по однобайтовой команде INTO, если установлен флаг OF.
Пошаговое прерывание (тип 1) вырабатывается автоматически при TF=1 после выполнения каждой команды (или пары команд, если первая команда изменяет содержимое сегментного регистра). При обработке этого прерывания МП включает в стек регистры F, CS, IP, а затем сбрасывает флаги IF и TF, поэтому после вызова подпрограммы обслуживания этого прерывания МП работает обычным способом, а не в пошаговом режиме. Подпрограмма обработки пошагового прерывания обычно осуществляет индикацию внутренних регистров МП и содержимого некоторых ячеек памяти и используется для отладки. Когда подпрограмма обработки пошагового прерывания завершается, из стека извлекаются прежние состояния флагов и МП снова переводится в пошаговый режим работы.
Прерывание пользователем в программе осуществляется по 2-байтовой команде INT n, в которой тип прерывания указывается во 2-м байте команды. Команда INT n запоминает в стеке регистры CS, IP и F и выполняет межсегментный переход по вектору прерывания n.
Однобайтовая команда INT3 определена как прерывание контрольной точки (точки разрыва). Контрольной точкой может быть любое место в программе, где нормальное ее выполнение прерывается и производятся некоторые специальные действия. Контрольные точки обычно вводятся при отладке как средство индикации содержимого регистров, ячеек памяти, портов ВВ в критических местах программы. Эту команду можно также использовать, чтобы вставить дополнительный фрагмент программы без ее повторной трансляции.
Подпрограмма обслуживания прерывания. Связь между типом n и подпрограммой обслуживания прерывания устанавливается с помощью таблицы указателей векторов прерываний. Эта таблица занимает 1 Кб памяти с адресами 0..3FFh и содержит 256 указателей по 2 слова каждый, определяющих начальный логический адрес соответствующей подпрограммы обслуживания. Слово с большим адресом содержит базовый адрес кодового сегмента, а слово с меньшим адресом - смещение в кодовом сегменте. МП вычисляет адрес вектора путем умножения типа прерывания n на 4. При переходе на подпрограмму обслуживания смещение из вектора загружается в регистр IP, а адрес сегмента - в регистр CS.
Когда осуществляется переход на подпрограмму обслуживания прерывания, старое содержимое регистров F, CS и IP запоминается в стеке; флаг IF сбрасывается, тем самым запрещаются внешние прерывания по входу INTR, что нужно, например, для защиты начального участка подпрограммы обслуживания, в течение которого в стеке сохраняются внутренние регистры МП. Затем подпрограмма обслуживания может разрешить внешние прерывания командой STI.
В конце подпрограммы восстанавливаются содержимое регистров из стека. Подпрограмма обслуживания прерывания завершается командой IRET, которой предшествует команда STI, разрешающая внешние прерывания. Перед выполнением команды IRET стек должен быть в том состоянии, в котором он был сразу после вызова подпрограммы обслуживания.

44. Структура однопроцессорной МПС на базе микропроцессора К1810ВМ86

45. Характеристики микропроцессоров компании Intel

ХарактеристикиPentium4(ядро Northwood)

  • Представлен в 2002 г.

Northwood A

  • Технологический процесс: 130 нм
  • 1.7, 1.8, 1.9, 2, 2.2, 2.4, 2.5, 2.6 ГГц
  • Улучшенное предсказание переходов и другие улучшения микрокода
  • Интегрированный L2-кэш 512 Кб
  • Количество транзисторов: 55 млн.
  • Частота системной шины: 400 МГц

Northwood B

  • 2.26, 2.4, 2.53, 2.66, 2.8, 3.06 ГГц
  • Частота системной шины: 533 МГц

Northwood C

  • 2.4, 2.6, 2.8, 3.0, 3.2, 3.4 ГГц
  • Частота системной шины: 800 МГц
  • все версии включают в себя Hyper Threading
  • Быстродействие: от 6500 до 10000 MIPS

 

Двухядерные32-разрядные процессоры


<== предыдущая страница | следующая страница ==>
Сегментация памяти и вычисление адресов | Dual-CoreXeon LV

Дата добавления: 2015-06-30; просмотров: 594; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.102 сек.