初识ARM的那些事!

2019-07-16 08:47发布



最近一直在研究ARM,说到ARM,我们首先想到了是三星、高通等公司,这些公司都制造CPU的,其实ARM也是一家公司,只不过它是提供最核心的逻辑电路,而且它的赚钱方式是与其他公司进行双赢的!你卖出多少芯片,我就收这些芯片的一点分红,真他么机智的公司!

微处理器说白一点就是"脑子",那么这个脑子它是咋么组成的呢?通常有3大部分控制单元算术逻辑单元寄存器那么ARM有哪些特点呢?支持Thumb/ARM双指令集 采用3级流水线/5级流水线 采用哈弗结构,有指令cache和数据cache 寻址方式灵活简单、执行效率高 支持大端小端格式 支持bytehalfwordword三种数据类型 7种模式 采用片上AMBA 采用存储器映射I/O的方式 具备协处理器接口 3.0v以下工作电压 体积小、低成本、高性能所谓流水线的工作模式,就是说一个程序把他分成n多块来处理,要知道真正意义上CPU只处理一个资源,那么把程序分解开来,像流水线一样处理多个程序,那么效率不就马上上来了!个人觉得ARM了不起的地方就在这里,可以在ARM状态和Thumb状态进行相互切换,解决了不少因为指令可能导致系统的臃肿的问题ARM状态:32位,这种状态下执行的是字方式的ARM指令;Thumb状态:16位,这种状态下执行半字方式的ARM指令。7种工作模式,玩过的都知道!除用户模式,其他模式叫特权模式除用户、系统模式,其他模式叫异常模式ARM有37个寄存器!31个为通用寄存器、6个为状态寄存器光了解寄存器还远远不够,要知道寄存器也有你需要注意的地方!正常情况下:R14会保存好回调时主程序的地址。当发生异常嵌套时,这些异常之间可能会发生冲突。R14_IRQ原来保存的是地址A,可是当发生嵌套的时候,原来保存的地址A被修改了,于是完成嵌套后的程序,他的PC指针完全不知道要指向谁了?于是ERROR了~~~~~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。