- •Организация и функционирование вычислительных машин
- •Раздел 1. Основные понятия архитектуры и организации эвм. 3
- •Раздел 2. Организация процессора и основной памяти вм 7
- •Раздел 3. Организация памяти в эвм 35
- •Раздел 4. Организация системы ввода-вывода в эвм. 51
- •Раздел1.Основныепонятия архитектуры и организации эвм. Состав электронной вычислительной машины (эвм)
- •Принцип программного управления и машина фон Неймана
- •Понятие архитектуры, организации и реализации эвм
- •Многоуровневая организация эвм.
- •Понятие семантического разрыва между уровнями
- •Организация аппаратных средств эвм
- •Типовая структура вм на микропроцессорных наборах
- •Раздел 2. Организация процессора и основной памяти вм
- •Типовая структура процессора и основной памяти
- •Основной цикл работы процессора
- •Организация процессора и памяти в микропроцессоре Intel 8086
- •Организация стека процессора
- •Распределение оперативной памяти в i8086, ms dos
- •Организация выполняемых программ в ms dos
- •Режимы адресации памяти в микропроцессоре Intel 8086
- •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– уровень привилегий в дескрипторе (DescriptorPrivilegeLevel)
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смещение
1kx1kx4k= 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
CPLDPL(численно), через специальный дескриптор (вентиль вызова)
Ограничение набора команд.
Свободные команды (непривилегированны).
Привилегированные команды на уровне ядра.
Чувствительные команды, зависят от уровня привилегии, но могут выполняться в любом режиме супервизора (от 0 до 2). В основном это команды ввода-вывода.