Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Загальна характеристика ,архітектура та функціонування мікропроцесор




Центральний процесорний елемент К1810 ВМ 86 є однокристальним 16-бітовим МП, виконаним за високоякісною n-МОП технологією. Кристал містить біля 29 000 транзисторів і споживає потужність 1.7 Вт від джерела +5В. Схема випускається в 40-вивідному корпусі. Синхронізується однофазними імпульсами з частотою 25 МГц від зовнішнього генератора. Швидкодія МП на операціях обробки даних складає 1.66-106 оп/с при періоді тактових імпульсів 200 нc.

МП ВМ86 має 14 16-ти бітових внутрішніх регістрів і утворює 16-ти бітову ШД для зв'язку із зовнішньою пам'яттю і портами вводу-виводу. ША має 20 ліній, що дозволяє адресувати пам'ять в 1Мбайт=220=1 048 576 Байтів. При використанні операцій вводу-виводу використовуються 8- або 16-бітові адреси, сумарна ємність пам¢яті яких складає 64 КБайт. У ВІС ВМ86 реалізована багаторівнева система переривань по вектору, число яких складає 256.

МП ВМ86 є результатом удосконалення МП ВМ80 і архітектура обох має ба­гато спільного. Програмно-доступні вузли і системи команд ВМ80 можуть бути підмножиною вузлів і системи команд ВМ86.

МП ВМ86 є аналогом МП відомої фірми Intel 8086, а ВМ88 - 8088. Ці мікропроцесори є основою персональних ЕОМ типу ІВМ РС/ХТ.

 

Призначення виводів МП

Призначення виводів МП залежить від режиму його роботи. Вісім виводів МП мають подвійне призначення (позначення в дужках відповідає максимальному ре­жиму). В таблиці 4.7. приведені використання виводів МП, які є загальними для ре­жиму роботи МП з мінімальною та максимальною конфігурацією, в таблиці 4.8-призначення виводів тільки в мінімальному режимі, а в таблиці 4.9 - використання тільки в максимальному режимі. Буквою Z позначені тристабільні виводи. Детальніше можна ознайомитись з даним матеріалом в літературі ([2], с. 158-164; [З], с.8-14; [4], с.227-229).

Рисунок 4.24 - Умовне графічне зображення МП К1810 ВМ86

Таблиця 4.7

Позначення Призначення Тип
АD15-АDО Лінії шини адреси/даних (ШАД) Вихід (z)
А16/S3 Лінії адреси/стану. Під час такту Т1 містять Вихід (z)
А17/S4 старші біти адреси при зверненні до пам'яті і    
А18/S5 ЗП, а в такті Т2, ТЗ, ТW і Т4 - інформацію    
А 19/S6 про стан МП    
ВНЕ/S7 Дозвіл старшого байта шини/стан Вихід (z)
RD Читання, строб який вказує, що МП виконує Вихід (z)
    цикл читання    
RDU Готовність, підтвердження того, що адресо-­ Вхід
    ваний пристрій готовий для взаємообміну з    
    МП даними    
INTR Запит переривання, при якому МП перехо-­ Вхід
    дить на підпрограму обробки переривань,    
    коли є дозвіл    
NMI Немасковане переривання, викликає перери-­ Вхід
    вання за фіксованим вектором, яке не може    
    бути заперечене програмнo    
ТЕSТ Вхідний сигнал., який перевіряється коман-­ Вхід
    дою WAIT, за якою при TEST=1 наступає    
    режим "очікування"    
CLK, (CLC) Тактові імпульси синхронізації роботи МП Вхід
    Обнуління, заставляє МП одразу припинити    
RESЕТ(СLR) дії і почати виконання програми спочатку Вхід
МN(MX)   (МХ)   Мінімальний/ максимальний режим роботи МП Вхід    

 

 

Таблиця 4.8

Позначення Призначення Тип
INTA Підтвердження переривань, спробує читання Вихід
    вектора переривань    
ALE(STB) Дозвіл регістра-фіксатора адреси, стробує Вихiд
    появу адресної інформації на ШАД    
DEN(DE) Дозвіл даних, стробує. появу даних на ШАД Вихід (z)
DT/DR(OP/IP)   Передача (прийом) даних, визначає напря­ Вихід (z)
  мок пересилання даних на ШАД  
