Різновиди машинних циклів

Незважаючи на велику різноманітність команд, які може виконувати мікропроцесор КР580ВМ80 (а їх більше ніж 200), усі вони можуть бути здійснені за допомогою лише 10 типів машинних циклів. Ці машинні цикли можна поділити на три групи.

1. Перша група - машинні цикли читання (тобто сприймання інформації мікропроцесором).

МІ - читання першого байту команди. / цьому циклі, з якого починається виконання будь-якої команди, відбувається видобування коду команди з комірки пам'яті за адресою, що міститься в лічильнику команд.

М2 -.читання з пам'яті за адресою, яку вказує мікропроцесор (наприклад, MOV В,М - тут адреса комірки пам'яті має бути в HL-парі, або LDAX В,- адреса в парі ВС).

М4 - читання зі стеку, тут адреса міститься в показнику верхівки

стеку SP.

M6 - читання із зовнішнього пристрою, тобто завантаження акумулятора із зовнішнього пристрою, адреса якого задається мікропроцесором (команда IN та адреса порту).

М8 - читання за переривання, тобто перехід на обслуговування запиту від зовнішнього пристрою.

МІ0 - читання за переривання зі стану зупинки.

2. Друга група - машинні цикли запису.

МЗ - запис у пам'ять інформації, яка міститься в акумуляторі або в робочих регістрах (наприклад, MOV М,В або STAX D). Адреси, потрібні для виконання цих команд містяться в регістрових парах мікропроцесора HL та DE.

М5 - запис у стек (наприклад, PUSH В; адреса міститься в показнику верхівки стеку).

М7 - запис у зовнішній пристрій. Адреса порту міститься в команді (наприклад, OUT FB, де FB - адреса порту).

3. До останньої групи належить лише машинний цикл М9 -команда зупинки мікропроцесора HLT.

Кожний різновид машинних циклів містить у собі певну кількість тактів. Так наприклад, МІ складається з чотирьох тактів, М2 та МЗ -із трьох. Отже, завжди можна підрахувати тривалість виконання окремого машинного циклу, команди та програми в цілому.

Так, наприклад, команда LXI H.D16 (запис до HL-пари 16-розрядного слова) складається з машинних циклів М1,М2'та М2 і виконується за 10 тактів, команда POP В (читання зі стека й запис у пару ВС) - з М1,М4 таМ4 і триває також 10 тактів. А команда STA ADR (запис з акумулятора до комірки пам'яті, адресу якої ADR задано в команді) складається з машинних циклів МІ, М2, М2 та МЗ і потребує 13 тактів: читання коду команди, двох байтів адреси комірки пам'яті та запису до цієї комірки.

Слово стану

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

Структуру слова стану для кожного виду машинних циклів подано І» таблиці 4.1. Кожний біт слова стану DO - D7 має свій зміст і свою назву. DO (INTA) - підтвердження згоди на переривання.

Dl (WO) - запис у пам'ять або в зовнішній пристрій. Активним рівнем тут є 0. Тобто, якщо WO - 0, то відбувається запис у

пам'ять або виведення даних у зовнішній пристрій. Якщо ж WO ~ 1, то має місце читання.

D2 (STACK) - операції зі стеком. На адресній шині встановлюється адреса верхівки стеку.

D3 (HLTA) - мікропроцесор переводиться в стан зупинки.

D4 (OUT) - виведення даних на зовнішній пристрій.

D5 (МІ) - сприймання першого байта команди (коду команди).

D6 (INP) - уведення даних від зовнішнього пристрою.

D7 (МЕМК) - читання з пам'яті.

Так, наприклад, машинний цикл МІ - вибірка першого байта команди з пам'яті має слово стану 1010 0010 = А2Н, а виведення на зовнішній пристрій 0001 0000 =10Н

Таблиця 4.1, Слово стану мікропроцесора КР580ВМ80

Вид машинного циклу Слово стану
D7 MEMR D6 inp D5 МІ D4 OUT D3 HLTA D2 STACK Dl wo DO INTA
МІ Вибірка першого байта команди (читання коду команди)                
М2 Читання з пам'яті                
МЗ Запис у пам'ять                
М4 Читання зі стеку             і  
М5 Запис у стек                
М6 Читання із зовнішнього пристрою                
М7 Запис у зовнішній пристрій                
М8 Читання з перериванням                
М9 Підтвердження зупинки                
М10 Переривання зі стану зупинки                

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



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