In a hyperthreaded CPU, for each processor core that is physically present, the operating system addresses two virtual or logical cores, and shares the workload between them when possible.
In an hyper threaded environment, For each processor core that is physically present, the operating system addresses two virtual or logical cores, and shares the workload between them when possible.
This allows to decrease the number of dependent instructions on the pipeline. It takes advantage of superscalar architecture (multiple instructions operating on separate data in parallel).