You are on page 1of 64

Amdahl’s Law

www.ptit.edu.vn Trang 1
Amdahl’s Law – Tăng tốc độ (speedup)

f: is the fraction of program performed by a faster component.


www.ptit.edu.vn Trang 2
Ví dụ về Amdahl's Law

www.ptit.edu.vn Trang 3
Ví dụ về Amdahl's Law

www.ptit.edu.vn Trang 4
6. HIỆU SUẤT CỦA MÁY TÍNH
Định nghĩa hiệu suất (performance)

www.ptit.edu.vn Trang 5
Thời gian thực thi “Execution Time”?

www.ptit.edu.vn Trang 6
Số chu kỳ xung nhịp (Clock Cycles) – số xung nhịp

www.ptit.edu.vn Trang 7
Cải tiến hiệu suất

www.ptit.edu.vn Trang 8
Clock Cycles per Instruction (CPI)

www.ptit.edu.vn Trang 9
Thời gian thực thi

www.ptit.edu.vn Trang 10
 Iron Law

 Ví dụ:

www.ptit.edu.vn Trang 11
Ví dụ

www.ptit.edu.vn Trang 12
Xác định CPI

www.ptit.edu.vn Trang 13
Ví dụ: CPI trung bình

www.ptit.edu.vn Trang 14
Ví dụ 2

www.ptit.edu.vn Trang 15
Thông số MIPS – Triệu lệnh trên giây

www.ptit.edu.vn Trang 16
Thông số MIPS
 For example, consider the execution of a program that results
in the execution of 2 million instructions on a 400-MHz
processor. The program consists of four major types of
instructions. The instruction mix and the CPI for each
instruction type are given below based on the result of a
program trace experiment:

 MIPS=?

www.ptit.edu.vn Trang 17
Ví dụ về thông số MIPS

www.ptit.edu.vn Trang 18
Bài tập

 Bài 3: Cho 3 CPU P1, P2 và P3 khác nhau, thực hiện cùng một
chương trình với tốc độ xung đồng hồ (clock rate) và CPI (Clock
Per Instruction) được cho trong bảng
Processor Clock rate CPI

P1 2 GHz 1.5

P2 1,5GHz 1

P3 3GHz 2.5

 CPU nào có hiệu năng cao nhất dựa theo tiêu chí số lệnh thực thi
trong 1 giây (IPS) và số triệu lệnh thực thi trong một giây (MIPS)?
 Nếu các bộ xử lý chạy 1 chương trình nào đó hết 10 giây, tìm tổng số chu
kì và tổng số lượng lệnh tương ứng.
 Nếu chúng ta cố giảm 30% thời gian thực thi sẽ dẫn tới việc tăng 20% CPI.
Nếu vậy, tốc độ/tần số xung clock mới của từng bộ xử lý tương ứng phải là
bao nhiêu?

www.ptit.edu.vn Trang 19
Bài tập 4

 Cho bảng sau:

 Tính IPC (số lệnh được thực hiện trong một chu kỳ xung nhịp –
instruction per cycle) cho mỗi bộ xử lý.
 Tính tốc độ/tần số xung clock mới cho P2 để P2 có thể giảm
thời gian thực thi bằng P1.
 Tính số lượng lệnh cho P2 mà giảm thời gian thực thi của nó
tới bằng của P3

www.ptit.edu.vn Trang 20
Bài tập 5

 A benchmark program is run on a 40 MHz processor.The


executed program consists of 100,000 instruction
executions,with the following instruction mix and clock cycle
count:

 Determine the effective CPI,MIPS rate, and execution time for


this program.

www.ptit.edu.vn Trang 21
Bài tập 6
 Consider two different machines, with two different nstruction
sets, both of which have a clock rate of 200 MHz. The
following measurements are recorded on the two machines
running a given set of benchmark programs:

 a. Determine the effective CPI,MIPS rate, and execution time for


each machine.
 b. Comment on the results.

www.ptit.edu.vn Trang 22
Bài tập 7

www.ptit.edu.vn Trang 23
Bài tập 8
 Four benchmark programs are executed on three computers
with the following results:

 The table shows the execution time in seconds, with


100,000,000 instructions executed in each of the four
programs. Calculate the MIPS values for each computer for
each program.

www.ptit.edu.vn Trang 24
Bài tập

Bài 9. Tính CPI, thời gian, và hiệu suất. Xem xét một bộ xử lý có
tần số hoạt động 2Ghz. Và các thông số của chương trình được
liệt kê ở bảng dưới.

a) Tính CPI trung bình khi thực thi đoạn chương trình trên.
b) Tính thời gian thực thi của chương trình trên. Người ta tiến
hành cải tiến chương trình bằng cách:
Cách 1: Viết lại giải thuật, lúc này lệnh Đọc vùng nhớ giảm đi một nửa. Xác
định:
c) CPI trung bình sau khi cải tiến.
d) Thời gian thực thi sau khi cải tiến.
e) Xác định speed up của hệ thống so với trước khi cải tiến.

www.ptit.edu.vn Trang 25
Cách 2: Thay đổi hệ thống phần cứng, lúc này CPI lệnh Đọc
vùng nhớ giảm còn 3. Xác định:
f) CPI trung bình sau khi cải tiến.
g) Thời gian thực thi sau khi cải tiến.
h) Xác định speed up của hệ thống so với trước khi cải tiến.
Bài 10: Thông số MIPS Cho bảng thông số của một chương trình
P sau khi được biên dịch bằng trình biên dịch.

a) Tính thời gian thực thi của chương trình trên máy có tần số hoạt động 2Ghz.
b) Tính thông số MIPS.
c) Cải tiến thời gian chạy của lệnh rẽ nhánh và nhảy nhanh gấp 3 lần. Tính
speed up sau khi cải tiến

www.ptit.edu.vn Trang 26
Chương 3: Ví dụ: thời gian truy nhập

www.ptit.edu.vn Trang 27
Bài tập 1

 Các em đọc 3 phương pháp ánh xạ và làm bài tập sau:

www.ptit.edu.vn Trang 28
Bài tập 1

 Ánh xạ trực tiếp

www.ptit.edu.vn Trang 29
Bài tập 1
 Ánh xạ kết hợp đầy đủ

www.ptit.edu.vn Trang 30
Bài tập 1
 ÁNH XẠ TẬP KẾT HỢP 4 way

www.ptit.edu.vn Trang 31
Bài tập

www.ptit.edu.vn Trang 32
Bài tập

www.ptit.edu.vn Trang 33
Bài tập

www.ptit.edu.vn Trang 34
Bài tập

www.ptit.edu.vn Trang 35
CÁC CHÍNH SÁCH THAY THẾ DÒNG CACHE

www.ptit.edu.vn Trang 36
CÁC CHÍNH SÁCH THAY THẾ DÒNG CACHE

www.ptit.edu.vn Trang 37
www.ptit.edu.vn Trang 38
 Ví dụ

www.ptit.edu.vn Trang 39
 Consider a single-level cache with an access time of 2.5 ns, a
line size of 64 bytes, and a hit ratio of H 0.95. Main memory
uses a block transfer capability that has a first word (4 bytes)
access time of 50 ns and an access time of 5 ns for each word
thereafter.

a. What is the access time when there is a cache miss? Assume


that the cache waits until the line has been fetched from main
memory and then re-executes for a hit.

b. Suppose that increasing the line size to 128 bytes increases


the H to 0.97. Does this reduce the average memory access
time?

www.ptit.edu.vn Trang 40
www.ptit.edu.vn Trang 41
Bài tập

www.ptit.edu.vn Trang 42
Phân trang theo yêu cầu

 Ví dụ: Xét bộ nhớ vật lý, kích thước 32 bytes, chia làm 8 trang
vật lý (frame). Tiến trình có kích thước 16 bytes có nội dung:
“0123456789ABCDEF”. Bảng trang có nội dung như sau:
#Frame V/IV
7 1
- 0
3 1
5 1
 Xác định địa chỉ vật lý truy nhập tương ứng với địa chỉ logic
sau: (2,3)
 Cho biết nội dung của ô nhớ tương ứng với địa chỉ trên.

www.ptit.edu.vn Trang 43
Giải thuật FIFO

www.ptit.edu.vn Trang 44
Giải thuật LRU

www.ptit.edu.vn Trang 45
www.ptit.edu.vn Trang 46
KỸ THUẬT PHÂN ĐOẠN

 Cho bảng phân đoạn sau đây :


Segment Base Limit
0 219 600
1 2300 14
2 90 100
3 1327 580
4 1952 96

 Cho biết địa chỉ vật lý tương ứng với các địa chỉ logique sau
đây: a. 0,430; b. 1,10; c. 2,500; d. 3,400; e. 4,112

www.ptit.edu.vn Trang 47
Chương 4: VÍ DỤ 3

 Cho đoạn chương trình sau (R1, R2 là các thanh ghi):


1.LOAD R2, #500
2.LOAD R1, #2000
3.STORE (R1), R2
4.ADD 2000, #30
5.SUBSTRACT R2, #15
6.ADD R2, (R1)
a.Xác định chế độ địa chỉ và ý nghĩa của từng lệnh;
b.Xác định giá trị của thanh ghi R2 sau khi thực hiện xong lệnh
số (6).

www.ptit.edu.vn Trang 48
BÀI TẬP
2. Cho đoạn lệnh sau:
MOVE R0, #100;
CLEAR R1; a. Hãy giải thích ý nghĩa của
CLEAR R2; từng lệnh
LAP: b. Chỉ ra chế độ địa chỉ của
từng lệnh (đối với các lệnh
ADD R1, 2000(R2);
có 2 toán hạng)
ADD R2, #2;
c. Đoạn lệnh trên thực hiện
DECREMENT R0; công việc gì?
BRANCH_IF>0 LAP;
STORE 3000, R1;

www.ptit.edu.vn Trang 49
Hiệu suất của một bộ xử lý ống lệnh

 Xét ống lệnh có ‘k’ phân đoạn với thời gian chu kỳ đồng hồ là ‘Tp’.
Có ‘n’ lệnh được hoàn thành trong bộ xử lý ống lệnh. Biết lệnh đầu
tiên sẽ mất ‘k’ chu kỳ để đi ra khỏi ống lệnh, ‘n - 1’ lệnh còn lại sẽ
chỉ mất ‘1’ chu kỳ đối với mỗi lệnh, tức là tổng số chu kỳ = ‘n - 1’.
 Vì vậy, thời gian cần thiết để thực hiện ‘n’ lệnh trong bộ xử lý ống
lệnh:
ETpipeline = k + n – 1 cycles = (k + n – 1) Tp
 Bộ xử lý không có cơ chế ống lệnh:
ETnon-pipeline = n * k * Tp
 Vì vậy, hệ số cải thiện (S) của bộ xử lý ống lệnh so với bộ xử lý
không có cơ chế ống lệnh, khi ‘n’ lệnh được thực thi trên cùng một bộ
xử lý là:
S = Performance of pipelined processor /Performance of Non-
pipelined processor = ETnon-pipeline / Etpipeline = [n * k] / [k + n – 1]

www.ptit.edu.vn Trang 50
Types of Pipeline and Stalling
 For example, if there are 4 stages with delays, 1 ns, 2 ns, 3 ns,
and 4 ns, then:
 Tp = Maximum(1 ns, 2 ns, 3 ns, 4 ns) = 4 ns
 If buffers are included between the stages,
Tp = Maximum(Stage delay + Buffer delay)
 Example : Consider a 4 segment pipeline with stage delays (2
ns, 8 ns, 3 ns, 10 ns). Find the time taken to execute 100 tasks in
the above pipeline.
Solution : As the above pipeline is a non-linear pipeline:
Tp = max(2, 8, 3, 10) = 10 ns
We know that ETpipeline = (k + n – 1) Tp = (4 + 100 – 1) 10 ns =
1030 ns

www.ptit.edu.vn Trang 51
Types of Pipeline and Stalling
 Performance of pipeline with stalls
 Speed Up (S) = Performance pipeline / Performance non-
pipeline
 => S = Average Execution Time non-pipeline / Average
Execution Time pipeline
 => S = CPInon-pipeline * Cycle Timenon-pipeline /
CPIpipeline * Cycle Timepipeline
 Ideal CPI of the pipelined processor is ‘1’. But due to stalls,
it becomes greater than ‘1’.
=> S = CPInon-pipeline * Cycle Timenon-pipeline / (1 +
Number of stalls per Instruction) * Cycle Timepipeline
 As Cycle Time non-pipeline = Cycle Time pipeline,
Speed Up (S) = CPInon-pipeline / (1 + Number of stalls per
instruction)
www.ptit.edu.vn Trang 52
www.ptit.edu.vn Trang 53
www.ptit.edu.vn Trang 54
www.ptit.edu.vn Trang 55
 Cho đoạn lệnh sau: giả thiết mỗi lệnh trải qua 5 giai đoạn: IF,
ID, IE, MEM, WB.

 Tính số xung đồng hồ của đoạn lệnh trên khi không thực hiện
ống lệnh
 Tính số xung đồng hồ của đoạn lệnh trên khi thực hiện ống
lệnh. Tính hệ số speed up (S)?
 Xác định các xung đột, hướng giải quyết?
www.ptit.edu.vn Trang 56
 Cho đoạn lệnh sau: giả thiết mỗi lệnh trải qua 5 giai đoạn: IF,
ID, IE, MEM, WB. 1 stage tương ứng 1 cycle

 Tính số xung đồng hồ của đoạn lệnh trên khi không thực hiện
ống lệnh
 Tính số xung đồng hồ của đoạn lệnh trên khi thực hiện ống
lệnh.
 Xác định các xung đột, hướng giải quyết?
www.ptit.edu.vn Trang 57
www.ptit.edu.vn Trang 58
www.ptit.edu.vn Trang 59
www.ptit.edu.vn Trang 60
www.ptit.edu.vn Trang 61
www.ptit.edu.vn Trang 62
www.ptit.edu.vn Trang 63
 Cho đoạn lệnh
Lệnh IF ID IE WB
or r1, r2, r3 1 2 1
1
or r2, r1, r4 2 2 3 1
or r1, r2, r3 1 3 2 1

 Tính số xung nhịp khi thực hiện tuần tự.


 Xác định các xung đột, cách giải quyết, tính số xung nhipk
khi triển khai ống lệnh. Tính speedup? Biết trễ giữa các giai
đoạn là 1 xung.

www.ptit.edu.vn Trang 64

You might also like