Лабораторная работа № 7 Моделирование и исследование работы операционных узлов различных типов с использованием программы Electronics Workbench Цель работы Целью лабораторной работы является получение практических навыков в построении и контроле работоспособности таких операционных узлов как регистры, сумматоры и счетчики, а также исследование различных схем методом моделирования с использованием программы Electronics Workbench.
Краткое описание и знакомство с программой П рограмма Electronics Workbench предназначена для построения электронных схем любой сложности (аналоговых и цифровых) с последующей проверкой их работы методом моделирования. Электронная база, заложенная в программе, содержит большое число элементов, схем и узлов цифровой и аналоговой техники, выполненных в виде микросхем. Для ознакомления с возможностью программы и методами моделирования работы электронных схем необходимо использовать материал, изложенный в аналогичном пункте описания лабораторной работы 5. Общие сведения об операционных узлах бортовых цифровых вычислительных устройств В бортовых цифровых вычислительных устройствах используются схемы, которые предназначены для выполнения различных операций над двоичными кодами чисел в целом, т.е. над всеми разрядами числа. Такие схемы принято называть операционными узлами. Узлы строятся из логических элементов и элементов памяти. В общем случае, операционные узлы используются для приема и временного хранения кодов, для преобразования кодов из одного вида в другой, для передачи кодов в заданные моменты времени в другие узлы бортовых устройств, для увеличения или уменьшения значений кодов путем их сдвига в сторону старших или младших разрядов, для подсчета числа поступивших сигналов и преобразования их в цифровой код, для суммирования многоразрядных чисел и т.д. К операционным узлам обычно относят регистры, счетчики и сумматоры, широко используемые при построении основных устройств бортовых цифровых вычислительных машин (оперативной и постоянной памяти, процессоров, контроллеров (управляющих устройств) и т.д. Регистры Регистром называется узел бортового цифрового устройства, предназначенный для приема, временного хранения и выдачи в необходимые моменты времени кодов машинных слов (чисел, команд). Моменты времени задаются специальными сигналами или синхроимпульсами, определяющие временные интервалы или такты. Кроме указанных выше функций, в регистрах в ряде случаев производится преобразование информации путем сдвига содержимого регистров на определенное количество разрядов вправо или влево. Такие регистры называются сдвигающими или сдвиговыми.. Регистры для временного хранения информации могут быть построены на однотактных или двухтактных триггерах любых типов с применением логических схем для записи и считывания информации в прямом или инверсном кодах. Если на входы регистра поступают только прямые коды чисел, то их запись происходит за два такта. В первом такте осуществляется установка триггера в исходное нулевое состояние, а во втором такте - непосредственно запись информации. Такие регистры называются регистрами с однофазными входами. Схема регистра представлена на рисунке 7.1. Недостатком таких регистров является необходимость в дополнительном времени на «очистку» регистра от ранее записанной информации. Достоинство же заключается в использование минимального количества линий при записи информации, равное разрядности кодов. Для повышения быстродействия регистров применяются схемы с парафазными входами и входами синхронизации. В таких регистрах запись новой информации осуществляется без предварительной установки его в нулевое состояние (см. рисунок 7.2). Сдвигающие регистры кроме запоминания кодов осуществляют их сдвиги влево или вправо на необходимое количество разрядов относительно исходного значения кода. Сдвиг кодов является одной из важнейших микроопераций, применяемой в БЦВМ, и широко используется при выполнении таких операций как умножение и деление. Сдвигающие регистры обычно строятся последовательным соединением триггеров в цепочку путем коммутации выходов предыдущих триггеров с информационными входами последующих. В зависимости от того, в какой последовательности соединяются разрядные триггеры, осуществляются сдвиги в ту или иную сторону. Так как при сдвигах состояния одних триггеров передаются в последовательной цепочке другим, необходимо разделять во времени передачу и прием информации во избежание ее потери. При применении однотактных триггеров в каждом разряде регистра используется два триггера - один для приема новой информации при сдвиге, а второй для хранения и передачи состояния разряда регистра. Применение двухтактных триггеров решает этот вопрос автоматически. На рисунке 7.3 показана схема двух разрядов сдвигающего регистра со сдвигом вправо или влево в зависимости от сигнала управления «Сдвиг вправо» (Сдвп) или «Сдвиг влево»( Сдвл ) на двухтактных JK- триггерах. При подаче высокого уровня сигнала Сдвп и первого синхроимпульса С осуществляется запись информации в первую ступень двухтактного триггера Qi по входам Ji и Ki с выхода триггера Qi-1, в первую ступень триггера Qi+1 по входам Ji+1 и Ki+1 и т.д. При снятии сигнала С происходит передача нового состояния первой ступени соответствующего триггера во вторую. Этот процесс будет повторяться с приходом каждого нового синхроимпульса С. При подаче высокого уровня управляющего сигнала Сдвл с приходом каждого очередного импульса С сдвиг кода регистра будет осуществляться влево аналогичным образом. При необходимости предварительной записи информации в регистр на управляющих входах Сдвп и Сдвл должны быть низкие уровни сигнала, соответствующие логическому нулю. Условное графическое обозначение n-разрядного сдвигающего регистра с параллельными входами для ввода информации показано на рисунке 7.4 Счетчики Счетчиком называется узел бортового вычислительного устройства, осуществляющий подсчет поступающих на его вход импульсов и преобразующий количество поступивших импульсов в цифровой код. Счетчики широко используются в цифровых устройствах и машинах для подсчета числа сдвигов при выполнении арифметических операций, для формирования адресов команд, в качестве делителей частоты импульсных сигналов и т.д. Счетчики могут быть построены на всех типах триггеров. Простейшим счетчиком является триггер со счетным входом, обеспечивающий деление частоты на 2 и формирующий один выходной импульс из двух импульсов, поступивших на вход. Многоразрядные счетчики строятся из «n» триггеров, соединенных между собой по определенным правилам. Количество триггеров, необходимых для построения счетчика с заданным коэффициентом счета, определяется из выражения: n=ent[loq2Kсч]. Выражение в скобках округляется до большего целого числа. Например, для построения счетчика с Ксч=10 необходимо взять n=4. С другой стороны, при определении количества необходимых разрядов в счетчике следует учитывать максимальное значение заданного внутреннего кода. Коэффициент счета определяется числом импульсов, которые необходимо подать на вход, чтобы счетчик вернулся в исходное состояние. Состояние счетчика определяется состоянием составляющих его триггеров и выражается цифровым двоичным кодом. В процессе счета счетчик принимает разные состояния с приходом каждого очередного импульса. Следовательно, с другой стороны, коэффициент счета равен числу возможных состояний счетчика. По принципу работы различают счетчики суммирующие, вычитающие и реверсивные. В зависимости от значения коэффициента счета можно выделить счетчики двоичные с коэффициентом счета Ксч=2n, десятичные с коэффициентом счета Ксч=10 и счетчики с произвольным коэффициентом счета Ксч=3,5,6,7,9,11 и т.д. Для оценки и сравнения различных счетчиков используются такие характеристики как емкость и быстродействие. Емкость определяется максимальным количеством входных сигналов, которые могут быть зафиксированы в виде кода, и определяется как (Ксч-1). Быстродействие оценивается либо по величине времени установления кода в счетчике tуст, либо по максимально допустимой частоте импульсов счета fcч. Двоичные суммирующие счетчики Построение и работу суммирующих счетчиков удобно рассмотреть на примере трехразрядного двоичного счетчика с последовательными переносами, построенного на синхронных триггерах со счетным входом, т.е. на Т-триггерах. Схема показана на рисунке 7.5. Счетчик работает в режиме суммирования импульсов Хсч, поступающих на вход, так как значение формируемого в счетчике двоичного кода увеличивается и соответствует количеству входных импульсов. Действительно, состояние счетчика отображается состоянием триггеров Q3Q2Q1. До прихода первого импульса внутренний код счетчика Q3Q2Q1=000. Первый импульс переводит счетчик в состояние Q3Q2Q1=001, второй импульс - в состояние Q3Q2Q1=010 и т.д. Время установления кода в счетчике с последовательными переносами определяется из выражения tуст = n( tуст. тр, где tуст. тр- время установления одного триггера, n- количество триггеров в счетчике. Двоичные вычитающие счетчики Этот тип счетчика отличается от предыдущего тем, что с приходом очередного счетного импульса внутренний код счетчика уменьшается на единицу. Достигается это за счет последовательного соединения триггеров по инверсным выходам (см. рисунок 7.6). Пусть в исходном состоянии в счетчике хранится код Q3Q2Q1=111. Тогда на инверсных выходах всех триггеров- код 000. Первый счетный импульс переводит триггер Q1 в нулевое состояние с окончанием счетного импульса. На инверсном выходе Q1 формируется единичный сигнал, который воздействует на первую ступень следующего двухтактно- го триггера Q2, переводя ее в нулевое состояние. При этом сигнал на выходе двухтактного триггера Q2 не меняется до окончания следующего счетного импульса. Таким образом, сформированный внутренний код счетчика будет равен Q3Q2Q1=110. С приходом следующего счетного импульса этот код уменьшится на единицу. Двоичные реверсивные счетчики. В реверсивных счетчиках при последовательном соединении триггеров предусматриваются логические схемы переключения прямых и инверсных выходов предшествующих триггеров на входы Т последующих. Управление схемой коммутации осуществляется специальными сигналами, которые переводят счетчик в режимы сложения или вычитания импульсов (см. рисунок 7.7). Счетчики с цепями ускоренного переноса Быстродействие счетчиков с последовательными переносами ограничено из-за имеющихся задержек распространения сигналов счета от одного триггера к другому. Суммарная задержка по времени может оказаться соизмеримой с интервалами между моментами поступления счетных импульсов, что приведет к нарушению устойчивой работы счетчика. Кроме того, считывание сформированного кода возможно только после завершения всех переходных процессов в схеме. Поэтому для увеличения быстродействия работы счетчика используются схемы ускоренного переноса от разряда к разряду. К таким схемам относятся схемы сквозного переноса, параллельного переноса и комбинированного типа. На рисунке 7.8 представлена схема суммирующего счетчика, в которой организована цепь сквозного переноса. Время установления счетчика определяется из выражения tуст =( n-1) tзад. И + tуст. тр. Это время меньше, чем время установления счетчика с последовательными переносами, так как tзад. И ( tуст. тр.
Если все триггеры находятся в единичном состоянии, то первый из поступивших на вход счетных импульсов последовательно сбросит в нулевое состояние все триггеры, так как все схемы И открыты по одному входу, а время задержки в схеме И существенно меньше, чем время установления одного триггера. Быстродействие счетчика может быть увеличено, если использовать схему с параллельными переносами. В таком счетчике tуст = tзад. И + tуст. тр., т.е. на счетные входы первого и всех последующих триггеров будут поступать импульсы счета практически одновременно ( с задержкой tзад.И ). На рисунке 7.9 приведена схема трехразрядного суммирующего счетчика с параллельными переносами, построенного на RST- триггерах, с информационными входами Хi для предварительной записи информации в счетчик. Сумматоры Сумматором называется узел БЦВМ, предназначенный для суммирования двоичных кодов. При суммировании многоразрядных двоичных чисел осуществляется поразрядное сложение двух слагаемых, начиная с младшего разряда кода, с образованием суммы в каждом разряде и переноса в следующий старший разряд. Сумматоры, предназначенные для сложения одноименных разрядов кодов, называются одноразрядными сумматорами. Одноразрядные сумматоры, соединенные между собой по цепям переносов, составляют многоразрядный сумматор. Большинство сумматоров представляют собой комбинационные схемы, синтез которых осуществляется по правилам алгебры логики. Работа одноразрядного комбинационного сумматора описывается таблицей истинности, из которой можно получить логические функции для суммы и переноса (см.таблицу 7.1). pi-1 xi yi Si pi
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Таблица 7.1 Функциональная схема одноразрядного сумматора и его условное графическое обозначение показаны на рисунке 7.10. Для упрощения схемы сумматора исходные уравнения преобразуют или минимизируют. Комбинационная схема сумматора на два входа xi и yi , формирующая сумму и перенос в следующий разряд без учета переноса из предыдущего разряда, получила название полусумматора. Работа полусумматора описывается следующим уравнением:
Учитывая приведенное выше выражение для полусумматора, для полного одноразрядного сумматора можно записать:
В соответствии с приведенными уравнениями функциональная схема сумматора представлена на рисунке 7.11. Схема построена на двух полусумматорах и представляет собой полный одноразрядный сумматор на три входа и два выхода. При сложении многоразрядных чисел складываются пары одноименных разрядов с учетом межразрядных переносов. Простейшей схемой, выполняющей поразрядное сложение, является схема последовательного одноразрядного сумматора (см. рисунок 7.12). В такой схеме сложение производится за количество тактов, равное разрядности суммируемых чисел. В каждом такте на вход схемы поступают одноименные разряды чисел и сохраненный перенос от сложения в предыдущем такте. Для запоминания переноса используется D-триггер. Сумматор достаточно прост по построению, но требуется много времени для сложения многоразрядных чисел. Для увеличения быстродействия сложение чисел осуществляется в параллельном коде. Для построения многоразрядного сумматора при сложении чисел в параллельном коде потребуется количество одноразрядных сумматоров, равное разрядности суммируемых чисел. Аппаратурные затраты при этом возрастают, но соответственно увеличивается быстродействие сумматора. Простейшей схемой сумматора параллельного действия является схема с последовательными переносами между одноразрядными сумматорами. Время сложения многоразрядных чисел зависит от быстродействия элементов и от времени распространения переносов. При последовательных переносах время сложения прямо пропорционально разрядности сумматора. На рисунке 7.13 изображен многоразрядный сумматор с последовательными переносами. Так как возможности элементов по быстродействию ограничены, то для ускорения выполнения операции сложения используются цепи ускоренного переноса, аналогичные цепям, используемым в счетчиках. В частности, используются цепи сквозного переноса, параллельного переноса и комбинированные. Подготовка к выполнению работы При подготовке к работе необходимо: 1.Повторить теоретический материал, изложенный в данном описании. 2.Повторить возможности программы, изложенные в описании к работе 5. Порядок выполнения работы Задание 1. Построить схему регистра параллельного действия с однофазными входами и предварительной установкой в 0 в соответствии с рисунком 7.16. Установка кода осуществляется переключателями 1,2 и 3. Ввод кода в регистр производится при подаче кнопкой 4 разрешающего сигнала С. Сброс регистра в 0 осуществляется включением кнопки 5 (CLR). Занести в отчет схему и результаты моделирования работы регистра в статическом режиме. Задание 2. Собрать схему, представленную на рисунке 7.17. В схеме используется микросхема 74195 4-х разрядного сдвигового регистра с параллельной записью информации и установкой в 0. Для записи информации устанавливается необходимый код переключателями 1,2,3 и 4. Переключатель сигнала сброса 5 находится в верхнем положении (+), а переключатель сдвига 6- в нижнем положении (0). Переключателем 6 при включенном питании осуществляется запись информации в регистр. Этим же переключателем производится сдвиг информации вправо. При этом переключатель 7 должен находиться в верхнем положении. Задание 3. Собрать и исследовать работу 3-х разрядного суммирующего и вычитающего счетчиков с последовательными переносами в статическом режиме. Счетчики собраны на синхронных D- триггерах, включенных по логике работы асинхронных Т-триггеров. Кроме того, в схеме использованы входы установки триггеров в 0 (переключатели 2 и 3). Схемы вычитающего и суммирующего счетчиков показаны на рисунке 7.18 и 7.19 соответственно. Результаты исследования занести в отчет. Задание 4. Исследовать работу суммирующего счетчика в динамическом режиме. Для этого подключить к счетному входу генератор импульсов, а к выходам генератора и счетчика - логический анализатор. Схема представлена на рисунке 7.20. Результаты занести в отчет. Задание 5. Собрать схему полного одноразрядного сумматора на полусумматорах и проверить его работу в статическом режиме. Схема сумматора изображена на рисунке 7.21. Изменяя значения переменных А и В (одноименные разряды чисел) и Р (перенос из младшего разряда) построить таблицу истинности для суммы и переноса в следующий разряд. Результаты занести в отчет. Сравнить полученные таблицы с таблицами истинности для полного одноразрядного сумматора. Задание 6. Собрать и исследовать схему 3-х разрядного сумматора (рисунок 7.22), задавая разные числа для сложения. Результаты оформить в виде таблицы и занести в отчет. Задание 7. Собрать и исследовать в статическом режиме схему двоично-десятичного счетчика на микросхемах 7473. Каждая микросхема включает в себя два синхронных JK-триггера с асинхронными входами установки в «0» и прямыми и инверсными выходами триггеров. С помощью переключателя “Spase” имитируется подача на входы “CLK” импульса. При этом на входы установки в «0» в режиме счета должен быть подан высокий уровень напряжения. Двоично-десятичный счетчик имеет следующие уравнения входов: Для реализации этих уравнений использованы логические элементы. Схема показана на рисунке 7.23. Схему и результаты проверки работы счетчика занести в отчет. Содержание отчета В отчет о выполненной работе включить следующие материалы: 1.Тему и цель работы. 2.Результаты выполнения заданий: исследуемые схемы, полученные таблицы . 3.Анализ полученных результатов. 4.Выводы по работе. Контрольные вопросы ?Какие узлы называются операционными узлами? ?Как изменяется содержимое регистра при сдвиге на один разряд вправо и влево? ?Охарактеризуйте регистры последовательного действия и параллельного действия. ?Чем отличаются однофазные регистры от двухфазных регистров? ?Как изменяются внутренние коды суммирующего счетчика и вычитающего счетчика? ?Чем отличается полный одноразрядный сумматор от полусумматора? ?Как построить полный сумматор из полусумматоров? ?Для чего используются ускоренные переносы в многоразрядных сумматорах и счетчиках? ?Чем отличается двоичный счетчик от двоично-десятичного счетчика?