Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 / Lectures / Lect5_pc.doc
Скачиваний:
58
Добавлен:
28.05.2015
Размер:
350.21 Кб
Скачать

Системный порт, таймер и динамик (компоненты системной платы) ([5], с.81)

Системная плата первой модели IBM PC содержала несколько функциональных узлов, которые, благодаря открытому их описанию, стали широко использоваться большим количеством программ и программных продуктов. Это привело к необходимости сохранения их и в последующих моделях ПЭВМ, исходя из требований совместимости моделей семейства x86 сверху вниз.

Такими узлами явились следующие:

схемы предоставления системных ресурсов: памяти, ввода-вывода, прерываний, каналов прямого доступа;

микросхемы ROM BIOS с программным кодом начального тестирования, запуска ПЭВМ и функций ввода-вывода;

системный таймер, первоначально использовавшийся как генератор запросов регенерации динамической памяти, интервальный таймер и генератор звуковой частоты для динамика. (Эти функции реализовали микросхемы 8253, затем 8254, а впоследствии они были интегрированы в чипсет);

три системных порта на микросхеме 8255, использовавшихся для интерфейса клавиатуры, чтения переключателей конфигурации, управления звуком и немаскируемыми прерываниями. В IBM AT интерфейс клавиатуры реализовали на контроллере 8042, переключатели конфигурации исключили, а остальные функции реализовали одним портом;

канал управления звуком: логическая схема, использующая меандр звуковой частоты, генерируемый таймером, и биты системного порта, управляемые программно. Для IBM AT были программы которые даже могли синтезировать речевые фонемы и исполнять электронную музыку;

последовательный интерфейс клавиатуры, реализуемый в XT аппаратной логикой, а в AT – контроллером 8042;

память конфигурации и часы-календарь – CMOS RTC – узел, появившийся в AT.

Элементная база ПЭВМ существенно изменилась за 20 лет, степень интеграции возросла и все перечисленные узлы оказались в одной или двух микросхемах чипсета. Однако, логика их функционирования и программная модель практически не изменились.

Системный порт

Восьмибитный системный порт имеет адрес (ввода-вывода) 61h. Его функции, после введения контроллера клавиатуры и замены переключателей конфигурации на CMOS-память, ограничились следующими:

управление звуком (динамика);

разрешение и идентификация источников NMI;

синхронизация регенерации динамической памяти.

Назначение битов системного порта (061h) представлено в табл. 5:

Таблица 5. Назначение битов системного порта IBM PC

Бит

Чтен/Зап

Назначение

7

Чтение

PCK – ошибка четности ОЗУ, сигнал SERR# на шине PCI

6

Чтение

IOCHK – ошибка на шине

5

Чтение

T2O – выход 2 счетчика-таймера

4

Чтение

Регенерация памяти

3

Чт/Зп

EIC – разрешение контроля канала

2

Чт/Зп

ERP – разрешение контроля ОЗУ и сигнала SERR# шины PCI

1

Чт/Зп

SPK – управление звуком

0

Чт/Зп

T2G – вход разрешения GATE 2 счетчика-таймера

Видно, что прерывание NMI, генерируемое при появлении сигналов ошибок PCK и IOCHK, фактически, можно запретить битами 2 и 3 порта.

Системный таймер

Микросхемы таймеров (8253 и 8254) включали в себя по три счетчика, которые могли работать в несколько различающихся режимах (см. табл. ниже). Счетчики имели разрядность по 16 бит каждый, однако, ввод или вывод для них мог быть только побайтный. Причем занесение (для процессора – вывод) в счетчик может осуществляться отдельно младшего байта, старшего байта или обоих байтов по очереди, а чтение содержимого счетчика (для процессора – ввод) производится в два обращения: сперва за младшим байтом, а затем – за старшим.

Назначение счетчиков следующее:

генерация прерываний от системных часов;

генерация запросов на регенерацию памяти;

генерация звуковых сигналов.

