Лічильник команд, регістри прапорців

Регістри загального призначення

AX - регістр-акумулятор

DX - регістр даних

CX - регістр-лічильник

EX - додатковий регістр даних

BX - базовий регістр

BP - додатковий базовий регістр

SI - регістр індексу джерела

DI - регістр індексу приймальника

 

IP - регістр – лічильник команд

FLAGS - регістр прапорців

 

 

Лічильник команд, регістри прапорців

 

 
 

 

 


Сегментні регістри

CS – сегментний регістр команд

DS - сегментний регістр даних

ES – додатковий сегментний регістр даних

SS - сегментний регістр стеку

FS - системний сегментний регістр даних

GS – додатковий системний сегментний регістр даних

 

АЛП – використовується для виконання в ньому основних команд. У найпростішому вигляді обробка команд здійснюється через такі дві стадії: вибірка команд з головної пам’яті та запуск команд на виконання. Виконання програми, таким чином являє собою повторення процесу вибірки команд та їх наступне виконання. Для виконання однієї команди тож знадобиться кілька так званих мікрокоманд в залежності від семантики самої команди. Набір дій, що виконається для виконання однієї команди має назву машинного циклу. Спрощено виконання програми за машинний циклом має такий вигляд.

При виконанні чергової поточної команди лічильник команд збільшується на довжину цієї команди в байтах. Наприклад після виконання деякої команди, довжина якої складає 4 байти, за 16-річною адресою1000Н лічильник програм IP збільшується на 4 і буде містити значення 1004Н.

 


Пристрої управління. Призначені для видачі тактових синхронізуючих сигналів, а також низки сигналів управління при виконанні конкретних машинних команд.

Пристрій управління системною шиною.

Перетворення ПДП.

Співпроцесор. Головна оперативна пам’ять складається з множини комірок (в один байт), що пронумеровані. Ці номери мають назву фізичних адрес і використовується для доступу до комірок в колах команд.

.

Технологія створення програм на мові Assembler:

1) Створення тексту програми в текстовому редакторі.

2) Обробка цієї програми за допомогою транслятора мови Assembler.

3) Компонування окремих модулів в єдиний модуль для виконання (.exe або .com).

4) Налагодження програми за допомогою налагоджувача. (TD)

5) Виявлення помилок. Якщо помилок немає, то закінчення.

6) Внесення змін у текст програми.

7) Перехід на перший крок.

 

Файл LST – файл лістинга програми (це текстовий файл в якому розташовуються оператори програм, а також коди операторів разом з їх адресами).

 

АРХІТЕКТУРА МІКРОПРОЦЕСОРА

 

На рівні блоків комп’ютер складається з мікропроцесора, пам’яті та пристроїв введення/виведення. Щоб функціонувати різні компоненти комп’ютера мають взаємодіяти між собою.

Основні складові:

1. Мікропроцесор (здійснює контроль за діями комп’ютера. В ньому виконуються всі операції по обробкам даних)

2. Основна пам’ять (призначена для розміщення кодів машинних команд та даних, є тимчасовою – до вимкнення живлення – також має назву оперативна пам’ять)

3. Пристрої введення/виведення (здійснюють обмін даними через спеціальні мікросхеми (контролери) введення/виведення між процесором та зовнішніми пристроями)

4. Системна шина (являє собою набір керованих електричних ліній у сукупності з певними структурами та механізмами, що забезпечують взаємодію між мікропроцесором та зовнішніми пристроями)

Системна шина складається з 3 шин:

· Шина адреси. По ній передається адреса комірки в оперативній пам’яті.

· Шина даних. По ній передаються дані у мікропроцесор або з нього.

· Шина управління, яка видає певний набір синхронізуючих сигналів та сигналів управління.

 

 
 

З точки зору програміста мікропроцесор (МП) складається з кількох регістрів загального призначення (через які виконуються основні машині команди), регістрів управління та регістрів стану: лічильних команд IP, FLAGS – регістр прапорців, сегментних регістрів (CS, SS, DS, ES, FS, GS) через які визначається початкова адреса блоку або сегмента програми даних та стеку, додаткові регістри –

- для управління віртуальною пам’яттю;

- для управління КЕШ-пам’яттю;

- для управління перемикання задач;

- група регістрів налагоджування та інші.

Пристрої управління – видають усі необхідні тактові сигнали та сигнали управління для пристроїв управління системних шин – для обрахування адреси коду команди в пам’яті або коду даних в пам’яті.

Цей пристрій здійснює зв’язок між головною або основною пам’яттю та мікропроцесором (МП).

 

Мікропроцесори серії INTEL мають такі режими роботи:

1) Режим реальних адрес. В цьому режимі працює операційна система MS–DOS;

2) Захищений режим віртуальних адрес (працюють багатозадачні ОС (Windows, Linux);

3) Режим призначений для запуску програм, що створений в режимі реальних адрес в захищеному режимі. Такі програми були створені для ранніх процесорів INTEL 8086 – (16-ти розрядний мікропроцесор. Арифметико-логічний пристрій обробляє дані не більше як у 16 розрядів.

Окремим блоком стоїть співпроцесор (СП), що являє собою апаратну реалізацію бібліотеки стандартних підпрограм обробки даних з плаваючою крапкою.

Сучасні персональні комп’ютери (ПК) являють собою апаратну реалізацію моделі фон Неймана. Ця модель передбачає наявність загальної пам’яті, в якій розміщуються коди команд та дані різного типу. Ця модель також передбачає послідовність виконання програми (команда за командою). Команди мають різну довжину і після виконання чергової команди лічильник збільшується на довжину поточної команди, тобто маємо природний порядок виконання команд.

Існує спеціальна група команд, яка порушує послідовний порядок: безумовні переходи, умовні переходи, звернення до підпрограм та повернення з них, переривання.

Регістри загального призначення:

EАХ, АХ (AH, AL) – регістр-аккумулятор (має доступ до молодшого та старшого байтів);

EDX, DX (DH, DL) – регістр даних;

ECX, CX (CH, CL) – регістр-лічильник;

EBX, BX (BH, BL) – перший регістр бази – базовий регістр має доступ до молодших та старших байтів;

EBP, BP – другий регістр бази;

ЕSP, SP – регістр-вказівник верхівки стеку;

ЕSI, SI – індексний регістр операнду джерела;

ЕDI, DI – індексний регістр операнду приймальника.

В лічильнику команд ЕІР (ІР) розміщається адреса поточної команди.

Регістр прапорців:


 

        O D I T S Z   A   P   C

перенос

парність

допоміжний перенос

нуль

знак

покрокове виконання

заборона/дозвіл зовнішнього переривання

напряму

переповнення

Вказані прапорці змінюються при виконанні деяких команд. Прапорці D, I, Т встановлюються програмним шляхом.

В реальному режимі роботи мікропроцесора в сегментному регістрі записані початкові адреси блоку (сегменту) програми, сегменту стеку або сегменту даних.

При цьому фізична адреса формується за схемою: