- •Введение
- •Цели и задачи курса
- •1. Общие сведения о вычислительных машинах и вычислительных системах
- •1.1. Основные понятия и определения
- •1.2. Классификация эвм по назначению и типу
- •1.3. Типы эвм
- •1.4. Основные принципы организации вычислительных машин и систем
- •1.5. Основные характеристики вычислительных машин и систем
- •1.5.1 Стоимость и цена аппаратного обеспечения
- •1.5.2. Производительность вычислительных машин и систем
- •Контрольные вопросы
- •2. Фукциональный состав и назначение основных устройств вм
- •2.2. Назначение шин, шина с тремя состояниями
- •2.3. Назначение устройств ввода-вывода, способы информационного обмена
- •Контрольные вопросы
- •3. Организация процессоров
- •3.1. Введение в функциональную организацию процессора
- •3.2. Операционный блок
- •3.3. Блок управления
- •3.4. Устройства управления процессора
- •3.4.1. Классификация уу
- •3.4.2. Аппаратные уу
- •3.4.3. Микропрограммные уу
- •3.5. Интерфейсный блок
- •3.6. Назначение стека
- •Контрольные вопросы
- •4. Система команд и адресация данных
- •4.1. Группы команд
- •4.2. Адресация операндов
- •4.3. Методы адресации
- •5. Память вычислительных машин
- •5.1. Иерархическая организация системы памяти
- •5.2. Иерархическая структура зу
- •5.3. Основные характеристики зу
- •5.4. Организация связи оп с процессором
- •5.5. Ассоциативные зу
- •Контрольные вопросы
- •6. Принципы обмена данными в вычислительных машинах. Интерфейсы вычислительных машин, организация прерываний
- •6.1. Шины
- •6.1.1. Синхронная шина
- •6.1.2. Пересылка данных за несколько тактов
- •6.1.3. Асинхронные шины
- •6.1.4. Заключительные замечания
- •6.2. Назначение и классификация шинных интерфейсов
- •6.3. Организация и обмен данными между периферийными устройствами и вычислительным ядром системы
- •6.4. Организация прерываний
- •6.4.1. Программные прерывания
- •Команда int
- •6.4.2. Обработка прерываний
- •6.4.3 Таблица векторов прерываний
- •6.4.4. Запуск обработчиков прерываний
- •6.5. Последовательная передача данных
- •7. Вычислительные системы параллельной обработки данных
- •7.1. Параллельная обработка как архитектурный способ повышения производительности
- •7.2. Параллелизм и конвейеризация – способы параллельной обработки данных
- •7.2.1. Параллельная обработка данных (параллелизм)
- •7.2.2. Конвейеризация
- •7.3. Классификация архитектур вычислительных систем
- •7.4. Мультипроцессоры и мультикомпьютеры
- •7.5. Классификация мультипроцессорных систем по способу организации основной памяти
- •7.6. Закон Амдала (эффективность параллельных программ)
- •8. Компьютер ibm pc и операционная система ms dos
- •8.1.Архитектурные особенности процессоров семейства ia-32
- •8.2. Организация памяти компьютера ibm pc, работающего под управлением ms dos
- •Видеопамять
- •Пзу bios
- •Системные ресурсы компьютера
- •8.3. Основы программирования на языке Ассемблера
- •8.3.1. Выполнение программ
- •8.3.2. Написание, компиляция и отладка программы
- •8.3.3. Дополнительные средства ассемблера
- •9. Темы заданий для контрольной работы
- •Тема 1. Архитектура процессора Intel 8086.
- •Контрольные вопросы
- •9.1. Аппаратная модель процессора 8086
- •Программная модель процессора
- •Тема 2. Структура ехе- и сом- программы. Вывод на экран.
- •9.2. Структура программы на языке Ассемблера.
- •9.3. Вывод информации на экран
- •Тема 3. Циклы, ввод с клавиатуры.
- •Тема 4. Ввод чисел. Перевод чисел в различные системы счисления.
- •9.4. Перевод чисел в различные системы счисления
- •Тема 5. Работа с прерываниями: перехват и восстановление.
- •Варианты задания
- •Контрольные вопросы
- •Тема 6. Программирование таймера 8254 и генерация звука
- •Программирование звукового канала таймера.
- •9.7. Инициализация таймера
- •9.8. Назначение каналов таймера в ibm pc
- •9 .9. Генерация тона.
- •9.10. Варианты задания
- •Тема 7. Ответы на контрольные вопросы по лекционному курсу
- •Вариантов заданий Таблица 9.4
- •Литература
8.2. Организация памяти компьютера ibm pc, работающего под управлением ms dos
Первой операционной системой для компьютеров IBM PC под управлением микропроцессора Intel 8088 была PC DOS, созданная фирмой IBM. Как известно, процессоры 8088/86 могут работать только в реальном режиме адресации! Чуть позже свой вариант операционной системы DOS для IBM PC создала фирма Microsoft. Исторически так сложилось, что система MS DOS стала устанавливаться на большинстве персональных компьютеров. Поэтому имеет смысл рассматривать программирование для реального режима работы процессора в контексте это операционной системы. Реальный режим адресации часто называют 16-разрядным режимом, поскольку адреса операндов состоят из двух 16-разрядных значений.
Далее рассмотрим основы организации памяти в системе MS DOS, принципы вызова ее функций (они называются прерываниями), а также способы выполнения основных операций ввода-вывода на уровне функций операционной системы. Все программы, написанные для ОС MS DOS, работают в реальном режиме адресации, поскольку в них для обращения к функциям 16-разрядной операционной системы MS DOS используется команда int. Программы, написанные для реального режима адресации, имеют перечисленные ниже отличительные черты.
• Они могут адресовать только 1 Мбайт оперативной памяти.
• Пользователь может запустить только одну программу, поскольку операционная система MS DOS не поддерживает многозадачный режим работы.
• Отсутствуют средства зашиты памяти, поэтому пользовательская программа может случайно "испортить" содержимое участка памяти, принадлежащего операционной системе.
• Смешения операндов внутри сегмента являются 16-разрядными.
Поскольку ранние модели микропроцессоров Intel имели низкое быстродействие и небольшой объем адресуемой памяти, компьютер IBM PC стал машиной для работы одного пользователя, т.е. персональным компьютером. В нем не было никаких средств зашиты памяти от изменения со стороны прикладных программ. Для сравнения, использовавшиеся в то время мини-компьютеры, имели многопользовательский режим работы и средства зашиты памяти, позволявшие изолировать друг от друга параллельно выполняемые прикладные программы. Со временем для IBM PC были разработаны более развитые операционные системы, создавшие серьезную альтернативу мини-компьютерам, особенно при объединении персональных компьютеров в сеть.
В реальном режиме младшие 640 Кбайт адресного пространства процессора выделяются для использования в качестве ОЗУ как операционной системой, так и прикладными программами. Следом идет область видеопамяти и зарезервированный участок адресного пространства, который может использоваться платами расширения и контроллерами устройств. И наконец, область памяти с адресами C0000h-FFFFFh зарезервирована для размещения системного ПЗУ (постоянное запоминающее устройство). На таблице 8.1 показана упрошенная структура памяти компьютера IBM PC.
Таблица 8.1. Структура памяти в системе MS DOS
FFFFF- F0000h |
ПЗУ BIOS |
C0000 |
Зарезервировано |
B8000 |
Текстовый видеобуфер |
A0000 |
Графический видеобуфер |
|
Транзитная часть командного процессора |
|
Область для загрузки транзитных программ |
|
(в т.ч. приложений пользователя ) |
|
Резидентная часть командного процессора |
|
Ядро системы MS DOS |
|
Драйвера устройств |
00400 |
Область данных BIOS и DOS |
00000-003ffh |
Таблица векторов прерываний |
В младших адресах памяти размешается ядро операционной системы, первые 1024 байта которого (адреса 00000h-003FFh) занимает таблица векторов прерываний (interrupt vector table). Каждый элемент этой таблицы является 32-разрядным адресом памяти, заданным в форме "сегмент-смещение", и называется вектором прерывания. Эти адреса используются центральным процессором при обработке аппаратных и программных прерываний.
Сразу после таблицы векторов прерываний располагается небольшой участок оперативной памяти, используемый в качестве области данных системами BIOS и MS DOS. Следом за ними идет область памяти, в которой размешаются драйверы устройств операционной системы. Они обеспечивают управление вводом-выводом для большинства стандартных устройств, таких как клавиатура, дисковые накопители, видеоадаптер, последовательные и параллельные порты ввода-вывода. Драйвера устройств загружаются в память из скрытого системного файла io. sys во время начальной загрузки системы MS DOS. За драйверами устройств располагается собственно ядро операционной системы MS DOS, содержащее набор процедур (они называются службами), вызываемых прикладными программами. Ядро системы также грузится из скрытого системного файла msdos.sys, находящегося на системном загрузочном диске.
За ядром системы MS DOS располагается область файловых буферов операционной системы и память, в которую загружаются нестандартные драйверы устройств. Следом за ними размешается резидентная часть командного процессора, которая загружается из исполняемого файла command, com. Командный процессор выполняет введенные пользователем после приглашения MS DOS команды, а также загружает и запускает на выполнение программы, хранимые на дисках. Вторая (нерезидентная, или транзитная) часть командного процессора загружается в самый конец оперативной памяти и располагается ниже границы A0000h.
Прикладные программы загружаются в память сразу за резидентной частью командного процессора и могут занимать все адресное пространство вплоть до адреса 9FFFFh. Выполняемая в данный момент программа может затереть транзитную часть командного процессора. Тогда после завершения выполнения программы командный процессор будет автоматически загружен с резидентного диска.
