首页 3arm的体系结构与指令集

3arm的体系结构与指令集

举报
开通vip

3arm的体系结构与指令集ARM的体系结构和指令集胡振亮典型的ARM体系结构包含有32位ALU、31个32位通用寄存器及6位状态寄存器、32×8位乘法器、32×32位桶形移位寄存器、指令译码及控制逻辑、指令流水线和数据/地址寄存器等ALUARM体系结构的ALU与常用的ALU逻辑结构基本相同,由两个操作数锁存器、加法器、逻辑功能、结果及零检测逻辑构成。ALU的最小数据通路周期包含寄存器读时间、移位器延迟、ALU延迟、寄存器写建立时间、双相时钟间非重叠时间等几部分。桶形移位寄存器ARM采用了32×32位桶形移位寄存器,左移/右移n位、环移n位和...

3arm的体系结构与指令集
ARM的体系结构和指令集胡振亮典型的ARM体系结构包含有32位ALU、31个32位通用寄存器及6位状态寄存器、32×8位乘法器、32×32位桶形移位寄存器、指令译码及控制逻辑、指令流水线和数据/地址寄存器等ALUARM体系结构的ALU与常用的ALU逻辑结构基本相同,由两个操作数锁存器、加法器、逻辑功能、结果及零检测逻辑构成。ALU的最小数据通路周期包含寄存器读时间、移位器延迟、ALU延迟、寄存器写建立时间、双相时钟间非重叠时间等几部分。桶形移位寄存器ARM采用了32×32位桶形移位寄存器,左移/右移n位、环移n位和算术右移n位等都可以一次完成,可以有效的减少移位的延迟时间。在桶形移位寄存器中,所有的输入端通过交叉开关(Crossbar)与所有的输出端相连。交叉开关采用NMOS晶体管来实现高速乘法器ARM为了提高运算速度,采用两位乘法的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ,2位乘法可根据乘数的2位来实现“加-移位”运算。ARM的高速乘法器采用32×8位的结构,完成32×2位乘法也只需5个时钟周期。浮点部件在ARM体系结构中,浮点部件作为选件可根据需要选用,FPA10浮点加速器以协处理器方式与ARM相连,并通过协处理器指令的解释来执行。控制器ARM的控制器采用硬接线的可编程逻辑阵列PLA,其输入端有14根、输出端有40根,分散控制Load/Store多路、乘法器、协处理器以及地址、寄存器ALU和移位器寄存器ARM内含37个寄存器,包括31个通用32位寄存器和6个状态寄存器。ARM处理器发展ArchitectureFamilyARMv1ARM1ARMv2ARM2,ARM3ARMv3ARM6,ARM7ARMv4StrongARM,ARM7TDMI,ARM9TDMIARMv5ARM7EJ,ARM9E,ARM10E,XScaleARMv6ARM11,Cortex-MARMv7Cortex-A,Cortex-M,Cortex-RARMv8-左侧的一列可以视作是ARM处理器的各个“代”,而右侧则是同一代的各个“家族”(或者说“系列”)。现在基本已是ARMv7的时代,ARMv6及更早的Architecture只在一些低端的设备上能见到了。而ARMv8则是ARM平台的未来时,被设计为64位的架构,显然不是主要面向移动设备的。不过到现在为止ARMv8也只是有一些资料,离真正面世还有一段时间。ARM寄存器组ARM处理器共有37个寄存器。其中包括:31个32位通用寄存器(含程序计数器PC在内),以及6个32位状态寄存器。CORTEX-A8多了三个寄存器:R13_mon、R14_mon、CPSR_mon许多寄存器都有专门用途,并且使用别名来操作。例如:R9->SB,静态基地址寄存器。R10->SL,数据堆栈限制指针。R11->FP,(framepointer)帧指针。R12->IP,(Intra-Procedure-callScratchRegister)子程序内部调用暂存寄存器。R13->SP,堆栈指针stackpointerR14->LR,连接寄存器linkerregister,用于跳转后返回(PC<-LR)。R15->PC,程序计数器programcounter,用于指向程序执行代码。寄存器使用规则CPSR:当前程序状态寄存器,其数值反映出当前程序运行的一些状态指示。SPSR:保存程序状态寄存器,在程序调用等情况下,需要保存一下当前程序状态寄存器的值(SPSR<=CPSR),便于日后回复。SP(R13):堆栈指针寄存器,其值用于执行当前堆栈栈顶(或栈底)位置。LR(R14):链接返回寄存器,保存要返回的地址,PC<=LR。PC(R15):程序指针寄存器,其值用于指向要执行的程序代码地址。R0~R12:存储数据其中R0~R3用来传递参数。R4~R11用来保存局部变量如果在子程序中要使用这些寄存器,则子程序进入时必须保持这些寄存器的值,在返回前必须恢复这些寄存器的值R12用作过程调用中间临时寄存器。ARM工作模式说明用户模式:是用户程序的工作模式,它运行在操作系统的用户态,它没有权限去操作其它硬件资源,只能执行处理自己的数据,也不能切换到其它模式下,要想访问硬件资源或切换到其它模式只能通过软中断或产生异常。系统模式:系统模式是特权模式,不受用户模式的限制。用户模式和系统模式共用一套寄存器,操作系统在该模式下可以方便的访问用户模式的寄存器,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源。ARM工作模式说明一般中断模式:一般中断模式也叫普通中断模式,用于处理一般的中断请求,通常在硬件产生中断信号之后自动进入该模式,该模式为特权模式,可以自由访问系统硬件资源。快速中断模式:快速中断模式是相对一般中断模式而言的,它是用来处理对时间要求比较紧急的中断请求,主要用于高速数据传输及通道处理中。管理模式:管理模式是CPU上电后默认模式,因此在该模式下主要用来做系统的初始化,软中断处理也在该模式下,当用户模式下的用户程序请求使用硬件资源时通过软件中断进入该模式。ARM工作模式说明终止模式:中止模式用于支持虚拟内存或存储器保护,当用户程序访问非法地址,没有权限读取的内存地址时,会进入该模式,linux下编程时经常出现的segmentfault通常都是在该模式下抛出返回的。未定义模式:未定义模式用于支持硬件协处理器的软件仿真,CPU在指令的译码阶段不能识别该指令操作时,会进入未定义模式。安全模式:需要协处理器来启动该模块,方能工作。ARM指令_my_led_testLDRR1,=0x56000010MOVR2,#0x00015400STRR2,[R1]LDRR1,=0x56000014my_led_test_loopMOVR2,#0x1C0STRR2,[R1]BL_delay_timeMOVR2,#0x1A0STRR2,[R1]BL_delay_timeBmy_led_test_loop_delay_timeMOVR0,#0x02000000delay_time_loopSUBSR0,R0,#1BNEdelay_time_loopMOVPC,LR指令 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 常用的指令数据处理指令MOV:数据传送指令。MVN:数据取反传送指令。CMP:比较指令。CMN:反值比较指令。TST:位测试指令。TEQ:相等测试指令。ADD:加法指令。ADC:带进位加法指令。SUB:减法指令。SBC:带借位减法指令。RSB:逆向减法指令。RSC:带借位的逆向减法指令AND:逻辑与指令。ORR:逻辑或指令。EOR:逻辑异或指令。BIC:位清除指令。加载/存储指令:LDR:字数据加载指令。LDRB:字节数据加载指令。LDRH:半字数据加载指令。STR:字数据存储指令。STRB:字节数据存储指令。STRH:半字数据存储指令。BL带返回的跳转指令跳转之前,会在寄存器R14中保存PC的当前内容B跳转指令BNE不等于则调转ARM指令寻址1.什么是寻址?数据都存在存储器中,寻址简单地说就是找到存储数据或指令的地址。存储器有很多存储单元,用于存储数据。或者说,寻址就是读取数据所在储存装置中对应地址编号中存储的内容。以存储单位寻址分为位,字,节,字,双字寻址。以功能寻址分为直接寻址,间接寻址,寄存器寻址。寻址就是为运算和执行命令。2.什么是寻址方式?通常是指某一个CPU指令系统中规定的寻找操作数所在地址的方式,或者说通过什么的方式找到操作数。寻址方式的方便与快捷是衡量CPU性能的一个重要方面. 立即数寻址操作数在指令中,如:ADDR0,R0,#10 ---->R0=R0+10      特点:快,单周期;但受合法立即数的限制;寄存器寻址利用寄存器中的值作为操作数,如:ADDR0,R1,R2 ---->R0=R1+R2特点:也是单周期寄存器移位寻址寄存器中的值移位后得到操作数,用到桶形移位器 介绍一下桶形移位器: LSL:(逻辑左移),相当于无符号数x2; ASR:(算术右移),相当于带符号的数除2; LSR:(逻辑左移),相当于无符号数除2; ROR:(循环右移),相当于位轮换;RRX:(带扩展的循环右移),位轮换,           如:ADD R0,R1,R2,LSL#2  -------->R0=R1+R2<<2;寄存器间接寻址寄存器中的值作为操作数的地址,操作数本身放在存储器中;      如:LDR R0,[R1] ---->R0=[R1],取出R1存的地址中的值,赋给R0;基址变址寻址基址寄存器的内容与指令中的偏移量相加,得到有效操作数的地址,然后访问该地址空间;分三种:       1)、前索引:         如:LDR R0,[R1,#4] --->R1存的地址+4,访问新地址里面的值,放到R0;      2)、自动索引:        如:LDR R0,[R1,#4]! --->在前索引的基础上,新地址回写进R1;         注:! 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示回写地址       3)、后索引:         如:LDR R0 [R1],#4 --->R1存的地址的内容写进R0,R1存的地址+4再写进R1;多寄存器寻址一条指令完成多个寄存器的传送,最多16个寄存器;      如:STMxx R0!,{R1-R5}        注:xx是IDAB的任意组合:I-增;D-减;A-后;B-先;       执行这类指令要考虑如下几个问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 :              1)、基址寄存器指向原始地址有没有放一个有效值?              2)、寄存器列表哪个寄存器被最先传送?              3)、存储器地址增长方向?              4)、指令执行完成后,基址寄存器有没有指向一个有效值?      LDMIA R0, {R1, R2, R3, R4}; R1←[R0] ; R2←[R0+4] ; R3←[R0+8] ; R4←[R0+12] 相对寻址相对寻址以程序计数器PC的当前值为基地址,指令中的地址标号作为偏移量,将两者相加之后得到操作数的有效地址BLNEXT;跳转到子程序NEXT处执行NEXTMOVPC,LR;从子程序返回堆栈寻址 先进先出的原则;          如:STMxx SP!(r0-r12) --- xx是FEAD的任意组合,不过规定只用fd;          4中堆栈方式:F-满;E-空;A-后;B-先;          如:入栈:STMfd SP!,(r0-r12)                  出栈:LDMfdSP!,(r0-r12)
本文档为【3arm的体系结构与指令集】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
雪中送文
暂无简介~
格式:ppt
大小:556KB
软件:PowerPoint
页数:29
分类:建造师考试
上传时间:2022-01-28
浏览量:0