УДК 004.942
А.Я. АНОПРИЕНКО, С.В. ИВАНИЦА
ОСОБЕННОСТИ ПРЕДСТАВЛЕНИЯ ВЕЩЕСТВЕННЫХ ЧИСЕЛ В ПОСТБИНАРНЫХ ФОРМАТАХ
Анотація. Розглянуто актуальність переходу до постбінарного комп ’ютингу як важливого кроку до досягнення «гнучкоїрозрядності» при кодуванні кількісних значень у сучасних комп’ютерних системах. Запропоновано ряд модифікацій традиційних форматів чисел з рухомою комою. Показані принципи формування дрібних, інтервальних і постбінарних форматів, заснованих на модифікації стандартних уявлень чисел у форматі з рухомою комою.
Ключові слова: постбінарні формати, тетралогіка, тетракоки, інтервальні обчислення, постбі-нарні обчислення, рухома кома, мантиса.
Аннотация. Рассмотрена актуальность перехода к постбинарному компьютингу как важному шагу к достижению «гибкой разрядности» при кодировании количественных значений в современных компьютерных системах. Предложен ряд модификаций традиционных форматов чисел с плавающей запятой. Показаны принципы формирования дробных, интервальных и постбинарных форматов, основанных на модификации стандартных представлений чисел в формате с плавающей запятой.
Ключевые слова: постбинарные форматы, тетралогика, тетракоды, интервальные вычисления, постбинарные вычисления, плавающая запятая, мантисса.
Abstract. The actual transition to postbinary computing as an important step towards “flexible capacity ” encoding quantitative values in the modern computer systems was regarded. A variety of modifications of traditional floating decimal point formats was proposed. Some examples of development offractional, interval and postbinary formats based on the modification of standard representations of floating decimal point numbers were described.
Keywords: postbinary formats, tetralogic, tetracodes, interval computations, postbinary computations, floating decimal point, mantissa.
1. Введение
На сегодняшний день аппаратное обеспечение компьютеров ориентировано на операции с числами, представленными всего в двух форматах: целые числа и числа с плавающей запятой. Целочисленная арифметика оперирует конечным подмножеством множества целых чисел. Если аппаратная часть исправна, а программы не содержат ошибок, то целочисленная арифметика и программные надстройки над ней работают без погрешностей. Например, на основе целочисленной арифметики можно построить арифметику систематических дробей произвольной разрядности и обыкновенных дробей. Для точного представления результатов целочисленных арифметических операций современный компьютер имеет возможность сохранять необходимое количество разрядов для точного представления достаточно больших целых чисел.
Но при решении большинства практических задач операции производятся над вещественными числами. Произвольное вещественное число представляется бесконечной десятичной или двоичной дробью. На практике в научных и инженерных вычислениях вещественные числа приходится представлять в компьютере конечными дробями, чаще всего числами с плавающей запятой. Арифметика чисел с плавающей запятой поддерживается аппаратным обеспечением современных компьютеров и поэтому выполняется очень быстро. Но каждая операция с плавающей запятой может вносить погрешность, поскольку числа, представленные в формате с плавающей запятой (стандарт IEEE 754), представляют конечное множество, на которое отображается бесконечное множество вещественных чи-
© Аноприенко А.Я., Иваница С.В., 2012
ISSN 1028-9763. Математичні машини і системи, 2012, № 3
сел. В итоге результат нескольких последовательных операций может оказаться совершенно неверным.
Приведем простой пример (аналогичный представленному в работе [1]). Пусть даны два целочисленных вектора х и у :
х = (1015, 1500, -1018, 1020, 2,-1015), у = (1015, 3, 1012, 1013, 222, 1018).
Обозначим скалярное произведение х и у через х X у, при выполнении которого соответственные элементы векторов перемножаются и эти произведения складываются. В точной целочисленной арифметике имеем
х X у = 1030+4500-1030+1033+444-1033=4944.
Ниже приведен пример реализации данного целочисленного выражения в системе компьютерной алгебры Mathematica:
In[5]:=103°+4500-103°+1033+444-1033.
Out[5]=4944.
Однако арифметика чисел с плавающей запятой на любом современном компьютере (включая те компьютеры, на которых арифметика реализована в соответствии с обновленным в 2008 году стандартом формата представления чисел с плавающей запятой IEEE 754-2008) выдаст для такого скалярного произведения нулевое значение. Причина этого в столь большой разнице порядков слагаемых, что обычное представление чисел с плавающей запятой не позволяет корректно выполнить вычисление. Ниже приведен пример реализации данного выражения в системе компьютерной алгебры Mathematica при представлении элементов векторов х и у вещественными числами:
In[6]:=10.30+4500.-10.30+10.33+444. -10.33
0ut[6]=0.
Эта катастрофическая погрешность возникает несмотря на то, что данные (в данном случае элементы векторов) используют менее 5% диапазона значений порядка, доступного на большинстве компьютеров.
Ниже показаны результаты символьного (признак знака «—») и численного (признак знака «=») процессоров математического пакета Mathcad Professional при вычислении данного примера:
1030+4500-1030+1033+444-1033—4944=4.944х103. 1030+4500-1030+1033+444-1033=0.
10.30+4500.—10.30+10.33+444.—10.33—>0=0.
В последнем варианте вычислений (элементы векторов - вещественные числа) символьный и численный процессоры Mathcad оказались бессильны.
Стоит также отметить, что при вычислении относительно простого полинома Румпа [2] с определенными входными значениями большинство существующих на сегодняшний день математических пакетов не в состоянии получить верный результат. Способы получения верного результата при вычислении полинома Румпа, в принципе, существуют [2,
3], однако принятие решения о выборе тех или иных способов вычислений полностью возлагается на пользователя. Причем такой пользователь должен хорошо понимать суть вычислительных процессов и иметь достаточную математическую подготовку. Естественно,
что при нарастании объемов вычислений в процессе исследования, моделирования и проектирования сложных систем и динамических процессов становится невозможным буквально «вручную» отслеживать проблемные участки в вычислениях и выявлять подобные примеру Румпа вычислительные аномалии. При этом в большинстве случаев ошибки в вычислениях остаются просто незамеченными, существенно искажая полученные результаты. Это позволяет предположить, например, что многие техногенные катастрофы последних десятилетий были в первую очередь обусловлены не «человеческим фактором», а разного рода вычислительными ошибками [4].
В данной статье рассматриваются, во-первых, актуальность перехода к постбинар-ному компьютингу и «гибкой разрядности» при кодировании количественных значений в современных компьютерных системах, и, во-вторых, предлагаются постбинарные форматы кодирования вещественных чисел.
2. От бинарного к постбинарному компьютингу
Первая волна интенсивного развития цифровых технологий, отсчет которой можно вести примерно с 1945 года, прошла почти исключительно на базе бинарной логики и арифметики. Однако, уже в 90-е годы, когда начался массовый переход к технологиям параллельных вычислений, ограниченность бинарного кодо-логического базиса стала проявляться особенно остро, в связи с чем актуализировались поиски дальнейших, постбинарных, путей развития компьютерных технологий.
Само понятие «компьютинг» начало использоваться еще в эпоху механических вычислительных устройств, означая первоначально просто процесс реализации каких-либо вычислений. Однако к настоящему времени смысл этого термина существенно расширился, что нашло отражение в следующем современном определении: «Под компьютингом обычно понимается деятельность, направленная на использование и разработку компьютерных технологий, компьютерной техники и программного обеспечения. Это связанная с компьютерами часть информационных технологий. С этим понятием тесно связаны компьютерные науки, направленные на изучение теоретических и практических основ вычислений и информатики, а также - на их реализацию в компьютерных системах» [5].
Такое расширенное понимание компьютинга сложилось уже в бинарную эпоху, в связи с чем под этим термином традиционно предполагается бинарный компьютинг, в основе которого лежит использование двоичной логики и двоичной системы счисления. Целесообразным и оправданным в настоящее время следует также признать и использование термина постбинарный компьютинг, включающего в себя все, что выходит за рамки двоичной логики и систем счисления, однозначно сводимых к двоичной (по сути точечной и однозначной) системе представления количественной информации.
В целом можно констатировать, что возможности продуктивного системного подхода к исследованию вопросов постбинарного компьютинга могут быть обеспечены различными способами, следствием чего является естественное многообразие соответствующих исследований. Целесообразно, в частности, назвать такие перспективные направления, как интервальные вычисления [6, 7], гипервычисления, квантовый и молекулярный компьютинг [8].
В рамках кодо-логического подхода, развиваемого авторами данной статьи, важнейшими предпосылками для системного исследования проблематики постбинарного компьютинга явились следующие моменты.
Во-первых, введение в научный оборот понятия «кодо-логический базис» (с доопределением «расширенный» или «обобщенный»), предполагающего рассмотрение эволюции логических и арифметических основ компьютерных технологий в неразрывном единстве и в достаточно широкой исторической перспективе и ретроспективе [9].
Во-вторых, выявление и анализ как целостного явления добинарного (прабинарно-го) кодо-логического базиса, основными составляющими которого являются монологика и различные эволюционирующие формы монокодов [10]. В целом появились основания говорить о целой эпохе прабинарного компьютинга, предшествовавшей бинарному этапу в развитии вычислительных средств. Исследование закономерностей добинарной эволюции и перехода к бинарному компьютингу позволило более системно и продуктивно подойти к анализу вопросов перехода к постбинарным вычислениям.
В-третьих, введение в научный оборот таких взаимосвязанных понятий, как тетралогика и тетракоды [11], позволило впервые одновременно выйти за пределы как одномерного пространства двоичной логики, так и точечного бинарного представления количественной информации, что явилось решающим шагом к последующим исследованиям по-стбинарного компьютинга в контексте кодо-логической эволюции.
Логические, алгоритмические и прочие предпосылки перехода к постбинарному компьютингу начали складываться уже в первой половине XX века в ходе интенсивного развития средств и методов бинарного компьютинга во второй половине прошлого века, но только на рубеже тысячелетий (в первую очередь, благодаря тотальному переходу к параллельным вычислениям и формированию тесно взаимосвязанной глобальной компьютерной инфраструктуры) начала проявляться настоятельная необходимость преодоления многочисленных ограничений традиционного бинарного кодо-логического базиса, ориентированного преимущественно на последовательную (так называемую фон-неймановскую) вычислительную архитектуру.
В связи с этим назрела необходимость комплексного исследования всей совокупности вопросов, связанных с переходом к постбинарному компьютингу, основанному на использовании различных форм гиперлогики и гиперкодов, которые могут рассматриваться как обобщение тетралогики и тетракодов применительно к многомерным логическим пространствам.
3. Способы представления вещественных чисел в постбинарных форматах
В работе [3] был предложен ряд способов для преодоления проблем, связанных с ограничением разрядности чисел, поскольку использование при вычислениях разрядности, существенно превышающей стандартную, является одним из способов получения правильных результатов. Все эти способы в совокупности позволяют в процессе вычислений выполнять следующие операции:
- увеличение (или выравнивание) разрядности во избежание переполнения разрядов результата и выполнение корректных вычислений;
- выполнение так называемого отложенного деления, когда отдельно вычисляются числитель и знаменатель, а деление производится на последнем шаге вычисления;
- использование интервальных вычислений.
В рамках реализации вышеперечисленных операций возможно достижение достаточно надежного и эффективного контроля за корректностью вычислений. Сами же операции можно эффективно использовать при разработке и реализации постбинарных методов вычислений, основанных на по-стбинарном представлении количественных значений [12, 13]. Однако введение дан-
Рис. 1. Структура числа в формате ЫпагуО и в эквивалентном ему формате рЬтагуО (О - количество разрядов формата числа, S - знак, Еп
- смещенная экспонента, Ма и МО - остаток мантиссы соответствующих форматов, МЕа - модификатор формата, СЕа - код формата)
ных операций в постбинарный вычислительный процесс невозможно без незначительных модификаций самих форматов чисел с плавающей запятой. Поэтому на основании форматов чисел (Ьіпагу32, Ьіпагу64, Ьіпагу128) стандарта ІЕЕЕ754-2008 было предложено 5 модифицированных (постбинарных) форматов чисел различной точности (рис. 1): от одинарной (рЬіпагу32) до увеличенной в 8 раз по сравнению со стандартной (рЬіпагу256).
В предложенных постбинарных форматах поле мантиссы числа претерпело модификацию путем выделения необходимого количества битов для идентификатора формата (поле і^), состоящего из модификатора МБО (внутренняя модификация формата
рЬіпагуО) и кода формата СБО (признак принадлежности к формату рЬіпагуО).
Формирование кода идентификатора формата СБ^ определено таким образом (табл. 2), что по положению младшего нуля относительно указателя р на начальный (первый младший) бит числа можно точно определить как сам формат числа рЬіпагуО, так и его границы в диапазоне [р + О -1: р].
В то же время, в зависимости от модификатора МЕд, формат рЬіпагуО может содержать в себе другие подформаты представления данных. Для таких форматов приняты обозначения в виде рЬіпагуО/¥ф, где ¥ - точность формата, в 2 (для фє {/, і, р}) или 4 (для фє {/р, ір}) раза меньшая О и показывающая формат составной части чисел, заключенных в определяемую разрядность О; ф- указатель типа числа с плавающей запятой (представлены следующие типы: / - дробное число, і - интервальное, р - постбинарное) или типа постбинарного числа (представлены /р - постбинарное дробное и ір - постби-
нарное интервальное). В табл. 1 приведены все разработанные модификации форматов чисел различной точности в зависимости от значения модификатора МБи.
Таблица 1. Предлагаемые модификации формата рЬіпагуО
Модификатор МБ[11:0] рЬіпагу32 МБ[0] рЬіпагу64 МБ[1:0] рЬіпагу128 МБ[4:0] рЬіпагу256 МБ[11:0]
0000 ... 0000 рЬіпагу32 рЬіпагу64 рЬіпагу128 рЬіпагу256
0000 ... 0001 рЬіпагу32/16р pbinary64/32f pbinaгy128/64f pbinaгy256/128f
0000 ... 0010 рЬіпагу64/32і рЬіпагу128/64і рЬіпагу256/128і
0000 ... 0011 рЬіпагу64/32р рЬіпагу128/64р рЬіпагу256/128р
0000 ... 0100 pbinary128/32fp рЬіпагу256/64ф
0000 ... 0101 рЬіпагу128/32ір рЬіпагу256/64ір
резерв резерв
Рассмотрим структуру, особенности формирования и назначение каждой из представленных модификаций постбинарного формата рЬіпагуО (в качестве примера на рис. 2 представлены все модификации формата рЬіпагу128):
• рЬіпагуО - фактически число формата ЬіпагуО, имеющее модифицированную (уменьшенную на і^ разрядов) мантиссу. Для постбинарного формата рЬіпагуО справедливы следующие соотношения, связанные с определением количества разрядов полей после модификации:
О.
ід О =---разрядность идентификатора формата;
16
о,
= 1о§2-----разрядность кода формата;
16
шГп = 1ёп - с^ =-----1о§2-----разрядность модификатора формата;
16 2 16
шр0 = ш0 — - разрядность модифицированной мантиссы.
рЫпагу!28
S E 128 M 1*28 MF128 CF128
127 ' '1 ' 126 , ' 112 ,15 111 - 8 104 7 ' - 3 5 ' 2 ' - 0 3 '
pbinary128/64f
pbinary128/64i
pbinary128/64p
pbinary128/32fp
pbinary128/32ip
MF,28 = 00000 CF128 = 011
. . .
S r- num E64 M6n4Um x ^ denom E64 denom M64 MF128 CF128
127 1 '1 ' 126 ' ^ 116 11 • 115 ' - 68 48 67 66 1 - 56 11 ' 55 ' ' 8 48 7 1 - 3 5 ' 2 1 - 0 3 '
MF,28 = 00001 CF 128 = 011
i a. i -1
S E64 M*4 S E64 M*4 MF128 CF128
127 ' ' 126 ' 116 11 • 115 - 68 48 67 ' 1 ' 66 ' - 56 11 ' 55 ' 8 48 7 ' - 3 5 ' 2 ' - 0 3 '
MF128 = 00010 CF128 = 011
Sp Ep E64 M64 MF128 CF128
127 - 126 2 ' 125 - 104 22 103 - 8 96 7 1 x 3 5 f 2 1 x 0 3 f
MF128 = 00011 CF128 = 011
. . .
Sp E3p-num M32-num xx i-p-denom E32 M32denom MF128 CF128
127 1 2 f 125 ^ 110 16 ' 109 ^ 68 42 67 66 65 1 6 5 0 49 ^ 8 42 7 1 x 3 5 f 2 1 x 0 3 f
MF128 = 00100 CF128 = 011
left border riaht border
Sp E?2 M§2 Sp E§2 M& MF128 CF128
127 1 2 f 125 ' ' 110 16 ' 109 - 68 42 67 1 - 66 2 f 65 1 6 5 0 49 ' ' 8 42 M 7 "128 = M О 01 in 0 2 CF - 0 3 f 128 =
Рис. 2. Модификации формата рЫпагу128
Поля знака (£) и смещенной экспоненты (Еа) переносятся в модифицированный
формат без изменения. В табл. 2 показаны разрядности форматов рЫпагуО по отношению к ЫпагуО.
Каждое число, представленное в формате рЫпагуО, имеет знаковый бит £ (рис. 1): $ = 0 для положительного и £ = 1 для отрицательного числа. Значение смещенной экспоненты ЕО формируется следующим образом:
EW = exp2 + offset2,
(1)
где exp2 - значение экспоненты двоичной дроби в нормализованном экспоненциальном виде, offset - заданное смещение экспоненты в Q-битном формате: offset10 = 2(nw-1) -1 ^ offset2 = (offset10 )2.
Таблица 2 Разрядность pbinaryQ с указанием ^ значения кода формата
Q s nQ mpQ idQ mfQ cfQ CFq
32 1 8 21 2 1 1 0
64 1 11 48 4 2 2 01
128 1 15 104 8 5 3 011
256 1 20 219 16 12 4 0111
В поле Мд записывается остаток мантиссы двоичного нормализованного числа с плавающей точкой (отброшена старшая 1 от нормализованного двоичного числа вида ±1,хх...х • ехр2). В формате полей рЬіпагуД область нормализованных чисел лежит в пределах: Я = х (любое значение); Еа =000...01^111...10; Мт=000...00^111...11.
Таким образом, для формата рЬіиагуО справедливы следующие соотношения:
- двоичное нормализованное число dn :
dn = (-1)S '1,Mm ■ exp2EW-offset2);
(2)
десятичное нормализованное число xn :
xn = (-1)S ■ 2((Ew)10-oflfset10]
1 +
(Mm I
2wpw
(3)
- абсолютная максимально возможная погрешность А тах представления числа равна половине шага числа, т.е. половине величины наименьшего разряда:
А
= 2((Ew)10-offset10-mpn+1),
(4)
- относительная максимально возможная погрешность лизованного числа:
б
1
Nmax
2"p“ + (MW )10
-■100%.
представления норма-
(5)
Аналогично binaryQ, формат pbinaryQ имеет ряд исключительных чисел, к которым нельзя применять формулы (2-5):
1) положительный и отрицательный ноль: +0 (S = x; EW = 0; Mm = 0) и -0 (S = 1; EW = 0 ; MWm = 0 ). Большинство программных средств эти нули не различает (поскольку в этом нет необходимости), считая их просто нулевыми значениями;
2) положительная и отрицательная бесконечности (+Infinity, - Infinity): +да (S = 0; EW = 111.. .11; Mm = 0) и -да (S = 1; EW = 111.. .11; Mm = 0). Это числа, которые больше
границ диапазона представления чисел;
г
3) не числа - NN (No a Numbers), к которым относятся символы, или результаты недопустимых операций. При EW = 111.11 и MWm - любое ненулевое значение, различают +NN (S = 1) и -NN (S = 0);
4) ненормализованные числа - числа, мантиссы которых лежат в диапазоне
0,1< MW<1. Ненормализованные числа находятся ближе к нулю, чем нормализованные, и разбивают минимальный разряд нормализованного числа на некоторое подмножество. Для ненормализованных чисел справедливы следующие равенства:
- двоичное ненормализованное число dd :
dd = (-1)S ■ 0, MW ■ exp
-offset2
- десятичное ненормализованное число xd:
xd = (-1)S ■ 21
(Mw)
S ~(1-offset10) I W)
10 .
2wpn
- относительная максимально возможная погрешность мализованного числа:
D max
(6)
(7)
представления ненор-
б
1
Dmax
2 ■( m m)
■100%;
(8)
10
Формула (4) справедлива также для ненормализованных чисел.
На рис. 3 представлено отображение чисел форматов ЬіиагуО и рЬіиагуО на числовой оси.
pbinaryQ
Рис. 3. Отображение чисел форматов binaryQ и pbinaryQ на числовой оси (Norm, Denorm - области нормализованных и ненормализованных чисел; pb - признак постбинарного формата; xd и xn -
ненормализованные и нормализованные числа)
2
Совокупности полей ±КоГШ и ±ОеПОГШ ([ -ХпЩ^ ; -Х^Щ^ ]и[ + Х^Щ^ ; + хпШах ]) являются диапазоном представления положительных или отрицательных чисел формата рЫпагуО на всей числовой оси. Используя соотношения (3) и (7), можно получить десятичные значения модулей минимальной хёШЪп (значение по модулю наименьшего ненормализованного числа) и максимальной хп^Щ^ (значение по модулю наибольшего нормализованного
числа) границ диапазона представления чисел в формате рЫпагуО (табл. 3). Модификация (т.е. уменьшение разрядности) мантиссы постбинарного формата приводит, прежде всего, к сужению диапазона представления близких к нулю чисел (область ненормализованных чисел) по отношению к эквивалентному двоичному формату ЫпагуО. Используя формулы (3, 7), получим абсолютные погрешности границ диапазона представления чисел по отношению к формату ЫпагуО ( хпшах , хёшах и хёшт - значения модулей соответствующих границ диапазона чисел формата ЫпагуО):
- абсолютная погрешность представления минимального (минимального ненормализованного) О-разрядного числа:
Ad
xdmn -С, = -2-a"); (9)
- абсолютная погрешность представления максимального (максимального нормализованного) Q-разрядного числа:
А»_ = К„ - *»1| = 2(«'»1--"“>.(1 - 2-'a"). (10)
Абсолютная погрешность представления максимального ненормализованного Q-разрядного числа Admax соответствует формуле (9), следовательно, Admax = Admin. Последнее равенство можно объяснить тем, что разница в представлении ненормализованных чисел pbinaryQ и binaryQ обусловлена одинаковой погрешностью представления значений мантисс постбинарного и бинарного форматов (все ненормализованные числа имеют нулевое значение порядка) на протяжении всего диапазона ±Denorm. Таким образом,
Гxdpb ; xdpb "I = Гxd . + Ad . ; xd -Ad ] =
Г min ’ max] Г min min ’ max max] (11)
= Г xd ■ + Ad ■ ; xd - Ad 1 = Г 2idn • xd ■ ; 2-idn • xd ].
Г min min ’ max min ] Г min ’ max ]
Равенство (11) показывает, что модуль минимального ненормализованного числа формата pbinaryQ больше модуля аналогичного числа формата binaryQ в 2idn раза, и наоборот, модуль максимального ненормализованного числа формата pbinaryQ меньше модуля аналогичного числа формата binaryQ в 2idn раза. Таким образом, диапазон ±Denorm формата pbinaryQ в 2ian+1 раза меньше соответствующего диапазона формата binaryQ.
Отношение максимальных границ диапазона нормализованных чисел для форматов pbinaryQ и binaryQ близко к единице, однако следует учитывать величину абсолютной погрешности представления числа в постбинарном и бинарном форматах. Десятичное значение минимального нормализованного числа pbinaryQ соответствует аналогичному числу binaryQ ( ±xnmbn = ±xnmin , Anmin = 0 ), поскольку в формировании этих чисел участвуют только значения полей знака и порядка, которые идентичны в соответствующих постбинарных и бинарных форматах (рис. 1). Таким образом,
xnpb ;xnpb I = I xn ■ ;xn -An
min ’ max ] Г min ’ max m
2-(mpw+1)-iaQ - 1 xnmin ; 2- (mpW +1) - 1 • xnm
(12)
Рассмотрим функцию f (a, b) = ———. Имеем lim f (a, b) = 1, откуда следует,
2_(а+1)-ь _ 1 2-(а+1) _ 1
что /(а, Ь) »1 при возрастающем аргументе а . Соответственно, для значений трО и представленных форматов справедливо соотношение
2_(тРп+1)_Мп _ 1
2-(mpn+1) -1
1, (13)
причем данное приближенное равенство стремится к строгому равенству при возрастании значения трО.
Исходя из (13), выражение (12) можно записать в виде
«с,
; xnl ] = [xnmin; » xnm,x ] ^ [xnmn; x«mL ] » [xnmin; “'m,, ]• (14)
Десятичные значения максимальных и минимальных чисел формата рЫпагуО, их абсолютной погрешности по отношению к формату ЫпагуО представлены в табл. 3.
Таблица 3. Значения максимальных и минимальных границ диапазонов Norm и Denorm положительных и отрицательных чисел формата pbinaryQ (в скобках указаны значения абсолютной погрешности представления чисел в сопоставлении с форматом binaryQ)______
Q xdpb (Dd . ) min V min / xdpb max xnvb min x
32 ±2-147 » » ±5,60519386 -10-45 (» 4,204 • e-45) ±2-126 • (1- 2-21) » » ±1,17549379 •Ю-38 ±2-126 _ _ ±1,17549435 -10-38 ±2127 • (2 - 2-21) _ _ ±3,40 2 822 86 1 038 (_ 6,085 • e31)
64 ±2-1070 » » ±7,90505033 •Ю-323 (» 7,411 • e-323 ) ±2-1022 • (1 - 2-48) » » ±2,22507386 •Ю-308 ±2-1022 _ _ ±2,22507386-10-308 ±21023 • (2 - 2-48) _ _ ±1,79769313 •Ю308 (_ 2,994 • e293 )
128 ±2-16486 » » ±1,65764483 -10-4963 / 1 HZ 1 -4963 N (» 1,651 • e ) ±2-16382 (1 2-104) » ±3,36210314 10-4932 ±2-16382 _ _ ±3,36210314-10-493: ±216383 • (2 - 2-104) _ _ ±1,18973150 •Ю4932 (_ 2,921 • e4900 )
256 ±2-524505 » » ±1,8286336 10-157892 (» 1,829 • e-157892 ) ±2-524286 (1 2-219) _ _ ±1,54061213 -10-157826 ±2-524286 _ _ ±1,54061213 -10-157826 ±2524287 • (2 - 2-219) _ _ ±2,59637057 •Ю157826 (_ 1,541 • e157760 )
• pbinaryQ/Yf - дробное Q-разрядное число, состоящее из числителя (numerator), знаменателя (denominator) Y -разрядной точности (т.е. двух чисел формата pbinaryY) и общего знака для дроби. Значения W и Y связаны следующим соотношением: Y = W /2 при W = {64, 128, 256, ...}.
Пусть а и b - числа формата binaryY, т.е. фактически числа стандарта IEEE 754, над которыми нужно выполнить операцию деления а / b. В ряде случаев, обусловленных, прежде всего, сложностью общего цикла вычислений, данную операцию можно отложить,
т.е. сохранить результат в виде дроби а до заключительного этапа вычислений. В таком
b
случае справедливы следующие равенства:
S = SY а © SYb - знак дроби;
рпшп = а, mY™ = Mmа - порядок и мантисса числителя дроби;
pdmran = pYb, MYenom = MYb - порядок и мантисса знаменателя дроби.
• pbinaryQ/Yi - интервальный W -разрядный формат числа, содержащего два полноценных числа формата pbinaryY (Y = W /2, W = {64, 128, 256, ...}), которые являются левой (left border) и правой (right border) границами интервала [14]. Заполнение полей данного формата аналогично дробному, за исключением наличия знаковых полей для каждого значения границ интервала. Числа в формате pbinaryQ/Yi могут быть использованы для решения задач в рамках интервального анализа или интервальной математики, где они будут представлять собой интервальный тип данных, вычислительные операции с которыми исключат возможные ошибки округления [15].
• pbinaryQ/Yр - постбинарное Y-разрядное число (Y = W/2, W = {32, 64, 128, 256, ...}). В таком числе в качестве основного постбинарного формата рассматривается тетракод, каждый разряд которого представлен тетритом [16], кодирующим одно из четырех состояний: 0, 1, а также состояния «неопределенности» (А) и «множественности» (М).
Поскольку тетрит должен кодировать четыре возможных значения разряда, для его хранения и использования в современных компьютерных системах потребуются два бита. Поэтому расширение числа формата pbinaryY до постбинарного W -разрядного формата pbinaryQ/Yр происходит за счет удвоения разрядности знака, порядка и модифицированной мантиссы. При этом каждая пара битов постбинарных значений знака, мантиссы и порядка имеет одно из значений множества {0, 1, А, М} [17], кодируемое следующим образом: 00 - состояние неопределенности (А); 01 - ноль (0); 10 - единица (1); 11 - состояние множественности (М).
При формировании разрядности знака, порядка и мантиссы постбинарного числа
формата pbinaryQ/Yр справедливы следующие соотношения: sW = sY = 2 • sY ,
nW = nY = 2 • nY , mpW = mpY = 2 • mpY .
• pbinaryQ/Yfp - представляет формат постбинарного дробного Y -разрядного числа (Y = W/4,W = {128, 256, ...}). Формируется объединением описанных выше преобразований pbinaryQ/Yf и pbinaryQ/Yp.
• pbinaryQ/Yip - представляет формат постбинарного интервального Y -разрядного числа (Y = W/4,W = {128, 256, ...}). Формирование полей данного числа происходит по схеме: pbinaryQ/Yi и pbinaryQ/Yp.
4. Заключение
В контексте перехода к постбинарному компьютингу многообразие представления логических и численных значений будет неизбежно возрастать в связи с необходимостью развития как логических и алгоритмических основ компьютерных технологий, так и самого понятия числа, в том числе на уровне базовых форматов представления информации. Предложенная в работе система компьютерных форматов данных и соответствующая система обозначений могут рассматриваться как прототипы базовых элементов для нового поколения компьютерных архитектур, соответствующих начальному этапу постбинарного компьютинга.
Реализация вычислительных алгоритмов на базе предложенных форматов позволит обеспечить существенное расширение функциональных возможностей перспективных процессоров, в том числе за счет реализации текущего контроля требуемой разрядности и обеспечения на этой базе «гибкого форматирования» и «гибкой разрядности» при работе с компьютерным представлением численной информации. Важнейшим результатом этого должно стать кардинальное повышение надежности вычислений и оптимизация их разрядности.
На первом этапе речь, естественно, может идти преимущественно о программном моделировании новых форматов, алгоритмов и архитектур на базе существующих компьютерных систем. На следующем этапе предполагается реализация соответствующих схемных решений на базе FPGA, вплоть до реализации экспериментальных прототипов по-стбинарных процессоров.
В перспективе переход от бинарного компьютинга к постбинарному представляется практически неизбежным [18]. Во времени этот процесс может растянуться на десятилетия, но начинать его необходимо уже сейчас.
СПИСОК ЛИТЕРАТУРЫ
1. Numerical Toolbox for Verified Computing (Pascal-XSC Programs) / R. Hammer, M. Hocks, U. Ku-lisch, D. Ratz. - Berlin: Springer-Verlag Heidelberg, 1993. - С. 8.
2. Loh E. Rump’s Example Revisited / E. Loh, G. Walster // Reliable Computing. - 2002. - N 8. - Р. 245
- 248.
3. Аноприенко А.Я. Пример Румпа в контексте традиционных, интервальных и постбинарных вычислений / А.Я. Аноприенко, В.А. Гранковский, С.В. Иваница // Научные труды Донецкого национального технического университета. - (Серия «Проблемы моделирования и автоматизации проектирования динамических систем» (МАП-2011)). - Донецк: ДонНTУ, 2011. - Вып. 9 (179). - С. 324
- 343.
4. Петров Ю.П. Обеспечение надежности и достоверности компьютерных расчетов / Петров Ю.П.
- СПб: БХВ-Петербург, 2008. - 160 с.
5. Computing - Wikipedia, the free encyclopedia (Wikipedia.org). - Режим доступу: http: //en .wikipedia. org/wiki/Computing.
6. Алефельд Г. Введение в интервальные вычисления / Г. Алефельд, Ю. Херцбергер. - М.: Мир, 1987. - 360 с.
7. Шарый С.П. Конечномерный интервальный анализ [Электронный ресурс] / С.П. Шарый // Институт вычислительных технологий СО РАН. - Изд-во «XYZ»-2012. - С. 604. - Режим доступа: http://www.nsc.ru (interval).
8. Прохоров А. Прогнозы развития информационных технологий (по материалам компании Gartner) [Электронный ресурс] / А. Прохоров // Компьютер пресс. - 2006. - № 1. - Режим доступа: http://www.cpress.ru.
9. Аноприенко А.Я. Расширенный кодо-логический базис компьютерного моделирования / А.Я. Аноприенко // Информатика, кибернетика и вычислительная техника (ИКВ^97): сб. научн. тр. ДонГГУ. - Донецк: ДонГГУ, 1997. - Вып. 1. - С. 59 - 64.
10. Аноприенко А.Я. Восхождение интеллекта: эволюция монокодовых вычислительных моделей / А.Я. Аноприенко // Научные труды Донецкого государственного технического университета. -(Серия «Информатика, кибернетика и вычислительная техника» ^№^2000)). - Донецк: Дон^У, 2000. - Вып. 15. - С. 87 - 107.
11. Аноприенко А.Я. Tетралогика и тетракоды / А.Я. Аноприенко // Сб. тр. факультета вычислительной техники и информатики. - Донецк: ДонГ^, 1996. - Вып. 1. - С. 32 - 43.
12. Аноприенко А.Я. Обобщенный кодо-логический базис в вычислительном моделировании и представлении знаний: эволюция идеи и перспективы развития / А.Я. Аноприенко // Научные труды Донецкого национального технического университета. - (Серия «Информатика, кибернетика и вычислительная техника» ^№^2005)). - Донецк: ДонНTУ, 2005. - Вып. 93. - C. 289 - 316.
13. Аноприенко А.Я. Особенности постбинарного кодирования на примере интервального представления результатов вычислений по формуле Бэйли-Боруэйна-Плаффа / А.Я. Аноприенко, С.В. Иваница // Научные труды Донецкого национального технического университета. - (Серия: «Информатика, кибернетика и вычислительная техника» ^№^2010)). - Донецк: ДонНTУ, 2010.
- Вып. 11 (164). - С. 19 - 23.
14. Аноприенко А.Я. Интервальные вычисления и перспективы их развития в контексте кодологической эволюции / А.Я. Аноприенко, С.В. Иваница // Научные труды Донецкого национального технического университета. - (Серия «Проблемы моделирования и автоматизации проектирования динамических систем» (МАП-2010)). - Донецк: ДонНTУ, 2010. - Вып. 8 (168). - С. 150 - 160.
15. Moore R.E. Interval analysis. Englewood Cliffs / Moore R.E. - N.J.: Prentic-e-llall, 1966. - Р. 144.
16. Иваница С.В. Особенности реализации операций тетралогики / С.В. Иваница, А.Я. Аноприенко // Научные труды Донецкого национального технического университета. Серия: «Информатика, кибернетика и вычислительная техника» ^№^2011). - Донецк: ДонНTУ, 2011. - Вып. 13 (185). -С.134 - 140.
17. Аноприенко А.Я. Археомоделирование: модели и инструменты докомпьютерной эпохи / Ано-приенко А.Я. - Донецк: УНИTЕХ, 2007. - 318 с.
18. Аноприенко А.Я. Постбинарный компьютинг и моделирование сложных систем в контексте кодо-логической эволюции / А.Я. Аноприенко // Доклад на международной научной конференции «Моделирование-2010» (Киев, 13-14 мая 2010 г.). - Киев: Институт проблем моделирования в энергетике им. Г.Е. Пухова НАН Украины, 2010. - С. 150 - 161.
Стаття надійшла до редакції 26.12.2011