ARM体系结构常用术语解释

  那么A系列的处理器,会有一个相关的术语,这些术语在这里会给大家做一个介绍,大概这些术语要给大家说一下,首先是流水线,流水线就是底层架构的术语。

  流水线:

  流水线其实是底层架构涉及到的术语,就比如说中间是个CPU,然后外面一个转盘围绕着它在转,它们在多任务分时的处理,那么在处理的过程中,CPU会得到指令,并且处理一些指令,那么它的过程,应该先从某个地方去取指令(F),取完指令之后要译码然后在执行,也就是基于FDE,那么这个就是我们在某一个时刻它应该做的三步操作,就这三步操作我们才能完成CPU正在进行运算,因为它必须要取指令,然后这些指令是ARM指令,CPU默认的情况下不一定认可,所以就要进行一个翻译,翻译成最简单的然后再去执行,那么这个就是第一个时刻“F-D-E”,然后马上它又转到另外一个任务里面,那么就会有一段时间的延后,那么又是一个“F-D-E”的过程,后面同样的延后又会是同样的过程,这样看来就会像一个流水线,所以我们就称为流水线,这就是CPU运转的一个机制,而这样三步就称为三级流水。后来我们在这个过程中又增加一些步骤,我们可以有多级流水,所以这个就知道这是CPU在去读取指令和运行的一个机制。

  DSP-数字信号处理:

  还有就是DSP-数字信号处理,这个可以把它理解为一个单独的芯片,它能够专门针对数字信号,特别是多媒体是典型的语音数字信号,它可以来单独处理,因为这块数字信号处理对芯片独占性要求挺高,如果我们用主CPU去处理,别的任务就有可能不能兼顾。

  Jazelle:Jazelle是ARM里面针对JAVA这块的编程模型。

  ThumbEE:这个就是Thumb指令,它的全称是Thumb的环境变量,Thumb是辅助ARM指令的另外一个指令,它是十六位的,后面的Thumb-2是Thumb的延伸,认为它有一些缺陷,就又升级了,成为十六位和三十二位并存的。

  TrustZone:是ARM体系里面的安全架构。

  VFP:是适量的福点运算机制。

  Advanced:(SIMD NEON)

  LPAE(Large Physical Address Extension)有了它之后,我们将来甚至于从硬件层次,我们就可以把我们的内存虚拟为1T,当然这个也需要依赖于我们的虚拟技术。

  Virtualization:虚拟技术

  big.LITTLE:什么叫做大小?就是从现在越来越强大的处理器前面,ARM的架构往往就会有一个处理器和一个协处理器,处理器我们用A15,协处理器我们用A8,那么一般情况下,任务量要求比较大的时候,就是用A15去处理,在系统没有大的使用的时候,就不需要使用A15,所以我们就切换到A8的模式,就进行一个大小的切换。切换的好处就是越来越省电,所以这个模式的主要功能就是省电。据说这种方式能比一直使用主处理器省电百分之七十左右。

  A系列关键技术点:

  1,32位RISC处理器,有16个32位可见寄存器。

  2,哈佛结构(不是普林斯顿结构)就像写程序的时候代码区和数据区如果是存在一起的就是普林斯顿结构,如果是分开为两个地址,就是哈佛结构,哈佛结构这种形式明显扩展性要好得多。(指令和数据分开存储)

  3,Thumb-2指令支持。

  4,VFP和NEON可选。

  5,向后兼容

  6 ,4GB虚拟地址空间和最小4GB物理地址(4GB寻址)

  7,内存虚拟页大小4KB,64KB,1MBand16MB

  8,大小端数据访问支持。

  A8处理器结构图:

  它会告诉我们它有很强大的RG缓存机制,各种各样的缓存,同时他在处理这个指令的时候是基于了我们说的三级流水。就是先取码,然后再译码,还有执行,那么执行完了过后,它的重点就在加载和存取方面,这个里面有很多各种各样的接口的定义,这些接口只是为了后面的芯片商所服务的。

  VS A15处理器结构图:

  这些都是一些逻辑图,相当于它的片上系统是怎么去设计的,我们只需要关心怎么去使用它。

  下面我们就开始用它,那么要用到它,我们就需要一些工具,包括交叉编译念。现在我们先给大家介绍一些工具,这些工序据有些比较大有些较小。

  1,QEMU:QEMU实际上就是一个虚拟机,是一个模拟器,而且是一个软件模拟器,它可以用来模拟PC硬件,它是一套由Fabrice Bellard所编写的模拟处理器的自由软件,它与Bochs,PearPC近似,但其具有某些后两者所不具备的特性,如高速度及跨平台的特性,经由kqemu这个开源的加速器。QEMU能模拟至接近真实电脑的速度。

  2,BusyBox:它实际上就是用来做linux根文件系统的,简单的说BusyBox就好像是个大工具箱,它集成压缩了Linux的许多工具和命令,也包含了Android系统的自带的shell。我们知道在linux根文件系统下面有bin,sbin这些东西,当我们从零去做ROM的时候,我们要把bin里面的工具,全都从网站下载下来编好,然后放到相应的地方,这样子之后相当于把内核这块都编好之后,就把内核挂载上文件系统,就开始把整个文件夹结构全部读出来,但是这些文件夹结构内容应该要手动的去编写,这里面就有很多工具,要一个个的去编写就很麻烦,这就需要这个工具BusyBox,这个工具就很方便,能够针对不同的平台去自动的生成这里面的东西,这样整个根文件系统就建立成功了。

  3,Scratchbox:其实也是一个交叉编译平台,是帮助嵌入式Linux跨平台编译工具的集合,其目的主要是使得嵌入式Linux应用程序开发更加容易,他也提供了完整的集成工具链以用来跨平台编译集成出一个Linux发布版。

  4,U-Boot:是一个大名鼎鼎的开源,是遵循GPL条款的开放源码项目。

  5,UEFI and Tianocore:UEFI称为统一可扩展部件接口,它的诞生是出于一个什么样的目的?

  比如说现在出现的win8,他不希望人人都去装盗版,所以他就对你的硬件有了要求,会规定必须是什么体系结构,所以这就是一种统一的相当于硬件和操作系统适配的一种标准,也就是说它指定了装操作系统可以扩展哪些硬件部件这样一些接口,这样就限定了,在有的时候做ARM开发,硬件可能不是那么规范和标准,这样就会被限定,然后我们就可以通过这个工具来模拟符合它标准的硬件,然后绕过去能够把一些ARM的OS给装上去。

  介绍和安装ARM软件工具链:

  工具链就是一个集合工具链的作用过程是由C语言然后编译,包括汇编,然后编译成一个中间代码,然后中间这个目标代码在经过连接,包括集成的内库和相应的脚本连接成,可执行的镜像,这个就是它的一个工作过程。

  在ARM体系里面其实推荐了两套工具链,一套是GNU Compiler开源的工具链,还有一套是ARM本身的工具链,也就是说ARM系统本身也有工具链。

  GNU Toolchain:GNU工具链即可以用来开发内核也可以用来开发应用程序。

  GNU就包括make,GCC,GDB,autotools等等。

  怎么去安装?

  Eabi:e就是嵌入式,a就是应用程序,b就是二进制,i就是接口,全称就是嵌入式应用程序二进制接口,所以它编译出来的就是嵌入式Linux应用程序的二进制文件。

