Типы многоядерных вычислительных систем


режим системного управления


Download 475.5 Kb.
bet3/17
Sana09.06.2023
Hajmi475.5 Kb.
#1466793
TuriСамостоятельная работа
1   2   3   4   5   6   7   8   9   ...   17
Bog'liq
Методичка лр №4

режим системного управления (System Management Mode).
В этом режиме могут работать процессоры, начиная с Pentium и некоторые модели i486. Он используется в служебных и отладочных целях, имеет своё собственное изолированное от прикладного пространство памяти. Выполнение прикладного ПО не возможно. Процессором управляет специальное ПО «эмуляции системных действий».
В данной курсовой работе рассматривается только защищенный режим работы процессора.
Организация памяти ЭВМ
В процессорах Intel организацию памяти разделяют на две части: сегментация (segmentation), и страничная организация (paging). За управление ими отвечает соответствующий блок в процессоре – блок сегментации и блок страничной переадресации.
Все пространство памяти разбивается на параграфы – области из 16 смежных байт, начиная с нулевого адреса (адреса параграфов кратны 16).
Более крупными единицами организации памяти являются страницы и сегменты. Сегмент и страница – это блок пространства памяти определенного назначения. Сегменты имеют имена (логический адрес), различный размер и могут начинаться в любом месте ОП. Для реального режима работы процессора обязательным является выравнивание начального адреса сегмента по границе параграфа (нач. адрес кратен 16). Для защищённого режима это требование не обязательно, но желательно для ускорения работы процессора.
Память может логически организовываться в виде одного или множества сегментов переменной длины. Каждой задаче предоставляется доступ к одному или нескольким сегментам трёх типов: сегмент кода, сегмент стека и сегмент данных, различающимся порядком доступа к информации внутри сегмента. (например, для сегмента кода может быть разрешено только исполнение, для сегмента данных - чтение и запись). Кроме них существуют и некоторые виды служебных сегментов.
Кроме сегментации, в защищенном режиме возможно разбиение логической памяти на страницы фиксированного размера - 4 Кбайт, каждая из которых может отображаться на любую область физической памяти, также разбитой на страницы аналогичного размера. Начиная с процессоров i586, появилась возможность увеличения размера страницы до 4 Мбайт.
Сегментация является средством организации логической памяти на прикладном уровне. Элементы сегментной организации присутствуют в любом процессоре Intel. А вот уже использовать страничную организацию или нет – выбирает пользователь (за это отвечает флаг PG, регистра CR0). Разбиение на страницы применяется на системном уровне для управления физической памятью. Сегменты и страницы могут выгружаться из физической оперативной памяти на диск и по мере необходимости подкачиваться с него обратно в физическую память. Вся память, необходимая для выполнения одной задачи называется виртуальным адресным пространством данной задачи. Объединение виртуальных адресных пространств всех задач образуют виртуальную память ЭВМ.
К элементам сегмента (командам и данным) возможно обращение с помощью различных инструкций процессора, использующих разные режимы адресации для формирования адреса в пределах сегмента. Для того, чтобы обратиться к любому байту в любом сегменте в памяти мы должны сформировать логический адрес (дальний указатель)1 вида: «селектор:смещение».
Левая часть логического адреса – селектор сегмента – это уникальный идентификатор сегмента. У каждого сегмента есть свой селектор, который однозначно определяет местонахождение дескриптора сегмента, а в конечном счёте, и самого сегмента в ОП. Селектор содержится в специальном регистре процессора – сегментом регистре (DS, CS, ES, …). Он состоит из трёх полей (см. рис. ниже). 14 разрядов из 16 сегментного регистра отвечают за выбор сегмента (бит TI – для выбора локальной или глобальной таблицы дескрипторов сегментов и поле Index - № строки в таблице дескрипторов).

Правая часть логического адреса – смещение внутри сегмента задаётся 32-разрядным исполнительным адресом данных внутри сегмента, а значит, максимальный размер сегмента - 4 Гбайт (232байт).
Итого 214 сегментов размером 232 байт каждый, 214*232=246=64Тб – объём доступной виртуальной памяти.
32-разрядные процессоры позволяют реализовать две модели памяти: плоскую и сегментированную. В первом случае вся память представляется единой линейной последовательностью байт. Это классическая реализация фон-неймановской архитектуры - здесь хранятся и данные, и коды. Ответственность за корректное использование памяти ложится целиком на прикладного программиста - он должен заботиться о том, чтобы данные не затерли коды или на них не «наехал» растущий стек. Чтобы получить плоскую модель, достаточно все сегментные регистры загрузить селектором дескриптора, описывающим одну и ту же область памяти, но с разными свойствами для кода, стека и данных. Плоская модель не может быть использована в реальном режиме - в ней не вся адресуемая память будет доступной.
Противоположностью плоской модели является сегментированная модель памяти. Распределением памяти ведает ОС. Память в данном случае состоит из независимых сегментов. Каждой программе в любой момент предоставляется сегмент кода, сегмент стека и до четырех сегментов данных, адреса которых хранятся в сегментных регистрах:
в видимой части – для режима виртуальных адресов 8086,
в скрытой части (дескрипторах) – для защищённого режима работы процессора, (подробнее см. л.р.№5).
Промежуточное положение занимает модель памяти реального режима. Здесь память организуется в виде сегментов, но независимости и защищенности сегментов нет. Эта модель была вынужденной, она требовалась, чтобы обеспечить возможность адресации к объёму памяти 1 Мбайт при помощи 16-разрядных регистров. Такую модель сих пор используют приложения, написанные для операционных систем реального режима типа MS DOS. Здесь ША имеет 20 разрядов, базовый адрес сегмента (старшие 16 бит) хранится в соответствующем сегментном регистре. Для вычисления ФА в реальном режиме работы процессора необходимо сдвинуть на 4 разряда влево (умножить на 16) значение соответствующего сегментного регистра и сложить полученное значение с исполнительным адресом, т.е.
ФА[19÷0] = БА[15÷0] | [0000] + [0000] | ИА[15÷0]

Управляющие регистры



Download 475.5 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   17




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling