Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a laptop with Intel i5 M430 2.27GHz. The CPU has TWO REAL cores but it also has some kind of virtualization so Windows sees it as 4-core.

In a REAL dual core CPU, a single threaded program will run in a single core at 2.27GHz. Right?

My question is, in my 4-core CPU, the same program runs at a speed of 1.13 GHz? (2.27 / 2) I mean, the frequency of each real core is split in two in order to simulate a 4-core CPU?

I need to know for to run a CPU-hungry program at maximum speed. If I run two instances of that program I will finish my data processing two times faster, because I have two real cores. But if I start 4 instances I will finish the processing 4 times faster or is this '2 extra virtual cores' thingy another eye-candy feature from Intel?


Update:

I used CPU Overload to start 2 and 3 very CPU intensive threads. In Resource Monitor the "CPU-Total" graph shows only 50 and respectively 75% utilization.

share|improve this question
add comment

2 Answers

up vote 18 down vote accepted

You have a CPU with hyperthreading technology. You can't change this, but don't worry, you won't have any performance loss; actually it increases your system's performance.

Note that the CPU clock is not equal to CPU performance. The clock is not divided by two for two threads.

Update/conclusion: As already mentioned in the comments, in some (most?) BIOSs it is possible to turn off the hyperthreading. But that will not bring any performance enhancements, due Intels thread management is intelligent enough to use only as much as needed.

share|improve this answer
11  
you can turn off hyperthreading in the bios, if you need to. However, hyperthreading does have a performance advantage in most situations. –  Journeyman Geek May 18 '11 at 10:20
2  
According to Intel, the performance is increased up to 30% by hyperthreading. I did not know that you can actually turn it off, most BIOS does not seem to have this option. –  Michael K May 18 '11 at 10:22
4  
HT was extremely useful with single-core CPUs, but multi-core CPUs find it less useful due to the presence of the other cores. Also, you may get better performance from a single app if HT is disabled since each real core will have more resources available; the only way to be certain is with empirical testing. –  Ignacio Vazquez-Abrams May 18 '11 at 12:20
1  
HT does not halve the CPU cycles devoted to any given thread because it is a technology that allows the physical CPU core to handle more than one thread per cycle. Using some sort of intelligence that determines what part of the core is going to be used by any given thread, HT will run 2 threads in a single cycle on a single core without one interfering with another. –  music2myear May 18 '11 at 16:26
4  
@Altar As a side note, when the CPU is not being used hard enough to require the use of the potential extra resource that hyperthreading provides then Windows 7 will "park" that hyperthreaded core, presumably freeing up all the resources to allow the real cores to work efficiently. I can see this happening on my quad core i7 in the Resource Monitor program as cores #1, #3, #4 and #7 are "Parked" and showing 0% CPU usage while cores #0, #2, #5 and #6 are running. –  Mokubai May 18 '11 at 17:19
show 13 more comments

Hyper Threading (HT) by Intel is designed to allow two threads to run on a single core at the same time. Thus, since you have a dual core CPU with HT, you can run four threads at once. Generally, the clock speed of the CPU is fixed and does not vary based on how many threads are running at the same time. However, Intel recently introduced a function called Turbo Boost which allows the CPU to run at a higher clock speed if not all the cores are being used. Your CPU has Turbo Boost built in so it will run at 2.26 Ghz if both cores are heavily used and 2.53 Ghz if only one core is heavily used. This is all handled automatically and the difference in clock speed is only about 10% so don't worry too much about it. You will be better off making sure that everything else is shutdown freeing up resources for your main process.

share|improve this answer
    
I used 'CPU Overload' to start 1 very CPU intensive thread. In Resource Monitor the graph (the blue line that represents Maximum Freq.) does not jump to 110%. –  Altar May 20 '11 at 9:43
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.