arm处理器

arm处理器相关

1.体系架构定义了指令集(ISA)和基于这一体系结构下处理器的编程模型。

arm卖的是架构或者已经设计好的公版ip核

卖给苹果高通的是架构,需要苹果高通通过架构设计自己的ip核.

卖给联发科,三星,华为的是公版的ip核,需要自己设计模块,核心数,频率功率,外围设备,制造工艺等等

2.处理器历史

v1 v2 都是26位处理器,最大支持64M内存

v3实现了32地址空间

v4系列中的v4T新增了Thumb指令集

v5有了支持dsp指令的v5E分支,和支持Java指令的v5J分支,同时增强了v5T系列arm Thumb两种指令的交互工作能力

v6架构增加了媒体指令,并且v6体系支持所有的特殊指令集(E J T)

v7更新Thumb为Thumb-2,同时提高了dsp和媒体处理能力,提高了接近4倍

v8地址空间为64位,包含两个状态AArch64 和 AArch32, 引入全新指令集A64用于应付64位地址的存取

同时提出了大小核设计架构

另外,从ARM9处理器这一代开始,采用哈弗架构,

哈佛架构

存储器系统根据哈佛体系结构(程序和数据空间独立的体系结构)重新设计,区分了数据总线和指令总线。

cortex处理器

1.大体介绍

ARMv7 架构是在 ARMv6 架构的基础上诞生的。该架构采用了 Thumb-2 技术

Thumb-2技术比纯 32 位代码少使用 31%的内存,减小了系统开销,同时能够提供比已有的基于 Thumb 技术的解决方案高出 38%的性能。

ARMv7 架构还采用了NEON技术,将DSP和媒体处理能力提高了近4倍。并支持改良的浮点运算,满足下一代 3D 图形、游戏物理应用及传统嵌入式控制应用的需求。

crotex-A8它首次采用了强大的 NEON 信号处理扩展集,为 H.264 和 MP3 等媒体编解码提供加速。

2.科普:各家的GPU

  • Mali 系列由 ARM 出品
  • PowerVR SGX 系列由 Imagination Technologies 公司出品

  • Adreno 系列由高通公司出品,主要配合 Snapdragon CPU 使用
  • GeForce GPU 由英伟达打造,用于Targe系列的处理器

相关:Imagination Technologies有power VR和MIPS 两个主要产品;

-MIPS原本是和ARM竞争的厂商美普斯科技研发的CPU IP核,但是后面错过了移动领域的发展,导致现在只有少数公司在用,后面又被Imagination Technologies收购掉了,国内的龙芯还在用MIPS提供的IP核.

-power VRpower PC没有关系,power VR是GPU芯片,苹果自己的A系列处理器的GPU就是采用的power VR.

而power PC是苹果 IBM 摩托罗拉联合开发的CPU,后来被苹果抛弃,转而使用Intel的CPU

cortex-A8处理器

数据类型

  • Byte字节类型,8bit
  • Halfword半字类型,16bit,位置开始于偶数字节地址(二进制末尾为0)
  • Word字类型,32bit,位置开始于4的倍数字节地址(二进制末尾为00)

    ARM指令编译后为4字节, Thumb编译后为2字节

大端和小端



地址从左到右逐渐变大

大端模式:低位存放在高地址

小端模式:低位存放在低地址

主机序为小端模式,网络序为大端模式,相应的转换函数为htons ntohs函数等等

存储系统

  • 典型的 ARM 处理器有多个 32 位寄存器,其访问时间为 ns 量级
  • 芯片级的紧耦合存储器(TCM)是为弥补 Cache 访问的不确定性增加的存储器,TCM 是一种快速SDRAM
  • cache可能会分为两级,容量一般为8~32K, 几百K.速度为10ns, 几十ns.
  • DRAM 和 ROM就没什么好说的了

协处理器

ARM支持多达16个协处理器,具体之后再看

MMU存储管理单元

将物理地址映射为虚拟地址,操作系统直接使用虚拟地址,不用担心其他任务的地址需求以及占用情况.

cache

cache经常与写缓存器(write buffer)一起使用,当cpu要写入主存储器数据的时候, 先写入写缓存器,写缓存器写入速度高,

所以很快就可以完成,然后写缓存器再向下一级的缓存中写入.

这样可以提高cpu的执行效率, 但是容易出现数据不一致的情况.

流水线介绍

流水线典型的步骤

流水线的概念

因为每个指令包含很多个步骤,就是在执行完第一个指令的步骤1后,立马执行下个指令的步骤1

就像流水线一样,每个人只负责一个步骤

这样如果有6个步骤,就会比之前的速度提高6倍

三级流水线

五级流水线

寄存器

