1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Kiến trúc máy tính (ĐH Bách khoa Hà Nội) Chương 3b

62 29 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 2,51 MB

Nội dung

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 xử lý MIPS  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 xung nhịp  Thiết kế xử lý lệnh 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 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 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 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 tố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 A CPI for this instruction class B C HUST-FET, 04/04/2014 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,B 600  I    1, Performance B Tcpu,A 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   (CPI i  ICi )  Trong đó: i 1  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) 51 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, 04/04/2014 52 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   (CPI i  I1,i )  (1  1   2)  10 i 1 C2   (CPI i  I 2,i )  (1     1)  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, 04/04/2014 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 ALU Load Store Branch Tần suất (ICi) 50% 20% 10% 20% ICi x CPIi CPIi =  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 Các loại lệnh: R-type 44% ns Load 24% ns Store 12% ns Branch 18% ns Jump 2% ns Thời gian trung bình 6.38 ns CPI = 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, 04/04/2014 55 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, 04/04/2014 56 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, 04/04/2014 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, 04/04/2014 58 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 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.022 = 0.04 ALU-type P C Load P C Store P C Branch P C Jump P C (and jr) Not used Not used Not used Not used Not used Not used Not used Not used _ CPI trung bình  4.02 (except jr & jal) Not used HUST-FET, 04/04/2014 59 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, 04/04/2014 60 Thiết kế đa xung nhịp 26 / Inst Reg jta Address PC Data Reg InstData PCWrite MemWrite MemRead op rs Reg file (rt) IRWrite 32 y Reg SE / RegInSrc RegDst RegWrite ALUZero x Mux ALUOvfl z Reg Zero Ovfl (rs) imm 16 / fn SysCallAddr x Reg 12 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, 04/04/2014 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, 04/04/2014 62 So sánh đánh giá thiết kế đa xung nhịp Cycle time = ns Clock rate = 500 MHz So sánh độ trễ thực lệnh: 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 R-type Load Store Branch Jump 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, 04/04/2014 ...  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. .. tâm dự liệu  Cần hệ đo lường khác cho hiệu máy tính Cách tính hiệu  Hiệu (tốc độ) máy tính X: Performance x  Execution Time x  Máy tính X nhanh máy tính Y, n lần: Performance x ExecutionTime... để tính thời gian CPU, máy tính A thực chương trình: Tcpu , A CA  f c, 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   109  20  109 cycles  Số chu kỳ máy

Ngày đăng: 29/10/2021, 16:19

TỪ KHÓA LIÊN QUAN