OpenRISC1200的MMU介绍

发布时间:2011-06-10 阅读量:1171 来源: 我爱方案网 作者:

中心议题
      *openrisc1200处理器的核心内存管理单元

内存管理单元是openrisc1200处理器的核心,本文介绍了mmu的地址范围、虚拟地址映射为物理地址 以及 分页机制以及使用mmu的优点,对以后的wishbone总线开发有着借鉴意义。

一、mmu的由来
现代计算机系统都是以存储器为中心,在计算机运行过程中,存储器是各种信息存储和交换的中心,计算机对存储器的理想要求是高速度、大容量 并且价格低,但是现代存储系统系统,访问速度越快,容量越小,价格越贵,系统的最佳的状态应是个层次的存储器都处于均衡的繁忙状态。


二、mmu的介绍

mmu的主要功能一是提供虚拟/物理地址的映射;二是提供不同存储器空间的保护机制。操作系统会利用mmu将硬件单元完成存储器访问虚拟地址到物理地址的转换。虚拟地址就是程序员在程序中的逻辑地址,而物理地址则是真实存储器单元的空间地址。mmu通过一定的规则,可以把相同的虚拟地址映射到不同的物理地址中去这样即使有多个使用相同虚拟地址的进程启动,也可以通过mmu把它们映射到不同的物理地址上,不会造成系统错误。

(一)虚拟存储系统的工作原理

虚拟存储器是主存的扩展,其空间大小取决与计算机的访存能力,而不是实际外部存储空间的大小,虚拟存储系统使存储系统即具有相当于外存的容量,又有接近于主存的访问速度。

页式管理是把虚拟空间存储空间都分为相等固定长且比较小的存储块,每一个虚拟空间的块能分配到存储空间的可用的存储块,也就是各虚拟页可装入主存中的不同的实际页面位置,虚拟内存的哪个页面映射到物理内存的哪个页帧是通过页表来描述的,页表保存在物理内存中,mmu会查找页表来确定一个虚拟地址应该映射到什么物理地址。

在页式存储中处理器的逻辑地址由虚拟页号和页内地址两部分组成,实际的地址也分为页号与页内地址两部分,由地址映像机构将虚拟页号转换成主存的实际页号,页式管理用一个页表,包括页号、每页在主存中的起始位置和装入位等等。页表是虚拟页号与物理页号的映射表,页式管理由操作系统进行,对应用程序员是透明的。

openrisc1200使用虚拟内存管理来提供内存访问保护和有效的虚拟内存到物理内存的转换。保护力度为8kb/页,每一页用一个页表条目来描述属性。页表指明了物理页号、是否是页目录、页保护属性及访问属性等。mmu将虚拟地址映射到物理地址是以页为单位的,openrisc1200处理器的页尺寸默认8kb,物理内存中的页称为物理页面或者页帧,物理存储器分成多个8kb叶帧。页表条目的accessed(a)和dirty(d)位保存了有关页的历史信息,操作系统使用这些

信息来判断主存的哪些区域需要交换到硬件上,或需要装载哪些区域回内存。
虚拟地址的35-32位上下文切换cid指明不同的页表项的基地址。通过上下文切换时激活不同的页表,使得执行有重叠虚拟地址的多任务成为可能,mmu可以重新定位一个任务的执行地址,通过各个不同的地址页表的映射为不同的物理地址,而无需在物理存储器中当挂起时保存,有效时恢复原先的数据。上下文切换时,并不需要在物理存储器中移动页表数据,而只需改变只想页表位置的指针。

level 1页序号用来索引level 1的页目录,31-24位虚拟地址表示了页目录的地址偏移,并从页目录中返回pte,这时的pet的地址位为level 2页表的基地址,level 2页序号用来索引level 2的页表,返回的pet地址为真正的物理地址,12-0位虚拟地址是一页内的字节偏移,对应物理空间的一页帧。

(二)转换旁路缓冲

一般的,每次虚拟存储器的访问能产生两次物理存储器存取,一次是获取相应的页表项,一次是获取所需的数据。因此即使一个简单的虚拟存储器方案也将使存储器的存储时间加倍。为了解决这个问题,openrisc1200使用了一个特殊的cache用于存储页表项-转换旁路缓冲,它是存放最近使用的页转换数据的特殊cache,openrisc1200的openrisc1200_dmmu_tlb使用片内ram实现匹配寄存器组和翻译寄存器组,tlb-旁路转换缓冲加速了地址的转换,将tlb分成指令跟数据高速的缓存,对于软件的页表,tlb起到了关联高速缓存的作用。当进行地址翻译时,信号的tlb使能有效,tlb的匹配寄存器与翻译寄存器同时激活,dtlb的条目数默认为6,表示64个dtlb条目。采用直接映射散列函数实现虚拟页号到tlb的地址转换,直接映射散列函数实际上是将虚拟页号的最低六位,即虚拟地址[18:13]直接作为tlb的地址而忽略更高位的虚拟页号。dtlb每个条目分别为dtlb通道匹配寄存器与dtlb翻译寄存器,每个条目从虚拟空间到物理内存翻译一页,这两个寄存器分别对应虚拟页号与物理页号的位置。tlb采用两级查找表,虚拟地址[18:13]地址的值查找到为tlb中匹配寄存器的值,其值为进程的有效地址高[31:19]位的地址,如果与原始的有效地址高[31:19]位比较两者相等,则代表tlb命中,则同一地址中翻译寄存器的值即为物理地址与一些保护信号。

三、结束语

本文通过对开源处理器的研究与开发,对开源处理器openrisc1200的mmu组成以及相关原理进行了相关介绍,对进一步openrisc1200的的理解起到了一定的借鉴意义。

相关资讯
突破体积限制!Nexperia推出车规级CFP15B封装双极性晶体管

在工业自动化和新能源汽车快速发展的浪潮中,电子系统对功率器件的空间利用率和热管理性能提出了前所未有的严苛要求。Nexperia准确把握市场需求脉搏,正式推出采用创新铜夹片封装技术的MJPE系列双极性晶体管。这12款突破性产品标志着高功率密度与强健可靠性的完美融合,为工程师提供前所未有的设计自由度。

美调整AI芯片对华出口规则,英伟达AMD部分产品获放行,供应链迎利好

据最新市场消息与厂商证实,美国商务部在人工智能(AI)高性能芯片对华出口管制政策上进行了审慎调整。芯片巨头英伟达(NVIDIA)与超威半导体(AMD)均已获得美方新的授权许可,允许其向中国大陆市场恢复特定型号AI芯片的销售,其中包括英伟达专为中国市场设计的H20芯片以及AMD的部分产品线(如被广泛关注的MI 308系列)。

台积电嘉义封测厂安全事故频发 累计2死2伤 工程遭勒令停工

近日,台积电位于嘉义科学园区的CoWoS先进封测厂再度发生安全事故,引发业界关注。据台媒报道,7月20日,该厂区内一辆载重约50吨的施工板车突然翻车,所幸未造成人员伤亡。然而,这已是该工地近两个月内发生的第四起重大安全事故,累计已导致2人死亡、2人重伤。

江波龙:AI驱动存储升级,DDR5与eSSD需求激增

2025年7月18日,江波龙发布公告,回应市场关注问题,并指出全球半导体存储市场自2025年3月底开始逐步回暖。公司表示,随着主要存储晶圆厂商实施新一轮减产或控产计划,市场供需关系改善,存储产品价格在2025年第一季度后半期呈现上涨趋势。同时,下游客户经历三个季度的库存消化后,需求迎来实质性增长。行业分析机构预测,第三季度服务器、手机等领域的存储产品价格仍具备上行空间。

三星加速美国泰勒工厂建设,瞄准芯片法案补贴与2nm技术突破

近日,三星电子正加速推进其位于美国德克萨斯州泰勒市芯片工厂的建设进程。据外媒报道,三星已调派大量芯片制造领域的专业工程师前往该工厂,以加快设备安装与生产线调试。此举不仅是为了满足潜在美国客户的订单需求,更是为了确保工厂能在规定期限内投产,从而获得美国《芯片法案》的巨额补贴。