Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архит_ЭВМ_лекции.doc
Скачиваний:
115
Добавлен:
04.06.2015
Размер:
19.16 Mб
Скачать

Компараторы

Компаратор (от латинского сравнивать) – определяет относительные значения двоичных чисел А и В и вырабатывает на входе сигналы, соответствующие соотношениям: A>B,A=B,A<B. Входы и выходы компаратора предусматривают возможность расширения.

Команды сравнения относятся к группе арифметических и обязательно входят в состав команд любого микропроцессора.

двоичная арифметика

Так как информационные процессы в цифровых системах принимают значения только 0 и 1, то и представления данных осуществляется с помощью двоичных чисел. Сложение и вычитание двоичных чисел, а так же и все остальные арифметические действия выполняются по тем же правилам, что и в десятичной арифметике.

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

вычитание двоичных чисел

_110011

101100

000111

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

1101

1001

1101

0000

0000

1101 .

1110101

+

дополнительный код

Если нужно использовать числа со знаком, в ЭВМ используется специальный код. Применение его существенно упрощает аппаратные средства ЭВМ.

Изобразим условно ячейку памяти или регистр ЭВМ.

1 – имеет вес 16 (24).

Для представления знака числа принято соглашение о том, что если старший значащий разряд в числе равен нулю, то число положительное.

В остальных ячейках записывается второе параллельное число. Если старший разряд слова равен 1, то число является отрицательным, а в остальных рядах слова записано двоичное число в дополнительном коде.

Использование дополнительного кода позволяет операцию вычитания заменить сложением.

Выполним преобразование отрицательного числа (-9) в дополнительном коде:

  • Преобразуем число 9 в двоичный эквивалент – 00001001. Слева допишем нули, если это необходимо до 8 – разрядного числа.

  • Выполним разрядную операцию отрицания с этим числом (проинвертировать число). Операция сведется к замене 0 – 1, а 1 – 0.

Получим:

000010001

111101110

  • Кполученному числу прибавить 1.

Полученное число является дополнительным кодом отрицательного числа (-9). На это указывает 1 в старшем разряде.

Обратные преобразования, записанные в дополнительном коде

Ч

11001101

исло отрицательное, т.к. на это указывает 1 в старшем разряде.

Выполняем инверсию этого числа: 00110010.

К полученному числу прибавляем 1.

Это число является модулем исходного числа, записанного в дополнительном коде.

Арифметика в дополнительном коде

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

Рассмотрим на примерах все возможные ситуации, при арифметических действиях с числами:

  1. сложение двух положительных чисел:

  1. сложить числа:

Врезультате получили девятиразрядное число, причем старший разряд является переполнением восьмиразрядного числа, поэтому им пренебрегаем.

Оставшееся число в старшем разряде имеет 0, поэтому является положительным.

  1. Сложить 2 отрицательных числа:

(-5) + (-7) = -12

Выполним обратное преобразование: