官术网_书友最值得收藏!

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兩者的融合非常明顯。

主站蜘蛛池模板: 衡南县| 磴口县| 射阳县| 安达市| 凯里市| 班玛县| 盘山县| 浮梁县| 洛扎县| 湾仔区| 黄梅县| 青海省| 图们市| 新安县| 常宁市| 武定县| 博乐市| 久治县| 凯里市| 丘北县| 县级市| 招远市| 修水县| 乌审旗| 新疆| 长沙县| 罗定市| 万州区| 昌图县| 嘉荫县| 高要市| 黑水县| 灌南县| 九龙城区| 漯河市| 南华县| 新宾| 班戈县| 新沂市| 黄龙县| 华容县|