Bài giảng Kiến trúc máy tính (Tạ Kim Huệ) Chương 3

64 17 0
Bài giảng Kiến trúc máy tính (Tạ Kim Huệ) Chương 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương 3: Bộ xử lý Khối điều khiển Đường liệu Thiết kế đơn xung nhịp • • Thiết kế xử lý lệnh chu kỳ đồng hồ Các khối xử lý bản: – Combinational logic tạo 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 Instruction Fetch   Triển khai lệnh ● Lệnh truy cập nhớ: lw, sw ● Lệnh số học logic: add, sub, and, or, slt ● Lệnh điều khiển dịng chương trình: beq, j Instruction Decode Operand Triển khai pha hoạt động ● Fetch Dùng ghi PC để lưu địa lệnh Đọc lệnh từ nhớ, cập nhật giá trị PC Execute ● Giải mã lệnh đọc ghi ● Thực lệnh ● Result Lưu kết Fetch Store PC = PC+4 Next Exec, Store HUST-FET, 10/28/21 Decode Instruction rs rt ALU memory registers memory instruction PC rd Data Stages of Execution on Datapath imm +4 Instruction Fetch Decode/ Register Read Execute Memory Register Write Nạp lệnh • Theo dõi địa lệnh tên PC – Tăng PC lên chu kỳ – Tải lệnh địa xác định PC Nạp lệnh  Đọc lệnh địa (lưu trong) PC từ nhớ lệnh (eng Instruction Memory)  Cập nhật giá trị PC tới địa lệnh Instruction Fetch Instruction Add Decode Operand Fetch Instruction Memory PC Read Execute Result Instruction Store Address Next Instruction  PC cập nhật chu kỳ  không cần tín hiệu điều khiển ghi PC  Đọc từ nhớ lệnh thực logic tổ hợp HUST-FET, 10/28/21 11 Giải mã lệnh  Chuyển bit thuộc trường mã lệnh trường mã chức tới khối điều khiển Control Instruction Unit Fetch Instruction Decode Operand Instruction Fetch Execute Result Store Next Instruction HUST-FET, 10/28/21 12 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) Ví dụ: Lệnh addi thực thi nào? Khi có tín hiệu đồng hồ, biến lưu trữ Lặp lại q trình… Ví dụ lệnh: addi Các tuyến logic trễ Tốc độ xử lý xác định nào? Tính chu ky đồng hồ Tc – Đường dài  Tính chu kỳ đồng hồ trường hợp bỏ qua trễ 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 giữ Cho biết độ trễ: - Truy cập nhớ lệnh nhớ liệu (2ns) - Khối số học logic cộng (2 ns) - Truy cập tệp ghi (đọc ghi) (1 ns) Instr I Mem Reg Rd ALU Op D Mem R-type 2 load 2 store 2 beq 2 jump HUST-FET, 10/28/21 Reg Wr Total 6ns 8ns 7ns 5ns 2ns Hiệu thiết kế đơn xung nhịp Độ trễ logic Truy cập lệnh ns Đọc ghi ns Hoạt động ALU ns Truy cập nhớ DL ns Ghi ghi ns Tổng ns Tốc độ đồng hồ = 125 MHz ALU-type P C Load P C Store P C Branch P C Jump P C Not used Not used Các loại lệnh: R-type 44% ns Load 24% ns Store 12% ns Branch 18% ns Jump ns 2% Thời gian trung bình≅ 6.38 ns HUST-FET, 10/28/21 CPI = (and jr) (except jr & jal) Not used Not used Not used Not used Not used Not used Not used Thiết kế đơn xung nhịp – Ưu nhược điểm Cycle Cycle Clk lw sw Waste  Sử dụng chu kỳ đồng hồ không hiệu – chu kỳ đồng hồ đặt theo lệnh chậm  Các lệnh phức tạp lệnh nhân dấu phẩy động: Tốn diện tích thiết kế cần nhân đơi số khối chức (VD cộng) chúng khơng thể chia sẻ chu kỳ đồng hồ  Đơn giản dễ hiểu HUST-FET, 10/28/21 63 Thiết kế đa xung nhịp • Chia lệnh thành pha thực hiện: IF, ID, EX, MEM, WB Mỗi pha thực chu kỳ xung nhịp • Thời gian thực (= số pha) lệnh điều chỉnh tùy thuộc độ phức tạp lệnh • Các khối chức chia sẻ pha khác lệnh khối chức cụ thể không cần toàn pha thực lệnh Clock Time needed Time allotted Instr Instr Instr Instr Clock Time needed Time allotted cycles cycles cycles cycles Instr Instr Instr Instr HUST-FET, 10/28/21 Time saved 64 Hiệu thiết kế đa xung nhịp Các loại lệnh sử dụng số chu kỳ khác R-type 44% cycles Load 24% cycles Store 12% cycles Branch 18% cycles Jump cycles 2% Đóng góp vào số chu kỳ trung bình cần cho ALU-type P C Load P C Store P C Branch P C Jump P C Not used Not used lệnh: R-type Load (and jr) Store Not used Not used Not used Not used Not used Not used Branch Jump _ CPI trung bình ≅ HUST-FET, 10/28/21 (except jr & jal) Not used Hiệu thiết kế đa xung nhịp Các loại lệnh sử dụng số chu kỳ khác R-type 44% cycles Load 24% cycles Store 12% cycles Branch 18% cycles Jump cycles 2% ALU-type P C Load P C Store P C Branch P C Jump P C Not used Tính số chu kỳ trung bình cần cho 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.04 0.02×2 (and jr) Not used Not used Not used Not used Not used Not used Not used _ CPI trung bình ≅ 4.02 (except jr & jal) HUST-FET, 10/28/21 Not used 66 So sánh hiệu xử lý So sánh hiệu xử lý thiết kế đa xung nhịp thiết đơn xung nhịp, biết tần suất xuất lệnh sau: lw : 20% sw: 20% R - : 45 % beq: 15% Thiết kế đơn xung nhịp Incr PC Next addr Clock rate = 125 MHz jta Next PC (PC) PC Instr cache rs rt inst rd 31 imm op HUST-FET, 10/28/21 CPI = (125 MIPS) Ovfl Data addr (rs) Reg file ALU (rt) / 16 32 SE / Func ALU out Data cache Data in Data out Register input fn RegDst RegWrite Br&Jump ALUOvfl ALUSrc ALUFunc DataRead RegInSrc DataWrite 68 Thiết kế đa xung nhịp Clock rate = 500 MHz CPI ≅ (≅ 125 MIPS) 26 / Inst Reg jta Address PC MSBs rs Data Reg Inst′Data PCWrite MemWrite op Reg file MemRead HUST-FET, 10/28/21IRWrite (rt) imm 16 / fn ALUZero x Mux ALUOvfl Zero z Reg Ovfl (rs) 12 Data 32 y Reg SE / RegInSrc RegDst SysCallAddr x Reg rt rd 31 Cache 30 / RegWrite y Mux ×4 ALUSrcX ALUSrcY 30 ×4 ALU Func ALU out ALUFunc PCSrc 69 JumpAddr ... Bộ tính tốn ALU – tải lệnh – tính toán giá trị PC – đọc từ tệp ghi – thực thi tính tốn – ghi lại tệp ghi • Truy nhập nhớ (load/store) – tải lệnh – tính tốn giá trị củaPC – đọc từ tệp ghi – tính. .. HUST-FET, 10/28/21 19 Tính tốn ALU (các thị lệnh dạng R-type) Các bước thực hiện? – Đọc liệu từ tệp ghi(specify rs and rt) – Thực thi tính toán ALU – Ghi liệu tệp ghi (specify rd) Tính tốn ALU • Các... liệu vào tệp ghi • Nạp lệnh (branch) – tải lệnh – tính tốn giá trị PC – đọc từ tệp ghi Tính tốn địa rẽ nhánh: khơng sử dụng ALU cho phép tốn so sánh tính tốn địa thời điểm – thực thi nhánh so sánh

Ngày đăng: 28/10/2021, 12:25

Mục lục

    Thiết kế đơn xung nhịp

    Stages of Execution on Datapath

    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)

    Tính toán trên ALU (các chỉ thị lệnh dạng R-type)

    Tính toán trên ALU

    Truy cập bộ nhớ

Tài liệu cùng người dùng

Tài liệu liên quan