The only interrupt the OS sees is the one from
the DMA controller when the entire transfer is complete.
Strictly speaking, DMA can be used with any device, but usually DMA is used only by drivers
of fast devices that would otherwise generate many frequent interrupts. DMA channels are usually
few in number, so their use is usually reserved for devices for which the DMA channels make the most
difference.
Memory Mapped I/O
Most computers of the 1960s, 1970s, and 1980s had a special set of instructions for I/O, and many computers
still do. With such architecture, reading from a buffer on an interface requires a different instruction than
reading from a memory location. In one computer architecture, for instance, the I/O instruction to read from the
interface in slot 7 is LIA 7, ???load into the A-register from slot 7.??? The memory reference instruction to read from
memory location 7 is LDA 7, ???load into the A-register from memory location 7.??? The instructions LIA and LDA
are different. LIA is a privileged instruction, available only in privileged mode, and LDA is not; any program
can execute LDA.
In the 1980s the idea of memory-mapped I/O gained currency. With memory-mapped I/O, certain memory
locations are reserved for reference to the control registers and buffers of the I/O interfaces.
Pages:
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273