Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11:...
-
Upload
vuongduong -
Category
Documents
-
view
236 -
download
0
Transcript of Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11:...
![Page 1: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/1.jpg)
Lesson 10:Lesson 10:Direct Memory Access (DMA)
Chapter 11: Input/Output Organisation
![Page 2: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/2.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
2
Objective
• Understand the concept of Direct memory access to memory for data transfers• Learn how DMA used when multiple bytes are to be transferred between memory and IO devices• Learn DMA Data transfer mechanism between I/O devices and system memory with the least processor intervention using DMAC• Know about the DMAC registers
![Page 3: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/3.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
3
Direct memory access
![Page 4: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/4.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
4
Multi-byte data set or burst of data or block of data
• A DMA is required when a multi-byte data set or a burst of data or a block of data is to be transferred between the external device and system or two systems
• A device facilitates DMA transfer with a processing element called DMAC (DMA Controller)
![Page 5: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/5.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
5
• DMA based method useful, when a block of bytes are transferred, for example, from disk to the RAM or RAM to the disk
• Repeatedly interrupting the processor for transfer of every byte during bulk transfer of data will waste too much of processor time in context switching
Using a DMA controller (DMAC)
![Page 6: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/6.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
6
DMAC
• System performance improves by separate processing of the transfers from and to the peripherals (for example, between camera memory and USB port)
![Page 7: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/7.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
7
Interconnections using a DMAC
![Page 8: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/8.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
8
Sequence of Events Involved in a DMA Transfer to copy the Results of an I/O Operation into the Main Memory
![Page 9: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/9.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
9
DMAC hold request
• After an ISR initiates and programs the DMAC, the DMAC sends a hold request to the CPU
• CPU acknowledges that if the system memory buses are free to use
![Page 10: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/10.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
10
Three modes of Direct memory access
![Page 11: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/11.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
11
Three modes
• Single transfer at a time and then release of the hold on the system bus
• Burst transfer at a time and then release of the hold on the system bus. A burst may be of a few kB
• Bulk transfer and then release of the hold on the system bus after the transfer is completed
![Page 12: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/12.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
12
DMA proceeds without the CPU intervening
• Except (i) at the start for DMAC programming and initializing and (ii) at the end
• Whenever a DMA request by external device is made to the DMAC, the CPU is requested (using interrupt signal) the DMA transfer by DMAC at the start to initiate the DMA and at the end to notify (using interrupt signal) the end of the DMA by DMAC
![Page 13: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/13.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
13
Using a DMA controller
When a DMA controller used to transfer a block of bytes─ ISRs are not called during the transfer of bytes
• An ISR is called only at the beginning of the transfer to program the controller (DMAC)
• Another ISR is called only at the end of the transfer
![Page 14: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/14.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
14
Programming the DMAC registers
![Page 15: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/15.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
15
The ISR that initiates the DMA (Direct Memory Access) to the interrupting source, simply programs the DMA registers for the:
• command (for mode of transfer─ bulk or burst or bytes),
• data-count (number of bytes to be transferred), • memory block address where access to data is
made and • I/O bus for start address of external device
Programming the DMAC registers
![Page 16: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/16.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
16
DMAC control registers for the DMAC operations for an IO device channel
![Page 17: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/17.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
17
DMA IO Channels
![Page 18: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/18.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
18
Multichannel DMAC for use with several devices
• Each channel has separate PC, IOAR, and DC• Every channel has a separate pair of DMA
request DRQ and DMA ACK (DACK) • One I/O channel may be allocated for DRAM
refresh controller, another for hard disk 1, third for hard disk 2 and a fourth for the floppy drive
![Page 19: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/19.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
19
Four I/O Channel DMAC, Separate Control Register(s) and I/O Channel Priority Resolver
![Page 20: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/20.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
20
Summary
![Page 21: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/21.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
21
We learnt
• DMA used when multiple bytes are to be transferred between memory and IO devices
• Data transfer occurs efficiently between I/O devices and system memory with the least processor intervention using DMAC
• DMAC has registers for command (for mode of transfer─ bulk or burst or bytes), data-count (number of bytes to be transferred), memory block address where access to data is made
![Page 22: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/22.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
22
We learnt
• DMAC facilitates fast direct byte transfers between memory and I/O devices compared of interrupt driven DMA as it has in-built processing element and uses the system buses as and when they are made available by the processor
![Page 23: Chapter 11: Input/Output Organisation - Devi Ahilya ... 10: Direct Memory Access (DMA) Chapter 11: Input/Output Organisation](https://reader031.fdocuments.net/reader031/viewer/2022020100/5b325d077f8b9aa0238c2a1e/html5/thumbnails/23.jpg)
Schaum’s Outline of Theory and Problems of Computer ArchitectureCopyright © The McGraw-Hill Companies Inc. Indian Special Edition 2009
23
End of Lesson 10 on Direct Memory Access (DMA)