存储器相关,聚焦于半导体存储器,主要分为读写存储器、只读存储器以及读为主的存储器。接着叙述芯片逻辑,以及芯片优化。

# 回顾:存储器

# 回顾:存储器

image-20221020163158122

1Byte(字节) = 8 bit(比特)

1 字 可能是 4 字节,也可能是 8 字节。根据计算机是 32 位还是 64 位有所不同,不同计算机有不同的字长。

image-20221101171557660

# 存储器层次结构

image-20221021202852887

# 半导体存储器

image-20221024124316886

半导体

位元 存储 1 位数据

# 半导体存储器类型

image-20221024124432370

表中列出的而所有类型的存储器都是随机存取的。

快闪 flash——U 盘是其中的一种。

# 读 - 写存储器 —— 随机存取存储器 RAM

image-20221024124536588

RAM 的明显特征是,可以方便快捷地从存储器读取数据和向存储器写入新数据,且读写操作都是通过使用电信号来实现的。

易失 —— 必须持续供电,一旦断电,数据就会丢失。

# SRAM 静态 RAM

image-20221024124554411

CS 片送

RW 控制读写

image-20221024124714978

推导过程

image-20221024130157726

# DRAM 动态 RAM

image-20221024124958784

通过电容充电来存储数据。

电容器有漏电趋势,动态 RAM 需要周期地充电刷新来维持数据的存储。

动态一词就是在描述存储电荷丢失的趋势,即使电源一直在供电。

# SRAM 与 DRAM 的对比

image-20221024125105338

DRAM 密度高,价格便宜,趋向于满足大容量存储器的要求。但是 SRAM 更快。

SRAM 一般用于 cache 存储器(片上或者片外的)【CPU 中】,而 DRAM 则用于主存储器中。

# 只读存储器

# ROM 只读存储器

image-20221024130516422

问题补充:固化数据需要较大的固定成本,无论是制造一片或者复制上千片特殊的 ROM。但是可以通过批量生产降低单片芯片的成本。

# 可编程 ROM(PROM)

image-20221024130821252

需要少量的存储特定内容的 ROM 芯片,可以选择较为廉价的可编程 PROM

可由供应商或者用户在芯片出厂后写入一次、

# 主要进行读操作的存储器

image-20221024131021140

# EPROM

image-20221024131047438

使芯片暴露在紫外线辐射下使所有的存储位元都被擦除,没有办法做到很精确,因此是芯片级的可擦除性。

image-20221024131226634

# EEPROM

image-20221024131245626

任何时候都可以写入,无需擦除原先内容,只更新寻址到的一个或多个字节。

将非易失性和数据修改灵活的优点结合起来。修改数据只需要使用常规的控制、地址和地址总线。

电写入,从 1 变成 0; 电擦除,从 0 变成 1。

# 快闪存储器

image-20221024131457113

NAND Flash 共用一条线 —— 外部存储器

# 各类 ROM 对比

image-20221024131557564

# 芯片逻辑

# 从位元到主存

image-20221024131723140

image-20221024131744592

image-20221024131758270

image-20221024131957375

位扩展,从 1bit 增加到 8bit,需要增加 7 根线。

字扩展,从 16K 变成 64K,16K 需要 7 根线,64K 需要 8 根线【因为行列复用】,只需要增加一根线,就可以实现 16K 到 64K。

1K = 2 10

有多少位数据,就需要有多少根数据线。

image-20221101172926489

image-20221024132007925

# 如何寻址:地址译码器

image-20221024131851948

image-20221024131815432

DRAM 不用刷新,采用行列复用 —— 用 11 位分别计算出行地址和列地址进行访问, 因为 DRAM 的存储空间较大,且行列复用耗时较高,所以只在 DRAM 中使用。

SRAM 且没有 RAS(行地址选通)和 CAS(列地址选通),也没有数据输入输出缓冲器,SRAM 常作为缓存,需要更快的速度。

WE 写允许

OE 输出允许

# 如何刷新

image-20221024131911336

集中式刷新会造成死区,影响使用,因此开发分散式刷新和异步刷新进行优化。

译码阶段不需要进行缓存,每行的刷新相对独立,不需要按照顺序。

# 高级的 DRAM 架构

image-20221024132123622

# 同步 DRAM (Synchorounous DRAM, SDRAM)

# 双频率 SDRAM (Double-Data-Rate SDRAM)

image-20221024132312999

SDRAM

在每一次行选之前,都需要做预充电

如果下一次仍然是同一行的数据,不需要行选。

在时钟上升沿才能发数据

image-20221024132326001

DDR SDRAM

在时钟下升沿也可以发数据

image-20221024132335364

核心频率无法改变 —— 电容很难提升

image-20221101162647755

image-20221101162656519

# 寄存器基本原理

image-20221101164208668

边沿 D 触发器,RS 锁存器以及增加了 input 和 clock(?

寄存器和 CPU 的时钟同步

# 总结

image-20221024132047639