title: "Read a byte from an I/O port" vs. "Read a byte from an address of memory"?
body: <p>For simplifying discussion, I assume there is only one executing thread. The following are just my wild speculations:</p>
  
  <p>1, If the CPU reads a byte from an address of memory, then it can repeatedly read the same value from the same address.</p>
  
  <p>2, If the CPU reads a byte from a port repeatedly, then it may read a different value each time.</p>
  
  <p>I think the difference between the two ways is that the port controller can <strong>automatically update the value</strong> on the port after each read operation.</p>
  
  <p>However, I could not find any text book explicitly supporting my statements. </p>
  
  <p>Am I correct?</p>