Bài giảng Cấu trúc máy tính - Trường CĐ Kinh tế - Kỹ thuật Bạc Liêu bao gồm 5 chương, cung cấp cho học sinh - sinh viên những kiến thức cơ bản về quá trình phát triển của máy vi tính, cấu trúc cơ bản của một máy vi tính hiện đại, các chuẩn và thông số kỹ thuật của các thành phần tạo nên một chiếc máy tính, một số kỹ thuật xử lý nhằm cải thiện tốc độ xử lý của máy tính theo thời gian, một số chi tiết của hệ thống máy tính như: bộ xử lý trung tâm, bộ nhớ, cache,...
ỦY BAN NHÂN DÂN TỈNH BẠC LIÊU TRƯỜNG CAO ĐẲNG KINH TẾ - KỸ THUẬT BÀI GIẢNG CẤU TRÚC MÁY TÍNH Bạc Liêu, tháng 4/2019 MỤC LỤC LỜI NĨI ĐẦU DANH SÁCH CÁC TỪ VIẾT TẮT CHƯƠNG GIỚI THIỆU HỆ THỐNG SỐ 1.1 Các hệ đếm 1.1.1 Hệ thập phân (decimal) 1.1.2 Hệ nhị phân (binary) 1.1.3 Hệ thập lục phân (hexadecimal) 1.2 Các phép toán 1.2.1 Các phép toán logic 1.2.2 Các phép toán số học 1.3 Biểu diễn số 11 1.4 Biểu diễn ký tự 14 CHƯƠNG GIỚI THIỆU CÁC HỆ MÁY TÍNH 17 2.1 Các hệ máy tính 17 2.1.1 Thế hệ zero 17 2.1.2 Thế hệ (1945 – 1953) 18 2.1.3 Thế hệ thứ hai (1954 – 1965) 19 2.1.4 Thế hệ thứ ba (1965 – 1980) 20 2.1.5 Thế hệ thứ tư (1980 đến nay) 20 2.2 Chức máy tính 21 2.3 Cấu trúc tổ chức máy tính 22 2.4 Phân loại 23 2.4.1 Phân loại theo cấu trúc tập lệnh 23 2.4.2 Phân loại theo khả xử lý máy tính 25 2.5 Máy tính Von Neumann 26 CHƯƠNG CẤU TRÚC TỔNG QUÁT 28 3.1 Thùng máy – nguồn 28 3.2 Mainboard 30 3.3 CPU 33 3.4 RAM 36 3.5 BIOS VÀ CMOS RAM 39 3.6 Interfaces 40 3.7 Chipset 43 3.8 Ổ đĩa cứng 44 3.9 Ổ đĩa quang 48 3.10 Màn hình 49 CHƯƠNG CẤU TRÚC BÊN TRONG MÁY TÍNH 50 4.1 Vi xử lý 50 4.1.1 Kiến trúc 50 4.1.2 Cấu trúc pipeline 51 4.1.3 Kỹ thuật superscalar 54 4.1.4 Thanh ghi 54 4.1.5 Tập lệnh 56 4.2 Bộ nhớ 58 4.2.1 Phân loại nhớ 59 4.2.2 Cấu trúc 62 4.3 Hệ thống kết nối (bus) 63 4.3.1 Phân loại 63 4.3.2 Chức 65 4.4 Hệ thống cache 68 4.4.1 Giới thiệu 68 4.4.2 Chức 69 4.4.3 Cache nhiều tầng 70 4.4.4 Phân loại 71 CHƯƠNG HỆ THỐNG XUẤT NHẬP 73 5.1 Hệ thống ngắt 74 5.2 Truy cập trực tiếp nhớ 77 5.3 Thiết bị bên 80 5.4 Các ngoại vi 82 TÀI LIỆU THAM KHẢO 84 LỜI NĨI ĐẦU Bài giảng “Cấu trúc máy tính” biên soạn dùng làm tài liệu học tập cho học sinh - sinh viên trình độ trung cấp hệ qui ngành Tin học ứng dụng trường Cao đẳng Kinh tế - kỹ thuật Bạc Liêu Bài giảng bao gồm chương, cung cấp cho học sinh - sinh viên kiến thức trình phát triển máy vi tính, cấu trúc máy vi tính đại, chuẩn thơng số kỹ thuật thành phần tạo nên máy tính, số kỹ thuật xử lý nhằm cải thiện tốc độ xử lý máy tính theo thời gian, số chi tiết hệ thống máy tính như: xử lý trung tâm, nhớ, cache, … Bài giảng góp phần giúp học sinh - sinh viên cập nhật công nghệ thông qua ví dụ thực tế Nội dung chi tiết giảng sau: - Chương 1: Giới thiệu hệ thống số - Chương 2: Giới thiệu hệ máy tính - Chương 3: Cấu trúc tổng quát - Chương 4: Cấu trúc bên máy tính - Chương 5: Hệ thống xuất nhập Trong trình biên soạn khơng thể tránh khỏi thiếu sót, mong nhận góp ý bạn đọc để giảng hoàn thiện Xin chân thành cảm ơn! DANH SÁCH CÁC TỪ VIẾT TẮT Từ viết tắt CPU MSB LSB ASCII VLSI PC CISC RISC RAM Từ đầy đủ Central Processing Unit Most Significant Bit Least Significant Bit American Standard Code Information Interchange Very Large Scale Integration Personal Computer Complex Instruction Computing Reduced Instruction Computing Ý nghĩa Đơn vị xử lý trung tâm Bit có trọng số lớn Bit có trọng số thấp for Chuẩn mã trao đổi thơng tin Hoa Kỳ Tích hợp cỡ lớn Máy tính cá nhân Set Máy tính có tập lệnh phức tạp Set Random Access Memory HDD SSD ALU Static Random Access Memory Dynamic Random Access Memory Synchronous Dynamic Random Access Memory Double Data Rate Real-Only Memory Basic Input/Output System Complementary Metal-OxideSemiconductor Hard Disk Drive Solid-State Drive Arithmetic Logic Unit DMA Direct Memory Access SRAM DRAM SDRAM DDR ROM BIOS CMOS DMAC Direct Memory Access Controller Máy tính có tập lệnh đơn giản Bộ nhớ truy cập liệu ngẫu nhiên Bộ nhớ RAM tĩnh Bộ nhớ RAM động Bộ nhớ DRAM đồng Gấp đôi tốc độ liệu Bộ nhớ đọc Hệ thống xuất nhập Bộ nhớ RAM lưu trữ thơng tin cấu hình máy tính Ổ đĩa cứng truyền thống Ổ đĩa cứng thể rắn Đơn vị tính tốn số học Giao thức truy cập trực tiếp nhớ Bộ điều khiển truy cập trực tiếp nhớ CHƯƠNG GIỚI THIỆU HỆ THỐNG SỐ Một hệ thống máy tính bao gồm nhiều thành phần, xử lý trung tâm (hay cịn gọi CPU) não hệ thống CPU tiếp nhận xử lý thông tin hệ thống Thông tin hay gọi liệu hệ thống máy tính biểu diễn dạng số nhị phân Hệ số nhị phân gọi hệ số hai bao gồm hai chữ số Trong máy tính nói riêng mạch điện tử số nói chung, giá trị mã hóa dạng tín hiệu điện với giá trị điện áp dòng điện tương ứng khác Việc tính tốn, xử lý liệu nhị phân máy tính thực tương tự toán học 1.1 Các hệ đếm 1.1.1 Hệ thập phân (decimal) Hệ thập phân hệ số quen thuộc chúng ta, hệ số sử dụng sống hàng ngày để biểu diễn giá trị số, gọi hệ số mười hay hệ mười Hệ thập phân sử dụng 10 chữ số để biểu diễn hệ thống số Mười chữ số là: 0, 1, 2, 3, 4, 5, 6, 7, 8, Số dương số âm biểu diễn dấu “+” “-“ trước số Để phân biệt với hệ số khác, ta thường thêm chữ “D” vào phía cuối để số hệ thập phân, ta bỏ “D” mà ngầm hiểu số thuộc hệ thập phân 1.1.2 Hệ nhị phân (binary) Cũng hệ thập phân, nhị phân hệ thống số giá trị số biểu diễn hai chữ số Để phân biệt với hệ số khác, ta thường thêm chữ “B” vào phía cuối số nhị phân Ví dụ: 10B, 11B, 100B, 1100B, 10100110B… Mỗi giá trị hệ nhị phân tương ứng với giá trị hệ thập phân ngược lại Việc chuyển đổi qua lại giá trị hệ thập phân hệ nhị phân thực sau + Chuyển số từ hệ nhị phân sang hệ thập phân Việc chuyển đổi từ số nhị phân sang số thập phân thực cách tính tổng tích hệ số số nhị phân với trọng số 2i tương ứng Giả sử ta có số nhị phân sau: bn bn-1…b1b0B, bi (i = 0, n ) hệ số số nhị phân, nhận hai giá trị Khi 2i trọng số tương ứng hệ số bi Số nhị phân chuyển đổi sang hệ thập phân công thức sau: bn*2n + bn-1*2n-1 + … + b1*21 + b0*20 Ví dụ: ta có số nhị phân: 1011B 1 1 b3 b2 b1 b0 Số thập phân tương ứng là: b3*23 + b2*22 + b1*21 + b0*20 = 1*23 + 0*22 + 1*21 + 1*20 = 11 Như vậy, số 1011B tương ứng với số 11 hệ thập phân Ví dụ: số nhị phân: 110011B 1*25+1*24+0*23+0*22+1*21+1*20=32+16+0+0+2+1=51 Như vậy, số 110011B tương ứng với số 51 hệ thập phân + Chuyển số từ hệ thập phân sang hệ nhị phân Việc chuyển đổi số từ hệ thập phân sang hệ nhị phân thực cách lấy số cần đổi chia cho ghi nhớ phần dư, lấy thương phép chia trước chia cho ghi nhớ phần dư Làm thương Đảo ngược thứ tự dãy số dư ta chữ số hệ nhị phân cần tìm Ví dụ: hình 1.1 mơ tả cách đổi số 50 sang hệ nhị phân Số dư (số gạch dưới) xếp theo chiều mũi tên, 50 = 110010B Hình 1.1 Đổi số thập phân sang hệ nhị phân Hệ nhị phân hệ số sử dụng máy tính nói riêng mạch điện tử số nói chung Các giá trị hiểu mức điện áp (hoặc dòng điện) khác mạch (một số ví dụ đề cập phần trên) Trong giới máy tính, số gọi bit Một nhóm bit tạo thành nibble, nhóm bit tạo thành byte, nhóm 16 bit tạo thành word Bit bên trái chuỗi bit gọi bit MSB, bit cuối bên phải chuỗi bit gọi bit LSB Ví dụ: + Bit: 0B, 1B + Nibble: 1011B, 1110B, 1000B, … + Byte: 01011110B, 11110000B, 11000001B, … + Word: 1000010111100001B, 1111000010101100B, … MSB 1 1 LSB Từ ví dụ ta thấy, nibble biểu diễn số lớn 15, byte biểu diễn số lớn 255, word biểu diễn số lớn 65535 Để biểu diễn số lớn ta phải dùng chuỗi bit dài hơn, điều bất tiện cho người việc ghi chép, tính tốn giấy Để khắc phục nhược điểm người ta thường sử dụng hệ thập lục phân 1.1.3 Hệ thập lục phân (hexadecimal) Hệ thập lục phân hay gọi hệ số 16, hệ thống số giá trị số biểu diễn chữ số từ đến chữ từ A đến F, tương ứng với giá trị thập phân từ đến 15 Để phân biệt với hệ số khác, ta thương thêm chữ “H” vào phía cuối số thập lục phân Ví dụ: 19H, AB5H, 2F0CH, E104DH, … Như đề cập trên, hệ thập lục phân đời nhằm khắc phục nhược điểm số hệ nhị phân, việc sử dụng chuỗi số nhị phân dài để biểu diễn giá trị lớn Để việc biểu diễn kết nhị phân gọn lại, người ta thường chuyển kết thành số thập lục phân cách nhóm bit số nhị phân thành số thập lục phân Ví dụ: chuyển số 110001111000001011101011B thành số thập lục phân 1100 C 0111 1000 0010 1110 1011 E B Ta nhóm bit số nhị phân lại để tạo thành số thập lục phân: 1100B có giá trị 12 tương ứng với “C”, 0111B có giá trị tương ứng với 7, 1000B có giá trị tương ứng với 8, 0010B có giá trị tương ứng với 2, 1110B có giá trị 14 tương ứng với “E”, 1011B có giá trị 11 tương ứng với “B” hệ thập lục phân Do đó, số nhị phân cho có giá trị tương ứng C782EB hệ thập lục phân Đối với số nhị phân có số bit khơng chia hết cho 4, ta thêm bit vào phía liền trước bit MSB để số bit chia hết cho nhóm lại theo cách Ví dụ: chuyển số 11101011011111B thành số thập lục phân Do số bit số nhị phân 14 không chia hết ta phải thêm bit vào phía liền trước bit MSB để tạo thành số 0011101011011111B, sau nhóm lại sau: 0011 1010 A 1101 D 1111 F Như vậy, số nhị phân 11101011011111B tương ứng với số 3ADFH Việc chuyển từ số thập lục phân thành số nhị phân thực theo cách ngược lại, tức chữ số thập lục phân phân tích thành bit nhị phân Ví dụ: chuyển số A3C5H thành số nhị phân A C 1010 0011 1100 0101 Ta có, “A” có giá trị 10 ứng với 1010B, có giá trị ứng với số 0011B, “C” có giá trị 12 ứng với số 1100B, có giá trị ứng với số 0101B Như vậy, A3C5 hệ thập lục phân tương ứng với số 1010001111000101 hệ nhị phân 1.2 Các phép toán 1.2.1 Các phép toán logic Các phép toán logic bao gồm phép tốn bản, là: NOT, AND, OR, XOR, thường dùng để diễn tả kết từ điều kiện cho trước Các phép toán thực với toán hạng bit (điều kiện sai) (điều kiện đúng), kết cuối bit (kết sai) (kết đúng) Sau ta xét phép toán a Phép toán AND Giả sử z = x AND y x 0 1 y 1 z 0 Kết phép toán AND hai toán hạng 1, tức kết hai điều kiện b Phép toán OR Giả sử z = x OR y x 0 1 y 1 z 1 Kết phép toán OR hai toán hạng 0, tức kết sai hai điều kiện sai c Phép toán XOR Giả sử z = x XOR y Khi tham chiếu không tìm thấy cache (cache miss), chu kỳ truy cập nhớ khởi động Phương pháp đồng thời dừng chu kỳ truy cập nhớ tham chiếu tìm thấy cache (cache hit) 4.4.3 Cache nhiều tầng Khi kỹ thuật sử dụng nhớ cache giới thiệu, hệ thống có nhớ cache, kết nối với vi xử lý thông qua bus hệ thống bên ngoài, gọi cache Khi kỹ thuật chế tạo phát triển, mật độ tích hợp tăng, cache tích hợp vào bên vi xử lý, cịn gọi on-chip cache So với cache ngoài, thời gian truy cập on-chip cache giảm đáng kể, đường liệu rút ngắn, góp phần cải thiện tốc độ hệ thống Trong thời gian truy cập on-chip cache, bus hệ thống trạng thái rãnh sử dụng cho mục đích khác Đó hai ưu điểm nhớ on-chip cache Do giới hạn diện tích chip, cache lại chế tạo từ cell SRAM chiếm diện tích lớn, nên nhớ on-chip cache lúc đầu có dung lượng nhỏ, vi xử lý Intel 80486 có nhớ on-chip cache có dung lượng 8KB Theo thời gian, chương trình ngày dài phức tạp dung lượng nhớ on-chip cache lại q nhỏ, nhiều tham chiếu khơng tìm thấy nhớ cache làm tăng tỷ lệ cache miss Vi xử lý phải gọi tham chiếu từ nhớ ngồi có tốc độ chậm, thơng qua bus hệ thống Do đó, tỷ lệ cache miss tăng làm ảnh hưởng đến tốc độ hệ thống Để khắc phục tình trạng này, nhớ cache khác kết nối với vi xử lý thông qua bus riêng, gọi back-side bus Để phân biệt nhớ cache, nhớ on-chip cache trước gọi L1 cache (cache cấp 1), nhớ cache thêm vào gọi L2 cache (cache cấp 2) L2 cache thường có dung lượng lớn so với L1 cache có chức lưu trữ lệnh liệu Một tham chiếu khơng tìm thấy L1 cache tiếp tục tìm L2 cache Với kỹ thuật thiết kế chế tạo ngày tiên tiến, L2 cache tích hợp vào bên vi xử lý Việc bổ sung L2 cache làm tăng tỷ lệ cache hit, cải thiện đáng kể tốc độ hệ thống Các vi xử lý đại ngày cịn tích hợp thêm nhớ cấp (L3 cache) có dung lượng lên đến hàng MB, làm cho tốc độ toàn hệ thống máy tính 70 ngày nâng cao Hình 4.14 mơ hình cache nhiều tầng Theo cấp tăng dần, nhớ cache có tốc độ giảm dần dung lượng tăng dần, nghĩa L1 cache có tốc độ cao dung lượng nhỏ nhất, L3 cache có tốc độ thấp dung lượng cao Hình 4.14 Cấu trúc cache tầng Bảng 4.1 mô tả phát triển nhớ cache theo dòng vi xử lý Intel Bảng 4.1 Sự phát triển nhớ cache theo dòng vi xử lý Intel Vi xử lý Intel 386 486 Mơ tả Bổ sung nhớ cache ngồi Tích hợp nhớ cache vào bên vi xử lý Bổ sung thêm nhớ cache ngoài, gọi L2 cache Pentium Tách riêng nhớ cache dùng cho lệnh liệu Pentium II Tích hợp nhớ L2 cache vào bên vi xử lý Pentium III Bổ sung thêm nhớ cache ngoài, gọi L3 cache Pentium Tích hợp nhớ L3 cache vào bên vi xử lý 4.4.4 Phân loại Bên vi xử lý thường có hai loại cache, là: cache dùng để lưu trữ lệnh vi xử lý cache dùng để lưu trữ liệu lúc hoạt động Thời điểm ban đầu kỹ thuật sử dụng nhớ cache vừa xuất hiện, có nhớ cache dùng để lưu trữ lệnh liệu Về sau, cache L1 tách thành hai phần để chứa lệnh liệu riêng biệt Kỹ thuật sử dụng chung nhớ cache cho lệnh liệu có số ưu điểm sau: 71 Dung lượng nhớ cache lớn, tỷ lệ truy cập cache thành công cao so với kỹ thuật sử dụng cache riêng Đơn giản so với kỹ thuật sử dụng cache riêng cần tổng hợp thiết kế nhớ cache Tuy nhiên, cache chung khơng cịn thích hợp kỹ thuật superscalar xuất Như đề cập phần trên, kỹ thuật thực thi nhiều lệnh song song, đó, xảy trường hợp tranh chấp nhớ cache để truy cập lệnh liệu làm hạn chế tốc độ thực thi vi xử lý Giả sử lệnh truy xuất truy xuất liệu cache, ta sử dụng nhớ cache chung, lệnh sau gọi lệnh truy xuất liệu hoàn thành thời điểm nhớ cache đáp ứng việc truy cập cho lệnh Xác suất xảy trường hợp cao, khơng phát huy hết ưu điểm kỹ thuật superscalar Để kết hợp ưu điểm cache chung riêng, người ta tách nhớ cache L1 thành hai phần riêng biệt dành để chứa lệnh liệu, nhớ cache cấp cao (hiện cấp 3) cache dùng chung CÂU HỎI ƠN TẬP CHƯƠNG Giải thích ngun lý hoạt động cấu trúc pipeline tầng? Trình bày yếu tố ảnh hưởng đến hoạt động cấu trúc pipeline giải pháp khắc phục Kỹ thuật superscalar gì? Thanh ghi vi xử lý gì? Một vi xử lý thường có loại ghi, trình bày đặc điểm loại Tập lệnh vi xử lý gì? Mơ tả trường có lệnh tập lệnh Phân biệt loại nhớ: RAM, ROM, PROM, EPROM, EEPROM Trình bày chức hệ thống kết nối (bus) Vì ta thường phải thiết kế nhiều bus hệ thống? Trình bày chức nhớ truy cập nhanh cache đặc điểm tầng cache vi xử lý Tại phải phân chia cache L1 thành cache lệnh liệu? 72 CHƯƠNG HỆ THỐNG XUẤT NHẬP Xuất nhập trình chuyển liệu thành phần máy tính (bao gồm thiết bị ngoại vi nhớ) điều khiển vi xử lý trung tâm Các thiết bị ngoại vi, gọi I/O (input/output) gồm có ba loại: thiết bị nhập liệu (input) (như bàn phím, chuột, micro, …), thiết bị xuất liệu (output) (như hình, loa, máy in, …) thiết bị vừa nhập, vừa xuất (như ổ đĩa cứng, nhớ USB, hình cảm ứng, …) Mỗi thiết bị ngoại vi điều khiển khối điều khiển I/O Để nội dung ngắn gọn, ta gọi khối điều khiển I/O ngoại vi, phân biệt với thiết bị ngoại vi thiết bị kết nối vào khối điều khiển I/O Mỗi ngoại có hai giao diện hình 5.1 Giao diện giao tiếp bus: dùng để giao tiếp với xử lý trung tâm nhớ Giao diện bao gồm nhóm tín hiệu theo tiêu chuẩn chung bus như: địa chỉ, liệu, điều khiển, thường cho tất ngoại vi Giao diện giao tiếp với thiết bị ngoại vi: bao gồm tín hiệu kết nối với thiết bị ngoại vi, giao diện khác cho ngoại vi khác Hình 5.1 Giao diện ngoại vi Có ba phương pháp để chuyển liệu thành phần máy tính: Hỏi vịng: hay cịn gọi xuất nhập liệu điều khiển chương trình Xuất nhập liệu ngắt Truy cập nhớ trực tiếp (còn gọi DMA) 73 Trong đó, phương pháp sử dụng khơng phát huy hết khả xử lý trung tâm đáp ứng chậm Phần ta tìm hiểu phương pháp lại: ngắt truy cập nhớ trực tiếp 5.1 Hệ thống ngắt Trước tìm hiểu ngắt, ta cần tìm hiểu hoạt động phương pháp xuất nhập liệu hỏi vòng Đây phương pháp đơn giản nhất, hoạt động chủ yếu dựa điều khiển chương trình phần mềm Trong đó, ta lập trình cho vi xử lý dị hỏi ngoại vi có u cầu truyền liệu hay khơng Q trình lặp lặp lại suốt thời gian hoạt động hệ thống Do đó, cơng việc vi xử lý liên tục dò trạng thái ngoại vi điều khiển việc truyền liệu Ngoài ra, việc dò hỏi diễn nên ngoại vi muốn truyền liệu phải chờ đến vi xử lý dò hỏi Việc tạo độ trễ liệu gây ảnh hưởng đến hoạt động ngoại vi, đặc biệt ngoại vi tốc độ cao Đây hai nhược điểm chủ yếu phương pháp hỏi vòng đề cập phần Phương pháp ngắt xuất khắc phục hai nhược điểm Nếu phương pháp hỏi vịng, ngoại vi khơng thể chủ động truyền liệu thời điểm mong muốn với phương pháp ngắt, ngoại vi chủ động gởi yêu cầu truy xuất liệu đến vi xử lý Các yêu cầu gọi yêu cầu ngắt, thường xuất bất đồng truyền đến vi xử lý thông qua ngõ ngắt ngoại vi Bên phía vi xử lý, tương ứng có ngõ vào ngắt để tiếp nhận yêu cầu từ ngõ ngắt Khi nhận yêu cầu, vi xử lý dừng chương trình thực thi chuyển đến thực thi chương trình phục vụ cho u cầu ngắt Q trình mơ tả hình 5.2 Hình 5.2 Hoạt động ngắt vi xử lý 74 Tùy thuộc vào thiết kế ngoại vi, yêu cầu ngắt thường thể hai hình thức, là: ngắt cạnh ngắt mức Ngắt cạnh: yêu cầu ngắt thể hình thức cạnh lên cạnh xuống ngõ ngắt Ngắt mức: yêu cầu ngắt thể hình thức mức cao mức thấp ngõ ngắt Đối với thiết bị ngoại vi, vài thao tác làm cho ngoại vi gây yêu cầu ngắt như: thao tác nhấn phím, nhấn chuột, chạm vào hình cảm ứng, … Khi xuất yêu cầu ngắt từ ngoại vi, hầu hết phần cứng vi xử lý thực số thao tác sau: Tiếp tục hồn thành lệnh thực thi Gởi lại tín hiệu xác nhận để thông báo cho ngoại vi biết nhận tín hiệu đáp ứng cho yêu cầu ngắt, ngoại vi tắt yêu cầu ngắt Lưu lại số thông tin quan trọng trước chuyển đến chương trình phục vụ ngắt để tiếp tục thực chương trình sau hồn thành chương trình ngắt Các thơng tin thường bao gồm: trạng thái vi xử lý, địa lệnh chương trình thời điểm xảy ngắt Chuyển đến chương trình phục vụ ngắt (cịn gọi chương trình ngắt) Sau hồn thành chương trình phục vụ ngắt, phần cứng vi xử lý phục hồi lại trạng thái vi xử lý trước khixảy ngắt rẻ nhánh đến để thực lệnh chương trình Việc lưu lại trạng thái vi xử lý cần thiết ngắt kiện bất đồng chương trình vi xử lý, xảy thời điểm trình hoạt động hệ thống Chương trình phục vụ ngắt lập trình để thực thao tác thích hợp có kiện ngắt bất đồng xảy Thơng thường, ngoại vi khác có chương trình phục vụ ngắt khác Việc xác định chương trình ngắt phục vụ cho ngoại vi có yêu cầu ngắt quan trọng Sau số kỹ thuật để thực công việc 75 Dị chương trình ngắt phần mềm: số thiết kế, vi xử lý chuyển đến thực lệnh chương trình địa cố định có yêu cầu ngắt Sau đó, chương trình phần mềm phải có nhiệm vụ dị xem ngoại vi có yêu cầu ngắt cách đọc ghi trạng thái ngoại vi Sau xác định ngoại vi có yêu cầu ngắt, vi xử lý chuyển đến thực thi chương trình ngắt thích hợp cho ngoại vi Phương pháp dị chương trình ngắt phần mềm có nhược điểm, là: phải tốn thời gian dị tìm chương trình ngắt, làm chậm trình xử lý ngắt Để khắc phục nhược điểm này, người ta sử dụng phương pháp khác, daisy chain (cịn gọi dò ngắt phần cứng) Khi nhận yêu cầu ngắt, vi xử lý gởi lại tín hiệu xác nhận ngắt Tín hiệu đưa qua ngoại vi gặp ngoại vi có yêu cầu ngắt Sau đó, ngoại vi đưa word lên bus liệu Word gọi vector ngắt, chứa nhiều thơng tin, bao gồm địa chương trình ngắt Vi xử lý đọc vector ngắt, chuyển đến chương trình ngắt tương ứng địa chứa vector ngắt Hệ thống máy tính có nhiều ngoại vi, ngoại vi tạo yêu cầu ngắt để truyền liệu Trong trường hợp có nhiều yêu cầu ngắt xuất lúc, thông thường u cầu ngắt có tính cấp thiết đáp ứng trước Việc phân xử để xác định thứ tự đáp ứng ngắt thực điều khiển ngắt Tùy theo đặc điểm hệ thống, mức độ ưu tiên ngắt ngoại vi khác nhau, nhìn chung ngoại vi sau thường có ưu tiên ngắt cao so với ngoại vi cịn lại, là: xử lý đồ họa, điều khiển nhớ, điều khiển PCIe, ethernet Việc quy định mức độ ưu tiên ngắt ngoại vi thường người thiết kế hệ thống định Bộ điều khiển ngắt lập trình để phân xử ngắt theo quy định Lấy ví dụ với vi xử lý 8086 Intel, ngõ vào yêu cầu ngắt có hai chân INTR NMI Chân INTR thường kết nối với ngõ INT điều khiển ngắt 8259A Ngoài chức phân xử ngắt, 8259A sử dụng để mở rộng số lượng ngõ vào yêu cầu ngắt, đáp ứng cho hệ thống có nhiều ngoại vi Các yêu cầu ngắt vào chân INTR (thông qua 8259A) ngắt che được, nghĩa 76 không đáp ứng Các yêu cầu ngắt vào chân NMI yêu cầu không che được, nghĩa yêu cầu đáp ứng Do đó, chân NMI thường sử dụng cho yêu cầu ngắt quan trọng liên quan đến lỗi phần cứng như: lỗi pin, lỗi nhớ, … 5.2 Truy cập trực tiếp nhớ Kỹ thuật truyền liệu sử dụng ngắt có khả đáp ứng nhanh việc truyền liệu phải thực thông qua vi xử lý Nghĩa là, chương trình ngắt, vi xử lý phải đọc liệu từ ngoại vi muốn truyền liệu (còn gọi nguồn) ghi liệu xuống ngoại vi cần nhận liệu (còn gọi đích) hình 5.3 Việc gần ảnh hưởng đến tốc độ chung hệ thống liệu cần truyền có dung lượng nhỏ Tuy nhiên, cần truyền khối liệu có dung lượng lớn, với nguồn đích nhớ thiết bị lưu trữ, kỹ thuật ngắt khơng cịn thích hợp vi xử lý phải truyền nhận lượng lớn liệu với việc truy cập đến nhớ thiết bị lưu trữ có tốc độ thấp tiêu tốn nhiều thời gian vi xử lý, ảnh hưởng đến tốc độ chung hệ thống Hình 5.3 Truyền liệu thơng qua vi xử lý Để giải hạn chế kỹ thuật ngắt, người ta thiết kế thêm phần cứng để hỗ trợ việc truyền liệu không cần thông qua vi xử lý Kỹ thuật gọi truy cập trực tiếp nhớ (còn gọi DMA) Phần cứng thiết kế thêm gọi điều khiển DMA (còn gọi DMAC) DMAC kết nối trực tiếp với bus hệ thống Chức điều khiển DMA chuyển liệu ngoại vi, thiết bị lưu trữ nhớ hệ thống mơ tả hình 5.4 Bộ DMAC thay vai trò vi xử lý kỹ thuật sử dụng ngắt Do đó, DMAC có quyền chiếm bus cần truyền liệu Vi xử lý buộc phải nhường quyền kiểm soát bus cho DMAC q trình truyền liệu hồn tất Bộ điều khiển DMA hoạt động dựa số thông tin sau: Địa nguồn: địa bắt đầu ngoại vi, thiết bị lưu trữ nhớ chứa liệu cần phải truyền 77 Địa đích: địa bắt đầu ngoại vi, thiết bị lưu trữ nhớ dùng để lưu liệu truyền đến Cách thức đọc/ghi liệu nguồn/đích: liệu truy xuất theo địa tăng dần, giảm dần không đổi Số lượng liệu: dung lượng liệu (thường tính theo byte) cần truyền Hình 5.4 Truyền liệu thơng qua DMAC Dữ liệu truyền theo kỹ thuật DMA thường khối gồm nhiều byte liệu lưu trữ địa không đổi (đối với nhớ FIFO) Như hình 5.5, ta xác định khối liệu gồm (n+1) byte, địa đầu a, địa tăng dần giảm dần Do đó, DMAC cần phải có thơng tin để truyền khối liệu Hình 5.5 Minh họa cách xác định khối liệu kỹ thuật DMA Các thơng tin lập trình cho DMAC thơng qua vi xử lý Sau có lệnh DMAC thực truyền liệu trực tiếp mà không cần phải thông qua vi xử lý Trong thời gian truyền liệu qua DMAC, vi xử lý thực cơng việc khác Khi hồn thành, điều khiển DMA gởi tín hiệu ngắt để thơng báo trả lại quyền kiểm sốt bus hệ thống cho vi xử lý Như vậy, vi xử lý có chức kiểm sốt lúc bắt đầu lúc kết thúc việc truyền liệu 78 Hiện nay, nhu cầu trao đổi liệu hệ thống lớn, đặc biệt thành phần như: nhớ USB, ổ đĩa cứng, mạng máy tính, … Do đó, ngoại vi như: điều khiển USB, SATA, Ethernet, … trang bị điều khiển DMA riêng Sau đây, ta lấy ví dụ điều khiển DMA tương thích với dịng vi xử lý Intel họ 8086, có tên 8237A Hình 5.6 mơ tả sơ đồ kết nối 8237A với vi xử lý Giả sử ổ đĩa cứng (disk) muốn nhận liệu từ nhớ (memory) thơng qua DMA Q trình đồng (bắt tay) để truyền liệu thực sau: Ngoại vi (trong trường hợp điều khiển ổ đĩa) gởi yêu cầu sử dụng DMA đến 8237A cách đưa tín hiệu DREQ lên mức cao Chip 8237A kéo tín hiệu HRQ (kết nối với chân HOLD vi xử lý) lên mức cao, báo hiệu cho vi xử lý biết cần sử dụng bus để truyền liệu Vi xử lý hoàn thành chu kỳ bus kéo chân HLDA lên mức cao để báo cho 8237A biết sử dụng bus để truyền liệu Trong lúc 8237A thực việc truyền liệu, chân HOLD phải giữ mức cao Chip 8237A tích cực tín hiệu DACK để báo hiệu cho ngoại vi thực việc truyền liệu Chip 8237A bắt đầu truyền liệu cách đặt địa byte lên bus địa tích cực chân MEMR để đọc liệu từ nhớ đặt lên bus liệu Sau đó, 8237A tích cực chân IOW để ghi liệu từ bus liệu xuống ngoại vi Chip 8237A, sau đó, giảm đếm liệu, tăng (hoặc giảm tùy theo cách lập trình) trỏ địa lặp lại trình đếm liệu 0, hoàn thành trình truyền liệu Chip 8237A đưa chân HRQ xuống mức thấp, thông báo cho vi xử lý lấy lại quyền điều khiển bus, đồng thời gởi cho vi xử lý tín hiệu ngắt báo hiệu việc truyền liệu hồn tất 79 Hình 5.6 Kết nối 8237A với vi xử lý Mỗi kỹ thuật truy xuất liệu có ưu điểm riêng tùy thuộc vào điều kiện hoạt động cụ thể hệ thống Do đó, người ta thường sử dụng kết hợp kỹ thuật truy xuất liệu lập trình hoạt động cho vi xử lý 5.3 Thiết bị bên Thiết bị bên thành phần giúp máy tính giao tiếp với mơi trường bên Như đề cập phần đầu chương, thiết bị gọi thiết bị ngoại vi, giao tiếp với máy tính thơng qua điều khiển I/O, gọi ngoại vi hệ thống máy tính Các thiết bị bên ngồi chia thành ba nhóm lớn: Các thiết bị nhập liệu Các thiết bị xuất liệu Các thiết bị lưu trữ Các thiết bị ngoại vi phổ biến quen thuộc người có lẽ là: chuột, bàn phím, hình máy tính ổ đĩa cứng Chuột bàn phím máy tính thiết bị nhập liệu, thường kết nối với máy tính thơng qua cổng PS/2 Ngày nay, hầu hết cổng PS/2 thay cổng USB Dữ liệu truyền qua bàn phím ký tự, thường mã hóa dạng chuỗi bit Hiện nay, phiên bit, tương ứng với 128 ký tự sử dụng phổ biến Các ký tự bao gồm hai loại: ký tự in ký tự điều 80 khiển Ký tự in ký tự chữ, số thông thường số ký tự đặc biệt khác hiển thị hình in giấy (thơng qua máy in) Các ký tự điều khiển có chức điều khiển việc hiển thị ký tự hình Ví dụ ký tự xuống dịng (khi ta nhấn Enter), có chức điều khiển trỏ chuyển sang dịng Các phím bố trí theo ma trận, việc xác định chuỗi bit biểu diễn cho ký tự ta nhấn phím gọi qt phím Q trình chip điều khiển quét phím chuyên dụng thực Chuỗi bit truyền nối tiếp đến máy tính thơng qua cổng PS/2 Dữ liệu truyền qua chuột máy tính thường thông tin tọa độ chuột theo hai trục X Y thông tin trạng thái nút nhấn Các thông tin truyền từ chuột bàn phím thường tiếp nhận hiển thị hình Do đó, hình máy tính thiết bị xuất liệu Ngày nay, hình CRT truyền thống gần thay hình LCD nhỏ gọn nhiều Ngày nay, với hình, máy in thiết bị xuất liệu phổ biến hệ thống máy tính Trên thị trường có nhiều loại máy in, nội dung môn học đề cập đến hai loại máy in phổ biến trang bị văn phịng hộ gia đình, máy in phun máy in laser Bộ phận quan trọng máy in laser ống kim loại hình trụ, rỗng, phủ lớp vật liệu đặc biệt, có khả thay đổi điện tích ánh sáng laser chiếu vào, gọi trống (drum) Nguyên lý chung máy in laser sử dụng hệ thống quang học lái tia laser khắc hình ảnh cần in lên mặt trống Sau đó, trống lăn qua giấy để in hình ảnh lên giấy Mực máy in laser có dạng bột, sấy nóng chảy để bám vào giấy Do đó, máy in laser in nhiều loại giấy mà đảm bảo chất lượng Các máy in phun sử dụng đầu phun dùng để phun mực trực tiếp lên giấy Mực máy in phun có dạng lỏng nên có hai khuyết điểm sau: in thường bị lem hình ảnh thường phai màu theo thời gian Do đó, ta phải sử dụng loại giấy cho máy in phun, loại giấy thường có đặc điểm chung không dễ bị 81 thấm nước Để khắc phục khuyết điểm thứ hai, người ta thường sử dụng loại mực chất lượng cao có pha chế với chất chống bay màu Hiện nay, máy in phun thường sử dụng để in màu Chất lượng hình ảnh màu máy in phun thường cao hơn, giá thành máy in phun rẻ so với máy in laser, nhiên chi phí để in trang giấy máy in phun đắt nhiều lần so với máy in laser Do đó, tùy vào mục đích sử dụng mà ta nên trang bị loại máy in cho phù hợp Ổ đĩa cứng truyền thống thiết bị lưu trữ liệu dạng từ tính Các tín hiệu từ tính chuyển đổi thành bit liệu chuyển đổi chuyên dụng trước truyền đến máy tính Chuẩn giao tiếp truyền thống ổ đĩa cứng máy tính IDE, thực việc truyền liệu song song Tuy nhiên, chuẩn bị hạn chế tốc độ truyền liệu, nên nay, chuẩn SATA truyền liệu nối tiếp, có tốc độ cao nhỏ gọn sử dụng phổ biến 5.4 Các ngoại vi Như đề cập phần đầu chương, ngoại vi vi xử lý khối điều khiển I/O Ngoại vi có số chức sau Điều khiển định Giao tiếp với vi xử lý Giao tiếp với thiết bị bên Đệm liệu Phát lỗi Trong trình hoạt động, vi xử lý phải giao tiếp với nhiều thiết bị bên Các nguồn tài nguyên hệ thống nhớ hay bus hệ thống chia sẻ để hoạt động với nhiều ngoại vi Vì vậy, ngoại vi yêu cầu phải có chức điều khiển định để điều khiển thiết bị bên ngồi hoạt động đồng hoạt động đồng hệ thống Từ hình 5.1, ta thấy, ngoại vi có hai giao diện Giao tiếp bus: dùng để giao tiếp, trao đổi liệu với vi xử lý thành phần khác hệ thống thơng qua bus Các tín hiệu giao diện phải 82 tương thích với bus, đó, thường giống cho ngoại vi kết nối đến bus Giao tiếp với thiết bị bên ngoài: dùng để kết nối trao đổi liệu với thiết bị bên ngồi Các tín hiệu giao diện hoàn toàn khác ngoại vi thiết bị bên ngồi có chuẩn giao tiếp khác Tốc độ truy xuất liệu ngoại vi nhớ không giống nhau, chức đệm liệu cần thiết để đảm bảo việc truyền liệu thành phần hệ thống diễn cách đồng Hầu hết ngoại vi cịn có chức phát lỗi trình truyền liệu.Khi phát lỗi liệu nhận được, ngoại vi thường thông báo lỗi cho vi xử lý để có hướng xử lý cho phù hợp Sử dụng parity bit ví dụ đơn giản việc dùng thêm bit để phát lỗi giao thức truyền liệu nối tiếp CÂU HỎI ÔN TẬP CHƯƠNG Mô tả hoạt động vi xử lý nhận yêu cầu ngắt từ ngoại vi Vì phải lưu lại trạng thái ghi trước thực chương trình ngắt? Kỹ thuật DMA gì? Trình bày ưu điểm việc truy xuất liệu kỹ thuật DMA so với kỹ thuật ngắt Trình bày trình xảy hệ thống có yêu cầu truy xuất liệu kỹ thuật DMA Thiết bị ngoại vi kết nối với máy tính thơng qua thành phần hệ thống Mơ tả đặc điểm thành phần 83 TÀI LIỆU THAM KHẢO [1] Tống Văn On, Giáo trình Cấu trúc máy tính, Nhà xuất Lao động – Xã hội, 2007 [2] Paul A.Carter, PC Assembly Language, 2006 [3] William Stallings, Computer Organization and Architecture (Ninth Edition), [4] Linda Null, Julia Lobur, The Essentials of Computer Organization and Architecture, Jones and Bartlett Publishers, 2003 84 ... ĐẦU Bài giảng ? ?Cấu trúc máy tính? ?? biên soạn dùng làm tài liệu học tập cho học sinh - sinh viên trình độ trung cấp hệ qui ngành Tin học ứng dụng trường Cao đẳng Kinh tế - kỹ thuật Bạc Liêu Bài giảng. .. sinh - sinh viên kiến thức q trình phát triển máy vi tính, cấu trúc máy vi tính đại, chuẩn thông số kỹ thuật thành phần tạo nên máy tính, số kỹ thuật xử lý nhằm cải thiện tốc độ xử lý máy tính. .. phân, số là: 13 -1 b-1 -2 b-2 -3 -4 1 b-3 b-4 1*23 + 1*22 + 0*21 + 0*20 + 1* 2-1 + 0* 2-2 + 1* 2-3 + 1* 2-4 = 12.6875 Để chuyển số thập phân hệ thập phân sang hệ nhị phân ta thực bước sau: - Phần nguyên: