华中科技大学-计算机组成原理
技术指标
- 存储字长:主存的一个存储单元所包含的二进制位数
- 存储容量:主存能存放二进制代码的位数。存储容量 = 容量 x 字长
- 存储速度:由存取时间(Memory Access Time)和存取周期(Memory Cycle Time)来表示。MAT是指启动一次存储器操作(RD 或 WR)到完成该操作所需的全部时间。MCT是指存储器进行连续两次独立的存储器操作(如连续两次读操作)所需的最小间隔时间,通常MCT大于MAT
- 存储器带宽:单位时间内存储器存取的信息量。决定了以存储器为中心的机器获得信息的传输速度
- 大端小端:Big-endian:最高字节地址(MSB)是数据地址;Little-endian:最低字节地址(LSB)是数据地址。
半导体存储芯片
采用超大规模集成电路制造工艺,在一个芯片内集成:
- 具有记忆功能的存储矩阵;
- 译码驱动电路,能把AB送来的地址信号翻译成对应存储单元的选择信号,该信号在读 / 写电路的配合下完成对被选中单元的读 / 写操作;
- 读 / 写电路包括读出放大器和写入电路,用来完成读 / 写操作。
地址是单向输入的,其位数与芯片容量有关。
数据线是双向的,其位数与芯片可读出或写入的数据位数有关。
地址线和数据线的位数共同反映存储芯片的容量。
例:地址线为14根,数据线为8根,则其容量为 16K × 8位
控制线分:
- 读写控制线 WE*
- 片选控制线 CS,由于半导体存储器是由许多芯片组成的,片选信号用来选择哪个存储芯片。
六管MOS SRAM存储单元工作原理
- 工作管:T1,T2 (保存数据)
- 负载管:T3,T4(补充电荷)
- 门控管:
- T5,T6受行地址选择信号控制
- T7,T8受列地址选择信号控制
写过程
前提:X有效(T5T6导通,A与I/O连通)且Y有效(T78导通,B与 N I/O导通)
- 写入0:
I/O高 -> A高 -> T2导通;
N I/O低 -> B低 -> T1截止。 - 写入1:
I/O低 -> A低 -> T2截止;
N I/O高 -> B高 -> T1导通 。
读过程
前提:X有效(T5T6导通,A与I/O连通)且Y有效(T78导通,B与 N I/O导通)
- 读出0:
VCC -> T3 -> T5 -> T7,I/O线有电流 - 读出1:
VCC -> T4 -> T6 -> T8,N I/O线有电流,I/O线无电流
通过判断I/O线有无电流即可判断读出的是1还是0。
保持状态
X,Y选通信号撤销后,T5T6T7T8均截止。
- 保持1:
1 2 3 | T1导通 -----------> A通过T1接地,A低 ↑ ↓ B不能通过T2接地,B高 <--- T2截止 |
- 保持0:
1 2 3 | T2导通 -----------> B通过T2接地,B低 ↑ ↓ A不能通过T1接地,A高 <--- T1截止 |
半导体存储芯片的译码驱动方式
单译码结构:用一根字选择线直接选中一个存储单元的各位。只适用用容量不大的存储芯片。
双译码结构:被选单元由X,Y两个方向的地址决定。
SRAM芯片实例
地址线A9-A0 | 存储单元数量 = 210 bytes = 1KB |
数据线I/O4-I/O1 | 每个存储单元有4位 |
读写控制线WE* | 低电平为写操作,高电平为读操作 |
片选线CS* | 低电平时选中此存储芯片 |
电源线 GND VCC | 提供电源输入和参考地电平 |
行地址和列地址的位数不能从外部引脚判断,需要得知其内部结构中才能看出,如图所示,2114行地址为6 bit,列地址为4 bit。
四管MOS DRAM基本单元工作原理
写过程
前提:X有效(T5T6导通,A与I/O连通)且Y有效(T78导通,B与 N I/O导通)
- 写入0:
I/O高 -> A高 -> C2充电 -> T2导通
N I/O低 -> B低 -> C1放电 -> T1截止。 - 写入1:
I/O低 -> A低 -> C2放电 -> T2截止;
N I/O高-> B高 -> C1充电 -> T1导通;
读过程
前提:X有效(T5T6导通,A与I/O连通)且Y有效(T78导通,B与 N I/O导通)
- 读0:
预充信号 -> T9 -> T5 -> T2 -> C2充电 -> T2导通 -> B通过T2接地,B低 -> C1放电,无电荷 -> T1截止 -> A不能通过T2接地,A高 -> I/O线高 - 读1:
预充信号 -> T10 -> T6 -> T1 -> C1充电 -> T1导通 -> A通过T1接地,A低 -> I/O线低
数据保持
X,Y选通信号撤销后,T5T6T7T8均截止。
- 保持1:
1 2 3 | C1有电荷 -----------> T1导通 -> A通过T1接地,A低 ↑ ↓ B不能通过T2接地,B高 <- T2截止 <- C2接地放电,无电荷 |
- 保持0:
1 2 3 | C1无电荷 -----------> T1截止 -> A不能通过T1接地,A高 ↑ ↓ B通过T2接地,B低 <- T2导通 <- C2不放电,有电荷 |
刷新
随着时间的推移,栅极电容上的电容会泄露,存储元本身不能补充电荷,需要外加电路给存储元充电,所谓刷新。
前提:(X选通信号有效,Y选通无效)
-
C2有电荷,C1无电荷:
预充信号 -> T9 -> T5 -> T2 -> C2充电 -
C1有电荷,C2无电荷:
预充信号 -> T10 -> T6 -> T1 -> C1充电
读出时(XY均有效)可以刷新,但刷新时(仅X有效)不读出。
刷新概念
- 刷新和重写(再生)是两个完全不同的概念。
- 重写是随机的,刷新是定时的。存储单元在破坏性读出才需要重写。如果不定时为存储体补充电荷,信息会丢失。
- 重写一般按存储单元操作,刷新按存储矩阵的一行为单位进行。
- 刷新周期:两次刷新之间的时间间隔,双译码结构的DRAM刷新按行进行,需知道存储矩阵的行数
- 刷新地址由刷新地址计数器给出(刷新需要遍历存储器所有地址,而CPU指令集是离散的,不能完成这项工作)
刷新方式
- 集中刷新
集中刷新时,有一段连续的时间不能进行存取访问,这段时间称为死时间 - 分散刷新
读写一次,刷新一次
虽然不存在死时间,但刷新过于频繁,不适合高速存储器 - 异步刷新
根据行数将刷新周期均分,前一段时间读写,后一小段时间刷新
三管MOS DRAM基本单元工作原理
在存储矩阵中,每一列共用一个T4
写过程
- 将写入信号加到写数据线
- 写选择线打开T3
- C6随输入信息充电(1)或放电(0)
读过程
- 预充电管T4置一预充信号,使读数据线达高电平VDD
- 读选择线打开T2
- 电容C有电荷(1),使T1导通,因为T1T2都导通,读数据线降为零电平,读出0
- 电容C无电荷(0),T1截止,读数据线仍为高电平,读出1
读出线的高低电平与原存信息相反
单管MOS DRAM基本单元工作原理
写过程
- 字选择线为高,T导通
- C随输入信息充电(1)或放电(0)
读过程
字选择线为高,存储在C的电荷通过T输出到数据线,通过读出放大器即可得到存储信息。读出后,存储内容就被破坏,需要重写。
DRAM芯片实例
地址线A6-A0 | 由于地址线复用,存储单元数量 = 27*2 bytes = 24 * 210 = 16KB |
数据线DIN,DOUT | 每个存储单元有1位 |
读写控制线WE* | 低电平为写操作,高电平为读操作 |
RAS* CAS* | RAS(Rank)行选择信号 CAS(column)列选择信号,RAS兼为片选信号 |
电源线 GND VCC | 提供电源输入和参考地电平 |
RAM存储器扩展
扩展方案:
-
位扩展:多芯片存储器的A,CS,WE相应并联,D分别引出,并行工作。
按整数边界存放的要求,如果存储字长为8位,则将CPU的A0与存储器的A0连接,如果存储字长为16位,则将CPU的A1与存储器的A0连接, CPU的A0 用于根据需要选择从存储器中读出的16位中的哪个8位;如果存储字长为32位,则将CPU的A2与存储器的A0连接, CPU的A1A0 用于根据需要选择从存储器中读出的32位中的哪个8位或哪个16位;依次类推 -
字扩展:各芯片A,D,WE相应并联,用CS来区分各芯片的地址范围
-
字位扩展:两者结合
SRAM和DRAM的对比
- DRAM由于使用简单的单管单元作为存储单元,因此每片容量较大,约是SRAM的4倍;
- 由于DRAM的地址是分批进入的(复用),DRAM的外部引脚比SRAM少很多,封装尺寸也比较小
- 存储量大和封装小的特点使得同一块电路板上,使用DRAM比SRAM能多出4倍的存储空间
- DRAM价格比较便宜,大约只有SRAM的1 / 4
- DRAM由于使用动态元件,速度比SRAM低
- DRAM需要刷新,浪费时间,需要配套的刷新电路,占用一部分功率
- SRAM一般用作容量不大的高数存储器,DRAM一般用作主存
- DRAM和SRAM的共同特点是断电信息消失