arm处理器的更多相关文章

  1. 基于ARM处理器的反汇编器软件简单设计及实现

    写在前面 2012年写的毕业设计,仅供参考 反汇编的目的 缺乏某些必要的说明资料的情况下, 想获得某些软件系统的源代码.设计思想及理念, 以便复制, 改造.移植和发展: 从源码上对软件的可靠性和安全性 ...

  2. ARM处理器解析

    按图分析: ARM处理器有七种工作模式,为的是形成不同的使用级别,以防造成对系统的破坏.不同模式可以访问的寄存器不同,可以运行的指令不同. (1)user(10000):普通应用程序运行的模式(应用程 ...

  3. 热烈祝贺华清远见《ARM处理器开发详解》第2版正式出版

    2014年6月,由华清远见研发中心组织多名业 内顶尖讲师编写的<ARM处理器开发详解>一书正式出版.本书以S5PV210处理器为平台,详细介绍了嵌入式系统开发的各个主要环节,并注重实践,辅 ...

  4. ARM处理器的寄存器

    在ARM体系中通常有以下3种方式控制程序的执行流程: **在正常执行过程中,每执行一条ARM指令,程序计数器(PC)的值加4个字节:每执行一条Thumb指令,程序计数器寄存器(PC)加2个字节.整个过 ...

  5. ARM 处理器的几个相关术语

    生产ARM的厂商很多,自然ARM处理器的名字就五花八门.但是,它们有些共同点,那就是:架构和核心. 架构这个概念太宽不太懂,一般不同的架构会有不同的指令集,在不同的架构下面还可以有多种核心.核心就是指 ...

  6. ARM处理器模式

    ARM处理器模式 ARM处理器共有7种运行模式: l  用户模式(User,usr):正常程序执行的模式 l  快速中断模式(FIQ,fiq):用于高速数据传输和通道处理 l  外部中断模式(IRQ, ...

  7. ARM处理器的寄存器,ARM与Thumb状态,7中运行模式 【转】

    转自:http://blog.chinaunix.net/uid-28458801-id-3494646.html ARM处理器工作模式一共有 7 种 : USR  模式    正常用户模式,程序正常 ...

  8. ARM处理器全解析:A8/A9/A15都是什么?

    前不久ARM正式宣布推出新款ARMv8架构的Cortex-A50处理器系列产品,以此来扩大ARM在高性能与低功耗领域的领先地位,进一步抢占移动终端市场份额.Cortex-A50是继Cortex-A15 ...

  9. 高清摄像头MIPI接口与ARM处理器的连接

    MIPI摄像头常见于手机.平板中,支持500万像素以上高清分辨率.它的全称为“Mobile Industry Processor Interface”,分为MIPI DSI 和MIPI CSI,分别对 ...

  10. ARM处理器寄存器

    参考:ARM Architecture Reference Manual的39页 1.ARM处理器寄存器纵览 ARM微处理器共有37个32位寄存器,其中31个为通用寄存器(R13和R13_svc不是同 ...

随机推荐

  1. vue的使用总结

    1.vue的生命周期

  2. net.sz.framework 框架 轻松搭建服务---让你更专注逻辑功能---初探

    前言 在之前的文章中,讲解过 threadmodel,socket tcp ,socket http,log,astart ,scripts: 都是分片讲解,从今天开始,将带大家,一窥 net.sz. ...

  3. 性能测试培训:sql server性能测试分析局部变量的性能影响

    poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest的loadrunner的培训中,为了提高学员性能优化的经验,加入了 ...

  4. JAVA加密算法系列-DESCoder

    package ***; import java.security.Key; import java.security.SecureRandom; import javax.crypto.Cipher ...

  5. [转]centos7环境安装rabbitMQ

    使用专业的消息队列产品rabbitmq之centos7环境安装 http://www.cnblogs.com/huangxincheng/p/6006569.html CentOS7上安装Rabbit ...

  6. JavaWeb总结(五)—Cookie

    一.会话 1.提出问题 HTTP协议是一种无状态的协议.Web服务器本身不能识别哪些请求是同一浏览器发出的,浏览器的每一次请求都是孤立的.即使HTTP1.1支持持续连接,但当用户有一段时间没有提交请求 ...

  7. ES6 深入let的作用域

    说到ES6的let变量声明,我估计很多人会想起下面几个主要的特点: 没有变量声明提升 拥有块级作用域 暂时死区 不能重复声明 很多教程和总结基本都说到了这几点(说实话大部分文章都大同小异,摘录的居多) ...

  8. 谁用光了磁盘?Docker System命令详解

    译者按: Docker镜像,容器,数据卷以及网络都会占用主机的磁盘空间,这样的话,磁盘很容易就会被用完.这篇博客介绍了一个简单的解决方案 - Docker System命令. 原文: What's e ...

  9. 关于 __proto__和prototype的一些理解

    var Person = function(name) {}; Person.prototype.say = function() { console.log("Person say&quo ...

  10. Centos7完全分布式搭建Hadoop2.7.3

    (一)软件准备 1,hadoop-2.7.3.tar.gz(包) 2,三台机器装有cetos7的机子 (二)安装步骤 1,给每台机子配相同的用户 进入root : su root ---------& ...