Архитектура компьютерной системы
Краткие итоги
Компьютерная система состоит из модулей – процессора, памяти и внешних устройств, каждое из которых управляется своим контроллером, соединенных между собой системной шиной. В современных компьютерных системах имеются такие модули, как процессор, память, общая шина PCI, порты – USB, COM, IEEE 1394, SCSI, HDMI и другие,. SCSI-порт допускает подключение к нему гирлянды устройств. Инфракрасный порт (IrDA) неудобен и фактически устарел. Беспроводной интерфейс Bluetooth используется для связи компьютера с мобильным устройством, наушниками, плеером.
Модули компьютерной системы – процессор, память и внешние устройства с их контроллерами – функционируют параллельно. Контроллер имеет локальный буфер, через который осуществляется обмен с устройством. Оптимизация – режим DMA, при котором роль буферной памяти играет часть оперативной памяти. При необходимости выполнения ввода-вывода процессор информирует систему об этом через прерывание. По окончании операции контроллер также генерирует прерывание.
Обработка прерываний осуществляется через резидентный вектор прерываний, содержащий адреса подпрограмм обработки прерываний – модулей ОС. ОС – это фактически программа, управляемая прерываниями. Она вызывается либо по прерыванию, либо по программируемому прерыванию (ловушке), либо системным вызовом подпрограммы ОС из программы пользователя. В системе имеется очередь прерываний, с помощью которой обрабатывается последовательно вся цепочка возникающих прерываний. При прерывании ОС сохраняет состояние процессора, обработчик прерывания определяет, какого типа прерывание произошло и какие действия следует предпринять по его обработке. Возможны прерывания по таймеру с целью периодического опроса устройств.
Ввод-вывод может быть синхронным и асинхронным. Для обработки ввода-вывода ОС хранит и использует таблицу состояния устройств.
Устройства памяти имеют свою иерархию, от самых быстрых к наиболее медленным. Для оптимизации обращения к более медленной памяти используется ассоциативная память (кэш), организуемый в более быстрой памяти. Наиболее распространенные виды внешней памяти – жесткие диски, а также флэш-память, CD, DVD и BluRay – диски.
Для защиты памяти и всей системы вводятся два режима исполнения – привилегированный (для ядра ОС) и непривилегированный (для обычных программ). Для защиты памяти используются два регистра – базы и границы, задающие границы области памяти, выделенной пользовательской программе.Все команды ввода-вывода – привилегированные. Бит режима задает текущий режим выполнения. Ввод-вывод реализуется с помощью системных вызовов.
В системах с теговой архитектурой защита памяти осуществляется в помощью адресных слов со специальными тегами – дескрипторов. Дескриптор содержит адрес начала массива, длину и признаки защиты.
Прерывания по таймеру организуются системой для опроса устройств и для реализации режима разделения времени.
Набор для практики
Вопросы
- Назовите основные компоненты, из которых состоит настольная или портативная компьютерная система.
- Что такое системная шина и какова ее роль в компьютерной системе?
- Что такое контроллер?
- Назовите и кратко охарактеризуйте основные типы портов в компьютерной системе.
- Какие области памяти используются в операциях ввода-вывода?
- Каким образом контроллер устройства информирует процессор об окончании операции ввода-вывода?
- Как организована обработка прерываний?
- Что такое вектор прерываний?
- Как система обрабатывает ситуацию, когда при обработке прерывания возникает другое прерывание?
- Что такое программируемое прерывание (ловушка) и когда оно генерируется?
- Каково назначение прерывания по таймеру?
- Что такое опрос устройств и какова его роль в системе?
- Чем синхронный ввод-вывод отличается от асинхронного?
- Что такое таблица состояния устройств и для чего она используется операционной системой?
- В чем отличие основной памяти от внешней памяти?
- Опишите кратко устройство жесткого диска.
- Что такое ассоциативная память (кэш) и как она позволяет оптимизировать обращение к более медленным видам памяти?
- Назовите основные виды внешней памяти.
- Какова цель введения привилегированного режима и какие действия в нем разрешены, по сравнению с обычным режимом исполнения программ?
- Каким образом система определяет текущий режим исполнения?
- Что такое системный вызов и как они используются для организации ввода-вывода?
- Что такое регистр базы и регистр границы и как они используются для защиты памяти?
- Что такое таймер и как прерывания по таймеру используются операционной системой?
- Как организована защита памяти в системах с теговой архитектурой?
- Что такое дескриптор и для чего он предназначен?
Упражнения
- Составьте наиболее предпочтительную, с Вашей точки зрения, конфигурацию офисного настольного компьютера для Вашей повседневной работы. Укажите объем памяти, быстродействие, виды портов и внешних устройств.
- То же – для портативного компьютера (ноутбука).
- Предложите наиболее быстрый, надежный и удобный, с Вашей точки зрения, способ резервного копирования информации – сохранения наиболее важных файловых систем во внешней памяти.
- Изобразите схему прерываний и активизации процессора и устройства вывода при выполнении фрагмента простой программы: x := 1; writeln(x); y := 2; writeln(y);
- Предложите и реализуйте схему алгоритма умножения матриц m * m, хранящихся во внешней памяти, с записью результата также во внешнюю память, с использованием асинхронного ввода-вывода с целью распараллеливания программы.
- Опишите и реализуйте алгоритм обращения к памяти с использованием кэша, с предварительным поиском адреса в кэше и его записью в кэш, в случае, если он не найден.
- Пусть задаче выделена область памяти, начиная с адреса 400000 (содержимое регистра базы), длиной 100000 (содержимое регистра границы). Корректным ли будет обращение по адресу 400001? по адресу 500001? Опишите подробно, как происходит проверка адреса на корректность в каждом из двух случаев, и соответствующие действия системы.
Темы для курсовых работ, рефератов, эссе
- Обзор архитектуры компьютерной системы (реферат).
- Обзор асинхронных и синхронных методов ввода-вывода в компьютерных системах (реферат).
- Методы обработки прерываний с помощью вектора прерываний (реферат).
- Обзор иерархии и видов внешней памяти (реферат).
- Обзор методов защиты памяти в компьютерных системах (реферат).