ARMv7-A 处理器窥探(2) —— CP15 协处理器

发布者:和谐相处最新更新时间:2021-10-26 来源: eefocus关键字:处理器  CP15  协处理器 手机看文章 扫描二维码
随时随地手机看文章

1、ARMv7-A 协处理器

ARMv7-A 处理器除了标准的 R0~R15,CPSR,SPSR 以外,由于引入了 MMU、TLB、Cache 等内容,ARMv7-A 使用协处理器来对这些扩展来进行管理,ARMv7-A 支持 16 个协处理器,编号从 CP0~CP15,其中的 CP15 协处理器称之为系统控制协处理器,CP15 协处理器下的寄存器包含了 MMU、TLB、Cache等关键组件,其余的 CP0~CP14 有的控制Debug功能,有的控制 SIMD,有的控制浮点,咱们暂时只关注关键的 CP15;


2、CP15 协处理器

2.1、组成

CP15 协处理器由16个子寄存器组成,分别为 c0~c15,所以 CP15 的层次关系为:

这里的 c0~c15 不是寄存器的含义,而是主(Primary Register)寄存器的意思,也就是每个 c0~c15 中,包含很多寄存器组:


比较常用的 c0~c15 的寄存器组织如下

image.png

image.png

所以,针对 CP15 协处理器相关的层次结构总结下来为(这里以c0为例,c1~c15同样有很多寄存器,每个寄存器都是 32bits 的):

2.2、访问指令

与 CPSR 类似,协处理器的访问是通过指定的汇编指令进行访问;常用的有 MCR/MRC 两条:


MRC: 将 CP15 协处理器中的寄存器数据读到 ARM 寄存器中。


MCR: 将 ARM 寄存器的数据写入到 CP15 协处理器寄存器中。


使用这两条指令,外加一些标准的指令,就可以实现读改写;


2.2.1、MCR

MCR 指令的格式如下:


MCR , , , , {, }


其中:


coproc:访问协处理器的名字,取值范围从 p0~p15;


opc1:协处理器要执行的操作码,取值范围从 0~7;


Rt:ARM 的寄存器(比如 R0),要写入到指定协处理器寄存器的数据就保存在此寄存器中;


CRn:指定协处理器的目标寄存器;


CRm:协处理器中附加的目标寄存器或者源操作数寄存器,如果不需要附加信息就将 CRm 设置为 C0,否则结果不可预测;


opc2:可选的协处理器特定操作码,取值范围从 0~7,当不需要的时候要设置为 0;


2.2.2、MRC

MRC 指令的格式如下:


MRC , , , , {, }


其中:


coproc:访问协处理器的名字,取值范围从 p0~p15;


opc1:协处理器要执行的操作码,取值范围从 0~7;


Rt:ARM 的寄存器(比如 R0),将指定协处理器寄存器的数据读在此 ARM Core 寄存器中;


CRn:指定协处理器的目标寄存器;


CRm:协处理器中附加的目标寄存器或者源操作数寄存器,如果不需要附加信息就将 CRm 设置为 C0,否则结果不可预测;


opc2:可选的协处理器特定操作码,取值范围从 0~7,当不需要的时候要设置为 0;


访问协处理器寄存器的指令已经写得很清楚,接下来就是如何来填这指令中的变量,这涉及到具体的协处理器的寄存器组织,我们使用最常用的 CP15 为例进行讲述;


2.3、Cp15 协处理器寄存器组成

不管是 MCR/MRC 指令,如果针对到具体的 Cp15 协处理器,coproc 字段填 p15,Rt 字段可以随便指定,暂时不管,那么就剩下 4 个变量:


{opc1、CRn、CRm、opc2};


Cp15 协处理器的所有寄存器访问,都要依赖这几个值的组合达到访问的目的,前面说过整个 Cp15 的寄存器,分为 c0~c15,一个 16 个 Primary Regiser,再在每个 Primary Regiser 下面,又细分了很多具体的每个长度为 32bits 的寄存器,他们的整体组织结构为:

可以看到,Cp15 协处理器的 CRn 编号从 c0~c15,每个 Primary Regiser 都标记得有访问权限;后面的 opc1、CRm、opc2 的取值访问也都标记得清清楚楚;


那么下面将 c0~c16 每个展开看一下便可以清清楚楚看到他们怎么组织起来的,这样就可以知道如何使用汇编进行编码配置;


2.3.0、Cp15-c0 寄存器组成

c0 的寄存器组成如下:

访问每个寄存器的 {opc1、CRn、CRm、opc2} 写的清清楚楚;


