owerPC处理器原理介绍.ppt
《owerPC处理器原理介绍.ppt》由会员分享,可在线阅读,更多相关《owerPC处理器原理介绍.ppt(128页珍藏版)》请在三一办公上搜索。
1、PowerPC处理器原理,PowerPC处理器原理,本章主要介绍PowerPC405嵌入式处理器的结构,其主要内容包括:1)PowerPC处理器结构;2)PowerPC处理器的寄存器;3)PowerPC处理器I/O接口;4)PowrPC处理器的OCM控制器;5)PowerPC处理器的APU控制器。这几部分内容是PowerPC处理器基本原理的核心,也是设计人员使用PowerPC405嵌入式处理器进行SOPC设计的基础。,PowerPC处理器结构,PowerPC处理器为32位的PowerPC嵌入式环境体系结构(embedded environment architecture),该结构来源于Pow
2、erPC体系结构。Virtex-II Pro使用PowerPC405D5结构,Virtex-4使用PowerPC405F6结构。本章的处理器块(processor blcok)是指连接PPC405 D5或者PPC405F6核,片上存储器逻辑(on-chip memory logic,OCM),辅助处理器单元(Auxiliary Processor Unit,APU),相关逻辑和接口的处理器集合。,PowerPC处理器结构,PowerPC处理器结构所提供的软件模型保证了在实现PowerPC系列微处理器上的兼容要求。PowerPC体系结构定义的参数保证了在应用程序级上的处理器实现上的兼容。,Pow
3、erPC处理器结构PowerPC处理器体系结构概述,PowerPC处理器是定点处理器,它与PowerPC UISA兼容。PowerPC405 VEA和OEA支持大部分都可以用来实现PowerPC405 Book-E的结构。图3.1给出了PowerPC处理器的结构图。,PowerPC处理器结构PowerPC处理器体系结构概述,PowerPC处理器结构PowerPC处理器体系结构概述,1、中央处理单元(CPU)PowerPC处理器采用了5级流水,包括:取指,译码,执行,回写和加载回写;取指队列用于存放指令,由三部分组成:两个预取缓冲区和一个译码缓冲区。取指和译码逻辑可以同时处理两条分支。Power
4、PC处理器有单线程(single-issue)执行单元,包含通用寄存器GPR,算术逻辑单元ALU和乘-加单元MAC。执行单元支持在硬件内所有的32位PowerPC UISA指令。不支持浮点操作。,PowerPC处理器结构PowerPC处理器体系结构概述,2、异常处理逻辑 异常被分为两类:紧急的和非紧急的;PowerPC405处理用于处理异常(19种可能的异常),这些异常包括:错误条件,内部定时器,调试事件和外部中断控制器EIC接口。每一类异常都有保存/恢复寄存器。SRR0和SRR1用于非紧急中断,SRR2和SRR3用于紧急中断。图3.1 PowerPC处理器的内部结构,PowerPC处理器结构
5、PowerPC处理器体系结构概述,3.存储器管理单元包括:1)转换4GB逻辑地址空间到物理地址空间;2)独立控制指令转换和保护,以及数据转换和保护;3)对TLB的奇偶检测和报告;4)使用转换机制进行页面级访问控制;5)软件控制的页面替换策略;6)为每个虚拟存储器区域的完全写入,缓冲能力,用户定义的 0,保护和段(WIU0GE)存储属性控制;7)实模式下的32个128M空间的WIUOGE存储属性控制;适用区域的额外保护控制;TLB用于控制地址转换和保护。其工作原理MicroBlaze处理器的TLB基本一致。,PowerPC处理器结构PowerPC处理器体系结构概述,4、指令和数据缓存 Power
6、PC处理器通过指令缓存单元ICU和数据缓存单元DCU访问存储器。每个缓存单元包括:1)PLB主接口 2)缓存阵列 3)缓存控制器;对于CPU来说,对指令和数据缓存的命中是单周期的存储器访问。处理缓存缺失,就是通过PLB向其它PLB设备发出请求,比如外部存储器控制器。,PowerPC处理器结构PowerPC处理器体系结构概述,缓存控制器采用了最近使用的LRU的缓存行替换策略。即缓存行被填充时,最近经常访问的缓存行被保留,而其它均被替换。指令缓存的功能包括:16KB,双向级关联(2-way set associative);奇偶检测和报告(只有Virtex-4);每缓存行8字(32字节);提取行缓
7、冲区;提供了来自提取行缓冲区的取指命中;下一个顺序行的可编程预取到提取行缓冲区;非缓存指令的可编程预取:全行(8字)/半行(4字);提取行满时,非阻塞访问。,PowerPC处理器结构PowerPC处理器体系结构概述,数据缓存的功能包括:1)16KB,双向级关联(2-way set associative);2)奇偶检测和报告(只有Virtex-4);3)每缓存行8字(32字节);4)读、写线缓冲区;5)提供从/到线缓冲行的加载和存储命中;6)可编程的加载和存储缓存行分配;7)在缓存行满时的操作数推进(Operand forward)逻辑;8)在缓存行满并且刷新时的非阻塞访问。,PowerPC处
8、理器结构PowerPC处理器体系结构概述,5、定时器资源 PowerPC405处理器包含一个64位的基准时间和3个定时器。基准时间通过使用CPU 时钟或者外部时钟源,同步进行时间的增加。定时器使用基准时间同步增加。PowerPC处理器支持三种类型的定时器:1)可编程间隔的定时器;2)固定间隔的定时器;3)看门狗定时器;,PowerPC处理器结构PowerPC处理器体系结构概述,6、调试 PowerPC405处理器调试资源包括特殊调试模型,在硬件和软件开发过程中,支持各种类型调试。这些调试包括:1)内部调试模式:ROM监控程序和软件调试器 2)外部调试模式:JTAG调试器 3)调试等待模式:处理
9、器停下来允许服务中断 4)实时跟踪模式:事件触发用于实时跟踪,PowerPC处理器结构PowerPC处理器体系结构概述,7、PowerPC处理器接口,包括:1)处理器本地总线 处理器本地总线PLB接口提供一个32位地址和3个64位数据总线与数据缓存和指令缓存连接。其中的两个64位总线连接到数据缓存单元,一个支持读操作,另一个支持写操作;另一个连接到指令缓存单元。,PowerPC处理器结构PowerPC处理器体系结构概述,2)设备控制寄存器 设备控制寄存器(device control register,DCR)支持与片上寄存器的连接用于设备控制。软件通过使用mfdcr和mtdcr指令来访问这些
10、寄存器。3)时钟和电源管理 时钟和电源管理接口支持几种时钟分配和电源管理的方法。4)JT AG端口 JTAG端口接口支持与外部几种调试工具的连接。使用JTAG测试访问端口,调试工具能单步运行处理器和查看内部处理器的状态,这样可以方便软件调试。,PowerPC处理器结构PowerPC处理器体系结构概述,5)片上中断控制器 片上中断控制器接口是一个外部的中断控制器,它与来自片上或外部的中断源输入连接,并且使用一对中断信号(紧急和不紧急的)将其传递给处理器。异步中断源包括外部信号,JTAG和调试单元和其它片上外设。6)片上存储器控制器 一个片上存储器OCM接口支持在性能级上,将额外的能被访问的、与缓
11、存阵列匹配的存储器连接到指令和数据缓存。,PowerPC处理器结构PowerPC软件结构概述,PowerPC处理器结构是一个有32位子集的,64位的体系结构。PowerPC 体系结构分为三个级别。通过对体系结构以这种方式进行划分,为实现可以选择价格/性能比平衡的复杂性级别留出了空间,同时还保持了实现间的代码兼容性。,PowerPC处理器结构PowerPC软件结构概述,1、用户指令集体系结构(UISA)定义了通用于所有 PowerPC 实现的用户指令和寄存器的基本集合。这些是非特权指令,为大多数程序所用。2、虚拟环境体系结构(VEA)定义了常规应用软件要求之外的附加的用户级功能,比如高速缓存管理
12、、原子操作和用户级计时器支持。虽然这些操作也是非特权的,但是程序通常还是通过操作系统调用来访问这些函数。3、操作环境体系结构(OEA)定义了操作系统级需要和使用的操作。其中包括用于内存管理、异常向量处理、特权寄存器访问、特权计时器访问的函数。该体系结构中详细说明了对各种系统服务和功能的直接硬件支持。,PowerPC处理器结构PowerPC软件结构概述,PowerPC嵌入式环境体系结构的特点有:为嵌入式软件环境进行了存储器管理的优化为性能优化和存储器控制的缓存管理指令用于控制存储器系统行为的存储属性用于控制调试资源控制,定时器资源,中断,实时模式存储属性,存储器管理工具和其它结构的处理器资源,P
13、owerPC处理器结构PowerPC软件结构概述,一个设备控制器寄存器地址空间用于管理片上外设,比如存储器控制一个双级中断结构和中断控制指令多重定时器资源调试资源,能够进行硬件和软件调试功能比如指令断点,数据断点和程序的单步执行。,PowerPC处理器结构PowerPC软件结构概述,PowerPC处理器增持实模式和虚拟模式两种地址转换模式。在实模式下,程序直接寻址物理存储器;在虚拟模式下,程序地址虚拟存储器和虚拟存储器的地址通过处理器转换为物理存储器的地址。这使程序可以访问更大的地址空间。通过加载和存储指令支持数据寻址,其寻址模式有:1)通过立即索引的寄存器间接寻址;2)通过索引的寄存器间接寻
14、址;3)寄存器间接寻址。,PowerPC处理器结构PowerPC软件结构概述,在分支指令中使用下面的分支寻址模式中的一种:1)相对分支(分支相对当前指令的地址);2)绝对分支(分支在存储器中的绝对地址);3)连接寄存器分支(分支地址保存在连接寄存器中);4)计数寄存器分支(分支地址保存在计数寄存器中).,PowerPC处理器结构-PowerPC 寄存器,PowerPC 的寄存器分为两类:1)用户寄存器;2)特权寄存器;,PowerPC处理器结构-PowerPC 寄存器,1、通用寄存器(GPR)用户指令集体系结构规定,所有实现都有 32 个 GPR(从GPR0 到 GPR31)。GPR 是所有整
15、数操作的源和目的,也是所有加载/存储操作的地址操作数的源。GPR 还提供对 SPR 的访问。所有 GRP 都是可用的,只有一种情况例外:在某些指令中,GPR0 只是代表数值 0,而不会去查找 GPR0 的内容。,PowerPC处理器结构-PowerPC 寄存器,2、专用寄存器(SPR)组 用户级的SPR组包括SPRG4-SPRG7,需要系统服务的支持才可以由应用程序读写的 SPR 包括时基(Time Base)和其他各种可能支持的计时器。,PowerPC处理器结构-PowerPC 寄存器,3、链接寄存器(Link Register,LR)这个寄存器存放的是函数调用结束处的返回地址。某些转移指令
16、可以自动加载 LR 到转移之后的指令。每个转移指令编码中都有一个 LK 位。如果 LK 为 1,转移指令就会将程序计数器移为 LR 中的地址。而且,条件转移指令 bclr 转移到 LR 中的值。4、定点异常寄存器(Fixed-Point Exception Register,XER)这个寄存器存放整数运算操作的进位以及溢出信息。它还存放某些整数运算操作的进位输入以及加载和存储指令(lswx 和 stswx)中传输的字节数。,PowerPC处理器结构-PowerPC 寄存器,5、计数寄存器(Count Register,CTR)这个寄存器中存放了一个循环计数器,会随特定转移操作而递减。条件转移指
17、令 bcctr 转移到 CTR 中的值。6、条件寄存器(Condition Register,CR)这个寄存器分为八个字段,每个字段 4 位。,PowerPC处理器结构-特权寄存器,1、机器状态寄存器(Machine State Register,MSR)MSR包含了那些控制处理器运行状态的位域,这些位只能被特许的软件访问 2、核配置寄存器(Core Configuration Register,CCR)该寄存器在Vitex-4以上版本有,CCR寄存器的一些额外的控制比特用于使能奇偶校验。CCR1用于使能奇偶错误插入用于硬件调试。MCSR寄存器包含状态信息用来确定指令缓存、数据缓存或TLB的奇
18、偶错误源。,PowerPC处理器结构-特权寄存器,3、异常处理寄存器(Exception-Handling Register)组 包括EVPR、ESR、DEAR、SR0-SR3、MCSR寄存器。4、存储器管理寄存器(Memory Management Register)组 MMR寄存器组包括PID、ZPR寄存器。,PowerPC处理器结构-特权寄存器,5、存储器属性控制寄存器(Storage-Attribute Control Register)组 SACR寄存器组包括DCCR、DCWR、ICCR、SGR、SLER、SU0R寄存器。6、调试寄存器(Debug Register,DR)组 DR组
19、包括DBSR、DBCR0、DBCR1、DAC1、DAC2、DVC1、DVC2、IAC1、IAC2、IAC3、IAC4、ICDBR寄存器。7、定时器寄存器(Timer Registers)组 TR组包括TCR、TSR、PIT寄存器。,PowerPC处理器结构-特权寄存器,8、处理器版本寄存器(Processor Version Register,PVR)PVR 是一个 32 位只读寄存器,标识处理器的版本和修订级别。处理器版本由PowerPC 体系结构过程分配。修订级别由实现定义。需要有特权才能访问 PVR,所以应用程序只能在操作系统函数的帮助下才可以确定处理器版本。9、基准时间寄存器(Time
20、-Base Register,TBR)TBR由TBRH和TBRL寄存器构成,PowerPC处理器结构-共有寄存器组,专用寄存器(SPR)组 SPR组包括SPRG0-SPRG7,SPR 给出处理器核心内部资源的状态并对其进行控制。不需要系统服务的支持就可以由应用程序读写的 SPR 包括计数寄存器(Count Register)、链接寄存器(Link Register)和整型异常寄存器(Integer Exception Register)。,PowerPC处理器I/O接口,该部分的I/O接口包括:1)时钟和电源管理接口;2)CPU控制接口;3)复位接口;4)指令侧的PLB接口;5)数据侧的PLB
21、接口;6)设备控制寄存器接口;7)内部设备控制寄存器接口;8)外部DCR总线接口;,PowerPC处理器I/O接口,9)外部中断控制器接口;10)PPC405 JTAG接口;11)调试接口;12)跟踪接口;13)处理器版本寄存器接口;14)额外的FPGA指定信号等。,PowerPC处理器I/O接口,PowerPC处理器的I/O接口的信号命名格式为:PREFIX1PREFIX2SIGNAME1SIGNAME2NEG(m:n)PREFIX1,PREFIX2:为大写的前缀,用于标识信号源。这个前缀后者是一个单元(比如CPU),或者是一种类型的接口(比如,DCR)。当指明的是处理器块时,为输出信号;否
22、则为输入信号。下面给出前缀的含义:1)SIGNAME1:指明信号的基本功能 2)SIGNAME2:指明信号的第二个功能 3)NEG:可选,表明信号低有效 4)M:N:可选,表明是一个总线信号,PowerPC处理器I/O接口-时钟和电源管理接口,1、CPM接口功能及信号 时钟和电源管理接口(clock and power management,CPM)接口使能对电源敏感的应用,通过外部逻辑来控制处理器时钟。OCM控制器从处理器核独立的提供时钟。此外,Virtex-4器件的PowerPC405处理器也为APU和DCR使用独立的时钟。PowerPC405的CPM分为三个时钟域:1)核 2)定时器 3
23、)JTAG,PowerPC处理器I/O接口-时钟和电源管理接口,当产生下面的事件时,处理器从休眠模式被唤醒:1)定时器中断或定时器复位 2)确认芯片复位或系统复位请求 3)确认一个外部中断或紧急中断输入 4)确认DBGC405DEBUGHALT芯片输入信号 图3.2给出了CPM接口块的符号,表3.1给出了CPM接口I/O信号的功能描述。,PowerPC处理器I/O接口-时钟和电源管理接口,PowerPC处理器I/O接口-时钟和电源管理接口,PowerPC处理器I/O接口-在系统设计时对时钟域的考虑,使用PowerPC405处理器的嵌入式系统的高级观点和内核连接总线结构包括:1)PowerPC处
24、理器;2)处理器本地总线(Processor Local Bus,PLB)外设;3)指令侧和数据侧的片上存储器控制器(On-Chip Memory Controller,OCM);4)设备控制寄存器(Device Control Register,DCR)外设;5)开关结构模块(Fabric Co-Processor Module,FCM)(Virtex-4),PowerPC处理器I/O接口-在系统设计时对时钟域的考虑,下面的时钟(使用与处理器时钟一定的比例关系)用于和内核块进行通信:CPMC405CLOCK:主处理器块时钟PLBCLK:基本的PLB I/O总线时钟BRAMISOCMCLK:用
25、于指令侧的OCM控制器的参考时钟BRAMDSOCMCLK:用于数据侧的OCM控制器的参考时钟CPMFCMCLK:用于APU控制器的参考时钟CPMDCRCLK:用于外部DCR总线的参考时钟,PowerPC处理器I/O接口-在系统设计时对时钟域的考虑,PowerPC处理器支持多时钟域。使用多个DCM和BUFG元件用来创建和驱动时钟域。时钟域包括:1)PLB时钟,2)FCM时钟,3)DCR时钟,4)OCM时钟。,PowerPC处理器I/O接口-CPU控制接口,CPU控制接口基本上用来提供CPU的建立到PowerPC405处理器的信息。它也用于报告在PowerPC405处理器内的机器检查状态的识别。图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- owerPC 处理器 原理 介绍
链接地址:https://www.31ppt.com/p-5442456.html