- •5 Задача 44
- •1. Відкрита архітектура пеом
- •2. Функціональна схема базової моделі мікропроцесора. Схеми напівсуматора і суматора. Дії над двійковими та двійково-десятковими числами.
- •Додавання
- •Віднімання
- •3. Логічна структура мікропроцесора
- •Сегментные регистры
- •Регистры общего назначения
- •Флаги состояния
- •Флаг направления
- •Системные флаги
- •Регистр управления
- •4. Адресація пам’яті
- •Сегментная адресация памяти
- •Параграфы
- •Понятия команды и формата команды
- •5. Сторінкова організ оп пам’яті. Таблиці, дескриптори
- •Понятие о страничной модели памяти
- •6. Структура таблиц idt. Дескриптор шлюза.
- •Дескриптор шлюза
- •7. Формування фізичної адреси з логічної адреси для сегментної та сторінкової схем організації пам’яті Страничная организация
- •8. Принципи роботи vmm
- •Обзор Администратора виртуальной памяти (vmm)
- •9. Використання регістрів загального призначення
- •10. Організація стеку. Адресація стекової пам’яті
- •11. Архітектура регістру ознак (flags)
- •12. Апаратно-програмні засоби певм.
- •13. Механізм переривань
- •14. Апаратні переривання, їх призначення. Архітектура мікросхеми 8859. Обробка апаратних переривань.
- •15. Контролер apic
- •16. Принцип роботи сопроцесора
- •17. Загальні поняття про канали та порти
- •18. Мікросхема паралельного інтерфейсу
- •19. Структура cmos-memory
- •20. Архітектура мікросхеми таймера
- •1 Задача
- •2 Задача
- •Програма може бути якась така:
- •5 Задача
- •6 Задача
5 Задача
Для перевода дробной части числа последовательно умножаем дробную часть на основание 16. В результате каждый раз записываем целую часть произведения.
0.44*16 = 7.04 (целая часть 7)
0.04*16 = 0.64 (целая часть 0)
0.64*16 = 10.24 (целая часть 10)
0.24*16 = 3.84 (целая часть 3)
Получаем число в 16-ой системе счисления: 70A3
0.44 10 = 0,70A316
Для перевода дробной части числа последовательно умножаем дробную часть на основание 16. В результате каждый раз записываем целую часть произведения.
0.18*16 = 2.88 (целая часть 2)
0.88*16 = 14.08 (целая часть 14)
0.08*16 = 1.28 (целая часть 1)
0.28*16 = 4.48 (целая часть 4)
Получаем число в 16-ой системе счисления: 2E14
0.18 = 0,2E1416
Целая часть от деления |
Остаток от деления |
27 div 16 = 1 |
27 mod 16 = 11 |
1 div 16 = 0 |
1 mod 16 = 1 |
Остаток от деления записываем в обратном порядке. Получаем число в 16-ой системе счисления: 1B, 27 = 1B(16) , 37 = 025(16)
6 Задача
IF - Флаг разрешения прерывания (бит 9). Когда установлен, процессор обрабатывает маскируемые прерывания, запросы на которые поступают от контроллера прерываний или улучшенного контроллера прерываний. Когда сброшен, маскируемые прерывания процессором игнорируются (находятся в ожидании обработки).
Для программного доступа к ведущему контроллеру прерываний используются порты 20h и 21h, к ведомому — A0h и A1h.
В процессе обычной работы в порт 21h/A1h записывается управляющее слово операций 1 (OCW1), которое задаёт содержимое регистра маски IMR; чтение из этого порта вызывает считывание содержимого IMR. Управляющее слово операций 1 (Operational Control Word 1, OCW1) устанавливает маску прерываний, храняющуюся в регистре IMR. Для записи OCW1 служит порт 21h в ведущем и A1h в ведомом контроллерах прерываний. Установленный разряд запрещает прерывания от соответствующей линии IRQ, сброшенный — разрешает. Ранее записанное OCW1 может быть прочитано из того же порта.
Ведущий контроллер: 00001111, 1- запрещает
IRQ0 — программируемый интервальный таймер или высокоточный таймер событий №0;
IRQ1 — клавиатура PS/2;
IRQ2 — запрос прерывания от ведомого контроллера прерываний;
IRQ3 — произвольное устройство (в IBM PC/AT — последовательный порт);
IRQ4 — произвольное устройство (в IBM PC/AT — последовательный порт);
IRQ5 — произвольное устройство (в IBM PC/AT — параллельный порт);
IRQ6 — произвольное устройство (в IBM PC/AT — контроллер гибких дисков);
IRQ7 — произвольное устройство (в IBM PC/AT — параллельный порт);
Разрешены: IRQ0-3
Ведомый контроллер: 11110000
IRQ8 — часы реального времени или высокоточный таймер событий №1;
IRQ9 — произвольное устройство;
IRQ10 — произвольное устройство;
IRQ11 — произвольное устройство или высокоточный таймер событий №2;
IRQ12 — произвольное устройство, обычно мышь PS/2, либо высокоточный таймер событий №3;
IRQ13 — ошибка арифметического сопроцессора;
IRQ14 — произвольное устройство, обычно первый контроллер ATA (или контроллер Serial ATA в режиме совместимости);
IRQ15 — произвольное устройство, обычно второй контроллер ATA (или контроллер Serial ATA в режиме совместимости).
Разрешены: ирк 12-15
If the flag is set to 1, maskable hardware interrupts will be handled.
То есть все хардварные IRQ будут хендлиться, софвaрные – не все , только IRQ 0-3 и 12-15.
