Функциональные узлы ([МиС] Лабораторная №3), страница 6
Описание файла
Файл "Функциональные узлы" внутри архива находится в папке "[МиС] Лабораторная №3". Документ из архива "[МиС] Лабораторная №3", который расположен в категории "". Всё это находится в предмете "микроэлектроника и схемотехника (мис)" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "микроэлектроника и схемотехника" в общих файлах.
Онлайн просмотр документа "Функциональные узлы"
Текст 6 страницы из документа "Функциональные узлы"
рис. 6. Bit2CSum. Двух битный сумматор с carry входом.
По приведенной схеме строятся 4-х и 8-ми битные сумматоры:
A
B
S
рис.7. Bit4CSum. Четырех битный сумматор с carry входом.
A
B
S
рис.8. Bit8CSum. Восьми битный сумматор с carry входом.
2. Знаковый сумматор.
Для представления отрицательных чисел в ЭВМ используются прямой, обратный и дополнительный коды.
Прямой код подразумевает хранение модуля числа в первых n-1 разрядах, а старший бит – знаковый, 1 – отрицательное число, 0 – положительное.
Обратный код представляет из себя модуль или его инверсию числа в зависимости от знака – если отрицательное, то инверсия, причем признак отрицательности такой же, как и в прямом коде.
Дополнительный код есть обратный код, с тем только отличием, что в случае отрицательного числа, к нему подсуммируется 1 после инвертирования.
Введение дополнительного кода связано с тем, что только в нем не содержится “отрицательного нуля” (-0 = 10000…00 [пр. код] = 1111…11 [обр. код]) и, при подаче числа в дополнительном коде на вход сумматора, для получения корректного результата не требуется дополнительного анализа, кроме арифметического переполнения.
Арифметическое переполнение (или контроль счетности) возникает в 2 случаях:
-
при сложении отрицательных чисел получено положительное, т.е. был перенос из знакового разряда, но переноса в него не было,
-
при сложении положительных получилось отрицательное число, т.е. был перенос в знаковый разряд, но из него переноса не было.
Учитывая это, можно сказать, что знак арифметического переполнения устанавливается в том случае, если сумма по модулю 2 (XOR) переноса в старший бит и переноса из него равна 1. . Но в большинстве случаев контроль счетности ставится на готовый сумматор, что не позволяет использовать его внутренние carry переносы. Аналогичная функция переполнения получается, если рассмотреть другой набор аргументов – знаковые биты источников и старший (знаковый) разряд результата (не перенос сумматора, а именно старший разряд). Тогда с помощью аппарата дискретной математики (теория фиктивных переменных), получаем:
sign(A) | Sign(B) | Sign(S) | ArOF |
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 0 |
Таб.3. Таблица истинности арифметического переполнения.
Рис. 9. Схема контроля счетности (арифметического переполнения)
Мультипликаторы.
-
Беззнаковый мультипликатор.
Схема построения мультипликатора основывается на алгоритме умножения “в столбик”.
X | X | X | X | X | X | X | X | |||||||||
Y | Y | Y | Y | Y | Y | Y | Y | |||||||||
Y | X | X | X | X | X | X | X | X | ||||||||
Y | X | X | X | X | X | X | X | X | ||||||||
Y | X | X | X | X | X | X | X | X | ||||||||
Y | X | X | X | X | X | X | X | X | ||||||||
Y | X | X | X | X | X | X | X | X | ||||||||
Y | X | X | X | X | X | X | X | X | ||||||||
Y | X | X | X | X | X | X | X | X | ||||||||
Y | X | X | X | X | X | X | X | X | ||||||||
| s | s | s | s | s | s | s | s | s | s | s | s | s | s | s | s |
Рис.10. Умножение чисел “в столбик”, результат ss…ss в 2 раза больше по размеру, чем операнды.
Из схемы хорошо видно, что произведение n-разрядных чисел в общем случае получается 2n-разрядный результат. А само произведение является непосредственной суммой n слагаемых, где каждое слагаемое является исходным множителем Х с соответствующим сдвигом. А биты множителя Y являются управляющими сигналами, отвечающими за присутствие / отсутствие соответствующего слагаемого в общей сумме.
Ввиду того, что все биты одно из слагаемых присутствуют на каждом этапе суммирования, создание каскадного мультипликатора на основе мультипликаторов меньшей разрядности невозможно без дополнительного сложного оборудования. В результате, использование некаскадных схем наиболее часто реализуется на практике.
Так же как и сумматоры, мультипликаторы можно сделать как параллельные, так и последовательные. Из приведенной таблицы легко модно увидеть устройство последовательного (многотактного) мультипликатора.
Он строится на основе параллельного сумматора и двух регистров памяти. В Первом храниться множетель X, во втором – сумма. За каждый такт множетель Х(при условии равенства 1 соответствующего управляющего флага) прибавляется к сумме, после чего происходит его сдвиг на единицу влево. И так за n тактов сложения получается результат. Как и в случае с сумматором, последовательный мультипликатор редко применяется на практике ввиду своей медленной скорости работы. Поэтому мы его рассматривать не будем и сразу преступим к построению параллельного мультипликатора.
Его схема становиться очевидной, если нашу таблицу развернуть на 90 градусов:
S | |||||||||
| S | ||||||||
| | S | |||||||
| | | S | ||||||
| | | | S | |||||
| | | | | S | ||||
| | | | | | S | |||
| | | | | | | S | ||
X | | | | | | | | | S |
X | | | | | | | | S | |
X | | | | | | | S | ||
X | | | | | | S | |||
X | | | | | S | ||||
X | | | | S | |||||
X | | | S | ||||||
X | | S | |||||||
Y | Y | Y | Y | Y | Y | Y | Y |
Рис.11. Условная схема параллельного сумматора.
Здесь используется 7 8-битных сумматоров, управляемых соответствующим битом множителя Y. Для построения схемы нам потребуется управляющий элемент, который выдает входное число если на него подать управляющий сигнал 1, и все нули в противном случае.