RAM、ROM和磁盘
计算机存储数据的存储器主要分为RAM(随机訪问存储器)、ROM、磁盘。
RAM又分为SRAM和DRAM两种,SRAM用作快速缓存,DRAM用作主存。
1.SRAM
SRAM又被称为静态RAM。利用双稳态电路进行存储。即使有干扰对稳态电路也没影响,所以因为双稳态性,仅仅要有电,SRAM中的数据就不会有变化。SRAM的双稳态性,就类似于双摆,两边稳定的,中间是不稳定的。或许有时候电路会处于不稳定状态。但非常快会恢复到左稳态或右稳态。一直保持这个状态。如图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
2.DRAM
DRAM又称为动态RAM。对电容进行充电来存储位。
有干扰因素比方光,会对DRAM上的数据有影响。
DRAM中主要由多行多列的二维的超单元和缓存组成,每一个超单元有8位(1字节组成),如图:
DRAM和控制器通过data引脚和addr引脚相连接,接受控制器传过来的信号。依据信号来存储数据或读出数据。如图:
控制器与DRAM的交互过程:
①.控制器通过addr引脚发送超单元的行号给DRAM
②.DRAM收到控制器发过来的行号便把超单元二维表格中的指定的行数据放入DRAM的缓存中
③.控制器通过引脚addr发送超单元的列号给DRAM
④.DRAM收到控制器的列号。从缓存中读取指定列的数据,并把数据通过data引脚传输给控制器
3.ROM
SRAM和DRAM都是断电数据都会丢失的,并且都是仅仅读的,ROM是可读可写的。
比如:CPU处理一条指令。该指令是把A的值存放到寄存器中,那么cpu首先通过总线接口发信号给控制器,然后控制器再依据信号然后发送指令给DRAM来进行操作。
4.磁盘
磁盘:存储大数据和结构。
磁盘由多个磁片组成。每一个磁片的分为上下表面也称为面。
每一个面都有非常多个同心圆,每一个圆称为磁道。磁道由扇区组成。扇区与扇区之间的间隙不存数据。用来表示扇区格式化位。
5.磁盘存储
磁盘上最小的存储单位是扇区,通过传动臂能够对磁盘进行读写,每一个磁面上都有一个传动指针,依据传动臂的抖动来寻找到磁道,然后对该磁道上的扇区进行读写,如图:
磁盘读写的三个性能指标:
寻道时间:传动臂寻找到要读取扇区所在磁道的时间
旋转时间:在指定磁道寻找到指定扇区的时间
传送时间:从找到指定扇区開始传送这个扇区数据时间
曾经老的存储技术是每一个磁道上的扇区个数是同样的,尽管简单可是存储容量小,如今是以一种存储容量更大的存储技术取代,磁面上分成多个子集。在这个子集中的磁道上的扇区个数同样。
磁盘上每一个扇区都有一个唯一逻辑号标识。cpu通过制定逻辑号来读写相应的磁片上指定磁道中的指定扇区,如图:
主机上的I/O设备是通过I/O总线与CPU连接的。
通用串行总线控制器:控制键盘、鼠标等设备通过串行总线与cpu连接。
图形显示控制器:控制图形的显示。
主机总线适配器:控制磁盘与cpu的连接。
cpu会预留一段地址空间给磁盘,cpu要操作磁盘,得发出三个指令:
①.操作类型。读还是写
②.操作磁盘上块区域
③.主存的地址
cpu发出指令后,磁盘依据指令来读取或则把内存中的数据写到磁盘中,假设是读数据,读出的数据在写入cpu指定的主存地址,读写完成后在发出一个中断指令给cpu。
6.固态硬盘
固态硬盘比磁盘存储速度快非常多。主要由闪存和翻译层组成,闪存由非常多块组成,每一个块由多个叶组成,叶是固态硬盘的最小存储单位。读固态硬盘比写固态硬盘快非常多,由于写固态硬盘之前要擦除数据,假设要写的叶上有数据。还得备份数据
RAM、ROM和磁盘的更多相关文章
- 程序如何在RAM ROM运行,内存分配与分区
关于RAM ROM RAM与ROM就是具体的存储空间,统称为存储器 RAM(random access memory):运行内存,CPU可以直接访问,读写速度非常快,但是不能掉电存储.它又分为: 动态 ...
- CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
自我学习:一.线程安全日期格式化操作的几种方式:1.每次new一个新对象:public static Date parse(String date) throws ParseException { r ...
- RAM,SRAM,DRAM,SDRAM,DDR RAM,ROM,PROM,EPROM,EEPROM,NAND FLASH,NOR FLASH的区别
RAM:由字面意思就可以理解,SDRAM SRAM DRAM(下面蓝色字体的这几种)都可以统称RAM,random access memory(随机存取存储器)的缩写,下面是51hei.com为大家整 ...
- Android读取RAM,ROM,SD卡容量
1)简介 一般人们在买手机的时候,在手机配置上都会出现"内存容量:512MB ROM+512MB RAM "等等类似这样的说明,可能很多人都知道RAM的意思就是运存的意思,但是对于 ...
- 使用 stvd 编译STM8S 时能看到使用RAM ROM大小的方法
刚刚安装的STVD编译器,编译时候不显示用了多少RAM和ROM?对于此问题.有两个方法:一是看.map文件 还有一种是 添加一个补丁,详细操作例如以下,能够在我的资源里下载对应的文件. http:// ...
- RAM,ROM,NAND Flash,NOR Flash(A)
他们四者相互独立 RAM掉电易失数据: RAM又分两种,一种是静态RAM,SRAM:一种是动态RAM,DRAM.前者的存储速度要比后者快得多,我们现在使用的内存一般都是动态RAM. DDR是Doubl ...
- MOV/MOVX/MOVC、RAM/ROM
(一) MOV:访问内部RAM(数据存储器),串行口访问 (对于51单片机来说,内部RAM256bit,00H-FFH) MOVX:访问外部RAM MOVC:访问程序存储器 ROM,(对于51单片机来 ...
- RAM ROM区别记忆
我老是忘这个 1.概念 RAM即随机存储内存,这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序.ROM即只读内存,是一种只能读出事先所存数据的固态半导体存储器. 2.对比 手机中的R ...
- RAM/ROM IP一次性总结
1, 若需要修改memory mode, 需重新编译; 若不需要修改memory mode, 直接修改宏参数即可; 2, 宏参数列表: 3, 注意用LE搭memory的情况; 4, memory ty ...
随机推荐
- install docker-ce for ubuntu
may need login vpn first docker-ce for ubuntu chinese version docker-ce for ubuntu
- PHP调用webService WSDL 接口发送邮件
1.什么是 webService WSDL? webService WSDL 暴露一些接口给第三方调用,在底层会转化成一个HTTP请求,主要是不同语言之间为了通讯的一个协议,比如发送邮件的系统是用J ...
- tornado框架基础02-输入和输出
01 输出 write bytes类型 class IndexHandler(tornado.web.RequestHandler): def get(self): self.write(b'Torn ...
- HDU 1087 Super Jumping! Jumping! Jumping! (LIS的最大和)
题意: 给定n个数的序列, 找出最长上升子序列和. 分析: #include<cstdio> #include<iostream> #include<queue> ...
- ASP.NET Core on K8S学习初探(1)K8S单节点环境搭建
当近期的一个App上线后,发现目前的docker实例(应用服务BFF+中台服务+工具服务)已经很多了,而我司目前没有专业的运维人员,发现运维的成本逐渐开始上来,所以容器编排也就需要提上议程.因此我决定 ...
- winform中ComboBox控件的简单使用
在开发winform中用到了ComboBox,但是发现和asp.net中的DropDownList差别比我想象中的大. 给ComboBox添加数据总结的有两种方法(绑定数据库在这里不说): 第一种方法 ...
- php引入PHPMailer发送邮件
昨天做了一个发送邮件的功能,如果直接用mail()函数,需要拥有自己的邮件服务器,所有引入PHPMailer类方便快捷,简单写一下开发步骤: 一.拥有自己的邮箱账号(作为发件人邮箱) 分两种情况: 1 ...
- Linux基础之重定向|grep
重定向 > :覆盖输出>> :追加输出 2> :重定向错误输出2>> : 追加方式 &> : 重定向标准输出或者错误输出 ...
- HDU 4418 高斯消元解决概率期望
题目大意: 一个人在n长的路径上走到底再往回,走i步停下来的概率为Pi , 求从起点开始到自己所希望的终点所走步数的数学期望 因为每个位置都跟后m个位置的数学期望有关 E[i] = sigma((E[ ...
- [NOIP2000] 提高组 洛谷P1017 进制转换
题目描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 1*10^2+2*10^1+3*10^ ...