Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод упоряд-ПОСЛЕДНЯЯ-МП.doc
Скачиваний:
35
Добавлен:
20.02.2016
Размер:
5 Mб
Скачать

2.2.2. Функціонування арифметичного співпроцесора

Арифметичний співпроцесор ВМ87 може працювати тільки в парі із центральним процесором ВМ86/ВМ88, що повинен бути встановлений у максимальний режим (мал. 3.8). Система зі співпроцесором не вимагає ніякої додаткової логіки, що відрізняється від тієї, котра використовується в системі з максимальним режимом ЦП. Схема розширеного процесора виходить простим об'єднанням однойменних виводів ЦП і АСП із додатковим використанням контролера переривань ВН59А для організації взаємодії виходу INT співпроцесора й входу INTR центрального процесора.

Пасивний режим. Взаємодія процесорів починається по сигналі RESET, тривалість якого повинна бути не менш чотирьох тактів CLK. По закінченні цього сигналу АСП «аналізує» рівень сигналу на лінії, що з'єднує виводи ПОЗА процесорами. Центральний процесор ВМ86 формує на виході ПОЗА нульовий сигнал (ВМ88 – одиничний сигнал). Через кілька тактів CLK ЦП робить вибірку команд із пам'яті, починаючи з адреси FFFFOH, а співпроцесор стежить за його роботою, перебуваючи в пасивному режимі. Вибирати команди з пам'яті може тільки ЦП, але співпроцесор також одержує всі команди, записуючи їх у чергу з байтів команд, ідентичну черги центрального процесора, і контролює виконання команд центральним процесором. У пасивному режимі режимі виводи S2 – S0, A19/S6 – A16/S3 і AD15-AD0 використовуються як входи. Як тільки в потоці команд з'являється команда ESC, АСП починає переходити з пасивного режиму в активний.

Активний режим. Для переходу в активний режим співпроцесор повинен установити момент початку виконання дій, певних командою ESC. Для цього він починає аналізувати код стану черги команд ЦП по лініях QS1, QS0. Як тільки з'являється код QS1 QS0 = 01, що відповідає першому байту команди, і цей байт містить код ESC= 11011, співпроцесор переходить в активний режим. об'єднанням однойменних виводів ЦП і АСП із додатковим використанням контролера переривань ВН59А для організації взаємодії виходу INT співпроцесора й входу INTR центрального процесора

Пасивний режим. Взаємодія процесорів починається по сигналі RESET, тривалість якого повинна бути не менш чотирьох тактів CLK. По закінченні цього сигналу АСП «аналізує» рівень сигналу на лінії, що з'єднує виводи ПОЗА процесорами. Центральний процесор ВМ86 формує 87 на виході ПОЗА нульовий сигнал (ВМ88 – одиничний сигнал). Через кілька тактів CLK (мал. 3.9) ЦП робить вибірку команд із пам'яті, починаючи з адреси FFFFOH, а співпроцесор стежить за його роботою, перебуваючи в пасивному режимі. Вибирати команди з пам'яті може тільки ЦП, але співпроцесор також одержує всі команди, записуючи їх у чергу з байтів команд, ідентичну черги центрального процесора, і контролює виконання команд центральним процесором. Тимчасові діаграми роботи АСП у пасивному режимі наведені на мал. 3.10. У цьому режимі виводи S2 – S0, A19/S6 – A16/S3 і AD15-AD0 використовуються як входи. Як тільки в потоці команд з'являється команда ESC, АСП починає переходити з пасивного режиму в активний.

Активний режим. Для переходу в активний режим співпроцесор повинен установити момент початку виконання дій, певних командою ESC. Для цього він починає аналізувати код стану черги команд ЦП по лініях QS1, QS0. Як тільки з'являється код QS1 QS0 = 01, що відповідає першому байту

команди, і цей байт містить код ESC= 11011, співпроцесор переходить в активний режим.

Якщо команда ESC містить вказівку про те, що операнда-джерело розміщене в пам'яті, то ЦП формує адреса операнда й зчитує слово даних. При цьому АСП перехоплює 20-бітова адреса операнда, записуючи його в

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

Якщо певний у команді ESC адреса є адресою приймача, те, перехопивши цю адресу в регістр ЕР, співпроцесор ігнорує лічене ЦП слово даних, а пізніше, виконавши команду, записує результат по перехопленій адресі.

