P1 导读
armv8概述
armv8体系结构概述
armv8寄存器
armv8指令集
gcc汇编语法和链接脚本
armv8系统寄存器介绍
armv8异常和中断
armv8高速缓存管理
内存序
多核管理
arm调试技巧
gic控制器
smmu控制器
P2 ARM发展历史
1、先上产品历史发展
1985 第一个arm处理器
1986年ARM2-继承ARM1
处理器:2um
指令集:ARMv2
核心:arm2
1989年 ARM3
处理器1.5微秒
标量3级流水线
指令集:ARMv2a
核心:ARM3 ARM250
1991 ARM6--继承于ARM3---剑桥
处理器:0.8um
ARMv3指令集
L1 cache 4K/core,64路组相连
核心:`arm6', `arm60', `arm600', `arm610', `arm620
/*armv4之后商业化开始大规模应用*/
1993-2001 arm7处理器问世--剑桥---有史以来设计的最成功的 ARM 微架构之一
32位RISC ARM处理器
3级流水线
支持armv4指令集 armv3也有一些核---armv?是指指令集和架构版本
代表的CPU核:ARM7TDMI,支持thum,jtag,--》这里也就是指IP的授权
最有代表的soc: 三星的44B0
主跑ucos uclinux
The ARM7 core family consists of ARM700-1993年, ARM710-1994, ARM7DI-1994, ARM710a-1995, ARM720T--1997, ARM740T--19997, ARM710T--1997, ARM7TDMI, ARM7TDMI-S--2001, ARM7EJ-S--2001. The ARM7TDMI and ARM7TDMI-S were the most popular cores of the family. ARM7TDMI(ARM7 + 16 位T humb + JTAG D ebug + 快速乘法器 + 增强型I CE)处理器实现了 ARMv4 指令集。它获得了一系列半导体公司的制造许可。2009 年,它是使用最广泛的 ARM 内核之一,并出现在众多深度嵌入式系统设计中。
*************************************************************************************************
1997年arm9处理器
5级流水线--“取址-译码-执行--存储--回写” 相当于把三级的执行分解了后面三个
支持armv4T指令集,T表示thumb指令
支持D-cache I-cache以及MMU
典型IP核心:ARM920T
火爆的开发板:2410 2440
OS: LINUX WinCE
2003年arm11处理器
8级流水线
支持ARMv6指令集
典型IP核:ARM1176JZF
第一代iphone采用S3C6400型处理器,基于arm11架构,运行频率高达620MHz
支持简单乱序指令
ARM11 有4个内核版本:内核系列由 ARM1136J(F)-S、ARM1156T2(F)-S、ARM1176JZ(F)-S 和 ARM11MPCore 组成。
**************************************接下来进入到cortex系列--armv7*************************************
2004年,ARMv7架构诞生,从这个时候ARM开始以Cortex来重新命名处理器,Cortex-M3/4/7,Cortex-R4/5/6/7,Cortex-A8/9/5/7/15/17都是基于该架构。
ARM在全球拥有3家设计团队,分别是位于美国德州的奥斯丁团队、位于法国南部的索菲亚团队以及位于英国大本营的剑桥团队。不过自摩尔定律在28nm节点放缓开始,奥斯丁团队在Cortex A57和Cortex A72架构上两次遭遇瓶颈,性能强劲是不假,可功耗和发热也堪称恐怖。自那以后的几年里,奥斯丁团队一直没有什么动作。就在人们几乎已经忘了这群美国壮汉的时候,奥斯汀团队带着全新的Cortex A76回归了。从设计的角度来看,Cortex A76对于ARM来说至关重要,他是一款完全重新打造的全新微架构,是“第二代奥斯汀家族”的领军者,代表了一个全新的开始。ARM称它“是一款具有的笔记本级性能的处理器。”
P3 ARMv8特性介绍