Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
513,31 KB
Nội dung
10/01/2017 Chương Hệ thống IO (Input Output System) Nội dung • • • • Tổng quan hệ thống IO Điều khiển IO Nối ghép thiết bị ngoại vi Các thiết bị ngoại vi thông dụng Tổng quan hệ thống IO • Giới thiệu chung – Chức hệ thống IO: Trao đổi thông tin máy tính với giới bên ngồi – Các thao tác bản: • Nhập liệu (Input) • Xuất liệu (Output) – Các thành phần chính: • Các thiết bị ngoại vi • Các mơ-đun IO (IO module) – Tất thiết bị ngoại vi chậm CPU RAM Cần có mơ-đun IO để nối ghép thiết bị ngoại vi với CPU nhớ 10/01/2017 Tổng quan hệ thống IO • Cấu trúc hệ thống IO Tổng quan hệ thống IO • Các thiết bị ngoại vi – Chức năng: chuyển đổi liệu bên bên ngồi máy tính – Phân loại: • Thiết bị ngoại vi giao tiếp người-máy (người đọc): Bàn phím, Màn hình, Máy in, • Thiết bị ngoại vi giao tiếp máy-máy (máy đọc): Đĩa cứng, CDROM, USB,… • Thiết bị ngoại vi truyền thơng: Modem, Network Interface Card (NIC) Tổng quan hệ thống IO • Tốc độ số TBNV 10/01/2017 Tổng quan hệ thống IO • Các thành phần thiết bị ngoại vi – Bộ chuyển đổi tín hiệu: chuyển đổi liệu bên ngồi bên máy tính – Bộ đệm liệu: đệm liệu truyền mô-đun IO thiết bị ngoại vi – Khối logic điều khiển: điều khiển hoạt động thiết bị ngoại vi đáp ứng theo yêu cầu từ mô-đun IO Tổng quan hệ thống IO • Chức mô-đun IO: – Điều khiển định thời – Trao đổi thơng tin với CPU nhớ – 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 Tổng quan hệ thống IO • Khơng gian địa CPU – Một số CPU quản lý khơng gian địa chỉ: • Khơng gian địa nhớ: 2M địa – Một số CPU quản lý hai khơng gian địa tách biệt: • • • • Không gian địa nhớ: 2M địa Không gian địa IO: 2I địa Có tín hiệu điều khiển phân biệt truy nhập khơng gian địa Tập lệnh có lệnh IO chuyên dụng – Ví dụ: CPU Intel Pentium • Khơng gian địa nhớ = 236 byte = 64GB • Không gian địa IO = 216 byte = 64KB • Lệnh IO chuyên dụng: IN, OUT 10/01/2017 Tổng quan hệ thống IO • Các phương pháp địa hoá cổng IO – IO riêng biệt (Isolated IO, IO mapped IO) • Cổng IO đánh địa theo khơng gian địa IO • CPU trao đổi liệu với cổng IO thông qua lệnh IO chun dụng (IN, OUT) • Chỉ thực hệ thống có quản lý khơng gian địa IO riêng biệt – IO theo nhớ (Memory mapped IO) • Cổng IO đánh địa theo khơng gian địa nhớ • IO giống đọc/ghi nhớ • CPU trao đổi liệu với cổng IO thông qua lệnh truy nhập liệu nhớ • Có thể thực hệ thống Tổng quan hệ thống IO • Ví dụ: So sánh phương pháp IO Điều khiển IO • Các phương pháp điều khiển IO – IO chương trình (Programmed IO) – IO điều khiển ngắt (Interrupt Driven IO) – Truy nhập nhớ trực tiếp DMA (Direct Memory Access) 10/01/2017 Điều khiển IO Điều khiển IO • IO chương trình – Ngun tắc chung: CPU điều khiển trực tiếp IO chương trình cần phải lập trình IO – Với IO riêng biệt: sử dụng lệnh IO chuyên dụng (IN, OUT) – Với IO theo đồ nhớ: sử dụng lệnh trao đổi liệu với nhớ để trao đổi liệu với cổng IO Điều khiển IO • Các tín hiệu điều khiển IO – Tín hiệu điều khiển (Control): kích hoạt & khởi động thiết bị ngoại vi – Tín hiệu kiểm tra (Test): kiểm tra trạng thái môđun IO thiết bị ngoại vi – Tín hiệu điều khiển đọc (Read): u cầu mơđun IO nhận liệu từ thiết bị ngoại vi đưa vào ghi đệm liệu, CPU nhận liệu – Tín hiệu điều khiển ghi (Write): yêu cầu môđun IO lấy liệu bus liệu đưa đến ghi đệm liệu chuyển thiết bị ngoại vi 10/01/2017 Điều khiển IO • Hoạt động IO chương trình – – – – CPU yêu cầu thao tác IO Mô-đun IO thực thao tác Mô-đun IO thiết lập bit trạng thái CPU kiểm tra bit trạng thái: • Nếu chưa sẵn sàng quay lại kiểm tra • Nếu sẵn sàng chuyển sang trao đổi liệu với mơ-đun IO • Đặc điểm – IO ý muốn người lập trình – CPU trực tiếp điều khiển IO – CPU đợi mô-đun IO tiêu tốn thời gian CPU Điều khiển IO • IO điều khiển ngắt – Sau gửi yêu cầu IO, CPU đợi trạng thái sẵn sàng mô-đun IO, CPU thực chương trình – Khi mơ-đun IO sẵn sàng phát tín hiệu ngắt CPU – CPU thực chương trình IO tương ứng để trao đổi liệu (trình xử lý ngắt) – CPU trở lại tiếp tục thực chương trình bị ngắt Điều khiển IO • Hoạt động nhập liệu: nhìn từ mơ-đun IO – Mơ-đun IO nhận tín hiệu điều khiển đọc từ CPU – Mơ-đun IO nhận liệu từ thiết bị ngoại vi, CPU làm việc khác – Khi có liệu mơ-đun IO phát tín hiệu ngắt CPU – CPU yêu cầu liệu – Mô-đun IO chuyển liệu đến CPU 10/01/2017 Điều khiển IO • Hoạt động nhập liệu: nhìn từ CPU – Phát tín hiệu điều khiển đọc – Làm việc khác – Cuối chu trình lệnh, kiểm tra tín hiệu ngắt – Nếu bị ngắt: • Cất ngữ cảnh (nội dung ghi) • Thực chương trình ngắt để nhập liệu • Khơi phục ngữ cảnh chương trình thực Điều khiển IO • Các vấn đề nảy sinh có ngắt: – Xác định mơ-đun IO phát tín hiệu ngắt ? – Có nhiều u cầu ngắt xảy ? • Các phương pháp nối ghép ngắt – Sử dụng nhiều đường yêu cầu ngắt – Hỏi vòng phần mềm (Software Poll) – Hỏi vòng phần cứng (Daisy Chain or Hardware Poll) – Sử dụng điều khiển ngắt lập trình PIC (Programmable Interrupt Controller) Điều khiển IO • Nhiều đường yêu cầu ngắt – – – – Mỗi mô-đun IO nối với đường yêu cầu ngắt CPU phải có nhiều đường tín hiệu u cầu ngắt Hạn chế số lượng mô-đun IO Các đường ngắt qui định mức ưu tiên 10/01/2017 Điều khiển IO • Hỏi vịng phần mềm – CPU thực phần mềm hỏi môđun IO – Chậm – Thứ tự mơ-đun hỏi vịng thứ tự ưu tiên Điều khiển IO • Hỏi vịng phần cứng – CPU phát tín hiệu chấp nhận ngắt (INTA) đến mô-đun IO – Nếu mơ-đun IO khơng gây ngắt gửi tín hiệu đến mơ-đun xác định mô-đun gây ngắt – Thứ tự mô-đun IO kết nối chuỗi xác định thứ tự ưu tiên Điều khiển IO • Bộ điều khiển ngắt lập trình PIC – PIC có nhiều đường vào u cầu ngắt có qui định mức ưu tiên – PIC chọn u cầu ngắt khơng bị cấm có mức ưu tiên cao gửi tới CPU 10/01/2017 Điều khiển IO • Đặc điểm IO điều khiển ngắt – Có kết hợp phần cứng phần mềm – Phần cứng: gây ngắt CPU – Phần mềm: trao đổi liệu – CPU trực tiếp điều khiển IO – CPU đợi mô-đun IO hiệu sử dụng CPU tốt • Ví dụ: Hệ thống ngắt máy PC – CPU Intel x86 có chân tín hiệu ngắt – PIC 8259A có đường ngắt – Có thể đấu nối nhiều PIC theo chế độ master/ slaver để tăng số lượng đường ngắt phục vụ cho nhiều thiết bị Điều khiển IO • DMA (Direct Memory Access) – IO chương trình ngắt CPU trực tiếp điều khiển: • Chiếm thời gian CPU • Tốc độ truyền bị hạn chế phải chuyển liệu qua CPU (thanh ghi có dung lượng nhỏ) – Để khắc phục dùng DMA • Thêm mơ-đun phần cứng bus DMAC (DMA Controller) • DMAC điều khiển trao đổi liệu mơđun IO với nhớ 10/01/2017 Điều khiển IO • Sơ đồ cấu trúc DMAC – Thanh ghi liệu: chứa liệu trao đổi – Thanh ghi địa chỉ: chứa địa ô nhớ liệu – Bộ đếm liệu: chứa số từ liệu cần trao đổi – Logic điều khiển: điều khiển hoạt động DMAC Điều khiển IO • Hoạt động DMA – CPU gửi tín hiệu cho DMAC • Vào hay Ra liệu • Địa thiết bị IO (cổng IO tương ứng) • Địa đầu mảng nhớ chứa liệu nạp vào ghi địa • Số từ liệu cần truyền nạp vào đếm liệu – CPU làm việc khác – DMAC điều khiển trao đổi liệu – Sau truyền từ liệu thì: • nội dung ghi địa tăng • nội dung đếm liệu giảm – Khi đếm liệu = 0, DMAC gửi tín hiệu ngắt CPU để báo kết thúc DMA Điều khiển IO • Các kiểu thực DMA – DMA truyền theo khối (Block-transfer DMA): DMAC sử dụng bus để truyền xong khối liệu – DMA lấy chu kỳ (Cycle Stealing DMA): DMAC cưỡng CPU treo tạm thời chu kỳ bus, DMAC chiếm bus thực truyền từ liệu – DMA suốt (Transparent DMA): DMAC nhận biết chu kỳ CPU khơng sử dụng bus chiếm bus để trao đổi từ liệu 10 10/01/2017 Điều khiển IO • Cấu hình DMA 1: Bus chung, DMA tách biệt – Mỗi lần trao đổi liệu, DMAC sử dụng bus hai lần • Giữa mơ-đun IO với DMAC • Giữa DMAC với nhớ – CPU bị treo khỏi bus lần Điều khiển IO • Cấu hình DMA 2: Bus chung, DMA tích hợp – DMAC điều khiển vài mô-đun IO – Mỗi lần trao đổi liệu, DMAC sử dụng bus lần • Giữa DMAC với nhớ – CPU bị treo khỏi bus lần Điều khiển IO • Cấu hình DMA 3: Bus IO riêng – Bus IO tách rời hỗ trợ tất thiết bị cho phép DMA – Mỗi lần trao đổi liệu, DMAC sử dụng bus lần • Giữa DMAC với nhớ – CPU bị treo khỏi bus lần 11 10/01/2017 Điều khiển IO • Đặc điểm DMA – CPU khơng tham gia q trình trao đổi liệu – DMAC điều khiển trao đổi liệu nhớ với mơ-đun IO (hồn tồn phần cứng) tốc độ nhanh – Phù hợp với yêu cầu trao đổi mảng liệu có kích thước lớn (Block devices) • Phân loại TBNV – Character devices – Block devices Điều khiển IO • Ví dụ: Chip DMA máy PC – – – – – Intel 8237A DMA Controller Giao tiếp với CPU Intel x86 DRAM Khi DMA cần bus, gửi tín hiệu HRQ cho CPU CPU trả lời tín hiệu HLDA DMA bắt đầu sử dụng bus Điều khiển IO • Kênh IO (IO channel) – Việc điều khiển IO thực xử lý IO chuyên dụng – Bộ xử lý IO hoạt động theo chương trình riêng – Chương trình xử lý IO nằm nhớ nằm nhớ riêng – Hoạt động theo kiến trúc đa xử lý • CPU gửi yêu cầu IO cho kênh IO • Kênh IO tự thực việc truyền liệu 12 10/01/2017 Nối ghép thiết bị ngoại vi • Các kiểu nối ghép – Nối ghép song song (parallel) – Nối ghép nối tiếp (serial) • Nối ghép song song – Truyền nhiều bit song song – Cần nhiều đường truyền liệu – Tốc độ nhanh – Dễ bị nhiễu tín hiệu Nối ghép thiết bị ngoại vi • Nối ghép nối tiếp – Truyền bit – Cần có chuyển đổi từ liệu song song sang nối tiếp hoặc/và ngược lại – Cần đường truyền liệu – Tốc độ chậm Nối ghép thiết bị ngoại vi • Các cấu hình nối ghép – Điểm tới điểm (Point to Point) • Mỗi cổng IO nối ghép với thiết bị ngoại vi • Ví dụ: – SATA (Serial ATA) – SAS (Serial Atache SCSI) – Điểm tới đa điểm (Point to Multipoint) • Mỗi cổng IO cho phép nối ghép với nhiều thiết bị ngoại vi • Ví dụ: – SCSI (Small Computer System Interface): 15 thiết bị – USB (Universal Serial Bus): 127 thiết bị – IEEE 1394 (FireWire): 63 thiết bị 13 10/01/2017 Nối ghép thiết bị ngoại vi • Ví dụ: Các cổng nối ghép ngoại vi PC – PS/2: nối ghép bàn phím chuột – MiniDIN chân – RJ45: nối ghép mạng – LPT (Line Printer): nối ghép với máy in, cổng song song (Parallel Port) – 25 chân – COM (Communication): nối ghép với Modem, cổng nối tiếp (Serial Port) - 25 chân – USB (Universal Serial Bus): Cổng nối tiếp đa năng, cho phép nối ghép tối đa 127 thiết bị Nối ghép thiết bị ngoại vi • Ví dụ: Các cổng nối ghép card hình – VGA: Cổng nối ghép hình Analog– 15 chân – DVI: Cổng nối ghép hình Digital – S-Video – HDMI Nối ghép thiết bị ngoại vi • Ví dụ: Hệ thống bus ngoại vi máy PC 14 10/01/2017 Nối ghép thiết bị ngoại vi • Hệ thống bus ngoại vi máy PC (tiếp) – ISA (Industry Standard Architecture): Sử dụng máy PC 8086 (8 bit) AT 80286 (16 bit) – MCA (Micro Channel Architecture): Sử dụng máy 80386 IBM (32 bit) – EISA (Extended ISA) Sử dụng máy 80386 tương thích (32 bit) – VL bus (VESA Local bus): Sử dụng máy 80486 (32 bit) Nối ghép thiết bị ngoại vi • Hệ thống bus ngoại vi máy PC (tiếp) – AGP (Accelerated Graphics Port): Bus dành riêng cho card hình máy Pentium Bao gồm mức tốc độ 1x, 2x, 4x 8x (1x=266MB/s) – PCI (Peripheral Component Interconnect): Sử dụng máy Pentium (32 & 64 bit) • PCI-X: Sử dụng tần số xung nhịp cao (66-133 MHz) so với PCI 33 MHz • PCI-E (PCI-Express): Cho phép truyền liệu tốc độ cao, sử dụng máy PC đời Gồm nhiều mức tốc độ: 1x, 2x, …, 32x (1x: Lane có đường truyền nối tiếp 250 MB/s) Nối ghép thiết bị ngoại vi • Các cổng điều khiển đĩa – Đĩa mềm : Dùng cáp 34 chân kết nối tối đa ổ mềm – Đĩa cứng/CD/DVD/SSD : • • • • • • Chuẩn ST506 Chuẩn ESDI Chuẩn IDE/UDMA/PATA Chuẩn SCSI Chuẩn SATA Chuẩn SAS 15 10/01/2017 Các thiết bị ngoại vi thơng dụng • Thiết bị nhập – Bàn phím, chuột, scanner, digitizer, micro, đọc vân tay, đọc bar-code, camera, … • Thiết bị xuất – Màn hình, máy in, máy vẽ, loa, projector, … • Thiết bị mạng & truyền thơng – Modem, Router,… • Thiết bị lưu trữ – Đĩa mềm, đĩa cứng, SSD, CD, DVD, thẻ nhớ, … Câu hỏi 16 ... = 64KB • Lệnh IO chuyên dụng: IN, OUT 10/01/2017 Tổng quan hệ thống IO • Các phương pháp địa hố cổng IO – IO riêng biệt (Isolated IO, IO mapped IO) • Cổng IO đánh địa theo không gian địa IO •... cổng IO thông qua lệnh IO chuyên dụng (IN, OUT) • Chỉ thực hệ thống có quản lý khơng gian địa IO riêng biệt – IO theo nhớ (Memory mapped IO) • Cổng IO đánh địa theo không gian địa nhớ • IO giống... khiển IO • Kênh IO (IO channel) – Việc điều khiển IO thực xử lý IO chuyên dụng – Bộ xử lý IO hoạt động theo chương trình riêng – Chương trình xử lý IO nằm nhớ nằm nhớ riêng – Hoạt động theo kiến