2370|4

6473

帖子

8

TA的资源

管理员

楼主
 

《RISC-V 体系结构编程与实践(第2版)》互动:接龙解答作者笨叔出的思考题 [复制链接]

@goldjack、@hollyedward、@FuShenxiao、@andeyqi、@zsy-s,欢迎一起参与阅读 《RISC-V 体系结构编程与实践(第2版)》的小伙伴们,在阅读之余,来这里接龙解答本书籍作者给出的助力阅读的题目,要求:截止到2月10日,每人至少跟帖解答2章节的题目,不得重复上面已有网友解答的章节题目。本部分的参与情况,将在活动评分里互动性的评分中体现。由于只有9个章节的题目,所以目前有1个名额,可只解答1个章节的题目,先到先得。

 

作者笨叔助力阅读,给出的RISC-V思考题目

 

第1章:
1.RISC-V体系结构有什么特点?
2.RISC-V体系结构处理器包含多少个通用寄存器?
3.RISC-V体系结构包含几种处理器模式?它们分别有什么作用?


第3章:
1.RISC-V指令集有什么特点?
2.RISC-V指令编码格式分成几类?
3.什么是零扩展和符号扩展?
4.什么是PC相对寻址?


第4章:
1.请阐释RISC-V体系结构下的函数调用规范。
2.在函数调用过程中,如果函数传递的参数大于8,如何传递参数?
3.假设函数调用关系为main()→func1()→func2(),请画出RSIC-V体系结构下函数栈的布局。


第5章:
1.什么是汇编器?
2.如何给汇编代码添加注释?
3.什么是符号?
4.什么是伪指令?


第6章:
1.什么是链接器?为什么链接器简称LD?
2.链接脚本中的输入段和输出段有什么区别?
3.什么是加载地址和虚拟地址?


第7章:
1.在内嵌汇编代码中,关键字“asm”“volatile”“inline”以及“goto”分别代表什么意思?
2.在内嵌汇编代码的输出部分里,“=”和“+”分别代表什么意思?
3.在内嵌汇编代码中,如何表示输出部分和输入部分的参数?


第8章:
1.在RISC-V处理器中,异常有哪几类?
2.同步异常和异步异常有什么区别?
3.在RISC-V处理器中,异常发生后CPU自动做了哪些事情?软件需要做哪些事情?


第9章:
1.请简述中断处理的一般过程。
2.什么是中断现场?对于RISC-V处理器来说,中断现场应该保存哪些内容?
3.中断现场保存到什么地方?


第10章:
1.在计算机发展历史中,为什么会出现分段机制和分页机制?
2.为什么页表要设计成多级页表?直接使用一级页表是否可行?多级页表又引入了什么问题?
3.为什么页表存放在主内存中而不是存放在芯片内部的寄存器中?
4.MMU查询页表的目的是找到虚拟地址对应的物理地址,页表项中有指向下一级页表基地址的指针,那它指向的是下一级页表基地址的物理地址还是虚拟地址?

 

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

最新回复

第6章: 1.什么是链接器?为什么链接器简称LD? 答:链接器是用来完成链接过程的工具。而链接指的是把编译过程中生成的目标文件(也包括用到的标准库函数目标文件)的代码段、数据段以及符号表等内容收集起来,并按照某种格式(如ELF)组合成一个可执行二进制文件的过程。操作系统发展的早期并没有链接器的概念,操作系统的加载器(Loader,LD)做了所有的工作。后来操作系统越来越复杂,慢慢出现了链接器,所以LD成为链接器的代名词。 2.链接脚本中的输入段和输出段有什么区别? 答:链接脚本中的输入段用来告诉链接器如何输入文件映射到内存布局。输入段包括输入文件以及对应的输入段。输出段是链接器处理输入段后生成的最终可执行文件中的部分。一个输出段有虚拟内存地址(VMA)和加载内存地址(LMA)两个地址。 3.什么是加载地址和虚拟地址? 答:加载地址(Load Memory Address,LMA)通常指的是指令中指定的内存地址,用于指示CPU从该地址读取数据。加载地址可以是虚拟地址或物理地址,取决于是否启用了虚拟地址。虚拟地址(Virtual Memory Address, VMA)是CPU生成的一个地址,用于访问主存,必须经过地址翻译转换为物理地址。   详情 回复 发表于 2024-11-26 19:12
点赞 关注
个人签名微信搜索公众号“EEWORLDBBS”快去添加关注吧!

回复
举报

27

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

第1章:问题回答

