Мат співпроцесор 1

Математичний співпроцесор. Формати даних FPU.
Програмна модель FPU.
Винятки та інтерфейс співпроцесора
Фізичний факультет, ЕВУ та системи, 7 семестр,2010

Математичний співпроцесор - співпроцесор
для розширення командної множини центрального процесора і забезпечує його функціональністю модуля операцій з плаваючою комою, для процесорів, що не мають інтегрованого модуля. Він може являти собою пристрій в окремому корпусі, так знаходитися разом з центральним процесором на одному кристалі.
Фізичний факультет, ЕВУ та системи, 7семестр,2010

Основним виконавчим пристроєм математичного співпроцесора є пристрій обробки чисел з плаваючою комою (FPU – floating point unit).
• Як правило, він не може самостійно виконувати програмний код та отримує потік інструкцій від центрального процесора. Таким чином, програми для центрального процесора і математичного співпроцесора знаходяться в одному потоці інструкцій.
• Однак співпроцесор при цьому має власний мікропрограмний автомат, набор регістрів і виконавчі пристрої, таким чином будучи функціонально незалежним.
Фізичний факультет, ЕВУ та системи, 7семестр,2010

Схема взаємодії центрального процесора та співпроцесора
•Сопроцесор підключений до шин центрального процесора, а також має кілька спеціальних сигналів для синхронізації процесорів між собою.
Фізичний факультет, ЕВУ та системи, 7семестр,2010

Схема взаємодії центрального процесора та співпроцесора
•Після отримання команди та необхіднихданих співпроцесор починає її виконання. Поки співпроцесор виконує команду, центральний процесор виконує програму далі паралельно з обчисленнями співпроцесора. Якщо наступна команда також є командою співпроцесора, процесор зупиняється і очікує на завершення виконання співпроцесором попередньої команди.
•Також існує спеціальна команда очікування (FWAIT), яка примусово зупиняє процесор до завершення обчислень (якщо для продовження програми необхідні їхні результати).
Фізичний факультет, ЕВУ та системи, 7семестр,2010

У разі відсутності співпроцесора
Прикладна програма використовує інструкції FPU, але для цього ОС повинна підтримувати емуляцію співпроцесора. Емулятор співпроцесора - це програма-обробник переривання від співпроцесора або виключення #NM, яка повинна «виловити» код операції співпроцесора, визначити місцезнаходження даних та виконати необхідні обчислення, використовуючи цілочисленну арифметику CPU.
Зрозуміло, що емуляція буде виконуватися повільніше, ніж ті ж дії, що виконуються цим FPU. Для цього в регістрі CR0 повинні бути встановлені поєднання прапорів
Фізичний факультет, ЕВУ та системи, 7семестр,2010

Нулі (позитивний та негативний) – обидва значення еквівалентні;
Денормалізовані кінцеві числа (позитивні та негативні);
Нормалізовані кінцеві числа (позитивні та