第2章ARM及其编程模型第一节ARM简介第二节RISC体系结构第三节ARM体系结构第四节ARM处理器的编程模型第五节ARM的异常中断第六节ARM7TDMI处理器内核简介第一节ARM简介ARM——(AdvancedRISCMachines)ARM——32位RISC结构IP核提供商第二节RISC体系结构CISC(complexinstructionsetcomputer)即复杂指令集,在20世纪90年代前被广泛的使用,其特点是通过存放在只读存储器中的微码(microcode)来控制整个处理器的运行
传统的CISC结构有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂,然而,在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%
而余下的80%的指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理的
RISC和CISC在构架上有着几个不同的地方:1)首先是指令集的设计上,RISC构架的指令格式和长度通常是固定的(如ARM是32位的指令)、且指令和寻址方式少而简单、大多数指令在一个周期内就可以执行完毕:CISC构架下的指令通常是可变的、指令类型也很多、一条指令通常要若干周期才可以执行完毕
由于指令集多少与复杂度上的差异,是RISC的处理器可以利用简单的硬件电路设计出指令解码功能,这样易于流水线的实现
相对的CISC则需要通过只读存储器里的微码来进行解码,CISC因为指令功能与指令参数变化较大,执行流水线作业时有较多的限制
2)其次,RISC在结构设计上是一个载入/存储的够架,只有载入和存储指令可以访问存储器,数据处理指令只对寄存器的内容进行操作
为了加速程序的运算,RISC会设定多组的寄存器,并且指定特殊用途的寄存器
CISC构架则允许数据处理指令