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特性介绍