M/IO Звернення до ЗП або пристрою вводу-виводу Вихід (z)
  в даному циклі шини  
WR   Запис, строб про виконання МП циклу запи-­ Вихід (z)
  су  
HOLD   Запит захоплення, зовнішній пристрій запи­ Вхід
  тує шини МП  
HLDA Підтвердження захоплення, МП перевів Вихід
  свої шини в третій стан  

Таблиця 4.9

Позначення Призначення Тип
S2,S1,S0(SТ2- Лінії стану, характеризують тип виконувано­- Вихід (z)
SТО) го циклу; необхідний для синтезу керуючих    
    сигналів    
RQ/GTO Запит/представлення, використовується для Вхід/вихід
RQ/GTI обміну сигналами між процесорами в бага-­    
(RQ/ЕО) топроцесорній системі, для формування про-­    
(RQ/Е1) цедури використання шин    
LOСК Блокування (зайнята) шини, інформуються Вихід
    інші процесори і пристрої, що вони не мо­-    
    жуть запитувати шину    
QS1,QS0 Стан черги, вказує стан внутрішньої 6- Вихід
    байтової черги команд МП    

Архітектура мікропроцесора

Укрупнено структурна схема МП ВМ 86 отримує дві відносно незалежні час­тини (рисунок 4.26): операційний пристрій ЕU, який реалізовує задані командою опе­рації, і пристрій шинного інтерфейсу ВIU, який здійснює добування команд з пам¢яті, а також звернення до пам¢яті і зовнішніх пристроїв для читання операнда і запису результату.

Це підвищує швидкодію МП, оскільки ці пристрої працюють па­ралельно.

Операційний пристрій ЕU має групу регістрів оперативного призначення, АЛП, регістр індикаторів (ознак) F та блок керування.

Вісім 16-бітових регістрів оперативного призначення (РЗП) беруть участь у багатьох командах. Регістри АХ, ВХ, СХ і DХ використовуються передусім для зберігання даних і допускають окреме використання їх молодших і старших байтів. Регістри SР, ВР, SI, DI використовуються головним чином для зберігання адресної інформації. Відповідність регістрів для ВМ86 і ВМ 80 приведені в таблиці 4.10, де FL-молодщий байт регістра F.

Таблиця 4.10

Регістри ВМ 80 А В C D Е Н L РС F
Регістри ВМ 86 АL CH CL DH DL ВН BL ІР FL

Інші регістри є неподільними і оперують 16-бітовими словами. Регістри SР і ВР зберігають зміщення адреси в межах біжучого стекового сегмента пам'яті, а індексні регістри SI і DI зберігають адреси відповідно в біжучому сегменті даних і в біжучому додатковому сегменті. Одначе при використанні цих регістрів для адре­сації операндів можлива заміна сегментів пам'яті.

Рисунок 4.26-Структурна схема МП ВМ86

Арифметико-логічний пристрій (АЛП) має 16-ти бітовий комбінаційний сума­тор, при допомозі якого виконуються арифметичні операції, набір комбінаційних схем для виконання логічних операцій, схеми для операцій зсуву і десяткової ко­рекції, а також регістри для тимчасового зберігання операндів і результатів.

До АЛП під'єднаний регістр індикаторів F (рисунок 4.27). Його молодший байт FL повністю відповідає регістру індикаторів МП ВМ80.

 

            FH                           FL            
                               
* * * * ОF ОF IF TF SF ZF * АF * РF * СF

Рисунок 4.27-Формат регістра індикаторів F

П'ять арифметичних індикаторів СF, РF, ZF, SF і ОF (крім АF) використову­ються для реалізації розгалужених програм.

Призначення арифметичних індикаторів:

СF- індикатор переносу;

АF- індикатор додаткового переносу;

РF- індикатор паритету;

ZF-індикатор нуля;

SF- індикатор знаку;

ОF-ознака переривання, яка дозволяє генерувати програмне перери­вання.

Для керування роботою МП є додаткові три індикатори:

DF-індикатор напрямку обробки ланцюжків:

DF=0- від меншої адреси;

DF=1-від більшої адреси.

ІF-дозвіл на переривання (команди СLI і STI); при ІF=1 дозвіл на переривання по входу INTR; при ІF=0- заборона переривання. ТF-індикатор трасування; при ТF=1 МП переходить в покроковий режим роботи.

