Bài giảng Kiến trúc máy tính và hợp ngữ - Chương 7: Hệ thống vào ra

Giới thiệu chung

Chức năng: trao đổi thông tin giữa máy tính và hệ thống bên ngoài.

Các thao tác cơ bản:

Vào dữ liệu (Input)

Ra dữ liệu (Output)

Các thành phần chính:

Các thiết bị ngoại vi

Các module nối ghép vào-ra

Chức năng: Chuyển đổi thông tin từ một dạng vật lý nào đó về dạng dữ liệu phù hợp với máy tính hoặc ngược lại.

Phân loại:

Các thiết bị thu nhận dữ liệu: như bàn phím, chuột, máy quét ảnh, .

Các thiết bị hiển thị dữ liệu: màn hình, máy in, .

Các thiết bị lưu trữ: ổ đĩa mềm, ổ đĩa cứng, ổ đĩa quang CD, DVD, .

Các thiết bị truyền thông: modem, card mạng, .

 

pptx 51 trang kimcuc 14900
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính và hợp ngữ - Chương 7: Hệ thống vào ra", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Kiến trúc máy tính và hợp ngữ - Chương 7: Hệ thống vào ra

Bài giảng Kiến trúc máy tính và hợp ngữ - Chương 7: Hệ thống vào ra
Chương 7: Hệ thống vào ra 
Bài giảng: kiến trúc máy tính và hợp ngữ 
7. Hệ thống vào ra (IO) 
Lê Văn Hiệp 
7. 1. Tổng quan về hệ thống vào-ra 
7. 2. Các phương pháp điều khiển vào-ra 
7. 3. Nối ghép với thiết bị ngoại vi 
7. 4. Các cổng vào-ra thông dụng trên PC 
2 
7. 1. Tổng quan về hệ thống vào-ra 
Lê Văn Hiệp 
1. Giới thiệu chung 
2. Các thiết bị ngoại vi 
3. Module nối ghép vào-ra 
4. Các phương pháp địa chỉ hóa cổng vào-ra 
3 
1. Giới thiệu chung 
Lê Văn Hiệp 
Chức năng: trao đổi thông tin giữa máy tính và hệ thống bên ngoài. 
Các thao tác cơ bản: 
Vào dữ liệu (Input) 
Ra dữ liệu (Output) 
Các thành phần chính: 
Các thiết bị ngoại vi 
Các module nối ghép vào-ra 
4 
2. Các thiết bị ngoại vi 
Lê Văn Hiệp 
Chức năng: Chuyển đổi thông tin từ một dạng vật lý nào đó về dạng dữ liệu phù hợp với máy tính hoặc ngược lại. 
Phân loại: 
Các thiết bị thu nhận dữ liệu: như bàn phím, chuột, máy quét ảnh, .. 
Các thiết bị hiển thị dữ liệu: màn hình, máy in, ... 
Các thiết bị lưu trữ: ổ đĩa mềm, ổ đĩa cứng, ổ đĩa quang CD, DVD, ... 
Các thiết bị truyền thông: modem, card mạng, ... 
5 
Cấu trúc chung của TBNV 
Lê Văn Hiệp 
6 
Các thành phần chính của TBNV 
Lê Văn Hiệp 
Bộ chuyển đổi tín hiệu: chuyển đổi dữ liệu giữa bên ngoài và bên trong máy tính. 
Bộ đệm dữ liệu: đệm dữ liệu khi truyền giữa module vào-ra và thiết bị ngoại vi. 
Khối logic điều khiển: điều khiển hoạt động của thiết bị ngoại vi đáp ứng theo yêu cầu từ module vào-ra. 
7 
3. Module vào-ra 
Lê Văn Hiệp 
Đặc điểm của vào-ra: 
Các thiết bị ngoại vi rất đa dạng, khác nhau về: 
Nguyên tắc hoạt động 
Tốc độ 
Khuôn dạng dữ liệu 
Tất cả các thiết bị ngoại vi đều chậm hơn CPU và RAM → Cần có các module vào-ra để nối ghép các thiết bị ngoại vi với CPU và bộ nhớ chính. 
8 
Chức năng của module vào-ra 
Lê Văn Hiệp 
Chức năng: 
Điều khiển và đị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 giữa bên trong máy tính với thiết bị ngoại vi 
Phát hiện lỗi của thiết bị ngoại vi 
9 
Cấu trúc chung của module vào-ra 
Lê Văn Hiệp 
10 
Các thành phần của module vào-ra 
Lê Văn Hiệp 
Thanh ghi đệm dữ liệu: đệm dữ liệu trong quá trình trao đổi. 
Các cổng vào-ra (I/O Port): kết nối với thiết bị ngoại vi, mỗi cổng có một địa chỉ xác định. 
Khối logic điều khiển: điều khiển module vào-ra. 
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ác cổng vào-ra. 
11 
4. Địa chỉ hóa cổng vào-ra 
Lê Văn Hiệp 
Các thiết bị ngoại vi được nối ghép và trao đổi dữ liệu thông qua các cổng vào-ra. 
Mỗi cổng vào-ra phải có 1 địa chỉ xác định → cần phải có các phương pháp địa chỉ hóa cho cổng vào-ra. 
12 
A. KGĐC bộ nhớ và KGĐC vào-ra 
Lê Văn Hiệp 
Mọi CPU đều có khả năng quản lý được một không gian địa chỉ bộ nhớ xác định. 
KGĐC bộ nhớ = 2 N byte (N là số bit địa chỉ mà CPU có khả năng phát ra) 
Một số CPU có khả năng quản lý thêm 1 không gian địa chỉ vào ra riêng biệt với không gian địa chỉ bộ nhớ. 
KGĐC vào-ra = 2 N1 byte 
(N1 : số bit địa chỉ dùng để quản lý không gian địa chỉ vào-ra, 2 N1 << 2 N ) 
Trong trường hợp CPU quản lý được cả 2 KGĐC thì: 
CPU phải có tín hiệu để phân biệt không gian địa chỉ bộ nhớ và không gian địa chỉ vào-ra. 
CPU phải có các lệnh vào-ra chuyên dụng. 
13 
Ví dụ 
Lê Văn Hiệp 
BXL 68030 của Motorola chỉ quản lý 1 KGĐC bộ nhớ là 2 32 byte. 
BXL Pentium của Intel có khả năng quản lý 2 KGĐC: 
KGĐC bộ nhớ = 2 32 byte = 4GB 
KGĐC vào-ra = 64KB 
Pentium có: 
Tín hiệu điều khiển phân biệt truy nhập không gian địa chỉ: IO/M 
Có 2 lệnh vào-ra chuyên dụng: IN và OUT 
14 
B . Các pp địa chỉ hóa cổng vào-ra 
Lê Văn Hiệp 
Vào ra riêng biệt (Isolated I/O): 
Cổng vào-ra được địa chỉ hóa theo không gian địa chỉ vào-ra riêng biệt. 
Để trao đổi dữ liệu với cổng, trong chương trình sử dụng các lệnh vào-ra chuyên dụng. 
Vào ra theo bản đồ bộ nhớ (Memory-mapped IO): 
Cổng vào-ra được địa chỉ hóa theo không gian địa chỉ bộ nhớ. 
Để trao đổi dữ liệu với cổng, trong chương trình sử dụng các lệnh trao đổi dữ liệu với bộ nhớ. 
15 
7 . Hệ thống vào ra 
Lê Văn Hiệp 
7. 1. Tổng quan về hệ thống vào-ra 
7. 2. Các phương pháp điều khiển vào-ra 
7. 3. Nối ghép với thiết bị ngoại vi 
7. 4. Các cổng vào-ra thông dụng trên PC 
16 
7. 2. Các phương pháp điều khiển vào-ra 
Lê Văn Hiệp 
17 
1. Vào-ra bằng chương trình 
2. Vào-ra điều khiển bằng ngắt 
3. Truy cập trực tiếp bộ nhớ - DMA 
4. Bộ xử lý vào-ra 
1. Vào-ra bằng chương trình 
Lê Văn Hiệp 
18 
Nguyên tắc chung: 
Trong chương trình người lập trình chủ động viết các lệnh vào-ra. 
Khi thực hiện các lệnh vào-ra đó, CPU trực tiếp điều khiển việc trao đổi dữ liệu với cổng vào-ra. 
Lưu đồ thực hiện 
Lê Văn Hiệp 
19 
Hoạt động 
Lê Văn Hiệp 
20 
CPU yêu cầu thao tác vào-ra. 
Module vào-ra thực hiện thao tác. 
Module vào-ra thiết lập các bit trạng thái. 
CPU kiểm tra các bit trạng thái: 
Nếu chưa sẵn sàng thì quay lại tiếp tục kiểm tra. 
Nếu đã sẵn sàng thì chuyển sang trao đổi dữ liệu với module vào-ra. 
Đặc điểm 
Lê Văn Hiệp 
21 
Vào-ra do ý muốn của người lập trình 
CPU trực tiếp điều khiển vào-ra 
CPU phải đợi module vào-ra sẵn sàng → tiêu tốn thời gian của CPU 
2. Vào-ra điều khiển bằng ngắt 
Lê Văn Hiệp 
22 
Nguyên tắc chung: 
CPU không phải đợi trạng thái sẵn sàng của module vào-ra. 
CPU đang thực hiện một chương trình nào đó, nếu module vào-ra sẵn sàng thì nó phát tín hiệu yêu cầu ngắt gửi đến CPU. 
Nếu yêu cầu ngắt được chấp nhận thì CPU thực hiện chương trình con vào-ra tương ứng để trao đổi dữ liệu. 
Kết thúc chương trình con đó, CPU quay trở lại tiếp tục thực hiện chương trình đang bị ngắt. 
Hoạt động 
Lê Văn Hiệp 
23 
Hoạt động vào dữ liệu – nhìn từ phía module vào-ra: 
Module vào-ra nhận tín hiệu điều khiển đọc từ CPU. 
Module vào-ra nhận dữ liệu từ thiết bị ngoại vi, trong khi đó CPU làm việc khác. 
Khi đã có dữ liệu, module vào-ra phát tín hiệu ngắt CPU. 
CPU yêu cầu dữ liệu. 
Module vào-ra chuyển dữ liệu đến CPU. 
Hoạt động (tiếp) 
Lê Văn Hiệp 
24 
Hoạt động vào dữ liệu – nhìn từ phía CPU: 
CPU phát tín hiệu điều khiển đọc. 
CPU làm việc khác. 
Cuối mỗi chu trình lệnh, CPU kiểm tra tín hiệu ngắt. 
Nếu bị ngắt, CPU: 
Cất ngữ cảnh hiện tại của chương trình. 
Thực hiện chương trình con phục vụ ngắt để vào dữ liệu. 
Sau khi hoàn thành chương trình con đó, CPU khôi phục ngữ cảnh và trở về tiếp tục thực hiện chương trình đang tạm dừng. 
Các vấn đề nảy sinh khi thiết kế 
Lê Văn Hiệp 
25 
Làm thế nào để xác định được module vào-ra nào phát tín hiệu yêu cầu ngắt. 
Khi có nhiều yêu cầu ngắt cùng gửi đến, CPU sẽ xử lý như thế nào. 
Các phương pháp nối ghép ngắt 
Lê Văn Hiệp 
26 
Sử dụng nhiều đường yêu cầu ngắt 
Kiểm tra vòng bằng phần mềm (Software Poll) 
Kiểm tra vòng bằng phần cứng (Daisy Chain of Hardware Poll) 
Sử dụng bộ điều khiển ngắt (PIC) 
Sử dụng nhiều đường yêu cầu ngắt 
Lê Văn Hiệp 
27 
Mỗi module vào-ra được nối với 1 đường yêu cầu ngắt 
CPU phải có nhiều đường tín hiệu yêu cầu ngắt 
Hạn chế số lượng module vào-ra 
Các đường yêu cầu ngắt được quy định mức ưu tiên 
Kiểm tra vòng bằng phần mềm 
Lê Văn Hiệp 
28 
CPU thực hiện phần mềm hỏi lần lượt từng module vào-ra 
Tốc độ chậm 
Thứ tự các module vào-ra được hỏi vòng chính là thứ tự ưu tiên 
Kiểm tra vòng bằng phần cứng 
Lê Văn Hiệp 
29 
Kiểm tra vòng bằng phần cứng (tiếp) 
Lê Văn Hiệp 
30 
CPU phát tín hiệu chấp nhận ngắt (INTA) đến module vào-ra đầu tiên. 
Nếu module vào-ra đó không gây ra ngắt thì nó gửi tín hiệu đến module kế tiếp cho đến khi xác định được module gây ngắt. 
Module vào-ra gây ngắt sẽ đặt vector ngắt lên bus dữ liệu. 
CPU sử dụng vector ngắt để xác định nơi chứa chương trình con phục vụ ngắt. 
Thứ tự các module vào-ra kết nối trong chuỗi xác định thứ tự ưu tiên. 
Bộ điều khiển ngắt lập trình được 
Lê Văn Hiệp 
31 
PIC: Programmable Interrupt Controller. 
PIC có nhiều đường yêu cầu ngắt có quy định mức ưu tiên. 
PIC chọn một yêu cầu ngắt không bị cấm có mức ưu tiên cao nhất gửi đến CPU. 
Tổ chức ngắt của 80x86 
Lê Văn Hiệp 
32 
Tổ chức kiểu vector ngắt. 
Mỗi ngắt được đặc trưng 
bằng số hiệu ngắt N (00 ÷ FF). 
Bảng vector ngắt: 256 x 4 = 1024 byte 00000 ÷ 003FF 
Gọi CTC phục vụ ngắt bằng lệnh: INT N 
Đặc điểm của vào-ra bằng ngắt 
Lê Văn Hiệp 
33 
Có sự kết hợp giữa phần cứng và phần mềm: 
Phần cứng: gây ngắt CPU. 
Phần mềm: trao đổi dữ liệu. 
CPU trực tiếp điều khiển vào-ra. 
CPU không phải đợi module vào-ra → hiệu suất sử dụng CPU tốt hơn. 
3. Truy cập trực tiếp bộ nhớ 
Lê Văn Hiệp 
34 
DMA (Direct Memory Access) 
Các phương pháp vào-ra bằng chương trình và vào-ra điều khiển bằng ngắt do CPU trực tiếp điều khiển: 
Chiếm thời gian của CPU 
Tốc độ trao đổi dữ liệu bị hạn chế vì phải chuyển qua CPU 
Để khắc phục → dùng DMA: 
Thêm module phần cứng là DMAC (Direct Memory Access Controller) 
DMAC điều khiển trao đổi dữ liệu giữa module vào-ra với bộ nhớ chính. 
Cấu trúc của DMAC 
Lê Văn Hiệp 
35 
Các thành phần của DMAC 
Lê Văn Hiệp 
36 
Thanh ghi dữ liệu: chứa dữ liệu cần trao đổi 
Thanh ghi địa chỉ: chứa địa chỉ ngăn nhớ dữ liệu 
Bộ đếm dữ liệu: chứa số từ dữ liệu cần trao đổi 
Logic điều khiển: điều khiển hoạt động của DMAC 
Hoạt động của DMAC 
Lê Văn Hiệp 
37 
CPU gửi cho DMAC các thông tin: 
Chiều trao đổi dữ liệu: vào hay ra dữ liệu 
Địa chỉ thiết bị vào-ra (cổng vào-ra tương ứng) 
Địa chỉ đầu của mảng nhớ dữ liệu → nạp vào thanh ghi địa chỉ 
Số từ dữ liệu cần truyền → nạp vào bộ đếm dữ liệu 
CPU làm việc khác 
DMAC điều khiển trao đổi dữ liệu 
Sau khi truyền được 1 từ dữ liệu: 
Nội dung thanh ghi địa chỉ tăng 
Nội dung bộ đếm dữ liệu giảm 
Khi bộ đếm dữ liệu = 0, DMAC gửi yêu cầu ngắt đến CPU để báo hiệu đã kết thúc DMA 
Các kiểu DMA 
Lê Văn Hiệp 
38 
DMA truyền theo khối (Block Transfer DMA): CPU trao quyền sử dụng bus cho DMAC trong một khoảng thời gian đủ lớn để DMAC thực hiện trao đổi xong cả khối dữ liệu. 
DMA xen kẽ chu kỳ máy với CPU (Cycle Stealing DMA): DMAC và CPU thay nhau sử dụng bus trong từng chu kỳ máy. 
DMA trong suốt (Transparent DMA): Trong quá trình hoạt động, không phải chu kỳ nào CPU cũng sử dụng bus hệ thống, DMAC sẽ phát hiện xem những chu kỳ CPU không dùng bus để chiếm dụng bus trong chu kỳ đó và điều khiển trao đổi 1 từ dữ liệu → không làm ảnh hưởng đến CPU. 
Các cấu hình thiết kế DMA 
Lê Văn Hiệp 
39 
Cấu hình 1: 
Mỗi lần truyền, DMAC sử dụng bus 2 lần: 
Giữa DMAC với module vào-ra 
Giữa DMAC với bộ nhớ 
Các cấu hình thiết kế DMA (tiếp) 
Lê Văn Hiệp 
40 
Cấu hình 2 
DMAC điều khiển một hoặc một vài module vào-ra 
Mỗi lần truyền, DMAC sử dụng bus 1 lần: 
Giữa DMAC với bộ nhớ 
Các cấu hình thiết kế DMA (tiếp) 
Lê Văn Hiệp 
41 
Cấu hình 3: 
Bus vào-ra tách rời hỗ trợ tất cả các thiết bị cho phép DMA 
Mỗi lần truyền, DMAC sử dụng bus 1 lần: 
Giữa DMAC với bộ nhớ 
Đặc điểm của DMA 
Lê Văn Hiệp 
42 
CPU không tham gia vào 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ới module vào-ra hoàn toàn bằng phần cứng → tốc độ nhanh. 
Thích hợp với các yêu cầu trao đổi dữ liệu kích thước lớn. 
4. Bộ xử lý vào-ra 
Lê Văn Hiệp 
43 
Việc điều khiển vào-ra được thực hiện bởi một bộ xử lý vào-ra chuyên dụng. 
Bộ xử lý vào-ra hoạt động theo chương trình của riêng nó. 
Chương trình của bộ xử lý vào-ra có thể nằm trong bộ nhớ chính hoặc nằm trong một bộ nhớ riêng. 
Hoạt động theo kiến trúc đa xử lý. 
7 . Hệ thống vào ra 
Lê Văn Hiệp 
7. 1. Tổng quan về hệ thống vào-ra 
7. 2. Các phương pháp điều khiển vào-ra 
7. 3. Nối ghép với thiết bị ngoại vi 
7. 4. Các cổng vào-ra thông dụng trên PC 
44 
7. 3. Nối ghép với thiết bị ngoại vi 
Lê Văn Hiệp 
45 
1. Các kiểu nối ghép 
2. Các cấu hình nối ghép 
1. Các kiểu nối ghép 
Lê Văn Hiệp 
46 
Nối ghép song song: 
Truyền nhiều bit song song 
Tốc độ nhanh 
Cần nhiều đường truyền 
Các kiểu nối ghép (tiếp) 
Lê Văn Hiệp 
47 
Nối ghép nối tiếp: 
Truyền lần lượt từng bit 
Cần có bộ truyển đổi qua lại giữa dữ liệu song song và nối tiếp 
Tốc độ chậm hơn 
Cần ít đường dây → truyền được xa hơn 
2. Các cấu hình nối ghép 
Lê Văn Hiệp 
48 
Cấu hình điểm tới điểm (Point to Point): thông qua một cổng vào-ra cho phép nối ghép với một thiết bị ngoại vi. 
Nối ghép bàn phím 
Nối ghép chuột 
Nối ghép ổ đĩa mềm 
 ... 
