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

(一)硬件

主控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. ImportError: pycurl: libcurl link-time ssl backend (nss) is different

    reference pip uninstall pycurl export PYCURL_SSL_LIBRARY=nss easy_install pycurl

  2. Nginx Location和Rewrite总结

    Nginx 版本:nginx/1.10.3 (Ubuntu) Location 部分: 第一步:创建Nginx 虚拟主机 Nginx 安装成功安装并且可以运行之后,在 /etc/nginx 目录下创建 ...

  3. Java 多线程执行

    背景: 如果一个任务由多个子任务组成,子任务全部执行完成后然后由主线程对所有子任务结果进行封装,可以采用如下几种方式: 1.基于Guava ListenableFuture 进行: 2.基于Futur ...

  4. LeetCode(59)Length of Last Word

    题目 Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return th ...

  5. [Android]使用button切换TextView可见和不可见

    <Button android:id="@+id/btnTest" android:layout_width="match_parent" android ...

  6. Centos7 中Nginx的安装与配置

    安装与配置 1.安装nginx yum intsall nginxsudo systemctl start nginx 启动服务sudo firewall-cmd --permanent --zone ...

  7. luogu2485 [SDOI2011]计算器 poj3243 Clever Y BSGS算法

    BSGS 算法,即 Baby Step,Giant Step 算法.拔山盖世算法. 计算 \(a^x \equiv b \pmod p\). \(p\)为质数时 特判掉 \(a,p\) 不互质的情况. ...

  8. xtu字符串 C. Marlon's String

    C. Marlon's String Time Limit: 2000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java ...

  9. Flask--init和run启动研究---xunfeng巡风实例篇

    第一: 首先在view目录下的__init__.py文件定义好 (1) Flask实例 : app = Flask(__name__) (2) 数据库实例 Mongo = Conn.MongoDB(a ...

  10. hexo干货系列:(六)hexo提交搜索引擎(百度+谷歌)

    前言 能看到这里,说明大家都跟我一样,已经把博客搭起来并洋洋洒洒写了几篇博文,正春风得意感觉良好的时候,搭建博客有屎以来最大的危机出现在没有准备的我面前,百度+谷歌都无法搜索到我的博客.装逼还没几天就 ...