System bus based communication
Extend address/data bus to outside
Use specialized devices to implement communication protocol
Map devices and their registers to memory locations
Read/write data to receive/send in buffers in device or shared memory
Poll register in device for status
Wait for interrupt from device on interesting events
- send completed
- receive occured