
学习开发一个RISC-V上的操作系统
前言
最近在了解到了有了risc-v的架构之后,疯狂的开始看这个视频,了解它的一切东西,终于在昨天的时候看完了,感觉还是很有意思的,下面来说说我从中学到的东西
正文
我记忆最深刻的就是 异常与中断的差别,竟然是 异常是会回到当前指令执行,而中断是直接跳到下一条指令,这应该就是他们的最大区别的了
中断的控制有好几层,首先是一个全局中断控制,接着是对应u s m三种权限级别的中断控制,再下来就是可以设置中断级别的优先级,0是最低级一般不用,1-7个优先级,可以设置一个优先级参数,过滤掉所有小于等于中断级别的指令
真就是物理寄存机每一位都非常珍贵,可以看到各种有意思的优化,比如寄存器分不同的种类,有的是值进去一直不动的,在这里简称啊,有一种是各种函数都可以调用的,简称b,那如果有两个函数都在b寄存器的话,那值就可能被覆盖了,那怎么办那?就比如两个函数,1 和2,1和2 都用了b寄存器,而且1函数调用2函数,那么1调用2之前,将函数内的值放入栈帧中,等调用完2之后,再将其回复到b寄存器中,这也是是一个非常常用的优化,就是如果想要解决值冲突,可以先将数据保存到另外一个地方,然后之后再恢复过来就可以了
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果