计算机体系结构
CPU
内存
I/O
内存分层体系
运行内存(主存) / 磁盘(虚拟内存). 主存是在运行程序时所需要保存的数据空间,而磁盘是用于持久化数据保存的数据空间.
CPU可以访问的内存包括两大类 : 寄存器 / cache(L1缓存 / L2缓存)
层次
微处理器(CPU访问)
|___CPU寄存器 / L1缓存
|___L2缓存
主存(程序访问)
磁盘(程序访问)
从CPU寄存器到磁盘,读写速度不断降低,单位成本不断降低,大小不断增大。
内存管理目标
抽象:逻辑地址空间
保护:独立地址空间
共享:访问相同内存
虚拟:更多的地址空间
内存管理方法
程序重定位
分段
分页
虚拟内存
按需分页虚拟内存
实现高度依赖于硬件, 其中内存管理单元(MMU)负责处理CPU的内存访问请求
地址空间
地址空间的定义
物理地址空间 —— 硬件支持的地址空间( address : [0, Max_sys] )
逻辑地址空间 —— 一个运行在程序所拥有的的内存范围( address : [0, Max_prog] )
连续内存分配
内存碎片问题
内存碎片问题指的是空闲的内存无法被利用
- 外部碎片 : 分配单元间的未使用内存
- 内部碎片 : 分配单元内的未使用内存
分区的动态分配方式有以下三种 :
- 第一匹配分配 : 在内存中找到第一个比需求大的空闲块, 分配给应用程序
- 最优适配分配 : 在内

本文详细介绍了计算机体系结构中的内存管理,从CPU寄存器、L1/L2缓存到主存和磁盘的层次结构。内存管理的目标包括逻辑地址空间抽象、保护、共享和虚拟化。讨论了连续内存分配可能导致的碎片问题,以及第一匹配、最优适配和最差适配三种分配策略。同时,提出了压缩式和交换式碎片整理方法来解决外部碎片问题。
最低0.47元/天 解锁文章
627

被折叠的 条评论
为什么被折叠?