У кожному разі, перейшовши в активний режим, співпроцесор видає сигнал зайнятості BUSY=1 на вхід TEST центрального процесора. Із цього моменту обидва процесори здійснюють паралельну роботу. Співпроцесор виконує дії, певні командою ESC, а ЦП продовжує виконання програми. При цьому шиною управляє ЦП, і щораз, коли співпроцесору потрібно звернутися до пам'яті, він повинен запитувати шину по одній з ліній RQ/QT.

Тимчасові діаграми процесів запиту й підтвердження захоплення локальної шини по лінії RQ/GT0 представлені на мал. 3.11. Лінія RQ/GT0 використовується ВМ87 для запиту локальної шини ВМ86, або для власних звертань К пам'яті, або для її надання іншому МП, що зв'язаний с ВМ87 по лінії RQ/GT1 (мал. 3.12). Послідовність взаємодії по лінії RQ/GT0 наступна.

1. Співпроцесор ВМ87 надсилає запит RQ ЦП, що управляє шиною, або «пересилає» запит, що надійшов від іншого МП.

2. По закінченні декількох тактів CLK, необхідних ЦП ВМ86 для завершення поточного циклу шини й переходу виводів у високоомне стан, АСП ВМ87 одержує сигнал підтвердження ВІД шини й починає неї використовувати або «пересилає» сигнал підтвердження іншому МП.

3. Після завершення використання шини АСП ВМ87 посилає сигнал REALEASE центральному процесору, «відпускаючи» шину, або «передає» сигнал відпускання від іншого МП.

Якщо команда ESC містить вказівку про те, що операнда-джерело розміщене в пам'яті, то ЦП формує адреса операнда й зчитує слово даних. При цьому АСП перехоплює 20-бітова адреса операнда, записуючи його в регістр ЕР, і слово даних, записуючи його в чергу з байтів операндів. При довжині операнда більше одного слова співпроцесор одержує інші слова самостійно, додатково запитуючи шину.

Якщо певний у команді ESC адреса є адресою приймача, те, перехопивши цю адресу в регістр ЕР, співпроцесор ігнорує лічене ЦП слово даних, а пізніше, виконавши команду, записує результат по перехопленій адресі.

У кожному разі, перейшовши в активний режим, співпроцесор видає сигнал зайнятості BUSY=1 на вхід TEST центрального процесора. Із цього моменту обидва процесори здійснюють паралельну роботу. Співпроцесор виконує дії, певні командою ESC, а ЦП продовжує виконання програми. При цьому шиною управляє ЦП, і щораз, коли співпроцесору потрібно звернутися до пам'яті, він повинен запитувати шину по одній з ліній RQ/QT.

Лінія RQ/GT1 використовується для зв'язку ВМ87 з іншим МП, що використовує локальну шину разом із ВМ87 і ВМ86, для швидкого надання твані цьому МП. Якщо в момент запиту по лінії RQ/QT1 від іншого МП співпроцесор ВМ87 не управляє локальною шиною, то процес передачі шини відповідає наведеному. Коли в момент запиту шиною управляє АСП

ВМ87, послідовність взаємодії по лінії RQ/GT1 наступна (мал. 3.13).

1. Запит RQ надходить від МП на АСП ВМ87.

2. Під час найближчого такту Т 4 або Т1 сигнал підтвердження GT1 передається від ВМ87 К МП і виводи ВМ87 переходять у високоомне стан.

3. Після завершення використання шини МП посилає сигнал RELEASE співпроцесору ВМ87, що знову знаходить керування локальною шиною.

В активному режимі, коли ВМ87 управляє локальною шиною для пересилання даних в/із пам'яті, код його стану S2-S0 дешифрується системним контролером ВГ88, визначаючи цикл запису S2 S1 50=110 або зчитування

S2,S1,S0= 101. Тимчасові діаграми, що пояснюють роботу ВМ87 і керованого їм системного контролера ВГ88, наведені на мал. 3.14. При обміні даними із зовнішніми пристроями, відображеними на адресний простір пам'яті, можливі ситуації, коли ВМ87 очікує сигнал готовності READY. У цьому випадку між тактами ТЗ і Т4 розміщаються такти очікування TW, число яких визначається часом підготовки зовнішнього пристрою до обміну.