Процессоры Intel в реальном режиме.. План. 1) Историческая справка. 2) Объяснение основный концепций работы с памятью. 3) Обработка прерываний. 4) Написание.

Презентация:



Advertisements
Похожие презентации
Архитектура компьютера. Архитектурой компьютера называется ее логическая организация, структура и ресурсы, которые может использовать программист.
Advertisements

Устройство обработки информации. Процессор – основная микросхема компьютера.
Процессоры Intel в защищенном режиме. Недостатки реального режима Невозможно адресовать пространство памяти свыше 1-го Мб Невозможно работать с массивами,
Организация обмена информацией Функции устройств магистрали.
Как устроен персональный компьютер (ПК) Основные характеристики персонального компьютера.
Как устроен персональный компьютер (ПК). Основные темы параграфа: что такое ПК; основные устройства ПК; магистральный принцип взаимодействия устройств.
Устройство обработки информации Структура процессора. Характеристики. Принцип работы.
Основная микросхема компьютера, в которой и производятся все вычисления. На процессоре установлен большой медный ребристый радиатор, охлаждаемый вентилятором.
МОУ Греково-Степановская СОШ Чертковского района Ростовской области Учитель математики и информатики Киселева Лариса Анатольевна Урок информатики в 5 классе.
Программный принцип управления компьютером Заречнева И. В.
10 класс Содержимое системного блока Итак, начнем. В системном блоке находятся: 1. Материнская (системная плата) – это самая главная часть компьютера.
Загрузка операционной системы. Носитель, на котором расположены файлы операционной системы, называется системным Системный диск Оперативная память.
План изучения нового материала 1.Системная или материнская плата. Магистраль: 1 ). шина данных 2). шина адреса 3). шина управления 3. Шины периферийных.
Магитстрально- модульное построение компьютера. архитектурой ЭВМ называется описание структуры и принципов работы компьютера без подробностей технической.
Прерывания Определение прерывания Прерывания представляют собой механизм, позволяющий координировать параллельное функционирование отдельных устройств.
Как устроен компьютер © Бакунович А.В. 1. Как устроен компьютер 2.
Архитектура вычислительной машины (Архитектура ЭВМ) концептуальная структура вычислительной машины, определяющая проведение обработки информации и включающая.
Основные устройства компьютера, их функции и взаимосвязь Основные устройства компьютера, их функции и взаимосвязь. Привет, я пчёлка Жужа. Сейчас я тебе.
Управление памятью Управление физической памятью.
Компьютер – модель человека ФункцияЧеловекКомпьютер Хранение информации Память Устройства памяти Обработка информации МышлениеПроцессор Прием (ввод) информации.
Транксрипт:

Процессоры Intel в реальном режиме.

План. 1) Историческая справка. 2) Объяснение основный концепций работы с памятью. 3) Обработка прерываний. 4) Написание небольшого кода для бут сектора дискеты.

Какие бывают режимы. Итак, есть несколько режимов работы микропроцессоров Intel: 1) Реальный режим (real mode) является самым простым и старым в этой линейке процессоров. Отличается малой продуктивностью. 2) Защищённый режим на сегодняшний день самый популярный, так как именно благодаря ему процессоры раскрывают все свои возможности. 3) Режим системного управления, который используется достаточно редко. Мы же рассмотрим реальный режим, ввиду отсутствия времени и простоты такового.

Немного истории. Реальный режим был самым первым в своей семье x86-ых процессоров. Его особенностями является простота и в то же время отсталость на сегодняшний день. Но даже современные компьютеры после включения сначала находятся в реальном режиме. Это было сделано для того, чтобы не изменять сильно архитектуру процессоров, так как в защищённый режим можно войти только из реального.

Описание реального режима. В реальном режиме адресация 16-битная, то есть максимальное пространство RAM, которое можно адресовать – 2^20+(2^16-0x10). Как правило размер адресуемого пространства зависит от количества адресных линий на шине процессора. В нашем примере их 20. Все пространство делится на сегменты, размер которых – 64 кб (=2^16). База сегмента – адрес начала сегмента. Сегменты перекрывают друг друга; так как база каждого сегмента – величина, кратная параграфу (0x10). Отсюда и берёт корни излишек памяти, про который я сказал в начале.

Что такое смещение. Так, с сегментами мы разобрались. Теперь зададимся вопросом: а как же получить доступ к памяти внутри сегмента. Смещение (offset) как раз участвует в этом. Смещение обозначает отступ от базы сегмента (см рисунок). Вообще модель памяти в реальном режиме называется сегментированной, и адрес (не физический!) записывается так: Сегмент:Смещение

Итак, вот упрощённая модель памяти в реальном режиме.

Но сам процессор не пользуется таким представлением памяти. Настоящий, физический адрес рассчитывается так: Physical_address= Segments_Base*10h+Offset. Именно этот адрес процессор выставляет на шину. К примеру: 1000h:0010h = 1001h:0000h; Действительно 1000h*10h+10h=1001h*10h=10010h;

Что такое прерывания. Итак, к процессору необходимо каким-то образом взаимодействовать с таймером, клавиатурой и мышью, флопиком, обрабатывать ошибки, случающиеся в программах. Всё это ему помогают делать прерывания. К примеру при тике интервального таймера, нажатии кнопки клавиатуры, попытке обращения к невалидной памяти происходит прерывание, информация о котором идёт на PIC i8259a (Programmable Interrupt Controller). Честно говоря сейчас используется APIC, но при старте машины он запускается в режиме поддержки i8259a. Я не буду из за нехватки времени рассказывать о его программировании и его устройстве (хотя это довольно интересно).

Таблица векторов прерываний. Откуда процессор знает где брать обработчики прерываний? Всё дело в таблице векторов прерываний. Она расположена в первом килобайте оперативной памяти, и состоит из 4 байтовых записей: 1-ое слово – смещение обработчика в сегменте. 2-ое слово – базовый адрес сегмента, где находится обработчик прерывания. При возникновении прерывания процессор по номеру прерывания находит его обработчик и передаёт ему управление.

Теперь самое интересное – практика. Итак, я предлагаю рассмотреть пример обработки прерываний в реальном режиме. Поступим следующим образом. Давайте рассмотрим демонстрационный пример. Он будет довольно небольшим, но всё равно покажет вам основные приёмы программирования в RM.

Как будем реализовывать. Итак, после POST (Power on Self Test) и BIST (Built-In Safe-Test), BIOS в бут- порядке просматривает первые сектора накопителей, для нахождения загрузчика (программы, которая запускает (очень грубо говоря) OC). Как она узнаёт этот загрузчик? По magic_number в конце такового. В нашем случае по 0xAA и 0x55. Потом BIOS грузит этот нужный первый сектор по адресу 0000:7c00h и передаёт ему управление.

Предлагаю вам рассмотреть мою демонстрационную программу, написанную на ассемблере FASM и протестировать на VirtualBoxе, дабы не подключать флоповод к компьютеру и не перезагружать его. Она будет обрабатывать прерывания от таймера и клавиатуры. Результат увидите сами. Приступим!

Использованная литература. WASM.RU – раздел для дzенствующих. Intel System Programming Guides Flatassembler.net/manuals/ - мануалы по синтаксису FASMa (книг по нему нету).