- •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 модулю
10.3.3 Фрагмент програми приймання даних через асинхронний адаптер rs-232-c
MOV DX,3FDH ; Завантаження адреси порту стану лінії
M2: IN AL,DX ; Введення слова стану лінії
AND AL,01H ; Перевірка наявності даних в лінії (D0=1?)
JZ M2 ; у циклі
MOV DX,3F8H ; Завантаження адреси порту приймання даних 3F8H у ; DX
M5: IN AL,DX ; Введення даних
NOP
10.3.4 Приклад програми ініціалізації rs-232-c та введення-виведення даних, написаної у програмному середовищі turbo assembler (tasm)
; Програма ініціалізації послідовного адаптера та введення/виведення
; даних TITLE RS232.ASM
MODEL SMALL
STACK 256
DATA SEGMENT
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, ES:DATA
START: MOV AX,DATA ; Суміщення
MOV DS,AX ; сегментів
MOV ES,AX ; даних
MOV DX,3FBH ; Завдання
MOV AL,80H ;
OUT DX,AL ; подільника
MOV DX,3F8H ;
MOV AL,60H ;
OUT DX,AL ; частоти
MOV DX,3F9H ;
MOV AL,00H ; генератора
OUT DX,AL ;
; Завдання нового режиму адаптера
CONTR: MOV AL,1EН ; Завантаження
MOV DX,3FBH ; керувального
OUT DX,AL ; слова (1ЕН)
INTER: MOV AL,00H ; Заборона
MOV DX,3F9H ; переривань
OUT DX,AL ; від RS-232-C
; Передавання даних
STATUS: MOV DX,3FDH ; Перевірка
IN AL,DX ; стану
AND AL,20H ; буфера передавання
JZ STATUS ; у циклі
SEND: MOV AL,41H ; Передавання
MOV DX,3F8H ; даного
OUT DX,AL ; 41H
; Приймання даних
MOV DX,3FDH ; Перевірка
READY: IN AL,DX ; наявності
AND AL,01H ; даних в лінії
JZ READY ; у циклі
MOV DX,3F8H ; приймання
IN AL,DX ; даного
JMP STATUS ; Циклування програми
NOP
EXIT: MOV AH,4CH ; Вихід
INT 21H ; з програми
CODE ENDS
END
Циклування програми командою JMP STATUS здійснюється з метою забезпечення перегляду часових діаграм за допомогою осцилографа на перемкнутих контактах 2 та 3 з’єднувача DB9P COM 1. Часові діаграми для наведеного прикладу будуть співпадати з наведеними на рис. 6.2
10.3.5 Програмна реалізація генератора імпульсних послідовностей
В основі методу створення програмних моделей генераторів імпульсних послідовностей лежать три прийоми:
— використання різних підпрограм часових затримок;
— використання таблиць у ОЗП, які вміщують інформацію про імпульсні послідовності;
— використання алгоритмів обчислення часових логічних функцій.
Вираз для часової логічної функції генератора імпульсної послідовності Y= f(t), де t – дискретний час, показує залежність вихідного сигналу від дискретного реального часу. Обчислення часової логічної функції повинне відбуватися за рівні інтервали часу, інакше синхронізація формованих послідовностей буде порушуватись. На рис.10.1 показано модельовану імпульсну послідовність кінцевої довжини, яка виводиться через молодший розряд паралельного порту PORT.
Рисунок 10.1 – Кодування імпульсної послідовності
Імпульсна послідовність розбивається на інтервали ∆t та кодується, закодований опис завантажується у пам’ять.
Наведена нижче підпрограма ІМ реалізації імпульсної послідовності працює таким чином: через рівні інтервали часу ∆t наступний байт опису послідовності виводиться у PORT. Інтервал ∆t визначається кількістю тактів синхронізації МП, які потрібні для виводу байту у порт (10 тактів = 1 мкс) та кодом часу затримки у підпрограмі DELAY. Таким чином ∆t = 1мкс + tDELAY. Підпрограма моделює тільки період імпульсної послідовності, для моделювання довгої серії імпульсів треба організувати цикл звернення до підпрограми ІМ:
IM: MOV BX,A1ABН ; Занесення до ВХ адреси таблиці опису
M2: MOV CL,02H ; Занесення до CL кількості байт опису
MOV DH,8H ; Занесення до DH кількості бітів у байті
MOV AL,[BX] ; Занесення до АL чергового байту опису
MOV DL,AL ; Запам’ятовування цього байту у DL
M1: AND AL,01H ; Виділення молодшого біту
OUT PORT ; Вивід його у PORT
SHR DL,1 ; Логічний зсув праворуч на 1 розряд
MOV AL,DL ; Запам’ятовування нового значення байту
CALL DELAY ; Затримка сигналу на виході порту
DЕC DH ; Декрементування лічильника бітів
JNZ M1 ; Повернення на початок циклу
INC BX ; Нарощування адреси елемента таблиці
LOOP M2 ; Звернення до наступного елемента таблиці
RET ; Повернення з підпрограми
NOP