IBM-архитектура
Процессор
В качестве процессора используются микропроцессоры фирмы Intel семейства x86, а также их аналоги от других производителей. Первые модели (PC, PC XT) использовали процессор i8088, более совершенная AT - i80286. Замечательным был тот факт, что все последующие (более совершенные) модели процессоров были полностью совместимы с предыдущими, т.е. поддерживали все функции своих предшественников.
BIOS
Это очень эффективная "придумка" от инженеров IBM, которая позволяет осуществлять поддержку основных компьютерных систем и периферийных устройств. Базовая система ввода-вывода содержит программные ресурсы, обеспечивающие надежную работу с компонентами системы и организующие связь с периферийными блоками. Подробнее смотри в соответствующем разделе - BIOS.
Конфигурирование
Еще одно инновационное решение от IBM - компьютер во время включения мог "самонастраиваться" на существующую конфигурацию. В первых моделях (PC, PC XT) сведения о составе оборудования и режимах его работы задавались при помощи специальных перемычек на материнской плате. При помощи специальных программ сигналы с этих перемычек считывались и выполнялась настройка системы на заданную конфигурацию.
Начиная с PC AT конфигурирование задавалось при помощи:
- программы Setup BIOS;
- энергонезависимой КМОП-памяти.
Подробнее смотри в соответствующем разделе - BIOS.
Начальная загрузка
После подачи питания вся компьютерная система приводится в исходное состояние при помощи специальной программной процедуры BIOS. Выполняются действия по настройке и проверке рабочих режимов базовых компонентов системы.
После выполнения этих действий управление передается операционной системе, которая управляет дальнейшей загрузкой компьютера.
Адреса памяти и устройств ввода-вывода
Компьютер имеет два адресных пространства:
- адреса памяти;
- адреса устройств ввода-вывода.
Это обусловлено особенностями архитектуры микропроцессоров семейства x86. Для обращения к этим адресам используются различные команды и различные управляющие сигналы.
Первые системы PC, PC XT имели 1 Мб (16 линий адреса) памяти. Позднее его расширили до 16 Мб (20 линий адреса), еще позже - до 4 Гб (32 адресных линии).
В пространстве памяти размещены ОЗУ и ПЗУ. Оперативная память в свою очередь разделена еще на несколько участков, имеющих различные свойства.
Адресное пространство устройств ввода-вывода равно 64 Кб (16-разрядная адресация). Но используются только 10-разрядные адреса (1 Кб - 1024 адреса). Распределение адресов устройств ввода-вывода приведено в таблице ниже.
Адресное поле | Устройство | Адресное поле | Устройство |
---|---|---|---|
000-00F | Контроллер DMA 1 | 2E0-2E7 | Дополнительное поле адресов COM 4 |
010-01F | 2E8-2EF | COM 4 | |
020-021 | Контроллер прерываний 1 | 2F8-2FF | COM 2 |
040-05F | Таймер | 338-33F | Дополнительное поле адресов COM 3 |
060 | Регистр данных клавиатуры (в ХТ) | 370-377 | Контроллер FDD 2 |
061 | Источник NMI, управление звуком | 376-377 | Управление IDE 2 |
064 | Контроллер клавиатуры (в АТ) | 378-37F | LPT 1 |
070-07F | CMOS, маска NMI | 380-38F | Синхронный адаптер SDLC (BSC 2) |
080-08F | Регистры страниц DMA | 3A0-3AF | Синхронный адаптер BSC 1 |
090-097 | PS/2 микроканал | 3B0-3BB | Адаптер MDA |
0A0-0BF | Контроллер прерываний 2 | 3BC-3BF | LPT на плате MDA |
0C0-0DF | Контроллер DMA 2 | 3C0-3CF | Адаптер EGA |
0F0-0FF | Сопроцессор 287 | 3D0-3CF | Адаптер CGA |
100-1EF | PS/2 управление микроканалом | 3C0-3DF | Адаптер VGA (перекрывает адреса EGA и CGA) |
170-177 | IDE 2 | 3E0-3E7 | Дополнительное поле адресов COM 3 |
1F0-1F7 | IDE 1 | 3E8-3EF | COM 3 |
200-207 | Игровой адаптер | 3F0-3F7 | Контроллер FDD 1 |
238-23F | Дополнительное поле адресов COM 4 | 3F6-3F7 | Управление IDE 1 |
278-27F | LPT 2 | 3F8-3FF | COM 1 |
2C0-2DF | EGA 2 |
Системный регистр
На входы системного регистра поступают сигналы от подключенных устройств, а на его выходе вырабатываются соответствующие управляющие сигналы.
Первоначально на системный регистр возлагались следующие задачи:
- ввод информации о конфигурации системы;
- ввод данных с клавиатуры;
- управление динамиком;
- управление процессом подачи немаскируемых прерываний (NMI).
Позднее первые две функции были сняты с системного регистра, а электронные компоненты системного регистра были интегрированы в чипсет, в результате понятие "системный регистр" утратило свою актуальность.
Аппаратные прерывания
Аппаратные прерывания позволяют определенным устройствам прерывать "нормальный ход" исполняемой программы и получать внеочередное право на программное обслуживание.
Изначально блок прерываний (микросхема i8259) имел 8 входов запроса и мог обслуживать до 8 устройств.
В системе PC AT был включен второй блок прерываний, число запросов возросло до 15 + 1 запрос для выбора блока. Контроллеры прерываний находятся в адресном пространстве устройств ввода-вывода.
Канал прямого доступа к памяти
DMA (Direct Memory Access) - позволяет вести обмен данными между памятью и устройствами ввода-вывода напрямую, минуя центральный процессор. Изначально было 4 канала передачи (микросхема i8237), один из которых использовался для регенерации памяти.
В системе PC AT был добавлен второй контроллер прямого доступа и стал возможным блочный механизм обмена данными. Контроллеры прямого доступа находятся в адресном пространстве устройств ввода-вывода.
Системный таймер
Предназначен для отсчета временных интервалов.
Изначально построен на основе трехканальной схемы программируемого таймера счетчика схемы i8253 (в PC AT - i8254). Находится в адресном пространстве устройств ввода-вывода.
Системная шина
Т.к. открытая архитектура IBM предполагает блочно-модульную компоновку системы, состоящую из многих компонентов, то для информационного обмена между компонентами системы была выбрана системная шина ISA (Industry Standard Architecture).
Изначально использовалась 8 разрядная шина, позже - 16-разрядная (16 линий адресов, 24 линии данных).
Для соединения блоков компьютера используются системные разъемы, к которым подключается шина. Технические детали системных разъемов строго регламентированы, что обеспечивает полную аппаратную и программную совместимость различных систем ПК.
Канал параллельной передачи данных - LPT
Через канал LPT подключаются разнообразные периферийные устройства - принтеры, сканеры, внешние накопители.
За системную поддержку параллельных портов отвечает BIOS Int 17h. Он выполняет поиск имеющихся портов, их инициализацию, опрос состояния подключенных устройств, прием и передачу информации. Сервис поддерживает до трех портов - LPT 1, LPT 2, LPT 3.
Обмен данными с подключенными устройствами может вестись в однонаправленном (SPP) или двунаправленном (EPP, ECP) режимах.
Для параллельных портов используются прерывания IRQ 5 и IRQ 7.
Параллельный порт, как правило, встраивается в материнскую плату. В большинстве случаев система имеет один параллельный порт.
Канал последовательной передачи данных - COM
Предназначен для ведения последовательного асинхронного обмена по стандарту RS-232C.
Системная поддержка ведется при помощи BIOS Int 14h. Он выполняет поиск имеющихся портов, их инициализацию, опрос состояния подключенных устройств, прием и передачу информации. Сервис поддерживает до четырех портов - COM 1, COM 2, COM 3, COM 4.
Для последовательных портов используются прерывания IRQ 3 и IRQ 4.
Последовательный порт, как правило, встраивается в материнскую плату.
Игровой порт
Название говорит само за себя. Игровой порт служит для подключения игровых устройств - джойстика, игрового руля и проч. Интерфейс порта поддерживает 4 сигнала от координатных датчиков и 4 линии от кнопок.
Видеосистема
Изначально, когда количество видеорежимов было ограниченным, компьютер использовал поддержку видеосистем типа MDA и CGA. BIOS Int 10h идентифицировал тип системы, устанавливал видеорежим, осуществлял вывод информации на экран монитора. Позже появились видеосистемы типа EGA и VGA. Специально под них был разработан блок ПЗУ, содержащий расширение BIOS. В Video BIOS включены все программные средства, осуществляющие аппаратные настройки видеоконтроллера.
Клавиатура
Изначально клавишная матрица включала 83/84 кнопки. Нажатие кнопки вызывало формирование скан-кода, который передавался на входной порт системного регистра, после чего формировался код нажатой клавиши и передавался для дальнейшей обработки компьютерной системой.
В более поздних системах обработку данных клавиатуры производит специализированных контроллер (микросхема i8042). Количество клавиш увеличено до 101/102, при этом полностью сохранена совместимость с предыдущей версией.
Процесс развития архитектуры персональных компьютеров показал жизнеспособность одних решений, которые получили свое развитие в дальнейшем с одной стороны, и с другой, те решения, которые утратили свою актуальность канули в небытие. Например, утратили свою актуальность:
- современные процессоры используют принципиально новую архитектуру;
- системная шина ISA больше не используется;
- устарели первоначальные версии BIOS;
- пропускная способность портов COM, LPT оказалось недостаточной.
На смену устаревшим аспектам пришли новые:
- новые процессоры значительно повысили свою производительность, сохранив при этом полную совместимость с ранними версиями;
- появились более производительные системные шины - VLB, PCI, PCI-Express;
- появились новые порты с гораздо большей пропускной способностью - USB, Fire-Wire;
- современные системы расширены поддержкой новых сервисов - аудио, 3D, поддержка сети и проч.
Но, несмотря на такое серьезное обновление и прогресс, базовые компоненты системы сохранились в первозданном виде и не претерпели переделок, обеспечив тем самым полную совместимость новых версий со старыми.