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

2.1.4. Функціонування мікропроцесора

Виконання команд можна представити послідовністю циклів шини (циклів обміну), протягом яких МП звертається до пам'яті за командами або обмінюється даними з пам'яттю або зовнішніми пристроями. Кожний цикл шини ініціюється пристроєм шинного інтерфейсу й містить чотири обов'язкових такти Т1 – Т4. У такті Т1 видається адреса на сполучену шину адреси/даних, у такті Т2 виробляється комутація напрямку передачі, у тактах ТЗ і Т4 – передача даних.

Якщо в системі є запам'ятовувальні або зовнішні пристрої, які не можуть передавати інформацію з максимальною пропускною здатністю шини, то за Допомогою сигналу неготовності RDV = 0 вводиться необхідне число тактів очікування TW між тактами ТЗ і Т4. Залежно від обраного способу керування сигналом RDY система може бути виконана у вигляді «нормально готової» або «нормально неготової». Варіант нормально готової системи характерний лише для невеликих одно-процесорних МШС, у яких більшість пристроїв мають достатню швидкодію. При обігу мікропроцесора до пристроїв з недостатньою швидкодією останні повинні встановити сигнал RDY = 0 не пізніше чим через 8 нс після початку такту ТЗ (мал. 1.9, а) *. У нормально неготовій системі пристрою звичайно вимагають введення тактів очікування TW. Якщо ж обраний пристрій, що не бідує в цьому, то воно повинне вчасно забезпечувати RDY=1, щоб після ТЗ наступив такт Т4 (мал. 1.9,6), тобто щоб запобігти переходу МП у стан очікування. Для формування сигналу RDY сигнали готовності від пристроїв подаються в МП через генератор.

Цикл шини виконується, коли потрібно заповнити чергу команд або здійснити обмін даними в процесі виконання команди. Якщо цикл шини не потрібно, то формуються холості такти TI, під час яких пристрій шинного інтерфейсу залишається пасивним. Протягом такту TI на лініях S6 – S3 мікропроцесор зберігає сигнали стану від попереднього циклу шини. Якщо в попередньому циклі вироблявся запис, МП зберігає на лініях AD записувані дані К наступного циклу шини; якщо вироблялося читання, МП не управляє лініями до початку наступного циклу шини. Число холостих тактів залежить від тривалості виконуваної команди й може бути досить більшим. Так, для команди множення байтів, що втримуються в загальних регістрах, число тактів TI становить 52-69.

У мінімальному режимі функціонування МП ВМ86 ілюструється тимчасовими діаграмами, наведеними на мал. 1.10, 1.11. Цикл починається з формування в такті TI сигналу М/Ю визначальний тип пристрою (ЗУ або ВУ), К якого виробляється обіг для пересилання даних. Тривалість сигналу М/Ю дорівнює тривалості циклу шини, і він використовується для селекції адреси пристрою. У такті Лив початку такту Т2 мікропроцесор виставляє адреса ЗУ на лінії А19 – А16 і AD15 – AD0 або адреса ВУ на лінії AD15 – AD0, а також виробляє сигнал ПОЗА, що разом з АТ визначає передачу слова або одного з байтів. Одночасно з цим МП видає строб адреси ALE, по спаду якого адреса фіксується в зовнішніх регістрах-засувках. На виходах цих регістрів адреса зберігається протягом усього циклу шини (до запису нового значення).

У такті Т2 відбувається перемикання шин: на лінії A19/S6 – A16/S3 надходять сигнали стану S6 – S3, які зберігаються до кінця такту Т4. Надалі значення цих сигналів залежать від виду виконуваної дії (читання або запис).

У циклі читання в такті Т2 лінії AD15 – AD0 переводяться в третє з-стояння до появи даних від адресованого пристрою. У тактах Т2 -Т4 виробляється сигнал читання RD = 0, що вказує цьому пристрою на необхідність видачі даних. Для керування буферами даних, які звичайно підключаються до ліній AD15 – AD0, у тактах Т2 – Т4 формується сигнал DE, що дозволяє передачу даних. Напрямок передачі даних при читанні визначає сигнал DT/R = 0, що діє протягом усього циклу.

Після виконання читання й установлення сигналу RD = 1 мікропроцесор закінчує такт Т4 у такий спосіб: лінії AD15 – AD0 перебувають у високоомному стані, сигнали М/Ю, DE, DT/R S7 – S3 неактивні, буфери даних відключені від каналу.

У циклі запису в такті Т2 адреса на лініях AD15 – AD0 заміняється даними, призначеними для запису в адресуємий пристрій. Дані залишаються дійсними до середини такту Т4 і супроводжуються сигналом WR = 0, що використовується в якості строба для запису даних у пристрій. Сигнал DE = 0 з'являється вже в такті Т1 і використовується для підготовки буферів К передачі даних. Сигнал DT/R=1, що перемикає буфери на передачу даних у напрямку до МП, утримується протягом усього циклу запису.

Після встановлення WR=1 такт Т4 закінчується так само, як і при виконанні циклу читання.

