Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура компьютеров / 2_Логические схемы ЭВМ.doc
Скачиваний:
67
Добавлен:
20.03.2015
Размер:
302.08 Кб
Скачать

2. 3. 2. Безразличные значения

В некоторых случаях определенные наборы входных значений цифровых схем никогда не используются. Для примера рассмотрим двоично-десятичное пред­ставление числа (Binary-Coded Decimal, BCD). Десятичные цифры от 0 до 9 мож­но представить с помощью четырех двоичных переменных, b3, b2, b1 и b0 (рис. 2.6). Эти четыре переменные могут составить 16 разных наборов значений, из которых для представления десятичных цифр используются только 10. Оставшиеся зна­чения не используются. Следовательно, логическая схема, обрабатывающая дан­ные в формате BCD, никогда не получит в качестве входных данных ни один из шести оставшихся наборов значений. Такое представление десятичных цифр называется двоично-кодированным представлением десятичных цифр.

На рис. 2. 6 приведена таблица истинности для конкретной функции, прини­мающей в качестве аргумента двоично-кодированную десятичную цифру. Значе­ния этой функции для неиспользуемых входных наборов нас, естественно, не ин­тересуют. Такие значения называются безразличными (don't care) и в таблице ис­тинности они обозначаются буквой «d». При реализации функции им можно присвоить либо нуль, либо единицу, в зависимости от того, какое из этих двух значений позволит минимизировать результирующую схему. Единица присваи­вается в том случае, если такая замена приводит к расширению группы ячеек с единичными значениями функции. Поскольку большим группам соответствуют меньшие выражения, результат лучше минимизируется.

Функция, приведенная на рис. 2. 6, реализует следующий алгоритм обработки входной десятичной цифры: выходное значение равно 1, если входное значение является любым ненулевым числом, кратным 3. Три единицы на карте Карно рас­положены таким образом, что для их охвата требуются три группы квадратов, а безразличные значения определяются так, чтобы предельно увеличить размеры этих групп

Рис. 2.6. Карта Карно для четырех логических переменных

2. 4. Синтез вентилей и-не и или-не

А сейчас нам предстоит рассмотреть еще два базовых логических вентиля, назы­ваемых И-НЕ и ИЛИ-НЕ. Эти вентили очень широко применяются в логических схемах, что объясняется простотой их технической реализации. Таблицы истинности венти­лей И-НЕ и ИЛИ-НЕ приведены на рис. 2. 7. Они представляют собой функции И и ИЛИ, к результату которых применена функция НЕ. Если мы обозначим операторы И-НЕ и ИЛИ-НЕ символами «↑» и «↓», то, используя закон де Морга­на (см. табл. 2. 4), сможем представить их следующим образом:

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

и

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

Для выполнения нужных преобразований мы воспользовались законами де Моргана и возведения в степень. На рис. 2. 8 показаны логические схемы, соот­ветствующие этим преобразованиям. Поскольку любую логическую функцию можно синтезировать с помощью суммы произведений (И-ИЛИ) и поскольку приведенные преобразования обратимы, мы можем сделать вывод, что любую ло­гическую функцию можно синтезировать в форме И-НЕ-И-НЕ. Причем это предположение верно для функций с любым количеством переменных. Очевид­но, что общее количество входных переменных вентилей И-НЕ при этом должно быть таким же, как общее количество входных переменных вентилей И и ИЛИ.

Рис. 2.7. Вентили: И-НЕ (а); ИЛИ-НЕ (б)

Рис. 2.8. Эквивалентные схемы на основе вентилей И-НЕ и вентилей И и ИЛИ

Теперь давайте вернемся к вопросу о затруднении, возникающем вследствие того, что оператор И-НЕ не подчиняется ассоциативному закону. При разработке логической схемы на основе вентилей И-НЕ с использованием процедуры, иллю­стрируемой рис. 2.8, может потребоваться вентиль И-НЕ с большим количеством входов, чем можно реализовать физически. Для схемы на основе вентилей И и ИЛИ это не проблема, поскольку благодаря ассоциативности данных операций один вентиль с большим количеством входов можно заменить несколькими вен­тилями с меньшим количеством входов, как на рис. 2.9, а. В случае вентиля И-НЕ решение не так просто. Например, функцию И-НЕ с тремя входными пере­менными нельзя реализовать в виде соединения двух вентилей И-НЕ, имеющих по два входа. Как показано на рис. 2.9, 6, для ее реализации потребуется три вен­тиля И-НЕ.

Рис. 2.9. Реализация логических функций с тремя входными переменными на основе вентилей с двумя входами: И и ИЛИ (а); И-НЕ (б)

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

Итак, вы познакомились с некоторыми базовыми концепциями проектирова­ния логических схем.

Еще раз хотим обратить внимание на тот факт, что для каждой логиче­ской функции существует множество вариантов реализации. Для практического воплощения функции важно выбрать вариант с наименьшей стоимостью. Кроме того, часто бывает необходимым минимизировать задержку распространения сиг­нала в логической схеме. С идеей минимизации схем мы познакомили вас в преды­дущих разделах, чтобы объяснить суть процесса логического синтеза и показать, за счет чего может быть достигнуто снижение стоимости реальных логических схем. Для этой цели можно применить карты Карно, которые подскажут, какие алгебраические операции приведут к оптимальному решению. Оптимизацию схем не обязательно выполнять вручную. К услугам конструкторов имеется сложное и достаточно мощное программное обеспечение для автоматизированного проек­тирования (Computer-Aided Design, CAD). Пользуясь такой программой, конст­руктор задает исходную функцию, и программа сама генерирует наиболее эффек­тивную и простую схему для ее реализации.

Вопросы для самопроверки.

  1. Как осуществляется объединение логических функций?

  2. Что показывает логическая таблица истинно­сти функции n переменных?

  3. С какой целью проводят минимизацию логических выражений?

  4. Какими способами проводят минимизацию логических выражений?

Соседние файлы в папке Архитектура компьютеров