Can you summarize the following document?
        
  每個單位時間內,一個單執行管線的CPU只能處理一個執行緒(作業系統:thread),以這樣的單位進行,如果想要在一單位時間內處理超過一個執行緒是不可能的,除非是有兩個CPU的實體單元。雙核心技術是將兩個一樣的CPU放置於一個封裝內(或直接將兩個CPU做成一個晶片),而英特爾的HT技術是在CPU內部僅複製必要的資源、讓兩個執行緒可同時執行;在一單位時間內處理兩個執行緒的工作,模擬實體雙核心、雙執行緒運作。  Intel自Pentium開始引入超純量、亂序執行、大量的暫存器及暫存器重新命名、多指令解碼器、預測執行等特性;這些特性的原理是讓CPU擁有大量資源,並可以預先執行及平行執行指令,以增加指令執行效率,可是在現實中這些資源經常閒置;為了有效利用這些資源,就乾脆再增加一些資源來執行第二個執行緒,讓這些閒置資源可執行另一個執行緒,而且CPU只要增加少數資源就可以模擬成兩個執行緒運作。  P4處理器需多加一個Logical CPU Pointer(邏輯處理單元)。因此P4 HT的die的面積比以往的P4增大了5%。而其餘部分如ALU(整數運算單元)、FPU(浮點運算單元)、L2 Cache(二級快取)並未增加,且是共享的。

  Pentium 4 CPU中,Northwood及其之後推出的版本內建超執行緒技術;而雙核心的Pentium D中也只有EE版提供HT技術。英特爾的Core 2處理器則沒有HT技術。  而在2008年推出的Intel Core i7處理器又支援HT技術,在Nehalem微架構中,Hyper-Threading大舉捲土重來。Intel的Hyper-Threading(又稱同步多執行緒)是善用執行緒平行性的方法,讓單一核心在應用軟體層能執行兩個邏輯執行緒。超執行緒技術在部分型號Intel Core i3/i5/i7/i9處理器中可用。從Kaby Lake Pentium開始,定位低階的Pentium(部分型號)也支援超執行緒技術。

  把執行管線的狀態,想像成流水線,資源A→資源B→資源C,來了兩條資料要計算, 一條需要消耗A的100%→B的50%→C的50%,另一條一樣需要消耗A的100%→B的50%→C的50%, 一條單純的(無HT)的執行管線的資源A需要先運用100%效能把第一條運算完才能再運算下一條,但後面的資源B跟C卻都有50%效能的浪費; 如果把執行管線的資源A,變成兩個,資源B跟C依然只有一個, 那這條管線就可以變成「兩個資源A同時消耗100%效能運算兩條資料,到了資源B跟C階段時,兩條資料再各自消耗50%的效能」, 即達成「不必增加一條完整的執行管線,卻能在一樣時間運算兩條執行緒」  但實際應用時,執行管線不會都是收到這麼完美的需運算資料, 可能會是需消耗「A的10%→B的70%→C的70%」+「A的30%→B的50%→C的70%」+...等多種不同效能需求的需運算資料, 依照檔案的統計數字,整體能夠提升的效能約為5~15%左右,且萬一發生資源互搶的情形時,整體效能反而會下降。  要令電腦支援超執行緒技術,通常需作業系統和硬體的配合。晶片組需要支援具有HT技術之處理器。為此,當時的Intel推出了新的晶片組,i865PE和i875P。要充分發揮超執行緒的效能,使用者要使用Windows 2000之後的作業系統,而Windows XP家用版亦支援超執行緒技術。除了微軟的Windows外,Linux kernel 2.4.x亦開始支援該技術。軟體方面,通常優化多執行緒的程式都可以支援到。早期,遊戲軟體的支援是比較少。但隨著多核心技術的普及,愈來愈多遊戲軟體支援多執行緒的處理器。

  Windows API的GetLogicalProcessorInformation可獲取當前計算機的物理核心數邏輯核心數:  上述程式碼在32位編譯時最多能列舉32個邏輯核心,在64位編譯時最多列舉64個邏輯核心。如果超過64,應該使用 processor group.
超執行緒(HT, Hyper-Threading)是英特爾研發的一種技術,於2002年釋出。超執行緒技術原先只應用於Xeon 處理器中,當時稱為“Super-Threading”。之後陸續應用在Pentium 4 HT中。早期代號為Jackson。