- •394026 Воронеж, Московский проспект, 14 Оглавление
- •1. Принципы организации электронных вычислительных машин 23
- •2. Функциональная организация 37
- •3. Структурная организация электронных вычислительных машин 111
- •4. Организация процессоров 157
- •5. Организация операционных устройств 206
- •6. Организация памяти электронных вычислительных машин 264
- •Введение
- •1.Принципы организации электронных вычислительных машин
- •1.1Основные факторы, определяющие принципы организации электронных вычислительных машин
- •1.2Состав устройств, структура и порядок функционирования электронных вычислительных машин
- •1.3Основные технические характеристики вычислительного комплекса
- •2.2Режимы работы электронных вычислительных машин (организация вычислительных процессов)
- •2.3Средства мультипрограммирования
- •2.4Организация системы прерываний
- •2.5Многоуровневая организация памяти электронных вычислительных машин
- •2.6Средства защиты основной оперативной памяти
- •2.7Защита информации в персональных электронных вычислительных машинах ibm pc
- •2.8Машинные элементы информации
- •2.9Представление данных в электронных вычислительных машинах
- •2.9.1Представление чисел
- •2.9.2 Представление текстовой информации и логических значений
- •2.10 Форматы команд и машинные операции
- •2.11 Способы адресации информации в памяти электронных вычислительных машин
- •2.12 Организация адресного пространства внешней памяти. Виртуальная организация памяти
- •2.13 Особенности архитектуры персональных электронных вычислительных машин типа ibm pc
- •3.Структурная организация электронных вычислительных машин
- •3.1Понятие структурной организации электронных вычислительных машин
- •3.2Классы устройств электронных вычислительных машин
- •3.3Магистрально-модульный принцип построения электронных вычислительных машин. Понятие интерфейса
- •3.4Типовые конфигурации (структуры) однопроцессорных вычислительных комплексов
- •3.5Структуры мультипроцессорных и мультимашинных вычислительных комплексов
- •3.5.1Многомашинные вычислительные комплексы
- •3.5.2Мультипроцессорные вычислительные комплексы
- •3.5.3Мультипроцессорный вычислительный комплекс с раздельной памятью
- •3.6Нейрокомпьютеры
- •4.Организация процессоров
- •4.1Цикл выполнения команд
- •4.2Конвейерная организация процессоров
- •4.3Особенности организации современных процессоров
- •4.4 Эволюция способов организации процессоров
- •5.Организация операционных устройств
- •5.1Принцип микропрограммного управления (функциональная организация операционных устройств)
- •5.2Средства описания функций операционных устройств
- •5.3Структурная организация операционных устройств
- •5.4Функция и структура операционного автомата
- •5.5Организация работы операционных устройств во времени
- •5.6Структурный базис операционного автомата
- •5.7Организация операционного автомата
- •5.8Понятие микропроцессора
- •5.9Организация управляющего автомата
- •5.9.1Организация управляющего автомата с программируемой логикой управления
- •5.9.2Укрупненная структура управляющего автомата с программируемой логикой
- •5.9.3Управляющие автоматы с жесткой логикой управления
- •5.9.4С равнение характеристик управляющих автоматов с программируемой и жесткой логикой
- •6.Организация памяти электронных вычислительных машин
- •6.1Основные понятия
- •6.2Организация и основные характеристики запоминающих устройств
- •6.3Классификация запоминающих устройств
- •6.4Организация памяти первого уровня
- •6.5Организация адресных (сверхоперативных) запоминающих устройств
- •6.6Запоминающие устройства с ассоциативной организацией
- •6.7Организация кэш–памяти на основе ассоциативного запоминающего устройства (кэш с ассоциативной организацией)
- •6.8Организация стековых (магазинных) запоминающих устройств
- •6.9Организация памяти второго уровня (основной оперативной памяти)
- •6.10Организация памяти третьего уровня (внешней памяти)
- •6.10.1Классификация и основные характеристики внешних запоминающих устройств
- •6.10.2Организация накопителей на магнитных дисках
- •6.10.3 Организация накопителей на магнитной ленте
- •6.10.4 Организация оптических дисков
- •Библиографический список
2.7Защита информации в персональных электронных вычислительных машинах ibm pc
В IBM PC для защиты информации используется специальный режим работы ЦП - так называемый защищенный режим. Он предназначен для защиты ресурсов одной задачи от возможного воздействия на них со стороны других задач.
Начнем с защиты ОП. Защита информации в ОП базируется на использовании механизма сегментации. Сегмент - это часть пространства ОП, предназначенная хранить информацию определенного назначения: программы, данных и т.п. Другими словами, сегмент памяти привязывается к типу информации – управляющая информация (программы), обрабатываемая информация (данные) и т.п. Это сделано с целью избавления от известного недостатка фон Неймановских машин, в которых информация и программы хранятся в одной памяти.
Распределением ОП ведает ОС. Она выделяет задачам сегменты необходимых размеров для хранения программ, данных и др. Информация о сегментах размещается ОС в так называемых дескрипторах сегментов, в том числе и сведения об уровне привилегий (приоритета) сегмента. В защищенном режиме используется 4-уровневая система приоритетов: максимальный уровень привилегий PL имеет сегмент с уровнем PL=0, минимальный - c уровнем PL=3. Максимальный уровень обычно присваивается ядру ОС, PL=1- сервисным средствам ОС, PL=2—расширениям ОС, PL=3—прикладным программам.
Итак, уровень привилегий сегмента, точнее, той информации, которая в нем хранится, указывается в дескрипторе сегмента. Механизм сегментации и уровни привилегий позволяют решать следующие задачи защиты информации.
Следить за границами сегмента и не допускать выхода задачи, которой он выделен, за пределы сегмента (за так называемый лимит).
Не позволяет использовать сегменты не по назначению, т.е. не позволяет использовать данные как коды команд или наоборот (как это может быть у фон Неймановских машин).
Не позволяет нарушать права доступа к сегменту: например, записывать информацию в сегмент, предназначенный только для чтения, и т.п.
Следует отметить, что процессор в защищенном режиме имеет в своем составе аппаратные средства, необходимые для защиты информации. Однако уровень (степень) защиты информации определяется системой защиты, которая входит в состав ОС и использует аппаратные средства защиты ЦП. Т.о., система защиты информации - это совокупность аппаратных средств и программ ОС. Устойчивость защиты зависит от системы защиты в целом, т.е. от эффективности программ ОС, использующих аппаратные средства защиты ЦП. Эффективность системы защиты информации не абсолютна, не обеспечивает 100-процентную защиту.
Уровень привилегий сегмента, точнее, информации, которая хранится в нем, указывается в двухбитовом поле DPL дескриптора сегмента. DPL трактуется как наименьший уровень привилегий, с которым возможен доступ к дескриптору сегмента (DPL – уровень привилегий дескриптора сегмента).
Уровень привилегий задачи указывается в поле CPL селектора программного сегмента. Селектор программного сегмента размещается в
р егистре CS, а поле CPL - в двух младших битах этого регистра:
TI - тип индекса (глобальный или локальный), Index - номер дескриптора в таблице дескрипторов.
В регистре CS хранится селектор текущей программы (той программы, которую процессор выполняет в данный момент времени). Это означает, что CPL задает уровень привилегий ЦП, выполняющего данную программу и, следовательно, задает уровень привилегий ЦП при его обращениях к ОП, т.е. к различным сегментам в ОП, уровень привилегий которых указывается в поле DPL дескриптора соответствующего сегмента.
ЦП имеет право доступа к информации только при выполнении условия:
CPL DPL (2.1)
Таким образом, уровень привилегий задачи CPL используется как пропуск (ключ), который предъявляет ЦП, обращаясь к различным ресурсам - информационным или аппаратным (устройствам ввода/вывода) (выделенным задаче ОС), уровень привилегий которых DPL.
Защита информации в ОП производится по правилам:
Д анные из сегмента, имеющего уровень защиты DPL, могут быть доступны программе, имеющей такой же или более высокий уровень привилегий CPL, т.е. доступны только при выполнении условия (2.1). Схема доступа к данным:
Программа (задача), имеющая уровень привилегий CPL, может вызвать другую программу (например, при помощи команды CALL), уровень привилегий которой DPL такой же или более высокий, т.е. при условии:
C PL DPL. (2.2) Схема вызова программ:
Следует отметить, что эта схема работает только в случае вызова так называемых подчиненных программ, т.е. программ, которым ОС присваивает этот статус и отмечает битом подчиненности С=1 в дескрипторе сегмента. В неподчиненных программах бит С=0. Для неподчиненных программ правила доступа (вызова) более жесткие:
CPL=DPL , (2.3)
т.е. обращение к ним возможно только с тем же уровнем привилегий, что и у вызываемой программы.
Если нужно вызвать привилегированную неподчиненную программу, например, с уровнем пользователя, то в этом случае используется механизм передачи управления под контролем ОС. Для этого ОС устанавливает (задает) точки входа - так называемые вентили или шлюзы вызова. Вентили вызова (Call Gates) хранятся в соответствующих специальных сегментах, описание которых указывается в дескрипторах вентилей. При вызове через вентили должно выполняться условие (2.2). Т.е. в этом случае работает такая же схема, как и для подчиненных программ (С=1).
В чем разница? Вызов подчиненной программы (С=1) не изменяет уровень привилегий процессора (задачи) CPL=const. Вызов подчиненной программы (С=0) через вентили вызова (тоже под контролем ОС) ведет к изменению CPL, т.к. при этом типе вызова в CS заносится селектор вызванной программы CPL:=DPL. В момент возвращения к исходной программе (по команде RET,например) из стека в CS возвращается старое значение селектора и, следовательно, прежний уровень привилегий CPL.
Теперь подробнее о работе механизма защиты ОП. Обращение к сегментам памяти производиться через сегментные регистры CS, DS, ... путем загрузки в них соответствующих селекторов. Например, обращение к сегменту данных осуществляется по следующей схеме (рисунок 2.15). Доступ к сегменту данных разрешается при условии:
DPL max (CPL, RPL). (2.4)
Рисунок 2.15
В противном случае вызывается прерывание с номером 13 (исключение 13). Эта схема работает в момент загрузки в сегментные регистры новых селекторов. В частности, из сегмента состояния задачи TSS, a в TSS загружается ОС заранее.
Итак, этот механизм защиты (доступа) реализует доступ к сегменту данных в зависимости от уровня его защищенности DPL и от степени важности запроса RPL и, наконец, от уровня привилегий задачи (т.е. ЦП) CPL. Зачем RPL? Уровень привилегий запроса RPL позволяет ОС гибко изменять уровень доступа к данным, меняя RPL путем загрузки нового селектора в регистры DS (ES, ...).
Итоговый уровень привилегий EPL=max(RPL,CPL) принято называть эффективным уровнем привилегий. Он и используется при обращении к сегментам данных. Другими словами, DPL задает абсолютный уровень привилегий, а RPL – относительный, текущий, временный. Действие RPL можно интерпретировать в виде ключа:
т.е. при помощи RPL ОС может понижать уровень привилегий ЦП при его обращении к сегменту данных.
Защита стекового сегмента, обращение к которому осуществляется через селектор, загружаемый в регистр SS: доступ к стековому сегменту производится только по условию:
RPL=CPL=DPL. (2.5)
Нарушение этого условия вызывает прерывание с номером 13.
Теперь несколько слов о том, как выполняется правило 1 - слежение за границей сегмента, выделенного задаче? ОС постоянно следит за выполнением условия:
А > L, (2.6)
где А=ФА-БА=БА+D-БА=D, ФА – физический адрес, БА – базовый адрес, D – смешение, L – лимит (размер сегмента). Выполнение условия (2.6) вызывает прерывание.
Кроме того, ОС постоянно следит за типом сегмента: а именно, выделен сегмент задаче или нет. Если сегмент не выделен, то обращение блокируется. Все выделенные ОС сегменты описываются дескрипторами, которые загружаются ОС в так называемую локальную дескрипторную таблицу - LDT. Таким образом, в LDT указываются сегменты, индивидуальные для каждой задачи.Общие для всех задач сегменты описываются в глобальной дескрипторной таблице - GDT.
Защита ввода-вывода. Уровень привилегий при выполнении операций ввода/вывода задается полем IOPL регистра флагов ЦП. Загрузка нового значения IOPL осуществляется только при условии CPL=0, т.е. только ОС. Следует отметить, что если текущий уровень привилегий задачи CPLIOPL, то на операции ввода/вывода и манипуляции флагом маски прерывания IF никаких ограничений не накладывается. Если же CPL>IOPL, то попытка ввода/вывода в 16-разрядном компьютере вызывает прерывание с номером 13. В 32-разрядных компьютерах при условии CPL>IOPL команды ввода/вывода (IN\OUT) могут выполняться только по адресам портов, для которых установлены разрешающие флаги (биты) в так называемой карте разрешения ввода-вывода, хранимой в таблице состояния задачи TSS. Обращения к замаскированным портам или к портам, адреса которых не числятся в карте разрешения ввода/вывода, блокируются и генерируется прерывание номер 13.