Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding Ninjas X Naukri.com
Last Updated: Mar 27, 2024
Difficulty: Medium

Asynchronous Data Transfer

Leveraging ChatGPT - GenAI as a Microsoft Data Expert
Speaker
Prerita Agarwal
Data Specialist @
23 Jul, 2024 @ 01:30 PM

A synchronous data transfer is a data transmitting method where data is sent in a non-continuous, non-synchronous manner. This shows that data is transmitted at irregular intervals, without any fixed timing or coordination between the sender and receiver.
We synchronize the internal operations in any individual unit of the digital system using clock pulse. That means clock pulse is given to every register within the unit. All the data transfer among internal registers co-occurs during the occurrence of the clock pulse. 

Now, let's assume that two units of the digital system are designed independently, like CPU and I/O interface. If the internal registers in the I/O interface share a standard clock with the CPU registers, then data transfer between the units (two or more) is said to be synchronous. But in maximum cases, the internal timing in every unit is independent of each other, so every unit uses its clock for its registers. In this case, the units are asynchronous, and data transfer between them is called Asynchronous data transfer.

Asynchronous Data Transfer

This article will discuss asynchronous data transfer between two computer organization and architecture units. 

Must Recommended Topic, Internal and External Fragmentation

Methods of Asynchronous Data Transfer

We have four different methods of Asynchronous data transfer:

  1. Strobe Control Method
  2. Handshaking Method
  3. Asynchronous Serial Transfer
  4. Asynchronous Communication Interface

Read About - Shift Registers in Digital Electronics

1. Strobe Control Method

The Strobe Control mode of asynchronous data transfer employs only one control line to time each transfer. This control line is known as a strobe, and we may achieve it either by destination or source, depending upon the one who initiates the data transfer.

Source initiated strobe: In the below figure, we can see that the source initiates the strobe, and as shown in the diagram, the source unit will first place the data on the data bus.

Strobe Control Method

Source: coagarage.blogspot.com

In the figure, we may see that the source unit initializes the strobe. In the timing diagram, we can notice that the source unit first places the data on the data bus. Then after a brief delay, the source unit activates a strobe pulse to ensure that the data revolves to a stable value. The strobe control signal and data bus information remain in the active state for enough time to permit the destination unit to receive the data.

Destination initiated strobe: In the below figure, we can see that the destination unit initiates the strobe, and as shown in the timing diagram, the destination unit activates the strobe pulse first by informing the source to provide the data.

Destination initiated strobe

Source: coagarage.blogspot.com

In destination initiated transfer, the source unit will respond by placing the requested information on the data bus. The transfer data must be valid and remain on the data bus long enough for the destination unit to receive it. We can use the strobe pulse's falling edge again to trigger a destination register. The destination unit then disables the stroke pulse. Finally, the source unit removes the data from the bus after some determined time interval.

Recommended Topic, Microinstruction in Computer Architecture

2. Handshaking method

The strobe control method for asynchronous data transfer has a disadvantage. The source unit always assumes that the destination unit has received the data placed in the data bus. Similarly, the destination unit that initiates the transfer takes that the source unit has placed data on the bus.

This problem is solved by the handshaking method of data transfer. In this method, we also have a second control line that provides the unit that initiates the transfer with a relay.

In the Handshaking method, one control line is in the direction of the bus's data flow, i.e., from source to destination. The source unit uses it to inform the destination unit if the data is valid in the bus. The second control line is in the opposite direction, i.e., from destination to source. The destination unit uses this control line to inform the source unit of accepting the data. And also, the sequence of control depends on the unit that first initiates the transfer.

Source initiated handshaking: In the figure below, we can see that we have two handshaking lines, "data valid" and "data accepted," generated by the source unit and the destination unit, respectively.

Source initiated handshaking

Source: coagarage.blogspot.com

The timing diagram shows that the source initiates the transfer by placing the data on the data bus and enabling its data valid signal. The destination then activates a data accepted signal after it accepts the data from the bus. The source then disables the valid data signal, which makes the data on the bus invalid. Finally, the destination disables the data accepted signal, and hence the system goes into its initial state. We have a surety that the destination unit has read the data on the data bus through the accepted signal.

Destination initiated handshaking: In the figure below, we can see that we have two handshaking lines, "data valid" and "ready for data" generated by the source unit and the destination unit, respectively.

Destination initiated handshaking

Source: coagarage.blogspot.com

In destination initiated, the destination unit initiates the transfer, so the source unit does not place data on the bus until it receives a ready-for-data signal from the destination. After that, the handshaking process is the same as the source initiated.

Get the tech career you deserve, faster!
Connect with our expert counsellors to understand how to hack your way to success
User rating 4.7/5
1:1 doubt support
95% placement record
Akash Pal
Senior Software Engineer
326% Hike After Job Bootcamp
Himanshu Gusain
Programmer Analyst
32 LPA After Job Bootcamp
After Job
Bootcamp

3. Asynchronous Serial Transfer

The data transfer between two units can be done in either series or parallel. In parallel data transfer, every message bit has its own direction, and the whole message is sent at a similar time. This defines that an n-bit message must be sent through n separate conductor paths.

In serial data transmission, every message bit is transmitted in sequence one by one at a time. This approach requires only one conductor or one conductor pair and common ground. The parallel transfer is quicker but requires multiple conductors. We use it for shorter distances and where speed is crucial. A serial transfer is easy and less costly as it requires only one conductor pair.

Serial transmission can be asynchronous or synchronous. In synchronous transmission, two units transfer common clock frequency, and data bits are sent frequently at the cost decided by the clock pulses. In asynchronous serial transmission, binary data is transmitted only when required, and the line waits idly if there is no data to be sent.

4. Asynchronous Communication Interface

An Asynchronous communication interface functions both as a receiver and a transmitter. The interface is boot up for any specific mode of transfer using the control byte that is loaded into the control register. The transmitter register receives a data bit from the CPU by the data bus. This data bit is sent to a shift register for serial transmission.

The receiver end receives serial information in a different shift register, and when a finalized data bit is acquired, it moves to the receiver register. The CPU may choose the receiver register to read the data bit through the data bus. The bits in the status register are utilized for output and input flags and for recording specific errors that can appear during the transmission.

Advantages of Asynchronous Data Transfer

  • It is more flexible, and the devices can exchange data at their own pace.
  • Each data character can finish by itself, guaranteeing that even if a packet is corrupted, its predecessors and successors will not be impacted.
  • The receiving device does not need to perform any complicated tasks. Furthermore, since the device can keep up with the data stream, inconsistent data transfer does not cause a serious issue. Asynchronous transfers are now appropriate for situations where character data is produced erratically.

Disadvantages of Asynchronous Data Transfer

  • These transmissions must recognise the start bits in order to be successful. Unfortunately, line interference can easily cause this, leading to the corruption or distortion of these bits.
  • There is no useful information regarding the transferred data because a significant percentage of the transmitted data is used to control and identify header bits. Consequently, more data packets must always be supplied.

Frequently Asked Questions

What are the different ways for asynchronous data transfer?

Asynchronous data transfer between data can occur in two ways parallel and serial. In parallel, multiple control lines are used to send a single bit, whereas, in serial transfer, every bit is sent one at a time.

What is a asynchronous data transfer?

Transfer between the two units is referred to as synchronous if the registers in the I/O interface and CPU registers use the same clock. However, because internal timing in each unit is often independent of one another, each needs a separate clock for internal registers. 

What is synchronous vs asynchronous data transfer?

The transmission time interval is constant in synchronous transmission. The period between transmissions in the asynchronous transmission is unpredictable and not continuous. Data is transmitted asynchronously in the form of bytes or characters. Half-duplex transmission is the type used in this. 

What are the two asynchronous data transfer methods?

Asynchronous data transfer between any two independent units requires that the control signals be transmitted between communicating units so that times can be indicated at which they transfer data.

The following are different methods of Asynchronous data transfer:

  • Strobe Control Method
  • Handshaking Method
  • Asynchronous Serial Transfer
  • Asynchronous Communication Interface

Conclusion

In this article, we have extensively discussed asynchronous data transfer using different methods like strobe control method and handshaking methods. Asynchronous serial transfer and asynchronous communication interface were also discussed.

Learn about, MVVM Architecture Android

We hope that this blog has helped you enhance your knowledge regarding reversing an array in Java and if you would like to learn more, check out our articles on Pipelining, Bus and Memory Transfer and Modes of Transfer. Do upvote our blog to help other ninjas grow. Happy Coding!

Topics covered
1.
Methods of Asynchronous Data Transfer
2.
1. Strobe Control Method
3.
2. Handshaking method
4.
3. Asynchronous Serial Transfer
5.
4. Asynchronous Communication Interface
6.
Advantages of Asynchronous Data Transfer
7.
Disadvantages of Asynchronous Data Transfer
8.
Frequently Asked Questions
8.1.
What are the different ways for asynchronous data transfer?
8.2.
What is a asynchronous data transfer?
8.3.
What is synchronous vs asynchronous data transfer?
8.4.
What are the two asynchronous data transfer methods?
9.
Conclusion