Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
读取 CPU 端口(通过in/out指令)是否有任何副作用?
in
out
例如:
它是否“告诉”设备该端口已被读取?
不小心读取任意端口会造成任何伤害吗?
我假设它不应该,但是有些东西对我来说没有意义:
如果没有副作用,那么 ATA 驱动器如何在进行编程 I/O 时“知道”何时读取了一个字,以便提供下一个数据字?
是的,读取端口可能会产生副作用,但它是否会(如果是的话,它们是什么)因设备而异。
我从未听说过读取端口可能会损坏设备。一些(但大部分是旧的)可能会因写入不正确的值而损坏/造成损坏,但我不知道读取可能会造成损坏。在大多数情况下,阅读的副作用相当轻微。
阅读行为可以告诉设备它正在被阅读。要从设备读取,您需要在总线上放置一个命令和一个地址。如果命令是“读取”并且地址对应于设备,则设备正在被读取。