Научная статья на тему 'Способ и устройство прямого параллельно-конвейерного преобразования чисел с плавающей точкой в модулярнологарифмических формат[1]'

Способ и устройство прямого параллельно-конвейерного преобразования чисел с плавающей точкой в модулярнологарифмических формат[1] Текст научной статьи по специальности «Математика»

CC BY
54
7
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
СИСТЕМА ОСТАТОЧНЫХ КЛАССОВ / RESIDUE NUMBER SYSTEM / ЛОГАРИФМИЧЕСКАЯ СИСТЕМА СЧИСЛЕНИЯ / LOGARITHMIC NUMBER SYSTEM / ИНТЕРПОЛЯЦИЯ / INTERPOLATION / ТОЧНОСТЬ / ACCURACY / ПОЛИНОМ / POLYNOMIAL / МОДУЛЯРНО-ЛОГАРИФМИЧЕСКАЯ СИСТЕМА СЧИСЛЕНИЯ / MODULAR-LOGARITHMIC NUMBER SYSTEM

Аннотация научной статьи по математике, автор научной работы — Осинин Илья Петрович

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

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

METHOD AND DEVICE OF DIRECT PARALLEL-PIPELINED TRANSFORMATION OF NUMBERS WITH FLOATING POINT IN MODULAR-LOGARITHMIC FORMAT

The article is part of the complex of works on solving one of the main problems of the residual number system (RNS) the complexity of performing arithmetic operations on the field of real numbers. The purpose of this study is to increase the speed and formalization of the operation of converting floating-point numbers into a modular-logarithmic number system that combines the advantages of a system of residual number system and a logarithmic number system. The object of the study is the method of performing this operation. The subject of the study is a parallel-pipelined device that implements the proposed method. The study was carried out using the theory of computer design and systems, methods and means of experimental analysis of computers and systems. The result is a hardware parallelpipelined organization of the device, which has a high processing speed of the operands. The proposed circuit implementation of a two-level code converter after filling the computational pipeline allows the calculation result to be obtained every clock cycle of the device, which ensures high speed, which is necessary not only during the conversion of numbers, but also for arithmetic operations, summation and subtraction in the modular logarithmic system.

Текст научной работы на тему «Способ и устройство прямого параллельно-конвейерного преобразования чисел с плавающей точкой в модулярнологарифмических формат[1]»

трлн м - на море. Особенность их географического размещения заключается в том, что 78% находится в пределах Западно-Сибирского региона, 10% в Европейской части РФ, а в Восточной Сибири и на Дальнем Востоке 4% [3,4].

По данным Американского Института Нефти, 95 % доступных источников нефти в мире будут исчерпаны в ближайшие 56 лет, оставшиеся 5 % иссякнут через 88 лет. Таким образом человечеству дано максимум 30-50 лет, чтобы найти замену нефти. Следовательно, польза скачков нефтяных цен в том, что все осознали уникальность и экономическое значение нефти как невозобновимого природного ресурса, осознали необходимость ее всемирной экономии. По мнению американских экономистов, энергетические кризисы, связанные с бурным ростом или наоборот, падением цен на нефть будут постоянно повторяться в будущем, причем их острота будет только увеличиваться. Пол Джосков пишет: «Слово «кризис» означает лишь, что правительство той или иной страны ошиблось в определении своей энергетической политики. Ошибки всегда можно исправить. Невозможно лишь исправить полное исчезновение мировых запасов нефти». Прогнозы роста потребления нефти были снижены из-за замедления темпов экономического роста в странах ОЭСР, а также из-за снижения МВФ своего прогноза относительно роста ВВП в мире, отмечено в докладе МЭА.

В настоящее время только при сохранении высоких цен на нефть российские нефтяные кампании

