Научная статья на тему 'АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПЕРАЦИИ НАХОЖДЕНИЯ ОСТАТКА ЦЕЛОЧИСЛЕННОГО ДЕЛЕНИЯ ДЛЯ ВХОДНЫХ ДАННЫХ БОЛЬШОЙ РАЗРЯДНОСТИ В МОДУЛЯРНОЙ АРИФМЕТИКЕ'

АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПЕРАЦИИ НАХОЖДЕНИЯ ОСТАТКА ЦЕЛОЧИСЛЕННОГО ДЕЛЕНИЯ ДЛЯ ВХОДНЫХ ДАННЫХ БОЛЬШОЙ РАЗРЯДНОСТИ В МОДУЛЯРНОЙ АРИФМЕТИКЕ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
117
19
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМА ОСТАТОЧНЫХ КЛАССОВ / МОДУЛЯРНАЯ АРИФМЕТИКА / ПРЯМЫЕ ПРЕОБРАЗОВАТЕЛИ / ВЫЧЕТ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Соловьев Роман Александрович, Тельпухов Дмитрий Владимирович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Соловьев Роман Александрович, Тельпухов Дмитрий Владимирович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

HARDWARE IMPLEMENTATION OF OPERATION OF FINDING REMAINDER OF INTEGER DIVISION FOR HIGH DATA BIT INPUT

A study on different methods and algorithms for hardware implementation of a module for finding the remainder of the integer division has been conducted. An asynchronous implementation method that focuses on the large-scale input and large values of the divisor, which is based on the idea of decomposition of the source on the small parts, has been proposed. The series of the experiments have been conducted. The estimates of various methods effectiveness in speed, power and area have been obtained.

Текст научной работы на тему «АППАРАТНАЯ РЕАЛИЗАЦИЯ ОПЕРАЦИИ НАХОЖДЕНИЯ ОСТАТКА ЦЕЛОЧИСЛЕННОГО ДЕЛЕНИЯ ДЛЯ ВХОДНЫХ ДАННЫХ БОЛЬШОЙ РАЗРЯДНОСТИ В МОДУЛЯРНОЙ АРИФМЕТИКЕ»

х = д(шоёр) (или другая запись х = |д| ), т.е. требуется найти минимальное положительное число х такое, что Щ = рк + х для некоторого к .

Пусть ' = р\ +1, т.е. ' - это ближайшая сверху степень двойки или более строго - разрядность модуля р. Здесь и далее _ ] - операция округления вещественного значения до ближайшего целого снизу.

Проведем следующее преобразование:

q =

11 р

2

2 + Щ,

(1)

и обозначим и =

2'

- верхние {И —') бит числа д, V = |д|2, - нижние ' бит числа д . Перепишем формулу (1), воспользовавшись свойством вычета:

К = К ■ 2'„+К . (2)

Поскольку 2' 1 < р < 2' и V < 2', то отсюда следует что V < 2р, или

|, IV, если V < р,

V =1

р [V — р, если V > р .

Если {И — ') > ', то процесс разложения можно рекурсивно повторить, подставив вместо д число и. Так как количество бит уменьшается на каждой итерации, то процесс сходится.

Распишем формулу в общем виде после выполнения всех итераций. Пусть {к — 1)' < N < к', обозначим каждые ' бит числа д через хг, х2,..., х^:

01010...110110010110.

Хк Х2 Х1

Как несложно убедиться, общая формула (2) примет вид

Я =

х,„

2

(к—1)-'

+ х

к—1

(к—2)-'

+ ... + \Х0

2'

+ Х

(3)

Относительно полученной формулы отметим следующее:

1) коэффициенты

2(к—1)-' 2(к—2)-' 2'

р ' р ' '

могут быть рассчитаны заранее для за-

данного модуля и известной разрядности входных данных. Все эти константы меньше р в силу свойств вычета;

2) для расчета значений ^,..., \хк\ требуется аппаратный блок небольшого размера в силу простоты расчета;

3) выражение внутри финального модуля содержит к сложений, а значение выражения не превышает Г = к (р — 1)2;

4) для минимизации значения F можно использовать следующее свойство:

2(k-1)t = 2(k-1)t - p = P - P - 2(k-1)t

p p p

(4)

Пример. Дано 10-битное число X = 621, требуется найти его вычет по модулю р = 13 . Найдем ^ = [ёг Р_1 + 1 = 4 . Очевидно, что ответ также будет 4-битным и лежать в диапазоне от 0 до 12:

Хз Х2 X! 621=1001101101.

Перепишем формулу (3) для частного случая:

4з ' r L + Н13

21'4

+ FiL

13 1 1113

20'4

13

13

2l13 'I256l13 + N13 ' 1613 + 1313,13

К3 =

= |2 • 9 + 6 • 3 + 013 = 10.

Оценим максимальное значение F = х, • 9 + х7 • 3 + х . Значение Етса = 3 9 +

I 3 113 I 2 113 I 1113

+ 123 + 12 = 75, что соответствует 7 битам. Перепишем выражение, используя свойство (4): F = 13 -|х3| • 4 + |х2| • 3 + Х\13. В этом случае = 13 +12 • 3 +12 = 61, что соответствует 6 битам и позволит сократить аппаратные затраты.

Для разработки устройства необходимо обеспечить неотрицательное значение F при любых значениях х, х2, х3, поэтому при появлении вычитания в формуле необходимо компенсировать его некоторой константой кр. В данном примере константа равна 13, поскольку |х3| • 4 не превышает 12 в силу 2-битности х3.

Разработка аппаратной части. При разработке устройства можно исключить ис-

пользование затратных умножителей, представив произведения

xk\ 'I2'

(k-1)t

в виде

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

= 1. Кроме того, сокращение размеров таблиц достигается

для случаев, когда

2

(k -1)t

путем использования метода, основанного на свойстве периодичности модуля. Реализация интервального метода сводится к проверке: если q < р, то х = д, иначе х = д — р в силу того, что q < 2р . Эти оптимизации служат для сокращения площади занимаемой схемой. Приведем пример табличного и интервального методов для реализации операции взятия вычета на языке Уеп1о§НОЬ:

Табличный метод

module mod 13 4bit(inp, out); input [370]_inp; // [0; 15] output reg [3:0] out; always @(*)

begin

case(inp)

out <= 0 out <= 1 out <= 2

Интервальный метод

module mod 13 4bit(inp, out) input [3:0] inp; // [0; 15] output reg [3:0] out;

always @(*) begin

if (inp < 13) begin

out = inp;

p

p

3: out <= 3 4: out <= 4 5: out <= 5 6: out <= 6 7: out <= 7 8: out <= 8 9: out <= 9 10: out <= 10 11: out <= 11 12: out <= 12 13: out <= 0 14: out <= 1 15: out <= 2; default: out <= 0; endcase

end

endmodule

В общем случае, если коэффициент 2

end

else

begin

out

end end

endmodule

= inp

13;

(k-i)-i

незначительно больше 0 или незначи-

тельно меньше р, табличную реализацию можно заменять обобщенной интервальной

реализацией. Пусть

(k-1)t

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

= k. Введем промежуточную переменную y = k • \xk

В этом случае результат out =

x.

(к-l>t

можно записать как

out = <

y, если y < p, y - p, если y < 2p,

(5)

у - (п -1)р, если у < пр.

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

А В CD

Д4

Сложения |Сложение|

А В CD

Сложение Сложение ¡Сложение!

•*2

0| 1 0| 1 0 |—| 11 Т 0 1 1 1 | 0 | 0 1 | 01 11 1 | 0 I

П ИЗ

I Таблица к I ■•■• I | Таблица 1 \ \ Таблица 1 |

1

Пирамидальный сумматор по модулю р

Рис.1. Аппаратная реализация операции нахождения вычета

p

Метод аппаратной реализации операции нахождения вычета. Входными данными для метода являются значение модуля р и максимальное значение входных данных maxValue. На основе этих данных находят значения inputDataBit и outputDataBit, равные соответственно ближайшей сверху степени двойки для входных и выходных данных: inputDataBit = |_log2 max Value J +1, outputDataBit = |_log2 p\ +1. На вход модуля

поступает число inp, а на выходе требуется получить значение out .

Существует несколько вырожденных вариантов, которые в данной работе подробно не рассматриваются: max Value < p; inputDataBit < outputData Bit; p = 2n . Отметим, что реализация таких модулей тривиальна. Представляют интерес случаи, когда inputDataBit в несколько раз больше outputDataBit .

Рассмотрим алгоритм построения устройства, реализующего операцию нахождения вычета.

Шаг 1. Входные данные разбиваются на части по outputDataBit . Для каждой части

находят соответствующий коэффициент 2( )' , если 2(k-1)t = 0 то данная часть

'p

)(k-1)t

не влияет на окончательный ответ. В ином случае строят таблицу (или ее оптимизиро-

ванный аналог) для выражения res =

\xk\

I k I p

2

( k-1)t

В таблице очевидно будет

2outputiJatdBit записей, на выходе таблицы - значение, принадлежащее полуинтервалу

[0; р) .

Шаг 2. Все выходы со значащих таблиц группируются по парам и попарно подаются на сумматоры по модулю p. Выходы сумматоров снова группируются по парам и снова попарно подаются на сумматоры по модулю p . Процесс итеративно повторяется, формируя пирамиду сумматоров, и заканчивается, когда количество выходов остается равным 1. Если N - количество начальных входов, то всего будет |_log 2 (N -1)J уровней пирамиды.

Сумматор по модулю p реализуется на базе обычного сумматора с последующей редукцией полученного значения до полуинтервала [0; p). Поскольку на вход сумматорам подаются значения строго меньше p, то на выходе сумматора будет значение q < 2p . На выход подается значение q, если q < p или q - p если q > p .

Экспериментальные результаты. По результатам теоретических исследований написана программа-генератор, которая по заданной разрядности входных данных N и значению модуля p создает реализацию заданного модуля на языке Verilog [4]. Для построения модели устройства выбран маршрут проектирования цифровых ИС на основе библиотек стандартных ячеек. В маршруте используется: поведенческое описание устройства на языке Verilog HDL; средства логического синтеза Synopsys Design Compiler; средства статического временного анализа Synopsys Prime Time; библиотека стандартных ячеек Nangate Open Cell Library с проектными нормами 45 нм. Проверка корректности работы модуля велась с помощью ModelSim PE.

Проведена серия экспериментов. В первом эксперименте оценивалась скорость работы и площадь для табличного и интервального методов. Результаты приведены

xk

на рис.2. Как видно из рисунка, табличный метод всегда превосходит интервальный по скорости, но всегда уступает по площади. Этот факт позволяет строить аппаратную реализацию операции взятия остатка от деления более гибко: используя табличный метод, где нужна максимальная скорость, или заменяя таблицы интервалами, где требуется сократить площадь.

Рис.2 Сравнение табличного и интервального методов: а - аппаратные оценки

(—♦-площадь интервальная; ■ • ■ Я— площадь табличная), б - временные

оценки (—♦-задержка интервальная; ■ ■ • Ш—задержка табличная)

Во втором эксперименте исследовалась аппаратная реализация операции нахождения остатка целочисленного деления для 30-битных входных данных и простых модулей, находящихся в интервале от 100 до 500. Результат приведен на рис.3. Здесь параллельный метод - это предложенный метод с использованием таблиц. Итеративный метод - метод с использованием рекурсивного разложения модуля на несколько подмодулей меньшего размера с последующей интервальной реализацией. Систолический метод - конвейерный метод расчета остатка от деления [5], в котором требуется несколько тактов для расчета ответа. В данном случае на графике приведены временные оценки для одного такта и общее время на расчет ответа.

В третьем эксперименте исследовалась аппаратная реализация операции нахождения остатка целочисленного деления для 30-битных входных данных и сверхбольших модулей, случайно выбранных на интервале от 900 до 20000 (рис.4) (параллельный метод).

Рис.3. Реализация операции нахождения вычета для 30-битных входных данных и простых модулей в интервале от 100 до 500: а - временные оценки; б - аппаратные оценки; в - оценки мощности ( ♦

итеративныи,

-□- параллельный, -Д- систолический метод)

Для того чтобы оценить полученные результаты, посчитаны задержка, площадь и мощность 29-битного сумматора и 15-битного умножителя в рамках используемой в экспериментах библиотеки и симулятора. У обоих модулей выход имеет 30 бит. Результаты, полученные для сумматора: задержка 0,39 нс; площадь 524 мкм ; мощность 799 мкВт; для умножителя: задержка 1,81 нс; площадь 3058 мкм ; мощность 4623 мкВт.

Рис.4. Реализация операции нахождения вычета для 30-битных входных данных и сверхбольших модулей: а - временные оценки; б - аппаратные оценки; в - оценки мощности

Экспериментальные результаты показали, что эффективная реализация операции вычета (с очень быстрым таймингом) возможна фактически для любого сочетания входных данных и размера модуля, при этом возникает значительное увеличение аппаратных затрат в случае, если модуль очень большой (~2000 и выше). Проблему с площадью можно частично решить следующими способами: 1) используя интервальный метод вместо таблиц; 2) используя периодичность таблиц для сокращения их размера; 3) выбирая модули, близкие к степени двойки.

Литература

1. Акушский И.Я., Юдицкий Д.И. Машинная арифметика в остаточных классах. - М.: Сов. Радио, 1968. - 440 c.

2. Amos Omondi, Benjamin Premkumar. Residue Number Systems: Theory and Implementation. -2007. - 311 с.

3. Устройство для вычисления по модулю // Патент РФ на полезную модель №103010, патентообладатель ИППМ РАН. - 2011.

4. Ken Kundert (Author), Olaf Zinke (Author). The Designer's Guide to Verilog-AMS (The Designer's Guide Book Series). - 2004. - 270 с.

5. Амербаев В.М., Балака Е.С., Константинов А.В., Тельпухов Д.В. Методы построения прямых преобразователей модулярной логарифметики, ориентированных на ЦОС // Сб. научн. тр. IV Всерос. науч.-техн. конф. «Проблемы разработки перспективных микро- и наноэлектронных систем - 2010» / Под общ. ред. А.Л. Стемпковского. - М.: ИППМ РАН, 2010. - С. 374-377.

Статья поступила 6 августа 2012 г.

Соловьев Роман Александрович - кандидат технических наук, заведующий отделом методологии вычислительных процедур ИППМ РАН. Область научных интересов: информационные и вычислительные технологии, компьютерная арифметика, системы автоматизированного проектирования БИС.

