2014-01-22 3 views
0

Вопрос в том, как работают порты ввода-вывода центрального процессора?Как работают порты ввода-вывода центрального процессора?

Насколько я понимаю, есть одна шина, которая подключена к ЦП и всем устройствам, и все устройства имеют назначенные им адреса.

Когда ЦП решает читать или писать, он устанавливает адрес на этой шине, и только устройство с соответствующим адресом отвечает правильно? и эти адреса должны быть статическими, назначенными при изготовлении устройства да?

а также, linux/proc/ioports предоставляет информацию только о тех устройствах, которые используются некоторыми драйверами, есть ли все перечисленные адреса?

например, он не показывал адрес порта paralell, когда я набрал его.

Большое спасибо, если кто-нибудь решит ответить: D

, а также, что место для PCI? насколько я понял, автобус от CPU подключен к PCI сначала и от PCI к каждому устройству, насколько я понимаю? Спасибо

+2

Этот вопрос не соответствует теме, потому что речь идет о компьютерной архитектуре, а не программировании. –

+0

@Shahbaz - справедливая точка, отредактировал мой комментарий. но это определенно не о программировании. –

+1

Да, его о ядре и оборудовании, я думаю, что эта веб-страница также охватывает эти поля? –

ответ

1

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

Чтобы различать порты ввода-вывода и память, процессор имеет дополнительную сигнальную линию. Помещение адреса 0x378 на адресную шину и установка сигнальной линии означает, что процессор хочет получить доступ к параллельному порту; установка 0x378 на адресную шину и НЕ установка сигнальной линии означает, что процессор хочет читать память. Кстати, не все процессоры делают это различие; процессор 6502, используемый, например, на старых компьютерах Commodore 64, не означает, что означает, что на этом оборудовании некоторые адреса фактически зарезервированы для ввода-вывода, а аппаратное обеспечение не поддерживает память по этим адресам.

+0

Спасибо, но как насчет связи части вопроса? –

+0

Это немного сложнее, так как есть несколько автобусов. На этой странице есть блок-схемы, которые могут отвечать на большинство ваших вопросов: http://en.wikipedia.org/wiki/Southbridge_%28computing%29 –

Смежные вопросы