我只是想知道I/O端口和I/O内存之间的区别,因为我很困惑。如果有人解释它的使用,那会很好。我的意思是,当I/O端口是首选的,并且I/O存储器是首选的时候。I/O端口和I/O内存之间的区别
8
A
回答
10
有存储区域和I/O区域之间没有概念上的差异:两者都被通过地址总线和控制总线
上断言电信号虽然一些CPU制造商在他们的芯片实现单个地址空间访问,其他人则认为外围设备与内存不同,因此需要单独的地址空间。某些处理器(最着名的是x86系列)具有独立的读写电线,用于I/O端口和用于访问端口的特殊CPU指令。
Linux在所有运行的计算机平台上实现I/O端口的概念,即使在CPU实现单个地址空间的平台上。端口访问的实现有时取决于主机的具体品牌和型号(因为不同的型号使用不同的芯片组来将总线事务映射到内存地址空间中)。
即使外围总线有一个独立的I/O端口地址空间,并非所有设备都将其寄存器映射到I/O端口。尽管ISA外设板使用I/O端口很常见,但大多数PCI设备都将寄存器映射到内存地址区域。这种I/O内存方法通常是首选,因为它不需要使用专用处理器指令; CPU内核访问内存的效率更高,编译器在访问内存时具有更多的寄存器分配和寻址模式选择自由。
相关问题
- 1. IO-APIC-connector和IO-APIC-edge之间的区别
- 2. DMA和内存映射IO之间有什么区别?
- 3. IO完成端口和OpenSSL
- 4. 反应调度器io和计算之间的区别?
- 5. 内存缓冲区和IO操作
- 6. 网络端口IO
- 7. 非主线程中的async io和do io有什么区别?
- 8. 澄清谁决定内存映射和端口IO映射
- 9. maven dependencies org.apache.commons:commons-io和commons-io:commons-io有什么区别?
- 10. 阻止IO和While 1的区别?
- 11. x86 IO映射IO端口保护和DOS扩展
- 12. Keen IO - 如何找到两个Keen.Series之间的区别
- 13. Lua中隐式和显式io名称空间函数之间的区别
- 14. VESA通过IO /端口
- 15. haskell io流内存
- 16. 流星和插座IO端口
- 17. 遗留在传统C++ IO库和标准IO库之间
- 18. 高内存和高内存区域之间的区别
- 19. 内核编程中互斥和阻塞IO的区别?
- 20. 重新分配和重新打开Ruby IO流之间的区别
- 21. Perl的IO和Java IO
- 22. .NET如何使用IO线程或IO完成端口?
- 23. “内存缓存”和“内存池”之间的区别
- 24. Win32 IO完成端口和同步出现的IO会发生什么?
- 25. 文件IO和缓冲区
- 26. AVR IO端口不能是全局的
- 27. OpenCL:__constant内存和const之间的区别__global内存
- 28. Haskell内存使用情况和IO
- 29. C++ IO流sync_with_stdio没有区别
- 30. 窗口和ViewController之间的区别