Phương pháp trao đổi bằng truy cập trực tiếp bộ nhớ~ Phương pháp trao đổi bằng truy cập trực tiếp bộ nhớ

Một phần của tài liệu Ngoại vi và giao diện 2 (Trang 51 - 55)

Phương pháp trao đổi bằng truy cập trực tiếp bộ nhớ~Phương pháp trao đổi bằng truy cập trực tiếp bộ nhớ Phương pháp trao đổi bằng truy cập trực tiếp bộ nhớ

Là phương pháp tao đổi thông tin nhanh cho một khối lượng tin lớn, trực tiếp giữa khối nhớ và cổng vào /ra cho TBNV không thông qua bộ VXL.

Phương pháp này thường được sử dụng để đưa tin từ khối nhớ ra màn hình hặoc troa đổi thông tin giữa bộ nhớ và băng từ...

Ví dụ một đoạn chương trình LAP:

MOV AL,[SI] ;10 chu kì đồng hồ OUT 35h,AL ;10 chu kì

INC SI ; 2 chu kì LOOP LAP ;17 chui kì

Việc trao đổi ti trên mất 39 chu kì đồng hồ trong khi việc trao đổi tin trực tiếp chỉ mất có 4 chu kì đồng hồ ;

Sơ đồ trao đổi tin DMA trong máy vi tính

Hình 2-16: Sơ đồ ghép nối DMAC-8237 với MVT

Giải thích các thành phần trong sơ đồ

• CPU (Centranl processing Unit )

• DMAC(Direct Memory Access Controller) có hai loại chíp DMAC,mỗi chíp có 4 kênh hoạt động.Mỗi kệnh đáp ứng cho một nhu cầu trao đổi tin của TBNV với hệ thống máy vi tính

DMAC Master gồm các kênh 4 tới 7 DMAC Slave gồm các kênh 0 tới 3

• Interface khối ghép nối thiết bị ngoại vi với hệ thống • Mem data: bộ nhớ hệ thống

• Page Reg: tập thanh ghi

Hoạt động của DMA

Hệ thống hoạt động theo các mức sau:

+ Mức 0:khi chưa có DMA,CPU thực hiện chương trình hệ thống để xác định • hướng truyền số lệu

ổ đĩa mềm:chuyển từng byte ổ đĩa cứng chuyển cả khối dữ liệu

- Cách thức chuyển: theo mảng dữ liệu định hướng trước hoặc theo yêu cầu của TBNV + Mức 1 thiết bị ngoại vi có yêu cầu trao đổi tin. Dữ liệu được chuyển tới khối ghép nối. + Mức 2 mạch ghép nối phát ra tín hiệu DRQ tới DMA 8237 nếu không bị cấm.

+ Mức 3 Nếu không bị cấm 8237 pháp tín hiệu HRQ tới cho CPU

+ mức 4 CPU tạm dừng các công việc của mình,cắt ba trạng thái đường tín hiệu nối với BUS.

+Mức 5 CPU phát tín hiệu HLDA (Hold ACknowleadge )chấp nhận treo tới 8237 +Mức 6 CPU khởi đường BUS và 8237 chiếm đường BUS khi đó sảy ra các trường hợp sau

• Đọc ngoại vi,ghi ô nhớ 8237 phát ra các tín hiệu: DACKi( DMACAcknowleadge)

IOR (in out read ) => Dữ liệu được chuyển từ TBNV qua địa chỉ ->MEM Data đường BUS sang bộ nhớ

MEMW (memory write) • Đọc ngoại vi: DACKi

IOW(I/O write) địa chỉ ->MEM Data MEMR(memory read)

Khi chuyển dữ liệu xong, DMAC tăng thanh ghi địa chỉ tạm thời, giảm bộ đếm hiện thời chuẩn bị cho chu kì vận chuyển tiếp theo

Trong trường hợp bộ đếm hiện thời có giá trị bằng 0 thì kết thúc chuyển một khối dữ liệu và DMA phát ra một tín hiệu T/C (Terminal Count ) tới khói ghép nối và báo cho thiết bị ngoại vi biết một chu kì đã kết thúc

+ Mức 7 Sau khi chuyển dữ liẹu xong,Các tím hiệu DRQi HRQ,HLDA IOR,MEMW... trở về trạng thái ban đầu và dông thpời DAM tăng nội dung của thanh ghi địa chỉ hiện thời chuẩn bị co một chu kì tiếp theo.

Ứng dụng chính của các kênh DMA trong máy vi tính cá nhân (adsbygoogle = window.adsbygoogle || []).push({});

Kênh DMA vi mạch DMA Chiều rộng (bit) ứng dụng trong PC

0 Slave 8 Card âm thanh hay dự chữ BUS ISA 1 Slave 8 Dự trữ, Card âm thanh hay cho card

mạng

2 Slave 8 điều khiển đĩa mền

3 Slave 8 Dự trữ

4 master 16 Dùng nối DMA chủ với DMA tớ

5 master 16 Dự chữ cho Bus ISA

6 master 16 Dự chữ cho Bus ISA

Một phần của tài liệu Ngoại vi và giao diện 2 (Trang 51 - 55)