Співпроцесори основні характеристики призначення. Співпроцесори. Програмна модель співпроцесора

Чіпсет- Набір мікросхем, спроектованих для спільної роботи з виконання набору заданих функцій.

Так, у комп'ютерах чіпсет, що розміщується на материнській платі, виконує роль сполучного компонента, що забезпечує спільне функціонування підсистем пам'яті, центрального процесора (ЦП), введення-виведення та інших.

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

Розрізняють такі види співпроцесорів:

· Математичні співпроцесори загального призначення, які зазвичай прискорюють обчислення з плаваючою точкою,

· співпроцесори вводу-виводу (наприклад - Intel 8089), що розвантажують центральний процесор від контролю за операціями вводу-виводу або розширюють стандартний адресний простір процесора,

· Співпроцесори для виконання будь-яких вузькоспеціалізованих обчислень.

Характеристики:

Параметр Частота шини (МГц) Підтримка SDRAM Макс. Об'єм оперативної пам'яті Піковий обмін із пам'яттю Мбайт/с

21. ПАМ'ЯТЬ КОМП'ЮТЕРА, ЯК ВЛАШЕНА КОМП'ЮТЕРНА ПАМ'ЯТЬ -це

частина обчислювальної машини, фізичний пристрій або середовище для зберігання даних, що використовується в обчисленнях протягом певного часу. Пам'ять, як і центральний процесор, є постійною частиною комп'ютера.

Пам'ять у обчислювальних пристроях має ієрархічну структуру і зазвичай передбачає використання декількох пристроїв, що запам'ятовують, що мають різні характеристики.

22 . До складу внутрішньої пам'яті входять оперативна пам'ять, кеш-пам'ятьі спеціальна пам'ять

Оперативна пам'ять (ОЗУ,RAM, Random Access Memory – пам'ять з довільним доступом) - це швидке запам'ятовуючий пристрій невеликого обсягу, безпосередньо пов'язане з процесором і призначене для запису, зчитування та зберігання виконуваних програм та даних, що обробляються цими програмами.

Кеш , або надоперативна пам'ять - дуже швидке ЗУ невеликого обсягу, яке використовується при обміні даними між мікропроцесором та оперативною пам'яттю для компенсації різниці у швидкості обробки інформації процесором та дещо менш швидкодіючої оперативної пам'яттю.

До пристроїв спеціальної пам'ятівідносяться постійна пам'ять(ROM), перепрограмована постійна пам'ять (Flash Memory), пам'ять CMOS RAM, що живиться від батарейки, відеопам'ятьта деякі інші види пам'яті.



Роль BIOS подвійна: з одного боку, це невід'ємний елемент апаратури ( Hardware), а з іншого боку - важливий модуль будь-якої операційної системи ( Software).

Математичний співпроцесор – це спеціальний модуль для виконання операцій з плаваючою комою, який працює у співдружності із центральним процесором.
Математичний співпроцесор перестав бути обов'язковим елементом персонального комп'ютера. Від нього, в принципі, можна відмовитись. Так раніше й робили з міркувань економії.
Однак, при вирішенні завдань, які вимагали виконання великої кількості математичних обчислень, наприклад, при наукових чи інженерних розрахунках, гостро постало питання підвищення продуктивності комп'ютера.
Для цього вирішили використовувати додатковий спеціальний процесор, який "налаштований" на виконання математичних операцій і реалізує їх набагато швидше, ніж центральний процесор. Таким чином, було отримано можливість нарощувати продуктивність центрального процесора за рахунок спеціального модуля - математичного співпроцесора.
Не приклад центральному процесору, математичний співпроцесор тримає під керівництвом основну масу ланцюгів комп'ютера. Навпаки, вся діяльність математичного співпроцесора визначається центральним процесором, який може посилати математичному співпроцесору команди виконання програм і формування результатів. У звичайному режимі центральний процесор виконує всі функції комп'ютера. І лише, коли зустрічається завдання, з яким краще впорається математичний співпроцесор, йому видаються дані та команди, а центральний процесор чекає на результати. До таких завдань відносяться, наприклад, математичні операції між речовими числами (операції між числами з плаваючою комою), де числа представлені мантисою та ординатою (десятковий ступінь числа, що визначає положення десяткової коми).
Якщо раніше, у комп'ютерах перших поколінь (i80386, i80486) модуль математичного співпроцесора встановлювався на материнську плату як окремого чіпа, то сучасних комп'ютерах використання математичного співпроцесора, як окремого чіпа, не потрібно, оскільки він вже вбудований у центральний процесор.
Переваги, які ви отримуєте від використання математичного співпроцесора, залежить від того, які завдання вирішуються на вашому комп'ютері.
Згідно з даними компанії INTEL, математичний співпроцесор може зменшити час виконання математичних операцій, таких як множення, розподіл і зведення в ступінь на 80 відсотків і більше. Швидкість виконання простих математичних операцій, таких, як додавання та віднімання, не змінюється.
З практичної точки зору, продуктивність персонального комп'ютера, що стосується підготовки текстів та ведення бази даних (функцій, що не потребують складних математичних розрахунків), не може бути покращена математичним співпроцесором. Однак, ви отримаєте відчутний приріст продуктивності при проведенні наукових та інженерних розрахунків, обробці статистичних даних, а також під час роботи з графікою, оскільки остання потребує інтенсивних математичних розрахунків.

Співпроцесор – спеціалізований процесор, що розширює можливості центрального процесора комп'ютерної системи, але оформлений як окремий функціональний модуль. Фізично співпроцесор може бути окремою мікросхемою або вбудований в центральний процесор.

Розрізняють такі види співпроцесорів:

Математичні співпроцесори загального призначення, які зазвичай прискорюють обчислення з плаваючою точкою,

Співпроцесори вводу-виводу (наприклад - Intel 8089), що розвантажують центральний процесор від контролю за операціями вводу-виводу або розширюють стандартний адресний простір процесора,

Співпроцесори для виконання будь-яких вузькоспеціалізованих обчислень.

Співпроцесор не є повноцінним процесором, тому що не робить багатьох операцій, характерних для процесора (наприклад, не вміє працювати з програмою та обчислювати адреси пам'яті), будучи периферійним пристроєм центрального процесора.

Одна із схем взаємодії центрального процесора та співпроцесора, що застосовується, зокрема, у x86 співпроцесорах, реалізується наступним чином:

Співпроцесор підключений до шин центрального процесора, а також має декілька спеціальних сигналів для синхронізації процесорів між собою.

Частина командних кодів центрального процесора зарезервована для співпроцесора. Центральний процесор декодує та послідовно виконує команди. Коли виникає команда, яка має виконуватися співпроцесором, центральний процесор передає код операції співпроцесору. При цьому, якщо необхідне додаткове звернення до пам'яті (для читання або запису результатів), співпроцесор здійснює захоплення шини даних.

Після отримання команди та необхідних даних співпроцесор починає її виконання. Поки співпроцесор виконує команду, центральний процесор виконує програму далі паралельно з обчисленнями співпроцесора. Якщо наступна команда також є командою співпроцесора, процесор зупиняється і очікує на завершення виконання співпроцесором попередньої команди.

Існує спеціальна команда очікування (FWAIT), яка примусово зупиняє процесор до завершення обчислень (якщо продовження програми необхідні їх результати). В даний час команда використовується лише для обробки винятків при роботі з точкою, що плаває, робота процесора і співпроцесора синхронізується прозоро для програміста.

Починаючи з процесора Intel486DX, модуль операцій з плаваючою комою був інтегрований в центральний процесор і названий FPU. У лінійці Intel486SX модуль FPU відключався (спочатку до цієї лінійки потрапляли процесори з бракованим FPU). Для процесорів Intel486SX випускався «співпроцесор» Intel487SX, але, фактично, він був процесором Intel486DX і за його встановлення процесор Intel486SX відключався.


Незважаючи на інтеграцію, FPU в процесорах i486 є незмінним співпроцесором, виконаним на тому ж кристалі, більше того, схема FPU i486 повністю ідентична співпроцесору попереднього покоління 387DX аж до тактової частоти (в два рази меншою, ніж частота центрального процесора). Справжня інтеграція FPU з центральним процесором розпочалася лише у процесорах Pentium моделі MMX.

Широке поширення у відповідний період набули співпроцесори для платформи x86, що випускалися компанією Weitek - нею були випущені 1167, 2167 у вигляді набору мікросхем та мікросхеми 3167, 4167, для процесорів 8086, 80286, 80386, 8. У порівнянні з співпроцесорами від Intel вони забезпечували в 2-3 рази більшу продуктивність, але мали несумісний програмний інтерфейс, реалізований через технологію memory-mapping. Вона зводилася до того, що основний процесор повинен був записувати інформацію в ті чи інші області пам'яті, контрольовані співпроцесором. Конкретна адреса, куди проводився запис, інтерпретувався як та чи інша команда. Незважаючи на несумісність, співпроцесори від Weitek були широко підтримані як розробниками програмного забезпечення, так і виробниками материнських плат, які передбачали використання такої мікросхеми.

Ряд інших компаній випускав різні несумісні математичні співпроцесори, реалізуючи інтерфейс до них через порти вводу-виводу або переривання BIOS, але вони не набули такого широкого поширення.

Важливою частиною архітектури мікропроцесорів Intel є наявність пристрою для обробки числових даних у форматі з плаваючою точкою, що називається математичним співпроцесором. Архітектура комп'ютерів з урахуванням мікропроцесорів спочатку спиралася виключно цілочисленну арифметику. Зі зростанням мощі стали з'являтися пристрої обробки чисел з плаваючою точкою. В архітектурі сімейства мікропроцесорів Intel 8086 пристрій для обробки чисел з плаваючою точкою з'явився у складі комп'ютера на базі мікропроцесора i8086/88 та отримав назву математичний співпроцесор або просто співпроцесор. Вибір такої назви був обумовлений тим, що,

  • по-перше, цей пристрій був призначений для розширення обчислювальних можливостей основного процесора;
  • по-друге, воно було реалізовано у вигляді окремої мікросхеми, тобто його присутність була необов'язковою. Мікросхема співпроцесора для мікропроцесора i8086/88 мала назву i8087.

З появою нових моделей мікропроцесорів Intel удосконалювалися і співпроцесори, хоча їхня програмна модель залишилася практично незмінною. Як окремі (а, відповідно, необов'язкові у конкретній комплектації комп'ютера) пристрої, співпроцесори зберігалися до моделі мікропроцесора i386 і мали назву i287 і i387 відповідно. Починаючи з моделі i486, співпроцесор виконується в одному корпусі з основним мікропроцесором і таким чином є невід'ємною частиною комп'ютера.

Основні можливості математичного співпроцесора:

  • повна підтримка стандартів IEEE-754 та 854 на арифметику з плаваючою точкою. Ці стандарти описують як формати даних, із якими має працювати співпроцесор, і набір реалізованих їм функцій;
  • підтримка чисельних алгоритмів для обчислення значень тригонометричних функцій, логарифмів тощо;
  • обробка десяткових чисел з точністю до 18 розрядів, що дозволяє співпроцесор виконувати арифметичні операції без округлення над цілими десятковими числами зі значеннями до 10 18 ;
  • обробка дійсних чисел із діапазону ±3.37х10 -4932 …1.18х10 +4932 .

Форма представлення чисел з плаваючою точкою описана.

Загальна форма подання дійсних чисел передбачає можливість розміщення в розрядній сітці таких типів.

Тип чисел Знак Ступінь Ціле Мантіса
+∞ 0 11…11 1 00…00
позитивні
нормовані
0 00…01 — 11…10 1 00…00 — 11…11
позитивні ненормовані 0 00…00 0 00…00 — 11…11
0 0, 1 00…00 0 00…00
негативні ненормовані 1 00…00 0 00…00 — 11…11
негативні нормовані 1 00…01 — 11…10 1 00…00 — 11…11
-∞ 1 11…11 1 00…00
нечисла
(NaN - Not a number)
* 11…11 1 **…** ≠0

Числа простої та подвійної точності (float (DD ) та double (DQ ) відповідно) можуть бути представлені лише у нормованій формі. При цьому біт цілої частини числа є прихованим і має на увазі логічну 1. Інші 23 (52) розряду зберігають двійкову мантису числа.

Числа подвійної розширеної точності (long double (DT )) можуть бути представлені як у нормованій, так і ненормованій формі, оскільки біт цілої частини числа не є прихованим і може приймати значення як 0, так і 1.

Основним типом даних, якими оперує математичний співпроцесор, є 10-байтні дані (DT).

Програмна модель співпроцесора

Програмна модель співпроцесора є сукупністю регістрів, кожен із яких має своє функціональне призначення.

У програмній моделі співпроцесора можна виділити три групи регістрів:

  • Вісім регістрів r0…r7 , що становлять основу програмної моделі співпроцесора стек співпроцесора . Розмір кожного регістра 80 бітів. Така організація й у пристрої, що спеціалізуються на обробці обчислювальних алгоритмів.
  • Три службові регістри:
    — регістр стану співпроцесора swr (Status Word Register – регістр слова стану) – відображає інформацію про поточний стан співпроцесора;
    - керуючий регістр співпроцесора cwr (Control Word Register - регістр слова управління) - керує режимами роботи співпроцесора;
    - Регістр тегів twr (Tags Word Register - слово тегів) - використовується для контролю за станом кожного з регістрів стека.
  • Два регістри покажчиків - даних dpr (Data Point Register) та команд ipr (Instruction Point Register). Вони призначені для запам'ятовування інформації про адресу команди, що викликала виняткову ситуацію та адресу її операнда. Ці покажчики застосовуються при обробці виняткових ситуацій (але не для всіх команд).

Усі вказані регістри є програмно доступними. Проте до одним із них доступ отримати досить легко, для цього в системі команд співпроцесора існують спеціальні команди. До інших регістрів отримати доступ складніше, оскільки спеціальних команд цього немає, тому необхідно виконати додаткові дії.

Реєстр стану swr- Відображає поточний стан співпроцесора після виконання останньої команди. У регістрі swr містяться поля, дозволяють визначити: який регістр є поточної вершиною стека співпроцесора, які винятки виникли після виконання останньої команди, які особливості виконання останньої команди (якийсь аналог регістру прапорів основного процесора).

Структурно регістр swr складається з:

  • 6 прапорів виняткових ситуацій: PE, OE, UE, ZE, DE, IE.
    Винятки – це різновид переривань, за допомогою яких процесор інформує програму про деякі особливості її реального виконання. Співпроцесор також має здатність збудження подібних переривань у разі виникнення певних ситуацій (не обов'язково помилкових). Всі можливі винятки зведені до 6 типів, кожному з яких відповідає 1 біт в регістрі swr . Програмістові не обов'язково писати оброблювач для реакції на ситуацію, що призвела до деякого виключення. Співпроцесор вміє самостійно реагувати багато з них. Це так звана обробка винятків за умовчанням. Щоб викликати обробку певного типу винятку за умовчанням, необхідно цей виняток залишити не маскованим. Така дія виконується за допомогою установки в 1 відповідного біта в регістрі керуючого співпроцесора cwr . Типи винятків, що фіксуються за допомогою регістра swr:
    • IE (Invalide operation Error) – недійсний код операція;
    • DE (Denormalized operand Error) – ненормований операнд;
    • ZE (divide by Zero Error) - помилка поділу на нуль;
    • ОЕ (Overflow Error) – помилка переповнення. Виникає у разі виходу порядку числа максимально допустимий діапазон;
    • UE (Underflow Error) – помилка антипереповнення. Виникає, коли результат занадто малий (близький до нуля);
    • РЕ (Precision Error) – помилка точності. Встановлюється, коли співпроцесору доводиться округляти результат через те, що його точне уявлення неможливо. Так, співпроцесор ніколи не вдасться точно розділити 10 на 3.

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

  • бита помилка роботи стека співпроцесора SF (Stack Fault). Біт встановлюється в 1, якщо виникає одна з трьох виняткових ситуацій – РЕ, UE чи IE. Зокрема, його установка інформує про спробу запису в заповнений стек або, навпаки, спробу читання з порожнього стека. Після того, як значення цього біта проаналізовано, його потрібно знову скинути в 0, разом з бітами РЕ, UE та IE (якщо вони були встановлені);
  • біта сумарної помилки роботи співпроцесора ES (Error Summary). Біт встановлюється в 1, якщо виникає кожна з шести перерахованих вище виняткових ситуацій;
  • чотирьох бітів с0 ... с3 (Condition Code) - коду умови. Призначення цих бітів аналогічне прапорам у регістрі EFLAGS основного процесора - відобразити результат виконання останньої команди співпроцесора.
  • трибітного поля TOP. Поле містить покажчик регістра поточної вершини стека.
  • біта B зайнятості співпроцесора.

Регістр управління роботою співпроцесора cwr- Визначає особливості обробки числових даних. За допомогою полів у регістрі cwr можна регулювати точність виконання чисельних обчислень, керувати заокругленням, маскувати винятки.

Він складається з:

  • шести масок винятків PM, UM, OM, ZM, DM, IM;
  • поля керування точністю PC (Precision Control);
  • поля керування заокругленням RC (Rounding Control).

Маски винятків призначені маскування виняткових ситуацій, виникнення яких фіксується з допомогою шести біт регістру swr . Якщо якісь маскуючі біти винятків у регістрі cwr встановлені один, то відповідні винятки будуть оброблятися самим співпроцесором. Якщо для будь-якого виключення у відповідному биті маски винятків регістра cwr міститься 0, то при виникненні виключення цього типу буде збуджено переривання int 16 (10h). Операційна система повинна містити (або програміст повинен написати) обробник цього переривання. Він повинен з'ясувати причину переривання, після чого, якщо це необхідно, виправити її та виконати інші дії.

2-бітове поле управління точністю PC призначене для вибору довжини мантиси. Можливі значення у цьому полі означають:

  • PC =00 - довжина мантиси 24 біти;
  • PC =10 - довжина мантиси 53 біти;
  • PC =11 - довжина мантиси 64 біти.

За промовчанням встановлюється значення поля PC =11.

Поле управління округленням RC дозволяє керувати процесом округлення чисел у процесі співпроцесора. Необхідність операції округлення може з'явитися в ситуації, коли після виконання чергової команди співпроцесора виходить результат, наприклад, періодичний дріб. Встановивши одне із значень у полі RC , можна виконати округлення в потрібну сторону.
Значення поля RC з відповідним алгоритмом заокруглення:

  • 00 - значення округляється до найближчого числа, яке можна подати в розрядній сітці регістру співпроцесора;
  • 01 - значення округляється у меншу сторону;
  • 10 - значення округляється у велику сторону;
  • 11 - провадиться відкидання дробової частини числа. Використовується для приведення значення форми, яка може використовуватися в операціях цілочисленної арифметики.

Біт 12 у регістрі cwr фізично відсутній і зчитується рівним 0.

Реєстр тегів twr- являє собою сукупність двобітових полів. Кожне поле відповідає певному фізичному регістру стека та характеризує його поточний стан. Команди співпроцесора використовують цей регістр, наприклад, щоб визначити можливість запису значень у ці регістри. Зміна стану будь-якого регістра стека відбивається на вмісті відповідного цього регістру 2-бітового поля регістра тега. Можливі такі значення в полях регістру тега:

  • 00 - регістр стека співпроцесора зайнятий допустимим ненульовим значенням;
  • 01 - регістр стека співпроцесора містить нульове значення;
  • 10 - регістр стека співпроцесора містить одне із спеціальних чисельних значень, за винятком нуля;
  • 11 - регістр порожній і в нього можна робити запис. Це значення у двобітовому полі регістра тегів не означає, що всі біти відповідного регістра стека повинні бути обов'язково нульовими.
Принцип роботи співпроцесора

Реєстровий стік співпроцесора організований за принципом кільця. Серед восьми регістрів, що становлять стек, немає такого, який є вершиною стека. Усі регістри стека з функціональної точки зору абсолютно однакові та рівноправні. Вершина в кільцевому стеку співпроцесора є плаваючою. Контроль поточної вершини здійснюється апаратно за допомогою 3-бітового поля top регістра swr.


У полі top фіксується номер регістра стека r0…r7 , що є нині поточної вершиною стека.
Команди співпроцесора оперують не фізичними номерами регістрів стека r0…r7, які логічними номерами st(0)…st(7) . З допомогою логічних номерів реалізується відносна адресація регістрів стека співпроцесора. Наприклад, якщо поточною вершиною до запису в стек є фізичний регістр стека r3 то після запису в стек поточної вершиною стає фізичний регістр стека r2 . Тобто, в міру запису в стек, покажчик його вершини рухається у напрямку до молодших номерів фізичних регістрів (зменшується на одиницю). Якщо поточною вершиною є r0, то після запису чергового значення в стек співпроцесора його поточною вершиною стане фізичний регістр r7. Що ж до логічних номерів регістрів стека st(0)…st(7) , всі вони переміщаються разом із зміною поточної вершини стека. Логічна вершина стека має ім'я st(0) .
Оскільки при написанні програми розробник маніпулює не абсолютними, а відносними номерами регістрів стека, у нього можуть виникнути труднощі при спробі інтерпретації вмісту регістру тегів twr з відповідними фізичними регістрів стека. Як сполучна ланка необхідно залучати інформацію з поля top регістра swr. У такий спосіб реалізується принцип кільця.
Така організація стека має велику гнучкість, зокрема при передачі параметрів у процедуру. Для підвищення гнучкості розробки та використання процедур не бажано прив'язувати їх за параметрами, що передаються, до апаратних ресурсів (фізичних номерів регістрів співпроцесора). Набагато зручніше задавати порядок проходження параметрів, що передаються у вигляді логічних номерів регістрів. Такий спосіб передачі був би однозначним і не вимагав від розробника знання зайвих подробиць про апаратні реалізації співпроцесора. Логічна нумерація регістрів співпроцесора, що підтримується лише на рівні системи команд, ідеально реалізує цю ідею. При цьому не має значення, в якому фізичному регістрі стека співпроцесора були поміщені дані перед викликом підпрограми, визначальним є тільки порядок слідування параметрів у стеку. З цієї причини підпрограмою важливо знати тільки порядок розміщення параметрів, що передаються в стеку.

Принцип роботи співпроцесора разом із центральним процесором
Процесор і співпроцесор мають окремі системи команд і формати оброблюваних даних. Незважаючи на те, що співпроцесор архітектурно є окремим обчислювальним пристроєм, він не може існувати окремо від основного процесора. Процесор та співпроцесор, будучи двома самостійними обчислювальними пристроями, можуть працювати паралельно. Але це розпаралелювання поширюється лише виконання команд. Обидва процесори підключені до загальної системної шини і мають доступ до однієї інформації. Ініціює процес вибірки чергової команди завжди основний процесор. Після вибірки команда потрапляє одночасно в обидва процесори. Будь-яка команда співпроцесора має код операції, перші п'ять біт, якого мають значення 11011. Коли код операції починається цими бітами, то основний процесор подальшого вмісту коду операції з'ясовує, чи дана команда вимагає звернення до пам'яті. Якщо це так, то основний процесор формує фізичну адресу операнда і звертається до пам'яті, після чого вміст осередку пам'яті виставляється на шину даних. Якщо звернення до пам'яті не потрібно, то основний процесор закінчує роботу над цією командою (не роблячи спроби її виконання) і починає декодувати наступну команду з поточного вхідного командного потоку. Вибрана команда потрапляє до співпроцесора одночасно з основним процесором. Співпроцесор, визначивши за першими п'ятьма бітами, що чергова команда належить його системі команд, починає її виконання. Якщо команда вимагає операнди з пам'яті, то співпроцесор звертається до шини даних за читанням вмісту осередку пам'яті, який наданий основним процесором.

У певних випадках необхідно узгоджувати роботу обох пристроїв. Наприклад, якщо у вхідному потоці відразу за командою співпроцесора слідує команда основного процесора, що використовує результати роботи попередньої команди, то співпроцесор не встигне виконати свою команду за той час, поки основний процесор, пропустивши співпроцесорну команду, виконає свою. При цьому, що логіка роботи програми буде порушена. Можлива інша ситуація. Якщо вхідний потік команд містить послідовність з кількох команд співпроцесора, процесор пропустить їх дуже швидко, але він повинен забезпечити зовнішній інтерфейс для співпроцесора. Ці та інші, складніші ситуації, призводять до необхідності синхронізації між собою роботи двох процесорів. У перших моделях мікропроцесорів це робилося шляхом вставки перед чи після кожної команди співпроцесора спеціальної команди wait або fwait. Робота цієї команди полягала у призупиненні роботи основного процесора до того часу, поки співпроцесор не закінчить роботу над останньою командою. У моделях мікропроцесора (починаючи з i486) подібна синхронізація виконується автоматично. Але для деяких команд із групи команд керування співпроцесором залишена можливість вибору між командами із синхронізацією (очікуванням) та без неї.

Принтери