在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ 系統(tǒng)和內(nèi)存架構(gòu)
事件驅(qū)動程序
反應(yīng)式編程
進(jìn)程池
線程
線程池
Python并發(fā)簡介
并發(fā)vs并行
同步線程
調(diào)試線程應(yīng)用程序
進(jìn)程間通信
線程通信
Python并發(fā)編程教程
測試線程應(yīng)用程序
基準(zhǔn)和性能分析
系統(tǒng)和內(nèi)存架構(gòu)
線程的實(shí)現(xiàn)
多進(jìn)程

系統(tǒng)和內(nèi)存架構(gòu)

在設(shè)計(jì)程序或并發(fā)系統(tǒng)時,需要考慮不同的系統(tǒng)和內(nèi)存架構(gòu)風(fēng)格。 這是非常必要的,因?yàn)橐粋€系統(tǒng)和內(nèi)存風(fēng)格可能適合于一項(xiàng)任務(wù),但可能會出錯以適應(yīng)其他任務(wù)。

支持并發(fā)的計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)

1972年,邁克爾弗林(Michael Flynn)給出了用于分類不同風(fēng)格計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)的分類法。 該分類法定義了以下四種不同的樣式 -

  • 單指令流,單數(shù)據(jù)流(SISD)
  • 單指令流,多數(shù)據(jù)流(SIMD)
  • 多指令流,單數(shù)據(jù)流(MISD)
  • 多指令流,多數(shù)據(jù)流(MIMD)。

1. 單指令流,單數(shù)據(jù)流(SISD)

顧名思義,這種類型的系統(tǒng)將有一個連續(xù)的輸入數(shù)據(jù)流和一個處理單元來執(zhí)行數(shù)據(jù)流。 它們就像具有并行計(jì)算體系結(jié)構(gòu)的單處理器系統(tǒng)一樣。 以下是SISD的架構(gòu) -

SISD的優(yōu)點(diǎn)
SISD架構(gòu)的優(yōu)點(diǎn)如下 -

  • 它需要更少的電力。
  • 多核之間沒有復(fù)雜的通信協(xié)議問題。

SISD的缺點(diǎn)
SISD架構(gòu)的缺點(diǎn)如下 -

  • SISD架構(gòu)的速度與單核處理器一樣有限。
  • 它不適合更大的應(yīng)用程序。

2. 單指令流,多數(shù)據(jù)流(SIMD)

顧名思義,這種類型的系統(tǒng)會有多個輸入數(shù)據(jù)流和多個處理單元,這些單元可以在任何給定時間作用于單條指令。 它們就像具有并行計(jì)算架構(gòu)的多處理器系統(tǒng)。 以下是SIMD的架構(gòu) -

SIMD最好的例子就是顯卡。顯卡擁有數(shù)百個單獨(dú)的處理單元。 如果要談?wù)揝ISD和SIMD之間的計(jì)算差異,那么對于添加數(shù)組[5,15,20][15,25,10],SISD架構(gòu)將不得不執(zhí)行三種不同的添加操作。 另一方面,通過SIMD體系結(jié)構(gòu),我們可以添加一個單獨(dú)的添加操作。

SIMD的優(yōu)點(diǎn)
SIMD架構(gòu)的優(yōu)點(diǎn)如下 -

  • 多個元素的相同操作只能使用一條指令執(zhí)行。
  • 通過增加處理器的核心數(shù)量可以增加系統(tǒng)的吞吐量。
  • 處理速度高于SISD架構(gòu)。

SIMD的缺點(diǎn)
SIMD架構(gòu)的缺點(diǎn)如下 -

  • 處理器的核心數(shù)量之間存在復(fù)雜的通信。
  • 成本高于SISD架構(gòu)。

3. 多指令單數(shù)據(jù)(MISD)流

具有MISD流的系統(tǒng)通過在同一數(shù)據(jù)集上執(zhí)行不同指令來執(zhí)行不同操作的處理單元數(shù)量。 以下是MISD的架構(gòu) -

MISD體系結(jié)構(gòu)尚未商業(yè)化。

4. 多指令多數(shù)據(jù)(MIMD)流

在使用MIMD體系結(jié)構(gòu)的系統(tǒng)中,多處理器系統(tǒng)中的每個處理器可以并行地在不同的一組數(shù)據(jù)集上獨(dú)立地執(zhí)行不同的指令集。 與SIMD體系結(jié)構(gòu)相反,單一操作在多個數(shù)據(jù)集上執(zhí)行。 以下是MIMD的架構(gòu) -

普通的多處理器使用MIMD體系結(jié)構(gòu)。 這些架構(gòu)基本上應(yīng)用于許多應(yīng)用領(lǐng)域,如計(jì)算機(jī)輔助設(shè)計(jì)/計(jì)算機(jī)輔助制造,仿真,建模,通信交換機(jī)等。

內(nèi)存架構(gòu)支持并發(fā)

在處理并發(fā)性和并行性等概念的同時,始終需要加速這些程序。 計(jì)算機(jī)設(shè)計(jì)人員發(fā)現(xiàn)的一個解決方案是創(chuàng)建共享內(nèi)存多計(jì)算機(jī),即具有單個物理地址空間的計(jì)算機(jī),該計(jì)算機(jī)可以被處理器擁有的所有內(nèi)核訪問。 在這種情況下,可以有多種不同風(fēng)格的架構(gòu),但以下是三種重要的架構(gòu)風(fēng)格 -

UMA(統(tǒng)一內(nèi)存訪問)
在此模型中,所有處理器均勻分享物理內(nèi)存。 所有處理器對所有內(nèi)存字都有相同的訪問時間。 每個處理器可以有一個私有緩存存儲器。 外圍設(shè)備遵循一套規(guī)則。

當(dāng)所有的處理器對所有的外圍設(shè)備有相同的訪問權(quán)限時,系統(tǒng)被稱為對稱多處理器。 當(dāng)只有一個或幾個處理器可以訪問外圍設(shè)備時,系統(tǒng)稱為非對稱多處理器。


非均勻內(nèi)存訪問(NUMA)

在NUMA多處理器模型中,訪問時間隨內(nèi)存字的位置而變化。 這里,共享存儲器物理地分布在所有處理器中,稱為本地存儲器。 所有本地存儲器的集合形成一個全局地址空間,所有處理器都可以訪問它。

僅緩存內(nèi)存體系結(jié)構(gòu)(COMA)
COMA模型是NUMA模型的專用版本。 這里,所有分配的主存儲器都被轉(zhuǎn)換成高速緩沖存儲器。