|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
CPU是数字处理系统中的一个重要环节。在我看来,单片机、微处理器、DSP都可以称作是CPU,只是它们的侧重点有所不同罢了。具体来说,传统意义上的单片机更偏重于嵌入式的计算,比如说我们经常使用的51、avr、ARM芯片中不仅仅含有了运算和控制功能,它还涵盖了定时器、串口、并口、USB、i2c总线等外部资源。dsp呢,CPU一般只是作为dsp的一个核存在,它通常还会包含另外一个核,专门用于数字信号的处理工作。而微处理器,也就是我们经常说的pc上的处理器,它的工作比较单一,专注于计算和控制功能的处理,因此一般来说在这方面的性能上面,单片机和dsp都是不能和它相比的,有了南桥芯片和北桥芯片的帮助,pc的微处理器就可以专注于自己的本职工作了,效率上面也会有一个很大的提高。
% b% e ] r2 @2 w: W {* q: @ ^( e+ o, g) ^
对于朋友们来说,生活中遇到的最多的CPU其实是x86的CPU。当然,如果有哪位朋友喜欢apple之类的玩具,也会知道一些arm的相关事情。剩下的就是一些专用领域的CPU了,比如说在通信行业用到的比较多的powerpc芯片,在高性能服务器用的到的sun sparc芯片,在科学计算领域使用到的mips芯片。所以,无论遇到什么芯片,对于应用层开发的朋友都是一样的,只是在一些小地方需要还有一些注意的地方。比如说,
" m) D1 o: y& H6 Y
* U& B: `: N. Y3 D/ Z+ Z- m (1)数据的对齐方式
7 ~3 @7 K) a% ~' x. }
7 f, S/ l! T$ q( Z6 h- |- ] (2)数据的字节序问题5 d: y, Q. D Y# m
$ x' J9 y( y4 O* u( ^+ Y$ ]) [4 A
(3)函数参数的压栈问题6 `8 w0 _. }9 r* @" P2 l) x! Z% p
, j0 Q( X- b" E
(4)CPU的乱序执行问题
" v6 V. ]5 r8 v3 {* S9 M, D: g$ g+ W6 a1 M- ?9 o- z
(5)CPU中cache和内存一致性的问题
( q" o& _5 O0 [0 W4 W+ V& y. w
" L3 \' T0 h( G2 h
1 K! e' w/ n8 y0 ^" Y |
|