日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

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

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

時鐘周期 機器周期 指令周期

時鐘周期:時鐘是CPU的動力源,CPU之所以能夠快速工作就是由時鐘驅動,時鐘不停的振蕩,CPU就不停的工作。時鐘周期是CPU內部衡量時長的最基本單位。

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

指令周期:一條指令完成所需要的時間,可能由若干個機器周期組成。

因此,從時間長度來說,指令周期 > 機器周期 > 時鐘周期

指令周期 > 機器周期 > 時鐘周期

精簡指令集與復雜指令集

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

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

1 插入鑰匙指令
2 點火指令
3 踩油門指令

可以看到,完成同一件事,復雜指令集使用了一條指令,而精簡指令集需要3條指令來完成一個復雜動作。

接下來看一個實際的編程例子,對于乘法操作來說,復雜指令集使用一條簡單指令MUL來完成:

mul A, B

當處理器看到這樣一條指令,內部會做如下操作:

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

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

LOAD RA, A ; 從內存讀取數據A
LOAD RB, B ; 從內存讀取數據B
PROD RA, RB ; 計算兩者乘積
STORE A, RA ; 將寄存器中的結果寫回內存

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

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

指令集與處理器架構

目前流行的兩種指令集:精簡指令集與復雜指令集都有與之對應的處理器架構。所謂處理器架構,可以看成是使用一堆硬件電路來完成指令集中的指令,使用相同指令集的處理器,可能會有不同的架構設計。使用精簡指令集的架構有:PowerPC架構、ARM架構、MIPS架構;使用復雜指令集的架構有x86架構。


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


本文轉自:白羊哈哈,轉載此文目的在于傳遞更多信息,版權歸原作者所有。如不支持轉載,請聯系小編demi@刪除。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多