请问前辈们相联存储器原理,有图最好了。
发布网友
发布时间:2022-04-20 03:32
我来回答
共1个回答
热心网友
时间:2023-07-13 21:26
一.基本工作原理 基本工作原理
1、存储器构造 、 存储器就是用来存放数据的地方。它是利用电平的高低来存放数据的,也就是说,它存 放的实际上是电平的高、低,而不是我们所习惯认为的 1234 这样的数字,这样,我们的一 个谜团就解开了,计算机也没什么神秘的吗。
图1
图2 让我们看图 1。这是一个存储器的示意图:一个存储器就像一个个的小抽屉,一个小抽 屉里有八个小格子,每个小格子就是用来存放“电荷”的,电荷通过与它相连的电线传进来 或释放掉, 至于电荷在小格子里是怎样存的, 就不用我们操心了, 你可以把电线想象成水管, 小格子里的电荷就像是水,那就好理解了。存储器中的每个小抽屉就是一个放数据的地方, 我们称之为一个“单元” 。 有了这么一个构造,我们就可以开始存放数据了,想要放进一个数据 12,也就是
00001100, 我们只要把第二号和第三号小格子里存满电荷, 而其它小格子里的电荷给放掉就 行了(看图 2) 。可是问题出来了,看图 1,一个存储器有好多单元,线是并联的,在放入电 荷的时候, 会将电荷放入所有的单元中, 而释放电荷的时候, 会把每个单元中的电荷都放掉, 这样的话, 不管存储器有多少个单元, 都只能放同一个数, 这当然不是我们所希望的, 因此, 要在结构上稍作变化,看图 1,在每个单元上有个控制线,我想要把数据放进哪个单元,就 给一个信号这个单元的控制线,这个控制线就把开关打开,这样电荷就可以自由流动了,而 其它单元控制线上没有信号,所以开关不打开,不会受到影响,这样,只要控制不同单元的 控制线,就可以向各单元写入不同的数据了,同样,如果要某个单元中取数据,也只要打开 相应的控制开关就行了。 2、存储器译码 、 那么, 我们怎样来控制各个单元的控制线呢?这个还不简单, 把每个单元的控制线都引 到集成电路的外面不就行了吗?事情可没那么简单,一片 27512 存储器中有 65536 个单元, 把每根线都引出来, 这个集成电路就得有 6 万多个脚?不行, 怎么办?要想法减少线的数量。 我们有一种方法称这为译码,简单介绍一下:一根线可以代表 2 种状态,2 根线可以代表 4 种状态,3 根线可以代表几种,256 种状态又需要几根线代表?8 种,8 根线,所以 65536 种状态我们只需要 16 根线就可以代表了。 3、存储器的选片及总线的概念 、 至此,译码的问题解决了,让我们再来关注另外一个问题。送入每个单元的八根线是用 从什么地方来的呢?它就是从计算机上接过来的, 一般地, 这八根线除了接一个存储器之外, 还要接其它的器件
。这样问题就出来了,这八根线既然不是存储器和计算机之间专用的,如 果总是将某个单元接在这八根线上,就不好了,比如这个存储器单元中的数值是 0FFH 另一 个存储器的单元是 00H,那么这根线到底是处于高电平,还是低电平?岂非要打架看谁历害 了?所以我们要让它们分离。办法当然很简单,当外面的线接到集成电路的引脚进来后,不 直接接到各单元去,中间再加一组开关就行了。平时我们让开关打开着,如果确实是要向这 个存储器中写入数据,或要从存储器中读出数据,再让开关接通就行了。这组开关由三根引 线选择:读控制端、写控制端和片选端。要将数据写入片中,先选中该片, 然后发出写信号, 开关就合上了,并将传过来的数据(电荷)写入片中。如果要读,先选中该片,然后发出读 信号,开关合上,数据就被送出去了。读和写信号同时还接入到另一个存储器,但是由于片 选端不同, 所以虽有读或写信号,但没有片选信号, 所以另一个存储器不会“误会” 而开门, 造成冲突。 那么会不同时选中两片芯片呢?只要是设计好的系统就不会, 因为它是由计算控
制的,而不是我们人来控制的,如果真的出现同时出现选中两片的情况,那就是电路出了故 障了,这不在我们的讨论之列。 从上面的介绍中我们已经看到,用来传递数据的八根线并不是专用的,而是很多器件 大家共用的,所以我们称之为数据总线,总线英文名为 BUS,总即公交车道,谁者可以走。 而十六根地址线也是连在一起的,称之为地址总线。
二.存储器的种类及原理: 存储器的种类及原理: 及原理 1.RAM / ROM 存储器 1.
ROM 和 RAM 指的都是半导体存储器,ROM 是 Read Only Memory 的缩写,RAM 是 Random Access Memory 的缩写。ROM 在系统停止供电的时候仍然可以保持数据,而 RAM 通常都是在 掉电之后就丢失数据,典型的 RAM 就是计算机的内存。
2. RAM
随机存取存储器(RAM)是计算机存储器中最为人熟知的一种。之所以 RAM 被称为“随机 存储”,是因为您可以直接访问任一个存储单元,只要您知道该单元所在记忆行和记忆列的 地址即可。 RAM 有两大类: 1) 静态 RAM(Static RAM / SRAM),SRAM 速度非常快,是目前读写最快的存储设 备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如 CPU 的一级缓冲,二级 缓冲。 2) 动态 RAM (Dynamic RAM / DRAM) DRAM 保留数据的时间很短, , 速度也比 SRAM 慢,不过它还是比任何的 ROM 都要快,但从价格上来说 DRAM 相比 SRAM 要便宜很多, 计算机内存就是 DRAM 的。 类似于微处理器, 存储器芯片也是一种由数以百万计的晶体管和电容器
构成的集成电路 (IC)。计算机存储器中最为常见的一种是动态随机存取存储器(DRAM),在 DRAM 中晶体 管和电容器合在一起就构成一个存储单元,代表一个数据位元。电容器保存信息位——0 或 1(有关位的信息,请参见位和字节)。晶体管起到了开关的作用,它能让内存芯片上的控 制线路读取电容上的数据,或改变其状态。 电容器就像一个能够储存电子的小桶。要在存储单元中写入 1,小桶内就充满电子。要 写入 0,小桶就被清空。电容器桶的问题在于它会泄漏。只需大约几毫秒的时间,一个充满 电子的小桶就会漏得一干二净。因此,为了确保动态存储器能正常工作,必须由 CPU 或是由 内存控制器对所有电容不断地进行充电,使它们在电子流失殆尽之前能保持 1 值。为此,内
存控制器会先行读取存储器中的数据, 然后再把数据写回去。 这种刷新操作每秒钟要自动进 行数千次如(图 3 所示)
图 3 动态 RAM 存储单元中的电容器就像是一个漏水的小桶。
它需要定时刷新,否则电子泄漏会使它变为 0 值。
动态 RAM 正是得名于这种刷新操作。 动态 RAM 需要不间断地进行刷新, 否则就会丢失它 所保存的数据。这一刷新动作的缺点就是费时,并且会降低内存速度。
存储单元由硅晶片蚀刻而成,位于由记忆列(位线) 和记忆行(字线) 组成的阵列之中。 位线和字线相交,就形成了存储单元的地址。
图 4 将位元排列在二维栅格中,就构成了内存。 在上图中,红色的存储单元代表 1 值,而白色的存储单元代表 0 值。 在演示动画片中,先选出一个记忆列,然后对记忆行进行充电以将数据写入指定的记忆列中。
DRAM 工作时会向选定的记忆列(CAS)发送电荷,以激活该记忆列上每个位元处的晶体 管。写入数据时,记忆行线路会使电容保持应有状态。读取数据时,由灵敏放大器测定电容 器中的电量水平。如果电量水平大于 50%,就读取 1 值;否则读取 0 值。计数器会跟踪刷新 序列,即记录下哪些行被访问过,以及访问的次序。完成全部工作所需的时间极短,需要以 纳秒(十亿分之一秒)计算。存储器芯片被列为 70 纳秒级的意思是,该芯片读取单个存储 单元并完成再充电总共需要 70 纳秒。 如果没有读写信息的策略作为支持, 存储单元本身是毫无价值的。 所以存储单元拥有一 整套由其他类型的专用电路构成的底层设施。这些电路具有下列功能: 判别记忆行和记忆列的地址(行选址和列选址) 记录刷新序列(计数器) 从存储单元中读取、恢复数据(灵敏放大器) 告知存储单元是否接受电荷(写保护) 内存控制器要执行其他一些任务, 包
括识别存储器的类型、 速度和容量, 以及检错等等。
静态 RAM 使用了截然不同的技术。 静态 RAM 使用某种触发器来储存每一位内存信息 (有 关触发器的详细信息,请查见布尔逻辑的应用) 。存储单元使用的触发器是由引线将 4-6 个 晶体管连接而成, 但无须刷新。 这使得静态 RAM 要比动态 RAM 快得多。 但由于构造比较复杂, 静态 RAM 单元要比动态 RAM 占据更多的芯片空间。 所以单个静态 RAM 芯片的存储量会小一些, 这也使得静态 RAM 的价格要贵得多。静态 RAM 速度快但价格贵,动态 RAM 要便宜一些,但速 度更慢。因此,静态 RAM 常用来组成 CPU 中的高速缓存,而动态 RAM 能组成容量更大的系统 内存空间。
3. ROM
ROM 也分为很多种: 1) 掩膜式 ROM 芯片生产厂家在制造芯片过程中把程序一并做在芯片内部,这就是二次光刻版图形(掩 膜)。存储阵列中的基本存储单元仅由一只 MOS 管构成,或缺省,凡有 MOS 管处表示存储 0, 反之为 1. 工厂在生产时,根据客户提供的内容,决定是否布下只 MOS 管. 用户在生产好后,
是不能改写的( 难道撬开芯片,加个 MOS 管上去?) 由于集成电路生产的特点, 要求一个批次的掩膜 ROM 必须达到一定的数量 (若十个晶圆) 才能生产,否则将极不经济。掩膜 ROM 既可用双极性工艺实现,也可以用 CMOS 工艺实现。 掩膜 ROM 的电路简单,集成度高,大批量生产时价格便宜。 2) 一次性可编程 ROM(PROM= ROM(PROM=Programmable ROM) ) 允许一次编程 存储阵列除了三极管之外,还有熔点较低的连线(熔断丝)串接在每只存储三极管的某 一电极上,例如发射极. 编程之前,存储信息全为 0,或全为 1,编程写入时,外加比工作 电压高的编程电压,根据需要使某些存储三极管通电,由于此时电流比正常工作电流大,于 是熔断丝熔断开路,一旦开路之后就无法恢复连通状态,所以只能编程一次。如果把开路的 三极管存储的信息当作 0,反之,存储的信息就为 1 3) 紫外线擦除可编程 ROM(EPROM= 紫外线擦除可编程 ROM(EPROM=Erasable PROM) ) 用紫外线擦除后编程,并可多次擦除多次编程 FAMOS 管与 MOS 管结构相似,它是在 N 型半导体基片上生长出两个高浓度的 P 型区,通 过欧姆接触分别引出漏极 D 和源极 S,在漏源之间的 SiO2 绝缘层中,包围了一多晶硅材料, 与四周无直接电气连接,称之为浮置栅极,在对其编程时,在漏源之间加上编程电压(高于 工作电压)时,会产生雪崩击穿现象,获得能量的电子会穿过 SiO2 注入到多晶硅中,编程 结束后, 在漏源之间相对感应出的正电荷导电沟道将会保持下来, 如果将漏源之间感应出正 电荷导电沟道的 MOS 管表示存
入 0,反之,浮置栅不带负电,即漏源之间无正电荷导电沟道 的 MOS 管表示存入 1 状态 在 EPROM 芯片的上方, 有一圆形石英窗, 从而允许紫外线穿过透明的圆形石英窗而照射 到半导体芯片上,将它放在紫外线光源下一般照射 10 分钟左右,EPROM 中的内容就被抹掉, 即所有浮置栅 MOS 管的漏源处于断开状态,然后,才能对它进行编程输入 出厂未编程前,每个基本存储单元都是信息 1, 编程就是将某些单元写入信息 0 EPROM 是采用浮栅技术生产的可编程存储器,它的存储单元多采用 N 沟道叠栅 MOS 管 (SIMOS) ,其结构及符号如图 12.2.1(a)所示。除控制栅外,还有一个无外引线的栅极,称 为浮栅。当浮栅上无电荷时,给控制栅(接在行选择线上)加上控制电压,MOS 管导通; 而当浮栅上带有负电荷时,则衬底表面感应的是正电荷,使得 MOS 管的开启电压变高,如 图 12.1.3(b)所示,如果给控制栅加上同样的控制电压,MOS 管仍处于截止状态。由此可见, SIMOS 管可以利用浮栅是否积累有负电荷来存储二值数据。
(a) 叠栅 MOS 管的结构及符号图
(b) 叠栅 MOS 管浮栅上积累电子与开启电压的关系
图 6 叠栅 MOS 管
在写入数据前,浮栅是不带电的,要使浮栅带负电荷,必须在 SIMOS 管的漏、栅极 加上足够高的电压(如 25V) ,使漏极及衬底之间的 PN 结反向击穿,产生大量的高能电子。 这些电子穿过很薄的氧化绝缘层堆积在浮栅上, 从而使浮栅带有负电荷。 当移去外加电压后, 浮栅上的电子没有放电回路,能够长期保存。当用紫外线或 X 射线照射时,浮栅上的电子形 成光电流而泄放, 从而恢复写入前的状态。 照射一般需要 15 至 20 分钟。 为了便于照射擦除, 芯片的封装外壳装有透明的石英盖板。EPROM 的擦除为一次全部擦除,数据写入需要通用或 专用的编程器。 ROM( EPROM) 4) 电擦除可编程 ROM(EEPROM = Electrically EPROM) 加电擦除,也可以多次擦除, 可以按字节编程。 在 EPROM 基本存储单元电路的浮置栅 MOS 管 T1 上面再生成一个浮置栅 MOS 管 T2, T2 将 浮置栅引出一个电极,使该电极接某一电压 VG2,若 VG2 为正电压,T1 浮置栅极与漏极之间 产生一个隧道效应,使电子注入 T1 浮置栅极,于是 T1 的漏源接通,便实现了对该位的写入 编程。 用加电方法,进行在线(无需拔下,直接在电路中)擦写(擦除和编程一次完成)有字
节擦写、 块擦写和整片擦写方法, 按字节为单位进行擦除和写入, 擦除和写入是同一种操作, 即都是写入,只不过擦除是固定写“1”而已,在擦除时,输入的数据是 TTL 高电平。 EEPROM 在进行字节改写之前自动对所要写入的字节单元进行
擦除, 只需要像写普通 CPU RAM 一样写其中某一字节, 但一定要等到 5ms 之后, CPU 才能接着对 EEPROM 进行下一次写入 操作,因而,以字节为单元写入是常用的一种简便方式。 写入操作时,首先把待写入数据写入到页缓冲器中,然后,在内部定时电路的控制下把 页缓冲器中的所有数据写入到 EEPROM 中所指定的存储单元,显然,相对字节写入方式,第 二种方式的效率高,写入速度快。 EEPROM 也是采用浮栅技术生产的可编程存储器,构成存储单元的 MOS 管的结构如图 12.2.2 所示。它与叠栅 MOS 管的不同之处在于浮栅延长区与漏区之间的交叠处有一个厚度 约为 80 埃的薄绝缘层,当漏极接地,控制栅加上足够高的电压时,交叠区将产生一个很强 的电场, 在强电场的作用下, 电子通过绝缘层到达浮栅, 使浮栅带负电荷。 这一现象称为“隧 道效应”,因此,该 MOS 管也称为隧道 MOS 管。相反,当控制栅接地漏极加一正电压,则产 生与上述相反的过程,即浮栅放电。与 SIMOS 管相比,隧道 MOS 管也是利用浮栅是否积累 有负电荷来存储二值数据的, 不同的是隧道 MOS 管是利用电擦除的, 并且擦除的速度要快得 多。 EEPROM 电擦除的过程就是改写过程,它是以字为单位进行的。EEPROM 具有 ROM 的非易 失性, 又具备类似 RAM 的功能, 可以随时改写 (可重复擦写 1 万次以上) 目前, 。 大多数 EEPROM 芯片内部都备有升压电路。因此,只需提供单电源供电,便可进行读、擦除/写操作,为数 字系统的设计和在线调试提供了极大的方便。
图 7 隧道 MOS 管剖面结构示意图
图 8 快闪存储器存储单元 MOS 管剖面结构示意图
5) Flash 闪存 快速擦写,但只能按块编程 快闪存储器存储单元的 MOS 管结构与 SIMOS 管类似, 如图 12.2.3 所示。 但有两点不同, 一是快闪存储器存储单元 MOS 管的源极 N+区大于漏极 N+区, SIMOS 管的源极 N+区和漏极 而 N+区是对称的;二是浮栅到 P 型衬底间的氧化绝缘层比 SIMOS 管的更薄。这样,可以通过 在源极上加一正电压,使浮栅放电,从而擦除写入的数据。由于快闪存储器中存储单元 MOS 管的源极是连接在一起的,所以不能象 E2PROM 那样按字擦除,而是类似 EPROM 那样整片擦 除或分块擦除。整片擦除只需要几秒钟,不像 EPROM 那样需要照射 15 到 20 分钟。快闪存储 器中数据的擦除和写入是分开进行的, 数据写入方式与 EPROM 相同, 需输入一个较高的电压, 因此要为芯片提供两组电源。一个字的写入时间约为 200 微秒,一般可以擦除/写入 100 次 以上。 新型的 FLASH,例如 320C3B 等,在常规存储区域后面还有 128Bit 的特殊加密,其中前 64Bit(8 字节)是唯一
器件码(64BitUniqueDeviceIdentifier),每一片 Flash 在出厂时 已经带有,并且同一种 Flash 型号不会有相同的编码,哪怕这个字库是全新空白的字库。后 来 64Bit 为用户可编程 OTP 单元 (64BitUserProgrammableOTPCells) ,可以由用户自用设定, 单只能写入,不能擦除。