располагают необходимыми ресурсами для финансирования инвестиций в основной капитал. Уникальность ситуации в том, что масштабного привлечения прямых западных инвестиций в комплекс в настоящее время не требуется. Однако любые фискальные ужесточения могут обернуться либо необходимостью заимствований за границей, либо провалами в инвестировании развития отрасли. Мировые цены на нефть и курс доллара играют роль «клапана постоянного давления» для экономического роста мировой экономики. От темпов роста мировой экономики в среднесрочной перспективе будут зависеть и перспективы нефтяной промышленности России [5].

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

1. В.Ф. Дунаев, В.Д. Шпаков. Н.П. Епифанова, В.Н. Лындин. Экономика предприятий нефтяной и газовой промышленности: Учебник. Под ред. В.Ф. Дунаева. - М.: ФГУТ1 Пзд-во «Нефть и газ» РГУ нефти и газа им. П.У1. Губкина. 2006 - 352 с.

2. Основы нефтегазового дела. Учебник для ВУЗом: - Уфа.: ООО «ДизаинПолиграфияСевис», 2001 - 544 с.

3. Брагинский О.Б. Мировой нефтегазовый комплекс: Рос. акад. наук. Центр. экон.-мат. ин-т. -М.: Наука, 2004. - 604 с.э

4. Брагинский О.Б. Нефтегазовый комплекс мира. - И.: Изд-во «Нефть и газ» РГУ нефти и газа им. И.М.Губкина, 2006. - 640 с.

5. Шафраник Ю.К. Нефтегазовый фактор России. - М.: Второй вариант, 2005. - 160 с.

СПОСОБ И УСТРОЙСТВО ПРЯМОГО ПАРАЛЛЕЛЬНО-КОНВЕЙЕРНОГО ПРЕОБРАЗОВАНИЯ ЧИСЕЛ С ПЛАВАЮЩЕЙ ТОЧКОЙ В МОДУЛЯРНО-_ЛОГАРИФМИЧЕСКИХ ФОРМАТ*_

Осинин Илья Петрович

к.т.н., старший научный сотрудник ФГУП «Российский федеральный ядерный центр - Всероссийский научно-исследовательский институт экспериментальной физики (РФЯЦ-ВНИИЭФ)»,

г. Саров

Аннотация.

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

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

* Исследование выполнено за счет гранта Российского научного фонда (проект №17-71-10043)

METHOD AND DEVICE OF DIRECT PARALLEL-PIPELINED TRANSFORMATION OF NUMBERS WITH FLOATING POINT _IN MODULAR-LOGARITHMIC FORMAT_

Osinin Ilya Petrovich

PhD, senior researcher Russian Federal Nuclear Center -The All-Russian Research Institute of Experimental Physics», Sarov

Annotation. The article is part of the complex of works on solving one of the main problems of the residual number system (RNS) - the complexity of performing arithmetic operations on the field of real numbers. The purpose of this study is to increase the speed and formalization of the operation of converting floating-point numbers into a modular-logarithmic number system that combines the advantages of a system of residual number system and a logarithmic number system. The object of the study is the method of performing this operation. The subject of the study is a parallel-pipelined device that implements the proposed method. The study was carried out using the theory of computer design and systems, methods and means of experimental analysis of computers and systems. The result is a hardware parallel- pipelined organization of the device, which has a high processing speed of the operands. The proposed circuit implementation of a two-level code converter after filling the computational pipeline allows the calculation result to be obtained every clock cycle of the device, which ensures high speed, which is necessary not only during the conversion of numbers, but also for arithmetic operations, summation and subtraction in the modular logarithmic system.

Keywords: residue number system, logarithmic number system, interpolation, accuracy, polynomial, modular-logarithmic number system.

Введение

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

Однако резерв повышения производительности, заложен в ускорении выполнения самих вычислительных операций, например, при применении модулярной арифметики на базе системы остаточных классов (СОК). Естественный параллелизм устройств, функционирующих на основе СОК, позволяет распараллелить процесс вычислений, как на программном, так и на аппаратном уровне, а модульность и однородность обеспечивает эффективное проектирование структур в сверхбольшом интегральном исполнении (СБИС). Научные работы Н.И. Червякова, И.Я. Акушского, В.С. Князькова, H. Garner, A. Omondi посвящены данному направлению [1,2]. За счет независимых вычислений над каждой цифрой числа из базиса оснований {v1,v2,...,n}, ей присущи такие свойства, как параллелизм модульных операций сложение и умножение, а также автоматическая коррекция машинных кодов для повышения надежности вычислений, где h - количество остатков.

