Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu - Tạ Kim Huệ
Bắt đầu từ : Nguyên lý thiết kế và cấu trúc máy tính truyền thống
Hiểu nguyên lý thiết kế
Thiết kế máy tính theo yêu cầu
Cấu trúc bộ xử lý MIPS – 32
MIPS = Microprocessor without Interlocked Pipeline Stages
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu - Tạ Kim Huệ", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu - Tạ Kim Huệ
Kiến trúc máy tínhComputer architecture To improve is to change; to be perfect is to change often. Winston Churchill January 3, 2022 SET - HUST 1 Nội dung môn học 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 January 3, 2022 SET - HUST 2 Tài liệu tham khảo / và / Computer Organization and Design, 5th Edition : The Hardware/Software Interface January 3, 2022 SET - HUST 3 Lịch sử phát triển của máy tính January 3, 2022 SET - HUST 4 Cơ Blaise Pascal (1642) 1642 - 1945 ENIAC (1946) 18.000 bóng đèn 1500 rơle 30 tấn 140 kw Transistor (1958) Burroughs 6500 NCR, CDC 6600 IC(Integrated Circuit) LSI – VLSI Xử lý song song 1950s : Máy tính số học 1960s: Có hệ điều hành, quản lý bộ nhớ mức thấp 1970s to mid 1980s: Có thiết kế tập lệnh và trình biên dịch. Bộ nhớ chia sẻ đa xử lý. 1990s: CPU, bộ nhớ , I/O system, Multi-processors, kết nối mạng, Thiết kế mức VLSI 2000s: Kiến trúc đặc trưng, có khả năng cấu hình lại, di động, tiêu thụ ít năng lượng, xử lý song song. Máy tính hiện đại 5 Personal Mobile Devices 6 Máy tính hiện đại 7 Máy tính hiện đại Quan niệm truyền thống về cấu trúc máy tính January 3, 2022 SET - HUST 8 Phần cứng Phần mềm hệ thống Phần mềm ứng dụng Phân loại Chức năng Máy tính chuyên dụng Máy tính nhúng Cấu trúc bộ xử lý RISC ARM, SuperH, MIPS , SPARC, DEC Alpha, PA-RISC-V, PIC, PowerPC IBM. CISC PDP-11, VAX, Motorola 68k, x86 intel. Cấu tạo Von newmann Harvard Quan niệm truyền thống về cấu trúc máy tính 9 I/O system Processor Compiler Operating System (Mac OSX) Application (ex: browser) Digital Design Circuit Design Instruction Set Architecture Datapath & Control transistors Memory Hardware Software Assembler Application Libraries Operating System Programming Language Assembler Language Graphical Interface Processor IO System Logic Design Datapath and Control Circuit Design Semiconductors Materials Firmware Circuits and devices Fabrication Digital Design Computer Design ApplicationProgramming System Programming Microprogramming Instruction Set Architecture - “ Machine Language ” Cấu trúc máy tính January 3, 2022 SET - HUST 10 Kiến trúc máy tính? Application Programming System Programming January 3, 2022 SET - HUST 11 instruction set software hardware Processor Architecture Computer Organization Computer Architecture = Instruction Set Architecture + Machine Organization Bắt đầu từ : Nguyên lý thiết kế và cấu trúc máy tính truyền thống Hiểu nguyên lý thiết kế Thiết kế máy tính theo yêu cầu Cấu trúc bộ xử lý MIPS – 32 MIPS = Microprocessor without Interlocked Pipeline Stages January 3, 2022 SET - HUST 12 To change January 3, 2022 SET - HUST 13 14 Gordon MooreIntel CofounderB.S. Cal 1950! # of transistors on an integrated circuit (IC) Year Định luật Moore: Moore’s Law Predicts: 2X Transistors / chip every 2 years Định luật Moore 15 Moore’s Law 1965-2020? Định luật Moore là một bước ngoặt lớn trong ngành công nghệ điện tử, giải thích tại sao nhà sản xuất có thể giảm giá thành trong khi vẫn tiếp tục nâng cao hiệu suất của phần cứng . Hiện nay, thời gian để tăng đôi số transistor/inch vuông đã dài hơn vì kích thước transistor không thể giảm nhỏ kích thước phân tử <14nm (Hạn chế về thiết kế vật lý). Đánh giá khả năng lưu trữ trên bộ nhớ tương tự của Jim Gray How Far Away is the Data? Registers On Chip Cache On Board Cache Memory Disk 1 2 10 100 Tape /Optical Robot 10 9 10 6 Hà Nội Đại học BK HN TC-406 My Head 10 min 1.5 hr 2 Years 1 min Sao diêm vương 2,000 Years Chòm tiên nữ (ns) Jim Gray Turing Award B.S . Cal 1966 Ph.D. Cal 1969 ! Dung lượng Thời gian lưu trữ /truy cập Nguyên lý về định vị và phân cấp bộ nhớ 1/3/2022 17 Xử lý song song 18 Quan niệm mới (phức tạp hơn một chút!) Parallel Requests Assigned to computer e.g., Search “Katz” Parallel Threads Assigned to core e.g., Lookup, Ads Parallel Instructions >1 instruction @ one time e.g., 5 pipelined instructions Parallel Data >1 data item @ one time e.g., Add of 4 pairs of words Hardware descriptions All gates functioning in parallel at same time 19 SmartPhone Warehouse-Scale Computer Software Hardware HarnessParallelism & Achieve HighPerformance Logic Gates Core Core Memory (Cache) Input/Output Computer Main Memory Core Instruction Unit(s) Functional Unit(s) A 3 +B 3 A 2 +B 2 A 1 +B 1 A 0 +B 0 1/3/2022 20 Luật Amdahl: Amdahl’s Law Gene Amdahl Computer Pioneer Tiến trình tìm hiểu về kiến trúc máy tính January 3, 2022 SET - HUST 21 µProc 60%/yr. (2X/1.5yr) DRAM 9%/yr. (2X/10 yrs) 1 10 100 1000 1980 1981 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 DRAM CPU 1982 Processor-Memory Performance Gap:(grows 50% / year) Performance Time “ Moore ’ s Law ” Arithmetic Single/multicycle Datapaths IFetch Dcd Exec Mem WB IFetch Dcd Exec Mem WB IFetch Dcd Exec Mem WB IFetch Dcd Exec Mem WB Pipelining Memory Systems I/O Cấu tạo của máy tính January 3, 2022 SET - HUST 22 Control Datapath Memory Processor Input Output Cấu tạo bộ xử lý January 3, 2022 SET - HUST 23 Bộ xử lý cơ bản: Bộ nhớ, Khối điều khiển, Khối tính toán January 3, 2022 SET - HUST 24 Các cấp độ diễn tả trừu tượng lw $t0, 0($2) lw $t1, 4($2) sw $t1, 0($2) sw $t0, 4($2) High Level LanguageProgram (e.g., C) Assembly Language Program ( e.g., MIPS ) Machine Language Program (MIPS) Hardware Architecture Description( e.g., block diagrams) Compiler Assembler Machine Interpretation temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; 0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111 Logic Circuit Description(Circuit Schematic Diagrams) Architecture Implementation Anything can be representedas a number , i.e., data or instructions 25 Các khối xử lý cơ bản January 3, 2022 SET - HUST 26 Bộ xử lý cơ bản: Bộ nhớ, Khối điều khiển, Khối tính toán January 3, 2022 SET - HUST 27 Bộ xử lý hoạt động thế nào? Bộ xử lý làm gì? – 1. Tải lệnh – 2. Tìm ra toán tử nào phải thực thi – 3. Tìm ra dữ liệu nào sử dụng – 4. Thực hiện tính toán – 5. Tìm ra lệnh tiếp theo Lặp đi lặp lại quá trình January 3, 2022 SET - HUST 28 1: Tải giá trị r0 (i) từ bộ nhớ (location 7 ) January 3, 2022 SET - HUST 29 2 : Trừ 2 từ r0(i) January 3, 2022 SET - HUST 30 3: Kiểm tra nếu r1 bằng 0, nhảy khi điều kiện đúng January 3, 2022 SET - HUST 31 4: Tăng r0 (i ) January 3, 2022 SET - HUST 32 5: Tiếp tục vòng lặp January 3, 2022 SET - HUST 33 6: Trừ 2 từ r0(i) January 3, 2022 SET - HUST 34 7: Kiểm tra nếu r1 bằng 0, nhảy khi điều kiện đúng January 3, 2022 SET - HUST 35 8: Tăng r0 (i) January 3, 2022 SET - HUST 36 9: Tiếp tục vòng lặp January 3, 2022 SET - HUST 37 10: Trừ 2 từ r0(i) January 3, 2022 SET - HUST 38 11: Kiểm tra r1 bằng 0, nhảy khi điều kiện đúng. January 3, 2022 SET - HUST 39 12: Dừng chương trình vì lệnh 5 không hợp lệ! January 3, 2022 SET - HUST 40 Hiểu chi tiết về bộ xử lý MIPS January 3, 2022 SET - HUST 41 Đánh giá hiệu năng Thời gian đáp ứng (thời gian thực thi) – là khoảng thời gian giữa thời điểm bắt đầu thực hiên và thời điểm hoàn thành một nhiệm vụ Quan trọng đối với 1 người sử dụng Thông lượng (dải thông) – là tổng số nhiệm vụ có thể được hoàn thành trong 1 khoảng thời gian Quan trọng đối với người điều hành trung tâm dữ liệu Cách tính hiệu năng Hiệu năng và thời gian thực thi có quan hệ nghịch đảo Giảm thời gian đáp ứng thường sẽ tăng thông lượng Để tối đa hóa hiệu năng, cần tối thiểu hóa thời gian thực hiện C ải thiện hiệu năng Cách tính hiệu năng Thời gian dùng để tính hiệu năng Thời gian đáp ứng Thời gian truy cập đĩa , bộ nhớ Thời gian vào ra, thời gian cho hệ điều hành Thời gian bộ xử lý (CPU time) Thời gian CPU người dùng Thời gian CPU thực hiện mã lệnh của chương trình Thời gian CPU hệ thống Thời gian CPU dành cho hệ điều hành thực hiện các nhiệm vụ cần thiết cho CT của người dùng Đơn vị đo hiệu năng theo các phân mức Compiler Programming Language Application Datapath Control Transistors Wires Pins ISA Function Units (millions) of Instructions per second – MIPS (millions) of (F.P.) operations per second – MFLOP/s Cycles per second (clock rate) Megabytes per second Seconds per program Useful Operations per second Chu kỳ xung nhịp Clock . . . . . . . . . . . . Combination Logic Cycle Hầu hết các máy tính hiện đại không đổi và lặp đi lặp lại chu kỳ Số xung đồng hồ HUST-FET, 03/01/2022 Số xung đồng hồ thực hiện 1 chương trình: Trong đó: I là số chỉ thị máy cần thực hiện trong chương trình CPI ( eng. Clock cycles per Instruction ) là số xung đồng hồ trung bình cần để thực thi 1 chỉ thị máy, CPI có thể dùng để so sánh các máy tính khác nhau cùng triển khai 1 kiến trúc tập lệnh. Ví dụ: có 3 loại lệnh A, B, C khác nhau trong 1 kiến trúc tập lệnh. Mỗi lệnh trong từng loại có CPI tương ứng: CPI for this instruction class A B C CPI 1 2 3 CPI hiệu dụng (trung bình) CPI hiệu dụng được tính bằng cách xét tất cả các lớp chỉ thị có trong chương trình và lấy trung bình với trọng số là tỉ lệ xuất hiện của lớp chỉ thị trong chương trình IC i là tỉ lệ (%) số chỉ thị thuộc loại i được thực thi CPI i là số chu kỳ (trung bình) cần để thực hiện 1 chỉ thị thuộc thuộc loại i n là số loại chỉ thị CPI hiệu dụng phụ thuộc vào tỉ lệ chỉ thị trong một chương trình (tần suất động của các chỉ thị trong 1 hoặc nhiều chương trình) So sánh dựa trên CPI Khi 2 máy tính A, B cùng thực hiện 1 chương trình, chúng cùng thực hiện I chỉ thị. Do đó: Máy A nhanh hơn máy B: Máy tính A và B cùng triển khai 1 kiến trúc tập lệnh. Máy A có chu kỳ đồng hồ là 250ps, và CPI hiệu dụng cho 1 chương trình P là 2,0. Máy B có chu kỳ đồng hồ là 500ps, và CPI hiệu dụng cho cùng 1 chương trình P là 1,2. Máy tính nào nhanh hơn và nhanh hơn bao nhiêu? Ví dụ Công thức để tính thời gian CPU, khi máy tính A thực hiện chương trình: Số chu kỳ máy tính A dùng để thực hiện chương trình: Số chu kỳ máy tính B dùng để thực hiện chương trình: Tốc độ đồng hồ của máy tính B: Hiệu năng có thể cải thiện bằng cách giảm số chu kỳ 1 xung đồng hồ hoặc giảm số chu kỳ cần thiết để thực hiện chương trình Máy tính A với xung đồng hồ 2GHz thực hiện 1 chương trình hết 10 giây. Để thực hiện chương trình đó trong 6 giây bằng máy tính B, ta cần tăng tốc độ xung đồng hồ của máy B. Tuy nhiên, tăng tốc độ xung đồng hồ cũng 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 So sánh đoạn mã chương trình HUST-FET, 03/01/2022 51 Người thiết kế một máy tính triển khai kiến trúc tập lệnh gồm 3 loại chỉ thị A, B, C được CPI như sau: Với 1 câu lệnh ở ngôn ngữ bậc cao, người viết trình biên dịch có thể lựa chọn 2 đoạn chỉ thị máy gồm có tần suất các loại chỉ thị như sau: Đoạn mã nào gồm nhiều chỉ thị hơn? Đoạn mã nào nhanh hơn? Tính CPI của từng đoạn mã. A B C CPI 1 2 3 Đoạn mã A B C 1 2 1 2 2 4 1 1 So sánh đoạn mã chương trình HUST-FET, 03/01/2022 52 Đoạn mã 1 dùng 5 chỉ thị, đoạn mã 2 dùng 6 chỉ thị Số xung đồng hồ để thực hiện mỗi đoạn mã được tính như sau: Trong đó I 1,i , I 2,i là số lượng chỉ thị loại i trong đoạn mã 1 và 2 tương ứng Như vậy đoạn mã 1 chậm hơn đoạn mã 2, mặc dù dùng ít chỉ thị hơn Đoạn mã A B C 1 2 1 2 2 4 1 1 A B C CPI 1 2 3 Các yếu tố ảnh hưởng đến hiệu năng
File đính kèm:
- bai_giang_kien_truc_may_tinh_chuong_1_gioi_thieu_ta_kim_hue.pptx