Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Конвейерно-модулярные вычислительные структуры с настраиваемой логикой для арифметических вычислений Федюнин Роман Николаевич

Конвейерно-модулярные вычислительные структуры с настраиваемой логикой для арифметических вычислений
<
Конвейерно-модулярные вычислительные структуры с настраиваемой логикой для арифметических вычислений Конвейерно-модулярные вычислительные структуры с настраиваемой логикой для арифметических вычислений Конвейерно-модулярные вычислительные структуры с настраиваемой логикой для арифметических вычислений Конвейерно-модулярные вычислительные структуры с настраиваемой логикой для арифметических вычислений Конвейерно-модулярные вычислительные структуры с настраиваемой логикой для арифметических вычислений Конвейерно-модулярные вычислительные структуры с настраиваемой логикой для арифметических вычислений Конвейерно-модулярные вычислительные структуры с настраиваемой логикой для арифметических вычислений Конвейерно-модулярные вычислительные структуры с настраиваемой логикой для арифметических вычислений Конвейерно-модулярные вычислительные структуры с настраиваемой логикой для арифметических вычислений
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Федюнин Роман Николаевич. Конвейерно-модулярные вычислительные структуры с настраиваемой логикой для арифметических вычислений : дис. ... канд. техн. наук : 05.13.05 Б. м., 2006 279 с. РГБ ОД, 61:07-5/1044

Содержание к диссертации

Введение

1. Современные методы и способы реализации высокоскоростных арифметических вычислений 10

1.1 Анализ влияния способов представления числовых данных на скорость арифметических вычислений и объем аппаратных затрат 14

1.2. Структурно-аппаратные способы повышения быстродействия АЛУ 19

1.3 Способы оценки производительности и эффективности вычислений функциональных блоков АЛУ 31

1.4 Выводы по главе 53

2. Однородные конвейерно-модулярные сумматоры с настраиваемой логикой . 55

2.1 Марковские модели алгоритмов арифметического сложения чисел с фиксированной точкой и пути повышения скорости вычислений 55

2.2 Однородные модулярно-конвейерные сумматоры с настраиваемой логикой 72

2.3 Экспериментальное моделирование однородного модулярно-конвейерного сумматора с настраиваемой логикой 78

2.4 Выводы по главе 84

3. Однородные конвейерно-модулярные устройства умножения с настраиваемой логикой 85

3.1 Марковские модели алгоритмов арифметического умножения чисел с фиксированной точкой и пути повышения скорости вычислений 85

3.2 Однородные модулярно-конвейерные устройства умножения с настраиваемой логикой 107

3.3 Экспериментальное моделирование однородного модулярно- конвейерного устройства умножения с настраиваемой логикой 116

Выводы по главе 122

4. Однородные конвейерно-модулярные устройства деления с настраиваемой логикой 123

4.1 Марковские модели алгоритмов арифметического деления чисел с фиксированной точкой и пути повышения скорости вычислений 123

4.2 Однородные модулярно-конвейерные устройства деления с настраиваемой логикой 138

4.3 Экспериментальное моделирование однородного модулярно- конвейерного устройства деления с настраиваемой логикой 147

Выводы по главе 158

Заключение 160

Список литературы 162

Введение к работе

Актуальность проблемы. Создание фирмой Intel первого микропроцессора в 1971 году положило начало эпохе всеобщей компьютеризации. «Благодаря микропроцессорам компьютеры стали массовым, общедоступным продуктом», - заявил Тед Хофф, один из изобретателей первого микропроцессора [54]. В микропроцессорах - наиболее сложных микроэлектронных устройствах, воплощены самые передовые достижения научной и инженерной мысли.

За чуть более чем четвертьвековую историю микропроцессоры прошли поистине гигантский путь. Первый чип Intel 4004 работал на частоте 750 КГц, содержал 2300 транзисторов и стоил около $200. Производительность его оценивалась в 60 тыс. операций в секунду. На сегодняшний день тактовая частота процессоров превысила 2 ГГц, количество транзисторов более 50 млн., пиковая производительность более 7 млрд. операций в секунду. Но и это еще не предел. К 2009 году прогнозируется достигнуть технологии, при которой количество транзисторов на кристалле составит порядка 10-10. Что практически вплотную подходит к технологическому пределу современной технологической базы [34].

