存储器(二)

news/2024/11/15 8:43:16/

目录

一、RAM

1.RAM特点

2.静态RAM

2.1静态RAM保存原理

2.2静态RAM基本单元电路的构成

 2.3静态RAM读写操作

3.动态RAM

3.1动态RAM保存原理

3.2动态RAM基本单元电路的构成

3.3动态RAM对单元电路的读写操作

3.4动态RAM的刷新

4.静态RAM与动态RAM的比较

二、ROM

1.ROM发展

三、存储器容量扩展

1.位扩展(增加存储字长)

2.字扩展

3.字与位同时扩展


一、RAM

1.RAM特点

2.静态RAM

2.1静态RAM保存原理

静态RAM使用的是触发器进行存储数据,触发器由四根晶体管构成,属于双稳态触发器,具有源端和非端用于存储数据,一方为0另一方为1,一方为1,另一方为0。

2.2静态RAM基本单元电路的构成

 2.3静态RAM读写操作

(1)读操作

 读数据时,虽然T5开,T7开,但是非端数据到写放大器就终止了。

(2)写操作

 写数据时,左边的写放大器把右边的写放大器的值取非后进行输出,保证A和非A端的值相反。

3.动态RAM

3.1动态RAM保存原理

动态RAM使用电容,电容中保存了电荷为1,电容没有被充电为0。

3.2动态RAM基本单元电路的构成

3.3动态RAM对单元电路的读写操作

(1)左侧电路读写操作
读操作: T4为预充电信号,如果预充电信号有效,T4会被打开,Vdd通过T4对读数据线进行充电,使得读数据线成为高电平,如果是进行读操作,则读选择信号有效,T2打开,如果此时CG中保存的数据是0,也就是CG没有充电,则T1不会导通,则读数据线就会保持高电平,所以,如果保存的数据是0,则在读数据时候,读出的数据是1。如果CG电容中保存的数据是1,T1导通,此时读数据线上的电平通过T2,T1线路进行放电,读数据线低电平,读出的数据为0。所以电容读出的信息和原存的信号是相反的。
写操作: 写入和输入信息相同。如果是写操作,写选择线有效,T3导通 写数据线会通过T3向CG充电,或者CG通过T3进行放电,如果写入的数据是1高电平,写数据线会通过T3向CG充电,CG写入1.如果写入是0,则CG通过T3进行放电,CG放电为0。

(2)右侧电路读写操作
读操作: 如果相应的行被选中,字线连接的T被打开,电容就会通过T进行充电或者放电,如果CG中有电位1,此时放电,则数据线有电流,如果CS中没有充电,则数据线无电流,通过数据数据线有无电流判断CS中保存的是1还是0。
写操作: 写入时,写入1,数据线有电流,进行充电为1。写入0,数据线无电流,放电为0。


3.4动态RAM的刷新

(1)为什么要刷新

由于动态RAM使用电容存储信息,电容容易漏电,经过一段时间,电容漏电,会导致数据有1变为0,。动态RAM刷新只和行地址有关,和列地址无关,每次刷新的是一行中的所有基本电容电路。给出行地址,某一行被全部选中,这个行上所有电容中的信息都会被送到读电路,如果在读数据线和写数据线之间增加一个刷新放大器(每一列都加),就会完成对一行数据的刷新。

(2)刷新方法

分散刷新虽然没有死区,但是刷新过于频繁,并且延长了CPU的读写周期。

 集中刷新每隔2ms对128进行全部刷新,存取周期为0.5us,所以刷新每行也需要0.5us,2ms内,刷新需要64us。在这段死区内,CPU无法对动态RAM进行读写操作。 

异步刷新若将刷新安排在指令译码阶段,就不会出现死区

4.静态RAM与动态RAM的比较

DRAM用于做主存,SRAM用于主存和CPU之间的缓存。这样就可以降低成本同时加快访问速度。

二、ROM

1.ROM发展

 

三、存储器容量扩展

1.位扩展(增加存储字长)

 上图为用两个 1k * 4 位存储芯片组成一个1K * 8位的存储芯片。在读取数据的时候,通过cs片选线同时选中两个芯片,将每个芯片中的四位组成8位传送到数据线上。

2.字扩展

 图中是将连个1k * 8的存储芯片组成一个2k * 8的存储芯片。共需要11根地址线 ,8根数据线,其中10根地址线选中具体的一个地址,第十根地址线用作片选线,当第十根为0时候,使用芯片1,当第十根为1时候,使用芯片2。

3.字与位同时扩展

 用8片 1K * 4位的芯片组成4K * 8位的芯片。其中有12根地址线,8根数据线,其中两根地址线作为片选线,一个片选地址选中两片芯片。


http://www.ppmy.cn/news/58198.html

相关文章

如何理解代码覆盖率?

什么是代码覆盖率? 代码覆盖率(Code coverage)是软件测试中的一种度量,描述应用程序中源代码被测试的比例和程度,所得比例称为代码覆盖率。通常情况下,代码覆盖率是通过计算测试用例的执行结果与代码行数的…

为什么不要相信AI机器人提供的健康信息?

自从OpenAI、微软和谷歌推出了AI聊天机器人,许多人开始尝试一种新的互联网搜索方式:与一个模型进行对话,而它从整个网络上学到的知识。 专家表示,鉴于之前我们倾向于通过搜索引擎查询健康问题,我们也不可避免地会向Ch…

python+django+vue消防知识宣传网站

开发语言:Python 框架:django Python版本:python3.7.7 数据库:mysql 数据库工具:Navicat 开发软件:PyCharm 层随着移动应用技术的发展,越来越多的消防单位借助于移动手机、电脑完成生活中的事…

spring5源码篇(9)——mybatis-spring整合原理

spring-framework 版本:v5.3.19 spring和mybatis的整合无非主要就是以下几个方面: 1、SqlSessionFactory怎么注入? 2、Mapper代理怎么注入? 3、为什么要接管mybatis事务? 文章目录 一、SqlSessionFactory怎么注入SqlSe…

《基于EPNCC的脉搏信号特征识别与分类研究》阅读笔记

目录 一、论文摘要 二、论文十问 三、论文亮点与不足之处 四、与其他研究的比较 五、实际应用与影响 六、个人思考与启示 参考文献 一、论文摘要 为了快速获取脉搏信号的完整表征信息并验证脉搏信号在相关疾病临床诊断中的敏感性和有效性。在本文中,提出了一…

前端开发工程师 - 面试手册

前端开发工程师 - 面试手册 岗位概述 前端开发工程师负责构建和维护网站或Web应用的用户界面。他们使用HTML、CSS和JavaScript等编程语言,实现网页的布局、样式和交互功能。前端开发工程师需要与UI/UX设计师、后端开发人员以及产品经理密切合作,共同打…

【LeetCode股票买卖系列:309. 最佳买卖股票时机含冷冻期 | 暴力递归=>记忆化搜索=>动态规划】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

Contest3111 - 计科2101~2104算法设计与分析上机作业07

问题 A: 有重复元素的排列问题 题目描述 设R{ r 1 , r 2 , …, r n }是要进行排列的n个元素。其中元素r 1 , r 2 , …, r n 可能相同。试设计一个算法, 列出R的所有不同排列。给定n 以及待排列的n 个元素。计算出这n 个元素的所有不同排列。 输入 第1 行是元素个…