高级计算机体系结构

发布时间 2023-11-10 05:06:05作者: 吴建明wujianming

高级计算机体系结构

芯片堆叠DRAM(3D-DRAM)

•叠片DRAM:

•顶层存储数据

•底层逻辑层存储各种控制、访问和接口电路

•魔法:堆叠表示高

密度,所以高的b/w插入器集成不那么昂贵。

•当前产品:

•混合存储立方体(微米)

•高带宽内存(三星、AMD和海力士)

•权衡:

•延迟与DRAM基本相同,但带宽高得多

•更贵,所以我们没有那么多内存…

•在GPU中:一直需要高带宽,但不需要那么多内存,所以它可以作为主内存。

•CPU怎么办:需要巨大的内存,因此成本至关重要…

 

新兴:混合内存立方体

 

混合存储立方体MCM

DRAM网络

•传统DRAM:星形拓扑

•HMC:网格等是可行的

混合存储立方体

 

•芯片堆栈中隔离的高速逻辑

•用于带宽的3D TSV

高带宽存储器(HBM)

 

•高速串行链路与2.5D硅插入器

•商业化,HBM2/HBM3…

[Shmuel Csaba Otto Traian]

未来:电阻存储器

•PCM:以材料的相位状态存储位

•备选方案:

•存储器,STT-MRAM

•不易挥发

•密集型:跨点架构(无访问设备)

•读取速度相对较快

•写入速度非常慢(功率也很高)

•书写耐力通常有限

•写入均衡(也用于闪存)

•避免冗余写入(读取、cmp、写入)

•修复单个位错误(写入、读取、cmp、修复)

•使用它来扩充/替换主存储器需要做大量工作

RAM

 

•RAM:大型存储阵列

•基本结构

•MxN位阵列(M个N位字)

•这里是4x2

•通过字线连接的字中的位

•位线连接到位

•操作

•地址解码为M个字线

•高字线→ 位线上的字

•位/位线连接→ 读/写

•访问延迟

•#端口*√#位

SRAM

•SRAM:静态RAM

•位作为交叉耦合反相器(CCI)

–每比特四个晶体管

–更多用于端口的晶体管

•“静态”是指

•连接到pwr/gnd的逆变器

+比特自然/持续“刷新”

•专为速度而设计

 

DRAM

 

•DRAM:动态RAM

•比特作为电容器

+作为端口的单个晶体管

+每个位/端口一个晶体管

•“动态”是指

•电容器未连接到pwr/gnd

–储存电荷随时间衰减

–必须明确刷新

•专为密度而设计

DRAM基础〔雅各布和王〕

•预充电和行访问

 

DRAM基础知识(续)。

•列访问

 

DRAM基础知识(续)。

•数据传输

 

DRAM操作I

•读取:类似于缓存读取

•第一阶段:将位线预充电至0.5V

•第二阶段:解码地址,启用字线

•电容器向上(向下)摆动位线电压

•感应放大器将摆动解释为1(0)

–破坏性读取:字位现已放电

•写入:类似于缓存写入

•第一阶段:解码地址,启用字线

•第二阶段:启用位线

•高位线为相应的电容器充电

–随着时间的推移,泄漏情况如何?

 

DRAM操作II

•解决方案:添加一组D锁存器(行缓冲区)

•阅读:两个步骤

•第一步:将所选单词读入行缓冲区

•步骤IIA:将行缓冲区读取到引脚

•步骤IIB:将行缓冲区写回所选字

+解决“破坏性读取”问题

•写作:两个步骤

•步骤IA:将所选字读入行缓冲区

•步骤IB:将数据写入行缓冲区

•第二步:将行缓冲区写回所选字

 

DRAM刷新

•DRAM定期刷新所有内容

•遍历所有单词

•将字读入行缓冲区

•将行缓冲区写回DRAM阵列

•刷新占用DRAM时间的1%至2%

 

DRAM参数

•DRAM参数

•大容量:例如64–256Mb

•按正方形排列

+最小化导线长度

+最大限度地提高刷新效率

•窄数据接口:1–16位

•便宜的套餐→ 少数总线引脚

•窄地址接口:N/2位

•16Mb DRAM具有12位地址总线

•这是怎么回事?

 

二阶寻址

两级寻址

•行解码器/列多路复用器共享

地址线

•两个选通器(RAS、CAS)信号

当前在总线上的部分地址

 

DRAM存取比SRAM慢得多

•更多比特→ 较长的电线

•具有两级寻址的缓冲访问

•SRAM访问延迟:<1ns

•DRAM访问延迟:30–50ns

•DRAM循环时间也比访问时间长

