logo

Регістри мікропроцесора 8085

Вступ:

А мікропроцесор це багатоцільовий, програмований електронний пристрій на основі регістрів, що керується годинником і який зчитує двійкові інструкції із запам’ятовуючого пристрою, який називається пам’яттю, приймає двійкові дані як вхідні дані та обробляє дані відповідно до цих інструкцій і надає результати як вихідні дані. Мікропроцесор 8085 є 8-розрядним мікропроцесором другого покоління і є основою для вивчення та використання всіх доступних на ринку мікропроцесорів.



Навіщо використовувати регістри в мікропроцесорі 8085?

Ось кілька причин, чому регістри використовуються в мікропроцесорі 8085:

  1. Тимчасове зберігання: Регістри використовуються як місця тимчасового зберігання даних, які мають бути оброблені мікропроцесором. Наприклад, під час виконання арифметичних операцій операнди зазвичай зберігаються в регістрах.
  2. Адресація: регістри використовуються для адресації ділянок пам'яті в мікропроцесорі 8085. Регістр програмного лічильника (PC) відстежує розташування в пам'яті поточної інструкції, тоді як регістр покажчика стека (SP) відстежує вершину стека.
  3. Введення/виведення: регістри використовуються для зв’язку з пристроями введення/виведення (I/O). Наприклад, регістр накопичувача (A) використовується для зв'язку з шиною даних, яка підключена до пристроїв введення-виведення.
  4. Інформація про стан: Регістри використовуються для зберігання інформації про стан мікропроцесора. Наприклад, регістр прапорів зберігає інформацію про результати арифметичних і логічних операцій, включаючи те, чи є результат від’ємним, нульовим чи переносним.
  5. Оптимізація: регістри використовуються для оптимізації продуктивності мікропроцесора. Використовуючи регістри для зберігання часто використовуваних даних і інструкцій, мікропроцесор може отримати доступ до цієї інформації швидше, ніж якби йому довелося отримувати її з пам'яті.

Реєстри в 8085:



(a) Реєстри загального призначення – 8085 має шість регістрів загального призначення для зберігання 8-бітових даних; вони позначаються як B, C, D, E, H і L. Їх можна об’єднати як пари регістрів – BC, DE і HL для виконання деяких 16-бітних операцій. Ці регістри використовуються для зберігання або копіювання тимчасових даних за допомогою інструкцій під час виконання програми.

(b) Реєстри спеціального призначення –

    Акумулятор: Акумулятор — це 8-бітний регістр (може зберігати 8-бітні дані), який є частиною арифметичного та логічного пристрою (ALU). Після виконання арифметичних або логічних операцій результат зберігається в накопичувачі. Акумулятор також визначається як регістр A. Регістри прапорів: Регістр прапорів є регістром спеціального призначення, і він повністю відрізняється від інших регістрів мікропроцесора. Він складається з 8 бітів і тільки 5 з них корисні. Інші три залишаються вакантними та використовуються в майбутніх версіях Intel. Ці 5 прапорів встановлюються або скидаються (якщо значення прапора дорівнює 1, він вважається встановленим, а коли значення дорівнює 0, він вважається скинутим). ) після операції відповідно до умови даних результату в накопичувачі та інших регістрах. 5 регістрів прапорів:
      Знаковий прапор: він займає сьомий біт регістра прапорів, який також відомий як старший біт. Це допомагає програмісту дізнатися, чи є число, що зберігається в акумуляторі, позитивним чи негативним. Якщо встановлений прапор знака, це означає, що число, що зберігається в накопичувачі, є від'ємним, а якщо скинуто, то число є додатним. Нульовий прапор: : він займає шостий біт регістра прапорів. Він встановлюється, коли операція, виконана в ALU, призводить до нуля (всі 8 бітів дорівнюють нулю), інакше він скидається. Це допомагає визначити, чи рівні два числа чи ні. Допоміжний прапор переносу: він займає четвертий біт регістра прапора. Під час арифметичної операції, коли прапор переносу генерується третім бітом і передається на четвертий біт, тоді встановлюється допоміжний прапор переносу. Якщо ні, прапор скидається. Цей прапорець використовується внутрішньо для операцій BCD (десяткове число з двійковим кодом). Примітка - Це єдиний реєстр прапорів у 8085, який недоступний для користувача. Прапор парності: займає другий біт регістра прапора. Цей прапорець перевіряє кількість одиниць у накопичувачі. Якщо накопичувач містить парну кількість одиниць, тоді цей прапорець встановлюється, і він вважається парним. З іншого боку, якщо кількість одиниць непарна, тоді вона скидається, і це називається непарною парністю. Прапор переносу: займає нульовий біт регістра прапора. Якщо арифметична операція призводить до переносу (якщо результат перевищує 8 біт), тоді встановлюється прапор переносу; інакше він скидається.

