
- •Архітектура комп’ютерів методичний посібник для проведення лабораторних робіт
- •Лабораторна робота № 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 с.
3.3 Операційне слово ocw3
Слово наказів, яке дозволяє встановити та відмінити режим спеціальної
маски, перевести контролер у режим опитування та прочитати вміст IRR та ISR. Після виконання команд читання регістра ISR та IRR вміст регістрів зчитується за адресою 20h або A0h. Для отримання вмісту регістра IMR необхідно виконати читання портів за адресами 21h або A1h.
Таблиця 3 – Формат слова OCW3
Біт |
Призначення |
D2 – D0 |
010 – читання IRR 011 – читання ISR 111 – режим опитування |
D3 |
Завжди 1 |
D4 |
Завжди 0 |
D6, D5 |
10 – відмінити режим спеціальної маски 11 – встановити режим спеціальної маски |
D7 |
Завжди 0 |
A0 |
Завжди 0 |
Методичні вказівки
В даній роботі пропонується дослідити і протестувати програму, яка використовує контролер переривань. Програма дозволяє маскувати/розмаско- вувати переривання заданого рівня, виводити вміст регістрів IRR та ISR на дисплей.
30
При роботі з програмою слід уникати маскування переривань контроле-
ра клавіатури та відеосистеми!
Для виконання даної роботи потрібні знання та навички програмування
мовою С, грунтовні знання архітектури та принципів функціонування ПКП, а також знання та навички програмування ПКП.
Література
1. Гук М. Аппаратные средства IBM PC. Энциклопедия. – СПб.: “Издательс-
тво Питер”, 1999. – 816 с.
2. Гуржій А. М., Коряк С. Ф., Самсонов В. В., Скляров О. Я. Архітектура, принципи функціонування і керування ресурсами IBM PC: Навч. посібник. Харків: ТОВ. “Компанія СМІТ”, 2003. – 512 с.
3. Зубков С. В. Ассемблер для DOS, Windows и Unix. – М.: ДМК, 1999. –
640 с.
Завдання
1. Дослідити текст програми.
2. За текстом програми зарисувати схему алгоритму.
3. На вінчестері створити каталог PKP.
4. За допомогою середовища Borland C++ 3.1 створити символьний файл тексту програми і записати його в каталог DMA.
5. Виконати налагодження програми та запустити її на виконання. Зробити висновки про власний досвід з маскування переривань.
6. Розробити пропозиції з модернізації програми таким чином, щоб з її
допомогою можна було б ідентифікувати та отримувати на екрані список контролерів замаскованих пристроїв.
7. Зробити відповідні зміни в програмі, що дозволять визначат вміст програмно доступних регістрів веденого ПКП.
8. Зробити висновки.
Текст програми
#include <conio.h>
#include <stdio.h>
void main (void)
{
unsighed i;
int mask;
char c = „y‟;
clrscr ();
printf (“Ведучий контролер (MASTER):\n”);
outp (0x20, 0x0A);
31
printf (“Стан регістра IRR: %02.2X\n”, inp (0x20));
outp (0x20, 0x0B);
printf (“Стан регістра ISR: %02.2X\n”, inp (0x20));
printf (“Стан регістра IMR: %02.2X\n”, inp (0x21));
while (c != „n‟) {
printf (“Введіть 16-ий код маски або розмаскування: ”);
scanf (“%X”, &mask);
outp (0x21, mask);
printf (“Стан регістра IMR: %02.2X\n”, inp (0x21));
printf (“Бажаєте ще (y/n)?”);
c = getch ();
}
}