ADSTB của DMAC. Để tiết kiệm chõn, DMAC 8 bớt địa chỉ cao qua cỏc chõn số liệu D0- D7, cựng với ADSTB=l bỏo rằng đú là cỏc địa chỉ cao A15- A8 do DMAC cấp cho qua nhớ latch U2.
-Cũng do AEN =I, cỏc bit A16- A19 do U3 cấp từ cỏc bịt DI0 -DI3 do ta lập trỡnh cứng .
-Cuối cựng, cỏc tớn hiệu điều khiển đợc đổi nối từ cỏc output của VXL sang cỏc
output của DMAC ( gồm cú IOR#, IOW#, MEMW#, MEMR#).
Cỏc buffer số liệu hai chiều 8286 cho phộp cú thể truyền 8 bit số liệu tới/từ controller đĩa từ/tới hoặc byte cao hoặc byte thấp của bộ nhớ. Bit địa chỉ A0 dựng để chọn đờng cho hai by(e nhớ chẳăn/lẻ đú.
DMAC cú 4 kờnh (channel), nhiều thanh ghi trong để:
-GhI địa chỉ nhớ cơ sở(16 bit). -Ghi số đếm từ (word) nhớ cơ sở -Địa chỉ nhớ hiện hành . -Ghi địa chỉ tạm thời
-Ghi số đếm tạm thời. -GhI trạng thỏi -Ghi địa chỉ lệch -Ghi tạm thời
-Cỏc thanh ghi mode -Ghi chắn DMA
-GhI yờu cầu xin DMA
DMAC cú 4 chõn địa chỉ và 2 bit vào IOR#, IOW# để điều khiển hoạt động
đọc/viết cỏc thanh ghi của nú. Nú cũn cú một flip flop để trỏ địa chỉ byte cao/byte thấp đang cú ở 8 chõn số liệu của nú. Cỏc flip flop này đợc lần lợt tự động lật trạng
thỏi để cho phộp cấp ra 16 bit địa chỉ nhờ chỉ một cổng 8 bit. Tất nhiờn để điều khiển
hoạt động của DMAC cần phải lập trỡnh khởi đầu nú, và lập trỡnh cỏc hoạt động sau
đú của nú. DMAC cú thể lập trỡnh để truyền Ibyte cho mỗi request, 1 khối cỏc byte
cho mỗi request, hay truyền cho đến khi nhận đợc I tớn hiệu dừng từ chõn vào/ra
EOP#.
Đại thể phải làm cỏc việc san:
- Viết từ điều khiển vào địa chỉ trong 1 101 để xoỏ flip flop trong
- Viết từ điều khiển vào địa chỉ trong 1000
- Viết từ mode cho mỗi channel (dựng địa chỉ trong 1011)
- Viết ra địa chỉ nhớ đầu tiờn tới địa chỉ trong của thanh ghi cơ sở cho mỗi channel ta cần
- Viết ra số byte ta muối truyền tới địa chỉ trong của thanh ghi đếm số lợng từ
cơ sở cho mỗi kờnh