首页 > 其他分享 >LPDDR与DDR区别

LPDDR与DDR区别

时间:2024-02-23 09:33:49浏览次数:29  
标签:ECC 区别 DDR LPDDR4 LPDDR 数据位 预取

在介绍LPDDR与DDR的区别前,首先叙述二者的发展历史。

计算机的存储器分为两种:RAM和ROM。而RAM也分为两种:SRAM和DRAM。

随着对CPU主频提高和RAM容量增大的需求,DRAM不断发展,从SDRAM到DDR。DDR一直更新换代,电压更低、速率翻倍、容量翻倍,最新已到DDR5。

DDR适用于高性能计算设备等领域,但在移动设备和嵌入式系统等需要长时间使用的场景下,需要更低功耗的DDR,LPDDR应运而生。

LPDDR拥有比同代DDR内存更低的功耗和更小的体积。LPDDR也分为MDDR、LPDDR2、LPDDR3、LPDDR4、LPDDR4X、LPDDR5和LPDDR5X,和DDR一样,数据处理速度和节能性随着代数的增加而提高。

上面是LPDDR与DDR应用场景的区别,下面主要介绍技术实现上的区别。

LPDDR作为low power版本的DDR,最主要的区别为电压低,这是实现低功耗的主要手段。但是相同制造工艺,芯片供电电压越低,能达到工作频率越低。为了保障工作速率,下面几方面就是LPDDR做的取舍。

1、带宽。标准中的带宽是单个DQ pin的带宽,但LPDDR通常比DDR的数据位宽小,所以实际的数据吞吐率并没有更高。以LPDDR4与DDR4对比为例:LPDDR4具有两个16位通道,从而使每个DIMM的总线总长度为32位。相比之下,DDR4每个DIMM具有64位通道。

2、预取(prefetch)位数。DDR4的预取为8bit,而LPDDR4的预取为16bit。但LPDDR预取位数的提高也会导致在数据位宽相同且SOC的访问不够连续时,可能有更多的数据被浪费掉,导致带宽利用率的降低。

3、突发长度。LPDDR4还具有更灵活的突发长度,范围从16到32(256或512位,32或64字节)。而DDR4被限制为每个周期8个突发长度(128位或16字节)。

4、数据位宽配置。DDR的数据位宽可以灵活配置,在需要ECC的场景可以使用side-band ECC,例如72bit位宽(其中64bit为数据,8bit为ECC),而LPDDR位宽固定,为了在不浪费数据位宽的情况下加入ECC实现对DRAM中数据的保护,只能使用in-line ECC,对性能会造成明显的负面影响

标签:ECC,区别,DDR,LPDDR4,LPDDR,数据位,预取
From: https://www.cnblogs.com/yiliu666-oo/p/18028662

相关文章

  • C++ 第四节课 C和C++指针的区别 C的宏函数和C++内联函数的优缺点
    #include<iostream>//定义一个宏函数#defineADD(x,y)x+y;//宏函数具有速度快等特点但是写代码有些业务比较繁琐,所以C++中使用了内联函数优化//在定义函数前面添加一个inline把这个函数变成内联函数inlineintmax(intx,inty){returnx>y?x:y;}usi......
  • 深入理解C++中的堆与栈:内存管理的关键区别与实例解析
     概述:C++中,堆和栈是两种不同的内存分配方式。栈自动分配、释放内存,适用于短生命周期变量;堆需要手动管理,适用于动态分配内存,但需要显式释放以防内存泄漏。通过清晰的示例源代码,演示了它们在变量生命周期、访问方式等方面的区别。C++中的堆(heap)和栈(stack)是两种内存分配和管理方......
  • 使用delete和Vue.delete删除数组元素的区别
    JavaScript中的delete运算符可以删除对象的属性,但是它不适用于数组。如果你试图使用delete运算符删除数组中的元素,你会发现该元素的值变为undefined,而数组的长度并没有改变。Vue.js提供了一个名为Vue.delete的方法,它可以帮助我们在删除数组元素时触发响应式更新。与原生JavaScrip......
  • Vue中的mixins和extends是什么,有什么联系和区别?
    在Vue.js中,mixin和extends都是用来处理组件复用和组件之间共享逻辑的方式,但它们有不同的特点和应用场景。Mixin(混入)Mixin是一种可以包含可复用Vue组件选项的对象。通过使用mixin,我们可以将一些公共的选项和逻辑提取出来,然后混入到多个组件中。这样做可以有效地避免重复......
  • Jquery中offset和position的区别
    一、Jquery中offset() 获取匹配元素在当前视口的相对偏移。总是计算相对于文档的位置,无论元素的父元素或祖先元素的position属性是什么。返回的对象包含两个整形属性:top和left。此方法只对可见元素有效。 例如:二、Jquery中position() 获取匹配元素相对父元素的偏移......
  • vue中filters和computed有什么区别
    在Vue.js中,filters和computed都是用来处理模板中的数据的方式,但它们有不同的应用场景和使用方式。filters是一种简单的函数,可以在模板中对数据进行格式化。它们可以用于在显示数据之前对其进行处理,例如对日期格式进行转换、将文本转换为大写或小写字母等。filters没有缓存......
  • X86架构与Arm架构区别
    X86架构和ARM架构是主流的两种CPU架构,X86架构的CPU是PC服务器行业的老大,ARM架构的CPU则是移动端的老大。X86架构和arm架构实际上就是CISC与RISC之间的区别,很多用户不理解它们两个之间到底有哪些区别,实际就是它们的领域不太相同,然后追求也不相同。X86架构和Arm架构区别1、追求......
  • C++ 第一节课 名字空间 ,输入输出函数,和 C 语言的区别
    #include<iostream>//#include头文件,C++标准库的头文件都不带.h(.h是C库头文件添加的)#include<cstdio>#include<cstring>usingnamespacestd;//namespace命名空间为了防止变量名字冲突//命名空间中定义自己的变量或函数或类,都是独立的//所有的命名空......
  • encodeURI和encodeURIComponent的区别?
    在JavaScript中,encodeURI()和encodeURIComponent()是用于对URI进行编码的两个方法,它们可以将URI中的特殊字符进行转义,以便在URL中安全地传输和显示。encodeURI()方法用于对整个URI进行编码,除了常见的字符(字母、数字、-、_、.、!、~、*、'、(、))外,不会对其他字符......
  • 静态库和动态库的区别
    静态库是在编译阶段和可执行文件打包链接在一起的,它可以看成是中间文件的简单集合,保留了符号,只有在静态链接的过程中,才会真正地做地址分配和重定位。而动态库在编译阶段,它的代码并不会被合并进可执行文件中,在运行时才会被加载进内存,它被加载进内存的地址是不固定的,所以每次加载完......