9. 自制操作系统: risc-v内存相关介绍

Memory Ordering

  • RVWMO 内存一致性模型

RISC-V使用一种名为“RVWMO”(RISC-V弱内存排序, RISC-V Weak Memory Ordering)的内存模型,旨在为架构师提供灵活性,以构建高性能可伸缩的设计,同时支持易于处理的编程模型.

在RVWMO下,从同一hart上的其他内存指令的角度来看,运行在单个hart上的代码似乎是按照顺序执行的,但来自另一个hart的内存指令可能会观察到第一个hart上的内存指令以不同的顺序执行。因此,多线程代码可能需要显式的同步来保证来自不同hart的内存指令之间的顺序。基本的RISC-V ISA提供了一个FENCE指令,同时atomic extension "A"额外定义了load-reserved/store-conditional和atomic read-modify-write指令。

标准ISA扩展还有misaligned aotmics "Zam"和total store ordering"Ztso" 是对RVWMO增加额外的规则。

  • 什么是RVWMO内存模型?

RVWMO内存模型是根据全局内存顺序定义的,即所有hart产生的内存操作的总顺序。通常,一个多线程程序有许多不同的可能执行,每个执行都有自己相应的全局内存顺序。全局内存顺序定义在由内存指令生成的原语加载和存储操作上。

  • 内存模型原语

内存操作的程序顺序反映了生成每个加载和存储的指令在该 hart 的动态指令流中的逻辑布局顺序; 即,顺序即一个简单的有序处理器执行该指令的顺序。

内存访问指令引起内存操作。内存操作既可以是加载操作,也可以是存储操作,或者两者同时进行。所有内存操

你可能感兴趣的:(risc-v,bare,metal,risc-v)