This document discusses different methods of data communication between devices: simple I/O, strobe I/O, single handshake I/O, and double handshake I/O. Simple I/O involves a device constantly outputting data that is always ready to be read. Strobe I/O uses a strobe signal to indicate when valid data is present on data lines to be read. Single handshake I/O involves a peripheral first sending a strobe signal when ready to send data, then the microprocessor acknowledges receipt. Double handshake I/O is like a conversation, with the peripheral and microprocessor each sending strobe and acknowledge signals to indicate readiness to send and receive data.