Режимы работы


Предыдущая | Следующая

Режимы работы
При разработке процессора 386 одной из главных целей была совместимость с щ оцессорами 8086 и 286. Как отмечалось ранее, процессор имеет три режима работы, причем один из режимов имеет два подрежима.
Для эмуляции процессора 8086 есть два отдельных режима — R-режим и V-режим, в которых можно выполнять программы процессора 8086. В обоих режимах можно использовать общую операционную систему, например DOS. В R-режиме процессор 386 действует как процессор 8086. Он использует 20 линий адреса и физическую память 1 Мбайт и не работает с виртуальной памятью. Процессор 386 в R-режиме — это очень быстрый процессор 8086 (даже быстрее по сравнению с эмуляцией процессора 8086 в процессоре 286). Имеются компьютеры с процессором 386, в которых он работает как сверхбыстрый процессор 8086, а новые его возможности не используются.
V-режим оказывается по сравнению с R-режимом более гибким. Это защищенный режим, и для него нужна другая операционная система, а не DOS. Имеется несколько специальных программ DOS, которые инициируют V-режим. После этого в V-режиме можно одновременно выполнять несколько программ процессора 8086 с привлечением DOS. Такая возможность привлекательна во многих приложениях, например при объединении нескольких компьютеров в сеть. В V-режиме каждая прикладная задача процессора 8086 выполняется так, как будто у нее есть свой процессор 8086 и своя память 1 Мбайт.
Процессор 386, который обеспечивает такую среду, работает с физическим адресным пространством 4 Гбайт, в котором размещены задачи процессора 8086. Когда приходит время адресовать конкретную задачу, процессор 386 отображает задачу на первый 1 Мбайт и ее адреса становятся правильными Этот прием реализуется с помощью устройства страничного преобразования адреса.
В V-режиме действует защита. Все прерывания направляются через специальную дескрипторную таблицу, которая управляет прерываниями вне прикладной программы процессора 8086. Кроме того, 386 перехватывает привилегированные команды и управляет портами ввода-вывода.
Адресация в V-режиме очень похожа на адресацию в R-режиме, 20-битовые адреса формируются так же, как г. процессоре 8086. Адрес состоит из двух частей — сегмента (из сегментного регистра) и смещения. Содержимое сегментного регистра сдвигается на четыре бита влево и к нему прибавляется смещение.

Процессор 386 имеет также отдельные защищенные виртуальные режимы для 16-битовых операций процессора 286 и 32-битовых операций процессора 386. Для этих режимов технология опередила разработку программного обеспечения. Операционная система DOS не рассчитана на такие режимы и применима только в режимах процессора 8086.
Эмуляция процессора 286 на процессоре 386 особых трудностей не вызывает. Операционная система OS/2 рассчитана на одного пользователя, желающего иметь средства мультизадачности. Она свободно работает в защищенных режимах процессоров 286 и 386. Однако OS/2 инициирует только Р-режим процессора 286, что вполне достаточно для машин с этим процессором. Система OS/2 позволяет перейти в Р-режим процессора 286 с мультизадачностью и уровнями привилегий. При работе на машине с процессором 386 система OS/2 делает то же самое, т.е. она инициирует Р-режим эмулируемого процессора 286,
но не допускает работу в Р-режиме процессора 386. Система OS/2 превращает машину с процессором 386 в машину с быстрым процессором 286.
В компьютерах с процессорами 286 и 386 она позволяет им адресовать 16 Мбайт физической памяти и 1 Гбайт виртуального адресного пространства. Такая расширенная память доступна потому, что процессоры 286 и 386 реализуют сегментацию не так, как процессор 8086. Виртуальный адрес встроен в устройство сегментации, которое преобразует его в фактический адрес памяти, относящийся к текущему сегменту памяти. Это фактический физический адрес памяти.
Виртуальный адрес состоит из 16-битовых селектора и смещения. Смещение используется для Р-режи-ма процессора 286. Когда адрес вычисляется для Р-режима процессора 386, используется 32-битовое смещение (рис. 16.19).
Селектор служит указателем дескрипторной таблицы, и для Р-режима процессора 386 значение из таблицы суммируется с 32-битовым смещением, в результате чего получается 32-битовый физический адрес. Такой адрес позволяет обращаться к адресному пространству 4 Гбайт.

Значение в дескрипторной таблице состоит из 16 бит, причем 14 бит используется для локализации физического адреса. Получается что адрес образован 14 бит из дескрипторной таблицы и 32 бит из смещения. Получающиеся 46 бит позволяют иметь виртуальное адресное пространство 64 Тбайт.
Р-режимы процессоров 286 и 386 оказываются очень мощными. В них можно работать с повышенной частотой синхронизации и адресовать практически неограниченную память. Процессор 286 поддержан операционной системой OS/2, но процессор 386 технологически опередил программное обеспечение. Разработчики программного обеспечения торопятся выйти на рынок с хорошей операционной системой, которая должна использовать все возможности 32-битового Р-режима процессора 386.
Виртуальная память — это результат таких действий процессоров 286 и 386, которые обеспечивают память, намного фактически превышающую фактическую физическую память. Например, процессор 386 с помощью 32 бит адресует физическую память 4 Гбайт. Для адресации виртуальной памяти привлекаются 46 бит, что соответствует 64 Тбайт. В процессоре 386 есть регистры, через которые должны проходить биты адреса для получения физического адреса. Адресное пространство подразделяется на сегменты или страницы. В процессоре 386 доступны сегментация и страничное преобразование адреса, а в процессоре 286 — только сегментация.

 

 Поиск и устранение неисправностей в персональных компьютерах