powerPC架构及编程.ppt_第1页
powerPC架构及编程.ppt_第2页
powerPC架构及编程.ppt_第3页
powerPC架构及编程.ppt_第4页
powerPC架构及编程.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PowerPC架构及在vxworks下的开发 报告人 miko powerPC概述MPC8260架构及编程设计其它类型powerPCCPU powerPC概念 IBM于1990年推出基于RISC系统 运行AIXV3的新产品线RS 6000 该系统架构后来被称为POWER POWER1 意为增强RISC性能优化 PerformanceOptimizationWithEnhancedRISC 架构 PowerPC中的PC代表performancecomputing PowerPC源自于POWER体系结构 在1993年首次引入 PowerPC是早期Motorola和IBM联合为Apple的MAC机开发的CPU芯片 商标权同时属于IBM和Motorola 并成为他们的主导成品 IBM主要的PowerPC产品有PowerPC604s 深蓝内部的CPU PowerPC750 PowerPCG3 1 1GHz PowerPC970 Motorola主要有MC和MPC系列 尽管他们产品不一样 但都采用PowerPC的内核 这些产品大都用在嵌入式系统中 从最初的PowerPC体系结构的开发开始 就根据特定的市场需求而发生分支 当前 PowerPC体系结构家族树有两个活跃的分支 分别是PowerPCAS体系结构和PowerPCBookE体系结构 PowerPCAS体系结构是IBM为了满足它的eServerpSeriesUNIX和Linux服务器产品家族及它的eServeriSeries企业服务器产品家族的具体需要而定义的 PowerPCBookE体系结构 也被称为BookE 是IBM和Motorola为满足嵌入式市场的特定需求而合作推出的 PowerPC架构发展史 由于PowerPC是早期Motorola和IBM联合为Apple的MAC机开发的CPU芯片 商标的使用权同时属于Motorola和IBM 这就是为什么两家公司都有PowerPC处理器的原因所在 由于共用品牌加上各自产品的型号命名方式的差异 所以PowerPC处理器的型号标示法比x86处理器的频率标示法复杂得多 G0系列 只是为了表示方便 非正式的官方名称 最早的MotorolaMC68000 MC68HC000 MC68020 MC68030 MC68LC040是Motorola自家的16bitCPU 不属于PowerPC处理器架构 我们姑且称为G0 图1是MC68000 苹果第一台 便携式电脑 MacintoshPortable 1989年9月 所使用的处理器 图2是MC68030的两个版本 最早使用在1991年10月推出的PowerBook140上 MC68000处理器 MC68030处理器 Powermac6100 G1系列 只是为了表示方便 非正式的官方名称 1991年 IBM和Motorola开始共同合作研发和生产PowerPC系列处理器 PowerPC601 601 是最早采用32bit的PowerPC架构处理器 PowerPC601处理器 是与苹果共同开发的第一代PowerPC系列中的第一个芯片 PowerPC601的首次面世是在1994年最早的PowerMac6100中 其主频为66Mhz 图为 PowerPC603e处理器 G2系列 只是为了表示方便 非正式的官方名称 PowerPC603 603e 603ev 604 604e我们姑且称为G2 1995年8月 苹果公司推出首款基于Power架构的笔记本电脑PowerBook500 它采用IBM的PowerPC603e处理器 最后一代使用PowerPC603ev的苹果笔记本电脑是1997年2月推出的PowerBook3400 IBM生产的PowerPC750处理器 G3系列首次面世是在1998年 PowerPC740和PowerPC750与604e非常类似 PowerPC740 750是世界上第一组基于铜的微处理器 当它用于Apple计算机时 通常称为G3 工作频率为400MHz 由于使用了铜芯片技术 处理性能提高了近1 3 32位的PowerPC750FX在2002年发布时其速度就达到了1GHz IBM随之在2003年又发布了750GX 它带有1MB的L2缓存 速度是1GHz 功耗大约是7瓦 Motorola生产的MPC7400处理器 G4系列MotorolaPowerPCMPC74XX系列被苹果官方正式命名成G4 随着中央处理单元 CPU 研发技术的飞速发展 越来越多的厂商在通用型CPU中加入DSP指令 使得CPU也具有了时间确定性以及数据处理能力强的优点 PowerPC的G4系列处理器通过加入AltiVec技术 也就是后来的VelocityEngine 极速引擎 已经具有了4GFLOPS的处理能力 大大超过了普通DSP芯片的处理能力 IBM生产的PowerPC970处理器 G5系列下图是IBM生产的PowerPC970处理器 也就是被苹果称为G5的64bit处理器 右边的PowerPC970FX是XServeG5使用的处理器 左边的则是PowerMac使用的 主频从1 6GHz到2GHz 64位的PowerPC970 是POWER4的一个单核心版本 可以同时处理200条指令 其速度可以超过2GHz 而功耗不过几十瓦 PowerPC970一共具有12个执行单元 包括两个载入 存储单元 两个FXU单元 两个单 双精度浮点单元 两个整数单元和一个SIMD矢量引擎 此外 改进的VMX VectorMultimediaExtensions矢量多媒体扩展指令集 引擎较G4处理器有了更高的执行效率 这个引擎与Motorola的Altivec引擎一样 属于IBM与Motorola共同开发的产物 都具有162条SIMD指令 PowerMacG5基本硬件架构 双通道DDR400内存AGP8X显卡SerialATA硬盘支持DVD R CD RW光驱802 11g高速无线网络千兆以太网总线 64位PCI X系统总线I O接口 整合Firewire800和USB2 0接口 前者也就是IEEE1394的升级版 IEEE1394b 它的接口速率高达800Mbps操作系统 OSX操作系统 UNIX PowerMacG5 PowerPC的特点 优势 PowerPC处理器是RISC嵌入式应用的理想基础平台 从一开始 革命性的可扩展PowerPC体系结构就是为满足解决方案 从台式机CPU 到高性能 高度集成的嵌入式MPU 的不同需求设计的 PowerPC处理器提供极具吸引力的性价比 扩大的运行温度范围 多处理功能 高集成度 它的指令在整个产品线中兼容 并提供最广泛的开发工具选择 PowerPC处理器优势优势一 MIPS MHz性能选择Power架构的原因是因为它每兆赫兹的MIPS比RenesasSH和ARM高 ARM大概是1 1MIPS MHzSH4A大概是1 8MIPS MHzPowerArchitecture是大于2 0MIPS MHzMPC8349E 1260MIPS 667MHzMPC8548E 3065MIPSat1333MHz优势二 功耗PowerQUICC最大功耗范围 2 8瓦设备能可靠稳定运行在 40 105 随着温度的升高 性能不会改变 优势三 稳定性 可靠行Powerpc架构具有很强稳定性能 高可靠性更长的产品寿命周期 通常10到15年以上 苛刻条件下 芯片具有很强健壮性 适合工业级应用优势四 软件兼容性软件可移植 从低端到高端器件 软件代码具有再使用能力完整功能的组合 Ethernet USB PCI优势五 芯片性能可选范围大从低端到高端都有芯片可以选择最低主频率50MHZ 133MHZ 266MHZ 最高可以达到几GHZ返回 MPC8260处理器的结构与编程 MPC8260处理器是由Motorola提供的PowerPC系列处理器 它由两个内核即PowerPC603e和通信处理模块CPM专用内核组成 由于CPM分担了嵌入式PowerPC核的外围工作任务 这种双处理器体系结构功耗要低于传统的体系结构的处理器 基本功能模块MPC8260有3个主要的组成部分 嵌入式PowerPC内核 系统接口单元SIU和通信处理模块CPM SIU的主要功能包括PowerPC到本地总线的桥接 存储控制器 总线接口 提供60 x总线到CPM的接口 L2 Cache接口 实时时钟 以及系统功能如配置 保护 复位 时钟同步 电源管理等 CPM是高性能的通信处理器 CP 模块 其中包括一个32位的RISC微控制器 可认为是除内核外的另外一个CPU 分担了底层的通信处理 使PowerPC核可以主要进行高层操作 两个CPU之间通过内部存储空间进行联系 CPM同时支持3个快速的串行通信控制器 FCC 2个多通道控制器 MCC 4个串行通信控制器 SCC 2个串行管理控制器 SMC 一个串行外围接口 SPI 和一个I2C接口 Mpc8260基本功能模块 内核603e的组成PowerPC 603ePowerPC处理器包括16KB的命令和数据缓存以及命令和MMU单元 603e在100MHz时可以达到140MIPS 兆指令每秒 在200MHz时可以达到280MIPS 其主要特点有 1 EC603e微处理器 嵌入式PowerPC内核 运行频率为133 300MHz 2 280MIPS 200MHz 3 高性能超标量体系结构微处理器 4 支持Motorola的外部L2缓存芯片 MPC2650 5 改良的低功耗内核 6 16KB数据和16KB指令缓存 7 存储管理单元 SIU的结构SIU各部分组成和功能如下 1 60 xbus to LocalBridge 允许603e在本地总线上访问 2 内存控制器 支持12个memorybank 3 总线接口单元 提供60 x总线到CPM的接口 4 L2Cache接口 提供到L2Cache的简单接口 5 实时时钟 提供的系统功能 1 保护 硬件和软件看门狗 2 复位 复位和监视 3 时钟同步 根据外部时钟振荡器产生内部时钟 4 电源管理 5 JTAG 测试接入端口 CPM的模块结构MPC8260高性能通信处理模块 CPM 运行频率133MHz或166MHz 包括了MPC8260中的所有通信组件 提供3个FCC 2个MCC 4个SCC 2个SMC 1个SPI和一个I2C 其主要特点有 1 PowerPC和CPM可以工作在不同频率 2 支持串行比特率710Mbit s 133MHz 3 并行I O寄存器 4 片内24KB双口RAM 5 两个多通道控制器 MCC 每个支持128条全双工的64kbit sHDLC线 6 虚拟DMA功能 7 双总线结构 1个64位PowerPC和1个32位本地总线 8 2个UTOPIA二级主 从端口 均支持多PHY 9 3个MII接口 10 8个TDM接口 T1 E1 2个TDM口可以无缝链接到T3 E3 11 内部电压2 0V I O电平3 3V 12 133MHz功耗位2 5W MPC8260通信处理模块 MPC8260内部的CPM模块时高性能的通信处理模块 其中包括一个32位的RISC处理器 分担了底层的通信处理 使PowerPC核可以主要进行高层的操作处理 这两个CPU之间通过内部存储空间进行联系 与通信有关的buffer 寄存器 BD 参数RAM等都存储在内部存储空间里 内部存储空间CPM中有一部分内部存储空间 共128KB 用于存储8260专用寄存器 BD 参数RAM核数据以及一些保留区 它在系统4G的统一编址空间中的起始地址使由内部存储映射寄存器 IMMR 定义的 在reset期间IMMR被导入了初试值 用户可在软件中修改此值 一般配置为0 x47000000 内部双口RAM的内容MPC8260具有24KB的静态RAM被配置成双口RAM 存储由如下内容 1 BD bufferdescriptors 2 与每个FCC SCC MCC SMC SPI I2C IDMA有关的参数 3 databuffers 可选 一般存于外部存储空间 4 临时存储FCC接收或发送到外部存储空间的数据 5 微码 MPC8260的双口RAM存储映射图 双口RAM存储映射描述 1 FCC SCC MCC SMC SPI I2C用BD来控制存储数据的buffer 2 BD可位于双口RAM的0 x0000 0 x3800中的任何位置 一个BD大小为8字节 3 用户定义每个串行控制器 如FCC SCC等 使用BD的情况 一般会分别定义RxBD和TxBD 而他们的起始地址由相应的串行控制器的参数RAM中的参数 如RBASE TBASE 确定 起始地址应为8的整数倍 4 参数RAM位于双口RAM中0 x8000 0 x8fff的位置 共4KB 5 地址空间的0 xb000 0 xbfff 用来临时存储FCC接收或发送到外部存储空间的数据 参数RAM 每个与FCC SCC等相关的参数RAM在双口RAM中的地址都是固定的 参数RAM包含了FCC SCC等与通信有关的参数 有些参数RAM的值是在初始化时设置号的 以后一般不再改动 而有些参数RAM的值时由CP写入的 参数RAM可分为两部分 一部分是与FCC SCC等所采用的通信协议无关的通用参数 如RxBD和TxBD的基地址 接收buffer的最大长度 指向RxBD和TxBD的指针等 值得注意的是 发送buffer的最大长度是可变的 由TxBD datalength 确定 另一部分是与FCC SCC等所采用的通信协议 如采用以太网协议 有关的专用参数 如CAM地址 最大和最小帧长 单播地址 组播地址 计数器的计数值等 MPC8260的参数RAM 缓冲描述符BD BD即bufferdescriptors 其用来控制存储数据的buffer发送核接收的数据存放在一些buffer中 buffer通过BD进行索引 缓冲描述符BD的前16位包含状态和控制位 用来控制和报告数据的传输状态 这些位因不同的通信控制器 FCC SCC等 以及所采用的不同协议而不同 每当buffer被发送或接收后 CPM都要刷新这些位 接下来的16位指出了发送和接收的数据长度 最大接收buffer长度由参数RAM中的MRBLR定义 最后的32位指向存储器中buffer开始的地址 对于RxBD此值应是32的倍数 对于TxBD此值无限制 BD和buffer间定位关系 a 参数RAM中的RBASE和TBASE决定双口RAM中相关TxBD和RxBD的基地址 相关BD的8字节中的最后4个字节指示BD对应的buffer在存储器中的开始位置 b 参数RAM中有一个指向BD的指针 从一个BD指向下一个BD 在任何时刻只有指针指向的BD有效 当指向BD尾是 其会自动跳转到BD队列开始 c BD的状态和控制信息中 BD表的最后一个BD的w位应设置为1 表示队列中的最后一个BD 这可确定发送或接收队列用了多少BD BD和buffer映射 FCC快速以太网协议实现MPC8260快速通信控制器 FCC 可以通过MPC8260内部寄存器独立配置来实现不同的协议 如HDLC ATM ETHERNET 透明传输等 同时FCC也有相应的物理接口如快速以太网接口MII ATM接口UTOPIA等 当FCC被编程问某一特定协议或模型后 它就执行相应协议的数据链路层工作 这些设置敦厚是在FCC的有关寄存器和参数RAM中完成的 FCC有如下寄存器和参数RAM 通用模式寄存器GFMR 与使用的协议无关 可设置其中的MODE位来选择需要的协议 例如当某FCC的GFMRx MODE 设置位0 x1100 则该FCC就执行快速以太网控制器的功能 与协议相关的寄存器FPSMR数据同步寄存器FDSR 用于接收数据的同步 快速以太网应设置位0 xD555 中断事件寄存器FCCE 中断屏蔽寄存器FCCM 控制是否启用FCCE中相应中断 状态寄存器FCC 显示RXD线上的实时状态 参数RAM 分成对所有协议相同部分和针对不同协议部分 对FCC初始化过程 写并行I O口 配置 连接I O引脚到FCC 配置响应的时钟到FCC 配置CMX使FCC工作在NMSI模式 配置通用模式寄存器GFMR ENT ENR除外 配置与协议相关的寄存器FPSMR 配置数据同步寄存器FDSR 初始化FCC参数RAM中的值 初始化RxBD和TxBD 根据需要清除中断事件寄存器FCCE中的所有当前事件 配置中断屏蔽寄存器FCCM使能FCCE中的中断 写CPM中断优先级寄存器SCPRR H配置FCC的中断优先级 清除SIU中断pending急促起SIPNR L中任何当前中断 写SIU中断屏蔽寄存器SIMR L 使能中断到CP中断控制器 通过CP命令寄存器CPCR初始化发送和接收参数 清除buffer 配置同用寄存器GFMR中ENT ENR两位 分别使发送使能和接收使能 MPC8260快速太网控制器与外部物理端口器件PHY的连接关系 MPC8260SMC1 RS232接口设计RS232接口第二层采用UART异步通信协议 将SMC1配置成UART控制器 用于实现RS232总线接口 波特率定为9600bit s 8个数据位 无奇偶校验 一个停止位 硬件占用资源 SMC1配置过程配置portD9为TXD port作为SCC2的传输引脚 设定PPARD 9 1 PDIRD 9 1 PSORD 9 0 PPARD 8 1 PDIRD 8 0 PSORD 8 0 配置波特率发生器 使用BRG3 设置BRGC3为0 x0001035a 设置Clockdivider BRGC4 CD 24 BRGC4 DIV16 0 不进行16分频 连接BRG3到SMC1 并设置非复用模式 配置CMXSMR SMC1 SMC1CS 配置SCCParameterRAM设定Big endian位序模式选定16bitCRC类型配置最大接收缓冲长度寄存器 写0 x1D01 0000到CPCR 初始化发送接收参数命令写0X10到RFCR和TFCR 设置SMC1为通用模式设置MRBLR 确定接收buffer中的最大字节数初始化发送和接收BD配置中断 CPCI 清除事件寄存器允许SMC1中断清除中断挂起寄存器的相应位配置优先级 并使能CPM中断 设置SMCMR为0 x4820 设置正常操作 8bit数据 无奇偶校验 1个停止位 传输和接收未使能设置SMCMR为0 x4823 使能传输和接收 此重复设置保证使能位在最后设置 powerPC其它相关处理器 MPC8265 MPC8265PCI模式设置 MPC8265PCI模式引脚设置 PCI MODE 当设置为0 允许MPC8265PCI桥当设置为1 禁止MPC8265PCI桥 用local总线替代PCI CFG 0 3 PCI CFG 0 PCI HOST 当为低 高状态时 决定MPC8265PCI模式为主模式 从模式PCI CFG 1 PCI ARB EN 当为低 高状态时 决定MPC8265PCI仲裁模式为内部仲裁 外部仲裁 PCI CFG 2 DLL Enable 一般情况下拉高 允许DLLPCI CFG 3 保留 一般拉高从模式下PCI RST 引脚连接到硬件复位引脚PORESET PCI主模式 PCI MODE PCI CFG 0 PCI CFG 1 GND GND VCC PCI CFG 2 PCI CFG 3 MPC8265 PCI从模式 PCI MODE PCI CFG 1 PCI CFG 0 GND VCC PCI CFG 2 PCI CFG 3 MPC8265 PCI从模式配置 硬件复位字中LBPC 20 21 位设置为0b01 设置PCI总线使能硬件复位字中ALD EN 26 设置为0b1 设置CPautoload使能硬件复位字中的MODCK H在PCI模式下设置无效 直接取值于MODCK H引脚硬件复位后 系统从EEPROM初始化MPC8265的PCI配置空间由PCI配置空间的PIMMRbaseaddressregister接入从设备MPC8265的内部寄存器空间由PCI配置空间的GPLbaseaddressregister0 1接入从设备MPC8265的local空间 MPC8247 MPC8245 一个PCI桥DUART内存控制器DMA控制器EPIC中断控制器一个消息单元I2C控制器处理器内核支持浮点运算和内存管理 具有16KB指令高速缓存 cache 16KB数据cache和电源管理特性 MPC8245内含一外设逻辑总线 用于连接处理器内核和外设逻辑块 处理器内核可在多种不同频率下工作 支持多达2GBSDRAM 支持1 8组4MB 16MB 64MB 128MB 或256MB存储器 MPC8245由一个外设逻辑块和一个32位超标量体系结构PowerPC处理器内核构成 在外设逻辑块中集成了 MPC8245架构 MPC8245地址及片选机制 片选 RCS0 RCS4 RCS0固定基址 基地址为0 xff800000 0 xff000000 带宽取决于MCCR1中的DBUS SIZE 0 1 的值 而其值由引脚MDL 0 FOE的电平状态巨鼎 即 RCS0带宽设置如下 MDL 0 0 FOE 0 32 bitdatabus MDL 0 x FOE 1 8 bitdatabus MDL 0 1 FOE 0 64 bitdatabusRCS1固定基址 基地址为0 xff000000 0 xff7fffff 带宽取决于MCCR1中的DBUS SIZE 0 1 MCCR4 17 的DBUS SIZ 2 共同决定 即 RCS1带宽设置如下 DBUS SIZE 0 2 0n0 32 bitdatabus DBUS SIZE 0 2 nn1 8 bitdatabus DBUS SIZE 0 2 1n0 64 bitdatabus RCS2 RCS3ERCR1 RCS2 DBW 设置RCS2带宽 ERCR2 RCS3 DBW 设置RCS3带宽 008 bitdatapath0116 bitdatapath1032 bitdatapath GatheringoccursifDBUS0 1 11widedatapath 64 bitifDBUS0 1 32 bitifDBUS0 0ERCR3 RCS2 SIZE 设置RCS2带宽 ERCR4 RCS3 SIZE 设置RCS2带宽 0000 4Kbyte0100 64Kbyte1000 1Mbyte1100 16Mbyte0001 8Kbyte0101 128Kbyte1001 2Mbyte1101 32Mbyte0010 16Kbyte0110 256Kbyte1010 4Mbyte1110 64Mbyte0011 32Kbyte0111 512Kbyte1011 8Mbyte1111 128Mbyte 片选CS0 CS7CS0 7共8个片选信号作为SDRAM的选择信号 支持1 8组4MB 16MB 64MB 128MB 或256MB存储器 共2GB的内存空间 定义的SDRAM低地址为 Lowerboundaryforbankn 0b00 0 x0 0000 ExtendedStartingAddress0 由MSAR1决定 若bank0位域取值0b00 StartingAddressBank0 由MSAR1决定 若Bank0位域取值0 x00则Lowerboundaryforbankn 0 x00000000定义的SDRAM高地址为 Upperboundaryforbankn 0b00 0 xF FFFF ExtendedEndingAddress0 由MEAR1决定 若bank0位域取值0b00 EndingAddressBank0 由MEAR1决定 若bank0位域取值0 x7f则Upperboundaryforbankn 0 x07FFFFFF所以对于SDRAM取cs0 取值范围0 x00000000 0 x07FFFFFF 共128MB MPC7448 MPC7448是一款高性能 低功耗的32位RISC处理器 最高主频超过1 7GHz 具有很强的定点和浮点计算能力 MPC7448的e600PowerPC内核 它由4个32位整数单元 1个单 双精度浮点单元和一个128位的Altivec单元共同构成 Altivec单元就是所谓的矢量处理单元 其128位引擎可以让MPC7447具有4路32位或8路16位或16路8位的并行矢量运算能力 可以只用3个周期就将一条指令处理完毕 而支持SSE2的浮点运算单元则需要20个周期左右 CPU频率比P4低很多的G4处理器在处理图像方面仍然比采用P4处理器的要快 它的其他独特功能包括512KB的片上二级缓存 全对称多重处理技术 SMP 1个64位总线接口 MPC7448采用了0 13微米HiPerMOS绝缘层覆硅 SOI 铜内连工艺技术 该工艺专为同时需要超群的性能和极低的功耗这两大要求而设计 当工作于1 42GHz时 典型功耗不超过20W 工作在1167MHz时 典型功耗不超过10W 因此特别适合于那些要求千兆级性能 又对功耗敏感的应用场合 MPC7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论