购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

5.1 应用处理单元概述

在Zynq-7000 SoC中,应用处理单元(Application Processing Unit,APU)为PS最核心的部分,它包含两个高性能且低功耗的Cortex-A9处理器,每个处理器都包含NEON单元。在多处理器配置中,通过共享一个512KB L2高速缓存来实现两个处理器之间的数据交换。每个处理器都包含32KB L1数据高速缓存和32KB L1指令高速缓存。Cortex-A9处理器采用Armv7-A架构,支持虚拟存储器,可以执行32位的Arm指令、16位和32位的Thumb指令,以及在Jazelle状态下的8位Java字节码。NEON单元内的媒体和信号处理结构增加了用于音频、视频、图像处理、语音处理和3D图像的指令。这些高级的单指令多数据流(Single Instruction Multiple Data,SIMD)指令可用于Arm和Thumb状态。

注:Jazelle是Arm架构的一种相关技术,用于在处理器指令层次对Java进行加速。

5.1.1 基本功能

APU的结构如图5.1所示。在多核配置模式下,两个Cortex-A9处理器连接到一个侦听控制单元(Snoop Control Unit,SCU),用于保证两个处理器之间及其与来自PL的ACP接口的一致性。在PS内的APU中,为两个Cortex-A9处理器提供了一个可共享的512KB L2高速缓存,用于缓存指令和数据。与L2高速缓存并列,提供了一个256KB低延迟片上存储器(On Chip Memory,OCM)。

加速器一致性端口(Accelerator Coherency Port,ACP)用于Zynq-7000 SoC内的PL和APU之间的通信。该64位AXI接口允许PL作为AXI的主设备,PL内建的主设备可以通过该接口访问L2高速缓存和OCM,同时保证存储器和CPU L1高速缓存的一致性。

统一的512KB L2高速缓存是一个8路组关联结构,允许用户基于缓存行、路或主设备锁定缓存行的内容。根据地址信息,所有通过L2高速缓存控制器的访问都能连接到DDR控制器,或者发送到PL或PS内其他相关地址的从设备中。为了降低到DDR的访问延迟,APU提供了一个从L2高速缓存控制器到DDR控制器的专用端口。

在APU内,提供了调试和跟踪两种CPU的能力,并且互联作为CoreSight调试和跟踪系统的一部分。通过DAP,用户可以控制和查询所有的处理器与存储器。通过片上ETB或TPIU将来自两个处理器的32位ATB主设备和其他ATB主设备(如ITM和FTM)汇集在一起,产生统一的PS跟踪。

图5.1 APU的结构

Arm架构支持包括超级、系统和用户模式在内的多种操作模式,用于提供不同级别的保护和应用程序级别。此外,该架构还支持TrustZone技术,用于帮助用户创建安全的环境,以及运行应用程序和保护这些应用程序的内容。内建在Arm CPU和其他外设中的TrustZone使能一个安全的系统,用于管理密钥、私有数据和加密信息,不允许将这些信息泄露给不信任的程序或用户。

APU包含一个32位的看门狗定时器和一个带有自动递减特性的64位全局定时器,可以将它们用作通用定时器,也可以将其作为从休眠模式唤醒处理器的机制。

5.1.2 系统级视图

APU是系统中最关键的部件,它构成了PS与PL内所实现的IP,以及诸如外部存储器和外设这样的板级设备,如图5.2所示。APU通过L2高速缓存控制器的两个接口(M0和M1)和一个到OCM的接口(OCM和L2高速缓存并列)与系统其他单元进行通信。

所有来自双核Cortex-A9 MP系统的访问都要通过SCU。此外,来自其他主设备,同时要求与Cortex-A9 MP系统一致的所有访问也需要通过ACP连接到SCU。所有不通过SCU的访问和CPU都是非一致的,软件必须负责管理其同步性和一致性。

图5.2 APU的系统结构

来自APU的访问的目标可以是OCM、DDR、PL、IOP从设备或PS子模块内的寄存器。为了将访问OCM的延迟降到最低,在SCU上提供一个专用主设备端口,用于处理器和ACP访问OCM,这个访问延迟甚至低于对L2高速缓存的访问延迟。

所有从APU到DDR的访问都需要通过L2高速缓存控制器进行连接。为了改善DDR的访问延迟,在L2高速缓存控制器中提供一个连接到DDR控制器的专用主端口,允许所有从APU到DDR的交易不需要经过与其他主设备共享的主互联。对于既不访问OCM又不访问DDR的APU其他访问,将通过L2高速缓存控制器的第二个端口连接到主互联上。基于L2高速缓存控制器的访问是不必缓存的。

APU和它的子模块工作在CPU_6x4x时钟域内,APU到OCM的接口和到主互联的接口都是同步的。主互联能工作在1/2或1/3的CPU频率上。DDR模块工作在DDR_3x时钟域内,与APU是异步关系。ACP到APU模块包含一个同步器,使用这个端口的PL主设备,它的时钟可以与APU异步。 JcA/PuyJ6eKubqBGJQJXGh7Znprc5xcuevRmnG3v8S8BfHyVfwV0w/eC5s+bx6K3

点击中间区域
呼出菜单
上一章
目录
下一章
×