Сумматор
Сумматор (также Addiernetz ) является основным компонентом арифметического устройства в виде процессора .
Сумматор позволяет складывать два многозначных двоичных числа . Поскольку все четыре основные арифметические операции можно проследить до сложения , оно образует центральный элемент арифметического устройства (арифметико-логического устройства, ALU) процессора. В то время как сеть добавления работает асинхронно, модуль добавления работает синхронизированно и буферизует результат с помощью модулей памяти.
Сумматор можно реализовать по-разному. Самыми известными схемами являются параллельный сумматор, последовательный сумматор и сумматор фон Неймана . Все три используют половинные и / или полные сумматоры для выполнения сложения.
Типы цепей
Параллельный сумматор
В своей базовой форме сумматор пульсаций переноса используется в качестве суммирующей сети, причем вывод соединяется с вводом следующего полного сумматора. В худшем случае битовый сигнал переноса должен перейти от младшего к старшему сумматору, чтобы сформировать сумму . В больших арифметических устройствах это приводит к значительному времени выполнения в добавляющей сети, и в результате были разработаны коммутационные сети с сокращенным временем выполнения .
- Параллельный сумматор с перенаправлением переноса ( сумматор пропуска переноса ), полный сумматор объединяются в группы, и с помощью логики сложения быстро определяется, перемещается ли переносимый остаток по группе. (Для всех сумматоров на одном входе присутствует как минимум 1, поэтому все отдельные сумматоры имеют перенос результата.)
- Параллельные сумматоры с предварительным вычислением переноса ( сумматор с упреждающим переносом ), коммутационная сеть для группы сумматоров содержит сложную логику, которая напрямую определяет его перенос.
- Сумматор условной суммы вычисляет результат для группы сумматоров как с набором переноса, так и без него. Логика выбора переключает соответствующий результат на выходы в зависимости от вносящего.
Преимущество параллельного сумматора в том, что все задействованные сумматоры работают одновременно. Недостатком базовой формы является длительное время задержки сигнала, поскольку в крайних случаях передача должна проходить по цепи справа налево. Дальнейшие разработки требуют большого количества дополнительных вентилей, количество которых линейно увеличивается с шириной n добавляемых цифр двойной системы .
Сумматор серий
Для сумматора серий требуется полный сумматор и D-триггер для добавления двух n- значных двоичных чисел. В каждом цикле крайний правый бит двоичных чисел из регистров сдвига и значение в D-триггере передаются в полный сумматор. Результат сохраняется в регистре, а перенос сохраняется в D-триггере для следующих часов. Преимущество сумматора серии - небольшое количество необходимых электронных компонентов. Недостаток заключается в последовательной обработке, поэтому для сложения двух n- значных двоичных чисел требуется n + 1 тактов .
Сочетание преимуществ параллельного и последовательного сумматора приводит к сумматору фон Неймана.
Блок суммирования фон Неймана
Сумматор фон Неймана требует п половину сумматоров для сложения двух п -значное двоичных чисел. Добавление производится по следующему алгоритму
Повторение
- Загрузить регистры A и P слагаемыми
- Добавить
- Загрузить в регистр A суммы без переходящего остатка, перенести на P
- Повторяйте действия 2 и 3, пока регистр S не будет содержать нулевое значение.
И в точке P 0 гарантирует, что P 0 будет установлен в 0 с этого момента после первого прохода сложения .
В худшем случае сумматору требуется n + 1 такт; Практический опыт показывает, что в среднем только .
Пример 13 + 11:
| шаг | С. | U | П 3… 0 | А 3… 0 | ||
|---|---|---|---|---|---|---|
| 0 | 0 | 0000 млрд | 0 | 0000 млрд | ||
| 1 | 1 | 0 | 1101 б | 13 | 1011 б | 11 |
| 2 | 1 | 1 | 0010 б | 2 | 0110 б | 22-е |
| 3 | 1 | 1 | 0100 б | 4-й | 0100 б | 20-е |
| 4-й | 1 | 1 | 1000 млрд | 8-е | 0000 млрд | 16 |
| 5 | 0 | 1 | 0000 млрд | 0 | 1000 млрд | 24 |
Вычесть
Вычитание тесно связанно с добавлением и может быть преобразовано в дополнение путем изменения знака вычитаемого. Смена знака в двоичных числах включает дополнение до двух , преобразованное как дополнение до одного (инвертирование всех битов), а затем добавленное с 1 (установка переноса). Расширение блока добавления до блока сложения / вычитания позволяет подключать операции XOR на входе второго операнда . Если переключатель установлен в положение 1, XOR инвертирует входной сигнал и устанавливает бит переноса, который создает дополнение до двух, и сложение становится вычитанием.
Сложение и вычитание чисел с плавающей запятой
Многие процессоры имеют модуль с плавающей запятой для вычислений с использованием чисел с запятой. С числами с плавающей точкой , то мантисса и экспонента обрабатываются отдельно. Для этого экспоненты чисел корректируются в нормализаторе, числа добавляются с помощью сумматора / вычитателя и, наконец, результат и новый показатель степени обрабатываются в нормализаторе, чтобы сформировать новое число с плавающей запятой - результат.
Стандартизатор, часть 1
Сначала необходимо настроить показатель степени. Для этого вычитаются два показателя степени, и мантисса числа с плавающей запятой с меньшим показателем степени сдвигается с помощью регистра сдвига на количество разрядов (битов), определяемое вычитанием показателей степени. Это означает, что оба числа имеют одинаковую (большую) экспоненту. Больший показатель степени выбирается через мультиплексор на основе знака значения, полученного в результате вычитания (разности показателей степени), и направляется непосредственно в стандартизатор.
Сумматор / вычитатель
На этапе сумматора / вычитания сумматор, по существу, работает с инверторами, расположенными выше по потоку на входах. Инверторы инвертируют (инвертируют) мантиссу, если установлен соответствующий знаковый бит соответствующего числа с плавающей запятой. Затем можно сложить два числа. Это создает новую мантиссу. Кроме того, бит приоритета (бит переполнения) сумматора устанавливается, если сумма двух мантисс слишком велика, чтобы ее можно было сохранить в новой мантиссе.
Стандартизатор, часть 2
В нормализаторе разность экспонент уменьшается на единицу, а результат каскада сумматора / вычитателя сдвигается влево на единицу, если установлен бит приоритета. Затем результат этапа сумматора / вычитания становится мантиссой, а разность экспонент становится экспонентой - результатом с плавающей запятой.
веб ссылки
- Разработка схемы сложения и вычитания двоичных чисел ( Memento от 27 сентября 2007 г. в Интернет-архиве ) - Техническая работа (файл PDF; 952 kB)
- Алгебра переключений, булева алгебра