Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu cung cấp cho người học các kiến thức cơ bản về kiến trúc máy tính, các định luật về máy tính,.... Đây là một tài liệu hữu ích dành cho các bạn sinh viên ngành Công nghệ thông tin và những ai quan tâm dùng làm tài liệu học tập và nghiên cứu.
Kiến trúc máy tính Computer architecture To improve is to change; to be perfect is to change often Winston Churchill 5/20/21 SET - HUST Nội dung mơn học • • • • • • 5/20/21 Chương 1: Giới thiệu Chương 2: Kiến trúc tập lệnh MIPS – 32 bits Chương 3: Bộ xử lý MIPS – 32 bits Chương 4: Xử lý đường ống Chương 5: Bộ nhớ máy tính Chương 6: Tổ chức Vào/ra SET - HUST Tài liệu tham khảo • • • http://www-inst.eecs.berkeley.edu/~cs61c/fa16/ http://inst.eecs.berkeley.edu/~cs61c/sp15/ Computer Organization and Design, 5th Edition : The Hardware/Software Interface 5/20/21 SET - HUST Lịch sử phát triển máy tính ENIAC ENIAC (1946) (1946) Cơ Cơ • Blaise Blaise Pascal Pascal (1642) (1642) • 1642 1642 1945 1945 18.000 18.000 bóng bóng đèn đèn Transistor Transistor (1958) (1958) IC(Integrated IC(Integrated Circuit) Circuit) • Burroughs Burroughs 6500 6500 • NCR, NCR, CDC CDC 6600 6600 • LSI LSI –– VLSI VLSI • Xử Xử lý lý song song song song 1500 1500 rơle rơle 30 30 tấn 140 140 kw kw 1970s to mid 1980s: 2000s: 1950s : Máy tính số học Có thiết kế tập lệnh trình biên dịch 1960s: Có hệ điều hành, quản lý nhớ mức thấp Bộ nhớ chia sẻ đa xử lý 1990s: CPU, nhớ , I/O system, Multi-processors, kết nối mạng, Thiết kế mức VLSI 5/20/21 SET - HUST Kiến trúc đặc trưng, có khả cấu hình lại, di động, tiêu thụ lượng, xử lý song song Máy tính đại Personal Mobile Devices Máy tính đại Máy tính đại Quan niệm truyền thống cấu trúc máy tính Phần Phần mềm mềm hệ hệ thống thống Phần Phần mềm mềm ứng ứng dụng dụng Phần Phân loại Chức Máy tính chuyên dụng Cấu trúc xử lý Máy tính nhúng RISC Cấu tạo CISC ARM, SuperH, MIPS, SPARC, DEC Alpha, PA-RISC-V, PIC, PowerPC IBM 5/20/21 cứng SET - HUST Von newmann Harvard PDP-11, VAX, Motorola 68k, x86 intel intel Quan niệm truyền thống cấu trúc máy tính Application (ex: browser) Operating Compiler Software System (Mac OSX) Assembler Instruction Set Hardware Processor Memory I/O system Architecture Datapath & Control Digital Design Circuit Design transistors Cấu trúc máy tính Graphical Interface Application Application Programming Libraries Operating System System Programming Programming Language Assembler Language Instruction Set Architecture - “Machine Language” Processor IO System Firmware Computer Design Microprogramming Datapath and Control Digital Design Logic Design Circuit Design Fabrication Circuits and devices Semiconductors Materials 5/20/21 SET - HUST 10 11: Kiểm tra r1 0, nhảy điều kiện 5/20/21 SET - HUST 39 12: Dừng chương trình lệnh khơng hợp lệ! 5/20/21 SET - HUST 40 Hiểu chi tiết xử lý MIPS 5/20/21 SET - HUST 41 Đánh giá hiệu dụng thi) – khoảng thời gian thời •Quan trọng người sử Thời gian đáp ứng (thời gian thực điểm bắt đầu thực hiên thời điểm hoàn thành nhiệm vụ hành trung tâm liệu nhiệm vụ hồn thành khoảng thời gian •Quan trọng người điều Thơng lượng (dải thơng) – tổng số Cách tính hiệu Performance x = Execution Time x Hiệu Hiệu năng và thời thời gian gian thực thực thi thi có có Giảm Giảm thời thời gian gian quan quan hệ hệ nghịch nghịch đáp đáp ứng ứng thường thường đảo đảo sẽ tăng tăng thông thông lượng lượng Để Để tối tối đa đa hóa hóa hiệu hiệu Performance x ExecutionTime y = =n Performance y ExecutionTime x năng, năng, cần cần tối tối thiểu thiểu hóa hóa thời thời gian gian thực thực hiện Cải thiện hiệu Cách tính hiệu Thời gian dùng để tính hiệu Thời gian xử lý (CPU Thời gian đáp ứng time) Thời gian truy cập đĩa , Thời gian vào ra, thời gian nhớ cho hệ điều hành Tcpu = C × Tc or Tcpu = C / f c Thời gian CPU người dùng Thời gian CPU hệ thống Thời gian CPU dành cho hệ Thời gian CPU thực điều hành thực mã lệnh chương trình nhiệm vụ cần thiết cho CT người dùng Đơn vị đo hiệu theo phân mức Seconds per program Application Programming Useful Operations per second Language Compiler (millions) of Instructions per second – MIPS (millions) of (F.P.) operations per second – MFLOP/s ISA Datapath Megabytes per second Control Function Units Transistors Wires Pins Cycles per second (clock rate) Chu kỳ xung nhịp Clock Combination Logic Cycle Hầu hết máy tính đại khơng đổi lặp lặp lại chu kỳ Số xung đồng hồ • • • • C = I × CPI Số xung đồng hồ thực chương trình: Trong đó: – – I số thị máy cần thực chương trình CPI (eng Clock cycles per Instruction) số xung đồng hồ trung bình cần để thực thi thị máy, CPI dùng để so sánh máy tính khác triển khai kiến trúc tập lệnh Ví dụ: có loại lệnh A, B, C khác kiến trúc tập lệnh Mỗi lệnh loại có CPI tương ứng: CPI for this instruction class CPI HUST-FET, 5/20/21 A B C CPI hiệu dụng (trung bình) • CPI hiệu dụng tính cách xét tất lớp thị có chương trình lấy trung bình với trọng số tỉ lệ xuất lớp thị chương trình n • CPI = ∑ (CPIi × ICi ) – thị thuộc loại i thực thi ICi tỉ lệ (%)i = số – CPIi số chu kỳ (trung bình) cần để thực thị thuộc thuộc loại i – n số loại thị CPI hiệu dụng phụ thuộc vào tỉ lệ thị chương trình (tần suất động thị nhiều chương trình) So sánh dựa CPI • • • Khi máy tính A, B thực chương trình, chúng thực I thị Do đó: Tcpu , A = I × CPI A × Tc , A = I × 2,0 × 250 ps = 500 × I Máy A nhanh máy B: Tcpu , B = I × CPI B × Tc , B = I ×1,2 × 500 ps = 600 × I Performance A Tcpu,B 600 × I = = = 1, Performance B Tcpu,A 500 × I Máy tính A B triển khai kiến trúc tập lệnh Máy A có chu kỳ đồng hồ 250ps, CPI hiệu dụng cho chương trình P 2,0 Máy B có chu kỳ đồng hồ 500ps, CPI hiệu dụng cho chương trình P 1,2 Máy tính nhanh nhanh bao nhiêu? Máy tính A với xung đồng hồ 2GHz thực chương trình hết 10 giây Để thực chương trình giây máy tính B, ta cần tăng tốc độ xung đồng hồ máy B Tuy nhiên, tăng tốc độ xung đồng hồ làm tăng số chu kỳ cần thiết lên 1,2 lần Xác định tốc độ xung đồng hồ máy tính B Ví dụ • Cơng thức để tính thời gian CPU, máy tính A thực chương trình: Tcpu , A = CA fc, A • Số chu kỳ máy tính A dùng để thực chương trình: • Số chu kỳ máy tính B dùng để thực chương trình: C A = Tcpu , A × f c , A = 10 × × 109 = 20 × 109 cycles C B = 1,2 × C A fc,B CB 1,2 × 20 ×109 = = = 4GHz Tcpu , B • Tốc độ đồng hồ máy tính B: • Hiệu cải thiện cách giảm số chu kỳ xung đồng hồ giảm số chu kỳ cần thiết để thực chương trình So sánh đoạn mã chương trình • Người thiết kế máy tính triển khai kiến trúc tập lệnh gồm loại thị A, B, C CPI sau: A B C • Với câu lệnh ngôn ngữ bậc cao, người viết trình biên dịch lựa chọn đoạn thị máy gồm có tần suất loại thị sau: CPI • B đoạn mã Đoạn mã gồmĐoạn nhiềumã thị hơn? Đoạn mã nàoAnhanh hơn? Tính CPI C 2 1 HUST-FET, 5/20/21 51 So sánh đoạn mã chương trình • • Đoạn mã A B C 2 1 CPI A B C Đoạn mã dùng thị, đoạn mã dùng thị Số xung đồng hồ để thực đoạn mã tính sau: C1 = ∑ (CPIi × I1,i ) = (1× + ×1 + × 2) = 10 i =1 C2 = ∑ (CPIi × I 2,i ) = (1× + ì1 + ì1) = i =1 ã Trong I1,i, I2,i số lượng thị loại i đoạn mã tương ứng • Như đoạn mã chậm đoạn mã 2, dùng thị HUST-FET, 5/20/21 52 Các yếu tố ảnh hưởng đến hiệu ... 10 00 Machine Language Program (MIPS) 10 10 11 11 010 1 10 00 0000 10 01 110 0 011 0 11 00 011 0 10 10 11 11 010 1 10 00 0000 10 01 010 1 10 00 0000 10 01 110 0 011 0 10 10 11 11 Machine Interpretation Hardware Architecture... <