发布时间:2011-06-10 阅读量:1179 来源: 我爱方案网 作者:
中心议题
*openrisc1200处理器的核心内存管理单元
内存管理单元是openrisc1200处理器的核心,本文介绍了mmu的地址范围、虚拟地址映射为物理地址 以及 分页机制以及使用mmu的优点,对以后的wishbone总线开发有着借鉴意义。
一、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的的理解起到了一定的借鉴意义。
全球领先的传感器与功率IC解决方案供应商Allegro MicroSystems(纳斯达克:ALGM)于7月31日披露截至2025年6月27日的2025财年第一季度财务报告。数据显示,公司当季实现营业收入2.03亿美元,较去年同期大幅提升22%,创下历史同期新高。业绩增长主要源于电动汽车和工业两大核心板块的强劲需求,其中电动汽车相关产品销售额同比增长31%,工业及其他领域增速高达50%。
受强劲的人工智能(AI)需求驱动,全球存储芯片市场格局在2025年第二季度迎来历史性转折。韩国SK海力士凭借在高带宽存储器(HBM)领域的领先优势,首次超越三星电子,以21.8万亿韩元的存储业务营收问鼎全球最大存储器制造商。三星同期存储业务营收为21.2万亿韩元,同比下滑3%,退居次席。
8月1日,英伟达官网更新其800V高压直流(HVDC)电源架构关键合作伙伴名录,中国氮化镓(GaN)技术领军企业英诺赛科(Innoscience)赫然在列。英诺赛科将为英伟达革命性的Kyber机架系统提供全链路氮化镓电源解决方案,成为该名单中唯一入选的中国本土供应商。此重大突破性合作直接推动英诺赛科港股股价在消息公布当日一度飙升近64%,市场反响热烈。
全球领先的功率半导体解决方案供应商MPS(Monolithic Power Systems)于7月31日正式公布截至2025年6月30日的第二季度财务报告。数据显示,公司本季度业绩表现亮眼,多项核心指标实现显著增长,并释放出持续向好的发展信号。
贸泽电子(Mouser Electronics)于2025年8月正式推出工业自动化资源中心,为工程技术人员提供前沿技术洞察与解决方案库。该平台整合了控制系统、机器人技术及自动化软件的最新进展,旨在推动制造业向智能化、可持续化方向转型。