目前市场上流行的8-bit MCU基本可以分为三类
1) NEC, Renasas, STM, Freescale的都是起源于Moto的6805
2) NXP, Infineon的起源于Intel 8031/8051及其衍生版本
3) RISC: PIC, MSP430, ATMEL都是后来基于RISC概念开发的
6805的起源非常古老,向上可以追述到1974年的6800, 在1980年前后,Moto推出针对8-bit的嵌入式的单片机6805, 是在6805的基础上做了一些精简(包括缩减B寄存器等). 之后又推出了68HC05,就是后来非常流行的HC05家族. 这个家族的版本被不停地演进了很多年,包括ST在内的很多公司都生产了类似的产品. ST7基本就是建立在HC05家族上. Renasas的基本也是差不多. NEC的在内存分配上做了比较大的调整, 差不多是6805的地址调了个头. 之后Moto/Freescale开发了HC08, 在HC05基础上做了比较大的升级, 在指令集, 寻址模式上都不同程度地做了升级. 今天的HCS08是HC08基础上的一个性能的提升. 但是指令集却可以和一开始的68HC05兼容. ST, Renasas和NEC都是在这个基础上各自做了自己的演进. 今天看到的STM8S和STM8L可以看作是HC05另一个分支的变种.
值得指出的是, 从6800这个分支发展起来的处理器基本上都是基于Von-Neumann架构的. 除了8位机之外, 16位机的HC11, HC16, HC12, S12, 32位机的6809, 著名的68K以及后来的ColdFire都是这个架构. 试图通过简单的修改Von-Neumann是非常困难的. 主要源于对既有的寻址模式和指令集的兼容. 除非摆脱这个架构重新搭建一个架构, 这样无异于重新建立一套新的处理器.
8031/8051一开始就使用了地址/数据分开的Harvard架构. 并且使用了更多的寄存器和更复杂的指令集. 在半导体工艺,尤其是CMOS工艺还没有完全成熟发展起来的时候, 成本是非常昂贵的.此外处理器的功耗也要相对于6805/68HC05高. 但是由于了地址/数据选择的控制线/引脚, 实际可以访问的地址空间达到了128KB (即64KB code + 64KB RAM), 这个优势是基于6805架构的处理器无法比拟的. 目前基于6805架构的处理器, 除STM8S/L外基本上都是使用分页寻址的方式访问超过64KB地址空间的内容. 这个是很多开发者不愿意接受的. 但是对于128KB以上的空间8031/8051也碰到了同样的限制. 如果不加以改造也会碰到瓶颈
后来发展起来的RISC处理器一开始就成功地规避了这些问题.
硬件中断嵌套和架构基本无关, 只与栈的实现方式和中断的管理方式有关. 后者更关键一些, 但是没有前者的配合, 要实现硬件中断嵌套还是有相当的困难的.