ПОРТЫ ВВОДА/ВЫВОДА

ОРГАНИЗАЦИЯ ПАМЯТИ

 

Предположим, что память состоит из 4-х ячеек.

┌─ ┌───────────────────┐

│ │ │ 0h = 00b

│ ├───────────────────┤

│ │ │ 1h = 01b

N=4 < ├───────────────────┤

│ │ │ 2h = 10b

│ ├───────────────────┤

│ │ │ 3h = 11b

└─ └───────────────────┘

Количество бит в адресе = КБА = ] log2 N [

 

N = 2КБА – этой формулой удобно пользоваться при определении адресного пространства ЭВМ:

1) КБА = 10 N = 2^10 = 1024 = 1Кб.

2) КБА = 16 N = 2^16 = 64 Кб.

3) КБА = 20 N = 2^20 = 1 Мб (80086-80186)

4) КБА = 24 N = 2^24 = 16 Мб. (80286)

5) КБА = 32 N = 2^32 = 4 Гб. (80386-80586)

Информация в памяти представлена байтами, словами, двойными словами или полями байтов. Любые два смежных байта памяти представляют собой слово, младший байт слова имеет меньший адрес. В поле двойного слова также младший байт идет первым, а старший последним. Так как в словах или двойных словах обычно записаны числа, то при чтении чисел из памяти необходимо учитывать, что байты числа располагаются в обратном порядке.

 

АДР. 7 0

┌────┐

0 │ 4E │ БАЙТ 4Eh

├────┤\

1 │ C2 │ │

├────┤ │ СЛОВО 1EC2h

2 │ 1E │ │

├────┤/

3 │ 1B │ БАЙТ 1Bh

├────┤\

4 │ 12 │ │

├────┤ │ ДВОЙНОЕ СЛОВО 581F6E12h

5 │ 6E │ │

├────┤ │

6 │ 1F │ │

├────┤ │

7 │ 58 │ │

├────┤/

8 │ │

....

 

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

 

 

 

Различают системные порты (стандартных периферийных устройств), которые имеют адреса от 0h – 3FFh. Порты с адресами 400h – FFFFh зарезервированы для нестандартных периферийных устройств.

Порты также можно рассматривать состоящими из ячеек памяти размером 1 байт. Запись и чтение информации в порты выполняется аналогично работе с памятью. Для адреса порта используются младшие 16 разрядов шины адреса, 216 = 64К. Запись в порт инициируется сигналом процессора IOW, а чтение сигналом IOR. Обмен с портами выполняется байтами или словами.

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

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

Порт – это устройство, с помощью которого ЭВМ общается с внешней средой, наподобие морских портов на суше (натуральных).

 

 

┌─────────┐

│ БЕРЕГ │ - КОМПЬЮТЕР

└─────────┘

 

│ ПЕРЕДАЧА ДАННЫХ

^ ОТ ПРОЦЕССОРА │ ^

V И ОБРАТНО V │

┌────┴────┐ ┌────┴────┐ ┌────┴────┐

│ REG │ <- ПОРТЫ -> │ REG V │ │ REG ^ │

└────┬────┘ └────┬────┘ └────┬────┘

^ ПЕРЕДАЧА ДАННЫХ │ ^

▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

V ОТ КОНТРОЛЛЕРА ПУ V │

│ И ОБРАТНО

┌────────┐

│ МОРЕ │ - ВНЕШНИЕ УСТРОЙСТВА

└────────┘

 

Порты предназначены для связи процессора с ПУ. Если ОЗУ или ПЗУ располагаются компактно на отдельных платах или компактно на общей системной плате, то порты установлены в контроллерах ПУ и конструктивно принадлежат контроллерам.

Для работы с портами специально существует 2 команды:

IN – ввод;

OUT – вывод.