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ử

Tham khảo

Bài viết này vẫn còn sơ khai. Bạn có thể giúp Wikipedia mở rộng nội dung để bài được hoàn chỉnh hơn.
  • x
  • t
  • s
  • x
  • t
  • s
Các tiêu chuẩn kỹ thuật và Tiêu chuẩn chung của các Bus máy tính có dây
Tổng quan
Tiêu chuẩn
  • SS-50 bus
  • S-100 bus
  • Multibus
  • Unibus
  • VAXBI
  • MBus
  • STD Bus
  • SMBus
  • Q-Bus
  • Europe Card Bus
  • ISA
  • STEbus
  • Zorro II
  • Zorro III
  • CAMAC
  • FASTBUS
  • LPC
  • HP Precision Bus
  • EISA
  • VME
  • VXI
  • VXS
  • NuBus
  • TURBOchannel
  • MCA
  • SBus
  • VLB
  • PCI
  • PXI
  • HP GSC bus
  • InfiniBand
  • Ethernet
  • UPA
  • PCI Extended (PCI-X)
  • AGP
  • PCI Express (PCIe)
  • Compute Express Link (CXL)
  • Coherent Accelerator Processor Interface (CAPI)
  • Direct Media Interface (DMI)
  • RapidIO
  • Intel QuickPath Interconnect
  • NVLink
  • HyperTransport
    • Infinity Fabric
  • Intel Ultra Path Interconnect
Lưu trữ
  • ST-506
  • ESDI
  • IPI
  • SMD
  • Parallel ATA (PATA)
  • SSA
  • DSSI
  • HIPPI
  • Serial ATA (SATA)
  • SCSI
    • Parallel
    • SAS
  • Fibre Channel
  • SATAe
  • PCI Express (thông qua AHCI hoặc NVMe logical device interface)
Ngoại vi
  • Apple Desktop Bus
  • Atari SIO
  • DCB
  • Commodore bus
  • HP-IL
  • HIL
  • MIDI
  • RS-232
  • RS-422
  • RS-423
  • RS-485
  • Lightning
  • DMX512-A
  • IEEE-488 (GPIB)
  • IEEE-1284 (Cổng song song)
  • UNI/O
  • 1-Wire
  • I²C (ACCESS.bus, PMBus, SMBus)
  • I3C
  • SPI
  • D²B
  • Parallel SCSI
  • Profibus
  • IEEE 1394 (FireWire)
  • USB
  • Camera Link
  • External PCIe
  • Thunderbolt
Âm thanh
  • ADAT Lightpipe
  • AES3
  • Intel HD Audio
  • I²S
  • MADI
  • McASP
  • S/PDIF
  • TOSLINK
Cầm tay
  • PC Card
  • ExpressCard
Nhúng
  • Multidrop bus
  • CoreConnect
  • AMBA (AXI)
  • Wishbone
  • SLIMbus
Chú ý: các bus liệt kê theo sắp xếp tăng dần về tốc độ (thô), bus ở cuối có tốc độ nhanh nhất
Thể loại Category:Bus máy tính