1. Trang chủ
  2. » Công Nghệ Thông Tin

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

19 1,6K 20
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 590 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

2.1 Dẫn nhậpLàm sao để có thể đo đạc, đánh giá hiệu suất performance và định ra được những yếu tố quyết định đến hiệu suất của 1 máy tính?. Lý do chính để khảo sát về hiệu suất là vì hiệ

Trang 1

Khoa KH & KT Máy tính

Bộ môn Kỹ thuật Máy tính

Phạm Tường Hải Nguyễn Quốc Tuấn

Trang 2

Tài liệu tham khả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

Trang 3

Chương 2.

Trang 4

2.1 Dẫn nhập

Làm sao để có thể đo đạc, đánh giá hiệu suất

(performance) và định ra được những yếu tố quyết định

đến hiệu suất của 1 máy tính ?

Lý do chính để khảo sát về hiệu suất là vì hiệu suất của

phần cứng máy tính thường là yếu tố mấu chốt quyết

định đến tính hiệu quả trong hoạt động của 1 một hệ

thống bao gồm cả phần cứng lẫn phần mềm

Hiệu suất luôn là một thuộc tính quan trọng trong việc

lựa chọn, mua bán các máy tính

được cả người bán lẫn người mua quan tâm ! Hiệu suất càng được các nhà thiết kế máy tính (trong đó

có chúng ta ☺ !) quan tâm

Trang 5

Việc đánh giá hiệu suất máy tính không hề đơn giản

• Hiệu suất không chỉ có được do các cải tiến phần cứng mà cũng

có thể nhờ vào các phần mềm thông minh hay cả hai

• Tùy góc độ ứng dụng khác nhau, hiệu suấ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ết kế máy tính (phần cứng/phần mềm),

chúng ta cần nắm rõ

• Các vấn đề liên quan đến việc đánh giá hiệu suất máy tính

• Hoạt động của các thành phần khác nhau (phần cứng/phần mềm) và ảnh hưởng của chúng đến hiệu suất

• Trong mỗi ứng dụng cụ thể, xác định phương pháp đánh giá hiệu suất phù hợp

Trang 6

Định nghĩa về hiệu suất

• Khi ta nói “máy tính này có hiệu suất cao hơn máy tính kia”, điều

đó mang ý nghĩa gi ?

• Chúng ta xem xét thí dụ sau đây

thử xác định máy bay có hiệu suất cao nhất trong trường hợp:

Máy bay có tốc độ cao nhất ? Máy bay có dung lượng lớn nhất ? Máy bay chuyên chở nhanh nhất ?

644 8720

146 Douglas DC-8-50

1350 4000

132 BAC/Sud Concorde

610 4150

470 Boeing 747

610 4630

375 Boeing 777

Cruising speed (m.p.h) Cruising range (mile)

Passenger capacity Airplane

Trang 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ết luận máy nhanh hơn là máy có thể kết thúc thực thi chương trình sớm hơn

thời gian đáp ứng (response time) hay thời gian thực thi (execution time), là thời gian từ khi bắt đầu đến khi kết thúc chương trình

• Khi so sánh 2 hệ thống máy tính với nhau, ta kết luận hệ thống nhanh hơn là hệ thống hoàn tất thực thi nhiều chươ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 đơn vị thời gian

• Thay đổi nào sau đây ảnh hưởng đến thời gian thực thi, throughput hoặc cả hai ?

Thay CPU hiện hành bằng 1 CPU nhanh hơn Tăng số lượng CPU trong 1 máy chủ (server) có nhiều CPU (giả sử mỗi chương trình được thực thi trên 1 CPU)

Trang 8

• Trước tiên chúng ta đánh giá hiệu suất thông qua thời gian thực thi

Cực đại hóa hiệu suất đồng nghĩa với tối thiểu hóa thời gian thực thi Quan hệ giữa hiệu suất và thời gian thực thi ở máy tính X sẽ là

• Ta nói máy tính X có hiệu suất cao hơn máy tính Y n lần đồng nghĩa với máy tính X nhanh hơn máy tính Y n lần

• Thí dụ: nếu máy tính A thực thi chương trình mất 10s và máy

tính B thực thi cùng chương trình mất 15s, A nhanh hơn B bao nhiêu lần ?

X time Execution

X e Performanc = 1

n Y

e Performanc X

e Performanc

=

Trang 9

2.2 Đo đạc hiệu suấ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

Trang 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%

Thời gian còn có thể đo thông qua xung đồng hồ (clock)

Trang 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

Trang 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 = Instructions for a CPI

program ×

Trang 13

Tính CPU time theo CPI

Đơn vị đo

CPU time = Instruction count × CPI × Clock cycle time

CPU time = Instruction count × CPI

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 đo Tham số

Trang 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

C

CPI

1

cycle clock

CPU

3 C

2 B

1 A

CPI Nhóm lệnh

1 1

4 Compiler 2

2 1

2 Compiler 1

C B

A

Số câu lệnh theo nhóm lệnh

Mã lệnh

Trang 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

1 1

10 Compiler 2

2 1

5 Compiler 1

C B

A

Số câu lệnh (10 9 ) theo nhóm lệnh

Mã lệnh

Trang 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,

Trang 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

R n

R

1

1

=

n

i

R

m R

1

1

= n R n

R

1

1

Trang 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 P1 , P2 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 ?

2 5

3

C trình P2

4 1

2

C trình P1

Máy C Máy B

Máy A

Trang 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

Ngày đăng: 27/06/2014, 15:20

HÌNH ẢNH LIÊN QUAN

Bảng sau - Kiến trúc máy tính chương 2 : vai trò của hiệu suất docx
Bảng sau (Trang 18)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm