Приклад розв'язання завдання
Нехай потрібно визначити розрядність мікропроцесора для цифрової системи, призначеної для вироблення керувальних сигналів обчислення функції одного аргумента вигляду y = 0, 1sinx. Відомим є таке: величина x змінюється в межах –10 < x < 10; середня квадратична помилка sx визначення аргумента дорівнює 5·10–4; допустиме значення середньої квадратичної помилки
Рис. 14
Вхідна інформація Х через відповідні перетворювачі й комутатор (ПСО) надходить на регістр Rx, з якого подається або в пам'ять пристрою (ЗП), або в операційний пристрій (ОП), який здійснює оброблення сигналів за заданим алгоритмом, обчислюючи вихідний сигнал Y, що надходить на вихідний регістр Ry. Задача розрахунку довжини розрядної сітки полягає у визначенні розрядності регістрів Ry і Rx і довжини розрядної сітки операційного пристрою Rоп. При розрахунку довжини розрядної сітки необхідно враховувати такі можливі джерела помилок: – під час будування математичної моделі функцію Φ (Х) зазвичай заміняють деякою досить близькою до неї апроксимувальною функцією F (Х); – на вхідний регістр Rx надходять не точні значення аргументів xi, а їхні наближені значення – функція F (Х) зазвичай є неарифметичною, тобто при її реалізації використовуються деякі числові методи, які також вносять відповідну помилку; тому насправді замість F (X *) буде обчислено функцію F *(X *) [6]. Довжина розрядної сітки операційного пристрою є обмеженою. Тому помилки, що виникають під час виконання кожної операції, будуть трансформуватися через усі наступні етапи процесу. Це призведе до того, що в пристрої замість функції F *(X *) буде отримано значення функції F **(X *). Загальну помилку на виході системи можна подати таким чином:
де D0 = Ф (Х) – F (X) — методологічна помилка; D1 = F (X) – F (X *) — трансформована помилка; D2 = F (X *) – F *(X *) — методична помилка; D3 = F *(X *) – F **(X *) — інструментальна помилка. Методологічна помилка відображає особливості теорії, що використовується для будування математичної моделі процесу. Її значення обумовлені розбіжністю між реальним поводженням системи внаслідок впливу зовнішніх збурень і поводженням математичної моделі процесу, яку прийнято за основу при проектуванні СО. Надалі для простоти будемо вважати, що методологічна помилка дорівнює нулю. Вхідні аргументи xi також визначаються деякою помилкою
Величина D1 відповідає дійсному максимуму лише тоді, коли усі складові мають однакові знаки і максимальні значення. Оскільки зазначені умови виконуються рідко, на практиці частіше використовують середнє квадратичне значення δ т трансформованої помилки, що за умови незалежності аргументів xi визначається формулою
де Методична помилка визначається прийнятим методом визначення F (X *) і її можна зменшити до досить малих розмірів. Якщо метод визначення F (X *) є відомим, то визначення D2 , а отже, і δ 2 зазвичай не викликає труднощів. Помилка четвертого типу Оцінимо приблизно інструментальну помилку за умови, що абсолютне значення помилки D3 є сумою незалежних помилок округлення, які накопичилися внаслідок виконання операцій складання-віднімання (
Помилки округлення δ +, δ х, δ : є функціями випадкових величин. Якщо закони розподілу цих величин є відомими, то можна визначити закони розподілу помилок округлення елементарних операцій та їхні ймовірнісні характеристики. Аналіз помилок округлення при виконанні елементарних операцій над даними у форматі з фіксованою точкою проведемо з урахуванням таких допущень: - система числення є позиційною з основою β (нехай β = 2); - числа, що беруть участь в елементарних операціях, є меншими за одиницю; переповнення розрядної сітки виключається з допомогою масштабування; - округлення виконується за правилом: у молодший розряд числа, що залишається після округлення, добавляється одиниця, якщо в старшому з відкидуваних розрядів записано цифру, яка більше або дорівнює 0, 5; у протилежному випадку до молодшого розряду додається нуль. Позначимо через n кількість розрядів (беззнакових), призначених для зображення мантиси числа, а через ε 0 - помилку однократного округлення мантиси. Значення помилки ε 0 не перевищує половини ціни молодшого розряду й рівномірно розподілене в таких межах:
Щільність g (ε 0) розподілу помилки ε 0 визначається рівністю g (ε 0) = β – n. Отже, математичне сподівання помилки M [ ε 0] дорівнює нулю, дисперсія помилки
D [ ε 0] =
а середнє квадратичне значення
При виконанні елементарних операцій (множення й ділення) над даними у форматі з фіксованою точкою тільки округлюються результати. Тому справджуються такі рівності:
Помилки виконання елементарних операцій є незалежними, тому середні квадратичні значення накопичених помилок визначаються таким чином:
Якщо позначити через
Розрядна сітка вибирається таким чином, щоб результуюча помилка обчислення значення сигналу Якщо реалізується єдина функція y = F (X), то розрахунок розрядної сітки полягає у визначенні розрядності регістрів Rx, Ry та операційного пристрою Rоп. Припустимо, що на основі аналізу технічного завдання й алгоритмів роботи системи є відомими: а) дані про реалізовану функцію y = F (X), максимально допустиме середнє квадратичне значення помилки обчислення значення сигналу Y – б) дані щодо вхідних змінних: – межі змінення xi – – значення середньоквадратичних помилок знаходження в) довідка про вибрані кількісний метод і алгоритм реалізації: – середнє квадратичне значення помилки кількісного методу δ м; – максимальна довжина ланцюжка операцій множення й ділення В операційних пристроях з фіксованою точкою максимальне значення зображуваних чисел визначається розміром 1 – β – n , де n — кількість розрядів зображення мантиси числа, і виникає необхідність масштабування змінних. Припустимо, що реальній змінній z відповідає машинна змінна
Оскільки ç z ê max = 1 – β – n, то Для пристроїв, що працюють із використанням двійкової системи числення, значення Mz зручно вибирати як цілий степінь числа 2 (
де Е (α) — ціла частина від α, не більша, ніж α. Знаючи значення
Максимальне значення Y max визначається за функцією y = F (X) межами зміни аргументів. Масштаб за змінною y визначається аналогічно описаному. Розрядність вхідного регістра, необхідну для зберігання значущої частини i -го аргумента із заданою точністю, можна розрахувати за формулою
де
При цьому значення молодшого розряду Після масштабування аргумента може статися, що перед першою значущою цифрою двійкового зображення числа xi виявиться
де Pi — показник степеня числа 2 у масштабі i -го аргумента. Тоді розрядність регістра для приймання числа xi визначається як
Остаточно розрядність регістра Rx для приймання вхідних аргументів можна визначити як максимальну необхідну розрядність для приймання xi за формулою
Розрядність вихідного регістра визначається аналогічно. При цьому кількість розрядів для значущої частини
Після масштабування y може виявитися, що першу цифру зліва необхідно доповнити
У підсумку розрядність вихідного регістра
Розрахуємо довжину розрядної сітки СО (див. рис. 14). Позначимо через Т ціну молодшого з Rx розрядів зображення вхідної величини. Тоді значення числа двійкових позицій
Допустиме значення інстументальної помилки
Оскільки рівності
Для компенсації помилок округлення є необхідною деяка кількість додаткових розрядів операційного пристрою (рис. 15). Можна показати, що інструментальна помилка, яка накопичується внаслідок послідовних округлень, потребує для компенсації Рис. 15
Кількість розрядів операційного пристрою Rоп, що забезпечує задану точність обчислень, визначається відповідно до виразу
Rоп = Rx + S',
де
У випадку використання загального запам‘ятовувалього пристрою для чисел і команд розрядність машинного слова має бути кратною розрядності команди. Розрахунок розрядної сітки доцільно робити в такому порядку: – маштабування змінних задачі; – послідовний розрахунок значень – остаточний вибір значення – обчислення значень – обчислення розмірів sт, – розрахунок значення G; – визначення розрядності операційного пристрою.
Розв‘язання 1. Робимо масштабування змінних: – масштаб за x вибираємо таким:
– масштаб за y визначаємо з формул
y max = 0, 1,
2. Розраховуємо значення Rx: – складові
Звідси випливає, що
3. Розраховуємо значення Ry: – складові
– остаточно для Ry отримуємо
4. Обчислюємо значення параметрів, необхідних для розрахунку Rоп:
5. Розраховуємо значення діапазону:
6. Визначаємо розрядність операційного пристрою. Значення S ' = 0, оскільки S – G = –1 < 0. Тому справджується рівність
Rоп = Rx =15. За максимальним значенням розмірів Rx і Ry можна вибрати розрядність шини даних (ШД) мікропроцесора. Розрядність регістра-акумулятора мікропроцесора має відповідати розрядності регістра операційного пристрою Rоп.
|