Пристрій керування (ПК) дешифрує команди, а також виробляє необхідні ке­руючі сигнали.

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

Конвеєр команд має набір байтових регістрів і виконує роль регістра команд, в якому зберігаються коди, вибрані з пам'яті. Довжина конвеєра 6 байтів.

Сегментні регістри зберігають базові (початкові) адреси сегментів пам'яті: кодового сегмента СS, в якому є програма, стeкового сегмента SS, сегмента даних DS, додаткового сегмента ЕS, в якому переважно розміщуються дані. Наявність сегмент­них регістрів обумовлено розподілом пам'яті на сегменти і використаним способом адресації пам¢яті. Хоча МП має 20-бітову шину фізичної адреси пам'яті, він оперує з 16-бітовими логічними адресами, які складаються із базової адреси сегмента і зміщення в сегменті.

Суматор адреси здійснює обчислення 20-бітової адреси.

Вказівник команд ІР зберігає зміщення наступної команди в біжучому кодово­му сегменті. Він є аналогом стандартного лічильника для МП ВМ 80 з тією різницею, що його вміст визначає адресу команди тільки в сукупності з вмістом регістра СS.

Адресування пам'яті і організація вводу-виводу

1) Розміщення байтів і слів в пам'яті.

Пам'ять логічно організована як одновимірний масив байтів, кожний з яких має 20-бітову фізичну адресу в діапазоні 00000-FFFFF. Будь-які два суміжних байти в пам'яті можна розглядати як 16-бітове слово. Молодший байт слова має меншу ад­ресу, а старший-більшу. Повна інформація, необхідна для визначення фізичної адре­си, міститься в покажчику адреси. Для запам'ятовування покажчика адреси не­обхідно два слова пам'яті, причому слова з меншою адресою завжди містить зміщення, а з більшою-базову адресу сегмента.

 

Рисунок 4.28-Розміщення слова в пам¢яті.

2) Сегментація пам'яті і обчислення адреси.

Простір пам'яті в 1 МБайт представляється як набір сегментів, що визначають­ся пограмним шляхом. Сегмент складається з суміжних комірок пам'яті і є незалеж­ною і окремо заадресованою одиницею пам'яті ємністю в 64 КБайт. Кожному сег­менту програмою призначається початкова (базова) адреса, що є адресою першого байта сегмента в просторі пам'яті. Оперативна та постійна пам'ять МП системи на основі МП 86 утворюють єдиний простір пам'яті із спільною адресацією 1048576 8-розрядних комірок від 00000 до FFFFF. Двобайтові операнди займають дві сусідні комірки, причому молодший байт операндa розміщається у комірці з меншою адресою, яка і вважається адресою цілого операндa. Комірки з адресами від 00000 до 003FF, а також від FFFF0 до FFFFF бажано зарезервувати для обслуговування пере­ривань та для початкового встановлення МП системи при включенні живлення. Максимальна ємність кожного з сегментів пам'яті- 64 КБайт, тобто одночасно МП має доступ до 256 КБайт пам'яті. На рисунку 4.29 наведений приклад розміщення сег­ментів у просторі пам'яті МП системи.

При необхідності збільшення об'єму будь-якого з сегментів потрібна зміна початко­вої адреси у відповідному сегментному регістрі. Будь-який з сегментів може бути відсутній, а для нескладних програм, де загальний обсяг оперативної та постійної пам'яті не перевищує 64 КБайт, всі сегменти можна об'єднати (сегментні регістри мають однакову початкову адресу). Початкові адреси чотирьох сегментів записують в регістри СS, DS, SS і ЕS, тим самим фіксуючи біжучі сегменти коду, даних, стеку і додаткових даних. Для звернення до команд і даних, які знаходяться в інших сег­ментах, необхідно змінити вміст сегментних регістрів, що дозволяє використовувати весь простір пам'яті. Сегментні регістри ініціалізуються програмним шляхом при запису в них відповідних констант.

 

 

 

 

МП ВМ 86 генерує 20-бітову адресу за таким алгоритмом:

фізична адреса=зміщення+16•(регістр сегмента).

На рисунку 2.6 поданий приклад обчислення фізичної адреси:

Для обчислення фізичної адреси база сегмента зміщується на 4 біти вліво і сумується зі зміщенням. На малюнку приведені можливі джерела компонентів логічної адреси (ЕА-ефективна адреса, яка обчислюється у відповідності до способу адре­сації).

Джерела логічної адреси для різних типів звернення до пам¢яті приведені в таб­лиці 4.11.

 

Таблиця 4.11.

Тип звернення до пам¢яті Сегмент (без означення) Варіант Зміщення
Вибірка команд СS Hемає IP
Стекові операції SS Немає
Змінна DS СS,SS,ЕS ЕА
Ланцюжок-джерело DS СS,SS, ЕS SI
Ланцюжок-приймач ЕS Нема DI
ВР як базовий регістр ЕS СS,SS, ЕS EA

 

Таким чином, команди завжди вибираються із біжучого сегмента коду у відповідності з логічною адресою СS:ІР. Стекові команди завжди звертаються до сегмента стеку за адресою SS:SР. Якщо при обчисленні адреси EА використовується регістр ВР, тоді звернення відбувається до стекового сегмента, але при цьому він функціонує як ОЗП з довільною вибіркою.

2) Організація вводу-виводу

Ввід-вивід даних може здійснюватися двома способами: з використанням ад­ресного простору вводу-виводу і з використанням загального з пам¢яттю адресного простору, тобто відображенням на пам¢ять.

При першому способі використовуються спеціальні команди IN (ввід) і ОUТ (вивід), які забезпечують передачу даних між акумуляторами АL або АХ і адресова­ними портами. При використанні цих команд генеруються сигнали М/IО=0, які за­безпечують вибір простору вводу-виводу і в сукупності з сигналами WR і RD формуються системні сигнали IOW і IOR для керування операціями запису даних в порт або читання з порта.

Команди ЇN і OUT можуть використовувати пряму адресацію, коли адреса порту представлена константою у другому байті команди і опосередковану, коли ад­реса розмішується в регістрі DХ. В першому випадку можна заадресувати до 256 портів для вводу і виводу даних. В другому забезпечується адресний простір до 64 К 8-бітових портів.

При другому способі адреси портів розміщуються в загальному адресному просторі. Це підвищує гнучкість програмування, оскільки для вводу-виводу можна використати будь-яку команду звернення до пам¢яті.

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

Мікропроцесор ВМ 86 має ефективну систему переривань, в якій кожному пе­рериванню поставлений у відповідність код (від 0 до 255). Переривання можуть ініціюватись зовнішніми пристроями (зовнішнє переривання) або командами про­грамних переривань, а також інколи-автоматично самим МП (внутрішнє перериван­ня). Можливі джерела переривань показані на рисунку 4.31.

Рисунок 4.31 -Джерела переривань

 

Переривання заставляє МП тимчасово зупинити виконання поточної програми і перейти до виконання підпрограми обробки переривань. При цьому в стеці запам¢ятовується адреса повернення (СS і РІ) і вміст регістра індикаторів F, а спеціальними командами на початку і в кінці підпрограми зберігають та відновлюють вміст інших необхідних регістрів.

Зовнішнє переривання. Запит на зовнішнє переривання поступає в МП двома входами: ІNTR і NМІ. Запит на масковані переривання від ЗвП надходять на програ­мований контролер переривань К1810 ВМ59А, який формує сигнал на вхід INTR=1. Дія МП залежить від стану індикатора IF дозволу переривання. Якщо IF=0, перери­вання по входу заборонено (замасковано) і МП переходить до іншої команди. Коли МП відповість на сигнал ІNTR, підтвердженням INТА=1 і ІF=1, то він розпізнає за­пит переривання і обробляє його (в другому такті INТА2, контролер переривань по­силає байт, що характеризує тип переривань). Станом індикатора ІF програміст може керувати при допомозі команди SТІ (установка) і СLI (обнуління).