Выше сказанное объясняет поиск ведущими мировыми фирмами производителями (Intel, AMD, HP, IBM) путей увеличения производительности за счет разработки, как новых технологий изготовления кристалла, так и за счет повышения качества и количества устройств в микропроцессоре, в частности увеличение количества конвейеров, размеров КЭШ, количества исполняемых устройств (сумматоров, умножителей и.т.д.) в АЛУ - это количественные показатели; качественные, в свою очередь, предполагают разработку новых алгоритмов реализации функциональных блоков процессора и в первую очередь - арифметико-логического блока. Что в свою очередь предполагает возврат к фундаменту микропроцессорной техники - машинной арифметике,

5 данная тенденция широко прослеживается в потоке диссертационных работ и публикаций, ведущих ученых запада - М. Флинн, С. Оберман и.т.д[1],[2], [79],[80],[81],[86],[90].

Анализ данных работ показывает что, несмотря на глубину проработки вопроса организации арифметико-логических блоков, остается еще много неизученных проблем. В частности - способность организации АЛУ на динамических функциональных блоках [12], а не статических, как это сделано практически во всех современных микропроцессорах и возможность использования эффективной системы счисления для ускорения выполнения операций в функциональных блоках АЛУ, в частности, системы счисления в остаточных классах [24].

Цель диссертационной работы состоит в исследовании и разработке вычислительных структур и устройств с настраиваемой архитектурой для выполнения массовых арифметико-логических операций над числами высокой разрядности при условии высокой скорости и большого объема входного потока данных.

Для достижения поставленной цели решаются следующие задачи:

Исследование способов организации вычислений с фиксированной точкой в современных арифметико-логических устройств АЛУ и повышения их быстродействия.

Исследование способов выполнения арифметических операций над двоичными числами с фиксированной точкой в позиционных системах счисления и системах счисления в остаточных классах, используемых в АЛУ со статической и динамически настраиваемой архитектурой.

Исследование организации вычислительных процессов и влияния структурно-схемотехнических особенностей однородных и гетерогенных вычислительных структур с динамически настраиваемой и статической архитектурой при выполнении массовых арифметико-логических операций над числами с фиксированной точкой в позиционных и непозиционных системах счисления.

Исследование способов организации вычислительных процессов и разработка методик формальной оценки аппаратной и временной сложности реализации массовых арифметико-логических вычислений в однородных и гетерогенных вычислительных структурах различного типа.

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

Объектом исследования диссертационной работы являются арифметико-логические вычислительные структуры, их быстродействие и способы уменьшения аппаратных затрат на уровне структурно-схемотехнических реализаций, способы выполнения арифметических и логических операций над двоичными числами с фиксированной точкой.

Предметом исследования являются способы ускоренного выполнения арифметических и логических операций над массивами чисел с фиксированной точкой, способы организации однородных вычислительных структур для массовых арифметико-логических вычислений, способы оценки их аппаратной сложности и способы оценки скорости вычислений для операций массового сложения, умножения и деления чисел большой разрядности в формате с фиксированной точкой.

Методы исследования основаны на использовании положений дискретной математики, теории марковских процессов, теории математического моделирования, методов экспериментального моделирования цифровых устройств и систем.

Научная новизна диссертационной работы в целом заключается в разработке способов организации конвейерных вычислений в двумерных однородных вычислительных структурах с динамически и статически настраиваемой логикой, а именно:

1. Предложена модель организации АЛУ с настраиваемой логикой, отличающаяся от известных тем, что за счет динамической настройки элементов операционной однородной вычислительной среды обеспечивается возможность конструирования необходимых комбинаций конвейерных исполнительных устройств для потокового выполнения наборов однотипных арифметических инструкций.

2. Предложены конвейерно-модулярные однородные вычислительные структуры с настраиваемой логикой для выполнения потока операций с фиксированной точкой в системах счисления в остаточных классах, для: арифметического сложения; эта структура отличается от известных тем, что при 64-128-разрядном представлении чисел скорость вычислений увеличивается в среднем в 3-13 раз при одновременном сокращении аппаратных затрат в среднем в 2-18 раз, арифметического умножения; структура отличается от известных тем, что при 64-128-разрядном представлении чисел скорость вычислений увеличивается в среднем в 3-12 раз при одновременном сокращении аппаратных затрат в среднем в 4-18 раз. арифметического деления; структура отличается от известных тем, что при 64-128-разрядном представлении чисел скорость вычислений увеличивается примерно в 2 раза при одновременном сокращении аппаратных затрат в среднем в 2-6 раз.

3. Получена методика формальной оценки временной и аппаратной сложности реализации арифметико-логических операций с фиксированной точкой в однородных вычислительных структурах, отличающаяся от ранее известных тем, что результаты оценки инвариантны относительно топологии вычислительной среды и используемого способа представления чисел. Достоверность полученных теоретических оценок по предлагаемой методике подтверждается совпадением с результатами экспериментального моделирования вычислительных структур различного типа.

8 Практическая ценность работы заключается в разработке способов организации однородных вычислительных структур с настраиваемой логикой, способов организации конвейерных арифметических вычислений в базисе систем счисления в остаточных классах, а также способов оценки сложности реализации вычислений. Полученные результаты позволяют при технической реализации таких структур получить более высокую скорость вычислений при меньших аппаратных затратах по сравнению с аналогами.

Реализация и внедрение. Диссертация является теоретическим обобщением научно-исследовательских работ, выполненных автором в ГОУ ВГТО ПТУ и ФГУП ПНИЭИ. Теоретические результаты работы применены при выполнении ОКР «Трамплин-АС» в ФГУП ПНИЭИ, о чем имеется акт внедрения. Достоверность полученных теоретических оценок подтверждается совпадением с результатами экспериментального моделирования вычислительных структур различного типа, проведенного в рамках ОКР «Трамплин-АС» в ФГУП ПНИЭИ.

По результатам исследований предложены технические решения, защищенные патентами на изобретение РФ [72], [73].

Основные научные положения, выносимые на защиту:

1. Модель арифметико-логического устройства с настраиваемой логикой.

2.Конвейерно-модулярная однородная вычислительная структура с настраиваемой логикой для выполнения потока операций арифметического сложения двоичных чисел с фиксированной точкой в системах счисления в остаточных классах.

З.Конвейерно-модулярная однородная вычислительная структура с настраиваемой логикой для выполнения потока операций арифметического умножения двоичных чисел с фиксированной точкой в системах счисления в остаточных классах.

4.Конвейерно-модулярная однородная вычислительная структура с настраиваемой логикой для выполнения потока операций арифметического

9 деления двоичных чисел с фиксированной точкой в системах счисления в остаточных классах.

5. Методика формальной оценки временной и аппаратной сложности реализации арифметико-логических операций с фиксированной точкой в однородных вычислительных структурах.

Апробация работы. Результаты работы обсуждались и докладывались на: VI Международной научно-технической конференции «Новые информационные технологии и системы», 2004, ПГУ, г. Пенза; научно-технической конференции «Специальная техника средств связи», 2004, ФГУП ПНИЭИ, г. Пенза; Всероссийской научной конференции молодых ученых «Наука, Технологии, Инновации», 2004, НГТУ, г. Новосибирск; X Всероссийской НТК студентов молодых ученых и специалистов, 2005, Рязанская гос. радиотехническая академия, г. Рязань; конференции «Антикризисное управление в России в современных условиях», 2005, МГТУ им. Баумана, г.Москва; 1-м Международном форуме «Актуальные проблемы современной науки», 2005, СГТУ, г. Самара.

Публикации. Основные результаты диссертационной работы опубликованы в 7 статьях, 8 сборниках тезисов докладов. По материалам работы получено два патента на изобретение РФ [72], [73].

Структура и объем работы. Диссертационная работа состоит из введения, четырех глав, заключения, списка литературы, включающего 136 наименований и четырех приложений. Основная часть работы изложена на 160 страницах машинописного текста. Работа содержит 76 рисунков и 36 таблиц.

Структурно-аппаратные способы повышения быстродействия АЛУ

