读取CPU端口(通过in
/ out
说明)是否有任何副作用?
例如:
是否“告诉”设备端口是否已被读取?
可以不小心读取任意端口造成伤害吗?
我认为它不应该,但是对我来说没有意义:
如果没有副作用,那么ATA驱动器在进行编程I / O时如何“知道”何时读取一个字,那么它可以提供下一个数据字?
答案 0 :(得分:4)
是的,读取端口可能会产生副作用,但是它是否存在(如果是这样,它们是什么)因设备而异。
我从未听说过可能因读取端口而损坏的设备。一个少数(但大多数是旧的)可能会因写入不正确的值而损坏/造成损坏,但我不知道任何读数可能会造成损害。在大多数情况下,阅读的副作用相当温和。
阅读行为可以告诉设备它正被读取。要从设备读取,请在总线上放置命令和地址。如果命令是“读取”且地址对应于设备,则正在读取设备。