Міністерство Освіти і Науки України
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
“ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ”
Кафедра : “ОБЧИСЛЮВАЛЬНА ТЕХНІКА ТА ПРОГРАМУВАННЯ”
Зав. Кафедрою xxxxxxxxx.
___________ /xxxxxxxx./
_________________ 2002р.
ЛИСТ ЗАТВЕРДЖЕННЯ
Розробники :
Керівник проекту :
________ / xxxxxxxx./
___________________ 2002р.
_______ / Хххххххххххх Х.Х./
___________________ 2002р.
2002
ЗАТВЕРДЖЕНИЙ
2002
Специфікація
Номер документу | Назва документу | Примітки |
Xxxxxx- 01 90 01-1 | Технічне завдання | |
Xxxxxx- 01 81 01-1 | Пояснювальна записка | |
Xxxxxx- 01 13 01-1 | Опис програми | |
Xxxxxx- 01 12 01-1 | Текст програми |
Міністерство Освіти і Науки України
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
“ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ”
Кафедра : “ОБЧИСЛЮВАЛЬНА ТЕХНІКА ТА ПРОГРАМУВАННЯ”
Зав. Кафедрою xxxxx.
___________ /xxxxxxxxxА./
_________________ 2002р.
ЛИСТ ЗАТВЕРДЖЕННЯ
Розробники :
Керівник проекту :
________ / xxxxxxВ./
___________________ 2002р.
_______ / Хххххххххххх Х.Х./
___________________ 2002р.
2002
Зміст
1. Підстава для розробки.
2. Призначення розробки.
3. Вимоги до програмного виробу.
3.1 Вимоги до функціональних характеристик.
3.2 Вимоги до надійності.
3.3 Умови експлуатації.
3.4 Вимоги до маркування і пакування.
3.5 Вимоги до транспортування і збереження.
4. Вимоги до складу і параметрів технічних засобів.
5. Вимоги до програмної документації.
6. Техніко-економічні показники.
7. Стадії і етапи розробки.
8. Порядок контролю і приймання.
Уведення
Програмний виріб це програма, що модифікує деякі команди, для того, щоб вони могли працювати в захищеному режимі. Програмний виріб орієнтований на комп'ютери серії ІBM PS сумісних ПЭВМ, що використовують мікропроцесори 80286, 80386 і 80486.
1. Підстава для розробки :
Підставою для розробки є завдання на курсове проектування.
2. Призначення розробки :
Метою розробки є написання програми, що модифікує деякі команди для того, щоб вони могли працювати в захищеному режимі.
3. Вимоги до програмного виробу :
3.1. Вимоги до функціональних характеристик :
3.1.1. Програмний виріб повинний забезпечувати, модифікацію команд для того, щоб вони могли працювати в захищеному режимі роботи мікропроцесора.
3.1.2. Функціонування програмного виробу повинне бути погоджено з роботою TURBO PASCAL 7.0
3.2. Вимоги до надійності :
Програмний виріб повинний стійко функціонувати в апаратному і програмному середовищі, обговореному в п.4
3.3. Умови експлуатації :
Умови експлуатації програмного виробу цілком визначаються умовами експлуатації застосованих технічних засобів і носіїв даних.
3.4. Вимоги до маркування і пакування :
Вимоги до маркування і пакування не висуваються.
3.5. Вимоги до транспортування і збереження :
Вимоги до транспортування і збереження не висуваються.
4. Вимоги до складу і параметрів технічних засобів :
Для функціонування програмного виробу необхідна ІBM AT/XT і PS/2 чи сумісна з нею, з наступним мінімальним набором переферійних пристроїв:
- нагромаджувач на гнучких магнітних дисках;
- відеоадаптер будь-якого класу;
- клавіатура.
5. Вимоги до програмної документації :
- Опис програми;
- Пояснювальна записка;
- Текст програми;
6. Техніко-економічні показники.
Техніко-еконоічні показники в даному проекті не розраховуються.
7. Стадії і етапи розробки.
Розробка програми повинна вестись по наступному плану :
1) одержання завдання;
2) огляд літератури і обгрунтування необхідності розробки;
3) розробка структури вхідних і вихідних даних, уточнення методів рішення завдання;
4) опис і розробка алгоритму рішення завдання;
5) розробка структури програми та остаточне визначення конфігурації технічних засобів;
6) розробка програми, іспити і налагодження;
7) розробка програмної документації.
8. Порядок контролю і приймання.
При прийманні програмного виробу перевіряється :
1) комплектність, зміст і оформлення програмної документації;
2) відповідність програмного виробу програмним характеристикам;
3) відповідність програмного виробу обговореному програмному та апаратному середовищу;
4) надійність функцінування.
Міністерство Освіти і Науки України
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
“ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ”
Кафедра : “ОБЧИСЛЮВАЛЬНА ТЕХНІКА ТА ПРОГРАМУВАННЯ”
Зав. Кафедрою О.Т.П.
___________ /xxxxxxxxx./
_________________ 2002р.
ЛИСТ ЗАТВЕРДЖЕННЯ
Розробники :
Керівник проекту :
________ / xxxxxxxxxx./
___________________ 2002р.
_______ / Хххххххххххх Х.Х./
___________________ 2002р.
2002
Зміст
1. Організація захищеного режиму роботи мікропроцесора :
1.1. Визначення типу мікропроцесора.
1.2. Формування глобальної дескрипторної таблиці.
1.3. Структура дескриптора сегмента.
1.4. Виконання доступу до сегментів.
1.5. Формування дескрипторів сегментів.
1.6. Завдання адреси і розміру таблиці GDT.
1.7. Підготовка до скидання мікропроцесора.
1.8. Заборона маскуємих і немаскуємих переривань.
1.9. Збереження в пам'яті регістрів мікропроцесора.
1.10. Перехід мікропроцесора в захищений режим.
1.11. Повернення в реальний режим.
1.12. Відновлення регістрів мікропроцесора.
1.13. Дозвіл маскуємих і немаскуємих переривань.
2. Система команд мікропроцесора :
2.1. Кодування регістрів.
2.2. Визначення ефективної адреси.
1. ОРГАНІЗАЦІЯ РОБОТИ МІКРОПРОЦЕСОРА В ЗАХИЩЕНОМУ РЕЖИМІ
Усі мікропроцесори (МП) фірми Intel починаючи з 80286 і закінчуючи Pentium III, а також програмно і конструктивно сумісні з ними МП інших фірм (мікропроцесори сімейства x86) мають два основних режими роботи: захищений (Protected Mode) і режим реальних адрес (Real-Address Mode) чи просто реальний. Найбільше повно можливості мікропроцесорів реалізуються при роботі в захищеному режимі. При цьому:
• забезпечується фізична адресація пам'яті обсягом до 4 Гбайт, а при сторінковій організації - до 64 Гбайт, а також доступ до віртуальної пам'яті обсягом до 64 Тбайт;
• працює система захисту пам'яті, що регламентує доступ до сегментів пам'яті в залежності від ступеня їхньої захищеності і рівня привілеїв програм і запобігає несанкціоноване втручання в роботу операційної системи і програм користувачів;
• крім сегментації пам'яті може бути виконана її сторінкова організація;
• апаратно підтримується багатозадачний режим роботи мікропроцесора;
• виконується режим віртуального МП 8086.
Після включення харчування і при скиданні мікропроцесора в МП установлюється реальний режим роботи. Для організації роботи мікропроцесора в захищеному режимі в загальному випадку необхідно виконати наступні дії:
1) визначити тип встановленого в персональному комп'ютері мікропроцесора;
2) сформувати в пам'яті глобальну дескрипторну таблицю, утримуючу дескриптори усіх використовуваних у програмі сегментів пам'яті;
3) задати базова адреса і розмір глобальної дескрипторної таблиці;
4) сформувати дані для повернення в реальний режим;
5) заборонити маскуємі і немаскуємі переривання;
6) зберегти в пам'яті вміст регістрів МП;
7) перевести мікропроцесор у захищений режим;
8) виконати в захищеному режимі задані дії;
9) повернутися в реальний режим;
10) відновити вміст регістрів МП;
11) дозволити маскуємі і немаскуємі переривання.
1.1. Визначення типу мікропроцесора.
Оскільки перехід у захищений режим, повернення з захищеного режиму, обробка переривань і організація багатозадачного режиму здійснюються по-різному для МП 80286 і МП наступних моделей, необхідно визначити тип МП персонального комп'ютера. Визначення типу мікропроцесора для моделей 8086-i486 ґрунтується на розходженні в різних типів МП у стані і зміні окремих бітов регістра прапорів (FLAGS чи EFLAGS для 32-розрядних МП):
• 8086 : біти 12-15 регістра FLAGS завжди встановлені;
• 80286: біти 12-15 регістра FLAGS у реальному режимі завжди кинуті;
• 80386: прапор AC (біт 18) регістра EFLAGS не може бути встановлений;
• i486 : прапор AC EFLAGS може бути встановлений.
Для останніх моделей МП i486 і наступних мікропроцесорів (Pentium, Pentium MMX, Pentium Pro, Pentium II, Celeron і Pentium III) з'явилася можливість одержати додаткову інформацію про МП за допомогою команди CPUID (CPU IDentification). Чи виконується ця команда на даному мікропроцесорі можна визначити за допомогою біта ID (21) регістра EFLAGS: якщо програмно стан цього біта можна змінити, значить команда CPUID виконується.
Команда CPUID має код 0Fh 0A2h. Параметр команди вказується в регістрі EAX. Значення бітов регістра EDX (при EAX=1), містить інформацію про особливості мікропроцесора.