Адресация. Режимы работы процессора. Управление памятью

Содержание

Слайд 2

4096tb@gmail.com Тема письма: БГУИР. … . Ковалевский Вячеслав Викторович

4096tb@gmail.com Тема письма: БГУИР. … .

Ковалевский Вячеслав Викторович

Слайд 3

Лекция 5. Структура процессора. Архитектуры CISC и RISC. Архитектура процессора Intel

Лекция 5. Структура процессора. Архитектуры CISC и RISC. Архитектура процессора Intel

.

План лекции:
Структура процессора. Шинная организация.
Архитектуры CISC и RISC. Архитектура IA-32. Регистры процессора.
Формат команды. Классификация команд. Особенности состава команд Intel.
Взаимодействие с памятью и вводом-выводом. Цикл шины. Ввод-вывод: программный, по прерываниям и ПДП.

Экзаменационные вопросы:
Буферные элементы. Шинная организация современного компьютера.
Понятие архитектуры компьютера. Структура компьютера. Понятие о CISC и RISC.
Регистры общего назначения и их особенности у Intel.
Команда. Формат команды. Классификация команд. Особенности состава команд Intel.

Слайд 4

Лекция 6. Адресация. Режимы работы процессора. Управление памятью. План лекции: Адресация

Лекция 6. Адресация. Режимы работы процессора. Управление памятью.

План лекции:
Адресация памяти. Непосредственная,

прямая и косвенная адресация. Автоинкрементная и автодекрементная адресация. Строковые команды. Стек.
Режимы работы процессора Intel.
Сегментная и страничная организация доступа к памяти. Сегментация памяти в реальном режиме. Дескрипторы сегментов. Дескрипторные таблицы.
Шлюзы. Виртуальная память. Подкачка страниц. Размеры страниц и расширение адреса.

Экзаменационные вопросы:
Адресация памяти и ввода-вывода. Циклы обмена между процессором и памятью.
Абсолютная, прямая и косвенная адресация. Автоинкрементная и автодекрементная адресация.
Стек. Работа стека и его использование. Ввод-вывод: программный, по прерываниям и ПДП.
Режимы работы процессора Intel. RM, VM, PM, SMM.
Сегментная и страничная организация доступа к памяти. Сегментация памяти в реальном режиме. Страничная организация – реализация виртуальной памяти.
Управление сегментами в защищенном режиме. Дескрипторные таблицы. Дескрипторы сегментов.

Слайд 5

Общие сведения о микропроцессорах

Общие сведения о микропроцессорах

Слайд 6

Классификация микропроцессоров

Классификация микропроцессоров

Слайд 7

Тактовая частота обработки информации Тактом называют время между началом подачи двух

Тактовая частота обработки информации Тактом называют время между началом подачи двух

последовательных импульсов электрического тока, синхронизирующих работу различных устройств компьютера. Специальные импульсы для отсчета времени для всех устройств вырабатывает тактовый генератор частоты, расположенный на системной плате.
Разрядность процессора Разрядность процессора - это число битов, обрабатываемых процессором одновременно. Процессор может быть 8-, 16-, 32- и 64-разрядным.
Адресное пространство (адресация памяти) Объем физически адресуемой МП оперативной памяти называется его адресным пространством. Он определяется разрядностью внешней шины адреса. Поэтому разрядность процессора часто уточняют записывая, например, 32/32, это значит МП имеет 32х разрядную шину данных и 32х разрядную шину адреса, т.е. одновременно обрабатывается 32 бита информации, а объём адресного пространства МП составляет 4 Гбайта.
Слайд 8

Типы процессоров

Типы процессоров

Слайд 9

Типы процессоров * Pentium II/III Xeon выпускаются с L2 кэшем до

Типы процессоров

* Pentium II/III Xeon выпускаются с L2 кэшем до

2M. У Pentium 4: вместо кэша команд - кэш микроопераций
** SMM - процессор поддерживает режим системного управления
FPU - процессор содержит встроенный блок вещественной арифметики
MMX - процессор поддерживает команды параллельной обработки пакетов целочисленных данных
SSE - процессор поддерживает команды параллельной обработки пакетов вещественных данных
SSE2 - процессор поддерживает дополнительный набор команд SSE
Слайд 10

Структура процессора

Структура процессора

Слайд 11

Структура процессора

Структура процессора

Слайд 12

Структура процессора Intel 4004

Структура процессора Intel 4004

Слайд 13

АРХИТЕКТУРА ПРОЦЕССОРА INTEL 8086 Микропроцессор Intel 8086 приспособлен для работы с

АРХИТЕКТУРА ПРОЦЕССОРА INTEL 8086

Микропроцессор Intel 8086 приспособлен для работы с несколькими

процессорами в одной системе, причем возможно использование как независимых процессоров, так и сопроцессоров
Внешние шины адреса и данных в 8086 объединены, и поэтому наличие на шине в данный момент времени информации или адреса определяется порядковым номером такта внутри цикла. Процессор ориентирован на параллельное выполнение команды и выборки следующей команды
Микропроцессор i8086 состоит из трех основных частей: устройства сопряжения шины, устройства обработки и устройства управления и синхронизации
Устройство сопряжения шины состоит из шести 8-разрядных регистров очереди команд, четырех 16-разрядных регистров адреса команды, 16-разрядного регистра команды и 16-разрядного сумматора адреса.
Слайд 14

Структура процессора Intel 8086

Структура процессора Intel 8086

Слайд 15

ПРОГРАММНАЯ МОДЕЛЬ ПРОЦЕССОРА 8086 Программная модель процессора - это функциональная модель,

ПРОГРАММНАЯ МОДЕЛЬ ПРОЦЕССОРА 8086

Программная модель процессора - это функциональная модель, используемая программистом

при разработке программ в кодах ЭВМ или на языке ассемблера. В такой модели игнорируются многие аппаратные особенности в работе процессора. В процессоре 8086 имеется несколько быстрых элементов памяти, которые называются регистрами. Каждый из регистров имеет уникальную природу и предоставляет определенные возможности, которые другими регистрами или ячейками памяти не поддерживаются.
Регистры разбиваются на четыре категории: регистры общего назначения, регистр флагов, указатель команд и сегментные регистры. Все регистры 16-разрядные.
Слайд 16

Регистры i8086 (все 16-ти разрядные ) Регистры общего назначения (AX,BX,CX,DX) Сегментные

Регистры i8086 (все 16-ти разрядные )

Регистры общего назначения (AX,BX,CX,DX)
Сегментные регистры:
CS –

для кодового сегмента
DS – регистр дополнительного сегмента
SS – сегментный регистр сегмента стека
IP – указатель на инструкцию
Регистры указатели и индексные регистры:
SP – Stek pointer
BP – Base pointer
DI – destination index
SI – source index
Флаговый регистр
Слайд 17

Регистры i8086 Регистры общего назначения Восемь регистров общего назначения процессора 8086

Регистры i8086

