Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4семестр / Методичка лр_№4.doc
Скачиваний:
36
Добавлен:
30.04.2013
Размер:
414.21 Кб
Скачать

XchGоперанд_1, операнд_2 (xchgах,bl)

Действие: результат = операнд_2

операнд_2 = операнд_1

операнд_1 = результат

Алгоритм выполнения команды.

  1. Выборка операнда_1 и операнда_2.

  2. Выполнение обмена.

Исключения: #GP, #PF.

ROL (Rotate Operand Left) – циклический поразрядный сдвиг влево операнда_1 на количество разрядов, указанное в операнде_2.

ROLоперанд_1, операнд_2 (ROLЕАХ, 8)

Действие: каждый раз при циклическом сдвиге разрядов операнда_1 влево его старший выдвигаемый бит вдвигается в младший (правый) разряд операнда_1 и одновременно во флаг переносаEFLAGS.CF. Операнд_1: 8, 16 или 32-разрядный регистр или ячейка памяти. Операнд_2: 1(единица), 8-разрядная константа или регистрCL. ФлагиCF, ОF,SF,ZF,PFустанавливаются по результату операции.

Алгоритм выполнения команды в АЛУ

  1. Сдвиг всехразрядов операнда_1влево на один разряд; при этом выдвига-емый слева бит становится значением флага переносаEFLAGS.CF и младшего правого разряда операнда_1.

  2. Указанные выше два действия повторяются количество раз, равное зна-чению операнда_2.

Исключения: #GP, #PF.

  1. Порядок выполнения работы

Для вашего варианта задания на курсовую работу, полученного у преподавателя, разработать обобщённый алгоритм № 2 последовательности выполнения всех фаз команды с учётом количества и местоположения операндов (на основании раздела 5 данных м.у.).

  1. Вопросы для самопроверки (защиты л/р)

  1. В каких режимах может работать центральный процессор?

Режим реальной адресации

Защищенный режим виртуальной адресации

Режим виртуального процессора 8086

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

  1. В чем особенности работы ЦП в защищенном режиме?

  • Защищенный режим виртуальной адресации (Protected Virtual Address Mode),

В этом режиме многозадачность реализована аппаратно, это принципиальное отличие от реального режима. Процессор позволяет адресовать до 4 Гбайт физической оперативной памяти, через которые при использовании механизма страничной адресации могут отображаться до 64 Тбайт (см. выше) виртуальной памяти каждой задачи. Все ресурсы одной задачи (приложения и задачи самой ОС, например, MSWindows) защищены от возможного воздействия другой.

  1. Почему этот режим назван защищённым, что и как нужно защищать?

Защищаемыми ресурсами являются: память, в которой хранятся коды программ, данные и различные системные таблицы, и совместно используемая аппаратура, обращение к которой происходит через операции ввода/вывода и прерывания. Система защиты реализована как аппаратно, так и программно (на уровне многозадачной ОС). Механизмы защиты: сегментация, переключение задач, четырёхуровневая иерархическая система привилегий, аппаратно реализованный механизм виртуальной памяти и страничной переадресации. Системы команд для реального и защищенного режима идентичны.

  1. Виды и назначение управляющих регистров?

Управляющие регистры(ControlRegisters) CR0[0÷31],CR1[0÷31],CR2[0÷31],CR3[0÷31],CR4[0÷31] хранят признаки состояния процессора, общие для всех задач, в том числе информацию о режиме работы процессора.

  1. Сегментация памяти: назначение, особенности организации?

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

Сегмент и страница– это блок пространства памяти определенного назначения. Сегменты имеют имена (логический адрес), различный размер и могут начинаться в любом месте ОП. Для реального режима работы процессора обязательным является выравнивание начального адреса сегмента по границе параграфа (нач. адрес кратен 16). Для защищённого режима это требование не обязательно, но желательно для ускорения работы процессора.

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

Сегменты и страницы могут выгружаться из физической оперативной памяти на диск и по мере необходимости подкачиваться с него обратно в физическую память.

  1. Плоская и многосегментная модели памяти?

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

Противоположностью плоской модели является сегментированная модель памяти. Распределением памяти ведает ОС. Память в данном случае состоит из независимых сегментов. Каждой программе в любой момент предоставляется сегмент кода, сегмент стека и до четырех сегментов данных, адреса которых хранятся в сегментных регистрах:

  • в видимой части – для режима виртуальных адресов 8086,

  • в скрытой части (дескрипторах) – для защищённого режима работы процессора, (подробнее см. л.р.№5).

  1. Для чего нужны прерывания и исключения? Что это такое?

Прерывания и исключения нарушают нормальный ход выполнения программы для обработки внешних событий или сигнализации о возникновении особых условий или ошибок.

Прерыванияподразделяются на программные и аппаратные (маскируемые и немаскируемые), вызываемые электрическими сигналами на входах процессора.

Исключения, или особые случаи выполнения команды ЭВМ, подразделяются на отказы, двойные отказы, ловушки и аварийные завершения. Различия заключаются в моменте проверки и сохраняемых в стеке значениях адресов возврата (регистровCS[0÷15] и ЕIP[0÷31]).

Для каждой команды возможны различные исключения, подробная информация о которых имеется в [1,4].

  1. Перечислите и охарактеризуйте этапы выполнения команды в ЭВМ?

  1. Выборка команды

1)поэтапное формирование адреса команды в ОП:

  • преобразование логического адреса команды CS:EIP в линейный с проверкой последнего на нарушение границ сегмента кода,

EIP – регистр счетчика команд, содержит адрес команды внутри сегмента кода,

CS – сегментный регистр, дескриптор которого однозначно определяет виртуальный адрес сегмента кода - CS.SDC.BA, его размер CS.SDC.LIMIT, тип и правила работы с сегментом CS.SDC.ATR (подробнее см. л.р.№6),

  • преобразование линейного адреса в физический с проверкой присутствия страницы в ОП (блок страничной переадресации использует заданный механизм страничной переадресации: базовый, или PSE, или PAE),

  • выставление физического адреса команды в ОП на ША,

2)цикл чтения команды:

  • считывание очередного байта команды из основной памяти,

  • побайтный анализ полей команды и либо передача байта операционной части команды в регистр команды (IR) центрального устройства управления (ЦУУ), либо передача байтов адресной части команды в адресный регистр (ADR) устройства управления памятью (УУП),

  • проверка необходимости дальнейшей выборки байтов команды,

3)модификация содержимого счетчика команд – регистра EIP, для выборки следующей команды.

  1. Выборка операндов (если операндов несколько, то нижеперечисленные действия повторяются несколько раз)

1)анализ местоположения операнда (согласно режиму адресации - постбайту mod r/m),

2)в зависимости от местонахождения операнда обращение либо в ОП, либо к регистру локальной памяти, либо к регистру ADR, считывание операнда и передача данных по ШД в регистр АЛУ.

2,а) операнд в ОП (процедура аналогична выборке команды):

  • преобразование логического адреса операнда DS:ИАД в линейный с проверкой последнего на нарушение границ сегмента данных,

DS-селектора из сегментного регистра данных и ИАД – исполнительный адрес данных вычисляемый согласно режиму адресации: (ИАД =Б+И×М+С) подробнее см. м.у. по к.р.

  • преобразование линейного адреса в физический с проверкой присутствия страницы в ОП.

  • выставление физического адреса операнда в ОП на ША,

  • передача операнда из ОП по ШД в регистр АЛУ,

2,б) операнд в РП:

  • выставление физического адреса операнда в РП на внутреннюю ША,

  • передача операнда из РП по внутренней ШД в регистр АЛУ,

2,в) операнд в команде:

  • передача операнда из адресной части команды – регистра ADR в регистр АЛУ,

  1. Выполнение операции

  • выполнение в АЛУ, регистрах и схемах сопряжения действий, задаваемых кодом операции из команды, находящейся в регистре команд IR.КОП. Каждая операция выполняется по определённому алгоритму, анализируются ограничения и возможность появления ошибок (см. исключения).

  • изменение состояния процессора и системы в целом (установка признаков и разрядов служебных и системных регистров, если требуется).

  1. Запись результатов

  • результат операции передается из регистра АЛУ в локальную или основную память по адресу, определяемому адресной частью команды или неявно заданному кодом операции (как правило, на место первого операнда).

  1. Обработки прерывания

  • выполнение действий в ответ на сигналы от внутренних и внешних источников, требующих немедленной реакции ЭВМ.

Далее процессор переходит к выборке и выполнению следующей команды.

Соседние файлы в папке 4семестр