Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 41 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
41
Dung lượng
3,49 MB
Nội dung
ng c om TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Hanoi University of Science and Technology co KIẾN TRÚC MÁY TÍNH du o ng th an Computer Architecture cu u Nguyễn Kim Khánh Bộ mơn Kỹ thuật máy tính Viện Công nghệ thông tin Truyền thông Department of Computer Engineering (DCE) School of Information and Communication Technology (SoICT) Version: CA-2017 CuuDuongThanCong.com https://fb.com/tailieudientucntt NKK-HUST ng cu u du o ng th n co n Address: 502-B1 Mobile: 091-358-5533 e-mail: khanhnk@soict.hust.edu.vn khanh.nguyenkim@hust.edu.vn an n c om Contact Information 2017 Kiến trúc máy tính CuuDuongThanCong.com https://fb.com/tailieudientucntt NKK-HUST Mục tiêu học phần c om Sinh viên trang bị kiến thức sở kiến trúc tập lệnh tổ chức máy tính, nguyên tắc thiết kế máy tính Sau học xong học phần này, sinh viên có khả năng: an th n co ng n n n n ng du o u n Tìm hiểu kiến trúc tập lệnh xử lý cụ thể Lập trình hợp ngữ Đánh giá hiệu máy tính cải thiện hiệu chương trình Khai thác quản trị hiệu hệ thống máy tính Phân tích thiết kế máy tính cu n 2017 Kiến trúc máy tính CuuDuongThanCong.com https://fb.com/tailieudientucntt NKK-HUST Tài liệu học tập Bài giảng Kiến trúc máy tính ftp://dce.soict.hust.edu.vn/khanhnk/CA/ n Sách tham khảo: c om n co ng [1] William Stallings Computer Organization and Architecture – 2013, 9th edition th an [2] David A Patterson, John L Hennessy Computer Organization and Design – 2012, Revised 4th edition du o ng [3] David Money Harris, Sarah L Harris Digital Design and Computer Architecture – 2013, 2nd edition n cu u [4] Andrew S Tanenbaum Structured Computer Organization – 2013, 6th edition Phần mềm lập trình hợp ngữ mô cho MIPS: MARS (MIPS Assembler and Runtime Simulator) download tại: http://courses.missouristate.edu/KenVollmar/MARS/ 2017 Kiến trúc máy tính CuuDuongThanCong.com https://fb.com/tailieudientucntt NKK-HUST Nội dung học phần cu u du o ng th an co ng c om Chương Giới thiệu chung Chương Cơ logic số Chương Hệ thống máy tính Chương Số học máy tính Chương Kiến trúc tập lệnh Chương Bộ xử lý Chương Bộ nhớ máy tính Chương Hệ thống vào-ra Chương Các kiến trúc song song 2017 Kiến trúc máy tính CuuDuongThanCong.com https://fb.com/tailieudientucntt NKK-HUST Content cu u du o ng th an co ng c om Chapter Introduction Chapter The Basics of Digital Logic Chapter Computer Systems Chapter Computer Arithmetic Chapter Instruction Set Architecture Chapter The Processors Chapter Computer Memory Chapter Input-Output Systems Chapter Parallel Architectures 2017 Kiến trúc máy tính CuuDuongThanCong.com https://fb.com/tailieudientucntt NKK-HUST c om Kiến trúc máy tính cu u du o ng th an co ng Chương GIỚI THIỆU CHUNG Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội 2017 Kiến trúc máy tính CuuDuongThanCong.com https://fb.com/tailieudientucntt NKK-HUST c om Nội dung chương cu u du o ng th an co ng 1.1 Máy tính phân loại máy tính 1.2 Khái niệm kiến trúc máy tính 1.3 Sự tiến hóa cơng nghệ máy tính 1.4 Hiệu máy tính 2017 Kiến trúc máy tính CuuDuongThanCong.com https://fb.com/tailieudientucntt NKK-HUST 1.1 Máy tính phân loại máy tính c om Máy tính (Computer) thiết bị điện tử thực công việc sau: ng n th an n Nhận liệu vào, Xử lý liệu theo dãy lệnh nhớ sẵn bên trong, Đưa liệu (thông tin) ng n co n cu u du o Dãy lệnh nằm nhớ để u cầu máy tính thực cơng việc cụ thể gọi chương trình (program) Máy tính hoạt động theo chương trình n 2017 Kiến trúc máy tính CuuDuongThanCong.com https://fb.com/tailieudientucntt NKK-HUST xử lý liệu c om Mơ hình đơn giản máy tính co ng Bộ xử lý trung tâm (Central Processing Unit) Các thiết bị (Output Devices) Bộ nhớ (Main Memory) cu u du o ng th an Các thiết bị vào (Input Devices) liệu vào 2017 chương trình thực liệu Kiến trúc máy tính CuuDuongThanCong.com 10 https://fb.com/tailieudientucntt NKK-HUST Số lệnh số chu kỳ lệnh c om Số chu kỳ xung nhịp chương trình: Số chu kỳ = Số lệnh chương trình x Số chu kỳ lệnh ng n an n n - số chu kỳ xung nhịp IC - số lệnh chương trình (Instruction Count) CPI - số chu kỳ lệnh (Cycles per Instruction) th n co ng n = IC × CPI u du o Vậy thời gian thực CPU: cu tCPU = IC × CPI × T0 = IC × CPI f0 Trong trường hợp lệnh khác có CPI khác nhau, cần tính CPI trung bình 2017 Kiến trúc máy tính CuuDuongThanCong.com 27 https://fb.com/tailieudientucntt NKK-HUST Ví dụ c om n n ng Chu kỳ xung nhịp: TB = 500ps Số chu kỳ/ lệnh trung bình: CPIB = 1.2 Hãy xác định máy nhanh nhanh ? cu n th Máy tính B: ng n co n Chu kỳ xung nhịp: TA = 250ps Số chu kỳ/ lệnh trung bình: CPIA = 2.0 an n du o n Hai máy tính A B có kiến trúc tập lệnh Máy tính A có: u n 2017 Kiến trúc máy tính CuuDuongThanCong.com 28 https://fb.com/tailieudientucntt NKK-HUST Ta có: tCPU = IC × CPITB × T0 c om Ví dụ (tiếp) co ICA = ICB = IC ng Hai máy kiến trúc tập lệnh, số lệnh chương trình hai máy nhau: th an Thời gian thực chương trình máy A máy B: du o ng t A = ICA × CPI A × TA = IC × 2.0 × 250 ps = IC × 500 ps cu u t B = ICB × CPI B × TB = IC ×1.2 × 500 ps = IC × 600 ps Từ ta có: t B IC × 600 ps = = 1.2 t A IC × 500 ps Kết luận: máy A nhanh máy B 1.2 lần 2017 Kiến trúc máy tính CuuDuongThanCong.com 29 https://fb.com/tailieudientucntt NKK-HUST CPI trung bình Nếu loại lệnh khác có số chu kỳ khác nhau, ta có tổng số chu kỳ: c om n ng K co n = ∑ (CPI i × ICi ) th ng CPI trung bình: du o n an i=1 cu u n K CPITB = = ∑ (CPI i × ICi ) IC IC i=1 2017 Kiến trúc máy tính CuuDuongThanCong.com 30 https://fb.com/tailieudientucntt NKK-HUST Ví dụ A B C CPI theo loại lệnh IC dãy lệnh 20 10 20 40 10 10 an ng Loại lệnh co c om Cho bảng dãy lệnh sử dụng lệnh thuộc loại A, B, C Tính CPI trung bình? th n cu u du o ng IC dãy lệnh 2017 Kiến trúc máy tính CuuDuongThanCong.com 31 https://fb.com/tailieudientucntt NKK-HUST Ví dụ A B C CPI theo loại lệnh IC dãy lệnh 20 10 20 40 10 10 an ng Loại lệnh co c om Cho bảng dãy lệnh sử dụng lệnh thuộc loại A, B, C Tính CPI trung bình? th n n du o ng IC dãy lệnh Dãy lệnh 1: Số lệnh = 50 n cu u Số chu kỳ = = 1x20 + 2x10 + 3x20 = 100 n CPITB = 100/50 = 2.0 n 2017 Dãy lệnh 2: Số lệnh = 60 Số chu kỳ = = 1x40 + 2x10 + 3x10 = 90 n CPITB = 90/60 = 1.5 n Kiến trúc máy tính CuuDuongThanCong.com 32 https://fb.com/tailieudientucntt NKK-HUST Tóm tắt Hiệu c om Instructions Clock cycles Seconds CPU Time = ´ ´ Program Instruction Clock cycle co ng Thời gian CPU = Số lệnh chương trình x Số chu kỳ/lệnh x Số giây chu kỳ an th ng tCPU IC × CPI = IC × CPI × T0 = f0 n n n n Thuật giải Ngơn ngữ lập trình Chương trình dịch Kiến trúc tập lệnh Phần cứng u n du o Hiệu phụ thuộc vào: cu n 2017 Kiến trúc máy tính CuuDuongThanCong.com 33 https://fb.com/tailieudientucntt NKK-HUST MIPS thước đo hiệu c om MIPS: Millions of Instructions Per Second (Số triệu lệnh giây) ng n an co Instruction count Instruction count Clock rate = = Execution time ×106 Instruction count × CPI ×106 CPI×106 Clock rate du o ng th MIPS = f0 CPI = MIPS ´ 10 cu u f0 MIPS = CPI ´ 10 2017 Kiến trúc máy tính CuuDuongThanCong.com 34 https://fb.com/tailieudientucntt NKK-HUST cu u du o ng th an co ng Tính MIPS xử lý với: clock rate = 2GHz CPI = c om Ví dụ 2017 Kiến trúc máy tính CuuDuongThanCong.com 35 https://fb.com/tailieudientucntt NKK-HUST co ng Tính MIPS xử lý với: clock rate = 2GHz CPI = c om Ví dụ th an 0.5ns du o ng 2ns Chu kỳ T0 = 1/(2x109) = 0.5ns § CPI = thời gian thực lệnh = x 0.5ns = 2ns § Số lệnh thực 1s = (109ns)/(2ns) = 5x108 lệnh § Vậy xử lý thực 500 MIPS cu u § 2017 Kiến trúc máy tính CuuDuongThanCong.com 36 https://fb.com/tailieudientucntt NKK-HUST Ví dụ cu u du o ng th an co ng c om Tính CPI xử lý với: clock rate = 1GHz 400 MIPS 2017 Kiến trúc máy tính CuuDuongThanCong.com 37 https://fb.com/tailieudientucntt NKK-HUST Ví dụ an co ng c om Tính CPI xử lý với: clock rate = 1GHz 400 MIPS § § ng du o u § Chu kỳ T0 = 1/109 = 1ns Số lệnh thực s 400MIPS = 4x108 lệnh Thời gian thực lệnh = 1/(4x108)s = 2.5ns Vậy ta có: CPI = 2.5 cu § th 1ns 2017 Kiến trúc máy tính CuuDuongThanCong.com 38 https://fb.com/tailieudientucntt NKK-HUST MFLOPS co ng c om § Sử dụng cho hệ thống tính tốn lớn § Millions of Floating Point Operations per Second § Số triệu phép toán số dấu phẩy động giây th an Executed floating point operations Execution time ×106 du o ng MFLOPS = u GFLOPS(109 ) cu TFLOPS(1012) PFLOPS (1015) 2017 Kiến trúc máy tính CuuDuongThanCong.com 39 https://fb.com/tailieudientucntt NKK-HUST Các ý tưởng tuyệt vời kiến trúc máy tính cu u du o ng th an co ng c om Design for Moore’s Law Thiết kế theo luật Moore Use abstraction to simplify design Sử dụng trừu tượng hóa để đơn giản thiết kế Make the common case fast Làm cho trường hợp phổ biến thực nhanh Performance via parallelism Tăng hiệu qua xử lý song song Performance via pipelining Tăng hiệu qua kỹ thuật đường ống Performance via prediction Tăng hiệu thơng qua dự đốn Hierarchy of memories Phân cấp nhớ Dependability via redundancy Tăng độ tin cậy thơng qua dự phịng 2017 Kiến trúc máy tính CuuDuongThanCong.com 40 https://fb.com/tailieudientucntt .c om NKK-HUST cu u du o ng th an co ng Hết chương 2017 Kiến trúc máy tính CuuDuongThanCong.com 41 https://fb.com/tailieudientucntt ... 0000000 010 000 010 00 010 0000 010 00 01 100 011 011 110 0 010 0000000000000000 10 0 011 1000 010 010 000000000000 010 0 10 1 011 1000 010 010 0000000000000000 10 1 011 011 110 0 010 000000000000 010 0 00000 011 111 0000000000000000 010 00 15 FIGURE... máy tính 1. 3 Sự tiến hóa cơng nghệ máy tính 1. 4 Hiệu máy tính 2 017 Kiến trúc máy tính CuuDuongThanCong.com https://fb.com/tailieudientucntt NKK-HUST 1. 1 Máy tính phân loại máy tính c om Máy tính. .. n 2 017 Kiến trúc máy tính CuuDuongThanCong.com 12 https://fb.com/tailieudientucntt NKK-HUST 1. 2 Khái niệm kiến trúc máy tính Kiến trúc máy tính bao gồm: Kiến trúc tập lệnh (Instruction Set Architecture):