ARM9嵌入式系统设计(基于S3C2410与Linux)——第二篇ARM体系结构

时间:2021-01-19 22:34:11

1)ARM体系结构特点:1.RISC型处理器结构 2.Thumb指令集 3.多处理状态模式 4.嵌入式在线仿真调试 5.灵活和方便的接口 6.低电压低功耗的设计

                   复杂指令集计算机(CISC)采用CISC型处理器结构:采用复杂的指令去实现相应的操作,这种结构不适用于嵌入式系统,因为有很多指令嵌入式系统是使用不到的,这样会造成CPU处理数据的速度变慢,吞吐量下降。

                   1.精简的RISC型处理器结构:减少复杂功能的指令,减少指令条件,选使用频率最高的指令,简化处理器结构,减少处理器的集成度;并使每一个指令都在一个机器周期内完成,以提高处理器速度。

                                    RISC型处理器结构的特点:单周期指令,采用固定长度的指令格式,大量使用寄存器。

                   2.Thumb指令集:16位,比通常的8位和16位CISC/RISC处理器具有更好的代码密度,可以是程序存储器变小。

                                        a)存储器为32位时,ARM指令集比Thumb 16位运行处理速度快40%,存储器位16位时,Thumb比ARM指令集代码快40%~50%。

                                        b)所以32位ARM处理器采用ARM指令集和Thumb指令集的优点集成在一起形成RISC/Thumb处理器结构。

                   3.多处理状态模式:ARM支持用户,快中断,中断,管理,中止,系统和未定义7中处理模式,除了用户模式外,其它模式都是特权模式。


2)ARM体系结构的组成:由32位ALU,31个32位通用寄存器及6个状态寄存器,32X8位乘法器,32X32位桶形移位寄存器,指令译码和逻辑控制,指令流水线和数据、地址寄存器组成。

3)ARM流水线结构:1.取指(fetch) 2.译码(dec) 3.取操作数 (reg)4.执行运算(ALU)5.存储器访问(mem)6.结果写会寄存器(res)

                      a) ARM7——3级流水线 , ARM9——5级流水线。

                      b) 要求指令长度固定,单周期指令。             

4) ARM存储器结构:支持最大寻址空间4GB,一般ARM架构的处理器一般片内无RAM和ROM,系统需要的RAM和ROM需通过总线外接,随着闪存flash的发展,目前ARM架构的处理器已用闪存逐步代替ROM。

5)寄存器组织:ARM处理器总共有37个处理器,31个通用处理器,包括程序计数器PC,这些寄存器都是32的,6个状态寄存器(这些寄存器32位,但只使用其中的12位)。

               a) 通用寄存器

                     》不分组寄存器R0~R7

                     》分组寄存器R8~R14

                     》程序计数器R15

                b)分组寄存器,除了用户模式外和系统模式外,其它模式R8~R14在不同模式下是不相同的。

                 R13~R14:在用户与系统模式下是通用的,在管理,中止,未定义,中断,快中断都不相同。

                 R8~R12:除了快中断模式,其它模式都是相同的。

                 PC所有模式都相同

                 CPSR:用户和系统模式相同,其它都不同。

                c)寄存器R13通常用作堆栈指针,称SP,R14用作子程序链接寄存器LR。

                e) 程序状态寄存器CPSR:28~31位表示条件代码标志(N,ZC,V),0~8位表示控制位(I,F,T,M4,M3,M2,M1,M0)

                    N——若结果为负数,则N=1,若结果为正数或0,则N=0 

                    Z——若指令的结果为0,则置1,否则置0

                    C——加法,若加法产生进位,则C置1,否则置0。减法,若减法产生借位,则C置0,否则置1

                    V——对于加法或者减法指令,当发生带符号溢出时,V置1。对于非加法与减法指令,V通常不变。

                 d)控制位

                      》中断禁止位

                       I  置1则禁止IRQ中断

                       F  置1则禁止FIQ中断

                      》T位

                      T=0 指示ARM执行

                      T=1指示Thumb执行

                      》模式位

                     M0,M1,M2,M3,M4决定寄存器的工作方式。