Входная частота всех каналов 1,19318 МГц. Задание режима работы счетчика осуществляется записью соответствующего кода в управляющий регистр по отдельности для каждого канала. Адреса и назначение регистров счетчика-таймера приведено в табл.6:

Таблица 6. Назначение регистров счетчика-таймера IBM PC

Порт

Чтен/Зап

Назначение

040h

Чт/Зп

Счетчик 0 – системные часы (генерация IRQ0 каждые 54,936 мс (частота 18,206 Гц).

Режим работы 3, двоичный, 16 бит, начальное значение 0 (коэффициент пересчета 65536)

041h

Чт/Зп

Счетчик 1 – регенерация памяти (сигнал в логику регенерация для IBM PC AT каждые 15,09мкс (частота 66,288 КГц).

Режим работы 2, двоичный, 16 бит, начальное значение 12h(коэффициент пересчета 18)

042h

Чт/Зп

Счетчик 2 – генератор звука.

Вход GATEзапитан от бита 0 порта 061h.

Режим работы 3, двоичный, 16 бит

043h

Запись

Управляющий регистр

Управляющего регистр имеет 8 разрядов, назначение которых следующее:

SC1

SC0

RL1

RL0

M2

M1

M0

BCD

где

  • SC1,0 – биты выбора счетчика 0 (00), 1 (01) или 2 (10), код 11 - недействительный

  • RL1,0 – биты управления чтением/загрузкой счетчика:

00 – запоминание содержимого счетчика

01 – чтение/загрузка только младшего байта

10 – чтение/загрузка только старшего байта

11 – чтение/загрузка сперва младшего байта, а затем – старшего

  • M2,1,0 – биты задания режима работы счетчиков

000 – прерывание по концу счета

001 – программируемый одновибратор

x10 – генератор частоты

x11 – генератор меандров

100 – программно-управляемый строб (запуск перезагрузкой кода)

101 – аппаратно-управляемый строб (запуск входом GATE)

  • BCD – режим счета: 0 – двоичный, 1 – двоично-десятичный

В более поздних моделях ПЭВМ таймер интегрирован в микросхему чипсета.

Канал динамика

Стандартный канал управления звуком динамика (Speaker) рассчитан на подключение малогабаритного высокоомного динамика. Логическая схема канала показана на рис.5

Звук формируется от сигнала звуковой частоты, поступающего от второго канала (счетчика) таймера, работой которого можно программно управлять.

Частота сигнала (высота тона) задается установкой коэффициента деления счетчика, а длительность тона соответствует длительности разрешающего сигнала: программно-управляемого битом 0 порта 061h.

Такой способ формирования звука мало загружает даже процессор 8086 и позволяет исполнять простейшие мелодии даже в фоновом режиме, посылая команды по прерываниям от системного таймера.

Кроме того, с учетом некоторой инерционности слухового восприятия, при быстром переключении частот можно добиться и простейшего (псевдо) многоголосия воспроизводимых мелодий.

Более интересные звуки можно извлекать, используя принцип широтно-импульсной модуляции, осуществляемой программно через бит 1 порта 061h. В этом случае динамик выполняет роль фильтра нижних частот. Процессоры, начиная с 80286, способны формировать такой поток управляющих сигналов, который позволяет воспроизводить музыку или речь с качеством карманного приемника. Но это почти полностью загружает процессор. Драйвер для такого извлечения звука существует и дляWindows, но в стандартную поставку не входит. Известны и“простейшие”программы, которые воспроизводят голосом написанный текст или подсказывают произношение слов из словаря иностранного языка.

В настоящее время для работы со звуком используется двунаправленный аудиоканал. Роль стандартного звукового сигнала динамика ПЭВМ сводится к подаче гудков при загрузке, звуковой идентификации ошибок во время POSTдо инициализации видеоадаптера, когда сообщения на экран еще не вывести, сопровождению сообщений о системных ошибках.

Соседние файлы в папке Lectures