Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Реальный и защищенный режимы работы процессора



ГЛАВА 3 Особенности

Архитектуры микропроцессоров 180x86

В рамках данного учебного пособия мы, естественно, не будем рассматривать все многообразие современных 32-разрядных микропроцессоров, используемых в ПК и иных вычислительных системах. Здесь мы ограничимся рассмотрени­ем только архитектурных, а не технических характеристик микропроцессоров. Под обозначением i80x86 будем понимать любые 32-битовые микропроцессоры, имеющие такой же основной набор команд, как и в первом 32-битовом микро­процессоре Intel 80386, и те же архитектурные решения, что и в микропроцессо­рах фирмы Intel.

Реальный и защищенный режимы работы процессора

Широко известно, что первым микропроцессором, на базе которого была создана IBM PC, был Intel 8088. Этот микропроцессор отличался от первого 16-разряд­ного микропроцессора фирмы Intel — 8086 — прежде всего тем, что у него была 8-битовая шина данных, а не 16-битовая (как у 8086). Оба эти микропроцессора предназначались для создания вычислительных устройств, которые бы работали в однозадачном режиме, то есть специальных аппаратных средств для поддерж­ки надежных и эффективных мультипрограммных ОС в них не было.

Однако к тому времени, когда разработчики осознали необходимость включения в микропроцессор специальной аппаратной поддержки для мультипрограммных вычислений, уже было создано очень много программных продуктов. Поэтому для совместимости с первыми компьютерами в последующих версиях микропро­цессоров была реализована возможность использовать их в двух режимах — реальном (real mode — так назвали режим работы первых 16-битовых микропро-


цессоров) и защищенном (protected mode— означает, что параллельные вычисле­ния могут быть защищены аппаратно-программными механизмами).

Подробно рассматривать архитектуру первых 16-битовых микропроцессоров i8086/i8088 мы не будем, поскольку этот материал должен изучаться в предыду­щих дисциплинах учебного плана. Для тех же, кто с ним не знаком, можно реко­мендовать такие книги, как [52, 73], и многие другие. Однако напомним, что в этих микропроцессорах (а значит, и в остальных микропроцессорах семейства 180x86 при работе их в реальнрм режиме) обращение к памяти с возможным адресным пространством в 1 Мбайт осуществляется посредством механизма сегментной адресации (рис. 3.1). Этот механизм был использован для увели­чения количества разрядов, участвующих в указании адреса ячейки памяти, с которой в данный момент осуществляется работа, с 16 до 20 и тем самым уве­личения объема памяти.

Конкретизируем задачу и ограничимся рассмотрением определения адреса ко­манды. Для адресации операндов используется аналогичный механизм, только участвуют в этом случае другие сегментные регистры. Напомним, что для опре­деления физического адреса команды содержимое сегментного регистра CS (code segment) умножается на 16 за счет добавления справа (к младшим битам) четы­рех нулей, после чего к полученному значению прибавляется содержимое указа­теля команд (регистр IP, instruction pointer). Получается двадцатибитовое зна­чение, которое и позволяет указать любой байт из 220.1

В защищенном режиме работы определение физического адреса рсуществляется совершенно иначе. Прежде всего используется сегментный механизм для орга­низации виртуальной памяти. При этом адреса задаются 32-битовыми значения­ми. Кроме этого, возможна страничная трансляция адресов, также с 32-битовыми

1 На самом деле, поскольку происходит именно сложение и каждое из слагаемых может иметь значение в интервале от нуля до 216-1 = 65535 = 64К, мы можем указать адрес на­чала сегмента, равный FFFFFFFFOOH, и к нему прибавить смещение FFFFFFFFH. В этом случае мы получим переполнение разрядной сетки, но для современных 32-битовых про­цессоров (и для уже забытого i80286) имеется возможность указать первые 64 Кбайт выше первого мегабайта.


значениями. Наконец, при работе в защищенном режиме, который по умолча­нию предполагает 32-битовый код, возможно исполнение двоичных программ, созданных для работы микропроцессора в 16-битовом режиме. Для этого введен режим виртуальной 16-битовой машины и 20-битовые адреса реального режима транслируются с помощью страничного механизма в 32-битовые значения защи­щенного режима. Наконец, есть еще один режим — 16-битовый защищенный, по­зволяющий 32-битовым микропроцессорам выполнять защищенный 16-битовый код, который был характерен для микропроцессора 80286. Правда, следует отме­тить, что это последний режим практически не используется, поскольку программ, созданных для него, не так уж и много.

Для изучения этих возможностей рассмотрим сначала новые архитектурные воз­можности микропроцессоров i80x86.





Дата публикования: 2015-01-23; Прочитано: 1638 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...