You are on page 1of 12

Synchronous mode of data transfer is performed for peripherals whose timing characteristics is precisely known.

In this mode the status of the device is not checked before undertaking any data transfer, that means, the device is assumed to be ready when data transfer takes place.

Peripheral speed compatible to CPU Peripheral speed slower than CPU

In this case the CPU initiates data transfer with the peripheral. The device (peripheral) status is checked by the CPU before undertaking data transfer. This mode is used when the timing characteristics of the device is unpredictable

In this mode, the CPU confirms the readiness of the device status before undertaking data transfer. This is why this scheme is known by the name handshaking I/O. If there is an appreciable time gap from the instant the microprocessor starts checking the device ready signal and its (device) actual readiness, the system loops the loop. This is a time simply wasted by the processor until the device is ready with valid data. In an unfortunate situation, the system may enter into an infinite loop if the device does not become ready at all

Main characteristic of this mode of data transfer is that data exchange between peripheral and the processor is initiated by the device. This mode is used for data transfer with slow peripherals and also when the occurrence of data is unpredictable in nature.

The steps which are followed in this mode are: An interrupt is requested by a peripheral device. An acknowledgement of the request is issued by the processor at the end of the execution of the current instruction. The program then branches to Interrupt Service Subroutine (ISS) program at which the program corresponding to the interrupting device is already stored. The return address (in the PC) is stored in the stack along with other register contents as per program needs. Data transfer takes place under ISS. Interrupt system is enabled. The program then returns to the main program after loading the return address from stack in program counter (PC).

Data transfer instructions Arithmetic instructions Logic instructions Shift instructions Rotate instructions Flag control instructions Compare instructions Jump instructions Subroutines and subroutine handling instructions Loop and loop handling instructions Strings and string handling instructions

You might also like