Bài giảng Cấu trúc máy tính - Đinh Đồng Lưỡng
1. Giới thiệu chung.
2. Hệ thống máy tính.
3. Biểu diễn dữ liệu và số học máy tính.
4. Bộ xử lý trung tâm.
5. Bộ nhớ Máy tính.
6. Hệ thống vào ra.
uyền, v.v. Đồng thời các thiết bị này có tốc độ làm việc chậm hơn CPU và RAM rất nhiều. Chính vì lý do trên cần có Module vào ra để ghép nối các thiết bị ngoại vi vào hệ thống BUS máy tính. Cấu trúc Máy tính 222GV: Đinh Đồng Lưỡng Phân loại: Thiết bị nhập: Keyboard, Mouse, Scan, Micro, Thiết bị xuất: Monitor, Printer, Thiết bị xuất nhập: Modem, NIC, Driver, Cấu trúc tổng quát của thiết bị ngoại vi: Bộ chuyển đổi tín hiệu: chuyển đổi dữ liệu giữa bên trong và bên ngoài Máy tính Bộ đệm dữ liệu: nơi lưu trữ dữ liệu trung gian giữa Máy tính và thiết bị ngoại vi, đặt bên trong 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 theo tín hiệu từ Module I/O gởi tới thiết bị. 6.1 Tổng quan về hệ thống vào ra Cấu trúc Máy tính 223GV: Đinh Đồng Lưỡng 6.1 Tổng quan về hệ thống vào ra Bộ đệm dữ liệu Bộ chuyển đổi tín hiệu Khối Logic điều khiển T/h trạng thái (State) Dữ liệu vào/ ra Module T/h điều khiển Dữ liệu vào/ra bên ngoài Cấu trúc Máy tính 224GV: Đinh Đồng Lưỡng 6.1 Tổng quan về hệ thống vào ra Module I/O Chức năng: Nối ghép thiết bị ngoại vi với bus của máy tính. Đ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 máy tính với thiết bị ngoại vi Phát hiện lỗi của các thiết bị ngoại vi. Cấu trúc chung: Thanh ghi đệm dữ liệu: đệm dữ liệu trong quá trình trao đổi Cổng nối ghép vào ra: kết nối thiết bị ngoại vi, mỗi cổng có địa chỉ xác định và chuẩn kết nối riêng phụ thuộc sơ đồ chân. Thanh ghi trạng thái/điều khiển: lưu trữ thông tin trạng thái cho các cổng vào ra Khối logic điều khiển: điều khiển Module vào ra Cấu trúc Máy tính 225GV: Đinh Đồng Lưỡng Thanh ghi đệm dữ liệu Cổng nối ghép vào/ra Thanh ghi trạng thái/điều khiển Khối Logic điều khiển Cổng nối ghép vào/ra Bus dữ liệu Bus dữ liệu Các đường đ/c Các đường đ/k Đường đ/kh State 6.1 Tổng quan về hệ thống vào ra Cấu trúc Máy tính 226GV: Đinh Đồng Lưỡng Ví dụ cổng ghép nối song song(LPT) Các đường dẫn của cổng song được nối với 3 thanh ghi 8 bit khác nhau: Thanh ghi dữ liệu (Địa chỉ cơ sở) Thanh ghi trạng thái (Địa chỉ cơ sở +1) Thanh ghi điều khiển (Địa chỉ cơ sở +2) Các đại chỉ cổng có thể là: LPT1: 378h (379h ; 37Ah) LPT2: 3BCh LPT3: 278h LPT4: 2BCh Cấu trúc Máy tính 227GV: Đinh Đồng Lưỡng Ví dụ cổng ghép nối song song(LPT) Hợp ngữ: Để xuất ra dữ liệu: OUT DX, AL hoặc OUT DX, AX Để nhập vào dữ liệu: IN AL, DX hoặc IN AX, DX (DX chứa địa chỉ; AL chứa giá trị) Turbo C Để xuất ra dữ liệu: outportb(đia_chỉ, giá_trị) Để nhập vào dữ liệu: bien = inportb(địa_chỉ) Turbo Pascal Để xuất ra dữ liệu: port[đia_chỉ]:= giá_trị Để nhập vào dữ liệu: bien:=port[địa_chỉ] Cấu trúc Máy tính 228GV: Đinh Đồng Lưỡng Ví dụ cổng ghép nối tiếp(COM) Các thanh ghi chính: Thanh ghi đệm (Buffer Register) Địa chỉ cơ sở Thanh ghi trạng thái (Status Register) ĐCCS+5 Thanh ghi điều khiển (Control Register) ĐCCS+3 Các địa chỉ cổng có thể là: COM1: 3F8h (3FDh ; 3FBh) COM2: 2F8h COM3: 3E8h COM4: 2E8h Cấu trúc Máy tính 229GV: Đinh Đồng Lưỡng 6.2 Các phương pháp điều khiển vào ra Phân loại: 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 Vào ra bằng chương trình Nguyên tắc chung: 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. Lệnh I/O: Với không gian địa chỉ vào ra riêng biệt: sử dụng các lệnh vào ra chuyên dụng Với không gian vào ra dùng chung bộ nhớ thì các lệnh trao đổi dữ liệu sử dụng như ngăn nhớ. Cấu trúc Máy tính 230GV: Đinh Đồng Lưỡng 6.2 Các phương pháp điều khiển vào ra Hoạt động vào ra bằng chương trình CPU gặp lệnh trao đổi vào ra, yêu cầu thao tác vào ra Module vào ra thao tác vào ra Module vào ra thiết lập các bit trạng thái(State) CPU kiểm tra các bit trạng thái: Nếu chưa sẵn sàng thì quay lại kiểm tra lại Nếu sẵn sàng thì chuyển sang trao đổi dữ liệu với Module vào ra. Cấu trúc Máy tính 231GV: Đinh Đồng Lưỡng Lưu đồ thực hiện chương trình: 6.2 Các phương pháp điều khiển vào ra Đọc trạng thái sẵn sàng Module I/O sẵn sàng? Trao đổi dữ liệu với Module I/O N Y Cấu trúc Máy tính 232GV: Đinh Đồng Lưỡng Nhận xét: CPU trực tiếp điều khiển vào ra: đọc trạng thái, kiểm tra trạng thái, thực hiện trao đổi. Trong trường hợp nhiều thiết bị cùng cần trao đổi dữ liệu và thiết bị chưa sẵn sàng tốn rất nhiều thời gian CPU Việc thực hiện trao đổi đơn giản Vào ra bằng ngắt 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. Module vào ra khi nó sẵn sàng phát ra tín hiệu yêu cầu ngắt CPU CPU thực hiện chương trình vào ra tương ứng để trao đổi dữ liệu. CPU trở lại chương trình đang bị ngắt. 6.2 Các phương pháp điều khiển vào ra Cấu trúc Máy tính 233GV: Đinh Đồng Lưỡng 6.2 Các phương pháp điều khiển vào ra Các phương pháp nối ghép Sử dụng nhiều đường yêu cầu ngắt. Kiểm tra vòng bằng phần mềm (Polling) Kiểm tra vòng bằng phần cứng Sử dụng bộ điều khiển ngắt. Nhiều yêu cầu ngắt đồng thời CPU sử dụng nhiều đường yêu cầu ngắt. Nạp vào thanh ghi yêu cầu ngắt. Hạn chế số lượng Module vào ra Các đường ngắt được qui định mức ưu tiên. Cấu trúc Máy tính 234GV: Đinh Đồng Lưỡng CPU phát ra tín hiệu chấp nhận ngắt đến Module đầu tiên. Nếu Module đó không gây ra ngắt thi nó gới tín hiệu đó tới các Module kế tiếp Module I/O gây ngắt sẽ đặt vector lên bus dữ liệu CPU sử dụng ngắt để xác định chương trình con điều khiển ngắt Thứ tự vào ra các Module trong chuỗi xác định thứ tự ưu tiên. 6.2 Các phương pháp điều khiển vào ra Cấu trúc Máy tính 235GV: Đinh Đồng Lưỡng 6.2 Các phương pháp điều khiển vào ra Truy nhập bộ nhớ trực tiếp (DMA: Direct Memory Access) Với nhược điểm chính của hai phương pháp trên là: CPU tham gia trực tiếp vào trao đổi dữ liệu và việc trao đổi lượng dữ liệu nhỏ. Để khắc phục hai phương pháp trên một phương pháp mới có tên DMA sẽ sử dụng thêm một Module phần cứng có DMAC (DMA Controller). Vì vậy khi trao đổi dữ liệu không cần CPU. Cấu trúc Máy tính 236GV: Đinh Đồng Lưỡng 6.2 Các phương pháp điều khiển vào ra Bộ đếm dl Thanh ghi dl Thanh ghi đ/c Khối logic/ ĐK Đ/K đọc Đ/k ghi Y/c DMA Chấp nhận DMA Y/c Bus Chuyển nhượng Bus Ngắt T/h Đọc/ghi Các đường dl Các đường đ/c Cấu trúc Máy tính 237GV: Đinh Đồng Lưỡng 6.2 Các phương pháp điều khiển vào ra 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 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: Cấu trúc Máy tính 238GV: Đinh Đồng Lưỡng 6.2 Các phương pháp điều khiển vào ra Đị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ấu trúc Máy tính 239GV: Đinh Đồng Lưỡng 6.2 Các phương pháp điều khiển vào ra CPU DMAC Thiết bị I/O Bộ nhớ BUS ĐỊA CHỈ BUS DỮ LIỆU HOLD HLDA YÊU CẦU YÊU CẦU CHẤP NHẬN CHẬP NHẬN BUS Đ/K, T/H IO/MEM Cấu trúc Máy tính 240GV: Đinh Đồng Lưỡng 6.2 Các phương pháp điều khiển vào ra 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 để thực hiện truyền một từ dữ liệu 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. Cấu trúc Máy tính 241GV: Đinh Đồng Lưỡng 6.2 Các phương pháp điều khiển vào ra Bộ xử lý vào ra Việc điều khiển vào ra được sử dụng bởi một bộ điều khiển vào ra chuyên dụng. Bộ xử lý vào ra hoạt động theo chương trình riêng của nó. Chương trình của bộ xử lý vào ra có thể nằm trong bộ nhớ chính hoặc bộ nhớ riêng. Hoạt động theo kiến trúc đa xử lý Cấu trúc Máy tính 242GV: Đinh Đồng Lưỡng 6.3 Nối ghép thiết bị ngoại vi Nối ghép 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 song song Tốc độ truyền nhanh Cần đường truyền song song Tốn nhiều dây dẫn Cấu trúc Máy tính 243GV: Đinh Đồng Lưỡng 6.3 Nối ghép thiết bị ngoại vi Nối ghép nối tiếp Truyền lần lượt từng bit Cần có bộ chuyển đổi từ song song sang nối tiếp Tốc độ chậm Cần ít đường truyền dữ liệu Các cấu hình ghép nối ghép Điểm tới điểm (point to point): Qua một cổng vào ra chỉ có thể ghép một thiết bị ngoại vi (PS/2, COM, LPT,) Điểm tới đ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), Cấu trúc Máy tính 244GV: Đinh Đồng Lưỡng 6.4 Các cổng vào ra thông dụng Các cổng vào ra thông dụng PS/2 : nối ghép bàn phím và chuột VGA(Video Graphic Adapter): Cổng nối ghép màn hình LPT (Line PrinTer): nối ghép với máy in là cổng song song COM (COMmunication): nối ghép với Modem, chuột, và thiết bị khác. Cổng nối tiếp 9 hoặc 25 chân. USB: cổng nối tiếp đa năng cho phép nối ghép nối tiếp tối đa 17 thiết bị thông qua Hub. Cấu trúc Máy tính 245GV: Đinh Đồng Lưỡng THE END
File đính kèm:
- BG cấu trúc máy tính.pdf