fbpx
维基百科

big.LITTLE

ARM big.LITTLEbig.LITTLE是由安謀國際科技公司(ARM)提出的异构運算多核心處理器組態結構配置。在這個組態,將比較耗電、但運算能力強的處理器核心組成的「big叢集」與低耗電、運算能力弱的處理器核心組成的「LITTLE叢集」結合在一起,這些處理器核心共用記憶體區段,並能夠在不同的CPU叢集之間線上實時分派、切換負載。[1]這個多核心處理器組態結構運用在行動計算上,從而能夠做出計算高效能,但是平均耗電低的多核心處理器,ARM的市場資料稱在某些運算操作中這個組態配置相比只使用與「big叢集」相同CPU核心數量的處理器可節省多達75%的功耗。[2]

本組態配置式在2011年10月ARM發表Cortex-A7時首次對外公布,Cortex-A15也能夠與這個架構相容。[3]2012年10月,ARM公司宣布Cortex-A53Cortex-A57(ARMv8)也能與這個架構相容。[4]2014年2月ARM發表Cortex-A17英语ARM Cortex-A17,同一年在Computex 2013上ARM又發表了Cortex-A12英语ARM Cortex-A12,這兩種CPU核心也可用於big.LITTLE配置式中的「big叢集」上(「LITTLE叢集」由Cortex-A7擔當)。[5][6]

2017年5月,ARM發表DynamIQ取代big.LITTLE。[7]與big.LITTLE相比,DynamIQ允許更為靈活的CPU核心配置和更大規模的叢集設計(每個CPU叢集可以有八顆CPU核心)、叢集數量更多(一塊CPU上最大可擴充至32個叢集)、更精確的電源控制(每個核心內有更多的時鐘門控和電壓控制)以及更快速的L2快取存取操作。然而DynamIQ僅適用於Cortex-A75Cortex-A55及往後推出的ARM CPU核心。

運行狀態遷移切換方式

big.LITTLE中,節電的「LITTLE叢集」和高效能的「big叢集」之間有三種切換方式,均要求線上實時操作,除了電路設計以外還需要作業系統的配合得當(一些方式需要依賴作業系統的工作流排程實作)[8][9]

叢集切換

 
big.Little叢集的切換

最早也是最簡單的big.LITTLE組態實作是這種大小核心叢集的切換,高效能CPU核心亦即大核心組成「big叢集」,而低功耗CPU核心亦即小核心,則是組成「LITTLE叢集」。作業系統的排程器在某一時間點上只能見到一組CPU叢集,整個處理器的負載高低變化時,系統會在不同叢集間轉移負載。當負載從一個CPU叢集轉移至另一CPU叢集時,相關的資料、執行狀態等被保存在這些叢集共用的二級快取(L2 Cache)當中,先前運作的CPU叢集斷電關閉然後加電壓開啟另一個叢集。叢集的資料轉移還需要使用快取一致性互聯(CCI)。這種big.LITTLE的第一個實作是三星Exynos 5410 Octa。[10]這種方式的一大缺點是CPU叢集間的切換延時較高,並且CPU核心的利用率較低。

內核內建切換器(CPU遷移)

 
big.Little中以作業系統內核內建切換器實現CPU核心之間的切換

這種切換方式自叢集切換方式演變,主要區別在於每一個叢集對作業系統排程器來說都是可見的。在此種方式中,任務在CPU核心之間切換使用內核內建切換器(in-kernel switcher,IKS),晶片設計上是一個高效能CPU核心和一個低功耗CPU核心組成一個復合叢集,這一個叢集作為一個「虛擬的」核心來供作業系統操作,同一時間點上這一對CPU核心只有一顆在運作,高效能CPU核心僅在有高效能運算需求時才開啟,運算效能需求低時則是只開啟低功耗核心。當虛擬核心內負載在高低之間變化時,先開啟將要切換到的CPU核心,轉移執行狀態,轉移完成後關閉先前運行的CPU核心,由該CPU核心繼續執行先前的處理進程。切換工作需要通過cpufreq框架完成。Linux 3.11內核開始提供了big.LITTLE IKS完整實作所需內核元件模組。

蘋果公司A10 Fusion以及A10X Fusion即採用此種big.LITTLE組態。不過,更複雜多樣的「大小核心」CPU核心分組,也是有可能的,一隻採用IKS方式的處理器上容許一個虛擬核心內有一顆以上的高效能CPU核心或低功耗CPU核心,或者是相同的CPU核心而分成主副CPU核心。輝達Tegra 3 SoC也採用類似IKS切換方式,但Tegra 3上採用的是相同的CPU核心,多個主CPU核心與一個副CPU核心的設計。

