- Linux設(shè)備驅(qū)動開發(fā)詳解:基于最新的Linux4.0內(nèi)核
- 宋寶華
- 4字
- 2018-12-31 20:25:17
2.1 處理器
2.1.1 通用處理器
目前主流的通用處理器(GPP)多采用SoC(片上系統(tǒng))的芯片設(shè)計方法,集成了各種功能模塊,每一種功能都是由硬件描述語言設(shè)計程序,然后在SoC內(nèi)由電路實現(xiàn)的。在SoC中,每一個模塊不是一個已經(jīng)設(shè)計成熟的ASIC器件,而是利用芯片的一部分資源去實現(xiàn)某種傳統(tǒng)的功能,將各種組件采用類似搭積木的方法組合在一起。
ARM內(nèi)核的設(shè)計技術(shù)被授權(quán)給數(shù)百家半導(dǎo)體廠商,做成不同的SoC芯片。ARM的功耗很低,在當(dāng)今最活躍的無線局域網(wǎng)、3G、手機(jī)終端、手持設(shè)備、有線網(wǎng)絡(luò)通信設(shè)備等中應(yīng)用非常廣泛。至本書編寫時,市面上絕大多數(shù)智能手機(jī)、平板電腦都使用ARM SoC作為主控芯片。很多ARM主控芯片的集成度非常高,除了集成多核ARM以外,還可能集成圖形處理器、視頻編解碼器、浮點協(xié)處理器、GPS、WiFi、藍(lán)牙、基帶、Camera等一系列功能。比如,高通的Snapdragon 810就集成了如圖2.1所示的各種模塊。

圖2.1 ARM SoC范例:Snapdragon 810
主流的ARM移動處理芯片供應(yīng)商包括高通(Qualcomm)、三星(Samsung)、英偉達(dá)(Nvidia)、美滿(Marvell)、聯(lián)發(fā)科(MTK)、海思(HiSilicon)、展訊(Spreadtrum)等。德州儀器(TI)、博通(Broadcom)則已淡出手機(jī)芯片業(yè)務(wù)。
中央處理器的體系結(jié)構(gòu)可以分為兩類,一類為馮·諾依曼結(jié)構(gòu),另一類為哈佛結(jié)構(gòu)。Intel公司的中央處理器、ARM的ARM7、MIPS公司的MIPS處理器采用了馮·諾依曼結(jié)構(gòu);而AVR、ARM9、ARM10、ARM11以及Cortex A系列等則采用了哈佛結(jié)構(gòu)。
馮·諾依曼結(jié)構(gòu)也稱普林斯頓結(jié)構(gòu),是一種將程序指令存儲器和數(shù)據(jù)存儲器合并在一起的存儲器結(jié)構(gòu)。程序指令存儲地址和數(shù)據(jù)存儲地址指向同一個存儲器的不同物理位置,因此程序指令和數(shù)據(jù)的寬度相同。而哈佛結(jié)構(gòu)將程序指令和數(shù)據(jù)分開存儲,指令和數(shù)據(jù)可以有不同的數(shù)據(jù)寬度。此外,哈佛結(jié)構(gòu)還采用了獨立的程序總線和數(shù)據(jù)總線,分別作為CPU與每個存儲器之間的專用通信路徑,具有較高的執(zhí)行效率。圖2.2描述了馮·諾依曼結(jié)構(gòu)和哈佛結(jié)構(gòu)的區(qū)別。

圖2.2 馮·諾依曼結(jié)構(gòu)與哈佛結(jié)構(gòu)
許多芯片采用的是如圖2.3所示的改進(jìn)的哈佛架構(gòu),它具有獨立的地址總線和數(shù)據(jù)總線,兩條總線由程序存儲器和數(shù)據(jù)存儲器分時共用。因此,改進(jìn)的哈佛結(jié)構(gòu)針對程序和數(shù)據(jù),其實沒有獨立的總線,而是使用公用數(shù)據(jù)總線來完成程序存儲模塊或數(shù)據(jù)存儲模塊與CPU之間的數(shù)據(jù)傳輸,公用的地址總線來尋址程序和數(shù)據(jù)。

圖2.3 改進(jìn)的哈佛結(jié)構(gòu)
從指令集的角度來講,中央處理器也可以分為兩類,即RISC(精簡指令集計算機(jī))和CISC(復(fù)雜指令集計算機(jī))。CSIC強(qiáng)調(diào)增強(qiáng)指令的能力、減少目標(biāo)代碼的數(shù)量,但是指令復(fù)雜,指令周期長;而RISC強(qiáng)調(diào)盡量減少指令集、指令單周期執(zhí)行,但是目標(biāo)代碼會更大。ARM、MIPS、PowerPC等CPU內(nèi)核都采用了RISC指令集。目前,RISC和CSIC兩者的融合非常明顯。
- PLC控制程序精編108例
- Puppet實戰(zhàn)
- Arch Linux Environment Setup How-to
- VMware Horizon View 6 Desktop Virtualization Cookbook
- 直播系統(tǒng)開發(fā):基于Nginx與Nginx-rtmp-module
- Linux使用和管理指南:從云原生到可觀測性
- 8051軟核處理器設(shè)計實戰(zhàn)
- Joomla! 3 Template Essentials
- Ceph分布式存儲實戰(zhàn)
- Linux命令行大全(第2版)
- 計算機(jī)系統(tǒng)的自主設(shè)計
- Linux基礎(chǔ)使用與案例
- HTML5 Enterprise Application Development
- Learn CUDA Programming
- Docker容器技術(shù)與運維