Kiến Trúc Máy Tính - Chương 2: Hiệu Suất - Tài Liệu, Ebook
- Đăng ký
- Đăng nhập
- Liên hệ
Thư viện tài liệu, ebook tổng hợp lớn nhất Việt Nam
Website chia sẻ tài liệu, ebook tham khảo cho các bạn học sinh, sinh viên
- Trang Chủ
- Tài Liệu
- Upload
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ể!
22 trang | Chia sẻ: nguyenlam99 | Lượt xem: 6683 | Lượt tải: 1 Bạn đang xem trước 20 trang tài liệu Kiến trúc máy tính - Chương 2: Hiệu suất, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trênBK TP.HCM 2015 dce KIẾN TRÚC MÁY TÍNH KHOA HỌC & KỸ THUẬT MÁY TÍNH Võ Tấn Phương 2015 dce 2Kiến trúc Máy tính– Chương 2 © Fall 2015 Chương 2 Hiệu suất 2015 dce 3Kiến trúc Máy tính– Chương 2 © Fall 2015 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ì 2015 dce 4Kiến trúc Máy tính– Chương 2 © Fall 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 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) 2015 dce 5Kiến trúc Máy tính– Chương 2 © Fall 2015 Định nghĩa hiệu suất (performance) Một chương trình A chạy trên máy tính X X nhanh hơnY n lần (cùng chạy chương trình A) Execution timeX 1 PerformanceX = PerformanceY PerformanceX Execution timeX Execution timeY = n= 2015 dce 6Kiến trúc Máy tính– Chương 2 © Fall 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, 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) 2015 dce 7Kiến trúc Máy tính– Chương 2 © Fall 2015 Số chu kỳ xung nhịp (Clock Cycles) Clock cycle = Clock period = 1 / Clock rate Clock rate = Clock frequency = Cycles per second 1 Hz = 1 cycle/sec 1 KHz = 103 cycles/sec 1 MHz = 106 cycles/sec 1 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ể hiện CPU execution time Cycle 1 Cycle 2 Cycle 3 CPU Execution Time = Clock cycles × cycle time Clock rate Clock cycles = 2015 dce 8Kiến trúc Máy tính– Chương 2 © Fall 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 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 2015 dce 9Kiến trúc Máy tính– Chương 2 © Fall 2015 Clock Cycles per Instruction (CPI) Chương trình là một chuỗi các lệnh CPI là số trung bình của số chu kỳ xung nhịp trên lệnh 1 I1 cycles I2 I3 I6I4 I5 I7 2 3 4 5 6 7 8 9 10 11 12 13 14 CPI = 14/7 = 2 2015 dce 10Kiến trúc Máy tính– Chương 2 © Fall 2015 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 Thời gian thực thi: (liên quan đế số lượng lệnh) CPU clock cycles = Instruction Count × CPI Time = Instruction Count × CPI × cycle time 2015 dce 11Kiến trúc Máy tính– Chương 2 © Fall 2015 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: 250 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 × 250 ps = 500 × IC ps CPU execution time (B) = I C × 1.2 × 500 ps = 600 × IC ps Máy A nhan hơn máy B = = 1.2 600 × IC 500 × IC 2015 dce 12Kiến trúc Máy tính– Chương 2 © Fall 2015 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 CPU cycles = (CPIi × Ci) i = 1 n ∑ CPI = (CPIi × Ci) i = 1 n ∑ i = 1 n ∑Ci 2015 dce 13Kiến trúc Máy tính– Chương 2 © Fall 2015 2015 dce 14Kiến trúc Máy tính– Chương 2 © Fall 2015 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ả: 14 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 2015 dce 15Kiến trúc Máy tính– Chương 2 © Fall 2015 Cho các thông số của chương trình như bảng dưới CPI trung bình? Tỉ lệ % thời gian của từng nhóm lệnh? Classi Freqi CPIi ALU 50% 1 Load 20% 5 Store 10% 3 Branch 20% 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? Ví dụ 2 CPIi × Freqi 0.5×1 = 0.5 0.2×5 = 1.0 0.1×3 = 0.3 0.2×2 = 0.4 %Time 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 2015 dce 16Kiến trúc Máy tính– Chương 2 © Fall 2015 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 Thời gian thực thi tính theo MIPS Instruction Count Execution Time × 106 Clock Rate CPI × 106 MIPS = = Inst Count MIPS × 106 Inst Count × CPI Clock Rate Execution Time = = 2015 dce 17Kiến trúc Máy tính– Chương 2 © Fall 2015 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 lập với thông số hiệu suất MIPS cao không đồng nghĩa hiệu suất tốt hơn Xem ví dụ ở slide kế 2015 dce 18Kiến trúc Máy tính– Chương 2 © Fall 2015 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? 2015 dce 19Kiến trúc Máy tính– Chương 2 © Fall 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 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) = 2800 MIPS (compiler 2) = (10+0.5+1) × 109 / (3.5 × 106) = 3286 Compiler2 sinh ra chương trình có thông số MIPS cao hơn!!! 2015 dce 20Kiến trúc Máy tính– Chương 2 © Fall 2015 Các yếu tố tác động đến thời gian thực thi I-Count CPI Cycle Program X Compiler X X ISA X X X Organization X X Technology X Time = Instruction Count × CPI × cycle time 2015 dce 21Kiến trúc Máy tính– Chương 2 © Fall 2015 Amdahl’s Law Amdahl's Law dùng để đo Speedup So sánh máy tính trước và sau khi áp dụng cải tiến E Cải tiến E chiếm tỉ lệ f về thời gian thực thi và được cải thiện s lần và các phần khác có thời gian không đổi Performance with E Performance before ExTime before ExTime with E Speedup(E) = = ExTime with E = ExTime before × (f / s + (1 – f )) Speedup(E) = (f / s + (1 – f )) 1 2015 dce 22Kiến trúc Máy tính– Chương 2 © Fall 2015 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ể!Các file đính kèm theo tài liệu này:
- kientrucmaytinh_chapter02_0106.pdf
- Bài giảng Các thành phần cơ bản của máy tính
62 trang | Lượt xem: 7596 | Lượt tải: 1
- Bài giảng giao diện nhận dữ liệu USART
9 trang | Lượt xem: 2442 | Lượt tải: 0
- Kiến trúc máy tính - Chương 2: Biểu diễn thông tin trong máy tính
49 trang | Lượt xem: 1455 | Lượt tải: 2
- Bài ôn tập – phần câu hỏi lý thuyết
12 trang | Lượt xem: 3627 | Lượt tải: 2
- Hệ vi xử lí - Chương 3: Tập lệnh PIC16F8xx
64 trang | Lượt xem: 2107 | Lượt tải: 2
- Bài giảng Chương trình gỡ rối debug
29 trang | Lượt xem: 2092 | Lượt tải: 1
- Accurate arithmetic - Chapter 2: Instructions: language of the computer
62 trang | Lượt xem: 903 | Lượt tải: 0
- Giáo trình Kiến trúc máy tính - Chương 4: Processor Pipelining - Đại học Bách Khoa
62 trang | Lượt xem: 1459 | Lượt tải: 1
- Thiết lập về hạn ngạch đĩa (disk quota)
10 trang | Lượt xem: 2884 | Lượt tải: 0
- Bài giảng Các thành phần phần cứng máy tính
57 trang | Lượt xem: 2986 | Lượt tải: 2
Từ khóa » Chu Kỳ Xung Clock
-
[PDF] HIỆU SUẤT MÁY TÍNH - Cit..vn
-
Tín Hiệu Nhịp – Wikipedia Tiếng Việt
-
Chu Kỳ Xung Clock - TaiLieu.VN
-
Bài 1 - Mạch Tạo Xung Clock - Cl
-
Xung Clock Là Gì?Xung Clock Dùng để Làm Gì? - Etinco
-
Chu Kỳ Xung Clock.pdf (.docx) | Tải Miễn Phí
-
Tổng Hợp Kiến Thức Về Mạch Tạo Xung Clock
-
Bài Tập Pipeline Kiến Trúc Máy Tính Uit Có đáp án - Tài Liệu Text - 123doc
-
HIỆU SUẤT (performance) - KHÁM PHÁ CUỘC SỐNG
-
Hỏi Về Chu Kì Xung Clock [Lưu Trữ] - PIC Vietnam
-
Tính Chu Kì Xung Clock Với C - Dien Tu Viet Nam
-
Clock Cycle Là Gì? - Từ điển CNTT
-
Tốc độ Xung Nhịp CPU Là Gì? | Intel