(c) Регістри пам’яті – Є два 16-розрядних регістри, які використовуються для зберігання адрес пам'яті. Розмір цих регістрів становить 16 біт, тому що адреси пам'яті мають 16 біт. Вони є :-



    Програмний лічильник: цей регістр використовується для послідовності виконання інструкцій. Функція програмного лічильника полягає в тому, щоб вказати адресу пам’яті, з якої має бути отриманий наступний байт. Коли байт (машинний код) вибирається, програмний лічильник збільшується на одиницю, щоб вказати на наступне місце пам’яті. Покажчик стека: використовується як покажчик пам'яті. Він вказує на місце пам’яті в пам’яті для читання/запису, яке називається стеком. Він завжди збільшується/зменшується на 2 під час операції натискання та висунення.
      Знаковий прапор (7-й біт): скидається (0), що означає, що число, що зберігається в акумуляторі, додатне. Прапор нуля (6-й біт): скидається (0), тому результат операцій, виконаних в ALU, відмінний від нуля. Допоміжний прапор переносу (4-й біт): ми бачимо, що b3 генерує перенос, який приймає b4, таким чином встановлюється допоміжний прапор переносу (1). Прапор парності (2-й біт): скидається (0), це означає, що парність непарна. Акумулятор містить непарну кількість одиниць. Прапор переносу (0-й біт): встановлено (1), результатом виведення є більше 8 біт.

Використання регістрів мікропроцесора 8085:

Ось деякі типові способи використання різних регістрів у мікропроцесорі 8085:

  1. Регістр накопичувача (A): Регістр накопичувача є найбільш часто використовуваним регістром у мікропроцесорі 8085. Він використовується для арифметичних і логічних операцій, а також для операцій введення/виведення (I/O). Акумулятор також використовується як місце тимчасового зберігання даних.
  2. Регістр програмного лічильника (PC): Регістр PC використовується для відстеження розташування в пам'яті поточної інструкції. Коли інструкція виконується, регістр ПК автоматично збільшується, щоб вказати на наступну інструкцію в пам’яті.
  3. Регістр покажчика стека (SP): регістр SP використовується для відстеження вершини стека. Стек використовується для тимчасового зберігання даних і зворотних адрес під час викликів підпрограм.
  4. Регістр прапорів: регістр прапорів використовується для зберігання інформації про стан результатів арифметичних і логічних операцій, зокрема про те, чи є результат від’ємним, нульовим чи переносним.
  5. Регістри загального призначення (B, C, D, E, H і L): ці регістри використовуються для зберігання даних загального призначення, а також для адресації ділянок пам’яті. Їх можна використовувати в парах як 16-розрядні регістри, такі як BC, DE і HL, для більш ефективної адресації ділянок пам'яті.
  6. Регістр інструкцій (IR) і регістр машинного циклу (MCR): ці регістри використовуються внутрішньо мікропроцесором для декодування інструкцій і керування часом машинних циклів.

Особливості цих реєстрів:

  1. Усі регістри мікропроцесора 8085 мають прямий доступ до арифметично-логічного пристрою (ALU), що забезпечує ефективну обробку даних.
  2. Регістр накопичувача використовується як призначення за замовчуванням для більшості арифметичних і логічних команд, що спрощує програмування.
  3. Регістри загального призначення можна використовувати для зберігання даних під час обчислень, але вони також можуть використовуватися для зберігання адрес пам'яті, що робить їх корисними для доступу до місць пам'яті.
  4. Регістри лічильника програми та покажчика стека мають вирішальне значення для керування потоком інструкцій і даних у програмі.
  5. Регістр прапорів надає цінну інформацію про результати арифметичних і логічних операцій, що дозволяє ефективно приймати рішення в програмах.
  6. Регістр інструкцій зберігає поточну інструкцію, що виконується, що забезпечує ефективне декодування та генерацію керуючого сигналу блоком керування.

Переваги:

    Швидкий доступ: Реєстри забезпечують швидкий і ефективний спосіб доступу до даних і виконання операцій. Оскільки регістри розташовані всередині процесора, до них можна отримати швидкий доступ, не чекаючи, поки дані будуть отримані з пам’яті. Зменшений доступ до пам'яті: використання регістрів може допомогти зменшити кількість необхідних звернень до пам'яті, що може покращити загальну продуктивність системи. Спеціальна функціональність: кожен регістр у мікропроцесорі 8085 має певну функцію, таку як акумулятор для арифметичних операцій і програмний лічильник для збереження адреси наступної інструкції. Ця спеціалізована функція може полегшити програмування та налагодження. Знижена складність: надаючи спеціальні регістри для конкретних цілей, мікропроцесор 8085 зменшує складність процесу програмування та виконання.

Недоліки:

    Обмежена ємність зберігання: мікропроцесор 8085 має обмежену кількість регістрів, що може обмежити кількість даних, які можна зберігати та маніпулювати в будь-який момент часу. Складні режими адресації: деякі з режимів адресації, які використовуються в мікропроцесорі 8085, можуть бути складними, що ускладнює програмування. Перемикання контексту: У деяких випадках перемикання між різними наборами регістрів може додати накладних витрат і ускладнити процес програмування. Відсутність гнучкості: фіксована кількість і функції регістрів у мікропроцесорі 8085 можуть обмежити гнучкість системи та ускладнити її адаптацію до мінливих вимог.