微处理器说白一点就是"脑子",那么这个脑子它是咋么组成的呢?通常有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了~~~~~
更多回帖