Bài giảng Kiến trúc máy tính - Chương 3: Bộ xử lý
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
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 3: Bộ xử lý", để 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 3: Bộ xử lý
Chương 3: 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 Material that is not in this lecture Readings from the book – ALU Function field (fig.4.13 in 4.4) – Some data path details – The book has excellent descriptions of this topic. Please read the book before watching this lecture. The reading assignment is on the website. Thực thi cơ bản của MIPS (from the book) 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 . Sơ đồ khối HUST-FET, 14/02/2024 8 Triển khai các lệnh Lệnh truy cập bộ nhớ : lw, sw Lệnh số học và logic : add, sub, and, or, slt Lệnh điều khiển dòng chương trình : beq, j Triển khai các pha hoạt động Dùng thanh ghi PC để lưu địa chỉ lệnh Đọc lệnh từ bộ nhớ, và cập nhật giá trị PC Giải mã lệnh và đọc các thanh ghi Thực hiện lệnh Lưu kết quả Instruction Fetch Instruction Decode Operand Fetch Execute Result Store Next Instruction Fetch PC = PC+4 Decode Exec, Store Stages of Execution on Datapath instruction memory + 4 rt rs rd registers ALU Data memory imm 1. Instruction Fetch 2. Decode/ Register Read 3. Execute 4. Memory 5. Register Write PC 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 Nạp lệnh HUST-FET, 14/02/2024 11 Đọc lệnh tại địa chỉ (lưu trong) PC từ bộ nhớ lệnh ( eng. Instruction Memory ) Cập nhật giá trị PC tới địa chỉ của lệnh kế tiếp Read Address Instruction Instruction Memory Add PC 4 PC được cập nhật ở mọi chu kỳ không cần tín hiệu điều khiển ghi PC. Đọc từ bộ nhớ lệnh được thực hiện bằng logic tổ hợp Instruction Fetch Instruction Decode Operand Fetch Execute Result Store Next Instruction Giải mã lệnh HUST-FET, 14/02/2024 12 Chuyển các bit thuộc trường mã lệnh và trường mã chức năng tới khối điều khiển Instruction Control Unit Instruction Fetch Instruction Decode Operand Fetch Execute Result Store Next Instruction Giải mã lệnh (lệnh R) Giải mã lệnh (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) Nạp toán hạng HUST-FET, 14/02/2024 18 Đọc 2 giá trị toán hạng nguồn từ tệp thanh ghi Chỉ số các thanh ghi nằm trong lệnh Mở rộng dấu cho toán hạng trực tiếp I Write Data Read Addr 1 Read Addr 2 Write Addr Register File Read Data 1 Read Data 2 Instruction Fetch Instruction Decode Operand Fetch Execute Result Store Next Instruction Thực hiện lệnh HUST-FET, 14/02/2024 19 Thực hiện phép toán (mã hóa bới op và funct ) trên giá trị toán hạng opA và opB Các phép toán của lệnh R và I Phép toán tính địa chỉ trong lệnh lw, sw Phép toán so sánh trong lệnh beq, bne Instruction Fetch Instruction Decode Operand Fetch Execute Result Store Next Instruction opB ALU overflow zero ALU control opA result 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á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 ) Ghi kết quả HUST-FET, 14/02/2024 22 Từ ALU với các lệnh tính toán Từ bộ nhớ với các lệnh truy cập bộ nhớ Write Data Read Addr 1 Read Addr 2 Write Addr Register File Read Data 1 Read Data 2 RegWrite Instruction Fetch Instruction Decode Operand Fetch Execute Result Store Next Instruction Truy cập bộ nhớ HUST-FET, 14/02/2024 23 MemWrite MemRead Data Memory Address Write Data Read Data Địa chỉ theo byte Dữ liệu từ thanh ghi rt Instruction Fetch Instruction Decode Operand Fetch Execute Result Store Next Instruction 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 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
File đính kèm:
- bai_giang_kien_truc_may_tinh_chuong_3_bo_xu_ly.pptx