计算机组成原理 第四章 存储器 Part2 RAM

1.半导体存储芯片

1.存储矩阵:由大量相同的位存储单元阵列构成。

2.译码驱动:将来自地址总线的地址信号翻译成对应存储单元的选通信号,该信号在读写电路的配合下完成对被选中单元的读/写操作。

3.读写电路:包括读出放大器和写入电路,用来完成读/写操作。

4.读/写控制线:决定芯片进行读/写操作。

5.片选线:确定哪个存储芯片被选中。可用于容量扩充。

6.地址线:是单向输入的,其位数与存储字的个数有关。

7.数据线:是双向的,其位数与读出或写入的数据位数有关。

8.数据线数和地址线数共同反映存储芯片容量的大小。如地址线10根,数据线8根,则芯片容量=210×8=8K位。
用 16K × 1位 的存储芯片组成 64K × 8位 的存储器

2.半导体存储芯片的译码驱动方式

1.线选法

这种方法对容量稍微大点的芯片来说是非常不合适的

线选法对存储单元进行布局的时候,我们实际上是把它布局成了线性的数组

2.重合法

重合法进行布局的时候我们把所有存储单元布局成了一个二维的矩阵

3.随机存取存储器(RAM)

随机存取存储器(英语:Random Access Memory,缩写:RAM),也叫主存,是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。

RAM工作时可以随时从任何一个指定的地址写入(存入)或读出(取出)信息。它与ROM的最大区别是数据的易失性,即一旦断电所存储的数据将随之丢失。RAM在计算机和数字系统中用来暂时存储程序、数据和中间结果。

1.静态RAM(SRAM)

下图中,

T1-T4解决了用什么样的电路存放'0'和'1'这个问题

T5-T6解决了如何对存储元件进行'读'或者'写'这样的操作

T7-T8是这一列共用的开关,这个开关叫做'列开关'

"静态",是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。相对之下,动态随机存取存储器(DRAM)里面所储存的数据就需要周期性地更新。然而,当电力供应停止时,SRAM储存的数据还是会消失(被称为volatile memory),这与在断电后还能储存资料的ROM或闪存是不同的。

举例

静态 RAM(2114)读 时序

2.动态RAM(DRAM)

动态随机存取存储器,最为常见的系统内存,即DRAM。DRAM 只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。 关机就会丢失数据。
单管动态 RAM 芯片举例

时序特性:

行、列地址分开传送

动态 RAM 刷新

为什么要对动态RAM进行刷新?

动态RAM是利用电容存储电荷的方式来保存信息,但是它的电容做的很小,很容易会发生漏电。在一段时间之内,如果我们不对电容再次进行通电(原来保存的'1'就会变成'0'),电容内的信息就会丢失。
刷新与行地址有关------按行刷新
即每一次的刷新刷新的是一行的数据,而不是某一个存储单元的数据

集中刷新(存取周期为0.5μs)

分散刷新(存取周期为1μs)

分散刷新与集中刷新相结合

对于 128 × 128 的存储芯片(存取周期为 0.5μs)
若每隔 2 ms 集中刷新一次 死区为 64 μs

若每隔 15.6 μs 刷新一行
而且每行每隔 2 ms 刷新一次 "死区" 为 0.5 μs
将刷新安排在指令译码阶段,则完全不会出现死区

3.动态 RAM 和静态 RAM 的比较

相关推荐
桐桐桐1 分钟前
FastAPI 学习笔记
python·学习·fastapi
一抓掉一大把2 分钟前
git -学习笔记
笔记·git·学习
Hello.Reader4 分钟前
理解 Rust 的并发特性:`Send` 和 `Sync` 特征
开发语言·后端·rust
心灵Haven8 分钟前
1_安装JDK和Hadoop
java·开发语言·hadoop
山河君14 分钟前
音频进阶学习十六——LTI系统的差分方程与频域分析一(频率响应)
学习·音视频·信号处理
EVERSPIN37 分钟前
高压风机专用32位单片机MM32SPIN080G
单片机·嵌入式硬件
Swift社区44 分钟前
【Swift 算法实战】利用 KMP 算法高效求解最短回文串
vue.js·算法·leetcode
萌の鱼1 小时前
leetcode 73. 矩阵置零
数据结构·c++·算法·leetcode·矩阵
好看资源平台1 小时前
‌KNN算法优化实战分享——基于空间数据结构的工业级实战指南
数据结构·算法
Jumbo星1 小时前
ms-swift 3.x和2.x中参数不一致的暗坑
开发语言·ios·swift