当前位置:首页 > 芯闻号 > 充电吧
[导读]汇编是对寄存器操作的,不知道一些和主控制器相关的寄存器的作用,根本无法理解某些指令,所以先自己学习相关寄存器和工作模式。下面是《ARM 嵌入式体系结构与接口技术(Cortex-A8 版) 》的学习笔记

汇编是对寄存器操作的,不知道一些和主控制器相关的寄存器的作用,根本无法理解某些指令,所以先自己学习相关寄存器和工作模式。

下面是《ARM 嵌入式体系结构与接口技术(Cortex-A8 版) 》的学习笔记

ARM处理器相关寄存器: ARM Cortex-A8 处理器有 40 个 32 位长的寄存器
(1)32 个通用寄存器。 
(2)7 个状态寄存器:1 个 CPSR(Current Program Status Register,当前程序状态寄存器),6个 SPSR(Saved Program Status Register,备份程序状态寄存器)。 
(3)1 个 PC(Program Counter,程序计数器)。


1.处理器模式和切换方法


这图是我在arm相关的芯片手册上找到的,在这里可以看到arm处理器有八种模式,system和user两种模式还用了相同的寄存器组。每种模式都有自己的专用的寄存器,但是有些寄存器是通用的,所以有些寄存器的名字相同但是实际上他们对应的可能在物理上不一定是一个位置,比如不同模式下的R6对应的实际位置是不同的。(学习汇编的时候遇到了相似的过程,后面会提到,这里先标记住),除了用户模式外的其他七种模式成为特权模式(Privileged Modes).在特权模式下程序可以访问所有的资源,也可以在任意的进行处理器模式的切换,大多数情况下程序都是运行在用户模式下的,在用户模式下应用程序不能访问受操作系统保护的一些资源也不能进行处理器模式的切换,需要切换的时候要么由应用程序产生异常处理,异常处理过程中进行处理器模式的切换。



根据学习过程发现用到的irq模式比其他模式多。


Cortex -A8存储系统 ARM 存储系统有非常灵活的体系结构,可以适应不同嵌入式应用系统的需要。ARM 存储器系统可以使用简单的平板式地址映射机制(就像一些简单的单片机一样,地址空间的分配方式是固定的,系统中各部分都使用物理地址),也可以使用其他技术提供功能更为强大的存储系统。例如: 


(1)系统可能提供多种类型的存储器件,如 Flash、ROM、SRAM 等; 
(2)Cache 技术; 
(3)写缓存技术(Write Buffer); 
(4)虚拟内存和 I/O 地址映射技术。 


大多数的系统通过下面的方法之一可实现对复杂存储系统的管理:
(1)使用 Cache,缩小处理器和存储系统速度差别,从而提高系统的整体性能。 
(2)使用内存映射技术实现虚拟空间到物理空间的映射。这种映射机制对嵌入式系统非常重要。

通常嵌入式系统程序存放在 ROM/Flash 中,这样系统断电后程序能够得到保存。但是,ROM/Flash 与SDRAM 相比,速度慢很多,而且基于 ARM 的嵌入式系统中通常把异常中断向量表放在 RAM 中。利用内存映射机制可以满足这种需要。在系统加电时,将 ROM/Flash 映射为地址 0,这样可以进行一些初始化处理。当这些初始化处理完成后将 SDRAM 映射为地址 0,并把系统程序加载到 SDRAM 中运行,这样能很好地满足嵌入式系统的需要。 
(3)引入存储保护机制,增强系统的安全性。 
(4)引入一些机制保证将 I/O 操作映射成内存操作后,各种 I/O 操作能够得到正确的结果。在简


单存储系统中,不存在这样问题。而当系统引入了 Cache 和 Write Buffer 后,就需要一些特别的措施。 在 ARM 系统中,要实现对存储系统的管理通常是使用协处理器 CP15,它通常也被称为系统控制协处理器(System Control Coprocessor)。 ARM 的存储器系统是由多级构成的,可以分为内核级、芯片级、板卡级、外设级。图 2-4 所示为存储器
的层次结构。每级都有特定的存储介质,下面对比各级系统中特定存储介质的存储性能。 


特点:越网上空间越小,读取写入速度越快,价格越来越昂贵,CP15后面会介绍相应的汇编指令和寄存器。

协处理器

