- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 多ARM体系结构
2、ARM TrustZone 技术 TrustZone(TM) 技术出现在 ARMv6KZ 以及较晚期的应用核心架构中。它提供了一种低成本的方案,针对系统单芯片(SoC)内加入专属的安全核心,由硬件建构的存取控制方式支援两颗虚拟的处理器。这个方式可使得应用程式核心能够在两个状态之间切换(通常改称为领域(worlds)以避免和其他功能领域的名称混淆),在此架构下可以避免资讯从较可信的核心领域泄漏至较不安全的领域。 TrustZone有两种工作模式,一种是正常模式(Normal World),可以执行富指令,称为REE环境(Rich Execution Environment),另一种模式就是安全模式(secure world),只能执行受信指令,成为TEE环境(Trusted Execution Environment)。 3、SIMD SIMD(Single Instruction Multiple Data,单指令多数据流)能够复制多个操作数,并把它们打包在大型寄存器的一组指令集,例:3DNow!、SSE。 以同步方式,在同一时间内执行同一条指令。 SIMD在性能上的优势 以加法指令为例,单指令单数据(SISD)的CPU对加法指令译码后,执行部件先访问内存,取得第一个操作数;之后再一次访问内存,取得第二个操作数;随后才能进行求和运算。而在SIMD型的CPU中,指令译码后几个执行部件同时访问内存,一次性获得所有操作数进行运算。这个特点使SIMD特别适合于多媒体应用等数据密集型运算。 如:AMD公司引以为豪的3D NOW! 技术实质就是SIMD,这使K6-2、雷鸟、毒龙处理器在音频解码、视频回放、3D游戏等应用中显示出优异的性能。 4、NEON ARM? NEON??通用?SIMD 引擎可有效处理当前和将来的多媒体格式,从而改善用户体验。 NEON 技术可加速多媒体和信号处理算法(如视频编码/解码、2D/3D 图形、游戏、音频和语音处理、图像处理技术、电话和声音合成),其性能至少为 ARMv5 性能的 3 倍,为?ARMv6 SIMD 性能的 2 倍。 NEON 技术是通过清晰方式构建的,并可无缝用于其本身的独立流水线和寄存器文件。 NEON?技术是 ARM Cortex?-A 系列处理器的 128 位 SIMD(单指令多数据)体系结构扩展,旨在为消费性多媒体应用提供灵活强大的加速功能,从而明显改善用户体验。?它具有 32 个寄存器,64 位宽(是 16 个寄存器,128 位宽的双倍视图) 。 简单来讲,NEON其实是一种SIMD(Single Instruction Multiple Data?单指令流多数据流)技术。而SIMD,是指采用一个控制器来控制多个处理单元(处理器/处理微元),同时对一组数据中的每一个分别执行相同的操作从而实现空间上的并行性的技术。如下图所示。 NEON 支持 8-, 16-, 32- 和 64-bit 的整数及单精度浮点数据,并以 SIMD 的方式运算,运行图形和游戏处理中关于语音/视频的部分。在 NEON 中,SIMD 最高可支持到同时 16 个运算。这个时候是以8bit的数据运算,而NEON的位宽是128bit,即为16个运算。 另外一个NEON显著的特点是是他和VFP单元共用自己的寄存器堆,而与主核的寄存器堆区别开。 一些数据显示:NEON 可以在 10 MHz 的 CPU 上运行 MP3 音效解码,且可以运行 13 MHz 频率以下的 GSM AMR (Adaptive Multi-Rate) 语音编码。 ARMv8-A ARMv8-A 将 64 位体系结构支持引入 ARM 体系结构中,其中包括: ?64 位通用寄存器、SP(堆栈指针)和 PC(程序计数器) ?64 位数据处理和扩展的虚拟寻址 两种主要执行状态: ?AArch64 - 64 位执行状态,包括该状态的异常模型、内存模型、程序员模型和指令集支持 ?AArch32 - 32 位执行状态,包括该状态的异常模型、内存模型、程序员模型和指令集支持 这些执行状态支持三个主要指令集: ?A32(或 ARM):32 位固定长度指令集,通过不同体系结构变体增强部分 32 位体系结构执行环境现在称为 AArch32 ?T32 (Thumb),以 16 位固定长度指令集的形式引入,随后在引入 Thumb-2 技术时增强为 16 位和 32 位混合长度指
文档评论(0)