При этом у СОК имеются и недостатки, среди которых медленное выполнение операций округление и деление, что существенно затрудняет применение плавающей точки. Решение, описанное в данной работе, состоит в совмещении свойств СОК с логарифмической системой счисления (ЛСС), в которой отсутствует операция выравнивания порядков, а деление исходных чисел заменяется вычитанием их логарифмов. Основополагающий вклад внесли ученые J. Coleman, M. Arnold, E. Chester, D. Lewis [3-7].

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

Во введении было установлено, что моду-лярно-логарифмическая система счисления (МЛСС) подходит для повышения скорости арифметических вычислений над числами, обладающими широким диапазоном представления, за счет объединения свойств СОК и ЛСС.

Перевод позиционного числа с плавающей точкой в модулярно-логарифмический формат (пример для числа двойной точности приведен на рисунке 1) проходит в два этапа:

- вычисляется логарифм по основанию 2 исходного вещественного числа;

- логарифмический код числа, состоящий из целой и дробной части логарифма, преобразуется в СОК как единое целое число.

63

62

52 51

Число в логарифмической системе счисления

63

62

48 47

I

32 31

16 15

Знак S mod(215-1) mod(216-1) mod(216) mod(216+1)

0

0

Число в модулярно-логарифмической системе счисления

Рисунок 1. Преобразование числа двойной точности в МЛСС

Наибольшую сложность при этом преобразовании носит вычисление логарифма мантиссы числа. Для этого наиболее применима интерполяция с использованием заранее вычисленных коэффициентов полинома. Однако известные решения [3-6] ориентированы на применение линейного типа интерполяции полиномом первой степени. Это ограничивает точность вычислений диапазоном одинарного представления чисел по стандарту IEEE-754 (32 бита). Так, например, микропроцессор European Logarithmic Microprocessor [3], функционирующий на базе ЛСС, способен оперировать лишь 32-битными числами. Использование подобных решений для работы с числами двойной точности (64 бита) и более влечет экспоненциальный рост аппаратных затрат на таблицы коэффициентов (128 Мбайт и более), что делает их неприменимыми в реальных арифметических устройствах из-за низкой скорости доступа.

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

y=Ё с • + P dj

■ xJ

(1)

i=0

j=o

работе [10], в связи с чем, далее основное внимание уделено переводу числа в ЛСС.

1. Способ преобразования чисел с плавающей точкой в модулярно-логарифмический формат

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

2. в зависимости от разрядности обрабатываемых чисел на основании рекомендаций [9] выбираются степени п и т полиномов первого и второго уровня соответственно, а также порядок количества интервалов интерполяции р и q, так чтобы максимальная относительная ошибка

e

emax max(Icalc I exact)

rel max

2 ~f

2

< 0,5; (2)

3.на интервале распространения мантиссы Ме [1,2) формируется К=2р точек ка с шагом К'1 для полинома первого уровня

Ia = l0g2 ka =2• ka

(3)

i=0

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

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

Способ и устройство эффективного преобразования в СОК подробно рассмотрено в предыдущей

4.соседние точки ka и ka+i являются границами a-го интервала интерполяции первого уровня;

5. для каждого a-го интервала вычисляются коэффициенты Ca,i полинома (5), которые записывается в a-ю строку i-ой таблицы коэффициентов полинома первого уровня;

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

ea = тах(Icalc - Iexact); (4)

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

P =

e„

max(ea У

(5)

после чего записывается в а-ю строку таблицы коэффициентов Р;

1) на интервале, содержащем максимальную ошибку интерполяции (4) среди всех К интервалов, формируется Ь=2<! точек с шагом (Ь-К)~1 для полинома второго уровня

