一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

CPU是怎么實現(xiàn)加速的?

sanyue7758 ? 來源:處芯積律 ? 2023-04-06 10:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

軟件在CPU上執(zhí)行,采用一定的流水線執(zhí)行指令,通常有取指(Instruction Fetch)、譯碼(Instruction Decode)、執(zhí)行(Execute)、訪存(Memory)、寫回(Write Back)這幾步操作。如下圖所示,為5個階段的順序執(zhí)行的處理器指令流,即CPU執(zhí)行指令按照流水線,有一定的先后順序,單線程同一時刻只能計算出一個結(jié)果。

081fac22-d306-11ed-bfe3-dac502259ad0.png

那么,我們再深入探討一下CPU的體系結(jié)構(gòu),不外乎下圖的幾種:馮.諾依曼體系結(jié)構(gòu)、哈佛體系結(jié)構(gòu)、改進的哈佛體系結(jié)構(gòu),這幾種結(jié)構(gòu)有其各自的優(yōu)勢,應用于不同的產(chǎn)品中,也有各自的優(yōu)缺點,其中X86最典型的馮.諾依曼結(jié)構(gòu),廣泛應用于個人電腦、工作站、服務器等;而ARM是最典型的哈佛結(jié)構(gòu),廣泛應用于單片機、ARM芯片等終端芯片,如手機、平板等,終端設備等。關于具體的細分,詳見下方思維導圖。

082ec630-d306-11ed-bfe3-dac502259ad0.png

馮.諾依曼結(jié)構(gòu)(von Eeumann Architecture),也稱普林斯頓結(jié)構(gòu),如下圖所示,是一種將程序指令和數(shù)據(jù)合并在一起的存儲器結(jié)構(gòu)。該結(jié)構(gòu)中指令和數(shù)據(jù)共用一條總線,通過分時復用的方式進行讀寫操作,結(jié)構(gòu)相對簡單,總線面積較小,但缺點是效率低,無法同時取指令和數(shù)據(jù),成為了執(zhí)行的瓶頸。

08420f24-d306-11ed-bfe3-dac502259ad0.png

08507fd2-d306-11ed-bfe3-dac502259ad0.png

為了解決馮.諾依曼結(jié)構(gòu)無法并行取指令和數(shù)據(jù),提高計算的效率,在此基礎上提出了哈佛結(jié)構(gòu)(Harvard Architecture),這是一種將程序指令和數(shù)據(jù)分開的存儲器結(jié)構(gòu),如今下圖所示。該結(jié)構(gòu)由于程序的指令和數(shù)據(jù)存儲在兩個獨立的存儲器,各自有獨立的訪問總線,因此提供了更大的存儲器帶寬,減輕了程序運行時訪問內(nèi)存的瓶頸。但相應的也需要獨立的存儲器,以及更大的總線面積,其中ARM就是典型的哈佛結(jié)構(gòu)。

086aef98-d306-11ed-bfe3-dac502259ad0.png

087a1b12-d306-11ed-bfe3-dac502259ad0.png

同樣采用流水線,相對于馮.諾依曼結(jié)構(gòu),哈佛結(jié)構(gòu)的指令效率更高。哈佛結(jié)構(gòu)在當前指令譯碼的時候,可以進行下一條指令的取指,然后在執(zhí)行下一條指令的同時,又開始了第三條指令的取指。這一過程,通過指令預取,加快了原先5個步驟的流水線結(jié)構(gòu),提高了流水線的并行度。

實際上計算機體系結(jié)構(gòu)發(fā)展到現(xiàn)在,馮.諾伊曼結(jié)構(gòu),和哈佛結(jié)構(gòu)的界限已經(jīng)沒有那么清晰。比如改進型的哈佛結(jié)構(gòu),指令和數(shù)據(jù)還是一起存儲在主存中,但CPU有額外的指令Cache和數(shù)據(jù)Cache(如下圖所示),在主存帶寬足夠允許的前提下,使得CPU可以同時去取指令和數(shù)據(jù)Cache,所以可以認為結(jié)構(gòu)上對外是馮.諾伊曼結(jié)構(gòu),對內(nèi)是哈佛結(jié)構(gòu),這就是改進型的哈佛結(jié)構(gòu)。

由于本章僅在高層次上,對CPU架構(gòu)設計帶來的加速進行基礎的描述,這塊就不再深入。那么,我們繼續(xù)探討,如何可以讓CPU流水線計算地更快。

1)采用更先進的工藝

從28nm到5nm/3nm,更先進的工藝使得允許我們可以在更高的頻率下進行工作,當然也意味著更高的流片成本。典型的以28nm為例,A53可以跑到1.5GHz,而在16nm工藝下,A53可以跑到2.3GHz的主頻(以上數(shù)據(jù)僅供參考,跟具體優(yōu)化有關)。

