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. 手机自动化测试培训:appium目录结构分析

    手机自动化测试培训:appium目录结构分析   移动端的自动化测试越来越普遍,poptest率先退出移动端自动化测试的课程,以appuim的python脚本版本作为授课基础,后期陆续退出java版本 ...

  2. Xmpp实现简单聊天系列 --- ①openfire部署

    1. 下载最新的openfire安装文件 官方下载站点:http://www.igniterealtime.org/downloads/index.jsp#openfire 2. 下载完成后,执行你的 ...

  3. CSS3——复杂选择器

    今天把视频里的CSS3复杂选择器部分看完了,来整理一下学到的知识点. 1.兄弟选择器:同一位置级别,可称为兄弟元素 a.相邻兄弟选择器:next紧紧跟在[当前元素之后的](一个),指定选择器的元素   ...

  4. Mongodb Geo2d索引原理

    作者:孔德雨 MongoDB的geo索引是其一大特色,本文从原理层面讲述geo索引中的2d索引的实现. 2d 索引的创建与使用 通过 db.coll.createIndex({"lag&qu ...

  5. WebService基础学习(一)—基础知识

    一.WebService 1.什么是WebService      Web Service(WEB服务)能够快捷和方便地综合结合各种系统.商务和任何应用平台.利用最新的Web Service 标准能够 ...

  6. mysql 4 索引的优缺点

    为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能. 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性. 第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因. 第 ...

  7. Android可以换行的布局

    本文讨论的是下图的这种数据展示方式 通过本文可以学到的内容 ===View绘制的工作流程measure和Layout,即测量和布局: ===动态创建和添加子View,以及设置点击事件的一种思路 1.主 ...

  8. org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast to org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection

    转载请注明出处:http://www.cnblogs.com/cnwutianhao/p/6709758.html Android Studio导入项目报错: org.gradle.api.inter ...

  9. shell初步了解

    shell的类型 查看用户所用的shell程序,在/etc/passwd 文件中的第七个字段(好像就是最后一个,主要是bash shell) 还有一个默认shell是/bin/sh,它作为默认的系统s ...

  10. 使用Python-iGraph绘制贴吧/微博好友关系图

    想通过图形化的方式显示社交网络特定用户的好友关系,上网找了一下这方面的图形库有networkx.graphviz等,找了好久我选择了iGraph这个图形库. igraph在Windows下的安装稍微有 ...