- •1.Процессор
- •1.1. Арифметико-логическое устройство
- •1.2. Устройство управления
- •1.3. Основные принципы работы современных процессоров
- •1.4. Регистры процессора
- •1.4.1. Регистры общего назначения
- •1.4.2.Указатель команд
- •1.4.3. Сегментные регистры
- •1.4.4. Регистр состояния микропроцессора Intel 8086
- •1.4.5. Управляющие регистры
- •1.4.6. Прочие регистры
- •1.5. Представление команд в эвм
- •1.6. Основные стадии выполнения команд
- •2. СисТемная шина
- •2.1. Шины
- •2.2. Шина данных. Разрядность шины
- •2.3. Адресная шина. Разрядность шины
- •2.4. Шина управления
- •2.5. Цикл шины
- •2.6. Системные и локальные шины
- •2.7. Стандарты шин
- •3. Многоуровневая организация памяти
- •3.1. Регистровая память
- •3.2. Буферная память
- •3.2.1. Кэширование памяти
- •3.2.2. Принципы кэширования
- •3.2.3. Кэш прямого отображения
- •3.2.4. Наборно-ассоциативный кэш
- •3.2.5. Ассоциативный кэш
- •3.3. Оперативная память
- •3.3.1. Логическое распределение оперативной памяти
- •3.3.2. Стандартная оперативная память
- •3.4.Страничная и сегментная организация памяти. Виртуальная память
- •3.4.1. Режимы процессора
- •3.4.2. Организация памяти
- •3.4.3. Концепция виртуальной памяти
- •3.4.4. Страничная организация памяти
- •3.4.5. Сегментация памяти
- •3.4.6. Механизм замены (своппирования) страниц
- •3.5. Защита информации и памяти
- •3.6. Внешняя память
- •3.6.1. Классификация накопителей
- •3.6.2. Логическая структура дисков
- •3.6.3. Флоппи-диски
- •3.6.4. Сменные диски
- •3.6.5. Стриммер
- •3.6.6. Магнитооптические накопители
- •3.6.7.Накопители на гибких магнитных дисках Бернулли
- •3.6.8. Накопители на гибких магнитных дисках Zip
- •4. Система ввода-вывода
- •4.1.Принципы организации обменов данными
- •4.1.1. Структура с одним общим интерфейсом
- •4.1.2. Структура с каналами ввода-вывода
- •4.1.3. Основные параметры интерфейсов
- •4.1.4. Параллельная и последовательная передача данных
- •4.1.5. Методы передачи информации между устройствами эвм
- •4.2. Индивидуальные каналы
- •4.2.1. Основные типы каналов ввода-вывода
- •4.3. Ввод-вывод с отображением на память
- •4.4. Порты ввода-вывода
- •4.4.1. Параллельный порт
- •4.4.2. Последовательный порт
- •Адреса и прерывания последовательных портов
- •4.4.3. Развитие параллельного и последовательного интерфейсов
- •5. Организация прерываний
- •5.1 Механизм прерываний
- •5.1.1. Назначение системы прерываний
- •5.1.2. Порядок обработки прерывания
- •5.1.3. Характеристики системы прерывания
- •5.1.4. Приоритетное обслуживание запросов прерывания
- •5.1.5. Программное управление приоритетом
- •5.2. Организация системы прерываний микропроцессора х86
- •5.2.1. Аппаратные прерывания. Контроллер прерываний
- •5.2.2. Особенности обработки аппаратных прерываний
- •5.2.3. Внутренние прерывания
- •5.2.4. Таблица векторов прерываний
- •5.2.5. Процедуры прерываний
- •1. Пример выполнения упражнения тренинга на умение № 1
- •2. Пример выполнения упражнения тренинга на умение № 2
- •3.Пример выполнения упражнения тренинга на умение № 3
- •4. Пример выполнения упражнения тренинга на умение № 4
- •5. Пример выполнения упражнения тренинга на умение № 5
- •6. Пример выполнения упражнения тренинга на умение № 6
3.4.5. Сегментация памяти
Другой подход к организации памяти опирается на тот факт, что программы обычно разделяются на отдельные области-сегменты. Каждый сегмент представляет собой отдельную логическую единицу информации, содержащую совокупность данных или программ и расположенную в адресном пространстве пользователя. Сегменты создаются пользователями, которые могут обращаться к ним по символическому имени. В каждом сегменте устанавливается своя собственная нумерация слов, начиная с нуля.
Обычно в подобных системах обмен информацией между приложениями строится на базе сегментов. Поэтому сегменты являются отдельными логическими единицами информации, которые необходимо защищать, и именно на этом уровне вводятся различные режимы доступа к сегментам. Можно выделить два основных типа сегментов: программные сегменты и сегменты данных (сегменты стека являются частным случаем сегментов данных). Поскольку общие программы должны обладать свойством повторной входимости, то из программных сегментов допускается только выборка команд и чтение констант. Запись в программные сегменты может рассматриваться как незаконная и запрещаться системой. Выборка команд из сегментов данных также может считаться незаконной и любой сегмент данных может быть защищен от обращений по записи или по чтению.
В системах с сегментацией памяти каждое слово в адресном пространстве пользователя определяется виртуальным адресом, состоящим из двух частей: старшие разряды адреса рассматриваются как номер сегмента, а младшие - как номер слова внутри сегмента. Наряду с сегментацией может также использоваться страничная организация памяти. В этом случае виртуальный адрес слова состоит из трех частей: старшие разряды адреса определяют номер сегмента, средние - номер страницы внутри сегмента, а младшие - номер слова внутри страницы.
Как и в случае страничной организации, необходимо обеспечить преобразование виртуального адреса в реальный физический адрес основной памяти. С этой целью для каждого пользователя операционная система должна сформировать таблицу дескрипторов. Каждый элемент таблицы дескрипторов содержит описатель (дескриптор) сегмента (поля базы, границы и индикаторов режима доступа). При отсутствии страничной организации поле базы определяет адрес начала сегмента в основной памяти, а граница - длину сегмента. При наличии страничной организации поле базы определяет адрес начала таблицы страниц данного сегмента, а граница - число страниц в сегменте. Поле индикаторов режима доступа представляет собой некоторую комбинацию признаков блокировки чтения, записи и выполнения.
Таблицы дескрипторов различных пользователей операционная система хранит в основной памяти. Для определения расположения таблицы дескрипторов выполняющейся программы используется специальный регистр защиты, который загружается операционной системой перед началом ее выполнения. Этот регистр содержит дескриптор таблицы дескрипторов (базу и границу), причем база содержит адрес начала таблицы дескрипторов выполняющейся программы, а граница - длину этой таблицы дескрипторов. Разряды номера сегмента виртуального адреса используются в качестве индекса для поиска в таблице дескрипторов. Таким образом, наличие базово-граничных пар в дескрипторе таблицы дескрипторов и элементах таблицы дескрипторов предотвращает возможность обращения программы пользователя к таблицам дескрипторов и страниц, с которыми она не связана. Наличие в элементах таблицы дескрипторов индикаторов режима доступа позволяет осуществить необходимый режим доступа к сегменту со стороны данной программы. Для повышения эффективности схемы используется ассоциативная кэш-память.