8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 3 4 5 6 7 8 9 ... 39

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

Двоичная система выбрана не случайно. Дело в том, что самыми помехоустойчивыми, а следовательно, надежными в работе, оказались электронные устройства, имеющие лишь два устойчивых состояния. Кроме того, двоичная система идеально подходит для вычисления функций логических переменных, поскольку последние могут принимать лишь два значения: «истинно» и «ложно». Давайте поупражняемся в представлении чисел в двоичной системе. В качестве учебного пособия можно использовать пальцы руки (Рис. 3.1). Будем считать, что согнутый палец обозначает цифру «О», а выпрямленный палец - «1». Большой палец будет обозначать цифру младшего разряда в двоичной системе, а мизинец - цифру старшего разряда. Повторите действия, показанные на рисунке. Кстати, это может быть полезным физическим упражнением на развитие координации движений пальцев. Как вы сами можете убедиться, с помощью пяти пальцев можно по порядку представить все числа в пределах пяти двоичных

ч i

i3га , ,

?у -> е

ка

>кSа

Яd5

sс3

5? £«ч

х 1gи

- га

* о

3 R п л

5 ю

о. « К

Э с

3ээ

аао.

CQCQ

О.О,О.

5 ч

2 о£

>. Юга

~" " О.

„«

О. О.£

м ма

га ган. О. о,

t П (N - О

0 0 0 0 0

0 0 0 0 1 ]

ооо10~

0 0 0 1 1 ~

0 110 0

0 1 1 1 1 1

"llll

Рис. 3.1. С помощью пяти

пальцев руки можно представить все числа в пределах пяти двоичных разрядов

разрядов, то есть от 0 до 31 в десятичной системе.

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

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

Давайте на примере 8-разрядного процессора Z80 попытаемся понять принцип, по которому процессор выполняет арифметические действия с двоичными числами.

Сложение двоичных чисел

На Рис. 3.2а и 3.26 приведены два примера сложения 8-разрядных двоичных чисел. Сложение выполняется «в столбик», для чего слагаемые записывают строго одно под другим. Складывают числа, начиная с младшего разряда, то есть справа налево. При этом руководствуются простыми правилами: 0 + 0 = 0,0+1 = 1; при сложении двух единиц переносят единицу в старший разряд (1 + 1 = 10). (Совсем как в школе, не так ли?) На рисунке справа для сравнения показано сложение тех же чисел в десятичной системе счисления.

При сложении двух чисел в примере, продемонстрированном на Рис. 3.2а, результат представляет собой 8-разрядное двоичное число (т. е. число, меньшее 28-1 = 255). Сложение чисел во втором


222 2 ™ n S "

D.O.D.D.n.O.D.0. >S ;S JS 4S >S >S * IS

Перевод двоичного числа в десятичное

Y

Сложение десятичных чисел

0 0

1

10 0 11

+) 0 1

0

110 0 1

=>

oi 0

0

0 110 0

Разряд

8-разрядный

переноса

результат

операции

+)8 9 1 4 0

При переносе из старшего разряда для представления

результата восьми разрядов недостаточно

1 0 0 1 0 0 0 1 с=£> 27+24+2°с=£> 1 4 5

+> 1 0 1 1 1 1 0 с=> 27 + 25 +24 + 23 + 22 + 2° с=>+)1 89 Т0 10 0 1 1 10 i=> 28 + 26 +23 + 22 + 2 i->

Перенос из старшего разряда

3 3 4

8-разрядный результат операции

Так происходит сложение двух чисел в АЛУ

Регистры ЦПУ

11111111 +) 0 0 0 0 0 0 0 1

ГП0 0 0 0 0 0 0 0

Регистр А

-разрядный результат 0 000000Q операции

Результат переноса разряда

Регистр признаков F

Рис. 3.2. Сложение двух 8-разрядных двоичных чисел

3.1. Двоичная система счисления

примере (Рис. 3.26) дает в результате 9-разрядное двоичное число. Единица в 9-м разряде появилась в результате переноса из старшего разряда. Это означает, что результат операции сложения над двумя 8-разрядными числами не всегда является 8-разрядным числом. Таким образом, нельзя быть уверенным, что полученное 8-разрядное число представляет правильный результат сложения. Чтобы получить правильный результат, нужно зарегистрировать факт переноса из старшего разряда, и в этом случае прибавить к полученному 8-разрядному числу величину, равную 28 = 256.

В центральном процессоре микрокомпьютера сложение 8-разрядных чисел осуществляется в

