Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
590 KB
Nội dung
Khoa Khoa KH & KT KH & KT M M ỏ ỏ y y t t ớ ớ nh nh Bo Bo ọ ọ moõn moõn Kyừ Kyừ thua thua ọ ọ t t Ma Ma ự ự y y t t ớ ớ nh nh Pha Pha ù ù m m T T ử ử ụ ụ ứ ứ ng ng Ha Ha ỷ ỷ i i Nguyeón Nguyeón Quo Quo ỏ ỏ c c Tua Tua ỏ ỏ n n KiếntrúcMáytính - Chap 022 Tài liệuthamkhảo “Computer Organization and Design: the hardware/software interface”, John L. Hennessy & David A. Patterson, Second Edition, MORGAN KAUFMANN PUBLISHERS, INC. 1998 “Computer Architecture: a quantitative approach”, John L. Hennessy & David A. Patterson, Third Edition, MORGAN KAUFMANN PUBLISHERS, INC. 2002 KiếntrúcMáytính - Chap 02 3 Chương2.KiếntrúcMáytính - Chap 02 4 2.1 Dẫnnhập Làm sao để có thểđo đạc, đánh giá hiệusuất (performance) và định ra đượcnhững yếutố quyết định đếnhiệusuấtcủa 1 máytính ? Lý do chính để khảosátvề hiệusuấtlàvìhiệusuấtcủa phầncứng máytính thường là yếutố mấuchốt quyết định đếntínhhiệuquả trong hoạt động của1 mộthệ thống bao gồmcả phầnc ứng lẫnphầnmềm Hiệusuất luôn là mộtthuộc tính quan trọng trong việc lựachọn, mua bán các máytính đượccả người bán lẫnngười mua quan tâm ! Hiệusuất càng được các nhà thiếtkế máytính (trong đó có chúng ta ☺ !) quan tâm KiếntrúcMáytính - Chap 02 5 … Việc đánh giá hiệusuất máytính không hềđơngiản •Hiệusuất không chỉ có được do các cảitiếnphầncứng mà cũng có thể nhờ vào các phầnmềm thông minh hay cả hai • Tùy góc độ ứng dụng khác nhau, hiệusuất hoàn toàn có thể được đánh giá theo những phương cách, những chỉ số khác nhau Ở góc độ nhà thiếtkế máytính (phầncứng/phầnmềm), chúng ta cầnnắmrõ •Cácvấn đề liên quan đếnviệc đánh giá hiệusuấtmáytính •Hoạt động củacácthànhphần khác nhau (phầncứng/phần mềm) và ảnh hưởng của chúng đếnhiệusuất • Trong mỗi ứng dụng cụ thể, xác định phương pháp đánh giá hiệu suấtphùhợp KiếntrúcMáytính - Chap 02 6 Định nghĩavề hiệusuất • Khi ta nói “máy tính này có hiệusuấtcaohơn máytính kia”, điều đómangý nghĩagi? • Chúng ta xem xét thí dụ sau đây thử xác định máy bay có hiệusuấtcaonhất trong trường hợp: Máy bay có tốc độ cao nhất? Máy bay có dung lượng lớnnhất? Máy bay chuyên chở nhanh nhất? 6448720146Douglas DC-8-50 13504000132BAC/Sud Concorde 6104150470Boeing 747 6104630375Boeing 777 Cruising speed (m.p.h)Cruising range (mile)Passenger capacityAirplane KiếntrúcMáytính - Chap 02 7 • Khi chúng ta chạy cùng 1 chương trình trên 2máy trạm (workstation) khác nhau, ta kếtluận máy nhanh hơnlàmáycó thể kết thúc thựcthichương trình sớmhơn thờigianđáp ứng (response time) hay thờigianthựcthi (execution time), là thờigiantừ khi bắt đầu đếnkhikết thúc chương trình • Khi so sánh 2 hệ thống máytính với nhau, ta kếtluậnhệ thống nhanh hơnlàhệ thống hoàn tấtthực thi nhiềuchương trình hơn trong cùng một ngày throughput , là tổng số các chương trình thực thi xong trong một đơnvị thờigian • Thay đổinàosauđây ảnh hưởng đếnthờigianthựcthi, throughput hoặccả hai ? Thay CPU hiệnhànhbằng 1 CPU nhanh hơn Tăng số lượng CPU trong 1 máy chủ (server) có nhiềuCPU (giả sử mỗichương trình đượcthực thi trên 1 CPU) KiếntrúcMáytính - Chap 02 8 •Trước tiên chúng ta đánh giá hiệusuất thông qua thờigianthực thi Cực đại hóa hiệusuất đồng nghĩavớitốithiểuhóathờigianthựcthi Quan hệ giữahiệusuấtvàthờigianthựcthiở máytính X sẽ là • Ta nói máytính X có hiệusuấtcaohơnmáytínhY n lần đồng nghĩavớimáytínhX nhanh hơn máytính Y n lần •Thídụ: nếumáytínhA thựcthichương trình mất 10s và máytính B thực thi cùng chương trình mất15s, A nhanh hơn B bao nhiêu lần? X timeExecution X ePerformanc 1 = n Y ePerformanc X ePerformanc = KiếntrúcMáytính - Chap 02 9 2.2 Đo đạchiệusuất Thời gian được sử dụng làm thước đo cho hiệusuấtmáytính Tuy nhiên thời gian ở đây được định nghĩa theo nhiều cách khác nhau, tùy theo mục đích đo đạc •Thời gian theo đồng hồ •Thời gian đáp ứng (response time) •Thời gian trôi qua (elapsed time) Các máytính hoạt động theo nguyên lý chia thời gian (timesharing), bộ xử lý làm việc đồng thời cho nhiều chương trình Thời gian thực thi chương trình bao gồm thời gian thực thi bởi CPU lẫn các thiết bị khác (bộ nhớ, đĩa cứng, v.v ) Có thể chỉ giới hạn xem xét đối với CPU mà thôi KiếntrúcMáytính - Chap 02 10 Có thể đo đạc hiệusuất qua thời gian thực thi của CPU (CPU execution time) hay còn gọi là thời gian CPU (CPU time) •User CPU time • System CPU time Thí dụ đo đạc thời gian khi thực thi lệnh time trên hệ điều hành Unix 90.7u 12.9s 2: 39 65% Hiệusuất hệ thống thời gian trôi qua Hiệusuất CPU thời gian CPU Thời gian còn có thể đo thông qua xung đồng hồ (clock) user CPU time system CPU time elapsed time phần trăm thời gian có ích [...]... mean) Kiến trúcMáytính - Chap 02 R= n i =1 m n ⎜ ⎟ ∑ ⎛ 1R ⎞ 1 ⎝ i n 1 R n R=∏ ⎠ 1 17 Sử dụng giá trị trung bình nào cho thích hợp ? Thí d : Cho cả 3 máytính A, B và C thực thi lần lượt các chương trình P1 , P2 người ta đo được các CPI theo bảng sau Máy A Máy B Máy C C trình P1 2 1 4 C trình P2 3 5 2 So sánh hiệusuất các máy trên và cho biết chúng hơn kém nhau bao nhiêu lần ? Kiến trúcMáy tính. .. giả sử máy trên có tần số clock là 500MHz Cho biết đoạn mã nào thực thi nhanh hơn nếu tính theo thời gian thực thi ? nếu tính theo MIPS ? KiếntrúcMáytính - Chap 02 15 2. 4 Chọn chương trình để đo Tập hợp các chương trình tiêu biểu mà người sử dụng phải thực thi hàng ngày được gọi là workload Có thể đánh giá hiệusuấtcủa2máytính bằng cách đo thời gian thực thi cùng 1 workload của2máytính này... củamáy B và vì vậy số chu kỳ clock thực thi chương trinh bị tăng lên 1 ,2 lần Hãy xác định tần số clock củamáy B ? KiếntrúcMáytính - Chap 02 11 CPI (clock cycle per instruction) số chu kỳ clock trung bình cần thiết để thực thi 1 câu lệnh CPU clock cycles = Instructions for a program × CPI Thí d : Xét 2máytính A và B có cùng kiếntrúc tập lệnh Máy A có chu kỳ clock là 1ns và đạt được CPI là 2, 0... trên và cho biết chúng hơn kém nhau bao nhiêu lần ? Kiến trúcMáytính - Chap 02 18 Bài tập “Computer Organization and Design: the hardware/software interface”, John L Hennessy & David A Patterson, Second Edition, MORGAN KAUFMANN PUBLISHERS, INC 1998 2. 1 , 2.2 , 2. 3 , 2. 4 2. 10 , 2. 13 2. 15 , 2. 18 2. 26 KiếntrúcMáytính - Chap 02 19 ... ? Thời gian CPU thực thi chương trình Chu kỳ clock KiếntrúcMáytính - Chap 02 13 Tập lệnh có thể được phân chia thành các nhóm lệnh n Có thể tính toán hiệusuất CPU clock cycle = ∑ (CPI × C ) i i i =1 theo các nhóm lệnh Nhóm lệnh CPI A 1 B 2 Thí d : C Xét 1 máytính có đặc điểm tập lệnh như sau: Khi biên dịch cùng 1 chương trình nguồn bằng 2 compiler khác nhau, ta được 2 đoạn mã lệnh như sau Mã... chương trình tổng hợp: Whetstone, Dhrystone, Kiến trúcMáytính - Chap 02 16 2. 5 So sánh và tổng hợp hiệusuất Việc đo đạt hiệusuất được thực hiện trên một tập hợp nhiều chương trình cần phải tổng hợp kết quả Kết quả tổng hợp phải có thể được sử dụng để so sánh hiệusuất giữa nhiều máytính với nhau Sử dụng giá trị trung bình (mean) để tổng hợp và so sánh hiệusuất 1 n Trung bình số học (arithmetic mean)... người sử dụng máytính nào cũng có thể xác định được workload để đánh giá hiệusuấtmáytínhcủa mình dựa vào các chương trình mà người ta hy vọng có thể làm workload trong một số trường hợp, các benchmark Các thể loại benchmark • • • • Các chương trình ngắn: érastosthène, puzzle, sort, Các nhân chương trình: Livermore, Linpack, Các ứng dụng thực t : Spec, Splash, Các chương trình tổng hợp: Whetstone,... Compiler 1 2 1 2 Compiler 2 4 1 1 Đoạn mã nào thực hiện nhiều câu lệnh hơn ? chạy nhanh hơn ? Tính CPI cho từng đoạn mã lệnh ? Kiến trúcMáytính - Chap 02 14 Một chỉ số hiệusuất khác là MIPS (million instructions per second) Instruction count MIPS = Execution time × 106 Thí d : Cũng với thí dụ vừa rồi, xét bảng số liệu sau Số câu lệnh (109) theo nhóm lệnh Mã lệnh A B C Compiler 1 5 1 2 Compiler 2 10 1... máytính A và B có cùng kiếntrúc tập lệnh Máy A có chu kỳ clock là 1ns và đạt được CPI là 2, 0 khi chạy chương trình P Máy B có chu kỳ clock là 2ns và đạt được CPI bằng 1 ,2 khi chạy chương trình P Máy nào thực thi chương trình P nhanh hơn và nhanh hơn bao nhiêu lần ? KiếntrúcMáytính - Chap 02 12 Tính CPU time theo CPI CPU time CPU time = Instruction count × CPI × Clock cycle time = Instruction count.. .2. 3 Liên quan đến các hệ đo Tính CPU time theo xung đồng hồ CPU execution time for a program = CPU clock cycles × for program Clock cycle time hay CPU execution time for a program = CPU clock cycles for a program Clock rate Thí d : Thời gian thực thi chương trình trên máytính A, tần số 400MHz, là 10s Chúng ta muốn thiết kế máytính B có thể thực thi chương trình trên trong . sánh hiệu suất các máy trên và cho biết chúng hơn kém nhau bao nhiêu lần ? 25 3C. trình P 2 412C. trình P 1 Máy CMáy BMáy A Kiến trúc Máy tính - Chap 02 19 Bài tập 2. 1 , 2. 2 , 2. 3 , 2. 4 2. 10. thể, xác định phương pháp đánh giá hiệu suấtphùhợp Kiến trúc Máy tính - Chap 02 6 Định nghĩavề hiệusuất • Khi ta nói máy tính này có hiệusuấtcaohơn máy tính kia”, điều đómangý nghĩagi? •. Architecture: a quantitative approach”, John L. Hennessy & David A. Patterson, Third Edition, MORGAN KAUFMANN PUBLISHERS, INC. 20 02 Kiến trúc Máy tính - Chap 02 3 Chương 2. Kiến trúc Máy tính