- •Основные понятия архитектуры и организации эвм. Состав электронной вычислительной машины (эвм)
- •Принцип программного управления и машина фон Неймана
- •Понятие архитектуры, организации и реализации эвм
- •Методы организации эвм Многоуровневая организация эвм.
- •Понятие семантического разрыва между уровнями
- •Способы организация аппаратных средств эвм
- •1) Эвм с непосредственными связями
- •2) Эвм с канальной организацией
- •3)Шинная организация
- •4)Организация с общей шиной (Unibus)
- •Типовая структура вм на микропроцессорных наборах
- •Раздел 2. Организация процессора и основной памяти вм
- •Типовая структура процессора и основной памяти
- •Основной цикл работы процессора
- •Организация процессора и памяти в микропроцессоре Intel 8086
- •Организация стека процессора
- •Распределение оперативной памяти в i8086, ms dos
- •Организация выполняемых программ в ms dos
- •Режимы адресации памяти в микропроцессоре Intel 8086
- •1. Регистровая адресация
- •2. Непосредственная адресация
- •3. Прямая адресация
- •4. Косвенная адресация
- •5. Адресация по базе
- •6. Косвенная адресация с масштабированием
- •7. Адресация по базе с индексированием и масштабированием
- •Система команд i8086
- •3DNow! от amd
- •Организация прерываний в процессоре Intel 80x86
- •Управление выполнением команд в эвм.
- •Способы формирования управляющих сигналов.
- •Способы кодирования микрокоманд.
- •Компьютеры с сокращенным набором команд.
- •Арифметические особенности risc процессоров.
- •Раздел 3. Организация памяти в эвм
- •Основные среды хранения информации.
- •Виды запоминающих устройств.
- •Память с произвольной выборкой.
- •Постоянные запоминающие устройства.
- •Ассоциативные запоминающие устройства (азу)
- •Иерархическая система памяти
- •Организация памяти типа кэш.
- •Организация структуры основной памяти в процессорах ix86.
- •Организация виртуальной памяти.
- •Организация виртуальной памяти на i386 и более старших моделях.
- •Организация работы с внешней памятью.
- •Организация работы с файлами на дисках в ms-dos.
- •Раздел 4. Организация системы ввода-вывода в эвм.
- •Архитектура систем ввода-вывода.
- •Способы выполнения операции передачи данных
- •Структуры контроллеров внешних устройств, для управления различными режимами передачи данных.
- •Программные средства управления вводом-выводом.
- •Основные компоненты процедуры управления ввода-вывода общего вида
- •Состав и реализация устанавливаемого драйвера символьного типа
- •Краткое введение в язык ассемблера.
- •1. Директивы задания данных
- •2. Директивы сегментации программы
- •3. Директивы группирования.
- •4. Порядок размещения сегментов.
- •5. Директивы ограничения используемых команд.
Организация виртуальной памяти на i386 и более старших моделях.
Эти процессоры могут работать в трех режимах:
Реальный режим (более быстрый особенно с 32 битными данными). Память до 4Гб.
Защищенный режим использует виртуальную организацию памяти, многозадачный режим, развитая система защиты памяти (программ и данных).
Реализация виртуальной машины i8086 при котором процессор реализовывает программы написанные для процессора i8086.
В защищенном режиме размер виртуальной памяти C ВАП =246 б. = 64Тб.
(Это возможно благодаря разбиению ВАП на 16К сегментов, максимальный размер которого = 4Гб. )
При организации памяти используется три вида адресов.
ЛА ВАП
ФА ФАП
Линейный адрес – представляет собой объединение базового адреса смещения и смещения в пределах сегмента.
Любой регистр смещения состоит из двух частей: программно-доступной и скрытой
доступная скрытая
15 0 63 0
CS БАС граница атрибуты -
DS
GS
селектор RS индекс TI RPL
15 3 2 1 0
БАС – базовый адрес сегмента.
Индекс задает смещение таблицы, строки с описанием данного сегмента.
Содержание селекторов сегментов формируется операционной системой при загрузке задачи
Структура дескриптора сегмента.
31 24 19 16 15 14 13 12 11 9 8 7 0
База G D 0 AVL Граница P DPL S тип А База
База Сег [0-15] Граница Сег [0-15]
20 бит граница сегмента определяет его длину.
Длина сегмента зависит от бита дробности (G) либо в байтах, либо в страницах.
0, байт
G
1, страница (С = 4Кб.) 220 * 215 = 232 (4Гб.)
Остальные поля атрибуты.
D - задает тип данных в сегментах (Data)
= 0 – 16 битные данные
= 1 – 32 битные данные
AVL – бит предоставляемый в распоряжение пользователя (available)
P – бит присутствия
0 – на диске
1 – в оперативной памяти
DPL – уровень привилегий в дескрипторе (Descriptor Privilege Level)
RPL или CPL должен быть > DPL - логическое соответствие (если о числах, то знак меньше)
CPL – текущий уровень привилегий соответствует дескриптору сегмента выполняемый в данный момент программой
S – User / Supervisor
Тип – говорит, является ли сегмент программой или данным
Биты
|
11 |
10 |
9 |
Данные |
1 |
E |
W |
Код |
0 |
C |
R |
С – признак согласования сегментов (уровень привилегий с которыми обращается к данному сегменту, равно данному сегменту (можно не обращать внимания), более высоких типах процессоров от Intel он существует только для поддержки)
R – только чтение
W – только запись
E – бит расширения при загрузке сегмента (прямое - при увеличение адреса, обратное при уменьшение адреса)
А – бит обращения к сегменту, устанавливается при каждом обращении к сегменту и через некоторое время сбрасывает операционную систему (применимо при виртуальной памяти).
Алгоритм преобразования виртуального адреса в физический адрес
база
+ смещение
+ * индекс
Коэф масштабирования
(1 , 2 , 4 , 8)
ЛА селектор ЛА смещ.
сегм. трансляция
лин. А.
0
PG&PE
1
DIR PAGE offset
стран. трансл.
ФА
Структура выполнения сегментной трансляции.
I этап
Сегментная трансляция – это преобразование логического адреса (селектор сегмента и смещения). На основании селектора происходит выборка из локальной или глобальной таблицы и переписывать его в скрытую часть сегментного регистра.
Линейный адрес = базовый сегмент + смещение.
II этап
Страничная трансляция.
CR – регистр управления
(CR0. PG)&(CR0. PE) = 1 - признак страничной трансляции.
TLB – буфер страничной трансляции (по сути это кэш, нужен он для ускорения)
1к каталог
1k страниц
4k смещение
1k x 1k x 4k= 4Gb
Таблица страниц
31 12 |
11 |
10 7 |
6 |
5 |
4 3 |
2 |
1 |
0 |
Адр. стр. кадра |
AVL |
0 |
D |
A |
0 |
U/S |
R/W |
P |
Защита памяти в i80386
Только приCR0.PE =1(защищенный режим). Защита может осуществляться на уровне страниц и на уровне сегментов.
Защита на уровне сегментов и на уровне страниц обеспечивается либо атрибутом дескриптора сегмента, либо строкой страницы таблицы, так же и влияет соотношение уровней привилегий.
RPL – запрашиваемый уровень (при помещение селектора в сегментный регистр)
DPL – уровень привилегий дескриптора, фиксируется при первом обращение к данным дескриптора. Минимальный уровень, при котором данный деструктор доступен.
CPL – текущий уровень привилегий, которые соответствуют кодовому сегменту программы.
На уровне сегментов:
Контроль типа не зависит от уровня привилегий, определяется деструктором
Контроль границ
Ограничение адресной области памяти.
Ограничение точек входа в процедуру. Зависит от RPL, DPL, CPL
Ограничение набора команд.
Уровень страниц:
Контроль типа.
Ограничение адресной области памяти.
Контроль типов:
На этапе загрузки селектора в регистр сегмента (проверка типа сегмента для которого осуществляется загрузка селектора)
На этапе обращения к сегменту.
Пример: В CS может быть загружен только программный дескриптор; в DS не может быть загружен селектор дескриптора, который не доступен для чтения.
При обращении:
Нельзя называть в кодовый сегмент.
Нельзя писать в сегменте данных, если бит записи равен нулю.
Нельзя читать кодовый сегмент, если бит равен нулю.
Контроль на уровне страниц: Зависит от U/S и R/W.
Контроль границ: Предотвращает выход за пределы сегмента.
Ограничение адресной области памяти.
{RPL, CPL} DPL
CPL = DPL
CPL DPL (численно), через спец дескриптор (вентиль вызова)
Ограничение набора команд.
Свободные команды (непривилегированны).
Привилегированные команды на уровне ядра.
Чувствительные команды, зависят от уровня привилегии, но могут выполняться в любом режиме супервизора (от 0 до 2). В основном это команды ввода-вывода.