[A-19][V06]ARMv8/v9-内存虚拟化原理 前一篇文章,我们介绍了ARM内存的属性,算是一个小小的里程碑点,接下来我们会把注意力重新拉回虚拟化的赛道。我们从[V-05] 虚拟化基础-异常模型(Exception model)之后,花了很多笔墨介绍了ARM体系的Cache和内存相关的机制作为我们进一步研究虚拟化的基础知识,今天终于回归到我们的虚拟化主线继续小马奔腾。内存空间的管理也是虚拟化技术体系中的核心课题之一,下面我们就进入内存虚拟化的世界。
[A-18]ARMv8/ARMv9-Memory-内存空间的属性(Attributes & Properties) 在宏伟的ARM的内存世界中VMSA中,属性这个议题算不上最亮的星,就和屏幕前的你和我一样,平凡的活在这个茫茫然的人世间。纵使“丈夫贫践应未足,今日相逢无酒钱。”,也不要灰心面对生活,因为“山重水复疑无路,柳暗花明又一村”。这个时代磨炼着每一个人,考验着每一个人的意志力,只要坚持走下去,“莫愁前路无知己,天下谁人不识君”。本文成文的早晨,发生了一些遗憾的事情,谨以此文激励一下每一个屏幕前奋斗的码农,每一个为家庭默默付出的人。
[A-15]ARMv8/ARMv9-Memory-弱排序内存模型(效率至上) 前文中我们用了一篇文章对内存做了分类,ARMv8和ARMv9只支持两种类型的内存,Device类型和Normal类型。而且这两种类型的内存是mutually-exclusive(互斥的),任何一段内存只能被赋予一种类型属性。我们在介绍Normal类型的时候简要的介绍过,Normal类型的内存属于Weakly-Ordered(弱排序),目的是为了最大成都加快编程指令流的执行,提高整个硬件平台的性能。正所谓甘蔗没有两头甜,有好的一面,自然伴随着一些课题,本文先来讨论ARM的弱排序内存模型。
[A-09]ARMv8/ARMv9-Memory-内存空间(Address Spaces and Translation Regimes) 本文着重介绍了ARM体系下,虚拟地址空间和物理地址空间的内部的具体空间类型。