1.RISC-V体系结构有什么特点?

==>

对学术界和工业界完全开放,开源的架构

属于一个通用指令集体系结构

真正适合硬件实现的指令集体系结构

实现最小的整数指令集作为基础指令集,在此基础上实现众多众多可选扩展

支持IEEE 754浮点标准

支持众多扩展指令集

支持多核异构体系结构

支持可选的压缩指令集

支持虚拟化扩展

支持可伸缩矢量指令扩展  


2.RISC-V体系结构处理器包含多少个通用寄存器?

==>

包括32个整形通用寄存器x0-x31,32个浮点通用寄存器 f0~f31


3.RISC-V体系结构包含几种处理器模式?它们分别有什么作用

==>

U 模式用于运行应用程序

S模式用于运行操作系统,为应用程序提供服务

M模式用于运行SBI固件,为操作系统提供服务

 
 

回复

27

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
本帖最后由 andeyqi 于 2024-11-26 17:55 编辑

第3章:问题回答
1.RISC-V指令集有什么特点?

==》

RISC-V 指令集采用了模块化的设计方法,设计了一个最小集合的基础指令集,这个最小指令集可以完整的是实现一个软件栈,其他功能可以在此基础上通过模块化的方式叠加扩展,用于支持浮点,乘法,除法,矢量运算等。


2.RISC-V指令编码格式分成几类?

==》

指令格式可以分为6种

  • R类型:寄存器与寄存器算术指令。
  • I类型:寄存器与立即数算术指令或者加载指令。
  • S类型:存储指令。
  • B类型:条件跳转指令。
  • U类型:长立即数操作指令。
  • J类型:无条件跳转指令。

3.什么是零扩展和符号扩展?

==》

符号扩展:对于一个需要扩展的立即数的最高位作为符号位进行扩展,最高位的符号位为1 前面的数据全部填充为1,0则填充为0

零扩展:扩展时不考虑符号位,直接在前面填充为0

 

4.什么是PC相对寻址?

==》

使用PC + offset 的形式进行寻址方式,RISC-V 提供了AUIPC 指令根据当前PC的值 算出 要寻址的偏移的大小,但是AUIPC 指令编码格式的限制只能寻址到4KB边界的位置,随影通常配合ADDI 指令联合使用来实现32位地址空间的PC 相对寻址。

 
 
 

回复

20

帖子

0

TA的资源

一粒金砂(中级)

4
 
本帖最后由 goldjack 于 2024-11-26 19:14 编辑

第5章:
1.什么是汇编器?

答:汇编器是将汇编代码翻译为机器目标代码的程序。


2.如何给汇编代码添加注释?

答:“#”字符开始,表明其后的内容为注释。


3.什么是符号?

答:符号是一个核心概念。程序员使用符号命名事物,连接器使用符号链接,调试器使用符号调试。符号可以代表它所在的地址,也可以当做变量或者函数使用。


4.什么是伪指令?

答:伪指令是对汇编器发出的命令,它在源程序汇编期间由汇编器处理。伪指令是由汇编器预处理的指令,可以分解为几条指令的集合。

 

 
 
 

回复

20

帖子

0

TA的资源

一粒金砂(中级)

5
 

6章:
1.什么是链接器?为什么链接器简称LD?

答:链接器是用来完成链接过程的工具。而链接指的是把编译过程中生成的目标文件(也包括用到的标准库函数目标文件)的代码段、数据段以及符号表等内容收集起来,并按照某种格式(如ELF)组合成一个可执行二进制文件的过程。操作系统发展的早期并没有链接器的概念,操作系统的加载器(Loader,LD)做了所有的工作。后来操作系统越来越复杂,慢慢出现了链接器,所以LD成为链接器的代名词。


2.链接脚本中的输入段和输出段有什么区别?

答:链接脚本中的输入段用来告诉链接器如何输入文件映射到内存布局。输入段包括输入文件以及对应的输入段。输出段是链接器处理输入段后生成的最终可执行文件中的部分。一个输出段有虚拟内存地址(VMA)和加载内存地址(LMA)两个地址。


3.什么是加载地址和虚拟地址?

答:加载地址(Load Memory Address,LMA)通常指的是指令中指定的内存地址,用于指示CPU从该地址读取数据。加载地址可以是虚拟地址或物理地址,取决于是否启用了虚拟地址。虚拟地址(Virtual Memory Address, VMA)是CPU生成的一个地址,用于访问主存,必须经过地址翻译转换为物理地址。

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表