В
начале вычисления функции log2 x, осуществляемого по рекуррентным
формулам (4.1.1.), устанавливаются значения: : x0=X, y0=1
–X, =0(см. рис.1, блок 1). Величина i
изменяется через каждые
(в данной задаче
=2) итерации (блок 2). Предварительно определяется
сдвинутое вправо на i разрядов значение переменной xk (блок 3),
которое затем используется в операциях сложения-вычитания (блоки 5 и 6),
которыми управляет знак переменой yk. В зависимости от этого и от
значения i из ПЗУ выбирается константа Ci=lg(1
-i). Переменная
, служащая для формирования результата,
увеличивается на константу Ci(блок 7). При i=n, т.е. после выполнения n
итераций, значение
после перемены знака содержит log2
x. Другие переменные равны: x
=1, y
=0.
Данный алгоритм , приведенный на рис.1, можно переделать, что приведет впоследствии к уменьшению количества элементов в операционном автомате.
Избавимся
от переменной yk в алгоритме, которая необходима только для
определения знака , знак же будем определять так:
=-1, если xk>1;
=1, если xk<=1
Это
вполне допустимо, так как sign()=sign (1-xk).
Данное преобразование позволяет избавиться от регистра для хранения yk,
сумматора или двух инкрементирующих счетчиков.
Заменим блок 2 на блоки 4 и 5 (см. рис.2), которые предназначены для увеличения i при условии, что к- четное. Данную замену приводим, потому что реализация функции ent(k/2) более сложна, по сравнению с реализацией четности.
Так как log2Mx2px= log2Mx+ log22px = log2Mx +Px, то в алгоритме необходимо учесть, что расчеты будут вестись по мантиссе, которая будет представлена как в случае с фиксированной запятой, а затем для получения конечного решения, результат расчетов с мантиссой будет вычитаться от порядка.
После всех изменений получен алгоритм (см. рис. 2), который в дальнейшем и использовался. Работоспособность данного алгоритма проверена контрольным примером (см. пункт 4.2.)
Рассмотрим теперь особенности и требования к аппаратной реализации устройства.
В формулировке задания существуют два несколько противоположных требования: с одной стороны требуется достигнуть максимального быстродействия, с другой стороны, схему требуется реализовать на базе УТТЛШ(ALS). Это противоречие между потребляемой мощностью и быстродействием разрешимо, если ставить задачу достижения максимального быстродействия для данной серии, оптимизация под данную логику, а не достижение какого-либо максимума вообще.
Способов достижения максимального быстродействия множество и каждый из них требует дополнительных аппаратных затрат. При экстенсивном подходе, если мы говорим о уменьшении времени выполнения элементарных команд каждым функциональным узлом, то в каждом конкретном случае существует свой подход к решению этого вопроса. Если это сумматор, то методом повышения скорости суммирования будет использование группового переноса. Отдельными разновидностями этого способа суммирования являются способы с параллельно-последовательным переносом, параллельно-параллельным переносом или комбинацией их в более сложных структурных сумматоров. В случае оптимизации формирования каких-либо признаков при помощи комбинационных схем, следует по возможности уменьшать глубину прохождения сигнала.
Если говорить о способах увеличения быстродействия на уровне УА, то можно отметить такие методы как, конвестеризация , выполнение нескольких элементарных команд за 1 такт, использование нескольких взаимодействующих УА (многозадачность) и др.
Разрядная сетка специального процессора – 24 разряда. Промышленность не выпускается МС общего назначения на такую разрядность как в силу технологических ограничений(например, коэффициент объединения по входу реально достигает 8-12 для ТТЛ,ТТЛШ), так и в силу экономических, эргономических и других требований. Для решения этой проблемы пользуются достаточно простыми наращивания разрядности функционирующих узлов. Например, для увеличения регистра необходимо (если это регистр хранения) объединить у нескольких корпусов вход синхронизации. Если число объединяемых регистров велико, то такое решение проблемы вызовет дополнительные проблемы с увеличением нагрузки на источник управляющих сигналов тактирования, поэтому, вероятно, придется использовать буферный элемент.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.