内存地址的确定
好比在一个书房,存放书籍的书架和书柜相当于电脑的外存,我们工作的办公桌相当于内存。
内存:内存又称主存,计算机中的程序的运行都是在内存中进行的,只要计算机在运行,计算机CPU就会把需要的计算数据调到内存中进行运算。
硬盘:从计算机的结构体系来讲,硬盘应该算是计算机的“外存”。
内存和硬盘的主要区别,主要为以下三点:
1、内存是计算机运行的场所,硬盘用来存放暂时不用的信息;
2、内存是半导体材料制成的,硬盘是磁性材料制成的;
3、内存中的信息会随掉电消失,硬盘中的信息可以长久保存。
4、硬盘中的信息只有装入内存后才能被处理。
o 对寄存器编程可以将其看成是一个个的开关,我们要用到哪个输入模式,就闭合哪个开关。
CPU的寄存器都是一些特殊值,如R0,R1,它是没有地址的。
所以register关键字和取地址运算符&是八字不合的。
按照工作原理可以分为ROM,RAM和cache
• Read only memory只读存储器,断电后存储的数据不会消失。
o 只能读不能写,初代时一般在装机前由厂家写入,用完就报废。
o 数据稳定,读写没RAM快。
• BISO
o Basic input output system基本输入输出系统,只能读不能写,1975
o 里面主要是启动时的一些加载项
o 可编程只读存储器,写入后数据无法更改,厂商来写
o 用的是熔丝技术,每一位数据由熔丝的状态决定。熔断代表0,反之代表1
o Erasable programmable ROM 可擦除可编程只读存储器
o 用高压写入数据,用紫外线擦除,需要专用的装置擦写
o One time programmable ROM一次编程只读存储器
o 在EPROM的基础上,不设置擦写窗,做一次性使用
o E方普ROM,electrically erasable programmable ROM电可擦除可编程只读存储器。
o 微芯公司生产,256K数据(B K M G T单位代换)
o 写和擦的方式都是高压电场。高压用电荷泵电路产生。
o 比如遥控器的用户设置的信息就存放在E方普ROM中。
• 闪存,本质上属于E方普ROM(EEPROM),通过电擦除写入。当然最流行的只读存储器!
o 栅极上电后少子进入浮栅层,下电后由于遂穿层的存在,回不去了。达到长久存储的目的。如果要释放电子,需要给栅极加上负电压。这就是flash存储一位数据的原理。
o 遂穿层本质上也是绝缘体,不过在通电的时候会导通。
o 读数据也很简单,栅极加一个低压,如果存储了电子,电子会有排斥作用,所以不会有SD的电流。如果没有存储电子,晶体管导通。
o NOR flash 将晶体管并联在了一起,它的每一位都可以被寻址
o NAND flash就是将晶体管串联在了一起,电路更简单,可以更大容量的集成。
NAND Flash在出厂时就有一定的坏块,而且是随机分布,这是由NANDFlash的工艺造成的,它产生的原因是解码失败、地址线错误和存储单元等,当区块超出擦写次数时也很容易变成坏块。
以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。所以,NAND Flash被允许在出厂时有很少量的坏块。
当区块变成坏块,则不可以对其进行擦写和写操作,相当于这部分资源报废了。但坏块和好块之间是相互独立的,这是由于他们被一个选定的晶体管把位线和指令线分开。
NOR flash也有坏块,不过相对来说比较少,它在内部通常会通过循环冗余比特校验或者纠错码来进行管理。
2、其次,NAND Flash在应用中会出现位翻转错误(bit failture)。虽然概率很低,大约每100亿次写操作才会出现一次,但是对于用作系统根文件系统的存储设备,这种错误是绝对不允许的。因为这种错误万一发生在系统配置文件上,则会影响系统的运行。但是作为流媒体文件的存储器,位翻转的问题并不大。
3、最后,NAND Flash和NORFlash在应用接口上有着本质的区别,NAND Flash是I/O方式,NOR Flash是总线方式,这是它们除了价格以外最主要的差别。
• Random access memory随机存取存储器
o 断电后存储的数据会消失。
o 但存取速度要远远大于ROM
内存条就是将RAM集中在一起的小电路板!它插在计算机中的内存插槽上,以减少RAM集成块占用的空间。
目前市场上常见的内存条有4G,8G,16G,32G等。
但内存条是DRAM,SRAM同容量比DRAM需要非常多的晶体管,发热量也非常大。因此SRAM难以成为大容量的主存储器。
o Static RAM静态随机存取存储器
o CPU的L1与L2缓存就是SRAM
o 信息存储靠的是门电路,使用的晶体管多,但是非常快,不能大量集成。
当CPU向内存中写入或读出数据时,这个数据也被存储进高速缓冲存储器中。
当CPU再次需要这些数据时,CPU就从高速缓冲存储器读取数据,而不是访问较慢的内存,当然,如需要的数据在Cache中没有,CPU会再去读取内存中的数据。
o Dynamic random access memory 动态随机存取存储器,就是我们的内存条!注意RAM,ROM和高速缓存广义上都属于内存!
o 电脑上的内存条就是DRAM
o 靠电容存储信息,所以需要不断给电容充放电,速度就慢
o 读取数据,只要读取电容的电平。但是电容有漏电流,一段时间就漏完了,需要不断给电容刷新充电,断电不能恢复。
PSRAM全称Pseudo static random access memory,指的是伪静态随机存储器。
PSRAM主要应用于手机,电子词典,掌上电脑,PDA,PMP,MP3/4,GPS接收器等消费电子产品。
目前智能手机基本采用256MB以上的PSRAM,很多采用512MB。比较于SDRAM,PSRAM的功耗要低很多。所以对于要求有一定缓存容量的很多便携式产品是一个理想的选择。
SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM