Khoa KH & KT Máy tính Boä moân Kyõ thuaät Maùy tính Phaïm Töôøng Haûi ng Nguyeãn doc

24 232 0
Khoa KH & KT Máy tính Boä moân Kyõ thuaät Maùy tính Phaïm Töôøng Haûi ng Nguyeãn doc

Đ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

Khoa KH & KT Máy tính Bộ môn Kỹ thuật Máy tính Phạm Tường Hải ng Nguyễn Quốc Tuấn Tài liệu tham khảo “Computer Organization and Design: the hardware/software interface”, John L Hennessy & David A Patterson, Second Edition, MORGAN KAUFMANN PUBLISHERS, INC 1998 “Computer Architecture: a quantitative approach”, John L Hennessy & David A Patterson, Third Edition, MORGAN KAUFMANN PUBLISHERS, INC 2002 Kiến trúc Máy tính - Chap 05 Chương Kiến trúc Máy tính - Chap 05 5.1 Dẫn nhập Hiệu suất máy tính định yếu tố chính: số câu lệnh, chu kỳ clock CPI (cycle per instruction) Chương trình dịch cấu trúc tập lệnh định số câu lệnh chương trình Chu kỳ clock CPI định cách thực xử lý, cụ thể đường liệu (datapath) điều khiển (control) Xây dựng đường liệu điều khiển (mang tính minh họa) cho phận tập lệnh MIPS • Lệnh truy xuất nhớ: • Lệnh số học – luận lý: • Lệnh nhảy: Kiến trúc Máy tính - Chap 05 lw sw add , sub , and , or , slt beq j 5.1 Bất kỳ câu lệnh phải thực thi bước sau • Gửi nội dung ghi đếm chương trình (program counter – PC) đến nhớ lệnh để lấy câu lệnh từ nhớ • Đọc vài ghi (tốn hạng) có địa xác định vùng toán hạng câu lệnh Sau bước thực thi trên, bước thực thi nhằm hồn thành câu lệnh phụ thuộc vào nhóm lệnh khác Đối với tập lệnh MIPS chọn để minh họa, bước thực thi có nhiều điểm giống (td sử dụng số học – luận lý ALU) Điểm khác biệt chủ yếu nằm bước thực thi cuối câu lệnh Kiến trúc Máy tính - Chap 05 5.1 Các khối mạch chia làm loại: mạch tổ hợp (combinational circuit) mạch trạng thái (state circuit) hay mạch Sơ đồ tổng quát thực kiến trúc phần cứng MIPS Kiến trúc Máy tính - Chap 05 5.2 Xây dựng đường liệu Phương thức xây dựng đường liệu • Xác định phần tử kiến trúc cần thiết cho câu lệnh • Xây dựng phân khúc cho đường liệu ứng với công đoạn thực thi câu lệnh • Tiến đến xây dựng hoàn chỉnh đường liệu cho câu lệnh Bộ nhớ lệnh (instruction memory) Bộ đếm chương trình (PC) Kiến trúc Máy tính - Chap 05 Bộ cộng 5.2 Đường liệu cho bước đọc lệnh Tiến hành xây dựng đường liệu cho lệnh R-type ? add $t1 , $t2 , $t2 sub $s0 , $t0 , $t1 slt $t0 , $s0 , $s1 Kiến trúc Máy tính - Chap 05 5.2 Tập ghi (register files) • • • • ngõ đọc liệu ngõ ghi liệu ngõ nhận địa ghi Tín hiệu điều khiển ghi Đơn vị số học – luận lý (ALU – Arithmetic Logic Unit) • 32-bit ALU giới thiệu chương • 3-bit tín hiệu điều khiển • ngõ vào tốn hạng 32-bit • ngõ kết bit zero Kiến trúc Máy tính - Chap 05 5.2 Đường liệu cho lệnh dạng R-type Xây dựng đường liệu cho lệnh truy xuất nhớ ? lw $t0, 0($t1) Kiến trúc Máy tính - Chap 05 sw $t1 , 4($sp) 10 5.2 Bộ nhớ liệu (Data memory unit) • • • • ngõ nhận địa nhớ ngõ nhận liệu ghi Tín hiệu điều khiển đọc/ghi ngõ liệu đọc Bộ mở rộng dấu (Signextension unit) • Ngõ nhập liệu 16-bit • Ngõ liệu 32-bit Kiến trúc Máy tính - Chap 05 11 5.2 Đường liệu cho lệnh truy xuất nhớ Xây dựng đường liệu cho lệnh rẽ nhánh ? beq Kiến trúc Máy tính - Chap 05 $s3 , $s4 , L1 12 5.2 Đường liệu cho lệnh rẽ nhánh Kiến trúc Máy tính - Chap 05 13 5.3 Hiện thực xử lý đơn chu kỳ Hiện thực xử lý cho câu lệnh MIPS xét • Xây dựng đường liệu cho tất nhóm lệnh sở tổng hợp đường liệu khảo sát • Thêm vào tín hiệu điều khiển • Chỉ thực đơn giản kiến trúc đơn chu kỳ (singcle cycle) Xây dựng đường liệu cho tất câu lệnh • Đáp ứng thực thi câu lệnh chu kỳ clock • Cần phải nhân số lượng phần tử kiến trúc sử dụng nhiều lần câu lệnh • Cần nhớ dành riêng cho câu lệnh nhớ dành riêng cho liệu • Chia phần tử kiến trúc nhóm lệnh khác nhờ vào multiplexor hay gọi data selector Kiến trúc Máy tính - Chap 05 14 5.3 Xây dựng đường liệu cho lệnh nhớ lệnh R-type ALU operation Read register Instruction Read register Write register Read data MemWrite ALUSrc ALU Registers Read data Write data MemtoReg Zero Regwrite M U X Result Address Write data Sign extend 16 Read data M U X Data memory 32 Kiến trúc Máy tính - Chap 05 MemRead 15 5.3 Thêm vào đường liệu cho bước đọc lệnh Adder ALU operation PC Instruction address Instruction memory Instruction Read register Read register Write register ALUSrc MemtoReg Zero ALU Registers Read data Write data Regwrite M U X Result Address Write data Sign extend 16 Kiến trúc Máy tính - Chap 05 MemWrite Read data Read data M U X Data memory 32 MemRead 16 5.3 Hiện thực đường liệu cho nhóm lệnh PCSrc Adder Shift left Adder M U X ALU operation PC Instruction address Instruction memory Instruction Read register Read register Write register ALUSrc MemtoReg Zero ALU Registers Read data Write data Regwrite M U X Result Address Write data Sign extend 16 Kiến trúc Máy tính - Chap 05 MemWrite Read data Read data M U X Data memory 32 MemRead 17 5.3 Điều khiển ALU • Các tín hiệu điều khiển • Quan hệ với câu lệnh • Thiết kế tín hiệu điều khiển ? Opcode ALUOp Operation ALU control Input Function 000 AND 001 OR 010 Add 110 Subtract 111 Set on less than Funct field ALU control Input LW 00 load word XXXXXX 010 SW 00 store word XXXXXX 010 BEQ 01 branch equal XXXXXX 110 R-type 10 add 100000 010 R-type 10 subtract 100010 110 R-type 10 AND 100100 000 R-type 10 OR 100101 001 R-type 10 set on less than 101010 111 Kiến trúc Máy tính - Chap 05 18 5.3 Dạng thức nhóm lệnh R-type rs rt rd shamt funct 31 - 26 25 - 21 20 -16 15 - 11 10 - 5-0 Dạng thức lệnh load/store 35 hay 43 rs rt address 31 - 26 25 - 21 20 -16 15 - Dạng thức lệnh rẽ nhánh rs rt address 31 - 26 25 - 21 20 -16 15 - Kiến trúc Máy tính - Chap 05 19 5.3 Đường liệu tác động câu lệnh PCSrc Adder Shift left Adder M U X Regwrite PC Instruction address Instruction memory Instruction [31 - 0] Instruction [25 - 21] Instruction [20 - 16] Instruction [15 - 11] M U X Read register Read data Read register Write Registers register Read data Write data MemWrite ALUSrc M U X RegDst 16 Sign extend Instruction [15 - 0] Instruction [15 - 0] Kiến trúc Máy tính - Chap 05 MemtoReg Zero ALU Result Address Read data Data Write memory M U X data 32 ALU control ALUOp MemRead 20 5.3 Đường liệu + Đơn vị điều khiển = Bộ xử lý Adder Shift left Adder M U X RegDst PC Instruction address Instruction memory Instruction [31 - 0] Control Instruction [31 - 26] Branch MemRead MemtoReg ALUOp MemWrite ALUSrc RegWrite Instruction [25 - 21] Instruction [20 - 16] Instruction [15 - 11] Kiến trúc Máy tính - Chap 05 Read data Read register Write Registers register Read data Write data 16 Sign extend Instruction [15 - 0] M U X Read register Instruction [15 - 0] Zero M U X ALU Result Address Read data Data memory Write M U X data 32 ALU control 21 5.4 Bộ xử lý đa chu kỳ Trong thực tế, người ta không sử dụng xử lý đơn chu kỳ lý sau • Thời gian thực câu lệnh khác phải chọn chu kỳ hoạt động xử lý với chu thi câu lệnh dài ! • Khả trùng lắp phần tử chức cao Ở xử lý đa chu kỳ (multiple clock), trình thực thi câu lệnh diển thành nhiều chu kỳ clock Bộ xử lý đa chu kỳ khắc phục nhược điểm xử lý đơn chu kỳ Một số khác biệt thiết kế • Tinh chỉnh thời gian thực thi câu lệnh theo giản đồ trạng thái • Có thể sử dụng nhớ chung cho câu lệnh lẫn liệu • Thêm vào số ghi để chứa liệu/kết trung gian Kiến trúc Máy tính - Chap 05 22 5.4 Sơ đồ khối tổng quát xử lý đa chu kỳ PC Address Instruction register Memory Data Kiến trúc Máy tính - Chap 05 Register # A ALU Instruction or data Data Registers Memory data register Register # ALUOut B Register # 23 Bài tập “Computer Organization and Design: the hardware/software interface”, John L Hennessy & David A Patterson, Second Edition, MORGAN KAUFMANN PUBLISHERS, INC 1998 5.5 5.10 Kiến trúc Máy tính - Chap 05 24 ... circuit) mạch tr? ?ng thái (state circuit) hay mạch Sơ đồ t? ?ng quát thực kiến trúc phần c? ?ng MIPS Kiến trúc Máy tính - Chap 05 5.2 Xây d? ?ng đư? ?ng liệu Phư? ?ng thức xây d? ?ng đư? ?ng liệu • Xác định... vào toán h? ?ng 32-bit • ng? ? kết bit zero Kiến trúc Máy tính - Chap 05 5.2 Đư? ?ng liệu cho lệnh d? ?ng R-type Xây d? ?ng đư? ?ng liệu cho lệnh truy xuất nhớ ? lw $t0, 0($t1) Kiến trúc Máy tính - Chap... d? ?ng phân kh? ?c cho đư? ?ng liệu ? ?ng với c? ?ng đoạn thực thi câu lệnh • Tiến đến xây d? ?ng hoàn chỉnh đư? ?ng liệu cho câu lệnh Bộ nhớ lệnh (instruction memory) Bộ đếm chư? ?ng trình (PC) Kiến trúc Máy

Ngày đăng: 20/06/2014, 17:20

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

Tài liệu liên quan