ARM 处理器支持 16 个协处理器(CP15)。

执行过程:

每个协处理器忽略属于 ARM 处理器和其他协处理器的指令。当一个协处理器硬件不能执行属于它的协处理器指令时,将产生一个未定义指令异常中断,在该异常中断处理程序中,可以通过软件模拟该硬件操作。例如,如果系统不包含向量浮点运算器,则可以选择浮点运算软件模拟包来支持向量浮点运算。(硬件不支持的时候靠软件模拟)

作用:

CP15,即通常所说的系统控制协处理器(System Control Coprocesssor),负责完成大部分的存储系统管理。除了 CP15 外,在具体的存储管理机制中可能还会用到其他的一些技术,如在 MMU 中除了 CP15 外,还使用了页表技术等。 在一些没有标准存储管理的系统中,CP15 是不存在的。在这种情况下对 CP15 的操作指令将被视为未定义指令,指令的执行结果不可预知。 CP15 包含 16 个 32 位寄存器,其编号为 0~15。实际上对于某些编号的寄存器可能对应多个物理寄存器,在指令中指定特定的标志位来区分这些物理寄存器。这种机制有些类似于 ARM 中的寄存器,当处于不同的处理器模式时,某些相同编号的寄存器对应于不同的物理寄存器。 CP15 中的寄存器可能是只读的,也可能是只写的,还有一些是可读可写的。在对协处理器寄存器进行操作时,需要注意以下几个问题。(作用是完成存储系统管理)


注意事项 (1)寄存器的访问类型(只读/只写/可读可写)。 
(2)不同的访问引发不同功能。 
(3)相同编号的寄存器是否对应不同的物理寄存器。 
(4)寄存器的具体作用。


具体见后面相关汇编指令。

程序状态计数器: 这个比较重要,包含了很多重要信息,32位寄存器。包括SPSR和CPSR,前者是备份的,后者是当前的。



N:本位设置成当前指令运行结果的 bit[31]的值。当两个由补码表示的有符号整数运算时,N=1 表示运算的结果为负数;N=0 表示结果为正数或零。Z:。Z=1 表示运算的结果为零,Z=0 表示运算的结果不为零。C:加法溢出时候产生进位为1,平时为0,减法相反,其他操作不影响,移位操作时候被设置成最后移出的位。V: 对于加减法指令V=1时候表示有符号溢出,非加减法不受影响。模式控制[4:0]IF-THEN标志位(这里不太懂,没见到用过)这些位是bit 15 :10 26:25控制位:I表示IRQ中断,F表示FIQ中断,表示1表示禁止。,T=0表示Thumb状态,如果为1表示ARM状态。其他的位:表示异步异常禁止,大小端控制,大于小于标志什么的,也没有见到用过ARM微处理器的指令系统 ARM指令的分类 根据作用分: 跳转指令,数据处理指令,程序状态寄存器传输指令,LOAD/STORE指令,协处理器指令和异常中断产生指令。 寻址方式分: 数据处理指令寻找方式,内存访问指令寻址方式 ARM处理器的寻址方式 在我看了如果汇编是英语的话,这些就是一些基本的语法,句型。实际会通过语句来体现,在汇编里面就是指令。汇编语言无疑就是寄存器与寄存器之间的数值交换, 复制等运算,相互捣鼓,寻址方式是如何找到相应的操作的数或者正确的寄存器。 数据指令寻址方式 这些都是根据数据如何在寄存器取出有关的 立即数寻址 一个汇编指令最多32位,在立即数寻找方式中,由一个8bit的常数移动4bit偶数位,每个指令包含了一个8bit的常数位X和一个4bit的移位值Y, 立即数=X循环右移动(2*Y) 在立即数里面不是所有的书都是合法的,可以通过上述规则得到的就是合法否则不是合法的。例如0xFF合法,0x101不合法。 指令举例: MOV R0,#0; ADD R3,R1,#1 寄存器寻址 寄存器的值可以直接被用于数据操作指令 例如: ADD R2,R1,R0 寄存器移位寻址 寄存器的值在进行运算之前可以先进行移位,预处理和移位发生在一个机器周期内,有效使用移位可以提高效率 ADD R2,R0,R1,LSR #5 内存访问指令 字及无符号字节的Load/store指令寻找方式 格式LDR|STR {

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