RISC-V手册学习

CISC & RISC

为了提高指令集、编译器、汇编器、链接器等的通用性,区分架构实现
CISC:产生时期较早,当时内存是限制性能的主要因素,因此使用不定长的指令,高效利用内存;由于指令不定长,处理器解码时间较长,且指令不断扩展,复杂性高。
RISC:内存和缓存技术成熟,不需要再节省内存。使用定长指令,提高解码效率;大量使用寄存器

ISA设计原则

成本

处理器通过集成电路实现,通常称为芯片或晶粒
晶粒晶圆切割成许多单独的片得到。
晶粒越小,每个晶圆能切割出来的晶粒越多;晶粒越小,每个晶圆产出的可用晶粒比例越高(因为目前的硅生产工艺会在晶圆上留下散步的小瑕疵,所以晶粒越小,缺陷部分占比重越低)
RISC-V与相同大小缓存的ARM-32 Cortex A5比,晶粒面积大小小很多,因此成本会更低廉

简洁性

简洁的设计有助于缩短芯片的设计和验证时间,降低文档成本,易于使用。

性能

性能由三个因素构成:

单个程序所需指令数;平均单条指令周期数(CPI);时钟频率

架构和具体实现分离

实现者不需要关心性能,架构师应当避免加入对其他实现和今后实现带来负担的设计

提升空间

保留操作码空间,用于未来提升。用于特定领域的芯片

程序大小

更小的程序需要的存储面积越小,更小的程序可以减少指令缓存的未命中问题,从而节省功耗(片外DRAM访问比片上SRAM耗能多),提高了性能。

易于编程、编译、链接

寄存器越多,编译器和汇编程序员越轻松;
指令简单有助于预测代码性能;
位置无关代码(PIC),可以使得ISA支持动态链接。

RISC-V特点

RISC-V 于2011年推出

  • 开源:不会由于某个团体利益而变得不稳定
  • 袖珍,低能耗:模块化的设计
    模块化/增量ISA[^1]:其他体系结构是增量ISA,体量会随着时间大幅增长(为了向后兼容);RISC-V是模块化的,核心是RV32I(基础ISA),核心固定不改变,在此基础上可以增加需要的扩展。

RV32M: 乘法扩展
RV32F:单精度浮点扩展
RV32D:双精度浮点扩展

添加了以上扩展的指令集称为RV32IMFD

  • 大量寄存器:一般有32个寄存器
  • 透明的指令执行速度:大部分指令执行只需要一个时钟周期,性能可预测性强

参考资料:

  • https://riscv-programming.org/
  • RISC-V手册
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值