Direct memory access

Direct memory access (DMA) (tạm dịch, truy cập bộ nhớ trực tiếp) là cơ chế của hệ thống máy tính cho phép một thành phần phần cứng truy cập đến bộ nhớ dữ liệu chính (như RAM) một cách độc lập với CPU.

DMA thường thì hoạt động chuyển thông tin giữa thiết bị I/O với bộ nhớ máy tính được thực hiện thông qua CPU theo cơ chế tuần tự: CPU ra lệnh "import" để nhập 1 đơn vị thông tin (byte/word) từ thiết bị I/O vào thanh ghi CPU rồi ra lệnh ghi thông tin từ thanh ghi CPU vào ô nhớ RAM nào đó. Quy trình này rất chậm vì CPU phải tốn nhiều chu kỳ máy để thực hiện các lệnh di chuyển thông tin, hơn nữa thông tin còn phải đi vòng qua CPU trước khi đến được vị trí cuối cùng. Để tăng tốc độ chuyển dữ liệu giữa I/O và RAM, người ta đã thiết kế mạch cứng DMA (Direct Memory Access) cho phép chuyển dữ liệu trực tiếp giữa I/O và RAM mà không cần đi ngang qua CPU nữa. Như vậy, nếu driver thiết bị I/O hỗ trợ tốt chế độ hoạt động DMA thì bạn nên cho phép chế độ này hoạt động.

Khi sử dụng, CPU gửi cho bộ điều khiển một số các thông số như địa chỉ trên đĩa của khối, địa chỉ trong bộ nhớ nơi định vị khối, số lượng byte dữ liệu để chuyển.

Sau khi bộ điều khiển đã đọc toàn bộ dữ liệu từ thiết bị vào buffer của nó và kiểm tra checksum, bộ điều khiển chuyển byte đầu tiên vào bộ nhớ chính tại địa chỉ được mô tả bởi địa chỉ bộ nhớ DMA. Sau đó nó tăng địa chỉ DMA và giảm số bytes phải chuyển. Quá trình này lập cho tới khi số bytes phải chuyển bằng 0, và bộ điều khiển tạo một ngắt. Như vậy không cần phải copy khối vào trong bộ nhớ, nó đã hiện hữu trong bộ nhớ.

Điểm lợi của DMA: Với những chức năng giao tiếp ngoài có tính liên tục như xử lý âm thanh, kết nối mạng với bên ngoài thì rất cần thiết. CPU không thể xử lý đa nhiệm cùng lúc nhiều chức năng nên buộc phải sử dụng DMA. Nếu gói dữ liệu chưa thể ghi hết vào DMA thì CPU có thể đợi (do CPU có tốc độ lớn hơn nhiều với giao tiếp ngoài) cho đến khi nào cờ ngắt báo đã ghi xong.

Lịch sử[sửa | sửa mã nguồn]

Tham khảo[sửa | sửa mã nguồn]

Chúng tôi bán
Bài viết liên quan
Về nước làm việc, bạn sợ điều gì?
Về nước làm việc, bạn sợ điều gì?
Hãy thử những cách sau để không bị “shock văn hoá ngược" khi làm việc tại Việt Nam nhé!
Nhân vật Seira J. Loyard trong Noblesse
Nhân vật Seira J. Loyard trong Noblesse
Seira J. Loyard (Kor. 세이라 J 로이아드) là một Quý tộc và là một trong tám Tộc Trưởng của Lukedonia. Cô là một trong những quý tộc của gia đình Frankenstein và là học sinh của trường trung học Ye Ran. Cô ấy cũng là thành viên của RK-5, người cuối cùng tham gia.
Giới thiệu Burglar - Sư phụ Goblin Slayer
Giới thiệu Burglar - Sư phụ Goblin Slayer
Sau thảm kịch xảy ra với chị gái và ngôi làng của mình, Goblin Slayer được một mạo hiểm giả tộc Rhea cứu giúp
Giới thiệu TV Series Jupiter's Legacy
Giới thiệu TV Series Jupiter's Legacy
Jupiter's Legacy là một loạt phim truyền hình trực tuyến về siêu anh hùng của Mỹ do Steven S. DeKnight phát triển