Bài giảng Kiến trúc máy tính - Chương III: Bộ xử lý Khối điều khiển và Đường dữ liệu (Phần 2)

Nội dung

 Thành phần cơ bản của bộ xử lý

– Lệnh truy cập

– Các toán tử ALU

– Toán tử bộ nhớ

 Kết nối các thành phần

– Các tín hiệu điều khiển và bộ đồn kênh MUXes

– Các chỉ thị giải mã lện

pdf 62 trang yennguyen 3580
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương III: Bộ xử lý Khối điều khiển và Đường dữ liệu (Phần 2)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Kiến trúc máy tính - Chương III: Bộ xử lý Khối điều khiển và Đường dữ liệu (Phần 2)

Bài giảng Kiến trúc máy tính - Chương III: Bộ xử lý Khối điều khiển và Đường dữ liệu (Phần 2)
Bộ xử lý: Khối điều khiển và
Đường dữ liệu
Nội dung
 Thành phần cơ bản của bộ xử lý
– Lệnh truy cập
– Các toán tử ALU
– Toán tử bộ nhớ
 Kết nối các thành phần
– Các tín hiệu điều khiển và bộ đồn kênh MUXes
– Các chỉ thị giải mã lệnh
Thực thi cơ bản của bộ xử lý MIPS
 Xem lại các tập lệnh cơ bản trong MIPS 
– Memory: lw, sw
– Arithmetic: add,sub
– Logic: and, or
– Branch: beq
 Đọc thêm:
– Multiply, divide
– A bunch of logic operations
– jump
– jr and jal
Các hoạt động chính của bộ xử lý?
 Nạp lệnh: tìm ra lệnh và tải lệnh
 Tính toán trên ALU: tìm ra toán tử và thực thi
 Truy nhập bộ nhớ: tìm ra địa chỉ và truy nhập
Thiết kế đơn xung nhịp
 Thiết kế đầu tiên sẽ xử lý một lệnh trong một chu kỳ đồng hồ. Chia lệnh thành các pha
và thực hiện trong một chu kỳ đồng hồ.
 Nhắc lại về thiết kế mức logic:
 Tổ hợp các mức logic tạo ra trạng thái kế tiếp
 Bộ nhớ (các mạch chốt, RAM) lưu trữ trạng thái
 Bộ đồng hồ chuyển đổi trạng thái kế tiếp
 Quy trình nạp lệnh
 Trạng thái kế tiếp: PC+4 (ngoại trừ các lệnh nhảy)
 Trạng thái: Program Counter (lệnh hiện tại)
Thiết kế đơn xung nhịp
 Thiết kế xử lý một lệnh trong một chu kỳ đồng hồ
 Các khối xử lý cơ bản:
– Combinational logic tạo ra next state
– Memories (latches, RAM) lưu trữ trạng thái
– Clock chuyển đổi next state thành current state.
Nạp lệnh
 Theo dõi địa chỉ lệnh hiện tại tên thanh PC.
– Tăng PC lên 4 trong mỗi chu kỳ
– Tải lệnh tại địa chỉ được xác định bởi PC
Tính toán trên ALU (các chỉ
thị lệnh dạng R-type)
Các bước thực hiện?
– Đọc dữ liệu từ tệp thanh ghi(specify rs and rt)
– Thực thi tính toán ALU
– Ghi dữ liệu về tệp thanh ghi (specify rd)
Tính toán trên ALU (cấu trúc
lệnh dạng RS)
 Các bước thực hiện?
