N2K-HUT
Cỏc thành phần của DMAC
Thanh ghi dữ liệu: chứa dữ liệu trao đổi
Thanh ghi địa chỉ: chứa địa chỉ ngăn nhớdữ liệu nhớdữ liệu
Bộ đếm dữliệu: chứa sốtừ dữ liệu cần trao đổi trao đổi
Logic điều khiển: điều khiển hoạt động của DMAC của DMAC
N2K-HUT
Hoạt động DMA
CPU “núi” cho DMAC
Vào hay Ra dữliệu
Địa chỉthiết bịvào-ra (cổng vào-ra tương ứng)
Địa chỉđầu của mảng nhớchứa dữliệu ặnạp vào thanh ghi địa chỉ
Sốtừdữliệu cần truyền ặnạp vào bộđếm dữliệu
CPU làm việc khỏc
DMAC điều khiển trao đổi dữliệu
Sau khi truyền được một từdữliệu thỡ:
nội dung thanh ghi địa chỉ tăng
nội dung bộđếm dữliệu giảm
Khi bộđếm dữliệu = 0, DMAC gửi tớn hiệu ngắt CPU đểbỏo kết thỳc DMA
305
Cỏc kiểu thực hiện DMA
DMA truyền theo khối (Block-transfer DMA): DMAC sửdụng bus đểtruyền xong cảkhối dữliệu
DMA lấy chu kỳ (Cycle Stealing DMA): DMAC cưỡng bức CPU treo tạm thời từng chu kỳ
bus, DMAC chiếm bus thực hiện truyền một từdữliệu.
DMA trong suốt (Transparent DMA): DMAC nhận biết những chu kỳnào CPU khụng sử
dụng bus thỡ chiếm bus để trao đổi một từdữ
liệu.
306
Cấu hỡnh DMA (1)
Mỗi lần truyền, DMAC sửdụng bus hai lần
Giữa mụ-đun vào-ra với DMAC
Giữa DMAC với bộnhớ
N2K-HUT
Cấu hỡnh DMA (2)
DMAC điều khiển một hoặc vài mụ-đun vào-ra
Mỗi lần truyền, DMAC sửdụng bus một lần
Giữa DMAC với bộnhớ
N2K-HUT
Cấu hỡnh DMA (3)
Bus vào-ra tỏch rời hỗtrợ tất cảcỏc thiết bị
cho phộp DMA
Mỗi lần truyền, DMAC sửdụng bus một lần
309
Đặc điểm của DMA
CPU khụng tham gia trong quỏ trỡnh trao đổi dữ liệu