- •1. Функция и структура системы.
- •2. Принцип адресности в архитектуре фон Неймана
- •3. Жесткость архитектуры. Из каких основных блоков состоит эвм.
- •4. Какое устройство формирует признаки выполнения команд?
- •5. Принцип однородности памяти.
- •6. Типы данных, с которыми оперируют эвм.
- •12. Как представляется поле порядка для вещественных чисел в сопроцессорах фирмы Intel?
- •13. Как представляется мантисса числа одинарной и двойной точности?
- •14. Зачем используется скрытый бит?
- •15. Где располагается старший бит мантиссы числа одинарной и двойной точности?
- •16. С каким типом вещественных чисел работает сопроцессор?
- •25. Как определяется денормализованное число?
- •26. Режим управления бесконечностью со знаком?
- •27. Что означает nan?
- •28. Какая ссылка в методах адресации самая медленная?
- •29. Регистровая адресация, непосредственная адресация, неявная адресация, индексная адресация, относительная адресация. Регистровая адресация.
- •Непосредственная адресация.
- •Неявная адресация.
- •Базовая или индексная адресация.
- •Относительная базово-индексная адресация.
- •30. Базовый адрес, модификация адреса.
- •31. Что такое относительное расстояние в методах адресации?
- •32. Автоинкрементная, преинкрементная, постинкрементная, предекрементная адресация.
- •33. Иерархия памяти эвм.
- •34. Разновидности кэш-памяти.
- •35. В каком блоке ассоциативной памяти отмечается, какая ассоциативная информация используется, а какая – нет?
- •36. На какие классы делятся виды прерываний в ia-32?
- •37. Какие события вызываю программные прерывания?
- •38. Какие типы программных прерываний существуют в ia-32?
- •39. Маскируемое прерывание, вектор прерывания.
- •Векторы прерываний
- •40. Программный и аппаратный поллинг.
39. Маскируемое прерывание, вектор прерывания.
Маскирование
В зависимости от возможности запрета внешние прерывания делятся на:
маскируемые — прерывания, которые можно запрещать установкой соответствующих битов в регистре маскирования прерываний (в x86-процессорах — сбросом флага IF в регистре флагов);
немаскируемые (англ. Non maskable interrupt, NMI) — обрабатываются всегда, независимо от запретов на другие прерывания. К примеру, такое прерывание может быть вызвано сбоем в микросхеме памяти.
Обработчики прерываний обычно пишутся таким образом, чтобы время их обработки было как можно меньшим, поскольку во время их работы могут не обрабатываться другие прерывания, а если их будет много (особенно от одного источника), то они могут теряться.
Векторы прерываний
Адреса программ, соответствующих различным прерываниям, собраны в таблицу, которая называется таблицей векторов прерываний.
Для микропроцессора требуется простой способ определения местоположения программы обработки прерывания и это осуществляется путем использования таблицы векторов прерываний.
Таблица векторов прерываний занимает первый килобайт оперативной памяти — адреса от 0000:0000 до 0000:03FF. Таблица состоит из 256 элементов — FAR-адресов обработчиков прерываний. Эти элементы называются векторами прерываний. В первом слове элемента таблицы записано смещение, а во втором — адрес сегмента обработчика прерывания. Векторами являются просто полные адреса памяти программы (в сегментированной форме), которая должна быть активизирована в случае возникновения прерывания.
40. Программный и аппаратный поллинг.
Когда в микропроцессорных системах имеется несколько ПУ, работающих в режиме
прерываний, сигналы их запросов на обслуживание прерываний объединяются по схеме
ИЛИ и подаются на вход INT микропроцессора. В этом случае возникает задача
идентификации ПУ, т.е. однозначного перехода к определенной подпрограмме
обслуживания. Решение этой задачи возлагается на систему прерывания. Разработано
несколько способов решения этой проблемы, различающихся скоростью реакции
микропроцессора и объемом дополнительных аппаратных средств. При реализации любого
способа необходимо назначить устройствам определенные приоритеты.
Программный полинг
Простейшее решение проблемы идентификации, почти не требующих
дополнительных аппаратных средств, заключается в программном опросе (полинге) флажков
готовности (сигналов прерывания) ПУ.
На рис.3.4 приведен типичный вариант программного полинга. Первым проверяется
флажок готовности ПУ1 с наибольшим приоритетом. Если оно не запрашивало
обслуживание, опрашивается следующее ПУ и т.д.
Когда встречается первое устройство готовое к операциям ВВ, управление передается
подпрограмме обслуживания этого устройства. При завершении обслуживания в полинге
может быть запрограммировано одно из следующих действий:
1. Управление возвращается в основную программу без проверки готовности
остальных ПУ. Здесь гарантируется обязательная проверка в каждом цикле полинга ПУ с
высоким приоритетом, так как обслуживание их блокирует обслуживание устройств с
меньшим приоритетом.
2. Управление возвращается к программе полинга, т.е. в точку проверки прерывания
следующего ПУ (на рис.3.4 это показано цифрой). Этот способ гарантирует проверку в
каждом цикле полинга всех устройств.
Для ускорения полинга сигналы прерываний всех устройств подключаются к
специальному регистру. Приоритет ПУ задается последовательностью опроса флажков
готовности, при обнаружении первого установленного бита осуществляется переход к
соответствующей подпрограмме обслуживания.
Недостаток программного полинга заключается в увеличении времени реакции на
запросы устройств, так как в этом случае необходима проверка всех устройств, даже тех
которые не требуют обслуживания. При увеличении числа ПУ быстро увеличивается время
реакции на запрос. Основное достоинство программного полинга заключается в простоте его
реализации, почти не требующей дополнительных аппаратных средств.
Аппаратный полинг
В случае аппаратного полинга (дейзи - цепочка, приоритетная цепочка, гирляндное
или каскадное включение устройств) микропроцессор и все ПУ соединяются таким образом,
что микропроцессор может осуществить автоматический запрос с целью идентификации
прерывающего устройства, как показано на рис.3.5.
Когда микропроцессор реагирует на запрос прерывания, он формирует сигнал
подтверждения прерывания INTA, на линии, которая последовательно проходит через все
устройства. При прохождении сигнала по цепочке проверяется состояние флажков
готовности ПУ. Если ПУ не формирует сигнал прерывания, сигнал INTA проходит в
следующее ПУ, пока не встретит активное ПУ. Это ПУ блокирует дальнейшее
распространение сигнала INTA по цепочке.
Приоритет ПУ задается их физической близостью к микропроцессору по линии INTA.
Затем активное ПУ передает по шине данных свой адрес (вектор прерывания), сопровождая
его импульсом STROBE. Этот адрес имеет однозначное соответствие с начальным адресом
подпрограммы обслуживания прерывания данного устройства.
Время реакции микропроцессора на запрос прерывания определяется временем
распространения сигнала INTA в цепочке и намного превышает времени реакции
относительно программного полинга, но он требует дополнительные аппаратные средства
для определения приоритета, а также для формирования адреса подпрограммы
обслуживания.
Адрес (вектор прерывания), возвращаемый прерывающим устройством, обычно
встраивается в интерфейсную плату, и его с помощью перемычек и переключателей может
изменять пользователь. Приоритет ПУ определяется размещением его интерфейсной платы в
разъеме, занимающее фиксированное положение в схеме.
