微处理器和微控制器的区别.doc
上传人:sy****28 上传时间:2024-09-14 格式:DOC 页数:4 大小:19KB 金币:18 举报 版权申诉
预览加载中,请您耐心等待几秒...

微处理器和微控制器的区别.doc

微处理器和微控制器的区别.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

18 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

微处理器和微控制器的区别这样的区别主要集中在硬件结构、应用领域和指令集特征3个方面:1)硬件结构微处理器是一个单芯片CPU,而微控制器则在一块集成电路芯片中集成了CPU和其他电路,构成了一个完整的微型计算机系统。图1-6虚线框中所示是大多数微控制器的完整结构。除了CPU,微控制器还包括RAM、ROM、一个串行接口、一个并行接口,计时器和中断调度电路。这些都集成在一块集成电路上。虽然片上RAM的容量比普通微型计算机系统还要小,但是这并未限制微控制器的使用。在后面可以了解到,微控制器的应用范围非常广泛。微控制器的一个重要的特征是内建的中断系统。作为面向控制的设备,微控制器经常要实时响应外界的激励(中断)。微控制器必须执行快速上下文切换,挂起一个进程去执行另一个进程以响应一个"事件"。例如,打开微波炉的门就是一个事件,在基于微控制器的产品中这个事件将触发一个中断。微处理器也能拥有强大的中断功能,但是通常需要外部元件的配合,而微控制器在片上集成了所有处理中断必需的电路。2)应用领域微处理器通常作为微型计算机系统中的CPU使用。其设计正是针对这样的应用,这也是微处理器的优势所在。然而,微控制器通常用于面向控制的应用。其系统设计追求小型化,尽可能减少元器件数量。在过去,这些应用通常需要用数十个甚至数百个数字集成电路来实现。使用微控制器可以减少元器件的使用数量,只需一个微控制器、少量的外部元件和存储在ROM中的控制程序就能够实现同样的功能。微控制器适用于那些以极少的元件实现对输入/输出设备进行控制的场合,而微处理器适用于计算机系统中进行信息处理。3)指令集特征由于应用场合不同,微控制器和⒋砥鞯闹噶罴灿兴煌N⒋砥?的指令集增强了处理功能,使其拥有强大的寻址模式和适于操作大规模数据的指令。微处理器的指令可以对半字节、字节、字,甚至双字进行操作。通过使用地址指针和地址偏移,微处理器提供了可以访问大批数据的寻址模式。自增和自减模式使得以字节、字或双字为单位访问数据变得非常容易。另外,微处理器还具有其他的特点,如用户程序中无法使用特权指令等。微控制器的指令集适用于输入/输出控制。许多输入/输出的接口是单/位的。例如,电磁铁控制着马达的开关,而电磁铁由一个1位的输出端口控制。微控制器具有设置和清除单位的指令,也能执行其他面向位的操作,如对"位"进行逻辑与、或和异或的运算,根据标志位跳转等。很少有微处理器具备这些强大的位操作能力,因为设计者在设计微处理器时,仅考虑以字节或更大的单位来操作数据。在对设备的控制和监视方面(可能是通过一个1位的接口),微控制器具有专门的内部电路和指令用于输入/输出、计时和外部中断的优先权分配。微处理器一般需要配合附加的电路(串行接口芯片、中断控制器、定时器等)才能执行相同的任务。不过,单纯就处理能力而言,微控制器永远达不到微处理器的水平(在其他条件相同的情况下),因为微控制器芯片中的集成电路的很大一部分用于实现其他的片上功能,代价就是牺牲掉一部分处理能力。由于微控制器芯片上的资源非常紧张,它的指令必须非常精简,大部分指令的长度都短于1个字节。控制程序的设计原则通常是要求程序能够装入片上的ROM,因为即使只增加1片外部ROM也将显著提高产品的硬件成本。微控制器指令集的基本特点就是具有精简的编码方案。微处理器不具备这样的特点,因为它们强大的寻址模式使得指令编码不够简洁。配置文件实现--各个模块相应的配置实现系统核心配置需要的配置实现核心头文件实现--只要涉及数据类型,核心常量实现的定义,相关的状态码或者错误码的实现;宏或者枚举来实现;错误码该由谁来实现,不同的模块不同含义的错误码却有相同的值,该如何处理;扩展数据或者借口的实现以及数据类型的实现;声明与实现必须同时使用必要的控制条件;如果没有实现,会出现什么情况?编译时可能就会出错,不会等到汇编甚至链接时了;那么实现文件这样写或者这样实现的目的是为了什么呢?因为这样,通过包含头文件,通过头文件来控制代码的生成,既可以实现减小编译时间,预编译时对源文件进行瘦身,另外一个好处就是编译时花费时间减少,同时若是静态编译时,会产生不同的符号表,链接时减少代码的容量。头文件控制声明、以及源文件实现时控制的不同作用及好处。裁剪的目的及好处;没有用到的符号表会不会重定位?配置的作用就是开关,那么要检查他开关的是什么东西,我通过这个开关来如何实现控制代码的实现或者数据的实现或者接口的声明;配置到底代表什么,如何实现,如何来开关?仅仅是开关