第10章ARM9处理器10.1ARM9TDMI特点及其与ARM9TDMI的比较10.2ARM920T处理器10.3S3C2410X芯片10.1ARM9TDMI特点及其与ARM9TDMI的比较ARM9TDMI和ARM7TDMI分别是ARM9和ARM7系列芯片的处理器核,下面将从与ARM7TDMI做比较的角度阐述ARM9TDMI的特点。1)ARM9系列处理器和ARM7系列处理器的最大区别就是指令执行过程由原来的3级流水线(取指、译码和执行),变成了5级流水线(取址、译码、执行、数据存储器/数据cache访问和寄存器回写)。两种内核的指令执行流水线对照图如图10.1所示。其中ARM9TDMI的第四步,数据存储器访问操作主要作用是更新数据cache中的数据,实际上是对数据cache的访问。(a)ARM7TDMI流水线(b)ARM9TDMI流水线图10.1ARM7TDMI和ARM9TDMI流水线对照图ARM9TDMI5级流水线组织结构图如图10.2所示。ARM9TDMI和ARM7TDMI相比,其中的译码部分是通过硬件实现Thumb指令解码,即执行Thumb指令时由ARM7TDMI的软解码到ARM9TDMI的Thumb指令的硬解码,这使得ARM9TDMI相对ARM7TDMI的解码速度提高了。2)ARM9TDMI同ARM7TDMI相比较除了采用硬件Thumb解码外,其指令流水线由3级变成5级也使得程序的执行时间缩短了,这是根据程序的执行时间Tprog,由式(10.1)决定。(10.1)instprogclkNCPIfT式(10.1)中,Ninst:即程序中执行的ARM指令数;CPI:即平均每条指令的时钟周期数;fclk:表示处理器时钟频率。这样对于给定的程序即Ninst固定的情况下,只有通过提高处理器时钟频率fclk和增加平均每条指令时钟周期数CPI的方法来缩短程序执行的时间,提高处理器的执行能力。这样如果同一指令的执行时间在处理器的时钟频率不方便更改时,可以通过更改CPI以显著地缩短程序执行时间。图10.2ARM9TDMI5级流水线组织结构nextpcPo+4B.BLMOVpcSUBSpcLDRpc+4l-cachepc+8转移偏移ldecodede+dspr15寄存器读转移目标LDMSTMPost——index+4pre-indexshiflregshiftmuxALU﹠乘法器前推通路rotateD-cacherot/sgnex寄存器写Load/store地址取指译码立即数域缓冲器/数据写回执行3)虽然ARM7TDMI和ARM9TDMI都是基于ARM体系结构的v4T版本,但在数据中止模式时ARM9TDMI采用的是基地址重新装入(baserestoreddataabortmodel)模式,而ARM7TDMI采用的是基址更新模式(baseupdateddataabortmodel)。在ARM9TDMI中,当出现访问存储器数据中止时,处理器硬件在数据中止指令执行前,自动保存相应发生数据中止时基地址寄存器的值,这样消除了数据中止句柄去一一查找引起数据中止操作的指令确定的基地址寄存器更新。4)ARM7TDMI是基于冯•诺依曼体系结构,而ARM9TDMI是基于哈佛结构。一般将这两个结构放在一起进行对比说明时,主要是指存储器结构设计不同。在早期设计中冯•诺依曼体系结构将指令存储器和数据存储器放在一起,而后期的哈佛结构是将两者分开的。后者在处理器的设计中增加了cache,把指令cache和数据cache分开实现并且相应的MMU也分开实现,就形成了现在的哈佛结构。而把指令和数据cache放在一起是冯•诺依曼体系结构的特点。下面简单分析这两种体系的优缺点。冯·诺依曼结构是在同一个存储空间取指令和数据,两者分时复用一条总线,故限制了工作带宽,使控制电路较复杂。哈佛结构,指令和数据空间完全分开,可以同时访问,且一次读出从而减少存贮器的读取次数,简化控制电路,方便实现流水线。在冯·诺依曼体系结构中,数据和程序存储器是共享数据总线。数据总线共享有很多优点,比如减小总线开销、能够把RAM映射到程序空间。而对于哈佛体系结构的计算机,程序和数据总线是分开的,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址、独立访问。程序存储器和数据存储器独立编址的优势在于能够在一个时钟周期内同时读取程序和数据,这样就相应地减少了执行每一条指令所需的时钟周期,即可以达到高速、并行工作。5)还有一点就是ARM9TDMI可以完全执行ARM体系结构v4和v4T的未定义异常指令扩展空间上的指令集,而ARM7TDMI是不能执行的。这些指令扩展空间包括:算术指令扩展空间、控制指令扩展空间、协处理器指令扩展空间和加载/存储扩展空间。10.2ARM920T处理器10.2.1ARM920T功能模块10...