PXA255 开发平台

36
1 PXA255 开开开开 开开开 [email protected] 开开开开开开开开开 2005 开 4 开

description

PXA255 开发平台. 陈文智 [email protected] 浙江大学计算机学院 2005 年 4 月. 提纲. Xscale 系统结构 PXA255 处理器结构与特性 Xsbase255 开发系统. Xscale 系统结构. Xscale 系统结构 ---- Xscale 超级流水线. PXA255 拥有 7 级超级流水线,主要由主流水线、 MAC 流水线和内存访问流水线组成。. Xscale 系统结构 ---- Xscale 超级流水线. 主流水线 F1/F2 指令读取 ID 指令译码 RF 寄存器文件 / 移位级 - PowerPoint PPT Presentation

Transcript of PXA255 开发平台

Page 1: PXA255 开发平台

1

PXA255 开发平台

陈文智 [email protected]

浙江大学计算机学院2005 年 4 月

Page 2: PXA255 开发平台

2

提纲

Xscale系统结构

PXA255处理器结构与特性

Xsbase255开发系统

Page 3: PXA255 开发平台

3

Xscale系统结构

Page 4: PXA255 开发平台

4

Xscale系统结构 ---- Xscale 超级流水线

PXA255 拥有 7 级超级流水线,主要由主流水线、 MAC 流水线和内存访问流水线组成。

Page 5: PXA255 开发平台

5

Xscale系统结构 ---- Xscale 超级流水线

主流水线 F1/F2 指令读取 ID 指令译码 RF 寄存器文件 / 移

位级 X1 执行级 X2 执行级 XWB 写回级

Page 6: PXA255 开发平台

6

Xscale系统结构 ---- Xscale 超级流水线

MAC 流水线 执行所有的乘 / 累加指令。它执行 40 位累加寄存器 acc

0 和能把指令值转化成普通的 ARM 寄存器值。 MAC 不是真正的一条流水线,指令的类型和资源决定它所需的周期数。不会同时两条指令出现在 MAC 流水线上。当MAC 在处理一条指令的时候其他的指令不允许进出到 M1 中,除非原来的指令在下一个周期中处理完成。 MAC单元执行开始于 M1 ,接受 2 个 32 位操作数, N 个周期后完成并返回寄存器文件。

Page 7: PXA255 开发平台

7

Xscale系统结构 ---- Xscale 超级流水线

内存访问流水线 内存流水线有 D1 、 D2 和 DWB3 级构成,独

立完成指令的装载和存储。在执行完 X1 后开始执行 D1 级,计算有效的存 / 取地址;在 D2级数据 cache 和小型数据 cache 返回目的数据;DWB 级进行填入缓冲器和写入缓冲器操作。

Page 8: PXA255 开发平台

8

Xscale系统结构 ---- Xscale 乘 / 累加 MAC

Xscale 为了多媒体的应用,支持 SIMD. 比如 MIAPH 指令,它执行 2 个 16x16 位乘

法,然后与 40 位累加器相加,即 2 个 32 位寄存器可以看作为 2 对 16 位寄存器,先高 16 位相乘并与累加器进行相加;低 16 位也相乘后与累加器相加,这 2 个结果相加后再送到寄存器文件中。

Page 9: PXA255 开发平台

9

Xscale系统结构 ---- 内存管理

提供内存访问保护和虚拟地址到物理地址的转换

支持指令 TLB支持数据 TLB

(Translation Look-aside Buffer , TLB ,转换搜索缓存 )

Page 10: PXA255 开发平台

10

Xscale系统结构 ---- 指令 Cache

容量为 32K 32 路组相联 每路由 8 个字 (32 字节 ) 和一位有效位

( 思考:有几组 ?)循环替换算法

Page 11: PXA255 开发平台

11

Xscale系统结构 ---- 指令 Cache

Page 12: PXA255 开发平台

12

Xscale系统结构 ---- 数据 Cache

容量 32KB 32 路组相联 每路包含 32 字节和 1 个有效位 , 还包含 2

个 dirty 位 ,分别对应低 16 位字节和高 16 位字节

采用循环替换法

Page 13: PXA255 开发平台

13

Xscale系统结构 ---- 转移目标缓冲器 BTB  

BTB 由有 128 入口的直接映像 cache 构成 每个入口由 TAG 分支地址、 DATA 数据目标地

址和 2 位历史位组成。

Page 14: PXA255 开发平台

14

Xscale系统结构 ---- 性能监视

提供 2 个 32 位的性能计数器,可以分别对 2 个独立的事件同时监视。

