當前位置:聚美館>智慧生活>心理>

芯片性能影響的三大因素

心理 閱讀(2.65W)
芯片性能影響的三大因素

通常有三個因素:

一、“指令”複雜度,類似於單位時間加工的零件數量,指的是單個指令中計算的密度。

二、執行速度,即執行頻率,類似於一個小時的單位時間數量,指的是1秒鐘時鐘週期變化的數量。

三、並行度,類似於團隊的成員數量,指的是多個並行的處理。

一、“指令”複雜度,類似於單位時間加工的零件數量,指的是單個指令中計算的密度。

指令是軟件和硬件的媒介,指令的複雜度(單位計算密度)決定系統的軟硬件解耦程度。按照指令的複雜度,典型的處理器平臺大致分爲CPU、協處理器、GPU、FPGA、DSA、ASIC。任務在CPU執行,則定義爲軟件執行任務在協處理器、GPU、FPGA、DSA或ASIC執行,則定義爲硬件加速執行。

魚和熊掌不可兼得,指令複雜度和編程靈活性是兩個互反的特徵:指令越簡單,編程靈活性越高,因此才說軟件有更高的靈活性指令越複雜,性能越高,因此而受到的限制越多,只能用於特定場景的應用,其軟件靈活性越差。

二、執行速度,即執行頻率,類似於一個小時的單位時間數量,指的是1秒鐘時鐘週期變化的數量。

頻率越高,計算速度越快。不考慮其他因素制約,計算速度和頻率是正比關係。而頻率受電路中的關鍵路徑(延遲最大路徑)約束,兩者呈反比關係:關鍵路徑越短,頻率則越高。頻率受關鍵路徑制約,而關鍵路徑與兩個因素有關:

關鍵路徑所包含門的數量,即從前一級寄存器到後一級寄存器之間的最長路徑所包含的邏輯門數量

單個邏輯門延遲時間,邏輯門延遲時間跟半導體生產工藝相關,一般情況下,工藝尺寸越小,單個邏輯門延遲越小

因此,想要優化頻率,就要優化關鍵路徑:一個是優化關鍵路徑的邏輯門數量,另一個則是優化單個邏輯門延遲。當邏輯門延遲越小,或兩級寄存器之間的邏輯門數量越少,則頻率越高,計算速度也越快。

三、並行度,類似於團隊的成員數量,指的是多個並行的處理。

並行設計在硬件邏輯設計裏非常常見。如:

指令流水線:指令流水線是一種時間並行,在同時有多條指令處理流水線的不同階段,相當於有多條指令在並行處理

指令多發射(Multiple Issue):一條流水線,從指令緩衝區一次發送到譯碼階段就有多條指令,然後在執行階段也是多條指令並行

超線程(Hyper-Thread):在一個處理器核內部,多組不同的指令流處理,分時共享處理器核內部的各種硬件資源,達到更佳的資源利用率,提升整體性能

多總線:如,指令、數據總線分開,多數據總線等設計,進一步增加處理器的數據處理帶寬

多核技術:透過一些內部互聯總線,把多個處理器核集成到一塊芯片內,以此來提升綜合性能

多處理器芯片:受限於芯片工藝、功耗水平、設計架構,單芯片內的多核互聯不能無限制增加下去,也可以透過一些芯片間互聯技術,把多個 CPU Socket 連成一個NUMA系統,當前比較常見的是2-8個 Socket 互聯架構

總線:對並行總線來說,增加數據線的寬度,對增加總線的帶寬是顯而易見的,並行總線一般用於芯片內部邏輯通信串行總線,例如 PCIe,相比 PCI 並行總線,一方面可以快速提升頻率,還可以透過很多組串行線組合通信來提升傳輸性能,串行總線一般用於芯片間數據通信。

異構計算單元:CPU 和 GPU、xPU 以及各種硬件加速器組成異構多處理單元共同協作完成工作任務,CPU 更多的是承擔控制和數據交互的角色。

多服務器集羣:現在大型的互聯網系統需要成百上千的服務器,分爲業務處理、網絡處理、存儲和數據庫處理等不同功能分工的服務器,共同組成一個性能強大並且執行穩定的系統對外提供服務。

透過不同方向、不同層次的並行技術,都可以提升硬件系統的性能。把不同複雜度的單位處理都當作“指令”。那麼,我們就可以透過 IPC(Instruction per Cycle)來評價並行度。對一個 CPU 核來說,IPC 代表每個週期執行的指令數對一個硬件加速模組來說,IPC 則代表一個週期所能進行的單位處理的數量。