Окончания выполненияВ схеме ( 6.4, а) информация с шин S и R записывается в основной Л^С-триггер с приходом тактового импульса С (по его фронту), а считывается вспомогательным /?5С-триггером после окончания тактового импульса (спадом импульса). Таким образом, считывание информации, поступающей на вход триггера, задерживается на время, равное длительности тактового импульса, т. е. двухступенчатый Л5"С-триггер работает с внутренней задержкой (отсюда и обозначение ТТ на 6.4, б).
ПриУ-^1, Ка~1 = \, Gr1 = l, е"~1=0 в момент поступления тактового импульса срабатывает элемент ЭДЗ^О) и после окончания тактового импульса триггер RS2 переключается в состояние Q'2 = 0, Q"i = \. Таким образом, /КС-триггер, в отличие от Л5С-триггера, не имеет запрещенных комбинаций входных сигналов и при комбинации J"=\, K"=\, С"—\ инвертирует предыдущее состояние схемы.
В последовательном 4-разрядном регистре на JK-триггерах ( 112) код двоичного числа (например, 0101) последовательно, начиная с младшего (левого) разряда, поступает на вход. При поступлении на вход"1" на выходе (23 после окончания тактового импульса появляется "1". Одновременно со следующим тактовым импульсом на вход поступает "О" — значение второго разряда числа. После окончания тактового импульса на выходе 03 будет "О", а на выходе Q2 будет "1". Таким образом, одновременно с записью значения второго разряда в первом (слева) триггере записанное в нем ранее значение первого разряда числа перемещается (сдвигается) в следующий триггер.
Для пояснения принципа работы динамических схем рассмотрим инвертор на 8.16. В отличие от ранее изученных статических схем (см., например, 8.1) на затвор пассивного транзистора VTn с индуцированным каналом .подают импульсы Ф, называемые тактовыми, с амплитудой, равной или превышающей напряжение источника питания. В течение действия импульса пассивный транзистор открыт. Если L/вх = Uu, то после окончания тактового импульса и запирания транзистора УТ„ выходное напряжение U1 поддерживается («запоминается») конденсатором С„. По мере его разряда малым током закрытого транзистора VTa напряжение ?/вых медленно понижается. С приходом следующего тактового импульса транзистор опять открывается и прежнее значение U вых восстанавливается. Если частота импульсов достаточно велика, то в паузе между ними изменение ^вых мало и состояние элемента сохраняется. В отсутствие импульса ток источника питания и потребляемая мощность практически расны нулю при любом сигнале на входе. Таким образом, динамический элемент на я-канальных транзисторах по сравнению со статическим обладает в Q раз меньшей мощностью, где Q — скважность тактовых импульсов (отношение их периода Тт к длительности tu).
После окончания тактового импульса, когда на входе С он заменяется сигналом 0, блокируется схема управления главного триггера. В это время под действием инвертированного тактового сигнала 1 на входе С вспомогательный триггер воспринимает информацию, записанную в главном триггере. При двух других способах связи блокировки входов соответствующего триггера осуществляется сигналами со схемы управления второго триггера.
один из входов Ию, что вызывает ее запираниеt ( 9.10,'ле), а на все входы схемы Из подается 1, открывающая ее. Выходной сигнал схемы Я3 ( 9.10, м) вызывает срабатывание триггера Т2 и перевод его в состояние 1. После окончания тактового импульса на все входы схемы И2 подается 1 и ее выходной сигнал ( 9.10,з) устанавливает триггер Т] в состояние 0. При приходе следующего тактового импульса ( 9.10,«) триггер Tz переводится выходным импульсом И5 в состояние 1 ( 9.10,г),
а после окончания тактового
По схеме «М — S» строят также однотактные счетные D,-триггеры (индексом t принято обозначать триггеры с внутренней задержкой, у которых новая информация на выходе устанавливается только после окончания тактового импульса). Приведем одну из возможных схем на логических элементах И — НЕ ( 12.11,6), в основе которой заложен JK-триггер. Если на входы D и Т одновременно поданы логические «1», основной триггер переходит в состояние «1», а вспомогательный триггер блокируется с помощью так называемой запрещающей связи с выхода элемента В2 на входы элементов В3 и В4- При комбинации D = О, Т— 1 основной триггер переходит в состояние «О», а вспомогательный блокируется с выхода элемента В2. При Т=0 блокировка снимается и вспомогательный триггер принимает состояние основного. При работе в счетном режиме выход Q соединяется с входом D, как показано на схеме пунктиром.
Пусть триггер находится в состоянии Q=l, Q = 0 и на вход R подан сигнал логической единицы, т. е. Я=1, а 5 = 0. В этом случае при ^поступлении тактирующего импульса Т=1 открывается схема совпадений И\ и на выходе Q устанавливается 0. Последний закроет схему совпадений И3 (так как на входе R при этом также 0) и сформирует уровень Q== 1. Этот уровень подается на схему совпадений И2 и совместно с 5 = 1 откроет ее и подтвердит тем самым уровень нуля на выходе Q. После окончания тактового импульса триггер сохраняет свое состояние, так как схема Ич остается открытой. Для перевода триггера в другое состояние необходимо подать комбинацию сигналов S=\,'R-=Q. Запись этих сигналов произойдет при поступлении следующего тактового импульса, -и триггер установится в состояние Q=l, Q=0.
Процессы считывания и записи разделены по времени следующим образом. При считывании 1 ток, проходящий через обмотку ^вых, заряжает конденсато При этом цепь разряда конденсатора через обмотку шв1 следующего сердечника разомкнута, так как триод Т закрыт постоянным напряжением Е, подведенным к цепи база — эмиттер. В момент окончания тактового импульса ( 9.50,6) ОТ ТОГО же Генератора тактовых импульсов на базу триода подается отрицательный импульс напряжения иу, вызывающий открытие и насыщение триода. Конденсатор С разря-
Предупреждение. Некоторые старые типы JK -триггеров представляют собой «ловушку для единиц». Этот термин вы не найдете ни в одной документации, он означает явление, которое может привести неосведомленного человека к весьма неприятным последствиям. Дело в том, что если на интервале, когда ведомый триггер открыт тактовым сигналом, вход J и К (или оба одновременно) на какой-то момент изменит свое состояние, а затем до окончания тактового сигнала вернется в исходное, то это кратковременное состояние триггер запомнит и в дальнейшем он будет вести себя так, как если бы это состояние сохранилось. В результате триггер может переброситься на следующем тактовом перепаде, даже если сигналы, действующие в момент этого перепада на входах J и К подтверждают предыдущее состояние. Это может привести, мягко говоря, к своеобразному поведению. Проблема возникает из-за того, что эти триггеры были сконструированы в предположении, что тактовый импульс имеет очень короткую длительность, в то время как в действительности тактирование всегда производится сигналом конечной длительности. Если используется триггер типа «ведущий-ведомый», следует соблюдать меры предосторожности, либо вообще избегать их, применяя более надежные триггеры, работающие по фронту. Две хорошие альтернативы, которые используют истинно запуск по фронту, это приборы '112 и '109. Оба представляют собой сдвоенные (два в одном корпусе) JK-триггеры с асинхронными S- и Л-входами, активными по низкому уровню. Устройство '112 срабатывает по отрицательному фронту тактового сигнала, а устройство '109-по положительному. Схема '109 имеет интересную особенность, а именно, К-вход у него инверсный,
выполнению программы канала. Центральный процессор после выдачи сигнала СА освобождается для выполнения другой работы. После окончания выполнения программы канал сбрасывает флаг занятости BUSY в блоке управления. Таким образом, взаимодействие ЦП и сопроцессора ВМ89 строится по схеме, показанной на 3.18. При необходимости сопроцессор ввода— вывода может выдать запрос прерывания в ЦП.
Простейший пример совмещения операций при одноадресной структуре команд иллюстрируется на 5-25,6. Если команды и операнды расположены в разных модулях памяти, то логика процессора может быть построена таким образом, чтобы одновременно с чтением операнда во второй фазе г'-й команды начинался цикл выборки из памяти (/+1)-й команды; к моменту окончания выполнения i-й команды следующая команда будет готова к исполнению. Как видно из рисунка, в такой системе частично совмещается во времени выполнение двух команд.
Еще большая степень совмещения показана на 5-25, в. Процесс выполнения команды здесь разбит на более мелкие фазы, и благодаря модульному построению памяти и наличию отдельного индексного арифметического устройства одновременно четыре команды, которые находятся в различных фазах своего выполнения, обрабатываются процессором. В литературе по вычислительной технике методы выполнения операций, подобные только что указанным, получили название опережения, поскольку процессор, осуществив чтение очередной команды, выбирает из памяти и готовит к исполнению следующие команды, не дожидаясь окончания выполнения текущей команды.
В ячейку с адресом 0001 помещена МК2, в которой МК ОУ не предусматривает действий в ОУ, МК БМУ определяет условный переход по условию x.t (при х2 --=-• 0 происходит переход к ячейке с адресом 0010, указанным в поле адреса МК2; при кг - 1 происходит переход к ячейке с адресом ООП, в которой помещена МК6 продолжения программы после окончания выполнения операции умножения).
Описанный обмен предполагает, что моменты обмена данными известны заранее уже на этапе программирования, и в программе предусматриваются в определенных местах соответствующие команды, обеспечивающие обмен. Моменты обмена могут определяться и самим ПУ. Тогда эти моменты программисту оказываются неизвестными, и он не может в программе предусмотреть соответствующие команды обмена. В этих случаях ПУ, подавая в микропроцессор определенные сигналы, переводит его в состояние так называемого прерывания. В этом состоянии микропроцессор прекращает выполнение основной программы и переходит к исполнению команд другой хранящейся в ОП программы (прерывающей программы), обеспечивающей обмен данными, требуемый периферийным устройством. После окончания выполнения такой прерывающей программы микропроцессор возвращется к выполнению основной программы.
В микропроцессоре предусмотрена возможность по запросам внешних устройств прерывать выполнение текущей программы и переходить на выполнение новой программы, так называемой прерывающей программы (или программы обслуживания прерывания). После окончания выполнения прерывающей программы микропроцессор возвращается к выполнению основной программы с команды, на которой произошло прерывание.
Процесс прерывания связан со следующими действиями. От внешнего устройства поступает сигнал уровня лог. 1 на вход Запрос прерывания. Если прерывание разрешено (т. е. на выходе Разрешение прерывания имеется уровень лог. 1), то после окончания выполнения текущей команды триггер разрешения прерывания сбрасывается в состояние лог. О, а в информации о состоянии микропроцессора, выдаваемой на шину данных, появляются сигналы Подтверждение прерывания (в разряде D0), Ввод (в разряде DJ) и сигнал о том, что в данном
После окончания выполнения прерывающей программы возврат в основную программу происходит следующим образом. Прерывающая программа заканчивается командой RET (Возврат из подпрограммы). В процессе выполнения этой команды адрес команды основной программы, перед которой произошло прерывание, выбирается из стека и передается в регистр адреса, а увеличенное на единицу значение заносится в счетчик команд.
Для построения программы выполнения операции деления в микропроцессе примем /; •- 8. При этом делимое будет иметь In 16 разрядов (2 байта) и для своего хранения потребует пары регистров. Используем для хранения делимого пару регистров ВС. При каждом сдвиге влево содержимого пары регистров ВС в освобождающийся правый разряд будем заносить значение очередного разряда частного. Таким образом, после окончания выполнения операции в регистре С образуется частное. Так как действия вычитания (или сложения) делителя должны производиться над старшими восемью разрядами остатка, то эти операции будут выполняться над содержимым регистра В, а после окончания операции деления его содержимое будет результирующим остатком операции. Для хранения однобайтового делителя используем регистр D. На регистре Е, предварительно загружаемом числом 8, построим счетчик числа повторений цикла.
Во всех случаях перевод микропроцессора в режим ожидания достигается установкой низкого уровня лог. О на входе Готовность микропроцессора. В рассмотренном выше случае согласования темпов работы ЗУ и микропроцессора при каждом обращении к ЗУ потребует--ся установка на входе Готовность микропроцессора уровня лог. О в течение определенного числа тактовых периодов. В случае установки микропроцессора в шаговый или командный режим перевод сигнала Готовность на высокий уровень лог. 1 осуществляется вручную с пульта управления, перевод на уровень лог. О — автоматически с окончанием цикла работы микропроцессора либо после окончания выполнения команды.
Проверку на окончание операции, осуществляемую блоком 9 алгоритма на 5.32, можно выполнить, организовав счет числа повторений цикла. Однако такая проверка проще реализуется следующим образом. После обнуления содержимого регистра R4 занесем в его младший разряд единицу. После каждого сдвига содержимого регистра эта единица будет продвигаться по регистру влево. При сдвиге, в процессе которого происходит запись в регистр последнего разряда частного, из регистра R4 будет выдвинута единица, что и будет служить признаком окончания выполнения операции.
Похожие определения: Окупаемости капитальных Омическое сопротивление Опасность прикосновения Обеспечения устойчивого Операционное устройство Оперативные запоминающие Оперативной готовности
|