Автор работы: Пользователь скрыл имя, 27 Ноября 2011 в 21:27, реферат
Различными являются способы, средства и используемые ресурсы, с помощью которых компьютер функционирует как единый механизм. Чтобы собрать воедино все понятия, характеризующие компьютер с точки зрения его функциональных программно-управляемых свойств, существует специальный термин - архитектура ЭВМ.
Введение………………………………………………………………………………………..
1.Понятие программной модели……………………………………………………………...
2.Программная модель х86…………………………………………………………………....
2.1 Особенности моделей x86…………………………………………………………………
2.2 Историческое развитие линейки процессоров x86……………….……………………..
Заключение…………………………………………………………………………………….
Список используемых источников……………
4.
Аннотация
На
современном компьютерном рынке
наблюдается большое
Различными
являются способы, средства и используемые
ресурсы, с помощью которых компьютер
функционирует как единый механизм.
Чтобы собрать воедино все
понятия, характеризующие компьютер
с точки зрения его функциональных
программно-управляемых
Впервые понятие архитектура ЭВМ стало упоминаться с появлением машин 3-го поколения для их сравнительной оценки.
К изучению языка ассемблера любого компьютера имеет смысл приступать только после выяснения того, какая часть компьютера оставлена видимой и доступной для программирования на этом языке. Это так называемая программная модель компьютера, частью которой является программная модель микропроцессора.
Программная модель процессора – это базовая совокупность систем и характеристик процессора "видимая" программистам, работающим на нижних, "машинных" уровнях программирования, например, на языке ассемблере.Обычно к программной модели процессора относят:
x86 (англ.Intel 80x86)—архитектура процессора c одноименным набором команд, впервые реализованная в процессорах компании Intell.
Название
образованно от двух цифр, которыми
заканчивались названия процессоров
Intel ранних моделей—8086,80186,80286(i286)
x86
— это CISC-архитектура. Доступ к памяти
происходит по «словам». «Слова» размещаются
по принципу little-endian, известному также
как Intel-формат. Современные процессоры
включают в себя декодеры команд x86 для
преобразования их в упрощённый внутренний
формат с последующим их выполнением.
Сегментная организация памяти
Реальный режим (real mode)
Классический режим адресации, использованный в первых моделях семейства. Использует сегментированную модель памяти, организованную следующим образом: адресное пространство в 1 MiB разбивается на 16-байтовые блоки, называемые параграфами. Всего параграфов в 1 MiB — 65536, что позволяет пронумеровать их 16-разрядными числами. Сегменты памяти имеют размер 65536 байт, и всегда начинаются на границе параграфа. Адрес ячейки памяти состоит из двух частей: номера параграфа, с которого начинается сегмент и смещения внутри сегмента и обычно записывается как SSSS:OOOO, где S и O— шестнадцатеричные цифры. SSSS называется сегментной компонентой адреса, а OOOO— смещением. Адрес ячейки, выдаваемый на шину, представляет собой сегментную компоненту умноженную на 16 плюс смещение. Сегментная компонента помещается в специальный регистр, называемый сегментным, а смещение в регистр IP(регистр инструкций). Микропроцессоры 8086/8088, 80186/80188 и 80286 имели четыре сегментных регистра, т.е могли работать одновременно с четырьмя сегментами памяти, имеющими определенное назначение. В 80386 добавили еще два, не имеющих специального назначения.
Несмотря
на то, что сегментные регистры имеют
специальные назначения, архитектура
допускает при обращении к
данным заменить один сегмент на любой
другой. Сегменты кода, стека и получателя
строк всегда используют регистры CS,
SS и ES и не могут быть изменены. Общий
объем памяти, адресуемый в реальном режиме
составляет 1048576 байт (0000:0000-F000:FFFF(00000-
Также
в реальном режиме отсутствует защита
памяти и разграничение прав доступа,
поэтому он уже практически вышел
из употребления. Является режимом
по умолчанию для всех моделей
процессоров семейства x86.
Защищенный режим(protected mode)
Более совершенный режим, впервые появившийся в процессоре 80286 и в дальнейшем многократно улучшавшийся. Имеет большое количество подрежимов, по которым можно проследить эволюцию семейства ЦП. В этом режиме поддерживается защита памяти, контексты задач и средства для организации виртуальной памяти. Аналогично реальному режиму, тут также используется сегментированная модель памяти, однако уже организованная по другому принципу: деление на параграфы отсутствует, а расположение сегментов описывается специальными структурами (таблицами дескрипторов), расположенными в оперативной памяти. Помимо базового адреса сегмента дескрипторы содержат размер сегмента (точнее, максимально доступное смещение) и различные атрибуты сегментов, использующиеся для защиты памяти и определения прав доступа к сегменту для различных программных модулей. Существует два типа дескрипторных таблиц: глобальная и локальная. Глобальная таблица описывает сегменты операционной системы и разделяемых структур данных. Локальная таблица может быть определена для каждой конкретной задачи (процесса). Сегменты памяти также выбираются все теми же сегментными регистрами; однако вместо номера параграфа сегментный регистр содержит специальную структуру (селектор), содержащую индекс дескриптора в таблице. Сам же дескриптор загружается из памяти во внутренний программно недоступный регистр (кеш), привязанный к каждому сегментному регистру и автоматически загружаемый в момент его модификации.
Каждый программный модуль, выполняемый в защищенном режиме определяется его сегментом кода, описываемым регистром CS, который и определяет его привилегии по доступу к данным и другим модулям. Существует 4 уровня привилегий 0,1,2 и 3, называемых кольцами защиты. Кольцо 0 наиболее привилегированное. Оно предназначено для модулей ядра операционной системы. Кольцо 3 — наименее привилегированное, и предназначено для пользовательских программ. Кольца 1 и 2 используются лишь некоторыми операционными системами. Сегменты данных также имеют атрибуты прав доступа, дающие доступ только коду, имеющему такие же или более высокие привилегии. Система колец позволяет гибко распределять доступ к коду и данным.
Процессор 80386, появившийся в 1985 году, в отличие от своих предшественников стал 32-битным. В нем появилась возможность адресовать до 4 GiB памяти, что позволило создавать сегменты памяти размером во все адресное пространство. Поэтому новые операционные системы использовали вырожденную модель организации памяти, когда все сегменты начинаются с нулевого адреса. Такая модель получила название плоской (flat memory model), и адрес задается одним целым 32-разрядным числом (хотя по сути он является смещением внутри вырожденного сегмента), а сами сегменты используются исключительно для организации защиты по кольцам привилегий.
Режим виртуального 8086 (virtual 8086 mode, V86)
Является подрежимом защищенного, но использует адресную модель, аналогичную реальному режиму. Применяется для запуска старых программ 8086 в среде современных операционных систем. В отличие от реального режима, где все программы имеют доступ ко всей памяти (кольцо 0), в режиме V86 программа выполняется в кольце 3 (наименее привилегированном), а особые ситуации и прерывания обрабатываются обычными процедурами защищенного режима.
Смешанные режимы
Сегментно MMU современных процессоров, несмотря на кардинальные различия двух его основных режимов, в обоих работает схожим образом. Это позволяет организовывать нестандартные режимы не описанные в официальной документации, но иногда очень полезные при написании программ. Поскольку известно, что внутренние кэши дескрипторов используются во всех режимах, и именно они используются для адресации памяти, при понимании логики их работы возможна загрузка в них нестандартных значений для текущего режима. В частности, можно создать дескрипторную таблицу в реальном режиме, установить флаг PE, загрузить сегментные регистры уже в защищенном режиме, а потом тут же сбросить флаг PE. До следующей перезагрузки сегментного регистра его кеш дескриптора будет содержать значение, соответствующее защищенному режиму, и если он был загружен должным образом, появится возможность адресации до 4 GiB памяти. Подобные нестандартные режимы получили общее название Unreal mode и активно используются
BIOSами
персональных компьютеров. Следует отметить,
что в процессоре 80286 также была возможность
загрузки нестандартных значений дескрипторного
кеша при помощи недокументированной
команды LOADALL; что было особенно актуально,
поскольку процессор 80286 не позволял сбрасывать
флаг PE (из защищенного режима выходили
с помощью сброса процессора, что сказывалось
на производительности).
Страничная организация памяти
В процессорах начиная с 80386 появилось мощное MMU, позволяющее организовать отображение страниц памяти что было еще одним поводом перехода на плоскую модель с приходом 32-разрядных вычислений. Используя трансляцию страниц операционная система может создать собственное линейное адресное пространство для каждого процесса; также каждая страница имеет атрибуты прав доступа. Только в отличие от сегментов, таких уровней существует только 2: пользователь и супервизор. Но для большинства современных операционных систем этого вполне достаточно. Следует отметить, что страничное MMU доступно только в защищенном режиме.