电竞比分网-中国电竞赛事及体育赛事平台

分享

一文搞懂精簡指令集與復(fù)雜指令集 | 電子創(chuàng)新網(wǎng) Imgtec 社區(qū)

 昵稱55828825 2023-07-17 發(fā)布于北京

時(shí)鐘周期 機(jī)器周期 指令周期

時(shí)鐘周期:時(shí)鐘是CPU的動(dòng)力源,CPU之所以能夠快速工作就是由時(shí)鐘驅(qū)動(dòng),時(shí)鐘不停的振蕩,CPU就不停的工作。時(shí)鐘周期是CPU內(nèi)部衡量時(shí)長的最基本單位。

機(jī)器周期:也叫CPU周期,規(guī)定為CPU訪問一次內(nèi)存所需要的最短時(shí)間。這就是說,一條指令的取值階段(從內(nèi)存讀取)就需要一個(gè)機(jī)器周期。一個(gè)機(jī)器周期可能由若干個(gè)時(shí)鐘周期組成。

指令周期:一條指令完成所需要的時(shí)間,可能由若干個(gè)機(jī)器周期組成。

因此,從時(shí)間長度來說,指令周期 > 機(jī)器周期 > 時(shí)鐘周期

指令周期 > 機(jī)器周期 > 時(shí)鐘周期

精簡指令集與復(fù)雜指令集

精簡指令集(RISC)與復(fù)雜指令集(CISC)是相對(duì)于指令執(zhí)行時(shí)長來說的,而不是指令本身的復(fù)雜度。精簡指令集追求的是在單個(gè)機(jī)器周期里面完成指令。

舉個(gè)例子,如果對(duì)于"啟動(dòng)汽車"這個(gè)功能,復(fù)雜指令集可能直接就是一條指令,告訴處理器"啟動(dòng)汽車",那么處理器內(nèi)部會(huì)完成整個(gè)啟動(dòng)過程,發(fā)出這條復(fù)雜指令的人不用關(guān)心處理器的內(nèi)部實(shí)現(xiàn)。如果使用精簡指令集,就得告訴處理器3條指令:

1 插入鑰匙指令
2 點(diǎn)火指令
3 踩油門指令

可以看到,完成同一件事,復(fù)雜指令集使用了一條指令,而精簡指令集需要3條指令來完成一個(gè)復(fù)雜動(dòng)作。

接下來看一個(gè)實(shí)際的編程例子,對(duì)于乘法操作來說,復(fù)雜指令集使用一條簡單指令MUL來完成:

mul A, B

當(dāng)處理器看到這樣一條指令,內(nèi)部會(huì)做如下操作:

1. 從內(nèi)存中加載地址A上的數(shù),存放在寄存器中
2. 從內(nèi)存中夾雜地址B上的數(shù),存放在寄存器中
3. ALU根據(jù)寄存器中的值進(jìn)行乘積
4. 將乘積寫回內(nèi)存

接下來看使用精簡指令集如何完成這項(xiàng)工作:

LOAD RA, A ; 從內(nèi)存讀取數(shù)據(jù)A
LOAD RB, B ; 從內(nèi)存讀取數(shù)據(jù)B
PROD RA, RB ; 計(jì)算兩者乘積
STORE A, RA ; 將寄存器中的結(jié)果寫回內(nèi)存

雖然從代碼量來看,完成同一件事精簡指令集占用的空間更多,但是這些指令都很簡單,不需要復(fù)雜的硬件邏輯來進(jìn)行解碼,可以節(jié)約晶體管的數(shù)量,處理器就可以更小。

同時(shí),從編譯器的角度看,復(fù)雜指令集CPU對(duì)編譯器隱藏了實(shí)現(xiàn)細(xì)節(jié),編譯器能夠優(yōu)化代碼的可能性很小,而精簡指令集CPU的執(zhí)行過程都暴露出來,更有利于編譯器進(jìn)行代碼優(yōu)化。

指令集與處理器架構(gòu)

目前流行的兩種指令集:精簡指令集與復(fù)雜指令集都有與之對(duì)應(yīng)的處理器架構(gòu)。所謂處理器架構(gòu),可以看成是使用一堆硬件電路來完成指令集中的指令,使用相同指令集的處理器,可能會(huì)有不同的架構(gòu)設(shè)計(jì)。使用精簡指令集的架構(gòu)有:PowerPC架構(gòu)、ARM架構(gòu)、MIPS架構(gòu);使用復(fù)雜指令集的架構(gòu)有x86架構(gòu)。


參考鏈接:
不懂精簡指令集還敢說自己是程序員?
https://mp.weixin.qq.com/s/VMDpW67zhJka0DKL8TQHrA


本文轉(zhuǎn)自:白羊哈哈,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。如不支持轉(zhuǎn)載,請(qǐng)聯(lián)系小編demi@刪除。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(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)論公約

    類似文章 更多