RISC-V 学习笔记:由来、基础整数指令集、汇编语言、特权架构

本文是 RISC-V 学习笔记,介绍了 RISC-V 的起源、模块化ISA设计,以及基础整数指令集RV32I,包括指令格式、寄存器、整数计算、加载存储、分支跳转等。同时,深入探讨了RISC-V的特权架构,如机器模式、异常处理、用户模式和监管者模式,以及虚拟内存系统。
摘要由CSDN通过智能技术生成

这是 os summer of code 2020 每日记录的一部分:

github地址:https://github.com/yunwei37/os-summer-of-code-daily

参考:RISC-V 手册 一本开源指令集的指南

第一章 为什么要有 RISC-V

RISC-V的目标是成为一个通用的指令集架构(ISA):

  • 它要能适应包括从最袖珍的嵌入式控制器,到最快的高性能计算机等各种规模的处理器
  • 它应该能兼容各种流行的软件栈和编程语言
  • 它应该适应所有实现技术,包括现场可编程门阵列(FPGA)、 专用集成电路(ASIC)、 全定制芯片, 甚至未来的设备技术
  • 它应该对所有微体系结构样式都有效:例如微编码或硬连线控制;顺序或乱序执行流水线; 单发射或超标量等等
  • 它应该支持广泛的专业化,成为定制加速器的基础,因为随着摩尔定律的消退,加速器的重要性日益提高。
  • 它应该是稳定的,基础的指令集架构不应该改变。

它是一个最近诞生的指令集架构,也是一个开源的指令集架构。

模块化与增量型 ISA

RISC-V的不同寻常之处,除了在于它是最近诞生的和开源的以外,还在于:和几乎所有以往的ISA不同,它是模块化的。

它的核心是一个名为RV32I的基础ISA,RV32I是固定的,永远不会改变。

模块化来源于可选的标准扩展,根据应用程序的需要,硬件可以包含或不包含这些扩展。

ISA 设计 101

架构师在设计 ISA 时的基本原则和必须做出的权衡:

  • 成本(美元硬币)
  • 简洁性(轮子)
  • 性能(速度计)
  • 架构和具体实现的分离(分开的两个半圆)
  • 提升空间(手风琴)
  • 程序大小(相对的压迫着一条线的两个箭头)
  • 易于编程/编译/链接(儿童积木“像 ABC 一样简单”)

第二章 RV32I: RISC-V 基础整数指令集

  • 32 位字节可寻址的地址空间<
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值