Chapter : 4 Programmable DMA Controllers - Hameroha

1y ago
28 Views
2 Downloads
887.65 KB
42 Pages
Last View : 1m ago
Last Download : 2m ago
Upload by : Aydin Oneil
Transcription

Chapter : 4Programmable DMA controllers1The bulk data transfer from fast I/O devices to thememory or from the memory to I/O devices throughAccumulator is a time consuming process.Thus Direct memory Access(DMA) technique isperformed. Direct memory access (DMA) is a process inwhich an external device takes over the control ofsystem bus from the CPU. Direct Memory Access (DMA) is a method wherebythe memory and I/O space of the microprocessorcan be accessed directly without the intervention ofthe microprocessor or a program. During a DMA access the microprocessor is turnedoff by placing a logic one on the HOLD input.

contd.2 After placing a logic one on HOLD, themicroprocessor issues a logic one on the HLDA toindicate a hold is in effect.During a HOLD, the microprocessor stops runningthe program and it places its address, data, andcontrol bus connections at their impedance state.This in effect is the same as removing themicroprocessor from its socket!

Contd.3.

Contd.4.

DMA ControllerA DMA controller interfaces with several peripherals that may request DMA.The controller decides the priority of simultaneous DMA requestscommunicates with the peripheral and the CPU, and provides memoryaddresses for data transfer.DMA controller commonly used with 8086 is the 8237 programmable device.The 8237 is in fact a special-purpose microprocessor.Normally it appears as part of the system controller chip-sets.The 8237 is a 4-channel device. Each channel is dedicated to a specificperipheral device and capable of addressing 64 K bytes section of memory.

The 8237 DMA controller6The chipset in a modern computer contains a pairof 8237 DMA controllers to provide 8 DMAchannels. The 8237 Multimode Direct Memory Access(DMA) Controller is a peripheral interface circuitfor microprocessor systems. It is designed to improve system performance byallowing external devices to directly transferinformation from the system memory.

Contd.7.

8237 DMA controller pin-out8.

The 8237 Architecture9.

Some Important Signal Pins10 VCC: is the 5V power supply pinGND GroundCLK: CLOCK INPUT: The Clock Input is used to generate thetiming signals which control 82C37A operations.CS: CHIP SELECT: Chip Select is an active low input used toenable the controller onto the data bus for CPU communications.RESET: This is an active high input which clears the Command,Status, Request, and Temporary registers, the First/Last Flip-Flop,and the mode register counter. The Mask register is set to ignorerequests. Following a Reset, the controller is in an idle cycle.READY: This signal can be used to extend the memory read andwrite pulses from the 82C37A to accommodate slow memoriesor I/O devices.

Some Important Signal Pins11.

Contd. Some Important Signal Pins12.

Contd. Some Important Signal Pins13.

Contd. Some Important Signal Pins14.

Contd. Some Important Signal Pins15DB7-DB0: data bus, connected to microprocessorand are used during the programming DMAcontroller. A3-A0: address pins select an internal registerduring programming and provide part of theDMA transfer address during DMA operation. A7-A4: address pins are outputs that providepart of the DMA transfer address during a DMAoperation.

Flow of Control Signals16.

The 8237 Architecture17.(Timing control)

Contd.18.

Contd.19.

Contd.20Program command control block: This blockdecodes the various commands given to the 8237by microprocessor prior to servicing a DMA request.It also decodes the mode control word used to selectthe type of DMA during the servicing. Priority encoder block: This block resolves prioritycontention between DMA channels requestingservices, simultaneously.

Transfer typesThe 8237 provides two basic types of transfers, viz., perioheral transfer andmemory to memory transfer.Peripheral transfersThere are three types of peripheral transfers. These are as follows:1.DMA read2.DMA write3.DMA verify Each of the three active transfer modes can perform three different types oftransfers. DMA read: DMA Read transfers move data from memory to anI/O device by activating MEMR and IOW.DMA write: DMA Write transfers move data from an I/O deviceto the memory by activating MEMW and IOR.DMA verify : DMA Verify transfers are pseudo transfers. The8237A operates as in Read or Write transfers generatingaddresses, and responding to EOP, etc.

Operating modes of 823722There are 4 operating modes of 8237. They are:I.Auto –initialization modeII.Priority modeIII.Normal mode andIV.Compressed timing

Auto –initialization mode23 By programming a bit in the mode register, achannel may be set up as an auto-initialize channel.During auto-initialize initialization , the originalvalues of the current address and current word countregisters are automatically restored from the baseaddress and based word count registers of thatchannel following EOP.Following Auto initialize the channel is ready toperform another DMA service, without CPUintervention, as soon as a valid DREQ is detected.

Priority mode-The 8237 has two types of channel’s priority encoding available as s/wselectable options.The four DMA channels can be programmed either in a Fixed priority mode of operation- fixes the channels in priority order- fromCH0 (highest) to CH3 (lowest) priority. i.e. The channel with the lowest priority is 3 followed by 2, 1 and the highestpriority channel, 0. After the recognition of any one channel for service, the other channels areprevented from interfering with that service until it is completed. Rotating priority mode of operation – the current channel getting servicewill become the lowest channel.

Contd.25Normal ModeThis is the default mode of 8237.In this mode , read (IOR and MEMR) and write (IOWand MEMW) pulses are activated during normalclock time.Compressed Timing In order to achieve even greater throughput wheresystem characteristics permit, the 8237A cancompress the transfer time.

Registers of 823726 .either incremented or decremented during the operation

Registers of 823727 .Each channels has itsown mode registeri.e. where external signals is not available for DMAtransfer

Registers of 823728 .i.e. If the mask is set,The channel is disabled

Command Register29This is an 8-bit register which controls theoperation of the 8237. It is programmed by themicroprocessor and is cleared by the reset or amaster clear instruction. The register uses bit position 0 to select thememory-to-memory DMA transfer mode. memory-to-memory DMA transfers use DMAchannel 0 to hold the source address DMA channel 1 holds the destination address

Command Register30

Mode Register31 Each channel has mode register associated with it.When the register is being written to by themicroprocessor in the operation condition, bits 0 and 1determine which channel mode register is to be written. more thanone 8237Atogether forsimple systemexpansion

Request Register32 The 8237 can respond to requests for DMA servicewhich are initiated by software as well as by a DREQ.very useful in memory-to-memory transfers, where an externalsignal is not available to begin the DMA transfer

Mask Register33 Each channel has a mask bit which can be set todisable the incoming DREQ. Each mask bit is set when itsassociated channel produces an EOP if the channel isnot programmed for auto-initialize.

Status RegistersThe status register shows status of each DMAchannel. The TC bits indicate if the channel hasreached its terminal count (transferred all itsbytes). When the terminal count is reached, theDMA transfer is terminated for most modesof operation. the request bits indicate whether the DREQinput for a given channel is active 34

Contd.35

8237 Software commands

8237 Software CommandsMaster clear Acts exactly the same as the RESET signalto the 8237. as with the RESET signal, this commanddisables all channelsClear mask register Enables all four DMA channels.37

8237 Software CommandsClear the first/last flip-flop Clears the first/last (F/L) flip-flop within 8237.The F/L flip-flop selects which byte (low or high order) isread/written in the current address and current countregisters.if F/L 0, the low-order byte is selected if F/L 1, the high-order byte is selected Any read or write to the address or count registerautomatically toggles the F/L flip-flop.38

8237A DMA Controller Interfaces to 80x86 family and DRAMWhen DMA module needs buses it sends HOLD signal to processorCPU responds HLDA (hold acknowledge) DMA module can use busesE.g. transfer data from memory to disk1. Device requests service of DMA by pulling DREQ (DMA request) high2. DMA puts high on HRQ (hold request),3. CPU finishes present bus cycle (not necessarily present instruction) and putshigh on HDLA (hold acknowledge). HOLD remains active for duration ofDMA4. DMA activates DACK (DMA acknowledge), telling device to start transfer5. DMA starts transfer by putting address of first byte on address bus andactivating MEMR; it then activates IOW to write to peripheral. DMAdecrements counter and increments address pointer. Repeat until countreaches zero6. DMA deactivates HRQ, giving bus back to CPU

Interfacing and Programming of DMA with 8085/806Programming the 8237:Steps:1. Write a mode word in the Mode register – that selects the channel and specifiesthe type of transfers (read, write, or verify) and the DMA mode (block, singlebyte, etc.)2. Write the starting address of the data block to be transferred in the channelMemory Address Register (MAR).3. Write the byte count in the channel count register.4. Write a control word in the command register that specifies parameters such aspriority among four channels, DRQ and DACK active levels, and timing, andenables the 8237.

11DO8 –DO1STB8212 Latch2MD DI8 – DI1AD7AD0RD8085MPRWIO/ WHOLDHLDACLK(OUT)RESET 10B314 A4B413BSEL 1OE1547912D7D0READYMEMRIORMEMRIOWControlBusA0CS READY A3A7MEMRIORDRQ0MEMW ESETAEN ADSTB8257ALE74LS257.A15A15A8TCMARKVCCDS2 STB CLR DO8DI8 8212 LatchDO1DI1 MDDS1

.Address buss A0-A158 BITSTB LATCHOE#A0-A15 BUSENHOLDHOLDAAENHRQA0-A3 A4-A7 CS/HLDAI8237AADSTBDB0-DB7DREQ0-3CPUCLKRESETMEMR# MEMW# IOR# IOW#CLOCKRESETM EM R#M EM W#IOR#IOW#Control bussD0-D7Sistem data bussSystem Data BusDACK0-3

Thus Direct memory Access(DMA) technique is performed. Direct memory access (DMA) is a process in which an external device takes over the control of system bus from the CPU. Direct Memory Access (DMA) is a method whereby the memory and I/O space of the microprocessor can be accessed directly without the intervention of

Related Documents:

PG 3 DMA-011 DMA-043 DMA-096 DMA-053 DMA-056 DMA-064 DMA-063 DMA-066 DMA-066B DMA-067 DMA-068 DMA-079 DMA-084 DMA-087 DMA-088

Different DMA for each surface type. Slide courtesy of Santa Barbara County and Dan Cloak. 1225 SF Existing Impervious Area. DMA-1. 3200 DMA-2. 3200 DMA-3: 3700 DMA-4. 12400 DMA-5: 500 DMA-6. 8500 DMA-7: 4200 Total 35700 1225 SF Existing Impervious Area. Slide courtesy of Santa Barbara County and Dan Cloak. Sizing - Treatment Only. DMA Name .

This DMA General Certification Overview course is the first of five mandatory courses required for DMA certification: 1. DMA General Certification Overview 2. DMA Military Sexual Trauma (MST) and the Disability Examination Process 3. DMA Medical Opinions 4. DMA Aggravation Opinions 5. DMA Gulf War General Medical Examination

DMA interrupt handler are implemented in emlib, but callbacks can be registered by application emlib DMA config includes DMA interrupt handler Callback functions registered during DMA config 17. Hands-on task 1 - Basic Mode 1. Open an\fae_training\iar\dma.eww and got to adc_basic project 2. Run code and check that DMA- CHREQSTATUS[0] is set to 1

Linux - DMA buf Application Coprocessor libmetal Allocator (ION ) Remoteproc ioctl to import DMA buf Linux Kernel metal_shm_open() metal_shm_attach() metal_shm_sync DMA buf DMA buf fd DMA buf fd va, dev_addr DMA buf fd dev addr, size Sync_r/Sync_w, Ack RPMsg dev_addr, size Sync_r/Sync_w, Shm size Ack

Part One: Heir of Ash Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 Chapter 14 Chapter 15 Chapter 16 Chapter 17 Chapter 18 Chapter 19 Chapter 20 Chapter 21 Chapter 22 Chapter 23 Chapter 24 Chapter 25 Chapter 26 Chapter 27 Chapter 28 Chapter 29 Chapter 30 .

CLASSIFIED ADVERTISING 400 East 11th Street Chattanooga, Tennessee 37403 (423) 757-6252 FAX (423) 757-6337 Market & Retail Trading Zones Adults in Percent TFP TFP Reach Weekly Times Free Press Readers Chatt. DMA of DMA Readers % in DMA DMA Chattanooga DMA 744,860 100.0% 312

Description Logic Knowledge Base Exchange Elena Botoeva supervisor: Diego Calvanese PhD Final Examination April 10, 2014 Bolzano Elena Botoeva(FUB)Description Logic Knowledge Base Exchange1/33. Outline 1 Introduction 2 Summary of Work 3 Results 4 Technical Development Universal Solutions Universal UCQ-solutions UCQ-representations Elena Botoeva(FUB)Description Logic Knowledge Base Exchange2/33 .