1、第二章 Intel PCA开发系统 XScale 系统结构 PXA255 处理器结构与特性 基于XScale的PXA255 开发系统 2.1、 XScale 系统结构2.1.1 采用改进型哈佛结构CPUCPU程序存程序存储器储器操作 数操作 数存储器存储器地址总线地址总线数据总线数据总线其结构特点为:其结构特点为: 使用两个独立的存储器模块,分别存储指令和数据,每个使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理存储模块都不允许指令和数据并存,以便实现并行处理; 具有一条独立的地址总线和一条独立的数据总线,利用公具有一条独立的地址总线和一条独立
2、的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据模块),公用数据总线则被用来完成程序存储模块或数据存储模块存储模块与与CPU之间的数据传输之间的数据传输; 两条总线由程序存储器和数据存储器分时两条总线由程序存储器和数据存储器分时共用。共用。2.1.2 采用7级超级流水线PXA255拥有7级超级流水线,主要由主流水线、MAC流水线和内存访问流水线组成。五级流水线流水线技术 流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。统水线要求所有的流水级部件必须在相同的
3、时间内完成各自的子过程,在流水线中指令流动一步是一个机器周期。机器周期的长度必须由最慢的流水级部件处理子过程所需的时间决定。指令流水线是将指令执行分成几个子过程,每一个子过程对应一个工位,我们称为流水级或流水节拍。指令流水执行特点:1、一条指令分成几个子过程,每个子过程为一个流水级。2、每个子过程由专门的硬件功能部件来完成。3、每个流水功能部件的工作时间是不相同的,流水节拍时间由最长的流水功能部件处理时间决定。4、流水线工作一般有三个阶段,即建立、稳态和排空阶段。5、理想情况下,在流水线处于稳态时,每一流水节拍时间都得到一条指令执行的结果,流水加速比就等于流水线的级数,即流水深度。 F1/F2
4、指令读取 ID指令译码 RF寄存器文件/移位级 X1执行级 X2执行级 XWB写回级PXA255主流水线MAC 流水线 执行所有的乘/累加指令,它执行40位累加寄存器acc0同时也能将指令值转化成普通的ARM寄存器值。MAC不是真正的一条流水线,指令的类型和资源均定它所需的周期数。不会同时两条指令出现在MAC 流水线上。当MAC 在处理一条指令的时候其它指令不允许进出到M1 中,除非原来的指令在下一个周期中处理完成。MAC单元执行开始于 M1,接受2个32位操作数,N个周期后完成并返回寄存器文件。内存访问流水线 内存流水线有D1、D2和DWB3级构成,独立完成指令的装载和存储。在执行完X1后开
5、始执行D1 级,计算有效的存/取地址。在D2 级数据Cache和小型数据cache返回目的数据,在DWB级进行填入缓冲器和写入缓冲器操作。2.1.3 XScale 乘/累加MAC MAC只需一个周期即完成乘只需一个周期即完成乘/累加操作;累加操作;MAC由由32位乘法和一个位乘法和一个CSA(Carry Save Adder)华莱士加法树()华莱士加法树(WT结构)构成,最后产结构)构成,最后产生生40位累加器位累加器CSA(Carry Save Adder)将本级进位传至下级将本级进位传至下级,求求和速度快和速度快,且速度与字长无关。在阵列乘法器中且速度与字长无关。在阵列乘法器中,CSA把把
6、PP阵列(被乘数与乘数中的某一位相乘阵列(被乘数与乘数中的某一位相乘, 产生一产生一组组PP)缩减至)缩减至Sum和和Carry两项两项,再用高速加法器求再用高速加法器求和得积。和得积。CSA加法器构成的乘法器(a)普通串行结构;(b) 华莱士压缩树 2.1.4 内存管理(MMU) 提供内存访问保护和虚拟地址到物理地址的映射 支持指令TLB和数据TLBTLB-Translation Lookaside Buffers, 地址变换后备缓冲器) 使用CP15协处理器来完成MMU 一般从虚拟地址到物理地址需2次主存,为减少主存接入代价, 就在虚拟地址和物理地址之间插入一个TLB。 一般每个存储器有一
7、个TLB,所以Xscale中有D TLB 和I TLB。 为了减少TLB的开销,TLB中只存放最近使用过的页表项,其淘汰替代算法采用循环法。 TLB增加了相应的锁操作。TLB-地址变换后备缓冲器2.1.5 Cache结构结构 XScale 的Cache有32KB I Cache和 D Cache、2 KB微小型I Cache 和D Cache有128入口的直接映像Cache结构的分支目标缓冲器BTB Xscale支持写回和写直通操作。 写回:命中Cache的存储操作不产生一个到外部存储器的写操作。它缓解了外部存储器压力。 写直通:所有的存储操作 都要写到外部存储器,它保持了外部存储器和Cach
8、e的一致性分支目标缓冲器(BTB) 2.1.6 Xscale性能检测性能检测(使用使用CP14协处理器协处理器)XScale的性能监测模块可以通过CP14的寄存器03进行控制 2个32位性能计数器,它可以分别对2个独立的事件同时进行计数;1个时钟计数器,记录内核时钟数,用来表示时间延迟 。 2.1.7 Xscale调试调试Xscale的JTAG调试方式 接收/发送控制寄存器(TXRXCTRL) RR位, 为1时RX准备好, 为0时无数据或不可用。OV位, 为1时RX溢出, 为0时无溢出。D位,该位为高速下载标志位。TR位,为1时TX准备好,为0时无数据或不可用。通用RX应答协议监听RR监听RR
9、若RR1,继续监听若RR1,继续监听RR0RR0写数据到RX写数据到RX监听RR监听RR若RR0,继续监听若RR0,继续监听RR1RR1从RX读数据从RX读数据置RR为1置RR为1置RR为0置RR为0调试程序调试程序TXRXCTRLTXRXCTRL调试代理程序调试代理程序 XScale 系统结构 PXA255 处理器结构与特性 基于XScale的PXA255 开发系统 Intel PXA255结构PXA255结构特点时钟和电源控制器存储器控制器:支持100MHz SDRAM DMA控制器:具有16个优先级通道 LCD控制器:支持被动和主动LCD显示 系统集成模块:包括GPIO、中断控制器、实时
10、时钟、PWM。 支持各种接口:I2S, I2C, 2路UART, IrDa, USB Client ,MMC, NSSP等2.2.1、时钟管理2.2.2 电源管理电源管理Turbo Mode: 在短时间内高速运行在短时间内高速运行. 快速方式的加速倍率有快速方式的加速倍率有CCCR寄存器寄存器N值决定值决定.Run Mode:正常工作方式正常工作方式 . Idle Mode: 停止停止CPU内核时钟,但仍继续监视片内外中断内核时钟,但仍继续监视片内外中断服务请求服务请求当发生允许中断时可唤醒当发生允许中断时可唤醒CPU,重新启动,重新启动CPU时钟时钟.nSleep Mode: CPU内核无电
11、源,仅内核无电源,仅RTC核电源管理器继续工核电源管理器继续工作。作。SDRAM置为自我刷新方式。置为自我刷新方式。 功耗最低功耗最低2.2.3、DMA控制器 共有16各通道,每个通道有4各32位寄存器控制 外设与存储器及存储器与存储器之间的传送 提供了两种操作模式: 非描述子接入方式: 主要用于轮询模式 描述子接入方式: 主要用于中断模式(更有效) 16个信道被分为四组,其优先级各不相同 每个外设都有一个或多个专用DMA请求线2.2.4、存储器控制器 SDRAM 最大100MHz存储器总线接口可与DRAM、SDRAM、ROM、SMROM、SRAM以及其它潜在的I/O器件共享数据信号 SDRA
12、M支持4个块,每块最大可为64MB。4个块又可分两对,每对中两个块大小和管理必须一样,不同对可以不一样。 静态存储器接口和潜在的可变速率I/O接口支持6个片选(CS5.0),每个片选可独立管理. 支持16位PC卡/Compact Flash接口2.2.5、LCD控制器 最大支持10241024,16bits 颜色的LCD Sitsang开发板使用的LCD是640480 支持被动(DSTN)和主动(TFT)显示模式 DSTN:扫描屏幕被分为上下两部分,CPU同时并行对这两部分进行刷新(双扫描),DSTN显示屏上每个像素点的亮度和对比度因不能独立控制,显示效果不佳。每个像素点不能自身发光,是无源像
13、点。 TFT:每个液晶像素点是由集成在像素点后面的薄膜晶体管来驱动,是有源像素点。lInterrupt controllerlGPIOlReal time clocklOS timerlPWM2.2.6、系统集成单元 Interrupt controller 提供22个中断源,各中断可设置为IRQ或FIQ, FIQ优先级高于IRQ 中断控制器分两级: 第一级包含中断屏蔽寄存器(ICMR)和中断状态寄存器(ICPR)。 第二级为该中断的源器件的寄存器。通常情况下多个二级中断可通过或操作产生一个一级中断。 GPIOGPIO可产生和捕捉输入和输出信号;很多GPIO有第二功能,可通过GAFR设置;GP
14、DR:设置GPIO脚的输出还是输入写GPIO(设置为输出脚):GPSR(H), GPCR(L)读GPIO (设置为输入脚): GPER和GFER用于设置上升/下降沿检测; GEDR用于读出GPIO跳变类型。实时时钟(RTC) RTC可设置产生1Hz输出的周期性信号。 可由RTC在预定时间产生中断或唤醒事件。 时钟由3.6864MHz振荡器产生;OS计数寄存器OSCR ,四个匹配寄存器OSMR3:0,状态寄存器OSSR,中断允许寄存器OIER 当OSCR与任一个OSMR值相同且允许中断时,将置位OSSR中的标志位。 PWM(脉冲宽度调制) 可产生两个独立的输出信号PWM0, PWM1 可通过相应
15、的寄存器来控制每个输出信号的周期及占空比 在Sitsang板上PWM0被用于控制LCD显示的亮度。一般要求周期大于4ms,占空比在20100之间。7、其它接口 与卡有关的接口 MMC卡(多媒体存储卡) SD卡 CF卡 串行接口 USB1.1 UART(full function UART, BT UART, STD UART ) IrDA(FIR) SSP(增加了Network SSP功能) I2CCF卡 CF卡采用闪存(flash)技术,CF卡使用3.3V到5V之间的任何电压工作 CF卡使用的连接器与PCMCIA卡所用的连接器相似 一般CF卡的用电量仅为磁盘驱动器(4.6cm和6.4cm)的
16、5% 尺寸:43mm x 36m x 3.3mmSD卡 通过9针的接口界面与专门的驱动器相连接,不需要额外的电源来保持其上记忆的信息尺寸为32mm x 24mm x 2.1mmMMC可以被新的SD设备存取,兼容性则取决于应用软件,但SD卡却不可以被MMC设备存取MMC卡 MultiMediaCard尺寸32mm x 24mm x 1.4mm接口只有7针MMC的操作电压为2.7伏到3.6伏,写/读电流只有27mA和23mA,功耗很低USB1.1接口电气特性 图5-10 USB 的电缆高速信号的比特率为12Mbps,低速信号为1.5Mbp 时钟信号被转换成NRZI(None Return Zero
17、 Invert,即无回零反向码)码 :遇0转换点位,遇1不转换总线的拓扑结构 图58 总线的拓扑结构I IC C公用双总线结构公用双总线结构 IrDA红外线是波长在750nm至1mm之间的电磁波 采用4PPM调制解调(Pulse Position Modulation),即通过分析脉冲的相位来辨别所传输的数据信息 采用半双工方式传送数据4PPM 调制方式l四个时隙(timeslot)称为一个时片(chip )l一个时片编码两个位元,每个时片500nsl四个2-bit pairings,称为nibblesl位元组中先传送最低两个位元IrDA(4Mbps)串行帧格式引导标志/起始标志地址控制(可选
18、)数据CRC-32停止标志引导标志:1000 0000 1010 0000 重复16次起始标志:0000 1100 0000 1100 0110 0000 0110 0000停止标志:0000 1100 0000 1100 0000 0110 0000 0110PXA270新增加的功能l Intel的SpeedStep技术:根据需要动态调节CPU的性能,这样可以降低电力消耗 l增加无线MMX技术l附加外围设备,比如USB接口和摄像机接口 l内部256K SRAM 减少电耗和延迟 l内部有64 M的32位包内StrataFlash闪存 XScale 系统结构 PXA255 处理器结构与特性 基于
19、XScale的PXA255 开发系统 -sitsang开发板 l64 Mbytes SDRAMl32 Mbytes boot ROMl32 Mbytes flash memoryl一个一个 compact flash 插座插座l触摸屏控制器触摸屏控制器l音频辩解码器音频辩解码器 lToshiba LTM04C380K LCD显示显示l一个一个 USB client port,两个,两个USB host portslI2C总线通信总线通信lLAN91C96* 以太网控制器以太网控制器Sitsang开发板主要功能 lPulse width modulation controll一个高速红外线传送器
20、一个高速红外线传送器l多个串口多个串口l一个为一个为SD卡或卡或MMC卡的插槽卡的插槽l一个为用户使用的扩展槽一个为用户使用的扩展槽lIsolatable processor core voltage for precise power measurementsl用于应用软件调试使用的用于应用软件调试使用的32 个个LEDsl一个一个 5-way Mini-Joystick 和两个软按钮和两个软按钮 l重力加速度的传感器重力加速度的传感器电源系统 Battery MAX1820 VCC_CORE MAX1793 MAX1703 MAX1792 VCC_3P3V MIC5219 LCD_3P3V
21、 CF_3P3V ACC_3P3V IRDA_3P3V SD_3P3V USB_3P3V SMSC_3P3V MAX1796 BACKLIGHT_5V MAX1796 AUDIO_5V LTC1730S8 Switch WALL_9V_PWR USB_5V_PWR MAX5360 A MAX5360 B MAX1703 USB_5V MAX4544 MIC5219 MIC5219 MIC5219 DC_4P2V VCC_BATT SYS_PWR MIC5219 Audio_3P3V Memory mapFlashl64MB Flash memory. 2 bankslPress S2 when
22、 power on to switch flash Bank 0 32MB Bank 1 32MB 0 x0000,0000 0 x03FF,FFFF Bank 0 32MB Bank 1 32MB 0 x0000,0000 0 x03FF,FFFF Boot from B0 Boot from B1 Accelerometer SensorlMeasure accelerations with a full-scale range of 2g lAccelerations = (T1/T2 50%) / (12.5 %) g T2 T1 JTAG Chain TMS TCK nTRST TD
23、I TDO JTAG socket PXA250 TDI TDO TMS TCK nTRST CPLD TDI TDO TMS TCK nTRST Expansion card TDI TDO TMS TCK nTRST J23 BLRs(板级寄存器)NameFunctionAccessAddressPCRPower control registerRead and write0 x0800,0000BCRBoard control registerRead and write0 x0800,0004BSRBoard status registerRead only0 x0800,0008BI
24、PRBoard interrupt pending registerRead and write0 x0800,000CBIMRBoard interrupt mask registerRead and write0 x0800,0010AXHRAccelerometer x direction logic high counter registerRead only,0 x0800,0014AXLRReservedRead only0 x0800,0018AYHRAccelerometer Y direction logic high counter registerRead only0 x
25、0800,001CJSSRHEX switch, Joystick and soft button status registerRead only0 x0800,0020LLEDRLow 16-bits LED matrix control registerRead and write0 x0800,0024HLEDRHigh 16-bits LED matrix control registerRead and write0 x0800,0028EX_BCRExpansion card board control registerRead and write0 x0800,002CEX_B
26、SRExpansion card board status registerRead only0 x0800,0030EX_BIPRExpansion card interrupt pending registerRead and write0 x0800,0034EXPIMRExpansion card interrupt mask registerRead and write0 x0800,0038BLRs - BIPR and BIMR BIPR BIMR BIPR x BMPR x BIPR x BMPR x # GPIO BIPR x BMPR x BIPR x BMPR x # G
27、PIO BIPR和BIMP IRQ4 = (REG_BIPR_CF_IRQ and REG_BIMR_CF_IRQ) or (REG_BIPR_USB_HC_IRQ and REG_BIMR_USB_HC_IRQ);IRQ_Clr4 =not ( Write_BIPR_Flag and (DATA_BIT_BIPR_CF_IRQ orDATA_BIT_BIPR_USB_HC_IRQ);Sitsang板上IRQ4的处理:Sitsang 开发板的层次安排第一层第一层 元件层元件层第二层第二层 地层地层第三层第三层 走线层走线层第四层第四层 地层地层第五层第五层 电源层电源层第六层第六层 走线层走线
28、层第七层第七层 地层地层第八层第八层 底层底层PCB布线要领电源、地线之间加上去耦电容,每个芯片至少一个电源、地线之间加上去耦电容,每个芯片至少一个0.01uF0.1uF0.01uF0.1uF的电容的电容尽量加宽电源、地线宽度,最好是地线比电源线宽,尽量加宽电源、地线宽度,最好是地线比电源线宽,它们的关系是:地线电源线信号线它们的关系是:地线电源线信号线 用大面积铜层作地线用用大面积铜层作地线用, ,在印制板上把没被用上的地方在印制板上把没被用上的地方都与地相连接作为地线用都与地相连接作为地线用数字电路的频率高,模拟电路的敏感度强,对信号线数字电路的频率高,模拟电路的敏感度强,对信号线来说,高频的信号线尽可能远离敏感的模拟电路器件,来说,高频的信号线尽可能远离敏感的模拟电路器件,在板内部数字地和模拟地处理,最后在一点连接在板内部数字地和模拟地处理,最后在一点连接信号线布线首先应考虑用电源层,其次才是地层信号线布线首先应考虑用电源层,其次才是地层习题1、简述XSCALE微内核的特点2、简述ARM,XSCALE和PXA255之间的关系3、查阅资料了解更多关于流水线技术的特点4、简述冯.诺依曼结构和哈佛两种结构的特点5、查阅资料了解STN和TFT两类LCD屏的区别