Я просто хочу знать разницу между портами ввода-вывода и памятью ввода-вывода, потому что я довольно смущен. И если кто-то объяснит это, это будет здорово. И при использовании я имею в виду, когда порты ввода/вывода предпочтительнее и когда предпочтительна память ввода/вывода.разница между портами ввода-вывода и памятью ввода-вывода
ответ
Там нет концептуального различия между областями памяти и вводом/вывода областями: оба из них получают доступ утверждать электрические сигналы на шину адреса и шине управления
В то время как некоторые производители CPU внедрить единое адресное пространство в своих чипах , другие решили, что периферийные устройства отличаются от памяти и, следовательно, заслуживают отдельного адресного пространства. Некоторые процессоры (в частности, семейство x86) имеют отдельные электрические линии для чтения и записи для портов ввода/вывода и специальные инструкции CPU для доступа к портам.
Linux реализует концепцию портов ввода-вывода на всех компьютерных платформах, на которых он работает, даже на платформах, где ЦП реализует одно адресное пространство. Реализация доступа к портам иногда зависит от конкретной марки и модели хост-компьютера (поскольку разные модели используют разные наборы микросхем для сопоставления транзакций шины в адресное пространство памяти).
Даже если периферийная шина имеет отдельное адресное пространство для портов ввода/вывода, не все устройства отображают свои регистры на порты ввода-вывода. Хотя использование портов ввода/вывода является обычным явлением для периферийных плат ISA, большинство устройств PCI переписывают регистры в область адресов памяти. Такой подход к памяти ввода/вывода обычно является предпочтительным, поскольку он не требует использования специальных инструкций процессора; ЦП ядра обеспечивает более эффективную память, а у компилятора гораздо больше свободы при распределении регистров и выборе режима адресации при доступе к памяти.
Подробнее на http://www.makelinux.net/ldd3/chp-9-sect-1
- 1. разница между портами uvm_analysis
- 2. OpenCL - разница между буфером и глобальной памятью
- 3. Разница между памятью и вызовами базы данных
- 4. Разница между памятью кучи и пулом строк
- 5. Разница между памятью стека и кучи памяти
- 6. В чем разница между портами и RPC для Erlang?
- 7. В чем разница между портами для подключения докеров и выставлением
- 8. Расчет расстояния между портами
- 9. Разница между памятью OLTP v.s. Таблица Temp
- 10. разница между памятью AGP, общей графикой памяти
- 11. Разница между памятью поверхности Kepler vs Maxwell
- 12. Diff. между логической памятью и физической памятью
- 13. В чем разница между «виртуальной памятью» и «местом подкачки»?
- 14. Разница между памятью, хранилищем экземпляров и объемом в AWS
- 15. OpenCL: Разница между __константной памятью и константой __global memory
- 16. В чем разница между глобальной памятью и текстурой в CUDA?
- 17. В чем разница между непрерывной и непрерывной памятью
- 18. В чем разница между зарезервированной и защищенной памятью?
- 19. В чем разница между семафором и общей памятью
- 20. Разница между кешем в памяти и внутренней памятью
- 21. Разница между общей памятью и трубой в unix?
- 22. Concatenation между данными двумя портами
- 23. Обработка сеансов между различными портами
- 24. Объяснение различия между встроенной памятью и памятью кучи в Javascript
- 25. разница между сливом и высвобождением
- 26. В чем разница между управлением памятью C++ и управлением памятью .NET?
- 27. компромисс между памятью и производительностью
- 28. Разрешение «межсайтовых» вызовов между локальными портами
- 29. Разница между конструктором и новым/malloc, разница между деструктором и удалением/свободным
- 30. IOS и управление памятью