Лабораторная работа №7 - 8
.doc
Примечание. Знаком Х отмечено безразличное состояние, знаком * – операция сдвига на один разряд влево. Арифметические действия, выполняемые АЛУ, указаны словами «плюс» и «минус», все другие действия – логические и указаны символами.
Таблица 8.2. Результаты расчетов логических и арифметических функций
№ п/п |
Операнд А10 = А2 = Операнд В10 = В2 = |
||||||||||||||||
Режим рабо-ты |
Результат выполнения лог. функции |
Результат выполнения арифметической функции |
|||||||||||||||
С = |
М = С = 0 |
М = С = 1 |
|||||||||||||||
F8 |
F4 |
F2 |
F1 |
К |
С |
F8 |
F4 |
F2 |
F1 |
К |
С |
F8 |
F4 |
F2 |
F1 |
||
1 |
Расч. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Эксп. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
Расч. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Эксп. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
… |
» |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
» |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
Эксп. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Расч. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Содержание отчета
Отчёт по работе должен содержать:
-
заполненную таблицу (табл. 8.2) с указанием операндов А и В, состояния кнопки М при выполнении той или иной операции, результатов F и признаков С и К;
-
перевод заданных чисел из десятичной в двоичную систему счисления.
Задания для домашней подготовки
При подготовке к выполнению работы ответьте на следующие вопросы:
1. Какие основные логические функции двух переменных вы знаете?
2. Какое количество логических функций существует для двух переменных?
3. Какова схема устройства, выполняющего логическую функцию F = (А + В)(С + D)?
4. Переведите из десятичной в двоичную, восьмеричную и шестнадцатеричную системы счисления год вашего рождения.
5. Выполните арифметические операции «сложение» и «вычитание» в двоичном коде над двоичными переменными, соответствующими вашему курсу и группе. Убедитесь в правильности выполнения действий, переведя данные и результат в восьмеричную и шестнадцатеричную системы счисления.
Краткие теоретические сведения
АЛУ относится устройствам, обрабатывающим входную информацию (операнды А и В), представленную в виде двоичных переменных. При этом каждый разряд операндов А и В имеет значение «1» (нажатая кнопка вызывает свечение светодиода) либо «0» (при не нажатой кнопке свечение светодиода отсутствует). Выходная информация (операнд F и признаки С, К) представлена также в двоичной системе счисления («1» – есть свечение светодиода, «0» – свечение светодиода отсутствует).
Логическими операциями, исследуемыми на АЛУ, являются инверсия, конъюнкция, дизъюнкция, неравнозначность и их комбинации. Все логические операции производятся над двоичными числами поразрядно. Рассмотрим основные логические операции.
Инверсия (отрицание) обозначается в записи как либо , осуществляет обращение «0» в «1», а «1» в «0», например, А = 1101, = 0010.
Конъюнкция (логическое умножение, функция «И») в записи может быть обозначена одним из следующих способов:
F = A Λ B; F = A·B; F = AB.
Логическое умножение осуществляет преобразование переменных А и В в функцию F по правилу, приведённому в табл. 8.3.
Инверсия конъюнкции (штрих Шеффера, функция «И-НЕ») обозначается, как и выполняется при двух входных переменных так, как указано в табл. 8.3.
Дизъюнкция (логическое сложение, функция «ИЛИ») в записи обозначается как F = А V В, F = A + B.
Реализуемая в данном случае функция также представлена в таблице (табл. 8.3).
Таблица 8.3. Логические функции
А |
В |
Логические функции |
|||||
«И» |
«И-НЕ» |
«ИЛИ» |
«ИЛИ-НЕ» |
Неравно-значность |
Равно- значность |
||
|
|
F = AB |
|
F = A + B |
|
|
|
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
В табл. 8.3 функция имеет название инверсия дизъюнкции (стрелка Пирса) и выполняет преобразование «ИЛИ-НЕ».
Неравнозначность (при двух входных переменных логическую операцию иногда называют «сложение по модулю 2», «исключающее ИЛИ») имеет обозначение или .
Условное обозначение либо соответствует функции равнозначность.
Результаты F обработки операндов А и В перечисленных функций указаны в табл. 8.3.
На рис. 8.1 представлены условные графические обозначения логических функций, используемые при составлении принципиальных устройств.
Рис. 8.1. Условные графические обозначения логических функций
Арифметические операции над двоичными переменными производятся с учетом того, что при их выполнении входная и выходная информация представляется в двоичной системе счисления, а не поразрядно, как при организации логических операций.
Двоичная система счисления основана на использовании двух коэффициентов «0» и «1» в качестве множителей а0 аn при записи числа А:
А2 = аn·2n+ … + a3·23 + a2·22 + a1·21 + a0·20.
Перевод числа из десятичной системы счисления в двоичную можно осуществить несколькими способами. Рассмотрим метод деления, предполагающий выполнение перевода путем последовательного деления десятичного числа на два. Процесс деления продолжается до получения нулевого результата.
Пример. Представить в двоичной системе число А10 = 43.
Решение. Преобразование осуществляется следующим образом:
43 : 2 = 21 |
остаток 1 – младший значащий разряд |
21 : 2 = 10 |
остаток 1, |
10 : 2 = 5 |
остаток 0, |
5 : 2 = 2 |
остаток 1, |
2 : 2 = 1 |
остаток 0, |
1 : 2 = 0 |
остаток 1 – старший значащий разряд. |
Ответ. Десятичное число 43 имеет двоичный эквивалент 101011.
4310 = 101011.
Кроме двоичной часто применяются восьмеричная и шестнадцатеричная системы счисления.
В восьмеричной системе число А записывается так:
А8 = аn·8n+ … + a3·83 + a2·82 + a1·81 + a0·80.
Коэффициенты а0 аn имеют значение 0, 1, 2, 3, 4, 5, 6, 7. Старшим коэффициентом системы счисления является 78. 78 может быть представлено триадой двоичных чисел 78 = 1112. Следовательно, для перевода числа из двоичной системы счисления в восьмеричную необходимо разбить его на триады, начиная с младших разрядов, и каждую триаду представить в восьмеричном коде. Если старшая триада будет неполной, её дополняют нулями.
Пример. 4310 = 101011 = 538.
В шестнадцатеричной системе счисления 16 коэффициентов а0 аn (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С, D, E, F). При этом А16 = 1010; В16 = 1110; С16 = 1210; D16 = 1310; Е16 = 1410; F16 = 1510.
Запись числа А в этом случае выглядит так:
А16 = аn·16n+ … + a3·163 + a2·162 + a1·161 + a0·160.
Старшим коэффициентом системы счисления является F16 = 1510, которое может быть представлено тетрадой двоичных разрядов.
F16 = 1510 = 11112.
Таким образом, для перевода двоичного числа в шестнадцатеричный код следует разделить двоичное число на четверки (тетрады) и представить каждую из них шестнадцатеричным числом.
Пример. 4310 = 00101011 = 2В16.
Из арифметических действий АЛУ может выполнять сложение и вычитание в двоичном, восьмеричном и шестнадцатеричном коде. Правила сложения и вычитания одноразрядных двоичных чисел а, в представлены на рис. 8.2.
а) б)
Рис. 8.2. Правила в табличном виде для: а – сложения; б – вычитания
Пример. Сложить два двоичных числа:
Значком «» в примере отмечен возникающий перенос.
Пример. Сложить двоичное число 1011 само с собой:
Как видно из приведенного примера, суммирование двоичного числа самого с собой приводит к сдвигу кода данного числа в сумме на один разряд влево. Это свойство суммирования используется при организации операции умножения.
Пример. Найти разность двух двоичных чисел:
Значком «» в примере отмечен возникающий заем.
Для определения разности иногда прибегают к использованию дополнительного кода. Дополнительным кодом двоичного числа А называют двоичное число, полученное путем инвертирования А, и суммирование этой инверсии с единицей.
Пример. Найти дополнительный код числа А = 1010112:
= 0101002;
Адоп = 0101002 + 0000012 = 0101012.
Итак, дополнительным кодом числа 1010112 является число 0101012. Операция вычитания в дополнительном коде требует выполнения следующих действий:
1) уменьшаемое оставляют без изменения;
2) находят дополнительный код вычитаемого;
3) уменьшаемое складывают с дополнительным кодом вычитаемого;
4) возникающую единицу переноса в старшем разряде разности не учитывают.
В приведенной последовательности действий удалось избежать операции «вычитание», заменив её операциями «инвертирование» и «сложение».
Пример. Найти разность двух двоичных чисел
1011012 = 4510 и 101102 = 2210.
Находим дополнительный код числа 101102. Им является число 010102. Разность определяется следующим образом:
-
+
1011012 = 4510
010102
1*101112 = 2310 .
1* – не учитывают.
Использование подобного приёма объясняется тем, что для организации и суммирования и вычитания применяются одни и те же устройства, называемые сумматорами. Они могут быть одноразрядными или многоразрядными, неполными или полными. Одноразрядный неполный сумматор (полусумматор) имеет два входа и два выхода. Условное обозначение, логическая структура и таблица истинности неполного сумматора представлены на рис. 8.3. Выход F дает результат арифметического сложения двух битов, а выход С дает результат переноса, возникающего при сложении. Одноразрядный полный сумматор имеет три входа и два выхода. На рис. 8.4 показан полный одноразрядный сумматор, который отличается от неполного тем, что он имеет три входа. На выходе С имеется результат сложения одноразрядных цифр А, В и переноса С предыдущего полусумматора. Многоразрядный сумматор строится путем каскадного включения одноразрядных сумматоров (рис. 8.5).
а) б) в)
Рис. 8.3. Неполный одноразрядный сумматор: а – условное обозначение;
б – логическая структура; в – таблица истинности
а) б) в)
Рис. 8.4. Полный одноразрядный сумматор: а – условное обозначение;
б – логическая структура; в – таблица истинности
а) б)
Рис. 8.5. Полный 4-разрядный сумматор:
а – условное обозначение; б – структурная схема
На рис. 8.6 представлена схема включения сумматора при вычитании четырехзначных двоичных чисел.
Другие арифметические действия (деление, умножение, возведение в степень и т. д.) выполняются программно с применением микропроцессорных устройств, составной частью которых является АЛУ.
Рис. 8.6. Схема включения сумматора при вычитании
четырехразрядных двоичных чисел
Контрольные вопросы и задания
-
Объясните принцип работы АЛУ на примере выполнения им функции №10 при М = 0, С = 1.
-
Какие логические функции двух переменных выполняются на АЛУ К155ИП3? Приведите их таблицы истинности и условные графические изображения.
-
Чему равны значения операндов А и В, если результат инверсии неравнозначности операндов А и В равен F = 1100?
-
Как представить двоичное число в шестнадцатеричной и восьмеричной системах счисления? Проиллюстрируйте перевод чисел из одной системы в другую на нескольких примерах.
-
Объясните принцип использования сумматора для вычитания двоичных чисел.
-
Что означает перенос при арифметической обработке двоичных операндов А и В? Каково назначение бита переноса в АЛУ и при каких условиях он устанавливается в единицу?
-
Что такое ускоренный перенос? Чем вызвана необходимость применения специальных схем ускоренного переноса?
-
Каким образом можно увеличить разрядность операндов А и В для обработки восьмеричных или шестнадцатеричных входных слов?
-
Что вы знаете об операции сдвига двоичных чисел влево?
-
Начертите функциональную схему АЛУ при выполнении им операции №14, М = 0, С0 = 0.