
在閱讀了大量連結後,令我困擾的是 CPU、處理器、核心等簡單定義之間存在如此多的重疊。
https://stackoverflow.com/questions/19225859/difference- Between-core-and-processor
首先我們先明確一下什麼是CPU,什麼是核心,一個中央處理器CPU,可以有多個核心單元,這些核心本身就是一個處理器,能夠執行程序,但它獨立於同一晶片上。
CPU,即中央處理單元,通常被稱為處理器。
那麼是哪一個呢?
CPU(中央處理單元)包含(1-多個)核心。每個核心可以根據超線程技術執行(1-多個)線程 - 它執行實際的計算排序。
那什麼是處理器呢?是指CPU、整個晶片嗎?它是指CPU上的一個核心嗎?多處理器/多核心到底是什麼意思?它們是同義詞嗎?
答案1
是的,處理器是一個通用術語,用於描述任何類型的 CPU,無論核心如何。 CPU也是如此,它並不意味著單核或多核心,可以用來指稱其中任何一個。
中央處理單元 (CPU) 是電腦內的電子電路,它透過執行指令指定的基本算術、邏輯、控制和輸入/輸出 (I/O) 操作來執行電腦程式的指令。至少從 20 世紀 60 年代初起,該術語就已在電腦行業中使用。傳統上,術語「CPU」指的是處理器,更具體地說是指其處理單元和控制單元 (CU),將電腦的這些核心元件與主記憶體和 I/O 電路等外部元件區分開來。
電腦的處理性能透過使用多核心處理器來提高,這本質上是將兩個或多個單獨的處理器(在這種意義上稱為核心)插入一個積體電路中。理想情況下,雙核心處理器的效能幾乎是單核心處理器的兩倍。實際上,由於軟體演算法和實現的不完善,效能增益要小得多,只有 50% 左右。增加處理器中的核心數量(即雙核心、四核心等)會增加可處理的工作負載。這意味著處理器現在可以處理大量非同步事件、中斷等,這些事件、中斷等在 CPU 不堪重負時可能會造成損害。這些核心可以被認為是加工廠中的不同樓層,每個樓層處理不同的任務。有時,如果單一核心不足以處理訊息,這些核心將處理與其相鄰的核心相同的任務。
由於現代 CPU 的特定功能(例如超線程和非核心)涉及共享實際 CPU 資源,同時旨在提高利用率,因此監控效能等級和硬體利用率逐漸成為一項更複雜的任務。
然而多處理器系統則不同。這是指主機板支援 1 個以上處理器(通常是 2 到 8 個 CPU,但一些超級電腦使用特殊硬件,允許在單一主機板上使用更多處理器)的電腦。這裡有一個問題,多處理器電腦可以(並且通常)使用多核心 CPU。例如,我建置了多個多處理器伺服器,其中有兩台 IntelXeon 5560 四核心 CPU。這種特殊的 CPU 提供了一種稱為超線程的技術。超線程是一項實際上將 4 個(四核心)核心分成兩半的技術,這實際上為每個 CPU 提供了總共 8 個核心。由於我們每個 CPU 有 8 個具有超線程的核心,並且系統是多處理器 - 最終結果是一個具有 16 個核心的系統。每個核心都可以獨立於其他核心處理線程,這意味著您比使用單一 CPU 擁有更多的處理資訊的能力。
答案2
處理器是一個很難定義的術語,就像許多單字一樣,它取決於使用它的上下文。
A處理器定義為字典網是
計算設備的關鍵組件,包含解釋和執行輸入設備的電訊號所需的電路
所以從某種意義上來說,一台計算機有很多「處理器」。從為電腦完成大部分「思考」的 CPU 到 GPU(驅動顯示器),從技術上講,所有東西都是處理器。
至於內核,許多現代 CPU(在撰寫本文時)都是由多個處理器組成的。這可以實現更快的效能,因為工作被分散到多個核心之間。中央處理器(中央處理器)只是指作業系統將 CPU 視為一個根據需要處理資訊的實體。
即多核心 CPU 有多個核心(不包括超線程),而單核心 CPU 則不然。
超執行緒完全是一個不同的混亂。
它允許作業系統利用同時運行多個獨立任務的優勢,這通常會產生更高的效能,但並非在所有 CPU 上都可用