Традиционным способом аппаратного повышения быстродействия двоичных позиционных сумматоров является повышение скорости распространения межразрядных переносов [41], [42], [51], [52]. Однако при проектировании схем ускорения переносов необходимо учитывать и аппаратные затраты. Например, в сумматорах с групповым последовательным переносом, наличие дополнительной ускоряющей цепи удваивает затраты оборудования. Сегодня существуют сумматоры с параллельным переносом, в которых операция сложения выполняется как поразрядная операция и на распространение переноса не требуется дополнительного времени. Но, как показывает практика, затраты оборудования на построение сумматора такого типа, особенно при большом числе разрядов, настолько велики, что этот подход практически не находит применения [79]. Логическими путями повышения быстродействия суммирующих устройств является использование операций анализа слагаемых, для принятия решения о включении суммирующего тракта или нет. Так, если хотя бы одно из слагаемых равно нулю, то вместо операции сложения может выполнить прямое занесение второго слагаемого в регистр результата [91]. Наиболее распространенные примеры реализации суммирующих устройств АЛУ [42], [92], [95] приведены в приложении А (стр. 139 - 143). Отметим лишь то, что большинство решений основано на вычислениях в двоичных позиционных системах счисления.

Способы повышения скорости вычислений при выполнении операций арифметического умножения можно разделить на аппаратные и алгоритмические [115], [116]. Аппаратные методы ускорения выполнения операции умножения основаны на следующем: . 1. Повышение скорости выполнения операций сложения и сдвига; 2. Использование при выполнении операций умножения операций прямого вычитания; 3. Использование дополнительных цепей сдвига. Для однотактного сдвига в регистрах сразу на несколько разрядов; 4. Временное совмещение операций сложения и сдвига. Уместно отметить, что при использовании аппаратных методов, затраты операционной части оборудования прямо пропорциональны количеству разрядов чисел в арифметическом устройстве [117].

Для реализации логических методов ускорения умножения, позволяющих за один такт обрабатывать несколько разрядов множителя, необходимо использование в регистрах дополнительных цепей, предназначенных для сдвига множителя и частичных произведений (или множимого) сразу на количество разрядов, обработанных на данном шаге умножения.

Совмещение по времени операций сложения и сдвига может быть достигнуто выбором не только метода умножения, но и схемы сумматора. В сумматорах комбинационного и комбинационно-накапливающего типов можно формировать в каждом разряде сумматора сигналы суммы и инверсии суммы, и результат сложения при необходимости передавать не в данный, а в соседний разряд. Введением дополнительных схем передачи результата суммирования в регистр суммы можно совмещать сложение со сдвигом сразу на несколько разрядов [79].

Логические методы ускорения умножения делятся на две группы [97]: 1) методы, позволяющие уменьшить количество суммирований в ходе умножения; 2) методы, позволяющие за шаг умножения обработать несколько разрядов множителя. Реализация этих методов требует введения в регистры дополнительных цепей сдвига. В свою очередь методы ускорения умножения, с обработкой за шаг нескольких разрядов множителя, делятся на синхронные и асинхронные [105]. Синхронные методы характеризуются тем, что на каждом шаге умножения обрабатывается фиксированное число разрядов множителя (длина шага умножения постоянна).

При реализации асинхронных методов ускорения умножения количество разрядов множителя, обрабатываемых на шаге умножения, зависит от комбинации разрядов множителя, исследуемых на данном шаге (длина шага умножения переменна).

На настоящий момент наиболее популярны методы логического ускорения умножения Лемана [106], Бута [3], [4] и Мак-Сорли [Ш]. Метод Лемана является логическим способом повышения быстродействия. Тесты и теоретические оценки показывают, что при таком способе умножения даже при наиболее неблагоприятном сочетаний цифр множителя количество суммирований равно п/2, где п — число разрядов множителя: В среднем же количество суммирований для «-разрядного множителя равно п/3 [28] (более подробно метод Лемана приведен в приложение А на стр. 144 -стр 147). Следует отметить, что при использовании некоторых аппаратных методов ускорения умножения сокращение количества операций суммирований может не привести к уменьшению времени умножения [106]. Например, если в АУ реализован сумматор с запоминанием переносов и сложение в сумматоре совмещено по времени со сдвигом, то время умножения определяется числом сдвигов (количеством разрядов множителя) и уменьшение суммирований не приводит к сокращению времени умножения.

Более эффективны логические методы ускорения с обработкой за шаг умножения нескольких разрядов множителя - алгоритм Бута и алгоритм Мак-Сорли (более подробно данные методы представлены в приложение А на стр. 147 - 156). Но при сокращении числа суммирований, данные виды множителей требуют некоторого увеличения аппаратных затрат по сравнению с классическим методом умножения.

