收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
-
松散存储器模型,对执行顺序不做要求
-
Fence和Fence.I两条存储器屏障指令
- Fence
“在Fence指令之前指令的访存结果”必须比“在Fence指令之后指令的访存结果”先被观测到。
- Fence.I
“在Fence.I指令之后指令的操作”必须能观测到“在Fence.I指令之前指令的操作”。
11.3.3 A扩展指令
- 用于支持多线程情况下访存的原子或同步操作
- AMO指令
- Load-Reserved和Store-Conditional指令
11.4 蜂鸟E200存储系统的硬件实现
11.4.1 总体设计思路
主要包含四个组件
- AGU
生成读和写指令的访存地址
- LSU
控制模块
- ITCM
指令存储部件
- DTCM
数据存储部件
11.4.2 AGU
主要用于产生读/写指令等的访存地址
-
将第一个寄存器索引的源操作数和立即数相加,复用了ALU单元
-
RISC-V 架构对于地址非对齐的读和写指令,可以使用硬件支持, 也可以使用软件通过异常服务程序的方式采用软件支持。
11.4.3 LSU
蜂鸟E200处理器核存储器子系统的主要控制单元
- 代码实现和BIU相似
- LSU 有2组输入 ICB 总线接口,分别来自于 AGU 单元和 EAl 协处理器;有3组输出 ICB 总线接口,分别分发给 BIU,DTCM,ITCM 。
- “ICB汇合”
- "ICB分发”
- 最终的返回数据经过操作尺寸对齐之后,经过 LSU 的写回接口写回。
11.4 4 ITCM和DTCM
蜂鸟E200配备了专用的 ITCM(数据宽度为 64 位)和 DTCM(数据宽度为 32 位)。
-
哈佛结构和冯诺依曼结构的严格界限已经变得模糊
- 蜂鸟E200处理器有专用的总线分别访问 ITCM和DTCM---------哈佛结构
- ITCM所在的地址区间同样能够通过 LSU 被读和写指令访问到用,于存储数据-------冯诺依曼结构
-
ITCM 的存储器主体由一块数据宽度为 64 位的单口 SRAM 组成。
-
ITCM 用数据宽度为 64 位能够取得更低的功耗消耗。
1.比32位的SRAM面积更加紧凑
2.64位宽的ITCM可以1次取出64位的指令流
-
ITCM 的相关源代码
-
3组输入 ICB 总线“ICB 汇合”,采用的仲裁机制是优先级仲裁
- LSU 的访问接口
- IFU专用的 ICB 接口
- 外部直接访问接口
- DTCM 的微架构
- DTCM 的存储器主体由一块数据宽度为32位的单口SRAM组成
- DTCM 有两组输入 ICB 总线接口,经过一个“ICB 汇合”
- LSU接口
- 外部直接访问接口
11.4.5 “A”扩展指令处理
“A”扩展子集对于蜂鸟 E200 这样的极低功耗处理而言未必是必须要支持的部分
默认支持“A”扩展子集。
-
“A”扩展指令分为两类
- Load-Reserved和Store-Conditional 指令的硬件实现
在LSU单元中设置了互斥检测器 当有Load-Reserved执行时,设置互斥检测器的有效标志 当有Store-Conditional执行时,如果写指令访问存储器的地址和互斥检测器中存储的地址一样,则将互斥检测器的有效标志清除掉
- [**e203\_lsu\_ctrl.v 源代码(github)**](https://bbs.csdn.net/topics/618679757)
-
AMO指令的硬件实现
- 在AGU单元中使用了状态机将 AMO 指令拆分为若干个不同的微操作
1.先拆分出一个存储器读操作 2.算术运算 3.写入存储器
-
蜂鸟E200只能够在单核独自访问存储器时,才能保证程序执行的“A”扩展指令结果正确。(局限性)
11.4.6 Fence与Fence.I指令
- 派遣Fence和Fence.I指令之前必须等待所有己经滞外的指令执行完毕
- e203_exu_disp.v 源代码(github)
11.4.7 BIU
- 蜂鸟 E200 处理器核还能通过 BIU 访问外部的存储器
收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
…(img-RY5OyFn0-1715661327249)]
[外链图片转存中…(img-YkPbDmxZ-1715661327249)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!