基本概述播报
编辑
ARM9采用斯坦福体系结构,指令和数据分属不同的总线,可以并行处理。在流水线上,ARM7是五级流水线,ARM9是三级流水线。因为结构不同,ARM7的执行效率高于ARM9。平常所说的ARM7、ARM9实际上指的是ARM7TDMI、ARM9TDMI软核,这些处理器软核并不带有MMU和cache,不能否运行例如linux这样的嵌入式操作系统。而ARM公司对这些构架进行了扩充,所以有了ARM710710T、ARM720720T、ARM920920T、ARM922922T等带有MMU和cache的处理器内核。
主要特点编辑播报
编辑
融合了ARM920920T™ARM®Thumb®处理器
–工作于180MHz时性能高达200MIPS,储存器管理单元
–16-K字节的数据缓存,16-K字节的指令缓存,写缓冲器
–含有调试信道的内部仿真器
–中等规模的嵌入式宏单元结构(仅针对256BGA封装)
·低帧率:VDDCORE电压为30.4mA待机模式电压为3.1mA
·附加的嵌入式储存器
–SRAM为16K;ROM为128K
·外部总线插口(EBI)
–支持SDRAM,静态储存器,BurstFlash,无缝联接的CompactFlash®,
SmartMedia™及NANDFlash
·提高性能而使用的系统外设:
–增强的时钟发生器与电源管理控制器
–两个有双PLL的片上振荡器
–低速的时钟操作模式与软件帧率优化能力
–四个可编程的外部时钟讯号
–包括周期性中断、看门狗及第二计数器的系统定时器
–有报案中断的实时时钟
–调试单元、两线UART并支持调试信道
–有8个优先级的中级中断控制器,独立的可屏蔽中断源,伪中断保护
–7个外部中断源及1个快速中断源
–有122个可编程I/O口线的四个32位PIO控制器,各线均有输入变化中断及开漏能力
–20通道的外设数据控制器(DMA)
·10/100Base-T型以太网卡插口
–独立的媒体插口(MII)或简化的独立媒体插口(RMII)
–对于接收与发送有集成的28字节FIFO及专用的DMA通道
·USB2.0全速(12M比特/秒)主机双端口
–双片上收发器(208引脚PQFP封装中仅为一个)
–集成的FIFO及专用的DMA通道
·USB2.0全速(12M比特/秒)元件端口
–片上收发器,2-K字节可配置的集成FIFO
·多媒体卡插口(MCI)
–自动合同控制及快速手动数据传输
–与MMC及SD储存器卡兼容,支持两个SD储存器
·3个同步串行控制器(SSC)
–每个接收器与发送器有独立的时钟及帧同步讯号
–支持I2S模拟插口,时分复用
–32比特的高速数据流传输能力
·4个通用同步/异步接收/发送器(USART)
–支持ISO7816T0/T1智能卡
–硬软件握手
–支持RS485及高达115Kbps的IrDA总线
–USART1为全调制译码控制线
·主机/从机串行外设插口(SPI)
–8~16位可编程数据宽度,可联接4个外设
·两个3通道16位定时/计数器(TC)
–3个外部时钟输入,每条通道有2个多功能I/O引脚
–双PWM形成器,捕获/波形模式,上加/下减计数能力
·两线插口(TWI)
–主机模式支持,所有两线AtmelEEPROM支持
·所有数字引脚的IEEE1149.1JTAG边界扫描
·电源供应
–VDDCORE,VDDOSC及VDDPLL电流为:1.65V~1.95V
–VDDIOP(外设I/O)及VDDIOM(储存器I/O)电流为:1.65V~3.6V
体系特点播报
编辑
结构特征
以ARM9E-S为例介绍ARM9处理器的主要结构及其特性。ARM9E-S的结构如图4所示。其主要特性如下:
⑴32bit定点RISC处理器,改进型ARM/Thumb代码交织,提高性乘法器设计。支持实时(real-time)调试;
⑵片内指令和数据SRAM,但是指令和数据的储存器容量可调;
⑶片内指令和数据高速缓冲器(cache)容量从4K字节到1M字节;
⑷设置保护单元(protectionunit),十分适宜嵌入式应用中对储存器进行分段和保护;
⑸采用AMBAAHB总线插口,为外设提供统一的地址和数据总线;
⑹支持外部协处理器,指令和数据总线有简单的握手鉴权支持;
⑺支持标准基本逻辑单元扫描测试方式学,并且支持BIST(built-in-self-test);
⑻支持嵌入式跟踪宏单元,支持实时跟踪指令和数据。
ARM920T运行模式
ARM920T支持7种运行模式,分别为:
(1)用户模式(usr),
ARM处理器正常的程序执行状态;
(2)快速中断模式(fiq),
用于高速数据传输或通道处理;
(3)外部中断模式(irq),
用于通用的中断处理;
(4)管理模式(svc),
操作系统使用的保护模式;
(5)数据访问中止模式(abt),
当数据或指令预取中止时步入该模式,可用于虚拟储存及储存保护;
(6)系统模式(sys),
运行具有特权的操作系统任务;
(7)未定义指令终止模式(und)
当未定义的指令执行时步入该模式,可用于支持硬件协处理器的软件仿真。
ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,个别被保护的系统资源是不能被访问的。除用户模式以外,其余的6种模式称为特权模式;其中去掉用户模式和系统模式以外的5种又称为异常模式,常用于处理中断或异常,以及访问受保护的系统资源等情况。
ARM920T的工作状态
从编程的角度看,ARM920920T微处理器的工作状态通常有两种:
(1)ARM状态,此时处理器执行32位的、字对齐的ARM指令;
(2)Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。
ARM指令集和Thumb指令集均有切换处理器状态的指令,在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,而且,处理器的工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。但ARM微处理器在开始执行代码时处理器单通道什么意思,应当处于ARM
状态。
当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方式,使微处理器从
ARM状态切换到Thumb状态。据悉,当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等),当异常处理返回时,手动切换回Thumb状态。当操作数寄存器的状态位为0时,执行BX指令可以使微处理器从Thumb状态切换到ARM状态。据悉,在处理器进行异常处理时,将PC表针装入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。
ARM920T体系结构的储存器格式
ARM920T体系结构将储存器看做是从零地址开始的字节的线性组合。从0字节到3字节放置第1个储存的字数据,从第4个字节到第7个字节放置第2个储存的字数据,依次排列。作为32位的微处理器,ARM92OT体系结构所支持的最大轮询空间为4GB。
ARM92OT体系结构可以用两种方式储存字数据,分别名为大端格式和小端格式。大端格式中字数据的高字节储存在低地址中,而字数据的低字节则储存在高地址中
以大端格式储存数据
以小端格式储存数据
优势播报
编辑
1).[1]时钟频度的提升
尽管ARM7和ARM9内核构架相同,但ARM7处理器采用3级流水线的冯·诺伊曼结构;,而ARM9采用5级流水线的耶鲁结构。降低的流水线设计提升了时钟频度和并行处理能力。5级流水线才能将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在常用的芯片生产工艺下,ARM7通常运行在100MHz左右,而ARM9则起码在200MHz以上。
2)指令周期的改进
指令周期的改进对于处理器性能的提升有很大的帮助。性能提升的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。对于采用最中级的语言,通常来说,性能的提升在30%左右。
3).MMU(显存管理单元)
ARM7通常没有MMU(显存管理单元),(ARM720720T有MMU)。
ARM9通常是有MMU的,ARM9940T只有MPU,不是一个完整的MMU。
这一条很重要,MMU单元是小型操作系统必需的硬件支持,如LINUX;WINCE等。这就是说,ARM7通常只能运行大型的实时系统如UCOS-II,eCOS等,而ARM9无此限制,通常的操作系统都可以移植。虽然虽然ARM720720T能支持LINUX;WINCE等系统处理器单通道什么意思,也鲜有人用,由于以ARM7的运行速率跑这些小型操作系统,实在有点费力。此外二者的应用领域显著不同,也无此必要。
[2]
指令播报
编辑
⒈loads指令与nstores指令
指令周期数的改进最显著的是loads指令和stores指令。从ARM7到ARM9这两条指令的执行时间降低了30%。指令周期的降低是因为ARM7和ARM9两种处理器内的两个基本的微处理结构不同所导致的。
⑴ARM9有独立的指令和数据储存器插口,容许处理器同时进行取指和读写数据。这叫作改进型耶鲁结构。而ARM7只有数据储存器插口,它同时拿来取指令和数据访问。
⑵5级流水线引入了独立的储存器和写回流水线,分别拿来访问储存器和将结果写回寄存器。
以上两点实现了一个周期完成loads指令和stores指令。
⒉互锁(interlocks)技术
当指令须要的数据由于先前的指令没有执行完而没有打算好才会形成管线联锁。当管线联锁发生时,硬件会停止这个指令的执行,直至数据打算好为止。其实这些技术会降低代码执行时间,并且为早期的设计者提供了巨大的便捷。编译器以及汇编程序员可以通过重新设计代码的次序或则其他方式来降低管线联锁的数目。
⒊分枝指令
ARM9和ARM7的分枝指令周期是相同的。并且ARM9TDMI和ARM9E-S并没有对分枝指令进行预测处理。
处理能力播报
编辑
新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,才能达到两倍以上于ARM7处理器的处理能力。这些处理能力的提升是通过降低时钟频度和降低指令执行周期实现的。
(一)时钟频度的提升:
ARM7处理器采用3级流水线,而ARM9采用5级流水线。降低的流水线设计提升了时钟频度和并行处理能力。5级流水线才能将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在同样的加工工艺下,ARM9TDMI处理器的时钟频度是ARM7TDMI的1.8~2.2倍。
(二)指令周期的改进:
指令周期的改进对于处理器性能的提升有很大的帮助。性能提升的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。对于采用最中级的语言,通常来说,性能的提升在30%左右。
典型应用播报
编辑
基于arm9内核的处理器,是具有低帧率,高效率的开发平台。广泛用于各类嵌入式产品。它主要应用于音频技术以及高端工业级产品,可以跑linux以及wince等中级嵌入式系统,可以进行界面设计,作出人性化的人机互动界面,像一些网路产品和手机产品。