|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
ARM7与ARM9的区别:
( Y" i; d0 t4 r( Y' }* w2 K k# \% @* w1 b; U5 t/ [
本文是写给准备学习ARM技术,而又没想好要学ARM7还是ARM9或者对ARM7与ARM9的区别不是很了解的初学者。希望本文对你们有点用处。
/ |& h, C# l, {# C- |+ F! G" l4 R( o. U0 E4 G0 `* ~, x7 L
由于职业的关系,经常会回答一些ARM初学者的问题,虽然问题千奇百怪,但以下两个问题绝对很有代表性。
6 p4 |( k. S: s" z; _9 B% E8 B1 S: u
ARM7和ARM9都有些什么区别?0 P) ^# O; Y7 i9 |% r7 }7 K7 V
: x3 W* I8 M% @- d! \' `3 U$ D我准备学ARM,但不知是选ARM7还是ARM9好? : d1 u4 f: H' h X2 {2 R
$ ^" w" h" Z9 C: i4 I0 B也许这些问题在大虾们的眼里已不是问题,但对于初学者确实很具必要弄清楚。先说下:ARM7和ARM9的区别。
7 ^6 H I. X3 K9 W: \' {/ I# h
& ~4 ]- p+ B8 C+ f& q1. 时钟频率的提高9 b1 ^4 Z4 d. G% W. |
. t) ~0 M( F( ^& [+ L
虽然ARM7和ARM9内核架构相同,但ARM7处理器采用3级流水线的冯·诺伊曼结构;,而ARM9采用5级流水线的哈佛结构。增加的流水线设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在常用的芯片生产工艺下,ARM7一般运行在100MHz左右,而ARM9则至少在200MHz以上。
/ _: r0 [* j# R7 V5 p! i: u" `/ t; W
8 w$ }+ N" f; X4 K8 b. x$ X9 Y0 Y2 指令周期的改进: `) X) ?+ O! j, `
! f4 r: ~1 Y; X; E' s; x指令周期的改进对于处理器性能的提高有很大的帮助。性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。对于采用最高级的语言,一般来说,性能的提高在30%左右。5 E$ I5 M2 D3 I9 f
9 q! Q4 _$ N5 k4 v) F$ W8 n) \3 W
3.MMU(内存管理单元)
. `+ z2 {! U3 T1 j
2 M3 ?8 @7 s: k" P, Y) N0 u4 aARM7一般没有MMU(内存管理单元),(ARM720T有MMU)。
. P1 r" W7 r" i% {- N$ T* rARM9一般是有MMU的,ARM9940T只有MPU ,不是一个完整的MMU。
* |' t1 y. x$ W% e( _8 |8 k8 f8 S; `9 \4 h6 g1 P
这一条很重要,MMU单元是大型操作系统必需的硬件支持,如Linux;WINCE等。这就是说,ARM7一般只能运行小型的实时系统如UCOS-II,eCOS等,而ARM9无此限制,一般的操作系统都可以移植。其实即使ARM720T能支持linux;WINCE等系统,也鲜有人用,因为以ARM7的运行速度跑这种大型操作系统,实在有点吃力。再者两者的应用领域明显不同,也无此必要。
3 ]& B8 [3 q% [5 l; s
! J2 q9 x! d" ]7 @8 f4. ARM7比ARM9提供了更好的性能-功耗比。它包含了THUMB指令集快速乘法指令和ICE调试技术的内核。
4 Z. U! Q& [* x- E3 F3 ?8 W0 q# c( Y! }- a# S \$ ]4 m) r
5. 在从ARM7到ARM9的平台转变过程中,有一件事情是非常值得庆幸的,即ARM9E能够完全地向后兼容ARM7上的软件;并且开发人员面对的编程模型和架构基础也保持一致。
. R1 L0 I% ~; m3 D5 C* U; @7 z$ D# ~& ]/ c8 U% }
1 ^. a( Y3 T, }$ S2 r& S# ~7 g" r" n4 I
|
|