[架构之路-17]:目标系统-硬件平台-armcpu架构与系列选型

文火冰糖的硅基工坊 文火冰糖的硅基工坊     2022-12-04     160

关键词:

目录

第1章 ARM概述

1.1 ARM的过去

1.2  ARM内核架构版本与ARM CPU家族的对应关系

1.3 ARM CPU家族系列

1.4 ARM cortex系列

第2章 ARM芯片系统设计

2.1 ARM SOC CPU总体架构

2.2 ARM CPU内部互联总线AMBA

2.3 调试工具

第3章 ARM CPU芯片的内部架构

3.1 CPU内部结构与编程模式

3.2 指令集


第1章 ARM概述

1.1 ARM的过去

1978年12月5日,物理学家赫尔曼·豪泽(Hermann Hauser)和工程师Chris Curry,在英国剑桥创办了CPU公司(Cambridge Processing Unit),主要业务是为当地市场供应电子设备。1979年,CPU公司改名为Acorn计算机公司。

80年代中期,Acorn的一个小团队要为他们的下一代计算机挑选合适的处理器,根据他们提供的技术需求,在当时的市场上无法找到合适的处理器,于是 Acorn决定自己设计一个处理器(真有魄力)。一个小团队仅仅用了18个月就完成了从设计到实现的全过程,这是一台RISC指令集的计算机,叫做 Acorn RISC Machine(简称ARM)。后来Acorn计算机公司没落了,而CPU处理器设计部门被分了出来,组成了一家新公司, 即ARM公司。

英国ARM公司是全球领先的半导体知识产权(IP)提供商。全世界超过95%的智能手机和平板电脑都采用ARM架构 [1]  。ARM设计了大量高性价比、耗能低的RISC处理器、相关技术及软件。2014年基于ARM技术的全年全球出货量是120亿颗,从诞生到现在为止基于ARM技术的芯片有600亿颗 [2]  。技术具有性能高、成本低和能耗省的特点。在智能机、平板电脑、嵌入控制、多媒体数字等处理器领域拥有主导地位

1.2  ARM内核架构版本与ARM CPU家族的对应关系

ARM内核架构版本:V4~V7, 反应的指令集

ARM CPU家族:反应的是CPU芯片的型号。

1.3 ARM CPU家族系列

ARM 架构是构建每个 ARM 处理器的基础。随着时间的推移不断发展,ARM 架构自身也在不断的演进和发展。

 Cortex就是ARM公司一个系列处理器的名称。比如英特尔旗下处理器有酷睿奔腾赛扬

ARM在最初的处理器型号都用数字命名,ARM 处理器的命名为 ARM+version,从第一代的 ARM1 到后来的 ARM11。随着市场的逐渐铺开,才分化出了 cortex-A、cortex-R、cortex-M 三个系列的命名方式,后续的处理器都就不再采用 ARM+version 的命名方式。

在应用ARMv7架构后,推出了Cortex这一系列,老式的则命名为Classic系列

1.4 ARM cortex系列

ARM处理器分为 A、R、M 三个系列,分别代表三种不同的应用领域:

cortex-A 系列,指的是 Application,主要是高性能的处理器。相比于其它两种处理器,特点是增加了内存管理单元 MMU,对于运行大型的Linux这样的应用操作系,MMU是必不可少的元件。

cortex-R 系列,指的是 Real-time,主要是实时性的特点。一个常见的认知误区是:实时性就是处理快,实时性是指只对外事件的响应快,而不是CPU处理能力块。但是事实上,实时性代表的是处理时间上的确定性和低延迟,即一个操作可以在指定的短时间内完成,MMU 引入的地址转换通常不能满足其实时性的要求,所以 R 系列处理器并不挂载 MMU

cortex-M 系列,指的是 Microcontroller,即微处理器,主打中低端市场。真实应用场景中,更多的是大型中控搭配小型嵌入式控制系统,小型嵌入式节点通常是海量的,比如智能家居、物联网等等,这一种系统的特点在于低功耗、低成本,相当的高性能,在中低端市场,性价比通常是一个主要的衡量因素。cortex-主要应用在单片机市场,如STM32

第2章 ARM芯片系统设计

2.1 ARM SOC CPU总体架构

 ARM Core:为执行指令的CPU核。

外设控制器:可以外界各种外部设备,包括I2C等低速串行总线,也可以包括以太网,PCIe等高速总线。

8bit ROM:启动程序

32bit RAM:片内RAM

16bit RAM:片外RAM

中断控制器:各种外部中断

2.2 ARM CPU内部互联总线AMBA

2.3 调试工具

 

 通过JTAG工具,可以完成如下的功能:

(1)下载程序到目标硬件的RAM中

(2)下载程序到目标硬件的ROM中

(3)单步跟踪执行程序。


第3章 ARM CPU芯片的内部架构

3.1 CPU内部结构与编程模式

 

 

 

 

 

 

 

3.2 指令集

 

 

 

 

 

[架构之路-14]:目标系统-硬件平台-cpumpunpugpumcudspfpgasoc的区别

目录前言:一、通用指令程序控制1.1CPU(CentralProcessingUnit:中央处理单元/器)1.2MPU(MicroprocessorUnit:微处理单元/器)--广义CPU1.3MCU(MircoControllerUnit:微控制单元)--单 查看详情

[架构之路-20]:目标系统-硬件平台-嵌入式系统硬件电路基础:架构设计流程总线外设基本电路编码

目录前言:第1章嵌入式系统软硬件架构概览1.1什么是嵌入式系统 1.2嵌入式系统发展历程1.3嵌入式系统软件+硬件架构 1.4嵌入式系统的模型1.5嵌入式系统的硬件设备树1.6 嵌入式SOC芯片内部架构第2章硬件电路设计基础2.1嵌... 查看详情

[架构之路-16]:目标系统-硬件平台-cpu主要物理性能指标

目录第1章多核CPU的架构第2章 CPU主要的物理性能指标2.1CPU频率2.2CPU的位和字长2.3CPU的缓存容量与性能2.4CPU工作电压2.5CPU的总线方式2.6CPU制造工艺2.7CPU个数2.8CPU核的个数2.9CPU超线程数2.10CPU执行指令的性能指标FLOPS第3章 CPU主要的... 查看详情

[架构之路-13]:目标系统-硬件平台-五种主流cpu架构的比较(ciscx86riscarmriscpowerpcriscmipsrisc-v)

目录第1章CISC VS RISC指令集第2章 CISCX86第3章 RISC架构3.1ARM架构3.2 PowerPC3.3MIPS3.4RISC-V第1章CISC VS RISC指令集中央处理器(CPU)是智能设备的大脑。它的任务是通过执行一系列指令来驱动的设备,包括显示屏、触摸屏、... 查看详情

[架构之路-57]:目标系统-平台软件-用户空间驱动与硬件抽象层hal

目录前言:第1章驱动程序功能设计1.1关于用户空间驱动1.2硬件驱动程序的四大功能概述1.3OAM管理面功能:站在管理源的角度,看如何监控使能和监控硬件。1.4控制面功能:站在业务的角度看,如何使能和监控... 查看详情

[架构之路-15]:目标系统-硬件平台-什么是多核设计?多核面临的问题?什么是大小核设计?

目录第1章什么是多核架构1.1什么是单核架构1.2什么是多核架构1.3为什么要多核架构第2章多核架构的组成2.1多核之间通信模型2.2多核的案例第3章多核处理器的挑战3.1程序执行问题3.2Cache一致性问题3.3核间互联3.4总线设计3.5操作系... 查看详情

[架构之路-19]:目标系统-硬件平台-案例1-用单片机stm8/stm32搭建目标系统(以无线传感器lora终端为例)

...2章搭建的LoRa终端的系统需求和目标2.1 物联网系统分层架构2.2 搭建的LoRa终端的系统需求和目标2.3设计Lora终端的软硬件系统第3章搭建主机开发环境第4章 构建LoRa终端的目标系统的硬件4.1基本步骤4.2目标硬件示意图4.3   ASR6505-... 查看详情

[架构之路-18]:目标系统-硬件平台-案例1-单片机mcustm32芯片的工作原理与启动流程

...片的片上资源比较2.2 资源的含义与作用第3章STM32F103内部架构3.1概述与架构图3.2内部总线3.3DMA控制器第4章外部引脚与最小系统(STM32F103xxx)4.1外部引脚4.2最小系统连接第5章系统启动5.1 查看详情