– Đọc dữ liệu từ tệp thanh ghi (xác
định rõ rs và rt)
– Thực hiện tính toán ALU
– Ghi dữ liệu trở lại tệp thanh ghi (xác
định rõ rd) 
Làm gì tiếp theo?
Nạp lệnh và bộ tính toán ALU. 
– Bộ nhớ lệnh, PC, bộ cộng PC+4 
– Tệp thanh ghi, ALU
Q: Thiếu khối nào?
1. Không thiếu, chỉ cần tập lệnh
và ALU
2. Thiếu khối so sánh
3. Thiếu bộ nhớ dữ liệu
A: 3
Sử dụng đầu ra 0 từ ALU để so 
sánh trong lệnh beq và bne
Truy cập bộ nhớ
Các bước thực hiện?
– Tính toán địa chỉ
– Gửi địa chỉ đến bộ nhớ dữ liệu (write: data) 
– Đọc: nhận kết quả trả về và đưa vào tệp thanh ghi
Q: Điều gì xảy ra nếu đọc ghi vào bộ nhớ
cùng một thời điểm
1/ không thể xảy ra
2/ dữ liệu sẽ bị sai lệch hoặc không hợp lệ
3/ không có vấn để gì cả vì có đầu ra đọc
dữ liệu và đầu vào ghi dữ liệu
A: 2
Hoạt động của RAM: kích hoạt một hàng
đọc/ghi dữ liệu. Nếu thực hiện cả 2 cùng
lúc sẽ làm các bit bị xáo trộn. Ngoài ra
cần phải 2 địa chỉ cho quá trình ghi đọc
Truy nhập bộ nhớ
Q: làm thế nào để tính địa chỉ với giá trị
tức thì
1. Cộng gía trị tức thì và giá trị thanh ghi
sử dụng ALU.
2. Số có dấu tức thì được sử dụng trong
ALU
3. Cộng giá trị tực thì có dấu và giá trị
thanh ghi sử dụng ALU
A: 2. Cộng giá trị tức thì có dấu và giá trị
thanh ghi sử dụng ALU
Để tính địa chỉ cần cộng giá trị từ thanh
ghi và giá trị tức thì bằng ALU. Cần mạch
tổ hợp hợp để biểu diễn số có dấu 16 bit 
thành số 32 bit
Kết nối các thành phần
• Bộ tính toán ALU 
– tải lệnh
– tính toán giá trị tiếp theo của PC 
– đọc từ tệp thanh ghi
– thực thi tính toán
– ghi lại tệp thanh ghi
• Truy nhập bộ nhớ (load/store) 
– tải lệnh
– tính toán giá trị tiếp theo củaPC
– đọc từ tệp thanh ghi
– tính toán địa chỉ
– Read/Write dữ liệu bộ
– Write dữ liệu vào tệp thanh ghi
• Nạp lệnh (branch) 
– tải lệnh
– tính toán giá trị tiếp theo của PC
– đọc từ tệp thanh ghi
Tính toán địa chỉ rẽ nhánh: không sử dụng ALU cho phép toán so 
sánh và tính toán địa chỉ cùng một thời điểm.
– thực thi các nhánh so sánh
– cập nhật lại giá trị của PC
Note: hầu hết các lệnh
đều dùng hết các khối
của bộ sử lý ! 
Kết nối RF và ALU
Kết nối ALU với bộ nhớ
Kết nối giá trị tức thời để
tính toán địa chỉ
Thêm vào bộ dồn kênh
Lựa chọn tín hiệu bằng Bộ dồn kênh MUX
Định tuyến tính hiệu
(control) 
• MUX lựa chọn ALU input (tệp thanh ghi hoặc các giá trị hằng số
có dấu tức thời) 
• MUX lựa chọn tệp thanh ghi ghi dữ liệu (kết quả tính toán được tại
ALU hoặc dữ liệu từ bộ nhớ)
Các tín hiệu điều khiển xác
định hoạt động: Lệnh addi
Định nghĩa về tín hiệu điều khiển: ALUSrc (ALU source) và MemtoReg
(Memory to Register File) 
Các tín hiệu điều khiển xác
định hoạt động: lệnh add
Xây dựng các khối rẽ nhánh
có điều kiện
Các bước thực hiện?
– Mặc định: PC = PC + 4
– Trường hợp có điều kiện : PC = PC + 4 + [Sign-extended immediate << 2] if 
branch
Tín hiệu PCSrc
Các bước thực hiện?
– Mặc định: PC = PC + 4
– Trường hợp có điều kiện: PC= PC+4+[Sign-extended immediate << 2] 
if branch
Đường tín hiệu đơn xung
nhịp trong MIPS
Các dữ liệu nguồn (dữ liệu
lấy ra ở đâu?)
Các dữ liệu đích (dữ liệu đi
đến đâu?) 
Ví dụ: addi
Lặp lại quá trình
Giải mã lệnh
Giải mã lệnh (trực tiếp)
Giải mã lệnh (các tín hiệu
điều khiển)
Giải mã lệnh (R-format)
Giải mã lệnh (load)
Thiết kế đồng bộ theo đồng
hồ
Thiết kế đồng bộ theo đồng hồ
HUST-FET, 04/04/2014
 Mạch đồng bộ theo đồng hồ: 1 phần tử trạng thái là hợp lệ và ổn định được quy định
bởi xung đồng hồ
- Phần tử trạng thái - phần tử nhớ - VD. thanh ghi, bộ nhớ lệnh, bộ nhớ dữ liệu.
- Kích hoạt theo sườn – các trạng thái thay đối khi có xườn xung
 Đọc nội dung của phần tử trạng thái tính giá trị bằng logic tổ hợp ghi kết quả
vào phần tử trạng thái
 Các phần tử trạng thái được ghi ở tất cả các chu kỳ đồng hồ. 
State
element
1
State
element
2
Combinational
logic
clock
one clock cycle
Đồng hồ ở đâu?
Lệnh addi thực thi như thế
nào? 
Khi có tín hiệu đồng hồ, biến
mới được lưu trữ
Lặp lại quá trình
Ví dụ lệnh: addi
Các tuyến logic và các bộ trễ
Tốc độ xử lý xác định như
thế nào? 
Tính chu ky đồng hồ Tc – Đường
dài nhất
HUST-FET, 04/04/2014
Instr. I Mem Reg Rd ALU Op D Mem Reg Wr Total
R-type 2 1 2 1 6ns
load 2 1 2 2 1 8ns
store 2 1 2 2 7ns
beq 2 1 2 5ns
jump 2 2ns
 Tính chu kỳ đồng hồ trong trường hợp bỏ qua trễ ở bộ ghép, khối điều khiển, khối mở
rộng dấu, khối đọc PC, khối dịch 2, dây dẫn, thời gian thiết lập và giữ. Cho biết độ trễ:
- Truy cập bộ nhớ lệnh và bộ nhớ dữ liệu (2ns)
- Khối số học logic và bộ cộng (2 ns)
- Truy cập tệp thanh ghi (đọc hoặc ghi) (1 ns)
Đánh giá hiệu năng
 Thời gian đáp ứng (thời gian thực thi) – là khoảng thời gian giữa thời
điểm bắt đầu thực hiên và thời điểm hoàn thành một nhiệm vụ
Quan trọng đối với 1 người sử dụng yêu cầu hệ thống thức
hiện 1 nhiệm vụ
 Thông lượng (dải thông) – là tổng số nhiệm vụ có thể được hoàn
thành trong 1 khoảng thời gian
Quan trọng đối với người điều hành trung tâm dự liệu
 Cần các hệ đo lường khác nhau cho hiệu năng của máy tính
Cách tính hiệu năng
 Hiệu năng (tốc độ) của máy tính X:
 Máy tính X nhanh hơn máy tính Y, n lần:
 Để tối đa hóa hiệu năng, cần tối thiểu hóa thời gian thực hiện
 Giảm thời gian đáp ứng thường sẽ tăng thông lượng
x
x TimeExecution 
1ePerformanc 
n 
x
y
y
x
imeExecutionT
imeExecutionT
ePerformanc
ePerformanc
Đo hiệu năng – Đo thời gian
thực hiện
Thời gian dùng để tính hiệu năng
 Thời gian đáp ứng (thời gian đồng hồ, thời gian đã trôi qua): 
 Tổng thời gian hoàn thành 1 nhiệm vụ
 Bao gồm: thời gian truy cập đĩa, bộ nhớ, thời gian vào ra, thời gian cho hệ điều hành
 Thời gian bộ xử lý (CPU time)
 Thời gian CPU người dùng
 Thời gian CPU hệ thống
 Thời gian CPU – thời gian bộ xử lý dùng để thực hiện 1 nhiệm vụ
 Không bao gồm thời gian chờ vào/ra hay thời gian thực hiện các chương trình khác
 Thời gian CPU cho 1 chương trình, Tcpu được tính từ số chu kỳ đồng hồ CPU thưc
hiện chương trình P và thời gian 1 chu kỳ đồng hồ
ccpuccpu fCTTCT /or 
Ví dụ
 Công thức để tính thời gian CPU, khi máy tính A thực hiện chương trình:
 Số chu kỳ máy tính A dùng để thực hiện chương trình:
 Số chu kỳ máy tính B dùng để thực hiện chương trình:
 Tốc độ đồng hồ của máy tính B:
 Hiệu năng có thể cải thiện bằng cách giảm số chu kỳ 1 xung đồng hồ hoặc giảm