另外还有 1 个 32 位时钟计数器用来联合性能计数器记录内核时钟数。 当计算突发事件时计数器将监测到一个特定事件的

发生; 当测量持续事件时计数器将记录处理器时钟周期数

当指定条件为真时事件发生。 所有的这些计数器都有对应的 IRQ 和 FIQ 资源。 Xscale 的性能监视模块可以通过协处理器 CP1

4 的寄存器 0-3 进行控制。

Page 15: PXA255 开发平台

15

Xscale系统结构 ---- 电源管理

Xscale 核合并电源管理和时钟管理来控制时钟和管理电源,它控制每一个运行模式的时钟频率和管理不同电源管理模式下的性能与功耗间的优化。

Page 16: PXA255 开发平台

16

Xscale系统结构 ---- 调试

通讯控制模块通过 JTAG 指令来建立目标机和宿主机的握手

硬件断点模块 有指令和数据断点寄存器,由协处理器控制

跟踪缓冲模块 对程序历史记录以实现恢复异常和跳转

代码下载模块 代码下载到 I-Cache, 调试代理程序实现读 / 写

Page 17: PXA255 开发平台

17

PXA255处理器结构与特性

Page 18: PXA255 开发平台

18

PXA255处理器结构与特性

PXA255 除了采用 Xscale 内核,还具有以下特点: 内核工作频率: 200MHz 、 300MHz 和 400MHz 系统存储器接口 时钟和电源控制器 DMA 控制器 LCD 控制器 系统集成模块 串行通信口 多媒体通信口

Page 19: PXA255 开发平台

19

PXA255处理器结构与特性

时钟模块:控制系统每一个模块的时钟频率优化计算处理和电源管理的功能。有三个寄存器: 核时钟设置寄存器 CCCR

L :晶振频率至存储器频率倍因子,可以设置成 27 、 32 、36 、 40或 45 。

M :存储器频率至运行方式频率倍因子,可以设置成 1或 2 。

N :运行方式频率至快速方式频率因子,可以设置成 1.0 、 1.5 、 2.0或 3.0 。

时钟允许寄存器 CKEN 振荡器设置寄存器 OSCC

Page 20: PXA255 开发平台

20

PXA255处理器结构与特性

电源管理模块 运行模式 快速模式 ( CCCR 的 N)空闲模式

空闲模式没有改变时钟的产生。应用程序选择 PWRMODE寄存器的 M段来选择空闲方式。

睡眠模式 许多处理器内部单元功能关闭,实时时钟和电源管理模块继续工作 。通过使用 PWRMODE 寄存器来进入睡眠模式。

33MHz空闲模式 在 33MHz空闲模式下其他所有的外设单元都不能使用包括

SDRAM 、 LCD 和 DMA 控制器。

Page 21: PXA255 开发平台

21

PXA255处理器结构与特性

GPIO 口 PXA255 可以使用和控制的 GPIO 管脚有 81

个。使用 27 个寄存器可以配置这些 GPIO 管脚的方向 ( 进或出 ) 、管脚功能、管脚的状态 (输出 ) 、管脚的高低电平检测 (输入 ) 和选择第二功能。

许多 GPIO 管脚的第二功能已经被处理器或外设配置使用。

Page 22: PXA255 开发平台

22

PXA255处理器结构与特性

中断控制器

Page 23: PXA255 开发平台

23

PXA255处理器结构与特性

实时时钟 RTC 使用实时时钟可以配置成频率很广的周期时

钟信号,通常 RTC设置 1Hz信号输出用来当作系统时间的基准。

实时时钟芯片是 RTC4513

Page 24: PXA255 开发平台

24

PXA255处理器结构与特性

DMA 控制器 (DMAC ) DMAC 有 16 个通道,从通道 0 到通道 15 在嵌入式 Linux 中 DMA 在设备驱动上常常要用到。

DMA 控制器对内存的访问和 CPU 的运行完全互斥,因此在 DMA 控制器访问内存时 CPU 不访问内存。DMA 控制器在传输数据上要比 CPU快得多,它的操作完全由硬件驱动,只要一个时钟周期就可以完成一个字节的传输。在 DMA 控制器暂时占住了内存,CPU仍能取指令,而许多指令的执行是不要求访问内存的,这样 CPU 和 DMA 控制器之间有了一定的并行度,提高的综合效率。即使 CPU 要访问内存也可以在数据 cache 中读取。

Page 25: PXA255 开发平台

25

Xsbase255开发系统

Page 26: PXA255 开发平台

26

Xsbase255开发系统 ----硬件资源

项目 描述

处理器 Intel XScale PXA255 400MHz

SDRAM Samsung 64Mbyte

Flash Intel strata flash 32MByte

以太网 CS8900A 10BaseT

声卡 AC’97 Stereo audio

显示 LG TFT LCD 6.4”( 640 * 480)

触摸屏 ADS7843 touch screen

USB Host 2 Slot

USB Slave 1 Slot

PCMCIA 1 Slot

实时时钟 Real time clock RTC4513

红外 HDSL3600

CF 1 Slot

MMC 1 Slot

Page 27: PXA255 开发平台

27

Xsbase255开发系统 ----硬件资源

存储器接口主要可以分成 3 类 :SDRAM

SDRAM 有 4 块区域静态 FLASH

静态存储器有 6 块卡存储器

卡存储器有 2 块。

Page 28: PXA255 开发平台

28

Xsbase255开发系统 ----硬件资源

LCD 接口 PXA255 处理器内置的 LCD 控制器支持被动 (DST

N)或主动 (TFT) 模式的显示器,还支持单色或多种的彩色像点格式,支持单屏或双屏显示;被动彩色方式有 65536种颜色 (使用 16 位 TMED抖动算法 ) ,主动彩色方式有 65536种颜色 (16 位,绕过调色板 ) ,显示可以达到 1024x1024 ,推荐使用最大值 800x600 ;内置 2 个专用 DMA 通道。

Xsbase255系统使用的 LCD 是 6.4’TFT 的彩色显示屏,分辨率是 640x480 。

Page 29: PXA255 开发平台

29

Xsbase255开发系统 ----硬件资源

以太网接口 Xsbase255 开发系统采用 Cirrus Logic公司

CS8900A 以太网芯片,是符合 IEEE802.3协议的工业标准架构总线的一款低成本的以太网芯片。它高度集成了一些常用的部件比如:片内的 RAM 、 10BASE-T传输和接受过滤器和 ISA总线接口等 。

Page 30: PXA255 开发平台

30

Xsbase255开发系统 ----硬件资源

音频接口 PXA255 处理器包含 AC’97 控制单元,支持音频控制器 (AC-link) ,能通过串口传输数字音频、调制调解器、音频输入、控制寄存器和状态信息等。因为 PXA255 处理器内置了AC’97 控制器,需要外扩一个音频解码芯片。

Xsbase255 外扩了 Cirrus Logic CS4299 用作音频解码器。

Page 31: PXA255 开发平台

31

Xsbase255开发系统 ----硬件资源

实时时钟 RTC 当关闭 Xsbase255系统电源, RTC4513 可

以通过一个电池来保持当前的时间。系统外扩了实时时钟芯片 RTC4513 和一个纽扣电池组成 RTC 电路 。

Page 32: PXA255 开发平台

32

Xsbase255开发系统 ----硬件资源

串口 Xsbase 开发系统提供 1 个全功能的 (FF , F

ull Function)串口, 1 个蓝牙串口 (BT,Bluetooth) 和 1 个标准 UART(红外接口 ) 。它们使用 PXA255 中的第二功能 GPIO引脚。全功能串口支持 Modem 控制功能,其最高波特率为 230.4Kb/s ;蓝牙串口是一个高速 UART ,最高波特率为 921.6Kb/s ,可连接蓝牙模块 。

Page 33: PXA255 开发平台

33

Xsbase255开发系统 ----硬件资源

USB 接口 Xsbase255 开发系统有 1 个 USB-Client 接

口和 2 个 USB-Host 接口 ( 其中一个是 mini USB 接口 ) 。

USB-Client 接口作为 USB 的从设备,一般与主设备如宿主机连接,用于下载数据和程序,也可以用作 USB网口来使用。 USB-Client 控制器 UDC集成在 PXA255 处理器内部。

USB-Host 接口作为 USB 的主设备,用于连接 USB 外设,例如 U盘、鼠标、键盘和摄像头等。

Page 34: PXA255 开发平台

34

Xsbase255开发系统 ----硬件资源

扩展接口 1 个 PCMCIA 接口1 个 CF卡接口1 个 MMC卡接口120pin 的扩展接口。

Page 35: PXA255 开发平台

35

Xsbase255开发系统 ----软件资源

Linux( Linux2.4.18 )FLASH (32M 32bit)

Root Filesystem

Kernel Image

Reserved

Bootloader

0x0200 0000

0x001C 0000

0x000C 0000

0x0004 0000

0x0000 0000

30 MByte

1MByte

512KByte

256KByte

Page 36: PXA255 开发平台

36

Xsbase255开发系统 ----软件资源

Windows CE ( 4.2 NET )