Запит на немасковані переривання по входу NMI використовуються для пере­ривань роботи МП в аварійних ситуаціях (пропадання живлення, виявлення помилок пам'яті тощо). Перериваня відбуваються за переднім (додатнім) фронтом на вході NМІ, при цьому МП формує код типу 2. Стан індикатора IF не впливає на даний тип переривань.

Внутрішнє переривання характеризується типом переривань, які або передба­чені або містяться в коді команд.

Переривання за помилкою ділення (тип 0) генерується МП після виконання команд ділення DIV і IDIV, якщо результат ділення перевищує формат приймача або при діленні на нуль.

Переривання по переповненню (типу 4) генерується однобайтовою командою INTО, якщо установлений індикатор ОF.

Покрокове переривання (тип 1) генерується автоматично при ТF=1 після вико­нання кожної команди. Стан індикатора ТF можна задати тільки через стек шляхом накладання відповідної маски на вміст регістра F в стеку.

Переривання, яке визначається користувачем при складанні програм, здійснюється двобайтовою командою INТ n в якому тип переривання вказується у другому байті команди. Команда ІNТ n викликає необхідну підпрограму, як і коман­да САLL.

Однобайтова команда INТЗ викликає переривання типу 3, яке визначає пере­ривання контрольної точки. Контрольною точкою може бути будь-яке місце в про­грамі, де відбувається переривання і здійснюються деякі спеціальні дії (індикація вмісту регістрів, пам¢яті і портів при відлагодженні).

Процедура обслуговування переривань. Зв¢язок між кодом, який визначає тип переривання і підпрограмою обслуговування переривань встановлюється при допомозі таблиці вказівників векторів переривань (рисунок 4.32). Повна таблиця займає 1 КБайт пам¢яті і містить 256 елементів. Кожний елемент таблиці містить два слова, які визначають початкову логічну адресу підпрограми. Слово з більшою адресою є базова адреса сегмента, а слово з меншою адресою-зміщення програми від початку кодового сегмента.

Структура підпрограми переривань повинна бути такою:

1) Занести в стек ті регістри МП, які будуть використані в підпрограмі;

2) Дозволити, якщо необхідно, зовнішнє переривання командою STI;

3) Забезпечити заборону повторного переривання за процедурою даного вектора переривань;

4) Основна процедура обслуговування переривань;

5) Заборонити переривання по входу INTR, командою CLI;

6) Відновити вміст регістрів, занесених в стек;

7) Дозволити переривання по входу INTR командою STI;

8) Вихід з підпрограми IRET.

  Рисунок 4.32

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

Виконання команд можна представити послідовністю циклів шини (циклів обміну), протягом яких МП звертається до пам¢яті за командами або

обмінюється даними з периферійними пристроями. Кожний цикл шини ініціюється пристроєм шинного інтерфейсу і містить чотири обов¢язкові такти Т1-Т4. В такті Т1 видається адреса на суміщену шину адреси/даних, в такті Т2 здійснюється комутація напрямку передачі, в тактах Т3 і Т4-передача даних.Функціонування МП ВМ86 в мінімальному режимі ілюструється діаграмами на рисунку 4.33.

 

Рисунок 4.33-Часові діаграми роботи ВМ86 в мінімальному режимі

 

Цикл починається з формування в такті Т1 сигналу М/IO, який визначає тип пристрою (запам¢ятовуючий пристрій чи зовнішній пристрій), до якого відбувається звернення для пересилки даних. Тривалість сигналу М/IO рівна тривалості циклу шини, і він використовується для селектування адреси пристрою. В такті Т1 і на початку Т2 МП формує адресу запам¢ятовуючого пристрою (ЗпП) на лініях А19-А16 і AD15-AD0 або адресу зовнішнього пристою (ЗвП) на лініях AD15-AD0, а також виробляє сигнал ВНЕ, який сумісно з А0 визначає передачу слова або одного з байтів. Одночасно формується строб адреси ALE, за спадом якого адреса фіксується у внутрішніх регістрах-фіксаторах, на виході яких адреса зберігається протягом всього циклу шини.

В такті Т2 відбувається перемикання шин: на лініях А19/S6-A16/S3 появляються сигнали стану S6-S3, які зберігаються до кінця такту Т4.

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

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

В циклі запису в такті Т2 адреса на лініях AD15-AD0 замінюється даними, які треба записати в адресований пристрій. Дaні залишаються дійсними до середини такту Т4 і супроводжуються сигналом WR=0, який є стробом запису даних в пристрій. Сигнал DE=0 появляється в такті Т1 і використовується для підготовки буферів до передачі даних.

Сигнал DT/R=1, який перемикає буфери на передачу даних в напрямку до МП, утримується протягом всього циклу запису. Після установки WR=1 такт Т4 закінчуєтся аналогічно до циклу читання.

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

Крім основного режиму роботи МП ВМ86 характеризується особливими станами та режимами роботи.

Стан «зупинка» мікропроцесора ініціюється командою HLT, аналогічно до МП КР 580 ИК80. Вихід з цього стану можливий за умови надходження сигналів зовнішніх переривань або сигналу початкової установки.

Початкова установка забезпечується високим рівнем сигналу на вході RESET (CLR) мікропроцесора. При цьому зупиняється виконання всіх внутрішніх операцій і процесор починає процес початкової ініціалізації регістрів, який триває 10 тактів, і полягає у встановленні в нульовий стан індикаторів IF, TF, покажчика команд ІР та сегментних регістрів DS, ES i SS. До кодового сегментного регістру CS заноситься значення FFFF, що призводить до адресації першої команди програми з адресою FFFF0. Як правило, першою командою програми є команда безумовного переходу JMP до початку виконання програми.

Робота МП ВМ86 при виконанні команди WAIT (очікування) забезпечує синхронізацію із зовнішініми процесами. Під час дії команди WAIT стан мікропроцесора буде визначатись сигналом на вході TEST. Якщо на цьому вході високий рівень сигналу МП відключає свої магістральні шини від системи і очікує появи сигналу низького рівня на вході TEST. При появі і підтримці його на даному рівні на протязі шести машинних тактів процес виконання команд продовжується у звичайному порядку.

Режим прямого доступу до пам¢яті аналогічний як і для процесора КР 580 ИК 80. Він ініціюється подачею на вхід HOLD ВМ86 одиничного сигналу запиту. По завершенні поточного машинного циклу МП формує сигнал HLDA підтвердження захоплення і переводить свої шини в третій стан.

Побудова блока центрального процесора

В однопроцесорних мікроЕОМ та мікроконтролерах МП ВМ86 працює в мінімальному режимі (MN/MX=1).При розробці структури блоку центрального процесора (ЦП) (рисунок 4.34) виникають задачі поділу (демультиплексування) шини адреси/даних (ШАД), буферування шин адреси (ША) і шини даних (ШД), а також формування системних керуючих сигналів для блоку пам¢яті і зовнішніх пристроїв.

Перша задача вирішується при допомозі інтегральної схеми (ІС) К1810 ИР 82/83, яка виконує функції адресного фіксатора. Так як сигнал ВНЕ формується в той же інтервал часу, що і адресні сигнали, то його теж необхідно зафіксувати у фіксаторі. Тому на рисунку два 8-бітових регістри К1810 ИР82 забезпечують запам¢ятовування 16 розрядів адреси. Для доступу до пам¢яті ємністю в 1 МБайт необхідно підключити ще один регістр, на який подаються решта старших розрядів AD15, A19/S6-A16/S3.

Друга задача розв¢язується при допомозі двонаправлених 8-бітових шинних формувачів К1810 ВА86/87, які підсилюють сигнали системної шини даних.

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

 

Рисунок 4.34-Структурна схема ЦП на основі ВМ86.

 

та зовнішніми пристроями. Роль формувачів цих сигналів можуть виконувати (рисунок 4.34) елементи АБО-НІ або дешифратор на три входи (наприклад К155 ИД7). Якщо ж в МПС ввід-вивід організований з відображенням на пам¢ять, тоді сигнал M/IO не використовується і на ЗпП та ЗвП подаються сигнали RD i WR після підсилення.

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

Режими адресації

Мікропроцесор ВМ86 дозволяє багато способів доступу до операндів. Операнди можуть знаходитися в регістрах, в самих командах, в пам`яті або в портах вводу-виводу.

ВМ 86 має сім груп режимів адресації:

1.Регістрова адресація.

2.Безпосередня адресація.

3.Пряма адресація.

4.Опосередкована адресація.

5.Адресація по базі.

6.Пряма адресація з індексуванням.

7.Адресація по базі з індексуванням.

В таблиці приведені формати операндів мови асемблера для всіх семи режимів адресації.

Таблиця 4.12- Режими адресації мікропроцесора ВМ 8 6

Режим адресації Формат операнда Регістр сегмента
1. Регістровий 2. Безпосередній 3. Прямий   4. Опосередкований регістровий     5. По базі   6. Прямий з індексуванням   7. По базі з індексуванням   Регістр Дані Зміщення Мітка [BX] [BP] [DI] [SI] [BX] +зміщення [BP] +зміщення [DI] +зміщення [SI] +зміщення [SI]+зміщення [BX][SI]+зміщення [BX] [DI]+зміщення [BP] [ SI]+зміщення [BP] [DI]+зміщення Не використовується Не використовується DS DS DS SS DS DS DS SS DS DS DS DS SS SS

Зауваження:

1. Компонент < зміщення > при адресації по базі з індексуванням є необов¢язковим.

2. Операнд < регістр > може бути будь-який 8- або 16- бітовий регістр, крім ІР.

3. Операнд < дані > може бути 8- або 16- бітовою константою.

4. Компонент < зміщення > може бути 8- або 16- бітовим зміщенням зі знаком.

5. При роботі зі стрічками регістр DI вказує на сегмент ES.

Розглянемо конкретніше режими адресації.

При регістровій адресації мікропроцесор добуває операнд із регістра (або завантажує його в регістр). Наприклад, команда

MOV AX, CX (CX) ® AX

копіює 16-бітове слово із регістра лічильника СХ в акумулятор АХ.

При безпосередній адресації, як операнд-джерело вказують 8- або 16- бітові значення констант. Наприклад, команда

MOV CX, 500

завантажує значення 500 в регістр СХ. Діапазон зміни констант: -для 8-бітових чисел від -128(80Н) до 127(7FH);

- для 16- бітових чисел зі знаком від -32768(8000Н) до 32767(7FFFH).

- для 8- та 16-бітових чисел без знака з діапазоном відповідно до 255 (OFF)H i 65535 (OFFFFH).

Для адресації пам¢яті використовують інші п¢ять режимів адресації.

Пряма адресація

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

MOV AX, TABLE

завантажує вміст комірки пам¢яті TABLE в регістр АХ (рисунок 4.35).

Рисунок 4.35-Пряма адресація Рисунок 4.36-

Опосередкована ре- гістрова адресація

 

Опосередкована регістрова адресація

При опосередкованій регістровій адресації виконавча адреса операнда міститься в базовому регістрі ВХ, регістрі покажчику бази ВР або індексному регістрі (SI або DI). Опосередковані регістрові операнди потрібно брати в квадратні дужки. Наприклад команда

МОV AX, [BX]

завантажує вміст комірки пам¢яті, адресованої з ВХ (рисунок 4.36).

Рисунок 4.37- Адресація по базі Рисунок 4.38-Пряма

з індексуванням адресація

Адресація по базі

При адресації по базі асемблер вираховує виконавчу адресу сумуванням зміщення з вмістом регістрів ВХ або ВР. Наприклад, команда

MOV AX, [BX] +4

завантажує регістр АХ даними за схемою, приведеною на рисунку 4.36. Асемблер дозволяє вказувати адресований по базі операнд такими способами:

MOV AX, [BP]+4

MOV AX, 4 [BP]

MOV AX, [BP+4].

Ці записи є еквівалентними.

 

Пряма адресація з індексуванням

При прямій адресації з індексуванням виконавча адреса вираховується як сума зміщення та індексного регістру (DI або SI).

Наприклад, якщо мітка B_TABLE - є міткою в таблиці слів, то для завантаження в регістр АХ її третього елемента треба виконати таку послідовність команд:

MOV DI, 4

MOV AХ, TABLE [DI].

Алгоритм роботи команди поданий на рисунку 4.37. Таким чином цей тип адресації корисний при роботі з одномірними таблицями.

 

Адресація по базі з індексуванням

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

Наприклад, нехай ЕОМ слідкує за шістьма запобіжними клапанами на хімічному підприємстві. Вона зчитує їх стан кожні півгодини і запам¢ятовує в комірки пам¢яті. За тиждень ці зчитування утворюють масив, який складається з 336 блоків (48 зчитувань на протязі семи днів) по шість елементів в кожному, а всього-2016 значень.

Якщо початкова адреса масиву записана в ВХ, зміщення блоку (номер зчитування, помножений на 12)- в регістрі DI, а номер клапана заданий в змінній VAL, тоді команда

MOV AX, VAL [BX] [DI]

завантажує потрібне значення стану клапана в регістр АХ.

На рисунку 4.38 зображений процес добування результату третього зчитування (номер 2) для клапана 4 із масиву, в якого зміщення в сегменті даних рівне 100Н.

 

Рисунок 4.38-Добування елемента двовимірного масиву

 

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...