Khởi tạo: Trước khi đưa DMAC vào hoạt động, Phải có chương trình
khởi tạo cho nó. Quá trình khởi tạo sẽ cung cấp cho DMAC thông tin cần thiết để hoạt động. Đó là các thông tin như: địa chỉ bắt đầu của khối dữ liệu, kích thước khối dữ liệu, chiều đọc/ghi dữ liệu, số hiệu cổng của TBN.
+ Hoạt động:
Xét trường hợp truyền một khối dữ liệu từ bộ nhớ ra TBN.
(1) Bước 1: TBN yêu cầu DMA bằng cách đặt tín hiệu DREQ lên mức cao
(2) Bước 2: DMAC đặt tín hiệu mức cao vào chân HRQ (Hold Request) gửi tín hiệu yêu cầu treo bus cho VXL, báo cho VXL biết DMAC cần sử dụng bus
(3) Bước 3: VXL kết thúc chu kỳ bus hiện tại, chuyển các cổng ghép nối với bus sang mức trở kháng cao và trả lời yêu cầu DMA bằng tín hiệu
mức cao ở chân HDLA ( Hold Acknoledge) báo cho DMAC được quyền sử dụng bus
(4) Bước 4: DMAC kích hoạt tín hiệu DACK báo cho TBN biết nó sẽ bắt đầu điều khiển việc truyền dữ liệu.
(5) Bước 5: DMAC bắt đầu truyền dữ liệu từ bộ nhớ tới TBN như sau: - DMAC đặt địa chỉ của byte đầu tiên của khối dữ liệu lên bus địa chỉ - Kích hoạt tín hiệu /MEMR để đọc byte dữ liệu từ bộ nhớ lên bus dữ
liệu
- Đặt địa chỉ của cổng TBN lên bus địa chỉ
- Kích hoạt tín hiệu IOW để ghi byte dữ liệu đang có trên bus dữ liệu ra TBN
- Giảm giá trị đếm và tăng giá trị địa chỉ
- Lặp lại quá trình trên cho tới khi giá trị đếm bằng 0
(6) Sau khi quá trình DMA kết thúc, DMAC xoá giá trị HRQ xuống mức thấp, trả quyền điều khiển bus cho VXL.