異构多處理機(全域任務排程)

 
big.Little異构多處理

異构多處理(heterogeneous multi-processing,HMP)是big.LITTLE組態中最靈活也是效能最強勁的使用模式,在這種組態中,同一時間點上所有的物理CPU核心都是可用的並且可以同時全部開啟使用,也可以將高效能CPU核心全數關閉而只使用低功耗CPU核心。高優先級或者對運算速度吃重的執行緒可以被分派至高效能CPU核心上,而低優先級或對運算速度要求不高的執行緒(如背景任務),則是由低功耗CPU核心負責完成[11][12]

最早的實作是三星電子的Exynos Octa 5420/5422/5430。[13][14]而現時大部分實現big.LITTLE組態的ARM架構相容處理器,多採用這種切換方式。迫於行動裝置對CPU核心規模的控制,蘋果公司的Apple A11也採用此種排程方式。[15]

全域任務排程的優勢:

  • 對各個CPU核心有更細粒度的工作量控制。因為作業系統排程器直接對各個CPU核心分配及搬移任務、降低作業系統內核態的額外開銷而令節電效果和效能相應地獲得提升
  • 相比內核內建切換器(IKS)依賴cpufreq框架來實現,直接使用任務排程器來實現CPU核心的切換來得快,而且更容易實現
  • 更靈活的CPU叢集組合(像是兩個Cortex-A15和四個Cortex A7組成的SoC CPU部分)
  • 相比固定只能使用虛擬核心數量的CPU核心數,如有需要,可以實現SoC內所有的CPU核心一同運作以最大限度發揮SoC的運算效能

任務排程

對於大小CPU核心(叢集)成對配置的,它們之間的切換過程對作業系統來說是透明的,作業系統使用現成的動態電壓與時鐘信號調整(DVFS)功能來實現。作業系統核心現成的DVFS支援(像是Linux核心的cpufreq)將根據負載輕重,從預先設定的一個時鐘信號-核心電壓參數配置表中以合適的參數設定CPU的電壓與時脈,和此前僅需調整核心電壓、時脈的CPU一樣,然而,較低的參數設定則會開啟節電(小)CPU核心,而較高的參數設定則是開啟高效能(大)CPU核心。

另一種相對的,則是所有的CPU核心都呈現給作業系統內核排程器,排程器將依據請求決定由哪個核心執行哪個行程或執行緒。這種排程方式需要非成對配置的CPU核心(叢集),不過成對配置的CPU核心(叢集)也可能允許使用。不過這種排程方式更考驗作業系統內核排程器的調校功力(多核心處理器的效能最佳化),至少當前大多數的硬體中,多核心處理器的結構使用的是對稱多處理器系統,big.LITTLE組態其實也不例外。

參見

  • ARMv7處理器內核列表英语Comparison of ARMv7-A cores
  • ARMv8處理器內核列表英语Comparison of ARMv8-A cores
  • Nicolas Pitre. Linux support for ARM big.LITTLE. LWN.net. 2012-02-15 [2012-10-18]. (原始内容于2012-10-17). 
  • Paul McKenney. A big.LITTLE scheduler update. LWN.net. 2012-06-12 [2012-10-18]. (原始内容于2012-10-22). 
  • Jake Edge. KS2012: ARM: A big.LITTLE update. LWN.net. 2012-09-05 [2012-10-18]. (原始内容于2012-11-02). 
  • Jon Stokes. ARM's new Cortex A7 is tailor-made for Android superphones. Ars Technica. 2011-10-20 [2012-10-31]. (原始内容于2012-12-03). 
  • Andrew Cunningham. ARM goes 64-bit with new Cortex-A53 and Cortex-A57 designs. Ars Technica. 2012-10-30 [2012-10-31]. (原始内容于2012-11-01). 

