前言

做嵌入式开发的时候经常会接触到ARM架构,X86架构,复杂指令集,简单指令集等,经常会有所迷茫,不知道这些词都代表什么。于是自己在这里做一个简单的总结

主体内容

ARM架构

ARM架构是一种处理器架构,是简单指令集架构(RISC),与之对应的是复杂指令集架构(CISX),X86用的就是这个架构。
简单指令集:对指令数目和寻址方式做了精简,去除了一些不常用到的指令,使其更容易实现,编译效率更高。用多个常用指令去组合实现不常用的指令。
复杂指令集:指令多而复杂,每条指令字长并不相等,电脑需要加以判断,为此付出了性能的代价。

ARM产品系列:

ARM-7,ARM-9,ARM-11,Cortex(A:linux等高性能;R:实时系统;M:单片机等控制器)

架构总线:X86&ARM



X86总线在CPU之外,ARM总线在SOC内。
ARM采用流水线结构,流水线越多,说明单位时间内执行的条数就越多。
例子:取指—>编译—>执行
code3 code2 code1
8位单片机是以12个时钟周期为一个机器周期,一个机器周期内完成对一条指令的取指,编译,执行
ARM是同时进行的,每条指令4个字节

哈佛结构和冯诺依曼结构

哈佛结构是一种将程序指令的存储与数据的存储分开的存储器结构。首先,CPU在程序指令存储器中读取程序指令内容,解码后获得数据地址,然后在相应的数据存储器中读取数据,并进行下一步操作。指令存储和数据存储的分离可以使指令和数据具有不同的数据宽度。例如,Microchip公司的PIC16芯片的程序指令是14比特宽,而数据是8比特宽。
哈佛结构的微处理器通常具有较高的执行效率。如果将程序指令和数据指令分开组织和存储,执行时可以提前读取下一条指令。目前,有许多CPU和微控制器采用哈佛结构。除了上述Microchip公司的PIC系列芯片外,摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安谋公司的ARM9、ARM10、ARM11、51单片机也属于哈佛结构。
冯-诺伊曼结构,又称普林斯顿结构,是一种将程序指令存储器和数据存储器结合起来的存储器结构。程序指令存储地址和数据存储地址指向同一存储器中的不同物理位置,所以程序指令和数据的宽度是一样的。例如,Intel 8086 CPU的程序指令和数据都是16位宽。

51单片机

51单片机是对兼容英特尔8051指令系统的单片机的统称。
Intel(英特尔):80C31、80C51、87C51,80C32、80C52、87C52等;
Atmel(艾特梅尔):89C51、89C52、89C2051,89S51(RC),89S52(RC)等;
Philips(飞利浦)、华邦、Dallas(达拉斯)、Siemens(西门子)等公司的许多产品;
STC(宏晶):STC89C51、STC90C51、STC11系列、STC15系列、STC8系列等
8051单片机通常至少具备以下功能和外设:
8位CPU
程序存储器(ROM),寻址空间64KiB
数据存储器(RAM),寻址空间64KiB
4组8位共32个输入输出口
5至6个中断源,分2个优先级
全双工串行口