єр не тільки в цілочисельних, але і в речових операціях. Корпорація AMD, в свою чергу, пішла дещо іншим шляхом - замість конвейеризации FPU вона почала впроваджувати у свою продукцію технологію 3DNow, яка також була спрямована на підвищення продуктивності в операціях з речовими числами. Ця технологія зіткнулася з безліччю проблем у своїй реалізації. Думаю, багато хто пам'ятає, як AMD K6-2, покликаний конкурувати з Pentium II в цілочисельних операціях, на відсотків тридцять відставав від нього в обробці дійсних чисел.
В Athlon'ах і наступних процесорах корпорація AMD перейшла на конвеєрний тип FPU. Більш того, в нових процесорах AMD застосувала в модулі обчислень з плаваючою точкою не тільки супер конвейеризацию, а й суперскалярність - в одному процесорі стало розташовуватися, грубо кажучи, три модулі FPU, кожен з яких бере участь в обчисленнях з плаваючою крапкою. Іншими словами, з виходом процесорів Athlon / Duron продукція AMD перестала поступатися в швидкості обчислень над числами своєму конкуренту - корпорації Intel. А це зіграло дуже істотну роль у розстановці сил цих одвічних суперників на сучасному процесорному ринку. (Floating Point Unit) використовується для прискорення та спрощення обчислень з плаваючою точкою.
Співпроцесор (інша назва FPU) орієнтований на математичні обчислення - в ньому відсутні операції з бітами, зате розширений набір математичних функцій: тригонометричні, логарифм і т.д.
До деяких моделей 80486 FPU виконувався у вигляді окремої мікросхеми, яка встановлюється опціонально. У деяких 486 і у всіх Pentium (і вище), FPU інтегрований в процесор, тому можна вважати, що він присутній у кожному більш-менш сучасному комп'ютері. Починаючи з Pentium Pro FPU має додаткові команди, що спрощують порівняння чисел. У кожному разі, якщо FPU недоступний, або не підтримує будь ф-ції, то можлива їх програмна емуляція.
Незважаючи на об'ємність даної глави, використовувати FPU дуже просто, що видно з прикладу. Але потрібно розуміти особливості роботи співпроцесора, щоб уникнути теоретичних помилок.
Першим математичним співпроцесором для персонального комп'ютера IBM став i8087 виробництва Intell, який з'явився в 1980 році. З часом, крім суто Intell-x сопроцессоров, з'явилися співпроцесор і ряду інших фірм. CYRIX пропонував один з найшвидших сопроцессоров, заснованих на класичній архітектурі. Причому гарантувалася повна сумісність з сопроцессорами Intell. Продуктивність цієї мікросхеми трохи вище тому, що всі критичні за часом виконання операції реалізовані в даній мікросхемі з використанням жорсткої логіки (апаратний помножувач, окреме арифметико-логічний пристрій для обчислення мантиси і т.д.). Підвищення продуктивності особливо помітно при обчисленні квадратного кореня або тригонометричних функцій. Він ще й точніше Intell-го.била заснована в 1981 році декількома інженерами, що покинули Intell. Виконує прості операцій з одинарною точністю на сопроцессорами Weitek відбувається менш ніж за 200 нс., Тоді як співпроцесор, що використовує класичну архітектуру, виконує подібні операції за 1.5 с. Звернення до сопроцессору відбувається як би через ОЗУ. Таким чином, завантаживши операнди в область пам'яті, відповідної сопроцессору, наступною командою можна вже зчитувати результат. Застосування співпроцесора Weitek має сенс тільки тоді, коли він підтримується програмним забезпеченням. У зв'я...