•循环时间:连续访问开始之间的时间

•SRAM:循环时间=访问时间

•第一次访问结束后立即开始第二次访问

•DRAM:循环时间=2*访问时间

•为什么?DRAM刷新行时无法开始新的访问

打开与关闭的页面

•打开页面

•行保持活动状态,直到需要访问另一行

•充当内存级缓存以减少延迟

•可变访问延迟使内存控制器复杂化

•更高的功耗(感应放大器保持活动)

•关闭页面

•访问后立即停用行

•所有访问变为激活行、读/写、预充电

•复杂的功率与性能权衡

DRAM带宽

•使用多个DRAM芯片增加带宽

•回想一下,访问大小与二级缓存相同

•例如,用于32B访问的16个2字节宽芯片

•DRAM密度的增长速度快于需求

•结果:每个系统的内存芯片数量减少

•需要增加每个芯片的带宽

•在游戏机中尤为重要

•SDRAM➔ DDR➔ DDR2➔ FBDIMM(➔ DDR3)

•Rambus-高带宽内存

•多台游戏机使用

同步DRAM(SDRAM)

 

•添加时钟和更宽的数据!

•每个RAS/CAS还有多个传输

增强型SDRAM和DDR

•SDRAM的进化增强功能:

1.ESDRAM(增强型):具有刷新的重叠行缓冲区访问

2.DDR(双倍数据速率):在两个时钟边缘上传输

3.DDR2的小改进

较低电压、片上端接、驱动器校准预取、冲突缓冲

4.DDR3,更小的改进更低的电压,2X的速度,2X预取,

2X组,“飞驰拓扑”,自动校准

交错主存储器

•将内存划分为M个组,并在它们之间“交错”地址,因此单词A为

•组内(A模式M)

•单词处(A div M)

 

交错存储器在没有更宽总线的情况下增加了内存带宽

•在内存组中使用并行性来隐藏内存延迟

块交错存储器系统

•缓存块映射到单独的内存控制器

•跨DRAM交错,带MC

•使用DRAM在内部DRAM组间交错

 

研究:内存处理

 

•在内存中进行处理

•在DRAM中嵌入一些ALU

•图片是合乎逻辑的,而非物理的

•在DRAM中进行计算,而不是…

•将数据从DRAM移动到CPU

•在CPU上计算

•将数据从CPU移动到DRAM

•将以“矢量”为单位返回

•例如:IRAM:智能RAM

•伯克利研究项目

•[Patterson+,ISCA'97]

•再次非常热

内存层次结构审查

•存储:寄存器、内存、磁盘

•记忆是基本要素

•内存组件性能

•tavg=thit+%miss*tmiss

•无法在单个结构中同时获得低命中率和%未命中率

•内存层次结构

•上部组件:小、快、贵

•较低的组件:大、慢、便宜

•层次结构的tavg接近上层(最快)组件的thit

•10/90规则:90%的物质在最快的组件中找到

•时间/空间局部性:自动上下数据移动

DRAM子系统

DRAM子系统组织

•通道

•DIMM

•排名

•芯片

•组

•行/列

 

页面模式DRAM

•DRAM组是一个二维单元阵列:行x列

•“DRAM行”也称为“DRAM页”

“灵敏放大器”也称为“行缓冲器”

•每个地址都是一对<行,列>

•访问“封闭行”

•激活命令打开行(放入行缓冲区)

•读取/写入命令读取/写入行缓冲区中的列

•预充电命令关闭行,并为下一行做好准备

通道

•访问“开放行”

•无需激活命令

DRAM组操作

 

DRAM芯片

•由多个组组成(2-16)

•银行共享命令/地址/数据总线

•芯片本身具有窄接口(每次读取4-16位)

128M x 8位DRAM芯片

 

DRAM等级和模块

•等级:多个芯片一起操作,形成宽接口

•同时控制包含一个等级的所有芯片

•响应单个命令

•共享地址和命令总线,但提供不同的数据

•DRAM模块由一个或多个列组成

•例如,DIMM(双列直插式内存模块)

•这就是插入主板的东西

•如果我们有带8位接口的芯片,要在一次访问中读取8个字节,请在DIMM中使用8个芯片

64位宽DIMM(单列)

 

64位宽DIMM(单列)

 

•优点:

•功能类似于具有宽接口的高容量DRAM芯片

•简单性:内存控制器不需要处理单个芯片

•缺点:

•粒度:

访问权限不能小于接口宽度

多个DIMM

 

DRAM通道

 

•2个独立通道:2个内存控制器(上图)

•2个相关/锁步通道:1个具有宽接口的内存控制器(以上未显示)

广义内存结构