一、H7 的特點
首先看看 M7 內(nèi)核的 GD32H7都具備哪些不一樣的功能,以下只是我個人關(guān)注的點:
主頻高,GD32H7系列MCU采用基于Armv7E-M架構(gòu),主頻高達600MHz。
6 級流水線,并且是超標量的,并且支持分支預(yù)測。
內(nèi)置了高級DSP硬件加速器和雙精度浮點單元(FPU),以及硬件三角函數(shù)加速器(TMU)和濾波算法加速器(FAC)。
內(nèi)置了TFT LCD液晶驅(qū)動器和圖形處理加速器IPA (Image Processing Accelerator),支持2D圖像疊加、旋轉(zhuǎn)、縮放及多種顏色格式轉(zhuǎn)換等功能。
主頻越來越高自然不必說了,后面兩個內(nèi)置硬件過兩天在學(xué)習(xí)。
今兒先學(xué)習(xí)下 M7 內(nèi)核的功勞,也就是這里的分支預(yù)測和超標量流水線。
二、什么是超標量流水線
超標量流水線(Superscalar Pipeline)是一種計算機處理器架構(gòu),它可以同時執(zhí)行多條指令,從而提高指令執(zhí)行的效率。這種架構(gòu)允許處理器在一個時鐘周期內(nèi)執(zhí)行多個指令,而不是像傳統(tǒng)的標量流水線那樣每個時鐘周期執(zhí)行一條指令。
先看傳統(tǒng)的流水線架構(gòu):
在傳統(tǒng)的標量流水線架構(gòu)中,我們?nèi)绻胱?CPU 執(zhí)行一條機器指令,要經(jīng)歷:取址(IF)→ 譯碼(ID)→ 執(zhí)行(EX)→ 訪問內(nèi)存(MEM)→寫回內(nèi)存(WB)等五個步驟,那么在系統(tǒng)時鐘的驅(qū)動下,如果串行處理,那么執(zhí)行一條指令至少要 5 個時鐘周期。
CPU 在執(zhí)行每一個單一步驟的時候,并不一定會用到所有的硬件,也就是說五個步驟其實存在一定的獨立性,那么我們可以增加一些硬件讓 CPU在一個時鐘觸發(fā)下做兩件以上的事情。
這么一來,我們就可以讓多條指令的執(zhí)行看起來并行執(zhí)行,其實就是為每條指令的執(zhí)行提前做一些準備工作,從結(jié)果看,我們幾乎可以做到每個時鐘周期執(zhí)行一條指令了。
以上就是標量的流水線,就是讓 指令執(zhí)行進行一定的硬件分工,然后在一個時鐘觸發(fā)下,不同的硬件可以同時做一些不同的事情,從而保證每個時鐘周期內(nèi)都有一個產(chǎn)出—— 執(zhí)行完一條完整的指令。
OK,如果我想給讓CPU 提高點人效,讓它一個機器時鐘內(nèi)完成多個指令的執(zhí)行該怎么辦呢?
加人唄,一個崗位上放倆人,甚至更多
當(dāng)然人多了,容易亂套,這里是因為每個指令本質(zhì)是上串行的,前后有依賴,所以不能一味的增加人力,結(jié)果肯定是流水線上打起來。
上圖中,我們在每一個流水階段增加了一個人力,整個系統(tǒng)看起來瞬間效率提高了一倍。
以上就是超標量流水線的描述,下面我們看看,如何在 程序設(shè)計上利用這個超標量的流水線。
-
處理器
+關(guān)注
關(guān)注
68文章
19748瀏覽量
232968 -
mcu
+關(guān)注
關(guān)注
146文章
17734瀏覽量
358573 -
內(nèi)核
+關(guān)注
關(guān)注
3文章
1405瀏覽量
40973 -
加速器
+關(guān)注
關(guān)注
2文章
821瀏覽量
38802
發(fā)布評論請先 登錄
什么是超標量處理器的流水線?超標量處理器的特點有哪些?
FPGA中的流水線設(shè)計
現(xiàn)代RISC中的流水線技術(shù)
什么是超標量技術(shù)/FADD?
流水線中的相關(guān)培訓(xùn)教程[1]
FPGA之為什么要進行流水線的設(shè)計
電焊機自動組裝流水線的特點
如何選擇合適的LED生產(chǎn)流水線輸送方式
嵌入式_流水線

CPU流水線的問題
什么是流水線 Jenkins的流水線詳解
首款Cortex-M7內(nèi)核超高性能MCU性能揭秘

評論