OpenRISC1200的MMU介绍

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

中心议题
      *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的的理解起到了一定的借鉴意义。

相关资讯
“中国芯”逆袭时刻:新唐携7大新品打造全场景AIoT解决方案矩阵

在万物互联与智能化浪潮席卷全球的今天,新唐科技以颠覆性创新奏响行业强音。4月25日,这场历时10天、横跨七城的科技盛宴在深圳迎来高潮,以"创新驱动AI、新能源与车用科技"为主题,汇聚全球顶尖行业领袖,首次公开七大核心产品矩阵,展现从芯片设计到智能生态的全链条创新能力,为半导体产业转型升级注入新动能。

半导体先进制程技术博弈:台积电、英特尔与三星的差异化路径

在2025年北美技术研讨会上,台积电正式宣布其A14(1.4nm)工艺将于2028年量产,并明确表示无需依赖ASML最新一代High NA EUV光刻机。这一决策背后,折射出全球半导体巨头在技术路线、成本控制和市场竞争中的深层博弈。

嵌入式主板EMB-3128:轻量级边缘计算的工业级解决方案

随着AIoT技术的快速落地,智能设备对高性能、低功耗嵌入式硬件的需求持续攀升。华北工控推出的EMB-3128嵌入式主板,搭载Intel® Alder Lake-N系列及Core™ i3-N305处理器,以高能效比设计、工业级可靠性及丰富的接口配置,成为轻量级边缘AI计算的理想选择。该主板支持DDR5内存、多模态扩展接口及宽温运行环境,可广泛应用于智能家居、工业自动化、智慧零售等场景,助力产业智能化升级。

从ASMI财报看行业趋势:AI芯片需求爆发如何重塑半导体设备市场?

作为全球半导体沉积设备领域的龙头企业,荷兰ASM国际(ASMI)近日发布2024年第一季度财报,展现强劲增长动能。财报显示,公司当季新增订单额达8.34亿欧元(按固定汇率计算),同比增长14%,显著超出市场预期的8.08亿欧元。这一表现主要受益于人工智能芯片制造设备需求激增与中国市场的战略性突破,同时反映出半导体产业技术迭代与地缘经济博弈的双重影响。

车规级SerDes国产替代提速:解析纳芯微NLS9116/NLS9246技术优势与市场潜力

随着汽车智能化加速,车载摄像头、激光雷达、显示屏等传感器数量激增,数据传输带宽需求呈指数级增长。传统国际厂商基于私有协议(如TI的FPD-Link、ADI的GMSL)垄断车载SerDes市场,导致车企供应链弹性不足、成本高企。2025年4月,纳芯微电子发布基于HSMT公有协议的全链路国产化SerDes芯片组(NLS9116加串器与NLS9246解串器),通过协议解耦、性能优化与供应链自主可控,为ADAS、智能座舱等场景提供高性价比解决方案,标志着国产车规级芯片从“跟跑”迈向“并跑” 。