The i7 has hyper threading, which means that while it has 4 physical cores, it has 8 logical cores that software sees as it can run 2 threads per physical core simultaneously. If you use a program like CPU-Z it will show in the bottom right as 4 cores and 8 threads. Windows is stupid and registers the thread count as the number of CPU cores.
 
The i7 supports hyperthreading, which means that each CPU core can run two instruction streams and can therefore be managed as two "logical" CPUs.

So you get four "real" cores and four "virtual" cores, with the virtual cores being able to execute perhaps 20 to 40% of the instructions that a real core can, depending in workload.