Обзор x86 процессоров

Страница: 9/11

3.4 Механизмы защиты

Выполняя 3-4 миллиона операций в секунду, 80386 имеет достаточно вычислительной мощности для обеспечения самых

сложных систем, состоящих из сотен или тысяч программных модулей. В таких системах вопрос заключается не в том, будут ли ошибки, а в том как их накти и повозможности быстро устранить и насколько их действие может быть ограничено. Такие системы могут быть быстро отлажены и сделаны более надежными при серийном освоении, если процессор будет проверять каждую команду по критерию защиты. При этом степень и тип используемой защиты зависит от конкретного применения. Обычно простые системы реального времени работают достаточно хорошо без использования защиты. Различные требования к защите могут быть наиболее полно удовлетворены с помощью набора выборочно используемых функций защиты, введенных в 80386:

- разделение адресных пространств задач;

- введение 0-4 уровней привилегий ;

- использование привилегированных команд (например,HALT);

- разделение сегментов по типам (например, кодовый сег

мент или сегмент данных);

- введение прав доступа к сегментам и страницам (например, право только чтения или только исполнения);

- проверка границ сегмента.

Для сохранения максимельной производительности все проверки защиты в 80386 выполняются одновременно с выполнением

команды.

3.5 Совместимость с микропроцессорами 8086/80286

Два поколения процессоров семейства 86 предшествуют процессору 80386 - 80286 и 8086, с каждым из них 80386 совместим на уровне двоичных кодов. Благодаря такой совместимости экономятся программные затраты, обеспечивается быстрый выход на рынок и доступ к обширной библиотеке программного обеспечения, написанного для машин на базе микропроцессоров семейства х86.

Микропроцессор 80386, конечно, может выполнять программы для 8086, он также может одновременно выполнять программы для 80286 и 80386. Однако наиболее важным свойством совместимости 80386 представляется свойство, называемое VIRTUAL 86 ( виртуальный 86), устанавливающее защищенную структуру для 8086 внутри системы задач 80386. Дополняя свойство виртуального 8086 страничной организацией памяти, 80386 может закрепить за каждой задачей виртуального 8086 1 мбайтное адресное пространство в любой области физического адресного пространства 80386. Более того, если операционная система 80386 обеспечивает работу с виртуальной памятью, то задачи виртуального 8086 могут переноситься с диска и обратно как любые другие задачи. Таким образом, свойство виртуального 8086 позволяет

80386 одновременно выполнять программы, написанные для трех поколений семейства 86.

3.6 Способы адресации

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

смещение = база + (идекс X масштаб) + отклонение

Для вычисления смещения могут быть использованы любые

или все переменные базы, индекса и отклонения. Переменные базы и индекса являются величинами, хранящимися в общих регисрах, а величина отклонения содержится в команде. Для хранения базы или индекса может быть использован любой общий регистр.

Величина в индексном регистре может быть отмаштабирована (умножена) коэффициэнтом 1,2,4 или 8, что дает возможность делать ссылки на элементы массива или записи соответствующей длины. Величина отклонения может иметь разрядность 8 или 32 бит и интерпретируется процесспром как величина со знаком в дополнительном коде.

Реферат опубликован: 4/01/2008