Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »Коммуникации и связь

Аппаратная реализация модулярного сумматора и умножителя на базе ПЛИС

Тип: дипломная работа
Категория: Коммуникации и связь
Скачать
Купить
Обзор системы остаточных классов и основные теоретические сведения. Выбор оптимальных оснований СОК. Общая структура цифровых устройств. Разработка модулярного сумматора и умножителя, алгоритм работы и структурная схема, работа в Altera Quartus II v10.1.
Краткое сожержание материала:

Размещено на 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...

Синтез цифровых схем арифметических устройств
Разработка алгоритма умножения, структурной схемы устройства и синтез преобразователя множителя. Логический синтез одноразрядного четверичного умножит...