什么是KeyStone架构?
上一篇文章讲到,CPU子系统中的XMC扩展内存控制器,通过256位宽连接到L2内存控制器,还有一部分连出CPU直接连接到MSMC(多核共享内存控制器)有4M RAM通过它直接连接到DDR3上,这样带来的好处是CPU在访问DDR时不需要经过总线,解决了多核在访问外部内存时的冲突问题。KeyStone架构的核心就是MSMC(多核共享内存控制器),每一个核心都通过256位宽的总线与MSMC相连接,这样就加大提高了内存访问的性能。
多核导航器(Multicore Navigator):解决多核访问外设时的冲突问题。
它包含两部分:
1、队列管理器(Queue Manager)
2、包DMA(Packet DMA)
EMIF只支持异步外设,如:ASRAM、nor flash、nand flash不支持同步外设。
下面详细介绍一下多核共享内存控制器
它有几个端口,一个主端口一个从端口,从端口256位宽与每个dsp核心都相连,同时与总线相连。
2个主端口,一个连接到DDR3256位宽,还有一个连接到了总线上256位宽。
地址线36位,物理地址。
内存保护核扩展单元(MPAX)将32位逻辑地址映射位36位物理空间。
内地地址映射可配,通过MPAX模块
逻辑地址32b空间=》物理地址空间36b
在多核开发中,可以将相同的逻辑地址映射到不同的物理空间这样可以R让每个核心都访问相同的逻辑地址实际访问不同的物理地址,这样需要共享的代码就映射到同一个地址空间不需要共享的代码就映射到不同的地址空间如堆栈。可以简化程序开发。
多核导航器:
方便多核的数据交换。