1 ZYNQ 7000系列 AMP机制
- AMP 的运行模式基本没有开销问题,在运行裸机应用程序时,甚至完全没有开销,比较适合实时性要求较高的应用,但需要精心定制的软件设计来实现处理器资源共享和处理器间通信。如电力控制保护设备通常需要与人机接口实现复杂的通信和高实时性的计算能力,一般采用 AMP 运行模式,一个处理器运行Linux 操作系统,另一个处理器运行裸机应用程序,从而兼顾了电力系统控制设备需要的复杂功能和实时性。
- ZYNQ-7000 SOC 提供了两个 Cortex-A9 处理器,这两个处理器在 AMP 的机制下,可以运行各自独立的操作系统或者裸机应用程序。
- ZYNQ SOC 提供的两个 Cortex-A9 处理器,都具有各自私有的资源,同时也有一些共享的资源。
私有资源有 L1 指令缓存、L1 数据缓存、私有定时器等。 共享的资源有 L2 Cache、DDR 存储器、OCM(On ChipMemory)和其它共享外设等。在 AMP 运行模式下,这两个处理器彼此隔离、分别运行。但在访问共享资源或者外设时,要注意避免同时访问,否则会出现冲突,导致程序在运行时出现问题。- ZYNQ 中的 OCM 包括 256KB 的 RAM 和 128KB 的 ROM(BootRom),其中可以被两个 CPU 进行改写的,就是 256KB 的 RAM。OCM 分为 4 个 64KB RAM,存储空间较小,而外置的 DDR3 存储器一般存储空间较大。当两个 CPU 需要进行大量数据交互的时候,可以使用 DDR3 存储器作为共享内存;而当交互的数据较少时,既可以使用 OCM 作为共享内存,也可以使用 DDR3 存储器作为共享内存。值得一提的是,当交互的数据量较少时,OCM 作为共享内存有着独特的优势,与 DDR 内存相比,OCM 提供了非常高的性能和来自两个处理器的低延迟访问。
- cpu0
- cpu1