Ноу Інти, лекція, співпроцесори

Анотація: У цій лекції мова йде про способи обміну інформацією між ЦП і співпроцесором, про функції математичного співпроцесора і особливості програмування ПЕОМ з співпроцесором. Розглядається структура сопроцессоров сімейства Intel x87 і блоку речової арифметики (FPU) процесорів Pentium, а також організація сопроцессорного інтерфейсу ЦП сімейства Motorola MC680х0. Мета: знайомство з основними принципами організації сопроцессоров, сформувати вміння і навички, необхідні для розуміння роботи систем з сопроцессорами.

Співпроцесори. Способи обміну інформацією між ЦП і співпроцесором

Співпроцесор - це спеціалізована інтегральна схема. яка працює в співдружності з ЦП, але менш універсальна. На відміну від ЦП, співпроцесор не має лічильника команд. Співпроцесор призначений для виконання специфічного набору функцій, наприклад: виконання операцій з речовими числами - математичний співпроцесор. підготовка графічних зображень і тривимірних сцен - графічний співпроцесор, цифрова обробка сигналів - сигнальний співпроцесор і ін.

Використання сопроцессоров з різною функціональністю дозволяє вирішувати проблеми широкого кола:

  • обробка економічної інформації;
  • моделювання;
  • графічні перетворення;
  • промислове управління;
  • системи числового керування;
  • роботи;
  • навігація;
  • збір даних і ін.

Можна виділити два способи обміну інформацією між ЦП і співпроцесором:

  • пряме з'єднання вхідних і вихідних портів (ЦП має спеціальний інтерфейс для взаємодії з співпроцесором);
  • з обміном через пам'ять (обмін інформацією між ЦП і співпроцесором відбувається завдяки доступу співпроцесора до оперативної пам'яті через системну магістраль).

Математичний співпроцесор: основні функції

Один з найбільш поширених типів сопроцессоров - математичний співпроцесор. Математичний співпроцесор призначений для швидкого виконання арифметичних операцій з плаваючою точкою, надання часто використовуваних речових констант (, log 2 10, log 2 e, ln2.), Обчислення тригонометричних та інших трансцендентних функцій (tg, arctg, log.).

Більшість сучасних математичних співпроцесорів для подання дійсних чисел використовують стандарт IEEE 754-1985 "IEEE 1 Institute of Electrical and Electronics Engineers - Інститут інженерів з електротехніки та електроніки Standard for Binary Floating-Point Arithmetics". Старший розряд двійкового представлення дійсного числа завжди кодує знак числа. Інша частина розбивається на дві частини: експоненту і мантиссу. Дійсне число обчислюється як: (-1) S · 2 E · M. де S - знаковий біт числа, E - експонента. M - мантиса. якщо 1<=M<2. то такое число называется нормализованным. При хранении нормализованных чисел сопроцессор отбрасывает целую часть мантиссы (она всегда 1), сохраняя лишь дробную часть. Экспонента кодируется со сдвигом на половину разрядной сетки, таким образом, удается избежать вопроса о кодировании знака экспоненты. Т.е. при 8-битной разрядности экспоненты код 0 соответствует числу -127, 1 - числу -126. 255 числу +126 ( экспонента вычисляется как код 127).

Стандарт IEEE -754 визначає три основні способи кодування (типу) дійсних чисел.

Таблиця 8.1. Типи (способи кодування) дійсних чисел