Interrupt - driven input-output, Computer Engineering

Assignment Help:

Q. Interrupt - Driven Input-output?

Problem with programmed I/O is that processor has to wait a long time for I/O interface to see whether a device is free or waits until completion of I/O. Result is that the performance of processor goes down extremely. What is the solution? What about processor going back to do other useful work without waiting for I/O device to finish or get freed up? However how will processor be intimated about completion of I/O or a device is ready for I/O? A well-organized mechanism was considered for this which is referred to as interrupt-driven I/O. In this mechanism provision of interruption of processor work once device has completed I/O or when it's ready for I/O has been provided.

Interrupt-driven I/O mechanism for transferring a block of data is displayed in Figure 5(b). Please note after issuing a read command (for input) CPU goes off to do some other useful work whereas I/O interface proceeds to read data from connected device. On completion of an instruction cycle CPU checks for interrupts (that will happen when data is in data register of I/O interface and it now requires CPU's attention). Now CPU saves important register and processor status of executing program in a stack and requests I/O device to provide its data that is placed on data bus by I/O device. After taking needed action with data CPU can go back to program it was executing before interrupt.


Related Discussions:- Interrupt - driven input-output

How a pointer variable declared in c, How a pointer variable declared in C ...

How a pointer variable declared in C ? Why is it sometimes desirable to pass a pointer to a function as an argument? A pointer is a variable which contains the address in memor

Explain working of dotmatrix or inkjet printers, Q. Explain working of DotM...

Q. Explain working of DotMatrix or InkJet Printers? Three major issues consider the quality of characters generated by DotMatrix/InkJet Printers: - Number of dots in the matrix

3D rotation, Magnify a triangle with vertices A = (0,0), B = (3,3) and C = ...

Magnify a triangle with vertices A = (0,0), B = (3,3) and C = (6,4) to twice its size in such a way that A remains in its original position.

What is rolap, Functioning of ROLAP happens concurrently with relational da...

Functioning of ROLAP happens concurrently with relational databases. Data and tables are stored as relational tables. To hold new information or data new tables are formed. Functio

Define deadlock with resource request and allocation graph, Define Deadlock...

Define Deadlock with Resource request and allocation graph (RRAG) Deadlocks can be described through a directed bipartite graph termed as a RRAG that is Resource Request All

What is path testing, Explain path testing.   Path Testing: Testing in ...

Explain path testing.   Path Testing: Testing in which all paths in the program source code are tested at least once. Path testing has been one of the first test methods, and e

Background and foreground colors can be interchanged, Background and foregr...

Background and foreground colors can be interchanged using the command?? Format Inverse command.

What is functions of input - output interface, Q. What is Functions of Inpu...

Q. What is Functions of Input - Output Interface? An I/O interface is bridge between processor and I/O devices. It controls data exchange between external devices and main mem

Initialize new pvm processes, Q. Initialize new PVM processes? pvm_spa...

Q. Initialize new PVM processes? pvm_spawn( char *task, char **argv, int flag, char *where, int ntask, int *tids ) Initialize new PVM processes. Task a character st

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd