- •Архитектура эвм
- •Введение
- •1. История развития вычислительной техники. Классификация и основные характеристики вычислительных машин и систем
- •1.2. Нулевое поколение
- •1.3. Первое поколение
- •1.4. Второе поколение
- •1.5. Третье поколение
- •1.8. Шестое поколение
- •1.9. Классификация эвм
- •1.6. Четвёртое поколение
- •1.7. Пятое поколение
- •2. Принципы построения эвм и вычислительных систем
- •2.1. Архитектура фон Неймана
- •2.2. Структурная схема персонального компьютера
- •2.3. Структурные схемы вычислительных систем
- •2.4. Внутренние устройства персонального компьютера и их характеристики
- •2.4.1. Центральный процессор
- •2.4.2. Оперативное запоминающее устройство
- •2.4.3. Постоянное запоминающее устройство
- •2.4.5. Энергонезависимое оперативное запоминающее устройство
- •3. Архитектура внутренних устройств персонального компьютера
- •3.1. Архитектура процессора
- •3.2. Архитектура оперативной памяти1
- •3.2.1. Блочная организация памяти
- •3.2.3. Синхронные и асинхронные запоминающие устройства
- •3.3. Очередь и стек, их назначение и система адресации.
- •4. Внешние запоминающие устройства
- •4.1. Характеристики, организация, и принципы работы внешней памяти эвм и вс.
- •4.2. Накопители на магнитных дисках для устройств памяти с прямым доступом
- •4.3. Накопители на магнитных носителях для устройств памяти с последовательным доступом.
- •4.4. Устройство и принцип работы накопителей на оптических дисках.
- •4.5. Устройство и принцип работы флеш-памяти nor и nand
- •5. Устройства ввода и вывода
- •5.1. Общие принципы организации системы ввода-вывода
- •5.2. Принципы работы и организация клавиатуры
- •5.2.1. Массивы клавишей, кнопок и индикаторов
- •5.2.2. Скан-коды клавиатуры
- •5.2.3. Контроллер интерфейса клавиатуры
- •8042 – Контроллер интерфейса клавиатуры;
- •5.2. Принципы работы и организация мыши
- •Системная плата
- •5.3. Принципы работы и организация видеоподсистемы
- •5.3.1. Принципы формирования изображения и режимы работы монитора
- •5.3.2. Архитектура видеоподсистемы
- •5.3.3. Интерфейсы дисплеев и адаптера
- •5.4. Архитектура аудиоподсистемы
- •5.4.1. Звуковые карты
- •5.4.2. Входные и выходные аудиоустройства
- •5.5. Принципы работы и организация портов
- •5.5.1. Принципы передачи данных
- •5.5.2. Последовательный Com-порт
- •5.5.3. Параллельный порт lpt
- •5.5.5. Инфракрасный IrDa-порт
- •5.5.6. Радиоинтерфейс BlueTooth
- •5.5.7. Порт FareWare
- •5.5. Принципы работы и организация принтеров
- •5.6. Принципы работы и организация сканеров
- •6. Организация обмена информацией между центральным процессором, внутренней памятью и внешними устройствами
- •6.1. Система шин вычислительной машины: общие принципы
- •6.2. Шины "процессор – память"
- •6.3. Системная шина
- •6.3.1. Структура системной шины
- •6.3.2. Системы арбитража шины
- •6.3.3. Протоколы системной шины
- •6.3.4. Стандарты шин
- •6.4. Устройства прямого доступа к памяти.
- •6.5. Канальные системы ввода/вывода
- •7. Аппаратно-программные средства для реализации многопрограммных режимов работы
- •7.1. Система адресации в реальном и защищенном режиме работы эвм и вс на базе микропроцессоров Intel.
- •8. Параллельные вычислительные системы
- •9. Перспективы развития эвм и вычислительных систем
- •Список литературных источников
6.5. Канальные системы ввода/вывода
Дальнейшим развитием идеи прямого доступа являются следующие усовершенствования архитектуры подсистемы ввода-вывода:
придание контроллеру ПДП прав процессора;
создание в контроллере ПДП с правами процессора локальной памяти.
Реализация только первого шага даёт результат, условно называемый каналом ввода/вывода. Результат реализации обоих шагов условно называется процессором ввода/вывода. Получающиеся при этом архитектуры системы ввода/вывода называются канальными (рис. 6.9).
Рис. 6.9. Архитектура канальной системы ввода/вывода
Усовершенствованный модуль ввода/вывода получил на рис. 6.9 название "Канал ввода/вывода". Периферийные устройства ввода/вывода (ПУ) подключены к каналу через блоки управления периферийными устройствами (БУПУ), причём отдельные ПУ могут управляться двумя БУПУ. В локальной памяти канала образуются подканалы управления периферийными устройствами.
Программы, хранящиеся в основной памяти, делятся на две группы: программы для центрального процессора и программы для канала ввода/вывода (канальные программы). Обращение к каналу ввода/вывода происходит из программы для центрального процессора. В этом обращении передаётся сигнал "Внимание" и сообщается минимум информации для организации ввода/вывода каналом. Далее канал начинает выполнять одну из своих канальных программ, а процессор продолжает выполнять свою программу.
Обмен информацией между периферийным устройством и основной памятью происходит в режиме прямого доступа к памяти. В процессе выполнения канальной программы периферийные устройства могут разделять канал методом квантов времени (мультиплексный режим) или захватывать канал целиком (монопольный режим). Выполнение канальной программы завершается запросом прерывания для сообщения о том, что данные записаны в память или прочитаны из неё.
7. Аппаратно-программные средства для реализации многопрограммных режимов работы
7.1. Система адресации в реальном и защищенном режиме работы эвм и вс на базе микропроцессоров Intel.
Микропроцессоры Intel изначально предназначались для однопрограммных вычислительных систем. В этом режиме используется организация памяти в виде сегментов, и физический адрес ячейки памяти вычисляется на основе базового адреса и смещения. Базовый адрес это адрес начала сегмента памяти, а смещение – относительный адрес ячейки памяти внутри сегмента. При вычислении физического адреса команды адрес сегмента хранится в регистре CS процессора, а смещение – в регистре IP. При вычислении адреса данных базовый адрес хранится в регистре DS, а смещение в одном из регистров ВХ, ВР, SI или DI. Сегментные регистры CS, DS, SS, ES, FS и GS имеют 64-битные описания (дескрипторы), которые в реальном режиме хранят права доступа, адрес начала сегмента (базовый адрес) и длину сегмента. Дескрипторы сегментов доступны только процессору.
Вычисление физического адреса команды показано на рис. 7.1. Базовый адрес (адрес сегмента) из 16-байтного регистра перемещается в арифметико-логическое устройство (АЛУ). Далее он посредством сдвига влево на 4 позиции умножается на 16. Физический адрес получается сложением полученного результата со смещением, хранящимся в 16-битном регистре IP.
-
CS
15 0
АЛУ
19 3 0
Базовый адрес
Базовый адрес
0
0
0
0
+
IP
15 0
Смещение
АЛУ
19 3 0
Физический адрес
Рис. 7.1. Вычисление физического адреса команды в реальном режиме
Недостатками такой адресации являются:
ограниченное адресное пространство (до 1 мегабайта плюс примерно 64 килобайта старшей области памяти для процессоров старше i80286);
свободный доступ для любых программ к любым областям данных, что представляет потенциальную опасность для целостности операционной системы.
Этих недостатков полностью лишена схема адресации памяти, которая используется в защищённом режиме. Защищённый режим предназначен для мультипрограммных систем и предусматривает выделение в общем адресном пространстве индивидуальных (локальных) адресных пространств, выделенных каждому процессу. Общее адресное пространство описывается таблицей GDT (Global Descriptor Table), а локальные адресные пространства – в таблицах LDT (Local Descriptor Table) задач. В таблице GDT хранятся адреса сегментов кода, сегментов данных и системных сегментов, а также адреса входа в различные процедуры и функции.
Адреса таблиц GDT и LDT хранятся в регистрах GDTR и LDTR процессора. Оба эти регистра, как и сегментные регистры, имеют 64-битные дескрипторы, которые доступны только процессору.
В защищённом режиме содержимое сегментных регистров интерпретируется совсем иначе, чем в реальном:
два младших бита регистра образуют поле уровня привилегий RPL и определяют запрашиваемый уровень привилегий;
второй бит выделен под индикатор таблицы сегментов и определяет принадлежность сегмента общему (TI = 0) или локальному (TI = 1) адресному пространству;
биты 3 – 15 содержат номер (индекс) сегмента в соответствующей таблице дескрипторов.
Поэтому сегментные регистры в терминах защищённого режима называются селекторами сегментов.
Для управления задачами микропроцессоры поддерживают информационную структуру, называемую дескриптором задачи. В дескрипторе задачи имеется часть, которая инвариантна1 по отношению к операционной системе и называется сегментом состояния задачи (TSS). Процессоры с архитектурой IA32 работают именно с сегментом состояния задачи, который содержит контекст задачи, т.е. данные, которые необходимы для продолжения выполнения задачи после её прерывания естественным или принудительным образом.
Дескрипторы сегментов TSS содержатся в таблице общего адресного пространства GDT, а сами сегменты TSS содержат адреса адресных пространств задач в таблице локальных адресных пространств (LDT). Для доступа к TSS процессор имеет регистр задач (TR). В одном из полей регистра TR хранится селектор на сегмент TSS выполняемой задачи.
Схема формирования виртуального адреса команды показана на рис. 7.2. Диспетчер задач переключает операционную систему на выполнение конкретной задачи. В этот момент в регистр TR выбирается её TSS. Исходными данными для расчёта адреса являются данные в видимых частях регистра TR и CS.
Поле LDTR из сегмента TSS определяет индекс дескриптора "Дескриптор_1", содержимое регистра CS – индекс дескриптора "Дескриптор_2".
Операционная система анализирует состояние бита TI и в зависимости от его состояния определяет адрес регистра CS. Если бит TI = 0 то адрес сегмента кода загружается в теневую часть регистра CS из дескриптора "Дескриптор_1". Если бит TI = 1 то сначала по индексу дескриптора TSS (поле LTDR) в таблице GDTR выбирается дескриптор "Дескриптор_1". Он содержит адрес нужной таблицы LDTR. Этот адрес загружается в теневую часть регистра LDTR и выбирает нужную таблицу LDT. Базовый адрес в этом случае загружается в теневую часть регистра CS из дескриптора "Дескриптор_2".
Адрес команды в сегменте кода определяется как сумма базового адреса и смещения. Никаких операций умножения в этом случае не применяется, в отличие от реального режима.
Рис. 7.2. Схема образования адреса в защищённом режиме
Дескрипторы помимо адресов таблиц или сегментов содержат также размеры таблиц и сегментов. Поэтому защищённость процессов, созданная выделением отдельных сегментов адресного пространства, усиливается механизмом проверки допустимости индексов и смещения. Если индексы таблиц GDT или LDT превышают размеры таблиц, или смещение превышает размер сегмента кода, то такая команда не выполняется и генерируется сообщение об ошибке.
Кроме того, командам запрещено модифицировать код программы, содержащейся в сегменте кода. Принятые меры достаточно надёжно блокируют всякие попытки процессов разрушить коды или данные других процессов.
7.2. Система адресации для процессоров с сокращенным, длинным и сверхдлинным набором команд.
