Найти в Дзене

Бушков А.А. Статья2. Основные операции Арифметическо-Логического Устройства Центрального Процессора.

Сначала немного о двоичной системе исчисления (ДвСИ). Основу ДвСИ составляет бит. Бит это один двоичный разряд, который может принимать два логических значения: 0 или 1; Нет или Да; False или True; Ложь или Правда В двоичной системе исчисления бит может принимать два цифровых значения- 0 или 1. Логическому 0 (логическим Нет, False, Ложь) ставится в соответствие цифра 0. Логической 1 (логическим Да, True, Правда) ставиться в соответствие цифра 1. Из 8 битов составляют байт. Нумерация разрядов в байте идёт справа налево, начиная с 0: Из 2х байт составляют ПолуСлово: Из 4х байт составляют Слово. Из 8 байт составляют Двойное Слово. Можно продолжить. Байту можно поставить в соответствие цифру в ДвСИ. Каждый разряд имеет вес 2 в степени номера разряда. Например: Этот байт соответствует следующей цифре в десятичной СИ: Таким образом, одним байтом можно изобразить в ДвСИ диапазон цифр от 0 до 255 в Десятичной системе исчисления. Байт 0000 0000 имеет значение 0 в Десятичной СИ. Байт 1111 1111
Оглавление

Сначала немного о двоичной системе исчисления (ДвСИ).

Основу ДвСИ составляет бит.

Бит это один двоичный разряд, который может принимать два логических значения:

0 или 1;

Нет или Да;

False или True;

Ложь или Правда

В двоичной системе исчисления бит может принимать два цифровых значения- 0 или 1.

Логическому 0 (логическим Нет, False, Ложь) ставится в соответствие цифра 0.

Логической 1 (логическим Да, True, Правда) ставиться в соответствие цифра 1.

Из 8 битов составляют байт. Нумерация разрядов в байте идёт справа налево, начиная с 0:

Из 2х байт составляют ПолуСлово:

-2

Из 4х байт составляют Слово. Из 8 байт составляют Двойное Слово. Можно продолжить.

Байту можно поставить в соответствие цифру в ДвСИ. Каждый разряд имеет вес 2 в степени номера разряда. Например:

-3

Этот байт соответствует следующей цифре в десятичной СИ:

-4

Таким образом, одним байтом можно изобразить в ДвСИ диапазон цифр от 0 до 255 в Десятичной системе исчисления.

Байт 0000 0000 имеет значение 0 в Десятичной СИ.

Байт 1111 1111 имеет значение 255 в Десятичной СИ.

Аналогично для Слова, Двойного Слова и т.д.

Основные операции АЛУ.

АЛУ делает следующие логические операции над байтами или двумя байтами побитно справа налево:

1. Операция логического умножения. Обозначение «И», «&», «^», «.», «AND»

Записывается так: А^B=C, где А, В, С – переменные размером 1 бит.

Результат операции логического умножения:

1^1=1

1^0=0

0^0=0

0^1=0

2. Операция логического сложения. Обозначение «Или», «V», «OR»

Записывается так: А V B = C, где А, В, С – переменные размером 1 бит.

Результат операции логического сложения:

1 V 1=1

1 V 0=1

0 V 0=0

0 V 1=1

3. Операция логического отрицания. Обозначение «НЕ», «Not», «Верхнее подчеркивание».

Записывается так: Не А, Not A.

Результат операции логического отрицания:

Не 1 = 0

Не 0 = 1

т.е. инверсия бита.

4. Сдвиг влево на 1 разряд с заполнением 0 в младшем разряде.

5. Сдвиг вправо на 1 разряд с заполнением 0 в старшем разряде.

6. Операция арифметического сложения.

Делается поразрядно с младшего разряда с учётом переноса

-5

Число А равно 153; Число В равно 35; Число С = 188;

Проверим число С:

-6

Это самая сложная операция АЛУ.

1. Еще АЛУ делает операцию «Исключающее ИЛИ», обозначается «XOR»,

Она не имеет вычислительного значения и применяется в системе контроля.

Операция «Исключающее ИЛИ» является комбинацией вышеперечисленных операций:

А XOR B = (NotA) & B + A & (NotB)

Результат операции Исключающее ИЛИ:

1 XOR 1 = 0

1 XOR 0 = 1

0 XOR 0 = 0

0 XOR 1 = 1

Замечание1.

АЛУ не делает операции вычитания, умножения, деления.

Операция вычитания делается так. Пусть из А нужно вычесть В.

1. Делаем инверсию всего В

2. Прибавляем к полученному 1. Это будет Дополнение к В.

3. Делаем сложение А и Дополнение к В, если есть перенос из послендего разряда, то его игнорируем.

Возьмет те же байты и вычтем из А байт В : С=А-В

А= 10011001 это 153

В= 00100011 это 35

Not B=11011100

(Not B) +1 = 11011100+1 = 11011101

Складываем 10011001 + 11011101

Получаем С= 01110110

Проверим С :

-7

Замечание2.

Если мы из Дополнения В = 11011101 сделаем еще раз отрицательное число, то получим снова В. Проверим:

Дополнение В = 11011101

Инверсия= 00100010

Прибавляем 1 к инверсии:

00100010 + 1 = 00100011 получили исходное В=35.

Сотрудники Вычислительного Центра Главсредволговодстроя, г. Саратов, 1977-1993.

Новиков Виктор Михайлович, Белоусов Николай Васильевич
Новиков Виктор Михайлович, Белоусов Николай Васильевич

Палатов Юрий
Палатов Юрий

----------------------------

Если Вам понравился материал статьи, подпишитесь пожалуйста на мой канал в целом.

Для этого пройдите по ссылке ниже и нажмите кнопку "Подписаться"

https://dzen.ru/profile/editor/id/62cd3cfc63f88417d7e74b79