当前位置: 首页 > news >正文

【DRAM存储器五】DRAM存储器的架构演进-part2

👉个人主页:highman110

👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 

参考书籍:《Memory Systems - Cache, DRAM, Disk》     

目录

以提升吞吐量为目标的接口变化

Rambus DRAM(RDRAM,Concurrent RDRAM,Direct RDRAM)

        RDRAM

        Concurrent RDRAM

        Direct RDRAM

DDR DRAM

以降低延时为目标的架构变化

总结


以提升吞吐量为目标的接口变化

Rambus DRAM(RDRAM,Concurrent RDRAM,Direct RDRAM)

        RDRAM

        以上章节描述的都是以提升吞吐量为目标的架构变化,本节的Rambus DRAM和下节的DDR DRAM则是通过接口变化来提升吞吐量。Rambus DRAM(RDRAM)和传统的主流DRAM都不太一样。它使用的是比传统设计窄得多的总线,并且至少在其刚诞生时,RDRAM的总线没有区分地址、控制、数据、片选信号。取而代之的是一组混合的总线:地址、控制、数据、片选信号都在一组走线上传输,只是传输的时机不同。它的总线宽度为1字节,速率为250MHz,使用时钟的双沿传输数据,从而使得理论带宽为500MB/s。总线上的传输会使用不同的请求/响应协议,这种传输的包类似于网络的请求/响应:首先发送一个包括所有地址(含行地址和列地址)的地址/控制包,然后传输数据包。不同的传输需要使用不同的时钟周期,具体取决于传输的类型、数据在颗粒内部的位置、每个channel的颗粒数量等。下图展示了一个典型的不确定延时的读请求。  

        Concurrent RDRAM

        由于RDRAM为单总线设计,并且未将多个功能分离,所以在一段时间内只能有一个传输请求,这限制了总线的并发性(指同时做多个事情的能力)。也是由于这个限制,RDRAM的原型设计没有很好地适配当时主流的PC市场,之后在20时机90年代中期,其接口被重新设计以支持更高的并发性,新接口称为Concurrent RDRAM。在该接口设计中,其的总线被拆分成地址段、控制段、数据段,与JEDEC式的DRAM结构类似。总线的数据段宽度仍然为1字节,但在此基础上添加了1位地址段和1位控制段。通过三段功能分离的总线,可以在总线上同时执行三个单独的操作。这样的分离的专用设计安排简化了事务调度,相应地提高了RDRAM的性能。注意到在这个时候,Rambus单个命令会使用4个时钟周期,这个时间被称为octcycle。Concurrent RDRAM在一个快速时钟的两个边沿上都会发送数据,同时使用一个数据和地址复用的、宽度为1字节的数据总线。下图为读操作的时序图: 

        Direct RDRAM

        由于1bit的地址位宽过于狭窄,Concurrent RDRAM设计的少数局限性之一是数据总线有时会携带一个简短的地址包,不过这个限制在被称为Direct RDRAM的最新设计中去除了。Direct  RDRAM继承在Concurrent RDRAM中划分总线的方式,并将数据段宽度增加到2字节,将地址段宽度增加到5位,将控制段增加到3位。像JEDEC式架构一样,这些段保持独立和专用,并且地址段和控制段的宽度已经足够,不需要数据段再发送除数据之外的其他信号,这样也使得数据吞吐量增加了。在后续的发展中,总线的工作速率也逐渐提升,后面超过了原始设计的两倍以上(500MHz的总线频率)。Direct RDRAM中的每个半行缓冲器会在相邻的bank之间共享,这意味着相邻bank不能被同时激活。这种架构与每个bank单独设计缓冲器的架构相比,会导致行缓冲器失去命中的概率上升,但是同时也会降低die面积。下图为读操作的时序图: 

DDR DRAM

        双倍数据率(Double data rate, DDR) SDRAM是现代JEDEC架构式DRAM的第一代设计。DDR通过在时钟的双边沿(升沿和下降沿)传输数据以达到相对于单边沿SDRAM的双倍速率带宽。DDR SDRAM在其他特性上与SDRAM都类似,使用相同的信号技术,使用相同的接口规范,以及相同的DIMM扇出方式。然而DDR SDRAM内部向存储阵列传输数据时,其读写位宽是SDRAM的两倍。下图为DDR DRAM的读操作时序。

以降低延时为目标的架构变化

        下篇详细介绍。 

总结

        下篇详细介绍。 

http://www.lryc.cn/news/174153.html

相关文章:

  • 分享一个基于uniapp+springboot技术开发的校园失物招领小程序(源码、lw、调试)
  • RabbitMQ工作模式——Routing路由模式
  • Python字典的增删改查以及嵌套
  • 【淘宝开店】新手入门开网店教程
  • 计网第五章(运输层)(五)(TCP拥塞控制)
  • windows/ubuntu怎么修改hosts文件
  • (日积月累版)大数据基础知识点1-关系型数据库
  • 【开心消消乐】python实现-附ChatGPT解析
  • springBoot源码汇总
  • 代码随想录二刷day39
  • Spring面试题7:面试官:Spring是如何进行异常处理的呢?
  • 华为云云耀云服务器L实例评测|搭建您的私人影院网站
  • Solidity 小白教程:22. Call
  • mySQL 安装
  • 涛然自得周刊(第 10 期):搬到海岛生活是一种什么体验
  • pycharm中恢复原始界面布局_常用快捷键_常用设置
  • docker(7):实战--安装nginx并实现反向代理
  • day-61 代码随想录算法训练营(19)一刷完结撒花
  • C#中对泛型集合元素使用List.Sort()方法排序
  • 【项目】在线音乐播放器测试报告
  • [C++ 网络协议] 多线程服务器端
  • 宝塔部署node后使用pm2管理上传文件路径失效问题
  • postman-pre-request-scripts使用
  • uniapp Echart X轴Y轴文字被遮挡怎么办,或未能铺满整个容器
  • 学习路之PHP--laravel DingoApi
  • 项目篇——java文档搜索引擎
  • 5.2 磁盘CRC32完整性检测
  • 企业内部安全与风控管理图解
  • vscode基于cmake安装opencv库
  • Web 器学习笔记(基础)