嵌入式系统

简述MMU从虚拟地址到物理地址的转换过程和方法。

题目

简述MMU从虚拟地址到物理地址的转换过程和方法。

参考答案和解析
正确答案:虚拟地址到物理地址的转换过程:
当ARM要访问存储器时,MMU先查找TLB中的虚拟地址表,如果ARM的结构支持分开的地址TLB和指令TLB,那么它在取指令时使用指令TLB,其它的所有访问类别使用数据TLB;如果TLB中没有虚拟地址的入口,则是转换表遍历硬件从存储在主存储器中的转换表中获取访问权限,一旦取到,这些信息放在转换TLB中,它会放在1个没有使用的入口处或覆盖1个已有的入口。 虚拟地址到物理地址的转换方法:
(1)确定1级页表的基地址。
(2)合成转换表的1级描述符。
(3)根据不同的1级描述符获取第2级描述符地址并找出第2级描述符。
(4)将第2级页描述符指示的页基地址,与虚拟地址指示的页内偏移地址相加,得到相应页的物理地址,完成虚拟地址到物理地址的转换。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

简述具有快表结构的分页存储系统虚拟地址转换为物理地址的过程。


参考答案:CPU给出有效虚拟地址后,由地址变换机构自动地将页号P送入快表中,并将此页号与快表中的所有页号进行比较,若其中有与此相匹配的页号,则表示所访问的页表项在快表中。于是读出该页对应的物理块号,与页内地址相加形成物理地址。如在快表中未找到对应的页表项,则需再访问内存中的页表,找到后,把从页表项中读出的物理块号与页内地址相加形成物理地址。同时,还将此页表项存入快表中,即修改快表。

第2题:

以下关于ARM处理器说法正确的是()。

A.32位ARM处理器支持字节,半字,和字三种数据类型

B.MMU为存储器保护单元,是对存储器进行保护的可选组件

C.虚拟地址到物理地址映射是MPU的主要功能

D.WIC为嵌套向量中断控制器


正确答案:A

第3题:

下列关于DNS(域名系统)的说法中,正确的是(34)。

A.提供从IP地址到域名的转换

B.提供从物理地址到域名的转换

C.提供从域名到物理地址的转换

D.提供从域名到IP地址的转换


正确答案:D
解析:DNS(Domain Name System,域名系统)的作用是把域名转换成为网络可以识别的 IP地址。首先,要知道互联网的网站都是以物理服务器的形式存在的,但是怎么访问要访问的网站服务器呢?这就需要给每台服务器分配IP地址,因特网上的网站有很多,用户不可能记住每个网站的IP地址,这就产生了方便记忆的域名系统DNS,它可以把输入的便于记忆的域名转换为要访问的服务器的IP地址,比如:我们在浏览器中输入 www.csai.cn,经过DNS系统后,则会自动转换成为211.147.214.39。

第4题:

80386DX工作在保护方式时,虚拟地址(逻辑地址)由哪两部分组成?这是所确定的虚拟地址空间为多少自己?将其转换为物理地址时,如果只分段不分页,代码/数据段的基地址、界限和属性等由什么提供?


正确答案:由段选择符和偏移地址地址两部分组成;虚拟地址空间为64TB;代码/数据段的基地址、界限和属性等由段描述符提供。

第5题:

以下关于存储管理单元(MMU)的说法中,错误的是( )。

A.MMU使各个任务作为各自独立的程序在其私有存储空间中运行
B.MMU使运行的任务必须知道其他任务的存储需求情况
C.MMU提供了一些资源以允许使用虚拟存储器
D.MMU作为转换器,将程序和数据的虚拟地址转换成实际的物理地址

答案:B
解析:
MMU是Memory Management Unit的缩写,中文名是存储管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制单元,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,多用户多进程操作系统支持等功能。任何时候,计算机上都存在一个程序能够访问的地址集合,我们称之为地址范围。这个范围的大小由CPU的位数决定,例如十个32位的CPU,它的地址范围是0~0xFFFFFFFK4G),而对于一个64位的CPU,它的地址范围为0~0xFPTFFFFFFFFFFFFFdeE)。这个范围就是我们的程序能够产生的地址范围,我们把这个地址范围称为虚拟地址空间,该空间中的某一个地址我们称之为虚拟地址。与虚拟地址空间和虚拟地址相对应的则是物理地址空间和物理地址,大多数时候我们的系统所具备的物理地址空间只是虚拟地址空间的一个子集。这里举一个最简单的例子直观地说明这两者,对于一台内存为256M的32bitx86主机来说,它的虚拟地址空间范围是0~0xFFFFFFFF(4G),而物理地址空间范围是0x00000000~0x0FFFFFFF(256M)。在没有使用虚拟存储器的计算机上,地址被直接送到内存总线上,使具有相同地址的物理存储器被读写;而在使用了虚拟存储器的情况下,虚拟地址不是被直接送到内存地址总线上,而是送到存储器管理单元MMU,把虚拟地址映射为物理地址。对于多用户多进程的操作系统,需要MMU才能达到为每个用户进程都拥有自己独立的地址空间的目标。使用MMU,操作系统划分出一段地址区域,在这块地址区域中,每个进程看到的内容都不一定一样。例如Microsoft?Windows操作系统将地址范围4M-2G划分为用户地址空间,进程A在地址0X400000(4M)映射了可执行文件,进程B同样在地址0X400000(4M)映射了可执行文件,如果A进程读地址0X400000,读到的是A的可执行文件映射到RAM的内容,而进程B读取地址0X400000时,则读到的是B的可执行文件映射到RAM的内容。这就是MMU在当中进行地址转换所起的作用。MMU还提供硬件机制的内存访问授权。当应用程序的所有进程共享同一存储器空间时,任何一个进程将有意或无意地破坏其他进程的代码、数据或堆栈。异常进程甚至可能破坏内核代码或内部数据结构。例如进程中的指针错误就能轻易使整个系统崩溃,或至少导致系统工作异常。就安全性和可靠性而言,基于进程的实时操作系统(RTOS)的性能更为优越。为生成具有单独地址空间的进程,RTOS只需要生成一些基于RAM的数据结构并使MMU加强对这些数据结构的保护。基本思路是在每个关联转换中“接入”一组新的逻辑地址。MMU利用当前映射,将在指令调用或数据读写过程中使用的逻辑地址映射为存储器物理地址。MMU还标记对非法逻辑地址进行的访问,这些非法逻辑地址并没有映射到任何物理地址。这些进程虽然增加了利用查询表访问存储器所固有的系统开销,但其实现的效益很高。在进程边界处,疏忽或错误操作将不会出现,用户接口进程中的缺陷并不会导致其他更关键进程的代码或数据遭到破坏。

第6题:

以下关于禁止存储管理单元(MMU)存储访问过程说法错误的是(46)

A.所有物理地址和虚拟地址相等

B.使用平板存储模式

C.存储访问不考虑C和B控制位

D.存储访问不进行权限控制,MMU也不会产生存储访问中止信号


正确答案:C
解析:当禁止存储管理单元(MMU)时,先要确定芯片是否支持cache和writebufffer。如果芯片规定禁止存储管理单元(MMU)时,禁止cache和writebufffer,则存储访问将不考虑C和B控制位。如果芯片禁止存储管理单元(MMU)时,可以使能cache和writebufffer,则数据访问时C=0和B=0;读取指令时,对于分开的TLB,C=1,对于统一的TLB,C=0。

第7题:

下列关于存储管理单元(MMU)说法错误的是()。

A.MMU提供的一个关键服务是使各个任务作为各自独立的程序在其自己的私有存储空间中运行。

B.在带MMU的操作系统控制下,运行的任务必须知道其他与之无关的任务的存储需求情况,这就简化了各个任务的设计。

C.MMU提供了一些资源以允许使用虚拟存储器。

D.MMU作为转换器,将程序和数据的虚拟地址(编译时的连接地址)转换成实际的物理地址,即在物理主存中的地址。


参考答案:B

第8题:

● 在 CPU 和物理内存之间进行地址转换时, (29) 将地址从虚拟(逻辑)地址 空间映射到物理地址空间。

(29 )A. TCB B. MMU C. CACHE D. DMA


正确答案:B

第9题:

MMU的作用有()

  • A、内存保护
  • B、地址转换(将虚地址转换成物理地址)
  • C、加快存取速度
  • D、安全保密
  • E、内存分配

正确答案:A,B

第10题:

以下关于ARM处理器说法正确的是()。

  • A、32位ARM处理器支持字节,半字,和字三种数据类型
  • B、MMU为存储器保护单元,是对存储器进行保护的可选组件
  • C、虚拟地址到物理地址映射是MPU的主要功能
  • D、WIC为嵌套向量中断控制器

正确答案:A

更多相关问题