This question is about trying to understand how the communication is implemented on a typical peripheral device such as an accelerometer, or flash chip.
More specifically, I'd like to understand how a peripheral device is able to start shifting out data from the correct address immediately after receiving that same address without any handshaking/clock-stretching required.
For example, this is the SPI-read timing diagram from an FRAM device. It shows the requested data being sent by the peripheral the very next clock after the address is received.
Bonus: What prompted this question is wanting to emulate this behavior for comms between two MCUs. For example, the main MCU would be able to read from the peripheral MCU at different addresses and the peripheral would be able to send data from one of multiple buffers via DMA transfer. The idea behind it is to enable multiple, high-throughput data streams between the devices with minimal overhead of handshaking.