Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 51 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
51
Dung lượng
1,63 MB
Nội dung
KIẾN TRÚC MÁY TÍNH Computer Architecture Nguyễn Kim Khánh, PhD in Computer Engineering Bộ mơn Kỹ thuật máy tính Viện Công nghệ thông tin Truyền thông School of Information and Communication Technology (SoICT) May 2012 IT3030 NKK-HUT Contact DCE’s Office: SoICT’s Office: 320-C1 Mobile: e-mail: khanhnk@soict.hut.edu.vn May 2012 322-C1 091-358-5533 IT3030 NKK-HUT Giới thiệu học phần Mã số: IT3030 Khối lượng: 3(3-1-0-6) Đối tượng tham dự: Sinh viên đại học ngành công nghệ thông tin từ học kỳ Điều kiện học phần: May 2012 Học phần học trước: IT1010 (THĐC) Đánh giá: TN/BT/KT(0,3)- T(0,7) IT3030 NKK-HUT Mục tiêu học phần May 2012 Giới thiệu kiến thức kiến trúc máy tính, bao gồm: kiến trúc tập lệnh tổ chức máy tính, vấn đề thiết kế hệ thống máy tính Sinh viên có khả đánh giá hiệu họ máy tính, khai thác sử dụng hiệu loại máy tính có khả tiếp cận để phát triển hệ máy tính nhúng phục vụ mục đích chuyên dụng IT3030 NKK-HUT Tài liệu tham khảo William Stallings - Computer Organization and Architecture – Designing for Performance – 2009 (8th edition) David A Patterson & John L Hennessy Computer Organization and Design: The Hardware/Software Interface – 2009 (4th edition) Behrooz Parhami - Computer Architecture: From Microprocessors to Supercomputers - 2005 May 2012 IT3030 NKK-HUT Tài liệu tham khảo May 2012 IT3030 NKK-HUT Nội dung học phần May 2012 Chương Giới thiệu chung Chương Cơ logic số Chương Hệ thống máy tính Chương Kiến trúc tập lệnh Chương Số học máy tính Chương Bộ xử lý Chương Bộ nhớ Chương Vào-ra Chương Kiến trúc máy tính tiên tiến IT3030 NKK-HUT Kiến trúc máy tính Chương GIỚI THIỆU CHUNG Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội May 2012 IT3030 NKK-HUT Nội dung 1.1 Máy tính phân loại 1.2 Kiến trúc máy tính 1.3 Sự phát triển máy tính 1.4 Hiệu máy tính May 2012 IT3030 NKK-HUT 1.1 Máy tính phân loại máy tính Máy tính Máy tính (Computer) thiết bị điện tử thực công việc sau: Nhận thông tin vào, Xử lý thông tin theo dãy lệnh nhớ sẵn bên trong, Đưa thông tin 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 May 2012 IT3030 10 NKK-HUT Máy tính ngày Massive Cluster Clusters Refrigerators Gigabit Ethernet Sensor Nets Cars May 2012 Routers Robots IT3030 37 NKK-HUT 1.4 Hiệu máy tính Định nghĩa hiệu năng: Performance = 1/Execution Time “Máy tính X nhanh máy Y n lần” e X Performanc Execution time Y Execution eY time X n Ví dụ: Thời gian chạy chương trình: May 2012 Performanc 10s máy A, 15s máy B Execution TimeB / Execution TimeA = 15s / 10s = 1.5 Vậy máy A nhanhIT3030 máy B 1.5 lần 38 NKK-HUT Xung nhịp CPU Hoạt động CPU điều khiển xung nhịp có tần số xác định Clock period Clock (cycles) Data transfer and computation Update state Chu kỳ xung nhịp (Clock period): thời gian chu kỳ: May 2012 VD: 250ps = 0.25ns = 250×10–12s Tần số xung nhịp (Clock frequency hay Clock rate): số chu kỳ giây: VD: 4.0GHz = 4000MHz = 4.0×109Hz IT3030 39 NKK-HUT Thời gian CPU CPU Time CPU Clock Cycles CPU Clock Cycles Clock Cycle Time Rate Hiệu tăng lên cách: May 2012 Clock Giảm số chu kỳ xung nhịp Tăng tần số xung nhịp (Clock Rate) IT3030 40 NKK-HUT Ví dụ Máy tính A: 2GHz clock, 10s CPU time Máy tính B 6s CPU time Số chu kỳ xung nhịp B = 1.2 x Số chu kỳ xung nhịp A Xác định tần số xung nhịp máy B? Clock Clock Rate Cycles B A Clock Cycles CPU Time CPU Time A 10s 2GHz Clock May 2012 Rate B 1.2 20 10 6s IT3030 B 1.2 Clock Cycles A 6s B Clock Rate 20 10 A 24 10 4GHz 6s 41 NKK-HUT Số lệnh số chu kỳ lệnh Cycles Instructio n Count Cycles CPU Time Instructio n Count CPI Clock Instructio n Count CPI Clock Clock n Cycle Time Rate Số lệnh chương trình: IC (Instruction Count): per Instructio Được xác định chương trình, kiến trúc tập lệnh chương trình dịch Số chu kỳ lệnh: CPI (Cycles per Instruction) CPI trung bình: May 2012 Được xác định phần cứng CPU Các lệnh khác có CPI khác IT3030 42 NKK-HUT Ví dụ Máy tính A: Cycle Time = 250ps, CPI = 2.0 Máy tính B: Cycle Time = 500ps, CPI = 1.2 Cùng kiến trúc tập lệnh (ISA) Máy nhanh nhanh ? CPU Time A Instructio n Count I 2.0 250ps CPU Time B Instructio CPU Time CPU Time May 2012 B A I 600ps I 500ps 1.2 IT3030 A Cycle I 500ps n Count I 1.2 500ps CPI CPI B Time A A nhanh hơn… Cycle Time B I 600ps …lần 43 NKK-HUT Chi tiết CPI Nếu loại lệnh khác có số chu kỳ khác n Clock Cycles (CPI i Instructio n Count i ) i1 CPI trung bình: CPI Clock Instructio May 2012 Cycles n Count n i1 IT3030 CPI i Instructio n Count Instructio n Count i 44 NKK-HUT Ví dụ Cho bảng dãy lệnh sử dụng lệnh thuộc loại A, B, C Loại lệnh A B C CPI theo loại lệnh IC dãy lệnh 2 IC dãy lệnh 1 Dãy lệnh 1: IC = Clock Cycles = 2×1 + 1×2 + 2×3 = 10 Avg CPI = 10/5 = 2.0 Dãy lệnh 2: IC = May 2012 IT3030 Clock Cycles = 4×1 + 1×2 + 1×3 =9 Avg CPI = 9/6 = 1.5 45 NKK-HUT Tóm tắt Hiệu CPU Time Instructio ns Program Clock cycles Instructio n Seconds Clock cycle Hiệu phụ thuộc vào: May 2012 Thuật tốn: ảnh hưởng tới IC, CPI Ngơn ngữ lập trình: ảnh hưởng tới IC, CPI Chương trình dịch: ảnh hưởng tới IC, CPI Kiến trúc tập lệnh: ảnh hưởng tới IC, CPI, Tc IT3030 46 NKK-HUT MIPS thước đo hiệu MIPS: Millions of Instructions Per Second (Số triệu lệnh giây) MIPS Instructio Execution n count time 10 Instructio Instructio n count n count CPI Clock CPI 10 Clock rate CPI 10 rate Clock MIPS May 2012 rate 10 IT3030 47 NKK-HUT Ví dụ Tính MIPS xử lý với: clock rate = 2GHz CPI = 0.5ns 2ns chu kỳ = 1/(2x109) = 0,5ns CPI = lệnh = 4x0,5ns = 2ns Vậy xử lý thực 500MIPS May 2012 IT3030 48 NKK-HUT Ví dụ Tính CPI xử lý với: clock rate = 1GHz 400 MIPS? 1ns 4x108 lệnh thực 1s lệnh thực 1/(4x10 )s = 2,5ns CPI = 2,5 May 2012 IT3030 49 NKK-HUT MFLOPS Millions of Floating Point Operations per Second (Số triệu phép toán số dấu phẩy động giây) MFLOPS Executed floating Execution point operations time 10 GFLOPS(109 ) TFLOPS(1012) May 2012 IT3030 50 NKK-HUT Hết chương May 2012 IT3030 51