单片机和微处理器的最大区别在于单片机内集成了更多的外围设备控制器。单单是为了搞定那些基本的外围设备,搭建一个微处理器的开发环境是不太可能的。因为搭建这个环境要调用很多外部设备的驱动程序,最简单的键盘、鼠标的驱动可也不是那么简单的事情,如果涉及到一些 外围设备控制器 则更加需要程序员手动编写底层驱动,并协调多个设备的资源冲突和优先级。
与微处理器相比,单片机的系统结构更为简单,常用的单片机的封装形式基本都是DIP,而微处理器常用的封装形式为PGA和BGA,制造难度更大,成本也更高。
单片机更为稳定,是因为单片机内部的各种功能、控制器模块在设计时都是被固化在一块芯片内部的,不会像微处理器这样,由于在系统外接设备和不同环境下的资源变化等情况下造成系统的不稳定性。
此外,CPU 与其他控制芯片所形成的系统 需要通过各种类型的总线将各个部分连接起来,这样会增加一定的传输延迟;而单片机内部的各功能控制芯片之间的通信是经过高速数据总线进行实现的,因此延迟非常小,其运算速度相对大大提升。
单片机很少有通用的处理器如寄存器组、数学协处理器、浮点运算器、矩阵处理器等,因此相比于微处理器,单片机的资源利用率更高。其所占用的封装更小,设计成本和生产成本则较低。此外,由于单片机所具备的外围设备控制器模块已经固化在芯片内,因此使用单片机开发嵌入式系统可以避免许多花费大量CPU资源的工作。
单片机的实时性和可靠性要比微处理器更高。单片机的控制模块与电路之间更为紧密,单片机可通过多个处理芯片来实现各个模块之间的数据传输,协同完成多项工作,从而能快速响应外部提示并及时处理。而微处理器由于应用场景和使用复杂度不同,往往需要设计大量的软件算法才能满足生产环境的需求,这在时间响应状况上不如单片机。
综上所述,单片机的内部集成了丰富的外围设备控制器,具有系统稳定性、资源占用率低等优势,因此在许多场合都优于微处理器。虽然单片机的运算性能有限,但它们在嵌入式系统中具有得天独厚的优势。