来源:麦子学院

原文链接:http://www.maiziedu.com/wiki/arm/noun/

时间: 2024-08-08 08:55:29

ARM体系结构常用术语解释的相关文章

java常用英文解释

java常用名词解释: OO: object-oriented ,面向对象 OOP:object-oriented programming,面向对象编程 Author:JCC Object:对象JDK:Java development kit, java开发工具包 JVM:javavirtual machine ,java虚拟机 Compile:编绎 Run:运行Class:类 System:系统 out:输出 print:打印 line:行 variable:变量 type:类型 get:得到

ARM体系结构和汇编指令

第一节 可编程器件的编程原理 1. 可编程器件的特点 1 . CPU在固定频率的时钟控制下节奏运行 2 . CPU可以通过总线读取外部存储设备中的二进制指令集,然后解码执行 3 . 这些可以被CPU解码执行的二进制指令集是CPU设计的时候确定的,是CPU的设计者(ARM公司)定义的,本质上是一串由1和0组成的数字.这就是CPU的汇编指令集 2. 从源代码到cpu执行过程 第二节 指令集对cpu的意义 1. 汇编语言与C等高级语言的差异 汇编无移植性,c语言有一定可移植性,jave等更高级的语言移

ARM体系结构调试系统

预计会有几篇较大篇幅的文章大体描述下ARM体系结构调试系统方面的软硬件接口设计. 简述 经历过软件开发基本上都知道调试的重要性,能一次写好,并且没有BUG的软件毕竟少之又少. ARM体系结构从ARMv4开始硬件支持各种调试特性,随着系统的复杂度提升,到现今的ARMv7,甚至ARMv8,ARM从硬件层面也提供了更多的调试方式. 本文从大方向上概述ARM调试系统的组成,包括其中的debug,trace,profiling等方面 ,又着重在调试系统的软硬件接口配合. 调试分类 从大方向上看,我们基本可