số chu kỳ cần thiết để thực hiện chương trình
Ac
A
Acpu f
CT
,
, 
cycles102010210 99,, AcAcpuA fTC
AB CC 2,1
GHz
T
Cf
Bcpu
B
Bc 46
10202,1 9
,
, 
Máy tính A với xung đồng hồ 2GHz thực hiện 1 chương
trình hết 10 giây. Để thực hiện chương trình đó trong 6 
giây bằng máy tính B, ta cần tăng tốc độ xung đồng hồ
của máy B. Tuy nhiên, tăng tốc độ xung đồng hồ cũng
làm tăng số chu kỳ cần thiết lên 1,2 lần. Xác định tốc
độ xung đồng hồ máy tính B
Số xung đồng hồ
HUST-FET, 04/04/2014
 Số xung đồng hồ thực hiện 1 chương trình:
 Trong đó:
 I là số chỉ thị máy cần thực hiện trong chương trình
 CPI (eng. Clock cycles per Instruction) là số xung đồng hồ trung bình cần để thực thi 
1 chỉ thị máy, 
 CPI có thể dùng để so sánh các máy tính khác nhau cùng triển khai 1 kiến trúc tập lệnh. 
 Ví dụ: có 3 loại lệnh A, B, C khác nhau trong 1 kiến trúc tập lệnh. Mỗi lệnh trong từng
loại có CPI tương ứng: 
CPIIC 
CPI for this instruction class
A B C
CPI 1 2 3
So sánh dựa trên CPI
 Khi 2 máy tính A, B cùng thực hiện 1 chương trình, chúng cùng thực
hiện I chỉ thị.
 Do đó: 
 Máy A nhanh hơn máy B:
IpsITCPIIT
IpsITCPIIT
BcBBcpu
AcAAcpu
6005002,1
5002500,2
,,
,,
PerformanceA
PerformanceB
 Tcpu,B
Tcpu,A
 600 I
500 I 1,2
Máy tính A và B cùng triển khai 1 kiến
trúc tập lệnh. Máy A có chu kỳ đồng hồ
là 250ps, và CPI hiệu dụng cho 1 
chương trình P là 2,0. Máy B có chu kỳ
đồng hồ là 500ps, và CPI hiệu dụng
cho cùng 1 chương trình P là 1,2. Máy
tính nào nhanh hơn và nhanh hơn bao
nhiêu?
CPI hiệu dụng (trung bình)
 CPI hiệu dụng được tính bằng cách xét tất cả các lớp chỉ thị có trong 
