|
|
Компьютеры - Порт ввода-вывода - Порты или память?23 января 2011
Оглавление: 1. Порт ввода-вывода 2. Порты или память?
Преимущества портов:
- Возможна совсем другая схемотехническая организация ввода-вывода.
- Человек, читающий ассемблерный листинг, сразу же видит, что это работа не с памятью, а с внешним устройством.
- Всё адресное пространство машины можно пустить на ОЗУ, без всяких «дыр» наподобие UMB.
- Для машин низкой разрядности, у которых адрес в памяти задаётся регистровой парой, а на порт хватает и одного регистра, ускоряется работа с внешними устройствами.
Преимущества памяти:
- Упрощение конструкции процессора.
- Более широкий набор возможных инструкций: все инструкции, способные записать данные в память, в том числе автоинкрементные и SIMD, могут заниматься вводом-выводом.
- Удобнее работа с функциями, оперирующими большими объёмами данных.
Порты в архитектуре IA-32
Процессор позволяет осуществлять ввод-вывод как через память, так и через порты. Доступ к портам осуществляется особыми командами IN , INS , INSB , INSW , INSD , OUT , OUTS , OUTSB , OUTSW и OUTSD ; доступ к памяти обычными функциями работы с памятью. Два последовательных порта могут объединяться в один двухбайтовый порт, четыре в один четырёхбайтовый. Как и с памятью, для максимальной производительности номера портов должны быть выровнены соответственно по 2- и 4-байтовой границе. Если требуется записывать данные в два соседних порта в определённом порядке, этого нельзя делать многобайтовыми командами.
Процессор умеет проецировать порты в память; при этом процессор гарантирует, что операция ввода-вывода через порт завершится до того, как начнёт выполняться следующая команда. С вводом-выводом через память такой гарантии нет. Впрочем, процессор не проверяет ошибок чётности на портах, поэтому в системах высокой надёжности программист должен быть готов к ошибкам чётности.
Физически адрес порта подаётся через ту же адресную шину, что и адрес памяти. В процессорах до Pentium был штырь MI/O#; в более поздних эту функцию выполняют линии запроса команды.
Просмотров: 2046
|