A memory read fetches the word at a given address. The steps, with active-high controls:
- Put the address on the address lines.
- Set R/W = 1 (read) and activate CS (and OE, if the chip has it).
- Inside, the address decoder activates one word line, and that row's cells are connected to the data outputs.
- After the access time, the word is valid on the data lines. Copy it into a register.
- Deactivate CS. The chip releases the data lines (back to Z).
The key property: reading doesn't change what's stored. You can read the same address a thousand times and get the same word. (Inside a DRAM the read drains the cell, but the chip immediately writes the value back, so from the outside nothing changes. See destructive read.)
A read from a ROM works the same way, minus the R/W line.
In the diagram, the chip drives the bus while CS is active with R/W = 1, and stops as soon as CS drops.