探索内存架构:处理性能的基石

技术分类: 微处理器与DSP  | 2007-10-08
Robert Cravotta,EDN技术编辑


  设计人员可根据已知应用的约束条件调整处理器,这些处理器仅包括应用所需的随机和非易失性内存量。TCM的大小和参数、缓存或特殊内存都是针对应用而设计的。针对较宽应用的处理器通常实施一个普通的内存架构,这些架构包括应用的最大资源要求,以提供较少资源的各种设备来满足较低的成本要求。对于采用类似处理器核架构的系统,内存子系统成为更高级的驱动器,以提供系统可交付的处理性能、功耗及价格(参见附文2“多种选择”)。

  内存控制器对所服务的内存模块的实现进行抽象处理,使其成为对处理器系统的数据管道。它们包含读取内存模块所必须的逻辑,根据所服务内存的类型,还包括写入、刷新、测试与校正错误内存等。对于片上内存,内存控制器能够显示公司的专有发明,它的处理器设备不同于竞争者的类似设备。结果,多数的处理器厂商不愿过于详细地讨论其内存控制器。他们指出了一种用于内存控制器的技术,包括使用宽数据总线,多路复用或交错式存取内存库、缓冲、流水线、交易记录以及专门和不确定的存取模式等。

  除了实现的内存的特性外,影响内存控制器设计和效率的系统级因素还包括物理寻址如何映射到内部演示内存系统上,寻址模式的类
型(如突发、随机与并行存取模式)、混合读写、未使用的内存如何进入低功耗模式。其主要的使用模型通常确定了内存控制器的架构,以使图形或多媒体控制器可优化进行序列存取,而嵌入式通讯系统的内存控制器可在较大的内存范围内优化随机存取。对于有系统级可靠性要求的嵌入式内存,针对额外的复杂性,内存控制器可提供ECC(错误纠正代码)保护。

  内存控制器的流量模式在单核处理器系统与多核处理系统之间有很大区别。单核系统的内存处理器可使用一个数据流,但在多核心系统中的共享内存,内存控制器需要有处理多个数据流及随机流量的能力。对于多核设计,内存架构必须支持快速及有效的信息传递,以及处理器间的数据共享。尽管不同的方法可实现这些目标,但没有单一配置对所有类型的通信都有效。快速的点对点通道及队列,对交换短小且重要的信息非常重要,然而共享内存对于共享较大的数据结构更为有益。当使用共享内存时,用户需要对同步和内存管理的编程支持。

  随着越来越多的嵌入式系统组合到多内核作为设计的一部分,特别的异构内核,开发工具的发展会更好地协助开发人员从空间和时间上安置代码和数据,来实现更好的延迟容差,并使复杂性越来越高的设计发挥出最佳性能。开发工具必须可协助开发人员更好地了解系统的全局行为。并将该行为与系统中可用的内存子系统进行匹配。否则,内存和芯片设计人员必须继续将更复杂的控制算法组合到内存控制器中,以明确地补偿软件设计人员和开发工具对内存系统的行为缺少可视性的缺点。

参考文献
1. Schuchmann, David, “Tuning an Application to Prevent M1 Memory Contention,” Application Note AN3076, Freescale Semiconductor Inc, May 2006.
2. “How to Optimize SOC Performance Through Memory Tuning,” White Paper, Tensilica.
 


  附文1:方便使用

  编程的简易性对软件开发人员来说是一种十分重要的特性。可隐藏内存体系的平坦的地址空间,便于开发人员进行编程。Microchip Technology数字信号控制器部门的技术人员Brian Boles 说,“一般来讲,将应用针对通用的内存架构而设计编译器比较容易些。”要让编译器最佳地将代码和数据分配到专用的内存结构,而对应用代码的全局的动态特性没有可视性是比较困难的。

  对于操作系统的复杂应用,如Linux,内存架构需要支持虚拟寻址。然而,使用大型操作系统满足上市时间表压力的开发人员来说,可能会失去对如何分隔软件利用片上资源来节能和节省成本的深入考虑。冲突的某些问题是权衡与确定有多少片上内存需要操作系统通过片上内存运行,以及这种方法留给应用的内存数量。“到目前为止,通用操作系统没有什么虚假的连接规定完整的物理到内存系统的映射,促进基础内存系统最佳使用。”Intel嵌入式与通讯集团营销经理Phil Ames说。“然而,在嵌入式设计中采用手动调整软件,使内存系统得到最佳使用是十分普遍的。”

  管理各种不同类别的内存需要专门的软件。例如,小容量NAND闪存(528 字节/每页)与大容量 NAND 闪存(2112 字节/每页)通常需要不同的闪存管理软件。一个解决这种情况的方法是将软件设计成模块化嵌入层中,以使软件开发人员在必须修改时,尽量减少重写量。Toshiba内存产品集团的技术人员Doug Wong说:“NAND 闪存为最早的商品化内存,将重要的智能特性加入内存设备中,以使其更易使用。”Toshiba的LBA-NAND 与兼容eMMC的嵌入式NAND 中都含有可执行NAND管理功能的内置控制器,如模块管理、损耗均衡、及逻辑到物理模块的转换及自动错误校正等。这种方法明显地降低了系统架构师或软件工程师在对FFS(闪存文件系统)或FTL(闪存转换层)管理NAND闪存设备的负担。
0
0
(请您对文章做出评价)
1】【2】【3】【4
加载中

对文章的评论

更多评论

剩余字数:  

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销

  • 博客推荐

  • 论坛推荐

  • 在线研讨会