CPU是數字處理系統中的一個重要環節。在我看來,單片機、微處理器、dsp都可以稱作是CPU,只是它們的側重點有所不同罷了。具體來說,傳統意義上的單片機更偏重于嵌入式的計算,比如說我們經常使用的51、avr、ARM芯片中不僅僅含有了運算和控制功能,它還涵蓋了定時器、串口、并口、USB、i2c總線等外部資源。dsp呢,CPU一般只是作為dsp的一個核存在,它通常還會包含另外一個核,專門用于數字信號的處理工作。而微處理器,也就是我們經常說的pc上的處理器,它的工作比較單一,專注于計算和控制功能的處理,因此一般來說在這方面的性能上面,單片機和dsp都是不能和它相比的,有了南橋芯片和北橋芯片的幫助,pc的微處理器就可以專注于自己的本職工作了,效率上面也會有一個很大的提高。 對于朋友們來說,生活中遇到的最多的CPU其實是x86的CPU。當然,如果有哪位朋友喜歡apple之類的玩具,也會知道一些arm的相關事情。剩下的就是一些專用領域的CPU了,比如說在通信行業用到的比較多的powerpc芯片,在高性能服務器用的到的sun sparc芯片,在科學計算領域使用到的mips芯片。所以,無論遇到什么芯片,對于應用層開發的朋友都是一樣的,只是在一些小地方需要還有一些注意的地方。比如說, 。1)數據的對齊方式 (2)數據的字節序問題 。3)函數參數的壓棧問題 。4)CPU的亂序執行問題 。5)CPU中cache和內存一致性的問題 |