3.3. Контроллеры и интерфейсы

Контроллер – устройство, управляющее работой некоторого другого устройства (внешнего или внутреннего).

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

Контроллер прерываний выполняет следующие функции:

• приём запросов прерываний от устройств, требующих обслуживания со стороны ЦП;

• учёт приоритетов запросов в случае одновременного поступления нескольких запросов;

• маскирование (запрет) запросов на основе данных от процессора (только для маскируемых запросов);

• выдача процессору запроса прерывания и кода устройства, которое сделало запрос.

После получения кода устройства процессор находит в памяти и выполняет соответствующую программу обработки прерывания. В дальнейшем механизм прерываний будет рассмотрен подробнее.

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

Процессор программирует контроллер для обмена, для чего задаёт:

• направление передачи (чтение/запись 11);

• начальный адрес блока данных в ОП;

• адрес внешнего устройства;

• размер блока данных (количество слов).

Пересылка данных может выполняться в одном из режимов:

блочная передача: контроллер ПДП монополизирует шину на всё время пересылки блока данных, при этом для ЦП шина недоступна;

одиночная передача: контроллер ПДП после завершения передачи каждого слова освобождает шину минимум на один цикл, в течение которого шина доступна ЦП, но после обнаружения сигнала запроса от ВУ контроллер ПДП выполняет захват шины для очередной передачи;

передача по требованию: осуществляется так же, как и блочная передача, но с выполнением дополнительной проверки наличия сигнала запроса ПДП от ВУ, и в случае его отсутствия, передача приостанавливается до момента появления данного сигнала.

Очевидно, что режимы различаются по времени передачи и эффективностью использования процессора. Процессор во время операций ПДП имеет возможность продолжать работу, при условии, что установленный режим обмена не занимает всей пропускной способности системной шины.

Для обозначения прямого доступа к памяти часто используется сокращение DMA от Direct Memory Access. Существуют более производительные разновидности – Ultra DMA. Обмен посредством ПДП меньше загружает процессор, а скорость обмена с использованием ПДП может быть выше, чем посредством процессора (так называемого программируемого обмена или PIO – Programmable Input/Output), поскольку процессор может выделить для обмена только часть всего времени работы.

Также ПДП может осуществляться так называемыми каналами или процессорами ввода/вывода. Они, в отличие от контроллера ПДП, сами выполняют программы ввода-вывода из ОП по указанию ЦП. В дальнейшем механизм прямого доступа к памяти будет рассмотрен подробнее.

Интерфейс аппаратный (Interface) – средство сопряжения двух систем или подсистем, в котором все конструктивные, электрические и логические параметры предварительно согласованы или стандартизованы.

Физически аппаратный интерфейс реализуется обычно в виде разъёма. Основными разновидностями интерфейсов компьютера являются последовательный и параллельный интерфейс.

Последовательный интерфейс – сопряжение, через которое информация передаётся по одному биту за один такт передачи. Примером стандартного последовательного интерфейса может служить интерфейс RS 232, предназначенный для подключения к компьютеру относительно медленных периферийных устройств (модем, мышь). В настоящее время последовательный тип интерфейса используется и для подключения к компьютеру устройств среднего быстродействия, например, накопители на жёстких магнитных дисках (SATA), внешние накопители, сканеры (USB) и т.д.

Параллельный интерфейс – сопряжение, через которое за один такт передаётся два и более бита информации (обычно по одному байту). Примером стандартного параллельного интерфейса является Centronics, используемый для подключения принтера.

Вопросы для самопроверки

1. Поясните назначение и особенности построения оперативной памяти.

2. Поясните назначение и особенности построения кэш-памяти.

3. В чём назначение и основные функции System BIOS компьютера?

4. В чём назначение и основные функции CMOS RAM компьютера?

5. Поясните назначение, функции и состав чипсета компьютера.

6. Поясните назначение и функции контроллера прерываний.

7. Поясните назначение и функции контроллера прямого доступа к памяти.

8. Дайте понятие интерфейса и укажите его основные разновидности.

4. Центральный процессор

4.1. Принципы адресации к памяти в реальном режиме работы процессоров

Особенности адресации в реальном режиме определены следующими факторами.

1. Особенности процессоров i8086/88, впервые применённых в микрокомпьютерах типа IBM PC: эти процессоры содержат 16-разрядные регистры, имеют 20-разрядную шину адреса и, таким образом, могут адресовать 220≈ 1 млн слов данных. С учётом того, что внешняя шина данных является 8-разрядной (для i8088), слово данных имеет размер 1 байт, и поэтому максимальный объём адресуемой памяти составляет 1 Мбайт.

2. Сегментная организация памяти и соответствующий механизм адресации. Это позволяет процессору, используя 16-разрядные регистры, формировать 20-разрядные адреса.

Для обеспечения доступа вся память логически разбивается на сегменты размером по 64 Кбайт, внутри которых процессор может адресовать память, используя 16-разрядные адреса. При этом физический адрес байта памяти т.е. адрес, выставляемый процессором на шине адреса, определяется по формуле

Addr = Segment + Offset ,

где Addr – физический адрес;

Segment – адрес начала сегмента памяти (20-битный);

Offset – смещение относительно начала сегмента (16-битное); первый байт сегмента имеет смещение 0, второй байт – 1 и т.д. до 65 535.

Всё адресное пространство памяти, начиная с нулевого адреса, логически разбито также на параграфы – области памяти, состоящие из 16-ти смежных байт (рис. 2).

Сегмент – непрерывная область памяти размером 64 Кбайта, выровненная на границу параграфа, т.е. имеющая адрес, кратный 16 (рис. 2).

Рассмотрим теперь, каким образом процессоры 8086/8088 адресуют память, размером в 1 Мбайт. Так как адрес сегмента расположен на границе параграфа, младшие четыре бита его адреса всегда равны нулю (рис. 2). Хранить биты, всегда равные нулю, нецелесообразно. Поэтому значение адреса сегмента XXXX0h хранится в так называемых сегментных регистрах процессора в виде XXXXh, где X – шестнадцатеричная цифра. Процессор же «понимает», что дополнительно имеется младший шестнадцатеричный нуль (четыре младших нулевых бита), который и добавляется перед вычислением физического адреса. Наибольшее значение адреса сегмента FFFF0h плюс максимальное смещение FFFFh с избытком позволяет адресовать 1 Мбайт памяти.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «ЛитРес».

Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.