Cấu hình điểm tới đa điểm (Point to Multipoint): thông qua một cổng vào-ra cho phép nối ghép với nhiều thiết bị ngoại vi. 
Chuẩn nối ghép SCSI: cho phép nối ghép tới 7 hoặc 15 thiết bị 
Cổng USB: nối ghép tới 127 thiết bị 
Cổng IEEE 1394: nối ghép tới 63 thiết bị 
7 . Hệ thống vào ra 
Lê Văn Hiệp 
7. 1. Tổng quan về hệ thống vào-ra 
7. 2. Các phương pháp điều khiển vào-ra 
7. 3. Nối ghép với thiết bị ngoại vi 
7. 4. Các cổng vào-ra thông dụng trên PC 
49 
7. 4. Các cổng vào-ra thông dụng trên PC 
Lê Văn Hiệp 
50 
Các cổng PS/2: nối ghép bàn phím và chuột 
Các cổng nối ghép màn hình 
Cổng LPT (Line Printer): thường nối ghép với máy in, là cổng song song (Parallel Port) 
Cổng COM (Communication): thường nối ghép với MODEM, là cổng nối tiếp (Serial Port) 
Cổng USB (Universal Serial Bus): cổng nối tiếp đa năng 
Các cổng vào-ra thông dụng (tiếp) 
Lê Văn Hiệp 
51 

File đính kèm:

  • pptxbai_giang_kien_truc_may_tinh_va_hop_ngu_chuong_7_he_thong_va.pptx