ARM内核结构

ARM内核有4个功能模块T、D、M、I,可供生产厂商根据不同用户的要求来配置生产ARM芯片。

  其中:T功能模块表示16位Thumb,可以在兼顾性能的同时减少代码尺寸。M功能模块表示8位乘法器。D功能模块表示Debug,该内核中放置了用于调试的结构,通常它为一个边界扫描链JTAG,可使CPU进入调试模式,从而可方便地进行断点设置、单步调试。I功能模块表示EmbeddedICE Logic,用于实现断点观测及变量观测的逻辑电路部分,其中的TAP控制器可接入到边界扫描链。

  ARM芯片的核心,即CPU内核(ARM720T)由一个ARMTTDMI 32位RISC处理器、一个单一的高速缓冲8KB Cache和一个存储空间管理单元(MMU)所构成。8KB的高速缓冲有一个四路相连寄存器,并被组织成5\2线四字(4×5\2×4字节)。高速缓冲直接与ARMTTDMI相连,因而高速缓冲来自CPU的虚拟地址。当所需的虚拟地址不在高速缓冲中时,由MMU将虚拟地址转换为物理地址。一个64项的转换旁路缓冲器(TLB)用来加速地址转换过程,并减少页表读取所需的总线传送。通过转换高速缓冲中未存储的地址,MMU就能够节约功率。通过内部数据总线和扩展并行总线,ARM可以和存储器(SRAM/Flash/Nand-Flash等)、用户接口(LCD控制器/键盘/GPIO等)、串行口(UARTs/红外IrDA等)相连。

(本博主猜测:最里面的红框是指ARM核----进行数逻运算等,中间的是ARM芯片,最外层的是Soc,至于所谓的ARMv4架构,是ARM核用到的指令集)

一个ARM720T内核基本由以下四部分组成。

  (1)ARMTTDMI CPU核。该CPU核支持Thumb指令集、核调试、增强的乘法器、JTAG以及嵌入式ICE。它的时钟频率可编程为18MHz、36MHz、49MHz、74MHz。

  (2)存储空间管理单元(MMU)与ARM710核兼容,并增加了对Windows CE的支持。该存储空间管理单元提供了地址转换和一个有64项的转换旁路缓冲器。

  (3)8KB单一指令和数据高速缓冲存储器以及一个四路相联高速缓冲存储器控制器。

  (4)写缓冲器Write Buffer。

 ARM内核

  ARM7 系列

  ARM7TDMI是ARM7系列中使用最广泛的,它是从最早实现32位地址空间编程模式的ARM6内核发展而来的,并增加了64位乘法指令,支持片上调试、16位Thumb指令集和EmbeddedICE观察点硬件。ARM7TDMI属于ARM v4体系结构,采用冯诺伊曼结构,3级流水处理,平均0.9DMIPs/Mhz性能。不过ARM7TDMI没有MMU(Memory Management Unit)和Cache,所以仅支持那些不需要MMU和Cahce的小型实时操作系统,如VxWorks、uC/OS-II和uLinux等RTOS。其他的ARM7系列内核还有ARM720T和ARM7E-S等。

  ARM9 系列

  ARM9TDMI相比ARM7TDMI,将流水级数提高到5级从而增加了处理器的时钟频率,并使用指令和数据存储器分开的哈佛结构以改善CPI和提高处理器性能,平均可达1.1DMIPs/Mhz,但是ARM9TDMI仍属于ARM v4T体系结构。在ARM9TDMI基础上又有ARM920T、ARM940T和ARM922T,其中ARM940T增加了MPU(Memory Protect Unit)和Cache;ARM920T和ARM922T加入了MMU、Cache和ETM9(方便进行CPU实时trace),从而更好的支持象Linux和WinCE这样的多线程、多任务操作系统。

参考:

ARM architecture

ARM内核结构

猜你喜欢

转载自blog.csdn.net/lixiangminghate/article/details/84256689