- •4.1.Основи побудови мікро-еом.
- •4.3.Регістри мікропроцесора.
- •4.3.1.Регістри спеціального призначення.
- •4.3.2.Лічильник команд.
- •4.3.4.Регістр адреси памяті.
- •4.3.5.Регістр команд (рк).
- •4.3.6. Регістр станів.
- •4.3.7.Вказівник стеку.
- •4.3.8.Індексний регістр.
- •4.3.9.Буферний регістр.
- •4.4.Регістри загального призначення.
- •4.5.Пристрій керування.
- •4.5.1.Пристрій керування з жорсткою логікою.
- •Команда із озп
- •4.5.2.Мікропрограмований пристрій керування.
- •Команда із озп
- •4.6.Буферні схеми. Магістральний принцип
- •4.6.1.Внутрішні шини.
- •4.18.Загальні поняття про переривання.
- •4.19.Пристрій обслуговування переривань.
4.3.Регістри мікропроцесора.
Згідно класичного визначення регістр – логічний вузол що використовується для тимчасового зберігання інформації (машинних слів). Кожен регістр може використовуватися для одночасного зберігання тільки одного слова. Регістри мікропроцесора поділяються на два типи регістри спеціального призначення (РСП) та багатоцільові або так звані регістри
загального призначення (РЗП). Кількість та призначення регістрів залежить від архітектури мікропроцесора.
4.3.1.Регістри спеціального призначення.
Типовим представником регістрів спеціального призначення є акумулятор (А) – найголовніший регістр МП при різних маніпуляціях над даними. Більшість арифметичних та логічних операцій здійснюється шляхом використання АЛП та акумулятора. Будь яка операція над двома словами даних (операндами) визначає розміщення одного в А а другого в іншому регістрі.
Операцію іншого типу що використовує акумулятор є програмована передача даних із однієї частини МП в іншу (пересилання даних і т.п.).
Виконання операції передачі даних здійснюється в два етапи
спочатку із джерела пересилається в акумулятор
із акумулятора дане пересилається в пункт призначення.
МП може виконувати деякі дії над даними безпосередньо в акумуляторі А може бути очищеним шляхом запису 0 у всі розряди крім цього можна вміст А зсувати вліво – вправо.
Розрядність А відповідає довжині слова МП але існують деякі МП що мають А подвійної довжини. Такий А можна розглядати як два окремих в цьому випадку другий А пари використовують для запису додаткових бітів які появляються при виконанні деяких арифметичних операцій.
У деяких МП є група акумуляторів : у цьому випадку МП повинен володіти різними для кожного А-ра командами завантаження з виходу АЛП також повинні існувати команди очищення цих А. Превага багатоакумуляторних МП полягає в тому що такі МП виконують операції з передачею від А-ра до А-ра. Дані можуть зберігатися в одному А поки в іншому виконується деяка дія.
4.3.2.Лічильник команд.
Часто використовуються і інші назви такі як вказівник інструкцій програмний лічильник або PROGRAM COUNTER.
Називається даний пристрій лічильником але насправді - це регістр який використовується як лічильник.
Так як програма – це послідовність команд які зберігаються в памяті мікро-ЕОМ та призначені для того, щоб інструктувати машину як вирішувати поставлену задачу для коректного виконання цієї програми команди повинні поступати в строго визначеному порядку. Лічильник команд (ЛК) призначений для вказування адреси наступної команди що вибирається із памяті. Часто ЛК володіє набагато більшою кількістю розрядів ніж довжина слова даних МП. Наприклад у більшості 8-ми розрядних МП число розрядів ЛК - 16 що дає змогу записувати дані у кількості 64 К.
Програма може починатися та закінчуватися в любому місці діапазону від 0 до 65535. Щоб звернутися до будь-якої із цих адрес ЛК повинен володіти 16 двійковими розрядами. Де б не розміщувались команди програми вони слідують одна за одною в строго визначеному порядку тому коли програма починає виконуватися першим вмістом ЛК є початкова адреса програми (адреса першої команди). Потім в лічильник команд добавляється по 1 (2 або 3) в залежності від довжини команди в байтах тобто вибираються адреси наступних команд.
Можливий випадок коли наступна команда зберігається не в наступній чарунці а в іншому місці в цьому випадку ЛК перезавантажується адресою наступної команди (перезавантажується початковою адресою підпрограми) та отримує приріст до цієї адреси поки не зустрінеться команда повернення в головну програму.
Лічильник команд зєднаний з внутрішньою ШД МП. Теоретично цей лічильник може отримувати будь-які дані про адреси програми із будь-якого блоку МП що підєднаний до ВШД але на практиці дані поступають в ЛК із памяті мікро-ЕОМ.
На відміну від акумулятора ЛК не може виконувати операції різного типу. Набір команд що його використовують досить обмежений в порівнянні з акумулятором.
Адреса області памяті що містить першу команду програми пересилається із ЛК в регістр адреси памяті (РАП) після чого вміст обох регістрів стає однаковим відповідно довжина РАП – 16 розрядів n-розрядного процесора). Адреса місця розташування першої команди передається по адресній шині до схем керування памятю в результаті чого зчитується вміст області памяті з вказаною адресою. Вміст цієї чарунки є ніщо інше ніж команда яка поступає в регістр команд (РК) мова про який буде йти далі. Після отримання команди із памяті МП автоматично дає приріст вмісту ЛК. Цей приріст ЛК отримує тоді коли МП починає виконувати команду тільки що отриману із памяті. Починаючи із цього моменту ЛК вказує адресу наступної команди яка зберігається на весь період виконання поточної команди.