Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
К_Глава 3_Представление данных.doc
Скачиваний:
30
Добавлен:
19.05.2015
Размер:
156.16 Кб
Скачать

Глава 3. Представление данных в вычислительных системах

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

В силу аппаратных ограничений процессор оперирует числами фиксированной разрядности. Количество двоичных разрядов основного арифметико-логического устройства (АЛУ) называют разрядностью процессора . Процессоры современных систем коллективного пользования имеют 64-разрядные АЛУ, хотя в эксплуатации остается еще довольно много 32-разрядных систем.

1.Введение в двоичную арифметику

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

Таблица 1. Таблица сложения одноразрядных двоичных чисел

0+0=0

0+1=1

1+0=1

1+1=10

Из табл.1 видно, что результат сложения двух одноразрядных чисел является двухразрядным (двузначным) числом, а результат сложения двух N-разрядных –N+1-разрядным. Образующийся дополнительный бит называется битом переноса (carrybit).

При операциях над беззнаковыми (неотрицательными) числами бит переноса можно интерпретировать как признак переполнения: т.е. того, что результат нельзя представить числом с разрядностью АЛУ. Двоичное вычитание может выполняться аналогичным образом, только необходимо использовать не таблицы сложения, а таблицы вычитания для двух и трех слагаемых. Операция двоичного вычитания эквивалентна операции двоичного сложения уменьшаемого сдвоичным дополнениемвычитаемого. Двоичное дополнение строится таким образом: все биты числа инвертируются (нули заменяются на единицы, и наоборот), а затем к результату добавляется единица.

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

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

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

Подавляющее большинство современных процессоров используют двоично-дополнительное представление для целых чисел.

Иногда наравне с двоичным используется и специфическое, так называемое двоично-десятичное представлениечисел. Это представление особенно удобно для приложений, которые постоянно вынуждены использовать десятичный ввод и вывод (микрокалькуляторы, часы, телефоны с автоопределителем номера и т.д.) и имеют небольшой объем программной памяти, в которой нецелесообразно помещать универсальную процедуру преобразования чисел из двоичного представления в десятичное и обратно. В таком представлении десятичная цифра обозначается тетрадой, четырьмя битами. Цифры от 0 до 9 представляются своими двоичными эквивалентами, а комбинация битов 1010, 1011, 1100, 1110, 1111 недопустимы. Вместо арифметической операций над такими числами большинство современных микропроцессоров предлагают использовать для их сложения и вычитания обычные бинарные операции, а потом исправлять возникающие при этом недопустимые значения при помощи специальнойкоманды двоично-десятичной коррекции.