Структура мікропроцесорного пристрою а КР1818ВМ86

Блок-схему мікропроцесорного пристрою на процесорі КР181ОВМ86 зображено на рис. 12.1.

Мікропроцесор має 40 виводів. Більшу кількість їх не вдалося зробити з технологічних причин і через те тут не змогли виконати роздільно виводи ША та ПІД, як це було, наприклад, у МП-80. У МП-86 скорочення кількості виводів досягнуто шляхом суміщення (мультиплексування) функцій виводів ШД і ША: 16 виводів, позначених на рис. 12.1 як AD15 - ADO, у різні інтервали часу використовуються або як адресні виводи, або як виводи ПТД Але оскільки адреса має 20 розрядів, то передбачено ще 4 адресних виводи А19 - А16, на котрі видаються старші біти адреси. З виводівА19 - А16 та AD15 - ADO адреса через буферний регістр БР потрапляє на 20-розрядну ША й підтримується там протягом усього

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

Призначено цю адресу для пам'яті чи для ЗП визначається сигналом М/ Ю (1 - пам'ят:ь(тетогу); 0 - зовнішній пристрій (input-output)). Напрямок обміну між МП та цими пристроями визначається сигналами RD та WR; RD = 0 здійснює сприймання даних до МП (читання), а при WR = 0 виконується запис інформації в пам'ять або в ЗП.

Обмін даними здійснюється через двоспрямований шинний формувач ШФ, який спрацьовує від строба DEN. Вибір напрямку передачі даних задається сигналом DT/ІЇ, котрий керує роботою ШФ (1 - від МП назовні (transmitting); 0 - до МП (reseaving)).

Сигнал ВНЕ визначає роботу блока пам'яті, його буде розглянуто згодом.

Синхросигнал CLK надходить від ГТІ й задає темп роботи всієї системи; RDY - сигнал готовності від пам'яті або від ЗП; RESET -апаратне скидання МП.

У першому такті ТІ на ША виводиться адреса А19 - АО. На виводах А15 - АО вона утримується до третьо­го такту, а на виводах А19 - А16 замінюється в другому такті словом стану S6 - S3. Запис адреси в буфер БР здійснюється стробом ALE, який видається в першому такті. Сигнал напрямку передачі

даних DT/ R також установлюється в пер­шому такті (при читанні цей сигнал має низький рівень).

У другому такті, після того, як адресу буде зафіксовано в буфері БР, шина AD15 - ADO перетворюється на шину даних. Сигнал DEN = 0 наприкінці 12 відкриває ШФ, а сигнал RD = 0 указує, що відбувається акт читання, який триває весь третій такт. Наприкінці четвертого або п'ятого такту всі сигнали знімаються. Аналогічно відбувається акт запису даних.

Слово стану S6 - S3 складається з чотирьох розрядів, які по лініях А19-А 16 передаються після того, як адресу буде зафіксовано в буфері БР. Значення цих бітів розглядатиметься далі.

Організація нам 'яті

Особливість МП-86 полягає в тому, що він є перехідним етапом від простих 8-розрядних процесорів до багаторозрядних. Тому для того, щоб мати можливість використовувати програми та комплектуючі ІМС, які були розроблені для 8-розрядних мікропроцесорів, у МП-86 передбачена можливість працювати як з

Часові діаграми роботи процесора

Часова діаграма машинного циклу читання зображена на рис. 12.2.

Цей цикл триває такти.

8-розрядними, так і з 16-розрядними даними. Це дещо ускладнює його апаратну частину.

Блок пам'яті МП-86 складаєьтся з 8-розрядних комірок пам'яті, кожній з яких привласнюється 20-розрядна двійкова адреса. Дані можна записувати в пам'ять (або зчитувати з неї) у вигляді 8-розрядних байтів або 16-розрядних слів. В останньому випадку мають бути задіяні дві суміжні комірки пам'яті. Така двоїстість відображається на організації пам'яті та роботі з нею.

Таблиця 12.1

Уся пам'ять складається з двох блоків: блоку комірок із парними адресами та блоку комірок із непарним адресами. Кожний із них може містити до 512 Кбайтів і керуватися окремо (рис. 12.3.).

До обох блоків надходять лінії ША А19 - А1. До блоку парних адрес надходить також лінія АО, а до блоку непарних - лінія ВНЕ. Блоки спрацьовують, якщо на цих лініях буде низький рівень (0). При роботі з 16-розрядним словом дані з блоку парних КП видаються на молодші розряди ШД, а з блоку непарних КП - на старші розряди ШД. Результати, які одержуються при різних комбінаціях сигналів АОта ВНЕ подано в табл. 12.1.

