0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

内存架构怎么影响存储器系统的性能

电子设计 来源:工程师曾玲 2019-09-14 17:05 次阅读

自20世纪90年代中期以来,内存技术大多根据其运行速度来命名。 PC100 SDRAM设备将以100MHz数据速率运行,PC133以133MHz数据速率运行,依此类推。虽然这种品牌推广惯例的变化随着时间的推移而发生变化,但大多数都让潜在买家了解存储设备的运行速度。

简单地说,大多数存储器技术,实际上是当今所有的主流存储器技术,已经为自己打上了峰值数据速率,这一直是并将继续成为计算时的最重要因素之一。记忆系统的性能。然而,在真实系统中运行的存储器设备在100%的时间内不以其峰值数据速率运行。

从写入切换到读取,在特定时间访问某些地址以及刷新数据都需要在数据总线上保持一定的不活动状态,从而无法充分利用内存通道。另外,宽并行总线和DRAM核心预取都经常导致不必要的大数据访问。

内存控制器在给定时间内可以访问的可用数据量称为有效数据速率,并且高度依赖于系统的特定应用程序。有效数据速率随时间变化,通常远低于峰值数据速率。在某些系统中,有效数据速率可降至峰值数据速率的10%以下。

通常,这些系统可以从内存技术的变化中受益,从而产生更高的有效数据速率。在CPU产品领域也存在类似的现象,近年来AMD和Transmeta等公司表明,在测量基于CPU的系统的性能时,时钟频率并不是唯一重要的因素。

内存技术也已经成熟到高峰和有效数据速率可能与之前不匹配的程度。虽然峰值数据速率仍然是存储器技术的最重要参数之一,但是其他架构参数可以极大地影响存储器系统的性能。

影响有效数据速率的参数

有几类参数影响有效数据速率,其中一类会导致不活动时间段到数据总线上。在这个类中的参数中,总线周转,行周期时间,CAS延迟和RAS到CAS延迟(tRCD)导致许多系统架构师的大多数延迟问题。

总线周转本身会在数据通道上造成很长时间的不活动。以GDDR3系统为例,该系统不断将数据写入存储设备的打开页面。在此期间,存储系统的有效数据速率与其峰值数据速率相匹配。

但是,现在假设在100个时钟周期内,存储器控制器从读取切换到写入。由于此开关的惩罚是六个周期,因此有效数据速率降至峰值数据速率的94%。如果在这100个周期内,存储器控制器将总线从写入切换回读取,则会丢失更多周期。

这种内存技术在从写入切换到读取时需要15个空闲周期,进一步将有效数据速率降低到峰值数据速率的79%。表1显示了几种高性能存储器技术的相同计算结果。

内存架构怎么影响存储器系统的性能


表1 - 两个总线转向的有效和峰值数据速率-counds每100个周期

显然,所有的内存技术都不是平等的。需要许多总线周转的系统设计人员可以从选择XDR,RDRAM或DDR2等更高效的技术中受益。另一方面,如果系统可以将事务分组为非常长的写入和读取序列,则总线转向对有效带宽的影响最小。但是,其他延迟增加现象(如银行冲突)可能会通过降低有效带宽对其性能产生负面影响。

DRAM技术都要求银行的页面或行在访问之前打开。一旦打开,在经过称为行周期时间(tRC)的最小时间段之前,不能打开同一存储体中的不同页面。对开放银行的不同页面的存储器访问被称为页面未命中,并且可能导致与tRC间隔的任何未满足部分相关联的延迟惩罚。

对于尚未开放足够周期以满足tRC间隔的银行的页面未命中被称为银行冲突。虽然tRC确定了银行冲突延迟的大小,但是在给定DRAM中可用的银行将直接影响银行冲突发生的频率。

大多数存储器技术有四个或八个存储体,并且在几十个周期内具有tRC值。在随机工作负载下,具有八个存储区核心的存储库冲突将比具有四个存储区核心的存储体冲突更少。虽然tRC和银行计数之间的相互作用很复杂,但它们的累积影响可以通过多种方式量化。

内存读取事务

考虑三种简单的内存读取事务。在第一种情况下,内存控制器发出每个事务,以便它与先前事务产生存储冲突。控制器必须在打开页面和打开后续页面之间等待一段时间tRC,从而增加与循环页面相关的最大延迟时间。在这种情况下,有效数据速率很大程度上与I/O无关,主要受DRAM核心电路的限制。在当今最高端的内存技术中,最大银行冲突率将有效带宽降低到峰值的20%到30%之间。

在第二种情况下,每个事务都以一个随机生成的地址为目标。在这里,遇到银行冲突的可能性取决于许多因素,包括tRC与存储器核心中存储体数量的相互作用。 tRC值越小,开放页面越早循环,导致银行冲突处罚越低。此外,存储器技术具有的存储体越多,存储体随机地址访问冲突的可能性就越低。

在第三种情况下,每个事务都是页面命中,在打开的页面中寻址各种列地址。控制器不需要访问封闭页面,允许100%的总线利用率,从而实现有效数据速率等于峰值数据速率的理想情况。

虽然第一和第三种情况涉及相当简单的计算,但随机情况受到DRAM或存储器接口中未特别包含的其他功能的影响。内存控制器仲裁和排队可以大大提高银行冲突率,因为可以发出更多可能的非冲突事务而不是那些导致银行冲突的事务。

但是,添加内存队列深度并不一定会增加两种不同内存技术之间的相对有效数据速率。例如,即使增加了内存控制器队列深度,XDR的有效数据速率也比GDDR3高20%。这种差异的存在主要是由于XDR的银行数量较多且tRC值较低。通常,较短的tRC间隔,较高的存储体计数和较大的控制器队列会导致较高的有效带宽。

许多限制效率的现象实际上是与行访问粒度相关的问题。 tRC约束基本上要求内存控制器从新打开的行访问一定数量的数据,以确保数据管道保持满员。实质上,为了保持数据总线不间断运行,打开一行后必须读取最少量的数据,即使不需要额外的数据。

降低内存系统有效带宽的另一类主要特性属于列访问粒度类别,它决定了每个单独的读写操作必须传输多少数据。相反,行访问粒度决定了每行激活需要多少单独的读写操作(通常称为每个RAS的CAS操作)。

列访问粒度也可能对有效数据速率产生很大的影响,但影响较小。由于它规定了单次读取或写入中传输的最小数据量,因此列访问粒度对通常一次只需要少量数据的系统造成问题。例如,一个16字节访问粒度的系统,每两行需要8个字节,必须读取总共32个字节才能访问这两个位置。

由于只需要32个字节中的16个,系统经历了有效数据速率降低,相当于其峰值数据速率的50%。两个体系结构参数决定了内存系统的访问粒度:总线宽度和突发长度。

总线宽度是指连接在内存控制器和内存设备之间的数据跟踪总数。它设置了最小访问粒度,因为每个数据跟踪必须为给定的内存事务携带至少一位数据。反过来,突发长度指定每个通道必须为给定事务携带的位数。每个事务每个数据跟踪发送一位数据的存储器技术据说具有一个突发长度。总列访问粒度很简单:

列访问粒度=总线宽度x突发长度

许多系统架构师仅通过添加来增加内存系统的可用带宽更多的DRAM设备和增加内存总线的宽度。毕竟,如果400MHz数据速率的四个链路为您提供1.6GHz的总峰值带宽,则八个链路将为您提供3.2GHz。添加DRAM设备,电路板上的更多迹线以及ASIC上的相应引脚使总聚合峰值带宽加倍。

表2显示了使用不同内存技术和总线宽度可实现的总聚合峰值带宽以及每种配置所需的总控制器引脚数。

