ARM微处理器存储器格式知识总结
存储特点
- 从零地址开始的字节线性组合
- 寻址空间为4GB,这里是因为ARM的地址寄存器为32位,对应能够访问2^32个存储单元,每个存储单元在ARM中对应一个字节因此寻址空间为4GB
- 字数据的存储方法有两种分别为大端格式和小端格式
大端格式
字数据的高字节存储在低地址位,低字节存放在高地址位。
小端格式
字数据的高字节存储在高地址位,低字节存储在低地址位
虚拟存储技术
存储器管理单元MMU
- 将虚拟地址转换成物理地址–将主存地址从虚拟存储空间映射到物理存储空间
- 存储器访问权限控制
- 设置虚拟存储空间缓冲特性
虚拟存储管理
ARM分页式存储管理
概念
- 虚拟存储空间被分成一个个固定大小的页(若干个存储单元构成),并且将物理主存储空间也分成同样的大小的一个个页框(页)
- 页表是数据库表存放虚拟地址与物理地址之间的映射关系
- 通过查询存放在主存中的页表来实现虚拟地址到物理地址的映射转换
- 由于页表数据量大,如果每次都查询页表来进行转换的话代价大,此处采用类似cache的快表技术(Translation Lookaside Buffer,TLB)来提高地址转转换速率
TLB地址转换过程
- 微处理器需要访问主存时,首先根据虚拟地址在TLB中查询对应转换条目,若存在则直接进行转换。
- 若不存在,则在主存的页表中查找,并把查找到的结果添加到对应的TLB中
- 依据淘汰算法进行TLB中条目替换
两种存储单位的映射
- 虚拟存储空间到物理存储空间的映射是以存储块单位进行的
- 在页表/TLB中每个Entry记录了一个虚拟存储空间的存储块的基地址与物理存储空间的一个存储块的基地址之间的对应关系
例:
存储块的基地址=101,其内某个存储单元的偏移地址为000,则该存储单元的地址为基地址+偏移地址 = 101000