目录
1.存储元
1.1栅极电容
给MOS管一个阈值电压(5v)就能够导电,若是不给那么就是一个绝缘体不会导电。
读出二进制原理:
通常在电容中保存着数据0或1,那么如何去读取呢?可以给MOS管加电流,若是达到阈值5V,此时右端就会流出1,否则就会流出0。
写入二进制原理:
可以在MOS管的右端加一个5v的高电平,同时也给MOS管加一个5v的电平,此时MOS管就可以接通,电容中就会存储1,此时MOS管端口,电容里的电荷就跑不出去了。
1.2双稳态触发器
其中双稳态触发器有6个,在这种存储器中可以呈现出两种稳定的状态:
第一种稳态A是高电平,B是低电平,此时对应着二进制1。
第二种稳态A是低电平,B是高电平,此时对应着二进制0。
读出二进制原理:
对于左边电容存储元读出数据的数据线只有一根,右边双稳态触发器则需要两根来读取数据,我们可以根据BL或者BLX读出的是0或1就能够确定读出的是什么信号了。
写入二进制原理:
写入0时,给BL加低电平,BLX加高电平。
写入1,左高右低。
2.存储单元
如下,由多个存储元组成的一个存储单元,在存储单元上每个MOS管接线,若是想要读取一组单元的存储元值,直接全部上电压,就能够读取到一个存储单元的所有二进制位(每个存储元中的电容)。
3.存储体
此时由多个存储单元组成就是一个存储体
4.存储器
存储体接上MAR,MDR,控制电路(片选线,读写控制线)就构成了存储器。
(片选线用于选取多个存储体中的一个。)
每一根线都会对应一根金属引脚:
所以 一个存储器的引脚数 = 地址线 + 数据线 + 读控制线 + 写控制线 + 片选线。
5.容量计算
n位地址 → 2^n个存储单元
总容量 = 存储单元个数 x 存储字长
像本篇文章中的示例:
三根地址线,即有2^3个存储单元,其存储容量为:
=2^3x8bit = 2^3x1Byte = 8B
可以表述为一个:8x8位的存储芯片(第一个8表示存储单元数,第二个表示存储字长)
常见的描述:
8Kx8位,容量为:2^13x8bit
8Kx1位,容量为:即2^13x1bit
64Kx16位,容量为:即2^16x16bit
6.寻址
假设存储器总容量为1KB 地址线:10根
现代计算机基本上以字节编址 ,即一个存储单元的字长为一个字节
1KB = 2^10B 故地址线为10根。
按字节寻址
1K个单元,每个单元1B
按字寻址
256个单元,每个单元4B
按半字寻址
512个单元,每个单元2B
按双字寻址
128个单元,每个单元8B
7.使用行列地址
将存储单元一个挨着一个的排列,并且每一个都连上一根线
这样,一个拥有n根地址线的存储器就需要在其内部用2^n根线来连接2^n个存储单元,这样会加大工业的难度,所以我们可以用别的方法来减少线的数量。
将存储单元排列成2^(n/2)x2^(n/2)的矩阵,地址拆分为行列地址(DRAM行、列地址等长)
这样原本需要2^n根线的存储器,现在只需要2^(n/2) + 2^(n/2)根线,以行列地址来定位单个个存储单元
像现在的存储器可能为了更高的容量而使用的是三维的排列技术。