Особенности микропроцессоров 286 и 386/486




 

Микропроцессор 8086 был выпущен фирмой Intel в 1978, а его модифицированный вариант 8088 с 8-разрядной шиной данных - в 1979 году. Дальнейшим развитием семейства явились микропроцессоры 80286 (1983 год), 80386 (1986 год) и 80486 (1990 год).

16-разрядный МП 80286 (или просто 286) разрабатывался с расчетом на многозадачную работу и увеличенный объем памяти. Так как должна была сохраниться его совместимость с 8086, то были введены два режима работы:

· реальный режим (как быстродействующий 8086);

· защищенный режим (с памятью до 16 Мбайт).

Для защищенного режима используются те же сегментные регистры CS, DS, ES и SS, но теперь они хранят не сегментные адреса, а селекторы сегментов - номера сегментов в специальной таблице дескрипторов сегментов (рис. 1.9).

 

Сегментный регистр ПАМЯТЬ

 

002 (селектор)

 
 


Таблица дескрипторов сегментов

 

1

2

3 сегмент

.....

k N 2

   
 
 
 


Дескриптор сегмента

       
   
 

/8/ /24/ /16/

 

Служ.разр База_сегмента Длина_сегмента

 

Рис.1.9. Принцип адресации данных в защищенном режиме 80286

Дескриптор сегмента хранит определяющую сегмент информацию - базовый адрес сегмента (24 разряда), длину сегмента (16 разрядов) и 8 служебных разрядов. Таким образом сегмент может начинаться с произвольного байта памяти общим объемом 2 24 = 16 Мбайт и иметь длину до 2 16 = 64 Кбайта.

Очевидно, что формирование адреса через таблицу дескрипторов, расположенную в памяти, потребует существенных дополнительных затрат времени. Поэтому в МП 80286 предусмотрены скрытые (теневые) регистры дескрипторов сегментов (рис. 1.10), в которых и

 

Сегментные регистры (расширение сегментных регистров)

       
   


CS

DS

SS

ES

 

i286: 15 0 47 40.39 /24/ 16.15 /16/ 0

 

GS

FS

 

i386: 15 0 63 53.52 /32/ 20.19 /20/ 0

 

Cлуж. сегментные регистры (Сл. разряды Базовый адрес сегмента Длина сегмента)

       
   


TR

LDTR

GDTR

IDTR

 

*) для i80286 регистры AX, BX, CX, DX и указатели SP, BP,

SI, DI и IP полностью соответствуют i8086;

**) для i80386/80486 регистры имеют 32 разряда (см. ниже).

 

 

Рис. 1.10. Сегментные регистры МП 80286 и 80386/486

 

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

Для многозадачной работы предусмотрено разделение поля памяти между несколькими задачами (процессами), при этом считается, что в системе имеются:

· единственная глобальная таблица дескрипторов сегментов, доступных всем процессам;

· собственная у каждого процесса локальная таблица дескрипторов сегментов, принадлежащих только данному процессу.

На рис. 1.10 показаны дополнительные сегментные регистры GDTR, IDTR, LDTR и TR, предназначенные для хранения селекторов таблиц (сегментов) GDT, IDT, LDT_i и TSS_i, а также текущих значений их базовых адресов, длины и другой служебной информации.

Этот же подход был реализован и в МП 80386, который стал 32-разрядным микропроцессором (рис. 1.11).

 

AX EAX

AH AL

BX EBX

BH BL

CX ECX

CH CL

DX EDX

DL DL

 

SP ESP

 
 


BP EBP

SI ESI

 
 


DI EDI

 
 


IP EIP

 
 


EFLAGS

 
 


PG ET TS EM PE GR0 (MSW)

 

бит защищенного (protect) режима

 

 

Рис. 1.11. Рабочие регистры ЦП 80386/486

 

 

Все рабочие регистры и регистры-указатели стали расширенными (Expanded), количество сегментных регистров увеличилось (добавлены GS и FS) и их расширение имело 64 разряда (Рис.1.10), так как под базовый адрес сегмента отведено 32 разряда, а длина сегмента задается двадцатью разрядами. Таким образом, сегмент может начинаться с произвольного байта памяти общим объемом 2 32 = 4 Гбайт и иметь длину до 2 20 = 1 Мбайта. Кроме того, в микропроцессоре аппаратно поддерживаются специальные схемы распределения памяти (страничная и сегментно-страничная), позволяющие выполнять программы, адресное пространство которых превышает объем реальной оперативной памяти компьютера.

Микропроцессор 80486 в концептуальном плане мало отличается от 80386, имея более высокое быстродействие за счет использования специальных аппаратных решений.

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-07 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: