单片机与8086/8088的差异从广义上来看8086/8088属于微处理器(MPU),而单片机则属于微控制器(MCU),所以先来处理微处理器和微控制器的区别
这样的区别主要集中在硬件结构、应用领域和指令集特征3个方面:1
硬件结构微处理器是一个单芯片CPU,而微控制器则在一块集成电路芯片中集成了CPU和其他电路,构成了一个完整的微型计算机系统
而一个完整的微型计算机系统不仅除了CPU以外还包括存储器(ROM、RAM)、串并行的I/O接口,计时器和中断调度电路
这些都集成在一块集成电路上
此外,微控制器的一个最为重要的特征便是内建的中断系统
作为一个面向控制的设备,微控制器经常要实现响应外界的中断,微控制器必须能够快速的执行上下文的切换,在执行一个进程的时候去执行另一个进程响应一个“中断事件”
应用领域微处理器通常作为微型计算机系统中的CPU使用而这一点也是微处理器的优势所在
然而,微控制器通常应用于面向控制的应用
其系统设计追求小巧(大小方面),从而尽可能达到减少元器件的数量
在过去的很长一段时间中,我们将其应用到实际中时需要成千上万个数字集成电路来完成
但现在我们可以使用微控制器不仅减少了元器件的数量还能够完成同样的功能,由此我们可以推断出微控制器适用于那些需要极少的元器件来实现对输入/输出设备的控制而微处理器则适用于计算机系统中进行信息处理
指令集特征在第二点中我们提到微处理器和微控制器的应用领域不同,所以他们的指令集也会有所差异
微处理器的指令集增强了处理功能,使其拥有强大的寻址模式和适于操作大规模数据的指令
微处理器的指令可以对半字节、字节、字、双字节进行操作
通过使用地址指针和地址偏移,微处理器提供了可以访问大批数据的寻址模式
自增和自减模式使得以字节、字或双子为单位访问数据变得非常容易
微控制器的指令集适用于输入/输出控制
许多输入/输出的接口是单/位的