Professional Documents
Culture Documents
lw $s4, 4($t3)
add $t0, $t1, $s3
sw $t2, -20($s0)
Chuyển đổi lệnh hợp ngữ sang nhị phân
Giả sử CPU hoạt động với tần số 4Ghz, CPI=1.5, xác định thời gian
thực thi của Chương trình
Xét 2 cách hiện thực khác nhau của cùng kiến trúc tập lệnh lên hai bộ xử lý P1 và P2.
Có 4 lớp lệnh: A, B, C và D. Tần số xung clock và CPI của mỗi cách thiết kế được cho
như bảng bên dưới.
Cho một chương trình với 106 lệnh được chia thành các lớp sau: 10% lớp A, 20% lớp
B, 50% lớp C và 20% lớp D. Cách hiện thực nào sẽ chạy nhanh hơn (hay bộ xử lý nào
sẽ chạy nhanh hơn) với chương trình này?
Bộ xử lý Clock CPI Class CPI Class CPI Class CPI Class
rate A B C D
P1 1.5 Ghz 1 2 3 4
P2 2 Ghz 2 2 2 3
Tìm CPI trung bình của mỗi bộ xử lý với chương trình trên?
Tìm tổng số chu kì xung clock của chương trình trên P1 và P2.
So sánh hiệu suất của P1 và P2
Kiến trúc tập lệnh
• Toán hạng:
• Toán hạng thanh ghi
• Toán hạng bộ nhớ
• Toán hạng hằng
• Tập thanh ghi:
• 32 thanh ghi được đánh tên và địa chỉ theo word
• Chức năng của mỗi thanh ghi
• Biên dịch Chương trình hợp ngữ
Chương trình ngôn ngữ
cấp cao (C, Java, ...)
1. Trình biên dịch (1/2)
Trình biên dịch • Trình biên dịch có chức năng chuyển chương
trình được viết bởi ngôn ngữ lập trình cấp cao
thành chương trình hợp ngữ:
Chương trình hợp ngữ • Ngôn ngữ lập trình cấp cao (C, Java, …) gần với suy
(MIPS, ARM, ...) nghĩ con người và độc lập phần cứng
• Hợp ngữ (MIPS, ARM, ...) là một ngôn ngữ gợi nhớ
Trình biên dịch của mã máy, phụ thuộc phần cứng
hợp ngữ
10
2. Datapath (1/9) – Chu kỳ thực thi lệnh
• Datapath dùng để thực thi lệnh! Một lệnh thực thi như thế nào?
• Chu kỳ thực thi lệnh!
• Bộ nhớ lệnh • Tập thanh ghi • ALU • Bộ nhớ dữ liệu • Tập thanh ghi
• PC • Mở rộng dấu • Bộ so sánh
11
5. Khối điều khiển (2/6) – Loại R
13
5. Khối điều khiển (3/6) – lw
14
5. Khối điều khiển (4/6) – beq
15
5. Khối điều khiển (5/6) – ALU Control
• ALU chỉ cần thực hiện các phép toán: Cộng, trừ, AND, OR, Thiết
lập nếu nhỏ hơn
•
17
1. Thời gian thực thi và Hiệu suất
• Thời gian thực thi: Tổng thời gian để hoàn thành một tác vụ nào đó
• Truy cập ổ đĩa, bộ nhớ, I/O, OS, v.v...
• Hiệu suất: Số lượng tác vụ hoàn thành trong một đơn vị thời gian
1
Hi ệu su ấ t =
Th ờ i gian th ự c thi
18
2. Clock (3/3)
Thời gian thực thi = Tổng số chu kỳ clock * Chu kỳ clock
Tăng hiệu suất bằng cách giảm chu kỳ clock (tăng tần số clock)
19
3. CPI (Clock cycle Per Instruction) (1/2)
20
3. CPI (Clock cycle Per Instruction) (2/2)
• Mỗi tập lệnh có nhiều nhóm lệnh khác nhau
21