Архитектурный облик PC-совместимого компьютера определяется рядом свойств, обеспечивающих возможность функционирования программного обеспечения, управляющего периферийным оборудованием. Программы могут взаимодействовать с устройствами разными способами:
♦ через вызовы функций операционной системы (прерывания DOS, API Win dows и т. п.);
♦ через вызовы функций базовой системы ввода-вывода (BIOS);
♦ непосредственно взаимодействуя с известным им «железом» — портами и памятью устройств или контроллеров интерфейсов.
Такой «толстый пирог» из слоев совместимости существует благодаря изначальной открытости архитектуры первых IBM PC и сохранения имеющихся решений (пускай иногда и не самых лучших) в последующих моделях, обрастающих новыми узлами.
Облик PC-совместимого компьютера в значительной степени определяется разработчиками Microsoft и Intel. Для этих фирм уже стало традицией выпускать объемистый документ, диктующий разработчикам аппаратуры требования для получения вожделенного логотипа «Designed for Microsoft Windows». В спецификациях определяются требования к функциональности и производительности всех подсистем компьютера, включая периферийные устройства. Отдельные положения этих спецификаций упоминаются в разделах, посвященных конкретным подсистемам ПК.
Структурная схема
Структурная схема современного IBM PC-совместимого компьютера приведена на рис. 4.1. Ядром компьютера являются процессор (один или несколько), ОЗУ, ПЗУ с BIOS и интерфейсные средства, связывающие их между собой и с остальными компонентами. Эти средства на рисунке изображены в виде «облака», поскольку их формы разнообразны (шины, хабы). Это «облако» обычно имеет интерфейсы одной или нескольких шин расширения (ISA, PCI/PCI-X, PCI-E), а также порта AGP (уже вытесняемого PCI-E). Стандартная архитектура PC определяет набор обязательных средств ввода-вывода и средств поддержки периферии, включая систему аппаратных прерываний (i8259A), систему прямого доступа к памяти (i8237A), трехканальный счетчик (i8254), интерфейс клавиатуры и управления (i8042), канал управления звуком, память и часы CMOS. На рисунке изображены лишь логические связи между этими устройствами; подразумевается, что с помощью средств того же «облака» они представлены своими стандартизованными регистрами в общедоступном пространстве ввода-вывода. Также подразумевается, что все компоненты получают требуемое питание, что превращает весь этот набор компонентов в работоспособный компьютер. Конечно же, он должен быть дополнен периферией: дисплеем со своим адаптером, подключаемым к порту AGP, шине расширения или прямо в «облако», контроллерами шин периферийных устройств (ATA, SATA, SCSI, SAS, USB, FireWire), интерфейсов портов (COM, LPT, GAME...), дисководов, аудиосредств и пр. «Облако» вместе со средствами ввода-вывода и поддержки периферии реализуется чипсетом системной платы (см. 6.1), который обычно включает в себя и перечисленные выше интерфейсы.
Любой PC-совместимый компьютер имеет следующие характерные черты:
♦ процессор, программно совместимый с семейством х86 фирмы Intel;
♦ специфическую систему распределения пространства адресов памяти;
традиционное распределение адресов пространства ввода-вывода с фиксиро ванным положением обязательных портов и совместимостью их программной модели;
♦ систему аппаратных прерываний, позволяющую периферийным устройствам сигнализировать процессору о необходимости исполнения некоторых обслу живающих процедур;
♦ систему прямого доступа к памяти, позволяющую периферийным устрой ствам обмениваться массивами данных с оперативной памятью, не отвлекая на это процессор;
♦ набор системных (стандартных) устройств и интерфейсов ввода-вывода;
♦ унифицированные по конструктиву и интерфейсу шины расширения (ISA, EISA, MCA, VLB, PCI/PCI-X, PCI-E, PC Card, Card Bus), состав которых может варьироваться в зависимости от назначения и модели компьютера;
♦ базовую систему ввода-вывода (BIOS), выполняющую начальное тестирова ние и загрузку операционной системы, а также имеющую набор функций, обслуживающих системные устройства ввода-вывода.