一个MPU、MCU是8位还是16位,该如何定义?以下几个特征的描述概念清晰:
以16位机为例,(8/32/64位机同样):
16位机——是16位结构的CPU。概括地讲,16位结构(与16位机、字长16位等说法含义一样。)描述了一个CPU具有下面几方面的结构特征:
* 运算器一次最多可以处理16位的数据;
* 寄存器的最大宽度为16位;
* 寄存器和运算器之间的通路为16位。
也即:16位机内部能够一次性处理、传输、暂时存储的信息的最大长度是16位的。
按此定义,显然Intel8098是16位MCU。8088是16位MPU。
如果按 8088、8098、80188、288都属于8位MPU/MCU的角度看,也有道理。但是不易抽象出以上的特征描述概念,并且以下概念容易混淆:
* “8086/8088是略有区别的2个功能相同的CPU。”当然,8096/8098也是略有区别、功能相同的MCU。(8位机和16位机功能相同?)
* “8086的上一代CPU中的寄存器都是8位的。如8085,8080都是8位机。”这可不可以理解为,8位MPU的时代到8086就结束了?那么8088、188算几位MPU?
* “每一种CPU都有自己的指令汇编集。”显然,8088和8086相同指令汇编集,8098和8096同指令汇编集。(8位机和16位机相同指令汇编集?)
* 8位、16位机概念上功能相差甚远,(8098不和8096同等平台而和8051同平台?8088和8080同平台?)
当然,谁都可以阐述自己的道理。
支持 HWM 的说法:“8098只是8096的简装版。”
(8098是简装的(96)16位单片机。)