一颗ARM架构芯片的软硬件构成
硬件和软件是一颗芯片系统互相依存的两大部分。本文总结了一颗芯片的软硬件组成。作为对芯片的入门级概括吧。
(一)硬件
主控CPU:运算和控制核心。基带芯片基本构架採用微处理器+数字信号处理器(DSP)的结构。微处理器是整颗芯片的控制中心,会执行一个实时嵌入式操作系统(如Nucleus PLUS),DSP子系统负责基带处理。应用处理器则可能包含多颗微处理器,还有GPU。微处理器是ARM的不同系列的产品(也能够是x86架构),能够是64位或者32位。
处理器内部通过“内部总线”将CPU全部单元相连,其位宽能够是8-64位。
总线:计算机的总线按功能能够划分为数据总线、地址总线和控制总线。分别用来数据传输、数据地址和控制信号。CPU内部部件由内部总线互联,外部总线则是CPU、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接。外部设备通过对应的接口电路再与外部总线相连接。从而形成了硬件系统。外部总线通过总线接口单元BLU与CPU内部相连。
片上总线标准高级微控制器总线结构AMBA定义了高性能嵌入式微控制器的通信标准。定义了三组总线:AHB(AMBA高性能总线)、ASB(AMBA系统总线)、和APB(AMBA外设总线)。
AHB总线用于高性能、高时钟工作频率模块。AHB为高性能处理器、片上内存、片外内存提供接口,同一时候桥接慢速外设。DMA、DSP、主存等连在AHB上。ASB总线主要用于高性能系统模块。
ASB是可用于AHB不须要的高性能特性的芯片设计上可选的系统总线。APB总线用于为慢速外设提供总线技术支持。
APB是一种优化的,低功耗的,精简接口总线,能够支持多种不同慢速外设。因为APB是ARM公司最早提出的总线接口,APB能够桥接ARM体系下每一种系统总线。
外设I/Oport和扩展总线:GPIO通用port、UART串口、I2C、SPI 、SDIO、USB等,CPU和外扩的芯片、设备以及两颗CPU之间(如基带处理器和应用处理器之间)进行通信的接口。一般来说。芯片都会支持多种接口。并设计通用的软件驱动平台驱动。
存储部件和存储管理设备:Rom、Ram、Flash及控制器。
处理器系统中可能包括多种类型的存储部件。如Flash、SRAM、SDRAM、ROM以及用于提高系统性能的Cache等等。不同的芯片会採用不同的存储控制组合。參见博文”arm架构的芯片memory及智能机存储部件简述“
外设: 电源和功耗管理、复位电路和watchdog定时复位电路(前者是系统上电执行、后者是Reset或者超时出错执行)、时钟和计数器、中断控制器、DMA、 输入/输出(如键盘、显示器等)、摄像头等。
一颗ARM9架构芯片主控器及外围硬件设备组成例如以下图所看到的:
(二)软件
芯片上的软件主要包含Boot代码、操作系统、应用程序以及硬件的firmware。
Boot程序引导设备的启动,是设备加电后在操作系统内核执行之前执行的一段小程序。
通过这段小程序,我们能够初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为终于调用操作系统内核准备好正确的环境。
操作系统(英语:Operating System。简称OS)是管理和控制计算机硬件与软件资源的计算机程序,其五大管理功能是:
(1)处理器管理,主要包含进程的控制、同步、通信和调度。
(2)存储器管理,主要包含内存的分配、保护和扩充,地址映射。
(3)设备管理。主要包含设备的分配、处理等。
(4)文件管理,主要包含文件的存储空间管理,文件夹管理,文件的读写和保护。
(5)作业管理,主要包含任务、界面管理。人机交互,语音控制和虚拟现实等。
应用处理器上的操作系统有Android、IOS等,不必多说;基带处理器上则会执行一个RTOS(如Nucleus PLUS)管理整个基带系统上的任务和部件间的通信。
应用程序是为了完毕某项或某几项特定任务而被开发执行于操作系统之上的程序。应用处理器上。结合操作系统API和库函数,用户能够开发各色应用程序;基带处理器上则一般仅仅有少量必要的软件支持。
硬件firmware则是简化软件与硬件的交互,让硬件操纵起来更easy。
一颗ARM架构芯片的软硬件构成的更多相关文章
- [转帖]华为海思Hi1620芯片发布在即 7nm制程ARM架构最高可达3.0GHz
华为海思Hi1620芯片发布在即 7nm制程ARM架构最高可达3.0GHz https://www.cnbeta.com/articles/tech/850561.htm 中电科旗下的普华软件 支持国 ...
- EZchip将推全球首款100核64位ARM A-53芯片
EZchip将推全球首款100核64位ARM A-53芯片 2015-02-25 16:32:03 来源:互联网 关键字: 将推 全球 64位 arm EZchip日前表示,将准备开发 ...
- ARM架构
ARM架构(过去称作进阶精简指令集机器(Advanced RISC Machine),更早称作Acorn RISC Machine)是一个32位元精简指令集(RISC) 中央处理器(processor ...
- ARM 架构、ARM7、ARM9、STM32、Cortex M3 M4 、51、AVR 之间有什么区别和联系?(转载自知乎)
ARM架构: 由英国ARM公司设计的一系列32位的RISC微处理器架构总称,现有ARMv1~ARMv8种类. ARM7: 一类采用ARMv3或ARMv4架构的,使用冯诺依曼结构的内核. ...
- X86 架构和 ARM 架构
1.关于x86架构 X86是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,X86是由Intel推出的一种复杂指令集,用于控制芯片的运行的程序,现在X86已经广泛运用到了家 ...
- 百度全新的ARM架构服务器,一个2U机箱装6台,每台4个3T硬盘,每个机箱共72TB
1月11日,中国科学院原秘书长.国家科技重大专项国务院咨询评估组专家侯自强,来到百度南京数据中心,和他一起的还有中国工程院院士倪光南以及工业和信息化部电信研究院传输研究所副所长石友康等人.他们看到的是 ...
- ARM架构和X86架构对比
转载地址 我们就ARM架构的系统与X86架构系统的特性进行一个系统分析,方便用户在选择系统时进行理性.合理的比价分析. 一.性能: X86结构的电脑无论如何都比ARM结构的系统在性能方面要快得多.强得 ...
- ARM架构解析
ARM架构解析 (2014-11-23 21:56:53) 转载▼ 标签: francis_hao arm架构 arm核 soc 分类: MCU 先来谈一下ARM的发展史:1978年12月5日,物理学 ...
- 苹果iPhone X上搭载的那颗A11仿生芯片,到底牛在哪?
苹果iPhone X上搭载的那颗A11仿生芯片,到底牛在哪? 上周,苹果公司在刚刚落成投入使用的“飞船”新总部(Apple Park)举行2017年秋季新品发布会,整场发布会基本被iPhone X抢尽 ...
随机推荐
- ios之@class
objective-c中,当一个类使用到另一个类时,并且在类的头文件中需要创建被引用的指针时, 如下面代码: A.h文件 C代码 #import "B.h" @interfac ...
- git/github初级使用
1.常见的github 国内最流行的php开发框架(thinkphp):https://github.com/top-think/thinkphp 全球最流行的php框架(laravel):https ...
- Python通过Openpyxl包汇总表格,效率提升100倍
最近找了份小兼职,干的全是些无聊的工作,比如说给word调整一下排版啦.把从多方回收来的Excel汇总啦,这些极其催眠又耗时的事,怎么能接受手动去做呢!!(疯了嘛,谁知道以后还有多少类似的表格要汇总啊 ...
- python 装饰器(二): 加参数
接上篇python 闭包&装饰器(一) 一.功能函数加参数:实现一个可以接收任意数据的加法器 源代码如下: def show_time(f): def inner(*x, **y): # 形参 ...
- Centos7 中Nginx的安装与配置
安装与配置 1.安装nginx yum intsall nginxsudo systemctl start nginx 启动服务sudo firewall-cmd --permanent --zone ...
- 在VS中如何更换项目名称
我们常常在建立项目的时候就必须输入一个项目名称,有的时候我们就随意的起了一个名称,可是到后面想到了一个更好的项目名我们就想把项目名称改过来,但VS并不那么智能,我们不能简单的将项目对应的解决方案SLN ...
- python017 Python3 模块
Python3 模块在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了.为此 Python 提供了一个办法, ...
- Codeforces Round #211 (Div. 2)-D. Renting Bikes,二分!感谢队友出思路!
D. Renting Bikes 读懂题后一开始和队友都以为是贪心.可是贪心又怎么贪呢..我们无法确定到底能买多少车但肯定是最便宜的前x辆.除了公共预算每个人的钱只能自己用,也无法确定每个人买哪一辆车 ...
- CodeForces - 462B Appleman and Card Game
是一道简单题 将字母从个数多到小排序 然后 再按题目算法得到最多 但是注意 数据类型声明 money要为long long #include <iostream> #include < ...
- [USACO08OPEN]牛的车Cow Cars
题目描述 N (1 <= N <= 50,000) cows conveniently numbered 1..N are driving in separate cars along a ...