Tải bản đầy đủ (.pdf) (19 trang)

Kiến trúc máy tính chương 2 : vai trò của hiệu suất docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (590 KB, 19 trang )

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ến trúc Máy tính - Chap 02
2
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ến trúc Máy tính - Chap 02
3
Chương 2.

Kiến trúc Máy tí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áy tính ?
 Lý do chính để khảosátvề hiệusuấtlàvìhiệusuấtcủa
phầncứng máy tí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áy tí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áy tính (trong đó
có chúng ta ☺ !) quan tâm
Kiến trúc Máy tính - Chap 02
5

 Việc đánh giá hiệusuất máy tí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áy tí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ế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?
• 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ến trúc Máy tính - Chap 02
7

• Khi chúng ta chạy cùng 1 chương trình trên 2 má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áy tí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ến trúc Máy tí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áy tính X sẽ là
• Ta nói máy tính X có hiệusuấtcaohơnmáytínhY n lần đồng
nghĩavớimáytínhX nhanh hơn máy tính Y n lần
•Thídụ:
nếumáytínhA thựcthichương trình mất 10s và máy
tí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ến trúc Máy tính - Chap 02
9
2.2 Đo đạchiệusuất
 Thời gian được sử dụng làm thước đo cho hiệu suất
máy tí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áy tí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ến trúc Máy tính - Chap 02
10

 Có thể đo đạc hiệu suấ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ệu suất hệ thống  thời gian trôi qua
 Hiệu suấ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
Kiến trúc Máy tính - Chap 02
11
2.3 Liên quan đến các hệ đo
 Tính CPU time theo xung đồng hồ
hay
 Thí dụ:
Thời gian thực thi chương trình trên máy tính A, tần số
400MHz, là 10s. Chúng ta muốn thiết kế máy tính B có thể
thực thi chương trình trên trong 6s. Để đạt được điều này, cần
phải tăng tần số clock của má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ủa máy B ?
CPU execution time
for a program
=
CPU clock cycles
for program
Clock cycle time
×
CPU execution time
for a program
=

CPU clock cycles for a program
Clock rate
Kiến trúc Máy tính - Chap 02
12

 CPI (clock cycle per instruction)  số chu kỳ clock
trung bình cần thiết để thực thi 1 câu lệnh
 Thí dụ:
Xét 2 máy tính A và B có cùng kiến trú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 ?
CPU clock cycles =
CPI
Instructions for a
program
×
Kiến trúc Máy tính - Chap 02
13

Tính CPU time theo CPI
 Đơn vị đo
CPU time = CPIInstruction count
×
Clock cycle time
×
CPU time =
CPIInstruction count

×
Clock rate
giây
số nguyên
số nguyên
giây
Đơn vị đo
?Chu kỳ clock
?CPI
?Số câu lệnh
?Thời gian CPU thực thi chương trình
Cách đoTham số
Kiến trúc Máy tính - Chap 02
14

 Tập lệnh có thể được phân chia thành các nhóm lệnh
 Có thể tính toán hiệu suất
theo các nhóm lệnh
 Thí dụ:
Xét 1 máy tí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
Đ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 ?
()

×=
=
n
i

ii
CCPI
1
cycle clock CPU
3C
2B
1A
CPINhóm lệnh
114Compiler 2
212Compiler 1
CBA
Số câu lệnh theo nhóm lệnh
Mã lệnh
Kiến trúc Máy tính - Chap 02
15

 Một chỉ số hiệu suất khác là MIPS (million instructions
per second)
 Thí dụ:
Cũng với thí dụ vừa rồi, xét bảng số liệu sau
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 ?
MIPS
=
10
6
Execution time
×
Instruction count

1110Compiler 2
215Compiler 1
CBA
Số câu lệnh (10
9
) theo nhóm lệnh
Mã lệnh
Kiến trúc Máy tính - Chap 02
16
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ệu suất của 2 máy tính bằng cách đo
thời gian thực thi cùng 1 workload của 2 máy tính này
 Trong thực tế, không phải người sử dụng máy tính nào
cũng có thể xác định được workload để đánh giá hiệu
suất máy tính củ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, Dhrystone,
Kiến trúc Máy tính - Chap 02
17
2.5 So sánh và tổng hợp hiệu suất
 Việc đo đạt hiệu suấ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ệu suất giữa nhiều máy tính với nhau
 Sử dụng giá trị trung bình (mean) để tổng hợp và so
sánh hiệu suất
 Trung bình số h
ọc (arithmetic mean)
 Trung bình hài
(harmonic mean)
 Trung bình hình học
(geometric mean)

=
=
n
i
i
R
n
R
1
1







=
n

i
R
m
R
1
1

=
n
n
RR
1
1
Kiến trúc Máy tính - Chap 02
18

 Sử dụng giá trị trung bình nào cho thích hợp ?
 Thí dụ:
Cho cả 3 máy tính A, B và C thực thi lần lượt các
chương trình P
1
, P
2
người ta đo được các CPI theo
bảng sau
So 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 ?
253C. 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 , 2.13
 2.15 , 2.18
 2.26
“Computer Organization and Design: the hardware/software
interface”,
John L. Hennessy & David A. Patterson, Second Edition,
MORGAN KAUFMANN PUBLISHERS, INC. 1998

×