计算机存储数据的存储器主要分为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和磁盘的更多相关文章

  1. 程序如何在RAM ROM运行,内存分配与分区

    关于RAM ROM RAM与ROM就是具体的存储空间,统称为存储器 RAM(random access memory):运行内存,CPU可以直接访问,读写速度非常快,但是不能掉电存储.它又分为: 动态 ...

  2. CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介

    自我学习:一.线程安全日期格式化操作的几种方式:1.每次new一个新对象:public static Date parse(String date) throws ParseException { r ...

  3. RAM,SRAM,DRAM,SDRAM,DDR RAM,ROM,PROM,EPROM,EEPROM,NAND FLASH,NOR FLASH的区别

    RAM:由字面意思就可以理解,SDRAM SRAM DRAM(下面蓝色字体的这几种)都可以统称RAM,random access memory(随机存取存储器)的缩写,下面是51hei.com为大家整 ...

  4. Android读取RAM,ROM,SD卡容量

    1)简介 一般人们在买手机的时候,在手机配置上都会出现"内存容量:512MB ROM+512MB RAM "等等类似这样的说明,可能很多人都知道RAM的意思就是运存的意思,但是对于 ...

  5. 使用 stvd 编译STM8S 时能看到使用RAM ROM大小的方法

    刚刚安装的STVD编译器,编译时候不显示用了多少RAM和ROM?对于此问题.有两个方法:一是看.map文件 还有一种是 添加一个补丁,详细操作例如以下,能够在我的资源里下载对应的文件. http:// ...

  6. RAM,ROM,NAND Flash,NOR Flash(A)

    他们四者相互独立 RAM掉电易失数据: RAM又分两种,一种是静态RAM,SRAM:一种是动态RAM,DRAM.前者的存储速度要比后者快得多,我们现在使用的内存一般都是动态RAM. DDR是Doubl ...

  7. MOV/MOVX/MOVC、RAM/ROM

    (一) MOV:访问内部RAM(数据存储器),串行口访问 (对于51单片机来说,内部RAM256bit,00H-FFH) MOVX:访问外部RAM MOVC:访问程序存储器 ROM,(对于51单片机来 ...

  8. RAM ROM区别记忆

    我老是忘这个 1.概念 RAM即随机存储内存,这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序.ROM即只读内存,是一种只能读出事先所存数据的固态半导体存储器. 2.对比 手机中的R ...

  9. RAM/ROM IP一次性总结

    1, 若需要修改memory mode, 需重新编译; 若不需要修改memory mode, 直接修改宏参数即可; 2, 宏参数列表: 3, 注意用LE搭memory的情况; 4, memory ty ...

随机推荐

  1. L_01 网络字节顺序

    (1)计算机在存储多字节数据时存在大端字节顺序和小端字节顺序两种方式. 大端:高位字节排放在内存的低地址端(即该值的起始地址),低位字节排放在内存的高地址端. 小端:低位字节排放在内存的低地址端(即该 ...

  2. 在window下搭建即时即用的hyperledger fabric 的环境

    有版本号的严格按要求,遇到不少坑 1)安装git  版本无要求 2)安装go  1.9   配置环境变量 3)安装Vagrant  1.9.4 4)安装VirtualBox  5.1.28 5)在go ...

  3. 【亲测可行】Dev c++调试、运行报错解决方法总结

    一.编译后  0错误 0警告,但是开始出现‘‘停止运行’’或者进行输入时出现‘‘停止运行’’ 可能的原因: 结构体指针为空,但调用了其成员. 有些scanf语句中忘记添加取址符. 无法跳出递归. 二. ...

  4. 一篇文章掌握nightwatch自动化测试

    nightwatch.js是一个web-ui自动化测试框架,被vue-cli深度整合进来.如果一个项目是基于vue-cli搭建的,基本可以做到开箱即用. 但是我们不可能一直都使用vue-cli.因为它 ...

  5. 条款24:若所有参数皆需要类型转换,请为此采用non-member函数(Declare non-member functions when type conversions should apply to all parameters)

    NOTE: 1.如果你需要为某个函数的所有参数(包括this指针所指的那个隐喻参数)进行类型转换,那么这个函数必须是个non-member.

  6. 第三章:systemverilog文本值和数据类型

    1.增强的文本值 2.改进的`define文本替换 3.时间值 4.新的变量类型 5.有符号和无符号类型 6.静态和动态变量(***) 7.类型转换 8.常数 增强的文本值(文本赋值增强) 主要是:位 ...

  7. 杭电 2647 Reward (拓扑排序反着排)

    Description Dandelion's uncle is a boss of a factory. As the spring festival is coming , he wants to ...

  8. python练习——小程序

    1.打印0-10(while/for) count = 0 while count < 11: print(count) count += 1 for i in range(11): print ...

  9. Android开发——获取应用数据/缓存大小并清理缓存

    1. 获取应用数据/缓存大小 其中pm为实例化的PackageManager,因为需要遍历所有的已安装的应用.因此需要开启子线程进行处理. 还有需要注意的是,在Android4.2之前getPacka ...

  10. sed之h;H和:a;N;ba使用精解(对段落进行操作)

    1) 文本: Handle 0x0058, DMI type 20, 19 bytes Memory Device Mapped Address         Starting Address: 0 ...