ПОРТЫ ВВОДА/ВЫВОДА
ОРГАНИЗАЦИЯ ПАМЯТИ
Предположим, что память состоит из 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 – вывод.