今天读了顾长怡的《基于FPGA与RISC-V的嵌入式系统设计》第3章 RISC-V指令集,做了一些简单的笔记。

1、这本书既然要基于RISC-V讲嵌入式系统设计,就必须要介绍RISC-V的情况。介绍RISC-V相关的内容主要集中在“第3章 RISC-V指令集”和“第4章 设计基于RISC-V指令集的Soft CPU”。其中“第3RISC-V指令集”是RISC-V的通识介绍。

2、RISC-V指令集和典型的CISC指令集的代表8051指令集相比:引入了指令长度编码;指令集规模较小,指令格式规整;每条指令实现单个功能;内存访问只能通过LOAD/STORE。

3、RISC-V的官方标准分为用户指令集(User-Level Instruction Set Architecture)与特权架构(Privileged Architecture)。其中,拥护指令集可以进一步分为基础整数指令集(Based Integer Instruction Set)和扩展指令集(Extension)。

4、RISC-V将用户指令集和特权架构分开的目的,是希望不同特权架构的处理器可以在ABI互相兼容。

5、本书因为主题为嵌入式系统设计,所以在指令集层面主要是聚焦于RISC-V32位整数指令集(RV32I)。在特权架构层面,主要聚焦于机器模式。这两块也是第3章的主要内容,无论是从介绍的细致层度还是从篇幅上,这两块都是重点。

参考资料:

1.顾长怡.《基于FPGA与RISC-V的嵌入式系统设计》.北京:清华大学出版社.2020.

处理器指令编码可重定义的方法_RISC-V学习笔记1 《基于FPGA与RISC-V的嵌入式系统设计》第3章 RISC-V指令集...相关推荐

  1. 处理器指令编码可重定义的方法_从零开始设计四位栈处理器(2)——结构与指令集...

    从零设计四位栈处理器(2)--结构与指令集 一句话概括: 在Toxic处理器中,万物皆栈. 熟悉汇编语言的同学会了解,一般的汇编语言,会包含以下几个部分: 寄存器 地址 立即数 操作码 在这期文章中, ...

  2. STM32L0系列串口重定义的方法

    STM32L0系列串口重定义的方法 芯片型号:STM32L071RBT6 本篇重点:将printf( ) 函数重定义到USART1 集成开发工具(IDE):IAR 在uart已经配置好情况下,重定义f ...

  3. 6.方法(go语言学习笔记)

    6.方法(go语言学习笔记) 目录 定义 匿名字段 方法集 表达式 1. 定义 方法是与对象实例绑定的特殊函数. 方法是面向对象编程的基本概念,用于维护和展示对象的自身状态.对象是内敛的,每个实例对象 ...

  4. 论文《基于深度学习的表面缺陷检测方法综述》学习笔记

    <基于深度学习的表面缺陷检测方法综述>学习笔记 前段时间完成了<基于图像的零部件缺陷识别系统设计>毕业课程设计,过程中收获了很多,老师也分享了很多论文,在此记录一下学习的收获. ...

  5. 《计算机体系结构:量化研究方法》5th 学习笔记

    本书的目的 权衡:成本-性能-功耗 新平台:个人移动设备和仓库级计算机 新体系结构:多核和GPU 关于第五版 两个极端:以移动电话和平板电脑到的个人移动设备PMD 为客户端,以提供云计算的仓库级计算机 ...

  6. python查看方法作用_python学习笔记1,新手小白也能看得懂

    这是酸菜在风变编程上学习python时积累的学习笔记,希望能帮到同样也在学习中的小伙伴.持续更新~ 第0关 Print()函数 (1)不带引号:让计算机读懂括号里的内容,打印最终的结果 例:print ...

  7. java 本地方法栈_JVM学习笔记-本地方法栈(Native Method Stacks)

    本地方法栈(Native Method Stacks)与虚拟机栈所发挥的作用是非常相似的,其区别不过是虚拟机栈为虚拟机执行Java方法(也就是字节码)服务,而本地方法栈则是为虚拟机使用到的Native ...

  8. MVC中使用Entity Framework 基于方法的查询学习笔记 (二)

    解释,不解释: 紧接上文,我们在Visual Studio2012中看到系统为我们自动创建的视图(View)文件Index.cshtml中,开头有如下这句话: @model IEnumerable&l ...

  9. js 改变this指向的几种方法(个人学习笔记)

    1.call()和apply() 两中方法都能改变this指向,很类似,区别主要是第二个以后参数, call():第一个参数表示要把this指向的新目标,第二个之后的参数其实相当于传参,参数以,隔开  ...

最新文章

  1. [WCF编程]13.并发:服务并发模式
  2. SQL优化—— 优化order by语句 || Filesort 的优化
  3. 自定义服务器控件(扩展现有 Web 控件)
  4. 里程碑 .Net7再更新,从此彻底碾压Java!
  5. 利用python生成一个导出数据库的bat脚本文件
  6. JVM内存管理:深入垃圾收集器与内存分配策略
  7. [洪流学堂]Hololens开发入门篇3:使用基本功能开发一个小应用
  8. jQuery图片轮播插件 jQuery Cycle Plugin
  9. ENVI学习总结(十三)——波谱库的浏览与创建
  10. MySQL innodb存储引擎的数据存储结构
  11. 2021应届生DJI校招在线测评几点说明
  12. 安装roboware
  13. 【URLOS应用开发基础】10分钟制作一个nginx静态网站环境应用
  14. mariadb审计插件
  15. [JAVA冷知识]动态加载不适合数组类?那如何动态加载一个数组类?
  16. 上下文无关文法的分析树(Context-Free Grammar, CFG)的分析树--编译原理
  17. 用c语言编写编码菲诺,大C论表:MKS柏涛菲诺150周年纪念款带来哪些升级
  18. java实心箭头符号,箭头符号大全
  19. 异常 exception
  20. 第六十七篇:opencv中KeyPoint与point2f之间相互转换

热门文章

  1. ajaxutil java,Ajax的工具类AjaxUtils,使用struts返回Json类型
  2. extjs 月份选择控件_Ext DateField控件 - 只选择年月
  3. 图说Netty服务端启动过程
  4. Java多线程学习十二:悲观锁和乐观锁的本质||
  5. imx6. android6.0经常修改或者用到的目录(未完)
  6. linux改目录权限和宿主。
  7. 机器学习真的可以起作用吗?(1)
  8. 自己定义AlertDialog对话框布局
  9. Struts2是什么?
  10. X++中对字符串进行操作的函数