Организация обмена возлагается на так называемую систему ввода/вывода (IOS). Система ввода/вывода (СВВ) представляет собой комплекс аппаратных и программных средств.
Аппаратные средства СВВ:
· ПУ;
· контроллеры (адаптеры) ПУ;
· специализированные контроллеры для организации обмена (DMAC – direct memory access controller);
· аппаратные интерфейсы;
· система прерываний (точнее ее аппаратная часть обычно представлена специализированным контроллером PIC).
Программные средства СВВ:
· супервизор ввода-вывода;
· драйверы ПУ.
Под вводом данных обычно понимается их передача из ПУ в основную память. Под выводом данных – передача данных из ОП в ПУ.
Основные способы организации ввода/вывода.
· Программно-управляемый ввод-вывод (В/В) (PIO).
o Иногда разделяют на синхронный и асинхронный.
· В/В по прерыванию
· В/В в режиме DMA (прямой доступ к памяти).
При использовании первых двух способов все управления В/В организует ЦП. При этом регистры ЦП обычно являются промежуточным звеном при пересылке данных между ОП и ПУ. При использовании третьего способа организацию обмена осуществляет контроллер DMA без участия ЦП. По завершению операции обмена контроллер DMA информирует об этом ЦП через систему прерываний.
Как правило, контроллеры ПУ включает в свой состав:
· регистр данных;
· регистр приказов (регистр команд);
· регистр состояний.
для доступа к ним со стороны ЦП.
Аппаратная поддержка системы ввода/вывода процессора Intel 80x86, Pentium. Уровень системы команд.
В базовой системе команд есть две команды IN и OUT, с помощью которых реализован обмен между регистром-аккумулятором ЦП AX(AL) и адресуемым портом ввода/вывода. Использование специальных команд В/В предполагает наличие раздельного адресного пространства памяти и В/В. Фактически один и тот же адрес может быть использован и как адрес ячейки памяти и как адрес порта В/В. В командах IN/OUT используется два способа адресации портов В/В:
· прямая (адресация порта задается во втором порте команды);
· неявная (машинный код команды занимает 1 байт и состоит из единственно кода операции, а адрес порта находится в регистре DX (данных)).
В некоторых монографиях второй способ адресации портов называется косвенным. Использование косвенной адресации существенно расширяет объем адресного пространства В/В для однобайтных портов В/В до 0 – 216 -1=65535, для двухбайтных - до 0 – 215-1=32767, для четырехбайтных - до 0 – 214-1 = 16383. При адресации портов В/В используется принцип целочисленной границы. В расширенной системе команд, начиная с Intel 80186, используется дополнительно две команды INS/OUTS, с помощью которых обеспечивается блочный В/В при использование префикса REP или его модификации.
Аппаратные интерфейсы, используемые в ЭВМ, как правило, обладают свойством унифицируемости, подчиняются определенным стандартам.
Унификация затрагивает следующие моменты:
· унифицированность набора линий и шин по составу и назначению;
· унифицированность сигналов и протоколов обмена по линиям (шинам) интерфейса;
· унифицированность конструктивных характеристик средств сопряжения.
Многие авторы отождествляют понятие интерфейса и шины, кроме того, неоднозначность термина тоже имеет место и в отношении шин различных типов. Так, например системная шина достаточно часто называется главной шиной, шиной процессора, шиной памяти и т.п.
В определение интерфейса не вписываются так называемые беспроводные интерфейсы.
Основные виды линий (шин) входящие в состав интерфейсов:
· шина адреса;
· шина данных;
· шина управления (для передачи сигналов управляющих обменом);
· линии синхронизации (для передачи сигналов, синхронизирующих обмен данных по интерфейсу);
· линии запросов прерывания (для передачи сигналов прерываний от ВУ подключенных к интерфейсу в ЦП или PIC);
· линии разрешения прерывания (для передачи сигналов разрешения от ЦП или PIC к ВУ);
· линии питания;
· линии заземления.
Общее число линий в современных интерфейсах составляет ~150-200.
Уровни представления интерфейсов.
· логический: определяет состав, наименование и предназначение линий (шин), а также порядок передачи информации (сигналов) по этим линиям (протокол обмена, который обычно представляется в виде временных диаграмм).
· физический: определяет параметры сигналов (электрических, оптических), переданных по линиям интерфейсов;
· конструктивный: определяет физическую реализацию шин интерфейсов (печатные проводники, витая пара, коаксиальный кабель), а также виды разъемов и распределения линий интерфейсов по контактам разъемов.