- •1. Еом і мікроЕом. Загальні відомості.
- •1.2. Типова структура еом.
- •2. Архітектура мікропроцесора.
- •2.1. МікроЕом
- •2.2. Структура мікропроцесора
- •2.3. Синхронізація в мікропроцесорній системі
- •2.4. Архітектурні особливості мікропроцесора кр580ик80а
- •2.5. Архітектурні особливості мікропроцесора к1810вм86
- •3. Побудова мп системи з трьома шинами на базі біс 580 серії.
- •3.1. Адресна шина (аш).
- •3.2. Шина даних (шд).
- •3.3. Фіксатор стану мікропроцесора.
- •4. Генератор тактових імпульсів для мп системи.
- •4.1. Генератор для мікропроцесора вм80.
- •4.2. Синхронізація мікропроцесора вм86 і демультиплексування шин.
- •5. Організація інтерфейсів в мп системі
- •5.1. Порти вводу/виводу
- •5.2. Координація взаємодії із зовнішніми пристроями
- •5.3. Переривання програми
- •5.3.1. Переривання із програмним опитуванням
- •5.3.2. Векторна система переривань
2. Архітектура мікропроцесора.
2.1. МікроЕом
МікроЕОМ - це система із шинною організацією, що складається з модулів або блоків, реалізованих у вигляді БІС. Ці модулі обробляють інформацію, керують потоком та інтерпретацією команд, керують роботою шин, зберігають інформацію й здійснюють взаємодію між мікроЕОМ і її оточенням. Цю взаємодію здійснюють блоки, що називаються портами вводу/виводу. Кожний такий порт є інтерфейсом між мікропроцесором і яким-небудь зовнішнім пристроєм (наприклад, терміналом, зовнішньою пам'яттю, вимірювальним приладом та ін.). Взаємодія блоків здійснюється за допомогою шин трьох типів: адресних шин, шин даних і керуючих шин.
Рис.
2.2. Структура мікроЕОМ із шинною
організацією
2.2. Структура мікропроцесора
Рис. 2.2. Гіпотетичний
МП
програмний лічильник (лічильник команд), стек і регістр команд служать для обробки команд;
АЛП, тригер переносу, загальні регістри, регістр адреси даних служать для обробки даних;
інші компоненти - дешифратор команд, БКС - управляють роботою мікропроцесора в цілому.
Взаємодія компонентів здійснюється по внутрішнім каналам передачі даних. Зв’язок МП з іншими блоками (ЗП і пристрої вводу/виводу) відбувається по адресній шині, шині даних і шині керування. Мікропроцесор працює зі словами, які складаються з 8 бітів, що називаються байтами.
Адресна шина МП однонапрямлена, а шина даних двонапрямлена. Керуюча шина складається з 5 ліній, що ведуть до блоку керування й синхронізації й 8 вихідних з нього ліній. По цих лініях передаються керуючі й тактуючі сигнали між компонентами мікропроцесора й між МП і іншими блоками мікроЕОМ.
Лічильник команд складається з 16 бітів і містить адресу чергового байта команди, що зчитується з пам'яті. Він автоматично збільшується на одиницю після читання кожного байта. Одна з функцій стека - збереження адреси повернення з підпрограми. У стеці можуть також зберігатися дані із верхніх трьох загальних регістрів і тригера переносу.
В той час як слово даних завжди складається з одного байта, команда може складатися з 1, 2 або 3 байтів. Перший байт будь-якої команди надходить із пам'яті по шині даних на регістр команд. Цей перший байт подається на вхід дешифратора команд, який визначає її зміст. Зокрема, дешифратор визначає, чи є команда однобайтною або вона складається з великої кількості байтів. В останньому випадку додаткові байти передаються по шині даних з пам'яті й приймаються або на регістр адреси даних, або на один із загальних регістрів.
Регістр адреси даних містить адресу операнда для команд, що звертаються до пам'яті, адресу порту для команд вводу/виводу або адресу наступної команди для команд переходу.
П'ятнадцять 8-бітових загальних регістрів містять операнди для всіх команд, що працюють із даними. Для вказівки цих регістрів використаються 4-бітові коди від 0000 до 1110. Регістр 0000 називається акумулятором (АК) і бере участь у всіх арифметичних і логічних операціях (в АК міститься один з операндів перед початком виконання операції й в АК завантажується результат після її виконання). Звичайно звернення до загальних регістрів здійснюється за допомогою R-селектора або r-селектора. R-селектор дозволяє звертатися до будь-якого регістра, тоді як через r-селектор доступні тільки три перші регістри.
Важливою можливістю МП є непряма адресація. Завдання неіснуючого регістра загального призначення 1111 використовується як вказівка на те, що потрібно звернутися до байта пам'яті по 16-розрядній адресі, яку отримують комбінуванням вмісту двох фіксованих загальних регістрів. Старші 8 розрядів адреси - з регістра 0001, а наступних 8 розрядів - з регістра 0010 (часто ці регістри називають H і L відповідно).
Всі арифметичні й логічні операції виконуються в арифметико-логічному пристрої (АЛП). Входами АЛП служать дві 8-бітові шини. Одна з них іде від акумулятора (регістр 0000), а інша – від R-селектора, що вибирає або один з регістрів загального призначення від 0000 до 1110, або комірку пам'яті, якщо задано непряму адресацію. Ще одна вхідна лінія надходить в АЛП від тригера переносу С, що бере участь у деяких арифметичних і логічних операціях. Результати з АЛП передаються в акумулятор по вихідній 8-бітовій шині. Існують ще дві лінії, що йдуть від АЛП до блоку керування й синхронізації; вони передають інформацію про наявність або відсутність двох особливих умов: акумулятор містить нулі (лінія Z) і старший розряд акумулятора дорівнює 1 (лінія N). Тригер переносу й обидві лінії стану АЛП Z і N називаються прапорцями й використовуються в командах умовного переходу.
Останній компонент МП – блок керування й синхронізації (БКС). Він одержує сигнали від дешифратора команд, що аналізує команду. В БКС із АЛП й від тригера переносу надходять сигнали, по яких визначаються умови для передач керування. Всі інші компоненти МП одержують від БКС керуючі й синхронізуючі сигнали, необхідні для виконання команди. За допомогою 13 зовнішніх ліній реалізується інтерфейс пристрою керування з іншими модулями мікроЕОМ.