ностных схем дали хорошие результаты по быстродействию в сравнении с традиционными алгоритмами параллельного и дедуктивного анализа. Отдельные примеры сравнения быстродействия разработанного метода и существующих базовых представлены на рис.6. Ускорение моделирования составляет не менее десяти раз. Таким образом, основным результатом данной работы является усовершенствование дедуктивно-параллельного метода [1-3] моделирования неисправностей цифровых систем, заключающееся в: 1) создании обобщенной модели процесса дедуктивно-параллельного анализа цифровой схемы на основе процедуры обратной суперпозиции, имеющей линейную вычислительную сложность от числа линий схемы; 2) разработке алгоритмов структурно-функционального анализа цифровых систем в целях определения множества сходящихся разветвлений и реконфигурации структуры для реализации процедуры суперпозиции; 3) создании внутренней интерпретативно-компилятивной модели цифрового устройства для эффективного исправного анализа логических элементов и их неисправностей одиночного константного типа.
12,00 и
\ У
0,00 - гУ* / —■—-■
c432 c499 c880 c1355 c2670 c1908 c3540 c5315 c6288 c7552
♦ Nem 0,65 0,10 0,33 4,11 5,16 7,81 8,68 5,80 6,24 9,93
—л—МОМ 0,003 0,003 0,003 0,006 0,009 0,017 0,028 0,088 0,208 0,167
-■—ДПМ 0,005 0,014 0,011 0,025 0,053 0,169 0,272 0,772 0,905 1,314
—TT 1,00 1,90 2,40 4,50 6,50 7,60 7,80 8,00 8,90 9,10
Рис. 6. Анализ быстродействия: Nem — система Nemesis; TT— Turbo Tester; ДПМ — дедуктивнопараллельный метод; МОМ — BDP-метод обратного моделирования
Литература: 1. Hahanov V.I., Babich A.V., Hyduke S.M. Test Generation and Fault Simulation Methods on the Basis of Cubic Algebra for Digital Devices. Proceedings of the Euromicro Symposium on Digital Systems Design DSD2001. Warsaw, Poland. September, 4-6, 2001. P. 228235. 2. Хаханов В.И., Хак X.M. Джахирул, Масуд М.Д. Мехеди. Модели анализа неисправностей цифровых систем на основе FPGA, CPLD / / Технология и конструирование в электронной аппаратуре. 2001. № 2. С. 3-11. 3. Хаханов В.И., Сысенко И.Ю., Хак Х.М. Джахирул, Масуд М.Д. Мехеди. Кубическое моделирование неисправностей цифровых проектов на основе FPGA, CPLD / / Радиоэлектороника, информатика, управление. 2001. № 1. С. 123-129. 4. Levendel Y.H., Menon P.S.. Comparison of fault simulation methods — Treatment of unknown signal values // Journal of digital systems. 1980. Vol. 4. P. 443-459. 5. Abramovici M, Breuer M.A. and Friedman A.D. Digital System Testing and Testable Design, Computer Science Press, 1998. 652 p. 6. Хаханов В.И. Техническая диагностика элементов и узлов персональных компьютеров. К.: I3MH. 1997.308 с. 7. Убар Р.Р. Анализ диагностических тестов для комбинационных цифровых схем методом обратного прослеживания неисправностей // Автоматика и телемеханика. 1977. №8. C. 168-176.
Поступила в редколлегию 16.05.2002 Рецензент: д-р техн. наук, проф. Кривуля Г.Ф.
Хаханов Владимир Иванович, д-р техн. наук, профессор кафедры АПВТ ХНУРЭ. Научные интересы: техническая диагностика вычислительных устройств, систем, сетей и программных продуктов. Увлечения: баскетбол, футбол, горные лыжи. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-93-26. E-mail: [email protected]
Колесников Константин Васильевич, ст. преподаватель кафедры КС Черкасского государственного технологического университета. Научные интересы: тестирование цифровых систем и сетей. Увлечения: живопись — постимпрессионизм, поэзия — серебряный век, символизм. Адрес: Украина, 18006, Черкассы, бульв. Шевченко, 460, тел. 43-74-28, e-mail: [email protected]
Хаханова Анна Владимировна, студентка ХНУРЭ. Научные интересы: моделирование и диагностика цифровых устройств. Увлечения: аэробика, литература. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-93-26.
УДК 681.325
ПОЭЛЕМЕНТНЫЙ КОНТРОЛЬ СУММАТОРА С ПЛАВАЮЩЕЙ ТОЧКОЙ
ДРОЗДА.В., БАДРЯ.__________________
Предлагается метод поэлементного функционального контроля сумматора с плавающей точкой, использующий естественные ресурсы организации и функционирования однотактных вычислительных устройств для выполнения приближенных вычислений. Метод обеспечивает построение экономичной самопроверя-емой схемы контроля с возможностью обнаружения ошибок в зависимости от их величины и частоты появления.
1. Введение
Одним из важнейших требований, предъявляемых к современным вычислительным устройствам (ВУ), является достоверность их функционирования, которая обеспечивается средствами и методами функционального диагностирования, выполняющими проверку работоспособности ВУ в процессе их использования по назначению [1].
Данное требование необходимо обеспечить в совокупности с другими требованиями, такими как производительность и диапазон представления чисел. В настоящее время наиболее распространены однотактные ВУ, в которых производительность достигается с использованием матричного распараллеливания вычислений. Расширение диапазона представления чисел привело к переходу от естественной формы к форматам с плавающей точкой.
66
РИ, 2002, № 2
Основным методом функционального диагностирования ВУ является контроль по модулю. Он показывает высокую эффективность при использовании в ВУ с фиксированной точкой, выполняющей арифметические операции без округлений, с полной разрядностью чисел [2].
Менее эффективен этот метод при проверке приближенных вычислений, осуществляемых в ВУ с плавающей точкой. Обработка мантисс в однотактных ВУ ведется с использованием сокращенных операций, которые вдвое или почти вдвое снижают затраты оборудования и времени вычислений. Однако вместе с этим усложняется контроль по модулю, что связано с необходимостью учета теряемых разрядов чисел. Это ведет более, чем к двукратному увеличению относительных затрат оборудования и времени на контроль, а также ограничению применения метода [3].
Кроме того, контроль по модулю не различает ошибки в младших и старших разрядах результата, что становится существенным недостатком для приближенных вычислений. С увеличением объемов вычислений уровень погрешности представления данных постоянно растет, маскируя малые ошибки. В задачах цифровой обработки сигналов, требующих выполнения больших объемов вычислений, негативный эффект от отдельных ошибок, вызываемых сбоями, оказывается меньшим, чем от их обнаружения, приводящего к потере производительности. В решающих такие задачи сбоенечувствительных вычислительных системах целесообразно обнаруживать отказы, вызывающие устойчивое нарушение работоспособности ВУ, и игнорировать кратковременные самоустраняющиеся неисправности — сбои. Следует отметить, что в ВУ с плавающей точкой основная часть неточных разрядов исключается из вычислений в процессе выполнения сокращенной операции или отбрасывается по ее завершению для поддержания формата данных. Однако контроль по модулю выявляет ошибку и в теряемых разрядах.
Ограниченные возможности контроля по модулю для проверки приближенных вычислений инициируют поиск других подходов к решению этой задачи. К таким подходам следует отнести предлагаемый в данной работе поэлементный контроль, рассмотренный на примере сумматора с плавающей точкой.
2. Постановка задачи
Ставится задача разработки метода функционального диагностирования, адаптированного к особенностям приближенных вычислений, выполняемых в однотактных устройствах с плавающей точкой в части обработки мантисс чисел.
Метод должен:
— различать ошибки по их величине, а неисправности — по частоте генерации ошибок;
— обеспечивать построение самопроверяемой схемы контроля;
— использовать для упрощения средств контроля естественные ресурсы, проявляющиеся в организации и функционировании объекта диагностирования.
К естественным ресурсам контроля следует отнести особенности устройства, обусловленные обеспечением в нем характеристик, не связанных с проверкой его работоспособности (производительность, точность, диапазон представления данных и т. д.), однако полезных для выполнения контроля.
3. Основные положения поэлементного контроля
Предлагается метод поэлементного контроля для функционального диагностирования однотактных ВУ с плавающей точкой.
Поэлементный контроль заключается в разбиении устройства на одинаковые элементы и поочередной проверке их работоспособности.
Средства поэлементного контроля содержат блок выбора элемента, блок его контроля и блок управления.
Блок выбора элемента подключается к контрольным точкам всех элементов устройства и по номеру элемента, сообщаемого из блока управления, транслирует значения из контрольных точек данного элемента на входы блока контроля. Контрольными точками элемента являются его входы и выходы. При необходимости к ним могут добавляться и внутренние точки элемента. Выбор элементов осуществляется на мультиплексорах, информационные входы которых соединяются с контрольными точками элементов, а адресные — с выходом блока управления.
Блок контроля элемента проверяет контрольное соотношение, связывающее его контрольные точки. В частности, контрольное соотношение может реализовываться по методу дублирования. В этом случае в состав блока контроля элемента входит дополнительный элемент, входы которого подключаются к соответствующим входам проверяемого элемента устройства, а выходы этих двух элементов сравниваются между собой. Результат сравнения указывает на правильность функционирования элементов.
Блок управления содержит счетчики, формирующие последовательность номеров элементов. Для контроля нескольких типов элементов может быть использован один общий блок управления.
Основу поэлементного контроля составляют его естественные ресурсы, проявляющиеся в организации и функционировании однотактных ВУ.
Полезной для поэлементного контроля особенностью организации однотактных ВУ является однородность элементов и регулярность связей их структуры. Этот ресурс естественный, поскольку закладывается в форме пространственного матричного параллелизма для достижения временного распараллеливания вычислений и соответственно высоких показателей быстродействия.
РИ, 2002, № 2
67
Кроме того, поэлементный контроль, растягивающий процедуру проверки устройства на множество тактов, использует временной ресурс, который имеет место в сбоенечувствительных ВУ при решении задачи обнаружения отказов в процессе функционирования.
Вероятность обнаружения ошибки определяется по формуле
P = Fe • Pe, (1)
где Fe— частота проверки элемента; Pe — вероятность обнаружения ошибки в блоке контроля элемента.
Элементами ВУ могут служить его отдельные разряды или их множества.
Устанавливая различную частоту проверки элемен -тов, можно задавать распределение вероятности обнаружения ошибок по разрядам ВУ и обнаруживать их в зависимости от величины — грубые ошибки обнаруживаются с большей вероятностью, чем малые.
Как было показано в [4], вероятность р обнаружения ошибки в одном такте работы ВУ определяет ожидаемое время обнаружения отказа, порождающего последовательность ошибок, по формуле
т = ln 2 /р, (2)
из которой следует сокращение времени обнаружения отказа при грубых ошибках.
Затраты оборудования блока выбора элемента пропорциональны количеству элементов и количеству контрольных точек элемента, т.е. общему количеству контрольных точек ВУ. Затраты оборудования блока контроля элемента соизмеримы с его сложностью при использовании метода дублирования и меньше для более просто реализуемых методов. Затраты блока управления пропорциональны длине номера элемента, и потому составляют малую часть общих затрат на контроль. При разбиении ВУ на большое количество элементов к малой части затрат следует отнести также реализацию блока контроля элемента, а основные затраты контрольного оборудования приходятся на блок выбора элемента.
4. Объект контроля
Для демонстрации возможностей поэлементного контроля выбрано однотактное устройство для сложения чисел с плавающей точкой:
Afl = A • 2a, Bfl = B • 2b.
Операция сложения включает в себя:
— выравнивание порядков а и b , сопровождаемое вычислением максимального из них s = max(a, b) и выравнивающих разностей da = s- a,db = s- b (одна из них равна нулю);
— арифметический сдвиг мантисс слагаемых A = A{1 + n} • 2_n , B = B{1 + n} • 2_n соответственно на da и db позиций вправо (в сторону младших разрядов) с вычислением сдвинутых мантисс
68
Ash = Ash{1 - n} •2 n и Bsh = Bsh{1 -n} • 2 n по формулам Ash = A • 2_da , Bsh = B • 2_db ;
— сложение сдвинутых мантисс: S = Ash + Bsh, что определяет их сумму S = S{1 + n} • 2_n и результат сложения чисел с плавающей точкой (без нормализации) Sfl = S • 2s.
Арифметический сдвиг мантисс является частным случаем операции умножения и выполняется с сокращением вычислений на комбинационном арифметическом сдвигателе. Операция арифметического сдвига состоит из трех действий, которые на примере мантиссы A содержат:
— отбрасывание da младших разрядов A{n - da +1 + n} мантиссы,
— заполнение высвобождаемых позиций с весами 2 _1 + 2 _da знаковым разрядом в случае обратного или дополнительного кодов мантиссы,
— смену весов разрядов A{1 + n - da} мантиссы с 2_1 + 2_n+da до 2_da_1 + 2_n, т. е. в 2da раз.
Сокращенная операция в сравнении с операцией длинного сдвига, определяющей полный 2n -разрядный результат Af = Ash {1 + 2n} • 2_2n без потери младших разрядов, уменьшает вдвое затраты оборудования на сдвиг, а также усложняет контроль по модулю.
Таким образом, операция сложения с плавающей точкой сводится к операциям сложения и сдвига, выполняемым над мантиссами и порядками слагаемых. В однотактном устройстве для реализации этих операций используются многоразрядные сумматоры и сдвигатели. Они имеют регулярную однородную структуру, способствующую применению поэлементного контроля.
5. Поэлементный контроль многоразрядного сумматора
Рассмотрим n -разрядный сумматор. Он состоит из последовательно соединенных по цепи переноса одноразрядных сумматоров. При использовании средств ускоренного переноса его структура усложняется, однако поддерживает регулярность связей и однородность элементов по отношению к входам и выходам, сохраняющим принадлежность к одноразрядным сумматорам.
Слагаемые A, B , перенос C и сумма S представляются множествами разрядов соответственно:
{a0, •**ai, •**an-1} , {b0, •**bi,--Фn-1} ,
{c0, —Pi vPn-1} и {s0,."si,."sn-1} .
Для выполнения поэлементного контроля n -разрядного сумматора определим:
— один разряд сумматора в качестве элемента ВУ;
— метод дублирования для проверки элемента.
Элемент i, i = 0 + n -1 содержит 5 контрольных точек: входы ai, bi, Pi и выходы суммы si и переноса Pi = Pi+1 из множества {p0 ,...Pi ,---Pn-1}.
РИ, 2002, № 2
Блок выбора элемента содержит 5 мультиплексоров, вычисляющих под управлением номера элемента i его контрольные точки по формулам
ai = MX({ao ,...ai ,...an _!}, i); bi = MX({bo ,...bi ,...bn-i}, i); ci = MX({co ,...pi ,...pn-i}, i);
Pi = MX({po ,...Pi ,...Pn-i}, i);
Si = MX({so, ...Si ,...Sn-1}, i),
где MX — функция мультиплексора. Первый и второй аргументы функции — упорядоченное множество разрядов на информационных входах мультиплексора и код его адреса.
Мультиплексор выбирает разряд с порядковым номером, равным коду адреса. Порядковый номер разрядов отсчитывается от нуля и для данных формул совпадает с их индексом.
Блок контроля элемента содержит полный сумматор в качестве дополнительного элемента и схему сравнения.
Полный сумматор выполняет вычисления над контрольными точками входов ai, bi, Ci и вычисляет дублирующие значения p и s переноса и суммы, например, по следующим формулам:
p = ai л bi v ai л Ci v bi л Ci; s = ai © bi © Ci.
Основные и дублирующие контрольные точки выходов сравниваются между собой. Результатом
сравнения является код контроля Ei {ei, Є2}, разряды которого вычисляются на самопроверяемой схеме сравнения по формулам [i]
ei = p л s v -.pi л -.Si; Є2 = p a -.Si v -p л s .
Разряды кода контроля принимают противоположные значения при правильной работе ВУ и средств контроля, и одинаковые—при обнаружении ошибки.
Для обеспечения самопроверяемости блок управления формирует два кода номера очередного элемен -та на двух комплектах счетчиков и подает их на управление различными мультиплексорами. При сбое счетчиков одного из комплектов мультиплексоры выбирают контрольные точки разных элементов, что помогает обнаружить неисправность блока управления и гарантирует полную проверку элементов ВУ.
6. Поэлементный контроль параллельного сдвигателя
Рассмотрим параллельный сдвигатель на d позиций в сторону младших разрядов для числа A, представленного множеством разрядов {ao, ai,...ai,...an}, где ao — разряд знака. Он состоит из множества одинаковых мультиплексоров j = i + n, вычисляющих множество разрядов {agh i, agh j, ...ash .n} сдвинутой мантиссы A sh по формуле
ash .j = MX ({ai >—aj > ao.i >—ao.n - j }>d),
РИ, 2QQ2, № 2
где ao.i ,...ao.n - j — значения разряда знака ao. Знак сдвинутой мантиссы aSho = ao .
Поэлементный контроль сдвигателя, использующий один разряд — мультиплексор — в качестве элемента и дублирование для проверки разряда, описан в [5].
Разряды кода контроля E2 {ei, Є2} определяются по формулам
ei = MX({ai,...an},i-d) при i > d, ei = ao при i < d ,
e2 — ^MX({ash.i;."ash.n},i), вычисляющим прямое и инверсное значения разряда результата, выбранного соответственно из множества разрядов исходной и сдвинутой мантиссы.
7. Оценка полученного решения
Оценим полученное решение по вероятности обнаружения ошибок, времени обнаружения отказа, затратам оборудования и быстродействию средств контроля.
Проверка элементов сумматора и параллельного сдвигателя выполняется методом дублирования, что позволяет считать Pe = i. Тогда, согласно (i), вероятность обнаружения ошибки р оценивается частотой Fe проверки элемента. Выбор распределения частоты Fe по разрядам устройства является отдельной задачей, которая не рассматривается в данной работе. Однако возможность задания различных частот проверки элементов — важное качество метода контроля приближенных вычислений, поскольку позволяет обнаруживать ошибки в зависимости от их величины. Для этого элементы, вычисляющие старшие разряды мантисс, проверяются чаще, чем элементы в младших разрядах. При равновероятном выборе элементов с частотой Fe = i/n вероятность Р = i/n . Например, для
n = 32 и n = 64 вероятность Р составляет o,o3i и o,oi6, что означает высокую вероятность необнаружения сбоев — o,969 и o,984, соответственно.
Время обнаружения отказа определяется согласно (2) и составляет для указанных разрядностей n соответственно 23 и 45 тактов работы сумматора или параллельного сдвигателя.
Оценим затраты оборудования по сравнению с контролем по модулю, а также относительно проверяемого устройства.
Основные затраты оборудования схемы контроля приходятся на мультиплексоры, сложность которых можно оценить пропорциональной количеству информационных входов n . При соотношении i/ 2 сложности мультиплексора к сложности qs n -разрядного сумматора схема его поэлементного контроля, содержащая 5 мультиплексоров, составляет 2,5qs. В контроле по модулю основные затраты оборудования приходятся на формирователи контрольных кодов двух слагаемых и суммы, каждый из которых по сложности соизмерим с n -разрядным сумматором. Схема контроля по моду-
69
лю в целом оценивается как 3qs, что превышает затраты на поэлементный контроль в 1,2 раза. В поэлементном контроле параллельного сдвигателя используется 2 мультиплексора, что составляет (2 / n) -ю часть его оборудования. Относительные затраты на контроль параллельного сдвигателя по модулю оцениваются как 8 /п [6]. Следовательно, контрольное оборудование уменьшено в 4 раза. Затраты оборудования на контроль сумматора с плавающей точкой находятся в линейной зависимости от разрядности операндов при квадратичных затратах основного устройства.
Быстродействие схем поэлементного контроля оценивается временем задержки выдачи кода контроля по отношению ко времени выдачи результата. Это время складывается из задержки мультиплексора, подключающего выходы элемента к блоку его контроля, и узла сравнения этих выходов с выходами дублирующего элемента в составе блока его контроля. Такая задержка существенно меньше времени свертки по модулю результата, выполняемой для формирования кода контроля по модулю.
8. Заключение
Выполнение приближенных вычислений в ВУ с плавающей точкой имеет ряд особенностей, существенно меняющих требования к их функциональному диагностированию. К таким особенностям относится отбрасывание и частичное накопление младших неточных разрядов, что ведет к потере ошибок в этих разрядах или к их маскированию возрастающим уровнем погрешности.
В этих условиях снижается эффективность использования контроля по модулю.
Предлагаемый метод поэлементного контроля обеспечивает функциональное диагностирование ВУ с
УДК 519.92
ИССЛЕДОВАНИЕ ВЛИЯНИЯ ГЕОМЕТРИЧЕСКИХ СВОЙСТВ ВЕКТОРА ПРИЗНАКОВ ПРИ РАСПОЗНАВАНИИ ПЛОСКИХ ФИГУР
БЕЛАН С.Н., КОНДРАТЕНКО Н.Р.,
АЛЬ-ЗОУБИ САЛИМ
Рассматривается способ распознавания изображений плоских геометрических фигур, основанный на выделении заданного набора признаков и сравнении с эталонными значениями. Исследуется влияние площади изображения фигуры на процесс распознавания.
1. Введение
Одним из самых сложных процессов при переработке информации человеком считается процесс распознавания образов, который заключается в необходимости выделения смысла из определенного количества сенсорных данных, поступающих на вход системы [1-5]. Наиболее распространенный метод распознавания — сравнение с эталоном,
70
плавающей точкой проще и быстрее в результате использования естественных ресурсов организации и функционирования устройства—однородности и регулярности структуры его блоков, а также времени обнаружения отказа. Метод позволяет выполнить обнаружение ошибок с учетом их величины и частоты появления.
Литература: 1. Согомонян Е.С., Слабаков Е.В. Самопро-веряемые устройства и отказоустойчивые системы. М.: Радио и связь, 1989. 208 с. 2. Журавлев Ю.П., Котелюк Л.А., Циклтскш М.И. Надежность и контроль ЭВМ. М.: Сов. радио, 1978. 416 с 3. Дрозд А.В. Контроль по модулю однотактного умножителя с сокращенным выполнением операции // Электронное моделирование. 1998. Т. 20, № 3. С. 90-98. 4. Дрозд А.В., Аль-Аззех Р. Функциональное диагностирование сбоенечувствительных вычислительных устройств // Тр. Одес. политехи. ун-та. Одесса, 1996. Вып. 2. С. 18-20. 5. Дрозд А.В., Лобачев М.В. Функциональное диагностирование параллельного арифметического сдвигателя // Тр. Одес. политехи. ун-та. Одесса, 1997. Вып. 2. С. 27-29. 6. Drozd A. V., Lobachev M. V. Efficient On-line Testing Method for Floating-Point Adder. // Proceedings. Design, Automation and Test in Europe. Conference and Exhibition 2001 (DATE 2001). Munich, Germany, 13-16 March 2001. P. 307-311.
Поступила в редколлегию 16.05.2002 Рецензент: д-р техн. наук, проф. Кривуля Г.Ф.
Дрозд Александр Валентинович, канд. техн. наук, доцент, профессор кафедры компьютерных интеллектуальных систем и сетей ОНПУ. Научные интересы: функциональное диагностирование вычислительных устройств. Адрес: Украина, 65044, Одесса, пр. Шевченко, 1, тел.: (0482) 49-50-81, е-mail: [email protected].
Бадр Яароб, аспирант кафедры компьютерных интеллектуальных систем и сетей ОНПУ. Научные интересы: функциональное диагностирование однотактных вычислительных устройств. Адрес: Украина, 65044, Одесса, пр. Шевченко, 1, тел.: (0482) 28-86-63.
который хранится в долговременной памяти [2,3,5]. Однако известно также много других гипотез распознавания, доказывающих свою эффективность [1-6].
Широкую популярность получила также гипотеза распознавания, основанная на анализе признаков, преимуществом которой является сокращение количества эталонов путем выделения набора признаков, позволяющих описывать широкий круг образов. Одной из первых теоретических моделей, основанных на анализе признаков, является система “Пандемонимум” [7].
Кроме того, к настоящему моменту разработано и исследовано множество методов и структур по распознаванию изображений [3,5], однако лишь немногие из них применимы к распознаванию изображений объектов, изменивших свою ориентацию в поле входной апертуры системы.
Решением задачи распознавания изображений, изменивших свое расположение на входе сенсорного поля, является система “Неокогнитрон” [6], метод подбора признаков для распознавания изображений в среде клеточных апериодических нейроавтоматов (КАНА) [8-13] и многие другие.
РИ, 2002, № 2