Тельпухов Дмитрий Владимирович - аспирант ИППМ РАН. Область научных интересов: информационные и вычислительные технологии, компьютерная арифметика, системы автоматизированного проектирования БИС. E-mail: NoFrost@inbox.ru

Книжные новинки

Абрамов А.А. Методические вопросы преподавания физики в вузах. Методические заметки по преподаванию курса общей физики в вузах с примерами решения задач. - Palmarium Academic Publishing (Германия), 2012.

/

/ д

Методические вопросы преподавания физики в вузах

Методические замети т: преподаванию курса общей фиэинп а еуза* о примерам« решения задач

В книге рассмотрено значительное количество методических вопросов, касающихся практически всех разделов физики, изучаемых в технических высших учебных заведениях. Книга отражает многолетний опыт преподавания автором курса общей физики в Московском институте электронной техники (МИЭТ). Она состоит из нескольких разделов. В первом представлены методические заметки, связанные с решениями различных физических задач. Эти заметки сопровождаются большим количеством задач по физике (115 задач) с подробными решениями. Многие из рассмотренных задач предлагались студентам МИЭТ на олимпиадах по физике. В следующих разделах книги представлены несколько статей автора, в которых обсуждаются некоторые принципиальные вопросы физики, а также проблемы преподавания этих вопросов на лекциях и семинарах. Среди этих вопросов - энергия и закон ее сохранения в электромагнетизме, понятие массы в специальной теории относительности и другие.

УДК 621.398.4.67

Оценка показателей надежности вычислительных устройств с трехкратным мажорированием при отказах и сбоях

А.А. Шишкевич

Национальный исследовательский университет ««МИЭТ»

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

Ключевые слова: мажорирование, отказ, сбой, вероятность безотказной работы, наработка на отказ.

При проектировании высоконадежных, например, аэрокосмических информационно-управляющих вычислительных систем реального времени (ИУВС РВ) широко применяется мажорирование как способ резервирования [1, 2, 3], а в последнее время - и такой относительно новый подход к проблеме резервирования как кворумирование [4]. В литературе приведены оценки показателей надежности мажорированных и кворуми-рованных ИУВС РВ, но лишь при учете катастрофических отказов [1, 2, 3], и не известны оценки этих показателей при одновременном учете катастрофических отказов и сбоев. Однако в реальных условиях сбои, как правило, существенно влияют на показатели надежности. В работе [5] предпринята попытка оценить показатели надежности (вероятность безотказной работы и наработка на отказ) для одного из способов введения аппаратурной избыточности для повышения надежности систем, а именно квору-мированных ИУВС РВ, при учете не только катастрофических отказов, но и сбоев (как правило, кратковременных самовосстанавливающихся отказов) элементов системы.

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

Структурная и надежностная схемы вычислительного устройства (ВУ) с трехкратным мажорированием упрощенно представлены на рис.1. Здесь ФМ - нерезервированный (неизбыточный) функциональный модуль, на вход которого поступает исходная (неискаженная) информация в двоичной форме,

© А.А. Шишкевич, 2013

Рис.1. Структурная (а) и надежностная (б) схемы ВУ с трехкратным мажорированием

i Надоели баннеры? Вы всегда можете отключить рекламу.