Таким чином, цикли читання й записи різняться не тільки активними значеннями сигналів RD або WR і станом сигналу DT//?, але й тим, що у циклі запису сигнали DE і WR стають активними раніше й мають більшу тривалість, чим у циклі читання Відповідно дані при записі присутні на шині протягом більшого проміжку часу, ніж при читанні.

Особливо варто зупинитися на тім, як МП підтверджує переривання після сприйняття запиту по входу INTR (мал. 1.12). У цьому випадку виконуються два цикли INTA, розділені двома холостими тактами TI. У цих циклах МП не видає адреса, але формує строб ALE. Перший цикл забезпечує підготовку К прийому байта, що визначає тип переривання, і інформація в цьому циклі не приймається. У другому циклі читається вектор переривання по лініях AD7 – AD0. Цей цикл подібний К звичайного циклу читання, але замість сигналу RD = 0 виробляється сигнал INTA = 0. Для запобігання захоплення шин сигналом на вході HOLD (або RQ/GT у максимальному режимі) формується внутрішній сигнал блокування LOCK, починаючи з такту Т2 першого циклу й кінчаючи тактом Т2 другі цикли сигналу INTA.

Послідовність сигналів при захоплення шин у мінімальному режимі ілюструє мал. 1.13. При надходженні запиту HOLD = 1 мікропроцесор формує сигнал підтвердження захоплення HLDA із середини такту Т4 поточні цикли шини або холостого такту, а також переводить свої шини адреси, даних і керування в стан z, у результаті чого МП відключається від каналу, надаючи його в користування пристрою, що послав запит захоплення. Тимчасові параметри сигналів HOLD і HLDA наведені на мал. 1.14.

У максимальному режимі робота шини адреси/даних МП ВМ86 еквівалентна роботі в мінімальному режимі. Як ми вже відзначали, у максимальному режимі змінюється призначення восьми керуючих сигналів, зокрема МП виробляє сигнали стану ST2 – STO (див. табл. 2.8), на основі яких системний контролер (СК) формує необхідні системні керуючі сигнали. Таким чином, МП у цьому режимі працює обов'язково разом із системним контролером, що відбито на тимчасових діаграмах циклу шини (мал. 1.15, 1.16).

Код стану S2 – S0 видається по зрізі синхроімпульсу в останньому такті попереднього циклу, яким може бути такт Т4 або TI. У такті Т1 контролер формує строб ALE і встановлює необхідний рівень сигналу на виході DT/R. У такті Т2 починається формування сигналу дозволу даних DE, що на відміну від мінімального режиму має активний високий рівень, а також наступних керуючих сигналів: RD, MRDC (читання ЗУ), IORC (читання ВУ), AMWC (випереджальний запис ЗУ), AIOWC (випереджальний запис ВУ). Для циклу запису в такті ТЗ починається виробіток сигналів MWTC (запис ЗУ), (запис ВУ). У такті Т4 цикл шини закінчується: лінії AD15 – AD0 переводяться в третій стан, установлюються сигнали S2 = S1=S0 = 1 і припиняється активний стан керуючих сигналів. Необхідно відзначити, що наявність спеціалізованих сигналів читання MRDC і IORC ставить під сумнів доцільність використання загального сигналу читання RD, тим більше що останній вимагає буферізаці.

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

S2 – S0 з пасивного стану. Як показано на мал. 1.17, мікропроцесор не повертає ці сигнали в пасивний стан до сприйняття сигналу готовності RDY, так що контролер зберігає керування шиною протягом будь-якого числа тактів очікування TW.

Залежно від сполучення тимчасових параметрів окремих сигналів можливі два випадки: 1) сигнали S2 – S0 не встигають змінитися до початку такту Т1 (час затримки видачі S2 – S0 максимально при мінімальної тривалості тактового імпульсу CLK=1); 2) сигнали S2 – S0 устигають змінитися (тривалість імпульсу CLK=1 виявляється досить великий у порівнянні із затримкою появи сигналів стану). У першому випадку максимальна затримка видачі строба ALE стосовно початку такту Т1 становить 58 не, у другому – 15 не. У кожному разі спад строба ALE формується контролером по фронті CLK. такту Т1.

Мінімальна тривалість строба ALE становить 75 не, і адресна інформація встановлюється на шинах мінімум за 8 не до зрізу строба ALE, по якому спрацьовують адресні засувки. Адресна інформація зберігається до кінця такту Т1, тоді як імпульс ALE припиняється максимум через 15 не послу початку фронту CLK у такті Т1.

При розробці системного контролера К1810ВГ88 передбачалося, що шина дані системи буферізована. Тому системний контролер починає формування сигналів керування MRDC, IORC, AMWC, AIOWC ще до того, як МП переведе шину в третій стан. Ці сигнали, природно, не повинні подаватися на ті пристрої, які підключені безпосередньо до мультиплексованної шини AD. Перераховані сигнали починаються максимум через 15 нс після початку такту Т2 і закінчуються максимум через 10 нс після початку такту Т4, так що їхня мінімальна тривалість становить 375 нс.

