4.2 Двоичный формат.
Двоичный формат используется для представления знаковых и беззнаковых целых чисел, записанных в двоичной системе счисления.
В случае беззнаковых чисел, все разряды используются для хранения кода числа. Каждый разряд имеет свой вес - р, определяемый его номером - i. Соотвествие между номером разряда и его весом определяется зависимостью:
P=2i ; где i = 1,2,3…, n-1; n- число разрядов двоичного кода.
Для восьмиразрядного двоичного числа указанное соответствие показано на рис.4.1.
Рис.4.1
Позиции бит пронумерованы от 7 до 0, а веса двоичных позиций показаны в основании ячейки памяти, т.е. бит 7 имеет вес 27 =128, бит 6 - вес 26 =64 и т.д.
В соответствии со значением веса разрядов можно осуществить преобразование числа из 2 с/с в 10 с/с:
(4.1)
Например: 01000010(2) =1* 64 + 1* 2 = 66(10)
Обратный переход от 10 с/с к 2 с/с осуществляется делением исходного числа на основание новой с/с, т.е. на 2, остатки от деления последовательно будут формировать разряды двоичного числа, начиная с младшего.
Например:
66:2 = 33 остаток 0
33:2 = 16 остаток 1
16:2 = 8 остаток 0
8:2 = 4 остаток 0
4:2 = 2 остаток 0
2:2 = 1 остаток 0
1:2 = 0 остаток 1
Таким образом получаем: 01000010
Рассмотрим теперь, каким образом представляются числа со знаком.
При записи числа со знаком в двоичном коде, старший бит, как правило, отводится для хранения знака, при этом 0 - соответствует положительное число, а 1 - отрицательное. Типовая структура байта для размещения чисел со знаком показана на рис.4.2.
Рис.4.2.
В обоих случаях бит 7 является знаковым. Он указывает, является ли число отрицательным или положительным.
Если число положительное, то оставшиеся ячейки памяти содержат двоичное 7-ми разрядное число в прямом двоичном коде. Таким образом максимальное положительное число, которое может быть записано при помощи такого формата будет равно:
01111111(2) = 127(10)
Несмотря на свою простоту, использование прямого кода для записи отрицательных чисел имеет несколько существенных недостатков:
- наличие двух нулей (ноль отрицательный и ноль положительный);
- минимальное число –127 (для восьми разрядного кода), в результате вместо полных 256 комбинаций имеем 255;
- необходимость разработки различных алгоритмов и схем для реализации различных арифметических операций (сложения, вычитания и т.д.).
В связи с этим, для представления отрицательных чисел в ЦВУ используется как правило дополнительный код, преобразование к которому осуществляется по зависимости:
(4.2)
где а – абсолютное значение числа, n - число бит, используемых для его представления.
Преобразование прямого кода записи двоичного числа в дополнительный выполняется в два этапа:
1. получение инверсного или обратного кода (дополнение до 1) путем инвертирования каждого разряда исходного кода;
2. прибавление 1 к полученному обратному коду (дополнение до 2).
Рассмотрим пример.
Дано десятичное число 9 , необходимо найти его дополнительный код.
Двоичное число в прямом коде — 00001001,
в инверсном коде — 11110110,
дополнение до 2 — 11110111.
Таким образом, получен дополнительный код 11110111.
Аналогичный результат получится при непосредственном использовании формулы преобразования (n = 8):
Процедура преобразования дополнительного кода в прямой та же самая, т.е. вначале получают инверсный код, а затем, путем прибавления единицы – прямой код.
Пример: 11110111 - дополнительный код
00001000 - инверсный код
00001001 - прямой код.
Т.о. получим число 9, которое является отрицательным, т.к. значение старшего бита равно 1.
Достоинства применения дополнительного кода для представления отрицательных чисел заключается в том, что:
1. нулю соответствует один код - 00000000;
2. min число 10000000 1111111
+ = 10000000
1
будет - 128, а не -127 как при использовании прямого кода;
3. позволяет использовать сумматоры для реализации всех арифметических операций.
Рассмотрим сложение положительных чисел:
Покажем теперь, что использование для записи отрицательных чисел дополнительного кода позволяет заменить операцию вычитания операцией сложения прямого кода уменьшаемого и дополнительного кода вычитаемого.
Известно, что максимальное число, которое может быть представлено n-разрядным двоичным кодом равно 2n-1. Следующему числу будут соответствовать значения 0 во всех n-разрядах (которые отведены под число) и 1 в n + 1 разряде. Таким образом, если для представления числа а использован n-разрядный двоичный код, то его n – разрядное значение не изменится, если к а добавить число 2n , т.е.
(4.3)
Допустим теперь, что необходимо найти разность чисел, записанных в прямых двоичных n-разрядных кодах:
В соответствии с (4.3)) указанная разность может быть преобразована к виду:
Разность (2n- b) - есть ничто иное, как дополнительный код числа b, т.е. b'. При сложении складываются и двоичные цифры знаковых разрядов с отбрасыванием возникающего при этом разряда переноса. Таким образом, используя дополнительный код, сумматор МП осуществляет операции вычитания.
Примеры:
Операция умножения чисел, представленных в двоичном формате, включает в себя определение знака и абсолютного значения произведения. Знаковый разряд произведения получают суммированием знаковых разрядов сомножителей без формирования переноса (суммирование по модулю два). Абсолютное значение произведения находится путем последовательного выполнения операции сдвига и суммирования над модулями сомножителей.
Аналогично выполняется и операция деления чисел, представленных в двоичном формате.
Рассмотренный способ умножения включает этап отделения от сомножителей их знаковых разрядов и выполнение действий над знаками и модулями чисел. Одним из эффективных алгоритмов умножения является алгоритм Бута. Он не предусматривает разделение операций над знаковыми разрядами и модулями сомножителей.
Таким образом, на основе приведенных примеров можно сделать вывод о том, что любая из арифметических операций, а именно: сложение, вычитание, умножение и деление, может быть выполнена при помощи схем, реализующих суммирование, инвертирование, сдвиги вправо или влево двоичных операндов, преобразование операндов из прямого кода в дополнительный и обратно.
- Эвм и вычислительные системы».
- Часть I.
- Лекция №1 общие сведения о микропроцессорах и микропроцессорных системах.
- Предисловие
- 1.1 . Основные определения и классификация микропроцессорных систем.
- 1.2. Однокристальные мп.
- 1.2.1 Краткий исторический обзор развития.
- Лекция №2 обзор микропроцессоров фирм клонмейкеров. Современный уровень развития однокристальных микропроцессоров.
- 2.1. Микропроцессоры-клоны.
- 2.2. Современные универсальные однокристальные микропроцессоры.
- Процессоры Pentium II.
- 2.2.1. Процессоры фирмы amd
- 2.2.2.ПроцессорыфирмыCyrix.
- 2.2.3. Сравнительный анализ мп различных семейств.
- 2.2.4. Перспективы развития.
- 2.3. Программируемые микроконтроллеры.
- Лекция №3 обзор микропроцессоров с микропрограммным управлением и микропроцессоров с сокращенным набором команд.
- 3.1. Мп с микропрограммным управлением.
- 3.2. Мп с сокращенным набором команд.
- 3.2.1. Risc-процессоры: предпосылки создания.
- 3.2.2. Принципы risc
- 3.2.3. Особенности risc-процессоров.
- 3.2.4. Представители группы risc-процессоров.
- 3.2.5. Цифровые процессоры обработки сигналов.
- Лекция №4 представление информации в мпс.
- 4.1. Способы кодирования информации в мпс.
- 4.2 Двоичный формат.
- 4.3. Двоично-десятичная система кодирования.
- 4.4. Шестнадцатиричная система счисления.
- 4.4. Формат с плавающей точкой.
- 4.5. Кодирование команд.
- Лекция №5 архитектура мп и мпс.
- 5.1. Понятие организации и архитектуры мп и мпс.
- 5.2 Обобщенная функциональная схема мп.
- 5.2.1 Устройство управления на основе аппаратной реализации.
- 5.2.2. Программируемая логическая матрица.
- Лекция №6 архитектура мп и мпс.(продолжение)
- 6.1. Функциональная схема однокристального мп.
- 6.2 Структура адресного пространства мпс.
- 6.3 Взгляд программиста на адресное пространство.
- 6.4 Понятие стека.
- Лекция №7 способы адресации
- 7.1 Основные определения.
- 7.2 Однокомпонентные способы адресации.
- 7.2.1 Прямой способ адресации.
- 7.2.3 Способы адресации с автомодификацией.
- 7.3 Многокомпонентные способы адресации.
- Лекция №8 основы проограммирования на языке ассемблера для мп i8086.
- 8.1. Формат команд на языке встроенного ассемблера.
- 8.2. Архитектура мп i8086.
- 8.2.1 Сегментация памяти мп i8086.
- 8.2.2 Структура мп i8086.
- 8.2.3 Устройство шинного интерфейса.
- 8.2.4 Операционное устройство(оу).
- 8.3 Основные команды языка Ассемблер для мп i8086.
- 8.3.1 Команды пересылки данных.
- Лекция №9 основы проограммирования на языке ассемблера для мп i8086. (продолжение).
- 9.1. Арифметические команды.
- 9.2. Логические команды.
- 9.3. Команды передачи управления.
- 9.4. Команды управления мп.
- Лекция №10 запоминающие устройства.
- 10.1 Основные характеристики полупроводниковых запоминающих устройств.
- 10.2 Способы организации бис зу.
- 10.3 Классификация полупроводниковых зу.
- 10.3.1. Статические озу (Static Random Access Memory).
- 10.3.2. Озу динамического типа (Dynamic Random Access Memory dram).
- 10.3.4. Кмоп - озу.
- Лекция №11 запоминающие устройства. (продолжение)
- 11.1. Постоянные зу. (Read Only Memory - rom).
- 11.2. Flash-память.
- 11.3. Корпуса модулей зу.
- 11.4. Наращивание объема и разрядности памяти, построенной на полупроводниковых зу.
- Лекция № 12 организация магистралей мпс.
- 12.1 Типы магистралей мпс.
- 12.2 Циклы обращения к магистрали.
- 12.3 Примеры архитектур системных магистралей современных мпс.
- Лекция №13 методы расширения адресного пространства мпс.
- 13.1 Предварительные замечания.
- 13.2 Метод окна.
- 13.3 Метод базовых регистров.
- 13.4 Метод банков.
- 13.5 Метод виртуальной памяти.
- Лекция №14 система прерываний.
- 14.1 Понятие системы прерываний, классификация систем прерываний.
- 14.2. Организация радиальной системы прерываний.
- 14.3. Расширение радиальной системы прерываний методом поллинга.
- 14.4. Организация векторной системы прерываний.
- Лекция №15 организация связи мпс с переферийными устройствами.
- 15.1. Классификация способов обмена информацией в мпс.
- Прямой ввод/ вывод
- 15.3 Условный ввод-вывод.
- 15.4. Режим прямого доступа к памяти.
- Лекция №16 интерфейсы мпс.
- 16.1. Принципы организации и классификация интерфейсов.
- 16.2. Элементная база интерфейсов.
- 16.3. Средства параллельного ввода/вывода.
- Лекция №17 расширитель интерфейса для ibm-совместимых пк. Программируемый интервальный таймер.
- 17.1. Расширитель интерфейса рс на основе ппа кр580вв55.
- 17.2 Программируемый интервальный таймер.
- 17.3. Модуль преобразования цифрового кода в шим-сигнал на базе пит.
- Лекция №18 интерфейсы последовательной связи.
- 18.1. Общая характеристика последовательной связи.
- 18.2. Асинхронные последовательные интерфейсы.
- 18.3. Бис для организации последовательного интерфейса.
- 18.4. Модем.
- 18.5. Стандарты физической связи. Стандарт rs -232- c.