với ổ đĩa hoặc đưa dữ liệu ra hiển thị
Các bước để chuyển một mảng dữ liệu từ bộ nhớ ra TBNV
1. CPU ghi từ điều khiển và từ chế độ làm việc vào DMAC để qui định cách thức làm việc, địa chỉ đầu của mảng nhớ, độ dài của mảng định cách thức làm việc, địa chỉ đầu của mảng nhớ, độ dài của mảng nhớ, …
2. Khi ngoại vi có yêu cầu trao đổi số liệu => đưa DRQ=1 đến DMAC3. DMAC đưa ra tín hiệu HRQ đến chân HOLD của CPU để yêu cầu 3. DMAC đưa ra tín hiệu HRQ đến chân HOLD của CPU để yêu cầu treo CPU, tín hiệu HOLD phải ở mức cao cho đến hết quá trình trao đổi số liệu.
4. Nhận được yêu cầu treo, CPU kết thúc chu kỳ bus hiện tại sau đó treo cả bus của mình và đưa ra tín hiệu HLDA báo cho DMAC được treo cả bus của mình và đưa ra tín hiệu HLDA báo cho DMAC được toàn quyền sử dụng bus.
5. DMAC đưa ra xung DACK để báo cho ngoại vi biết là có thể bắt đầu trao đổi số liệu. đầu trao đổi số liệu.
6. DMAC bắt đầu chuyển dữ liệu từ bộ nhớ ra ngoại vi:- Địa chỉ của byte => bus địa chỉ - Địa chỉ của byte => bus địa chỉ
- Đưa tín hiệu MEMR=0 => đọc 1 byte từ bộ nhớ => bus dữ liệu- Đưa tín hiệu IOW=0 =>đưa dữ liệu ra ngoại vi - Đưa tín hiệu IOW=0 =>đưa dữ liệu ra ngoại vi