- •2 Модуль
- •3 Модуль
- •4 Модуль
- •1 Вузли обчислювальної техніки та мікропроцесорних систем.
- •2 Програмування мікропроцесорів фірми Intel.
- •1 Модуль
- •1 Обчислювальні та мікропроцесорні системи
- •1.1 Основні визначення
- •1.2 Принципи побудови та функціонування обчислювальних систем
- •1.2.1 Архітектура обчислювальних систем
- •1.2.2 Класифікація комп’ютерів
- •1.3 Принципи побудови та функціонування мпс
- •1.4 Функціонування обчислювального пристрою
- •2 Операції над даними в обчислювальних системах
- •2.1 Подання даних в обчислювальних системах
- •2.2 Подання даних у кодах
- •2.3 Порозрядні операції над даними
- •3 Цифрові автомати
- •3.1 Визначення цифрових автоматів
- •3.2 Синтез логічних схем
- •3.3 Розробка ца
- •4 Типові пристрої обчислювальних систем (Для самостійного вивчення)
- •4.1 Суматори
- •4.2 Цифрові компаратори
- •4.3 Арифметико-логічний пристрій
- •4.4 Програмовні логічні інтегральні схеми (пліс)
- •5 Принципи побудування запам’ятовувальних пристроїв мпс з заданою організацією
- •5.1 Запам’ятовувальні пристрої мпс та їх класифікація
- •5.2 Постійні запам’ятовувальні пристрої
- •5.3 Оперативні запам’ятовувальні пристрої
- •5.4 Умовне позначення мікросхем пам’яті
- •5.5 Побудування модуля запам’ятовувального пристрою мпс з заданою організацією
- •6 Інтерфейс
- •6.1 Організація інтерфейсів
- •6.2 Організація послідовних інтерфейсів введення-виведення
- •7 Мікропроцесори
- •7.1 Архітектура мікропроцесорів
- •7.2.1 Організація 8-розрядних мікропроцесорів (Для самостійного вивчення)
- •Інтерпретація даних у мп к580вм80а
- •Програмна модель мп к580вм80а
- •Формат команд мп к580вм80а
- •Способи адресації операндів мп к580вм80а
- •Мікропроцесорна система кр580
- •Стекова пам’ять
- •Функціонування мпс
- •Виконання команди пересилання з регістра с у регістр в
- •Робота мпс при виконанні команди in n введення даних з порту n в акумулятор мп а
- •Реакція мпс на виконання команди зупину
- •Робота мпс у режимі переривань
- •7.2.2 Організація 16-розрядних мікропроцесорів
- •7.2.3 Організація 32-розрядних мікропроцесорів (Для поглибленого вивчення)
- •Співпроцесори мп і80386
- •7.3 Продуктивність мікропроцесорів та її оцінювання
- •7.3.1 Технічна продуктивність мікропроцесора
- •7.3.2 Реальна продуктивність мікропроцесора
- •7.3.3 Архітектура сучасних мікропроцесорів
- •8 Використання мп фірми intel у
- •Процесори Athlon та Duron фірми amd
- •Список рекомендованої літератури до 1 модулю
- •2 Модуль
- •9 Програмування мікропроцесорів фірми intel
- •9.1 Сегментування пам’яті мікропроцесорами
- •9.2 Способи адресування операндів мп фірми Intel Регістрове адресування операндів
- •Безпосереднє адресування операндів
- •Пряме адресування
- •Непряме регістрове адресування
- •Пряме адресування з індексуванням
- •Адресування за базою з індексуванням
- •Непряме адресування з масштабуванням
- •9.3 Мова програмування Асемблер-86
- •9.3.1 Формат команди
- •9.3.2 Команди пересилань
- •9.3.3 Команди перетворення даних мови Асемблер-86
- •9.3.4 Команди умовних та безумовних переходів
- •9.3.5 Команди організації циклів
- •9.4 Створення програм на мові Асемблер-86
- •9.4.1 Лінійні програми
- •9.4.2 Розгалужені програми
- •9.4.3 Циклічні програми
- •10 Програмна реалізація вузлів телекомунікаційного обладнання на мові асемблер-86
- •10.1 Способи реалізації алгоритмів
- •10.2 Розробка апаратно-програмних комплексів
- •10.3 Приклади реалізації простих вузлів телекомунікацій
- •10.3.1 Ініціалізація послідовного асинхронного адаптера rs-232-c
- •10.3.2 Фрагмент програми передавання даних через асинхронний адаптер rs-232-c
- •10.3.3 Фрагмент програми приймання даних через асинхронний адаптер rs-232-c
- •10.3.4 Приклад програми ініціалізації rs-232-c та введення-виведення даних, написаної у програмному середовищі turbo assembler (tasm)
- •10.3.5 Програмна реалізація генератора імпульсних послідовностей
- •10.3.6 Програмне вимірювання періоду імпульсної послідовності det
- •10.3.7 Програмна реалізація мультиплексора
- •Список рекомендованої літератури до 2 модулю
- •3 Модуль
- •11 Мікропроцесорні системи на універсальних мп фірми motorola
- •11.2 Побудова мпс на 16-розрядних мікропроцесорах фірми Motorola
- •11.2.1 Підсистема центрального процесорного елемента mc68000
- •11.2.2 Розподіл адресного простору мпс
- •11.2.3 Організація підсистеми пам’яті
- •11.2.4 Організація підсистем введення-виведення
- •11.4 Побудова мпс на 32-розрядних мікропроцесорах фірми Motorola
- •11.4.1 Підсистема центрального процесорного елемента
- •11.4.2 Розподіл адресного простору мпс
- •11.4.3 Організація підсистеми пам’яті мпс
- •11.4.4 Організація підсистеми введення/виведення
- •11.4.5 Підключення співпроцесора
- •12 Програмування універсальних мп
- •12.1 Мова Асемблер програмування мп фірми Motorola
- •Непряма регістрова адресація з постіндексуванням
- •Непряма регістрова адресація з преіндексуванням
- •Непряма відносна адресація з індексуванням
- •12.2 Система команд мп мс680х0 (Для самостійного вивчення)
- •12.2.1 Команди пересилання
- •12.2.2 Команди арифметичних операцій
- •12.2.3 Команди логічних операцій
- •12.2.4 Команди зсувів
- •12.2.5 Команди безумовних переходів
- •12.2.6 Команди умовних переходів
- •12.2.7 Команди організації програмних циклів
- •12.2.8 Команди звернення до підпрограм
- •12.3 Побудова програм з різною структурою на мові Асемблер мп фірми Motorola
- •12.3.1 Лінійні програми
- •12.3.2 Розгалужені та циклічні програми. Підпрограми
- •12.4 Створення програмного забезпечення мпс на мп фірми Motorola
- •Список рекомендованої літератури до 3 модулю
Стекова пам’ять
Стекова пам’ять — це частина ОЗП зі спрощеною формою адресації. Стекова пам’ять у МП К580ВМ80А призначена для тимчасового зберігання адрес та даних, наприклад, адреси повернення до основної програми при зверненні до підпрограм і організована апаратно-програмно. Якщо команди у ОЗП розміщуються у 8-розрядних послідовно адресованих комірках пам’яті з нарощуванням адрес, то стек як частина ОЗП заповнюється з боку комірок зі старшими адресами у бік молодших адрес. Стекова пам’ять використовує вказівник стека SP для адресування входу у стек. Обмін зі стеком реалізується двобайтовими даними з регістрових пар за допомогою команд PUSH RP (завантаження стеку), PОP RP (розвантаження стеку), з лічильника команд за допомогою команди САLL А16 (звернення до підпрограми) та RET (повернення з підпрограми) та команди RST (рестарт). На рис. 7.8 представлена організація стекової пам’яті.
Початкове завантаження вказівника стека визначає найбільшу адресу стекової пам’яті; за цією адресою у стек дані не записуються, це щось навроди захисного шару між стековою пам’яттю та ОЗП з боку старших адрес. При завантаженні у стек двобайтового числа з регістрової пари за адресою SP-1 буде завантажено дане зі старшого регістра, а за адресою SP-2 — з молодшого регістра.
Рисунок 7.8 — Організація стекової пам’яті
Припустимо, що вміст регістрової пари ВС дорівнює 2631Н, а вміст регістрової пари DE — ABCDH. Після виконання команди PUSН В у комірку пам’яті з адресою SP-1 буде записане число 26Н, а за адресою SP-2 — число 31Н. Після виконання наступної команди PUSН D вміст вказівника стека стане SP-4. За адресою SP-3 буде записане число ABH, а за адресою SP-4 — число CDH. При розвантаженні стека вказівник стека збільшується на 2 при кожному зверненні. Стек працює за принципом LIFO (LAST INPUT — FIRST OUTPUT) — останній увійшов — перший вийшов. Наприклад, при виконанні команди РОР Н у регістровій парі HL буде записане число ABCDH, а значення вказівника стека становитиме SP-2.
Функціонування мпс
Для виконання команди програми необхідна взаємодія якнайменш двох підсистем МПС: підсистеми центрального процесорного елементу та підсистеми пам’яті. Команда зчитується з ППЗП, декодується та виконується. На всі процедури, залежно від типу команди витрачається від одного до п’яти машинних циклів М1...М5.
У кожному циклі МП один раз звертається до пам’яті або пристрою введення-виведення.
Кожний з машинних циклів складається з трьох-п’яти машинних тактів Т1...Т5, тривалість такту визначається періодом тактових імпульсів ГТІ (рис.7.9).
Рисунок 7.9 — Часова діаграма циклу з п'яти тактів
Такти відраховуються від фронтів імпульсів F1. Якщо МП К580ВМ80А працює на частоті 2 МГц, то тривалість одного такту складає 0,5 мкс. За цей час у системі виконується одна або водночас декілька елементарних дій — мікрооперацій. Набір керувальних сигналів, які керують самим МП, змінюються кожного такту, а у МПС сигнали керування оновлюються тільки на початку кожного машинного циклу команди, тобто за кілька тактів — від 4 до 18 залежно від команди.
У МПС може вироблятися до 10 різних ССПЦ, тобто до 10 різних типів машинних циклів, які показані у табл. 7.1.
Виконання будь-якої команди завжди починається з основного машинного циклу М1, який складається з чотирьох або п’яти тактів:
Т1 — з програмного лічильника (РС) через буфер адреси (БА) на ША МП видає адресу комірки ППЗП з кодом операції виконуваної команди, після чого вміст РС збільшується на 1 (інкрементується); у інших циклах М2...М5 на такті Т1 на ША видається адреса комірки пам’яті для зчитування або запису даних або номер (адреса) пристрою введення-виведення. Одночасно у Т1 кожного циклу у СКФ по ШД поступає слово стану процесора (ССПЦ).
Таблиця 7.1 — Типи машинних циклів
-
№
Тип циклу
Код ССПЦ
1
Вибірка коду операції команди
01000000
2
Читання пам’яті
01000001
3
Запис у пам’ять
00000000
4
Читання із стеку
01100001
5
Запис у стек
00100000
6
Читання з пристрою введення
01000010
7
Запис у пристрій виведення
00001000
8
Дозвіл переривань
11000100
9
Дозвіл останову
01010001
10
Дозвіл переривань під час останову
11010100
Т2 — ССПЦ фіксується у регістрі СКФ, після чого формуються сигнали ПР (DBIN) та ( ) для керування подальшим зчитуванням у МП коду операції та його декодування. Одночасно у Т2 аналізуються сигнали готовності ГОТ (READY), запиту захоплення шин ЗЗХ (HOLD) та ЗУП (HАLТ). При виконанні Т2 у машинних циклах М2...М5 ССПЦ також фіксується у СКФ, але далі виконуються дії залежні від команди.
Т3 — за адресою пам’яті, поданого на ША, зчитується з пам’яті код операції команди та поступає з ШД на регістр коду операції МП (РКОП) для декодування. При виконанні інших циклів М2...М5 у такті Т3 вибираються дані з пам’яті, пристроїв введення, стеку або дані виводяться у пам’ять, пристрої виведення та стек.
Т4, Т5 — у МП розшифровується прийнятий код операції команди, визначається її формат, виконуються однобайтні команди або формуються машинні цикли М2...М5 для виконування двох- та трьохбайтових команд. При виконанні циклів М2...М5 у Т4 виконуються дії залежно від команди, а Т5 може бути відсутній.