首頁  >  文章  >  運維  >  處理器多執行緒有什麼用

處理器多執行緒有什麼用

anonymity
anonymity原創
2019-05-06 17:15:4029630瀏覽

處理器多執行緒的作用:可以為高速的運算核心準備更多的待處理數據,減少運算核心的閒置時間;解決了負載平衡問題,充分利用了CPU資源,提高CPU的使用率;可以同時完成幾件事情而不互相干擾,縮短了處理大量的IO操作時或處理的情況需要花費的大量時間。

處理器多執行緒有什麼用

什麼是處理器?

中央處理器(CPU,central processing unit)作為電腦系統的運算與控制核心,是資訊處理、程式運作的最終執行單元。 CPU 自產生以來,在邏輯結構、運作效率以及功能外延上取得了巨大發展。

中央處理器(CPU),是電子計算機的主要設備之一,電腦中的核心配件。其功能主要是解釋電腦指令以及處理電腦軟體中的資料。 CPU是電腦中負責讀取指令,對指令譯碼並執行指令的核心元件。中央處理器主要包括兩個部分,分別是控制器、運算器,其中還包括高速緩衝記憶體及實現它們之間聯繫的資料、控制的匯流排。電子電腦三大核心零件就是CPU、內部記憶體、輸入/輸出設備。中央處理器的功效主要為處理指令、執行操作、控制時間、處理資料。

在電腦體系結構中,CPU 是將電腦的所有硬體資源(如記憶體、輸入輸出單元) 進行控制調配、執行通用運算的核心硬體單元。 CPU 是電腦的運算和控制核心。電腦系統中所有軟體層的操作,最終都會透過指令集映射為CPU的操作。

中央處理器主要包括運算元(算術邏輯運算單元,ALU,ArithmeTIc Logic Unit)和高速緩衝記憶體(Cache)及實現它們之間聯繫的資料(Data)、控制及狀態的匯流排( Bus)。它與內部記憶體(Memory)和輸入/輸出(I/O)設備合稱為電子電腦三大核心元件。

處理器多執行緒有什麼用

一直有這樣的疑惑,在現如今多核心多執行緒的電腦處理器之下,一個行程中的幾個執行緒是 怎麼運作的呢? (是經系統和JVM分配少量的資源 最後輪流切換 時間調度?還是這幾個線程分配到不同的核上同時運行?)

處理器CPU怎麼處理線程的?

CPU採用的是類似時間片輪換的機制,也就是說同一時間一條程序提出執行請求時,其他程序只能等待它執行完畢,CPU才會處理其他請求。其他進程相當於在排隊等待。當然了,為了避免某條程序無限制時間的執行,一般會限定一個時間,超時 的話,CPU根據一定的線程調度演算法來切換線程。可以看做很多線程在並發執行。其實還是在某一個時間點上只有一個執行緒在運行罷了。

多核心的話,每個核心都是同樣的原理。但是兩個核心就可以透過系統分配資源,同時執行不同的進程,這就更複雜了。

每個行程都有CPU分配的進程號的。避免混亂。

cpu執行緒多有什麼好處

理論上說,一個核心只能對應一條執行緒。而Intel的超線程技術,是利用CPU閒置的資源整合出的虛擬線程,就運算效能來說,是不及物理核心的實際線程好的。但是,卻可以在一定程度上提升處理器並行處理的能力。和亂序執行一樣,超執行緒也是一種提高處理器使用效率的方案。

cpu的多執行緒技術可以為高速的運算核心準備更多的待處理數據,減少運算核心的閒置時間;解決了負載平衡問題,充分利用了CPU資源,提高CPU的使用率。採用多執行緒的方式可以同時完成幾件事情而不互相干擾,縮短了處理大量的IO操作時或處理的情況需要花費大量的時間。

就你舉得例子來說。當一個核心處理A任務時,並不是整個核心都在參與工作,還有很大的閒置資源,而這些資源可以用來對B、C、D中某一個或幾個進行預處理等等工作。但是,超線程技術的一大問題就是和主線程的競爭。例如虛擬執行緒和實體實際執行緒都需要呼叫某一快取單元時,虛擬執行緒就會暫停工作;

但是,如果該單元先於實體執行緒被虛擬執行緒調用,那麼,虛擬執行緒就會影響物理主執行緒的工作,反而降低了執行效率。當下新一代的超線程技術在這個問題上做了比較好的完善,所以效果還是不錯的,儘管無法和物理線程相比。當下的一個雙核心四線程的處理器,例如I3,在平行運算上,能超過物理三核心,和入門級四核心看齊,已經很不錯了。

以上是處理器多執行緒有什麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn