2020 21 7a

Computer Organization and Architecture2020-2110 marksSerial Communication

What do you mean by asynchronous data transfer? Explain strobe control and hand shaking mechanism.

What do you mean by asynchronous data transfer? Explain strobe control and hand shaking mechanism.

Quick answer

In a digital system, two units such as the CPU and an I/O interface often have their own independent clocks. When data is moved between them without a common clock, the transfer is called asynchronous. The sender must tell the receiver when the data is valid, and the receiver must tell the sender that it has taken the data. This is done by extra control signals. The two main methods are strobe control and handshaking.

Asynchronous data transfer

Strobe control

Here a single control line, the strobe, tells when the data is valid. It can be driven by the source or by the destination.

In source-initiated strobe, the source places the data on the data bus. After a short delay it activates the strobe. The destination uses the strobe to latch the data. The source then removes the strobe and, after a little more time, removes the data.

In destination-initiated strobe, the destination first activates the strobe to ask for data. The source then places data on the bus. The destination latches it and removes the strobe, after which the source removes the data.

Source-initiated strobe
 Data   ----<====valid====>----
 Strobe ______|‾‾‾‾‾‾‾‾‾|______

The drawback is that the source does not know whether the destination really got the data. In the destination-initiated case, the destination does not know whether the source has put valid data. There is no acknowledgement.

Handshaking

Handshaking solves this problem by using two control lines, one in each direction, so each unit knows what the other has done.

In source-initiated handshaking, the source puts data on the bus and activates the line "data valid". The destination sees it, accepts the data, and activates the line "data accepted". The source sees this and removes data valid. Then the destination removes data accepted. The source can now send new data. The sequence is as follows.

  1. The source places data on the bus and enables data valid.
  2. The destination accepts the data and enables data accepted.
  3. The source disables data valid and removes the data.
  4. The destination disables data accepted and is ready for the next transfer.

In destination-initiated handshaking, the two lines are "ready for data" (from the destination) and "data valid" (from the source). The destination first activates ready for data. The source then places data and activates data valid. The destination takes the data and removes ready for data. The source then removes data valid, and the next cycle can start.

Comparison

PointStrobeHandshaking
Control linesOneTwo
AcknowledgementNoYes
ReliabilityLow, with no check of receiptHigh
Speed fitWorks if both units have similar speedWorks for units of any speed

Handshaking is more reliable and is used in most real interfaces. A time-out circuit can be added to detect a unit that never answers.

Short on time? The 1, 5 and 10 mark versions of this answer, flashcards and practice sets come with a program pass.

Up nextDiscuss the different modes of data transfer.