Asynchronous Data Transfer
In many cases, internal CPU operations are synchronized by a common clock. However, communication between the CPU and external peripherals often happens at different speeds. **Asynchronous data transfer** is used when two independent units need to communicate without a shared timing signal.
1. Strobe Control
The strobe control method uses a single control signal (the strobe) to inform the receiving unit that data is ready or being requested. It can be initiated by either the source or the destination.
- **Source-Initiated:** The source unit places data on the bus and then activates the strobe signal.
- **Destination-Initiated:** The destination unit activates the strobe to request data; the source then places data on the bus.
- **Major Flaw:** The sender doesn't know if the receiver actually got the data (no acknowledgement).
2. Handshaking Procedure
- **Data Valid (Source):** Signal from source indicating data is on the bus.
- **Data Accepted (Destination):** Signal from destination indicating data has been received.
- **Process:** 1. Data on bus -> 2. Data Valid active -> 3. Data Accepted active -> 4. Data Valid disabled -> 5. Data Accepted disabled.
Comparison Table
| Feature | Strobe Control | Handshaking |
|---|---|---|
| Number of Signals | 1 (Strobe) | 2 (Request/Acknowledge) |
| Reliability | Low (No feedback) | High (Confirmed transfer) |
| Complexity | Simple hardware | More complex logic |
| Speed | Faster (Less overhead) | Slower due to waiting |
Common Mistakes to Avoid
- Confusing 'Asynchronous' with 'Parallel' (one is about timing, the other about bit count).
- Thinking strobe control is reliable for high-speed I/O (it is prone to data loss).
- Assuming handshaking only happens in hardware (it is also the basis for network protocols like TCP).
- Forgetting that the data bus must remain stable until the 'Data Accepted' signal is received.
Advanced Concepts
- FIFO Buffer (First-In, First-Out)
- Parallel vs. Serial Transfer
- Baud Rate and Bit Rate
- Universal Asynchronous Receiver-Transmitter (UART)
- Timeout mechanisms in handshaking
Practice Exercises
- Draw the timing diagram for a destination-initiated handshaking procedure.
- Why is handshaking preferred for communicating with a printer?
- What happens in a handshaking system if the 'Data Accepted' wire is cut?
- Compare 'One-way' vs 'Two-way' handshaking.
Conclusion
Asynchronous data transfer is the bridge between the high-speed CPU and the slower real world. While strobe control is simple, the handshaking procedure provides the reliability required for modern computing systems to interact with a vast array of peripheral devices.
Codecrown