CPU (664422), страница 3

Файл №664422 CPU (Процессоры. История развития. Структура. Архитектура) 3 страницаCPU (664422) страница 32016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

Под управлением MSDOS процессор 80286 обычно используют в реальном режиме работы. Защищенный режим используют ОС типа XENIX, UNIX, OS/2, NetWare286 и оболочка MS Windows. Хотя его преимущества в РС реализованы лишь частично (он в основном использовался как быстрый процессор 8086), именно с этим процессором связан настоящий “бум” на рынке РС.

1.3.1. Организация памяти 80286

Как и у процессоров 8086/8088, для обращения к памяти процессор (совместно с внешней схемой) формирует шинные сигналы MEMWR# (Memory Write) и MEMRD# (Memory Read) для операции записи и считывания соответственно. Шина адреса разрядностью 24 бита позволяет адресовать 16 Мб физической памяти, но в реальном режиме доступен только 1 Мб, начинающийся с младших адресов. С программной точки зрения память также организуется в виде сегментов, но управление сегментацией имеет существенные различия для реального и защищенного режимов.

В реальном режиме по адресации памяти декларируется полная совместимость с процессором 8086, который своей 16-битной адресной шиной охватывает пространство в 1 Мб. На самом деле на радость разработчиков программного обеспечения РС, 80286 имеет ошибку, “узаконенною” и в следующих поколения процессоров. При вычислении физического адреса возможно возникновение переполнения, которое с 20-битной шиной адреса просто игнорируется. Например, Seg=FFFFh и EA=FFFF, физический адрес, вычисленный по формуле PA=16*Seg+EA=10FFEF, процессором 8086 трактуется как 0FFEF – адрес, принадлежащий первому мегабайту. Однако на выходе А20 процессора 80286 в этом случае устанавливается единичное значение, что соответствует адресу ячейки из второго мегабайта физической памяти. Для обеспечения полной программной совместимости с 8086 в схему РС был введен специальный вентиль Gate A20, принудительно обнуляющий бит А20 системной шины адреса. Не оценив потенциальной выгоды от этой ошибки, управление вентилем узаконили через программно-управляемы бит контроллера клавиатуры 8042. Когда оперативная память подешевела, а “аппетит” программного обеспечения вырос, в эту небольшую область (64К-16 бит) стали помещать некоторые резидентные программы или даже часть операционный системы, а для ускорения управлением вентилем появились более быстрые способы (Gate A20 Fast Control).

В отличии от 8086 процессор 80286 имеет средства контроля за переходом через границу сегмента, работающие в реальном режиме. При попытке адресации к слову, имеющему смещение FFFh (его старший байт выходит за границу сегмента), или выполнения инструкции, все байты которой не умещаются в одном сегменте, процессор вырабатывает прерывание – исключение 13 (0Dh) – Segment Overrun Exception. При попытке выполнения инструкции ES-CAPE с операндом памяти, не умещаемся в сегменте, вырабатывается исключение 9 – Processor Extension Segment Interrupt.

В защищенном режиме работают не все режимы адресации, допустимые для 8086 и реального режима 80286. Отличия касаются определения сегментов:

  • сегментные регистры CS, DS, SS и ES хранят не сами базовые адреса сегментов, а селекторы, по которым из таблицы, хранящейся в ОЗУ, извлекаются дескрипторы сегментов;

  • дескриптор описывает базовый адрес, размер сегмента (1-64 Кб) и его атрибуты;

  • базовый адрес сегмента имеет разрядность 24 бита, что и обеспечивает адресацию 16 Мб физической памяти.

Селекторы, загружаемые в 16-битные сегментные регистры, имеют три поля:

RPL (биты 0, 1), TI (бит 2) и INDEX (биты 3-15):

RPL (Requested Privilege Level) – запрошенный уровень привилегий;

TI (Table Indicator) – индикатор использования GDT – глобальный (TI=0) или LDT – локальной (TI=1) таблицы дескрипторов;

INDEX – номер дескриптора в таблице.

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

Для функций передачи управления и переключения задач определенны специальные типы дескрипторов

1.3.2. Ввод-вывод

