Bài giảng Kiến trúc máy tính và hợp ngữ: Giao diện bộ xử lý với I/O cung cấp cho người học các kiến thức: Bộ xử lí dùng 2 cách để liên lạc với các bộ phận vào ra, phân biệt bộ xử lý vào ra với CPU,... Mời các bạn cùng bạn cùng tham khảo nội dung chi tiết.
10/12/2017 Bộ xử lí dùng cách để liên lạc với phận vào ra: + cách thứ nhất: cách thường sử dụng, cách dùng vùng địa nhớ làm vùng địa ngoại vi Khi đọc hay viết vào vùng địa nhớ liên hệ đến ngoại vi Cấu trúc hệ thống vào 10/12/2017 Tất thiết bị ngoại vi chậm CPU RAM Vì cần có mơ-đun vào nối ghép thiết bị ngoại vi với CPU nhớ Mơ-đun vào ra: Chức năng: Điều khiển định thời Trao đổi thông tin với CPU Trao đổi thông tin với thiết bị ngoại vi Đệm bên máy tính với thiết bị ngoại vi Phát lỗi thiết bị ngoại vi Cấu trúc chung mô-đun vào 10/12/2017 Các thành phần mô-đun vào ra: Thanh ghi đệm kiệu: đệm liệu trình trao đổi Các cổng vào (I/O port): kết nối thiết bị ngoại vi, cổng có địa xác định Thanh ghi trạng thái/điều khiển: lưu giữ thông tin trạng thái/điều khiển cho cổng vào Khối logic điều khiển: điều khiển mô-đun vào Kết nối CPU CPU phát địa đến nhớ hay mô-đun vào Đọc lệnh kiệu Đưa liệu sau xử lí Phát tín hiệu điều khiển đến mơ-đun nhớ hay mơ-đun vào Nhận tín hiệu ngắt 10/12/2017 + Cách thứ hai, dùng mã lệnh riêng biệt cho vào/ra (tức có lệnh vào/ra riêng, không trùng với lệnh đọc hay viết vào nhớ) Trong có phương pháp để liên lạc: Dùng phương pháp thăm dò (polling) Dùng yêu cầu ngắt IRQ (Interrupt ReQuest) Dùng xử lí DMA (Direct Memory Access) Bộ xử lý phát sinh lệnh I/O đến đơn vị I/O, sau đó, chờ trạng thái "busy" thao tác hoàn tất trước tiếp tục xử lý Bộ xử lý phát sinh lệnh I/O đến đơn vị I/O, sau đó, tiếp tục việc xử lí nhận ngắt từ đơn vị I/O báo hồn tất, tạm ngưng việc xử lý để chuyển qua xử lí ngắt 10/12/2017 DMA kỹ thuật chuyển liệu nhanh từ card thiết bị tới nhớ, từ nhớ card thiết bị, vài trường hợp từ vị trí nhớ tới vị trí khác Việc chuyển theo DMA quan trọng khơng u cầu đến thực thi CPU Chuyển theo DMA thực cách lập trình chip có tên điều khiển DMA (gọi ngắn gọn DMAC), chip nằm bo mạch hệ thống máy PC Mỗi lần điều khiển khởi động trình chuyển liệu bắt đầu, CPU tự làm việc khác DMAC tiếp tục thực chuyển liệu 10/12/2017 Khi không dùng DMA Khi dùng DMA Khi khơng có DMA, liệu từ disk phải đưa lên bus, chuyển tới CPU, sau CPU phải đưa lên bus lần chuyển tới memory Khi DMA hoạt động, DMA đạt liệu từ Disk lên bus chuyển thằng tới Memory mà không qua CPU 10/12/2017 Chip DMA (DMAC) sử dụng phần lớn máy PC chip có ký hiệu 8237A tương đương Các dòng máy Micro Channel EISA sửa đổi kỹ thuật DMA tạo chip riêng có chức hẳn 8237A, có chương trình điều khiển thiết bị tận dụng ưu điểm mở rộng Dịng máy IBM-XT sử dụng chip 8237A lập trình cung cấp kênh DMA riêng rẽ, đánh số từ đến Dòng máy IBM-AT (chiếm phần lớn thị trường máy PC nay) sử dụng chip 8237A cung cấp kênh DMA độc lập đánh số từ đến Chỉ có số kênh DMA sử dụng kênh (kênh 4) sử dụng để liên kết hai điều khiển với cho chúng làm việc đơn vị thống Kênh đến chuyển bit liệu lúc lưu 64KB lần hoạt động, kênh đến chuyển 16 bit chuyển 128KB lần hoạt động 10/12/2017 Giống điều khiển ngắt, nơi nhận yêu cầu ngắt từ thiết bị thông qua đường IRQ, DMAC nhận yêu cầu DMA thông qua đường DMA request (DREQ) Chip 8237A cung cấp vài phương thức phương pháp hành động khác nhau, nhiên trình chuyển điển hình từ thiết bị tới nhớ diễn sau: DMAC lập trình với địa nhớ ghi liệu số byte chuyển Khi thiết bị sẵn sàng bắt đầu q trình chuyển, kích hoạt đường DREQ để kết nối với DMA Sau CPU cho phép điều khiển đường truyền, DMAC đưa địa nhớ tạo tín hiệu để byte (hoặc từ) liệu đọc từ thiết bị ghi vào vùng định nhớ Sau cập nhật địa nhớ cho byte lặp lại trình toàn liệu chuyển hoàn tất Dựa cách điều khiển lập trình, byte chuyển u cầu tín hiệu DREQ riêng rẽ (phương thức chuyển đơn) tín hiệu khởi động tất q trình truyền (phương thức chuyển khối theo yêu cầu) Điểm khác là: CPU dùng để thực mã (code) DMAC dùng để chuyển liệu Một cách tốt để hiểu khác minh họa q trình chơi bóng ném CPU người chơi ném bóng với hai người khác gọi A B Để chuyển bóng từ A tới B, CPU phải bắt bóng A ném tung cho B DMA, theo cách khác, nói A tung trực tiếp bóng cho B Trong lúc ấy, CPU làm công việc khác khởi động cầu thủ 10/12/2017 Sau điều khiển đọc toàn liệu từ thiết bị vào buffer kiểm tra checksum Bộ điều khiển chuyển byte vào nhớ địa mơ tả địa nhớ DMA Sau tăng địa DMA giảm số bytes phải chuyển Quá trình lập số bytes phải chuyển 0, điều khiển tạo ngắt Như không cần phải copy khối vào nhớ, hữu nhớ ... Dùng xử lí DMA (Direct Memory Access) Bộ xử lý phát sinh lệnh I/O đến đơn vị I/O, sau đó, chờ trạng thái "busy" thao tác hoàn tất trước tiếp tục xử lý Bộ xử lý phát sinh lệnh I/O đến đơn vị I/O, ... có m? ?-? ?un vào nối ghép thiết bị ngoại vi với CPU nhớ M? ?-? ?un vào ra: Chức năng: Điều khiển định thời Trao đổi thông tin với CPU Trao đổi thông tin với thiết bị ngoại vi Đệm bên máy tính với thiết... cổng vào Khối logic điều khiển: điều khiển m? ?-? ?un vào Kết nối CPU CPU phát địa đến nhớ hay m? ?-? ?un vào Đọc lệnh kiệu Đưa liệu sau xử lí Phát tín hiệu điều khiển đến m? ?-? ?un nhớ hay m? ?-? ?un vào Nhận