Регистры общего назначения Восемь регистров общего назначения процессора 8086 (каждый разрядностью

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

Регистр AX всегда используется в операциях умножения или деления и является

Регистр AX всегда используется в операциях умножения или деления и является

также одним из тех регистров, который можно использовать для наиболее эффективных операций (арифметических, логических или операций перемещения данных).
Регистр BX может использоваться для ссылки на ячейку памяти (указатель), т.е. 16-битовое значение, записанное в BX, может использоваться в качестве части адреса ячейки памяти, к которой производится обращение.
Регистр CX – используется в качестве счетчика при выполнении циклов.
Регистр DX - это единственный регистр, которые может использоваться в качестве указателя адреса ввода-вывода в командах IN и OUT.
Слайд 19

Регистр SI может использоваться, как указатель на ячейку памяти. Регистр DI

Регистр SI может использоваться, как указатель на ячейку памяти.
Регистр DI его

можно использовать в качестве указателя ячейки памяти.
При использовании его в строковых командах регистр DI несколько отличается от регистра SI. В то время как SI всегда используется в строковых командах, как указатель на исходную ячейку памяти (источник), DI всегда служит указателем на целевую ячейку памяти (приемник).
Регистр SP называется также указателем стека. Стек - это область памяти, в которой можно
Слайд 20

Сегментные регистры. Основной предпосылкой сегментации является следующее: процессор 8086 может адресоваться

Сегментные регистры. Основной предпосылкой сегментации является следующее: процессор 8086 может адресоваться

к 1 мегабайту памяти. Для адресации ко всем ячейкам адресного пространства в 1 мегабайт необходимы 20-разрядные сегментные регистры. Однако процессор 8086 использует только 16-разрядные указатели на ячейки памяти. Процессор 8086 использует двухступенчатую схему адресации. Каждый 16-разрядный указатель памяти или смещение комбинируется с содержимым 16-разрядного сегментного регистра для формирования 20-разрядного адреса памяти.
Аналогично регистрам общего назначения каждый сегментный регистр играет свою, конкретную роль. Регистр CS указывает на код программы, DS указывает на данные, SS - на стек. Сегментный регистр ES - это дополнительный сегмент, который может использоваться так, как это необходимо.
Слайд 21

Формат регистра флагов Intel 8086 OF - флаг переполнения; DF -

Формат регистра флагов Intel 8086

OF - флаг переполнения; DF - флаг направления; IF

- флаг прерывания; TF - флаг трассировки; SF - флаг знака; ZF - флаг нуля; AF - флаг дополнительного переноса; PF - флаг четности; CF - флаг переноса; ** - бит не используется, состояние не определено
Слайд 22

Сегментные регистры i8086

Сегментные регистры i8086

Слайд 23

Формат регистра команд Intel 8086 Указатель команд (регистр IP) всегда содержит

Формат регистра команд Intel 8086

Указатель команд (регистр IP) всегда содержит смещение

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

Структура процессора i386

Структура процессора i386

Слайд 25

Регистры процессора i386

Регистры процессора i386

Слайд 26

Структура процессора Intel 80486

Структура процессора Intel 80486

Слайд 27

Структура процессора Intel 80486

Структура процессора Intel 80486

Слайд 28

Регистр признаков IA-32 (PSW) Cлово состояния процессора (ССП) англ. PSW — Processor Status Word

Регистр признаков IA-32 (PSW)

Cлово состояния процессора (ССП)
англ. PSW — Processor Status Word

Слайд 29

Структура регистров процессора IA-32 с плавающей точкой

Структура регистров процессора IA-32 с плавающей точкой

Слайд 30

Типы чисел 32-разрядного микропроцессора

Типы чисел 32-разрядного микропроцессора

Слайд 31

IA-32 Read Address Mode (RM)– режим реального адреса. Однозадачность, отсутствие защиты

IA-32

Read Address Mode (RM)– режим реального адреса. Однозадачность, отсутствие защиты и

страничной организации, полностью совместимый с 8086, позволяющий адресовать до 1Мб физической памяти.
Protected mode – защищенный режим. Многозадачность. Механизм защиты на уровне сегментов. Поддержка подкачки страниц (paging).
Protected Virtual Address Mode (VM)– защищенный режим виртуальной адресации, позволяет для процессов 8086 адресовать до 4 Гбайт физической памяти, через которые при использовании механизма страничной адресации могут отображаться до 64 Тбайт виртуальной памяти для каждой задачи.
System Management Mode (SMM) - режим управления системой. Инициируется аппаратно. Используется для реализации системы управления энергосбережением.
Слайд 32

Схема получения физического адреса в RM

Схема получения физического адреса в RM

Слайд 33

Структура регистров системных адресов и системных сегментов (PM)

Структура регистров системных адресов и системных сегментов (PM)

Слайд 34

Структура селектора

Структура селектора

Слайд 35

Структура дескриптора сегмента

Структура дескриптора сегмента

Слайд 36

Формат дескриптора сегмента в МП

Формат дескриптора сегмента в МП

Слайд 37

Размер сегмента в дескрипторе

Размер сегмента в дескрипторе

Слайд 38

Формирование типа физического адреса при сегментно-страничной организации памяти 1000 — сегмент

Формирование типа физического адреса при сегментно-страничной организации памяти

1000 — сегмент данных,

только считывание 1001 — сегмент данных, считывание и запись 1010 — сегмент стека, только считывание 1011 — сегмент стека, считывание и запись 1100 — сегмент кода, только выполнение 1101- сегмент кода, считывание и выполнение 1110 — подчиненный сегмент кода, только выполнение 1111 — подчиненный сегмент кода, только выполнение и считывание
Слайд 39

Формат команды микропроцессора IA-32

Формат команды микропроцессора IA-32

Слайд 40

ФОРМАТ КОМАНД МП 8086 Форматом команды называется распределение разрядов кода команды

ФОРМАТ КОМАНД МП 8086

Форматом команды называется распределение разрядов кода команды на

группы. Число таких групп и их назначение зависит от типа микропроцессора. При любом формате команды обязательно наличие группы разрядов, называемой операционной частью команды или кодом операции (КОП).
Язык программирования наиболее полно учитывающий особенности "родного" микропроцессора и содержащий мнемонические обозначения машинных команд называется Ассемблером.
Текст программы на Ассемблере содержит:
а) команды или инструкции,
б) директивы или псевдооператоры,
в) операторы,
г) предопределенные имена
Слайд 41

ФОРМАТ КОМАНД МП 8086 Действия обусловленные операциями перечисленными в пп. б),в),г)

ФОРМАТ КОМАНД МП 8086

Действия обусловленные операциями перечисленными в пп. б),в),г) предыдущего

слайда выполняются на этапе трансляции, т.е. являются командами Ассемблеру. Операции, называемые командами или инструкциями выполняются во время выполнения программы, т.е. являются командами микропроцессору.
 Инструкция Ассемблера записывается на отдельной строке и включает до четырех полей, необязательные из которых выделены [ ]:
Метка или символический адрес содержит до 31 символа из букв цифр и знаков ? @ . _ $. Причем цифра не должна стоять первой, а точка, если есть должна быть первой.
Мнемоника – сокращенное обозначение кода операции (КОП) команды, например мнемоника ADD обозначает сложение (addition).
Операндами могут быть явно или неявно задаваемые двоичные наборы, над которыми производятся операции
Слайд 42

ФОРМАТ КОМАНД МП 8086

ФОРМАТ КОМАНД МП 8086

Слайд 43

Основные типы данных микропроцессора

Основные типы данных микропроцессора

Слайд 44

Формат команды микропроцессора IA-32 Инструкция микропроцессора может содержать следующие поля: префикс

Формат команды микропроцессора IA-32
Инструкция микропроцессора может содержать следующие поля:
префикс КОП Mod

R/M SIB Смещение Непосредств. Операнд
0/1 байт 1/2 байта 0/1 байт 0/1 байт 0/1/2/4 байта 0/1/2/4 байта
Слайд 45

Формат команды 32-разрядного микропроцессора

Формат команды 32-разрядного микропроцессора

Слайд 46

Формат команды 32-разрядного микропроцессора

Формат команды 32-разрядного микропроцессора

Слайд 47

Формат команды 32-разрядного микропроцессора Формат постбайта Формат SIB-байта

Формат команды 32-разрядного микропроцессора

Формат постбайта

Формат SIB-байта

Слайд 48

Смещение в сегменте (ЕА) Смещение в сегменте (эффективный или исполнительный адрес

Смещение в сегменте (ЕА)

Смещение в сегменте (эффективный или исполнительный адрес -

ЕА) может быть вычислено на основе значений регистров общего назначения и/или указанного в коде инструкции относительного смещения, при этом любой или даже несколько из указанных компонентов могут отсутствовать:
ЕА = BASE + (INDEX*SCALE) + DISPLACEMENT
Такая схема позволяет в языках высокого уровня и на языке Ассемблера легко реализовать работу с массивами.
Слайд 49

Методы адресации

Методы адресации

Слайд 50

Режимы адресации

Режимы адресации

Слайд 51

Адресация по Intel Непосредственная Прямая Регистровая (прямая) Косвенные: Индексная Базовая Базово-индексная

Адресация по Intel

Непосредственная
Прямая
Регистровая (прямая)
Косвенные:

Индексная
Базовая
Базово-индексная

Индексная со смещением
Базовая со смещением
Базово-индексная со смещением
Слайд 52

Непосредственная адресация

Непосредственная адресация

Слайд 53

Прямая адресация

Прямая адресация

Слайд 54

Регистровая адресация

Регистровая адресация

Слайд 55

Косвенная адресация

Косвенная адресация

Слайд 56

Сегментная адресация памяти

Сегментная адресация памяти

Слайд 57

Описание сегментов в таблицах дескрипторов Формат селектора

Описание сегментов в таблицах дескрипторов

Формат селектора

Слайд 58

Формирование физического адреса при сегментно-страничной организации памяти

Формирование физического адреса при сегментно-страничной организации памяти

Слайд 59

Формирование физического адреса при сегментно-страничной организации (Часть 1) памяти

Формирование физического адреса при сегментно-страничной организации (Часть 1) памяти

Слайд 60

Формирование физического адреса при сегментно-страничной организации (Часть 2) памяти

Формирование физического адреса при сегментно-страничной организации (Часть 2) памяти

Слайд 61

Получение дескриптора, находящегося в глобальной таблице дескрипторов GDT Формат селектора

Получение дескриптора, находящегося в глобальной таблице дескрипторов GDT

Формат селектора

Слайд 62

Получение дескриптора, находящегося в локальной таблице дескрипторов LDT Формат селектора

Получение дескриптора, находящегося в локальной таблице дескрипторов LDT

Формат селектора

Слайд 63

получения адреса операнда на примере команды MOV EAX, [ECX+ESI+20h] селектор по

получения адреса операнда на примере команды

MOV EAX, [ECX+ESI+20h]

селектор  по умолчанию находится в сегментном регистре DS

Пусть (DS)

= 0000 0000 0001 10XX

1) Образовать эффективный адрес (вычислить смещение в сегменте):

