Các phương pháp điều khiển 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 (ngành kỹ thuật lắp ráp, sửa chữa máy tính) (Trang 90 - 96)

CHƯƠNG IV: HỆ THỐNG VÀO RA

4.2. Các phương pháp điều khiển vào ra

- Vào ra bằng chương trình

- Vào ra bằng ngắt

- Truy cập bộ nhớ trực tiếp DMA

4.2.1. Vào ra bằng chương trình – polling

91

- Sử dụng lệnh vào ra trong chương trình đểtrao đổi dữ liệu với cổng vào ra

- Khi CPU thực hiện chương trình gặp lệnh vào ra thì CPU điều khiển trao đổi

dữ liệu với cổng vào ra.

- CPU và thiết bị ngoại vi chỉ trao đổi dữ liệu khi có tín hiệu móc nối báo sẵn

sàng (Ready/ACK) của các phía. Sau khi máy tính khởi động thiết bị ngoại vi (khối

ghép nối), máy tính luôn chờ và kiểm tra trạng thái sẵn sàng của thiết bị ngoại vi gồm

các bước:

(1) Đọc thông tin về trạng thái sẵn sàng của thiết bị ngoại vi

(2) Kiểm tra: Nếu thiết bị ngoại vi sẵn sàng thì trao đổi dữ liệu, ngược lại thì về bước (1) để kiểm tra lại.

Phương pháp này được dùng khi tốc độ trao đổi dữ liệu của các bên (CPU và thiết bị ngoại vi) rất không bằng nhau.

Nhận xét:

92

- Tốn thời gian CPU vì phải kiểm tra trạng thái sẵn sàng của thiết bị ngoại vi, việc kiểm tra này do CPU đảm nhiệm nên giảm hiệu suất của hệ thống.

- Phù hợp với những hệ thống không đòi hỏi cao về tốc độ trao đổi dữ liệu, hệ

thống có ít thiết bị ngoại vi.

4.2.2. Vào ra bằng phương pháp ngắt

Bình thường máy tính thực hiện một chương trình (công việc) nào đó. Khi thiết bị ngoại vi có yêu cầu trao đổi dữ liệu, nó sẽ gửi tín hiệu yêu cầu ngắt CPU dừng công việc hiện tại, phục vụ cho trao đổi dữ liệu thông qua tín hiệu yêu cầu ngắt IRQ

(Interrupt Request) tác động vào chân INTR (chân tiếp nhận yêu cầu ngắt) của CPU.

CPU nhận được yêu cầu ngắt, nếu chấp nhận nó sẽ đưa ra xung INTA xác nhận tới

thiết bị ngoại vi, sau đó CPU tìm chương trình con phục vụ ngắt tương ứng số hiệu

ngắt và thực hiện nó. Đó chính là chương trình con thực hiện trao đổi(vào/ra) dữ liệu

do thiết bị ngoại vi yêu cầu. Khi trao đổi xong (ISR – Interrupt Service Routine) kết

93

4.2.3. Vào ra sử dụng DMA

Trong các phương pháp vào/ra dữ liệu bằng chương trình kể trên, dữ liệu phải

được chuyển qua lại từ bộ nhớđến CPU rồi đến thiết bị ngoại vi hoặc ngược lại bằng việc thực hiện từng lệnh (MOV, IN hoặc OUT) của CPU với sự tham gia của các thanh ghi. Dữ liệu của mỗi lần vận chuyển là byte hoặc word (2 byte), tốc độ trao đổi dữ liệu phụ thuộc rất nhiều vào tốc độ thực hiện các lệnh trao đổi dữ liệu kể trên. Nói chung, tốc độ trao đổi dữ liệu là không thể nhanh được. Với các thiết bị làm việc với bộ nhớ khối như màn hình, ổđĩa, ... yêu cầu trao đổi cả mảng dữ liệu thì phương pháp

vào/ra dữ liệu bằng chương trình là không phù hợp. Khi đó người ta nghĩ đến việc

điều khiển dữ liệu vào/ra trực tiếp từ bộ nhớ đến thiết bị ngoại vi hoặc ngược lại mà