В некоторых случаях используют асинхронные методы ускорения умножения, в которых при появлении отдельных комбинаций исследуемых разрядов множителя (например, требующих добавления утроенного множимого) обрабатывается только часть разрядов исследуемой комбинации[ 105]. Асинхронные методы ускорения умножения требуют введения в сумматор и регистр множителя нескольких дополнительных цепей сдвига, так как количество обрабатываемых разрядов множителя, а следовательно, и длина сдвига на шаге умножения, переменны. Однако при асинхронных методах ускорения можно организовать умножение с использованием легко получаемых чисел кратных множимому или умножение с использованием только одинарного множимого [105].

Дополнительные затраты оборудования при реализации логических методов ускорения умножения не зависят от разрядности арифметического устройства. Усложняется в основном схема управления арифметическим устройством. В вычислительных машинах для ускорения умножения часто используют комбинации этих методов [97].

Однородные модулярно-конвейерные сумматоры с настраиваемой логикой

Предположим, что одна ячейка ОВС - это единица аппаратных затрат на реализацию ОВС, при соблюдении следующих условий: 1. Операционные части исследуемых ОВС выполняет однотипные операции. 2. Настройка операционной среды выполняется устройством управления ОВС, а ход выполнения операции в ОЧОВС определяется промежуточными значениями данных обрабатываемых в ОЧОВС. При выполнении данных условий, можно подсчитав число ячеек требуемых для выполнения ОЧОВС той или иной операции рассчитать ее аппаратные затраты, без учета аппаратных затрат на реализацию устройства управления. Для количественной оценки аппаратных затрат на реализацию операционной части ОВС в позиционной системе счисления и СОК отметим особенности организации ОВС в данных системах счисления. Как показано в исследованных работах [13] - [17] ОВС для реализации арифметических операций в позиционной системе счисления представляет собой матрицу N на N, где N - количество столбцов и строк операционной части ОВС необходимое для реализации требуемой операции и разрядность обрабатываемых данных. Операционная часть ОВС в СОК представляет собой матрицу N на М, где N -количество строк матрицы и разрядность данных, а М - количество столбцов матрицы операционной части ОВС в СОК, где М N, это связано со спецификой выполнения операций в модулярной арифметике [24], так после выполнения операции в СОК, возможна коррекция результата, максимальное число тактов коррекции два [24], таким образом, на каждьш столбец матрицы в позиционной ОВС приходится три столбца в ОВС в СОК, но если рассматривать число строк ОЧОВС, которое в обоих случаях равно разрядности данных, то получим, что ОВС для СОК обрабатывают данные разрядностью не более 7 бит [24], при условии, что исходные данные имели разрядность не более 128 разрядов включительно, при этом Акушский [24] доказал и показал на примере, что возможно совмещение в одном столбце как обработки данных так и коррекции результата, т.о. полноценная обработка данных при корректном размещении связей внутри столбца конвейера и между его столбцами дает нам М = N (аналогичный пример оптимизации работы конвейера показан в позиционной ОВС запатентованной Князьковым В.С.[13]). Если разрядность исходных данных превышает 128 разрядный диапазон, то для их обработки требуется ОЧОВС для СОК 8 и более разрядов [24], [117]. Из сказанного получается или одна большая матрица в позиционной системе счисления или набор небольших матриц, каждая из которых работает с данными по конкретному модулю (рис. 1.17 и 1.18). Аппаратные затраты на реализацию операционной части ОВС в позиционной системе счисления и ОВС в СОК рассчитываются из следующих соображений .

Для матриц ОЧОВС реализации в СОК выражение для расчета аппаратной сложности зависит от разрядности исходных данных. Так для реализации ОЧОВС в СОК для работы с 8 разрядными данными требуется одна матрица ОЧОВС по модулю 2 и одна матрица ОЧОВС по модулю 7. Число и разрядность ОЧОВС для работы с данными той или иной разрядности рассчитывается путем деления максимально возможного числа заданной разрядности на модули СОК, начиная с самого большого модуля на который возможно поделить требуемое число. Итерационный процесс деления на рабочие модули СОК, прекращается при условии, что полученный остаток меньше двух, т.к. два - минимальный рабочий модуль системы остаточных классов [24]. Данная методика подсчета количества матриц ОЧОВС требуемых для организации модульных вычислений и их размерность применима для данных с любой разрядностью. Отметим, что для выполнения арифметических операций по заданному модулю возможно применение нескольких матриц одной размерности, так для организации 32-разрядных вычислений требуется четыре 7-разрядные матрицы, каждая из которых настроена на работу с индивидуальным модулем .

