- •Архітектура комп’ютерів методичний посібник для проведення лабораторних робіт
- •Лабораторна робота № 1 перетворення чисел в машинних кодах
- •Теоретичні відомості
- •1. Формати даних
- •1.1 Природна форма числа
- •1.2 Нормальна форма числа
- •2. Машинні коди чисел
- •2.1 Дії над числами в природній формі
- •2.2 Дії над числами в нормальній формі
- •Методичні вказівки
- •Література
- •Завдання
- •Лабораторна робота № 2 цеом нейманівської архітектури
- •Теоретичні відомості
- •1. Структура еом
- •2. Елементарні машинні операції
- •3. Формати команд та кодування операцій еом
- •Методичні вказівки
- •Література
- •Завдання
- •1. Схема алгоритма розв’язку задачі
- •2. Програма в змістовній формі
- •3. Система операцій еом
- •4. Кодування операцій еом
- •5. Адресна інформація в 16-й системі числення
- •6. Розподіл пам’яті
- •7. Програма в машинних кодах
- •1. Загальні відомості про системи прямого доступу до пам’яті
- •2. Прямий доступ до пам’яті в пеом
- •3. Призначення та формати регістрів кпдп
- •3.1 Регістр станів (stat)
- •3.2 Регістр команд (cr)
- •3.3 Регістр режиму (mod)
- •3.4 Регістр маски (mask)
- •3.5 Регістр запиту (req)
- •3.6 Регістр поточної адреси
- •3.7 Регістр поточного лічильника слів (ccr)
- •3.8 Базові регістри адрес та лічильника (bar та car)
- •3.9 Тимчасовий регістр (tr)
- •3.10 Канали системи пдп пеом
- •4. Ініціалізація кпдп
- •Методичні вказівки
- •Література
- •Завдання
- •Текст програми
- •Контрольні запитання
- •1. Принципи організації системи переривань
- •2. Стани програмованого контролера переривань.
- •3. Призначення та формати операційних слів пкп
- •3.1 Операційне слово ocw1
- •3.2 Операційне слово ocw2
- •3.3 Операційне слово ocw3
- •Методичні вказівки
- •Література
- •Завдання
- •Текст програми
- •Контрольні запитання
- •Лабораторна робота № 5
- •Генерації звуку та випадкових чисел
- •Теоретичні відомості
- •1. Призначення таймера
- •2. Архітектура та принципи функціонування таймера
- •3. Програмування таймера
- •4. Засоби bios для роботи з таймером
- •5. Генерація звукових сигналів
- •6. Генерація випадкових чисел
- •Методичні вказівки
- •Література
- •Завдання
- •Тексти програм
- •Лабораторна робота № 6 вивчення та дослідження методів програмного керування годинником реального часу
- •Теоретичні відомості
- •1. Призначення годинника реального часу
- •2. Призначення та формати регістрів кмон-пам’яті
- •3. Засоби bios для роботи з годинником реального часу
- •Методичні вказівки
- •Література
- •Завдання
- •Тексти програм
- •Лабораторна робота № 7 дослідження режимів роботи послідовних інтерфейсів пеом
- •Теоретичні відомості
- •1. Загальні відомості про інтерфейс
- •2. Використання порту rs232c
- •3. Функції апаратних засобів інтерфейса rs232c
- •4. Формати портів уапп
- •5. Ініціалізація уапп
- •6. Підтримка асинхронного адаптера в bios
- •7. Підтримка асинхронного адаптера в dos
- •Методичні вказівки
- •Література
- •Завдання
- •Тексти програм
- •1. Призначення та характеристики інтерфейса Centronics
- •2. Опис портів інтерфейса Centronics
- •3. Засоби bios для роботи з принтером
- •Методичні вказівки
- •Література
- •5. Гук м. Аппаратные средства ibm pc. Энциклопедия. – сПб.: “Издательс-тво
- •Завдання
- •Тексти програм
- •Лабораторна робота № 9 дослідження методів програмного керування контролером клавіатури
- •Теоретичні відомості
- •1. Контролер клавіатури pc/at i8042
- •2. Порти контролера клавіатури
- •3. Методи програмного керування клавіатурою
- •4. Коди відповідей клавіатури
- •5. Засоби bios та ms dos для роботи з клавіатурою
- •5.1 Засоби bios
- •5.2 Засоби ms dos
- •Методичні вказівки
- •Література
- •Завдання
- •Тексти програм
- •Лабораторна робота № 10 дослідження методів програмного керування контролером нгмд
- •Теоретичні відомості
- •1. Основні відомості про контролер нгмд
- •2. Програмування контролера нгмд
- •Методичні вказівки
- •Література
- •Завдання
- •2) Записати введений користувачем рядок у сектор s на доріжку t;
- •Контрольні запитання
- •Література
- •1. Гук м. Аппаратные средства ibm pc. – сПб.: “Питер”, 1999. – 816 с.
4. Засоби bios для роботи з таймером
Для роботи з таймером (точніше, для роботи з каналом 0 таймера) BIOS має
дві функції переривання 1Ah. Вони дозволяють прочитати поточний вміст лічильника та змінити його. Функція 00h призначена для читання вмісту лічиль- ника таймера:
Вхід: AH = 00h
Вихід: CX – старше слово лічильника;
DX – молодше слово лічильника;
AL = 0, якщо після перезапуску таймера пройшло більше 24 годин. Змінити вміст лічильника таймера можна за допомогою функції 01h:
Вхід: AH = 01h
CX – старше слово лічильника;
DX – молодше слово лічильника.
BIOS комп’ютерів IBM PC AT містить ще дві цікаві функції для роботи з таймером: 83h та 86h переривання 15h. Функція 83h дозволяє запустити таймер на
рахунок, вказавши адресу деякого байта в оперативній пам’яті. Після закінчення часу, заданого при запуску таймера, функція встановлює старший біт вказаного
байта на одиницю, сигналізуючи таким чином програмі про завершення вказаного часового інтервалу.
Вхід: AH = 83h
AL = код підфункції (0 – встановити інтервал, запустити таймер);
(1 – відмінити роботу таймера);
CX = старше слово часу роботи таймера, мкс
DX = молодше слово часу роботи таймера, мкс
ES:BX = адреса байта, в якому після закінчення інтервалу часу старший біт буде встановлено на одиницю.
Функція 86h спеціально призначена для формування затримок. Вона дозво-
ляє визначити час затримки в мікросекундах, що зручно для багатьох задач. Під час виконання затримки дозволені переривання.
Вхід: AH = 86h
CX = старше слово часу затримки, мкс
DX = молодше слово часу затримки, мкс
5. Генерація звукових сигналів
Як відомо, канал 2 системного таймера керує гучномовцем комп’ютера – він
35
генерує прямокутні імпульси з частотою, рівною 1193180 / початкове значення лі- чильника герц. Але гучномовець не просто з’єднаний з виходом каналу 2 таймера. Порт виводу 61h також використовується для керування гучномовцем. Молодший біт порту 61h при встановленні на 1 дозволяє роботу каналу, тобто генерацію імпульсів для гучномовця, а при встановленні на 0 забороняє.
Додатково для керування гучномовцем використовується біт 1 порту 61h.
Якщо цей біт встановлений на 1, сигнали з виходу каналу 2 таймера через схему збігу зможуть проходити на гучномовець. Якщо в біті 1 нуль, то схема збігу забороняє проходження сигналів на гучномовець.
6. Генерація випадкових чисел
Для генерації випадкових чисел краще використовувати канал 2 в режимі 3.
У регістр лічильника каналу заноситься значення, що дорівнює діапазону потрібних випадкових чисел. Наприклад, якщо записати в регістр число 80 та
запустити канал таймера, отримані випадкові числа будуть дежати в діапазоні від
0 до 79.
Методичні вказівки
В даній роботі пропонується дослідити і протестувати декілька програм, які використовують системний таймер для різноманітних цілей. Програми формують часові інтервали, генерують звук і послідовності випадкових чисел.
Для виконання роботи необхідні грунтовні знання архітектури і принципів функціонування таймера, а також знання та навички програмування каналів таймера та портів 60h та 61h.
