硬件和软件是一颗芯片系统互相依存的两大部分。本文总结了一颗芯片的软硬件组成。作为对芯片的入门级概括吧。

(一)硬件

主控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架构芯片的软硬件构成的更多相关文章

  1. [转帖]华为海思Hi1620芯片发布在即 7nm制程ARM架构最高可达3.0GHz

    华为海思Hi1620芯片发布在即 7nm制程ARM架构最高可达3.0GHz https://www.cnbeta.com/articles/tech/850561.htm 中电科旗下的普华软件 支持国 ...

  2. EZchip将推全球首款100核64位ARM A-53芯片

    EZchip将推全球首款100核64位ARM A-53芯片 2015-02-25 16:32:03   来源:互联网    关键字: 将推  全球  64位  arm EZchip日前表示,将准备开发 ...

  3. ARM架构

    ARM架构(过去称作进阶精简指令集机器(Advanced RISC Machine),更早称作Acorn RISC Machine)是一个32位元精简指令集(RISC) 中央处理器(processor ...

  4. ARM 架构、ARM7、ARM9、STM32、Cortex M3 M4 、51、AVR 之间有什么区别和联系?(转载自知乎)

    ARM架构:  由英国ARM公司设计的一系列32位的RISC微处理器架构总称,现有ARMv1~ARMv8种类. ARM7:       一类采用ARMv3或ARMv4架构的,使用冯诺依曼结构的内核. ...

  5. X86 架构和 ARM 架构

    1.关于x86架构 X86是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,X86是由Intel推出的一种复杂指令集,用于控制芯片的运行的程序,现在X86已经广泛运用到了家 ...

  6. 百度全新的ARM架构服务器,一个2U机箱装6台,每台4个3T硬盘,每个机箱共72TB

    1月11日,中国科学院原秘书长.国家科技重大专项国务院咨询评估组专家侯自强,来到百度南京数据中心,和他一起的还有中国工程院院士倪光南以及工业和信息化部电信研究院传输研究所副所长石友康等人.他们看到的是 ...

  7. ARM架构和X86架构对比

    转载地址 我们就ARM架构的系统与X86架构系统的特性进行一个系统分析,方便用户在选择系统时进行理性.合理的比价分析. 一.性能: X86结构的电脑无论如何都比ARM结构的系统在性能方面要快得多.强得 ...

  8. ARM架构解析

    ARM架构解析 (2014-11-23 21:56:53) 转载▼ 标签: francis_hao arm架构 arm核 soc 分类: MCU 先来谈一下ARM的发展史:1978年12月5日,物理学 ...

  9. 苹果iPhone X上搭载的那颗A11仿生芯片,到底牛在哪?

    苹果iPhone X上搭载的那颗A11仿生芯片,到底牛在哪? 上周,苹果公司在刚刚落成投入使用的“飞船”新总部(Apple Park)举行2017年秋季新品发布会,整场发布会基本被iPhone X抢尽 ...

随机推荐

  1. js获取农历

    上一篇我们对upupoo网页壁纸改造时用到了农历,upupoo(网页壁纸)自主修改一:农历,这里记一下笔记: 获取当前农历的js 主js: //农历 var CalendarData=new Arra ...

  2. poj1681 Painter's Problem

    题目描述: 和那道关灯差不多,求最少涂几次. 题解: 高消,然后深搜枚举自由元更新答案. 貌似这道题没卡贪心但是其他题基本都卡了. 比如$Usaco09Nov$的$lights$ 代码: #inclu ...

  3. 访问修饰词--Java

    public(公共的) 权限: 完全公开 protected(受保护的) 权限: 对子类和同包中的其他类公开 default(默认的,可不写) 权限: 对同包中的其他类公开 private(私有的) ...

  4. TCP三次握手简单理解

  5. LeetCode(11) Container With Most Water

    题目 Given n non-negative integers a1, a2, -, an, where each represents a point at coordinate (i, ai). ...

  6. 又见GCD (已知最大公约数和其中一个数求另一个数)

    #include<cstdio> int f1(int a,int b) //最大公约数 { ) return b; else return f1(b,a%b); } int f2(int ...

  7. JavaScript中上传文件为图片如何读取+JS中如何使用clip()剪切指定区域(UI组件之图片剪裁器)

    File读取和FileReader() //获取上传的文件/图片 function getFile(){ var files,len; var reader = new FileReader(); v ...

  8. JSP行为

    JSP行为标签使用XML语法结构来控制servlet引擎.它能够动态插入一个文件,重用JavaBean组件,引导用户去另一个页面,为Java插件产生相关的HTML等等.行为标签只有一种语法格式,它严格 ...

  9. .NET Core使用log4Net记录日志

    1.引入Nuget包 log4net 2.添加log4Net配置文件 <?xml version="1.0" encoding="utf-8" ?> ...

  10. Jquery 1.6+ .prop()与.attr()方法比较

    http://www.cnblogs.com/lujiahong/articles/2289867.html 今天在用JQuery的时候发现一个问题用.attr("checked" ...