Однородные модулярно-конвейерные устройства умножения с настраиваемой логикой

При однократной и результативной реализации процесса вычислений, временная сложность алгоритма умножения в СОК, определяется по методике оценки сложности процессов с ветвлениями, для чего решается система уравнений 1.15, при do=l и вероятностях Ру (таблица ЗЛО). Средняя временная сложность Q однократной и результативной реализации процесса определяется как сумма di - Q = dk (таблице ЗЛО), а средняя временная сложность массивных вычислений Qmas определяется произведением средней временной сложности Q однократной и результативной реализации процесса на к-\ количество данных в массиве Qmas = N- dk, где N - количество данных в массиве. Сравнительный анализ, представленный на рис. 3.6 показывает, что даже при использовании чисел СОК соизмеримых по числу разрядов с позиционными данными (этот факт фиксируется синим столбцом под номером 1 и красным столбцом под номером 5 на рис. 3.6), производительность математической модели СОК выше позиционной математической модели на 15% (при обработке данных в СОК множителями по модулю 5 и меньше) или соизмерима с производительностью с производительностью позиционной математической модели (при обработке данных в СОК множителями по модулю 7).

Отметим, что представленные на рис. 3.6 блоки В иллюстрируют прямопропорциональное возрастание сложности вычислений позиционного алгоритма умножения в ОВС с возрастанием разрядности данных, чего не наблюдается в математической модели СОК. Зависимость вычислительного процесса СОК от разрядности данных представлена на рис. 3,6 блоками А. Таким образом, реализация конвейерных и параллельных вычислительных систем на базе СОК является перспективной задачей.

Система уравнений определения временной сложности алгоритма умноженияв СОК 2 Временная сложность алгоритма умножения ОВС при N = 8 Временная сложность алгоритма умножения ОВС при N=16 Временная сложность алгоритма умножения ОВС при N = 32 Временная сложность алгоритма умножения ОВС при N = 64 .

Режим настройки ОВС на работу по заданному модулю решает задачу настройки ОВС на работу с заданным модулем, для чего используется логика И, расположенная между соседними столбцами. Для настройки рабочего модуля среды на управляющие входы YpYn И логики подается вектор, единичные биты которого включают канал коррекции SHDOUT - CORR промежуточных и конечного результата. Пример настройки вычислительной среды на работу с модулем 5ю показан на рис. 3.9, для чего достаточно подать активный сигнал «1» на Y1 И логики каждого столбца (выделены красным цветом), в результате каждый столбец, будет представлять собой полный сумматор для работы с заданным модулем.

Режим загрузки данных в триггер ЯОС ОВС решает задачу загрузки в триггеры ЯОС ОВС требуемого числа. Для чего на группу информационных входов АрАп первого столбца подается вектор данных необходимых для загрузки, причем младший бит данных подается на вход А первой ячейки первой строки, первого столбца, а на управляющий вход LOAD подается активный сигнал «1», в результате данные с группы входов Ар An первого столбца считываются в триггеры ОВС по каналам А - LOAD_OUT. Пример выполнения данной операции показан на рис. ЗЛО, в данном примере во все ячейки ОВС требуется загрузить вектор данных 1102 , который подается на информационные входы А1 - A3 ОВС, далее устанавливается активный управляющий сигнал LOAD, равный «1», в результате по каналам А -LOAD_OUT биты вектора фиксируются в соответствующих триггерах ЯОС ОВС.

Однородные модулярно-конвейерные устройства деления с настраиваемой логикой

