Giáo trình Kiến trúc máy tính - Chương 3: Bộ Xử lý: Khối điều khiển và Đường dữ liệu - Đại học Bách Khoa
So sánh đánh giá thiết kế
đơn xung nhịp
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ệnhSo 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.444 = 1.76
Load 0.245 = 1.20
Store 0.124 = 0.48
Branch 0.183 = 0.54
Jump 0.022 = 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
62 trang |
Chia sẻ: thucuc2301 | Lượt xem: 792 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Giáo trình Kiến trúc máy tính - Chương 3: Bộ Xử lý: Khối điều khiển và Đường dữ liệu - Đại học Bách Khoa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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.444 = 1.76
Load 0.245 = 1.20
Store 0.124 = 0.48
Branch 0.183 = 0.54
Jump 0.022 = 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
InstData
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.444 = 1.76
Load 0.245 = 1.20
Store 0.124 = 0.48
Branch 0.183 = 0.54
Jump 0.022 = 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
Các file đính kèm theo tài liệu này:
- kien_truc_may_tinhchapter_3_processor_4302_2016040.pdf