powerpc的内存体系结构

E500内核中包含内存管理单元MMU,其包含两个查找表(TLB0 Transaction Lookside Buffer)和TLB1来实现虚拟地址和物理地址的转化,其中TLB0用来进行页式映射,TLB1用来进行段式映射。E500有两个版本v1和v2,其中v2内核中的物理地址为36位,支持64GB的寻址,配置上有些不同。

E500v1内核的虚实地址转换





E500内核中使用了两级MMU结构,E500内核中的地址转换不能被禁止,并且在内部支持两个地址空间,分别为地址空间0和地址空间1

L1MMU包括I-L1VSP,D-L1VSP,I-L1TLB4K,D-L1TLB4k, I-L1VSP,D-L1VSP有4个Entry,是TLB1的数据缓冲区。I-L1TLB4K,D-L1TLB4k有64个Entry,是TLB0的数据缓冲区。

E500内核的L2MMU包括TLB0(16个Entry),和TLB1(256个Entry),

L1MMU和L2MMU中的Entry

E500内核的L1MMU和L2MMU中包含了许多Entry,在这些Entry中又包含了许多字段用来支持虚实地址转换,系统软件部能直接操作L1MMU的Entry,而是通过操作L2MMU的Entry来影响L1MMU的Entry

在E500内核中TLB1用来实现虚拟地址和物理之间的段映射方式,在E500内核复位后,TLB1中除了Entry0之外,其他的Entry都被置为无效,TLB1的Entry0初始值如表



E500内核的系统复位地址为0xFFFFFFFC,此时系统只能访问从0xFFFFF000开始的4KB地址,在这段程序空间中,引导程序需要完成对TLB1的其他Entry的初始化操作,建立基本的地址映射,

TILB1支持可变的长度页表,TLB1中一共有16个Entry,支持的最大内存地址空间为4GB,改变TLB1相应的Entry的SIZE字段将会调整TLB1中所支持的页表大小



1.系统软件可以使用TLB1映射IO空间,如PCI总线地址,局部总线地址空间,也可以你使用TLB1对主存储器,如SDRAM,DDR,进行地址映射,使用TLB1进行映射的优点是配置简单,一次最多可以将最多256MB空间进行映射,对于许多简单的应用而言,系统软件设计可以只使用TLB1完成虚实地址转换,而不需要使用TLB0进行页式虚实地址转换。

2.TLB0,TLB0是MMU地址转换单元的核心,E500内核的TLB0共支持256个Entry,支持的页表大小为4KB,因此TLB0所能直接覆盖的物理地址空间只有1MB,但是系统软件只是将TLB0作为页表的缓冲,采用TLB0进行虚拟内存管理需要在主存储器中建立也变,页表的每一个Entry所能管理的页表大小也是4KB,也TLB0支持的页表大小相等,

3.由于TLB0能直接映射地址空间只有1MB,当一个程序使用的地址不在这1MB空间时,将产生TLB miss异常,E500内核中一共有两只TLB miss异常,指令TLB miss异常和数据TLB miss异常。当产生异常时,进入异常处理程序会对存放在外部存储器中的页表进行检索,然后查到页表中和的Entry,将此Entry的值更新到TLB-的Entry中。

E500内核的Cache组成

1.E500内核中仅包含L1 cache,而不包含L2 cache,目前基于E500内核的处理器如,MPC8541,MPC8548包含了L2 cache,但是这些L2cache不属于内核,而是出于处理器。

2.E500内核的L1 cache采用哈佛结构将指L1 cache 和数据L1 cache分离,指令和数据L1 cache的大小都为32K

32kB = cache行长度(32B)X 路数(8路)X组数(128组)

PPC MPC85xx e500学习笔记的更多相关文章

  1. 学习笔记:CentOS7学习之十六:LVM管理和ssm存储管理器使用

    目录 学习笔记:CentOS7学习之十六:LVM管理和ssm存储管理器使用 16.1 LVM的工作原理 16.1.1 LVM常用术语 16.1.2 LVM优点 16.2 创建LVM的基本步骤 16.2 ...

  2. [转帖]Linux学习笔记之rpm包管理功能全解

    Linux学习笔记之rpm包管理功能全解 https://www.cnblogs.com/JetpropelledSnake/p/11177277.html rpm 的管理命令 之前学习过 yum 的 ...

  3. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  4. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  5. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  6. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  7. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  8. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  9. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

随机推荐

  1. ELK日志管理之——kibana部署

    1.kibana安装 [root@localhost ~]# wget https://download.elastic.co/kibana/kibana/kibana-4.1.1-linux-x64 ...

  2. hadoop-mongo map/reduce java

    官方 http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-hadoop/ mongo-haoop项目地址 https://g ...

  3. bzoj 1051 (强连通) 受欢迎的牛

    题目:这里 题意: Description 每一头牛的愿望就是变成一头最受欢迎的牛.现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎. 这 种关系是具有传递性的,如果A认为B受欢迎,B认为 ...

  4. SPFA+寻路(行路难,洛谷2832)

    啊啊啊这道难题总算是做出来了,首先是帅比浮云的题解发出来一下:http://www.cnblogs.com/fuyun-boy/p/5922742.html 原题目地址:https://www.luo ...

  5. 缺省servlet的使用

    假如URL地址为http://xxx/xxx/1.html,那么1.html这个静态页面是怎么显示到页面上的呢? 原因:在服务器配置文件conf/web.xml文件中,含有一个缺省的servlet配置 ...

  6. EFM32外设模块—USART V1.00

    http://wenku.baidu.com/link?url=hx-pumUzdpS-AbD1OhEW11Jl6H8wex2DNsv4IcZwrgL-drwuUzZ6E1L64fCnAfdUOObK ...

  7. MFC - 微软基础类库和框架

    一 MFC的概念和作用 1 什么是MFC?? 全称 Microsoft Foundation Class Library我们称之为微软基础类库 1)从硬盘的存在形式上来说 MFC就是一个库(静/动态库 ...

  8. firefox的console log功能

    http://www.ruanyifeng.com/blog/2011/03/firebug_console_tutorial.html Firebug是网页开发的利器,能够极大地提升工作效率. 但是 ...

  9. python 跨模块实现按照文件大小,日期实现日志分割,反转

    笔者的一个自动化测试平台项目,采用了python作为后端服务器语言.项目基于快速成型目的,写了一个极其简陋的日志记录功能,支持日志记录到文件和支持根据日志级别在终端打印不同颜色的log.但随着测试平台 ...

  10. android/ios js 启动apk

    1.在移动设备访问某个连接时时,如果本地安装了其应用客户端,则浏览器会调用本地客户端,没有安装则会跳转到下载页面,提示安装.刚好有这样的需求,网上参考了其他人的实现,大部分都是关于APK和本地js交互 ...