内存架构怎么影响存储器系统的性能

表2 各种存储器技术和总线宽度的总峰值带宽以及所需的控制器引脚数

然而,此增益是有代价的。首先,主要关注挤出每一盎司峰值带宽的架构师已经达到了他们在物理上设计其内存总线的宽度的可行最大值。找到具有256或甚至512位宽存储器总线的图形控制器并不罕见,这些存储器总线需要1,000个或更多控制器引脚。

封装设计人员,ASIC布局规划人员和电路板设计人员无法找到要布线的区域这些信号使用廉价的,商业上可行的手段。仅增加总线宽度以获得更高的峰值数据速率的另一个问题导致从列访问粒度限制减少的有效带宽。

假设特定存储器技术的突发长度等于1,则对于单个存储器事务,512位宽系统的访问粒度为512位(或64字节)。如果控制器只需要较小块的数据,则会浪费剩余数据,从而降低系统的有效数据速率。

例如,一个控制器只需要来自前面提到的内存系统的32字节数据将浪费剩余的32个字节,导致有效数据速率等于峰值数据速率的50%。请记住,这些计算都假定突发长度为1。随着存储器接口数据速率的增加趋势,大多数新技术的最小突发长度大于1。

核心预取

称为核心预取的功能主要负责最小突发长度的增加。 DRAM核心电路无法跟上I/O电路速度的急剧增加。由于无法再从内核串行获取数据以满足控制器请求,因此内核通常会为I/O提供远大于DRAM总线宽度的数据集。

本质上,核心向接口电路传输足够的数据以使其保持足够长的时间以使核心为下一个操作做好准备。例如,假设DRAM核心只能每纳秒响应一次操作。但是,该接口可以维持每纳秒两位的数据速率。

DRAM内核不是浪费接口的一半功能,而是每次操作取两个位而不是一个。在接口传输数据之后,核心已准备好响应下一个请求而没有任何延迟。添加的核心预取导致最小突发长度增加2,并将直接影响列访问粒度。

对于添加到总线宽度的每个附加信号,存储器接口将传输另外两位数据。因此,最小突发长度为2的512位宽存储器系统的访问粒度等于1,024位(128字节)。许多系统对最小访问粒度问题不敏感,因为它们以非常大的块访问数据。但是,有些系统依靠内存系统来提供小型数据单元,并从使用更窄,更高效的内存技术中受益。

内存架构怎么影响存储器系统的性能


表3 当今主流内存技术的单个内存通道的访问粒度和总线宽度值

结论

有效数据速率变得越来越重要存储器技术提高其峰值数据速率。在做出内存决策时,设计人员必须深入研究已发布的内存规范,并了解特定技术的功能如何与手头的应用程序进行交互。

内存系统设计人员必须超越峰值数据速率规范,就像CPU设计人员逐渐停止使用千兆赫作为唯一的性能指标一样。虽然峰值数据速率在内存接口方面仍然是最重要规范的标题,但有效数据速率开始为系统设计人员和架构师提供空间。明天产品的性能将在很大程度上取决于其内存系统的有效利用。

Victor Echevarria是Rambus公司内存接口部的RDRAM产品经理。他于2002年加入Rambus担任系统工程师。在加入Rambus之前,Victor与安捷伦科技公司合作,后者开发了用于高速数字采样示波器的软件。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7139

    浏览量

    161961
  • 内存
    +关注

    关注

    8

    文章

    2762

    浏览量

    72742
