I have a corei7 intel processore(CPU name: Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz, CPU type: Intel Core Haswell processor).
I wonder the output of CPUID command as it shows 4 cpus each having 2 cores!
Do I have really 4 CPUs?
the out put includes 4 cpus(cpu0 to cpu3)
(multi-processing synth): multi-core (c=2), hyper-threaded (t=2)
This is because I want to use hardware performance counters to test my app. However I am confused with how many cores I have to monitor and profile.

- 111
- 1
- 7
-
You have a CPU with hybrid architecture. You have 1 CPU package, 4 CPU cores, and 8 execution pipelines (threads) - that is, each core can run 2 threads each, to some degree. – antiduh Jan 12 '16 at 15:15
-
1And this question is a better fit for SuperUser, not StackOverflow; this is more-so about understanding the bulk hardware than it is about software. – antiduh Jan 12 '16 at 15:18
-
thanks. so what is 7?! core i7 should have 7 cores, shouldn't ?I will edit the question to reflect the relation to the software I am using:) – user1173470 Jan 13 '16 at 10:39
-
2from where you think i7 has 7 cores? – phuclv Jan 13 '16 at 10:48
-
:)so what is the difference between corei3, corei5, and 7? – user1173470 Jan 13 '16 at 15:53
-
2Those are just names for the processor generation / product line. – antiduh Jan 13 '16 at 16:23
2 Answers
Your Intel i7 4500U is a Dual Core CPU with Hyper Threading support, so you see 4 Cores.
This U stands for ultra book, so this is a CPU which is designed for long battery life for the slim ultra books.

- 27,895
- 5
- 86
- 127
First, as mentioned before, your system is a dual-core with Hyperthreading (Hyperthreading means each core can execute from two simultaneous hardware threads). Therefore, your OS sees 4 "logical CPUs" even though there's only one "physical CPU". Read more below:
If you're on linux, look at /proc/cpuinfo using cat or less as follows:
cat /proc/cpuinfo
That will list all info you need to know. However, to answer your question and to make sense of the information. You need to know that there is a difference between a 'logical cpu' and a 'physical cpu'. A physical CPU is the actual hardware made by Intel for example that's installed in your system. A logical CPU is what is seen by the OS and basically refers to a 'hardware thread' or one processor core. So, let's say you have One physical CPU with 4 cores and each core supports one thread (hardware thread), then your OS will see 4 CPUs and those will be listed in the /proc/cpuinfo having different 'processor' numbers but the same 'physical id' because they all belong to the same physical processor. Another example, let's say that each of the cores above supports two threads (again, hardware threads, not software threads). Then, your OS will see 8 CPUs. If you have dual-socket (multi-node) server with two physical cpus and all the above, then your OS will see 16 CPUs; each 8 of them will have the same 'physical id'.
Info about your system is here: http://ark.intel.com/products/75460/Intel-Core-i7-4500U-Processor-4M-Cache-up-to-3_00-GHz

- 214
- 2
- 5