KeyStone I 培训 | 关于 C66x CorePac 和内存子系统

1、封面

 欢迎参加 KeyStone 关于 C66x CorePac 和内存子系统的培训。

2、导览

本次培训的议程包括 :

  • CorePac 和内存系统概述
  • 64x Plus 设备和 C66x 设备之间的内存架构变化
  • 多核共享内存控制器,也被称为 MSMC
  • 内存保护和地址扩展,也被称为 MPAX

我们还将介绍扩展的内存控制器预设器,在培训的最后,我们将看一下内存的性能数字。

 3、CorePac和内存概述

让我们从 CorePac 和存储器的概述开始。在下一张幻灯片中,你看到的是 KeyStone 设备的高层框图。我们将主要关注 CorePac 和多核共享内存控制器。每个 CorePac 都有一个专用的一级程序存储器,称为 L1P,一级数据存储器,称为 L1D,二级存储器,称为 L2。

 3.1 CorePac&Memory Subsystem

我们先来谈谈一级内存。

  • 我们每个核心有 32 千字节的 L1P,每个核心有 32 千字节的 L1D。
  • L1P 和 L1D 都可以被配置为高速缓存或 RAM。
  • 我们还支持 L1P 内存的错误检测和 L1P 和 L1D内存的内存保护。

现在,让我们看看第二级内存。

  • 根据你所选择的 KeyStone 设备,你可以在每个核心拥有 512KB 到一兆字节的本地二级内存。
  • 二级存储器可以被配置为 RAM 或高速缓存,各种高速缓存的大小是可能的,二级存储器支持错误检测和纠正,也支持存储器保护。
  • 除了每个内核的本地存储器外,多共享存储器控制器内还有一个专用的共享内部存储器。这被称为 MSMC SRAM。根据你所选择的 KeyStone 设备, MSMC 存储器的范围从 2 兆字节到 4 兆字节。这个内存对所有的内核都是可用的,可以用于程序或数据。 MSMC 存储器还支持存储器保护和错误检测与纠正。

3.1.1 CorePac&Memory Subsystem - Memory Expansion

该幻灯片显示了多核共享内存控制器和 DDR3 EMIF 接口的一些亮点。

 
每个 CorePac 都通过CorePac 的 XMC 端口直接连接到 MSMC 接口。 MSMC 接口直接连接到 DDR3 EMIF 接口。所以你可以看到, MSMC 接口为位于 MSMC 控制器内的共享内部存储器和共享外部存储器(即DDR3 存储器)提供了一个共同的管理路径。因此,它在 DSP 内核和设备中的任何其他主控器之间进行仲裁。 MSMC 控制器支持内存保护和地址扩展。

让我们来看看 DDR3 外部存储器接口。我们支持一个 16 位,一个 32 位和一个 64 位模式。在 KeyStone 设备中,我们最多支持 8GB 的外部存储器。外部存储器还支持错误检测和纠正。EMIF-16 模块只在媒体应用设备的情况下支持。它支持三种模式:同步 RAM、 NAND 闪存和NOR 闪存。

3.2 KeyStone 的内存拓扑结构

​​​​​​​这张幻灯片显示了 KeyStone 的内存拓扑结构。

​​​​​​​

它基本上显示了设备中各种存储器系统的连接方式。你可以看到, MSMC 控制器通过 XMC 接口以 256 位宽的总线连接到每个 CorePac上。而且, MSMC 控制器也通过 256 位宽的总线连接到 TeraNet。在另一边, MSMC 控制器通过 256 位宽的总线连接到 DDR3 EMIF 接口。

正如你所看到的,一级和二级存储器支持各种缓存大小的设置。 L1P 和 L1D 可以配置从 0KB到 32KB 的任何缓存,如果是无线通信设备,二级存储器可以配置到 1 兆字节的缓存,如果是媒体应用设备,可以配置到 512KB 的缓存。

3.3 总结:特点

这张幻灯片展示了 KeyStone 内存架构的一些关键特征。更多的细节将在随后的幻灯片中介绍,但这张幻灯片,基本上只是强调了关键特征。

 

由于更快的内存控制器和更宽的总线,现在我们有更好的吞吐量到本地和共享的内部和外部存储器。例如, L2 内存控制器现在运行的时钟速度超过 1 速,而在以前的设备中,它是时钟速度超过 2 速。由于共享内部存储器的其他关键优势,它避免了关键的公共代码和数据的重复。

预取是添加到 CorePac 的一项新功能。它基本上有助于减少 DSP 在访问共享内部(即 MSMC存储器)或共享外部(即 DDR3 存储器)时的读取延迟。此外,你还可以改进写合并和优化突发大小,有助于减少对外部存储器的停顿。内存保护和地址扩展是由称为 MPAX 的单元提供的。因此,使用内存保护,它有助于保护共享的内部内存和共享的外部内存。

在以前的设备中,我们从未对外部内存提供过内存保护支持。但在 KeyStone 设备中,我们甚至对 DDR3 内存也支持内存保护。地址扩展为每个内核提供了一个虚拟地址空间,它将物理地址扩展到 36 位。因此,在 KeyStone 设备中,我们可以为多达八千兆字节的外部存储器寻址。

4、结构变化

下一节将介绍从C64x+ Plus核心到C66x CorePac的架构变化。

4.1 C64x+到 C66x CorePac 之间的重要变化(1/3)

这张幻灯片基本上强调了C64x+到 C66x CorePac 之间的重要变化。

  

它同时支持定点和浮点。在L1D 和 L1P以及L2 内存控制器的变化方面,已经取消了零RAM区、UMAP区,所以没有相应的 MPPA 寄存器。

  • 就 L1D 内存控制器而言, CorePac 中的零区被移除。所以相应的内存保护寄存器 L1DMPPA0-15 也被删除。
  • 就 L1P 内存控制器的变化而言,再一次,区域零被移除。这就取消了相应的MPPA 寄存器 L1PMPPA0-15。通过这样做,我们已经消除了时间关键的[INAUDIBLE]条件逻辑,这提高了一级存储器的吞吐量。
  • 在二级存储器控制器方面, UMAP1 端口被删除。因此,相应的 MPPA 寄存器, L2 MPPA 32 至 63 也被删除。所以在 CorePac 中,只有一个 UMAP 端口,即 UMAP0。

其他重要的变化是,大多数 L2 存储器控制器逻辑现在以时钟一速运行,提供更低的延迟和更高的吞吐量。在 C64x+数字信号处理器中,它是以 2 级时钟速度运行的,现在是 1 级时钟速度。

接下来,我们将看到在外部存储器控制器块方面的差异。在以前的 C64x+ DSP 中, EMC 同时处理 MDMA 和 SDMA 路径。但是在 CorePac 中, MDMA 路径从 EMC 中分离出来,更多的是被称为 S600 内存控制器的 XMC 上。所以现在 EMC 只处理 SDMA 路径。 XMC 接口通过一个叫做 MPAX 的块执行内存保护和地址扩展,并且还支持预取。

因此, XMC 上的一些重要变化是,数据从 128 位增加到 256 位,速度从 CorePac 的时钟超过3 倍增加到时钟超过 2 倍。因此,这都给共享存储器带来了更好的性能。 CorePac 通过 XMC接口与 MSMC 控制器相连。

4.2 C64x+到 C66x CorePac 之间的变化(2/3)

下一节将介绍从 C64x+内核到 C66x CorePac 的结构变化。

4.2.1 C66X Corepac

这里我们有新的 C66x 内核。

​​​​​​​ 

这张幻灯片显示了 CorePac 的最终图纸,只是为了强调--所以它显示了 CorePac 内部的各种内存控制器--L1P、 L1D、 L2、扩展内存控制器,也就是 XMC,以及外部内存控制器,也就是EMC。正如你所看到的,每个内存控制器都有各种块,用于带宽管理、内存保护和缓存控制。

然而, EMC 的目的是为了 SMGA 流

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值