感谢支持
我们一直在努力

Linux2.6驱动程序《二》硬件基础

1、通用处理器和嵌入式微控制器


通用处理器(GPP)并不针对特定的应用领域进行体系结构和指令集的优化,具有一般化的通用体系结构和指令集,以支持复杂的运算并易于新开发功能的添加,一般而言,在嵌入式微控制器(MCU)和微处理器(MPU)中会包含一个通用处理器核


MPU通常代表一个CPU(中央处理器),而MCU强调把中央处理器、存储器和外围电路集成在一个芯片中


早起的微控制器被称为单片机,嵌入式微控制器也常被称作片上系统(Soc),含义是在一个芯片上设计整个系统,嵌入式微控制器一般由一个CPU核和多个外围电路集成,目前主流的CPU核如下:ARM、MIPS、PowerPC


CPU体系结构分为;冯诺依曼结构和哈佛结构,前者是将程序指令存储器和数据存储器合并在一起的存储器结构,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,后者是将程序指令的数据分开存储,指令和数据可有不同的数据宽度


<1>冯诺依曼结构



<2>哈佛结构



从指令集来划分,CPU可分为 RISC(精简指令集计算机)和 CISC


2、数字信号处理器(DSP)


DSP针对通信、图像、语音和视频处理等领域的算法而设计,包含独立的硬件乘法器,DSP一般采用改进的哈佛结构,具有独立的地址总线和数据总线,两条总线由程序存储器和数据存储器分时共用



除了上述的通用微控制器和数字信号处理器外,还有针对特定领域而设计的专用处理器(ASP),如网络处理器,它应用于电信领域的各种任务,如包处理、协议分析、路由查找、声音/数据的汇聚、防火墙、QoS(服务质量)等


综上,可分析出的处理器分类如下:


3、存储器


存储器可分为ROM、Flash(闪存)、RAM、光介质存储器和磁介质存储器


ROM还可细分为:不可编程ROM、可编程ROM(PROM)、可擦除可编程ROM(EPROM)和EEPROM、EEPROM完全可以用软件来擦写


ROM逐渐被Flash替代,NOR(或非) 和 NAND(与非) 是市场上两种主要的闪存技术


NOR Flash 和 CPU的接口属于典型的类SRAM接口,不需要增加额外的控制电路,NOR Flash特点是可芯片内执行(XIP,eXecute In Place),程序可以直接在NOR内运行


类SRAM接口图如下:



而NAND Flash 和 CPU的接口必须由相应的控制电路进行转换,也可以通过地址线或GPIO产生NAND Flash接口的信号。NAND Flash以块方式进行访问,不支持芯片内执行


NAND Flash接口主要包含如下信号:


1、I/O总线:地址,指令和数据通过这组总线传输,一般为8位或16位


2、芯片启动(CE#,Chip Enable):如果没有检测到CE#信号,那么 NAND器件就保持待机模式


3、写使能(WE#):将数据、地址或指令写入NAND之中


4、读使能(RE#): RE允许数据输出


5、指令锁存使能(Command Latch Enable,CLE): 当CLE为高时,在WE#信号的上升沿,指令将被锁存到NAND指令寄存器中


6、地址锁存使能(ALE): 当ALE为高时,在WE#信号的上升沿,地址将被锁存到NAND地址寄存器中


7、就绪/忙(Read/Busy,R/B#):如果NAND器件忙,R/B#信号将变低,该信号是漏极开路,需要采用上拉电阻


CFI (Comman Flash Interface)是一个公开的标准的从NOR Flash器件中读取数据的接口,可以使系统查询已安装Flash器件的各种参数,利用CFI,在不修改系统软件的情况下,就可以进行版本升级


Flash编程原理都是只能将1写成0,而不能将0写为1,所以在Flash编程前,必须要讲对应的块擦出,擦出后块内所有位为1


RAM可以分为 SRAM、DRAM,DRAM以电荷形式进行存储,数据存储在电容器中,因而DRAM器件需要定期刷新。SRAM是静态的,只要


供电它就会保持一个值,SRAM没有刷新周期,每个SRAM存储单元由6个晶体管组成,而DRAM存储单元由1个晶体管和1个电容器组成


4、接口与总线


串行通信总线、IIC总线、USB总线、PCI总线等

赞(0) 打赏
转载请注明出处:服务器评测 » Linux2.6驱动程序《二》硬件基础
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