e = Л -1

exact

=2 dbji - и ;

(6)

j=o

с

a,i

i=0

2 f

V2 У

(7)

4) для разрядов мантиссы М/-р^-1:0] вычис-

ляется полином второго уровня

У 2 =2 db, i

8.соседние точки 1ь и 1ь+1 являются границами Ь-го интервала интерполяции второго уровня;

9.для каждого Ь-го интервала вычисляются коэффициенты dьj полинома (8), которые записывается в Ь-ю строку /-ой таблицы коэффициентов полинома второго уровня;

где ае[0,К-1], Ье [0,1-1], /е[0,п],/е[0,т]; р, q -порядок количества интервалов интерполяции первого и второго уровня соответственно; х - переменная интерполяции; и dj - коэффициенты интерполяции первого и второго уровня соответственно; п и т - степень полинома первого и второго уровня соответственно; 1а, 1са1с - результат, вычисленный с помощью полинома (5) в пределах а-го интервала; 1Ь - результат, вычисленный с помощью полинома (8) в пределах Ь-го интервала; Ьхаа - точный результат функции y=log2x; /- разрядность мантиссы преобразуемого числа; ]х[ - округление числа до целого.

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

1) р старших разрядов а=[/-1/-р] мантиссы М исходного числа являются адресом таблиц коэффициентов интерполяции первого уровня и таблицы пропорций, откуда извлекаются значения са^ и Ра;

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

2) следующие q разрядов Ь=/-р-1/-р^] мантиссы М исходного числа являются адресом таблиц коэффициентов интерполяции второго уровня, откуда извлекаются значения dЬj;

3) для разрядов мантиссыМ[/-р-1:0] вычисляется полином первого уровня

^ Г —у

у

i=0

M

2 f

V2 У

V

(8)

5) вычисляется логарифм мантиссы исходного числа

У = У - Ра ■ У2; (9)

6) формируется целое логарифмическое представление исходного числа

* = (Е + У) ■2 Г; (10)

7) с помощью одного из известных способов [1,10] вычисляются остатки {гИ,...,г2,п} от деления полученного числа г на основания СОК {у^,...,у2,у1};

8) кортеж из знака исходного числа и полученных остатков является искомым числом в моду-лярно-логарифмическом формате:

2 = (5, ть ,..г2, г}; (11)

где ае[0,К-1], Ье[0,1-1], /е[0,п],/е[0,т];р, q -порядок количества интервалов интерполяции первого и второго уровня соответственно; К=2р; Ь=2д; сI и dj - коэффициенты интерполяции первого и второго уровня соответственно; п и т - степень полинома первого и второго уровня соответственно; 1сыс - результат, вычисленный с помощью полинома (3); 1ехас1 - точный результат у=^2х; /- разрядность мантиссы преобразуемого числа, Е - характеристика исходного числа, И - количество остатков СОК.

Пример. Рассмотрим преобразование числа половинной точности (16 бит) формата 1ЕЕЕ-754 в модулярно-логарифмический формат. Примем степень полиномов первого и второго уровня п=т=1 (линейная интерполяция), а порядок количества интервалов интерполяции p=q=2. Тогда шаг интерполяции К_1=2-Р=2-2=0,25 и (¿К)-1=2-Р-2-* =2-4=0,0625 соответственно для первого и второго уровня.

На подготовительном этапе вычисляются коэффициенты интерполяции са,ц Ра, dьj, необходимые для преобразования числа (таблица 1).

Таблица 1. Коэффициенты интерполяции чисел половинной точности

Первый уровень

Интервал a 0 1 2 3

[ka; ka+l] [1; 1,25] [1,25; 1,5] [1,5; 1,75] [1,75; 2]

Ca,0=/a=lOg2ka 0 0,322 0,585 0,807

Ca, 1=(Ia+1- Ia)K 1,288 1,052 0,89 0,77

ea 8,973-10-3 5,991-10-3 4,283-10-3 3,214-10-3

Pa= ejei 1 1,498 2,095 2,791

Второй уровень

Интервал b 0 1 2 3

[lb; lb+l] [0; 0,0625] [0,0625; 0,125] [0,125; 0,1875] [0,1875; 0,25]

db,0=eb= Ib- Iexact 0 6,98-10-3 8,96-10-3 6,481-10-3

db,i=(eb+i- eb)-L-K 1,117-10-1 3,168-10-2 -3,967-10-2 -1,037-10-1

Пусть необходимо преобразовать число, пред- в МЛСС, где ,^п=1 - код знака числа, Е=18 -

ставленное в формате половинной точности (16 показатель степени со смещением 15,

бит) М[9:0]=01011001102=358ю - мантисса в нормализо-

-10 8 = (-1)''8П -2е ■([ + —) = (-+ (12) ванной форме,/=10 - разрядность мантиссы.

2 * 210

Тогда требуется выполнить последовательность следующих шагов:

1) р=2 старших разрядов а=М[9:8]=0Ъ мантиссы М исходного числа являются адресом таблиц коэффициентов интерполяции первого уровня и таблицы пропорций, откуда извлекаются значения С1,0=0,322; си=1,052 и Ра=1,498 (таблица 1);

2) следующие q=2 разрядов ¿=М[7:6]=0Ъ мантиссы М исходного числа являются адресом таблиц коэффициентов интерполяции второго уровня, откуда извлекаются значения й?1>0=6,98-10-3 и ^и=3,168-10-2 (таблица 1);

3) для разрядов мантиссы М[7:0]=011001102=102ю вычисляется полином первого уровня

М[7:0] ^ х

Ух = с1д ■ —+ с,0 = 4,267 ■ 10 х; (13)

2

4) для разрядов мантиссы

М[5:0]=1001102=38ю вычисляется полином второго уровня, корректирующий ошибку интерполяции

л M[5 : 0] л

^2 = 4,1--+ ^1,0

-3,825 -10" 3

; (14)

5) вычисляется логарифм мантиссы исходного числа

У = У -Р ■ У = 4,267^ 10-1 -1,498-С-3,825^10"3)=0,433; (15)

6) формируется целое логарифмическое представление исходного числа

z = [(E + y) - 2f ] = [(18 + 0,433) - 210] = 18875; (16)

7) вычисляются остатки {r2;ri}={z mod v1; z mod v2} от деления полученного числа z на основания СОК {vi;v2}={127;255};

8) кортеж из знака и полученных остатков является искомым числом в модулярно-логарифмическом формате:

Z = (5; ^ rj = {1;79;5}. (17)

Таким образом, результат преобразования числа половинной точности х=-10,8 в модулярно-логарифмический формат составляет кортеж Z={1;5;114}.

1.Устройство параллельно-конвейерного преобразования чисел с плавающей точкой в моду-лярно-логарифмических формат

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

Рисунок 2. Общая структурная схема преобразователя кодов

Итак, преобразователь мантиссы исходного числа состоит из:

- интерполятора п-го порядка первого уровня, структурная схема которого представлена на рисунке 3;

- интерполятора т-го порядка второго уровня, схема которого идентична интерполятору

первого уровня, а результат вычислений подается на вход «Коррекция» интерполятору первого уровня.

Так как порядки коэффициентов интерполяции известны, становится возможным свести вычисления к целочисленным, путём умножения операндов на 2^ с последующим округлением результата.

Мантисса M[f-p-1:0]

Рисунок 3. Структурная схема интерполятора первого уровня

Интерполятор, помимо целочисленных умножителей и сумматоров, содержит таблицы коэффициентов интерполяции c0,...,ci,...,cn и таблицу пропорции коррекции ошибки P, адресами для которых служит p старших бит мантиссы преобразуемого числа x, поступающей на информационный вход устройства, где p - порядок количества интервалов интерполяции, n - степень полинома. Результат преобразования доступен на информационном выходе через 3+n тактов работы устройства в случае использования вычислительного конвейера, где n - степень полинома. После заполнения вычислительного конвейера время преобразования в МЛСС составляет один такт.

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

Техническая реализация преобразователя кодов из плавающей точки в ЛСС выполнена на базе программируемой логической интегральной схемы (ПЛИС) семейства Cyclone V фирмы Altera. Данная ПЛИС входит в состав отладочной платы Cyclone V SoC Development Board, с помощью которой была проведена верификация устройства на примере преобразователя чисел двойной точности. Анализ

результатов реализации интерполяторов различного порядка позволил установить, что аппаратные затраты, выраженные в количестве логических элементов ПЛИС, составляют ^ = ^ • (2 • п +1) + £а(и • (п +1) + £тет • (п +1) (18)

где 5"ши1=305^4", 5'ааа=2и+4, Бшеш=2р+п+4 - аппаратные затраты одного умножителя, сумматора и таблицы коэффициентов соответственно, п - степень полинома; р - порядок количества интервалов интерполяции.

Общие аппаратные затраты устройства, состоящего из двух уровней интерполяции, таблицы пропорций и преобразователя в СОК (для случая, когда основания вида 28±1, где g - разрядность основания [10]) составляют

^ = 2 • Su + ^пет + h • Sadd (19)

где п - степень полинома; Бшеш, Хаа - аппаратные затраты интерполятора п-го порядка, таблицы пропорций и сумматора соответственно; И -количество оснований.

Аппаратные затраты преобразователя, измеряемые в количестве логических элементов ПЛИС и минимально необходимые для обеспечения одинарной, двойной и четверной точности вычислений, приведены на рисунке 4.

1,00E+11

х

u1,00E+10

« 1^0E+09 ,о ыт

т тн а ен

Ш j|0E+08 за ел

зе э

§1,00E+07

атн

El,00E+06 А

1,00E+05

1,00E+04

Одинарная Двойная Четверная

■ Линейная ■ Квадратичная ■ Кубическая

Рисунок 4. График зависимости аппаратных затрат от поддерживаемой точности

Заключение

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

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

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

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

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

1. Червяков Н.И. Модулярные параллельные вычислительные структуры нейропроцессорных систем. М: Физматлит, 2003. - 288 с.

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

2. Omondi A. Residue Number System: Theory and Implementation // London: Imperial College Press, 2007. - 312 p.

3. Coleman J.N. Arithmetic on the European Logarithmic Microprocessor // IEEE Transactions on Computers. 2000. vol. 49, no. 7. pp. 702-715

4. Lewis D. M. Interleaved Memory Function Interpolators with Application to an Accurate LNS Arithmetic Unit // IEEE Transactions on Computers. 1994. vol. 43, pp. 974-982

5. Arnold M. G. Improved Co-Transformation for LNS Subtraction // IEEE International Symposium on Circuits and Systems. 2002, vol. II, pp. 752-755

6. Ismail R., Hussin R., Murad S.A. Interpolator Algorithms for Approximating the LNS Addition and Subtraction: Design and Analysis // IEEE Transactions on Computers. 2012, pp. 174-179

7. Arnold M. G. The residue logarithmic number system: theory and implementation // 17th IEEE Symposium on Computer Arithmetic, pp. 196 - 205

8. Osinin I.P. A Modular-Logarithmic Coprocessor Concept // Proceedings 2017 International Conference on High Performance Computing & Simulation. 2017. pp. 588-595. DOI: 10.1109/HPCS.2017.93

9. Осинин И.П. Оптимизация аппаратных затрат интерполяционных преобразователей для вычислений в логарифмической системе счисления // Параллельные вычислительные технологии (ПаВТ'2018): Труды международной научной конференции (Ростов-на-Дону, 2 - 6 апреля 2018 г.). -Челябинск: ЮУрГУ, 2018.

10. Осинин И.П. Организация параллельно -конвейерного СБИС-процессора для прямого модулярного преобразования чисел на основе арифметики разрядных срезов // Известия высших учебных заведений. Поволжский регион. Технические науки. 2014. №4 С.5-13

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