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

👉个人主页highman110

👉作者简介:一名硬件工程师持续学习,不断记录,保持思考,输出干货内容
参考书籍:《Memory Systems - Cache, DRAM, Disk》

目录

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

[Rambus DRAM(RDRAM,Concurrent RDRAM,Direct RDRAM)](#Rambus DRAM(RDRAM,Concurrent RDRAM,Direct RDRAM))

RDRAM

[Concurrent RDRAM](#Concurrent RDRAM)

[Direct RDRAM](#Direct RDRAM)

[DDR DRAM](#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的读操作时序。

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

下篇详细介绍。

总结

下篇详细介绍。

相关推荐
帅次1 小时前
系统分析师-计算机系统-输入输出系统
人工智能·分布式·深度学习·神经网络·架构·系统架构·硬件架构
森焱森5 小时前
一文理解锂电池充电、过放修复与电量测量:从原理到实战
c语言·单片机·架构
帅次6 小时前
系统分析师-计算机系统-计算机系统概述&存储系统
系统架构·硬件架构·软件构建·个人开发·代码规范·设计规范
蝸牛ちゃん6 小时前
系统性能评估方法深度解析:从经典到现代
架构·系统架构·软考高级·性能·性能评估
小何好运暴富开心幸福6 小时前
分层架构的C++高并发内存池性能优化
c++·性能优化·架构
喵叔哟7 小时前
27.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--币种服务(一)
微服务·架构·.net
CodeWithMe8 小时前
【Note】《Linux 内核深度解析:基于 ARM64 架构的 Linux 4.x 内核》 第三章:内存管理(Memory Management)
linux·架构
森焱森21 小时前
单片机中 main() 函数无 while 循环的后果及应对策略
c语言·单片机·算法·架构·无人机
小庞在加油1 天前
Apollo源码架构解析---附C++代码设计示例
开发语言·c++·架构·自动驾驶·apollo
森焱森1 天前
60 美元玩转 Li-Fi —— 开源 OpenVLC 平台入门(附 BeagleBone Black 驱动简单解析)
c语言·单片机·算法·架构·开源