
3.7. Средства сопряжения
Обычная компьютерная система малого или среднего размера состоит из микросхемы процессора, микросхем памяти и нескольких контроллеров ввода-вывода. Все эти микросхемы соединены шиной. Мы рассмотрели память, центральные процессоры и шины. Теперь кратко остановимся на микросхемах ввода-вывода. Именно через эти микросхемы компьютер обменивается информацией с внешними устройствами.
В настоящее время существует множество различных микросхем ввода-вывода. К наиболее распространенным относятся следующие: UART, USART, контроллеры CRT (CRT - электронно-лучевая трубка), дисковые контроллеры и РIO.
UART (Universal Asynchronous Receiver Transmitter - универсальный асинхронный приемопередатчик) - это микросхема, которая может считывать байт из шины данных и передавать этот байт по битам на линию последовательной передачи к терминалу или получать данные от терминала. Микросхема может обеспечивать проверку на четность или на нечетность. Микросхема USART (Universal Synchronous Asynchronous Receiver Transmitter - универсальный синхронно-асинхронный приемопередатчик) может осуществлять синхронную передачу, используя ряд протоколов. Она также выполняет все функции UART.
Типичным примером микросхемы PIO (Parallel Input/Output - параллельный ввод-вывод) является Intel 8255А. Она содержит 24 линии ввода-вывода и может сопрягаться с устройствами широкого диапазона (например, клавиатурой, принтером, переключателями, индикаторами). Программа центрального процессора может записать 0 или 1 на любую линию или считать входное состояние любой линии, обеспечивая высокую гибкость. Микросхема PIO часто используется во встроенных системах.
Центральный процессор может конфигурировать микросхему 8255А различными способами, загружая регистры состояния микросхемы. В простейшем режиме данную микросхему можно представить в виде трех 8-битных портов: А, В и С. С каждым портом связан 8-битный регистр. Чтобы установить линии, центральный процессор записывает 8-битное число в соответствующий регистр, и это 8-битное число появляется на выходных линиях и остается там до тех пор, пока регистр не будет перезаписан. Чтобы использовать порт для входа, центральный процессор считывает соответствующий регистр.
Другие режимы работы предусматривают двустороннюю связь с внешними устройствами. Например, чтобы передать данные устройству, микросхема 8255А может представить данные на порт вывода и подождать, пока устройство не выдаст сигнал о том, что данные получены и можно посылать еще. В данную микросхему включены необходимые логические схемы для фиксирования таких импульсов и передачи их центральному процессору.
Помимо 24 выводов для трех портов микросхема 8255А содержит восемь линий, непосредственно связанных с шиной данных, линию выбора элемента памяти, линии чтения и записи, две адресные линии и линию для переустановки микросхемы. Две адресные линии выбирают один из четырех внутренних регистров, три из которых соответствуют портам А, В и С. Четвертый регистр - регистр состояния. Он определяет, какие порты используются для входа, а какие для выхода, а также выполняет некоторые другие функции. Обычно две адресные линии соединяются с двумя младшими битами адресной шины.