- •Министерство общего и профессионального образования российской федерации
- •Введение
- •1 Цели и задачи курсового проектирования
- •2 Тематика и содержание курсовых проектов
- •3 Задание к курсовому проектированию
- •Перечень заданий
- •VII.Управление триггерами
- •4 Правила оформления пояснительной записки
- •5. Правила оформления графического материала.
- •6 Методика курсового проектирования
- •6.1 Управляющий автомат с программируемой логикой
- •6.1.1 Построение функциональных схем
- •6.1.2 Кодирование микрокоманды
- •6.1.3 Разработка структурной схемы уу
- •6.1.4 Расчет быстродействия уу
- •6.2 Проектирование блока сопроцессора для алгебраического суммирования чисел с фиксированной запятой
- •6.2.1 Суммирование чисел с фиксированной запятой перед старшим разрядом
- •6.2.2 Алгебраическое суммирование с использованием модифицированных обратного и дополнительного кодов
- •6.2.3 Методика выполнения алгебраического сложения при представлении в машине слагаемых и суммы в дополнительном и обратном кодах
- •6.2.5 Проектирование операционной части блока
- •6.3 Проектирование блока умножения чисел с фиксированной запятой
- •6.3.1 Методика выполнения операции умножения над прямыми кодами исходных чисел с фиксированной запятой
- •6.3.2. Методика выполнения умножения над дополнительными кодами чисел
- •6.3.3 Выполнение операции умножения над обратными кодами сомножителей
- •6.3.4 Умножение на два разряда одновременно
- •6.3.5. Деление чисел с фиксированной запятой перед старшим разрядом
- •6.4 Проектирование блока сопроцессора порядков для выполнения арифметических операций над числами с плавающей запятой
- •6.4.1 Умножение и деление чисел с плавающей запятой
- •5 Порядок защиты
6.3 Проектирование блока умножения чисел с фиксированной запятой
Методика проектирования блока умножения состоит из следующих основных этапов:
составление содержательной микропрограммы выполнения операции умножения в соответствии с вариантом задания на основании анализа алгоритма умножения;
расчет управляющей и операционной частей устройства;
построение функциональных схем;
составление временных диаграмм выполняемых микроопераций.
Этапы расчета, построения функциональных схем и составления временных диаграмм производятся аналогично этапам проектирования блока суммирования с фиксированной запятой на основании содержательной микропрограммы, построенной в соответствии с вариантом задания. Поэтому в данном разделе будет уделено внимание только способам (алгоритмам) умножения в прямых, обратных и дополнительных кодах.
6.3.1 Методика выполнения операции умножения над прямыми кодами исходных чисел с фиксированной запятой
Для чисел [Х]пр = xз, x-1,...,x-n, [У]пр = yз, y-1, ..., y-n ([Х]пр, [Y]пр<1) требуется получить [Z]пр = [Х]пр [У]пр = zз, z-1 , z-2, ... z-n.
В дальнейшем, чтобы упростить написание формул, отрицательные индексы опускаются.
Операция выполняется в два этапа. Отдельно определяется знак произведения Zз в соответствии с выражением:
zЗ = xЗ yЗ.
Затем определяется цифровая часть произведения мантисс сомножителей. Процесс умножения можно представить в следующем виде
Z = ХУ = Х(y1 + y2 + ...+ y(n-1) + y(n) ) =
= Х y1 + Х y2 + ... + Хy(n-1) + Xy(n). (6.1).
Это выражение после преобразования можно представить в виде:
Z = ((...(( 0 + Xy(n) ) + Xy(n-1) ) +... + Xy2) + Xy1) (6.2).
Полученные выражения (6.1, 6.2) являются аналитическими записями двух основных способов умножения: со старших разрядов множителя (6.1) и младших разрядов множителя (6.2).
Согласно выражению (6.2), при умножении с младших разрядов должна выполняться следующая последовательность операций:
анализируется младшая цифра множителя. Если yn=1, то множимое Х участвует в формировании цифровой части произведения; если yn = 0, то Х не участвует в формировании произведения;
полученное первое частичное произведение, равное 0+Xyn, сдвигается на один разряд вправо, то есть умножается на . Указанная последовательность действий справедлива при умножении на все последующие разряды. Так, при умножении на разряд y(n-1):
анализируется цифра множителя yn-1. Если yn-1 = 1, то множимое прибавляется к сдвинутому первому частичному произведению, т.е. A2 = (0 + Xy-n) + X1 . Если yn-1=0, то множимое не участвует в формировании произведения, т.е.
A2 = (0 + Xy-n ) + X0;
Полученное второе частичное произведение сдвигается на один разряд вправо. Указанную процедуру умножения можно описать следующей рекуррентной формулой:
A( i ) = A( i - 1) + y( n + 1- i ) Х (6.3)
Для выполнения умножения необходимо повторить n тактов ( i = 1,2,..,n) в соответствии с формулой (6.3) и в заключение осуществить последний n-й сдвиг An=XY = Z. Отметим, что при перемножении n-разрядных чисел получается 2n разрядное произведение (n-старших разрядов и n- младших). При этом получение только n старших разрядов произведения или всех 2n разрядов обеспечивается суммированием в n-разрядной сетке.
Умножение со старших разрядов множителя (6.1) при умножении только на один разряд должно выполняться в следующей последовательности:
множимое сдвигается на 1 разряд вправо, т.е. X;
анализируется старшая цифра множителя y1. Если y-1=1, то X участвует в формировании произведения, при y-1 = 0, X - не участвует в формировании произведения.
Выполнение такой последовательности соответствует умножению на старший разряд множителя и справедливо при умножении на все последующие разряды. Так, при умножении на второй разряд:
производится второй сдвиг множимого, т.е. ( X );
анализируется значение y2 и осуществляется или не осуществляется передача X на суммирование.
Процесс умножения повторяется до просмотра всех y(-i ) , i = 1..n.