АЛУ, а результат помещается в регистр А (аккумулятор). Одновременно, в зависимости от того, произошел перенос в старшем разряде или нет, в 0-й разряд регистра F посылается соответственно цифра «1» или «О». Пример выполнения такой операции показан на Рис. 3.2в. Процессор представляет конечный результат сложения двоичных чисел в виде содержимого двух регистров А и F (регистр признаков), находящихся внутри процессора (более подробное описание регистров процессорной

памяти будет дано в шестой главе).

Отрицательные двоичные числа (представление в дополнительном коде)

Чтобы выразить отрицательные числа, в микрокомпьютере используется представление двоичных чисел в дополнительном коде. Число, представленное в дополнительном коде, равно по величине, Но противоположно по знаку исходному числу. Следовательно, сумма этих чисел должна быть равна 0. Используя операцию сложения, Можно проверить, является ли рассматриваемое число представлением исходного числа в дополнительном коде. Порядок представления числа в дополнительном коде показан на Рис. 3.3. Слева показана операция вычитания для 8-разрядного двоичного числа, а справа ~~ Для соответствующего 2-разрядного десятичного числа.

Процедура представления в дополнительном коде для обеих систем одна и та же: обозначим основание системы счисления через а


Представление чисел в дополнительном коде

В каждом из восьми разрядов заменяем «О» на «1», и наоборот

Двоичное число (а = 2)

1 0 0 1 0 1 1 0 1 10 Исходное число

I

Десятичное число (а = 10)

7 5

Цифру каждого разряда вычитаем из (а-1)

110 10 0 10 (Т) Промежуточный - результат

2 4

т

£ а-

[Прибавляем I j

1 1 0 1 0 0 1 1 (з) Число в

дополнительном коде

i l j 00 0 00 00 0

Перенос Значения восьми разряда младших разрядов при сложении числа с его дополнительным кодом равны 0

1:

2 5

0 0

Перенос Значения двух младших разрядов равны 0

Рис. 3.3. Представление двоичного и десятичного числа в дополнительном коде

(в двоичной системе а = 2, а в десятичной а = 10). Сначала в каждом разряде числа необходимо вычесть значащую цифру из (а-1). Далее, чтобы получить представление числа в дополнительном коде, к полученному промежуточному результату следует прибавить 1. Для проверки сложим исходное число с его представлением в дополнительном коде. Результат сложения исходного числа и его представления в дополнительном коде действительно равен 0 (если не учитывать перенос единицы в старшем разряде). Таким образом, мы убедились, что число, представленное в дополнительном коде, равно исходному числу по величине, но имеет противоположный знак.

Двоичное число, представляющее отрицательное число в дополнительном коде, называется двоичным числом со знаком. На Рис. 3.4 приведены примеры двоичных чисел со знаком. Сложив левое и пра-

вое число в любой из строчек, можно убедиться в том, что сумма отрицательного и положительного 8-разрядных чисел одной абсолютной величины равна 0. Поскольку представление десятичных чисел + 128 и -128 с помощью 8-разрядного двоичного числа со знаком имеет один и тот же вид, принято считать, что +128 нельзя представлять с помощью 8-разрядного двоичного числа со знаком. Поэтому положительные десятичные числа, которые можно представить 8-разрядными двоичными, находятся в диапазоне от 1 до 127, а отрицательные числа - от -1 до -128. Таким образом, старший разряд 8-разрядного положительного числа имеет значение 0, а старший разряд отрицательного числа равен 1. По этому признаку легко отличить отрицательное число от положительного.

Положительные числа (1...127)

Отрицательные числа (-1...-

128)

00000001 (= 1)

1 1 1 1 1 1 1 1 (=-

-1)

0 0 1 1 0 0 1 1 (=51)

1 1 0 0 1 1 0 1 (=-

-51)

0 1111111 (=127)

1 0 0 0 0 0 0 1 (=

-127)

i 1 б 6 0" 0 б" б б (=128}.]

10000000 (=

-128)

*\ Не является двоичным числом со знаком

*\ Старший разряд отрицательного числа равен 1

Рис. 3.4. 8-разрядные двоичные числа со знаком Вычитание двоичных чисел

Арифметико-логическое устройство, выполняющее в процессоре функции «калькулятора», умеет выполнять только одну арифметическую операцию - сложение. Поэтому, чтобы произвести вычитание, вычитаемое число сначала представляется в виде отрицательного числа, а затем складывается с уменьшаемым числом. Например, вычитание десятичного числа 51 из числа 89 будет осуществляться сложением двух чисел: 89 + (-51). На Рис. 3.5а показано, Как эта операция выполняется в двоичной системе.

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



0 ... 3 4 5 6 7 8 9 ... 39