Bài giảng Kiến trúc máy tính - Chương 2: Hiệu suất

Chúng ta lựa chọn máy tính theo tiêu chí gì?
 Tại sao máy tính chạy chương trình này tốt nhưng
không tốt đối với chương trình khác?
 Làm sao để đo hiệu suất của một máy tính?
 Phần cứng và phần mềm ảnh hưởng như thế nào?
 Tập lệnh của máy tính ảnh hưởng như thế nào?
 Hiểu hiệu suất sẽ biết được động cơ của việc cải tiến sẽ
tập trung vào công việc gì 
pdf 22 trang xuanthi 28/12/2022 1820
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 2: Hiệu suất", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_chuong_2_hieu_suat.pdf

Nội dung text: Bài giảng Kiến trúc máy tính - Chương 2: Hiệu suất

  1. dce 2017 Chương 2 Hiệu suất Kiến trúc Máy tính– Chương 2 © Fall 2017 2
  2. dce 2017 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 khi kết thúc một 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 quyết trong một khoản thời gian  Giảm thời gian thực thi sẽ cải thiện thông lượng  Ví dụ: sử dụng bộ xử lý nhanh hơn  Thời gian thực hiện một công việc ít nhiều công việc được thực hiện  Tăng thông lượng cũng giảm thời gian đáp ứng  Ví dụ: Tăng số lượng nhân của bộ xử lý  Nhiều công việc thực thi song song  Thời gian thực thi của một công việc (CPU Time) không thay đổi  Thời gian chờ trong hàng đợi định thời giảm (OS scheduling) Kiến trúc Máy tính– Chương 2 © Fall 2017 4
  3. dce 2017 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, nhưng 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 các lệnh của chương trình  Không tính: thời gian chờ I/O hoặc OS scheduling  Được tính bằng “giây”, hoặc  Thể hiện thông qua số lượng chu kỳ xung nhịp khi CPU thực thi chương trình A (CPU clock cycles) Kiến trúc Máy tính– Chương 2 © Fall 2017 6
  4. dce 2017 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 một chương trình, hoặc  Giảm thời gian một chu kỳ (tăng tần số xung nhịp)  Ví dụ:  Chương trình A chạy mất 10 giây trên máy tính X với tần số 2 GHz  Số lượng chu kỳ xung nhịp để chạy chương trình A trên máy X ?  Yêu cầu thiết kế máy tính Y chạy cùng chương trình A trong 6 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ố bao nhiêu ?  Lời giải:  Clock cycles trên máy X = 10 sec × 2 × 109 cycles/s = 20 × 109  Clock cycles trên máy Y = 1.1 × 20 × 109 = 22 × 109 cycles  Clock rate cho máy Y = 22 × 109 cycles / 6 sec = 3.67 GHz Kiến trúc Máy tính– Chương 2 © Fall 2017 8
  5. dce 2017 Thời gian thực thi  Thông tin từ chương trình A được thực thi  Số lượng lệnh (lệnh dạng ngôn ngữ máy hoặc hợp ngữ)  Số lượng chu kỳ xung nhịp CPU thực thi  Thời gian thực thi  Liên hệ giữa 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 2 © Fall 2017 10
  6. dce 2017 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 (CPI × C ) n ∑ i i i = 1 CPU cycles = ∑ (CPIi × Ci) CPI = n i = 1 ∑ Ci i = 1 Kiến trúc Máy tính– Chương 2 © Fall 2017 12
  7. dce 2017 Ví 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  Kết quả biên dịch 2: IC = 6  Clock Cycles  Clock Cycles = 2×1 + 1×2 + 2×3 = 4×1 + 1×2 + 1×3 = 10 = 9  Avg. CPI = 10/5 = 2.0  Avg. CPI = 9/6 = 1.5 14 Kiến trúc Máy tính– Chương 2 © Fall 2017 14
  8. dce 2017 Thông số MIPS – Triệu lệnh trên 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 hơn MIPS lớn hơn  MIPS đo tốc độ xử lý lệnh Instruction Count Clock Rate MIPS = = Execution Time × 106 CPI × 106  Thời gian thực thi tính theo MIPS Inst Count Inst Count × CPI Execution Time = = MIPS × 106 Clock Rate Kiến trúc Máy tính– Chương 2 © Fall 2017 16
  9. dce 2017 Ví dụ về thông số MIPS  Hai compiler được so sánh khi biên dịch cùng một chương trình chạy trên một máy tính 4 GHz với 3 nhóm lệnh: Class A, Class B và Class C; CPI tương ứng 1, 2 và 3 chu kỳ xung nhịp  Compiler 1 sinh ra 5 tỉ lệnh Class A, 1 tỉ lệnh Class B và 1 tỉ lệnh Class C.  Compiler 2 sinh ra 10 tỉ lệnh Class A, 0.5 tỉ lệnh 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 2017 18
  10. dce 2017 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 Organization X X Technology X Kiến trúc Máy tính– Chương 2 © Fall 2017 20
  11. dce 2017 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 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 2017 22