Файл: Схемотехника ЭВМ ч.2.doc

Добавлен: 10.02.2019

Просмотров: 3035

Скачиваний: 40

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Синтез схемы контроля четности удобно начать с ее простейшего варианта для двухразрядного слова. Функция, описывающая четность количества единиц в нем, задается такой таблицей.

x1

x0

y

0

0

0

0

1

1

1

0

1

1

1

0

Так как разряды слова можно считать логическими переменными, то эта функция является одной из 16 от двух переменных, в частности – функцией логической неравнозначности. Таким образом, для контроля четности числа единиц в двухразрядном слове требуется использовать сумматор по модулю два, а алгебраически данная процедура записывается следующим образом .

Для синтеза схем контроля четности в многоразрядных словах можно задать соответствующую функцию в табличной форме, затем определить ее аналитический вид и разработать схему на стандартных логических элементах. Однако такой способ является достаточно трудоемким, так как с увеличением разрядности слова на единицу, число строк таблицы удваивается. Поэтому в данной ситуации удобнее использовать нестандартный подход.

Пусть имеется n-разрядное двоичное слово . Разобьем его на две части и предположим, что имеются устройства позволяющие формировать признаки четности количества единиц в них. Очевидно, что четность или нечетность числа единиц в частях слова, определенным образом зависит от ситуации с данным показателем для всего слова

Это можно отразить следующим образом.

Количество единиц в слове

Количество единиц в частях слова

Четное (0)

Четное (0)

Четное (0)

Четное (0)

Нечетное (1)

Нечетное (1)

Нечетное (1)

Четное (0)

Нечетное (1)

Нечетное (1)

Нечетное (1)

Четное (0)

Если слово имеет четное число единиц, то при любом его разбиении в частях слова окажется по четному, либо по нечетному их количеству. При нечетном числе единиц во всем слове, в одной из его частей всегда окажется четное их количество, а в другой нечетное.

В скобках в таблице приведены значения сигналов, формируемых устройствами и тех, которые должны появиться на выходе схемы контроля четности числа едини ц во всем слове. Видно, что эта таблица описывает функцию логической неравнозначности над переменными, формируемыми вспомогательными устройствами. Таким образом, структура схемы контроля четности должна иметь следующий вид.

Разбивая части слова на более мелкие компоненты и проводя аналогичные рассуждения, можно придти к выводу, что в итоге потребуется первоначальный контроль четности количества единиц лишь в двух соседних разрядах слова и дополнительная обработка полученных результатов схемами логической неравнозначности. Отсюда следует, что один из вариантов принципиальной схемы устройства контроля четности будет выглядеть следующим образом.


П ри синтезе такого устройства стандартным способом оно получилось бы достаточно громоздким, так как функция, описывающая его работу относится к классу неминимизируемых в базисе И-НЕ, ИЛИ-НЕ.

Промышленностью выпускаются схемы контроля четности в интегральном исполнении, в частности микросхема К155ИП2. Она обрабатывает восьмибитовые слова и имеет входы расширения, позволяющие наращивать разрядность. Аналогичные функции выполняет микросхема К1533ИП5, работающая с девятиразрядными числами.


4.6 Мажоритарные элементы.


Еще одним узлом, которое относится к схемам контроля и используется для построения высоконадежных цифровых схем, является мажоритарный элемент.

В любом устройстве возможны нарушения нормальной работы – сбои (ошибки), которые могут возникать как из-за возникновения неисправностей, так и по причинам воздействия помех. Один из методов повышения надежности функционирования цифровых систем заключается в обнаружении и последующем устранении возникающих ошибок.

Однако в ряде случаев их появление недопустимо, то есть вероятность возникновения ошибки должна быть сведена к нулю. В таких ситуациях используется резервирование узлов, блоков и отдельных элементов аппаратуры. То есть несколько устройств включаются в работу параллельно и решают одну и ту же задачу. Если они функционируют правильно, то формируют идентичные результаты. В большинстве ситуаций, в случае нарушения работоспособности или выхода из строя ряда из них, остальные продолжат нормальное функционирование. В этом случае для обеспечения надежной работы системы потребуется некоторый узел, который пропускал бы на ее выход сигналы только с правильно работающих блоков.

Один из способов решения этой задачи заключается в использования мажоритарных элементов, работу которых можно описать следующим образом. Пусть в системе используется трехкратное дублирование, то есть имеется три одинаковых узла , формирующих при нормальном функционировании идентичные одноразрядные двоичные сигналы .

П ри нарушении работы одного из них, его сигнал окажется противоположен формируемым двумя остальными. В этом случае правильное значение выходного сигнала должно совпадать с состоянием большинства из устройств.

Т аблица, описывающая работу трехвходового мажоритарного элемента, имеет вид. На его выходе формируется сигнал, идентичный большинству из поступивших на входы. Функция, описывающая работу такого устройства, описывается выражением

.

В оспользовавшись правилами алгебры логики, либо построив карту Карно, данное выражение можно упростить до . Внутренняя структура такого элемента имеет вид, а на принципиальных схемах он изображается следующим образом.

Очевидно, что мажоритарный элемент может иметь только нечетное количество входов, 3,5,7 и т.п., так как в противном случае при равенстве числа правильных и неверных сигналов, принять решение о выборе невозможно. Кроме того, от самого мажоритарного элемента требуется очень высокая надежность, так как в случае выхода его из строя, вся схема резервирования окажется бесполезной.


Достаточно просто можно создать устройство, которое в схеме с мажоритарным элементом будет формировать двоичный код номера узла, вырабатывающего ложный сигнал. Таблица его функционирования имеет вид. Нулевому коду соответствует правильное функционирование всех узлов, то есть совпадение всех сигналов, в противном случае формируется код номера устройства, состояние выхода которого не совпадает с остальными.

А налитические выражения для функций, описывающих соответствующие разряды , можно получить, используя карту Карно, однако проанализировав структуру таблицы, можно увидеть, что значения не зависят от и описываются функцией логической неравнозначности для сигналов , то есть . Разряд в первых четырех строках таблицы совпадает с , а на остальных принимает инверсные по отношению к этой функции значения. При этом прямые реализуются при , а инверсные в случае , независимо от состояния . Таким образом, для реализации можно использовать управляемое инвертирование по единичному значению . Данная процедура соответствует выполнению функции логической неравнозначности и реализуется логическим элементом – сумматором по модулю два.


4.7 Цифровые компараторы.


Компаратором называется устройство для сравнения двух однородных величин, в частности чисел А и В, и формирования признака отношения между ними. В этом случае, не имея информации о самих числах, по сигналам компаратора можно установить: А>В, А<В, либо А=В.

Ц ифровые компараторы предназначены для сравнения чисел, представленных в двоичном коде. Работу простейшего из них, компаратора одноразрядных чисел, можно описать следующей таблицей. Такое устройство должно формировать три функции , принимающие единичное значение при соответствующих соотношениях между числами А и В.

Алгебраическая форма записи этих функций будет иметь вид, а схема устройства для их формирования, то есть компаратор, выглядит следующим образом. является функцией логической равнозначности, и так как ее значения инверсны по отношению к функции логической неравнозначности, то возможны две формы записи .

Н а основе такой данной ячейки может быть реализована процедуры сравнения чисел любой разрядности.

Пусть имеются два числа А и В одинаковой разрядности и и требуется установить отношение между ними. Если разрядность чисел разная, то ее можно выровнять, заполнив старшие разряды более короткого числа нулями. В то же время сравнение таких чисел не имеет смысла, так как если у числа с большей разрядностью. в старших имеется хотя бы одна единица, то оно обязательно будет больше. Это можно продемонстрировать на примере из десятичной системы счисления, если А=120 и В=85 и А>В. Здесь последнее число можно записать как 085, что не изменит результата.

При анализе отношений между многоразрядными числами на первом этапе сравниваются старшие разряды an-1 и bn-1. При этом возможны три ситуации: > , < и = . Очевидно, что при реализации первых двух, дальнейшее сравнение можно прекратить, так как, если старший разряд одного числа больше, либо меньше старшего разряда другого, то так же будут соотносится и числа, например 236> 128, 321 <480.


В случае, когда старшие разряды одинаковы (456 и 479), потребуется перейти к анализу более младших an-2 и bn-2. Если они окажутся равными (128 и 129), то необходимо сделать еще один шаг и так далее. Таким образом, дольше всего будут сравниваться числа, если они равны. Анализ в одноразрядном компараторе требуется продолжать до появления единичного сигнала на выходах F1 или F3, либо нулевого на F2.

Для практической реализации такого устройства кроме одноразрядного компаратора потребуется узел, который осуществляет поочередный ввод разрядов чисел. Такое устройство обладает невысоким быстродействием из-за последовательной процедуры обработки поступающих данных.

