處理器的並行設計思想

2021-06-14 06:41:09 字數 713 閱讀 6563

並行執行是提公升處理器效能的基本思想。

vliw處理器實現並行依賴於編譯器的優化功力,比起 superscalar,vliw處理器結構更簡單。指令的並行化需要特定的編譯器來分析程式的語法樹結構,通過**的行為分析指令的相關性,實現指令的亂序排程。處理器要對迴圈結構進行展開,軟體流水執行。

從底層來看,採用simd技術是讓資料實現並行,通過讓一條指令處理多組資料,減少總的指令數,提高程式的執行效率。

採用多核結構和超執行緒(hyper thread)技術則是從更高層的執行緒級實現並行。

多核結構是為了讓程式分解為多個執行緒放在多個核上並行執行。這就要求程式設計師和並行程式設計工具能夠劃分好程式的執行緒,使核與執行緒間良好匹配,同時解決好多核間負載均衡、資料同步的問題,這樣才能充分發揮多核處理器的效能。

單核時代,主頻很高還能超頻的處理器效能很強,但隨著主頻進一步提高,流水線越來越深,帶來的流水線冒險就越多,亂序執行核心就越複雜。intel的netburst微架構曾想把主頻提高到10ghz,但經驗證發現,主頻太高導致亂序執行核心功耗太大,嚴重發熱也使處理器穩定性降低,於是intel轉向現在的core酷睿微架構,使用多核結構來提公升單位功耗的效能比。

現在pc多見的有雙核、四核及八核,這就要求執行緒的劃分還要有一定的靈活可擴充套件性,程式可以通過處理器核數來自動劃分執行緒數目。

在intel的超執行緒核心中,來自多個不同執行緒的指令也可以一起發射,靈活排程,避免了在分時系統中線程間不必要的等待,從而更大程度上實現多個執行緒的並行執行。

處理器並行設計

處理器就是處理一系列指令和資料的裝置,因此,從指令和資料這兩個維度,可以對處理器的系統結構分類。1966年,flynn將處理器系統結構分成了如下4類 sisd single instruction single data 一次處理一條指令,一條指令處理乙份資料,早期的處理器都是這種形式。simd s...

並行的思想設計模組

最近遇到一兩個問題,包括以前遇到的未得到完美解答的問題,有的從前輩的 中領悟,有的從前輩的直接指導中得到解答。例如,去年跟著一位前輩做乙個工程,而工程中,前輩已對每個模組劃分概念,例如,只作為元素的容器,或者作為元素的行為的。但是在實現過程中,發現從程式流程出發,而非從概念出發,只要往容器類內加乙個...

物理處理器與邏輯處理器

記錄解決方案,自己實際處理過,方案可用,在自己的部落格中記錄一下。cpu central processing unit 是 處理單元,本文介紹物理cpu,物理cpu核心,邏輯cpu,以及他們三者之間的關係。乙個物理cpu可以有1個或者多個物理核心,乙個物理核心可以作為1個或者2個邏輯cpu。物理c...