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 wanted to know what does 2 cores 4 threads mean about a cpu? I am talking about this cpu which i have

http://ark.intel.com/products/47341/Intel-Core-i5-520M-Processor-3M-Cache-2_40-GHz

I initially thought i5 had 4 cores but i think i am wrong. My understanding of a thread is it is a chunk of code that can run simultaneously(concurrently) with other threads. So, what does 4 threads mean in that specs sheet? Is it different from the programmatic threads. Is the number of threads in there different from the program thread that we create. If it has just 2 cores then is it correct that you can only run 2 parallel programs even though it has 4 threads?

share|improve this question
2  
Once you do some background research on en.wikipedia.org/wiki/Hyper-threading it should make better sense to you. The processor you have does indeed have the capability to do 4 instructions at a time. You should understand that even a single core CPU has the ability to run multiple programs. Its just does NOT have the ability to do 2 instructions at a time. You don't seem clear how on a program actually works. –  Ramhound Jan 12 '14 at 0:08
    
@Ramhound You presumably meant 4 instruction streams. Since the i5 is superscalar it can execute multiple instructions in parallel even from a single instruction stream. Simultaneous multithreading allows thread-level parallelism to be converted into instruction-level parallelism, increasing utilization of execution resources. –  Paul A. Clayton Oct 31 '14 at 19:03
    
I minimized my statement the number of instructions per clock cycle is the difference between a Pentium D and 4th Core i5 minus the size of the die, and the power requirements of course (again simplified) –  Ramhound Oct 31 '14 at 20:21

3 Answers 3

up vote 2 down vote accepted

Your i5 has two cores, each core can run two threads because of intel's hyperthreading, making 4 threads, beyond that it switches at high speeds between processes. Here's a nice explation of multithreading if you want to know more, but in essence your CPU can run 4 processes simultaniously, and switch at high speed between processes.

share|improve this answer

I'm not sure about your level of expertise on Computer Architecture, however the Core i5 you've mentioned here implements a form of multi-threading known as Simultaneous multithreading (SMT). Intel's trademark for their implementation of SMT is hyperthreading.

Apart from SMT there are other forms of multi-threading, temporal multi-threading being one. For instance fine grained temporal multi-threading where the processor may switch between different threads every cycle and thus enable pseudo-parallel execution of several programs. Similarly there can be coarse grained temporal multi-threading where a processor may switch between threads when it hits a high latency operation such as a main memory access on the current thread. The exact switch points can vary based on implementation and requirements, such as fairness or real time deadlines.

SMT deviates from the context switch philosophy for multi-threading in that it actually has two or more threads executing on one processor at the same time. While the implementation can vary, the primary goal is to exploit the functional units in the processor which are idling if only one thread was executing, and also to exploit the wide issue superscalar nature of the processor. You can imagine temporal multi-threading as time slicing the processors resources, while SMT as spacial slicing of the resources.

A detailed analysis can be found in Tullsen's 1995 paper:

http://dl.acm.org/citation.cfm?id=224449

share|improve this answer

"If it has just 2 cores then is it correct that you can only run 2 parallel programs even though it has 4 threads?" If it has 2 cores the calculation is divide by 2 = parallelism However if you system has hyper threading it can do the 2 calculation in the same core, why, the same core shows to the OS up as 2 cores...logical cores.

share|improve this answer

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.