1783|6

735

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

精致的复杂,谈内存管理——《RISC-V体系结构编程与实践 》读书笔记 [复制链接]

精致的复杂,谈内存管理——《RISC-V体系结构编程与实践 》读书笔记

    内存的概念在计算机体系中可是核心内容。在组装电脑时,要首选“双通道DDR”内存,这样内存的读写速度会快上一倍。今天,文章里谈的内存可不是组装机的内存条,而是数据在内存中如何被管理?如何被找到?

    现代操作系统是多任务的操作系统,即“系统可以同时运行多个进程。内存管理中出现了固定分区和动态分区两种技术”。但不管固定分区,还是动态分区都存在以下问题:1. 进程地址空间保护问题;2. 内存使用效率低;3. 程序运行地址重定位问题。

    解决上述问题,引入了地址空间虚拟化的概念,并很好的解决了上述3个问题。虚拟内存机制可以提供隔离性,使得每个空间都感觉拥有了整个地址空间。程序可以随意访问,由处理器实现虚拟地址到物理地址的转换。

    针对运行时所需要的内存往往大于实际物理内存,引入分页机制,其“核心思路是把程序呈部分不使用的内存放到交换磁盘中,而把程序正在使用的内存继续保留在物理内存中。”

这里引入了一个新的名词“MMU”,Memory Management Unit的缩写,中文名是内存管理单元。它“负责虚拟地址到物理地址的转换和翻译工作。”对于32位系统的寻址,虚拟地址VA[31::0]可以分成两部分:一部分是虚拟页内的偏移量;一部分是用来寻找属于哪个页。

    从上面的图中,可以清楚看到,通过对索引值的线性查找,可以将虚拟页帧号转换为物理页帧号,而额外存储空间仅为4MB。

    不过,分页机制在多进程系统中需要为每个进程分配4MB的额外空间,这也成为了多进程系统中对主存空间的巨大浪费。解决办法也有,采用多级页表来减少页表占用的内存空间。

    对于RISC-V指令集设计的芯片的内存管理方式多采用三级或四级页表,比如Sv39,Sv48。

    由于多级页表还需要引入TLB概念,限于篇幅,本文仅给大家带来一级页表的实现笔记。欢迎大家期待我的下一篇笔记《不可分割的原子操作》

最新回复

内存管理,如何能多编写许多实例并以图解方式就更加让人能够理解深刻了   详情 回复 发表于 2024-2-1 08:11
点赞 关注

回复
举报

6972

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

Memory Management Unit的缩写,中文名是内存管理单元的简写MMU

百度百科里可以查出来

 
 

回复

2947

帖子

4

TA的资源

五彩晶圆(中级)

板凳
 

MMU和DDR双通道没有毛的关系,MMU的主要功能是虚拟内存和物理内存映射管理和内存保护,MMU对于大型的操作系统是必须的,但是对于嵌入式操作系统MMU也是有用地,可以很好的管理内存和保护核心程序的安全。M33内核中就有MMU

 
 
 

回复

4856

帖子

3

TA的资源

版主

4
 

为什么电脑出现问题大多可以通过擦拭内存条来解决,说明,内存涉及的东西太多了

点评

版主,我的文章重点是内存中的数据引用,不是内存条呀~~  555  详情 回复 发表于 2023-5-30 22:08
 
 
 

回复

735

帖子

0

TA的资源

纯净的硅(高级)

5
 
led2015 发表于 2023-5-30 21:06 为什么电脑出现问题大多可以通过擦拭内存条来解决,说明,内存涉及的东西太多了

版主,我的文章重点是内存中的数据引用,不是内存条呀~~  555

 
 
 

回复

7193

帖子

11

TA的资源

版主

6
 

从上面的图中,可以清楚看到,通过对索引值的线性查找,可以将虚拟页帧号转换为物理页帧号,而额外存储空间仅为4MB。这个4MBbit是要消耗内存吗?如果放到MCU上,那可是不少的开支呀。

 
 
 

回复

229

帖子

0

TA的资源

一粒金砂(高级)

7
 

内存管理,如何能多编写许多实例并以图解方式就更加让人能够理解深刻了

 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
立即报名 | 2025 瑞萨电子工业以太网技术日即将开启!
3月-4月 深圳、广州、北京、苏州、西安、上海 走进全国6城
2025瑞萨电子工业以太网技术巡回沙龙聚焦工业4.0核心需求,为工程师与企业决策者提供实时通信技术最佳解决方案。
预报从速,好礼等您拿~

查看 »

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