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. bcache 状态/配置 文件详细介绍

    什么是bcache bcache是linux内核块层cache.它使用类似SSD来作为HDD硬盘的cache,从而起到加速作用. HDD硬盘便宜并且空间更大,SSD速度快但更贵.如果能两者兼得,岂不快 ...

  2. Android之仿京东淘宝的自动无限轮播控件

    在App的开发中,很多的时候都需要实现类似京东淘宝一样的自动无限轮播的广告栏,所以就自己写了一个,下面是我自定义控件的思路和过程. 一.自定义控件属性 新建自定义控件SliderLayout继承于Re ...

  3. XJOI1689相连的城市

    相连的城市 n个城市中,某些城市间有道路互相连接.给出与每个城市相邻的城市有多少个,请输出城市间的邻接矩阵. 输入格式: 第一行输入一个正整数n,表示城市的个数. 第二行输入n个用空格隔开的非负整数, ...

  4. PID控制算法研究

    1.matlab模糊控制工具箱:http://blog.csdn.net/gameboy12615/article/details/6367459 2.书籍:先进PID控制MATLAB仿真/刘金琨著 ...

  5. C#设计模式:责任链模式

    设计模式是面向对象编程的基础,是用于指导程序设计.在实际项目开发过程中,并不是一味将设计模式进行套用,也不是功能设计时大量引入设计模式.应该根据具体需求和要求应用适合的设计模式.设计模式是一个老话题了 ...

  6. 20分钟快速了解Redis

    Redis可以说是目前最火爆的NoSQL数据库! 过去几年,Memcached很盛行,现在有很多公司已将Memcached替换成了Redis.当然,很多人替换并不清楚为什么,只是感觉不想让主流抛弃,这 ...

  7. Linux 安装SVN服务器 (转)

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

  8. 通过virtualbox最小化安装centos 6.3后无法上网解决办法

    通过virtualbox最小化安装centos 6.3后无法上网解决办法 1.设置virtualbox的网络连接方式,如下图使用桥接方式,桥接的网卡为宿主正在上网的网卡,现在我是通过无线来上网的,所以 ...

  9. PHP 魔术方法 __call 与 __callStatic 方法

    PHP 魔术方法 __call 与 __callStatic 方法 PHP 5.3 后新增了 __call 与 __callStatic 魔法方法. __call 当要调用的方法不存在或权限不足时,会 ...

  10. js原型二

    function Box(name,age){ this.name = name; this.age = age; this.family = ['哥哥',‘姐姐’,‘妹妹’]: } Box.prot ...