Сигнал ГОТОВО (ГТ) подается на один из выводов БИС центрального процессора и показывает последнему, что требуемые из памяти или из устройства ввода данные уже выставлены на шину данных. Этот сигнал используется для синхронизации центрального процессора с внешними устройствами , скорость работы которых значительно ниже. Если после посылки адреса центральный процессор не получит сигнал уровня логической 1 на входе ГОТОВО, то он переходит в режим ОЖИДАНИЕ (ОЖД) и остается в нем все время, пока сигнал ГТ имеет низкий уровень. Пока центральный процессор находится в режиме ожидания, на одном из выводов БИС поддерживается выходной сигнал высокого уровня ОЖД. В состоянии ожидания содержимое счетчика команд не увеличивается, но состояния всех регистров сохраняются неизменными, поэтому после появления сигнала ГТ выполнение программы сразу же возобновляется.
Следующая группа приказов и сигналов управления также имеет парный характер типа запрос – ответ. На входы центрального процессора поступают запросы на прерывание (ЗПР) и на захват шин (ЗХВ). В ответ на эти запросы центральный процессор после завершения текущей команды и проверки ряда условий, но отнюдь не немедленно, выдает сигналы согласия (разрешения). Эти сигналы имеют значение именно согласия , а не просто подтверждают получение запроса. Последнее представление сложилось в результате буквального перевода английского термина Acknowledge. В морском жаргоне часто применяется слово «добро». Его происхождение относится к временам парусного флота, когда на запрос какого-либо корабля эскадры разрешение флагмана давалось подъемом желто-синего флага «Д»( «добро» в старославянском алфавите ). В указанном смысле слово «добро» наиболее удачно соответствует ответным сигналам микропроцессора. Таким образом, получается : «добро» на прерывание ДБПР и «добро» на захват шин – ДБЗХВ, или же разрешение прерывания – РПР и разрешение захвата – РЗХВ.
С учетом приказов пульта и сигналов слова состояния функционирование ЦП получается сложное. После такта T1 всегда следует такт T2, в течении которого проверяются уровни сигналов ГТ,ЗПР и ЗХВ. Если сигнал ГТ имеет уровень логической 1, то происходит переход к такту T3. В другом случае ЦП переходит в состояние ожидания Tожд и остается в нем все время, пока сигнал ГТ имеет уровень логического 0. Из состояния ожидания ЦП выводится сигналом ГТ, который внешнее устройство памяти или ввода- вывода через соответствующий порт выставляет на линию управления. При обращении к устройствам, имеющим большую скорость передачи, этот сигнал появляется практически сразу же после завершения 2-го машинного цикла, поэтому задержки не возникает. Таким образом, сигнал ГТ синхронизирует центральный процессор с устройствами памяти и ввода- вывода, скорость работы которых значительно меньше. Кроме того, задавая уровень сигнала ГТ с пульта ручного управления системой, пользователь может организовать пошаговое выполнение программы, необходимое для ее отладки.
В течении машинного такта T3 информация из памяти поступает на шину данных и передается в регистр команд. Команда декодируется, и устройство управления генерирует сигналы , открывающие управляемые вентили для передачи данных внутри ЦП, а также временные последовательности, необходимые для выполнения всех следующих машинных циклов данной команды. Переход в состояние захвата происходит только после завершения машинных тактовT3,T4 и T5.Таким образом получив сигнал ЗХВ, центральный процессор заканчивает текущий машинный цикл и только тогда переходит в новое состояние. Когда сигнал ЗХВ снимается, центральный процессор возобновляет выполнение программы начиная с такта T1следующего машинного цикла. Это можно делать потому, что аккумулятор и другие элементы ЦП в состоянии ЗХВ не принимают участия в преобразовании информации и обмене ею.
Диаграмма функционирования ЦП с учетом дополнительных режимов обмена данными приведена на рис.1.
Система прерываний позволяет изменять ход выполнения программы на основании сигналов, поступающих в ЦП от периферийных устройств. Режим прерывания во многом похож на вызов подпрограммы. Однако вызов подпрограммы происходит по команде, записанной в программе, т.е. в определенные моменты, а прерывание может произойти на любом, заранее не предсказуемом этапе работы микропроцессорной системы управления. После получения запроса на прерывание ЦП завершает выполнение всех машинных циклов текущей команды, проверяет наличие ряда условий, в частности разрешения прерываний, задаваемого программно, и только затем выдается сигнал РПР. В отличии от режима захвата, при котором ЦП не участвует в работе системы и потому может сохранять все текущие состояния в тех же регистрах, в режиме прерывания управление ходом программы и обработка данных производятся ЦП. Для того чтобы в этих условиях он мог возобновлять выполнение прерванной программы, все текущие значения должны быть сохранены в специальных регистрах или в специально выделенной для этого области основной памяти, называемой стеком. В большинстве микропроцессорных систем автоматически запоминается в стеке только содержимое программного счетчика, а содержимое всех остальных регистров должно сохраняться программно. Программно осуществляется и возвращение к прерванной программе после снятия сигнала ЗПР.
Возможность прерывания основной программы в системе управления технологическими процессами значительно повышает эффективность системы. Прерывания позволяют микропроцессору быстро реагировать на все изменения, возникающие внутри системы и вне ее. Если, например, система ведет сбор информации, то процессору не нужно все время проверять показания внешних устройств ( датчиков); вместо этого он может выполнять какую-то другую программную, обычно называемую фоновой. Когда внешнее имеет какие-либо новые данные, оно формирует сигнал запроса, по которому приостанавливается выполнение фоновой программы и происходит переход к выполнению специальной программы обработки прерываний. Благодаря этому потенциальные возможности микропроцессора используют гораздо более эффективно.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.