嵌入式开发学习(1)<ARM体系结构>

内核版本号 SoC版本号 芯片型号(三星)
ARMv1 (这里的v表示version)    
......    
ARMv4 ARM7 S3C44B0
ARMv4 ARM9 S3C2440 S3C2410
ARMv5 ARM+XScale  
ARMv6 ARM11 S3C6410
ARMv7 Cortex-M(微)  
Cortex-A(应用)  
Cortex-R(实时)  
Cortex-A8 S5PV210 SP5C100  
Cortex-A9 Exynos4412  
Cortex-A7 全志A10 A20 A31  
Cortex-A15 exynos5250 5450  
Cortex-A53 A57 高通骁龙815和410(苹果iphone5s)  

内核版本号与soc版本号由arm公司确定。

芯片型号由各半导体公司确定

SoC : soc包括cpu与一些基本内设,现在所说的cpu 实际上都是SoC的一部分

32cpu指的是数据总线是32位的。

32位的地址总线寻址范围是4G232次方。

CISC complex instruction set computer 复杂指令集cpu:指令多,追寻一条指令完成一个操作的理念。Cpu设计复杂,但编译器简单,使用简单,功耗高,出现早,inter还在沿用。300多条指令。

RISC reduced instruction set computer 精简指令集cpu:设计理念是提供基本功能的指令集,具体任务由软件来完成。Cpu设计相对CISC简单,编译器复杂。功耗低,发热低。这是最近些年受欢迎的原因。30多条指令

发张趋势,CISCRISC结合。

统一编址:把外设的寄存器当作内存来读写,从而以访问内存相同的方式来操作外设叫做IO与内存的统一编址。

独立编址:使用专门的cpu指令来访问某种特定的外设叫做IO与内存的独立编址。

冯诺依曼结构:程序与数据混一起,有安全隐患。

哈佛结构:程序与数据分开存储。程序编写复杂,相对冯诺依曼较安全,arm大多数体系结构属于哈佛结构。

软件编程控制硬件的关键-寄存器:属于硬件外设的组成部分。是cpu硬件设计者制定的,留作外设被程序控制的“活动开关”。使用软件编写控制某一硬件,其实就是编程读写该硬件的寄存器。

寄存器分为通用寄存器特殊寄存器,通用寄存器是cpu自带的,可以随便申请使用;特殊寄存器是某种外设的专用寄存器,在设计cpu 的时候,已经定义好其地址对应值的功能,程序不能改变。

C语言直接操作内存地址:int *p =(int *)Ox300000008100 ;  *p = 16;

ARM特点:

1、属于RISC架构cpu,常用指令大概有二三十条。

2、低功耗。非常适用于单片机、嵌入式,尤其是物联网领域;服务器等高性能领域目前还是intel主导。

3、ARM是统一编址的。大多数(M3 M4 M7 M0 ARM9 ARM11 A8 A9等)是属于32位架构。

4、属于哈佛结构:保证了ARM cpu运行的稳定性安全性。哈佛结构也决定了ARM裸机程序(使用实地址即物理地址)的连接比较麻烦,必须使用复杂的链接脚本告诉连接器如何组织程序;对于在OS上的应用不需要考虑这么多。

原文地址:https://www.cnblogs.com/airduce/p/7482131.html