[架构之路-11]:目标系统-架构-嵌入式系统软件+硬件的基本通用架构

目录前言:第1章计算机系统的通用架构第2章嵌入式系统的通用架构第3章嵌入式系统的开发模型第4章嵌入式系统的运行模型第5章SOC/FPGA芯片内部系统通用架构第6章嵌入式系统的演进历程第7章Linux嵌入式系统启动流程第8章 ... 查看详情

[架构之路-58]:目标系统-平台软件-中间件软件(嵌入式)与中间件平台(中台)

目录第1章中间件概述1.1嵌入式软件总体架构1.2什么是中间件软件1.3中间件的基本功能1.4中间件为应用程序提供服务的基本方式1.5中间件的发展历程第2章中间件的分类2.1事务式中间件2.2过程式中间件2.3面向消息的中间件2.4面向对... 查看详情

[架构之路-10]:目标系统-需求分析-业务意识价值意识

架构师所架构的系统,不单纯的是软件和硬件。架构不仅仅是没有生命的目标软件/硬件系统,在一个公司组织内部,它也承载着公司的长期的价值,承载这为客户解决问题的职责。因此,在架构一个系统时... 查看详情

[架构之路-61]:目标系统-平台软件-基础中间件-远程过程(函数)调用rpc原理与其网络架构(代码片段)

....5 什么是远程过程/函数调用RPC第2章远程过程调动的网络架构2.1去中心化的点对点架构(P2P架构)2.2客 查看详情

[架构之路-36]:目标系统-系统软件-linuxos硬件驱动程序架构中隐藏的六大“分离”的思想与主要的驱动程序框架案例分析

目录第1章“分离”的思想的来源1.1 Linux一体化字符设备驱动程序的缺陷1.2懒人改进的思考1.3Linux硬件驱动程序期望的需要与目标1.4“分离”思想的来源1.5  隐藏在Linux设备驱动程序中的“分离”的思想1.6“分离”遵循的原则1.7... 查看详情

[架构之路-45]:目标系统-系统软件-linuxos硬件设备驱动-网络驱动程序模型网络数据包的收发流程

目录第1章网络驱动程序模型概述1.1Linux目标系统架构1.2Linux网络设备驱动的总体框架第2章网络设备驱动架构2.1网络设备和网络驱动的注册2.2 网络设备的标准数据结构2.3网络驱动的标准接口2.4网络设备的初始化函数2.5网络接口的... 查看详情

[架构之路-34]:目标系统-系统软件-linuxos硬件电路的文本描述:设备树的构成属性解析使用(代码片段)

目录第1章什么是树1.1树形结构1.2无处不在的树形结构1.3树形结构的好处第2章硬件系统设备树2.1什么是硬件设备树2.2Linux引入设备树的好处2.3Linux什么时候引入设备树与设备2.4Linux设备树的外观第3章Linux设备树的工作原理3.1Linux内... 查看详情

[架构之路-21]:目标系统-系统软件-计算机系统架构计算机指令系统结构化程序与分层编程。

...言:第1章计算机系统1.1计算机的出现1.2计算机的基本架构第2章计算机系统体系结构总结2.1计算机组成2.2总线与外设2.3 存储系统2.4中央处理器CPU第3章计算机硬件概览3.1硬件设计概览3.2元器件3.3原理图3.4PCB3.5电路板3.6可编程... 查看详情

[架构之路-8]:架构师-必须熟悉的组织内的软硬件研发流程和几大研发系统

目录前言:一、系统架构部门在组织内软硬件生产中的位置上二、软、硬件研发的几大系统三、软件开发流程与DevOps工具附录:组织公司的主要资产前言:大多数架构师和程序员都认为,架构师只需要关注目标系... 查看详情

[架构之路-60]:目标系统-平台软件-基础中间件-linux进程间通信的主要方式(代码片段)

目录前言:第1章进程1.1进程概述1.2线程1.3 进程的资源类型1.4Linux进程的特点第2章进程间通信2.1 概述2.2 进程通信的应用场景2.3进程间通信要共享的对象2.4进程间通信必须解决问题2.5进程间通信的方式概述第3章  进程间通... 查看详情