文档之家
首页
教学研究
幼儿教育
高等教育
外语考试
建筑/土木
经管营销
自然科学
当前位置:
文档之家
›
第3章 Zynq-7000应用处理单元
第3章 Zynq-7000应用处理单元
格式:ppt
大小:30.11 MB
文档页数:397
下载文档原格式
下载原文件
/ 141
下载本文档
合集下载
下载提示
文本预览
1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
来自通过SCU的双核Cortex-A9 MP系统的访问,以及来自要求
和Cortex-A9 MP系统一致的其它主设备的所有访问。
所有不通过SCU的访问和CPU是非一致性的,软件必须明确 地管理同步和一致性。
13
Zynq-7000应用处理单元
--系统级视图
来自APU的访问,其目标可以是OCM、DDR、PL、 IOP从设备或者PS子模块内的寄存器。
---中央处理器
Cortex-A9 CPU采用了预测地执行指令,这样使能动态
地重命名物理寄存器到一个虚拟可用的寄存器池中。
CPU使用这个虚拟寄存器重命名来消除寄存器之间的依赖性, 但不会影响到程序正确地执行。 这个特性通过一个基于循环展开的有效硬件,允许代码的加 速。
同时,通过在相邻指令间消除数据的依赖性提高流水线的利
为了将访问OCM的延迟降低到最小,来自SCU的一个专用主 设备端口提供了处理器和ACP到OCM地直接访问,其访问延迟甚
至小于L2高速缓存。
14
Zynq-7000应用处理单元
--系统级视图
所有到DDR的APU的访问,通过L2缓存控制器进行连接。
为了改善DDR访问延迟,提供了一个来自L2缓存控制器到 DDR存储器控制器的专用主端口,允许所有的APU-DDR的交易不 经过和其它主设备共享的主互联。 来自APU的其它访问,这些访问既不绑定OCM,也不绑定
18
Zynq-7000应用处理单元
--Cortex-A9处理器
Cortex-A9处理器实现必要的硬件特性
用于程序调试和跟踪调试生成支持。
硬件计数器
用于处理器和存储器系统操作时搜集统计数据。
Cortex-A9内的主要子模块
是中央处理单元CPU、L1指令高速缓存和数据高速缓存器、 存储器管理单元、NEON协处理器和内核接口。
这样,就可以释放流水线资源,而不依赖于系统提供的、 所要求数据的顺序。
24
Zynq-7000应用处理单元
---中央处理器
在指令条件或者前面分支解析之前,或者需要写的数
据可用之前,能预测地发出加载/保存指令。
如果用于执行加载/保存的条件失败,可能产生的任何不
利影响,比如:修改寄存器的行为,都将被刷新。
的从设备,或者到PL。
17
Zynq-7000应用处理单元
--Cortex-A9处理器
每个带有SCU的处理器接口包含所要求的侦测信号,用于提供 处理器内的L1数据缓存和用于共享存储器的共享L2缓存的一致 性。 Cortex-A9和它的子系统也提供了完整的Trustzone扩展,用于用
户的安全性。
25
Zynq-7000应用处理单元
---中央处理器
分支预测
为了减少在高度流水的CPU内分支所造成的不利影响, Cortex-A9内实现静态和动态地分支预测:
由指令提供静态分支预测,在编译时候确定。 动态地分支预测使用前面一个指定指令的执行结果,以确定是否采 用分支。
动态分支预测逻辑使用一个全局分支历史缓冲区(Global Branch History Buffer,GHB)。
媒体和信号处理结构增加了用于音频、视频、图像和语音处理和 3D图 像的指令。 这些高级的单指令多数据流(Single Instruction Multiple Data, SIMD) 指令可用于ARM和Thumb状态。
5
Zynq-7000应用处理单元
--基本功能
多核配置的两个Cortex-A9处理器带有一个侦测控制单元SCU, 用于保证两个处理器之间,以及与来自PL的ACP接口一致性。 为了提高性能,Cortex-A9多核提供了一个用于指令和数据的,
用率。
23
Zynq-7000应用处理单元
---中央处理器
Cortex-A9 CPU中的存储器系统内,提交相互依赖的
加载-存储指令用于解析。
这样,大大降低了流水线的停止。通过自动或者用户驱动 地预取操作,Cortex-A9 CPU核支持最多四个数据缓存行填充要 求。
CPU的一个关键的特性就是指令的无序写回。
流水线。
21
Zynq-7000应用处理单元
---中央处理器
CPU实现一个超标量解码器,能在一个周期内解码两 个完整的指令。
四个CPU流水线中的任何一个流水线都能从发送队列中选择
指令。并行流水线支持每个周期贯穿下面单元的并行执行:全部 两个算术单元、加载-保存单元和任何分支的解析单元。
22
Zynq-7000应用处理单元
共享统一的512KB L2高速缓存。
与L2高速缓存并列,提供了一个256KB的片上存储器OCM, 用于提供一个低延迟的存储器。
6
Zynq-7000应用处理单元
--基本功能
加速器一致性端口ACP,用于方便PL和APU之间的通信。这
个64位的AXI接口允许PL作为AXI主设备。该设备能访问L2和 OCM,同时保证存储器和CPU L1缓存的一致性。 统一的512KB L2高速缓存是一个8路组关联结构,允许用户基 于缓存行、路或者主设备锁定缓存行的内容。
9
Zynq-7000应用处理单元
--基本功能
自带定时器
PU包含一个32位的看门狗定时器和一个带有自动递减特性的 64位全局定时器。 它们能用做一个通用的定时器,也可以作为从休眠模式00应用处理单元
--系统级视图
11
Zynq-7000应用处理单元
---系统级视图
是2路x256入口。
基于计算的有效地址和转换的物理地址,在产生真正的目
标地址前,提供用于指定分支的目标地址到预加载单元。
此外,如果一个指令循环适配四个BTAC入口,关闭指令缓 存访问,以降低功耗。
27
Zynq-7000应用处理单元
---中央处理器
Cortex-A9 CPU能预测条件分支、无条件分支、间接分
支、PC目的数据处理操作和在ARM和Thumb状态之间
切换的分支。
28
Zynq-7000应用处理单元
---中央处理器
然而,不能预测下面的分支指令
在状态之间切换的分支(除了ARM到Thumb转换和Thumb 到ARM转换以外)。
当它们用于从异常返回时,不能预测带有S后缀的指令。
因为它们可能改变特权模式和安全性状态,对程序的执行 有不利的影响。 所有用于改变模式的指令。
高速缓存、片上存储器、APU接口、APU内的TrustZone、应用
处理单元复位、功耗考虑、系统地址分配、中断、定时器和 DMA控制器等。
2
Zynq-7000应用处理单元
--概述
应用处理单元(Application Processing Unit,APU)
存在于PS内,包含带有NEON协处理器的两个Cortex-A9处 理器。在多处理器配置中,将两个处理器连接起来共享一个 512KB L2高速缓存。 每个处理器是一个高性能、低功耗的核,各自有两个独立的 32KB L1数据高速缓存和指令高速缓存。
LOGO Xinlinx大学计划课程
Xilinx All Programmable Zynq-7000 SoC设计指南
主 讲:何宾 Email:hebin@
2012.12
Zynq-7000应用处理单元 --概述
内容包括
应用处理单元概述、Cortex-A9处理器、侦听控制单元、L2
APU是系统中最关键的部件,它构成了PS、PL内所实现
的的IP和诸如外部存取器和外设这样的板级设备。
APU的系统结构图,通过了L2控制器的两个接口和一个到 OCM的接口(OCM和L2高速缓存并列),APU和系统剩余的部
分进行通信。
12
Zynq-7000应用处理单元
--系统级视图
ACP端口连接到SCU
29
Zynq-7000应用处理单元
---中央处理器
通过将CP15 c1控制寄存器的Z比特设置为1,
使能程序流预测。
在打开程序流预测前,必须执行一个BTAC刷新操作。其额 外的效果是将GHB设臵为一个已知状态。 Cortex-A9也用一个8入口的返回堆栈缓存,保存了32位子程 序的返回地址。这个特性大大降低了执行子程序调用带来的不利 影响,可以寻址最大8级深度的嵌套例程。
19
Zynq-7000应用处理单元 --Cortex-A9处理器
每个Cortex-A9的CPU能在一个周期给出两个指令,并
且以无序的方式执行。
CPU实现动态地分支预测和可变长度的流水线,性能达到
2.5DMIPs/MHz。
Cortex-A9处理器实现ARM v7-A的结构、支持充分的虚 拟存储器
能执行32位的ARM指令、16位及32位的Thumb指令和在Jazelle
DDR,穿过L2控制器。并且,使用第二个端口连接到主互联。通
过L2缓存控制器的访问是不必缓存的。
15
Zynq-7000应用处理单元
--系统级视图
APU和它的子模块工作在CPU_6x4x时钟域中。
来自APU到OCM的接口和到主互联的接口都是同步的。 主互联能运行在1/2或者1/3的CPU频率。
8
Zynq-7000应用处理单元
--基本功能
ARM结构支持多个操作模式,包括: 超级、系统和用户 模式。
用于提供不同级别的保护和应用程序级别。这个接口支持 TrustZone技术,用于帮助创建安全的环境,用于运行应用程序和 保护这些应用程序的内容。
内建在ARM CPU和其它外设的TrustZone使能一个安全的系统, 用于管理密钥、私有数据和加密信息,不允许将这些秘密泄露给不 信任的程序或者用户。
3
Zynq-7000应用处理单元
--概述
4
Zynq-7000应用处理单元
--概述
Cortex-A9处理器结构
Cortex-A9处理器实现ARVV7-A结构 支持完整的虚拟存储器
能执行32位ARM指令、16位及32位Thumb指令和在Jazelle状态
下的一个8位Java字节码。 NEON协处理器
GHB是一个4096入口的表,包含用于指定分支的2位预测信息。当
每次执行分支时,更新预测信息。
26
Zynq-7000应用处理单元
---中央处理器
分支执行和整体的指令吞吐量也得益于分支目标 地址缓存 (Branch Target Address Cache,BTAC)的实现。
BTAC保存着最近分支的目标地址。这个512入口的地址缓存的结构
理单元(Memory Management Unit,MMU)和独立的32KB L1
指令和数据高速缓存。 每个Cortex-A9处理器提供了两个64位的AXI主接口用于到SCU 的独立指令和数据交易。取决于地址和属性,这些交易连接到 OCM、L2高速缓存、DDR存储器或者通过PS互联到其他PS内
状态下的一个8位Java字节码。
20
Zynq-7000应用处理单元 --Cortex-A9处理器
Cortex-A9 CPU内所实现的流水线,采用了高级取指和
指令预测技术,它将潜在的存储器延迟引起的指令停止
和分支解析分开。
在Cortex-A9 CPU中,预加载最多四个指令缓存行,用于降低 存储器延迟对指令吞吐量的影响。CPU取指单元能在每个周期连 续发送2~4条指令到指令译码缓冲区,以保证高效地使用超标量
DDR模块在DDR_3X时钟域,与APU是异步的。
到APU模块的ACP端口包含一个同步器,PL主设备使用这 个端口,使得时钟和APU是异步的。
16
Zynq-7000应用处理单元
--Cortex-A9处理器
APU实现双核Cortex-A9 MP配置
每个处理器有它自己的SIMD媒体处理引擎NEON、存储器管
所有通过L2缓存控制器的访问能连接到DDR控制器,或送到
PL,或PS内的其它相关地址的从设备。为了降低到DDR存储 器的延迟,提供了一个从L2控制器到DDR控制器的专用端口。
7
Zynq-7000应用处理单元
--基本功能
两个处理器核内建了调试和跟踪能力,并且互连作为 CoreSight调试和跟踪系统的一部分。 用户能通过调试器访问端口(Debug Access Port, DAP)控
制和查询所有的处理器和存储器。
通过片上嵌入跟踪缓冲区(Embedded Trace Buffer,ETB)或 者跟踪端口接口单元(Trace-Port Interface Units,TPIU), 将来自两个处理器的32位AMBA跟踪总线(AMBA Trace Bus, ATB)主设备和其它ATB主设备(比如ITM和FTM)汇集在 一起,产生统一的PS跟踪。
文档推荐
粉细砂地基处理技术在房屋建筑施工中的应用研究
页数:2
公路施工中软土地基处理技术的应用研究
页数:2
软弱地基处理技术在钻前工程中的应用研究
页数:5
地基处理新技术及应用 平浩
页数:2
房屋建筑施工工程中的地基处理技术应用研究
页数:2
建筑工程施工中软土地基处理技术应用研究
页数:3
房屋建筑施工中地基处理技术的应用研究 王天用
页数:2
水闸地基处理技术研究与应用
页数:2
水利施工中的软土地基处理技术应用研究
页数:2
工程地基处理技术的应用与研究
页数:6
最新文档
外二科抗菌药物管理目标完成情况监测
2019-2020年九年级数学上册22圆下章末复习导学案新版北京课改版
【优质】201X年小学体育教师述职报告word版本 (2页)
浅谈如何优化初中英语课堂教学模式
内蒙古太阳能沙漠并网电站
镇领导在新天大王庄小学奠基仪式上的讲话
最新申论80分模板(醒的天已阅)
压力可以控制基因的活性
2018年三年级语文上册 第二单元 4 古诗三首教案3 新人教版
任务书