So breaking everything down to Assembly instructions.So 1 thread would get 2 pipelines and will be processed by 1 module.
No, Each module has 2 sets of 4 pipelines for a total of 8 (the reason it shows up to the OS as 2 cores). A single thread would use 1 set/4 pipelines. Using 4 pipelines total
If a module was running two threads, each thread would have its own set of 4 pipelines. Using 8 pipelines total.
So if every instruction is given to alternatively divided (Assuming this) between the pipelines so even the single core applications will be processed by 1 module ie 80% the performance of 2 cores.
Tell me I am getting this right or am I completely off track.
If it was running a single thread, it would be 100% of a regular core. If its running 2 threads it would be 80% of two full regular cores.
What you get with a module, 80% performance of 2 full cores. With only 15% more die space as a single core.