Содержание к диссертации
Введение
Глава 1. Обзор методов построения и анализ точностных характеристик аналого-цифровых вычислительных устройств 17
1.1. Классификация аналого-цифровых вычислительных устройств 19
1.2. Анализ погрешностей аналого-цифровых вычислительных устройств 30
1.3. Сравнительный анализ погрешностей выполнения арифметических операций в системах ЦАП-АВМ-АЦП, АЦП-ЦВМ-ЦАП и АЦВУ 44
1.4. Программно-алгоритмические методы увеличения точности вычислений 50
Глава 2. Реализация вычислений по методу разделения исходных операндов на аналого-цифровых вычислительных устройствах 58
2.1. Анализ возможности увеличения точности результата операции методом разделения исходных операндов на аналого-цифровых вычислительных устройствах 59
2.2. Формирование контрольных разрядов полного результата и частичных результатов операции 66
2.3. Методы восстановления результатов вычислений при симметричном разделении исходных операндов 74
2.4. Методы восстановления результатов вычислений при асимметричном разделении исходных операндов 83
Глава 3. Анализ эффективности вычислений по методу разделения исходных операндов для различных вариантов восстановления результата вычислений 93
3.1. Анализ эффективности вычислений при симметричном разделении исходных операндов и восстановлении результатов 93
3.2. Анализ эффективности вычислений при асимметричном разделении исходных операндов и симметричном восстановлении результата 104
3.3. Анализ эффективности вычислений при асимметричном разделении исходных операндов и коррекции по определению позиции сформирования погрешности на основе контрольных разрядов ПО
3.4. Анализ эффективности вычислений при различном расположении контрольных разрядов 117
Глава 4. Верификация результатов диссертационной работы посредством программного моделирования 128
4.1. Моделирование выполнения вычислений по методу разделения исходных операндов на примере операции умножения 128
4.2. Моделирование эффективности вычислений при симметричном разделении исходных операндов 135
4.3. Моделирование эффективности вычислений при асимметричном разделении исходных операндов 142
Заключение 148
Список литературы 149
Приложение 155
- Классификация аналого-цифровых вычислительных устройств
- Анализ возможности увеличения точности результата операции методом разделения исходных операндов на аналого-цифровых вычислительных устройствах
- Анализ эффективности вычислений при симметричном разделении исходных операндов и восстановлении результатов
- Моделирование выполнения вычислений по методу разделения исходных операндов на примере операции умножения
Введение к работе
В настоящее время средства вычислительной техники широко применяются во всех отраслях народного хозяйства, науки и техники. Электронные вычислительные машины в зависимости от представления и переработки информации принято разделять на три основных класса: цифровые, аналоговые и комбинированные машины. Создание комбинированных (аналого-цифровых) вычислительных машин преследует цель объединить преимущества как аналоговых (быстродействие, простота, надежность), так и цифровых (точность, решение логических задач) машин.
Одной из особенностей современных систем автоматизированного управления
(САУ) процессами и объектами является разнородный характер представления
информации, т.е. смешение цифровой и аналоговой форм. При этом
непосредственное использование в САУ аналоговых и цифровых вычислительных машин затруднено, что привело к использованию гибридных (комбинированных) средств вычислительной техники. В сфере проектирования комбинированных вычислительных структур большая работа проведена зарубежными учеными: Векеу G. A., Karplus W., Korn G. А., Кога Т. М., Кабеш К.; и российскими учеными: Смоловым В. Б., Преснухиным Л. П., Фомичевым В. С, Пуховым Г. К., Бархоткиным В. А., Бажановым Е. И, Чернявским Е. А. и многими другими. Комбинированные вычислительные машины реализуются на основе: а) сочетания аналоговых и цифровых вычислительных устройств; б) элементов с неразделимыми аналоговыми и цифровыми признаками.
Использование вычислительных машин САУ, реализованных по принципу (а), приводит к избыточным структурам с наличием преобразователей информации. Известно, что вычислительные машины, реализованные по принципу (б), построены на основе преобразователей информации (Ульянов В. И, [1]), так как преобразователи информации способны выполнять отдельные арифметические операции [2, 11]. Смолов В. Б., Бархоткин В. А., Бажанов Е. И, Воробьев Н. В и другие разработали ряд аналого-цифровых вычислительных устройств, построенных на базе преобразователей информации, что дает возможность избежать аппаратной избыточности при проектировании вычислительных структур.
Аналого-цифровое вычислительное устройство АЦВУ [1] целесообразно применять в САУ, так как АЦВУ имеет следующие преимущества:
Исключение типовой ЭВМ из состава вычислительной системы САУ упрощает ее структуру вычислительных систем, что позволяет уменьшить аппаратные затраты САУ;
Непосредственная обработка информации в смешанной форме уменьшает время преобразования информации и погрешность преобразования, что позволяет увеличить быстродействие вычислителя.
Эти свойства устраняют ряд проблем при автоматизации систем управления: увеличение аппаратных затрат, относительную сложность вычислительных систем, увеличение стоимости.
Для развития САУ главным вопросом является улучшение характеристического вектора, состоящего из трех взаимосвязанных параметров комбинированных вычислительных устройств: точность, быстродействие и аппаратные затраты. Поэтому улучшение любого из этих трех параметров является важной научно-технической задачей.
На рис (В-1) показан характеристический вектор, состоящий из трех взаимосвязанных параметров при проектировании вычислительных структур. При этом улучшение одной из указанных основных характеристик вычислительных устройств возможно лишь за счет ухудшения других.
Аппаратные затраты
Г точность J) <^ у (^быстродействие")
Рис В-1. Характеристический вектор вычислительных структур. Исходя из этого, точность выполнения арифметических операций на аналого-цифровых вычислительных устройствах может быть увеличена либо за счет
схемотехнических усложнений, что приведет к увеличению аппаратных затрат, либо за счет уменьшения быстродействия.
Известны следующие методы увеличения точности при выполнении арифметических операций на вычислительных устройствах:
- параметрические методы увеличения точности вычислений: применение
более высококачественных (и, соответственно, дорогих) элементов и узлов без
принципиального изменения структуры и алгоритма работы вычислительного
устройства;
- структурные методы увеличения точности вычислений: улучшение
технических характеристик оборудования за счет совокупности дополнительных
аппаратных и программных средств. Структурные методы оказываются зачастую
дешевле, чем параметрические за счет того, что не требуют применения
прецизионных узлов.
- программно-алгоритмические методы увеличения точности вычислений:
организация вычислительных процессов специальными принципами и введением
временной избыточности. Например, к таким методам относятся вычисление с
разделением исходных операндов на несколько частей [3], согласование отсчетов в
двухотсчетных вычислениях [4] и коррекция результата операции на основе
арифметических кодов [5].
Исследования показали, что арифметические операции на аналого-цифровых вычислительных устройствах, реализованных по принципам (а) и (б), выполняются с погрешностями как показано в таблице 1. В таблице показано соотношение погрешностей выполнения арифметических операций в двух архитектурах АЦП-ЦВМ-ЦАП и АЦВУ, где гіщп, т]ЦАП - погрешность АЦП и ЦАП, rjЦАП <г]ЩП.
Таблица 1. Соотношение погрешностей выполнения арифметических операций в реализованных принципах АЦП-ЦВМ-ЦАП и АЦВУ.
Из таблицы видно, что в любых структурах аналого-цифровых вычислительных устройств операции над смешанными операндами выполняются с погрешностями. При этом разработка принципов организации вычислительных процессов, которые увеличивают точность выполнения операций аналого-цифровых вычислительных устройств, является актуальной.
Целью настоящей работы является разработка методики вычислений на аналого-цифровых устройствах по методу разделения исходных операндов, обеспечивающей увеличение точности выполнения операций.
Поставленная цель исследований требует решения следующих основных задач:
Разработка способов разделения исходных операндов на аналого-цифровых вычислительных устройствах.
Анализ возможных вариантов восстановления полного результата вычислений.
Разработка вариантов компенсации погрешностей результатов вычислений.
Анализ зависимости погрешностей результатов от способов разделения исходных операндов и вариантов восстановления полного результата.
Анализ зависимости погрешностей от вариантов их компенсации.
Верификация результатов исследования посредством моделирования средствами.
Методы исследования. Основные результаты работы получены на основе применения теории погрешностей, теории вероятности, теории вычислений по принципу разделения операндов, метода графического программирования и теории имитационного моделирования.
Научная новизна работы. Наиболее значимые научные результаты диссертационной работы заключаются в следующем:
Предложен принцип формирования контрольных разрядов при симметричном и асимметричном разделениях исходных операндов.
Исследованы варианты восстановления полного результата и разработана методика коррекции результата вычислений на основе анализа контрольных разрядов.
Определена зависимость точности результата от вариантов его формирования и места расположения контрольных разрядов.
Разработана методика вычислений по принципу симметричного и асимметричного разделения исходных операндов для аналого-цифровых устройств.
Практическая ценность. Результаты, полученные в работе, позволяют увеличить точность вычислений на комбинированных вычислительных устройствах. Разработанные методики позволяют реализовать метод разделения операндов на аналого-цифровых вычислительных устройствах. В результате точность вычислений аналого-цифровых вычислительных устройств может быть доведена до 16 и 22 эквивалентных разрядов. Это расширяет область практического применения аналого-цифровых вычислительных структур.
Реализуемость предложенных методов подтверждена результатами аналитического и компьютерного моделирования.
Применение разработанных методов позволяет увеличить точность вычислений аналого-цифровых вычислительных устройств без требования дополнительных аппаратных затрат.
Апробация работы. Основные результаты работы представлены и обсуждены на ряде научно-технических конференций, в частности:
Всероссийская межвузовская научно-техническая конференция студентов и аспирантов "Микроэлектроника и Информатика", Зеленоград, Москва, 2006 г., 2007 г., 2008 г.
Научная сессия МИФИ "Информатика и процессы управления. Компьютерные системы и технологии", Москва, 2008 г.
Публикации. По результатам исследований, выполненных в диссертационной работе, опубликовано 11 печатных работ, в том числе 4 статьи и 1 заявка на патент.
Основные положения, выносимые на защиту. На защиту выносятся следующие результаты исследований:
Принципы симметричного и асимметричного разделения исходных операндов;
Варианты восстановления результата операций:
Методика коррекции результата на основе анализа контрольных разрядов:
Зависимость точности результата от вариантов восстановления результата и места расположения контрольных разрядов.
Объем и структура работы. Работа состоит из введения, четырех глав, заключения, и списка литературы, включающего 73 наименований и изложена на 158 страницах машинописного текста, содержит 24 таблиц, 36 рисунков и графиков.
В первой главе проведен обзор принципов построения аналого-цифровых устройств и анализ их погрешностей выполнения арифметических операций. Дана классификация аналого-цифровой вычислительной техники, которая разделена на аналого-цифровые вычислительные устройства и комплексы. Под аналого-цифровыми вычислительными устройствами подразумеваются устройства с дискретно управляемыми параметрами (резисторные ВУ и индукционно-резисторные ВУ) и аналого-цифровые вычислительные устройства с непрерывно импульсными параметрами (время-импульсные ВУ, частотно-импульсные ВУ и число-импульсные ВУ). Аналого-цифровые вычислительные комплексы включают комплексы, сочетающие АВУ, ЦВУ и КВУ и комплексы, сочетающие решающие элементы АРЭ, ЦРЭ и КРЭ. В свою очередь, в зависимости от составляющей вычислительной части
аналого-цифровая вычислительная техника разделена на аналоговые составляющие части (АВМ с цифровым управлением и АВМ с цифровыми блоками) и цифровые составляющие части (ЦВМ с аналоговой структурной и ЦВМ с аналоговыми решающими устройствами).
Проведен анализ погрешностей комбинированных вычислительных устройств. Установлено, что для увеличения точности на основе метода вычисления с двойной разрядной сеткой и методики коррекции с помощью анализа контрольных разрядов необходимо определить значение погрешности с целью назначения места расположения контрольных разрядов. Поэтому для примера определены случайные и систематические погрешности аналого-цифрового арифметического устройства ЛЦАУ, построенного на базе преобразователей информации. Результаты анализа показали, что на АЦАУ операция умножения со сложением выполняется с систематической погрешностью (0,091%), что эквивалентно десяти достоверным двоичным разрядам и операция деления со сложением выполняется с систематической погрешностью (0,11%), что эквивалентно двенадцати достоверным двоичным разрядам.
Далее проведен анализ точностных характеристик комбинированных вычислительных систем на основе двух архитектурных решений: системы АЦП-ЦВМ-ЦАП и системы, построенной по принципу совмещения выполнения на преобразователях информации, как преобразовательных, так и арифметических операций. Результаты анализа показали, что на комбинированных вычислительных устройствах операции над операндами в смешанной форме представления выполняются с погрешностями.
Рассмотрены программно-алгоритмические методы увеличения точности вычислений, такие как, метод вычисления с двойной разрядной сеткой, метод устранения погрешности введением охранных разрядов, методика коррекции результатов на основе анализа двух отсчетов и арифметические коды, корректирующие ошибки операций. Из перечисленных методов в диссертации предложено рассмотреть метод двойной разрядной сетки для увеличения точности комбинированных вычислительных устройств.
Сформулированы основные задачи дальнейшего исследования, которые решаются в последующих главах, а именно:
Исследование способов увеличения точности вычислений на основе симметричного и асимметричного разделения исходных операндов.
Исследование возможных вариантов восстановления результата вычислений по принципу разделения исходных операндов.
Разработка методики коррекции результатов операции.
Исследование зависимости точности результатов от вариантов восстановления, способа разделения и места расположения контрольных разрядов.
Верификация результатов исследований посредством программного моделирования.
Во второй главе исследована возможность реализации метода разделения исходных операндов на аналого-цифровых вычислительных структурах. Для реализации этого метода, на примере операции умножения, необходимо: 1) частичные произведения должны выполняться без погрешностей; 2) восстановление полного произведения (сумма частичных произведений) также должно выполняться без погрешностей. Однако, в комбинированных вычислительных устройствах результаты любых арифметических операций отягчены погрешностями. Поэтому очевидно, что непосредственное использование метода вычисления с двойной разрядной сеткой в комбинированных вычислительных устройствах невозможно. В данной работе предложен метод, основанный на формировании результата путем замены младшей части полного произведения младшей частью суммы частичных произведений, как показано на рисунке В-2.
Полное произведение 123 .А ККК...П
Сумма частичных произведений 12 3 Л. К К К ... п ... 2п
Рис В-2. Формирование результата операции сочленением полного произведения с
суммой частичных произведений.
Увеличение точности, при этом, ожидается за счет меньшей инструментальной погрешности суммы частичных произведений. Однако, наличие погрешности в полном произведении хможет вызвать изменение старших разрядов этого результата, например, 000 111+1=001 000 или 010 000-1=001 111 для величин, представленных в двоичном коде. В таких случаях простая замена младшей части результата приведет к увеличению его погрешности вместо ее уменьшения. Поэтому в данном разделе предложена методика коррекции старшей части для компенсации ее погрешности на основе анализа различных сочетаний одинаково сформированных частей полного произведения и суммы частичных произведений. Одинаково сформированные разряды условно можно назвать '"контрольными разрядами".
Следует отметить, что в данной работе цифровое представление взято исключительно для удобства интерпретации и формализации результатов, а все рассуждения ориентированы на смешанную аналого-цифровую форму представления информации. Речь идет о том, что в аналого-цифровом арифметическом устройстве умножение и сложение операндов, представленных в виде напряжения и цифрового кода или операндов, представленных в виде напряжений, выполняются в умножающем ЦАП, где результат в виде напряжения формируется с погрешностью. В работе представлен эквивалент этого напряжения в виде разрядной сетки, т. к. это наглядный способ рассуждений, оперирующих понятием "квантов напряжений". Для коррекции старшей части аналогового результата необходимо сформировать квант напряжения и вычесть или добавить его к результату.
Далее во второй главе разработаны и исследованы различные способы формирования контрольных разрядов для различных вариантов разделения исходных операндов. При симметричном (Ncm = NM1) разделении одинаково сформированные
разряды начинаются со старшего разряда. При асимметричном (Ncm^NMJ или
(Ncm
начинаются с (2Ncm + l) разряда. При {Nacm^Nhcm) с (Nacm +Nh_cm + 1) разряда, где
Мст>Млт, Na cm,Nb ст- количество разрядов старшей и младшей части
соответствующих операндов о к Ь.
Номера контрольных разрядов целесообразно назначать в зависимости от максимального значения погрешности операции. Например, если величина максимальной систематической погрешности выполняемой операции соответствует погрешности от-го разряда, то контрольными должны быть (от-2),(от-1),ш разряды, где т<п, п~ разрядность вычислительного устройства.
В диссертации предложены и исследованы 4 варианта восстановления результата вычислений при симметричном и асимметричном разделении исходных операндов и соответственно вариантами восстановления результата получены 4 таблицы коррекции.
Восстановление результата при асимметричном разделении может быть выполнено по 4 вариантам восстановления результата. Кроме этого разработана методика восстановления и коррекции результата сочленением старшей части полного произведения (без контрольных разрядов) с суммой частичных произведений. При асимметричном разделении нет необходимости учитывать погрешность частичного перемножения (аст»Ьст), где аст,Ьип- старшие части операндов а и Ь. При этом
анализ истинного значения контрольных разрядов становится более простим, а результат получается более точным.
Третья глава посвящена анализу эффективности вычислений по принципу симметричного и асимметричного разделения исходных операндов и по месту расположения контрольных разрядов.
В диссертации проведен анализ зависимости точности результата вычислений от вариантов его восстановления для различных сочетаний контрольных разрядов полного произведения и суммы частичных произведений при симметричном разделении исходных операндов.
Эффективность использования различных вариантов восстановления результата определяется вероятностью того, что после его коррекции точность останется на первоначальном уровне т разрядов. Тогда эффективность вычислений можно оценить по формуле
jil-nt-2N„, ^«-«t-2W„, 2"'"k 2"~"l~2N'm 2"
гд-е 5(икмш) - вероятность получения результата после коррекции с т-разрядной точностью для каждого сочетания контрольных разрядов, hy возможные варианты изменения из-за погрешности контрольных разрядов суммы частичных произведений, hi- невозможные варианты коррекции из / щ- количество контрольных разрядов. Очевидно, что при данном подходе высокая вероятность по (1) соответствует низкой эффективности варианта коррекции и восстановления результата.
При организации операции симметричным разделением операндов по 4 вариантам восстановления результата эффективность вычислений получена в диапазоне от 27 до 67%, а при организации операции асимметричным разделением эффективность вычислений получена от 97 до 100%
Затем в третьей главе проведен анализ эффективности выполнения операции по методу разделения исходных операндов при различном расположении контрольных разрядов:
(т-2), (т-1), (т);
(т-3), (т-2), (т-1);
(т-1), (т), (т+1).
Эффективность выполнения операции рассматривается на основе точности получаемого результата и сложности реализуемого алгоритма. Выше приведенные результаты получены расположением контрольных разрядов по варианту (а). При расположении контрольных разрядов по варианту (Ь) дает низкую эффективность выполнения операции для многих вариантов восстановления результата, так как в данном варианте трудно определить истинное значение полученными возможными сочетаниями контрольных разрядов.
При расположении контрольных разрядов по варианту (с), в отличие от первых двух вариантов, все сочетания контрольных разрядов вполне возможны, так как при таком расположении один из двух контрольных разрядов (т), (т+1) полного произведения может быть отягчен погрешностью. В результате этого, алгоритм коррекции усложняется. Следовательно, время реализации метода увеличивается.
Итак, можно сделать вывод, что для получения эффекта увеличения точности расположение контрольных разрядов по варианту (а) наилучшее.
В четвертой главе произведена верификация результатов диссертации посредством программного моделирования разработанных методик LabVIEW и MATLAB.
Верификация методика вычисления по принципу разделения операндов произведена на примере асимметричного разделения и коррекции по первому варианту симметричного разделения с помощью LabVIEW.
Далее определены эффективности вычислений для принципов вычислений по асимметричному и асимметричному разделению операндов. При симметричном разделении для 4 вариантов восстановления результата эффективность вычислений можно определить математической моделью:
sliapuaM::J =[і-((у^Л +^, + A s2 +|)/с,)].іоо%
„46.2е+16.S, , 2.^ + 14.^,^ Л1 лппо/
seap,iaHm_2 = Р -((——ь—L+—^їті—1)/Q)].ioo%
_ Д2С+^ + ) , 14.5,+2..
вариант_3 L W ^ л/і ^b + \
saaPuaiim> = [\-(( у~ Л 2J+ Li, -4)/Q)].100%
14.2е 16 _ 14
—r-+ tS, +-7
2h 3.2* 2*
Seapua„m_,=i\-(O + ^r- + T^Sl+^r.S])/Ck)]A00%
Для асимметричного разделения и восстановления результата по 4 вариантам эффективность вычислений определяется следующими формулами:
вариант _\
saapu^2 =[i-((16-2Cl14-2C+')/Q)].ioo%
2" ' 2h
s„_3=И - ((V+2.-^-)/ед 100%
^„_4=[i-((i+-p-)/ct)].ioo%.
где a = n,b = n-nk,c = n-nk-2.Ncm, Sl=2b-2c+{ +— + 2C, Ck = 5.2"J - количество возможных сочетаний контрольных разрядов, где я, >2 и погрешность не выше ± 1
младшего контрольного разряда. S2 = 2* - 2t+1 + +2е, 53 = 2Ь - 2С+1 + 2е,S4 = 2* + .
В заключении сформулированы основные выводы и полученные результаты.
В приложениях представлены фрагмент программы имитационного моделирования методики вычислений по принципу разделения операндов, фрагмент программы имитационного моделирования зависимости эффективности вычислений от принципов разделения операндов, от количества контрольных разрядов и от количества разрядов старшей части, а также акты использования результатов диссертационной работы.
Классификация аналого-цифровых вычислительных устройств
Одной из особенностей современных систем автоматизированного управления (САУ) производственными процессами и объектами является разнородной характер представления информации (сочетание аналоговой и цифровой форм) [7, 8, 9, 10, 11]. Указанное обстоятельство затрудняет непосредственное применение в САУ аналоговых (АВУ) и цифровых (ЦВУ) вычислительных устройств или машин (АВМ) и (ЦВМ). Поэтому реализация САУ принадлежит комбинированной (аналого-цифровой) технике. В связи с этим последнее тридцатилетие характеризуется все возрастающим вниманием разработчиков и пользователей средств и методов вычислительной техники к возможностям создания средств комбинированной вычислительной техники (КВТ). КВТ позволяет при решении конкретных задач наиболее эффективно использовать положительные качества АВМ (быстродействие и оперативность процесса подготовки и выполнения вычислений) и ЦВМ (точность, универсальность в отношении класса решаемых задач и широкие логические возможности) при моделировании физических систем, процессов и управления последними.
Однако следует подчеркнуть, что попытка создания средств ВТ, одновременно обладающих положительными характеристиками ЦВМ и АВМ. не имеют основания, так как указанные характеристики крайне противоречивы: повышение точности и обеспечение универсальности неизбежно приводит к потере быстродействия и увеличению аппаратной избыточности. Поэтому сравнение характеристик и определение места средств КВТ по отношению к средствам АВТ и ЦВТ должно носить конкретный характер в зависимости от требуемых параметров и класса вычислительного процесса, подлежащего автоматизации.
К средствам КВТ относятся устройства, приборы, машины и системы, использующие при реализации конкретного вычислительного процесса, в общем случае, одновременно различные физические носители информации (перемещение деталей, электрические и оптические сигналы и т.д.): различную форму представления информации- дискретную и импульсно-непрерывную; различные методы математической переработки информации- аналоговый (моделирование на основании подобия явлений и процессов) и цифровой (арифметические и логические операции над кодами).
Комбинированная вычислительная техника КВТ может быть классифицирована, с одной стороны, на основе реализуемой техники вычислений (рис 1.1.1), с другой стороны, на составляющей вычислительной части (рис 1.1.2).
Классификация комбинированной вычислительной техники на основе составляющей вычислительной части. Одним из представителей комбинированных вычислительных устройств является аналого-цифровое вычислительное устройство АЦВУ [12-24,1]. АЦВУ построено на основе двух принципов: аналого-цифровом комбинировании, начиная с низших иерархических уровней; совмещении на одном оборудовании вычислительных операций и операций преобразования формы представления информации. Известно [2], что преобразователи информации способны выполнять отдельные арифметические операции (ЦАП- умножение и АЦП- деление). Отсюда следует идеология построения АЦВУ. Принцип формирования архитектуры АЦВУ представлен на рис 1.1.3.
Использование АЦВУ позволяет избежать структурной избыточности с применением преобразователей информации [25] за счет исключения типовых аналоговых или цифровых ЭВМ в качестве вычислительных устройств САУ.
Объединение АЦП и ПАП не представляет технических не представляет технических трудностей, так как большинство АЦП имеют в своем составе ЦАП. Учитывая арифметические возможности АЦП и ПАП, такой объединенный блок может быть назван аналого-цифровым множительно-делительным устройством АЦМДУ. Использование АЦМДУ в качестве арифметического устройства требует обеспечения его функциональной полноты по номенклатуре выполняемых операций. Очевидно, что арифметическое устройство, кроме операций умножения и деления, должно выполнять операцию алгебраического сложения. Для этих целей АЦМДУ легко дорабатывается схемотехнически и формирует АЦВУ. АЦВУ реализует две базовые тернарные операции где x,y,g- операнды; с- continual; d- digital - форма представления информации. Доказано [26], что система операций обладает функциональной полнотой, т.е. методом суперпозиции входящих в нее тернарных операций можно получить произвольные арифметические операции с произвольной формой представления операндов.
В группе КВУ-НИ непрерывные изменения временного интервала, частоты и единичной числовой последовательности моделируют математические величины, а в качестве физического носителя используется импульсная форма напряжения.
Время-импульсные ВИУ используют для представления информации временные интервалы PI импульсные напряжения, являющиеся аналогами математических переменных. Входные и выходные ВИУ могут быть однородными или представлены сочетанием временных интервалов и напряжений постоянного или переменного тока. ВИУ обеспечивают также возможность представления входных или выходных величин в цифровой форме за счет подсчета импульсов постоянной частоты следования во временных интервалах.
ВИУ обладают малыми габаритами, весом, потребляемой мощностью и определенной универсальностью в отношении форм представления входных и выходных величин; обеспечивают выполнение всех основных математических операций с погрешностью порядка долей процента.
ВИУ выполняются на базе типовых операционных усилителей (ОУ) или мостовых компенсационных схем, импульсных модуляторов и демодуляторов нелинейных развертывающих напряжений на других специфичных узлах. Погрешность выполнения отдельных операций для ВИУ составляет десятые доли процента, а быстродействие- десятки и сони герц.
Частотно-импульсные устройства ЧИУ используют для представления информации импульсные сигналы с переменной частотой, являющейся аналогом математических величин [27]. Разработка вычислительных устройств этого типа вызвана наличием в ряде важных современных систем управления производственными процессами и подвижными объектами датчиков-измерителей с представлением выходной информации в частотной форме. Исключение промежуточных преобразований частотно-импульсных сигналов и напряжения простого тока и использование элементов импульсной и цифровой техники обеспечивают повышение точности и помехоустойчивости управления ЧИУ.
Анализ возможности увеличения точности результата операции методом разделения исходных операндов на аналого-цифровых вычислительных устройствах
Применение данного принципа эффективно для вычислительных устройств, выполняющих арифметические операции с погрешностью половины гс-го (младшего) разряда. Однако, для аналого-цифровых вычислительных устройств, выполняющих арифметические операции с погрешностью в диапазоне от половины (n-l)-ro до (п-2)-го разряда, применение данного принципа не эффективно, так как существенное сужение диапазона представления операндов может привести к ухудшению точностной характеристики.
Арифметические коды: Для коррекции ошибок в устройствах, выполняющих математические операции вычитания, сложения и умножения, наиболее эффективным являются арифметические коды, которые можно подразделить на коды: а) обнаруживающие ошибки; б) исправляющие ошибки.
Идея построения арифметических кодов состоит в том, что в их контрольных разрядах записывают остаток от деления исходного кодируемого числа на некоторое заранее заданное целое число А. При этом все машинные числа можно условно рассматривать как целые. Эти коды обнаруживают все ошибки, за исключением тех, которые кратны выбранному модулю. Арифметичность кодов основана на том, что остаток от деления на А суммы (произведения) должен быть равен сумме (произведению) остатка от деления А исходных чисел, т.е. в этом случае есть прямая связь между контрольными разрядами операндов и результатом операции.
Существует три способа кодирования чисел в арифметических кодах.
Первый способ состоит в нахождении остатка R(N) от деления значения числа N на выбранный модуль А. Например, vV = 1010, А = 3, R(N) = 0\, код 101001. Этот способ кодирования используют, когда контрольные и информационные разряды обрабатываются отдельно.
Второй способ кодирования чисел в остаточных классах состоит в выполнении следующих последовательных операций: 1) задать число контрольных разрядов С; 2) умножить заданное число N на 2е \ 3) вычислить 2еN mod А; 4) сложить 2еN с числом A(2cN)modA (в полученном результате С младших разрядов являются контрольными). Например, ЛГ = 10100,Л = 3,С = 2, код 101010. Этот способ применяют, когда сами числа должны обладать свойствами самоконтролируемости.
Максимальное значение N для кодов, полученных первым и вторым способом, определяется формулой N = 2" с -1, где п- число разрядов в кодовом слове, включая контрольные.
Более эффективно кодирование слов производится третьим способом, в котором (2" -1-А)/A N (2" -1)1 А. При этом способе кодирование состоит из умножения заданного числа N на модуль А. Например, N -1010, Л = 3, код 11110.
В отличие от первого и второго способов кодирования третий способ не имеет отдельно расположенных информационных и контрольных разрядов. При этом способе кодирования получение информационных разрядов возможно лишь после деления кодового слова на модуль
Для организации контроля арифметических операций (сложения и умножения) в машинах помимо обычного арифметического устройства для операндов нужно иметь дополнительное оборудование: а) сумматоры (умножители) для остатков операндов; б) схему быстрого определения остатка от деления суммы (произведения) на модуль А; в) схему сравнения суммы (произведения) остатков операндов с остатком их суммы (произведения).
Для характеристики ошибок, возникающих в арифметических операциях, удобно ввести понятие численного значения ошибки еа, равного числу, на которое изменяются правильный результат при возникновении данной ошибки. Параметр еа может быть положительным и отрицательным и зависит от вектора е, который использовался для описания ошибок при передаче или логических преобразованиях информации.
Выбор параметра А в соответствии с численным значением тех ошибок, которые должны быть обнаружены, определяется выражением вида ештойАфО. для всех еш из перечня обнаруживаемых ошибок. Выражению могут соответствовать несколько значений параметра А. Поэтому на практике целесообразно выбрать наименьший из них. Определение минимального значения параметра А обычно достигается простым перебором всех целых чисел.
Адаптация данного метода коррекции ошибок для аналого-цифровых вычислительных устройств невозможна, так как выполнение в них промежуточных операций с погрешностями, что мешает получить корректные контрольные разряды, т.е. данный метод не может откорректировать ошибки в аналого-цифровых вычислительных устройствах и следовательно, также не может быть применен для наших целей. Кроме того, данный метод требует значительных дополнительных операций и оборудований.
Метод разделения операндов или вычисление с многократной точностью используется, в этом случае, когда арифметика однократной точности не обеспечивает точность достаточной для наших потребностей. Так точность можно увеличить при помощи средства программного характера, используя для представления каждого числа два или больше слов памяти.
При выполнении арифметических действий статические расчеты, например вычисление сумм квадратов и перекрестных произведений, обычно используют числа с фиксированной точкой. Так вычисление с двойной точностью проще для чисел с фиксированной точкой, чем с плавающей точкой. Таким образом, мы будем иметь дело со следующим представлением чисел с фиксированной точкой в КВС.
Для представления каждого числа в виде двух или больше слов памяти, исходные операнды разделены на две или более частей. Разделение операнда предполагает извлечение его частей для использования в промежуточных операциях основной операции в качестве самостоятельных операндов.
Анализ эффективности вычислений при симметричном разделении исходных операндов и восстановлении результатов
В разделе 2.3 определено 4 варианта восстановления результата операции, выполняемой по принципу разделения исходных операндов, на основе анализа, так называемых, контрольных разрядов при симметричном разделении исходных операндов. Поскольку варианты формирования результата вычислений по принципу разделения исходных операндов различны, то их эффективность также может быть различной. Очевидно, что необходимо оценить эффективность вычислений для каждого варианта восстановления результата. Под эффективностью вычислений для данного метода понимается увеличение точности при применении того или иного варианта восстановления результата. Оценка точности проводится на примере умножения 12 разрядных исходных операндов.
Для анализа эффективности вычислений необходимо множество сочетаний контрольных разрядов разделить на группы следующим образом: -(000-110) -(000-111) -(001-111) -(110-000) -(111-000) -(111-001) -(000-000,001-001,010-010,011-011, 100-100, 101-101, 110-110, 111-111) - (000-001, 001-010, 010-011,011-100, 100-101, 101-110, 110-111) -(001-000,010-001,011-010,100-011, 101-100, 110-101, 111-110) - (000-010, 001-011, 010-100, 011-101, 100-110, 101-111) -(010-000,011-001, 100-010, 101-011, 110-100, 111-101).
Для расчета эффективности вычислений необходимо определить следующие значения для каждого условия: - количество различимых сочетаний фиксированными значениями при данном истинном значении контрольных разрядов: оно определяется по формуле 22" "k 2Ncm для первых двух условий и 22" " -2.22n "" 2N"" для последних двух условий, где п- разряд, представленный исходного операнда; - количество различимых сочетаний, не увеличивающих точность после организации по методу разделения операндов. Для определения количества различимых сочетаний, не увеличивающих точность, каждое условие нежно разделить на три группа: 1) количества различимых сочетаний, не увеличивающих точность, при сформировании погрешности в m разряде; 2) количества различимых сочетаний, не увеличивающих точность, при сформировании погрешности в (Ш+NCT) - (m+2NcT-l) разрядах; 3) количества различимых сочетаний, не увеличивающих точность, при сформировании погрешности в (m+2Ncr) - (2п) разрядах. При этом, если не удается увеличить точность результата в одном группе, то количества различимых сочетаний, не увеличивающих точность, приблизительно равно для первых двух условий и для последних двух условий, а если в два группах, то равно 2. и 2.- — , а если во всех группах, то равно 22" "" 2Nc " и 220- _о 22" "L 2NCI определение отношения количества различимых сочетаний, не увеличивающих точность, по количеству всех различимых чисел сочетаний: оно равно ry2n-nk-2Nc„, rs2n-n„ _r\ r\2n-nk-2Nim y2n-nt-2Nt„ = .100% или .100% или 2.- = .100% или 3.22" 3.22" 3.22" ъ2п-пк _r\ 2n-nk-2NL , sy2n-nt 2Ncm ry2n-nk _ \ r\2n-nk-2Nnl 2.- -7 .100% или -—- .100% или -7 .100%; 3.22" 22" 22" - и наконец определение количества различимых сочетаний, не увеличивающих точность, по количеству сочетаний данным истинным значением контрольных разрядов, которому определяется по формуле ——.100%.
Методику расчета эффективности рассмотрим на примере сочетания контрольных разрядов (000-110) для первого варианта восстановления результата (Коррекция старшей части полного результата и замена его младшей части младшей частью суммы частичных произведений, включающей К- контрольные разряды). Истинные значения контрольных разрядов для сочетания (000-110) равны 111. При этом, в полном произведении истинное значение 111 изменено на 000 за счет погрешности +1 в т-разряде. Для суммы частичных произведений истинное значение 111 могло быть изменено на 110 при следующих условиях:
а) для первого условия (рис 3.1.1) в сумме частичных произведений истинное значение 111 изменено на ПО за счет погрешности -1 либо т-разряда, либо более младшего разряда. При этом, если погрешность появляется в m-разряде и коррекция проводится по первому варианту (коррекция старшей части полного результата вычитанием единицы и замена его младшей части младшей частью суммы частичных произведений, включающей К- контрольные разряды), то точность не увеличивается. Появление погрешности в младших разрядах и при коррекции ее по такому же варианту дает возможность получить результат с точностью выше m-разрядной. В данном условии зафиксированы значения только некоторых разрядов (квантов) (рис 3.1.1). Остальные разряды (кванты) могут принимать произвольные значения. Количество сочетаний фиксированными разрядами определяется формулой 22п-щ-2ыш _ 224-3-12 _ 512. Как отмечено, выше при данном условии увеличение точности возможно не для всех фиксированных разрядов (квантов). Количество этих сочетаний Q2n-nk-2Nc, определяется формулой Y„—100%. Тогда для 24 разрядного результата (число квантов), принятого в качестве примера, количество сочетаний, не увеличивающих точность, составляет 0,001%.
б) для второго условия (рис 3.1.2) в сумме частичных произведений истинное значение 111 изменено на ПО только за счет погрешности -1 m-разряда, так как при формировании погрешности ±1 в одном из младших разрядов (m+1...2n) невозможно изменить истинное значение 111 на ПО. При этом при коррекции по первому варианту восстановления результата точность результата не увеличивается. Количество сочетаний фиксированными разрядами (рис 3.1.2) определяется формулой 22п-пк-2ып, _224-3- 2 =512. В данном условии увеличение точности невозможно для всех фиксированных разрядов (квантов). Количество этих сочетаний определяется формулой .100%. Тогда для 24 разрядного результата (число квантов), принятого в качестве примера, количество сочетаний, не увеличивающих точность, составляет 0,003%.
Моделирование выполнения вычислений по методу разделения исходных операндов на примере операции умножения
Эффективность функционирования современных аналого-цифровых вычислительных устройств описывается рядом количественных характеристик (частных и обобщенную) [69].
Частные характеристики описывают отдельные аспекты функционирования аналого-цифровых вычислительных устройств, а обобщенные - некоторые интегральные характеристики.
Частные количественные характеристики аналого-цифровых вычислительных устройств могут быть классифицированы следующим образом: точность, производительность, надежность и стоимость. При этом точность аналого-цифровых вычислительных устройств определяется погрешностями, формируемыми при выполнении этими устройствами задач. Известно [70, 71, 72, 73, 6 и др.], что принято классифицировать погрешности вычислений по четырем признакам: по форме представления- на абсолютные и относительные; по источнику формирования- на методические и инструментальные; в зависимости от характера проявления- на систематические и случайные; в зависимости от характера изменения во времени- на статические и динамические.
При моделировании метода вычисления операции умножения на аналого-цифровых вычислительных устройствах по принципу разделения исходных операндов определены значения абсолютных погрешностей, как в результате обычного умножения, так и в результате умножения с двойной разрядной сеткой.
Под термином верификация программно-алгоритмического метода понимается проверка правильности разработки предлагаемого метода с помощью некоторого программного пакета и достижения назначенной цели данной работы.
Тестирование предлагаемого метода может быть выполнено на различных программных пакетах. Пакеты по своему основному назначению разделяются на две основные группы: - пакеты программ LabVIEW, Measurement Studio. LabWindows/CVI, Agilent VEE и т.п. ориентированы, в основном, на использование в системах автоматизации лабораторного эксперимента и испытаний, хотя могут применяться и при создании других приложений, не связанных со взаимодействием с измерительно-управляющим оборудованием; - пакеты LabVIEW/DSC, Lookout InTouch, "Трейс Моуд" предназначены для создания прикладного программного обеспечения в автоматизированных системах управления технологическими процессами (АСУТП) и промышленной автоматики (системы SCADA-Supervisory Control And Data Acquisition).
По способу программирования эти пакеты делятся на следующие: - текстовые или текстово-графические (Pascal, Delphi, LabWindows/CVI, Measurement Studio, Visual Basic, Visual C/C++), использующие элементы визуального текстового программирования для создания пользовательского интерфейса приложения и ориентированные в первую очередь на опытных программистов; - графические объектно-ориентированные (InTouch, "Трейс Моуд"), основанные на применении графических образов объектов АСУТП в качестве элементов программирования; - графические функционально-ориентированные (LabVIEW, LabVIEW/DSC, Agilent VEE), использующие функционально-логический принцип конструирования (рисования) и графического представления алгоритмов программ.
Из перечисленных пакетов для тестирования предлагаемого программно-алгоритмического метода в данной работе использован пакет LabVIEW. который имеет ряд перечисленных ниже достоинств.
LabVIEW (Laboratory Virtual Instrument Engineering Workbench) позволяет разрабатывать программное обеспечение для организации взаимодействия с измерительной и управляющей аппаратурой, сбора, обработки и отображения информации и результатов расчетов, а также моделирования как отдельных объектов, так и автоматизированных систем в целом.
В отличие от текстовых языков, таких как С, Pascal и др., где программы составляются в виде строк текста, в LabVIEW программы создаются в виде графических диаграмм, подобных обычным блок-схемам.
Кроме этого, программные продукты, созданные с использованием LabVIEW, могут быть дополнены фрагментами, разработанными на традиционных языках программирования, например C/C++, Pascal, Basic, FORTRAN. И наоборот можно использовать модули, разработанные в LabVIEW в проектах, создаваемых в других системах программирования. Таким образом, LabVIEW позволяет разрабатывать практически любые приложения, взаимодействующие с любыми видами аппаратных средств, поддерживаемых операционной системой компьютера.
Система программирования LabVIEW имеет встроенный механизм отладки приложений. В процессе отладки разработчик может назначать точки останова программы, выполнять программу "по шагам", визуализировать процесс исполнения программы и контролировать любые данные в любом месте программы. Если при программировании случайно будет сделана ошибка, например какой-то проводник будет подключен "не туда", то в большинстве случае LabVIEW сразу обратит на это внимание программиста.
Блок схема последовательности выполнения оперции, выполняемой по принципу разделения исходных операндов, на LabVIEW показан на рис 4.1.1. На рисунке реализация метода осуществляется ориентированием классического метода.