L7 RISC-V Basics

这节课干货少,尤其是学过mips的isa

The RISC-V Instruction Set Architecture

L0 Great Ideas in Computer Architecture#Great Ideas in Computer Architecture中我们曾介绍过几种重要思想,现在我们attack abstraction。

Abstraction

Pasted image 20241001230157.png

ISA

一个历史发展趋势的简介
Pasted image 20241002141115.png

RISCV

Pasted image 20241002141307.png
反正RISCV特别好

Elements of Architecture: Registers

Pasted image 20241002141613.png

RISCV的register的数量

Pasted image 20241002184837.pngAdd/Sub Instructions

Instruction Syntax

Pasted image 20241002185816.png

Addtion and Subtraction

Pasted image 20241002185932.png
汇编当中的注释要注意一下哦

注释符号

In-line comments prefixed by #, work like C99’s //.Unlike C, no multi-line comment (/* */) support.

Pasted image 20241002190142.png

example

Pasted image 20241002190537.png
注意下面方框里面的不需要x5和x6,性能上更好一些。

Immediates

Pasted image 20241002190926.png

x0

Pasted image 20241002191057.png
注意最后一段话。

一道判断题

Pasted image 20241002191421.png
在C语言中,类型(types) 是与 声明(declaration) 紧密相关的。编写C代码时,我们会通过声明变量的类型(如intfloat等)来决定该变量在内存中占用的大小以及参与运算的方式。

而在RISC-V这样的精简指令集架构中,类型的概念不是直接通过声明来表现的,而是与具体的 指令(instructions)操作符(operators) 相关。RISC-V指令集的每条指令通常隐含地指定了操作数的类型。例如,在RISC-V中,会有不同的指令用于整数加法和浮点数加法(add vs fadd),即通过不同的指令来区分不同的操作数类型。

总结

Pasted image 20241002191454.png