Каковы отношения между портами ввода-вывода и регистрами в контроллере устройства? [закрытый]

дают ли следующие две ссылки различные утверждения о связях между портами ввода-вывода и регистрами в контроллере устройства? Каковы их отношения на самом деле?

делает следующую цитату изhttps://cs.nyu.edu/courses/fall10/V22.0436-001/lecture24.html означает, что в контроллере устройства есть ровно один порт ввода-вывода для каждого регистра, и есть ровно один регистр для каждого порта ввода-вывода?

каждый прибор и / о соединен с и / о шины через контроллер. Один
простой контроллер должен иметь не менее 3 адресов (портов) на автобусе,
каждому соответствует регистр в контроллере

  • регистр данных (читаемый или записываемый, в зависимости от того, является ли он устройством ввода или вывода)
  • регистр управления (для записи, для управления работой устройства)
  • регистр состояния (читаемый, для определения состояния устройства-в частности, готов ли он к приему или предоставить данные)

более сложные устройства (например, диски) будут иметь несколько элементов управления и
регистры состояния

означает ли следующая цитата из концепций операционной системы, что в контроллере устройства порт ввода-вывода имеет четыре регистра?

порт ввода-вывода обычно состоит из четырех регистров, называемых статусами,
регистры управления, ввода и вывода данных.

• данные-в регистре читается хозяина к вам вход.

• регистр данных-вне написан хозяином для посылки выхода.

• регистр состояния содержит биты, которые может считывать хост.

• регистр управления. ...

спасибо.

21
задан Tim
31.12.2022 2:09 Количество просмотров материала 3381
Распечатать страницу

2 ответа

то, что вы описываете в своем сообщении, является "типичным" сценарием, особенно если ввод/вывод находится на другой шине, чем процессор (PCI/PCI-хороший пример), или вы говорите с контроллером, а не с фактическим устройством ввода/вывода. Реальность, конечно, намного сложнее.

оборудование может быть спроектировано таким образом, чтобы реагировать на запросы чтения/записи от процессора.

например, можно:

  • сделать это так просто доступ (читать или write) на адрес ввода / вывода заставляет устройство что-то делать.

  • сделать так читает и пишет на тот же адрес ввода/вывода на самом деле доступ к различным регистрам или функций на устройстве.

  • простые устройства могут не нуждаться в регистре данных, управления и состояния. Параллельный порт ПК является примером. Он управляется одним байтом в адресном пространстве ввода-вывода.

конечно, все такие приборы были бы сразу addressable процессором, а не" позади " контроллера. Параллельный порт-это устройство ISA старой школы. Хотя в наши дни это на самом деле автобус LPC, но LPC предназначен для работы как ISA.

выше был гораздо чаще в пре-ПК эра, и я распространенному мнению о не-x86 платформ, таких как ARM и MIPS.

сложные контроллеры (большинство из них) потребуется дополнительный механизм для вас, чтобы указать, какое устройство подключено к контроллеру, который вы хотите поговорить. I2C как этот.

2
отвечен LawrenceC 2023-01-01 09:57

IP типично конструировано как модули с ясно определенными границами... часто они находятся в адресном пространстве ядра процессора. Это было бы возможно разработать блок ввода / вывода с помощью или одиночный штырь входного сигнала или выхода, то имеет одиночный бит регистра связанного проволокой до или прочитайте входное значение или установите выходное значение... но это не полезно и довольно расточительно в адресном пространстве.

вместо этого модули конструировал быть больше"функциональное" и, таким образом, в некоторых случаях, более параллельный - модули ввода/вывода AVR имеют 8 входных/выходных контактов, в то время как модуль ввода/вывода STM32 имеет 16 контактов. Стабилизатор обеспечивает базовые функции ввода/вывода, в то время как семейства STM32 есть регулировка скорости нарастания и дополнительные функции, которые могут быть сопоставлены на драйверы, предоставленные ввода/вывода.

рассмотрим I/O порты следование:

AVR

avr i/o registers

STM32

stm32 i/o registers


делает следующую цитату [...] означает, что в контроллере устройства существует ровно один порт ввода-вывода для каждого регистра и ровно один регистр для каждого порта ввода-вывода?

Я бы сказал, что "no " - это значит, что будет по крайней мере некоторые форма интерфейса данных, управления и состояния для модуля I / O.

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

означает ли следующая цитата из концепций операционной системы, что в контроллере устройства порт ввода-вывода имеет четыре регистра?

опять же, я бы сказал, что "no"... Это дает "типичный" / "базовый" ожидание того, что что-то может состоять из.

1
отвечен Attie 2023-01-01 12:14

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх