久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

深入了解汽車(chē)系統(tǒng)級(jí)芯片SoC連載之三:ARM的商業(yè)模式與CPU微架構(gòu)概覽

 yeshuheng 2022-07-17 發(fā)布于浙江

汽車(chē)系統(tǒng)級(jí)芯片SoC的核心構(gòu)成包括CPU,、GPU,、AI加速器和片上總線及互聯(lián)。CPU目前主要是ARM架構(gòu),,x86架構(gòu)和RISC-V架構(gòu),。ARM架構(gòu)占據(jù)絕大多數(shù)市場(chǎng)。

圖片

圖片來(lái)源:互聯(lián)網(wǎng)

這是2013年ARM初創(chuàng)期的商業(yè)模式,,時(shí)至今日變化不大,,只是更新速度大大加快了,基本上一年一個(gè)新架構(gòu),。ARM的半導(dǎo)體協(xié)作者主要是晶圓代工廠,,二者需要相互支持,目前能跟上ARM步伐的只有臺(tái)積電和三星,。

ARM授權(quán)分4個(gè)等級(jí),。

圖片

圖片來(lái)源:互聯(lián)網(wǎng)

從1到4授權(quán)費(fèi)依次遞增,可定制的深度依次遞增,,開(kāi)發(fā)難度依次遞增,。想開(kāi)箱即用,選POP IP,,基本上可以直接給晶圓代工廠制作芯片,,ARM已在各方面優(yōu)化過(guò)了,沒(méi)有任何改動(dòng)空間,。想要公版架構(gòu)無(wú)法給與的差異化性能與體驗(yàn),,上架構(gòu)授權(quán)是不二選擇。指令集是通過(guò)物理硬件晶體管寄存器嵌入進(jìn)架構(gòu)里的,,它不像是一個(gè)軟件,,更像是一個(gè)硬件。因此要獲得架構(gòu)授權(quán)就必須獲得指令集授權(quán),,兩者無(wú)法分割,。但如果不是架構(gòu)授權(quán),就無(wú)需獲得指令集授權(quán),。

三種IP對(duì)比

圖片

圖片來(lái)源:互聯(lián)網(wǎng)

第二級(jí)Artisan Physical IP有時(shí)亦簡(jiǎn)寫(xiě)為IP,。廠商拿到ARM的處理器部分的Core授權(quán)之后(Verilog-HDL形式的CPU設(shè)計(jì)源碼,也就是上面的軟核部分),,結(jié)合廠商自身的外設(shè)和存儲(chǔ),,在EDA工具的配合下進(jìn)入固核的設(shè)計(jì)階段。IP Core授權(quán)的內(nèi)容不止包含處理器,,還包含ARM公版的外設(shè),、內(nèi)存控制器等,,廠商有選擇的余地。

BoC是2016年特別為高通打造的授權(quán)方式,,也叫Cortex授權(quán),。

圖片

圖片來(lái)源:互聯(lián)網(wǎng)

上圖為BoC與架構(gòu)授權(quán)之間的區(qū)別,據(jù)說(shuō)只有高通使用,。架構(gòu)授權(quán)是最高級(jí)的,,難度也最高,價(jià)格也最貴,,靈活程度最高,,蘋(píng)果是架構(gòu)授權(quán)里做得最好的,改動(dòng)幅度最大,,特別是前端和指令集窗口,,都做了大幅度改動(dòng),。其他廠家也有改動(dòng),,但改動(dòng)幅度很小,特別是前端幾乎沒(méi)有任何改動(dòng),。

圖片

圖片來(lái)源:互聯(lián)網(wǎng)

微架構(gòu)就是像A57,、A78這樣的稱之為微架構(gòu)。微架構(gòu)分前端,、執(zhí)行引擎和存儲(chǔ)系統(tǒng)三個(gè)組成部分,。依照關(guān)鍵程度有譯碼寬度、緩存容量,、ALU數(shù)量,、發(fā)射端口、指令緩存,。

這一節(jié)只講譯碼寬度,。影響CPU算力最關(guān)鍵的參數(shù)是Decode Wide譯碼寬度,譯碼寬度可簡(jiǎn)單等同于每周期指令數(shù)量即IPC,,即每個(gè)周期完成多少個(gè)指令,。

圖片

資料來(lái)源:互聯(lián)網(wǎng)

譯碼寬度的增加是非常困難的,不是想多少就多少的,。簡(jiǎn)單來(lái)說(shuō)每增加一位寬度,,系統(tǒng)復(fù)雜度便會(huì)提高15%左右,裸晶面積也就是成本會(huì)增加15-20%左右,。如果簡(jiǎn)單地增加譯碼寬度,,那么成本也會(huì)上漲,廠家就缺乏更新的動(dòng)力,,所以ARM的做法是配合臺(tái)積電和三星的先進(jìn)工藝,,利用晶體管密度的提高來(lái)減少裸晶面積降低成本,,因此ARM的每一次譯碼寬度升級(jí)均需先進(jìn)制造工藝的配合,否則成本增加比較多,。同時(shí)ARM也從商業(yè)角度考慮,,每年小升級(jí)一次,年年都有提升空間,。8位寬度是目前的極限,,蘋(píng)果一次到位使用8位寬度,缺點(diǎn)是必須使用臺(tái)積電最先進(jìn)的制造工藝,,但蘋(píng)果依然使用的是ARM的指令集,。

此外,RISC和CISC還有區(qū)別,,CISC增加寬度更難,,但CISC的1位寬度基本可頂RISC的1.2-1.5位。英特爾是有實(shí)力壓制蘋(píng)果的,,就是制造工藝不如臺(tái)積電,。CISC指令的長(zhǎng)度不固定,RISC則是固定的,。因?yàn)殚L(zhǎng)度固定,,可以分割為8個(gè)并行指令進(jìn)入8個(gè)解碼器,但CISC就不能,,它不知道指令的長(zhǎng)度,。因此CISC的分支預(yù)測(cè)器比RISC要復(fù)雜很多,當(dāng)然目前RISC也有長(zhǎng)度可變的指令,。遇到有些長(zhǎng)指令,,CISC可以一次完成,RISC因?yàn)殚L(zhǎng)度固定,,就像公交車(chē)站,,一定要在某個(gè)站停留一下,肯定不如CISC快,。也就是說(shuō),,RISC一定要跟指令集,操作系統(tǒng)做優(yōu)化,,RISC是以軟件為核心,,針對(duì)某些特定軟件做的硬件,而CISC相反,,他以硬件為核心,,針對(duì)所有類型的軟件開(kāi)發(fā)的。

要全面理解微架構(gòu),,我們先取一個(gè)簡(jiǎn)化模型,,如下圖,。

典型CPU簡(jiǎn)化架構(gòu)

圖片

資料來(lái)源:互聯(lián)網(wǎng)

程序控制:控制程序中指令執(zhí)行的順序。

操作控制:產(chǎn)生指令執(zhí)行所需的操作控制信號(hào),,以控制執(zhí)行部件運(yùn)行,。

時(shí)序控制:控制每個(gè)操作控制信號(hào)的開(kāi)始和持續(xù)時(shí)間。

數(shù)據(jù)加工:對(duì)數(shù)據(jù)進(jìn)行運(yùn)算,,在相關(guān)部件間傳送,。

中斷處理:及時(shí)響應(yīng)內(nèi)部異常和外部中斷請(qǐng)求。

圖片

指令簡(jiǎn)單流程,,資料來(lái)源:互聯(lián)網(wǎng)

一條指令的執(zhí)行通常包括以下4個(gè)步驟: 取值(Fetch):CPU里的控制器查詢下一條指令的地址,,并向存儲(chǔ)器發(fā)起請(qǐng)求;存儲(chǔ)器返回該地址對(duì)應(yīng)的存儲(chǔ)單元上的指令給控制器并存放到存放當(dāng)前指令的位置上,,此時(shí)控制器更新下一條指令的地址,。譯碼(Decode):控制器解析指令,將之轉(zhuǎn)化為一系列的控制信號(hào)(包括去哪里取運(yùn)算數(shù),,對(duì)應(yīng)的運(yùn)算符,,運(yùn)算結(jié)果的存放位置等)。執(zhí)行(Execute):根據(jù)譯碼的控制信號(hào)執(zhí)行指令,,從存儲(chǔ)器的存儲(chǔ)單元或CPU內(nèi)部的通用寄存器上讀取運(yùn)算數(shù),,然后根據(jù)指令規(guī)定的運(yùn)算符,,讓運(yùn)算器進(jìn)行運(yùn)算,。回寫(xiě)(Write-back):根據(jù)指令要求,,把運(yùn)算器的運(yùn)算結(jié)果存儲(chǔ)到某個(gè)通用寄存器上,。

寄存器Register,寄存器是CPU內(nèi)部用來(lái)存放數(shù)據(jù)的一些小型存儲(chǔ)區(qū)域,,用來(lái)暫時(shí)存放參與運(yùn)算的數(shù)據(jù)和運(yùn)算結(jié)果,。其實(shí)寄存器就是一種常用的時(shí)序邏輯電路,但這種時(shí)序邏輯電路只包含存儲(chǔ)電路,。寄存器的存儲(chǔ)電路是由鎖存器或觸發(fā)器構(gòu)成的,,因?yàn)橐粋€(gè)鎖存器或觸發(fā)器能存儲(chǔ)1位二進(jìn)制數(shù),所以由N個(gè)鎖存器或觸發(fā)器可以構(gòu)成N位寄存器,。寄存器是中央處理器內(nèi)的組成部分,。寄存器是有限存儲(chǔ)容量的高速存儲(chǔ)部件,可用來(lái)暫存指令,、數(shù)據(jù)和位址,。在計(jì)算機(jī)領(lǐng)域,寄存器是CPU內(nèi)部的元件,,包括通用寄存器,、專用寄存器和控制寄存器,。寄存器擁有非常高的讀寫(xiě)速度,所以在寄存器之間的數(shù)據(jù)傳送非???。

通常芯片設(shè)計(jì)也只是到寄存器這一級(jí),剩下的可以交給EDA工具自動(dòng)生成,。

圖片

圖片來(lái)源:互聯(lián)網(wǎng)

IR (instructionregister指令寄存器):即存放當(dāng)前指令的位置

PC (programcounter程序計(jì)數(shù)器):存放下一條指令的地址,,可以自增更新下一條地址,即指令備忘錄

MAR (memoryaddress register存儲(chǔ)器地址寄存器):存放當(dāng)前訪問(wèn)的存儲(chǔ)單元的地址

MDR (memorydata register存儲(chǔ)器數(shù)據(jù)寄存器):存放當(dāng)前訪問(wèn)(讀/寫(xiě))的存儲(chǔ)單元的內(nèi)容

圖片

圖片來(lái)源:互聯(lián)網(wǎng)

這些控制信號(hào)在持續(xù)時(shí)鐘脈沖的同步下去控制CPU中各個(gè)控制部件的動(dòng)作

圖片

圖片來(lái)源:互聯(lián)網(wǎng)

ALU (算術(shù)邏輯單元),,用于完成算術(shù)運(yùn)算和邏輯運(yùn)算,,兩個(gè)操作數(shù)Y、X分別從ALU的A端口和B端口進(jìn)入,,經(jīng)過(guò)ALU計(jì)算后,,將結(jié)果送到輸出端口Z;其中X,、Y,、Z是ALU用來(lái)暫時(shí)保存數(shù)據(jù)的寄存器,是ALU的一部分,;而F用于存放運(yùn)算結(jié)果的狀態(tài),,如是否產(chǎn)生進(jìn)位、是否溢出等,。ALU所需的數(shù)據(jù)來(lái)源于存儲(chǔ)器,,但是如果每一次運(yùn)算都去存儲(chǔ)器取數(shù),運(yùn)行效率太低,;所以一些常用的數(shù)需要提前從存儲(chǔ)器中取出來(lái),,相應(yīng)地,需要在運(yùn)算器中有臨時(shí)存放這些數(shù)的器件,,就是所謂的通用寄存器,。

算術(shù)運(yùn)算:加、減,、乘,、除、開(kāi)方,、平方,、倒數(shù),邏輯運(yùn)算:與,、或,、非、異。算術(shù)運(yùn)算可以拆解為眾多個(gè)加法,,更絕對(duì)一點(diǎn)兒說(shuō),,計(jì)算的一切,也就只有加法,。邏輯運(yùn)算近似于函數(shù)運(yùn)算,。計(jì)算機(jī)一般采用二進(jìn)制,和就是'異/或’門(mén),,進(jìn)位就是'與’門(mén),。這樣用門(mén)電路就設(shè)計(jì)出一個(gè)加法器。只考慮了向后進(jìn)位,,而沒(méi)有考慮前一個(gè)數(shù)皆進(jìn)位,,因此我們稱這種裝置為半加器。如果將前一個(gè)進(jìn)位考慮進(jìn)來(lái),,只需再多一個(gè)半加器就可以了,,這就是全加器。

圖片

圖片來(lái)源:互聯(lián)網(wǎng)

一位計(jì)算器做出來(lái)之后,,8位計(jì)算器就只需將全加器逐個(gè)拼起來(lái)即可,,并且再次抽象整體,我們稱之為8位加法器,。
 
一位全加器+函數(shù)發(fā)生器可以構(gòu)成一位全功能全加器,,不僅可以進(jìn)行算數(shù)運(yùn)算還可以進(jìn)行邏輯運(yùn)算。
 
下一期將介紹CPU的緩存系統(tǒng),,指令級(jí)并行的超標(biāo)量與超流水線,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多