Для сокращения времени выполнения процедуры сравнения многоразрядных чисел используются параллельные компараторы. Промышленностью в интегральном исполнении выпускаются микросхемы четырехразрядных устройств (К555СП1, К561ИП2), которые могут соединяться между собой для увеличения разрядности сравниваемых чисел. Такие устройства имеют три стандартных выхода – больше (>), равно (=) и меньше (<), а также дополнительные входы с аналогичными обозначениями.

Н а принципиальных схемах они изображаются следующим о бразом, а их таблица функционирования имеет такой вид. Звездочки обозначают произвольные состояния сигналов, то есть либо логический ноль, либо единицу. Из таблицы следует, что данный компаратор кроме отношений А>В, А<В, А=В, может фиксировать нестрогие неравенства и . Первое реализуется при комбинации управляющих сигналов 1 0 0 , а второе – 0 0 1. В этих случаях на выходах А>В и А<В единичный сигнал будет формироваться, когда А больше, либо равно В, и соответственно, если А меньше или равно В. Для оценки строгих отношений требуется задать набор управляющих сигналов * 1 *.

Н аращивание разрядности сравниваемых чисел при использовании рассмотренных узлов возможно различными способами, схема реализации одного из них выглядит следующим образом.

Здесь младшие разряды чисел подаются на левый компаратор, а старшие на крайний правый. Это связано с тем, что когда старшие разряды не равны, результат сравнения не должен зависеть от значений более младших, что и реализуется в данной схеме, так как при этом выходные сигналы компараторов не зависят от значений управляющих. Такая структура имеет не очень высокое быстродействие, что обусловлено последовательным распространением сигналов управления.

К огда требуется выявить лишь факт равенства чисел, структура параллельного компаратора может быть существенно упрощена, так как в данном случае у чисел должны быть попарно равны все одноименные разряды. Определить, равны они или нет, можно используя схему логической неравнозначности (сумматор по модулю два). Далее необходимо сформировать сигнал логической единицы при наличии нулевых результатов сравнения пар разрядов. Отсюда следует, что схема такого устройства будет иметь вид.


Для ряда приложений требуется решать еще более простую задачу, а именно сравнения числа с некоторой константой. Здесь можно использовать рассмотренные выше многоразрядные компараторы, однако это нецелесообразно из-за значительных аппаратных затрат.

П усть к примеру, необходимо сформировать сигнал логической единицы, если некоторое число А=К. То есть требуется создать устройство, на выходе которого появится единичный сигнал, на наборе переменных , совпадающих с фиксированными значениями разрядов . Для этой цели можно использовать элемент И с количеством входов равным разрядности чисел, причем разряды , соответствующие единичным значениям необходимо подавать непосредственно, а соответствующие нулевым – в проинвертированном виде. Тогда только при А=К на все входы элемента И поступят единицы и на выходе также сформируется единичный сигнал. Если, к примеру, К=10 (10102), то устройство будет выглядеть следующим образом.


4.8 Сумматоры двоичных кодов чисел.


С умматором называется устройство для арифметического сложения чисел. В цифровых вычислительных машинах они представляются в двоичном коде и таблица истинности простейшего сумматора одноразрядных двоичных чисел выглядит так. Из нее следует, что разрядность суммы совпадает с разрядностью слагаемых если они оба не равны единице. Когда результат сложения получается равным 2 и разрядность суммы становится на единицу больше чем у слагаемых. Это явление называется переполнением разрядной сетки, а появляющаяся в старшем разряде единица – сигналом переноса. Обычно он обозначается буквой С (от английского слова carry), а нижний индекс характеризует его вес.

И з таблицы следует, что алгебраические представления выходных функций сумматора имеют вид, причем значения сигнала суммы совпадают с функцией логической неравнозначности от операндов. Чтобы избавиться от инверсий входных переменных удобно представить в несколько иной форме.

И з полученных соотношений вытекает, что структура сумматора будет иметь вид. На принципиальных схемах сумматор, как функциональный узел, обозначается следующим образом.

Однако, правильное название данного устройства – полусумматор. У полного одноразрядного сумматора должен быть дополнительный вход для обработки сигнала переноса С0, имеющего тот же вес, что и разряды операндов. Это необходимо при построении многоразрядных сумматоров, так как появляющиеся переносы требуется учитывать при суммировании более старших разрядов.

П ри возникновении переноса , а при его отсутствии . Однако для удобства считают, что сигнал переноса присутствует всегда, но в зависимости от ситуации имеет либо нулевое, либо единичное значение. В качестве примера можно привести процедуру сложения чисел в десятичной системе счисления.