Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Ввод-вывод с отображением на память




 

32-разрядные процессоры позволяют адресовать до 64 Кбайт однобайтных реги­стров (портов ввода/вывода) в отдельном от памяти пространстве. Процессоры могут обращаться к портам разрядностью в байт или слово, причем разрядность слова (16 или 32 байт) определяется текущим режимом адресации и может изме­няться с помощью префикса инструкций. При операциях ввода/вывода линии А[16:31] не используются. Адрес устройства задается либо в команде (только младший байт, старший – нулевой), либо берется из регистра DX (полный 16-бит­ный адрес).

В защищенном режиме инструкции ввода/вывода являются привилегированными. Это означает, что они могут исполняться задачами только с определенным уров­нем привилегий. Несанкционированная попытка выполнения этих инструкций вызо­вет исключение 13 (#GP) – нарушение защиты (сообщение General Protection Error).

Все операции с портами ввода/вывода выполняются без какого-либо кэширова­ния и строго в порядке, предписанном программным кодом. Это естественно, поскольку порты ввода/вывода используются для управления различными аппа­ратными средствами, и после­довательность управляющих воздействий и считы­ваний состояния не должна нарушаться. Для этих целей можно ис­пользовать и область пространства памяти – так называемое отображение ввода/ вывода на память. Тогда для этой области памяти должно быть запрещено кэши­рование и установлен строгий порядок записей. Процессоры Р6 позволяют этого добиться с помощью формирования атрибутов страниц памяти. Процессоры 4-5 поколения позволяют аппаратно запрещать кэширо­вание. Порядок операций у этих процессоров всегда строгий. Процессоры младших поколений кэширование не поддерживают, так что отображение ввода/вывода на память у них проблем не вызывает.

 

Порты ввода-вывода

 

Подсоединение периферийных устройств, таких как манипу­лятор типа мышь, внешний модем или принтер, к персонально­му компьютеру производится через так называемые устройства сопряжения, или адаптеры, на которых реализованы стандарт­ные или специальные интерфейсы. До недавнего времени подоб­ные адаптеры были выполнены в виде отдельных плат ввода-вывода – Input-Output (I/O) Card, вставляемых в разъемы рас­ширения на системной плате. Современные системные платы, как правило, интегрируют все необходимые адаптеры.

Итак, взаимодействие периферийного устройства с адаптером происходит через один (возможно, один из двух) интерфейс, оп­ределяющий, в частности, тип и «род» (розетка или вилка, female или male) соединителя, уровни и длительность электрических сигналов, протоколы обмена.

На практике стандартные последовательный и параллель­ный интерфейсы часто называют портами ввода-вывода.

Порт – электронная схема, использующаяся для передачи сигналов на другие устройства.

Собст­венно, до последнего времени в качестве последовательного стан­дартного интерфейса используется разновидность RS-232C (Rec­ommended Standard), а в качестве параллельного – Centronics.

Порт называют после­довательным, когда информационные биты передаются последо­вательно один за другим и параллельным, когда несколько бит данных передаются одновременно. Если несколько адаптеров (последовательного и параллельного портов, приводов флоппи- и жестких дисков) конструктивно выполнены на отдельной плате, она называется, как правило, многофункциональной платой ввода-вывода (Multi I/O Card).

Через порт процессор получает данные с устройств ввода и посылает данные на устройства вывода. В большинстве случаев к параллельному интерфейсу подключается принтер. Однако имеются еще и другие периферийные устройства, управление которы­ми осу­ществляется через этот интерфейс, в ряде случаев это плоттер или сканер. Иногда это внешние дисководы, но чаще внешние стриммеры. При этом возможна передача данных с максималь­ной скоростью 1 Мбайт/с. Также параллельные интерфейсы используются для обмена информа­цией между двумя PC.

 

Параллельный порт

 

Поскольку параллельный порт в IBM PC-совместимом ком­пьютере чаще всего используется для подключения принтера, то его называют также принтер-портом. В MS-DOS компьютер работает максимум с тремя параллельными портами, которые имеют логические имена LPT1, LPT2 и LPT3. В адресном про­странстве компьютера резервируются базовые адреса этих пор­тов: 3ВСh, 378h и 278h. Первый адрес обычно используется, если принтер-порт находится, например, на плате графического адап­тера Hercules или EGA. На плате Multi I/O Card адрес LPT1 – 378h, а LPT2 – 278h. Для принтерного порта LPT1 предусмот­рено аппаратное прерывание IRQ7, а для LPT2 – IRQ5, хотя на практике они обычно не применяются. Установка базовых ад­ресов портов и возможность использования прерываний настраи­ваются перестановкой перемычек (jumpers) на плате, описание которых приводится в технической документации для конкрет­ного адаптера или в программе начальной установки SETUP.

Сначала интерфейс Centronics был конструктивно реализован на нескольких ТТЛ-микросхемах. Именно на них в этом случае выполняются декодирование адреса, промежуточное хранение и инвертирование отдельных сигналов. Затем широкое распространение получили адапте­ры, в которых практически все функции отдельных ТТЛ-микро­схем объединены в одной БИС типа 82С11, выполненной по КМОП-технологии. Теперь все микросхемы портов и адаптеров «спрятаны» обычно в одной СБИС.

Начиная с базового адреса, каждый порт принтера имеет в ад­ресном пространстве три адреса. При этом первый адрес соответ­ствует регистру данных, посылаемых от компьютера к принтеру. Чтение установленных битов данных можно осуществить по тому же адресу. Физически чтение данных происходит через специальный буфер данных.

Следующий адрес (базовый плюс единица) позволяет читать регистр статуса адаптера (расположен­ный в принтере) через буферную микросхему. Регистр статуса позволяет определить состояние некото­рых сигналов интерфейса Centronics.Чтение регистра статуса имеет смысл при передаче данных на принтер для определения состояния принтера и процесса пере­дачи данных.

Адрес третьего порта (базовый адрес плюс 2) соответствует ре­гистру управления интерфейса. Этот регистр (read only – только для чтения) позволяет определить следующие состояния принте­ра:

- бит 0 = 0: сигнал Strobe активен (описание см. ниже),

- бит 1 = 0: сигнал Auto feed включен (описание см. ниже),

- бит 2 = 0: инициализа­ция принтера,

- бит 3 = 1: принтер вы­бран,

- бит 4 = 1: прерывание разрешено.

Распределение сигналов

 

При минимальной конфигурации для реализации параллельного интерфейса было бы достаточно 11 проводов: один провод массы (корпус), два так назы­ваемых провода подтверждения (Handshake) и восемь проводов для передачи данных. Поскольку параллельный интерфейс часто отождествляют с разъемом кабеля принтера, приведем назначение выводов соответствующего 36-контактного разъема Centronics.

Данные (линия 2-9 и 18-25)

Восемь линий данных передают восемь битов информации. Для каждой ли­нии данных имеется отдельный проводник заземления (18-25)

Подтверждение (линия 1,10,11)

При передаче данных обе стороны должны сообщать друг другу информацию о своем состоянии. Это осуществляется путем передачи по определенной ли­нии сигнала низкого или высокого уровня (напряжения 0 В или 5 В).

Сигнал Strobe сообщает принтеру о том, что PC установил байт данных на линии данных и принтер может печатать символ.

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

Контроль принтера (линии 12-17)

Оставшиеся проводники кабеля принтера предназначены для передачи кон­трольных сигналов о состоянии принтера и конфликтах в его работе, напри­мер об ошибках при передаче данных.

Paper End

По линии 12 передается сообщение PC о том, что в принтере нет бумаги. Интерфейс реагирует на это, как на срыв передачи данных, и сигнализирует об этом по другим линиям (Select и Error). В противном случае принтер печа­тал бы без бумаги прямо по валику, что могло бы привести к серьезному повреждению головки принтера.

Select и Select Input

По линии 13 интерфейсу сообщается о том, в каком из состояний нахо­дится принтер, в состоянии On-line (готов) или Off-line (выключен или не готов). Уровень сигнала на линии 13 можно изменять вручную с помощью соот­ветствующих переключателей на панели управления принтера. Сигнал Se­lect Input, передаваемый по линии 17 или 36, устанавливает принтер в режим готовности к работе (On-line), например, после устранения какой-либо ошибки в его работе.

Error

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

Часто проявляющаяся ошибка при работе принтера – это так называемая ошибка времени выполнения (Time Out). Если принтер долгое время занят «изнурительной» работой с данными и не может сообщить сигналом Busy о том, что он больше не в состоянии принимать данные, то спустя некоторое время фиксируется ошибка Time Out. Регистрация этой ошибки влияет на все линии. При отсутствии сигнала об ошибке Time Out происходила бы непре­рывная передача данных на принтер до тех пор, пока бесконечный цикл не привел бы к зависанию всей системы.

При инициализации (линия Init – 16 или 31) принтер переходит в свое ис­ходное состояние. Для матричного принтера это означает, что его печатающая головка возвращается в исходное состояние. Кроме того, очищается буфер прин­тера, т. е. данные, обрабатываемые принтером, выгружаются из его памяти.

По линии Auto Feed (автоматический перевод строки, линия 14) передается сигнал, указывающий принтеру, как обрабатывать новую строку при поступ­лении команды возврата каретки.

 

Последовательный порт

 

Последовательный порт используется для подключения большинства периферийных устройств, таких как плоттер, прин­тер, мышь, внешний модем, программатор ПЗУ и т.д. До на­стоящего времени для последовательной связи IBM PC-совмес­тимых компьютеров исполь­зуются адаптеры с интерфейсом RS-232С. Описание этого интерфейса было опубликовано Американской промышленной ассоциаци­ей еще в 1969 году. Европейским аналогом RS-232 являются два стандарта, разработанных Международным союзом электросвя­зи (International Telecommunications Union, ITU): V.24 (механи­ческие характеристики) и V.28 (электрические характеристики). Хотя первоначально RS-232 был предназначен для связи цен­тральной машины с терминалами, его простота и богатые воз­можности обеспечили ему более широкое применение. В совре­менном IBM PC-совместимом компьютере, работающем под MS-DOS, может использоваться до четырех после­довательных пор­тов, имеющих логи­ческие имена соот­ветственно СОМ1, COM2, COM3 и COM4.

Выбор устройств, подключаемых к последовательному порту, значи­тельно шире, чем к параллельному, поэтому большинство PC одновременно оборудовано двумя ин­терфейсными разъемами для последовательной передачи данных. Обычно они различаются по внешнему виду. Разъемы последовательного интерфейса на PC имеют 9 и 25 контактов.

Главный элемент последовательного интерфейса – микросхема 8250 для ста­рых и 16450 UART (Universal Asynchron Receiver Transmitter) для новых плат контроллеров. Контроллер на базе чипа 8250 обеспечивает максимальную ско­рость передачи данных 9600 бод, а чип 16450 – 115200 бод.

В адресном пространстве IBM PC-совместимых компьютеров последовательный адаптер занимает восемь последовательных адресов, включая базовый. Однако с помощью определенного «трюка» через эти восемь адресов происходит обращение к 11 регистрам, которые программируются соответствующим образом.

 





Поделиться с друзьями:


Дата добавления: 2016-11-18; Мы поможем в написании ваших работ!; просмотров: 1589 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Два самых важных дня в твоей жизни: день, когда ты появился на свет, и день, когда понял, зачем. © Марк Твен
==> читать все изречения...

2253 - | 2077 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.