Як видно, при комбінації ВНЕ = 0 та АО = 0 на шину даних видається ціле 16-розрядне слово, що складається зі старшого та молодшого байтів. При ВНЕ = 0 та АО = 1 видається лише старший

    Вміст КП з Вміст КПз  
ВНЕ АО непарнною адресою парною адресою   Результат
    Так Так Слово
    Так Ні Ст. байт
    Ні Так Мол, байт
    НІ Ні Немає обміну

байт. А при ВНЕ = 1 та АО = 0 лише молодший. При комбінації 11 пам'ять відключена.

Така організація пам'яті дозволяє гнучко видавати або слова, або байти. Звідси ж випливає, що при запису слова останньому слід надавати парну адресу. Тоді при його зчитуванні достатньо буде вказати парну адресу та видати сигнал ВНЕ ~ 0. У цьому разі слово записується та зчитується за один машинний цикл. Можна, звичайно, записувати слово і по частинах: старший байт за парною адресою, а молодший - за непарною, Тоді й записувати, і видобувати слово доведеться за два заходи, втрачаючи на це два машинні цикли. А це, звичайно, знизить швидкодію системи.

Організація переривань

У мікропроцесорі МП-86 можуть бути переривання трьох типів:

- зовнішні, що не можуть бути замасковані;

- зовнішні, що можуть бути замасковані;

- внутрішні.

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

Звичайні переривання від зовнішніх пристроїв можуть бути замасковані (заборонені) програмними засобами. Запити на" них подаються на вхід INTR.

Внутрішні закладаються в програму й викликають до дії підпрограми, закладені фіксовано до ПЗП машини.

Особливості адресації в МП 86

Основна особливість адресації в МП-86 полягає в тому, що адреса, за якою звертаються до пам'яті, має 20 розрядів, тоді як розмір слова складає лише 16 таких. Найпростіше, здавалося б, цю проблему можна було розв'язати шляхом "прибудовування" до блоку 16-розрядної адреси ще чотирьох старших бітів, які б "озаголовлювали" цей блок ("сторінку") в пам'яті1. Однак ці блоки були б надто громіздкими, бо їх об'єм становив би 64 Кбайти і маніпулювати з ними було б незручно.

Тому в МП-86 застосовується більш гнучка система формування виконавчої (фізичної) адреси. Фізична адреса, тобто адреса комірки пам'яті, до якої звертаються, одержується шляхом підсумовування двох зсунутих одне щодо одного 16-розряднних слів. Одне з них має назву базової адреси й зберігається в спеціальних так званих сегментних регістрах (інші назви: сегментна адреса, сегмент, база). Друге слово, що має назву ефективної адреси (або зміщення, внутрішньосегментне зміщення, відносна адреса), зберігається в регістрах загального призначення (робочих регістрах). Сукупність цих двох адрес має назву логічної адреси.

Для формування фізичної адреси 16-розрядну базову адресу зсувають ліворуч на 4 двійкові розряди, а молодші розряди, що лишилися, заповнюють нулями. До 20-розряАного числа, яке при цьому утворилось, додають 16-розрядне зміщення, їх сума і є фізичною адресою. Так, наприклад, при базовій адресі 123АН і зміщенні 3418Н процедура формування фізичної адреси матиме такий вигляд:

123АО + 341В 157ВВ - фізична адреса

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

розсуд.

1 Така "сторінкова" адресація застосовується в нових ЕОМ, починаючи з 80386.

Операційний пристрій

Пристрій спрлжіння з зовнішньою шиною

Основою операційного пристрою є АЛЛ, котрий, власне, і виконує обробку інформації. З внутрішньою ПІД АЛЛ поь'язаний через буферні регістри. Якісний характер результатів фіксується в регістрі ознак. Уся ця частина не відрізняється принципово від аналогічної частини МП-80.

Іншу структуру мають регістри загального призначення (робочі регістри), їх чотири: АХ, ВХ, СХ і DX. Вони 16-розрядні й у них можна розміщати двобайтові слова. Але ці самі регістри можна використовувати й "по половинках", записуючи один байт у старшу половину регістра (наприклад, у ВН), а другий - у молодшу (наприклад, у BL) і працювати з цими байтами окремо один від одного.

Робочі регістри МП-86 мають кожний своє специфічне призначення. Цим вони відрізняються від робочих регістрів МП-80, де всі регістри (крім А) рівноцінні. Регістр АХ використовується звичайно при арифметичних операціях із двобайтовими операндами. Регістри АН та AL можуть також бути використані для подібних цілей при роботі з однобайтовими операндами.

Регістр ВХ вживається для непрямої адресації даних. Тим він подібний до HL-пари в МП-80. Регістр СХ виконує звичайно функції лічильника в програмних циклах. Регістр DX бере участь у операціях з множення та ділення слів, він може також бути використаний і для зберігання даних. Але цей розподіл функцій є значною мірою умовним і стосується програмного використання регістрів. З апаратного ж погляду всі ці регістри рівноцінні та кожний із них може виконувати функції іншого.

