Bài giảng Kiến trúc máy tính: Chương III

62 14 0
Bài giảng Kiến trúc máy tính: Chương III

Đ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

Bài giảng Kiến trúc máy tính - Chương III: Bộ xử lý: Khối điều khiển và đường dữ liệu, trình bày các 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.

Bộ xử lý: Khối điều khiển Đường liệu Nội dung Thành phần xử lý – Lệnh truy cập – Các toán tử ALU – Toán tử nhớ Kết nối thành phần – Các tín hiệu điều khiển đồn kênh MUXes – Các thị giải mã lệnh Thực thi MIPS (from the book)  Xem lại tập lệnh 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 xử lý?  Nạp lệnh: tìm lệnh tải lệnh  Tính tốn ALU: tìm tốn tử thực thi  Truy nhập nhớ: tìm địa truy nhập Thiết kế đơn chu kỳ  Thiết kế xử lý lệnh với chu kỳ đồng hồ Chia lệnh thành pha thực chu kỳ đồng hồ  Nhắc lại thiết kế mức logic:  Tổ hợp mức logic tạo trạng thái  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  Quy trình nạp lệnh  Trạng thái kế tiếp: PC+4 (ngoại trừ lệnh nhảy)  Trạng thái: Program Counter (lệnh tại) Thiết kế đơn chu kỳ  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 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 Tính tốn ALU (các thị lệnh dạng RS) 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ấu trúc lệnh dạng RS)  Các bước thực hiện? – Đọc liệu từ tệp ghi (xác định rõ rs rt) – Thực tính tốn ALU – Ghi liệu trở lại tệp ghi (xác định rõ rd) Làm tiếp theo? Nạp lệnh tính tốn ALU – Bộ nhớ lệnh, PC, cộng PC+4 – Tệp ghi, ALU Q: Thiếu khối nào? Không thiếu, cần tập lệnh ALU Thiếu khối so sánh Thiếu nhớ liệu A: Sử dụng đầu từ ALU để so sánh lệnh beq bne Số xung đồng hồ  Số xung đồng hồ thực chương trình: C I CPI  Trong đó:  I số thị máy cần thực chương trình  CPI (eng Clock cycles per Instruction) số xung đồng hồ trung bình cần để thực thi thị máy,  CPI dùng để so sánh máy tính khác triển khai kiến trúc tập lệnh  Ví dụ: có loại lệnh A, B, C khác kiến trúc tập lệnh Mỗi lệnh loại có CPI tương ứng: CPI for this instruction class CPI A B C HUST-FET, 5/20/21 So sánh dựa CPI  Khi máy tính A, B thực chương trình, chúng thực I thị  Do đó: Tcpu , A I CPI A Tc , A I 2,0 250 ps 500 I Tcpu , B I CPI B Tc , B I 1,2 500 ps 600 I  Máy A nhanh máy B: Performance A Tcpu,A 600  I    1, Performance B Tcpu,B 500  I Máy tính A B triển khai kiến trúc tập lệnh Máy A có chu kỳ đồng hồ 250ps, CPI hiệu dụng cho chương trình P 2,0 Máy B có chu kỳ đồng hồ 500ps, CPI hiệu dụng cho chương trình P 1,2 Máy tính nhanh nhanh bao nhiêu? CPI hiệu dụng (trung bình)  CPI hiệu dụng tính cách xét tất lớp thị có chương trình lấy trung bình với trọng số tỉ lệ xuất lớp thị chương trình n CPI  (CPIi ICi ) i 1  Trong đó:  ICi tỉ lệ (%) số thị thuộc loại i thực thi  CPIi số chu kỳ (trung bình) cần để thực thị thuộc thuộc loại i  n số loại thị  CPI hiệu dụng phụ thuộc vào tỉ lệ thị chương trình (tần suất động thị nhiều chương trình) So sánh đoạn mã chương trình  Người thiết kế máy tính triển khai kiến trúc tập lệnh gồm loại thị A, B, C CPI sau: CPI A B C  Với câu lệnh ngôn ngữ bậc cao, người viết trình biên dịch lựa chọn đoạn thị máy gồm có tần suất loại thị sau: Đoạn mã A B C 2 1  Đoạn mã gồm nhiều thị hơn? Đoạn mã nhanh hơn? Tính CPI đoạn mã HUST-FET, 5/20/21 So sánh đoạn mã chương trình Đoạn mã A B C 2 1 CPI A B C  Đoạn mã dùng thị, đoạn mã dùng thị  Số xung đồng hồ để thực đoạn mã tính sau: C1  (CPIi I1,i ) (12  1  2) 10 i 1 C2  (CPIi I 2,i ) (14  1  1) 9 i 1  Trong I1,i, I2,i số lượng thị loại i đoạn mã tương ứng  Như đoạn mã chậm đoạn mã 2, dùng thị HUST-FET, 5/20/21 Cải tiến hiệu  Cho máy tính thực chương trình gồm loại thị máy có thơng số tần suất CPI sau: Op Tần suất (ICi) ICi x CPIi CPIi ALU 50% Load 20% Store 10% Branch 20% =  Nếu ta có đệm liệu làm giảm thời gian nạp (Load) xuống chu kỳ, máy tính nhanh lên lần?  Nếu ta có khối dự báo rẽ nhánh cho phép tiết kiệm chu kỳ rẽ nhánh, hiệu nào?  Nếu ta có khối ALU thực thị ALU đồng thời? 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 Các loại lệnh: R-type 44%6 ns Branch (and jr) Load 24% ns Store 12% ns Branch 18% ns Jump Jump 2% ns (except jr & jal) Thời gian trung bình 6.38 ns CPI = Not used Not used P C P C Not used Not used Not used Not used Not used Not used Not used HUST-FET, 5/20/21 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, 5/20/21 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 tồ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 Time saved HUST-FET, 5/20/21 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 2% cycles Đóng góp vào số chu kỳ trung bình cần cho lệnh: R-type Load Store Branch Jump _ CPI trung bình  ALU-type P C Load P C Store P C Branch P C Jump P C (and jr) (except jr & jal) Not used Not used Not used Not used Not used Not used Not used Not used Not used HUST-FET, 5/20/21 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 2% cycles Đóng góp vào 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.022 = 0.04 _ CPI trung bình  4.02 ALU-type P C Load P C Store P C Branch P C Jump P C (and jr) (except jr & jal) Not used Not used Not used Not used Not used Not used Not used Not used Not used HUST-FET, 5/20/21 Thiết kế đơn xung nhịp Incr PC Next addr jta Next PC (PC) PC Instr cache rs rt inst rd 31 imm op Br&Jump ALUOvfl Clock rate = 125 MHz CPI = (125 MIPS) (rs) Ovfl Reg file ALU (rt) / 16 32 SE / Func ALU out Data addr Data in Data cache Data out Register input fn RegDst RegWrite ALUSrc ALUFunc DataRead RegInSrc DataWrite HUST-FET, 5/20/21 Thiết kế đa xung nhịp 26 / Inst Reg jta Address PC rs Reg file (rt) MemWrite MemRead op IRWrite imm 16 / fn 32 y Reg SE / RegInSrc RegDst RegWrite ALUZero x Mux ALUOvfl Zero z Reg Ovfl (rs) Data Reg PCWrite SysCallAddr x Reg Data InstData 30 / MSBs rt rd 31 Cache Clock rate = 500 MHz CPI  ( 125 MIPS) y Mux 4 ALUSrcX ALUSrcY ALU 30 4 Func ALU out ALUFunc PCSrc JumpAddr HUST-FET, 5/20/21 So sánh đánh giá thiết kế đơn xung nhịp Instruction access Đồng hồ tốc độ 125 MHz bình thường So sánh độ trễ thực lệnh: ns Register read ns ALU operation ns Data cache access ns Register write ns Total ns Single-cycle clock = 125 MHz Một xử lý 2.5 GHz với 20 giai đoạn pipeline có độ trễ khoảng: 0.4 ns/cycle  20 cycles = ns Lưu lượng xử lý có pipeline tốt nhiều: Tốt tới 20 lần với xử lý phát hành đơn lệnh Tốt tới 100 lần với xử lý phát hành đa lệnh HUST-FET, 5/20/21 So sánh đánh giá thiết kế đa xung nhịp Cycle time = ns Clock rate = 500 MHz R-type So sánh độ trễ thực lệnh: Load Store Branch Một xử lý 2.5 GHz với 20 giai đoạn pipeline có độ trễ khoảng: 0.4 ns/cycle  20 cycles = ns Jump Lưu lượng xử lý có pipeline tốt nhiều: - Tốt tới 20 lần với xử lý phát hành đơn lệnh - Tốt tới 100 lần với xử lý phát hành đa lệnh 44% 24% 12% 18% 2% cycles cycles cycles cycles cycles Contribution to CPI R-type 0.444 = 1.76 Load Store Branch Jump 0.245 0.124 0.183 0.022 = = = = 1.20 0.48 0.54 0.04 _ Average CPI  4.02 HUST-FET, 5/20/21 ... 600 I  Máy A nhanh máy B: Performance A Tcpu,A 600  I    1, Performance B Tcpu,B 500  I Máy tính A B triển khai kiến trúc tập lệnh Máy A có chu kỳ đồng hồ 250ps, CPI hiệu dụng cho chương. ..  I số thị máy cần thực chương trình  CPI (eng Clock cycles per Instruction) số xung đồng hồ trung bình cần để thực thi thị máy,  CPI dùng để so sánh máy tính khác triển khai kiến trúc tập lệnh... CPU, máy tính A thực chương trình: Tcpu , A CA  fc, A  Số chu kỳ máy tính A dùng để thực chương trình: C A Tcpu , A  f c , A 10 2 109 20 109 cycles  Số chu kỳ máy tính B dùng để thực chương

Ngày đăng: 20/05/2021, 02:34

Mục lục

  • Slide 1

  • Nội dung

  • Thực thi cơ bản của MIPS (from the book)

  • Các hoạt động chính của bộ xử lý?

  • Thiết kế đơn chu kỳ

  • Thiết kế đơn chu kỳ

  • Nạp lệnh

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

  • Tính toán trên ALU (cấu trúc lệnh dạng RS)

  • Làm gì tiếp theo?

  • Truy cập bộ nhớ

  • Truy nhập bộ nhớ

  • Kết nối các thành phần

  • 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

  • Định tuyến tính hiệu (control)

  • Các tín hiệu điều khiển xác định hoạt động: Lệnh addi

  • Các tín hiệu điều khiển xác định hoạt động: lệnh add

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

  • Đang cập nhật ...

Tài liệu liên quan