- •Визначення персонального комп'ютера і його основні складові частини. Конструктивний устрій пк.
- •Системні ресурси персонального комп'ютера.
- •3 Адресний простір пк. Модель розподілу пам'яті. Додаткова, відображувана і розширена пам'ять.
- •Прямий доступ до пам'яті. Канали прямого доступу до пам'яті і пряме керування шиною.
- •Розподіл системних ресурсів. Поняття Plug and Play.
- •Апаратні і програмні переривання. Джерела переривань і їхня обробка.
- •Системний порт івм рс. Системний таймер. Канал керування звуком. Інтерфейс клавіатури. Батарейна пам'ять і годинник cmos.
- •Процедура post і базова система введення-виведення. Розширення базової системи введення-виведення.
- •Системна плата. Основні типи конструктива і порядок установки. Підключення компонентів до материнської плати.
- •10. Установка і конфігурування оперативної пам'яті і процесора.
- •Логіка керування системною платою. Поняття чипсета, його функції і структура.
- •Південний і північний міст. Розподіл функцій: керування системною платою; визначення характеристик пристроїв; організація інтерфейсу.
- •Вибір системної плати. Перелік основних характеристик. Основні елементи архітектури.
- •Поняття однокристального процесора. Основні типи корпусів. Способи установки процесора на плату.
- •Основные корпуса Корпус pga
- •Корпуса sec и sep
- •Гнезда для процессоров
- •15. Процесор і8086. Організація пам'яті, регістри процесора. Процессоры 8086 и 8088
- •16. Процесор і80286. Реальний і захищений режим роботи.
- •17. Фізичні і логічні основи збереження інформації. Види пам'яті і їхні основні характеристики.
- •Шина isa, її параметри. Основні сигнали шини.
- •21. Шина рсі. Протокол обміну по шині рсі.
- •Інтерфейс agp. Фактори підвищення продуктивності функціонування шини.
- •Відеосистема. Фізичні основи візуалізації інформації. Принципи виводу зображення.
- •Відеосистема. Графічний режим. Текстовий режим. 2d і 3d акселератори.
- •Відеосистема. Типи графічних адаптерів.
- •Принципи довгострокового збереження інформації. Типи накопичувачів інформації.
- •Фізична і логічна організація жорстких дисків.
- •Основні інтерфейси жорстких дисків та їх характеристики.
Системний порт івм рс. Системний таймер. Канал керування звуком. Інтерфейс клавіатури. Батарейна пам'ять і годинник cmos.
Системный порт PC/AT
Восьмибитный системный порт с адресом 61h выполняет следующие функции: ш управление звуком, сохранившее полную совместимость с XT; » разрешение и идентификация источников NMI (в этом месте программную модель XT «посмели» изменить, но это изменение затрагивает небольшое количество сугубо системных программ).
Старшие 4 бита порта допускают только чтение (R), младшие 4 бита — чтение и запись (R/W).
Назначение бит системного порта AT (061h):
ш бит 7 R — РСК — ошибка четности ОЗУ или сигнал SERPJ на шине PCI;
т бит 6 R — IOCHK — ошибка контроля на шине ISA (сигнал ЮСНК#);
ш бит 5 R — Т20 — выход 2 счетчика 8254;
ш бит 4 R — RFD — регенерация памяти;
» бит 3 R/W — EIC — разрешение контроля шины ISA;
т бит 2 R/W — ERP — разрешение контроля ОЗУ и сигнала SERR# шины PCI;
ш бит 1 R/W — SPK — управление звуком;
« бит 0 R/W - T2G - вход GATE 2 счетчика 8254.
В PC/XT применялась микросхема трехканального интерфейса ввода-вывода i8255, располагавшаяся в адресах портов 60-63h и имевшая следующее назначение:
ш чтение скан-кодов клавиатуры;
ш управление звуком;
ш разрешение и идентификация источников NMI;
ш чтение байта конфигурации.
Системный таймер (8253/8254)
Во всех моделях PC используется трехканальный счетчик-таймер, выполняющий следующие функции:
« генерацию прерываний от системных часов, вызывающих инкремент счетчика системного времени в ячейке 40:006Е BIOS Data Area; ш генерацию запросов на регенерацию памяти; * генерацию звуковых сигналов.
В качестве счетчиков-таймеров в XT применялась микросхема i8253, а в AT — более быстродействующая i8254, которая с процессорами 80286 могла работать без тактов ожидания. На современных системных платах те же функции берет на себя чипсет, сохраняя программную совместимость с 8253/8254. Микросхемы 8253 и 8254 представляют собой трехканальные программируемые счетчики-таймеры, функционально почти совпадающие, но имеющие различающееся быстродействие (со стороны системной шины) и назначение выводов. Внутренние счетчики микросхемы имеют разрядность 16 бит, но общение с ними возможно только 8-битными операциями. При этом можно задавать значение только младшего байта счетчика (LSB), только старшего (MSB) или обоих (LSB/MSB), причем сначала передается младший, а потом старший байт. Программирование- микросхемы осуществляется записью байт в управляющий регистр по отдельности для каждого канала. Назначение регистров счетчиков-таймеров приведено в табл. 3.4. Все каналы работают в режиме генерации импульсов, в канале 2 используется управляющий вход GATE, высокий уровень которого разрешает счет (формирование выходного сигнала, см. ниже). Счет для каналов 0 и 1 разрешен постоянно. Входная частота для всех каналов 1,19318 МГц.
Канал управления звуком (PC Speaker)
Стандартный канал управления звуком PC Speaker рассчитан на подключение высокоомного малогабаритного динамика. Логическая схема канала приведена на рис. 3.5. Звук формируется из тонального сигнала от второго канала таймера, работой которого можно программно управлять. Частоту сигнала (тон) можно изменять, программируя коэффициент деления счетчика. Кроме того, разрешая/запрещая формирование сигнала программно-управляемым битом 1 системного порта 61h, можно подавать сигналы определенной длительности. Такой способ формирования звука мало загружает даже процессор 8086/88 и позволяет исполнять незамысловатые мелодии, причем и в фоновом режиме, посылая команды из очереди по прерываниям от системного таймера. А с учетом физиологии слуха (инерционности восприятия) быстрым переключением частот можно достигать эффекта псевдомногоголосия. Таймер генерирует выходной сигнал при высоком уровне на входе GATE2 (при единичном значении бита 0 порта 61h). При низком уровне на входе GATE2 таймер формирует высокий уровень на выходе.
Более интересные звуки можно извлекать, используя принцип широтно-им-пульсной модуляции, программно осуществляемый через бит 1 порта 61h. При этом на входе GATE таймера должен быть низкий уровень (бит 0 порта 61h
должен быть нулевым), чтобы на выходе 0UT2 установился высокий уровень. В -этом случае динамик играет роль фильтра нижних частот (инерционного звена) демодулятора. Процессоры, начиная с 80286, способны формировать такой поток управляющих сигналов, который позволяет воспроизводить музыкальный или :ечевой сигнал с качеством карманного приемника, что практически полностью загружает, например, 286-й процессор. Кроме того, качество воспроизведения
лльно зависит от частотных свойств динамика. Предпочтительнее более крупные динамики, у которых лучше воспроизведение нижних частот — с ними мож--::> добиться даже разборчивости речи. Возможно также комбинированное управление обоими битами порта 61h одновременно с программированием коэффициента деления счетчика-таймера. Для Windows З.х/95 существует даже драй-:-ср для звукоизвлечения через эти незамысловатые аппаратные средства, но в .тандартную поставку ОС он не входит. Теперь для звуковоспроизведения (и звукозаписи) используется ставший стандартным аудиокодек (см. главу И). Роль гандартного звукового канала сводится к подачам гудков при загрузке, идентификации ошибок во время теста POST, когда сообщения на экран еще не вывести, а также к сопровождению сообщений о системных ошибках.
Батарейная память и часы — CMOS Memory, RTC
В AT для хранения информации о конфигурации компьютера имеется специальная микросхема памяти КМОП небольшого объема, питание которой при выключенном компьютере осуществляется от батарейки. В той же микросхеме располагаются и часы-календарь, также питающиеся от той же батарейки. Эта память и часы — CMOS Memory and Real Time Clock, сокращенно CMOS RTC — стали стандартным элементом архитектуры PC. Содержимое этой памяти и дату .начала модифицировали с помощью внешней загружаемой утилиты Setup, л позже эту утилиту встроили в BIOS. Микросхемы CMOS RTC имеют встроен--;ую систему контроля непрерывности питания, отслеживающую и разряд бата-:еи ниже допустимого уровня. Достоверность информации конфигурирования
сюверяется контрольной суммой. Таймер синхронизируется от собственного генератора с кварцевым резонато-
эм, как правило, на 32,768 кГц. Таймерная часть содержит:
ш часы-календарь (год, месяц, число, час, минута, секунда); « будильник, подающий сигнал в назначенный час, минуту и секунду; ж генератор меандра, позволяющий формировать запросы прерываний с заданной частотой (как правило, 1024 Гц).
Микросхема CMOS RTC является источником аппаратного прерывания с мером 8, прерывания могут возникать от будильника, генератора меандра и еле смены времени в часах. Отдельные источники прерывания идентифици-ются чтением ячейки ОСЬ и разрешаются записью в ячейку OBh.
Доступ к ячейкам CMOS RTC осуществляется через порты ввода-вывода "Oh (индекс ячейки) и 071h (данные). Заметим, что бит 7 порта 70h использу ется и для блокировки NMI (см. п. 3.4.1), так что диапазон адресов памяти CMOS ограничен пределами 0-7Fh. Поскольку эта память имеет быстродействие порядка единиц микросекунд, между командами записи адреса и чтения-записи данных необходима программная задержка. Во время изменения состояния часов данные, считываемые из ячеек 0-9, могут оказаться некорректными. Признаком этой ситуации является единичное значение бита 7 ячейки OAh. Для определения момента окончания смены состояния часов можно пользоваться и разрешением соответствующего источника прерывания. Для работы с часами и будильником имеется сервис BIOS Int lAh (см. ниже), который избавляет от необходимости программирования операций с учетом требуемых задержек, но может выдавать результаты и не с первого раза, если вызов попадет на момент изменения показаний часов. В этом случае вызов придется повторять.
Назначение ячеек CMOS RTC приведено в табл. 3.5. Обратим внимание на формат представления даты, являющийся одним из источников проблемы «двух нулей» (проблемы 2000 года, кратко называемой и Y2K). Первоначально под год отводился лишь байт 09 (две младшие цифры), старшие подразумевались всегда равными 19. Впоследствии (в эпоху 386-х и 486-х машин) добавили еще один байт для века (32h или 37h), однако он автоматически (аппаратно схемой RTC) при переходе от 1999 к 2000 году инкрементируется не всеми таймерами. В таком случае после наступления 2000-го года его можно установить и вручную (до инкремента в 2099 году эти компьютеры, наверное, и не доживут). Однако и здесь возможен подвох — не во всех версиях BIOS на XXI век правильный календарь — дни недели, указанные в календаре CMOS Setup, могут не совпадать с реальными. Дни недели календаря BIOS задействуются (и то необязательно) только при ручной установке даты через CMOS Setup — операционные системы используют свои календари. А вот неверный отсчет високосных годов может исказить дату.
Свободные ячейки CMOS RTC иногда используют для привязки ПО к конкретному компьютеру (системной плате). Эта привязка выполняется в процессе установки ПО, и если не сохранить образ CMOS на диске, то при разрушении информации в CMOS (например, из-за разряда батарейки) пользователь потеряет право на использование ПО. По этой причине такой способ привязки нельзя считать корректным, поскольку изготовитель ПО на себя ответственность за батарейку, естественно, не берет.
В PC XT памяти CMOS не было, конфигурация оборудования (объем памяти, количество дисководов и т. п.) задавалась переключателями DIP (см. п. 3.6.1), состояние которых опрашивалось во время теста POST. Часов-календаря тоже не было, поэтому время и дату при загрузке приходилось задавать вручную (при незаданной дате на момент загрузки устанавливалась дата 01.01.1980 и время 00:00). Потом появились интерфейсные карты, в составе которых были и часы-календарь на микросхеме МС146818.
Интерфейс клавиатуры
Для подключения клавиатуры предназначен последовательный синхронный интерфейс, состоящий из двух обязательных сигналов KB-Data и KB-Clock. Обе линии на системной плате подтягиваются резисторами к шине +5 В. На обеих сторонах интерфейса выходные сигналы низкого уровня формируются выходами
элементов с открытым коллектором (стоком), а состояние линий может быть прочитано через входные линии контроллеров. На некоторых старых системных платах имеется и дополнительный сигнал KB-Reset, сбрасывающий клавиатуру низким уровнем. Интерфейс клавиатуры AT двунаправленный: от клавиатуры передается информация о нажатии/отпускании клавиш, передача информации к клавиатуре используется для управления индикаторами ее состояния и программирования параметров (автоповтор, набор скан-кодов). Контроллер интерфейса клавиатуры и его разъем всегда располагаются на системной плате. Конструктивно возможны два варианта разъема — обычная 5-контактная розетка DIN (вид ее со стороны задней панели и назначение контактов приведены на рис. 9.1, а) или малогабаритная розетка mini-DIN для клавиатуры PS/2 (рис. 9.1, б). На этот же разъем через плавкий предохранитель поступает напряжение питания клавиатуры +5 В. Электрически и логически интерфейс клавиатуры PS/2 повторяет AT, поэтому для согласования типа разъема применяют специальные переходники. Предпочтительнее использовать переходники, выполненные в виде мягкого кабеля с разъемами. Монолитный переходник, особенно с АТ-клавиатуры на PS/ 2-разъем, хуже тем, что малейшее движение кабеля вызывает большой момент силы, выламывающей переходник из маленького гнезда PS/2.
Процессор общается с клавиатурой через контроллер интерфейса клавиатуры (микроконтроллер 8042 или программно-совместимый с ним), в основном используя порт 60h. Прием скан-кодов осуществляется чтением этого порта. О необходимости чтения скан-кода контроллер сигнализирует процессору через аппаратное прерывание IRQ1, сигнал которого вырабатывается по каждому событию клавиатуры (нажатию и отпусканию клавиши). Задание параметров автоповтора, выбор таблиц скан-кодов, управление светодиодными индикаторами, а также управление режимом сканирования матрицы клавиш и запуск диагностического теста осуществляется командами, посылаемыми в этот порт. Контроллер транслирует команды в посылки, направляемые к клавиатуре.
На системной плате PC/XT контроллера 8042 не было, а интерфейс клавиатуры (однонаправленный) был реализован аппаратной логикой — регистром сдвига, параллельный выход которого подключается к входам порта А системного интерфейса i8255. По приему байта от клавиатуры вырабатывается аппаратное прерывание IRQ1, обработчик которого может прочитать принятый байт из порта 60h. С помощью бит 7 и 6 порта 61h возможны программная блокировка и сброс клавиатуры соответственно. Сброс клавиатуры XT осуществляется обнулением линии KB-Clock.
С распространением шины USB появились клавиатуры и с этим интерфейсом, они имеют и встроенный хаб, например, для подключения мыши USB. Клавиатура USB питается от шины. Для клавиатуры USB требуется специальная поддержка со стороны BIOS, она имеется в современных системных платах. На таких платах в CMOS Setup появляется параметр включения поддержки традиционной клавиатуры (Legacy Keyboard Support).