主要是和 ID 相关的内容;


2.3.1、Cp15-c1 寄存器组成

c1 的寄存器组成如下:

主要是和系统控制相关的配置;


2.3.2、Cp15-c2&c3 寄存器组成

c2&c3 的寄存器组成如下:

主要是内存保护和控制相关的(MMU);


2.3.3、Cp15-c4 寄存器组成

Cp15 协处理器的 c4 寄存器为 Not used;


2.3.4、Cp15-c5&c6 寄存器组成

c5&c6 的寄存器组成如下:

主要是和 memory fault 相关的;


2.3.5、Cp15-c7 寄存器组成

c7 的寄存器组成如下:

主要是和 Cache 相关的部分;


2.3.6、Cp15-c8 寄存器组成

c8 的寄存器组成如下:

主要是和 TLB 相关的;


2.3.7、Cp15-c9 寄存器组成

c9 的寄存器是为 cache 和 TCM 预留的;

2.3.8、Cp15-c10 寄存器组成

c10 的寄存器是为内存重映射和 TLB 控制:

2.3.9、Cp15-c11 寄存器组成

c11 的寄存器是为 TCM DMA 预留:

2.3.10、Cp15-c12 寄存器组成

c12 的寄存器是为安全扩展的:


2.3.11、Cp15-c13 寄存器组成

c13 的寄存器是为进程,上下文和线程 ID 的:

2.3.12、Cp15-c14 寄存器组成

c14 的寄存器是为通用 Timer 预留的:


2.3.13、Cp15-c15 寄存器组成

c15 的寄存器是 IMPLEMENTATION DEFINED 的,不管他:

关键字:处理器  CP15  协处理器 引用地址:ARMv7-A 处理器窥探(2) —— CP15 协处理器

上一篇:ARMv7-A 处理器窥探(3) —— Memory Model
下一篇:ARMv7-A 的 MMU 浅析

推荐阅读最新更新时间:2024-11-10 14:29

