Bài giảng Kiến trúc máy tính: Phần 1 - ĐH Sư phạm kỹ thuật Nam Định

121 12 0
Bài giảng Kiến trúc máy tính: Phần 1 - ĐH Sư phạm kỹ thuật Nam Định

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Kiến trúc máy tính: Phần 1 cung cấp cho người học những kiến thức như: Nhập môn; Kiến trúc phần mềm; Tổ chức bộ xử lý trung tâm CPU. Mời các bạn cùng tham khảo để nắm chi tiết nội dung giáo trình!

LỜI NĨI ĐẦU Hiện nay, với phát triển khơng ngừng công nghệ với tiến vượt bậc lĩnh vực Điện – Điện tử, máy tính ngày trở nên quen thuộc trở thành thiết bị quan trọng với hầu hết người Đặc biệt, lĩnh vực Cơng nghệ thơng tin, máy tính tảng công cụ để phát triển phần mềm ứng dụng Vì vậy, Kiến trúc máy tính môn học bắt buộc tất sinh viên chuyên ngành Công nghệ thông tin trường Cao đẳng, Đại học Tập giảng Kiến trúc máy tính biên soạn cho đối tượng sinh viên Cao đẳng Đại học khoa Công nghệ thông tin, trường Đại học Sư phạm kỹ thuật Nam Định Tập giảng chia làm chương: Chương 1: Nhập môn Chương 2: Kiến trúc phần mềm Chương 3: Tổ chức xử lý trung tâm CPU Chương 4: Bộ nhớ hệ thống lưu trữ Chương 5: Hệ thống BUS tổ chức vào/ Nhóm biên soạn xin chân thành cảm ơn đồng nghiệp khoa Công nghệ thông tin, đồng nghiệp trường Đại học Sư phạm Kỹ thuật Nam Định giúp hoàn thành tập giảng Trong lần biên soạn đầu tiên, tập giảng không tránh khỏi sai sót, mong người đọc đóng góp ý kiến để tập giảng hồn thiện Mọi đóng góp ý kiến xin gửi Văn phịng Khoa Cơng nghệ thông tin, trường Đại học Sư phạm kỹ thuật Nam Định Chúng xin chân thành cảm ơn! Nam Định, tháng 11 năm 2015 Nhóm biên soạn Th.s Nguyễn Thị Thu Hằng Th.s Hoàng Thị Hồng Hà Th.s Trần Văn Long i MỤC LỤC LỜI NÓI ĐẦU i MỤC LỤC ii DANH MỤC HÌNH VẼ v DANH MỤC BẢNG BIỂU x CHƢƠNG 1: NHẬP MÔN 1.1 Khái niệm phân loại máy tính 1.1.1 Khái niệm máy tính kiến trúc máy tính 1.1.2 Phân loại máy tính 1.2 Lịch sử phát triển máy tính 1.2.1 Thế hệ (1946-1955) 1.2.2 Thế hệ thứ hai (1955-1965) 1.2.3 Thế hệ thứ ba (1966-1980) 1.2.4 Thế hệ thứ tư (1980- đến nay) 1.2.5 Khuynh hướng 1.3 Máy tính Von-Neumann 1.4 Cấu trúc chức máy tính 10 1.4.1 Các thành phần máy tính 10 1.4.2 Chức thành phần 11 1.5 Biểu diễn thơng tin máy tính 17 1.5.1 Các hệ đếm 17 1.5.2 Chuyển đồi hệ đếm 20 1.5.3 Biểu diễn số nguyên 22 1.5.4 Biểu diễn số thực 24 1.5.5 Biểu diễn ký tự 31 1.6 Đại số Boolean 35 1.6.1 Các phép toán định lý đại số Boolean 35 1.6.2 Các cổng logic 36 1.6.3 Hàm logic phương pháp biểu diễn hàm logic 40 1.6.4 Tối thiểu hóa hàm logic 41 1.7 Một số mạch kết hợp 45 1.7.1 Mạch logic tổ hợp 45 1.7.2 Mạch 50 CÂU HỎI ÔN TẬP CHƢƠNG 53 CHƢƠNG : KIẾN TRÚC PHẦN MỀM 57 2.1 Các kiểu thi hành lệnh 57 2.2 Kiểu kiến trúc ghi đa dụng 58 ii 2.3 Tập lệnh .59 2.3.1 Gán trị 60 2.3.2 Lệnh có điều kiện 63 2.3.3 Vòng lặp 66 2.3.4 Thâm nhập nhớ ngăn xếp 66 2.3.5 Các thủ tục .66 2.4 Các kiểu định vị 68 2.5 Kiểu chiều dài toán hạng .73 2.6 Kiến trúc RISC 73 2.7 Kiểu định vị xử lý RISC .76 2.7.1 Kiểu định vị ghi .76 2.7.2 Kiểu định vị tức 76 2.7.3 Kiểu định vị trực tiếp .77 2.7.4 Kiểu định vị gián tiếp ghi + độ dời .78 2.7.5 Kiểu định vị tự tăng 78 2.8 Ngôn ngữ cấp cao ngôn ngữ máy .78 CÂU HỎI ÔN TẬP CHƢƠNG .80 CHƢƠNG 3: TỔ CHỨC BỘ XỬ LÝ TRUNG TÂM CPU .82 3.1 Cấu trúc hoạt động CPU 82 3.1.1 Cấu trúc CPU 82 3.1.2 Hoạt động CPU 96 3.2 Kỹ thuật ống dẫn (Pipeline) .99 3.2.1 Khái niệm 99 3.2.2 Khó khăn kỹ thuật ống dẫn 99 3.2.3 Siêu ống dẫn 100 3.3 Siêu vô hƣớng 101 3.4 Máy tính Vec-tơ 101 3.5 Máy tính song song 102 3.6 Kiến trúc IA-64 .106 CÂU HỎI ÔN TẬP CHƢƠNG .110 CHƢƠNG : BỘ NHỚ VÀ CÁC HỆ THỐNG LƢU TRỮ 112 4.1 Khái niệm phân cấp nhớ 112 4.1.1 Khái niệm .112 4.1.2 Phân cấp nhớ 112 4.2 Các đặc điểm nhớ .113 4.3 Bộ nhớ 115 4.3.1 Bộ nhớ RAM (Random Access Memory) .116 iii 4.3.2 Bộ nhớ ROM 123 4.3.3 Tổ chức nhớ 129 4.4 Bộ nhớ cache 137 4.4.1 Nguyên lý vận hành cache 137 4.4.2 Các phương pháp ánh xạ cache nhớ 144 4.4.3 Giải thuật thay 150 4.5 Bộ nhớ 151 4.5.1 Phân loại 151 4.5.2 Hệ thống đĩa dự phòng RAID 163 4.6 Bộ nhớ ảo 166 4.6.1 Việc phân trang – Paging 167 4.6.2 Thực việc phân trang 169 4.6.3 Phương pháp cấp trang có yêu cầu mơ hình tập làm việc 173 CÂU HỎI ƠN TẬP CHƢƠNG 176 CHƢƠNG : HỆ THỐNG BUS VÀ TỔ CHỨC VÀO/ RA 181 5.1 Nguyên tắc giao tiếp với thiết bị ngoại vi 181 5.2 Hệ thống BUS 185 5.3 Mô-đun vào/ 187 5.4 Truy cập nhớ trực tiếp 188 5.5 Giao diện xử lý với phận vào/ 190 CÂU HỎI ÔN TẬP CHƢƠNG 207 TÀI LIỆU THAM KHẢO i iv DANH MỤC HÌNH VẼ Hình 1 Máy tính Hình Máy tính ENIAC .3 Hình Đèn điện tử Hình Máy tính hệ thứ Hình 1.5 Mạch tích hợp .5 Hình Các máy tính hệ thứ .5 Hình Các cơng nghệ sản xuất máy tính Hình John von Neumann máy tính IAS .8 Hình Kiến trúc máy tính Von-Neumann Hình 10 Sơ đồ máy tính Von Neumann .9 Hình 11 Cấu trúc chung máy tính 10 Hình 12 Bộ xử lý trung tâm 12 Hình 13 Bo mạch chủ 12 Hình 14 Ổ đĩa cứng 13 Hình 15 Cổng giao tiếp Onboard Card bo mạch chủ 13 Hình 16 Video Graphics Card 14 Hình 17 Màn hình máy tính 15 Hình 18 Bộ nguồn máy tính 16 Hình 19 Các đầu cắm nguồn 17 Hình 20 a Bàn phím; b.Chuột 17 Hình 21 Dạng đơn (single precision): 32 bit .25 Hình 22 Dạng kép (double precision): 64 bit .26 Hình 23 Dạng kép mở rộng (double-extended precision): 80 bit 27 Hình 24 Hình Bitmap 34 Hình 25 Số hóa âm 35 Hình 26 Hàm AND 37 Hình 27 Các IC AND 37 Hình 28 Hàm OR 37 Hình 29 Các IC OR 38 Hình 30 Hàm NOT 38 Hình 31 Hàm XOR 38 Hình 32 Hàm NOR 39 Hình 33 Các IC NOR 39 Hình 34 Hàm NAND 39 Hình 35 Biểu diễn qua lại cổng 40 Hình 36 Bìa nơ hàm f(A,B)=A+B 40 Hình 37 Sơ đồ mạch logic 43 Hình 38 Bìa nơ hàm biến, biến 44 Hình 39 Bìa nơ hàm 45 Hình 40 Bìa nơ hàm 45 Hình 41 Sơ đồ mơ cộng bán tổng ( HA-Half Adder ) .45 Hình 42 Sơ đồ mạch logic cộng hai số nhị phân bít 46 Hình 43 Sơ đồ mơ mạch 46 Hình 44 Bìa nơ cộng tồn phần .47 Hình 45 Sơ đồ mạch cộng toàn phần 47 v Hình 46 Sơ đồ khối mạch mã hóa nhị phân từ sang 47 Hình 47 Mạch logic dùng phần tử OR 48 Hình 48 Sơ đồ khối mạch mã hóa thập phân 48 Hình 49 Sơ đồ mạch mã hóa thập phân dùng OR 49 Hình 50 Khối giải mã sang 50 Hình 51 Cấu trúc mạch giải mã sang 50 Hình 52 Sơ đồ mơ bảng trạng thái Trigơ R-S không đồng 51 Hình 53 Bảng chuyển tiếp bảng đầu vào kích Trigơ R-S khơng đồng 51 Hình 54 Sơ đồ Trigơ R-S dùng phần tử NAND 52 Hình 55 Sơ đồ Trigơ R-S dùng phần tử NOR 52 Hình 56 Trigơ R-S đồng 52 Hình Giản đồ trạng thái chu kỳ lệnh 59 Hình 2 Minh hoạ lệnh dịch chuyển quay vòng 63 Hình Bit trạng thái mà ALU tạo 64 Hình Gọi thủ tục trở thực xong thủ tục 68 Hình Minh hoạ hai cách xếp địa nhớ 68 Hình Mode địa trực tiếp (Direct Addressing) 70 Hình Mode địa gián tiếp (Indirect Addressing) 70 Hình Mode địa ghi (Register Addressing) 71 Hình Mode địa gián tiếp qua ghi (Register Indirect Addressing) 71 Hình 10 Mode địa dich chuyển (Displacement Addressing) 72 Hình 11 Mode địa Stack (Stack Addressing) 72 Hình 12 Dạng lệnh kiểu định vị ghi - ghi cho vài CPU RISC 76 Hình 13 Dạng lệnh kiểu định vị ghi - tức cho vài CPU RISC 76 Hình 14 Dạng lệnh thâm nhập nhớ vài kiến trúc RISC 77 Hình 15 Mơ tả q trình chuyển đổi từ ngơn ngữ cấp cao sang ngơn ngữ máy 79 Hình Hình ảnh CPU hãng Intel hãng AMD 82 Hình Lịch sử phát triển CPU Intel 82 Hình 3 Cấu tạo CPU 83 Hình Các cờ ghi FR 84 Hình Ví dụ ghi trạng thái 8086 85 Hình Ngăn xếp 85 Hình Thanh ghi IR 85 Hình Mơ hình kết nối CU 86 Hình Tín hiệu xung nhịp 86 Hình 10 Sơ đồ khối ALU 87 Hình 11 Bộ xử lý AMD K6-2 88 Hình 12 Bộ xử lý Intel Core Duo 88 Hình 13 Vị trí FSB Mainboard 89 Hình 14 Khe cắm Slot 90 Hình 15 Socket 1156 91 Hình 16 Socket LGA 2011 91 Hình 17 Mơ tả xử lý HTT 92 Hình 18 Mô tả xử lý Multi Core 92 Hình 19 Minh họa tính Intel Turbo Boost 93 vi Hình 20 Ký hiệu CPU 94 Hình 21 Đường liệu .97 Hình 22 Kỹ thuật ống dẫn .99 Hình 23 Siêu ống dẫn bậc so với siêu ống dẫn đơn giản 100 Hình 24 Siêu vô hướng (a) so với kỹ thuật ống dẫn (b) 101 Hình 25 Cấu trúc nhớ phân tán .104 Hình 26 Tổ chức kết nối máy tính song song có nhớ phân tán 105 Hình 27 Định dạng lệnh kiến trúc IA-64 107 Hình Các cấp nhớ 112 Hình Hai mức nhớ 113 Hình Mạch điện phần tử SRAM bit .117 Hình 4 Mạch điện phần tử nhớ DRAM bit 117 Hình Bộ nhớ DDRAM2 119 Hình Hình dáng loại DDRAM 120 Hình Tốc độ DDR2, DDR3 .121 Hình Điện áp DDR2, DDR3 122 Hình Thời gian trễ DDR2, DDR3 .123 Hình 10 Số chân nối DDR, DDR2, DDR3 123 Hình 11 Cấu tạo MROM 124 Hình 12 Bộ nhớ MROM có dung lượng 16x1 sử dụng Transistor MOS .125 Hình 13 Bộ nhớ PROM 126 Hình 14 Cấu tạo EPROM .127 Hình 15 Xóa EPROM 127 Hình 16 Hình dạng bên ngồi củaEPROM 128 Hình 17 Cấu tạo EAPROM 128 Hình 18 Hình dạng vị trí EEPROM bo mạch .129 Hình 19 Tổ chức ô nhớ 129 Hình 20 Tổ chức mạch nhớ 129 Hình 21 Sơ đồ logic chip nhớ 4x3, hàng từ nhớ bit 131 Hình 22 Giải mã bước .132 Hình 23 Bộ nhớ ROM 2048x8 - Giải mã địa bước 133 Hình 24 Chip nhớ 16MB DRAM (4Mx4bit) 134 Hình 25 Hình ảnh chip nhớ bo mạch 134 Hình 26 Mơ-đun nhớ 8Kx8 135 Hình 27 Mơ-đun nhớ 8Kx4 136 Hình 28 Mơ-đun nhớ 16Kx8 137 Hình 29 Trao đổi liệu thành phần CPU-Cache-Bộ nhớ 137 Hình 30 Trao đổi thơng tin nhớ cache 139 Hình 31 Ánh xạ trực tiếp .146 Hình 32 Ánh xạ liên kết hoàn toàn .148 Hình 33 Ánh xạ liên kết tập hợp 150 Hình 34 Các thành phần ổ đĩa cứng 152 Hình 35 Cấu trúc liệu đĩa cứng 153 Hình 36 Thơng số dung lượng ổ đĩa 153 Hình 37 Kích thước ổ đĩa cứng 1,8”, 2,5” 3,5” (từ trái qua phải) .154 Hình 38 Giao diện kết nối phía sau ổ cứng IDE SATA .156 vii Hình 39 Phân biệt loại cáp truyền tải liệu SATA EIDE (IDE) 156 Hình 40 Các loại kết nối củaUSB, FireWire 400, FireWire 800 157 Hình 41 Ổ cứng SSD 158 Hình 42 Bên ổ đĩa SSD HDD 159 Hình 43 Ổ cứng SSHD 159 Hình 44 Ổ đĩa CD Rom 160 Hình 45 Đĩa CD Rom 161 Hình 46 Bề mặt đĩa CD Rom 161 Hình 47 Nguyên lý ghi liệu lên đĩa CD Rom 161 Hình 48 Nguyên lý đọc tín hiệu từ đĩa CD Rom 162 Hình 49 RAID 164 Hình 50 RAID 164 Hình 51 RAID 165 Hình 52 RAID 165 Hình 53 RAID 166 Hình 54 RAID 166 Hình 55 Ánh xạ địa 4096 8191vào địa nhớ 4095 168 Hình 56 Một cách chia khơng gian địa 170 Hình 57 Ví dụ địa ảo 171 Hình 58 Ví dụ bảng phân trang 171 Hình 59 Cách tạo địa nhớ từ địa ảo 172 Hình 60 Ánh xạ từ khơng gian địa ảo lên khơng gian nhớ có khung trang 173 Hình 61 Hàm w (k, t) kích thước tập làm việc thời điểm t 175 Hình Cấu trúc hệ thống vào/ 181 Hình Các thành phần thiết bị ngoại vi 182 Hình Vào/ cách biệt CPU 8088 182 Hình Vào/ bảng nhớ CPU 8088 183 Hình 5 Lưu đồ hoạt động điều khiển vào/ chương trình 183 Hình Hoạt động điều khiển vào/ ngắt 184 Hình Sơ đồ hoạt động hệ thống Bus có vi mạch DMA 185 Hình Hệ thống BUS bo mạch chủ máy tính 186 Hình Sơ đồ khối mô-đun vào/ 187 Hình 10 Mơ-đun âm 187 Hình 11 Mơ-đun Ethernet 188 Hình 12 Sự tương tác Direct Memory Access 189 Hình 13 Vị trí DMAC máy tính 189 Hình 14 Sơ đồ cấu trúc DMAC 190 Hình 15 Sơ đồ khối BUS bo mạch chủ 191 Hình 16 Thành phần bo mạch chủ 192 Hình 17 Chipset bắc 192 Hình 18 Chipset nam 193 Hình 19 ROM BIOS 193 Hình 20 CMOS 194 Hình 21 IC SIO 194 Hình 22 Mạch tạo xung 194 Hình 23 Mơ-đun tạo ổn áp cho CPU 195 viii Hình 24 Khe AGP PCI Express 195 Hình 25 Khe PCI 196 Hình 26 Khe RAM .196 Hình 27 Ba cổng IDE bốn cổng SATA 196 Hình 28 Chân cắm cấp nguồn điện cho Mainboard 196 Hình 29 Chân cắm cấp nguồn điện cho CPU 197 Hình 30 Chân cắm quạt CPU 197 Hình 31 Các dây tín hiệu nối với Case 197 Hình 32 Giao diện phần mềm CPU-Z .198 Hình 33 Thơng tin Cache 199 Hình 34 Thơng tin Mainboard .200 Hình 35 Thơng tin RAM 201 Hình 36 Thơng tin chi tiết RAM .201 Hình 37 Thơng tin chi tiết Card đồ họa 202 Hình 38 Thơng tin phiên phần mềm .203 Hình 39 Giao diện phần mềm GPU-Z 204 Hình 40 System Properties Windows 205 Hình 41 Mở tiện ích DirectX Diagnostic 205 Hình 42 Giao diện DirectX Diagnostic .206 ix DANH MỤC BẢNG BIỂU Bảng 1 Lịch sử phát triển máy tính hệ thứ (Intel) Bảng Các hệ máy tính Bảng Hệ thập lục phân 19 Bảng Bảng mã ASCII - Một số ký tự điều khiển 32 Bảng Bảng mã ASCII - Các ký tự in 32 Bảng Bảng chân lý hàm f(A,B)=A+B 36 Bảng Một số định luật đại số logic 36 Bảng Bảng chân lý bảng trạng thái hàm f(A,B)=A+B 40 Bảng Bảng chân lý hàm Z = F(A, B, C) = 41 Bảng 10 Bảng chân lý hàm 42 Bảng 11 Bảng chân lý hàm 43 Bảng 12 Bảng chân lý cộng bán tổng 46 Bảng 13 Bảng trạng thái cộng toàn phần 46 Bảng 14 Bảng thật mạch mã hóa nhị phân từ sang 48 Bảng 15 Bảng bảng thật mạch mã hóa nhị phân từ 10 sang 49 Bảng 16 Bảng chân lý mạch giải mã sang 50 Bảng Cách chọn lựa vị trí tốn hạng 57 Bảng 2 Chuỗi lệnh dùng thực phép tính C := A + B 57 Bảng Điểm lợi bất lợi kiểu kiến trúc phần mềm 58 Bảng Kiểu định vị xử lý có kiến trúc phần mềm kiểu ghi đa dụng 72 Bảng Đặc tính vài máy CISC 74 Bảng Đặc tính ba mẫu máy RISC 74 Bảng Bảng thông số kỹ thuật CPU core i3, i5, i7 95 Bảng Các thông số kỹ thuật CPU ghi báo giá cơng ty máy tính 95 Bảng 3 Bảng mã hoá tập hợp ánh xạ trường mẫu 108 Bảng Bảng chân lý MROM 125 Bảng Kích thước cache số hệ thống 144 x phần dễ thiết kế cài đặt xử lý Hình 21 Đường liệu (Các đường không liên tục đường điều khiển) Chu kỳ xử lý lệnh Bước 1: Khi chương trình chạy, hệ điều hành tải mã chương trình vào nhớ Bước 2: Địa lệnh chương trình đưa vào ghi PC Bước 3: Địa ô nhớ chứa lệnh chuyển tới bus A qua ghi MAR Bước 4: Tiếp theo, bus A truyền địa tới khối quản lý nhớ MMU (Memory Management Unit) Bước 5: MMU chọn ô nhớ sinh tín hiệu READ Bước 6: Lệnh chứa nhớ chuyển tới ghi MBR qua bus D 97 Bước 7: MBR chuyển lệnh tới ghi IR Sau IR lại chuyển lệnh tới CU Bước 8: CU giải mã lệnh sinh tín hiệu xử lý cho đơn vị khác, ví dụ ALU để thực lệnh Bước 9: Địa PC tăng lên để trỏ tới lệnh chương trình thực Bước 10: Thực lại bước 3->9 để chạy hết lệnh chương trình Ngắt quãng (Interrupt) Ngắt quãng kiện xảy cách ngẫu nhiên máy tính làm ngưng tính chương trình (nghĩa tạo lệnh nhảy) Phần lớn nhà sản xuất máy tính (ví dụ IBM, INTEL) dùng từ ngắt quãng để ám kiện này, nhiên số nhà sản xuất khác dùng từ “ngoại lệ”, “lỗi”, “bẩy” để định tượng Bộ điều khiển CPU phận khó thực ngắt quãng phần khó thực điều khiển Để nhận biết ngắt quãng lúc thi hành lệnh, ta phải biết điều chỉnh chu kỳ xung nhịp điều ảnh hưởng đến hiệu máy tính Người ta nghĩ “ngắt quãng” để nhận biết sai sót tính tốn số học, để ứng dụng cho tượng thời gian thực Bây giờ, ngắt quãng dùng cho công việc sau đây: + Ngoại vi đòi hỏi nhập xuất số liệu + Người lập trình muốn dùng dịch vụ hệ điều hành + Cho chương trình chạy lệnh + Làm điểm dừng chương trình + Báo tràn số liệu tính tốn số học + Trang nhớ thực khơng có nhớ + Báo vi phạm vùng cấm nhớ + Báo dùng lệnh khơng có tập lệnh + Báo phần cứng máy tính bị hư + Báo điện bị cắt Dù ngắt quãng không xảy thường xuyên xử lý trung tâm phải thiết kế cho lưu giữ trạng thái trước nhảy phục vụ ngắt quãng Sau thực xong chương trình phục vụ ngắt, CPU phải khơi phục trạng thái để tiếp tục công việc Để đơn giản việc thiết kế, vài xử lý CPU chấp nhận ngắt sau thực xong lệnh chạy Khi ngắt xảy ra, xử lý thi hành bước sau đây: Bước 1: Thực xong lệnh làm Bước 2: Lưu trữ trạng thái 98 Bước 3: Nhảy đến chương trình phục vụ ngắt Bước 4: Khi chương trình phục vụ chấm dứt, CPU khơi phục lại trạng thái cũ tiếp tục thực chương trình mà thực bị ngắt 3.2 Kỹ thuật ống dẫn (Pipeline) 3.2.1 Khái niệm Kỹ thuật ống dẫn kỹ thuật làm cho giai đoạn khác nhiều lệnh thi hành lúc Ví dụ: Chúng ta có lệnh đặn, lệnh thực khoản thời gian Giả sử, lệnh thực giai đoạn giai đoạn thực chu kỳ xung nhịp Các giai đoạn thực lệnh là: lấy lệnh (IF: Instruction Fetch), giải mã (ID: Instruction Decode), thi hành (EX: Execute), thâm nhập nhớ (MEM: Memory Access), lưu trữ kết (RS: Result Storing) Hình sau cho thấy giai đoạn khác nhiều lệnh thi hành lúc Hình 22 Kỹ thuật ống dẫn So sánh với kiểu xử lý thông thường, lệnh thực 25 chu kỳ xung nhịp, xử lý lệnh theo kỹ thuật ống dẫn thực lệnh chu kỳ xung nhịp 3.2.2 Khó khăn kỹ thuật ống dẫn Như kỹ thuật ống dẫn làm tăng tốc độ thực lệnh Tuy nhiên kỹ thuật ống dẫn có số ràng buộc: - Cần phải có mạch điện để thi hành giai đoạn lệnh tất giai đoạn lệnh thi hành lúc - Phải có nhiều ghi khác dùng cho tác vụ đọc viết - Trong máy có kỹ thuật ống dẫn, có kết tác vụ trước tốn hạng nguồn tác vụ khác - Cần phải giải mã lệnh cách đơn giản để giải mã đọc toán hạng chu kỳ xung nhịp 99 - Cần phải có làm tính ALU hữu hiệu để thi hành lệnh số học dài nhất, có số giữ, khoảng thời gian chu kỳ xung nhịp - Cần phải có nhiều ghi lệnh để lưu giữ lệnh mà phải xem xét cho giai đoạn thi hành lệnh - Cuối phải có nhiều ghi đếm chương trình PC để tái tục lệnh trường hợp có ngắt quãng 3.2.3 Siêu ống dẫn Máy tính có kỹ thuật siêu ống dẫn bậc n cách chia giai đoạn kỹ thuật ống dẫn đơn giản, giai đoạn thực khoản thời gian Tc, chia thành n giai đoạn giai đoạn thực khoảng thời gian Tc/n Độ hữu hiệu kỹ thuật tương đương với việc thi hành n lệnh chu kỳ Tc Hình sau trình bày thí dụ siêu ống dẫn bậc 2, có so sánh với siêu ống dẫn đơn giản Hình 23 Siêu ống dẫn bậc so với siêu ống dẫn đơn giản Trong khoảng thời gian Tc, máy có siêu ống dẫn làm lệnh thay lệnh ống có kỹ thuật ống dẫn đơn giản Trong máy tính siêu ống dẫn, tốc độ thực lệnh tương đương với việc thực lệnh khoảng thời gian Tc/n Các bất lợi siêu ống dẫn thời gian thực giai đoạn ngắn Tc/n việc trì hỗn thi hành lệnh nhảy lớn Trong ví dụ hình trên, lệnh thứ i lệnh nhảy tương đối lệnh giải mã giai đoạn ID, địa nhảy đến tính vào giai đoạn EX, lệnh phải nhảy tới lệnh thứ i+4, có trì trệ lệnh thay lệnh kỹ thuật ống dẫn bình thường 100 3.3 Siêu vơ hƣớng - Vi xử lý vô hƣớng (Serial Scalar) Đây vi xử lý có kiến trúc truyền thống Von-Neumann Các mệnh lệnh thực thi cách đơn vị thực lệnh (IEU), lệnh thực xong đến lượt lệnh khác Dữ liệu IEU xử lý thông qua ghi vô hướng Thanh ghi vơ hướng ghi chứa số nguyên số thực Thời gian toàn để thực chương trình tổng thời gian thực thi tất lệnh Hiệu suất kiến trúc bị giới hạn tốc độ xung CPU - Vi xử lý siêu vô hƣớng (Super – Scalar) Bộ vi xử lý sử dụng ghi vô hướng Tuy nhiên, khác với vi xử lý vơ hướng tuần tự, chứa nhiều đơn vị thực lệnh Kiến trúc giúp CPU xử lý cơng việc song song IEU khác Nó phù hợp với mơ hình lập trình Multiple Instruction Multiple Data (MIMD) Máy tính siêu vơ hướng bậc n thực đồng thời n lệnh chu kỳ xung nhịp Tc Hình 24 trình bày ví dụ vận hành máy tính siêu vơ hướng bậc so với máy tính dùng kỹ thuật ống dẫn Hình 24 Siêu vơ hướng (a) so với kỹ thuật ống dẫn (b) Trong máy tính siêu vơ hướng phần cứng phải quản lý việc đọc thi hành đồng thời nhiều lệnh Vậy phải có khả quản lý quan hệ số liệu với cần phải chọn lệnh có khả thi hành lúc 3.4 Máy tính Vec-tơ Bộ xử lý sử dụng chiến thuật song song liệu Giống xử lý tuần tự, có đơn vị thực lệnh IEU Tuy nhiên, thay xử lý số nguyên (hay số thực), IEU xử lý mảng (hay vec-tơ) số (nguyên hay thực) lần cách làm việc với ghi vec-tơ Thanh ghi vec-tơ ghi chứa mảng số nguyên số thực 101 Bộ xử lý trung tâm phù hợp với mô hình lập trình Single Instruction Multiple (SMID) Cấu trúc vec-tơ thường thấy siêu máy tính thương mại hiệu suất cao, sử dụng ứng dụng khoa học, ví dụ : CRAY, NEC 3.5 Máy tính song song Trong máy tính siêu ống dẫn, siêu vơ hướng, máy tính vec-tơ, máy tính VLIW, người ta dùng tính thực song song lệnh mức độ khác để làm tăng hiệu chúng Giới hạn khả tính tốn loại máy với phát triển công nghệ máy tính khiến người ta nghĩ tới giải pháp song song theo người ta tăng cường hiệu máy tính cách tăng số lượng xử lý Các máy tính xếp vào loại sau:  SISD (Single Instructions Stream, Single Data Stream): Máy tính dịng lệnh, dịng số liệu  SIMD (Single Instructions Stream, Multiple Data Stream): Máy tính dòng lệnh, nhiều dòng số liệu  MISD (Multiple Instructions Stream, Single Data Stream):Máy tính nhiều dịng lệnh, dịng số liệu MIMD (Multiple Instruction Stream, Multiple Data Stream): Máy tính nhiều dịng lệnh, nhiều dịng số liệu  Kiểu phân loại đơn giản, dễ hiểu, hiệu lực đến hơm nay, có máy tính dùng kiến trúc hỗn tạp Các máy tính SISD tương ứng với máy xử lý mà nghiên cứu Các máy MISD kiểu máy tính khơng sản xuất thương mại Các máy SIMD có số lớn xử lý giống nhau, thực lệnh giống để xử lý nhiều dịng liệu khác Mỗi xử lý có nhớ liệu riêng, có nhớ lệnh xử lý điều khiển, đọc thi hành lệnh Máy CONNECTION MACHINE (65536 xử lý bít) cơng ty Thinking Machine Inc, ví dụ điển hình SIMD Tính song song dùng máy SIMD tính song song liệu Nó có hiệu cấu trúc liệu dễ dàng thích ứng với cấu trúc vật lý xử lý thành viên Các xử lý véc-tơ mảng thuộc loại máy tính Các máy MIMD có kiến trúc song song, năm gần đây, máy MIMD lên xem kiến trúc đương nhiên phải chọn cho máy nhiều xử lý dùng ứng dụng thông thường, tập hợp xử lý thực chuối lệnh khác tập hợp liệu khác Các máy MIMD xếp vào ba loại hệ thống là: SMP (Symmetric Multiprocesors), Cluster NUMA (Nonunifrom Memory Access) 102 Một hệ thống SMP bao gồm nhiều xử lý giống lắp đặt bên máy tính, xử lý kết nối với hệ thống bus bên hay vài xếp chuyển mạch thích hợp Vấn đề lớn hệ thống SMP kết hợp hệ thống cache riêng lẻ Vì xử lý SMP có cache riêng nó, đó, khối liệu nhớ tồn hay nhiều cache khác Nếu khối liệu cache xử lý bị thay đổi dẫn đến liệu cache xử lý lại nhớ không đồng Các giao thức cache kết hợp thiết kế để giải vấn đề Trong hệ thống cluster, máy tính độc lập kết nối với thông qua hệ thống kết nối tốc độ cao (mạng tốc độ cao Fast Ethernet hay Gigabit) hoạt động máy tính thống Mỗi máy hệ thống xem phần cluster, gọi nút (node) Hệ thống cluster có ưu điểm:  Tốc độ cao: Có thể tạo hệ thống cluster có khả xử lý mạnh máy tính đơn lẻ Mỗi cluster bao gồm hàng tá máy tính, máy có nhiều xử lý  Khả mở rộng cao: nâng cấp, mở rộng cluster cấu hình hoạt động ổn định  Độ tin cậy cao: Hệ thống hoạt động ổn định có nút (node) hệ thống bị hư hỏng Trong nhiều hệ thống, khả chịu lỗi (fault tolerance) xử lý tự động phần mềm  Chi phí đầu tư thấp: hệ thống cluster có khả mạnh máy tính đơn lẻ mạnh với chi phí thấp Một hệ thống NUMA (Nonunifrom Memory Access) hệ thống đa xử lý giới thiệu thời gian gần đây, hệ thống với nhớ chia sẻ, thời gian truy cập vùng nhớ dành riêng cho xử lý khác Điều khác với kiểu quản lý nhớ hệ thống SMP (bộ nhớ dùng chung, thời gian truy cập vùng nhớ khác hệ thống cho xử lý nhau) Hệ thống có thuận lợi bất lợi sau: Thuận lợi:  Thực hiệu so với hệ thống SMP xử lý song song  Không thay đổi phần mềm  Bộ nhớ có khả bị nghẽn có nhiều truy cập đồng thời, điều khắc phục cách: + Cache L1 L2 thiết kế để giảm tối thiểu tất thâm nhập nhớ + Cần phần mềm cục quản lý tốt để việc ứng dụng hoạt động hiệu + Quản trị nhớ ảo chuyển trang tới nút cần dùng 103 Bất lợi: Hệ thống hoạt động không suốt SMP: việc cấp phát trang, trình thay đổi phần mềm hệ thống cần  Hệ thống phức tạp  Liên quan đến nhớ máy tính song song, chia thành hai nhóm máy: Nhóm máy thứ nhất, mà ta gọi máy có kiến trúc nhớ chia sẻ, có nhớ trung tâm phân chia cho xử lý hệ thống bus chia sẻ để nối xử lý nhớ Vì có nhớ nên hệ thống nhớ không  đủ khả đáp ứng nhu cầu thâm nhập nhớ số lớn xử lý Kiểu kiến trúc nhớ chia sẻ dùng hệ thống SMP Nhóm máy thứ hai bao gồm máy có nhớ phân tán vật lý Hình 25 Cấu trúc nhớ phân tán 104 Mỗi máy nhóm gồm có nút, nút chứa xử lý, nhớ, vài ngã vào giao diện với hệ thống kết nối nút (Hình 3.25) Việc phân tán nhớ cho nút có hai điểm lợi Trước hết, cách phân tán việc thâm nhập nhớ Thứ hai, cách làm giảm thời gian chờ đợi lúc thâm nhập nhớ cục Các lợi điểm làm cho kiến trúc có nhớ phân tán dùng cho máy đa xử lý có số xử lý Điểm bất lợi kiến trúc máy tính việc trao đổi liệu xử lý trở nên phức tạp nhiều thời gian xử lý khơng chia sẻ nhớ chung Cách thực việc trao đổi thông tin xử lý nhớ trong, kiến trúc logic nhớ phân tán tính chất đặc thù máy tính với nhớ phân tán Có phương pháp dùng để truyền liệu xử lý i) Phương pháp thứ nhớ phân chia cách vật lý thâm nhập với định vị chia sẻ cách logic, nghĩa xử lý có quyền truy xuất, truy xuất ô nhớ Trong phương pháp máy gọi có kiến trúc nhớ chia sẻ phân tán (DSM: Distributed Sharing Memory) Từ nhớ chia sẻ cho biết không gian định vị bị chia sẻ Nghĩa địa vật lý cho xử lý tường ứng với ô nhớ ii) Phương pháp thứ hai, không gian định vị bao gồm nhiều không gian định vị nhỏ không giao xử lý thâm nhập Trong phương pháp này, địa vật lý gắn với máy khác tương ứng với nhớ khác nhớ khác Mỗi mơ-đun xử lý-bộ nhớ máy tính riêng biệt máy gọi đa máy tính Các máy gồm nhiều máy tính hồn tồn riêng biệt nối vào thành mạng cục Hình 26 Tổ chức kết nối máy tính song song có nhớ phân tán Kiến trúc song song phát triển mạnh thời gian gần lý do: 105 - Việc dùng xử lý song song đặc biệt lãnh vực tính tốn khoa học cơng nghệ Trong lãnh vực người ta cần đến máy tính có tính cao - Người ta chấp nhận cách hiệu để chế tạo máy tính có tính cao máy đơn xử lý chế tạo máy tính đa xử lý - Máy tính đa xử lý hiệu dùng cho đa chương trình Đa chương trình dùng chủ yếu cho máy tính lớn cho máy phục vụ lớn Các ví dụ siêu máy tính dùng kỹ thuật xử lý song song:  Máy điện toán Blue Gene/L IBM đặt Phịng thí nghiệm Lawrence Livermore, đứng đầu số 500 siêu máy tính mạnh giới Siêu máy tính Blue Gene/L sử dụng cho công việc "phi truyền thống", chủ yếu giả lập mơ q trình sinh học nguyên tử IBM nghiên cứu phát triển Blue Gene với mục đích thử nghiệm nhằm tạo hệ thống cực mạnh chiếm khơng gian tiêu thụ lượng Siêu máy tính IBM Blue Gene/L có khả xử lý 135,5 nghìn tỷ phép tính/giây (135,3 teraflop) Số xử lý (BXL) Blue Gene/L nhà khoa học tăng lên gấp đơi (64.000 BXL) nhằm tăng cường khả tính tốn cho siêu máy tính Hãng điện tử khổng lồ NEC phát hành Supercomputer dạng vec-tơ, máy SX-8 đời có tốc độ xử lý cực đại lên tới 65 teraflop (65 nghìn tỷ phép tính dấu  phẩy động/giây) khả hoạt động ổn định mức xấp xỉ 90% tốc độ 58,5% teraflop Máy SX-8 có kiến trúc khác hẳn Blue Gene/L IBM Nó dùng kiến trúc vec-tơ nên đem đến độ ổn định hoạt động cao nhiều so với dạng máy tính vơ hướng (scalar) IBM 3.6 Kiến trúc IA-64 Kiến trúc Itanium (IA-64) kiến trúc điện toán mà Intel HP đặt nhiều tham vọng vào Hãng hy vọng thay kiến trúc x86 vốn có nhiều tuổi Con chip Itanium Intel tung vào hồi 2001 Kiến trúc sản phẩm kết hợp nghiên cứu hai cơng ty máy tính hàng đầu giới Intel, HP (Hewlett Packard) số trường đại học Kiến trúc dựa phát triển cơng nghệ mạch tích hợp kỹ thuật xử lý song song Kiến trúc IA-64 giới thiệu khởi đầu quan trọng kỹ thuật siêu vô hướng - kỹ thuật xử lý lệnh song song (EPIC: Expicitly Parallel Intruction Computing) - kỹ thuật ảnh hưởng nhiều đến phát triển xử lý Sản phẩm thuộc kiến trúc xử lý Itanium Đặc trƣng kiến trúc IA-64: - Cơ chế xử lý song song song song lệnh mã máy thay xử lý song song hệ thống đa xử lý - Các lệnh dài hay dài (LIW hay VLIW) 106 - Các lệnh rẽ nhánh xác định (thay đoán lệnh rẽ nhánh kiến trúc trước) - Nạp trước lệnh (theo suy đoán) Các đặc trưng tổ chức xử lý theo kiến trúc IA-64: - Có nhiều ghi: số lượng ghi xử lý kiến trúc IA-64 256 ghi Trong đó, 128 ghi tổng quát (GR) 64 bit cho tính tốn số ngun, luận lý; 128 ghi 82 bit (FR) cho phép tính dấu chấm động liệu đồ hoạ; ngồi ra, cịn có 64 ghi thuộc tính (PR)1 bit để thuộc tính lệnh thi hành - Nhiều thi hành lệnh: nay, máy tính có tám hay nhiều thi hành lệnh song song Các thi hành lệnh chia thành bốn kiểu: - Kiểu I (I-Unit): dùng xử lý lệnh tính tốn số ngun, dịch, luận lý, so sánh, đa phương tiện - Kiểu M (M-Unit): Nạp lưu trữ ghi nhớ thêm vào vài tác vụ ALU - Kiểu B (B-Unit): Thực lệnh rẽ nhánh - Kiểu F (F-Unit): Các lệnh tính tốn số dấu chấm động Định dạng lệnh kiến trúc IA-64 Hình 27 Định dạng lệnh kiến trúc IA-64 107 Kiến trúc IA-64 định nghĩa gói (buldle) 128 bit chứa ba lệnh (mỗi lệnh dài 41 bit) trường mẫu (template field) bit Bộ xử lý lấy hay nhiều gói lệnh thi hành lúc Trường mẫu (template field) chứa thông tin lệnh thực song song (Bảng 3.3) Các lệnh bó lệnh độc lập Bộ biên dịch xếp lại lệnh gói lệnh kề theo thứ tự để lệnh thực song song Hình 3.27a định dạng lệnh kiến trúc IA-64 Hình 3.27b mơ tả dạng tổng qt lệnh gói lệnh Trong lệnh, mã lệnh có bit 16 khả để thi thi hành lệnh bit ghi thuộc tính dùng với lệnh Tuy nhiên, mã tác vụ tuỳ thuộc vào vị trí lệnh bên gói lệnh, khả thi hành lệnh nhiều số mã tác vụ Hình 3.27c mơ tả chi tiết trường lệnh (41 bit) Trong bảng 3.3, kiểu L-Unit, X-Unit kiểu mở rộng, thực lệnh I-Unit hay B-Unit Bảng 3 Bảng mã hoá tập hợp ánh xạ trường mẫu 108 109 CÂU HỎI ÔN TẬP CHƢƠNG Câu 1: Nêu thành phần nhiệm vụ đường liệu Câu 2: Mô tả đường liệu ứng với lệnh sau: i ADD R1, R2, R3 ii SUB R1, R2, (R3) iii ADD R1, R5,#100 iv IMP R1 (Nhảy đến ô nhớ mà R1 trỏ tới) v BRA + (Nhảy bỏ lệnh) Câu 3: Nêu khái niệm ngắt quãng Cho biết mục đích việc sử dụng ngắt quãng Nêu giai đoạn thực ngắt quãng CPU Câu 4: Trình bày kỹ thuật ống dẫn cho biết ràng buộc thực kỹ thuật ống dẫn Câu 5: Vẽ hình để mơ tả kỹ thuật ống dẫn Kỹ thuật ống dẫn làm tăng tốc độ CPU lên lần (theo lý thuyết)? Tại thực tế gia tăng lại hơn? Câu 6: Các điều kiện mà CPU cần phải có để tối ưu hóa kỹ thuật ống dẫn Giải thích điều kiện Câu 7: a Giả sử tiến trình chia thành giai đoạn sau: Mô tả sơ đồ xác định tổng thời gian tính tốn thực hình ống tiến trình b Trong đoạn chương trình sau có khả xảy xung đột liệu pipeline khơng? Tại sao? Nếu có khả xảy xung đột, nêu hướng khắc phục ADD#500, R4, R4 ; R4  R4 + 500 ADD R2, R3, R1 ; R1  R2 + R3 SUB#1000, R5 ; R5  R5 - 1000 CMP#400, R1 ; So sánh R1 với 400 (tính R1 – 400, khơng gán kết vào R1) Biết lệnh chia thành giai đoạn pipeline: Đọc lệnh (IF), giải mã đọc toán hạng (ID), truy nhập nhớ (MEM), thực (EX) lưu kết (WB) 110 Câu 8: Thế máy tính vec-tơ? Các kiểu kiến trúc vec-tơ Câu 9: Cho ví dụ máy tính dịng lệnh, nhiều dịng số liệu (SIMD) Câu 10: Các máy tính song song nhiều dịng lệnh, nhiều dòng số liệu (MIMD) dùng nhiều xử lý, phân thành loại tùy theo tổ chức nhớ chúng là: Máy tính đa xử lý có nhớ tập trung chia sẻ máy tính đa xử lý có nhớ tập trung chia sẻ máy tính đa xử lý có nhớ phân tán Phân tích ưu – khuyết điểm hai loại máy tính Câu 11: Nêu loại hệ thống MIMD Câu 12: Nêu đặc trưng kiến trúc IA – 64 định dạng lệnh kiến trúc IA – 64 Câu 13: Khi chọn CPU cho máy tính cần lưu ý điều gì? Gợi ý: Nếu có Mainboard phải mua CPU có thơng số sau phù hợp với Mainboard như: Soket; Tốc độ FSB (bus CPU) mà Main hỗ trợ Câu 14: Giữa CPU RAM có mối liên hệ không chọn thiết bị? Câu 15: Muốn nâng cấp CPU có khơng? Gợi ý: Hồn tồn CPU muốn nâng cấp cắm vừa chân (tức Soket) đồng thời có tốc độ Bus thuộc phạm vi mà Mainboard hỗ trợ Lưu ý, CPU tốc độ cao chạy Main bạn làm việc khơng hết hiệu suất 111 ... carry phép cộng Ví dụ 1. 21: Thực phép tính cộng: a) 10 01 011 0 + 010 1 10 11 b) 11 00 10 01 + 011 0 11 01 Giải: a) 10 01 011 0 + 010 1 10 11 111 1 00 01 b) 11 00 10 01 + 011 0 11 01 10 011 011 0 Số carry phép cộng... diễn số +10 1 =0000 0000 011 0 010 12 Lấy bù 11 11 111 1 10 01 1 011 2 => B = -1 0 1 = 11 11 111 1 10 01 1 011 2 1. 5.4 Biểu diễn số thực Có hai cách biểu diễn số thực hệ nhị phân: số có dấu chấm cố định (fixed... sau: 10 01 011 0 - 010 1 10 11 011 1 10 01 - 11 00 11 01 Giải: Phép trừ số nhị phân nhiều bit thực sau: 10 01 011 0 011 1 10 01 - 010 1 10 11 - 11 00 11 01 0 011 10 11 1 010 11 00 Số carry/borrow phép trừ Phép trừ

Ngày đăng: 08/06/2021, 14:18

Tài liệu cùng người dùng

Tài liệu liên quan