088efbfe-d306-11ed-bfe3-dac502259ad0.png

但摩爾定律的終結(jié),意味著一味地通過工藝的升級來提高主頻,變得越來越困難,除了單純的提升工藝,增加核數(shù)量,我們還得從微架構(gòu)上探索,如何跑的更快。

2)超級流水線處理器

由于時鐘頻率受流水線中計算耗時最大的的,即我們的主頻需要滿足各階段的setup/hold time,如果將每一步計算拆分為更細的顆粒度,那么我們更容易滿足setup/hold time,因而可以跑在更高的主頻下——這就是超級流水線處理器/深流水線。

如下圖所謂,為細分后的超級流水線示意圖。

08a67e5a-d306-11ed-bfe3-dac502259ad0.png

3)標量流水線處理器

用更細的計算顆粒,我們可以運行在更高的主頻,這是提高了流水的速率。

換個思路,大力出奇跡:如果我們擁有多條河流,那我們可以成倍的提高流水的效率,這就是標量流水線處理器,如下圖所示:

08b4494a-d306-11ed-bfe3-dac502259ad0.png

在上圖中,每條流水線執(zhí)行仍然需要5個周期,但上下兩個流水線可以重疊執(zhí)行。圖中用9個周期,完成了5條指令,但即當流水線滿載時,每個周期都可以完成一條指令,相比于單流水線,提高了5倍的效率。當然我們擁有了5條河流來提高速率,也是付出了面積的代價,即FPGA中常用的面積換速度的思維。

4)超標量流水線處理器

結(jié)合超級流水線,以及標量流水線的特性,也自然有了超級標量流水線結(jié)構(gòu)的處理器,其流水結(jié)構(gòu)如下圖所示:

08c26b10-d306-11ed-bfe3-dac502259ad0.png

超標量流水線處理器指令流

即采用了多條流水線的結(jié)構(gòu),增加了并行計算性能;同時通過流水線每一階段的顆粒度,提高了運行的主頻。當然,相對于兩個種優(yōu)化的結(jié)構(gòu),超標量流水線結(jié)構(gòu)也是以更大的面積為代價。目前市場上幾乎所有處理器,都是超標量流水處理器結(jié)構(gòu)。

5)采用多核CPU結(jié)構(gòu)

當在確定的工藝,以及一定的超標量流水線結(jié)構(gòu)的處理器下,單核CPU的性能很難再實現(xiàn)質(zhì)的飛躍,那么多核處理器的結(jié)構(gòu),再次通過面積換速度,成倍的提升了CPU的硬件性能。典型的以下圖為例,為***處理器中,4核A72 + 4核A53的大小核結(jié)構(gòu)。多核處理器,在進行SOC設計時,給架構(gòu)師提出了更高的挑戰(zhàn);同時在軟件應用時,也對多核并行處理提出了更高的要求,如下圖所示,為AR72/A53的多核結(jié)構(gòu)。

08cfb72a-d306-11ed-bfe3-dac502259ad0.png

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9347

    瀏覽量

    376976
  • 存儲器
    +關注

    關注

    38

    文章

    7646

    瀏覽量

    167151
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11070

    瀏覽量

    216819
  • 流水線
    +關注

    關注

    0

    文章

    124

    瀏覽量

    26613
  • 指令
    +關注

    關注

    1

    文章

    616

    瀏覽量

    36404

原文標題:CPU是怎么實現(xiàn)加速的?

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【FPGA干貨分享六】基于FPGA協(xié)處理器的算法加速實現(xiàn)

    處理器功能在硬件中實現(xiàn)以替代幾種軟件指令。通過減少多種代碼指令為單一指令,以及在硬件中直接實現(xiàn)指令的方式,從而實現(xiàn)代碼加速。最常用的協(xié)處理器是浮點單元(FPU),這是與
    發(fā)表于 02-02 14:18

    為什么FPGA協(xié)處理器可以實現(xiàn)算法加速

    代碼加速和代碼轉(zhuǎn)換到硬件協(xié)處理器的方法如何采用FPGA協(xié)處理器實現(xiàn)算法加速?
    發(fā)表于 04-13 06:39

    對步進電機的控制,加速和減速是如何實現(xiàn)的?

    控制步進電機加速和減速是如何實現(xiàn)
    發(fā)表于 10-15 07:00

    CPU流水線的定義

    cpu流水線技術是一種將指令分解為多步,并讓不同指令的各步操作重疊,從而實現(xiàn)幾條指令并行處理,以加速程序運行過程的技術。
    發(fā)表于 12-14 15:29 ?4912次閱讀

    渦輪加速升壓(Turbo-boost)充電器可為CPU渦輪加速模式提供支持

    本文介紹的渦輪加速升壓 (turbo boost) 充電器,允許適配器和電池同時為系統(tǒng)供電,以滿足筆記本電腦在 CPU 內(nèi)核加速模式下工作時出現(xiàn)的猝發(fā)、超高功率需求。
    發(fā)表于 07-20 14:43 ?5944次閱讀
    渦輪<b class='flag-5'>加速</b>升壓(Turbo-boost)充電器可為<b class='flag-5'>CPU</b>渦輪<b class='flag-5'>加速</b>模式提供支持

    渦輪加速升壓 (Turbo-boost) 充電器可為 CPU 渦輪加速模式提供支持

    渦輪加速升壓 (Turbo-boost) 充電器可為 CPU 渦輪加速模式提供支持
    發(fā)表于 09-15 14:21 ?4次下載
    渦輪<b class='flag-5'>加速</b>升壓 (Turbo-boost) 充電器可為 <b class='flag-5'>CPU</b> 渦輪<b class='flag-5'>加速</b>模式提供支持

    Java底層實現(xiàn)CPU還有10個術語!

    Java底層實現(xiàn)——CPU的10個術語
    的頭像 發(fā)表于 03-28 14:14 ?6483次閱讀

    Javascript如何實現(xiàn)GPU加速

    由 Demi 于 星期四, 2018-09-06 16:10 發(fā)表 一、什么是Javascript實現(xiàn)GPU加速CPU與GPU設計目標不同,導致它們之間內(nèi)部結(jié)構(gòu)差異很大。 CPU
    發(fā)表于 09-06 20:21 ?807次閱讀

    使用FPGA實現(xiàn)CPU設計的畢業(yè)論文總結(jié)

    CPU的總體結(jié)構(gòu)到局部功能的實現(xiàn)采用了自頂向下的設計方法和模塊化的設計思想,利用Xilinx 公司的Spartan II 系列FPGA,設計實現(xiàn)了八位CPU軟核。在FPGA內(nèi)部不僅
    發(fā)表于 08-03 17:58 ?13次下載
    使用FPGA<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>CPU</b>設計的畢業(yè)論文總結(jié)

    如何使用FPGA實現(xiàn)八位RISC CPU的設計

    CPU的總體結(jié)構(gòu)到局部功能的實現(xiàn)采用了自頂向下的設計方法和模塊化的設計思想, 利用Xilinx 公司的Spartan II 系列FPGA, 設計實現(xiàn)了八位CPU軟核。在FPGA 內(nèi)部
    發(fā)表于 08-19 17:43 ?7次下載
    如何使用FPGA<b class='flag-5'>實現(xiàn)</b>八位RISC <b class='flag-5'>CPU</b>的設計

    為什么FPGA主頻比CPU慢,但卻可以用來幫CPU加速

    我們知道,F(xiàn)PGA的頻率一般只有幾百MHz,而CPU的頻率卻高達數(shù)GHz。那么,有不少網(wǎng)友心中就有一個疑問:為什么FPGA主頻比CPU慢,但卻可以用來幫CPU加速?。 今天,EDN就
    的頭像 發(fā)表于 11-20 09:56 ?4227次閱讀

    Intel Sapphire Rapids CPU,吹響反攻DPU的號角

    CPU已經(jīng)到了性能瓶頸,這是大家的共識;當CPU遇到性能瓶頸的時候,通過加速的方式進一步提升性能,也是大家的共識。但是,加速實現(xiàn)形態(tài),是分
    的頭像 發(fā)表于 12-19 15:01 ?1253次閱讀

    基于CPCI總線CPU主控模塊的設計與實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于CPCI總線CPU主控模塊的設計與實現(xiàn).pdf》資料免費下載
    發(fā)表于 10-18 11:09 ?0次下載
    基于CPCI總線<b class='flag-5'>CPU</b>主控模塊的設計與<b class='flag-5'>實現(xiàn)</b>

    基于雙CPU的電能質(zhì)量監(jiān)測系統(tǒng)設計與實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于雙CPU的電能質(zhì)量監(jiān)測系統(tǒng)設計與實現(xiàn).pdf》資料免費下載
    發(fā)表于 10-20 09:47 ?0次下載
    基于雙<b class='flag-5'>CPU</b>的電能質(zhì)量監(jiān)測系統(tǒng)設計與<b class='flag-5'>實現(xiàn)</b>

    音視頻解碼器硬件加速實現(xiàn)更流暢的播放效果

    思想是利用專門的硬件資源,如GPU或?qū)S玫慕獯a芯片,來分擔原本由CPU承擔的解碼任務。這種方式不僅可以大幅提高解碼速度,還能降低CPU的負載,從而實現(xiàn)更流暢的播放效果。 硬件加速的優(yōu)勢
    的頭像 發(fā)表于 02-21 14:40 ?1437次閱讀
    音視頻解碼器硬件<b class='flag-5'>加速</b>:<b class='flag-5'>實現(xiàn)</b>更流暢的播放效果