台积电下月将量产iPhone8 A11处理器
据台湾经济日报报道,台积电为苹果代工的A11处理器下月正式量产,预计7月前备货5000万颗,意谓苹果iPhone 8也将于7月密集备货,让整个苹果供应链动起来。 台积电供应链透露,台积电将为苹果新机在今年底前备货1亿颗,反映苹果相当看好十周年新机销售,在年前写下历年最佳销售纪录,可预期今年也将是苹果历年来最高备货潮。 台积电是继以20nm拿下苹果A9处理器独家代工后,再次以10nm制程,且整合独家开发的扇出型封装(InF0和晶圆级封装(WLP)封装技术,拿下苹果A11独家制造权利,从台积电出货和备货动向,可看出苹果相当看好iPhone 8新机表现。 苹果iPhone 8的规格,已相继曝光,包括除了现有4.7寸和5.5寸规格外,将会
[半导体设计/制造]
释放AI无限潜力,英特尔第三代至强可扩展处理器问市
英特尔公司今日正式发布第三代英特尔®至强®可扩展处理器及全新的AI软硬件产品组合,旨在进一步助力客户在数据中心、网络及智能边缘环境中加速开发和部署AI及数据分析工作负载。作为业界首个内置bfloat16支持的主流服务器处理器,第三代英特尔®至强®可扩展处理器能够帮助图像分类、推荐引擎、语音识别和语言建模等应用的AI推理和训练更简便地部署在通用CPU上。 英特尔公司副总裁兼至强处理器与存储事业部总经理Lisa Spelman表示:“快速部署AI和数据分析对当今各类企业至关重要。英特尔一直致力于不断强化处理器的内置AI加速能力和软件优化优势,以更好地为全球的数据中心和边缘解决方案提供动能,并通过打造无与伦比的芯片基石,助力释放数据
[嵌入式]
释放AI无限潜力,英特尔第三代至强可扩展<font color='red'>处理器</font>问市
低价3G处理器 Rockchip与Intel合推XMM6321
     主打低价位市场,Intel 与 Rockchip 合作的第一款产品正式发表。 10 月份的时候,我们就已经知道 Intel 与 Rockchip 合作的第一款产品,带有 ARM Corte-A5 双核心处理器的 XMM6321。 这款处理器已经正式在 10 月接到来自 Dubai 的 100,000 台 7 寸平板计算机订单,现在 Intel 将会带著 Rockchip 走出亚洲市场迈向全球,其中将包含北美市场。 处理器规格部分其实也不用太期待,因为只有 1.0GHz(可以超频至 1.2GHz),GPU 支持 OpenGL ES 2.0,但分辨率仅支持 854 x 480 或是 1024 x 600,尺寸则是
[手机便携]
台积电赶iphone 8单 A11处理器7月交货
苹果启动新一代手机零组件备货,台积电以10奈米为苹果生产A11处理器下月正式放量投片,预估7月下旬量产交货,等于宣告苹果新机iPhone 8将于7月密集备货,让整个苹果供应链动起来。 台积电预定在年底前为苹果备货1亿颗的A11处理器,颢示苹果仍看好十周年新机销售,仍可缔造历年来最佳销售纪录。 法人看好,台积电下半年营收成长动能强劲,买盘持续敲进,本周股价有机会挑战站上200元,带领台股再攻万点,其股价、市值将再改写历史新高纪录。 台积电上季法说会时曾释出本季因主要客户处于新旧产品交替或进行库存调整,预估本季合并营收将季减8~9%,营收将介于2,130亿元至2,160亿元;毛利率略降至50.5%~52.5%;营业利益率约小幅下滑至3
[手机便携]
催生新世代处理器 台积电翻新晶圆制程技术
    台积电正多管齐下打造兼顾效能与功耗的新世代处理器。为优化处理器性能并改善电晶体漏电流问题,台积电除携手矽智财(IP)业者,推进鳍式电晶体(FinFET)制程商用脚步外,亦计划从晶圆导线(Interconnect)和封装技术着手,加速实现三维晶片(3D IC);同时也将提早布局新一代半导体材料,更进一步提升电晶体传输速度。 台积电先进元件科技暨TCAD部门总监Carlos H. Diaz提到,台积电亦已开始布局10奈米制程,正积极开发相关微影技术。 台积电先进元件科技暨技术型电脑辅助设计(TCAD)部门总监Carlos H. Diaz表示,由于行动处理器须兼具高效能、低功耗价值,且每一代产品更迭迅速,因此晶圆厂已不能单纯从制
[手机便携]
过热事大,那些大牌手机CPU都怎么解决
近年来,随着智能手机处理器主频的不断提高和核心数量的增加,手机在运行高运算量的软件/游戏时产生的热量也不断增加,如果不能通过良好的途径处理这些热量,一来有可能对硬件造成损伤,二来也容易对使用者造成不适甚至伤害。幸运的是,处理器的生产厂商从设计时便考虑了散热的问题,今天就让我们来看一看不同的手机厂商都采用了哪些针对处理器的冷却技术。石墨散热   代表作:小米手机 散热效率:★★★ 石墨是一种良好的导热材料,导热性超过钢、铁、铅等多种金属材料。小米在发布小米手机第一代时就宣称使用了石墨散热膜为处理器降温,并且一直延续到了小米 Note 这代产品。其实,除了小米之外,石墨散热材料也应用在其他各大品牌的手机/平板当中作为散
[嵌入式]
e2v 发布首款适用于太空应用的 GHz 级微处理器
领先的高可靠性半导体解决方案供应商 e2v 日前宣布,推出世界上首款适用于太空应用的 GHz 级 Power Architecture™ PC7448 版本微处理器,该处理器可集成到适用于太空应用的设备上。 PC7448 是e2v 的 Power Architecture™ 系列中首款具有太空应用能力的产品。它是一款已广泛应用于航空器计算平台的 RISC 微处理器。它的运行速度高达 1267MHz,如果和 AltiVec™ 引擎配合使用,可提供强大的浮点计算功能,满足苛刻的信号处理应用要求。该处理器采用 90nm CMOS SOI 制造工艺,具有抗辐射性能(就电离总剂量和重离子辐射而言)。 太空级 PC7448 版
[嵌入式]
国网充电桩计费控制单元解决方案-米尔科技
方案背景: 随着我国经济社会发展水平不断提高,汽车保有量持续攀升。大力发展电动汽车,能够加快燃油替代,减少汽车尾气排放,对保障能源安全、促进节能减排、防治大气污染、推动我国从汽车大国迈向汽车强国具有重要意义。 根据国家发展改革委等四部门于2015年11月17日发布的《电动汽车充电基础设施发展指南(2015-2020年)》提出,到2020年,新增集中式充换电站超过1.2万座,分散式充电桩超过480万个,以满足全国500万辆电动汽车充电需求。 充电基础设施主要包括各类集中式充换电站和分散式充电桩,完善的充电基础设施体系是电动汽车普及的重要保障。进一步大力推进充电基础设施建设,是当前加快电动汽车推广应用的紧迫任务,也是推进能源消费
[汽车电子]
国网充电桩计费控制单元解决方案-米尔科技
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved