1692|4

6480

帖子

8

TA的资源

管理员

楼主
 

阅读打卡第八站:内存屏障指令、操作系统——《RISC-V体系结构编程与实践 》 [复制链接]

活动详情: 一起围读《RISC-V体系结构编程与实践 》

本次是《RISC-V体系结构编程与实践 》阅读打卡第八站,跟帖回复作者提出以下问题。

 

笨书助力读书打卡题目(提醒:阅读书籍的第15章、16章、17章):

34. 内存乱序产生的原因是什么?
35. 请简述FENCE.I指令与SFENCE.VMA指令的作用和使用场景。
36. 什么是进程上下文切换?对于RISC-V处理器来说,进程上下文切换需要保存哪些内容?保存到哪里?
37. 假设调度器通过switch_to()函数把进程A切换到进程B,那么进程B是否在切换完成之后,马上执行线程B的回调函数呢?

 

 

参与活动的小伙伴们,阅读打卡即将结束啦,继续走起~

@jobszheng5 @1nnocent @子期非女 @常见泽1 @我爱下载

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

最新回复

学习了,这样的学习比较有效果!   详情 回复 发表于 2023-8-24 10:04
点赞 关注
个人签名微信搜索公众号“EEWORLDBBS”快去添加关注吧!

回复
举报

7221

帖子

192

TA的资源

五彩晶圆(高级)

沙发
 

34. 内存乱序产生的原因是什么?

____

若程序在执行时的实际内存访问顺序和程序代码制定的访问顺序不一致,会出现内存乱序访问

通常情况程序次序不等于内存次序,从而产生内存乱序访问


35. 请简述FENCE.I指令与SFENCE.VMA指令的作用和使用场景。

--------

FENCE.I指令用于在同一个CPU中高速缓存指令与预取指令之间的同步原语。简单来说是确保在存储指令对CPU可见的同时,也保证预取指令对CPU可见

简单的实现刷新本地CPU的指令高速缓存和指令流水线,复杂一些的实现可以为每个未命中的数据指令高速缓存做缓存移植性的监听

 

SFENCE.VMA指令为了保证内存操作的正确执行,约束它们的内存访问顺序


36. 什么是进程上下文切换?对于RISC-V处理器来说,进程上下文切换需要保存哪些内容?保存到哪里?

——————

从一个进程切换到next进程

需要保存的上下文包括S0-S11寄存器、SP寄存器、ra寄存器的值,把它们保存到Netx进程的task_struct->cup_context中,然后从next进程的task_struct->cpu_context中恢复处理器中这些寄存器的值


37. 假设调度器通过switch_to()函数把进程A切换到进程B,那么进程B是否在切换完成之后,马上执行线程B的回调函数呢?

_______

需要为刚调度出去的内核线层A做一些收尾工作

 
 

回复

337

帖子

2

TA的资源

纯净的硅(初级)

板凳
 

    
34. 内存乱序产生的原因是什么?
    程序在执行时的实际内存访问顺序和程序代码指定的顺序不一致,会出现内存乱序访问。
    
35. 请简述FENCE.I指令与SFENCE.VMA指令的作用和使用场景。
    FENCE.I的作用是确保屏障前面的存储操作已经完成,应用于本地CPU中。
    SFENCE.VMA的作用实施虚拟内存管理的同步操作,应用场景为,1)软件更改进程的ASID时;2)如果处理器没有实现ASID或使用数值为0的ASID,在更新satp寄存器时;3) 如果软件修改了出PTE之外的页表项;4)如果软件修改了页表项。
36. 什么是进程上下文切换?对于RISC-V处理器来说,进程上下文切换需要保存哪些内容?保存到哪里?
    进程上下文切换指通过切换函数switch_to(),从前一个进程切换到下一个进程,在切换过程中保存前一个进程的上下文,并且恢复下一个进程的上下文。
    需要保存寄存器内容有S0~S11,sp以及ra,保存到前一个进程的cpu_context中。
37. 设调度器通过switch_to()函数把进程A切换到进程B,那么进程B是否在切换完成之后,马上执行线程B的回调函数呢?
    不能马上执行现场B的回调函数,需要为进程A做一些收尾的工作。

 
 
 

回复

670

帖子

0

TA的资源

纯净的硅(高级)

4
 

34. 回复:通常情况下,程序次序不等于内存次序,从而产生内存乱序。
35. 回复:FENCE.I指令用于在同一个CPU中高速缓存指令与预取指令之间的同步原语。目标是确保在存储指令对CPU可见的同时,也保证预取指令对CPU可见。SFENCE.VMA指令为了保证内存操作正确执行,约束内存操作的内存访问顺序

 
 
 

回复

7003

帖子

11

TA的资源

版主

5
 

学习了,这样的学习比较有效果!

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表