ARM体系结构与编程-5

GET通常用于包含定义常量的源文件. 例如:GET 2440addr.inc 用AREA定义一个段,ENTRY用于指定程序的入口点,END用于告诉汇编器源文件已经结束. 例如: AREA init, CODE, READONLY ENTRY ...... END EQU用于定义常量,提醒:在每条ARM指令前必须有空格,但是用EQU定义常量时,必须顶格写,否则编译器报错. LTORG用于声明一个文字池,所谓文字池就是一个数据缓存区. ALIGN伪操作通过调整地址指针,使得当前地址满足一定的对齐方式

刨根究底字符编码之二——关键术语解释(下)

关键术语解释(下) 一.第1层 抽象字符表ACR (Abstract Character Repertoire抽象字符清单):明确字符的范围(即确定支持哪些字符) 1. 抽象字符表ACR是一个编码系统支持的所有抽象字符的集合,可以简单理解为无序的字符集合,用于确定字符的范围,即要支持哪些字符. 抽象字符表ACR的一个重要特点是字符的无序性,即其中的字符并没有编排数字顺序,当然也就没有数字编号. 2. "抽象"字符不具有某种特定的字形,不应与具有某种特定字形的"具体"

【嵌入式Linux+ARM】ARM体系结构与编程(ARM概述)

ARM体系结构与编程 本文章记录一些看<ARM体系结构与编程>这一本书的记录: 个人觉得,学习ARM体系时,不需要死记硬背,只要把某些关键的大致记住,比如ARM寄存器(通用寄存器.PC.LR.SP.CPSR.SPSR).ARM中断处理体系.常用的ARM汇编指令等. 本文基本都是从书上截图,都是一些关键的知识,需要我们时常去复习的. 一.ARM概述 ARM处理器的7种工作模式: ARM处理器寄存器: ARM中PC(R15)寄存器: ARM中CPSR寄存器: ARM异常处理模式--响应过程和返回过

关于黑客,你了解多少?----黑客入门学习(常用术语+DOS操作)

关于黑客,你了解多少?----黑客入门学习(常用术语+DOS操作) ·1.1·前言 黑客一次是由英语"Hacker"英译出来的,是指专门研究.发现计算机和网络漏洞的计算机爱好者,他们伴随着计算机和网络的发展而产生成长.黑客对计算机有着狂热的兴趣和执着的追求,他们不断的研究计算机和网络知识,发现计算机和网络中存在的漏洞,喜欢挑战高难度的网络系统并从中找到漏洞,然后向管理员提出解决和修补漏洞的方法. 黑客的出现推动了计算机和网络的发展与完善.他们所做的不是恶意破坏,他们是一群纵横于网络的大

整理ORACLE数据库备份常用术语

本文将讲述在备份是常用的数据库相关术语以及业界定义的专业术语,供大家参考和学习. 数据库相关术语: (1)冷备份: 冷备份是将数据库关闭之后,将数据文件.联机日志文件.控制文件拷贝到其他地方进行备份.此外,冷备份也可以包括对参数文件和口令文件的备份,但是这两种文件的备份是可以根据需要进行选择的,冷备份实际上也是一种物理备份. (2)热备份: 热备份是相对于冷备份而言的,不需要停机操作,直接可以在线采用archive mode下进行数据库备份和还原操作.比较常见的热备方法就是使用Rman备份. (

互联网营销常用术语

互联网营销常用术语 Part1 最基本的名词 ROI:Return On Investment的简称.一般而言on这个词是应该小写的,所以ROI似乎应该是RoI,不过大家都约定俗成了,不必较真.ROI是典型的追求效果类的营销的关键指标.在中国的互联网营销,这个值一般指的是,我花了多少钱推广费,直接产生了多少的销售.比如花了1万元做SEM推广,直接卖了3万元的货.ROI会被认为做到了3(即3:1).这一点与财务计算上的ROI是不同的,后者是利润和投入的比值,但在互联网营销上,大家没有把利润作为R,