Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lec_PM.doc
Скачиваний:
19
Добавлен:
17.08.2019
Размер:
562.69 Кб
Скачать

Лекція 9 Тема: “Архітектура процесора”

  1. Структурна схема процесора.

  2. Регістри процесора.

  3. Команди процесора (структура команди і таблиця основних команд)

1. Структурна схема процесора.

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

П ри обробці даних, значення подаються тільки на акумулятор А при однооперандних командах і в акумулятор А і В при двох операндних командах.

АЛП здійснює обробку, видає результати на системну шину і встановлює прапорці ознак у регістрі ознак. Після виконання команди йде автоматичне зчитування з комірки пам’яті на яку вказує лічильник команд.

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

  1. Регістри процесора.

Регістри загального призначення найбільш використовуються при обробці даних, їх пересиланні і збереженні.

Сегментні регістри призначенні для формування сегментної складової при адресації.

Регістри керування і стану служать для вказування адрес команд для їх вибору і фіксування ознак результатів.

Р ОП (регістри оперативного призначення) – найчастіше викорисовуються процесором для обробки даних; мають розмір 16 біт (у позначенні регістра – друга буква Х) можливість поділу на дві однобайтні частини:

  • молодша L (Low);

  • старша H (High).

А – акумулятор (використовується для взаємодії із портами пристроїв вводу-виводу та при командах множення і ділення).

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

С – лічильник кількості кроків у циклічних програмах.

D – регістр даних.

SI, DI – індексні регістри джерела (SI) та місця призначення (DI).

SP – покажчик вершини стека (Стек це вид пам’яті яка функціонує за принципом LIFO: останній занесений – перший вибраний; використовується для тимчасового збереження проміжних значень).

BP – покажчик бази стека;

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

SS – сегментний регістр стека;

ds – сегментний регістр даних;

es – регістр розширення сегментних даних;

fs, gs – додаткові сегментні регістри розширення сегмента даних (у новіших процесорах);

IP – лічильник (покажчик) команд;

Flags – регістр прапорців (фіксує ознаки результату обробки даних і вказує процесору режим і напрямок ходу виконання програм).

Найбільш використовуваними є такі прапорці:

  • cf – прапорець переносу;

  • pf – прапорець парності;

  • sf – прапорець знака;

  • df – прапорець напрямку;

  • zf – прапорець нуля;

  • af – прапорець додаткового переносу між тетрадами.

3 Команди процесора (структура команди і таблиця основних команд)

Набір команд процесора утворює мову програмування низького рівня яку називають асемблером. Команда на асемблері обов’язково вкладається із коду операції (КОП) та адресної частини яка може бути у де-яких командах відсутня. Код операції – це буквенне скорочення від андглійського слова яке відображає дію над операндом. Операнд – це число (значення) над яким виконується операція. Адресна частина може вміщувати назви регістрів, адреси комірок пам’яті, номера портів, безпосередні значення (числа). У двооперандних командах складові (параметри) адресної частини розділяються між собою комою.

Таблиця основних команд

Команда

Пояснення

Команди пересилання даних

MOV D,S

Перенесення значення із місця-джерела S у місце призначення D

XCHG Op1, Op2

Заміна місцями операндів Ор1 і Ор2

PUSH S

Занесення значення із місця-джерела S у стек

POP D

Вибір значення у місце призначення D із стека

IN A, NP

Занесення у акумулятор А значення із порта з номером NP

OUT NP,A

Виведення у порт NP значення з акумулятора А

Арифметичні команди

(результат виконання команди зберігається на місці першого операнда який стоїть після КОП)

ADD Op1,Op2

Додавання операндів Ор1 і Ор2

SUB Op1,Op2

Віднімання від операнда Ор1 значення операнда Ор2

MUL Mn2

Множення вмісту акумулятора процесора на множник Mn2

(результат – у акумуляторі)

DIV Dl

Ділення вмісту акумулятора на дільник Dl

(результат – у акумуляторі)

INC Op

Інкремент (збільшення на 1) операнда Ор

DEC Op

Декремент (зменшення на 1) операнда Ор

Логічні команди

AND Op1,Op2

Функція «І» між операндами Ор1 і Ор2

OR Op1,Op2

Функція «АБО» між операндами Ор1 і Ор2

XOR Op1,Op2

Функція «Виключне АБО» між операндами Ор1 і Ор2

NOT Op

Інверсія операнда Ор

Команди зсуву

SHL Op,n

Логічний зсув вліво операнда Ор на n розрядів

SHR Op,n

Логічний зсув вправо операнда Ор на n розрядів

SAL Op,n

Арифметичний зсув вліво операнда Ор на n розрядів

SAR Op,n

Арифметичний зсув вправо операнда Ор на n розрядів

ROL Op,n

Циклічний зсув вліво операнда Ор на n розрядів

ROR Op,n

Циклічний зсув вправо операнда Ор на n розрядів

RCL Op,n

Циклічний зсув вліво операнда Ор на n розрядів через прапорець переносу

RCR Op,n

Циклічний зсув вправо операнда Ор на n розрядів через прапорець переносу

Команди переходів (передачі управління)

JMP AP

Безумовний перехід на команду з адресою переходу АР

CMP Op1,Op2

Порівняння операндів Ор1 і Ор2 (встановлює прапорці за результатом віднімання від Ор1 значення Ор2)

JE AP

Перехід на адресу АР, якщо Ор1=Ор2

JNE AP

Перехід на адресу АР, якщо Ор1≠Ор2

JA AP

Перехід на адресу АР, якщо Ор1>Ор2

JAE AP

Перехід на адресу АР, якщо Ор1≥Ор2

JB AP

Перехід на адресу АР, якщо Ор1<Ор2

JBE AP

Перехід на адресу АР, якщо Ор1≤Ор2

LOOP AP

Перехід на початок циклу (адресу АР), якщо СХ≠0

(попередньо зменшує регістр СХ на 1)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]