Giáo trình bài tập chương 2 dao động sóng

22 508 0
Giáo trình   bài tập chương 2 dao động sóng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

dce 2015 KIẾN TRÚC MÁY TÍNH KHOA HỌC & KỸ THUẬT MÁY TÍNH BK TP.HCM Võ Tấn Phương http://www.cse.hcmut.edu.vn/~vtphuong dce 2015 Chương Hiệu suất Kiến trúc Máy tính– Chương © Fall 2015 dce 2015 Hiệu suất ???  Chúng ta lựa chọn máy tính theo tiêu chí gì?  Tại máy tính chạy chương trình tốt không tốt chương trình khác?  Làm để đo hiệu suất máy tính?  Phần cứng phần mềm ảnh hưởng nào?  Tập lệnh máy tính ảnh hưởng nào?  Hiểu hiệu suất biết động việc cải tiến tập trung vào công việc Kiến trúc Máy tính– Chương © Fall 2015 dce 2015 Thời gian đáp ứng & Thông lượng  Thời gian đáp ứng (response time)  Khoản thời gian từ lúc bắt đầu đến kết thúc công việc  Response Time = CPU Time + Waiting Time (I/O, OS scheduling, etc.)  Thông lượng (throughput)  Số lượng công việc giải khoản thời gian  Giảm thời gian thực thi cải thiện thông lượng  Ví dụ: sử dụng xử lý nhanh  Thời gian thực công việc  nhiều công việc thực  Tăng thông lượng giảm thời gian đáp ứng  Ví dụ: Tăng số lượng nhân xử lý  Nhiều công việc thực thi song song  Thời gian thực thi công việc (CPU Time) không thay đổi  Thời gian chờ hàng đợi định thời giảm (OS scheduling) Kiến trúc Máy tính– Chương © Fall 2015 dce 2015 Định nghĩa hiệu suất (performance)  Một chương trình A chạy máy tính X PerformanceX = Execution timeX  X nhanh hơnY n lần (cùng chạy chương trình A) PerformanceX PerformanceY Kiến trúc Máy tính– Chương = Execution timeY Execution timeX =n © Fall 2015 dce 2015 Thời gian thực thi “Execution Time”?  Thời gian trôi qua (elapsed time)  Tính tấc cả:  CPU time, Waiting time, Input/output, disk access, OS scheduling, … etc  Con số hữu ích, không phù hợp cho mục đích đánh giá CPU  Execution Time ~ CPU Execution Time     Chỉ tính thời gian thực thi lệnh chương trình Không tính: thời gian chờ I/O OS scheduling Được tính “giây”, Thể thông qua số lượng chu kỳ xung nhịp CPU thực thi chương trình A (CPU clock cycles) Kiến trúc Máy tính– Chương © Fall 2015 dce 2015 Số chu kỳ xung nhịp (Clock Cycles)  Clock cycle = Clock period = / Clock rate Cycle Cycle Cycle  Clock rate = Clock frequency = Cycles per second 1 Hz = cycle/sec KHz = 103 cycles/sec 1 MHz = 106 cycles/sec GHz = 109 cycles/sec 2 GHz clock has a cycle time = 1/(2×109) = 0.5 nanosecond (ns)  Dùng số chu kỳ xung nhịp thể CPU execution time CPU Execution Time = Clock cycles × cycle time Kiến trúc Máy tính– Chương = Clock cycles Clock rate © Fall 2015 dce 2015 Cải tiến hiệu suất  Để cải tiến hiệu suất:  Giảm số chu kỳ xung nhịp cần thiết để thực thi chương trình,  Giảm thời gian chu kỳ (tăng tần số xung nhịp)  Ví dụ:      Chương trình A chạy 10 giây máy tính X với tần số GHz Số lượng chu kỳ xung nhịp để chạy chương trình A máy X ? Yêu cầu thiết kế máy tính Y chạy chương trình A giây Máy tính Y cần thêm 10% số chu kỳ xung nhịp Hỏi máy tính Y cần xung nhịp có tần số ?  Lời giải:  Clock cycles máy X = 10 sec × × 109 cycles/s = 20 × 109  Clock cycles máy Y = 1.1 × 20 × 109 = 22 × 109 cycles  Clock rate cho máy Y = 22 × 109 cycles / sec = 3.67 GHz Kiến trúc Máy tính– Chương © Fall 2015 dce 2015 Clock Cycles per Instruction (CPI)  Chương trình chuỗi lệnh  CPI số trung bình số chu kỳ xung nhịp lệnh I1 I2 I3 Kiến trúc Máy tính– Chương I4 I5 I6 CPI = 14/7 = I7 10 11 12 13 14 cycles © Fall 2015 dce 2015 Thời gian thực thi  Thông tin từ chương trình A thực thi …  Số lượng lệnh (lệnh dạng ngôn ngữ máy hợp ngữ)  Số lượng chu kỳ xung nhịp CPU thực thi  Thời gian thực thi  Liên hệ CPU clock cycles đến Instruction Count CPU clock cycles = Instruction Count × CPI  Thời gian thực thi: (liên quan đế số lượng lệnh) Time = Instruction Count × CPI × cycle time Kiến trúc Máy tính– Chương © Fall 2015 10 dce 2015 Ví dụ  Máy A B có chung kiến trúc tập lệnh (ISA)  Chương trình P chạy A P  Máy A có clock cycle time: 250 ps CPI: 2.0  Máy B có clock cycle time: 500 ps CPI: 1.2  Máy chạy P nhanh lần?  Lời giải:  Chung ISA => chung số lệnh IC  CPU execution time (A) = IC × 2.0 × 250 ps = 500 × IC ps  CPU execution time (B) = I C × 1.2 × 500 ps = 600 × IC ps  Máy A nhan máy B = Kiến trúc Máy tính– Chương 600 × IC 500 × IC = 1.2 © Fall 2015 11 dce 2015 Xác định CPI  Phân biệt CPI trung bình chương trình lệnh CPIi = số chu kỳ xung nhịp loại lệnh i Ci = số lệnh loại lệnh i n (CPIi × Ci) n CPU cycles = ∑ (CPI × C ) i i=1 i ∑ CPI = i=1 n ∑C i i=1 Kiến trúc Máy tính– Chương © Fall 2015 12 dce 2015 Kiến trúc Máy tính– Chương © Fall 2015 13 dce 2015 Ví dụ: CPI trung bình Sau biên dịch chương trình với loại lệnh A, B, C cho kết quả:  Kết biên dịch 1: IC =  Clock Cycles = 2×1 + 1×2 + 2×3 = 10  Avg CPI = 10/5 = 2.0  Kết biên dịch 2: IC =  Clock Cycles = 4×1 + 1×2 + 1×3 =9  Avg CPI = 9/6 = 1.5 14 Kiến trúc Máy tính– Chương © Fall 2015 14 dce 2015 Ví dụ Cho thông số chương trình bảng CPI trung bình? Tỉ lệ % thời gian nhóm lệnh? Classi Freqi CPIi CPIi × Freqi %Time ALU Load Store Branch 50% 20% 10% 20% 0.5×1 = 0.5 0.2×5 = 1.0 0.1×3 = 0.3 0.2×2 = 0.4 0.5/2.2 = 23% 1.0/2.2 = 45% 0.3/2.2 = 14% 0.4/2.2 = 18% Average CPI = 0.5+1.0+0.3+0.4 = 2.2 Tính speed up trường hợp CPI lệnh load = 2? Tính speed up trường hợp lệnh ALU thực thi chu kỳ xung nhịp? Kiến trúc Máy tính– Chương © Fall 2015 15 dce 2015 Thông số MIPS – Triệu lệnh giây  MIPS: Millions Instructions Per Second  Được dùng làm thông số đo hiệu suất Máy chạy nhanh  MIPS lớn  MIPS đo tốc độ xử lý lệnh MIPS = Instruction Count Execution Time × = 106 Clock Rate CPI × 106  Thời gian thực thi tính theo MIPS Execution Time = Kiến trúc Máy tính– Chương Inst Count MIPS × 106 = Inst Count × CPI Clock Rate © Fall 2015 16 dce 2015 Hạn chế thông số MIPS Ba vấn đề thông số MIPS Không tính đến số lượng lệnh  Không thể dung MIPS để so sánh máy tính có tập lệnh khác IC khác MIPS thay đổi máy tính  Một máy tính có thông số MIPS chung cho tất chương trình MIPS đối lập với thông số hiệu suất  MIPS cao không đồng nghĩa hiệu suất tốt  Xem ví dụ slide kế Kiến trúc Máy tính– Chương © Fall 2015 17 dce 2015 Ví dụ thông số MIPS  Hai compiler so sánh biên dịch chương trình chạy máy tính GHz với nhóm lệnh: Class A, Class B Class C; CPI tương ứng 1, chu kỳ xung nhịp  Compiler sinh tỉ lệnh Class A, tỉ lệnh Class B tỉ lệnh Class C  Compiler sinh 10 tỉ lệnh Class A, 0.5 tỉ lệnh Class B tỉ lệnh Class C  Compiler sinh chương trình có thông số MIPS cao hơn?  Compiler sinh chương trình có thời gian thực thi tốt hơn? Kiến trúc Máy tính– Chương © Fall 2015 18 dce 2015 Lời giải  Số chu kỳ xung nhịp tương ứng  CPU cycles (compiler 1) = (5×1 + 1×2 + 1×3)×109 = 10×109  CPU cycles (compiler 2) = (10×1+0.5×2+1×3)×109 = 14×109  Thời gian thực thi tương ứng  Execution time (compiler 1) = 10×109 cycles / 4×109 Hz = 2.5 sec  Execution time (compiler 2) = 14×109 cycles / 4×109 Hz = 3.5 sec  Compiler1 sinh chương trình chạy nhanh  Thông số MIPS tương ứng  MIPS = Instruction Count / (Execution Time × 106)  MIPS (compiler 1) = (5+1+1) × 109 / (2.5 × 106) = 2800  MIPS (compiler 2) = (10+0.5+1) × 109 / (3.5 × 106) = 3286  Compiler2 sinh chương trình có thông số MIPS cao hơn!!! Kiến trúc Máy tính– Chương © Fall 2015 19 dce 2015 Các yếu tố tác động đến thời gian thực thi Time = Instruction Count × CPI × cycle time I-Count CPI Cycle Program X Compiler X X ISA X X X X X Organization Technology Kiến trúc Máy tính– Chương X © Fall 2015 20 dce 2015 Amdahl’s Law  Amdahl's Law dùng để đo Speedup  So sánh máy tính trước sau áp dụng cải tiến E Performance with E ExTime before Speedup(E) = = Performance before ExTime with E  Cải tiến E chiếm tỉ lệ f thời gian thực thi cải thiện s lần phần khác có thời gian không đổi ExTime with E = ExTime before × (f / s + (1 – f )) Speedup(E) = Kiến trúc Máy tính– Chương (f / s + (1 – f )) © Fall 2015 21 dce 2015 Ví dụ Amdahl's Law  Một chương trình chạy 100 giây, phần phép nhân tốn 80 giây Cần cải tiến phép nhân lần để chương trình chạy nhanh lần? Lời giải: giả sử phép nhân cải thiện s lần 25 sec (4 times faster) = 80 sec / s + 20 sec s = 80 / (25 – 20) = 80 / = 16 Cần cải tiến phép nhân nhanh s = 16 lần Chương trình chạy nhanh lần? 20 sec ( times faster) = 80 sec / s + 20 sec s = 80 / (20 – 20) = ∞ Không thể! Kiến trúc Máy tính– Chương © Fall 2015 22 [...]... %Time ALU Load Store Branch 50% 20 % 10% 20 % 1 5 3 2 0.5×1 = 0.5 0 .2 5 = 1.0 0.1×3 = 0.3 0 .2 2 = 0.4 0.5 /2. 2 = 23 % 1.0 /2. 2 = 45% 0.3 /2. 2 = 14% 0.4 /2. 2 = 18% Average CPI = 0.5+1.0+0.3+0.4 = 2. 2 Tính speed up trong trường hợp CPI của lệnh load = 2? Tính speed up trong trường hợp 2 lệnh ALU thực thi trong 1 chu kỳ xung nhịp? Kiến trúc Máy tính– Chương 2 © Fall 20 15 15 dce 20 15 Thông số MIPS – Triệu lệnh... Kiến trúc Máy tính– Chương 2 600 × IC 500 × IC = 1 .2 © Fall 20 15 11 dce 20 15 Xác định CPI  Phân biệt CPI trung bình của chương trình và lệnh CPIi = số chu kỳ xung nhịp của loại lệnh i Ci = số lệnh của loại lệnh i n (CPIi × Ci) n CPU cycles = ∑ (CPI × C ) i i=1 i ∑ CPI = i=1 n ∑C i i=1 Kiến trúc Máy tính– Chương 2 © Fall 20 15 12 dce 20 15 Kiến trúc Máy tính– Chương 2 © Fall 20 15 13 dce 20 15 Ví dụ: CPI trung... dụ: CPI trung bình Sau khi biên dịch 1 chương trình với 3 loại lệnh A, B, C cho kết quả:  Kết quả biên dịch 1: IC = 5  Clock Cycles = 2 1 + 1 2 + 2 3 = 10  Avg CPI = 10/5 = 2. 0  Kết quả biên dịch 2: IC = 6  Clock Cycles = 4×1 + 1 2 + 1×3 =9  Avg CPI = 9/6 = 1.5 14 Kiến trúc Máy tính– Chương 2 © Fall 20 15 14 dce 20 15 Ví dụ 2 Cho các thông số của chương trình như bảng dưới CPI trung bình? Tỉ lệ... tính– Chương 2 (f / s + (1 – f )) © Fall 20 15 21 dce 20 15 Ví dụ về Amdahl's Law  Một chương trình chạy mất 100 giây, phần phép nhân tốn 80 giây Cần cải tiến phép nhân bao nhiêu lần để chương trình chạy nhanh hơn 4 lần? Lời giải: giả sử phép nhân được cải thiện s lần 25 sec (4 times faster) = 80 sec / s + 20 sec s = 80 / (25 – 20 ) = 80 / 5 = 16 Cần cải tiến phép nhân nhanh hơn s = 16 lần Chương trình. .. = 2. 5 sec  Execution time (compiler 2) = 14×109 cycles / 4×109 Hz = 3.5 sec  Compiler1 sinh ra chương trình chạy nhanh hơn  Thông số MIPS tương ứng  MIPS = Instruction Count / (Execution Time × 106)  MIPS (compiler 1) = (5+1+1) × 109 / (2. 5 × 106) = 28 00  MIPS (compiler 2) = (10+0.5+1) × 109 / (3.5 × 106) = 328 6  Compiler2 sinh ra chương trình có thông số MIPS cao hơn!!! Kiến trúc Máy tính– Chương. .. Class B và 1 tỉ lệnh Class C  Compiler nào sinh ra chương trình có thông số MIPS cao hơn?  Compiler nào sinh ra chương trình có thời gian thực thi tốt hơn? Kiến trúc Máy tính– Chương 2 © Fall 20 15 18 dce 20 15 Lời giải  Số chu kỳ xung nhịp tương ứng  CPU cycles (compiler 1) = (5×1 + 1 2 + 1×3)×109 = 10×109  CPU cycles (compiler 2) = (10×1+0.5 2+ 1×3)×109 = 14×109  Thời gian thực thi tương ứng ...dce 20 15 Ví dụ  Máy A và B có chung kiến trúc tập lệnh (ISA)  Chương trình P chạy trên A và P  Máy A có clock cycle time: 25 0 ps và CPI: 2. 0  Máy B có clock cycle time: 500 ps và CPI: 1 .2  Máy nào chạy P nhanh hơn và bao nhiêu lần?  Lời giải:  Chung ISA => chung số lệnh IC  CPU execution time (A) = IC × 2. 0 × 25 0 ps = 500 × IC ps  CPU execution time (B) = I C × 1 .2 × 500 ps = 600... faster) = 80 sec / s + 20 sec s = 80 / (25 – 20 ) = 80 / 5 = 16 Cần cải tiến phép nhân nhanh hơn s = 16 lần Chương trình chạy nhanh hơn 5 lần? 20 sec ( 5 times faster) = 80 sec / s + 20 sec s = 80 / (20 – 20 ) = ∞ Không thể! Kiến trúc Máy tính– Chương 2 © Fall 20 15 22 ... Compiler2 sinh ra chương trình có thông số MIPS cao hơn!!! Kiến trúc Máy tính– Chương 2 © Fall 20 15 19 dce 20 15 Các yếu tố tác động đến thời gian thực thi Time = Instruction Count × CPI × cycle time I-Count CPI Cycle Program X Compiler X X ISA X X X X X Organization Technology Kiến trúc Máy tính– Chương 2 X © Fall 20 15 20 dce 20 15 Amdahl’s Law  Amdahl's Law dùng để đo Speedup  So sánh máy tính trước và... = Kiến trúc Máy tính– Chương 2 Inst Count MIPS × 106 = Inst Count × CPI Clock Rate © Fall 20 15 16 dce 20 15 Hạn chế của thông số MIPS Ba vấn đề của thông số MIPS 1 Không tính đến số lượng lệnh  Không thể dung MIPS để so sánh các máy tính có tập lệnh khác nhau vì IC sẽ khác 2 MIPS thay đổi trên cùng một máy tính  Một máy tính không thể có thông số MIPS chung cho tất cả chương trình 3 MIPS có thể đối ... 1.0 0.1×3 = 0.3 0 .2 2 = 0.4 0.5 /2. 2 = 23 % 1.0 /2. 2 = 45% 0.3 /2. 2 = 14% 0.4 /2. 2 = 18% Average CPI = 0.5+1.0+0.3+0.4 = 2. 2 Tính speed up trường hợp CPI lệnh load = 2? Tính speed up trường hợp lệnh... 109 / (2. 5 × 106) = 28 00  MIPS (compiler 2) = (10+0.5+1) × 109 / (3.5 × 106) = 328 6  Compiler2 sinh chương trình có thông số MIPS cao hơn!!! Kiến trúc Máy tính– Chương © Fall 20 15 19 dce 20 15... i=1 n ∑C i i=1 Kiến trúc Máy tính– Chương © Fall 20 15 12 dce 20 15 Kiến trúc Máy tính– Chương © Fall 20 15 13 dce 20 15 Ví dụ: CPI trung bình Sau biên dịch chương trình với loại lệnh A, B, C cho kết

Ngày đăng: 08/12/2016, 20:46

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan