Phương pháp vào/ra dữ liệu theo kiểu DMA (truy nhập trực tiếp bộ nhớ Direct

Một phần của tài liệu GIÁO TRÌNH KIẾN TRÚC MÁY TÍNH (Trang 57 - 59)

Memory Access)

Trong các cách điều khiển việc trao đổi dữ liệu giữa thiết bị ngoại vi và VXL bằng các cách thăm dò trạng thái sẵn sàng của thiết bị ngoại vi hay bằng cách ngắt bộ VXL như trên, dữ liệu thường được chuyển từ bộ nhớ qua bộ VXL rồi từ đó ghi vào thiết bị ngoại vi hoặc ngược lại, từ thiết bị ngoại vi, dữ liệu được đọc vào qua bộ VXL rồi từ đó ghi vào bộ nhớ. Vì thế tốc độ trao đổi dữ liệu phụ thuộc rất nhiều vào tốc độ thực hiện của các lệnh MOV, IN và OUT của bộ VXL. Do đó tốc độ trao đổi dữ liệu nói chung là chậm.

Trong thực tế có những khi rất cần thiết phải trao đổi dữ liệu thật nhanh với thiết bị ngoại vi: như khi đưa dữ liệu hiển thị ra màn hình hoặc đọc, ghi đĩa ... . Trong các trường hợp đó ta cần có được khả năng ghi/ đọc dữ liệu trực tiếp với bộ nhớ thì mới đáp ứng được yêu cầu về tốc độ trao đổi dữ liệu. Có một phương pháp vào ra dữ liệu đáp ứng được yêu cầu cao về tốc độ vào ra, đó là phương pháp truy nhập trực tiếp bộ nhớ ( phương pháp DMA). Để làm được điều này, các hệ VXL nói chung đều phải dùng thêm mạch chuyên dụng để điều khiển việc truy nhập trực tiếp bộ nhớ (Direct Memory Access Controller, DMAC) và phương pháp này là phương pháp điều khiển vào/ra dữ liệu bằng DMA.

Quá trình vào ra dữ liệu trực tiếp giữa bộ nhớ và thiết bị ngoại vi không qua CPU được gọi là quá trình DMA.

Trong quá trình DMA việc chuyển dữ liệu không được điều khiển bởi CPU mà bởi một thiết bị phần cứng được gọi là bộ điều khiển DMAC(Direct Memory Access Controller)

Cấu trúc hệ thống vào ra dữ liệu theo kiểu truy nhập trực tiếp bộ nhớ như sau.

58 Giả sử CPU đang thực hiện bình thường

- DMAC được xác lập chế độ làm việc, nhận thông tin về địa chỉ đầu khối nhớ chứa dữ liệu và kích thước khối dữ liệu cần truyền

- Thiết bị vào/ra phát tín hiệu DRQ cho DMAC

- DMAC phát tín hiệu HOLD=1 cho CPU, đòi CPU đi vào chế độ DMA - CPU thực hiện nốt chu kỳ máy

- CPU phát tín hiệu HLDA trả lời cho DMAC và tự tách ra khỏi hệ thống BUS. Quyền điều khiển hệ thống BUS thuộc về DMAC.

- DMAC làm chủ hệ thống BUS (bus dữ liệu, bus điều khiển, bus điều khiển)

- DMAC tạo ra tín hiệu DACK trả lời thiết bị yêu cầu, phát địa chỉ ô nhớ lên BUS địa chỉ, phát ra các tín hiệu điều khiển ghi/đọc thiết bị vào/ra và các tín hiệu điều khiển ghi/đọc bộ nhớ và thực hện điều khiển toàn bộ quá trình chuyển dữ liệu trực tiếp giữa thiết bị vào/ra và bộ nhớ.

- Khi một khối dữ liệu được chuyển xong, DMAC kết thúc quá trình DMA bằng việc phát tín hiệu HOLD=0 cho CPU và trả quyền điều khiển hệ thống BUS cho CPU.

- CPU tiếp tục làm việc bình thường

Phương pháp vào ra dữ liệu kiểu DMA được dùng để thực hiện truyền dữ liệu giữa các thiết bị có khả năng truy xuất thông tin với khối lượng lớn và đòi hỏi tốc độ truy xuất cao như thiết bị đĩa cứng, đĩa mềm và bộ nhớ.

59

Chương 4 Các thiết bị vào ra

Một phần của tài liệu GIÁO TRÌNH KIẾN TRÚC MÁY TÍNH (Trang 57 - 59)

Tải bản đầy đủ (PDF)

(108 trang)