không thông qua CPU bằng những lệnh trao đổi dữ liệu như MOV, IN hoặc

OUT. Đó là phương pháp vào/ra dữ liệu bằng cách truy nhập trực tiếp bộ nhớ (DMA

– Direct Memory Access). Trong trường hợp này CPU trao quyền điều khiển cho một mạch phần cứng phụ điều khiển việc vào/ra dữ liệu, đó là DMAC– DMA Controller

Các thành phần của DMAC

- Thanh ghi dữ liệu: chứa dữ liệu trao đổi.

- Thanh ghi địa chỉ: chứa địa chỉ của ngăn nhớ dữ liệu - Bộđếm dữ liệu: chứa số từ dữ liệu cần trao đổi

94

- Khối logic điều khiển: điều khiển hoạt động của DMAC

Hoạt động của DMA

Khi cần vào ra dữ liệu thì CPU nhờ DMAC tiến hành vào ra dữ liệu với thông tin

cho biết như sau:

- Địa chỉ thiết bị vào ra

- Địa chỉđầu của mảng nhớ chứa dữ liệu và DMAC nạp thanh ghi địa chỉ

- Số từ dữ liệu cần truyền và DMAC nạp vào bộđếm dữ liệu

- CPU sẽ đi thực hiện việc khác

- DMAC điều khiển việc trao đổi dữ liệu sau khi truyền một từ dữ liệu thì nội

dung thanh ghi địa chỉ tăng lên và nội dung bộ đếm dữ liệu giảm xuống một đơn

vị.

- Khi bộđếm bằng dữ liệu bằng 0, DMAC gởi tín hiệu ngắt CPU để báo kết thúc

DMA

Các kiểu thực hiện DMA

- DMA truyền theo khối: DMAC sử dụng BUS để truyền cả khối dữ liệu

(CPU chuyển nhượng BUS cho DMAC)

- DMA lấy chu kỳ: DMAC cưỡng bức CPU treo tạm thời từng chu kỳBUS để

95

- DMA trong suốt: DMAC nhận biết những chu kỳ nào CPU không sử dụng

BUS thì chiếm BUS đểtrao đổi dữ liệu (DMAC lấy lén chu kỳ)

Đặc điểm DMA

- CPU không tham gia trong quá trình trao đổi dữ liệu

- DMAC điều khiển trao đổi dữ liệu giữa bộ nhớ chính và Module vào ra với tốc

độ nhanh.

- Phù hợp với yêu cầu trao đổi mảng dữ liệu có kích thước lớn.

4.3. Ghép nối thiết bị ngoại vi

Các kiểu nối ghép vào ra

- Nối ghép song song

- Nối ghép nối tiếp

Nối ghép song song

- Truyền các bit dữ liệu được truyền song song trong cùng một thời điểm trên

nhiều đường dây.

- Tốc độ truyền cao

- Cần đường truyền song song để tải các bit dữ liệu cùng đi, điều đó khiến

phương pháp này tốn kém về dây dẫn.

Điển hình của phương pháp này cổng máy in 25 chân LPT.

Nối ghép nối tiếp

- Từng Bit của dữ liệu lần lượt được gửi đi trên một đường truyền duy nhất

- Dữ liệu trong máy tính thường ở dạng 8bit, 16bit,… vì thế cần có bộ chuyển

đổi từ song song sang nối tiếp.

- Tốc độ truyền của phương pháp này chậm vì truyền tường bit trên một đường dây

- Ưu điểm là kinh tế, không tốn dây, có thể dùng để truyền đi xa.

- Các cấu hình ghép nối:

+ Điểm - điểm (point to point): Qua một cổng vào ra chỉ có thể ghép một thiết

96

+ Điểm - đa điểm (Point to multipoint): Thông qua một cổng vào ra ghép nhiều

thiết bị vào ra. Ví dụ: SCSI(7,15), USB (127),…

4.4. Các cổng vào ra thông dụng trên máy tính 4.4.1. Cổng song song LPT

Một phần của tài liệu Giáo trình kiến trúc máy tính (ngành kỹ thuật lắp ráp, sửa chữa máy tính) (Trang 90 - 96)

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

(105 trang)