- •Методичні вказівки до практичних занять з дисципліни
- •1 Спеціальні системи числення
- •Мета заняття:
- •1.2. Методичні вказівки
- •Додавання послідовних кодів старшими розрядами вперед у знакорозрядній системі числення
- •1.3. Контрольні запитання та завдання
- •2 Обчислення тригонометричних функцій методом волдера
- •2.1 Мета заняття:
- •2.2 Методичні вказівки
- •4.3 Контрольні запитання та завдання
- •5 Таблично-алгоритмічний метод обчислення функцій
- •5.1. Мета заняття:
- •5.2. Методичні вказівки
- •5.3 Контрольні запитання та завдання
- •6 Обчислення показникової та логарифмічної функцій таблично-алгорітмичним методом
- •6.1 Мета заняття:
- •6.2. Методичні вказівки
- •Введемо позначки:
- •6.3 Контрольні запитання та завдання
- •Перелік посилань
- •7.091501 – Комп’ютерні системи та мережі Упорядники: гусятін Володимир Михайлович
- •61166, Харків, просп. Леніна, 14
4.3 Контрольні запитання та завдання
1. Навіщо використовується масштабування вхідних величин при обчисленні множно-ділильних операцій ітераційним методом?
2. Поясните асинхронний спосіб організації ітераційного процесу методом «пробного кроку» при обчисленні операції ділення.
3. Поясните асинхронний спосіб організації ітераційного процесу методом «спробного кроку» при обчисленні операції множення.
4. Як задаються початкові умови при обчисленні множо-ділильних операцій і окремо операцій множення і ділення?
5 Таблично-алгоритмічний метод обчислення функцій
5.1. Мета заняття:
Вивчити на прикладі обчислення ступеневої функції можливості таблично-алгоритмічного методу.
5.2. Методичні вказівки
Табличні і таблично-алгоритмічні методи відносяться до числа найбільш швидких методів обчислення функцій. Ця обставина призводить до широкого застосування цих методів при розробці базових операцій спецпроцесорів. Найпростішими в реалізації і найшвидшими є табличні методи. Однак, у багатьох випадках основною перешкодою їхнього використання є великі обсяги пам'яті, які необхідні для реалізації табличних методів.
Таблично-алгоритмічні методи дозволяють істотно знизити необхідні обсяги пам'яті, зберігаючи необхідну точність обчислень функцій. Час обчислень при цьому збільшується.
Розглянемо обчислення ступеневої функції вигляду
, (5.1)
де x – додатні або від’ємні дійсні числа для областей існування функцій;
a і b – додатні і від’ємні цілі числа.
Така функція в загальному випадку представляє широкий клас функцій, що часто застосовуються на практиці.
Рис. 5.1. Варіанти поведінки ступеневих функцій
В якості приклада на рисунку 5.1 наведені можливі варіанти поведінки ступеневих функції для додатних значень аргументу у першому квадранті.
Застосування таблично-алгоритмічного методу для обчислення ступеневої функції надасть можливості зобразити функцію в табличному вигляді на деякому мінімальному інтервалі зміни аргументу [6]. Після приведення аргументу до інтервалу завдання функції, обчислюється інтервальне значення функції, погрішність якого задається розрядною сіткою обчислення. Для обчислень використовуються операції зсуву аргументу, функції і операції вибірки з пам'яті, що зменшує тривалість такту конвеєра, а, отже, і час обчислення функції.
Розглянемо підготовчі етапи і процедуру обчислень функції.
На підготовчих етапах здійснюється вибір інтервалу табличного задавання функції і розрахунок таблиці для інтервальниx значень функції.
Інтервал табличного зображення вибирається таким чином (для випадку першого квадранта). Початкове значення інтервалу хпоч вибирається з урахуванням особливостей функції. Для ступеневої функції такою особливою точкою є x = 1, для якої y = 1. Кінцеве значення інтервалу xкін вибирається відповідно до виразу:
, (5.2)
де q – основа системи числення.
Введемо також такі позначки: xін – значення аргументу на інтервалі табличного зображення функції, yін – інтервальне значення функції.
Розрахунок табличних значень функції містить наступні етапи.
Визначається відносна похибка обчислень функції y, виходячи з аналізу задачі та системних вимог, в процесі розробки спецпроцесора. На практичному занятті y може бути задане викладачем.
Обчислюється перша похідна функції y´ в точках початкового yпоч і кінцевого значень yкін табличного інтервалу. Визначається найбільше по модулеві з цих двох значень похідної. Позначимо значення функції в точці з найбільшою похідною через
.Визначається крок розбивки аргументу х в табличному інтервалі.
а) для додатних значень ступеня:
(5.3
а)
де
;
.
б) для від'ємних значень ступеня:
(5.3
б)
Визначається число розрядів nx двійкового коду аргументу в інтервалі табличного зображення функції. У випадку, якщо
,
застосовуємо формулу (5.4а), в інших
випадках – (5.4б):
(5.4а)
(5.4б)
Визначається число розрядів ny двійкового коду функції. У випадку, якщо
,
застосовуємо формулу (5.5а), в інших
випадках – (5.5б):
(5.5а)
(5.5б)
де
,
.
Виконується розрахунок таблиці
значень функції (розрядністю ny)
для інтервальниx значень аргументу з
кроком x.
На практичних заняттях, як таблиця, може бути використаний калькулятор.
Процедура обчислення функцій полягає ось в чому [6].
Виконується приведення аргументу до інтервалу за допомогою співвідношення:
, (5.7)
Для того, щоб таблично-алгоритмічний метод, що розглядається, можна було реалізувати апаратно, необхідно рівняння у відповідності з виразом (5.7) обчислювати тільки для цілих значень “b·k” і цілих значень “k”.
На етапі зведення аргументу до табличного інтервалу задавання функції слід знайти мінімальне ціле значення коефіцієнта “k”.
За значенням аргументу хін з таблиці вибирається значення функції yін.
За значенням yін обчислюється значення функції відповідно до співвідношення:
(5.8)
Остаточно запишемо правило обчислення функції в двійковій системі числення.
Якщо значення аргументу знаходиться в інтервалі табличного зображення функції, тобто x[xпоч , хкін), значення функції визначається з таблиці.
Якщо x[xпоч , хкін), то виконується зсув аргументу на k·b розрядів ліворуч, якщо х < хпоч, або праворуч якщо х > хкін. Число k – ціле, його значення вибирається таким чином, щоб після такого зсуву значущі розряди аргументу потрапили до інтервалу табличного зображення функції, що дозволяє отримати її значення yін. Для отримання значення функції табличне значення yін слід зсунути на k·а розрядів у напрямку зсуву аргументу, якщо ступінь від’ємна, і в протилежному напрямку зсуву аргументу, якщо ступінь додатна.
Приклад проектування таблиці ПЗП для обчислювача ступеневої функції.
Нехай
y=x3/5.
Приймемо
q=2. Обчислення треба виконати з відносною
похибкою не більш ніж
.
Розрахуємо інтервал табличного зображення функції.
xпоч = 1; xкін = xпоч·2b = 32.
Обчислимо похідну функції в точках yпоч, yкін.
;
;
і,
отже,
.
Визначимо крок розбивки
,
бо
,
.
.
Визначимо число розрядів nx двійкового коду аргументу:
Визначимо число розрядів ny двійкового представлення функції:
.
,
.
Обчислюємо
значень функції з
точністю 13 розрядів для інтервальних
значень аргументу з кроком х.
Розрахункові значення під час проектування
спецпроцесора є даними для таблиці.
В нашому випадку при обчисленні yін скористуємось калькулятором. При цьому розрядність задавання xін повинна бути 15, a розрядність представлення функції - 13.
Приклад процедури обчислення ступеневої функції.
Нехай х = 1063.2510 = 10000100111.012.
Обчислимо xін і k
;
звідси
.
По черзі задаємо цілі значення k, починаючи з k = 1 доти, доки не виконається співвідношення хпочхін хкін. Отже, маємо:
Приймемо
k=1:
> xкін.
Приймемо
k=2:
- значення аргументу потрапило в інтервал.
Нижче розглянемо приклад для пояснення операції зсуву значення аргументу в діапазон його інтервальних значень.
Для влучення в інтервал слід зсувати аргумент убік молодших розрядів до влучення одержуваного числа в процесі зсуву в табличний інтервал. Операції зсуву показані у вигляді таблиці 5.1.
З таблиці 5.1 слід, що в процесі
зсуву аргументу, останній потрапив у
табличний інтервал на 6 кроці. Однак, на
цьому зсуві “k” не є цілим числом
.
Тому необхідно зробити
додатково 4 зсуву, щоб “k” стало цілим
числом. На 10-м зсуві k = 2.
Таблиця 5.1
-
№ зсуву
Аргумент х
Отношение ххкін
k
0
10000100111.01
x>xкін
0
1
1000010011.101
x>xкін
1/5
2
100001001.1101
x>xкін
2/5
3
10000100.11101
x>xкін
3/5
4
1000010.011101
x>xкін
4/5
5
100001.0011101
x>xкін
1
6
10000.10011101
x<xкін
7
1000.010011101
x<xкін
8
100.0010011101
x<xкін
9
10.00010011101
x<xкін
10
1.000010011101
x<xкін
2
Остаточне значення аргументу (з урахуванням точності апаратного представлення дробової частини):
yін = 1.02246 = 1.00000101112 (табличне значення)
Знайдемо значення функції.
.
Розрахункове значення y = 65.4375, значення по калькулятору y = 65.34608. Відносна похибка обчислення: δy = 0.000356.
