Представление данных в вычислительных системах
Современные компьютеры оперируют числовыми данными в двоичной системы счисления, а нечисловые данные (текст, звук, изображение) так или иначе переводят в цифровую форму (оцифровывают).
В силу аппаратных ограничений процессор оперирует числами фиксированной разрядности. Количество двоичных разрядов основного арифметико-логического устройства (АЛУ) называют разрядностью процессора . Процессоры современных систем коллективного пользования имеют 64-разрядные АЛУ, хотя в эксплуатации остается еще довольно много 32-разрядных систем.
1. Введение в двоичную арифметику
Арифметические операции над двоичными числами осуществляются при помощи алгоритма, который в школе изучают под названием “сложение в столбик”.
Таблица 1. Таблица сложения одноразрядных двоичных чисел
0+0=0 |
0+1=1 |
1+0=1 |
1+1=10 |
Из табл.1 видно, что результат сложения двух одноразрядных чисел является двухразрядным (двузначным) числом, а результат сложения двух N-разрядных – N+1-разрядным. Образующийся дополнительный бит называется битом переноса (carry bit).
При операциях над беззнаковыми (неотрицательными) числами бит переноса можно интерпретировать как признак переполнения: т.е. того, что результат нельзя представить числом с разрядностью АЛУ. Двоичное вычитание может выполняться аналогичным образом, только необходимо использовать не таблицы сложения, а таблицы вычитания для двух и трех слагаемых. Операция двоичного вычитания эквивалентна операции двоичного сложения уменьшаемого с двоичным дополнением вычитаемого. Двоичное дополнение строится таким образом: все биты числа инвертируются (нули заменяются на единицы, и наоборот), а затем к результату добавляется единица.
Двоичное дополнение сильно упрощает жизнь проектировщика процессоров: вместо двух устройств, сумматора и дифференциатора (по-русски, сложителя и вычитателя), достаточно иметь только сумматор. Кроме того, можно представлять отрицательные числа в двоично-дополнительном коде. При таком представлении признак переполнения называют также признаком потери знака.
Для манипулирования числами в обоих представлениях можно использовать одни и те же команды сложения и вычитания, различие возникает только, когда мы начинаем интерпретировать результаты сравнения таких чисел или сами эти числа (например, переводить их в десятичный формат).
Для команд умножения и деления трюк с двоичным дополнением не проходит, поэтому процессоры, использующие такое представление данных, вынуждены иметь по две пары команд умножения и деления, знаковые и беззнаковые.
Дата добавления: 2016-06-05; просмотров: 1288;