Аппаратная реализация модулярного сумматора и умножителя на базе ПЛИС
Краткое сожержание материала:
Размещено на 13
43
Размещено на
Реферат
МОДУЛЯРНАЯ АРИФМЕТИКА, МОДУЛЯРНЫЙ СУММАТОР, МОДУЛЯРНЫЙ УМНОЖИТЕЛЬ, СОК, ALTERA, QUARTUS.
Объект разработки - модулярный сумматор и умножитель на базе системы остаточных классов.
Цель работы - аппаратная реализация модулярного сумматора и умножителя, удовлетворяющих техническому заданию.
Введение
В настоящее время невозможно представить себе сложную автоматическую систему без того, чтобы ее центральную часть не составляли вычислительные машины, выполняющие функции обработки информации и управления. Поэтому очевидна ценность исследований методов ускорения расчетов и повышения производительности вычислительных машин.
Задачу повышения скорости и надёжности вычислений можно рассматривать с двух сторон. С одной стороны это аппаратный уровень, фундаментальными ограничениями на котором являются технические возможности создания элементной базы - уменьшение размеров кристаллов, увеличение частоты синхронизации (тактовой частоты), решение проблем теплоотвода и др. Во многом этот уровень определяется современным состоянием фундаментальных наук, прежде всего, физики. С другой стороны это - математико-алгоритмический уровень вычислений, и фундаментальными ограничивающими факторами здесь выступают, в числе прочих, необходимость последовательного вычисления, когда следующий этап (шаг) частично или полностью зависит от предыдущих шагов. Даже простейшие арифметические операции сложения и умножения (не говоря уже о делении) при реализации их вычислителями с архитектурой фон-Неймана осуществляются побитово, и вычисление каждого последующего бита зависит от результата операции над предыдущими битами. Существуют и другие вычислительные архитектуры, в которых акцент сделан на параллельность и массовость вычислений. Большую популярность сейчас имеют нейронные сети, которые, обладая алгоритмической универсальностью машины Тьюринга, уже доказали своё преимущество в слабо формализованных задачах, связанных с необходимостью обучения. Использование системы остаточных классов (СОК) и модулярных вычислений позволяет существенно увеличить скорость арифметических вычислений за счёт параллельного выполнения операций над остатками.
Долгое время модулярная арифметика рассматривалась как интересный сугубо теоретический вопрос из-за сложности производства вычислительных структур для её реализации. Современное развитие технологии интегральных схем сделало возможным использование модулярной арифметики для многих областей цифровой обработки сигналов, распознавания образов и других задач, требующих интенсивных вычислений [1].
1. Обзор системы остаточных классов и основные теоретические сведения
1.1 Основные понятия системы остаточных классов
Если задан ряд положительных целых чисел p1, p2, . . ., рn, называемых в дальнейшем основаниями системы, то под системой счисления в остаточных классах принято понимать такую систему, в которой целое положительное число представляется в виде набора остатков (вычетов) по выбранным основаниям N = (a1, a2, ..., an), причем образование цифр ai осуществляется следующим процессом
ai = N -- pi , (1.1)
где i = 1, 2, ..., n.
Т.е. цифра i-го разряда ai числа N есть наименьший положительный остаток от деления N на pi.
Здесь в отличие от обобщенной позиционной системы образование цифры каждого разряда проводится независимо друг от друга. Цифра i-го разряда ai представляет собой наименьший положительный остаток от деления самого числа N, а не предыдущего частного, как это имело место в позиционной системе, на i-e основание i. Очевидно, что ai < pi.
В теории чисел доказано, что если числа pi взаимно простые между собой, то описанное цифрами a1, a2, ..., an представление числа N является единственным.
Объем диапазона представимых чисел в этом случае как легко видеть, равен
P = p1 p2 ... pn.
Здесь, как и в обобщенной позиционной системе, диапазон представимых чисел растет как произведение оснований, а разрядность чисел N растет как сумма разрядностей тех же оснований.
Далее следует рассмотреть правила выполнения операций сложения и умножения в системе остаточных классов в случае, если оба числа и результат операции находятся в диапазоне [0, P). Пусть операнды А и В представлены соответственно остатками ai и i по основаниям pi при i = 1, 2, . . ., n.
Результаты операций сложения и умножения А + В и АВ представлены соответственно остатками i и i по тем же основаниям рi т. е.
А = (а1, а2, ..., аn), (1.2)
B = (1, 2, ..., n ), (1.3)
A + B = (1, 2, ..., n), (1.4)
AB = (1, 2, ..., n), (1.5)
и при этом имеют место соотношения
A < P, B < P, A + B < P, AB < P. (1.6)
Утверждается, что i сравнимо с аi + i по модулю рi, а i сравнимо с аi i по тому же модулю, т. е.
i ? аi + i (mod рi ), (1.7)
i ? аi i (mod рi ), (2.8)
при этом в качестве цифры результата берется соответственно
i = аi + i - рi, (1.9)
i = аi i - рi. (1.10)
Необходимо охарактеризовать в общих чертах достоинства и недостатки введенной системы счисления в остаточных классах.
К достоинствам следует отнести [4]:
· независимость образования разрядов числа, в силу чего каждый разряд несет информацию обо всем исходном числе, а не о промежуточном числе, получающемся в результате образования более младших разрядов. Отсюда вытекает независимость разрядов числа друг от друга и возможность их независимой параллельной обработки. При введении дополнительного контрольного основания остаток, взятый по этому основанию, несет избыточную информацию об исходном числе, что позволяет обнаруживать и исправлять ошибки в цифрах по рабочим основаниям системы;
· малоразрядность остатков, представляющих число. Ввиду малого количества возможных кодовых комбинаций открывается возможность построения табличной арифметики, благодаря чему большинство операций, выполняемых арифметическим устройством, превращаются в однотактные, выполняемые простой выборкой из таблицы.
К основным недостаткам системы счисления в остаточных классах следует отнести:
· невозможность визуального сопоставления чисел, так как внешняя запись числа не дает представления о его величине;
· отсутствие простых признаков выхода результатов операций за пределы диапазона [0, P);
· ограниченность действия системы сферой целых положительных чисел;
· получение во всех случаях точного результата операции, что исключает возможность непосредственного приближенного выполнения операций, округления результата и т. п.
1.2 Выбор оптимальных оснований СОК
Пусть диапазон представления чисел в СОК равен P = p1 p2 ... pn. Поскольку желательно, чтобы P было как можно большим, проще всего принять p1 наибольшим нечетным числом, соответствующим машинному слову, в качестве p2 принять наибольшее нечетное число < p1, взаимно простое с p1, а в качестве p3 - наибольшее нечетное число < p2, взаимно простое как с p1, так и с p2, и т.д., пока не наберется столько pj, сколько будет достаточно для образования нужного P [1].
При работе на двоичных компьютерах иногда желательно выбирать модули pj иным образом:
pj = 2ej - 1. (1.11)
Другими словами, значение каждого модуля на единицу меньше очередной степени двойки. Такой выбор значения модуля pj зачастую упрощает выполнение основных арифметических операций, т.к. выполнять вычисления с числами, представленными по модулю 2ej - 1, несколько проще, чем с числами, представленными в обратном коде. После того, как значения модулей выбраны таким образом полезно несколько ослабить условие 0 ? ai < pj и потребовать только, чтобы
0 ? ai < 2ej, (1.12)
ai ? N (mod 2ej - 1), (1.13)
N = (а1, а2, ..., аn). (1.14)
Проектирование модулярного сумматора и умножителя
Выбор оптимальных оснований системы остаточных классов. Общая структура модулярного сумматора и умножителя, выбор их моделей. Алгоритмы функционирован...
Разработка сумматора-умножителя
Разработка функциональных схем основных узлов сумматора-умножителя. Минимизация функции алгоритмом Рота. Поиск простых импликант. Минимизация картами...
Последовательный умножитель двух 4-разрядных чисел со знаком
Временные характеристики переключения логических элементов. Проектирование последовательного умножителя, схема полного сумматора. Временная диаграмма...
Последовательный умножитель двух 4-разрядных чисел со знаком
Схема полного сумматора в основе последовательного умножителя двух 4-разрядных чисел со знаком. Расчет базового элемента. Моделирование в программе Mi...
Синтез цифровых схем арифметических устройств
Разработка алгоритма умножения, структурной схемы устройства и синтез преобразователя множителя. Логический синтез одноразрядного четверичного умножит...