|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
CPU是数字处理系统中的一个重要环节。在我看来,单片机、微处理器、DSP都可以称作是CPU,只是它们的侧重点有所不同罢了。具体来说,传统意义上的单片机更偏重于嵌入式的计算,比如说我们经常使用的51、avr、ARM芯片中不仅仅含有了运算和控制功能,它还涵盖了定时器、串口、并口、USB、i2c总线等外部资源。dsp呢,CPU一般只是作为dsp的一个核存在,它通常还会包含另外一个核,专门用于数字信号的处理工作。而微处理器,也就是我们经常说的pc上的处理器,它的工作比较单一,专注于计算和控制功能的处理,因此一般来说在这方面的性能上面,单片机和dsp都是不能和它相比的,有了南桥芯片和北桥芯片的帮助,pc的微处理器就可以专注于自己的本职工作了,效率上面也会有一个很大的提高。4 S- a5 p1 d- B: K3 w! r
: Q" N9 G+ v9 a* q: {4 O
对于朋友们来说,生活中遇到的最多的CPU其实是x86的CPU。当然,如果有哪位朋友喜欢apple之类的玩具,也会知道一些arm的相关事情。剩下的就是一些专用领域的CPU了,比如说在通信行业用到的比较多的powerpc芯片,在高性能服务器用的到的sun sparc芯片,在科学计算领域使用到的mips芯片。所以,无论遇到什么芯片,对于应用层开发的朋友都是一样的,只是在一些小地方需要还有一些注意的地方。比如说,
) A$ w) R# a/ n! I, z# e
6 I5 `3 P# ^/ ] (1)数据的对齐方式
& k) A4 t5 u: g
! p/ i0 W4 L0 [' E7 ` (2)数据的字节序问题' E8 c4 g# x2 v4 \$ F7 n+ q
/ H3 Y' ]. g/ r4 o, L. r (3)函数参数的压栈问题* G) I" B ?6 V9 i* `( t. C" ^8 H
6 w+ i$ x7 k' \9 _2 ~& P2 v
(4)CPU的乱序执行问题
. q/ k! r+ H3 b) b9 l3 H
+ ~: @; V7 Y8 r6 V0 D (5)CPU中cache和内存一致性的问题 # h, V) c" m) H; X" {8 v( [, K( ?
3 q0 e. O$ x! }* u9 C6 t
* p9 u T* p* Y( v) y$ d3 J ~8 I |
|