首页 > 电子

arm 指令集 多少个,详述arm指令集格式并举例

自主研发CPU需要得到指令集授权,指令集授权方式主要有两种:指令集架构授权、IP核授权:华为鲲鹏和飞腾获得了ARM公司64位ARMV8指令集的架构授权,有权设计、生产、销售ARMv8兼容处理器产品。龙芯、申威分别获得MIPS架构和ALPHA架构的授权,自主研发处理器内核,并在此基础上,对相关架构指令集进行了扩展,指令集是一套软硬件之间的语言规范,国际上曾经有不下十种指令集,经过残酷的市场竞争,目前通用领域得到广泛使用的指令集只有Intel的X86和英国Acorn公司的ARM。

1、ARM指令集可分为哪5大类指令?

ARM指令集可以分为跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储指令、协处理器指令和异常产生指令六大类。ARM处理器组建了可以与数据处理指令(ADC、ADD、AND、BIC、CMN、CMP、EOR、MOV、MVN、ORR、RSB、SBC、SUB、TEQ、TST)一起使用的桶式移位器(barrelshifter)。

扩展资料:移位操作在ARM指令集中不作为单独的指令使用,它是指令格式中是一个字段,在汇编语言中表示为指令中的选项。如果数据处理指令的第二个操作数或者单一数据传送指令中的变址是寄存器,则可以对它进行各种移位操作。如果数据处理指令的第二个操作数是立即值,在指令中用8位立即值和4位循环移位来表示它,所以对大于255的立即值,汇编器尝试通过在指令中设置循环移位数量来表示它,如果不能表示则生成一个错误。

2、简述thumb指令集较arm指令集有哪些限制

1thumb指令集概述为兼容数据总线宽度为16位的应用系统,ARM体系结构除了支持执行效率很高的32位ARM指令集以外,同时支持16位的Thumb指令集。Thumb指令集是ARM指令集的一个子集,是针对代码密度问题而提出的,它具有16位的代码宽度。与等价的32位代码相比较,Thumb指令集在保留32位代码优势的同时,大大的节省了系统的存储空间。

当处理器在执行ARM程序段时,称ARM处理器处于ARM工作状态,当处理器在执行Thumb程序段时,称ARM处理器处于Thumb工作状态(CPSR的T0:arm,T1:thumb)。Thumb指令集并没有改变ARM体系底层的编程模型,只是在该模型上增加了一些限制条件,只要遵循一定的调用规则,Thumb子程序和ARM子程序就可以互相调用。

保存到:

相关文章

Top