Computer Organization | Asynchronous input output synchronization



Asynchronous input output is a form of input output processing that allows others devices to do processing before the transmission or data transfer is done.

Problem faced in asynchronous input output synchronization –
It is not sure that the data on the data bus is fresh or not as their no time slot for sending or receiving data.

This problem is solved by following mechanism:

  1. Strobe
  2. Handshaking

Data is transferred from source to destination through data bus in between.

1. Strobe Mechanism:



  1. Source initiated Strobe – When source initiates the process of data transfer. Strobe is just a signal.

    (i) First, source puts data on the data bus and ON the strobe signal.
    (ii) Destination on seeing the ON signal of strobe, read data from the data bus.
    (iii) After reading data from the data bus by destination, strobe gets OFF.

    Signals can be seen as:

    It shows that first data is put on the data bus and then strobe signal gets active.

  2. Destination initiated signal – When destination initiates the process of data transfer.

    (i) First, the destination ON the strobe signal to ensure the source to put the fresh data on the data bus.
    (ii) Source on seeing the ON signal puts fresh data on the data bus.
    (iii) Destination reads the data from the data bus and strobe gets OFF signal.

    Signals can be seen as:

    It shows that first strobe signal gets active then data is put on the data bus.

Problems faced in Strobe based asynchronous input output –



  1. In Source initiated Strobe, it is assumed that destination has read the data from the data bus but their is no surety.
  2. In Destination initiated Strobe, it is assumed that source has put the data on the data bus but their is no surety.

This problem is overcome by Handshaking.

2. Handshaking Mechanism:

  1. Source initiated Handshaking – When source initiates the data transfer process. It consists of signals:
    DATA VALID: if ON tells data on the data bus is valid otherwise invalid.
    DATA ACCEPTED: if ON tells data is accepted otherwise not accepted.

    (i) Source places data on the data bus and enable Data valid signal.
    (ii) Destination accepts data from the data bus and enable Data accepted signal.
    (iii) After this, disable Data valid signal means data on data bus is invalid now.
    (iv) Disable Data accepted signal and the process ends.

    Now there is surety that destination has read the data from the data bus through data accepted signal.

    Signals can be seen as:

    It shows that first data is put on the data bus then data valid signal gets active and then data accepted signal gets active. After accepting the data, first data valid signal gets off then data accepted signal gets off.

  2. Destination initiated Handshaking – When destination initiates the process of data transfer.
    REQUEST FOR DATA: if ON requests for putting data on the data bus.
    DATA VALID: if ON tells data is valid on the data bus otherwise invalid data.



    (i) When destination is ready to receive data, Request for Data signal gets activated.
    (ii) source in response puts data on the data bus and enabled Data valid signal.
    (iii) Destination then accepts data from the data bus and after accepting data, disabled Request for Data signal.
    (iv) At last, Data valid signal gets disabled means data on the data bus is no more valid data.

    Now there is surety that source has put the data on the data bus through data valid signal.

    Signals can be seen as:

    It shows that first Request for Data signal gets active then data is put on data bus then Data valid signal gets active. After reading data, first Request for Data signal gets off then Data valid signal.



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.