|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
ARM7与ARM9的区别:
+ `5 B- B" z/ R0 X$ i' Q" d7 T9 W0 K% Y9 \2 w% V
本文是写给准备学习ARM技术,而又没想好要学ARM7还是ARM9或者对ARM7与ARM9的区别不是很了解的初学者。希望本文对你们有点用处。4 o& x1 u5 ^2 R- V( u# B
; d, P5 ?6 Q# ?3 M+ Y由于职业的关系,经常会回答一些ARM初学者的问题,虽然问题千奇百怪,但以下两个问题绝对很有代表性。
* N# }- [+ q4 ^) {- b! O
) f3 H P/ a# }/ R4 G xARM7和ARM9都有些什么区别?
+ s, ]$ G3 {% g" }, h+ I+ h! w! k T0 m% T; K* p. N5 d
我准备学ARM,但不知是选ARM7还是ARM9好? * {! o' _( [7 p; \ S6 V3 k) w; z
! d. P: g( D9 b0 @也许这些问题在大虾们的眼里已不是问题,但对于初学者确实很具必要弄清楚。先说下:ARM7和ARM9的区别。4 q0 `# W2 R- F
% d5 w2 z, H7 h2 T$ e6 {- u1. 时钟频率的提高
) L; s# ~0 z$ Y6 u
6 M5 x$ k6 F3 S3 `/ p7 q虽然ARM7和ARM9内核架构相同,但ARM7处理器采用3级流水线的冯·诺伊曼结构;,而ARM9采用5级流水线的哈佛结构。增加的流水线设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在常用的芯片生产工艺下,ARM7一般运行在100MHz左右,而ARM9则至少在200MHz以上。 p5 I0 K ^- V- t
! X7 K9 q+ | n# j) g) v
2 指令周期的改进 X; D" R' ?$ L; \9 B ~9 F, K& g9 O
" A# C: x( y% o& B5 ^- r$ I& U8 A指令周期的改进对于处理器性能的提高有很大的帮助。性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。对于采用最高级的语言,一般来说,性能的提高在30%左右。; E7 F* j8 r9 u; S u3 a) K0 ?
& D9 ~* Q# t/ }' C3 E3.MMU(内存管理单元)
6 m6 U; G) Q8 O2 S5 F3 O { t, W& T* K, |0 m4 ]+ U' p0 s2 W
ARM7一般没有MMU(内存管理单元),(ARM720T有MMU)。
8 ]) G- g( ~% u# H/ PARM9一般是有MMU的,ARM9940T只有MPU ,不是一个完整的MMU。$ T: O. F" x8 k9 c
/ q% v7 a) v: A4 V这一条很重要,MMU单元是大型操作系统必需的硬件支持,如Linux;WINCE等。这就是说,ARM7一般只能运行小型的实时系统如UCOS-II,eCOS等,而ARM9无此限制,一般的操作系统都可以移植。其实即使ARM720T能支持linux;WINCE等系统,也鲜有人用,因为以ARM7的运行速度跑这种大型操作系统,实在有点吃力。再者两者的应用领域明显不同,也无此必要。
) N$ v" L E: ^( K ]6 I# H2 \7 S7 v. R0 J- ~
4. ARM7比ARM9提供了更好的性能-功耗比。它包含了THUMB指令集快速乘法指令和ICE调试技术的内核。* s# y: I9 G% j3 P1 u1 H" ?
5 N: f6 `+ {' ?1 ^5. 在从ARM7到ARM9的平台转变过程中,有一件事情是非常值得庆幸的,即ARM9E能够完全地向后兼容ARM7上的软件;并且开发人员面对的编程模型和架构基础也保持一致。
" J, ]7 S1 V# a! Z8 N( t
, K4 N$ y+ m1 R7 t' T) K% [; d3 W. T8 b( \5 N/ d0 ^
% g+ z `( q' [# _- Q2 y! M2 T7 j- ^ |
|