在谈论嵌入式处理器体系之前,需要先谈一下处理器,记得在哪看到说,不同处理器之间最本质区别就是指令集和逻辑体系。
1.指令与指令集
指令构成=操作码+操作数,前者即操作行为,后者为操作对象的数据或者数据所在内存单元地址,程序为指令序列,指令也称为程序指令。指令的执行是由CPU完成的,CPU是处理器的简称,cpu核心部件=控制单元CU+执行单元EU,(数量:EU>CU,EU=核数量)。 CPU执行指令的过程如下:cpu根据程序计数器(pc)指向的存储器地址取出指令,指令译码器(ID)将指令中的操作码翻译成相应控制信号,时钟脉冲与控制信号相结合,就控制各个部件完成相应操作。
指令的集合就构成了指令集(ISA),指令集包括精简指令集(RISC)和复杂指令集(CISC)两类,前者:大多嵌入式处理器使用RISC,如ARM使用ARM指令集,MIPS使用MIPS32指令集,后者:早期的X86处理器。一个处理器至少支持一种指令集,这也在一程度上反映了其逻辑体系。
2.处理器的基本逻辑体系
也常和计算机体系结构放在一起,处理器逻辑体系是CPU+存储器+总线结构一起来看的,其逻辑体系主要有3类:冯诺依曼、哈佛结构。两者的改进型。 (1)冯诺依曼,程序指令和数据存储使用同个存储器,同时使用同一套总线传输的计算机体系结构,取指令和取操作数以分时复用方式在同一套总线上进行。 (2)哈佛结构,程序指令和数据采用独立的物理存储器,并通过两套总线进行独立传输。 (3)两者的融合或者改进,也比较多。
3.不同类型的嵌入式处理器
嵌入式处理器只是微处理器的分支。 3.1微控制器(mcu) 即单片机,以CPU为核心,通过内部总线在片内集成存储器(程序、数据)、定时器/计数器、特定I/O接口与组件等,因此叫做单片机,代表:MCS-51、AVR单片机,在消费电子、汽车电子、工业控制上用的多一些。 3.2嵌入式微处理器(empu) 其逻辑结构、设计原理同通用微处理器比较接近,但是其设计主要是针对一定的应用,如移动终端、通信服务,形成了多种体系结构,如ARM/MIPS/Power PC等。 EMPU的I/O集成度普遍比较低,因此硬件设计主要偏向以其为核心进行外部I/O扩展。 3.3数字信号处理器(DSP) 强调其计算能力,代表有TI公司的TMS320各个系列,AD公司的ADSP21xx系列,DSP的特点是:集成度高、哈佛结构,计算核体系优化。 3.4可编程逻辑器件(PLD) 即可根据需求来配置或动态改变电路逻辑的集成电路,典型PLD:可编程阵列逻辑(PAL)、可编程逻辑阵列(PLA)、复杂可编程逻辑器件(CPLD)、现场可编程门阵列(FPGA)。 这里主聊FPGA,其以Verilog或VHDL编程方式进行逻辑电路设计和布局。 3.5片上系统(Soc) 通过将计算机系统所需要的微处理器、存储器、I/O接口等资源集成到单一芯片内部,就构成了片上系统,该芯片仅需要少量逻辑和接口扩展,然后植入嵌入式软件就可以构造出完整嵌入式系统。 部分SOC芯片采用FPGA作为核心,通过在线编程接口,根据需要改变SOC的硬件逻辑,就称为片上可编程系统(SoPC). 3.6多核、众核处理器(MP) 这就涉及到处理器发展趋势了,单位面积晶体管数量的提高、优化的计算体系和提高的工作频率等技术虽然提高了处理器的性能,但是受限于现有处理器设计技术,并行化成为现阶段提高计算性能的有效途径,因此现有复杂计算系统都基于多个或者异构处理器来设计。 多核处理器(MP)在单颗处理器中集成2个及以上完整计算核(MCU/EMPU/DSP的一种或者组合),每个核可独立运行程序指令,各个计算核之间数据共享和同步方式有两种:通过片上Cache结构、通过总线互联结构。比如TI的TMS320C6678就是为同构的八核DSP嵌入式处理器。 计算核数量在10个以上的处理器可以称为众核处理器,众核处理器体系主要有两类:注重图形并行处理的专用体系,代表:ARM Mali GPU和AMD GCN;面向通用高性能计算。代表Intel MIC。
|