MCU的架构详解
Microcontroller(微控制器)又可简称MCU或μC,也有人称为单芯片微控制器(Single Chip Microcontroller),将ROM、RAM、CPU、I/O集合在同一个芯片中,为不同的应用场合做不同组合控制。微控制器在经过这几年不断地研究,发展,历经4位,8位,到现在的16位及32位,甚至64位。产品的成熟度,以及投入厂商之多,应用范围之广,真可谓之空前。目前在国外大厂因
开发较早,产品线广,所以技术领先,而本土厂商则以多功能为产品导向取胜。但不可讳言的,本土厂商的价格战是对外商造成威胁的关键因素。 由于制程的改进,8位MCU与4位MCU价差相去无几,8位已渐成为市场主流;针对4位MCU,大部份供货商采接单生产,目前4位MCU大部份应用在计算器、车表、车用防盗装置、呼叫器、无线电话、CD Player、LCD驱动控制器、LCD Game、儿童玩具、磅秤、充电器、胎压计、温湿度计、遥控器及傻瓜相机等;8位MCU大部份应用在电表、马达控制器、电动玩具机、变频式冷气机、呼叫器、传真机、来电辨识器(Caller ID)、电话录音机、CRT Display、键盘及USB等;16位MCU大部份应用在行动电话、数字相机及摄录放影机等;32位MCU大部份应用在Modem、GPS、PDA、HPC、STB、Hub、Bridge、 Router、工作站、ISDN电话、激光打印机与彩色传真机;64位MCU大部份应用在高阶工作站、多媒体互动系统、高级电视游乐器(如SEGA的Dreamcast及Nintendo的GameBoy)及高级终端机等。
而在MCU开发方面,以架构而言,可分为两大主流;RISC(如HOLTEK HT48XXX系列)与CISC(如华邦W78系列)。 RISC (Reduced InstrucTIon Set Computer) 代表MCU的所有指令都是利用一些简单的指令组成的,简单的指令代表 MCU 的线路可以尽量做到最佳化,而提高执行速率,相对的使得一个指令所需的时间减到最短。HOLTEK的HT46XX(A/D MCU系列) HT47XX(R to F MCU系列) HT48XX(一般I/O MCU系列) HT49XX(LCD MCU系列) 便是采用 RISC 结构来设计。不管是 RISC 或是 CISC(Complex InstrucTIon Set Computer),设计MCU的目的便是为人类服务的,对于 RISC 来说,因为指令集的精简,所以许多工作都必须组合简单的指令,而针对较复杂组合的工作便需要由『编译程序』(compiler) 来执行,而 CISC MCU因为硬件所提供的指令集较多,所以许多工作都能够以一个或是数个指令来代替,compiler 的工作因而减少许多。
以一个数值运算程序来说,使用 CISC 指令集的MCU运算对于一个积分表达式可能只需要十个机器指令,而 RISC MCU在执行相同的程序时,却因为CPU 本身不提供浮点数乘法的指令,所以可能需要执行上百个机器指令 (但每一个指令可能只需要 CISC 指令十分之一的时间),而由程序语言转换成机器指令的动作是由程序语言的 Compiler 来执行,所以在 RISC MCU的Compiler 便会较复杂 。因为同样一个高级语言 A=B*C 的运算,在 RISC MCU转换为机器指令可能有许多种组合,而每一种组合的『时间/空间』组合都不尽相同。 所以 RISC 与 CISC 的取舍之间,似乎也是MCU硬件架构与软件(Compiler) 的平衡之争,应该没有绝对优势的一方,只能说因应不同的需求而有不同的产品,例如工作单纯的打印机核心 MCU,便适合使用效能稳定,但单位指令效率较佳的 RISC MCU。
MCU的基本构架:
以架构而言,MCU可分为两大主流∶RISC与CISC。RISC (Reduced InstrucTIon Set Computer)代表MCU的所有指令都是利用一些简单的指令组成的,简单指令代表MCU的线路可以尽量做到最佳化,提高执行速率可使指令所需的时间减到最短。HOLTEK公司的HT46XX、HT47XX、HT48XX、HT49XX便是采用 RISC结构来设计。
不管是RISC或是CISC(Complex InstrucTIon Set Computer),设计MCU的目的都是为人类服务的,对於RISC来说,因为指令集的精简,所以许多工作都必须组合简单的指令,而针对较复杂组合的工作便需要由"编译程序 (compiler)"来执行,而CISC MCU因为硬体所提供的指令集较多,所以许多工作都能够以一个或是数个指令来代替,编译程序的工作因而减少许多。
一般来说,MCU基本架构包括有程式记忆体(Program ROM)、累积器(Accumulator)、寄存器(Register)、堆叠(Stack)及堆叠指标(Stack Pointer)、I/O口、定时/定时/计数器、中断(Interrupt)。MCU还可以加挂一些周边资源,以扩充和延伸MCU的功能,这也正是系统设计工程师实现"产品差异化"的关键。这些周边资源包括:
1、串行输出(Serial I/O)
MCU内含Serial I/O是为了
- 浅析便携系统中微处理器功耗的设计考虑(06-25)
- 一个FPGA中现在可集成多少32位RISC处理器?(02-10)
- Board从入门到精通系列(六)(02-11)
- GRVI Phalanx实现千核处理器(02-15)
- 高云半导体宣布加入RISC-V基金会(09-18)
- 智能手机中的RAM和ROM是什么?(09-18)