360 likes | 548 Views
PXA255 开发平台. 陈文智 wzchen@cad.zju.edu.cn 浙江大学计算机学院 2005 年 4 月. 提纲. Xscale 系统结构 PXA255 处理器结构与特性 Xsbase255 开发系统. Xscale 系统结构. Xscale 系统结构 ---- Xscale 超级流水线. PXA255 拥有 7 级超级流水线,主要由主流水线、 MAC 流水线和内存访问流水线组成。. Xscale 系统结构 ---- Xscale 超级流水线. 主流水线 F1/F2 指令读取 ID 指令译码 RF 寄存器文件 / 移位级
E N D
PXA255开发平台 陈文智 wzchen@cad.zju.edu.cn 浙江大学计算机学院 2005年4月
提纲 • Xscale系统结构 • PXA255处理器结构与特性 • Xsbase255开发系统
Xscale系统结构----Xscale超级流水线 • PXA255拥有7级超级流水线,主要由主流水线、MAC流水线和内存访问流水线组成。
Xscale系统结构----Xscale超级流水线 • 主流水线 • F1/F2指令读取 • ID指令译码 • RF寄存器文件/移位级 • X1执行级 • X2执行级 • XWB写回级
Xscale系统结构----Xscale超级流水线 • MAC流水线 • 执行所有的乘/累加指令。它执行40位累加寄存器acc0和能把指令值转化成普通的ARM 寄存器值。MAC不是真正的一条流水线,指令的类型和资源决定它所需的周期数。不会同时两条指令出现在MAC流水线上。当MAC在处理一条指令的时候其他的指令不允许进出到M1中,除非原来的指令在下一个周期中处理完成。MAC单元执行开始于M1,接受2个32位操作数,N个周期后完成并返回寄存器文件。
Xscale系统结构----Xscale超级流水线 • 内存访问流水线 • 内存流水线有D1、D2和DWB3级构成,独立完成指令的装载和存储。在执行完X1后开始执行D1级,计算有效的存/取地址;在D2级数据cache和小型数据cache返回目的数据;DWB级进行填入缓冲器和写入缓冲器操作。
Xscale系统结构----Xscale乘/累加MAC • Xscale为了多媒体的应用,支持SIMD. • 比如MIAPH指令,它执行2个16x16位乘法,然后与40位累加器相加,即2个32位寄存器可以看作为2对16位寄存器,先高16位相乘并与累加器进行相加;低16位也相乘后与累加器相加,这2个结果相加后再送到寄存器文件中。
Xscale系统结构----内存管理 • 提供内存访问保护和虚拟地址到物理地址的转换 • 支持指令TLB • 支持数据TLB (Translation Look-aside Buffer,TLB,转换搜索缓存)
Xscale系统结构----指令Cache • 容量为32K • 32路组相联 • 每路由8个字(32字节)和一位有效位 • (思考:有几组?) • 循环替换算法
Xscale系统结构----数据Cache • 容量32KB • 32路组相联 • 每路包含32字节和1个有效位,还包含2个dirty位 ,分别对应低16位字节和高16位字节 • 采用循环替换法
Xscale系统结构----转移目标缓冲器BTB • BTB由有128入口的直接映像cache构成 • 每个入口由TAG分支地址、DATA数据目标地址和2位历史位组成。
Xscale系统结构----性能监视 • 提供2个32位的性能计数器,可以分别对2个独立的事件同时监视。 • 另外还有1个32位时钟计数器用来联合性能计数器记录内核时钟数。 • 当计算突发事件时计数器将监测到一个特定事件的发生; • 当测量持续事件时计数器将记录处理器时钟周期数当指定条件为真时事件发生。 • 所有的这些计数器都有对应的IRQ和FIQ资源。 • Xscale的性能监视模块可以通过协处理器CP14的寄存器0-3进行控制。
Xscale系统结构----电源管理 • Xscale核合并电源管理和时钟管理来控制时钟和管理电源,它控制每一个运行模式的时钟频率和管理不同电源管理模式下的性能与功耗间的优化。
Xscale系统结构----调试 • 通讯控制模块 • 通过JTAG指令来建立目标机和宿主机的握手 • 硬件断点模块 • 有指令和数据断点寄存器,由协处理器控制 • 跟踪缓冲模块 • 对程序历史记录以实现恢复异常和跳转 • 代码下载模块 • 代码下载到I-Cache,调试代理程序实现读/写
PXA255处理器结构与特性 PXA255除了采用Xscale内核,还具有以下特点: • 内核工作频率:200MHz、300MHz和400MHz • 系统存储器接口 • 时钟和电源控制器 • DMA控制器 • LCD控制器 • 系统集成模块 • 串行通信口 • 多媒体通信口
PXA255处理器结构与特性 • 时钟模块:控制系统每一个模块的时钟频率优化计算处理和电源管理的功能。有三个寄存器: • 核时钟设置寄存器CCCR • L:晶振频率至存储器频率倍因子,可以设置成 27、32、36、40或45。 • M:存储器频率至运行方式频率倍因子,可以设置成1或2。 • N:运行方式频率至快速方式频率因子,可以设置成 1.0、1.5、2.0或3.0。 • 时钟允许寄存器CKEN • 振荡器设置寄存器OSCC
PXA255处理器结构与特性 • 电源管理模块 • 运行模式 • 快速模式 (CCCR的N) • 空闲模式 • 空闲模式没有改变时钟的产生。应用程序选择PWRMODE寄存器的M段来选择空闲方式。 • 睡眠模式 • 许多处理器内部单元功能关闭,实时时钟和电源管理模块继续工作 。通过使用PWRMODE寄存器来进入睡眠模式。 • 33MHz空闲模式 • 在33MHz空闲模式下其他所有的外设单元都不能使用包括SDRAM、LCD和DMA控制器。
PXA255处理器结构与特性 • GPIO口 • PXA255可以使用和控制的GPIO管脚有81个。 • 使用27个寄存器可以配置这些GPIO管脚的方向(进或出)、管脚功能、管脚的状态(输出)、管脚的高低电平检测(输入)和选择第二功能。 • 许多GPIO管脚的第二功能已经被处理器或外设配置使用。
PXA255处理器结构与特性 • 中断控制器
PXA255处理器结构与特性 • 实时时钟RTC • 使用实时时钟可以配置成频率很广的周期时钟信号,通常RTC设置1Hz信号输出用来当作系统时间的基准。 • 实时时钟芯片是RTC4513
PXA255处理器结构与特性 • DMA控制器 (DMAC ) • DMAC有16个通道,从通道0到通道15 • 在嵌入式Linux中DMA在设备驱动上常常要用到。DMA控制器对内存的访问和CPU的运行完全互斥,因此在DMA控制器访问内存时CPU不访问内存。DMA控制器在传输数据上要比CPU快得多,它的操作完全由硬件驱动,只要一个时钟周期就可以完成一个字节的传输。在DMA控制器暂时占住了内存,CPU仍能取指令,而许多指令的执行是不要求访问内存的,这样CPU和DMA控制器之间有了一定的并行度,提高的综合效率。即使CPU要访问内存也可以在数据cache中读取。
Xsbase255开发系统----硬件资源 • 存储器接口主要可以分成3类 : • SDRAM • SDRAM有4块区域 • 静态FLASH • 静态存储器有6块 • 卡存储器 • 卡存储器有2块。
Xsbase255开发系统----硬件资源 • LCD接口 • PXA255处理器内置的LCD控制器支持被动(DSTN)或主动(TFT)模式的显示器,还支持单色或多种的彩色像点格式,支持单屏或双屏显示;被动彩色方式有65536种颜色(使用16位TMED抖动算法),主动彩色方式有65536种颜色(16位,绕过调色板),显示可以达到1024x1024,推荐使用最大值800x600;内置2个专用DMA通道。 • Xsbase255系统使用的LCD是6.4’TFT 的彩色显示屏,分辨率是640x480。
Xsbase255开发系统----硬件资源 • 以太网接口 • Xsbase255开发系统采用Cirrus Logic公司CS8900A以太网芯片,是符合IEEE802.3协议的工业标准架构总线的一款低成本的以太网芯片。它高度集成了一些常用的部件比如:片内的RAM、10BASE-T传输和接受过滤器和ISA总线接口等 。
Xsbase255开发系统----硬件资源 • 音频接口 • PXA255处理器包含AC’97控制单元,支持音频控制器(AC-link),能通过串口传输数字音频、调制调解器、音频输入、控制寄存器和状态信息等。因为PXA255处理器内置了AC’97控制器,需要外扩一个音频解码芯片。 • Xsbase255外扩了Cirrus Logic CS4299用作音频解码器。
Xsbase255开发系统----硬件资源 • 实时时钟RTC • 当关闭Xsbase255系统电源,RTC4513可以通过一个电池来保持当前的时间。系统外扩了实时时钟芯片RTC4513和一个纽扣电池组成RTC电路 。
Xsbase255开发系统----硬件资源 • 串口 • Xsbase开发系统提供1个全功能的(FF,Full Function)串口,1个蓝牙串口(BT,Bluetooth)和1个标准UART(红外接口)。它们使用PXA255中的第二功能GPIO引脚。全功能串口支持Modem控制功能,其最高波特率为230.4Kb/s;蓝牙串口是一个高速UART,最高波特率为921.6Kb/s,可连接蓝牙模块 。
Xsbase255开发系统----硬件资源 • USB接口 • Xsbase255开发系统有1个USB-Client接口和2个USB-Host接口(其中一个是mini USB接口)。 • USB-Client接口作为USB的从设备,一般与主设备如宿主机连接,用于下载数据和程序,也可以用作USB网口来使用。USB-Client控制器UDC集成在PXA255处理器内部。 • USB-Host接口作为USB的主设备,用于连接USB外设,例如U盘、鼠标、键盘和摄像头等。
Xsbase255开发系统----硬件资源 • 扩展接口 • 1个PCMCIA接口 • 1个CF卡接口 • 1个MMC卡接口 • 120pin的扩展接口。
Xsbase255开发系统----软件资源 • Linux(Linux2.4.18 )
Xsbase255开发系统----软件资源 • Windows CE (4.2 NET )