|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
CPU是数字处理系统中的一个重要环节。在我看来,单片机、微处理器、DSP都可以称作是CPU,只是它们的侧重点有所不同罢了。具体来说,传统意义上的单片机更偏重于嵌入式的计算,比如说我们经常使用的51、avr、ARM芯片中不仅仅含有了运算和控制功能,它还涵盖了定时器、串口、并口、USB、i2c总线等外部资源。dsp呢,CPU一般只是作为dsp的一个核存在,它通常还会包含另外一个核,专门用于数字信号的处理工作。而微处理器,也就是我们经常说的pc上的处理器,它的工作比较单一,专注于计算和控制功能的处理,因此一般来说在这方面的性能上面,单片机和dsp都是不能和它相比的,有了南桥芯片和北桥芯片的帮助,pc的微处理器就可以专注于自己的本职工作了,效率上面也会有一个很大的提高。
' y2 Q: T1 p% F* {6 I* S9 H
; d# D0 t! w( v8 a$ z; {/ g+ g 对于朋友们来说,生活中遇到的最多的CPU其实是x86的CPU。当然,如果有哪位朋友喜欢apple之类的玩具,也会知道一些arm的相关事情。剩下的就是一些专用领域的CPU了,比如说在通信行业用到的比较多的powerpc芯片,在高性能服务器用的到的sun sparc芯片,在科学计算领域使用到的mips芯片。所以,无论遇到什么芯片,对于应用层开发的朋友都是一样的,只是在一些小地方需要还有一些注意的地方。比如说,
2 b5 m7 r) ?* ^( g. l
; H2 `1 z0 o* Q% F: S& d (1)数据的对齐方式
4 x; D" g K3 {; b g) i3 Z8 h
- Z, i6 l+ t8 a8 d (2)数据的字节序问题
2 _$ \* |# K, M, B8 Q' X& y; }- c: h
(3)函数参数的压栈问题
# Q9 m( {7 _4 v Z9 {+ _. u, T7 o. \, G2 p8 p
(4)CPU的乱序执行问题) F \$ w2 L& f9 [) T( I+ G
5 ?9 n" k0 R% I (5)CPU中cache和内存一致性的问题
/ v) V; s$ D3 `! f( k# t! E5 E- V/ H" F6 F
6 @) k3 i0 h1 ~0 l; L% ?# B' f: T |
|