NKK-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
Bộ đếm dữliệu: chứa sốtừ dữ liệu cần trao đổi
Logic điều khiển: điều khiển hoạt động của DMAC
18 March 2007 Bài giảng Kiến trỳc Mỏy tớnh 42NKK-HUT NKK-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
18 March 2007 Bài giảng Kiến trỳc Mỏy tớnh 43NKK-HUT NKK-HUT
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.
18 March 2007 Bài giảng Kiến trỳc Mỏy tớnh 44NKK-HUT NKK-HUT
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
18 March 2007 Bài giảng Kiến trỳc Mỏy tớnh 45
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ớ
18 March 2007 Bài giảng Kiến trỳc Mỏy tớnh 46
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
Giữa DMAC với bộnhớ
NKK-HUT
Đặc điểm của DMA
CPU khụng tham gia trong quỏ trỡnh trao đổi dữ liệu
DMAC điều khiển trao đổi dữ liệu giữa bộnhớ chớnh với mụ-đun vào-ra (hoàn toàn bằng phần cứng)ặ tốc độnhanh
Phự hợp với cỏc yờu cầu trao đổi mảng dữ liệu cú kớch thước lớn
NKK-HUT
4. Kờnh vào-ra hay là bộ xử lý vào-ra
Việc điều khiển vào-ra được thực hiện bởi một bộxử lý vào-ra chuyờn dụng
Bộxử lý vào-ra hoạt động theo chương trỡnh của riờng nú
Chương trỡnh của bộ xử lý vào-ra cú thể nằm trong bộ nhớchớnh hoặc nằm trong một bộnhớ riờng