Cтраница 3
Структура регистра флагов. [31] |
Кроме перечисленных регистров имеются два 16-разрядных регистра: IP - указатель команд; F - регистр флагов. В регистре IP формируется относительный ( относительно CS) адрес команды, подлежащей исполнению. В регистре F ( рис. 1.2) используются следующие девять разрядов: CF - перенос, PF - четность, AF - вспомогательный перенос, ZF - нулевой результат, SF - знак, TF - пошаговый режим, IF - разрешение прерывания, DF - направление, OF-переполнение. Неиспользованные разряды на рисунке заштрихованы. [32]
Пошаговый режим дает возможность останова после выполнения команды независимо от того, какая она: одно - или двухцикловая. При подаче сигнала 55 ( напряжение низкого уровня) микро - ЭВМ завершает выполнение команды и делает останов; при этом на шинах порта РО находится восемь младших разрядов, на шинах порта Р2 [ Р2 ( 3) - Р2 ( 0) - четыре старших разряда адреса следующей команды. Это позволяет пошагово проходить программу и проверять выполнение команд. Пошаговый режим целесообразно использовать при работе с внешней памятью. [33]
Запись 1 в разряд признака направления DF вызывает автодекремент при выполнении операций со строками данных. Если признак разрешения прерывания IF равен 1, то МП реагирует на внешние маскируемые запросы прерывания. Запись 0 в IF запрещает эти прерывания. При этом IF не влияет на внутренние и немаскируемые прерывания. Для перевода МП в пошаговый режим выполнения программы необходимо записать I в разряд признака пошагового режима TF. В этом режиме после выполнения каждой команды МП автоматически генерирует прерывание. [34]
Он позволяет работать в режимах опроса, пошагового исполнения программы пользователя без и с автоматическим контролем состояния МПС, эмуляции исполнения программы в реальном времени. В режиме опроса основная программа остановлена и управление по командам оператора передается диагностическим процедурам. В этом режиме оператор может изменять состояние микропроцессора. Режим эмуляции программы в реальном времени используется для испытаний программ при рабочих быстродействиях. Для поиска большинства ошибок применяется пошаговый режим. [35]
Это позволяет легко видеть разницу между траекторией инструмента и контуром детали. Еще одна возможность, способствующая наглядному представлению последовательности операций механической обработки, обеспечивается динамическим моделированием движения инструмента на экране дисплея. Примером реализации этой возможности служит разработанная корпорацией Computervision система трехмерной динамической верификации траекторий инструмента в СЧПУ. Как видно из рис. 8.21, на экране можно показать ориентацию инструмента и держателя относительно детали. Существует несколько способов вывода на дисплей моделируемого движения инструмента: 1) ускоренный показ движения, за счет чего уменьшается время верификации траектории инструмента; 2) движение в реальном темпе, демонстрирующее подачу инструмента с заданной скоростью; 3) стоп-кадры, когда движение инструмента останавливают для тщательного осмотра изображения; 4) пошаговый режим, при котором траектория, проходимая инструментом, показывается через дискретные интервалы времени. [36]
Пошаговое прерывание ( тип 1) вырабатывается автоматически при TF 1 после выполнения каждой команды или пары команд, если первая команда изменяет содержимое сегментного регистра. Обычно это прерывание используется в программах отладки для реализации покомандного выполнения программы. При обработке прерывания МП включает в стек регистры F, CS и IP, а затем сбрасывает флаги IF и TF. Поэтому после вызова подпрограммы МП работает обычным образом, а не в пошаговом режиме. Подпрограмма обработки пошагового прерывания обычно осуществляет индикацию внутренних регистров МП и содержимого некоторых ячеек памяти. Когда подпрограмма завершается, из стека извлекаются прежние состояния флагов и МП снова переводится в пошаговый режим работы. [37]
Пульт подключается к микропроцессорной системе через стандартный разъем системной шины и не требует никаких переделок в системе. Для работы с памятью пульт включается кнопкой Вкл. В выключенном состоянии пульт не влияет на состояние системы. Для ввода адреса или данных используется одна переключаемая ше-стнадцатеричная клавиатура. Индикация набираемых на клавиатуре кодов происходит на индикаторах состояния шин, которые работают по импульсам Чтение памяти и Запись в память с запоминанием. Пошаговый режим включается отдельной кнопкой. [38]
Существуют и другие способы использования сигналов готовности и ожидания в ЦП. Например, если сигнал готовности привязать к кнопке на панели управления микро - ЭВМ, то состояние ожидания можно будет продлить настолько, насколько это будет необходимо. Тогда с помощью средств индикации на панели управления можно будет исследовать состояние всех компонентов микро - ЭВМ. Каждый раз, когда нажимается кнопка на панели управления, немедленно выдается сигнал готовности. В этом случае процессор проходит через один цикл ожидания готовности, после чего он снова останавливается. Такой режим работы ПП называют пошаговым режимом. Пошаговый режим бывает весьма полезным для контроля правильности работы микро - ЭВМ, а также при отладке программ. [39]
Схема обработки запросов прерывания позволяет обрабатывать до 256 видов прерываний. Возможны прерывания трех видов: внешние, внутренние и программные. Внешние запросы прерывания поступают на входы INT Запрос прерывания и NMI Немаскируемый запрос прерывания. По входу INT поступают маскируемые запросы, которые удовлетворяются после выполнения текущей команды при условии, если предварительно был установлен признак разрешения прерывания. Так как схема обработки запросов прерывания не запоминает маскируемый запрос, то его необходимо сохранять на входе INT до момента получения от микропроцессора сигнала INTA Подтверждение прерывания. По входу NMI поступает немаскируемый запрос прерывания, который запоминается и распознается независимо от состояния признака разрешения прерывания. Однако немаскируемый запрос так же, как и маскируемый, не распознается до завершения текущей команды. К внутренним прерываниям относятся: прерывания по переполнению INTO, по ошибке деления и пошаговый режим. При поступлении внутренних запросов прерывания схема обработки запросов прерывания вырабатывает общий запрос прерывания. Внутренние прерывания не маскируются и обрабатываются так же, как И аппаратные, - после выполнения последнего такта команды. Программные прерывания вызываются сразу после выполнения специальной команды INTB. Тип прерывания закодирован в самой команде, поэтому необходимость в выполнении циклов подтверждения прерывания с целью получения указателя ( типа прерывания) отпадает. При системном сбросе внешние маскируемые прерывания запрещаются, так как регистр признаков устанавливается в О и снимается признак разрешения прерывания. [40]
Схема обработки запросов прерывания позволяет обрабатывать до 256 видов прерываний. Возможны прерывания трех видов: внешние, внутренние и программные. Внешние запросы прерывания поступают на входы INT Запрос прерывания и NMI Немаскируемый запрос прерывания. По входу INT поступают маскируемые запросы, которые удовлетворяются после выполнения текущей команды при условии, если предварительно был установлен признак разрешения прерывания. Так как схема обработки запросов прерывания не запоминает маскируемый запрос, то его необходимо сохранять на входе INT до момента получения от микропроцессора сигнала INTA Подтверждение прерывания. По входу NMI поступает немаскируемый запрос прерывания, который запоминается и распознается независимо от состояния признака разрешения прерывания. Однако немаскируемый запрос так же, как и маскируемый, не распознается до завершения текущей команды. К внутренним прерываниям относятся: прерывания по переполнению INTO, по ошибке деления и пошаговый режим. При поступлении внутренних запросов прерывания схема обработки запросов прерывания вырабатывает общий запрос прерывания. Внутренние прерывания не маскируются и обрабатываются так же, как и аппаратные, - после выполнения последнего такта команды. Программные прерывания вызываются сразу после выполнения специальной команды ШТП. Тип прерывания закодирован в самой команде, поэтому необходимость в выполнении циклов подтверждения прерывания с целью получения указателя ( типа прерывания) отпадает. При системном сбросе внешние маскируемые прерывания запрещаются, так как регистр признаков устанавливается в О и снимается признак разрешения прерывания. [41]