Двобайтові регістри ВР, SP, SI, DI утворюють групу показникових та індексних регістрів. У них містяться зміщення, що використовуються для формування фізичної адреси. З них лише регістр SP - показник стеку - має аналог у МП-80. Для інших регістрів таких аналогій знайти не вдається.

Пристрій спряжіння з шиною також містить групу двобайтових регістрів. Регістри CS, DS, SS та ES мають назву сегментних регістрів і в них розташовуються базові адреси відповідних програмних сегментів. Регістр CS містить базову адресу сегмента команд; DS є базою сегмента даних; SS - база сегмента стеку; ES -резервний сегмент. Регістр IP є лічильником команд. У табл. 12.2. та на рис. 12.5 указується, як звичайно комбінується вміст робочих і базових регістрів для утворення фізичної адреси.

Таблиця 12.2.

Тип звернення до пам'яті База Зміщення Примітки
Вибірка команди CS IP  
Стекова операція SS SP  
Звернення до змінної DS ЕА Базою можуть бути також CS, SS, ES
Ланцюжок - джерело DS SI  
Ланцюжок - приймач ES DI  

Ефективна адреса ЕА формується вмістом регістрів ВХ, ВР, SI, DI та їх комбінаціями. Фізична адреса формується шляхом відповідного підсумовування бази й зміщення, котре виконується суматором адреси.

Цікавою особливістю пристрою спряжіння з шиною в МП-86 є регістр черги адрес. За його допомогою можна в проміжки часу, коли

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

чином можливо використовувати системну шину протягом майже 100% часу й збільшувати загальну швидкодію ЕОМ. Щоправда, коли в програмі зустрічається команда переходу (умовного чи безумовного), або ж команда переходу до підпрограми, черга ламається й установлюється нова, що відповідає новим фрагментам задачі.

Структура регістра ознак, принаймні в молодших бітах, подібна до структури ознак МП-80, лише до назви біта додається літера F. Ці біти мають назву прапорів.

Старший байт Молодший байт

X X X X OF DF IF TF SF ZF X AF x |pf X CF

У старшому байті біт OF сигналізує про переповнення; біти DF, IF, та TF установлюються програмне. Наприклад, установленням IF = 0 можна маскувати (забороняти) переривання. Прапор DF визначає напрямок обробки програм - ланцюжків; Прапор TF = 1 переводить МП у режим трасування, тобто покрокового виконання команд. Це буває корисно при налагоджуванні програми.

Тепер можна повернутися до слова стану, що задається сигналами S6 - S3. Ці сигнали формує сегментний регістр, що бере участь в утворені фізичної адреси. Іншими словами, ці сигнали вказують, до

якого сегмента пам'яті виконується звернення в даному машинному циклі. Прийнято таке кодування сегментів:

. S4,S3 = 00 резервний сегмент ES; 01 сегмент кодів CS;

10 сегмент стека SS;

11 сегмент даних DS.

Сигнал S5 відповідає стану прапора IF: S5 =0 - переривання заборонені; S5 =1 - переривання дозволені. Прапор S6 не використовується.

Наприкінці по­вернемося до по­значення виводів МП-86, Як зазна­чалося, їх сорок. Призначення біль­шості з них нам вже знайомі. Це мультиплексовані виводи адреси та даних AD15-ADO. Старші біти адреси А19-А16 мульти­плексовані з біта­ми слова стану S5 -S3.

Сигнал ВНЕ визначає дозвіл на старший байт

даних.

RD та WR -

сигнали читання та запису в пам'ять або зовнішній пристрій.

М/ІО визначає чи то є звернення до пам'яті (1), чи до зовнішнього пристрою (0).

ALE - строб для запису адреси в буферний регістр.

DT/R - визначає напрямок руху інформації через шинний формувач даних; сигнал DEN активізує (відкриває) його.

INTR та INTA - запит та згода на переривання. NMI - запит на незамасковане переривання. HOLD та HLDA - запит та згода на ПДП.

CLK, READY, RESET - знайомі нам сигнали синхронізації, готовності та скидання.

MN/MX визначає режим роботи МГІ-86 - мінімальний або максимальний (багатопроцесорний, тобто паралельно з іншими процесорами, наприклад, зі співпроцесором). У максимальному режимі призначення деяких виводів змінюється, що й показано на рис. 12.6 окремо. Сигнали LOCK, TEST, QSO, QS1, RG/GTO, RG/GTi використовуються в роботі зі співпроцесором, про, що мова йтиме далі.

Виводи VCC та GND - живлення ІМС.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: