SlideShare a Scribd company logo
1 of 27
Direct Memory Access (DMA)
Application Software Development
Vipin Kizheppatt
PIO Data transfer
2
Processor
System Bus
Memory Peripheral 1 Peripheral 2
• We need to transfer some data from the memory (assume RAM)
to peripheral-1 for processing
PIO Data transfer
3
Processor
System Bus
Memory Peripheral 1 Peripheral 2
• For this system, the only master (one who initializes data transfer)
is the processor
• Hence only processor can read/write from the memory (under s/w
control
PIO Data transfer
4
Processor
System Bus
Memory Peripheral 1 Peripheral 2
• So the processor first reads from a memory location where the,
first data is stored and stores it in an internal register
PIO Data transfer
5
Processor
System Bus
Memory Peripheral 1 Peripheral 2
• Then from internal register, it is transferred to the peripheral (under
s/w control)
• This kind of data transfer is called a programmable input output (PIO)
data transfer
PIO Data transfer
6
• So you can see one data transfer involves one read and write
under processor supervision
• But remember each read/write operation takes several clock cycles
to complete
• So when you have to transfer a huge amount of data between
memory and peripherals, this method is very inefficient
• For example you have a video frames stored in memory and you
need to transfer it to the display controller. If you follow PIO method
to do this most probably you won’t meet the performance
requirement of 30 fps
• Another drawback of PIO is that the processor is wasting its time for
data transfer instead of during some useful processing. A processor
is not an agent for data transfer, it is supposed to do some data
processing
Direct Memory Access (DMA)
7
• As the name indicates, here the idea is the peripheral directly
accesses the memory for data transfer instead of acting under
processor supervision
Processor
System Bus
Memory Peripheral 1 Peripheral 2
Direct Memory Access (DMA)
8
• Generally computer systems will have a dedicated hardware called
the DMA controller which will access the memory and transfer data
to/from the peripherals
Processor
System Bus
Memory
DMA
Controller
Peripheral 1
Direct Memory Access (DMA)
9
• Remember only masters can initiate data transfer. Since the DMA
controller is managing data transfer here, needs to be a master
• So now there are two masters in out system, the processor and the
DMA controller
• But at a given point in time, only one master can use the system
bus, otherwise two circuits will try to drive the same wire which will
cause issues
• So there should be some mechanism, which decides which master
gets to use the system bus. This mechanism is called bus arbitration
• Again there will be a separate hardware module, which will act as
the arbitrator and decides which master gets to use the bus
• Whenever a master wants to access the system bus, first it requests
the arbitrator. Once the arbitrator gives the access (bus grant), then
the master starts to use the system bus
Bus Arbitration
10
• Bus arbitration is very common in multi-processor systems also
where a system has multiple processors and they need to access the
same resource (such as memory)
Processor
System Bus
Memory
DMA
Controller
Peripheral 1
ArbitratorReq
Grant
Req Grant
Bus Arbitration
11
• But how does the arbitrator know to which master the bus access
should be given?
• That is based on arbitration policy
• There can be multiple policies, such as fixed time division multiple
access (TDMA), where time is divided into multiple slots of equal
duration and each master is given chance to access the bus for one
time slot
• Bus this could waste time since even if a master doesn’t require to
access the bus, it is given the bus control for a time slot
• Another popular policy is round robin arbitration
• Here only if one master is requesting for the bus, it will be given the
bus access. But if more than one master requests for the bus, the
master who accessed the bus most recently gets the least priority
• There can be other more complex policies such as round robin with
priorities. Here each master is assigned a priority and the master
with highest priority gets the access
DMA advantages
12
• Since DMA happens completely under hardware control, it is much
faster than PIO although here also each transfer includes one read
and one write
• Bus the main advantage is the processor is freed from data transfer
and can do some other useful processing since data transfer is now
managed by the DMA controller.
• In modern system a lot of data is stored in the cache memory
hence the processor doesn’t need to access the memory
frequently. But when it has to, now a bus arbitration should
happen since DMA controller is also trying to access the memory
Faster DMA
13
Processor
System Bus
Memory
DMA
Controller
Peripheral 1
Only one operation can happen at a time
Processor
System Bus
Memory
DMA
Controller
Peripheral 1
Two operations happen concurrently
Configuring DMA Controller
14
• But how does the DMA controller know it needs to do a data
transfer and from where to where it need to do it?
• That happens under s/w control from the processor!!
• So the DMA controller is a master all other peripherals, but it is
still a slave to the processor
• When the processor finds out it need to transfer large data between
memory and the peripherals, it configures the DMA controller
(configures the internal registers of the DMA controller)
• It basically needs to configure three information
 Starting address from where data has to be transferred
 Starting address where the data has to be stored
 Total length of the data transfer
• Remember the peripheral is also memory mapped. So the address
of the peripheral’s internal register is configured as starting address
for read/write depending on the direction of the data transfer
Configuring DMA Controller
15
• Once these information is configured, the processor configures the
control register of the DMA controller to start the data transfer
• Once the data transfer is over, the processor finds it out either by
reading the status register of the controller or through the interrupt
signal from the controller
Configuring DMA Controller
16
Processor
System Bus
Memory
DMA
Controller
Peripheral 1
• If we are using this configure, notice that the peripheral is not
directly connected to the system bus hence is not address mapped
to the processor
• Hence in this case the processor only configures the starting address
of the memory, transfer length and direction of transfer (peripheral
to memory or memory to peripheral)
DMA on Zynq
17
External DDR
We need to access this
memory
DMA on Zynq
18
External DDR
From a peripheral
Implemented here
DMA on Zynq
19
External DDR
That could be done either through
the AXI GP slave ports (there are 2)
DMA on Zynq
20
External DDR
The multi-port DDR controller acts
as the arbitrator for the DDR
memory. You can see the processor
core and the AMBA interconnect
connected to the HP ports are
connected to this controller
Xilinx DMA IP (Xilinx AXI DMA)
21
Processor
System Bus
Memory
DMA
Controller
Peripheral 1
Target System architecture
Xilinx DMA IP (Xilinx AXI DMA)
22
Processor
System Bus
Memory
DMA
Controller
Peripheral 1
Target System architecture
Write interface to
Peripheral. Follows AXI4
Stream master protocol
Xilinx DMA IP (Xilinx AXI DMA)
23
Processor
System Bus
Memory
DMA
Controller
Peripheral 1
Target System architecture
Read interface to
Peripheral. Follows AXI4
Stream slave protocol
Xilinx DMA IP (Xilinx AXI DMA)
24
Processor
System Bus
Memory
DMA
Controller
Peripheral 1
Target System architecture
Write interface to
memory. Follows AXI4
full protocol
Xilinx DMA IP (Xilinx AXI DMA)
25
Processor
System Bus
Memory
DMA
Controller
Peripheral 1
Target System architecture
Read interface to
memory. Follows AXI4
full protocol
Xilinx DMA IP (Xilinx AXI DMA)
26
Processor
System Bus
Memory
DMA
Controller
Peripheral 1
Target System architecture
Interface for configuring
DMA controller from the
processor. Follows AXI4-
Lite protocol
Xilinx DMA IP (Xilinx AXI DMA)
27
Processor
System Bus
Memory
DMA
Controller
Peripheral 1
Target System architecture
Interrupt signals showing the
completion of data transfer

More Related Content

What's hot

12 process control blocks
12 process control blocks12 process control blocks
12 process control blocks
myrajendra
 

What's hot (20)

Revisit DCA, PCIe TPH and DDIO
Revisit DCA, PCIe TPH and DDIORevisit DCA, PCIe TPH and DDIO
Revisit DCA, PCIe TPH and DDIO
 
SSD - Solid State Drive PPT by Atishay Jain
SSD - Solid State Drive PPT by Atishay JainSSD - Solid State Drive PPT by Atishay Jain
SSD - Solid State Drive PPT by Atishay Jain
 
Reliability, Availability and Serviceability on Linux
Reliability, Availability and Serviceability on LinuxReliability, Availability and Serviceability on Linux
Reliability, Availability and Serviceability on Linux
 
Motherboard ppt
Motherboard pptMotherboard ppt
Motherboard ppt
 
I2C Protocol
I2C ProtocolI2C Protocol
I2C Protocol
 
System on chip architectures
System on chip architecturesSystem on chip architectures
System on chip architectures
 
PCIe DL_layer_3.0.1 (1)
PCIe DL_layer_3.0.1 (1)PCIe DL_layer_3.0.1 (1)
PCIe DL_layer_3.0.1 (1)
 
Dram and its types
Dram and its typesDram and its types
Dram and its types
 
DDR SDRAMs
DDR SDRAMsDDR SDRAMs
DDR SDRAMs
 
Direct Memory Access ppt
Direct Memory Access pptDirect Memory Access ppt
Direct Memory Access ppt
 
Processor powerpoint 2
Processor powerpoint 2Processor powerpoint 2
Processor powerpoint 2
 
Real-Time Operating Systems
Real-Time Operating SystemsReal-Time Operating Systems
Real-Time Operating Systems
 
Slideshare - PCIe
Slideshare - PCIeSlideshare - PCIe
Slideshare - PCIe
 
DDR3
DDR3DDR3
DDR3
 
Processors used in System on chip
Processors used in System on chip Processors used in System on chip
Processors used in System on chip
 
12 process control blocks
12 process control blocks12 process control blocks
12 process control blocks
 
P1 the function of main hardware components
P1 the function of main hardware componentsP1 the function of main hardware components
P1 the function of main hardware components
 
Motherboard
MotherboardMotherboard
Motherboard
 
DDR3 SDRAM : Notes
DDR3 SDRAM : NotesDDR3 SDRAM : Notes
DDR3 SDRAM : Notes
 
Lecture 3 instruction set
Lecture 3  instruction setLecture 3  instruction set
Lecture 3 instruction set
 

Similar to DMA

Similar to DMA (20)

Direct access memory
Direct access memoryDirect access memory
Direct access memory
 
Direct memory access (dma)
Direct memory access (dma)Direct memory access (dma)
Direct memory access (dma)
 
Direct memory access
Direct memory accessDirect memory access
Direct memory access
 
Coa presentation3
Coa presentation3Coa presentation3
Coa presentation3
 
Direct Memory Access (DMA).pptx
Direct Memory Access (DMA).pptxDirect Memory Access (DMA).pptx
Direct Memory Access (DMA).pptx
 
DMA operation
DMA operationDMA operation
DMA operation
 
3 computer memory
3   computer memory3   computer memory
3 computer memory
 
CISSP - Chapter 3 - CPU Architecture
CISSP - Chapter 3 - CPU ArchitectureCISSP - Chapter 3 - CPU Architecture
CISSP - Chapter 3 - CPU Architecture
 
A transfer from I/O device to memory requires the execution of several instru...
A transfer from I/O device to memory requires the execution of several instru...A transfer from I/O device to memory requires the execution of several instru...
A transfer from I/O device to memory requires the execution of several instru...
 
Exploring Of System Hardware
Exploring Of System HardwareExploring Of System Hardware
Exploring Of System Hardware
 
Basic Computer Architecture
Basic Computer ArchitectureBasic Computer Architecture
Basic Computer Architecture
 
DMA_document__1696148675.pdf
DMA_document__1696148675.pdfDMA_document__1696148675.pdf
DMA_document__1696148675.pdf
 
Computer Architecture | Computer Fundamental and Organization
Computer Architecture | Computer Fundamental and OrganizationComputer Architecture | Computer Fundamental and Organization
Computer Architecture | Computer Fundamental and Organization
 
ARM architcture
ARM architcture ARM architcture
ARM architcture
 
Chapter1 Computer System Overview Part-1.ppt
Chapter1 Computer System Overview Part-1.pptChapter1 Computer System Overview Part-1.ppt
Chapter1 Computer System Overview Part-1.ppt
 
Memory hierarchy.pdf
Memory hierarchy.pdfMemory hierarchy.pdf
Memory hierarchy.pdf
 
Dma
DmaDma
Dma
 
Computer hardware ppt1
Computer hardware ppt1Computer hardware ppt1
Computer hardware ppt1
 
Computer System Overview,
Computer System Overview, Computer System Overview,
Computer System Overview,
 
computer system structure
computer system structurecomputer system structure
computer system structure
 

Recently uploaded

Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
AldoGarca30
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
HenryBriggs2
 

Recently uploaded (20)

Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
 
Linux Systems Programming: Inter Process Communication (IPC) using Pipes
Linux Systems Programming: Inter Process Communication (IPC) using PipesLinux Systems Programming: Inter Process Communication (IPC) using Pipes
Linux Systems Programming: Inter Process Communication (IPC) using Pipes
 
Basic Electronics for diploma students as per technical education Kerala Syll...
Basic Electronics for diploma students as per technical education Kerala Syll...Basic Electronics for diploma students as per technical education Kerala Syll...
Basic Electronics for diploma students as per technical education Kerala Syll...
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)
 
Augmented Reality (AR) with Augin Software.pptx
Augmented Reality (AR) with Augin Software.pptxAugmented Reality (AR) with Augin Software.pptx
Augmented Reality (AR) with Augin Software.pptx
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
Post office management system project ..pdf
Post office management system project ..pdfPost office management system project ..pdf
Post office management system project ..pdf
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
8086 Microprocessor Architecture: 16-bit microprocessor
8086 Microprocessor Architecture: 16-bit microprocessor8086 Microprocessor Architecture: 16-bit microprocessor
8086 Microprocessor Architecture: 16-bit microprocessor
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
Convergence of Robotics and Gen AI offers excellent opportunities for Entrepr...
 
Introduction to Geographic Information Systems
Introduction to Geographic Information SystemsIntroduction to Geographic Information Systems
Introduction to Geographic Information Systems
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
Path loss model, OKUMURA Model, Hata Model
Path loss model, OKUMURA Model, Hata ModelPath loss model, OKUMURA Model, Hata Model
Path loss model, OKUMURA Model, Hata Model
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
 

DMA

  • 1. Direct Memory Access (DMA) Application Software Development Vipin Kizheppatt
  • 2. PIO Data transfer 2 Processor System Bus Memory Peripheral 1 Peripheral 2 • We need to transfer some data from the memory (assume RAM) to peripheral-1 for processing
  • 3. PIO Data transfer 3 Processor System Bus Memory Peripheral 1 Peripheral 2 • For this system, the only master (one who initializes data transfer) is the processor • Hence only processor can read/write from the memory (under s/w control
  • 4. PIO Data transfer 4 Processor System Bus Memory Peripheral 1 Peripheral 2 • So the processor first reads from a memory location where the, first data is stored and stores it in an internal register
  • 5. PIO Data transfer 5 Processor System Bus Memory Peripheral 1 Peripheral 2 • Then from internal register, it is transferred to the peripheral (under s/w control) • This kind of data transfer is called a programmable input output (PIO) data transfer
  • 6. PIO Data transfer 6 • So you can see one data transfer involves one read and write under processor supervision • But remember each read/write operation takes several clock cycles to complete • So when you have to transfer a huge amount of data between memory and peripherals, this method is very inefficient • For example you have a video frames stored in memory and you need to transfer it to the display controller. If you follow PIO method to do this most probably you won’t meet the performance requirement of 30 fps • Another drawback of PIO is that the processor is wasting its time for data transfer instead of during some useful processing. A processor is not an agent for data transfer, it is supposed to do some data processing
  • 7. Direct Memory Access (DMA) 7 • As the name indicates, here the idea is the peripheral directly accesses the memory for data transfer instead of acting under processor supervision Processor System Bus Memory Peripheral 1 Peripheral 2
  • 8. Direct Memory Access (DMA) 8 • Generally computer systems will have a dedicated hardware called the DMA controller which will access the memory and transfer data to/from the peripherals Processor System Bus Memory DMA Controller Peripheral 1
  • 9. Direct Memory Access (DMA) 9 • Remember only masters can initiate data transfer. Since the DMA controller is managing data transfer here, needs to be a master • So now there are two masters in out system, the processor and the DMA controller • But at a given point in time, only one master can use the system bus, otherwise two circuits will try to drive the same wire which will cause issues • So there should be some mechanism, which decides which master gets to use the system bus. This mechanism is called bus arbitration • Again there will be a separate hardware module, which will act as the arbitrator and decides which master gets to use the bus • Whenever a master wants to access the system bus, first it requests the arbitrator. Once the arbitrator gives the access (bus grant), then the master starts to use the system bus
  • 10. Bus Arbitration 10 • Bus arbitration is very common in multi-processor systems also where a system has multiple processors and they need to access the same resource (such as memory) Processor System Bus Memory DMA Controller Peripheral 1 ArbitratorReq Grant Req Grant
  • 11. Bus Arbitration 11 • But how does the arbitrator know to which master the bus access should be given? • That is based on arbitration policy • There can be multiple policies, such as fixed time division multiple access (TDMA), where time is divided into multiple slots of equal duration and each master is given chance to access the bus for one time slot • Bus this could waste time since even if a master doesn’t require to access the bus, it is given the bus control for a time slot • Another popular policy is round robin arbitration • Here only if one master is requesting for the bus, it will be given the bus access. But if more than one master requests for the bus, the master who accessed the bus most recently gets the least priority • There can be other more complex policies such as round robin with priorities. Here each master is assigned a priority and the master with highest priority gets the access
  • 12. DMA advantages 12 • Since DMA happens completely under hardware control, it is much faster than PIO although here also each transfer includes one read and one write • Bus the main advantage is the processor is freed from data transfer and can do some other useful processing since data transfer is now managed by the DMA controller. • In modern system a lot of data is stored in the cache memory hence the processor doesn’t need to access the memory frequently. But when it has to, now a bus arbitration should happen since DMA controller is also trying to access the memory
  • 13. Faster DMA 13 Processor System Bus Memory DMA Controller Peripheral 1 Only one operation can happen at a time Processor System Bus Memory DMA Controller Peripheral 1 Two operations happen concurrently
  • 14. Configuring DMA Controller 14 • But how does the DMA controller know it needs to do a data transfer and from where to where it need to do it? • That happens under s/w control from the processor!! • So the DMA controller is a master all other peripherals, but it is still a slave to the processor • When the processor finds out it need to transfer large data between memory and the peripherals, it configures the DMA controller (configures the internal registers of the DMA controller) • It basically needs to configure three information  Starting address from where data has to be transferred  Starting address where the data has to be stored  Total length of the data transfer • Remember the peripheral is also memory mapped. So the address of the peripheral’s internal register is configured as starting address for read/write depending on the direction of the data transfer
  • 15. Configuring DMA Controller 15 • Once these information is configured, the processor configures the control register of the DMA controller to start the data transfer • Once the data transfer is over, the processor finds it out either by reading the status register of the controller or through the interrupt signal from the controller
  • 16. Configuring DMA Controller 16 Processor System Bus Memory DMA Controller Peripheral 1 • If we are using this configure, notice that the peripheral is not directly connected to the system bus hence is not address mapped to the processor • Hence in this case the processor only configures the starting address of the memory, transfer length and direction of transfer (peripheral to memory or memory to peripheral)
  • 17. DMA on Zynq 17 External DDR We need to access this memory
  • 18. DMA on Zynq 18 External DDR From a peripheral Implemented here
  • 19. DMA on Zynq 19 External DDR That could be done either through the AXI GP slave ports (there are 2)
  • 20. DMA on Zynq 20 External DDR The multi-port DDR controller acts as the arbitrator for the DDR memory. You can see the processor core and the AMBA interconnect connected to the HP ports are connected to this controller
  • 21. Xilinx DMA IP (Xilinx AXI DMA) 21 Processor System Bus Memory DMA Controller Peripheral 1 Target System architecture
  • 22. Xilinx DMA IP (Xilinx AXI DMA) 22 Processor System Bus Memory DMA Controller Peripheral 1 Target System architecture Write interface to Peripheral. Follows AXI4 Stream master protocol
  • 23. Xilinx DMA IP (Xilinx AXI DMA) 23 Processor System Bus Memory DMA Controller Peripheral 1 Target System architecture Read interface to Peripheral. Follows AXI4 Stream slave protocol
  • 24. Xilinx DMA IP (Xilinx AXI DMA) 24 Processor System Bus Memory DMA Controller Peripheral 1 Target System architecture Write interface to memory. Follows AXI4 full protocol
  • 25. Xilinx DMA IP (Xilinx AXI DMA) 25 Processor System Bus Memory DMA Controller Peripheral 1 Target System architecture Read interface to memory. Follows AXI4 full protocol
  • 26. Xilinx DMA IP (Xilinx AXI DMA) 26 Processor System Bus Memory DMA Controller Peripheral 1 Target System architecture Interface for configuring DMA controller from the processor. Follows AXI4- Lite protocol
  • 27. Xilinx DMA IP (Xilinx AXI DMA) 27 Processor System Bus Memory DMA Controller Peripheral 1 Target System architecture Interrupt signals showing the completion of data transfer