文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>ARM System Developer's Guide 读书笔记(二)

ARM System Developer's Guide 读书笔记(二)

时间:2009-04-01  来源:zhengwenwei_123

ARM处理器基础 程序员可以把ARM内核看作是由数据总线连接的各功能单元组成的集合:
如图所示,是ARM内核的数据流模型,它说明了数据流向,也说明了组成ARM内核的各个逻辑要素。 数据通过数据总线进入处理器核,数据可能是一条指令或一个数据项,这是冯.诺依曼(von Neumann)结构的ARM实现——数据和指令共享同一总线;在后来的哈佛结构的ARM实现使用二条不同的总线。 指令译码器在指令执行前先将它们翻译。 与所有的RISC处理器一样,ARM处理器采用LOAD-STORE体系结构,只有两种类型的指令用于把数据移入/移出处理器。数据处理只能在寄存器里进程。 数据项存储在寄存器文件里——一组32位的寄存器存储体(storage bank)。符号扩展硬件把8位和16位的有符号数转换成32位。 典型的ARM指令通常有2个源寄存器Rn和Rm, 1个结果或目的寄存器Rd。源操作数分别通过内部总线A和B从寄存器文件中读出。 ALU(算术逻辑单元)或MAC(乘累加单元)通过总线A和B得到寄存器值并计算出结果,数据处理指令把Rd中的计算结果写到寄存器文件。LOAD-STORE指令使用ALU来产生一个地址,这个地址将被保存到地址寄存器并发送到地址总线上。 ARM的一个重要特征是,寄存器Rm可以选择在进入ALU前是否经过桶形移位器预处理。 在经过有关功能单元后,Rd寄存器里的结果值通过结果总线(result bus)写回到寄存器文件。对于LOAD-STORE指令,在内核从下连续的存储单元装载数据到下一个寄存器,或写入下一个寄存器的值到下一个连续的存储单元之前,地址加法器会自动更新地址寄存器。处理器连续执行指令,知道发生异常或中断而改变了正常的执行流。 CPSR 注:Q位是有DSP扩展指令集的内核才有的;J位是指有Jazelle指令集(用于JAVA字节码)的内核才有的。 一般而言,CPSR = NZCVIFT_SVC

相关阅读 更多 +
排行榜 更多 +
砰砰小法师

砰砰小法师

动作格斗 下载
星元科技

星元科技

购物比价 下载
altosadventure免费中文版

altosadventure免费中文版

休闲益智 下载