chương trình và lấy trung bình với trọng số là tỉ lệ xuất hiện của lớp chỉ thị
trong chương trình
 Trong đó:
 ICi là tỉ lệ (%) số chỉ thị thuộc loại i được thực thi
 CPIi là số chu kỳ (trung bình) cần để thực hiện 1 chỉ thị thuộc thuộc loại i
 n là số loại chỉ thị
 CPI hiệu dụng phụ thuộc vào tỉ lệ chỉ thị trong một chương trình (tần suất
động của các chỉ thị trong 1 hoặc nhiều chương trình)
)(
1
i
n
i
i ICCPICPI 
So sánh đoạn mã chương trình
HUST-FET, 04/04/2014
51
 Người thiết kế một máy tính triển khai kiến trúc tập lệnh gồm 3 loại chỉ thị A, 
B, C được CPI như sau:
 Với 1 câu lệnh ở ngôn ngữ bậc cao, người viết trình biên dịch có thể lựa
chọn 2 đoạn chỉ thị máy gồm có tần suất các loại chỉ thị như sau:
 Đoạn mã nào gồm nhiều chỉ thị hơn? Đoạn mã nào nhanh hơn? Tính CPI 
của từng đoạn mã.
A B C
CPI 1 2 3
Đoạn mã A B C
1 2 1 2
2 4 1 1
So sánh đoạn mã chương trình
HUST-FET, 04/04/2014
52
 Đoạn mã 1 dùng 5 chỉ thị, đoạn mã 2 dùng 6 chỉ thị
 Số xung đồng hồ để thực hiện mỗi đoạn mã được tính như sau:
 Trong đó I1,i, I2,i là số lượng chỉ thị loại i trong đoạn mã 1 và 2 tương ứng
 Như vậy đoạn mã 1 chậm hơn đoạn mã 2, mặc dù dùng ít chỉ thị hơn
Đoạn mã A B C
1 2 1 2
2 4 1 1
9)131241()(
10)231221()(
,2
3
1
2
,1
3
1
1


i
i
i
i
i
i
ICPIC
ICPIC
A B C
CPI 1 2 3
Cải tiến hiệu năng
 Cho một máy tính thực hiện 1 chương trình gồm 4 loại chỉ thị máy có các thông số về tần suất và CPI 
như sau:
 Nếu ta có bộ đệm dữ liệu làm giảm thời gian nạp (Load) xuống 2 chu kỳ, máy tính sẽ nhanh lên bao
nhiêu lần?
 Nếu ta có khối dự báo rẽ nhánh cho phép tiết kiệm 1 chu kỳ khi rẽ nhánh, hiệu năng sẽ thế nào?
 Nếu ta có 2 khối ALU thực hiện 2 chỉ thị ALU đồng thời?
Op Tần suất (ICi) CPIi ICi x CPIi
ALU 50% 1
Load 20% 5
Store 10% 3
Branch 20% 2
 =
Hiệu năng thiết kế đơn xung nhịp
HUST-FET, 04/04/2014
Độ trễ logic khi
Truy cập lệnh 2 ns
Đọc thanh ghi 1 ns
Hoạt động ALU 2 ns
Truy cập bộ nhớ DL 2 ns
Ghi thanh ghi 1 ns
Tổng 8 ns
Tốc độ đồng hồ = 125 MHz
Các loại lệnh:
R-type 44% 6 ns
Load 24% 8 ns
Store 12% 7 ns
Branch 18% 5 ns
Jump 2% 4 ns
Thời gian trung bình 6.38 ns
CPI = 1.
P 
C 
P 
C 
P 
C 
P 
C 
P 
C 
ALU-type 
Load 
Store 
Branch 
Jump 
Not 
used 
Not 
used 
Not 
used 
Not 
used 
Not 
used 
Not 
used 
Not 
used 
Not 
used 
Not 
used 
(and jr) 
(except 
jr & jal) 
Thiết kế đơn xung nhịp – Ưu
nhược điểm
HUST-FET, 04/04/2014
55
 Sử dụng chu kỳ đồng hồ không hiệu quả – chu kỳ đồng hồ được đặt
theo lệnh chậm nhất.
 Các lệnh phức tạp như lệnh nhân dấu phẩy động: Tốn diện tích thiết kế
vì cần nhân đôi một số khối chức năng (VD. bộ cộng) vì chúng không
thể được chia sẻ trong cùng 1 chu kỳ đồng hồ
 Đơn giản và dễ hiểu
Clk
lw sw Waste
Cycle 1 Cycle 2
Thiết kế đa xung nhịp
HUST-FET, 04/04/2014
56
 Chia lệnh thành các pha thực hiện: IF, ID, EX, MEM, WB. Mỗi pha thực hiện trong 
1 chu kỳ xung nhịp
 Thời gian thực hiện (= số pha) của mỗi lệnh được điều chỉnh tùy thuộc độ phức
tạp của lệnh
 Các khối chức năng được chia sẻ giữa các pha khác nhau của lệnh do một khối
chức năng cụ thể không cần trong toàn bộ các pha thực hiện của lệnh
Clock 
Clock 
Instr 2 Instr 1 Instr 3 Instr 4 
3 cycles 3 cycles 4 cycles 5 cycles 
Time 
saved 
Instr 1 Instr 4 Instr 3 Instr 2 
Time 
needed 
Time 
needed 
Time 
allotted 
Time 
allotted 
Hiệu năng thiết kế đa xung nhịp
HUST-FET, 04/04/2014
Các loại lệnh sử dụng số
chu kỳ khác nhau
R-type 44% 4 cycles
Load 24% 5 cycles
Store 12% 4 cycles
Branch 18% 3 cycles
Jump 2% 2 cycles
Đóng góp vào số chu kỳ
trung bình cần cho một
lệnh:
R-type
Load
Store
Branch
Jump
_____________________________
CPI trung bình 
P 
C 
P 
C 
P 
C 
P 
C 
P 
C 
ALU-type 
Load 
Store 
Branch 
Jump 
Not 
used 
Not 
used 
Not 
used 
Not 
used 
Not 
used 
Not 
used 
Not 
used 
Not 
used 
Not 
used 
(and jr) 
(except 
jr & jal) 
Hiệu năng thiết kế đa xung nhịp
HUST-FET, 04/04/2014
58
Các loại lệnh sử dụng số
chu kỳ khác nhau
R-type 44% 4 cycles
Load 24% 5 cycles
Store 12% 4 cycles
Branch 18% 3 cycles
Jump 2% 2 cycles
Tính số chu kỳ trung bình
cần cho một lệnh:
R-type 0.44 4 = 1.76
Load 0.24 5 = 1.20
Store 0.12 4 = 0.48
Branch 0.18 3 = 0.54
Jump 0.02 2 = 0.04
_____________________________
CPI trung bình  4.02
P 
C 
P 
C 
P 
C 
P 
C 
P 
C 
ALU-type 
Load 
Store 
Branch 
Jump 
Not 
used 
Not 
used 
Not 
used 
Not 
used 
Not 
used 
Not 
used 
Not 
used 
Not 
used 
Not 
used 
(and jr) 
(except 
jr & jal) 
Thiết kế đơn xung nhịp
HUST-FET, 04/04/2014
59
 / 
 ALU 
Data 
cache 
Instr 
cache 
Next addr 
Reg 
file 
op 
 jta 
fn 
inst 
 imm 
rs (rs) 
 (rt) 
Data 
addr 
Data 
in 0 
1 
ALUSrc 
ALUFunc DataWrite 
DataRead 
SE 
RegInSrc 
rt 
rd 
RegDst 
RegWrite 
32 
 / 
16 
Register input 
Data 
out 
Func 
ALUOvfl 
Ovfl 
31 
0 
1 
2 
Next PC 
Incr PC 
 (PC) 
Br&Jump 
ALU 
out 
PC 
0 
1 2 
Clock rate = 125 MHz
CPI = 1 (125 MIPS)
Thiết kế đa xung nhịp
HUST-FET, 04/04/2014
60
Clock rate = 500 MHz
CPI  4 ( 125MIPS)
 / 
16 
rs 
0 
1 
0 
 1 
 2 
 ALU 
Cache Reg file 
op 
 jta 
fn 
 (rs) 
 (rt) 
Address 
Data 
 Inst Reg 
 Data Reg 
 x Reg 
 y Reg 
z Reg PC 
 4 
ALUSrcX 
ALUFunc 
MemWrite 
 MemRead 
RegInSrc 
4 
rd 
RegDst RegWrite 
 / 
32 
Func 
ALUOvfl 
Ovfl 
31 
PCSrc 
 PCWrite IRWrite 
ALU out 
0 
1 
0 
1 
0 
 1 
 2 3 
0 
 1 
 2 
 3 
Inst Data 
 ALUSrcY 
SysCallAddr 
 / 
26 
 4 
rt 
ALUZero 
Zero 
 x Mux 
 y Mux 
0 
1 
JumpAddr 
 4 MSBs 
 / 
30 
 30 
SE 
imm 
2
So sánh đánh giá thiết kế
đơn xung nhịp
HUST-FET, 04/04/2014
Instruction access 2 ns
Register read 1 ns
ALU operation 2 ns
Data cache access 2 ns
Register write 1 ns
Total 8 ns
Single-cycle clock = 125 MHz
Đồng hồ tốc độ 125 MHz là bình thường
So sánh độ trễ thực hiện 1 lệnh: 
Một bộ xử lý 2.5 GHz với 20 giai đoạn pipeline có độ trễ khoảng:
0.4 ns/cycle 20 cycles = 8 ns 
Lưu lượng của bộ xử lý có pipeline tốt hơn rất nhiều:
Tốt hơn tới 20 lần với các bộ xử lý phát hành đơn lệnh
Tốt hơn tới 100 lần với các bộ xử lý phát hành đa lệnh
So sánh đánh giá thiết kế đa xung
nhịp
HUST-FET, 04/04/2014
62
R-type 44% 4 cycles
Load 24% 5 cycles
Store 12% 4 cycles
Branch 18% 3 cycles
Jump 2% 2 cycles
Contribution to CPI
R-type 0.44 4 = 1.76
Load 0.24 5 = 1.20
Store 0.12 4 = 0.48
Branch 0.18 3 = 0.54
Jump 0.02 2 = 0.04
_____________________________
Average CPI  4.02
Cycle time = 2 ns
Clock rate = 500 MHz
So sánh độ trễ thực hiện 1 lệnh:
Một bộ xử lý 2.5 GHz với 20 giai đoạn pipeline 
có độ trễ khoảng: 0.4 ns/cycle 20 cycles = 8 ns 
Lưu lượng của bộ xử lý có pipeline 
tốt hơn rất nhiều:
- Tốt hơn tới 20 lần với các bộ xử lý phát
hành đơn lệnh
- Tốt hơn tới 100 lần với các bộ xử lý phát
hành đa lệnh

File đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_chuong_iii_bo_xu_ly_khoi_dieu_k.pdf