【Zynq UltraScale+ MPSoC解密学习9】Zynq UltraScale+的地址映射

目录

一、基本介绍

1.1 全局地址映射

1.1.1 32bit(4GB)地址映射

1.1.2 36bit(64GB)地址映射

1.1.3 40bit(1TB)地址映射

1.1.4 系统地址映射互联

二、系统地址寄存器概述

2.1 系统层级控制寄存器(SLCR寄存器)

2.2 私有CPU寄存器

2.3 PS I/O外设寄存器

2.4 PS系统寄存器

三、详细参考


1、基本介绍

Zynq®UltraScale+ MPSoC可以支持最多1TB物理地址空间的单个地址映射配置。Arm v8-A架构允许通过软件来配置物理地址。

1.1 全局地址映射

全局地址映射由多个包含的地址映射组成,具体取决于master接口的地址位宽。Zynq UltraScale+ MPSoC地址映射为40位(物理地址空间最大为40位)。

1.1.1 32bit(4GB)地址映射

我们之前提到,A53也兼容32位,那么为了保持和32位软件的兼容性,低4GB的地址映射为所有设备提供了接口。所有外设地址空间都分配在较低的4GB中,而且是固定的地址映射。

1.1.2 36bit(64GB)地址映射

36位地址映射是32位地址映射的扩展集。超过4GB的地址空间分配给了PL、PCIe接口和DDR控制器。在这个区域中,DDR控制器占用了32GB。

1.1.3 40bit(1TB)地址映射

40位地址映射是36位地址映射的扩展集。超过64GB的地址空间分配给PL、PCIe接口和DDR控制器。

1.1.4 系统地址映射互联

全局地址映射表如下:
 
SMMU支持两个阶段的转换:
阶段1是从虚拟地址(VA)到中间物理地址(IPA),阶段2是从中间物理地址(IPA)到物理地址。PS主接口的虚拟化目标主要是阶段2的转换,例如hypervisor场景仅使用阶段2转换。PL可以使用阶段1和/或阶段2的转换。
对于阶段1的地址转换,ARM v8架构支持最多49bit的寻址;对于阶段2的地址转换,ARM v8架构则支持最多48bit的中间物理地址。
完整的系统地址映射如下图所示:
 


二、系统地址寄存器概述

2.1 系统层级控制寄存器(SLCR寄存器)

SLCR寄存器用来控制PS的行为,其中每个寄存器的详细描述可以参考UG1087。其中有一部分寄存器需要安全模式访问,所有的寄存器都需要通过XPPU进行访问,XPPU可以设置访问要求包括安全访问、读写访问和被master接口访问。SLCR寄存器及其基本地址的概要描述如下表所示:
 

2.2 私有CPU寄存器

RPUs和APUs都有单独私有的CPU寄存器用来配置中断控制器,寄存器地址如下表。APU_GIC在AXI互连上,可以通过使用FPD_XMPU保护单元来让APU专用。
 

2.3 PS I/O外设寄存器

I/O外设寄存器可以通过32bit的APB总线访问,低功耗域和全功耗域外设的基地址如以下两表:
 
 

2.4 PS系统寄存器

还有些寄存器之前没有覆盖的可见下表:
 

 


三、详细参考

Zynq UltraScale+的详细寄存器手册可以见UG1087。在Zynq 7000时,寄存器单独附在ug585文档最后,到了U+有了单独的文档,但是现在不是PDF格式的,而是网页版,还好搜索查找都比较方便,详见地址:https://www.xilinx.com/html_docs/registers/ug1087/ug1087-zynq-ultrascale-registers.html#_overview.html。有时想在没网络的情况下查看寄存器手册,那么可以把网页存下来离线查看。

本书是使用Zynq MPSoC的开发人员的实用指南,同样也是希望熟悉器件及其相关设计方法的技术人员的有效参考。 Zynq MPSoC(多处理器片上系统)是Xilinx公司推出的第二代SoC系列产品,集成了复杂的处理系统,包括ARM Cortex-A53应用程序处理器和ARM Cortex-R5实时处理器,以及FPGA可编程逻辑。 来自苏格兰斯特拉斯克莱德大学(University of Strathclyde)的Louise Crockett团队基于这一平台的软件和硬件结构,撰写了Exploring Zynq MPSoC: With PYNQ and Machine Learning Applications,综合且全面地介绍了软件堆栈、多处理器处理系统以及可编程硬件阵列等问题。 程序员可以学会如何使用简单的软件界面和框架来快速实现他们的机器学习算法,系统设计师可以利用它来获取系统的最高性能。 内容导读 器件的架构 与Zynq7000相比,Zynq MPSoC 进一步整合了处理器系统中可选择的处理器数量和性能,最多可配备四个ARM Cortex-A53处理器内核和两个ARM Cortex-R5实时处理器内核。此外,该架构进一步拓展了可编程逻辑门阵列中的DSP切片和分布式存储器的规模。在开发当今新兴的AI应用程序时,全新的MPSoC架构将实现繁琐的算术计算和数据移动的过程变得十分轻松有趣。 设计工具和方法 SoC系统将包括硬件设计和软件设计两个方面。硬件设计会映射到SoC设备上的FPGA逻辑资源,而软件则运行在一个或多个系统内部署的处理器上。在此设计流程中,硬件和软件开发可以在很大程度上独立进行,然后整合。工程师使用他们选择的工具生成硬件系统的元素,并使用Xilinx Vivado开发环境实现系统集成和实现目标设备。软件开发人员可以使用Xilinx软件开发工具包(SDK)进行开发。这是传统的软硬件协同设计方法。 Xilinx的SDx开发环境则是一种更高级的开发方式。在Xilinx SDx工具中可以完全使用软件代码对整个系统进行描述,然后对各种计算进行资源分配(在用户指导下)。这使得面向软件的软硬件协同设计已经发生了相当大的转变。本书的第4章中更详细地讨论了关于SDx设计方法。 更先进的应用实现 本书还讨论了Zynq上许多应用程序的实现,包括FINN-R开源框架的有效性神经网络的实现、基于Python的Zynq设备框架和机器学习应用程序。我们可以预见到一些基于Zynq的更为优秀的产品,包括高级驾驶员辅助系统(ADAS),计算机视觉,“大数据”分析等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值