Структурная схема ФБ деления в СОК. В представленном на рис. 4.6 устройстве вычислительные блоки - Блок А и Блок В являются набором матриц с клеточной топологией (рис. 4.8), в которых выполняется процесс деления делимого и делителя по заданным модулям. Данные в блоки поступают по шинам данных А и В, разрядность которых определяется модулями по которым работают вычислительные матрицы. Управляющий сигнал «Конец итерации» определяет зависимость вычислительного процесса в Блоке А от результата вычислений в Блоке В, по алгоритму рассмотренному в первой главе - как только результат в Блоке В станет равным 1 - в Блок А требуется подать сигнал «Конец итерации». Устройство управления предназначено для контроля вычислительного процесса в Блоке В и Блоке А и однозначного определения промежуточного результата деления, так как операция деления требует дополнительных характеристик числа, для однозначного определения частного - характер числа и след числа, данные характеристики в данном примере определяет устройство управления. Корректор - устройство формирования промежуточного частного и анализа продолжения или окончания процесса деления, как видно из рис. 4.6 шина данных промежуточного частного при условии что деление не завершено передает промежуточное частное в Блок А для выполнения следующей итерации деления. Функционально корректор представляет собой набор сумматора - вычитателя и умножителя, устройство и функционирование которых было подробно рассмотрено выше. Сумматор-накопитель складывает поступающие к нему промежуточные частные, тем самым, накапливая конечный результат, который поступает на шину данных «РЕЗУЛЬТАТ», после подачи управляющего сигнала «Конец деления». Функционально сумматор - накопитель представляет собой сумматор -вычитатель, рассмотренный выше.

Основными режимами работы ОЧД структуры являются: режим загрузки, режим выполнения арифметических операций. Режим загрузки решает задачу загрузки в столбцы вычислительной структуры числа, биты которого размещаются триггерах ячеек каждого из столбцов ОЧД. Для настройки структуры на данный режим работы на управляющие входы lrln ОЧД, где п - количество столбцов в ОЧД подается активный сигнал, равный «1», данные которые требуется загрузить в триггеры ячеек структуры, подаются на информационные входы аг ап первой строки, причем самый младший бит подается на вход а первой ячейки первого столбца первой строки. В результате данные поданные на группу входов аг ап первой строки считываются в триггеры ячеек структуры. Система логических функций, реализуемая каждой ячейкой вычислительной структуры в данном режиме приведена в табл. 4.9.

В данном примере выполняется загрузка вектора 1112 в ячейки ОЧД, для чего на входы а,- ап первой строки подается вектор данных, а на управляющих входы lj-l„ сформировали активный сигнал «1», в результате данные с группы входов аг ап первой строки были записаны в ячейки ОЧД.

Режим выполнения арифметических операций выполняет операцию арифметического деления чисел по заданному модулю, при этом следует учесть, что предварительно ОЧД была настроена на работу по заданному модулю предыдущим режимом работы среды, т.е. произведена загрузка кода модуля во все ячейки ОЧД, с помощью которого будет производиться коррекция делимого.

Для работы в данном режиме на информационные входы агап первого столбца ОЧД подается вычет по соответствующему модулю, если вычет по младшему модулю (mod 2) равен 0 - то в целом рассматриваемое число четное и деление возможно, а значит, на управляющий вход DIV рассматриваемой ОЧД подается активный сигнал «1», далее логикой И-ИЛИ на входе каждого столбца ОЧД осуществляется проверка на четность конкретного вычета и если он нечетен, о чем свидетельствует единица в самом младшем бите вычета подаваемого на вход А первой ячейки первого столбца первой строки, то вырабатывается управляющий сигнал CORR и даннвій вычет складывается с рабочем модулем, который хранится в триггерах столбца ОЧД, полученные данные снова проходят проверку и если они четные то производится деление на 2, в рассматриваемой реализации это осуществляется сдвигом по информационным каналам A-SH_OUT_SH-SO, полученный результат деления отправляется на входы А очередного столбца ОЧД и в устройство управления, которое по полученному результату определяет его характер и след - а исходя из данных параметров и четность результата, откуда значение по модулю 2 будет равно 0 - результат четный или 1 - результат нечетный, если результат четный повторяем процедуры описанные выше, иначе осуществляется коррекция числа - из него вычитается 1, для получения четного числа. Единица коррекции подается на входы В соответствующего столбца. Операция деления в Блоке В продолжается до получения «1» в ОЧД по каждому модулю, что формирует управляющий сигнал «Конец итерации» и завершает очередной процесс деления в Блоке А, итерации деления в Блоках А и В, продолжаются до получения конечного результата, о чем сигнализирует сигнал управления корректора «Конец деления».

Похожие диссертации на Конвейерно-модулярные вычислительные структуры с настраиваемой логикой для арифметических вычислений