收藏 人收藏

    评论

    相关推荐

    存储器和总线架构分析:stm32F429-系统架构

    1. 存储器和总线架构 1.1 系统架构 I总线: 此总线用于将 Cortex™-M4F 内核的指令总线连接到总线矩阵。内核通过此总线获取指令。 此总线访问的对象是包含代码的
    的头像 发表于 02-15 06:16 3446次阅读
    <b class='flag-5'>存储器</b>和总线<b class='flag-5'>架构</b>分析:stm32F429-<b class='flag-5'>系统</b><b class='flag-5'>架构</b>

    KeyStone存储器架构

    ,与芯片系统实现互通互连。外部存储器始终被看作是 SL3 存储器,并可在 L1 和 L2 中缓存。接下来的我们将探讨在KeyStone 架构中实现的各种
    发表于 08-13 15:45

    寄存内存内存储器)与外设寄存

    寄存:指的是CPU内核里的寄存,如r0,r1等内存内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与
    发表于 03-11 20:11

    相变存储器(PCM) :新的存储器技术创建 新的存储器使用模式

    系统设计存在设计基于闪存的可靠的嵌入式和存储系统时仍然面对重大挑战。随着每代新产品的出现,目前存储器技术要求尺寸越来越小,但耑要较大系统级变化来维持
    发表于 05-17 09:45

    汽车系统非易失性存储器的选择

    汽车系统的设计变得越来越复杂,因为要不断的加入新的功能,如高级驾驶辅助,图形仪表,车身控制和车辆信息娱乐系统。为了确保可靠、安全的操作,每个子系统均需要使用特定的非易失性存储器,以便在
    发表于 07-23 06:15

    影响存储器访问性能的因素有哪些?

    影响存储器访问性能的因素有哪些?DSP核访问内部存储器和外部DDR存储器的时延有什么不同?
    发表于 04-19 08:32

    存储器和总线架构

    1.存储器和总线架构1.1系统架构图1I总线:此总线用于将 Cortex™-M4F 内核的指令总线连接到总线矩阵。内核通过此总线获取指令。此总线访问的对象是包含代码的
    发表于 08-05 07:41

    集成铁电存储器的MCU有何作用

    的写入次数、并为开发人员提供了一个全新的灵活度(允许其通过软件变更来完成数据内存与程序内存的分区)。铁电存储器相比SRAM、FLASH和EEPROM优点多多:非易失性,写入速度快,无限次写入,最关键是
    发表于 11-10 08:28

    存储器映射与寄存映射的原理分别是什么

    【嵌入式系统存储器映射与寄存映射原理一、存储器映射图1 存储器映射存储器在产家制作完成后是一
    发表于 12-20 08:17

    ARM系统内存管理单元架构规范SMMU架构2.0版

    ARM系统MMU(SMMU)体系结构为存储器管理单元(MMU)实施提供了灵活的实施框架,具有多个实施定义的选项。 该体系结构可用于系统级的MMU。 它基于转换表中保存的地址映射和内存
    发表于 08-12 06:25

    STM32F7系统架构存储器映射

    STM32 F7 概述• STM32总线架构存储器映射• 总线架构存储器映射• Cache• STM32F7性能• Boot模式• 片
    发表于 09-08 06:53

    STM32F2的存储器和总线架构

    系统架构  多层AHB总线矩阵  存储空间  存储器映射  片上SRAM  位带操作  片上闪存  自适应闪存加速(STM3
    发表于 09-13 06:20

    内存储器的分类

    内存储器包括寄存器、高速缓冲存储器(Cache)和主存储器。寄存器在CPU芯片的内部,高速缓冲存储器也制作在CPU芯片内,而主存储器由插在主
    的头像 发表于 01-07 16:54 3.3w次阅读

    单片机的片内存储器和片外存储器到底有什么区别

    单片机的分为数据存储器和程序存储器。单片机内部的存储器称为片内存储器,片外扩展的存储器成为片外存储器
    发表于 08-15 17:32 3次下载
    单片机的片<b class='flag-5'>内存储器</b>和片外<b class='flag-5'>存储器</b>到底有什么区别

    内存储器和外存储器的分类与区别

    内存又称为内存储器,通常也泛称为主存储器,是计算机中的主要部件,它是相对于外存而言的。
    发表于 05-26 10:33 3.9w次阅读