单片机MCU
现代中央处理器CPU
4412 的物理地址包括
- CPU内部寄存器registere
- MMC
- TF卡
现代CPU和单片机相比就多了缓存和内存管理单元
- 缓存比内存贵,速度快,所有它在挨着CPU的第一级
- 内存比存储介质贵,速度快,所以它在缓存和内存之间
4412访问物理地址的过程是:从cache缓存到内存到物理地址。哪怕CPU访问内部寄存器也是要过cache和内存的。
产生的历史背景
• MMU是中央处理器中用来管理虚拟存储器、物理存储器的控制线路,同时负责虚拟地址映射为物理地址
• 在原始的PC上,程序员编程的时候遇到一个问题
– 程序大于内存
– 当时的解决办法是程序员将程序“分割”成一段一段的,运行的时候CPU先运行一段,然后关闭前一段,再运行下一段。
– 虽然运行的时候,CPU可以自动处理,但是“分割”的工作由程序员完成,很痛苦,很枯燥。
• 在这个环境下引入了内存管理单元——MMU
地址范围
• 内存管理单元的基本思路
– 数据和堆栈的大小总和可以超过物理存储器的大小,操作系统把当前使用的部分留在内存中,其它的保留在硬盘上。
• 内存管理单元——地址范围
– 32位的CPU地址范围是0——2的32次方
– 64位的CPU地址范围是0——2的64次方
页和页帧
• 虚拟地址空间被划分为页的单位,相应的物理地址空间被划分为页帧
。这个就是分页机制
– 页的大小必须一样,页帧的大小也必须一样
• 如果一台32位的机器有1G内存,它最大可运行4G大小的程序。
– 这台机器首先要有4G的存储空间
虚拟地址和物理地址的映射
• MMU本质上是一个表格
– MMU表格一边是CPU发送指令对应的虚拟地址,一边存储的是物理地址
– 虚拟地址转化为物理地址,内存通过物理地址去读取实际的数据
• 在4412处理器中,内部寄存器也是通过虚拟地址和物理地址映射之后才拿来使用的。