Datapath là gì
CE KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 1 CE KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 2 CE BỘ XỬ LÝ Nội dung phần 1 3 CE BỘ XỬ LÝ Nội
dung 4 CE 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ố: Được xác định bởi trình biên dịch – Chu kỳ xung clock Được xác định bởi quá Mục đích chính của chương này: CE 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 Nhóm lệnh tham khảo bộ nhớ (lw và 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) 6 CE Giới thiệu Tổng quan các lệnh cần xem xét: Nhóm lệnh
logic và số học: Nhóm lệnh nhảy: 7 CE Giới thiệu Hình ảnh datapath của một bộ xử lý với 8 lệnh MIPS: add, sub, AND, OR, slt, 8 CE BỘ XỬ LÝ Nội dung 9 Quy ước thiết kế CE Phần này nhắc lại các khái niệm: 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’ Bus 10 CE BỘ XỬ LÝ Nội dung 11 CE Quy trình thực thi lệnh Next Instruction Instruction – Nạp lệnh từ bộ nhớ (memory) Instruction Decode (giải mã lệnh): Operand Fetch (tìm nạp toán hạng): Execute Execute (thực thi): Result Write (lưu trữ): 12 CE Quy trình thực thi lệnh của MIPS 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 Fetch & Operand add $3, $1, $2 lw $3, 20( $1 ) beq $1, $2, label standard standard standard o Đọc thanh ghi $1, xem o Đọc thanh ghi $1, xem như toán hạng opr2 Execute Result = opr1 + opr2 o MemAddr = opr1 + opr2 Result Result được lưu trữ vào Dữ liệu của từ nhớ có địa opr = Operand o Đọc thanh ghi $1, xem như toán hạng opr1 * = simplification, not exact CE 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: lw $3, 20( $1 ) beq $1, $2, label Fetch Đọ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 Decode & o Đọc thanh ghi $1, xem o Đọc thanh ghi $1, xem o Đọc thanh ghi $1, xem như Result = opr1 + opr2 MemAddr = opr1 + opr2 Taken = (opr1 == opr2 )? Target = PC + Label* ALU Sử dụng MemAddr để đọc if (Taken) CE Quy trình thực thi lệnh của MIPS (5 công đoạn) Next Instruction Fetch Access Instruction Fetch (Nạp lệnh) ALU (Giai đoạn sử dụng ALU hay giai đoạn thực Memory Access (Giai đoạn truy xuất vùng nhớ) 15 CE Quy trình thực thi lệnh của MIPS (5 công đoạn) Next Instruction Fetch Result Instruction Fetch (Nạp lệnh) ALU (Giai đoạn sử dụng ALU hay giai đoạn thực Memory Access (Giai đoạn truy xuất vùng nhớ) 16 Giai đoạn tìm nạp lệnh (Instruction Fetch) CE Giai đoạn nạp lệ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ỉ • Tại sao địa chỉ lệnh tiếp theo là PC + 4? Kết quả của giai đoạn này là đầu vào cho giai đoạn tiếp CE Giai đoạn tìm nạp lệnh (Instruction Fetch) Instruction Instruction Decode Stage PC Thanh ghi 18 CE Khối Instruction Memory Vùng nhớ lưu trữ lệnh Đầu vào: là địa chỉ của lệnh Instruction Instruction Memory Cách sắp xếp của bộ nhớ giống như hình bên phải ……….. 2048 19 CE Bộ cộng Mạch logic kết hợp để cộng 2 số - bộ cộng A – Hai số 32-bit A, B Đầu ra: Add Sum A+B B – A+B 20 CE Ý niệm về việc sử dụng xung clock Dường như thanh ghi PC được đọc và cập nhật cùng lúc: Magic of clock: Add In PC Time Read Clk Instruction Instruction PC 100 104 108 112 21 CE Quy trình thực thi lệnh của MIPS (5 công đoạn) Next Instruction Fetch Instruction Fetch (Nạp lệnh) ALU (Giai đoạn sử dụng ALU hay giai đoạn thực Memory Access (Giai đoạn truy xuất vùng nhớ) 22 Giai đoạn giải mã (Decode) CE Giai đoạn decode: Đọc opcode để xác định kiểu lệnh và chiều dài của từng trường trong Đầu vào từ giai đoạn trước (Fetch): Đầu ra cho giai đoạn tiếp theo (Execute): 23 CE Giai đoạn giải mã (Decode) 5 Read 5 Write Read Register Data Operands Read Execute Stage Fetch Stage Inst. 5 Khối chứa tập hợp của 24 CE Khối Register File Một tập 32 thanh ghi: RegWrite: là một tín hiệu điều khiển nhằm mục đích: Register 5 Read 5 Read 5 Data Write Read Register Data Read RegWrite 25 |