超線程技術(shù)是Intel引入的一種同時多線程技術(shù)的形式。這些資源包括執(zhí)行引擎,緩存和系統(tǒng)總線接口。資源共享使兩個邏輯處理器可以更有效地相互協(xié)作,并且使停滯的邏輯處理器可以從另一個邏輯處理器借用資源。在具有超線程功能的英特爾CPU中,一個CPU內(nèi)核(帶有多個ALU)可以在同一時鐘執(zhí)行來自2個線程的指令。兩個線程共享:存儲緩沖區(qū),緩存L1 / L2和系統(tǒng)總線。但是,如果兩個線程在一個Core上同時執(zhí)行,線程1存儲原子值,線程2加載該值,那么該交換將使用什么:共享存儲緩沖區(qū),共享緩存L1 / L2或通常的緩存L3?如果兩個線程來自同一進程(相同的虛擬地址空間),并且來自兩個不同進程(不同的虛擬地址空間),將會發(fā)生什么?Sandy Bridge Intel CPU-緩存L1:32 KB-緩存大小64 B-緩存行大小512行(512 = 32 KB / 64 B)8路64-路數(shù)集(64 = 512行/ 8路)虛擬地址(索引)的6位[11:6]-定義當前設(shè)置的編號(這是標簽)4 K-每個相同(虛擬地址/ 4 K)爭奪同一組(32 KB / 8路)低12位-對確定當前設(shè)置的數(shù)字有效4 KB-標準頁面大小低12位-每個地址的虛擬和物理地址相同
在具有HT的一個Core上執(zhí)行的線程之間的數(shù)據(jù)交換將使用什么?
隔江千里
2019-12-04 15:21:46