文章目录
引言
- 同步电路的核心部分就是有限状态机(FSM),但是是有限状态机,它和要解决的实际背景紧密结合。之前写的蚂蚁,出去了之后还会回去。能解决的问题确实有限。
- 现在用的PC,ARM,当我们要处理问题的时候,我们并不需要改变硬件而是去改软件,所以对于我们来讲,我们特别希望硬件部分不动,而通过不同的配置让他能解决特定的问题。
-
(阿兰图灵)如何解决有限性的问题,提出了一个最根本的图灵机。用一个有限状态机不是去解决特性的问题,而是去解决读写功能,另外所有的信息存在另外无限的空间中。
图灵机解决了FSM的F,解决了有限性的问题,他认为存储空间可以是无限的。
- 冯诺依曼结构和哈佛结构的control unit都是有限状态机,memory他认为无限(这里的无限是相对来说可扩展的)
- 所有的memory系统(比如光盘,硬盘等)都是存0,1,和第五章没有区别,但是现在的数据量是海量的。
-
!!!存储设备的指标,一个是存储量,一个是访问时间。
- 速度快的体量就小,体量大的速度慢。想设计一个存储系统,体量很大,访问的时候速度快,尤其是相关的信息,运算的信息。CPU有SRAM,外面还有MAIN MEM,所以没有最好的,是一起来构成一个合适的系统。
- 本章讲的是所有存储器中,以半导体工艺实现的存储器,记忆棒,内存条。
一些术语
- 存储器单元cell:用于存储一个bit的电路单元
- 字节:Byte = 8 bits
- 字:Word = 1-8 Bytes,1个字中有8-64bits
- 容量:表示特定存储单元或整个存储器系统能够存储多少bits
- 密度:表示容量的另一种属于
- 地址:用于确定某个word在存储系统中位置
概述
- 后面都围绕这个图讲
- 在半导体存储器中,是以什么结构来管理和储存大量的数据
分类
-
从存取功能:
(1)只读存储器ROM:使用过程中,只读数据,而不改变数据,
并不是数据不能变
(2)随机读写RAM:使用过程中,要频繁的读写(内存),希望读写速度相同 -
从工艺上:
(1)双极型(TTL)
(2)MOS型(CMOS,MOS)
ROM
- 基本工作:存储矩阵存了大量的数据,通过地址译码器能够访问到希望访问的单元,然后把单元的数据送到输出缓存然后输出来
- 和RAM相比,最大的特点就是非易失性,也就是掉电之后数据依然保存
- 和前面对应的话,其实是组合电路。组合电路的特点是任何时刻的输出仅仅取决于这一时刻的输入,拉闸上电之后如果给一样的输入还是根据真值表的一样的输出
掩膜ROM
- 半导体制造有个关键工艺是光刻,用光腐蚀材料,光照到和没照到会形成沟道。掩模决定哪些地方能照到哪些不能
举例
- 这时一个典型的最早期的双极性二极管的ROM
地址译码器
-
看一下W0
- Y = AB,所以W0 = A0’A1’
- 在任何时候,W0-W3有且仅有一个为1
存储矩阵
-
看一下d0
- Y = A + B
总结
- 所以上面的译码器就是一个与阵列,下面的存储矩阵就是一个或阵列
- W0-W3译出了地址所有最小项,下面的输出是某些最小项之和
- 前面的与阵列把所有的地址输入变成地址线,而地址线和地址输入之间存在2的n次方的关系
- 或阵列是把这些地址线,取谁就把谁相或
- 从逻辑上来讲没有难度,因为看到的是一个组合电路,组合的输出一定是关于某些最小项之和
-
如何理解它是一个存储,就是W给出不同的字,D会有不同的输出
- 当把组合电路看成ROM的时候,数据表是横着看的,也就是当输入是A1,A0时,输出的4个数据是什么
-
问题1:现在每一个字能访问的位数是4位,我现在想访问五位怎么办?
- 对于数据表来讲,把列加一位就可以,行不用动,相应的电路就是存储矩阵加一行
-
问题2:我现在想用三位地址线,怎么办?
- 加一个A2,数据表的输入加了一位,行数翻翻。对应电路就是现在是4条线,加一位地址就变成八条线
-
问题3:对于组合电路来讲,我关心的是他输入和输出的个数。如果这是一个存储电路,我关心它的容量,这个电路的容量是多少?
- 4*4,前面的4的地址线的条数,下面的4是存储电路的位数,行数。所以一看到ROM就能想到它的容量,就是地址线为n,输出位线的条数是m,容量就是2的n次方乘以m
两个概念
- 存储矩阵的每个交叉点是一个“存储单元”,存储单元中有器件存入“1”,没有器件存入“0”
- 存储容量:“字数”x“位数”
-
字线和位线是否相连决定“0”,“1”,那这个相连不一定是通过二极管,如果换成别的器件(场效应管,三极管)就是别的工艺,举例如下
- 如果换成上图的连接方式,交叉点之间的连接器件就变成MOS管了
- 最左边那一列,相当于一个上拉电阻,输出都是高电平,右边的MOS导通,经过最后取反就输出1;如果没有连接,那输出就是0。所以还是通过有没有连接来区分0,1
-
如果用的是NPN三极管,连接方式不变,但是希望它工作在饱和状态,这样才能输出比较理想的低电平,再取反变成高电平
掩膜ROM的特点
- 最早的时候所有的ROM都是掩膜ROM,当时有一个数据需要被存储的时候就要把数据交给半导体生产厂商,厂商根据数据判断连接和不连接,然后绘制掩膜,然后生产器件
- 出厂时已经固定,不能更改,适合大量生产
- 便宜,简单,非易失性
可编程ROM(PROM)
-
总体结构和 掩膜ROM一样,但是存储单元不同
- 最早的时候时用了一个熔丝。出厂的时候把所有字线和位线都连起来
- 熔丝的特点是过流烧,所以用的是三极管,并没有用MOS管
- 编程的时候是通过把某些位的熔丝烧掉,某些位保留
-
!一次性编程,不能改写
- 写入时需要使用编程器
可擦除的可编程ROM(EPROM)
-
总体结构和 掩膜ROM一样,但是存储单元不同
用紫外线擦除的PROM(UVEPROM)
-
这一类芯片在背部有一个小的石英窗口,是给紫外线查出用的
-
SIMOS(Stacked-gate Injuction MOS)
-
在栅极除了多晶硅那一层还加了一层浮置栅浮在中间
-
控制原理
(1)若Gf上充以负电荷,则Gc处正常逻辑高电平下不导通
(2)若Gf上未充负电荷,则Gc处正常逻辑高电平下导通 -
写入:雪崩注入,D-S间加高压(20-25V),发
生雪崩击穿(
复习顺便看一下齐纳击穿
)
,同时在Gc上加25V,50ms宽的正脉冲。吸引高速电子穿过SiO2到达Gf,形成注入电荷
(
半导体击穿有一个好处,如果是电击穿,电压消失之后就复原了,如果是热击穿就复原不了了
) -
擦除:通过照射产生电子-空穴对,提供泄放通道
(紫外线照射20-30min,阳光下一周,荧光灯下三年) -
有点麻烦:编程和擦除需要不同的器件,编写需要编程器,因为编写需要高电压,而擦除需要擦除器,而且器件必须烙下来
电可擦除的PROM(E2PROM)
-
总体结构和 掩膜ROM一样,但是存储单元不同
-
为了克服UVEPROM擦除慢,操作不便的缺点,采用FLOTOX(浮栅隧道氧化层MOS管)
-
隧穿原理:Gf与D之间有小的隧道区,SiO2厚度<2*10的8次方m,当场强达到一定大小(10的7次方V/cm),电子会穿越隧道——“隧道效应”
-
工作原理:
(1)Gf充电荷后,正常读出Gc电压(3V)下,T截止
(2)未充电荷时,正常读出Gc电压(3V)下,T导通
- 充电:Wi,Gc加20V,10ms的正脉冲,Bj接0,电子隧道区->Gf
- 放电:Gc接0,Wi,Bj加正脉冲,Gf上电荷经隧道区放电
闪存(Flash Memory)
- 随着工艺的提高,发现两个管实现太占面积了
- 为了提高集成度,省去上面的选通管
- 改用叠栅MOS管(类似于SIMOS)
-
Gf与衬底间SiO2更薄(10-15nm)
-
Gf与S区有极小的重叠区(隧道区)
-
工作原理:向Gf充电利用雪崩注入的方式,D-S加正压(6V),Vss接0,Gc加12V,10us的正脉冲
关注点
- 不同的工艺,字线和位线之间采用了什么器件
- 这个器件存0,1的原理
用存储器实现组合逻辑函数
基本原理
从ROM数据表可见:若以地址线位输入变量,则数据线为一组关于地址变量的逻辑函数
举例
-
用ROM产生:
- 首先,输出位数是四位,输入是2的四次方
-
写成最小项之和
-
打点
小结
- 所有组合电路都可以用ROM实现
- 把ROM下面配上触发器,就一定能实现任意形式的数字电路
- 16*4是ROM进出都是4条线
- 下面的3是3个触发器
- 三个触发器就是8个状态
- 上面实现了输出方程和驱动方程,4个方程可以把3个引到下面,也可以不接输入,因为时序电路可以不从外面引输入
随机存储器RAM
- 前面实现了半天,实现了ROM的部分,是高度集成了。而下面的部分还是触发器,触发器只能是任何时候都可读可写,但是集成度不高。
- 高集成度的能随时读写的触发器,就是RAM
- RAM的基本原理就是触发器,功能也和触发器一样,希望任何时候都可以读写,但是一旦掉电后,数就没了
静态随机存储器SRAM(S是static)
结构和工作原理
-
采用了行地址译码和列地址译码,省线
-
途中行地址编码对应的译出来就是2的6次方条线,列地址编码对应译出来的就是16,出来的就是64+16
-
但是如果还是刚刚ROM的连接方式,那就需要2的10次方,也就是1024条线
-
拉出一个小方块展开
-
T1-T4为基本存储单元,就是两个反相器首位相连构成基本存储单元
-
Xi = 1时,T5和T6选通,Q、Q’和Bj、Bj’相通
-
Yj = 1时,所在列被选中,T7,T8导通,这时单元(i,j)与缓冲器相连
-
A2和A3是往里写的,A1是往外读的
-
读的时候一个数就可以了,但是为什么写的时候需要两个数?为了解决反相器不能只写一个点的问题,写进去的数,一个用同相一个用反相,相当于接首位相连的一个反相器的入和出
-
CS‘是整个器件的选通端,当CS’=1时,三态被锁死,都是高阻态。如果CS’=0,R/W’=1时,则A2与A3截止,QI/O,读操作。R/W’=0时,则A2与A3导通,A1截止,I/O->Q,写操作
-
根据图就能看出,RAM里面的东西太多了,而ROM就一个管子,所以RAM的集成度比ROM要小
动态随机存储器DRAM
- 一直想提高集成度
- 动态存储单元是利用电容可以储存电荷的原理
- 利用场效应管,认为电容上有电荷就是1,没有就是0,这时候就把中间四个管子的基本存储变成两个管子
- 这会有一个问题,出现电容后,只要有电阻的地方就存在漏电,所以过了多长时间,1就变成0了,数据就丢了
- 所以要设计一个电路,对已有的数据进行不断的刷新
- 所以在省了芯片面积的时候,付出了其他的面积代价
- 所以用的不多了
存储器容量的扩展
位扩展方式(最简单)
-
适用于每片RAM,ROM
字数够用而位数不够时
-
接法:将各片的地址线、读写线、片选线并联即可
例:用八阵1024×1位—->1024×8位的RAM
字扩展方式
-
适用于每片RAM,ROM
位数够用而字数不够时
例:用四阵256×8位—>1024×8位RAM
-
每一片提供256个字,需要256个地址
-
用A9,A8两位代码区分4片,即将A9,A8译成Y0’-Y3’,分别接四片的CS’
-
!!!如果和物理背景挂钩,可以更改设计,改变读取顺序
-
比如想每片储存一个东西
-
把A0-A9任意两个拿下来都行(根据物理背景)
-
字扩展和位扩展并不矛盾可以都做,但是应该选择合理的扩展方式,避免浪费的问题
-
RAM是可以用来产生组合逻辑电路的
总结
- 存储器分类,各自特点
- 扩展接法(字扩展,位扩展)
- 用ROM产生组合逻辑电路