wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Direct memory access (DMA)

profile
Dev Sheta
Aug 13, 2024
0 Likes
0 Discussions
131 Reads

DMA permits data transfer directly between I/O device and main memory,

without involvement by the CPU.

• The transfer of data is first initiated by the CPU.

• During the data transfer, the CPU performs other tasks. When the data

transfer is completed, the CPU receives an interrupt request from the DMA

controller.

• The operating system can use only DMA if the hardware has a DMA

controller.

• Consider a data transferred from disk drive to main memory with DMA as

shown in fig. 

Steps-

1. CPU initiates data transfer by programming DMA controller’s registers.

Control- transfer data from disk to main memory

Count- n Number of bytes to transfer

Address- Starting address location in main memory

2. DMA controller then requests disk controller to add data byte to be

transferred from the disk to its buffer.

3. The disk controller then sends the 1 data byte from buffer to the specified

memory location in main memory.

4. When the write is complete, the disk controller sends an acknowledgement

signal to the DMA controller. DMA controller then increments the address

value by 1 (next empty location to write the data) and decrements the byte

count value by one (1 byte is sent out of n bytes). Then steps 2,3,4 are

repeated till the count reaches 0.

5. When count=0, the DMA controller interrupts the CPU to let it know that

the transfer is now complete.


Comments ()


Sign in

Read Next

Travel Geek ‘The last $50k in Switzerland’

Blog banner

Operating System

Blog banner

What if COVID does not exist!

Blog banner

Supervised and Unsupervised Learning

Blog banner

Memory Management

Blog banner

Types of Malware in Cyber Security

Blog banner

Google classroom

Blog banner

Session Hijacking

Blog banner

Workplace mental health: A Psychological Perspective on Employee Well-being and Organizational Growth

Blog banner

Precision-Recall in Data Science

Blog banner

Cross site scripting Attack

Blog banner

OPERATING SYSTEM

Blog banner

When Is the Right Time to Enrol My Toddler Into Preschool? NEP

Blog banner

SQL Injection practice on DVWA

Blog banner

What is process

Blog banner

Memory Management

Blog banner

Junk food vs healthy food

Blog banner

Virtual Memory

Blog banner

Virtual Memory

Blog banner

Annual Day Preparation for Toddlers: What Helps and What to Avoid

Blog banner

Cyber Attacks -- Trends Patterns and Security Countermeasures

Blog banner

Blockchain in IoT Applications

Blog banner

Data Security and Data Privacy in Data Science

Blog banner

Understanding Portion Control: How Much Food Do You Really Need?

Blog banner

Social Engineering Deceptions and Defenses

Blog banner

I/O Buffering

Blog banner

Security issues in Sensor Networks and gathering admissible evidence in Network Forensics

Blog banner

Sleep Disorder: The Silent Link Between Sleep and Mental Health

Blog banner

I/O Buffering

Blog banner

A MODERN OPERATING SYSTEM

Blog banner

SAVE TREES

Blog banner

Understanding the 'Ambiverts'

Blog banner

Advanced Persistent Threats (APTs)

Blog banner

undefined

Blog banner

Deadlock

Blog banner

Cache memory

Blog banner

Method of Evaluating Information Security Level in an Organization

Blog banner

Asana

Blog banner

The Role of cryptography in cyber security

Blog banner

Not anti-social, but pro-solitude

Blog banner

COMMUNICATION

Blog banner

10 Types of Friends in every friend group

Blog banner