Режим работы микропроцессора

Содержание

Слайд 2

Режимы работы МП

Режимы работы МП

Слайд 3

Режимы работы МП Начиная с процессора 80286+ МП способны работать в

Режимы работы МП

Начиная с процессора 80286+ МП способны работать в 2х

режимах:
-режим реальных адресов (реальный режим);
-режим защищенной памяти (защищённый режим).
Слайд 4

Режим реальных адресов

Режим реальных адресов

 

Слайд 5

Защищенный режим 1.Многозадачная обработка информации, т.е. можно запустить несколько программ одновременно.

Защищенный режим

1.Многозадачная обработка информации, т.е. можно запустить несколько программ одновременно.
2.защита памяти

с помощью 4х уровнего механизма привелегий (0 уровень-операционная система, 3 уровень-пользовательские программы)
3. доступна вся шина адреса процессора (объем памяти 2^40=4ТБ) 4.Размер сегмента- любой
память делится на страницы; стандартный объём страницы-4кб
Слайд 6

Сегментированная модель памяти

Сегментированная модель памяти

Слайд 7

 

Слайд 8

объём сегмента накладывается ограничения, т.е. объём сегмента фиксируется. Объём сегмента 64КБ

объём сегмента накладывается ограничения, т.е. объём сегмента фиксируется.
Объём сегмента 64КБ

разрядность адреса в сегменте 
m=Log2 64К
2m=64к
2m=2^6*2^10
m=16
Слайд 9

 

Слайд 10

Процессор выставляет на шину адреса ФА а в команде указывают относительный

Процессор выставляет на шину адреса ФА а в команде указывают относительный

адрес операнда
Относительный адрес имеет меньшую разрядность и хранится в команде вместо физического адреса.
Базовый адрес получают с помощью сегментных регистров
Слайд 11

Диспетчер памяти

Диспетчер памяти

Слайд 12

У программы может существовать 3 типа сегментов: 1. сегмент кода (программный

У программы может существовать 3 типа сегментов:
1. сегмент кода (программный сегмент).

Служит для хранения команд программы. За него отвечает сегментный регистр СS;
2. сегмент стека служит для хранения точек возврата из подпрограмм и значений некоторых переменных. Отвечает сегментный регистр SS.
3. сегмент данных для хранения значений переменных. Для возможности обработки больших объёмов данных программа может использовать до 4-х сегментов данных. Отвечают регистры DS, ES, FS, GS.
Значение сегментного регистра в реальном режиме работы процессора называют БАЗА, в защищённом режиме работы – СЕЛЕКТОР.
Слайд 13

Диспетчер памяти Предназначен для формирования физ. адреса байта памяти. Сегментированная модель

Диспетчер памяти

Предназначен для формирования физ. адреса  байта памяти. Сегментированная модель памяти

представляет собой набор блоков (сегментов)
Характеризуемых определенными атрибутами;
размер (объём) сегмента- зависит от режима работы; 
расположение сегмента опр. Базовыми адресами
тип сегмента;
-программный сегмент (сегмент кода) - сегмент данных -сегмент сткека -характеристика защиты (только защищенный режим)
Слайд 14

МП 80386+ содержит 6 16ти разрядных сегментных регистров. Сегментные регистры хранят

МП 80386+ содержит 6 16ти разрядных сегментных регистров. Сегментные регистры хранят

селекторы
по селектору диспетчер памяти определяет базовый адрес сегмента
Селектор – содержимое сегментного регистра
CS (code segment)-Сегментный регистр программного сегмента
DS (data segment)-Сегментный регистр сегмента данных ES (extended segment)-Сегментный регистр доп. сегмента данных
SS (stack segment)-Сегментный регистр сегмента, стеки GS и FS-Сегментные регистры доп сегментов данных
Слайд 15

Селектор в GS обеспечивает обращение к текущему программному сегменту Селектор в

Селектор в GS обеспечивает обращение к текущему программному сегменту
Селектор в SS

обеспечивает обращение к текущему сегменту стека
Селектор в DS RS FS GS обеспечивают обращение к текущим сегментам данных
Слайд 16

Слайд 17

При запуске программы управление получает специальная программа, ОС (функция)- загрузчик, который

При запуске программы управление получает специальная программа, ОС (функция)- загрузчик, который

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

MOV AX,AS MOV AX, ES:AS MOV AX, @ data загрузка селектора сегмента данных MOV DS,AX

MOV AX,AS
MOV AX, ES:AS
MOV AX, @ data загрузка селектора сегмента данных
MOV

DS,AX
Слайд 19

Формирование физического адреса в реальном режиме МП ФА=БА+offset в реальном режиме

Формирование физического адреса в реальном режиме МП

ФА=БА+offset
в реальном режиме селектор база База-старшие

16 разрядов базового адреса
База (селектор)  сдвигается в лево на 4 бита ( умножается на 16). Таким образом формируется 20 Ти разрядный базовый адрес сегмента который складывается с относительным адресом (смещением). Таким образом формируется 20Ти разрядный физический адрес.
Слайд 20

Слайд 21

Формирование физического адреса в защищенном режиме работы

Формирование физического адреса в защищенном режиме работы

Слайд 22

В защищённом режиме в ОП создается таблица дескрипторов всех программ, которые

В защищённом режиме в ОП создается таблица дескрипторов всех программ, которые

загруженные в ОП
Дескриптор состоит  из 3х частей. разрядность каждой части соответствует разрядности шины адреса МП.
дескриптор хранит объем сегмента, базовый адрес, атрибут защиты.
В защищенном режиме с каждым сегментным регистром.  связан программнонедоступный регистр дескриптора.
Слайд 23

По селектору находящемуся в определенном дескрипторе в табл. дескрипторов в ОП

По селектору находящемуся в определенном дескрипторе в табл. дескрипторов в ОП

и загружается в регистр дескриптора этого сегментного регистра. Базовый  адрес из регистра дескриптора складывается с относительным адресом, таким образом формируется физический адрес.
Если память делится на страницы, этот адрес называется линейным.
Слайд 24

Выбор сегментного регистра и относительного адреса

Выбор сегментного регистра и относительного адреса


Слайд 25

Логический адрес – селектор и относительный адрес Селектор : смещение (относительный

Логический адрес – селектор и относительный адрес
Селектор : смещение
(относительный

адрес)
0300h(база) : 0006h
Реальный режим работы
ФА = БА + ОА = 03000h : 0006h = 030006h
DS: 0005h
Слайд 26

Логический адрес команды CS:IP

Логический адрес команды
CS:IP

Слайд 27

Способы адресации операнда Операнды могут находиться в В РОНЕ В команде

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

Операнды могут находиться в
В РОНЕ
В команде (в поле

непосредственный операнд)
В памяти (ОП)
Слайд 28

Директива размещения и инициализации данных Имя DB(data bite) (начальное значение 1,

Директива размещения и инициализации данных

Имя DB(data bite) (начальное значение 1, начальное

значение 2, нах. значения)
Эта директива размещает в сегменте данных, данные разрядностью байт
AS DB 40
В ОП выделяется ячейка разрядностью байт, относительный адрес PS, в нее загружается число 40
Слайд 29

Слайд 30

AS DB 30,2,8

AS DB 30,2,8

Слайд 31

Команда пересылки MOV приемник, источник Содержимое источника копируется в приемник MOV

Команда пересылки

MOV приемник, источник
Содержимое источника копируется в приемник
MOV AL BL


MOV AL,BL; (BL) → (AL)
(Ph):=(Bh)
Слайд 32

До выполнения команды (AL) = 20 (BL) = 30 После выполнения

До выполнения команды
(AL) = 20
(BL) = 30
После выполнения команды
(AL) = 30
(BL)

= 30
Слайд 33

Загрузка относительного адреса LEA R, M MOV R, OFFSET M Относительный

Загрузка относительного адреса

LEA R, M
MOV R, OFFSET M
Относительный адрес ячейки памяти

М загружается в регистр R
LEA SI, AS+2; (SI): 0002h