MMU

简介:   MMU 是内存管理单元,在现代的处理器中扮演重要角色,它是CPU用来管理虚拟存储器、物理存储器的控制路线,先举个例子来说明一下MMU的相关概念:             ---地址范围、虚拟地址映射为物理地址以及分页机制        地址范围是一个计算机上的一个程序能够产生地址的集合,这...

  MMU 是内存管理单元,在现代的处理器中扮演重要角色,它是CPU用来管理虚拟存储器、物理存储器的控制路线,先举个例子来说明一下MMU的相关概念:

            ---地址范围、虚拟地址映射为物理地址以及分页机制

 

     地址范围是一个计算机上的一个程序能够产生地址的集合,这个范围的大小由CPU的位数决定,例如一个32位的CPU,它的地址范围是0~0xFFFFFFFF (4G),而对于一个64位的CPU,它的地址范围为0~0xFFFFFFFFFFFFFFFF (16E).这个范围就是我们的程序能够产生的地址范围,我们把这个地址范围称为虚拟地址空间,该空间中的某一个地址我们称之为虚拟地址。与虚拟地址空间和虚拟地址相对应的则是物理地址空间和物理地址,大多数时候我们的系统所具备的物理地址空间只是虚拟地址空间的一个子集。

  在没有使用虚拟存储器的机器上,虚拟地址被直接送到内存总线上,使具有相同地址的物理存储器被读写;而在使用了虚拟存储器的情况下,虚拟地址不是被直接送到内存地址总线上,而是送到存储器管理单元MMU,把虚拟地址映射为物理地址。

  大多数使用虚拟存储器的系统都使用一种称为分页(paging)机制。虚拟地址空间划分成称为页(page)的单位,而相应的物理地址空间也被进行划分,单位是页帧(frame).页和页帧的大小必须相同。在这个例子中我们有一台可以生成32位地址的机器,它的虚拟地址范围从0~0xFFFFFFFF(4G),而这台机器只有256M的物理地址,因此他可以运行4G的程序,但该程序不能一次性调入内存运行。这台机器必须有一个达到可以存放4G程序的外部存储器(例如磁盘或是FLASH),以保证程序片段在需要时可以被调用。在这个例子中,页的大小为4K,页帧大小与页相同——这点是必须保证的,因为内存和外围存储器之间的传输总是以页为单位的。对应4G的虚拟地址和256M的物理存储器,他们分别包含了1M个页和64K个页帧。

       MMU有一下功能:

1, 虚拟内存:通过虚拟地址来实现,它可以在处理器上运行比实际物理内存大 的应用程序,使用虚拟地址,操作系统通常要设置一个交换分区,通过将不活跃的内存中的数据放到交换分区,操作系统可以有空间来为其它的程序服务。

2, 内存保护:对特定的内存区域的访问进行保护。

3,完成了从虚拟地址到物理地址的转换。

   

相关文章
|
6月前
|
存储 数据处理 内存技术
寄存器
一、什么是寄存器 寄存器是计算机硬件中的一种存储设备,它用于暂时存储和处理数据。寄存器位于计算机的中央处理器(CPU)内部,通常是由高速的SRAM(静态随机存储器)构成。寄存器具有以下特点: 1. 速度快:寄存器位于CPU内部,与CPU的时钟频率相同,因此访问寄存器的速度非常快,能够在一个时钟周期内完成读取或写入操作。 2. 容量小:由于寄存器是CPU内部的存储设备,其容量相对较小。通常每个寄存器的容量为几个字节或几十个字节,用于存储临时数据、指令和地址等。 3. 数据处理:寄存器可以用于存储和处理数据。CPU可以直接从寄存器中读取数据,并进行运算、逻辑操作等。 4. 寄存器类型:根据不同的功
76 0
|
10天前
|
缓存 安全
什么是TLB
什么是TLB
8 0
|
19天前
|
存储 C++
进程地址空间
进程地址空间
|
6月前
|
存储
寄存器介绍
一、寄存器的定义 寄存器是计算机中的一种存储设备,用于暂时存储指令和数据。它位于计算机的中央处理器(CPU)内部,是最快速的存储器之一。寄存器的容量较小,但速度非常快,能够快速读取和写入数据。 二、寄存器的功能 数据存储:寄存器可以暂时存储指令和数据,供CPU进行读取和处理。 数据传输:寄存器可以在CPU内部传输数据,实现不同部件之间的数据交换。 运算操作:寄存器可以进行基本的算术和逻辑运算,支持CPU的运算功能。 地址定位:寄存器可以存储指令和数据的地址信息,帮助CPU准确定位数据的位置。 三、寄存器的类型 通用寄存器:通用寄存器用于存储临时数据,供CPU进行运算操作。 累加寄存器:累
143 0
|
10月前
|
存储
存储器-虚拟内存
存储器-虚拟内存
52 0
|
缓存 内存技术
E500 MMU 架构及VxWorks 下的优化
E500 MMU 架构及VxWorks 下的优化
169 0
E500 MMU 架构及VxWorks 下的优化
|
存储
逻辑地址转物理地址
若在一分页存储管理系统中,某作业的页表如表所示。已知页面大小为1024字节,试将逻辑地址1011,2148,3000,4000转换为相应的物理地址。
240 0
逻辑地址转物理地址
|
存储 缓存 算法
从 MMU 看内存管理
在计算机早期的时候,计算机是无法将大于内存大小的应用装入内存的,因为计算机读写应用数据是直接通过总线来对内存进行直接操作,对于写操作来说,计算机会直接将地址写入内存;对于读操作来说,计算机会直接读取内存的数据。
从 MMU 看内存管理
|
存储 缓存 Java
什么是寄存器
Java编译器输出的指令流,基本上是一种基于栈的指令集架构,而与之相对的另外一套常用的指令集架构是基于寄存器的指令集。早期的android,即android4.4之前使用的JVM是Dalvik VM,就是基于寄存器架构的。
什么是寄存器
|
存储 安全 编译器
CPU和寄存器详解
CPU和寄存器详解
660 0
CPU和寄存器详解

热门文章

最新文章