Bài giảng Kiến trúc máy tính - Tuần 10: Bộ xử lý processor

KIẾN TRÚC MÁY TÍNH  
Tuần 10  
BỘ XỬ LÝ  
PROCESSOR  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
1
BỘ XỬ LÝ  
Mục đích:  
Hiểu cơ chế thực thi lệnh và các quy ước về thiết kế  
logic  
Thiết kế Datapath với 8 lệnh cơ bản cho một bộ xử lý và  
cách hiện thực thiết kế này.  
Slide tham khảo từ:  
1. Computer Organization and Design: The Hardware/Software Interface,  
Patterson, D. A., and J. L. Hennessy, Morgan Kaufman, Revised Fourth  
Edition, 2011.  
2. NUS, Singapore  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
2
BỘ XỬ LÝ  
1. Giới thiệu  
2. Nhắc lại các quy ước thiết kế logic  
3. Xây dựng đường dữ liệu (datapath) đơn giản  
4. Hiện thực datapath đơn chu kỳ  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
3
Giới thiệu  
Hiệu suất của một máy tính được xác định bởi ba yếu t:  
Tổng số câu lệnh  
Được xác định bởi trình biên dịch  
kiến trúc tập lệnh  
Chu kỳ xung clock  
Được xác định bởi quá  
trình hiện thực bộ xử lý  
Số chu kỳ xung clock trên một lệnh  
(Clock cycles per instruction CPI)  
Mục đích chính của chương này:  
- Giải thích quy tắc hoạt động hướng dẫn xây dựng datapath cho một bộ xử chứa  
một số lệnh đơn giản (giống kiến trúc tập lệnh dạng MIPS), gồm hai ý chính:  
Thiết kế datapath  
Hiện thực datapath đã thiết kế  
MIPS (bắt nguồn từ chữ viết tắt của ‘Microprocessor without Interlocked Pipeline Stages’) là  
một kiến trúc tập tập lệnh dạng RISC, được phát triển bởi MIPS Technologies (trước đây là  
MIPS Computer Systems, Inc.)  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
4
Giới thiệu  
Chương này chỉ xem xét 8 lệnh trong 3 nhóm chính của tập lệnh  
MIPS:  
Nhóm lệnh tham khảo bộ nh(lw sw)  
Nhóm lệnh liên quan đến logic và số học (add, sub, AND, OR, và slt)  
Nhóm lệnh nhảy (Lệnh nhảy với điều kiện bằng beq)  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
5
Giới thiệu  
Tổng quan các lệnh cần xem xét:  
Nhóm lệnh tham khảo bộ nhớ:  
Nạp lệnh Đọc một/hai thanh ghi Sử dụng ALU Truy xuất bộ nhớ để đọc/ghi dữ  
liệu  
Nhóm lệnh logic và số học:  
Nạp lệnh Đọc một/hai thanh ghi Sử dụng ALU Ghi dữ liệu vào thanh ghi  
Nhóm lệnh nhảy:  
Nạp lệnh Đọc một/hai thanh ghi Sử dụng ALU Chuyển đến địa chỉ lệnh tiếp  
theo dựa trên kết quả so sánh  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
6
Giới thiệu  
Hình ảnh datapath của một bộ xử với 8 lệnh MIPS: add, sub, AND, OR, slt,  
lw, sw và beq  
03/2017  
7
BỘ XỬ LÝ  
1. Giới thiệu  
2. Nhắc lại các quy ước thiết kế logic  
3. Xây dựng đường dữ liệu (datapath) đơn giản  
4. Hiện thực datapath đơn chu kỳ  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
8
Quy ước thiết kế  
Phần này nhắc lại các khái niệm:  
Mạch tổ hợp (Combinational): ALU  
Mạch tuần tự (Sequential): instruction/data memories và thanh ghi  
Tín hiệu điều khiển (Control signal)  
Tín hiệu dữ liệu (Data signal)  
Asserted (assert): Khi tín hiệu ở mức cao hoặc ‘true’  
Deasserted (deassert): Khi tín hiệu ở mức thấp hoặc ‘false’  
Edge-triggered clocking (Rising/Falling)  
Bus  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
9
BỘ XỬ LÝ  
1. Giới thiệu  
2. Nhắc lại các quy ước thiết kế logic  
3. Xây dựng đường dữ liệu (datapath) đơn giản  
4. Hiện thực datapath đơn chu kỳ  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
10  
Quy trình thực thi lệnh  
Instruction Fetch (tìm nạp lệnh):  
Instruction  
Fetch  
Nạp lệnh từ bộ nh(memory)  
Địa chỉ của lệnh lưu trong thanh ghi Program  
Counter (PC)  
Instruction  
Decode  
Instruction Decode (giải lệnh):  
Tìm ra lệnh thực hiện  
Operand  
Fetch  
Operand Fetch (tìm nạp toán hạng):  
Lấy các toán hạng cần thiết cho lệnh  
Execute (thực thi):  
Execute  
Thực hiện câu lệnh  
Result  
Write  
Result Write (lưu trữ):  
Lưu trữ kết quả  
11  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
Quy trình thực thi lệnh  
Bảng sau mô tả ba giai đoạn thực thi lệnh trong ba nhóm lệnh cơ bản của  
MIPS (Giai đoạn Fetch and Decode không được hiển thị)  
add $3, $1, $2 lw $3, 20( $1 ) beq $1, $2, label  
Fetch &  
Decode  
standard  
standard  
standard  
o Đọc thanh ghi $1, xem o Đọc thanh ghi $1, xem  
như toán hạng opr1 như toán hạng opr1  
o Đọc thanh ghi $2, xem o Sử dụng 20 như toán  
o Đọc thanh ghi $1, xem như  
toán hạng opr1  
o Đọc thanh ghi $2, xem như  
toán hạng opr2  
Operand  
Fetch  
như toán hạng opr2  
hạng opr2  
o MemAddr = opr1 + opr2  
o Sử dụng MemAddr để  
đọc dữ liệu từ bộ nhớ  
Taken = (opr1 == opr2 )?  
Target = PC + Label*  
Execute Result = opr1 + opr2  
Dữ liệu của từ nhớ địa  
chỉ MemAddr được được  
lưu trữ vào $3  
Result  
Write  
Result được lưu trữ vào  
$3  
if (Taken)  
PC = Target  
opr = Operand  
MemAddr = Memory Address  
* = simplification, not exact  
12  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
Quy trình thực thi lệnh của MIPS (5 công đoạn)  
Thay đổi thiết kế các giai đoạn thực hiện lệnh:  
Gộp giai đoạn Decode Operand Fetch Giai đoạn Decode của MIPS khá đơn giản  
Tách giai đoạn Execute thành ALU (Calculation) và Memory Access  
add $3, $1, $2  
lw $3, 20( $1 )  
beq $1, $2, label  
Đọc lệnh (địa chỉ của lệnh Đọc lệnh (địa chỉ của lệnh Đọc lệnh (địa chỉ của lệnh lưu  
Fetch  
lưu trong thanh ghi PC)  
o Đọc thanh ghi $1, xem o Đọc thanh ghi $1, xem  
như toán hạng opr1 như toán hạng opr1  
o Đọc thanh ghi $2, xem o Sử dụng 20 như toán  
lưu trong thanh ghi PC)  
trong thanh ghi PC)  
o Đọc thanh ghi $1, xem như  
toán hạng opr1  
o Đọc thanh ghi $2, xem như  
toán hạng opr2  
Decode &  
Operand  
Fetch  
như toán hạng opr2  
hạng opr2  
Taken = (opr1 == opr2 )?  
Target = PC + Label*  
ALU  
Result = opr1 + opr2  
MemAddr = opr1 + opr2  
Memory  
Access  
Sử dụng MemAddr để đọc  
dữ liệu từ bộ nhớ  
Dữ liệu của từ nhđịa  
Result được lưu trữ vào $3 chỉ MemAddr được được  
Result  
Write  
if (Taken)  
PC = Target  
lưu trữ vào $3  
13  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
Quy trình thực thi lệnh của MIPS (5 công đoạn)  
Fetch  
Instruction Fetch (Nạp lệnh)  
Instruction  
Instruction Decode & Operand  
Decode  
Fetch  
ALU  
(Giải mã và lấy các toán hạng cần thiết, Gọi  
tắt “Instruction Decode”)  
Memory  
Access  
ALU (Giai đoạn sử dụng ALU hay giai đoạn  
thực thi)  
Result  
Write  
Memory Access (Giai đoạn truy xuất vùng  
nhớ)  
Result Write (Giai đoạn ghi lại kết quả/lưu  
trữ)  
14  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
Quy trình thực thi lệnh của MIPS (5 công đoạn)  
Fetch  
Instruction Fetch (Nạp lệnh)  
Instruction  
Instruction Decode & Operand  
Decode  
Fetch  
ALU  
(Giải mã và lấy các toán hạng cần thiết, Gọi  
tắt “Instruction Decode”)  
Memory  
Access  
ALU (Giai đoạn sử dụng ALU hay giai đoạn  
thực thi)  
Result  
Write  
Memory Access (Giai đoạn truy xuất vùng  
nhớ)  
Result Write (Giai đoạn ghi lại kết quả/lưu  
trữ)  
15  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
Giai đoạn tìm nạp lệnh (Instruction Fetch)  
Giai đoạn nạp lệnh:  
1. Sử dụng thanh ghi Program Counter (PC) để tìm nạp lệnh  
từ bộ nhớ  
Thanh ghi PC là một thanh ghi đặc biệt trong bộ vi xử lý  
2. Tăng giá trị trong thanh ghi PC lên 4 đơn vị để lấy địa chỉ  
của lệnh tiếp theo  
Tại sao địa chỉ lệnh tiếp theo là PC + 4?  
Chú ý, lệnh rẽ nhánh (branch) và lệnh nhảy (jump) là một trường  
hợp ngoại lệ  
Kết quả của giai đoạn này là đầu vào cho giai đoạn  
tiếp theo (Decode):  
Kết quả của giai đoạn này là 32 bit mã máy của lệnh cần thực thi. Chuỗi 32 bits  
này sẽ sử dụng như đầu vào (input) cho giai đoạn tiếp theo là Decode  
16  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
Giai đoạn tìm nạp lệnh (Instruction Fetch)  
Bộ cộng  
Add  
4
PC  
Read  
address  
Instruction  
Instruction  
Instruction  
memory  
Thanh ghi  
PC  
Vùng nhớ lưu trữ  
lệnh  
17  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
Khối Instruction Memory  
Vùng nhớ lưu trữ lệnh  
Instruction  
Address  
Đầu vào: địa chỉ của lệnh  
Instruction  
Đầu ra: nội dung lệnh tương ứng  
với địa chỉ được cung cấp  
Instruction  
Memory  
Instruction  
Memory  
………..  
add $3, $1, $2  
2048  
2052  
2056  
……  
Cách sắp xếp của bộ nhớ giống như hình  
bên phải➔  
sll $4, $3, 2  
andi $1, $4, 0xF  
………..  
18  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
Bộ cộng  
Mạch logic kết hợp để cộng 2 số - bộ cộng  
A
Đầu vào:  
A+B  
Hai số 32-bit A, B  
Sum  
Add  
Đầu ra:  
B
A + B  
19  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
Ý niệm về việc sử dụng xung clock  
Dường như thanh ghi PC được đọc cập nhật cùng lúc:  
PC hoạt động chính xác như thế nào?  
Magic of clock:  
PC được đọc trong nửa clock đầu cập nhật thành PC+4 trong  
lần kích cạnh lên tiếp theo  
Add  
4
Time  
PC  
Read  
address  
Clk  
In  
Instruction  
100  
104  
104  
108  
108  
112  
112  
116  
PC  
In  
Instruction  
memory  
20  
03/2017  
Copyrights 2017 CE-UIT. All Rights Reserved.  
Tải về để xem bản đầy đủ
pptx 53 trang yennguyen 12/04/2022 5900
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 - Tuần 10: Bộ xử lý processor", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pptxbai_giang_kien_truc_may_tinh_tuan_10_bo_xu_ly_processor.pptx