Как и 8086, процессор 80286 позволяет адресовать до 64К однобайтных или 32К двухбайтных регистров в пространстве, отдельном от памяти (команды ввода-вывода вызывают шинные циклы с активными сигналами IORD#, IOWR#). В адресном пространстве ввода-вывода область 00F8-00FF зарезервирована для использования сопроцессором. При операциях ввода-вывода старшие биты адреса (линии А[16:20]) не используются. Адрес устройства либо задается в команде (только младший байт, старший – нулевой), либо берется из регистра DX (полный 16-битный адрес). Строковые команды REP INSB/INSW, REP OUTSB/OUTSW обеспечивают блочный ввод-вывод со скоростью, превышающей аналогичные операции со стандартным контроллером DMA.

В защищенном режиме инструкции ввода-вывода являются привилегированными. Это означает, что они могут исполнятся задачами только с определенным уровнем привилегий, определяемым полем IOPL регистра флагов. Несанкционированная попытка выполнения этих инструкций вызывает исключение 13 – нарушения защиты (знаменитое сообщение “General Protection Error”).

1.3.3. Начальный сброс и переход в защищенный режим

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

Только после сброса и до первой команды межсегментного перехода или вызова на шине адреса в реальном режиме бита А[20:23] в циклах выборки команд имеют единичное значения. Из этого следует, что по крайней мере на начальный период времени после сигнала RESET компьютер должен иметь образ BIOS в адресах FFFFF0-FFFFFFh, в то время как РС на 8086/88 ROM BIOS располагалась под границей 0FFFFFh. Перемещение BIOS из первого мегабайта памяти в старшие адреса “навсегда” невозможно, поскольку векторы прерывания, ссылающиеся на сервисы BIOS, в реальном режиме могут адресоваться только к памяти в диапазоне адресов 0-0FFFFh (0-10FFEF при открытом вентиле Gate A20). Таким образом, у РС/AT на процессоре 80286 (и старше) ROM BIOS отображается по крайней мере на две области памяти, расположенные под верхними границами первого и последнего мегабайтов физической памяти.

Перевод процессора в защищенный режим осуществляется загрузкой в MSW слова с единичным значением бита РЕ (Protect Enable). Перед этим в памяти должны быть проинициализированы необходимые таблицы дескрипторов IDT и GDT, а в базовые регистры IDT и GDT должны быть занесены их физические адреса (24-битные) и размер. После выполнения инструкции LMSW, устанавливающий бит РЕ, сразу должна выполнятся команда внутрисегментного перехода JMP для очистки очереди инструкций, декодированных в реальном режиме.

Для установки регистров процессора в начальное состояние защищенного режима, предполагаемое системное ПО, выполняют инструкцию JMP с ссылкой на селектора начального TSS системы. При этом загрузится регистр задачи, регистры LDT, регистры сегментов и общие регистры. Регистр задачи TR должен указывать на действительный TSS, поскольку операция переключения задач повлечет сохранение текущего состояния задач.

1.3.4. Защита

Процессор 80286 имеет механизмы защиты от несанкционированного выполнения критических инструкций – команды HLT, которая останавливает процессор, и команд, влияющих на сегменты кода и данных. Механизмы сгруппированы в три группы:

  • ограничения использования сегментов (например, запрет на записи в только читаемые сегменты данных); доступность использования только сегментов, дескрипторы которых описаны в GDT и LDT;

  • ограничения доступа к сегментам через правила привилегий;

  • выделение привилегированных инструкций или операций, которые можно выполнять только при определенных уровнях CPL и IOPL (биты 13 и 14 регистра флагов).

ГЛАВА 2

Архитектура 32-разрядных процессоров

История 32-разрядных процессоров началась с процессора Intel386. Эти процессора вобрали в себя все свойства своих 16-разрядных предшественников 8086/88 и 80286 для обеспечения программной совместимости с громадным объемом ранее написанного ПО. Однако в них по современным меркам преодолено очень жесткое ограничение на длину непрерывного сегмента памяти – 64 Кб. В защищенном режиме 32-битных процессоров оно отодвинулось до 4 Гб – предела физически адресуемой памяти, что како-то время можно считать “почти бесконечностью“. Все эти процессоры имеют поддержку виртуальной памяти объемом до 64 Тб, встроенный блок управления памятью поддерживает механизмы сегментации и страничной трансляции адресов (Paging). Процессоры обеспечивают четырехуровневую системы защиты памяти и ввода-вывода, переключения задач. Они имеют расширенную систему команд, включающую все команды 8086, 80286. Процессор может работать в двух режимах, между которыми обеспечивается достаточно быстрое переключение в обе стороны:

Real Address Mode – режим реальной адресации, полностью совместимый с 8086. В этом режиме возможна адресация до 1 Мб физической памяти (на самом деле почти на 64 Кб больше).

Protected Virtual Address Mode – защищенный режим виртуальной адресации. В этом режиме процессор позволяет адресовать до 4 Гб физической памяти, через которые при использовании механизма страничной адресации могут отображаться до 16 Тб виртуальной памяти каждой задачи. Существенным дополнением является Virtual 8086 Mode – режим виртуального процессора 8086. Это режим является особым состоянием задачи защищенного режима, в котором процессор функционирует как 8086. На одном процессоре в таком режиме могут одновременно исполняться несколько задач с изолированными друг от друга реальными ресурсами. При этом использование физического адресного пространства памяти управляется механизмами сегментации и трансляции страниц. Попытки выполнения команд, выхода за рамки отведенного пространства памяти и разрешенной области ввода-вывода контролируется системой защиты.

Процессоры могут оперировать с 8, 16 и 32-битными операндами байт, слов и двойных слов, а также с битам, битовыми полями и строками бит.

Рассмотрим базовую архитектуру, общую для всех существующих на данный момент 32-разрядных процессоров: 386, 486, Pentium, Pentium Pro и Pentium II.

2.1.1. Организация памяти

Память для процессоров 80х86 разделяются на байты (8 бит), слова (16 бит), двойные слова (32 бит). Слова записываются в двух смежных байтах, начиная с младшего. Адресом слова является адрес его младшего байта. Двойные слова записываются в четырех смежных байтах.

Более крупными единицами являются страницы и сегменты. Память может логически организовываться в виде одного или множества сегментов переменной длины ( в реальном режиме – фиксированной). Сегменты могут выгружаться на диске и по мере необходимости с него подкачиваться в физическую память. Кроме сегментации, в защищенном режиме возможно разбиение логической памяти на страницы размером 4 Кб (Paging), каждая из которых может отображаться на любую область физической памяти. Сегментация и разбиение на страницы могут применяться в любых сочетаниях. Сегментация является средством организации логической памяти, используемым на прикладном уровне. Разбиение на страницы применяются на системном уровне для управлении физической памятью.

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

Логический адрес, также называется виртуальным, состоит из селектора (в реальном режиме – просто сегмента) и смещение. Смещение формируется суммированием компонентов (base, index, disp) в эффективный адрес. Поскольку каждая задача может иметь до 16К селекторов, а смещение, ограниченное размером сегмента, может достигать 4 Гб, логическое адресное пространство для каждой задачи может достигать 64 Тб. Все это пространство виртуальной памяти в принципе доступно программисту (этот ‘принцип” должна реализовывать операционная система).

Блок сегментации транслирует логическое адресное пространство в 32-битное пространство линейных адресов. Линейный адрес образуется сложением базового адресного сегмента с эффективным адресом. Базовый адрес сегмента в реальном режиме образуется умножением содержимого используемого сегментного регистра на 16 (как и в 8086). В защищенным режиме базовый адрес загружается из дескриптора, хранящегося в таблице, по селектору, загруженному в используемый сегментный регистр.

Физический 32-битный адрес памяти образуется после преобразования линейного адреса блоком страничной переадресации. В простейшем случае (при отключенном блоке страничной переадресации) линейный адрес совпадает с физическим – присутствующим на внешней шине адреса процессора. Включенный блок страничной переадресации осуществляет трансляцию линейного адреса в физический блоками (страницами) размером 4 Гб. Этот блок может включаться только в защищенном режиме.

Как и у процессоров 8086/8088, для обращения к памяти процессор (совместно с внешней схемой) формирует шинные сигналы MEMWR# (Memory Write) и MEMRD (Memory Read) для операции записи и считывания соответственно. Шина адреса разрядностью 32 бита позволяет адресовать 4 Гб физической памяти, но в реальном режиме доступен только 1 Мб, начинающийся с младших адресов.

Характеристики

Тип файла
Документ
Размер
296 Kb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6532
Авторов
на СтудИзбе
301
Средний доход
с одного платного файла
Обучение Подробнее