Сигнал напрямку передачі DT/R, подаваний на шинні формувачі, установлюється в такті Т1, але робота ШФ не дозволяється до появи сигналу DEN =0 у такті Т2. Строб даних DEN закінчується максимум через 45 не після початку такту Т4, що забезпечує відключення шинного формувача К початку наступного циклу шини. По фронті тактового імпульсу Т4 установлюється сигнал DT/R = 1, що допускає запис у наступному циклі шини.

При виконанні циклу запису випереджальні сигнали запису мають мінімальну тривалість 375 нс, а звичайні сигнали – тривалість 175 нс. Затримка у встановленні даних на шині може становити 100 нс стосовно початку випереджальних сигналів.

Тимчасові співвідношення, що характеризують формування сигналу готовності, однакові для обох режимів. Мінімальна затримка між початком видачі керуючих сигналів системним контролером і появою сигналу готовності становить 135 нс. Протягом цього часу адресуєме ВУ повинне ухвалити рішення щодо доцільності введення тактів очікування TW і встановити RDY = 0 або RDY=1. Всі керуючі сигнали, крім сигналів звичайного запису, представляють таку можливість. Коли реалізується звичайний запис, що випереджає сигнал AIOWC може використовуватися для оповіщення ВУ про необхідність формування сигналу готовності. Для цієї ж мети можна використовувати лінію S2.

Сигнали QS1, QS0, що характеризують стан черги команд МП, змінюються по зрізі імпульсу CLK (з мінімальною затримкою 10 не) у кожному такті шини, включаючи холості такти TI і такти очікування TW, оскільки стан черги не прямо залежить від активності шини. Зовнішні схеми можуть опитувати ці сигнали по фронті імпульсу CLK, але необхідно враховувати, що значення QS1 і QS0 ставляться до попереднього такту. Вимоги до тимчасових параметрів сигналу TEST такі ж, як при роботі МП у мінімальному режимі.

У максимальному режимі виконується та ж послідовність із двох циклів INTA при підтвердженні переривання, що й у мінімальному. У другому циклі INTA виробляються сигнали DEN і DT/R, як у циклі читання, а також сигнал INTA, по тимчасових параметрах подібний К сигналу RD.

Якщо ІС ВГ88 працює в режимі контролера системної магістралі (IOB = 0), те її вихід MCE/PDEN стає виходом МСЕ, призначеним для керування зчитуванням із шини даних каскадної адреси, що виставляється провідним програмувальним контролером переривань (ПКП) К580ВН59А. Сигнал МСЕ активний у кожному циклі підтвердження переривання й у часі перекривається зі стробом ALE. Імпульс МСЕ використовується для стробування адреси, що виставляється провідної ПКП на три старші лінії шини AD (лінії AD15 – AD13), і дозволяє сигналу ALE зафіксувати каскадну адресу CAS в адресній засувці. Ці адресні лінії можуть бути потім використані для передачі адреси веденому ПКП, підключеному до системної шини. Значення МСЕ = 1 установлюється протягом 15 нс від початку такту Т1 або від моменту появи сигналів стану S2 – S0. Сигнал МСЕ не повинен дозволяти видачу адреси CAS на мультиплексовану шину протягом першого циклу INTA, оскільки МП не гарантує переклад шин у третій стан раніше чим через 80 нс після початку першого циклу INTA. Перший імпульс МСЕ можна заборонити за Допомогою сигналу LOCK, що активний починаючи з такту Т2 перші цикли до такту Т2 другі цикли. При цьому не відбудеться втрати інформації, оскільки ПКП виставляє каскадна адреса тільки в другому циклі INTA. Імпульс МСЕ, як і строб ALE, установлюється протягом 58 не від початку такту Т1, так що К спаду строба ALE залишається 75 нс, протягом яких сигнали на адресних лініях повинні прийняти сталі значення. Імпульс МСЕ залишається активним протягом 52 не після закінчення строба ALE.

Якщо ІС К1810ВГ88 включена в режимі контролера магістралі уведення – виводу (IOB = 1), те на виводі MCE/PDEN виробляється сигнал PDEN, призначений для дозволу роботи формувачів магістралі, до якої підключені ВУ. Оскільки обидва цикли INTA ставляться до циклів уведення, уважається, що всі переривання надходять від пристроїв, підключених до місцевої шини (магістралі), і каскадні адреси не передаються в загальносистемну магістраль. Сигнал DEN при цьому не виробляється, тому що передача даних по шині не виробляється. Якщо місцева шина також буферизована, то керування шинними формувачами здійснюється за Допомогою сигналу PDEN, що по тимчасових характеристиках ідентичний сигналу DEN. Таким чином, сигнал PDEN виробляється при звертанні до ВУ, а сигнал DEN – при вибірці команд або звертанні до ЗУ.

На мал. 1.18 представлені тимчасові діаграми сигналу блокування шини LOCK, що служить для керування доступом до поділюваних ресурсів системи й формується при виконанні однобайтового префікса LOCK.

Сигнал LOCK стає активним у першому такті після виконання префікса LOCK і зберігається активним до завершення заблокованої команди.