
But since this is shared between both cores, there are greater risk for a prediction fail. Bulldozer is also a fairly long architecture, so already here you will need a good branch predictor. SMT is almost purely a software implementation, only few changed are made to the architecture itself (like improved fetch, more registers and so on).īulldozer is sharing the frontend (branch predictor, fetch and decoders). With SMT, you have another thread running, where both threads are sharing all the resources dynamically. SMT (hyper-threading) is in use because newer architectures have such a wide execution stage, that it is hard for a single thread to successfully utilize all the resources. Okay, just because I don't want to play this game much further I will go slightly more into details. On INTEL side you have a dedicated FPU per core, and in HT chips you have 2 pipelines conecting the core to the FPUĮx: 4670K : 4 cores, 4 FPUs, 4 pipelines= 4 cores/ 4 treadsĮx: 4770K: 4 cores ,4 FPUs, 8 piplelines= 4 cores/ 8 treads you have 2 fisical cores in each BD/PD cluster that shares a comun FPU, and that is the main reason for poor IPC in BD/PD chips The 4770k doesn't have additional "data pipelines". SMT (hyper-threading) is almost fully a software implementation, where CMT is almost a hardware implementation.Įxample The 4670k is an 4770k with an defective 元 cache. What exactly do you mean with "data pipelines"?

Intel cores, are fully cores, just like jaguar cores. The front end and the I/O is what is causing the bad IPC. No, it is not 2 physical cores in the module. The core share certain things like the front-end (branch predictor, fetch and decoders) and the SIMD (FPU). Or you could look at it the other way around and say it is an regular core with duplicated components like integer pipelines and I/O pipelines (steamroller added additional decode pipelines).

The bulldozer family are using a core technology called CMT (cluster core, essentially what AMD calls an module).ĬMT is basically fusion two cores together, and removing the redundant parts.
