Bài giảng môn Kiến trúc máy tí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
ICi là tỉ lệ (%) số chỉ thị thuộc loại i được thực thi
CPIi 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)
53 trang |
Chia sẻ: huongthu9 | Lượt xem: 636 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng môn Kiến trúc máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Kiến trúc máy tínhComputer architectureTo improve is to change; to be perfect is to change often.Winston ChurchillAugust 22, 2021SET - HUST 1Nội dung môn họcChương 1: Giới thiệuChương 2: Kiến trúc tập lệnh MIPS – 32 bitsChương 3: Bộ xử lý MIPS – 32 bitsChương 4: Xử lý đường ống Chương 5: Bộ nhớ máy tínhChương 6: Tổ chức Vào/raAugust 22, 2021SET - HUST 2Tài liệu tham khảo và Organization and Design, 5th Edition : The Hardware/Software InterfaceAugust 22, 2021SET - HUST 3Lịch sử phát triển của máy tínhAugust 22, 2021SET - HUST 4CơBlaise Pascal (1642)1642 - 1945ENIAC (1946)18.000 bóng đèn1500 rơle30 tấn140 kwTransistor (1958) Burroughs 6500NCR, CDC 6600IC(Integrated Circuit)LSI – VLSI Xử lý song song 1950s : Máy tính số học1960s: Có hệ điều hành, quản lý bộ nhớ mức thấp1970s 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 VLSI2000s: 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 đại5Personal Mobile Devices6 Máy tính hiện đại7 Máy tính hiện đại Quan niệm truyền thống về cấu trúc máy tínhAugust 22, 2021SET - HUST 8Phần cứngPhần mềmhệ thốngPhần mềm ứng dụng Phân loạiChức năng Máy tính chuyên dụngMáy tính nhúngCấu trúc bộ xử lýRISCARM, SuperH, MIPS, SPARC, DEC Alpha, PA-RISC-V, PIC, PowerPC IBM.CISC PDP-11, VAX, Motorola 68k, x86 intel.Cấu tạoVon newmannHarvardQuan niệm truyền thống về cấu trúc máy tính9I/O systemProcessorCompilerOperatingSystem(Mac OSX)Application (ex: browser)Digital DesignCircuit DesignInstruction Set ArchitectureDatapath & Control transistorsMemoryHardwareSoftwareAssemblerApplicationLibrariesOperating SystemProgramming LanguageAssembler LanguageGraphical InterfaceProcessorIO SystemLogic DesignDatapath and ControlCircuit DesignSemiconductorsMaterialsFirmwareCircuits and devicesFabricationDigital DesignComputer DesignApplicationProgrammingSystem ProgrammingMicroprogrammingInstruction Set Architecture - “Machine Language”Cấu trúc máy tínhAugust 22, 2021SET - HUST 10Kiến trúc máy tính? Application Programming System Programming August 22, 2021SET - HUST 11instruction setsoftwarehardwareProcessor ArchitectureComputer OrganizationComputer Architecture = Instruction Set Architecture + Machine OrganizationBắt đầu từ : Nguyên lý thiết kế và cấu trúc máy tính truyền thốngHiểu nguyên lý thiết kế Thiết kế máy tính theo yêu cầuCấu trúc bộ xử lý MIPS – 32 MIPS = Microprocessor without Interlocked Pipeline StagesAugust 22, 2021SET - HUST 12To change August 22, 2021SET - HUST 1314Gordon MooreIntel CofounderB.S. Cal 1950!# of transistors on an integrated circuit (IC)YearĐịnh luật Moore: Moore’s LawPredicts: 2X Transistors / chip every 2 yearsĐịnh luật Moore15Moore’s Law1965-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ử 1 instruction @ one timee.g., 5 pipelined instructionsParallel Data>1 data item @ one timee.g., Add of 4 pairs of wordsHardware descriptionsAll gates functioning in parallel at same time19SmartPhoneWarehouse-Scale ComputerSoftware HardwareHarnessParallelism &Achieve HighPerformanceLogic Gates CoreCore Memory (Cache)Input/OutputComputerMain MemoryCore Instruction Unit(s) FunctionalUnit(s)A3+B3A2+B2A1+B1A0+B08/22/2021 20Luật Amdahl: Amdahl’s LawGene AmdahlComputer PioneerTiến trình tìm hiểu về kiến trúc máy tính August 22, 2021SET - HUST 21µProc60%/yr.(2X/1.5yr)DRAM9%/yr.(2X/10 yrs)110100100019801981198319841985198619871988198919901991199219931994199519961997199819992000DRAMCPU1982Processor-MemoryPerformance Gap:(grows 50% / year)PerformanceTime“Moore’s Law”ArithmeticSingle/multicycleDatapathsIFetchDcdExecMemWBIFetchDcdExecMemWBIFetchDcdExecMemWBIFetchDcdExecMemWBPipeliningMemory SystemsI/OCấu tạo của máy tínhAugust 22, 2021SET - HUST 22ControlDatapathMemoryProcessorInputOutputCấu tạo bộ xử lýAugust 22, 2021SET - HUST 23Bộ xử lý cơ bản: Bộ nhớ, Khối điều khiển, Khối tính toánAugust 22, 2021SET - HUST 24Các cấp độ diễn tả trừu tượnglw $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) CompilerAssemblerMachine Interpretationtemp = v[k];v[k] = v[k+1];v[k+1] = temp;0000 1001 1100 0110 1010 1111 0101 10001010 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 ImplementationAnything can be representedas a number, i.e., data or instructions25Các khối xử lý cơ bảnAugust 22, 2021SET - HUST 26Bộ xử lý cơ bản: Bộ nhớ, Khối điều khiển, Khối tính toánAugust 22, 2021SET - HUST 27Bộ 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 theoLặp đi lặp lại quá trìnhAugust 22, 2021SET - HUST 281: Tải giá trị r0 (i) từ bộ nhớ (location 7)August 22, 2021SET - HUST 292: Trừ 2 từ r0(i)August 22, 2021SET - HUST 303: Kiểm tra nếu r1 bằng 0, nhảy khi điều kiện đúngAugust 22, 2021SET - HUST 314: Tăng r0 (i)August 22, 2021SET - HUST 325: Tiếp tục vòng lặpAugust 22, 2021SET - HUST 336: Trừ 2 từ r0(i)August 22, 2021SET - HUST 347: Kiểm tra nếu r1 bằng 0, nhảy khi điều kiện đúngAugust 22, 2021SET - HUST 358: Tăng r0 (i)August 22, 2021SET - HUST 369: Tiếp tục vòng lặpAugust 22, 2021SET - HUST 3710: Trừ 2 từ r0(i)August 22, 2021SET - HUST 3811: Kiểm tra r1 bằng 0, nhảy khi điều kiện đúng.August 22, 2021SET - HUST 3912: Dừng chương trình vì lệnh 5 không hợp lệ!August 22, 2021SET - HUST 40Hiểu chi tiết về bộ xử lý MIPSAugust 22, 2021SET - HUST 41Đánh giá hiệu năngThờ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ụngThô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 gianQuan trọng đối với người điều hành trung tâm dữ liệuCách tính hiệu năng Hiệu năng và thời gian thực thi có quan hệ nghịch đảoGiả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ệnCải thiện hiệu năngCách tính hiệu năngThời gian dùng để tính hiệu năngThời gian đáp ứngThời gian truy cập đĩa , bộ nhớThời gian vào ra, thời gian cho hệ điều hànhThời gian bộ xử lý (CPU time)Thời gian CPU người dùngThời gian CPU thực hiện mã lệnh của chương trìnhThời gian CPU hệ thốngThờ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ứcCompilerProgramming LanguageApplicationDatapathControlTransistorsWiresPinsISAFunction Units(millions) of Instructions per second – MIPS(millions) of (F.P.) operations per second – MFLOP/sCycles per second (clock rate)Megabytes per secondSeconds per programUseful Operations per secondChu kỳ xung nhịpClock............Combination LogicCycleHầ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, 22/08/2021Số 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ìnhCPI (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 classABCCPI123CPI 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ìnhICi là tỉ lệ (%) số chỉ thị thuộc loại i được thực thiCPIi là số chu kỳ (trung bình) cần để thực hiện 1 chỉ thị thuộc thuộc loại in 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 CPIKhi 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ìnhMá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 BSo sánh đoạn mã chương trìnhHUST-FET, 22/08/202151Ngườ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ã.ABCCPI123Đoạn mãABC12122411So sánh đoạn mã chương trìnhHUST-FET, 22/08/202152Đ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 đó I1,i, I2,i là số lượng chỉ thị loại i trong đoạn mã 1 và 2 tương ứngNhư 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ãABC12122411ABCCPI123Các yếu tố ảnh hưởng đến hiệu năng
Các file đính kèm theo tài liệu này:
- bai_giang_mon_kien_truc_may_tinh.pptx