參考資料

  1. ^ Nguyen, Hubert. . UberGizmo.com. 2013-01-17 [2017-04-26]. (原始内容存档于2015-09-10). 
  2. ^ . ARM.com. [2013-07-25]. (原始内容存档于2012-10-22). 
  3. ^ ARM Unveils its Most Energy Efficient Application Processor Ever; Redefines Traditional Power And Performance Relationship With big.LITTLE Processing (新闻稿). ARM Holdings. 19 October 2011 [2012-10-31]. (原始内容于2018-05-07). 
  4. ^ ARM Launches Cortex-A50 Series, the World’s Most Energy-Efficient 64-bit Processors (新闻稿). ARM Holdings. [2012-10-31]. (原始内容存档于2013-01-09). 
  5. ^ ARM's new Cortex-A12 is ready to power 2014's $200 midrange smartphones. The Verge. April 2014 [2017-04-26]. (原始内容于2017-06-14). 
  6. ^ . AnandTech. April 2014 [2017-04-26]. (原始内容存档于2014-09-11). 
  7. ^ Humrick, Matt. Exploring Dynamiq and ARM's New CPUs. Anandtech. 2017-05-29 [2017-07-10]. (原始内容于2018-06-13). 
  8. ^ Brian Jeff. . ARM Holdings. 2013-06-18 [2013-09-17]. (原始内容存档于2013-09-10). 
  9. ^ George Grey. . Linaro. 2013-07-10 [2013-09-17]. (原始内容存档于2013-10-04). 
  10. ^ Peter Clarke. Benchmarking ARM’s big-little architecture. 2013-08-06 [2013-09-17]. (原始内容于2013-10-17). 
  11. ^ A Survey Of Techniques for Architecting and Managing Asymmetric Multicore Processors (页面存档备份,存于互联网档案馆), ACM Computing Surveys, 2015.
  12. ^ (PDF), ARM Holdings, September 2013 [2013-09-17], (原始内容 (PDF)存档于2012-04-17)  已忽略未知参数|df= (帮助)
  13. ^ Brian Klug. Samsung Announces big.LITTLE MP Support in Exynos 5420. AnandTech. 2013-09-11 [2013-09-16]. (原始内容于2020-11-12). 
  14. ^ Samsung Unveils New Products from its System LSI Business at Mobile World Congress. Samsung Tomorrow. [2013-02-26]. (原始内容于2014-03-16). 
  15. ^ The future is here: iPhone X. Apple Newsroom. [2018-02-25]. (原始内容于2018-04-01) (美国英语). 

外部連結

  • (PDF)

little, 或是由安謀國際科技公司, 提出的异构運算多核心處理器組態結構配置, 在這個組態, 將比較耗電, 但運算能力強的處理器核心組成的, big叢集, 與低耗電, 運算能力弱的處理器核心組成的, little叢集, 結合在一起, 這些處理器核心共用記憶體區段, 並能夠在不同的cpu叢集之間線上實時分派, 切換負載, 這個多核心處理器組態結構運用在行動計算上, 從而能夠做出計算高效能, 但是平均耗電低的多核心處理器, arm的市場資料稱在某些運算操作中這個組態配置相比只使用與, big叢集, 相同cpu核心數. ARM big LITTLE或big LITTLE是由安謀國際科技公司 ARM 提出的异构運算多核心處理器組態結構配置 在這個組態 將比較耗電 但運算能力強的處理器核心組成的 big叢集 與低耗電 運算能力弱的處理器核心組成的 LITTLE叢集 結合在一起 這些處理器核心共用記憶體區段 並能夠在不同的CPU叢集之間線上實時分派 切換負載 1 這個多核心處理器組態結構運用在行動計算上 從而能夠做出計算高效能 但是平均耗電低的多核心處理器 ARM的市場資料稱在某些運算操作中這個組態配置相比只使用與 big叢集 相同CPU核心數量的處理器可節省多達75 的功耗 2 本組態配置式在2011年10月ARM發表Cortex A7時首次對外公布 Cortex A15也能夠與這個架構相容 3 2012年10月 ARM公司宣布Cortex A53與Cortex A57 ARMv8 也能與這個架構相容 4 2014年2月ARM發表Cortex A17 英语 ARM Cortex A17 同一年在Computex 2013上ARM又發表了Cortex A12 英语 ARM Cortex A12 這兩種CPU核心也可用於big LITTLE配置式中的 big叢集 上 LITTLE叢集 由Cortex A7擔當 5 6 2017年5月 ARM發表DynamIQ取代big LITTLE 7 與big LITTLE相比 DynamIQ允許更為靈活的CPU核心配置和更大規模的叢集設計 每個CPU叢集可以有八顆CPU核心 叢集數量更多 一塊CPU上最大可擴充至32個叢集 更精確的電源控制 每個核心內有更多的時鐘門控和電壓控制 以及更快速的L2快取存取操作 然而DynamIQ僅適用於Cortex A75 Cortex A55及往後推出的ARM CPU核心 目录 1 運行狀態遷移切換方式 1 1 叢集切換 1 2 內核內建切換器 CPU遷移 1 3 異构多處理機 全域任務排程 2 任務排程 3 參見 4 參考資料 5 外部連結運行狀態遷移切換方式 编辑big LITTLE中 節電的 LITTLE叢集 和高效能的 big叢集 之間有三種切換方式 均要求線上實時操作 除了電路設計以外還需要作業系統的配合得當 一些方式需要依賴作業系統的工作流排程實作 8 9 叢集切換 编辑 big Little叢集的切換 最早也是最簡單的big LITTLE組態實作是這種大小核心叢集的切換 高效能CPU核心亦即大核心組成 big叢集 而低功耗CPU核心亦即小核心 則是組成 LITTLE叢集 作業系統的排程器在某一時間點上只能見到一組CPU叢集 整個處理器的負載高低變化時 系統會在不同叢集間轉移負載 當負載從一個CPU叢集轉移至另一CPU叢集時 相關的資料 執行狀態等被保存在這些叢集共用的二級快取 L2 Cache 當中 先前運作的CPU叢集斷電關閉然後加電壓開啟另一個叢集 叢集的資料轉移還需要使用快取一致性互聯 CCI 這種big LITTLE的第一個實作是三星Exynos 5410 Octa 10 這種方式的一大缺點是CPU叢集間的切換延時較高 並且CPU核心的利用率較低 內核內建切換器 CPU遷移 编辑 big Little中以作業系統內核內建切換器實現CPU核心之間的切換 這種切換方式自叢集切換方式演變 主要區別在於每一個叢集對作業系統排程器來說都是可見的 在此種方式中 任務在CPU核心之間切換使用內核內建切換器 in kernel switcher IKS 晶片設計上是一個高效能CPU核心和一個低功耗CPU核心組成一個復合叢集 這一個叢集作為一個 虛擬的 核心來供作業系統操作 同一時間點上這一對CPU核心只有一顆在運作 高效能CPU核心僅在有高效能運算需求時才開啟 運算效能需求低時則是只開啟低功耗核心 當虛擬核心內負載在高低之間變化時 先開啟將要切換到的CPU核心 轉移執行狀態 轉移完成後關閉先前運行的CPU核心 由該CPU核心繼續執行先前的處理進程 切換工作需要通過cpufreq框架完成 Linux 3 11內核開始提供了big LITTLE IKS完整實作所需內核元件模組 蘋果公司的A10 Fusion以及A10X Fusion即採用此種big LITTLE組態 不過 更複雜多樣的 大小核心 CPU核心分組 也是有可能的 一隻採用IKS方式的處理器上容許一個虛擬核心內有一顆以上的高效能CPU核心或低功耗CPU核心 或者是相同的CPU核心而分成主副CPU核心 輝達的Tegra 3 SoC也採用類似IKS切換方式 但Tegra 3上採用的是相同的CPU核心 多個主CPU核心與一個副CPU核心的設計 異构多處理機 全域任務排程 编辑 big Little異构多處理 異构多處理 heterogeneous multi processing HMP 是big LITTLE組態中最靈活也是效能最強勁的使用模式 在這種組態中 同一時間點上所有的物理CPU核心都是可用的並且可以同時全部開啟使用 也可以將高效能CPU核心全數關閉而只使用低功耗CPU核心 高優先級或者對運算速度吃重的執行緒可以被分派至高效能CPU核心上 而低優先級或對運算速度要求不高的執行緒 如背景任務 則是由低功耗CPU核心負責完成 11 12 最早的實作是三星電子的Exynos Octa 5420 5422 5430 13 14 而現時大部分實現big LITTLE組態的ARM架構相容處理器 多採用這種切換方式 迫於行動裝置對CPU核心規模的控制 蘋果公司的Apple A11也採用此種排程方式 15 全域任務排程的優勢 對各個CPU核心有更細粒度的工作量控制 因為作業系統排程器直接對各個CPU核心分配及搬移任務 降低作業系統內核態的額外開銷而令節電效果和效能相應地獲得提升 相比內核內建切換器 IKS 依賴cpufreq框架來實現 直接使用任務排程器來實現CPU核心的切換來得快 而且更容易實現 更靈活的CPU叢集組合 像是兩個Cortex A15和四個Cortex A7組成的SoC CPU部分 相比固定只能使用虛擬核心數量的CPU核心數 如有需要 可以實現SoC內所有的CPU核心一同運作以最大限度發揮SoC的運算效能任務排程 编辑對於大小CPU核心 叢集 成對配置的 它們之間的切換過程對作業系統來說是透明的 作業系統使用現成的動態電壓與時鐘信號調整 DVFS 功能來實現 作業系統核心現成的DVFS支援 像是Linux核心的cpufreq 將根據負載輕重 從預先設定的一個時鐘信號 核心電壓參數配置表中以合適的參數設定CPU的電壓與時脈 和此前僅需調整核心電壓 時脈的CPU一樣 然而 較低的參數設定則會開啟節電 小 CPU核心 而較高的參數設定則是開啟高效能 大 CPU核心 另一種相對的 則是所有的CPU核心都呈現給作業系統內核排程器 排程器將依據請求決定由哪個核心執行哪個行程或執行緒 這種排程方式需要非成對配置的CPU核心 叢集 不過成對配置的CPU核心 叢集 也可能允許使用 不過這種排程方式更考驗作業系統內核排程器的調校功力 多核心處理器的效能最佳化 至少當前大多數的硬體中 多核心處理器的結構使用的是對稱多處理器系統 big LITTLE組態其實也不例外 參見 编辑ARMv7處理器內核列表 英语 Comparison of ARMv7 A cores ARMv8處理器內核列表 英语 Comparison of ARMv8 A cores Nicolas Pitre Linux support for ARM big LITTLE LWN net 2012 02 15 2012 10 18 原始内容存档于2012 10 17 Paul McKenney A big LITTLE scheduler update LWN net 2012 06 12 2012 10 18 原始内容存档于2012 10 22 Jake Edge KS2012 ARM A big LITTLE update LWN net 2012 09 05 2012 10 18 原始内容存档于2012 11 02 Jon Stokes ARM s new Cortex A7 is tailor made for Android superphones Ars Technica 2011 10 20 2012 10 31 原始内容存档于2012 12 03 Andrew Cunningham ARM goes 64 bit with new Cortex A53 and Cortex A57 designs Ars Technica 2012 10 30 2012 10 31 原始内容存档于2012 11 01 參考資料 编辑 Nguyen Hubert What Is ARM big LITTLE UberGizmo com 2013 01 17 2017 04 26 原始内容存档于2015 09 10 big LITTLE technology ARM com 2013 07 25 原始内容存档于2012 10 22 ARM Unveils its Most Energy Efficient Application Processor Ever Redefines Traditional Power And Performance Relationship With big LITTLE Processing 新闻稿 ARM Holdings 19 October 2011 2012 10 31 原始内容存档于2018 05 07 ARM Launches Cortex A50 Series the World s Most Energy Efficient 64 bit Processors 新闻稿 ARM Holdings 2012 10 31 原始内容存档于2013 01 09 ARM s new Cortex A12 is ready to power 2014 s 200 midrange smartphones The Verge April 2014 2017 04 26 原始内容存档于2017 06 14 ARM Cortex A17 An Evolved Cortex A12 for the Mainstream in 2015 AnandTech April 2014 2017 04 26 原始内容存档于2014 09 11 Humrick Matt Exploring Dynamiq and ARM s New CPUs Anandtech 2017 05 29 2017 07 10 原始内容存档于2018 06 13 Brian Jeff Ten Things to Know About big LITTLE ARM Holdings 2013 06 18 2013 09 17 原始内容存档于2013 09 10 George Grey big LITTLE Software Update Linaro 2013 07 10 2013 09 17 原始内容存档于2013 10 04 Peter Clarke Benchmarking ARM s big little architecture 2013 08 06 2013 09 17 原始内容存档于2013 10 17 A Survey Of Techniques for Architecting and Managing Asymmetric Multicore Processors 页面存档备份 存于互联网档案馆 ACM Computing Surveys 2015 Big LITTLE Processing with ARM Cortex A15 amp Cortex A7 PDF ARM Holdings September 2013 2013 09 17 原始内容 PDF 存档于2012 04 17 已忽略未知参数 df 帮助 Brian Klug Samsung Announces big LITTLE MP Support in Exynos 5420 AnandTech 2013 09 11 2013 09 16 原始内容存档于2020 11 12 Samsung Unveils New Products from its System LSI Business at Mobile World Congress Samsung Tomorrow 2013 02 26 原始内容存档于2014 03 16 The future is here iPhone X Apple Newsroom 2018 02 25 原始内容存档于2018 04 01 美国英语 外部連結 编辑big LITTLE Processing Big LITTLE Processing with ARM CortexTM A15 amp Cortex A7 PDF 取自 https zh wikipedia org w index php title Big LITTLE amp oldid 73442342, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。