Электронная арифметика

December 9, 2011 by admin Комментировать »

Сложение

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

На рис. 14.1 приведена практическая схема сложения на основе ИС 74LS83A; этот однокристальный сумматор складывает два 4-разрядных числа и приходящий извне бит переноса. Складываемые числа A3A2AlAG и В3 В2 В{ В0 поступают от двоичного кодирующего «номеронабирателя» или от пово-

Рис 14.1. Схема сложения двоичных чисел на основе И С 74LS83A. Двоичную сумму можно индицировать непосредственно с помощью светодиодов или используя дешифратор-формирователь.

ротного переключателя; эти устройства могут быть двоично-десятичного типа, то есть десятипозиционными, с числами 0—9 или шестнадцатерич- ными с 16 позициями и числами 0—F (в шестнадцатеричной записи). Последние, хотя и менее знакомы, чем десятичные варианты, обладают тем преимуществом, что используется весь 4-разрядный диапазон. Они также позволяют приобрести опыт работы в шестнадцатеричной системе счисления, которая полезна для ускорения записи двоичных чисел и поэтому часто применяется в этой главе. 5-разрядное двоичное число на выходе включает в себя выходной бит переноса, и это число можно воспроизвести непосредственно, подключив к выходам светодиоды через инверторы 7407 (см. рис. 13.35).

Если ограничиться более знакомым вариантом, то выходные числа (из интервала 0—9) можно воспроизвести с помощью 7-сегментного индикатора (см. рис. 13.38), дешифрируя S3S2Sl и SQ. Для шестнадцатеричной индикации, позволяющей воспроизводить весь диапазон значений (от 0 до 1F), удобнее всего применить дешифратор 4×16 (см. рис. 13.36), включив через инвертор отдельный светодиод для индикации переноса. Заметно дороже, хотя и более изящно, воспроизводить шестнадцатеричные символы с помощью ИС TIL311 фирмы Texas (RS 586-734), которая содержит дешифратор, регистр и встроенный мозаичный индикатор на светодиодах, способный воспроизводить и цифры 0—9, и символы A—F в зависимости от 4-разрядного двоичного слова на входе. Схема включения такой ИС, обеспечиваю-

Рис. 14.2. Схема включения ИС TIL311 для воспроизведения шестнадцатеричных символов при подаче на вход двоичного числа.

щая шестнадцатеричную индикацию поступающего на вход 4-разрядного двоичного числа, представлена на рис. 14.2. Легко собрать многоразрядный (шестнадцатеричный. — Примеч. перев.) индикатор, разделив сигнальные линии на группы по четыре для каждой ИС TIL311 начиная с младшего разряда.

Вычитание

От сложения к вычитанию лишь небольшой шаг, поскольку вычитание заключается в преобразовании одного из чисел в отрицательное и последующем сложении. В аналоговых схемах нет проблем с представлением отрицательных значений; там это просто отрицательные напряжения. Но в цифровых схемах в принципе нет отрицательных в обычном смысле слова сигналов. У нас есть только уровни +5 В и О В (логическая 1 и логический 0) и нет эквивалента отрицательному знаку. К счастью, правила математики весьма гибки, и, пока мы имеем дело лишь с ограниченным набором чисел, можно, не используя отрицательного знака, представлять как положительные, так и отрицательные числа. Принцип такого представления основан на том факте, что отрицательное число — это просто такое число, которое должно быть прибавлено к положительному числу той же величины, чтобы получить ноль. Ключевой момент, позволяющий избежать необходимости в отрицательном знаке, состоит в том, чтобы с самого начала определить весь диапазон, с которым нам предстоит работать. Предположим, например, что мы ограничимся числами от 0 до 10; тогда можно назвать положительными числа, возникающие при счете в сторону увеличения, то есть 1, 2, 3 и т. д., а «отрицательными» — числа, возникающие при счете в сторону уменьшения начиная с 10, то есть 9, 8, 7 и т. д. Теперь мы не нуждаемся в отрицательном знаке. А вот что нам нужно, так это условиться считать число 10 тождественно равным нулю (как бы забывая о единице переноса), тогда правила, относящиеся к отрицательным числам, оказываются выполненными.

На рис. 14.3 это правило десятичного дополнения изображено в «круговой» форме, которая позволяет представить числа, как если бы они были нанесены на шкале аналогового измерительного прибора. Эквивалентные числа со знаками +/— указаны в скобках. Пока мы не учитываем единицу переноса в любой арифметике, все вычисления выполняются корректно. Что же делать с числом 5, которое располагается на границе положительной и отрицательной областей, — считать его положительным или отрицательным? Фактически, мы можем решить этот вопрос и так и иначе, лишь придерживаясь однажды принятого решения. Для наших целей мы назовем это число отрицательным; поэтому при возвращении к положительным числам мы должны будем останавливаться на максимальном значении вблизи 4,999. Когда возникает отрицательное число, большее по величине, чем 5, либо положительное число, большее 4,999, говорят, что имеет место переполнение, поскольку при этом мы уходим с одного края шкалы только для того, чтобы появиться на другом ее краю с противоположной полярностью.

Примеры в табл. 14.1 показывают, как работает представление по правилу дополнения. Все получается хорошо по нашим новым правилам, пока мы игнорируем любые переносы и не выходим за рамки определенной нами шкалы от +4,999 до —5,000 (по правилу знаков +/—), чтобы избежать переполнения.

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

Рис. 14.3. Правило «десятичного дополнения» для представления отрицательных чисел без знака «минус». В скобках указаны эквивалентные числа со знаками +/—

Таблица 14.1.

Предстааление

Правило знаков +/- по принципу десятичного дополнения

4 + (-1) = 3

4 + 9= 13

1 + 3=4

1 + 3=4

4 + (-3) = 1

4 + 7= 11

2 + (-5) = -3

2 + 5 = 7

-3 + 3=0

7 + 3 = 10

дополнения мы воспользуемся правилом двоичного дополнения. На рис. 14.4 показано, как можно представить 4-разрядные двоичные числа из десятичного диапазона от +7 до —8, а не из интервала 0—15, как мы считали ранее. Конечно, мы должны быть последовательными в наших правилах и никогда не пытаться одновременно использовать 4 бита для представления положительных чисел из интервала 0—15 и для того, чтобы выразить числа от +7 до —8 в форме двоичного дополнения. Если в последнем случае нам нужно представить числа больше +7, то нам необходимо для этого большее число разрядов.

На рис. 14.4 можно увидеть важную и довольно любопытную особенность правила двоичного дополнения: все положительные числа начинаются с 0, а все отрицательные числа — с 1. Это позволяет сразу непосредственно судить о знаке, и, в самом деле, старший разряд часто называют «знаковым». Важно, однако, помнить, что двоичное дополнение является более хитрым принципом, нежели простое приписывание к числу 0 или 1 для указания его знака. Можно очень просто сформулировать три правила преобразования положительного двоичного числа в его отрицательный эквивалент в форме двоичного дополнения.

Рис. 14.5. Применение элементов ИСКЛЮЧАЮЩЕЕ ИЛИ для преобразования сумматора, изображенного на рис. 14.1, в вычитающее устройство путем изменения каждого бита на противоположный и добавления 1, подаваемой на вход переноса.

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

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

Из этого следует, что для реализации умножения требуется комбинация операции сдвига и поразрядного выполнения логического И с последующим сложением. И обратно: для деления необходимы вычитания, за которыми следуют сдвиги в обратном направлении. Как умножение, так и деление, представленные здесь в их исходной форме, являются операциями, выполняемыми последовательно, и поэтому они в соответствии со своей природой выполняются довольно медленно. У некоторых микропроцессоров эти операции даже не включены в основную систему команд, и для их осуществления требуются программы с (необходимой) последовательностью выполнения поразрядного логического И, сложения, сдвига и т. д. С помощью ИС TRW MPY 16HJ реализуется другой подход к проблеме умножения, значительно более быстрый, но и более дорогой: в этой ИС содержится, по существу, большая решетка логических элементов И и полных сумматоров, которые выполняют свои функции параллельно. Эта ИС может выдать 32-разрядное произведение двух 16-разрядных чисел через 50 не.

Биты, байты и полубайты

При изучении принципов комбинационной и последовательностной логики в гл. 13 мы имели дело в большинстве случаев с одним битом или с двумя битами одновременно. В системах на основе микроЭВМ используется своя терминология в отношении более длинных чисел: 8-разрядное слово обычно называют байтом, а его значение удобно выражать двузначным шестнадцатеричным числом. Вот почему 4-разрядное слово, выражаемое одной шестнадцатеричной цифрой, следует окрестить полубайтом (nibble, nybble; дословно: огрызок. — Примеч. перев.).

Литература: М.Х.Джонс, Электроника — практический курс Москва: Техносфера, 2006. – 512с. ISBN 5-94836-086-5

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты