
- •Конспект лекцій
- •1 Представлення інформації в мікро-еом
- •2 Класифікація еом
- •3 Типова структура мікропроцесорних
- •2 Мікропроцесори
- •2.1 Архітектура з трьома шинами
- •3 Архітектура 8-розрядного однокристального
- •3.1 Загальна характеристика однокристального мп серії кр580
- •3.2 Структурна схема мп
- •1 Зчитування коду чи команди даних з пам'яті або зовнішнього пристрою
- •2 Запис даних у пам'ять чи зовнішній пристрій
- •3 Робота в режимі захоплення
- •4 Робота в режимі зупинка
- •5 Обслуговування запитів на переривання
- •6 Початкова установка
- •3 Основи програмування мікропроцесорних
- •3.1 Класифікація команд мікропроцесора
- •3.2 Види адресації
- •3.3 Структура і формати команд мп кр580вм80
- •4 Програмований прістрій вводу-виводу паралельної інформації кр580вв55
- •Література
3.2 Структурна схема мп
Мікропроцесорна ВІС, представлена на рисунку 3, містить у собі наступні функціональні блоки:
- блок регістрів;
- арифметико-логічний блок;
- пристрій керування;
- буферні схеми шини даних (БФД) і шини адреси (БФА).
Секція регістрів включає шість 16-розрядних регістрів: W, Z, B, C, D, E, H, L; РС (програмний лічильник) і SP (покажчик стека). Шість 8-розрядних регістрів загального призначення складені в пари регістрів: B,C; D,E; H,L. Вони можуть бути використані в програмах як окремі 8-розрядні регістри або як три 16-розрядних регістри (B, D, H).
Програмний лічильник РС містить поточну адресу пам'яті, до якої звертається програма. Зміст РС автоматично змінюється в плині кожного циклу команди.
Покажчик стека SР містить адресу пам'яті, починаючи з який її можна застосовувати для збереження і відновлення вмісту програмно-доступних регістрів МП ВІС. Покажчик стека SP служить для роботи зі стековою пам'яттю і визначає адресу останнього зайнятого осередку стека.
Буферні регістри W, Z не є програмно доступними регістрами і використовуються для виконання команд усередині МП ВІС.
Арифметико-логічний блок виконує арифметичні і логічні операції під впливом пристрою керування МП ВІС. Він містить у собі 8-розрядний АЛП, схему десяткової корекції ДК, побудованій на базі ПЗП, 5-ти розрядний регістр ознак, акумулятор А, буфер акумулятора БФА і буферний регістр Бфрг. Арифметико-логічний блок дозволяє здійснити арифметичні операції додавання, вирахування, а також основні логічні операції (І, ЧИ, що виключає ЧИ) і пересування. При проведенні операції одне число завжди береться з буфера акумулятора, а інше - з буферного регістра. За результатами виконання арифметико-логічних операцій АЛБ встановлює в регістрі ознак п'ять знаків.
Ознака переносу (Carry - C) встановлюється в одиницю, якщо при виконанні команд з'являється одиниця переносу зі старшого розряду.
Додаткова ознака переносу (Auxiliary carry - АС) встановлюється в одиницю, якщо при виконанні команд виникає одиниця переносу з третього розряду числа. Стан розряду може бути проаналізовано лише командою десяткової корекції числа.
Ознака знака (Sign - S) у машинному слові можна представити числом від -128 до 127. У цьому випадку сьомий (старший) розряд числа - його знак. Одиниця в сьомому розряді при такому записі буде вказувати на негативне число, а нуль - на позитивне.
У розряд нульової ознаки (Zero - Z) записується одиниця, якщо при виконанні команди результат дорівнює нулю.
У розряд ознаки парності (Parity - P) записується одиниця, якщо при виконанні команди кількість одиниць у розрядах результату буде парною.
Регістр команд РгК і дешифратор команди ДШК використовуються в МП ВІС для одержання і дешифрації коду команди. При витягу команди, перший байт, що містить її код, розміщується в регістр команди і надходить на дешифратор команд. Дешифратор разом із пристроєм керування і синхросигналами Ф1 і Ф2 формують керуючі сигнали для усіх внутрішніх блоків МП ВІС, а також його вихідні сигнали керування і стани.
Виконання кожної команди виробляється в МП ВІС в строго визначеній послідовності, обумовленій кодом команди, і синхронізується в часі сигналами Ф1 і Ф2 тактового генератора.
Період синхросигналів CLK1 і CLK2 називається МАШИННИМ ТАКТОМ (Т). Тривалість машинного такту Т може бути встановлена довільно в діапазоні від 0.5 до 2 мікросекунд.
При використанні МП ВІС необхідно ясно представляти динаміку його роботи, тобто на яких магістралях, у залежності від яких керуючих сигналів і коли МП ВІС буде видавати ту чи іншу інформацію. Це надалі допоможе розуміти роботу схем, що дозволить погоджувати її з різними периферійними пристроями мікро-ЕОМ.
При аналізі процесів будемо використовувати наступні поняття:
Машинний цикл (М) - час, необхідний для витягу з пам'яті одного байту інформації або виконання команди, обумовленої одним машинним словом. Машинний цикл може складатися з 3-5 машинних тактів.
Час виконання команди - час одержання, декодування і виконання команди.
У залежності від виду команди цей час може складатися з 1-5 машинних циклів. Для МП ВІС КР580ИК80 існує 10 різних типів машинних циклів:
1. Витяг коду команди (М1).
2. Читання даних з пам'яті.
3. Запис даних у пам'ять.
4. Витяг зі стека.
5. Запис даних у стек.
6. Уведення даних із зовнішнього пристрою.
7. Запис даних у зовнішній пристрій.
8. Цикл обслуговування переривання.
9. Зупинка.
10. Обслуговування переривань при роботі МП ВІС у режимі зупинки.
Тип виконуваного циклу МП вказується на першому такті кожного машинного циклу за допомогою 8-розрядного слова стану, видаваного на ШД.
Окремі розряди слова стану задіюються в мікро-ЕОМ для формування магістралі керування. Слово стану видається на ШД лише на інтервалі синхросигналів С (такти Т1 і Т2), а використовується протягом усього машинного циклу, тому необхідно записати його в спеціальний регістр слова стану Ргсс. На рисунку 4 приведена схема запису слова стану.
Запис здійснюється з використанням сигналу "Синхро" і тактового імпульсу Ф1. Сигнал "Синхро" з'являється на початку кожного циклу і займає проміжок часу між позитивними фронтами тактового імпульсу Ф2 на тактах Т1 і Т2. Таким чином, запис слова стану здійснюється сигналом Ф1 на такті Т2.
Стан розрядів у регістрі станів для всіх типів машинних циклів приведені в таблиці 2.
Таблиця 2 - Слово стану процесора
Розряди регістра |
D0 |
D1 |
D2 |
D3 |
D4 |
D5 |
D6 |
D7 |
Стан процесора |
ППР |
ЗП |
Стек |
ПО |
Вив |
М1 |
ВВ |
Чт |
Вибірка команди |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
Читання з пам'яті |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
Запис у пам'ять |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Читання зі стека |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
Запис у стек |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
Читання з ПВВ |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
Запис в ПВВ |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
Дозвіл переривання |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
Дозвіл зупинки |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
Переривання під час зупинки |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
Розглянемо часові діаграми роботи процесора при різних машинних циклах.