1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ án môn học kiến trúc risc v

55 29 3
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Kiến trúc RISC V
Tác giả Nguyễn Thành Hưng
Người hướng dẫn GVHD: Hoàng Mạnh Hà
Trường học Đại học quốc gia tp.hồ chí minh
Chuyên ngành Kiến trúc
Thể loại Đồ án môn học
Thành phố TP.Hồ Chí Minh
Định dạng
Số trang 55
Dung lượng 3,71 MB

Nội dung

I: Immidiate instructions Lệnh Đặt giá trị: Đặt giá trị trực tiếp vào một thanh ghi.. Giới thiệuaddi Add immidiate Cộng giá trị nguyên trực tiếp vào thanh ghi slti Set less than immidiat

Trang 1

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ

-o0o -ĐỒ ÁN MÔN HỌC

Kiến trúc RISC V

GVHD: Hoàng Mạnh Hà SVTH: Nguyễn Thành

Hưng MSSV: 1913644

Trang 2

I Giới thiệu

• RISC-V là kiến trúc máy tính RISC (Reduced

Instruction Set Computing) được phát triển để có

sự linh hoạt cao và tùy chỉnh để phù hợp với nhiều ứng dụng máy tính khác nhau từ hệ thống lớn đến các thiết bị nhúng.

• Kiến trúc RISC-V được thiết kế để có tính mở

rộng và tùy chỉnh cao nên sử dụng RISC-V giúp tránh phụ thuộc vào các công nghệ độc quyền.

• RISC-V là định nghĩa duy nhất được chấp nhận

rộng rãi giúp đảm bảo tính tương thích giữa các nền tảng phần cứng và phần mềm khác nhau

Trang 3

I Giới thiệu

•Trong đề tài risc V được thiết kế với chiều rộng dữ liệu 32-bit.

•Đây là danh sách 7 nhóm lệnh cơ bản trong kiến trúc RISC-V:

1 I: Immidiate instructions (Lệnh Đặt giá trị): Đặt giá trị trực tiếp vào một thanh ghi.

2 R: Register instructions (Lệnh Thanh ghi): Xử lý các phép tính trên các thanh ghi.

3 S: Store instructions (Lệnh Lưu trữ): Lưu trữ dữ liệu từ thanh ghi vào bộ nhớ.

4 B: Branch instructions (Lệnh Nhánh): Lệnh nhảy có điều kiện, như kiểm tra một giá

trị cụ thể rồi nhảy nếu giá trị đó thỏa mãn một điều kiện nào đó.

5 U: Upper immediate instructions (Lệnh đặt giá trị phần trên): Đặt giá trị ngay trong

lệnh cho 20 bit phần trên của một thanh ghi.

6 J: Jump instructions (Lệnh nhảy): Nhảy một khoảng cách cụ thể tới một lệnh khác.

7 L: Load instructions (Lệnh tải dữ liệu): Tải dữ liệu vào các thanh ghi.

Trang 4

I Giới thiệu

addi Add immidiate Cộng giá trị nguyên trực tiếp vào thanh ghi

slti Set less than immidiate So sánh nếu giá trị nguyên trực tiếp nhỏ hơn giá trị trong thanh ghi

xori Exclusive or immidiate Thực hiện phép xor với giá trị nguyên trực tiếp

ori Or immidiate Thực hiện phép or với giá trị nguyên trực tiếp

andi And immidiate Thực hiện phép and với giá trị nguyên trực tiếp

slli Shift left logical immidiate Dịch trái giá trị trong thanh ghi bằng số bit nguyên trực tiếp

srli Shift right logical immidiate Dịch phải giá trị trong thanh ghi bằng số bit nguyên trực tiếp (không giữ nguyên bit dấu)

srai Shift right arithmetic immidiate Dịch phải giá trị trong thanh ghi bằng số bit nguyên trực tiếp (giữ nguyên bit dấu)

Trang 5

I Giới thiệu

Nhóm lệnh R (Register):

add Add Cộng giá trị hai thanh ghi

sub Subtract Trừ giá trị của 2 thanh ghi

and And And giá trị của 2 thanh ghi

or Or Or giá trị của 2 thanh ghi

xor Exclusive or Xor giá trị của 2 thanh ghi

slt Set less than Đặt giá trị 1 nếu giá trị của thanh ghi thứ nhất < giá trị thanh ghi thứ hai

sll Shift left logical Dịch trái giá trị trong thanh ghi bằng một giá trị nguyên

srl Shift right logical Dịch phải giá trị trong thanh ghi bằng một giá trị nguyên (không giữ nguyên bit dấu)

sra Shift right arithmetic Dịch phải giá trị trong thanh ghi bằng một giá trị nguyên (giữ nguyên bit dấu)

Trang 6

I Giới thiệu

Nhóm lệnh S (Store):

sb Store byte Lưu trữ giá trị byte (8-bit) vào địa chỉ bộ nhớ của thanh ghi

sh Store half Lưu trữ giá trị half word (16-bit) vào địa chỉ bộ nhớ của thanh ghi

sw Store word Lưu trữ giá trị word (32-bit) vào địa chỉ bộ nhớ của thanh ghi

Trang 7

I Giới thiệu

Nhóm lệnh B (Branch):

beq Branch equal Nhảy tới địa chỉ khi 2 thanh ghi bằng nhau với một giá trị nguyên trực tiếp

bne Branch not equal Nhảy tới địa chỉ khi 2 thanh ghi không bằng nhau với một giá trị nguyên trực tiếp

blt Branch less than Nhảy tới địa chỉ khi giá trị thanh ghi thứ nhất nhỏ hơn giá trị thanh ghi thứ hai

bge Branch greater than or equal Nhảy tới địa chỉ khi giá trị thanh ghi thứ nhất lớn hơn hoặc bằng giá trị thanh ghi thứ hai

Trang 9

I Giới thiệu

Nhóm lệnh Load:

lb Load byte Tải giá trị byte (8-bit) vào thanh ghi

lh Load half Tải giá trị half word (16-bit) vào thanh ghi

lw Load word Tải giá trị word (32-bit) vào thanh ghi

lbu Load byte unsigned Tải giá trị byte (8-bit) không dấu vào thanh ghi

lhu Load half unsigned Tải giá trị half word (16-bit) không dấu vào thanh ghi

Trang 10

Dữ liệu trong cả bộ nhớ dữ liệu (DMEM) và bộ nhớ chương trình (IMEM) đều có độ dài 32bit và được sắp xếp theo kiểu little edian

I Giới thiệu

Trang 11

II Cấu trúc

Một CPU RISC-V đơn chu kỳ cần có các khối cơ bản sau:

• Khối PC và giải mã lệnh (Program counter & Instruction): chọn PC và giải mã lệnh

• Khối các thanh ghi (Resister): Chứa các thanh ghi chức năng

• Khối ALU (Arithmetic and Logic Unit): Xử lý các phép tính số học và logic trong CPU.

• Khối bộ nhớ và ngoại vi (Memory Unit & I/O Unit): Để cho phép CPU truy cập vào bộ nhớ ngoài , kết

nối đến các tài nguyên ngoại vi để tương tác với bên ngoài

• Khối bộ điều khiển (Control Unit): Thiết kế khối bộ điều khiển, có nhiệm vụ điều khiển các khối xử lý

khác và điều khiển luồng dữ liệu trong CPU.

Trang 12

II Cấu trúc

Khối PC và khối Instruction

• Lựa chọn PC kế tiếp (PC + 4) hay PC rẽ nhánh

• Từ PC đã chọn lấy mã lệnh và giải mã

Trang 13

II Cấu trúc

Khối thanh ghi

-Khối thanh ghi của kiến trúc RISC-V bao gồm 32 thanh ghi 32-bit, được sử dụng để lưu trữ các giá trị trung gian trong quá trình thực hiện các lệnh máy tính.

-Khi một lệnh được tải từ bộ nhớ lệnh vào CPU, nó được giải mã và các thanh ghi tương ứng cần được cập nhật để thực hiện lệnh

Trang 14

II Cấu trúc

Khối ALU

Khối này thực hiện các phép toán số học và logic.

Khối ALU của RISC-V có thể thực hiện các phép toán sau:

•Phép cộng và phép trừ

•Phép nhân và phép chia lấy phần nguyên

•Các phép toán logic AND, OR, XOR

•Các phép toán so sánh như so sánh bằng và so sánh nhỏ hơn

Ngoài ra, khối ALU của RISC-V cũng có khả năng thực hiện các phép toán dịch chuyển (shift) trái và phải trên

dữ liệu, với số bit dịch chuyển được chỉ định trong lệnh.

Trang 15

II Cấu trúc

Khối bộ nhớ và ngoại vi (LSU)

Lưu trữ dữ liệu cần thiết của chương

trình và được thêm vào các vùng địa chỉ

có thể giao tiếp với ngoại vi như LCD,

led 7 đoạn, switch

Trang 16

II Cấu trúc

Khối điều khiển

alu_op: chọn lựa lệnh thực hiện cho ALU mem_wren : cho phép ghi data khối data memory và

ngoại vi

wb_sel: chọn lựa dữ liệu ghi vào khối register file

instr: mã lệnh đưa vào

br_sel: lựa chọn PC ( công 4 hoặc nhảy hoặc rẽ nhánh)

rd_wren: cho phép ghi data đích về khối thanh ghi.

br_unsigned: chọn so sánh có hoặc không dấu

op_a_sel_o: chọn toán hạng nguồn rs1.

op_b_sel_o: chọn toán hạng nguồn rs2.

Trang 17

II Cấu trúc

Cấu trúc 1 CPU cơ bản

Trang 18

III Giải thuật tối ưu

Pipeline

Trang 19

III Giải thuật tối ưu

Pipeline

Trang 20

III Giải thuật tối ưu

Pipeline

Trang 21

III Giải thuật tối ưu

Trang 22

III Giải thuật tối ưu

Trang 23

Data Hazard

Trang 24

III Giải thuật tối ưu

Initial:

s0 =5 t0=6 t1=3

Expect: t2=s0-t0=9-6=3 Real: t2=s0- t0 =5-6=-1

=> Data error

Data Hazard

Trang 25

III Giải thuật tối ưu

Stalling

Trang 26

III Giải thuật tối ưu

Stalling

Trang 27

III Giải thuật tối ưu

Forwarding

Trang 28

III Giải thuật tối ưu

Forwarding

Trang 29

III Giải thuật tối ưu

Forwarding

Trang 30

III Giải thuật tối ưu

Forwarding path

Trang 31

Control hazard

III Giải thuật tối ưu

Trang 32

Branch prediction

III Giải thuật tối ưu

Trang 33

Static prediction

III Giải thuật tối ưu

Predict: branch (inner) will not be taken.

1-bit prediction

Trang 34

III Giải thuật tối ưu

Static prediction

Trang 35

III Giải thuật tối ưu

Static prediction

Trang 36

III Giải thuật tối ưu

Static prediction

Trang 37

III Giải thuật tối ưu

Static prediction

Trang 38

III Giải thuật tối ưu

Static prediction

Trang 39

III Giải thuật tối ưu

Static prediction

Trang 40

Overall probability a branch is taken is ~60-70%

III Giải thuật tối ưu

Static prediction

Trang 41

Dybamic prediction

III Giải thuật tối ưu

Randomly branch prediction will not

be executive

Trang 42

Dybamic prediction

III Giải thuật tối ưu

Trang 43

Dybamic prediction

III Giải thuật tối ưu

Trang 44

Dybamic prediction

III Giải thuật tối ưu

Trang 45

Dybamic prediction

III Giải thuật tối ưu

Trang 46

Dybamic prediction

III Giải thuật tối ưu

Trang 47

Dybamic prediction

III Giải thuật tối ưu

Trang 48

Dybamic prediction

III Giải thuật tối ưu

Trang 49

Dybamic prediction

III Giải thuật tối ưu

Trang 50

Dybamic prediction

III Giải thuật tối ưu

2-bit prediction

Trang 51

Dybamic prediction

III Giải thuật tối ưu

2-bit prediction

Trang 52

IV Kết quả so sánh

Trang 53

Branch prediction

IV Kết quả so sánh

Trang 54

IV Kết quả so sánh

Trang 55

The End

Ngày đăng: 17/03/2024, 17:36

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w