Input-output techniques, Computer Engineering

Assignment Help:

After going through details of device interfaces next point to be discussed is how the interface can be used to support I/O from devices. Binary information received from an external device is generally stored in memory for later processing. Information transferred from central computer in an external device initiates in memory unit. Data transfer between central computer and I/O devices can be handled in some modes. 3 techniques are possible for I/O operation. These are:

  • Programmed input/output
  • Interrupt driven input/output
  • Direct memory access

Figure below gives an general idea of these 3 techniques:

1004_INPUT-OUTPUT TECHNIQUES.png

Figure: Overview of the three Input/ Output

In programmed I/O, I/O operations are fully controlled by processor. The processor executes a program which initiates, directs and terminate an I/O operation. It needs a little special I/O hardware however is quite time consuming for processor as processor has to wait for slower I/O operations to finish. 

With interrupt driven I/O when interface decides that device is ready for data transfer it produces an interrupt request to the computer. Upon detecting external interrupt signal processor stops the task it was processing and branches to a service program to process I/O transfer and then returns to task it was initially performing that result in waiting time by the processor being reduced.

With both interrupt-driven and programmed I/O processor is responsible for extracting data from main memory for output and storing data in main memory during input. What about having a substitute where I/O device may directly store data or retrieve data from memory? This alternative is called direct memory access (DMA). In this mode I/O interface and main memory exchange data directly without involvement of processor.

2405_INPUT-OUTPUT TECHNIQUES1.png

Figure: Three techniques of I/O


Related Discussions:- Input-output techniques

Write the binary representation of an integer number, The integer n = 3,510...

The integer n = 3,510,593 has hexadecimal representation 0x00359141 (check this with your d2h program), while the double precision, floating-point number 3510593.0 has hexadecimal

Raid and data stripping, Explained RAID? Ans: High performance devices ...

Explained RAID? Ans: High performance devices tend to be costly. So we can gain very high performance at a reasonable cost using a number of low-cost devices operating in paral

Explain working of supercomputer, Q. Explain working of Supercomputer? ...

Q. Explain working of Supercomputer? Supercomputers, capable of executing in excess of one billion floating-point operations per second (FLOPS), are very powerful, extremely hi

What is a null object in c++, It is an object of a number of classes whose ...

It is an object of a number of classes whose purpose is to indicate that a real object of that class does not exist. One common use for a null object is a return value from a membe

What are qualified associations, What are qualified associations? A qua...

What are qualified associations? A qualified association is an association in which an attribute known as the qualifier disambiguates the object many associated end.

Why does dma have priority over the cpu, Why does DMA have priority over th...

Why does DMA have priority over the CPU when both request a memory transfer? The data transfer monitored by DMA controller which is called as DMA channel. The CPU is included o

Determine the negation of the statement, Determine the negation of the stat...

Determine the negation of the statement? "2 is even and -3 is negative"? Answer: 2 is odd or -3 is not negative.

What is the working set of a process, What is the working set of a process?...

What is the working set of a process? The set of pages that are referred by the method in the last "n", references, where "n" is called the window of the working set of the pro

Write a short note on pointer operators in c, Write a short note on pointer...

Write a short note on pointer operators in c Pointers (that is, pointer values) are generated with the ''address-of'' operator &, which we can also think of as the ''pointer-to

What is system testing, What is system testing? The final step in testi...

What is system testing? The final step in testing is system testing, which means checking the whole application. System testing exercises the overall application and make sure

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