一、寄存器
微处理器微控制器,和各种外设芯片都有寄存器,比如单片机微控制器,dsp微处理器,x86,arm,mips结构的cpu
和超声波模块,摄像头图像处理芯片,时钟芯片,温度传感器之类的模块等等都有寄存器,
所以寄存器就是各种芯片内部的一个速度最快的内存,不同的地址有不同的作用,你用c语言或者汇编往相应的地址里写相应的指令
该芯片就会控制晶振往内存里读或者写相应的数据
二、内存
先说几个名词,RAM(Random Access Memory),ROM(Read Only Memory),FLASH,分别是随机存储器,只读存储器,闪存,RAM存运行时的数据比如常说的电脑4G内存,手机3G内存
ROM可以存BIOS或者Bootloader之类的引导程序,因为不能擦写,可以把程序固化到里面,闪存比如U盘,调试单片机,DSP之类的用JTAG或者BDM仿真时程序就存到闪存里
因为闪存可以擦写很多次,最后程序确定可了以存到ROM里
第一个最快,掉电数据丢失,第二个慢,掉电不丢失,第三个中等,掉电不丢失
RAM又有SRAM(Static Random Access Memory),DRAM(Dynamic Random Access Memory),分别是静态随机存储器,动态随机存储器,这两种前面加上S(Synchronous)就是同步加上A(Asynchronous)就是异步
DRAM就是买电脑说的4G内存买手机说的2G内存,程序进程,线程,定义个变量,开辟个空间,进行运算什么的都是用的这个,类似于手机卡死了扣电池
重启就所有程序都关了,因为数据丢失了
SRAM虽然也掉电丢失,但是不需要不断刷新,所以很贵,一般用于CPU与DRAM之间的缓存cache,为什么DRAM要刷新呢,因为他类似于很多电容,数据就是有电没电,1,0表示,电容可能自己充放电,数据就丢失了,需要检查,把大于二分之一的充电,小于的放电,保持数据
同步异步指的时钟脉冲,学过数电的应该都知道
ROM分为PROM,EPROM,EEPROM
PPRM(Programmable Read Only Memory)就是可编程一次的只读存储器
EPROM(Erasable Programmable Read Only Memory)可紫外线擦除的只读存储器,次数有限
EEPROM(Electrically Erasable Programmable Read Only Memory)可电擦除的只读存储器,次数多一些
不过可擦除次数最多的是FLASH,所以FLASH才作为单片机,dsp之类的下载调试程序的存储器,或者U盘之类的不断擦写的存储设备
FLASH分为NOR FLASH和Nand Flash
这两个没太大区别,一个擦除快一点,一个写入快一点
三、外存
外存就是硬盘光盘之类东西,和之前讨论的不是一个东西,一般电脑说500G,1T之类的就指他了,存电影音乐之类的东西,有些硬盘也是FLASH的