Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КР АВМиС заочное ввод-вывод, стек.doc
Скачиваний:
9
Добавлен:
01.04.2014
Размер:
145.92 Кб
Скачать

Министерство образования Республики Беларусь

Учреждение образования

«Белорусский государственный университет информатики и радиоэлектроники»

Контрольная работа

по курсу «Архитектура вычислительных машин и систем»

Выполнил

студент ФЗО гр.900502

Рыбачёнок Н.В.

шифр №900502-33

Минск 2012

Содержание

  1. Системные ресурсы ПЭВМ. Карта ввода-вывода. ………………………………………………3

  2. Написать и отладить программу, которая демонстрирует выполнение операций со стеком………………………………………………………………………………………………………..……..7

Системные ресурсы ПЭВМ. Карта ввода-вывода.

 Большинство адаптеров персонального компьютера, выполненных виде отдельных плат расширения, используют как минимум один из следующих системных ресурсов:

- адреса памяти;

- каналы запросов прерываний (IRQ);

- каналы прямого доступа к памяти (DMA);

- адреса портов ввода-вывода.

В приведенном списке порядок размещения системных ресурсов соответствует уменьшению вероятности возникновения из-за них конфликтных ситуаций в компьютере. Наиболее распространенные проблемы связаны с ресурсами памяти, иногда разобраться в них и устранить причины их возникновения довольно сложно. В частности, возникает значительно больше конфликтов, связанных с ресурсами IRQ, чем с ресурсами DMA, поскольку прерывания запрашиваются чаще. Практически во всех платах используются каналы IRQ. Каналы DMA применяются реже, поэтому обычно их более чем достаточно. Порты ввода-вывода используются во всех подключенных к шине устройствах, но 64 Кбайт памяти, отведенной под порты, обычно хватает, чтобы избежать конфликтных ситуаций. Общим для всех видов ресурсов является то, что любая установленная в компьютере плата (или устройство) должна использовать уникальный системный ресурс, иначе отдельные компоненты компьютера не смогут разделить ресурсы между собой и произойдет конфликт.

Все эти ресурсы необходимы для различных компонентов компьютера. Платы адаптеров используют ресурсы для взаимодействия со всей системой и для выполнения специфических функций. Каждой плате адаптера нужен свой набор ресурсов. Так, последовательным портам для работы необходимы каналы IRQ и уникальные адреса портов ввода-вывода, для аудиоустройств требуется еще хотя бы один канал DMA. Большинством сетевых плат используется блок памяти емкостью 16 Кбайт, канал IRQ и адрес порта ввода-вывода.

По мере установки дополнительных плат в компьютере растет вероятность конфликтов, связанных с использованием ресурсов. Конфликт возникает при установке двух или более плат, каждой из которых требуется линия IRQ или адрес порта ввода-вывода. Для предотвращения конфликтов на большинстве плат устанавливаются перемычки или переключатели, с помощью которых можно изменить адрес порта ввода-вывода, номер IRQ и т.д. А в современных операционных системах Windows 9х, удовлетворяющих спецификации Plug and Play, установка правильных параметров осуществляется на этапе инсталляции оборудования. К счастью, найти выход из конфликтных ситуаций можно почти всегда, для этого нужно лишь знать правила игры.

Дескриптор, помимо базового адреса, содержит предельный размер сегмента и атрибуты сегмента (права доступа). Дескрипторы являются основой защиты и мультизадачности. В защищенном режиме сегменты могут начинаться с любого линейного адреса и иметь любой предел вплоть до 4Гбайт. Существуют две обязательные дескрипторные таблицы - глобальная (GDT) и дескрипторная таблица прерывания (IDT), а также множество (до 8192) локальных дескрипторных таблиц (LDT), из которых в один момент времени процессору доступна только одна. Дескрипторы сегментов могут находиться в GDT или LDT. Расположение дескрипторных таблиц определяется регистрами процессора GDTR (Global Descriptor Table Register), IDTR (Interrupt Descriptor Table Register), LDTR (Local Descriptor Table Register). Регистры GDTR и IDTR - 6-байтные, они содержат 32 бита линейного базового адреса дескрипторной таблицы и 16 бит предела таблицы. Программно доступная часть регистра LDTR - 16 бит, которые являются селектором LDT. Дескрипторы LDT находятся в GDT. Однако чтобы не обращаться каждый раз к GDT, в процессоре имеется теневая (программно недоступная) часть регистра LDTR, в которую процессор помещает дескриптор LDT при каждой перегрузке селектора в регистре LDTR.

Значение сегментного регистра (селектор) содержит индекс дескриптора в дескрипторной таблице; бит, определяющий, к какой дескрипторной таблице производится обращение (LDT или GDT); а также запрашиваемые права доступа к сегменту. Таким образом, селектор выбирает дескрипторную таблицу, выбирает дескриптор из таблицы, а по дескриптору определяется положение сегмента в линейном пространстве памяти. Однако обращение к дескрипторным таблицам происходит только при загрузке селектора в сегментный регистр. При этом процессор помещает дескриптор в теневую (программно недоступную) часть сегментного регистра. Приформировании линейного адреса дескриптор сегмента процессору уже известен.

Сегмент состояния задачи TSS (Task State Segment) - это структура данных, которая определяет состояние (т.е. контекст) задачи. В ней хранится содержимое всех регистров общего назначения, сегментных и некоторых системных регистров а также некоторая дополнительная информация.          Для каждой задачи в системе нужно определить один сегмент TSS и далее процессор будет сам использовать эти сегменты задач, т.е. структура TSS поддерживается аппаратно.          TSS бывают двух типов - 16- и 32-разрядные. 16-разрядные появились в процессоре i286 и они могут использоваться в 32-разрядных процессорах, но мы их рассматривать не будем, потому что программирование Intel286 здесь не рассматривается.          32-разрядные TSS появились в процессоре Intel386, с тех пор они не претерпели изменений и на них строится механизм мультизадачности любой ОС защищённого режима. Везде далее, где мы будем говорить о TSS, именно такие, 32-разрядные, и будут подразумеваться.          На рисунке приведена структура 32-разрядного TSS: