Вторая лекция
Содержание:
В начале декабря зачетная задача - повышенной сложности
Нужно установить ubuntu второй осью либо через VM
Надо вспоминать Арх. ЭВМ
Процессоры Intel
- Незащищенный режим (real mode)
- Защищенный режим (protected mode)
- V86
- Big real mode
- 64-битный
- Режим совместимости
- SMM
- Отладочный
Адресация в real mode
Сегмент(16) X X X X 0
+ Смещение(16) Y Y Y Y
= Адрес (20) А А А А А
F F F F 0
F F F F
1 0 F F E F
-
Несколько представлений для одного физического адреса
- Gate A20
- High memory
- Shadow memory
Адресация в protected mode
Вспоминаем про Селекторы и смещение.
Селектор и Смещение - есть регистры
Селектор размещается в той же самой ячейке, что и сегменты в real mode
- TI (table indicator)
- RPL (Requested Privilege Level)
- Таблицы дескрипторов GDT и LDT
- GDTR (глобальная таблица дескрипторов), LDTR (локальная таблица дескрипторов), предел сегмента (последний адрес сегмента для проверки смещения)
GDTR и LDTR не используются сегодня
Paging и модель памяти Flat
- Память устройстви
- Динамический библиотеки
- ОС
- Память длпя роцессов, в т.ч. и ПП
| |X|...|X|Программа| |X|Стек| |X|
^
_start
↑
память устройств
↓
| |X|...|X|Программа|Стек|X| | |X|
----------------------------------
| |X|...|X|Программа| |X|Стек| |X|
Memory Managment Unit
- Память разбита на страницы(обычно 4кб но не обязательно)
- К каждой странице есть права доступа(как минимум - RWX)
- Страница может быть отображена в память нескольких процессов с разными виртуальными адресами (PIC)
- Страницы могут быть выгружены из памяти и подгружаться по мере необходимости(суммарная память запущенных процессов много больше объема физической памяти)
- У процесса остутствует физический доступ к страницам, не отображенным в его виртуальную память.
- Распределением памяти управляет ОС таким образом, что даже получив доступ в режиме ядра процесс может сделать не все и не всегда.
Кэш - память
Бит достоверности - Тег - Данные
-
Кэш промаха/попадания
- Мультипроцессорные системы
- Длина строки(с данными)
- Почему работать с кэш-памятью не всегда быстрее, чем с обычной
- Т.к. чтобы получить один байт данных, нужно выгрузить всю строку.
- Последовательный просмотр строк
- Многоходовая кэш-память
- Write Through(WT)
- Write Back(WB)
- Least Recently Used(LRU)
Классический конвейер команд
- Скалярная архитектура
- Суперскалярная архитектура
- Спекулятивное исполнение инструкций
Стек - LIFO
POP max
↑ ↑
SP → Вершина стека адрес
PUSH ↓ ↓
min
Как описать в программе:
.......
.fill 1024,8,0
SP.quad 0
.......