arm处理器
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 VR
和power 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处理器的更多相关文章
- 基于ARM处理器的反汇编器软件简单设计及实现
写在前面 2012年写的毕业设计,仅供参考 反汇编的目的 缺乏某些必要的说明资料的情况下, 想获得某些软件系统的源代码.设计思想及理念, 以便复制, 改造.移植和发展: 从源码上对软件的可靠性和安全性 ...
- ARM处理器解析
按图分析: ARM处理器有七种工作模式,为的是形成不同的使用级别,以防造成对系统的破坏.不同模式可以访问的寄存器不同,可以运行的指令不同. (1)user(10000):普通应用程序运行的模式(应用程 ...
- 热烈祝贺华清远见《ARM处理器开发详解》第2版正式出版
2014年6月,由华清远见研发中心组织多名业 内顶尖讲师编写的<ARM处理器开发详解>一书正式出版.本书以S5PV210处理器为平台,详细介绍了嵌入式系统开发的各个主要环节,并注重实践,辅 ...
- ARM处理器的寄存器
在ARM体系中通常有以下3种方式控制程序的执行流程: **在正常执行过程中,每执行一条ARM指令,程序计数器(PC)的值加4个字节:每执行一条Thumb指令,程序计数器寄存器(PC)加2个字节.整个过 ...
- ARM 处理器的几个相关术语
生产ARM的厂商很多,自然ARM处理器的名字就五花八门.但是,它们有些共同点,那就是:架构和核心. 架构这个概念太宽不太懂,一般不同的架构会有不同的指令集,在不同的架构下面还可以有多种核心.核心就是指 ...
- ARM处理器模式
ARM处理器模式 ARM处理器共有7种运行模式: l 用户模式(User,usr):正常程序执行的模式 l 快速中断模式(FIQ,fiq):用于高速数据传输和通道处理 l 外部中断模式(IRQ, ...
- ARM处理器的寄存器,ARM与Thumb状态,7中运行模式 【转】
转自:http://blog.chinaunix.net/uid-28458801-id-3494646.html ARM处理器工作模式一共有 7 种 : USR 模式 正常用户模式,程序正常 ...
- ARM处理器全解析:A8/A9/A15都是什么?
前不久ARM正式宣布推出新款ARMv8架构的Cortex-A50处理器系列产品,以此来扩大ARM在高性能与低功耗领域的领先地位,进一步抢占移动终端市场份额.Cortex-A50是继Cortex-A15 ...
- 高清摄像头MIPI接口与ARM处理器的连接
MIPI摄像头常见于手机.平板中,支持500万像素以上高清分辨率.它的全称为“Mobile Industry Processor Interface”,分为MIPI DSI 和MIPI CSI,分别对 ...
- ARM处理器寄存器
参考:ARM Architecture Reference Manual的39页 1.ARM处理器寄存器纵览 ARM微处理器共有37个32位寄存器,其中31个为通用寄存器(R13和R13_svc不是同 ...
随机推荐
- 使用github+hexo搭建博客笔记
听说github上可以搭博客,而且不用自己提供空间和维护,哈哈哈 作为一名程序猿,github搭博客对我有种神奇的吸引力,赶紧动手试一试 关于如何使用hexo搭建博客网上好的教程多如牛毛,而且这篇博客 ...
- vue监听滚动事件,实现滚动监听
在vue中实现滚动监听和原生js无太大差异,下面是一个简单的demo,可在控制台查看结果 <!DOCTYPE html> <html lang="en"> ...
- build.gradle代码
Android Studio 这么强大的工具,就算我们不懂 gradle, groovy, 也照样能借助AS对 Android 项目进行编译.调试.运行.打包等操作.build.gradle 这个文件 ...
- dubbo的简单实现
一 是什么 一般网站架构随着业务的发展,逻辑越来越复杂,数据量越来越大,交互越来越多,dubbo使前后端分离,完成负载均衡. dubbo架构图 节点角色说明: Provider: 暴露服务的服务提供方 ...
- PPT自动载入图片并矩阵分布
最近有学生问到,能不能快速的向PPT一个页面里插入成百张图片,并让它们按统一大小的矩形排布到页面上.我写了以下代码可以在第1页中按照指定横向和纵向矩形数目,填充指定路径下的图片. Sub LoadPi ...
- 老李分享:HTTP协议之请求和响应
老李分享:HTTP协议之请求和响应 HTTP请求头详解: GET http://www.foo.com/ HTTP/1.1 GET是请求方式,请求方式有GET/POST http://www.fo ...
- android通过代码获取华为手机的EMUI系统版本号
因为app中用到华为推送,但是华为推送在不同版本上是存在不同问题的,需要单独来处理. 那么最基本的问题是要获取EMUI系统的版本号. 上网翻了很多博客帖子,基本上是在获取root权限下去读取/syst ...
- Python多层目录模块调用
一. 引用模块在 父+级目录中: 1. 将导入模块所在目录(../model/模块)添加到系统环境变量path下,可添加多个 import syssys.path.append("../mo ...
- node服务成长之路
我们的系统也从第一代平台开始到现在第四代平台更换中,对这四代平台做一个简单的介绍: 第一代平台,主要是集中式,以快速上线为目的:第二代平台主要是分布式改造,缓解各服务压力:第三代平台主要做服务端SOA ...
- 基于51单片机IIC通信的AT24C02学习笔记
引言 最近在学习几种串行通信协议,感觉收获很多,这篇文章是学习IIC总线协议的第一篇文章,以后还会再写一篇关于PCF8591 IIC通信的ADDA转换芯片的文章. 关于IIC总线 IIC 即Inter ...