ARM9与ARM7比较
- 格式:doc
- 大小:27.50 KB
- 文档页数:3
ARM7、ARM9、ARM11、ARM-Cortex的关系1. ARM7、ARM9、ARM11、ARM-Cortex 的关系ARM7:ARMv4 架构,ARM9:ARMv5 架构,ARM11:ARMv6 架构,ARM-Cortex 系列:ARMv7 架构ARM7 没有MMU(内存管理单元),只能叫做MCU(微控制器),不能运行诸如Linux、WinCE 等这些现代的多用户多进程操作系统,因为运行这些系统需要MMU,才能给每个用户进程分配进程自己独立的地址空间。
ucOS、ucLinux 这些精简实时的RTOS 不需要MMU,当然可以在ARM7 上运行。
ARM9、ARM11,是嵌入式CPU(处理器),带有MMU,可以运行诸如Linux 等多用户多进程的操作系统,应用场合也不同于ARM7。
到了ARMv7架构的时候开始以Cortex 来命名,并分成Cortex-A、Cortex-R、Cortex-M 三个系列。
三大系列分工明确:A 系列面向尖端的基于虚拟内存的操作系统和用户应用;R 系列针对实时系统;M 系列对微控制器。
简单的说Cortex-A 系列是用于移动领域的CPU,Cortex-R 和Cortex-M 系列是用于实时控制领域的MCU。
所以看上去ARM7 跟Cortex-M 很像,因为他们都是MCU,但确是不同代不同架构的MCU(Cortex-M 比ARM7 高了三代!),所以性能也有很大的差距。
此外,Cortex-M 系列还细分为M0、M3、M4 和超低功耗的M0+,用户依据成本、性能、功耗等因素来选择芯片。
想必楼主现在肯定知道了ARM7、Cortex-M 的区别,不过还是花了点时间整理在此,可以帮助后来的初学者搞明白这些基本的概念性问题2. ARM7,ARM9,cortex-m3,cortex-m4,cortex-a8 的区别arm 系列从arm11 开始,以后的就命名为cortex,并且性能上大幅度提升。
ARM7和ARM9流水对PC的影响
“PC=PC+1”,这不完全正确,PC自增一的情况指出现在无流水(non-pipeline)的情况下,这个时候取指,译码,执指都是顺序执行的。
而在有流水的情况下就比较复杂了这里用arm7和arm9为例。
arm7是3级流水。
arm9是5级流水。
PC在执行过程中是每次加8的。
原因如下:
为便于说明问题,我们假设当前正在执行0地址处的指令,从下面的两幅图中可以清楚地得到结论。
ARM7是三级流水线,AMR7的三级流水线如下:
ARM9是五级流水线,ARM9的五级流水线如下:
可见,ARM9和ARM7中都是PC=当前执行指令地址+8的根本的原因是,两者的流水线设计中,指令的执行阶段都是处于流水线的第三级
R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或正在“译码”的指令。
一般来说,人们习惯性约定将“正在执行的指令作为参考点”,称之为当前第一条指令,因此PC总是指向第三条指令。
当ARM状态时,每条指令为4字节长,所以PC 始终指向该指令地址加8字节的地址,即:PC值=当前程序执行位置+8;
注意:ADS中PC确实是指向即将执行的指令,这个是软件处理后的结果,主要是为了用户调试程序方便。
ARM不同版本的区别一.谈谈ARM7与ARM9的区别:本文是写给准备学习ARM技术,而又没想好要学ARM7还是ARM9或者对ARM7与ARM9的区别不是很了解的初学者。
希望本文对你们有点用处。
由于职业的关系,经常会回答一些ARM初学者的问题,虽然问题千奇百怪,但以下两个问题绝对很有代表性。
ARM7和ARM9的都有些什么区别?我准备学ARM,但不知是选ARM7还是ARM9好?也许这些问题在大虾们的眼里已不是问题,但对于初学者确实很具必要弄清楚。
先说下:ARM7和ARM9的区别。
1. 时钟频率的提高虽然ARM7和ARM9内核架构相同,但ARM7处理器采用3级流水线的冯·诺伊曼结构;,而ARM9采用5级流水线的哈佛结构。
增加的流水线设计提高了时钟频率和并行处理能力。
5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。
在常用的芯片生产工艺下,ARM7一般运行在100MHz左右,而ARM9则至少在200MHz以上。
2 指令周期的改进指令周期的改进对于处理器性能的提高有很大的帮助。
性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。
对于采用最高级的语言,一般来说,性能的提高在30%左右。
3.MMU(内存管理单元)ARM7一般没有MMU(内存管理单元),(ARM720T有MMU)。
ARM9一般是有MMU的,ARM9940T只有MPU ,不是一个完整的MMU。
这一条很重要,MMU单元是大型操作系统必需的硬件支持,如LINUX;WINCE等。
这就是说,ARM7一般只能运行小型的实时系统如UCOS-II,eCOS等,而ARM9无此限制,一般的操作系统都可以移植。
其实即使ARM720T能支持LINUX;WINCE等系统,也鲜有人用,因为以ARM7的运行速度跑这种大型操作系统,实在有点吃力。
再者两者的应用领域明显不同,也无此必要。
4. ARM7比ARM9提供了更好的性能-功耗比。
ARM7/ARM9实验开发平台1.结构:此平台由两部分组成,一部分是ARM7平台,一部分是ARM9平台,单独供电。
ARM7与ARM9平台均由主板加核心板构成。
都具有透明外壳,各种接口直接从外壳输出。
外加箱体。
2.硬件电路组成:2.1ARM7平台:2.1.1主板资源:4层PCB设计2M字节NOR FLASH8M字节PSRAM16M字节NAND FLASH256字节E2PROM标准20针JTAG调试接口/ETM跟踪调试接口CF卡/IDE硬盘接口SD/MMC卡模块2路10位A/DLM75数字温度传感器ZLG7290键盘管理和显示控制MG240128单色点阵图形液晶接口GPIO引出。
双串口,其中一串口带Modem接口10M以太网接口2个USB HOST 2.0(全速)1个USB Device 2.0(全速)1个2.2英寸240×320 262K色彩色液晶屏4个独立LED1个蜂鸣器1个独立按键4×4矩阵键盘标配TFT208E-16 LCD彩色液晶显示屏底板附带背光驱动电路(CA T32)标配USB2.0接口板ISP1161BM PACK2.1.2配套教材:《ARM嵌入式系统基础教程》《ARM嵌入式系统实验教程(二)》2.1.3配套软件资料:MiniGUI图形用户界面学习版源代码(μC/OS-II和μClinux版)μC/OS-II(V2.52)在ARM7上移植代码μClinux 2.4.x在LPC2200(或三星)系列芯片上移植代码μClinux-dist-20040408发行包arm-elf开发工具包多种商业化软件包移植μC/OS-II到ARM7软件包移植μCLinux到LPC2200软件包数据队列软件包串口驱动软件包MODEM接口软件包SPI总线软件包I2C总线软件包ZLG/FS文件管理系统软件包ZLG/IP TCP/IP软件包ZLG/PPP协议软件包ZLG/CF CF卡及IDE硬盘软件包ZLG/SD SD/MMC读写软件包ZLG/FFS支持写平衡的NAND FLASH驱动软件包ZLG/HOST&Device固件程序及其驱动程序软件包ZLG/FTP-S 嵌入式FTP服务器软件包ZLG/BOOT Bootloader程序μClinux驱动和源代码GPIO驱动I2C驱动SPI驱动ADC驱动PWM驱动块设备驱动网络设备驱动实验内容:1.基础实验:1.1ADS 1.2集成开发环境练习1.2汇编指令实验11.3汇编指令实验21.4汇编指令实验31.5汇编指令实验41.6汇编指令实验51.7ARM微控制器工作模式实验1.8C语言程序实验1.9C语言调用汇编程序实验1.10GPIO输出控制实验11.11GPIO输出控制实验21.12GPIO输入实验1.13存储器重映射实验1.14外部中断实验11.15外部存储器接口实验11.16定时器实验11.17UART实验11.18Modem接口实验1.19I2C接口实验11.20PWM输出实验1.21RTC实验11.22模数转换器实验1.23WDT实验1.24低功耗实验11.25外部中断实验21.26外部存储器接口实验21.27定时器实验21.28UART实验21.29I2C接口实验21.30SPI接口实验1.31RTC实验21.32低功耗实验22.基于uC/OS-II的实验2.1μCOS-II移植实验2.2蜂鸣器控制实验2.3串口中间件应用实验2.4MODEM通讯实验2.5I2C总线驱动中间件实验2.6SPI 总线的LED 控制应用2.7I2C 总线的EEPROM 应用2.8I2C 总线的ZLG7290 应用2.9USB_E2PROM编程器实验2.10读写U盘扇区实验2.11读写U盘文件实验2.12SDMMC卡读卡器实验2.13ZLG_CF驱动接口函数实验2.14ZLG_CF驱动使用实验2.15UDP通讯实验2.16TCP通讯实验2.17GPRS_GPS实验(是在arm9还是在ARM7上做)2.2ARM9平台2.2.1主板资源:TFT液晶屏接口:3.5寸液晶屏:TFT-6862-T,像素为320×240,支持5:6:5模式带触摸功能。
一文详解ARM7_ARM9和ARM11的区别ARM处理器是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。
全称为Advanced RISC Machine。
ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。
本文主要详解ARM7_ARM9和ARM11的区别,具体的跟随小编一起来了解一下。
ARM7_ARM9和ARM11的区别1、时钟频率的提高虽然内核架构相同,但ARM7处理器采用3级流水线的冯诺伊曼结构;而ARM9采用5级流水线的哈佛结构,ARM11为8级流水线哈弗结构(从arm9开始都采用了哈弗结构)。
增加的流水线设计提高了时钟频率和并行处理能力。
5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。
在常用的芯片生产工艺下,ARM7一般运行在100MHz左右,而ARM9则至少在200MHz以上.ARM11首先推出350M~500MHz时钟频率的内核,目前上升到1GHz时钟频率。
2、指令周期的改进指令周期的改进对于处理器性能的提高有很大的帮助。
性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。
对于采用最高级的语言,一般来说,性能的提高在30%左右。
3、MMU(内存管理单元)ARM7一般没有MMU(内存管理单元),(ARM720T有MMU)。
ARM9一般是有MMU的,ARM9940T只有MPU,不是一个完整的MMU。
ARM11当然也有MMU的。
这一条很重要,MMU单元是大型操作系统必需的硬件支持,如LINUX;WINCE等。
这就是说,ARM7一般只能运行小型的实时系统如UCOS-II,eCOS等,而ARM9无此限制,一般的操作系统都可以移植。
其实即使ARM720T能支持LINUX;WINCE等系统,也鲜有人用,因为以ARM7的运行速度跑这种大型操作系统,实在有点吃力。
ARM7处理器和ARM9E处理器的流水线差别1ARM处理器解析ARM9、ARM11是哈佛结构,5级流水线结构,所以性能要高一点。
ARM9和ARM11大多带内存管理器,跑操作系统好一点,ARM7适合裸奔。
我们惯称的ARM9系列中又存在ARM9与ARM9E两个系列,其中ARM9 属于ARM v4T架构,典型处理器如ARM9TDMI和ARM922T;而ARM9E属于ARM v5TE架构,典型处理器如ARM926EJ和ARM946E。
因为后者的芯片数量和应用更为广泛,所以我们提到ARM9的时候更多地是特指ARM9E系列处理器(主要就是ARM926EJ和ARM946E这两款处理器)。
下面关于ARM9的介绍也是更多地集中于ARM9E。
2ARM7处理器和ARM9E处理器的流水线差别对嵌入式系统设计者来说,硬件通常是第一考虑的因素。
针对处理器来说,流水线则是硬件差别的最明显标志,不同的流水线设计会产生一系列硬件差异。
让我们来比较一下ARM7和ARM9E的流水线,ARM9E从ARM7的3级流水线增加到了5级,ARM9E的流水线中容纳了更多的逻辑操作,但是每一级的逻辑操作却变得更为简单。
比如原来ARM7的第三级流水,需要先内部读取寄存器、然后进行相关的逻辑和算术运算,接着处理结果回写,完成的动作非常复杂;而在ARM9E的5级流水中,寄存器读取、逻辑运算、结果回写分散在不同的流水当中,使得每一级流水处理的动作非常简洁。
这就使得处理器的主频可以大幅度地提高。
因为每一级流水都对应CPU的一个时钟周期,如果一级流水中的逻辑过于复杂,使得执行时间居高不下,必然导致所需的时钟周期变长,造成CPU的主频不能提升。
所以流水线的拉长,有利于CPU主频的提高。
在常用的芯片生产工艺下,ARM7一般运行在100MHz左右,而ARM9E则至少在200MHz以上。
3ARM9E处理器的存储器子系统。
各品牌ARM SoC技术比较分析 (1)本文将介绍三个常见的ARM SoC,包含ARM7和ARM9,并试着分析与比较它们的性能。
ARM7族群低耗电量和低成本是ARM7的优点。
不过,ARM7的最大执行速率不到100 MHz,因此,在应用上,它和8051之类的微控制器(MCU)类似,但在功能上,ARM7通常优于MCU。
由于一般的MCU都是8-bit,而且不支持操作系统(O.S.),所以使用MCU开发应用产品的成本通常会比使用ARM7来得便宜。
然而,就简单的应用而言,ARM7也可以不需要操作系统,只使用纯粹的韧体,照样可以达到和MCU一样或优于MCU的效能。
TI的TMS470它的CPU核心是ARM7TDMI,16/32-bit RISC。
其正常模式的系统时脉是28 MHz、管线模式是48 MHz。
内含128K Bytes的FLASH和8K Bytes的SRAM。
其它电路单元还包含:零脚位锁相回路(ZPLL)时脉模块。
模拟的看门狗定时器(analog watchdog timer;AWD)。
实时中断模块(real-time interrupt;RTI)。
两个”序列外围接口”(SPI)模块。
两个”序列通讯接口”(SCI)模块。
标准的”控制局域网络”(control area network;CAN)控制器(SCC)。
第二类序列界面(C2SIa)。
10-bit、16个输入信道多重缓冲”模拟数字转换器”(MibADC)。
高阶定时器(high-end timer;HET),控制16个输出入端口(I/O)。
外部时脉预分频器(external clock prescale;ECP)。
共49个I/O脚位,1个只能输入的脚位。
TMS470的系统功能有:地址译码。
保护内存。
监督内存和各外围的总线。
重置(reset)和取消(abort)的例外管理。
所有内部中断源的排序(prioritization)。
装置的时脉控制。
平行的特性记号(signature)分析(PSA):是一种自动检测故障的功能,可以利用多个输入的特性记号来检测数据流。
ARM9主要特点ARM 处理器凭借它的低功耗、高性能等特点,被广泛应用于个人通信等嵌入式领域,而ARM7 也曾在中低端手持设备中占据了一席之地。
然而,ARM7 的处理性能逐渐无法满足人们日益增长的高性能功能需求的处理,它开始退出主流应用领域,取而代之的是性能更加强大的ARM9 系列处理器。
《嵌入式Linux应用程序开发详解》——第4章、嵌入式系统基础新一代的ARM9 处理器,通过全新的设计,能够达到两倍以上于ARM7 处理器的处理能力。
它的主要特点如下所述。
(1)5 级流水线ARM7处理器采用的3级流水线设计,而ARM9则采用5 级流水线设计,如图4.4 所示。
图4.4 ARM7与ARM9流水线比较通过使用5级流水线机制,在每一个时钟周期内可以同时执行5条指令。
这样就大大提高了处理性能。
在同样的加工工艺下,ARM9处理器的时钟频率是ARM7 的1.8~2.2倍。
(2)采用哈佛结构首先读者需要了解什么叫哈佛结构?在计算机中,根据计算机的____________存储器结构及其总线连接形式,计算机系统可以被分为冯·诺依曼结构和哈佛结构,其中冯·诺依曼结构共用数据存储空间和程序存储空间,它们共享存储器总线,这也是以往设计时常用的方式;而哈佛结构则具有分离的数据和程序空间及分离的访问总线。
所以哈佛结构在指令执行时,取址和取数可以并行,因此具有更高的执行效率。
ARM9 采用的就是哈佛结构,而ARM7 采用的则是冯·诺依曼结构。
如图4.5 和图4.6 分别体现了冯·诺依曼结构和哈佛结构的数据存储方式。
图4.5 冯·诺依曼结构图4.6 哈佛结构由于在RISC 架构的处理器中,程序中大约有30%的指令是Load-Store 指令,而采用哈佛结构大大提升了这两个指令的执行速度,因此对提高系统效率的贡献是非常明显的。
(3)高速缓存和写缓存的引入由于在处理器中,一般处理器速度远远高于存储器访问速度,那么,如果存储器访问成为系统性能的瓶颈,则处理器再快也都毫无作用。
ARM9处理器与ARM7处理器比较及ARM9应用实例
摘要:ARM处理器是世界上最流行的嵌入式处理器,广泛应用于个人通信等嵌入式领域。
ARM7处理器虽然功能强大,但是目前已经开始退出主流应用领域,代替它的是性能更加强大的ARM9系列处理器。
介绍了ARM9处理器与ARM7处理器的不同之处,并且给出了ARM9的应用实例。
关键词:ARM9 ARM7 流水线指令周期
ARM9系列处理器是英国ARM公司设计的主流嵌入式处理器,主要包括
ARM9TDMI和ARM9E-S等系列。
本文主要介绍它们与ARM7TDMI的结构以及性能比较。
以手机应用为例,2G手机只需提供语音及简单的文字短信功能,而目前的2.5G和未来的3G手机除了提供这两项功能外,还必须提供各种其他的应用功能。
主要包括:(1)无线网络设备:手机上网、电子邮件及其他定位服务等功能;
(2)PDA功能:含有用户操作系统(Windows CE、Symbian OS、Linux等)及其他功能;(3)高性能功能:音频播放器、视频电话、手机游戏等。
在2.5G和3G的应用中ARM9已经全面替代了ARM7。
因为ARM9的新特性能够满足各种新需求的同时减少产品研发时间并降低研发费用。
新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。
这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。
1 时钟频率的提高
ARM7处理器采用3级流水线,而ARM9采用5级流水线,如图1、2、3所示。
增加的流水线设计提高了时钟频率和并行处理能力。
5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。
在同样的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI的1.8~2.2倍。
图1、图2和图3
2 指令周期的改进
指令周期的改进对于处理器性能的提高有很大的帮助。
性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。
对于采用最高级的语言,一般来说,性能的提高在30%左右。
2.1 loads指令矛n stores指令
指令周期数的改进最明显的是loads指令和stores指令。
从ARM7到ARM9这两条指令的执行时间减少了30%。
指令周期的减少是由于ARM7和ARM9两种处理器内的两个基本的微处理结构不同所造成的。
(1)ARM9有独立的指令和数据存储器接口,允许处理器同时进行取指和读写数据。
这叫作改进型哈佛结构。
而ARM7只有数据存储器接口,它同时用来取指令和数据访问。
(2)5级流水线引入了独立的存储器和写回流水线,分别用来访问存储器和将结果写回寄存器。
以上两点实现了一个周期完成loads指令和stores指令。
2.2 互锁(interlocks)技术
当指令需要的数据因为以前的指令没有执行完而没有准备好就会产生管道互锁。
当管道互锁发生时,硬件会停止这个指令的执行,直到数据准备好为止。
虽然这种技术会增加代码执行时间,但是为初期的设计者提供了巨大的方便。
编译器以及汇编程序员可以通过重新设计代码的顺序或者其他方法来减少管道互锁的数量。
2.3 分枝指令
ARM9和ARM7的分枝指令周期是相同的。
而且ARM9TDMI和ARM9E-S并没有对分枝指令进行预测处理。
3 ARM9结构及特点
以ARM9E-S为例介绍ARM9处理器的主要结构及其特点。
ARM9E-S的结构如图4所示。
其主要特点如下:
(1)32bit定点RISC处理器,改进型ARM/Thumb代码交织,增强性乘法器设计。
支持实时(real-time)调试;
(2)片内指令和数据SRAM,而且指令和数据的存储器容量可调;
(3)片内指令和数据高速缓冲器(cache)容量从4K字节到1M字节;
(4)设置保护单元(protcction unit),非常适合嵌入式应用中对存储器进行分段和保护;
(5)采用AMBA AHB总线接口,为外设提供统一的地址和数据总线;
(6)支持外部协处理器,指令和数据总线有简单的握手信令支持;
(7)支持标准基本逻辑单元扫描测试方法学,而且支持
BIST(built-in-self-test);
(8)支持嵌入式跟踪宏单元,支持实时跟踪指令和数据。
4 ARM9的典型应用
TI公司的OMAP730是最新的无线通信基带信号处理器。
该处理器是TI的GPRS Class 12通信模块与专用于应用处理的ARM926通用处理器(GPP)的集成。
由于GPP的速度可达200MHz,因此OMAP730具有两倍于上一代OMAP710处理器的应用处理性能。
如同所有的OMAP处理器一样,OMAP730可支持领先的移动操作系统,其中包括Microsoft的智能电话与Pocket PC PhoneEdition、Svmbian OS与Series 60、Palm OS以及Linux。
TI OMAP730结构如图5所示。
其中ARM926TEJ处理器的主要特性包括:(1)最高频率200MHz;(2)16KB指令高速缓存,8KB数据高速缓存;(3)硬件JAVA加速;(4)扩展多媒体指令集结构。
ARM微处理器是一种高性能、低功耗的32位微处器,它被广泛应用于嵌入式系统中。
ARM9代表了ARM公司主流的处理器,已经在手持电话、机顶盒、数码像机、GPS、个人数字助理以及因特网设备等方面有了广泛的应用。