Читать «Архитектура компьютера» онлайн - страница 106

Эндрю Таненбаум

SCSI-контроллер Звуковая плата х

Модем

Каркас для плат

Краевой разъем

Рис. 2.25. Физическая структура персонального компьютера

Логическую структуру обычного персонального компьютера иллюстрирует рис. 2.26. У данного компьютера имеется одна шина для соединения центрального процессора, памяти и устройств ввода-вывода; однако большинство систем имеют две и более шин. Каждое устройство ввода-вывода состоит из двух частей: одна объединяет большую часть электроники и называется контроллером, а другая представляет собой само устройство ввода-вывода, например дисковод. Контроллер обычно располагается на плате, которая вставляется в свободный разъем. Исключение представляют собой контроллеры устройств, являющихся неотъемлемыми составными частями компьютера (например, клавиатуры), которые иногда располагаются на материнской плате. Хотя дисплей (монитор) и нельзя назвать дополнительным устройством, соответствующий контроллер иногда располагается на встроенной плате, чтобы пользователь мог по желанию выбирать платы с графическими ускорителями или без них, устанавливать дополнительную память и т. д. Контроллер связывается с самим устройством кабелем, который соединяется с разъемом на задней стороне корпуса.

Монитор
ШинаРис. 2.26. Логическая структура обычного персонального компьютера

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