EA = (ECX)+(ESI)+20h

2) Выбрать 3-й дескриптор ( Index = 3 ) из GDT (TI = 0)

Для этого:

a) считать базовый адрес глобальной таблицы дескрипторов (

 ) из GDTR

b) вычислить 

c) обратиться по полученному адресу в память и считать нужный дескриптор

3) Получить линейный адрес:

, где

-базовый адрес

сегмента из считанного дескриптора с номером 3

4) Так как при сегментной организации адресного пространства линейный адрес равен физическому, следует обратиться к памяти по сформированному адресу и передать двойное слово в EAX

При TI = 1 потребовалось бы еще одно обращение к памяти для счтывания дескриптора LDT из GDT

Слайд 64

Виртуальная адресация памяти

Виртуальная адресация памяти

Слайд 65

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

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

Слайд 66

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

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

Пусть компьютер использует адресное пространство, предполагающее разбиение на страницы объемом: 
Vстр = 1i
и

имеет оперативную память в страницах:
 VОЗУ = 3
Пусть на компьютере одновременно выполняются четыре программы, имеющие следующее количество страниц: 
VA = 2, VB = 1, VC = 3, VD = 2.
Переключение между программами происходит через время кванта 
tk = 1. 
Время выполнения каждой страницы любой программы составляет 
t = 3tk.
Полагаем, что страницы программ загружаются в оперативную память по мере необходимости и по возможности в свободные области ОЗУ.
Если вся память занята, то новая страница замещает ту, к которой дольше всего не было обращений.
Слайд 67

Пример страничного распределения памяти в мультипрограммной ЭВМ

Пример страничного распределения памяти в мультипрограммной ЭВМ

Слайд 68

Страничное преобразование линейного адреса в физический

Страничное преобразование линейного адреса в физический

Слайд 69

Структура элементов каталога таблиц страниц и таблицы страниц

Структура элементов каталога таблиц страниц и таблицы страниц

Слайд 70

Допустимые действия со страницами на различных уровнях привилегий

Допустимые действия со страницами на различных уровнях привилегий

Слайд 71

Структура буфера TLB ассоциативной трансляции страничного адреса

Структура буфера TLB ассоциативной трансляции страничного адреса

Слайд 72

Формат строки модуля основной памяти TLB

Формат строки модуля основной памяти TLB

Слайд 73

Порядок изменения бит в строке LRU

Порядок изменения бит в строке LRU

Слайд 74

Порядок замены строк в блоке TLB

Порядок замены строк в блоке TLB

Слайд 75

Механизмы защиты памяти

Механизмы защиты памяти

Слайд 76

"Кольца защиты"

"Кольца защиты"

Слайд 77

Порядок взаимодействия программ и данных на разных уровнях привилегий

Порядок взаимодействия программ и данных на разных уровнях привилегий

Слайд 78

Формат шлюза вызова

Формат шлюза вызова

Слайд 79

Использование шлюза вызова для обращения к программам на более высоком уровне привилегий

Использование шлюза вызова для обращения к программам на более высоком уровне

привилегий
Слайд 80

Последовательное обращение к более привилегированным программам

Последовательное обращение к более привилегированным программам

Слайд 81

Литература: 1. https://www.dropbox.com/s/gmebqjp8sc3jbfj/Arkhitektura_kompyutera_6-e_izdanie.djvu?dl=0 2. https://www.dropbox.com/s/7sescv0sx9nggqj/Lit.Lec.6.docx?dl=0

Литература:
1.
https://www.dropbox.com/s/gmebqjp8sc3jbfj/Arkhitektura_kompyutera_6-e_izdanie.djvu?dl=0
2.
https://www.dropbox.com/s/7sescv0sx9nggqj/Lit.Lec.6.docx?dl=0