The expression m[2148] is deceptively simple. Though we seem to intuitively understand that it is reading from or writing to memory, what is really happening is that the address, 2148 in this case, is copied into the MAR, MA is set to 1, WR is set to 0 or 1 depending upon what we want done, wait for the memory to complete its task, and then get the value out of MBR. For a write, we first put a value into the MBR. However, the beauty of RTL is that these details are hidden and all timing considerations are waved away as if by magic. |