View Single Post
  #42  
Old 03-27-2011, 01:57 AM
recoilfx recoilfx is offline
Senior Member
 
Join Date: Jul 2010
Posts: 265
Default

Quote:
Originally Posted by Heliocon View Post
Sorry let me rephrase that - In this case mutlicore and multithreading is used to reach the same end result. (I indicated that this was a simplified explanation.). The wiki article is a bit outdated/strange as was noted at its start and its about the wrong type of "multithreading", completely different as it actually states it there in the first line. You are looking for this : http://en.wikipedia.org/wiki/Multiprocessing
Or later in the aricle this: http://en.wikipedia.org/wiki/Simulta...multithreading

You are getting your definitions confused. CPU's can have multiple threads, but thats not what we are talking, because in the case of that wiki we are talking about active and innactive threads. So the cpu performs an action on a threads/process, then jumps and does another action on another thread. It is all done in a serial fashion.
When we refer to cores/threads in the context here we are talking about multiple *Simulatnous* threads. Ie its running 2 threads at once. Classically each CPU can run a single thread (which then jumps from process/thread to thread completing tasks, but it happens so quickly you dont notice that it is running everything on the computer by jumping around). Now if a cpu has multiple threads like a i7 hyperthreaded or a upcoming AMD bulldozer which uses hardwarethreading (its actually routed/processed in the core differently as the threads are manufactured, not simulated) it can run 2 tasks simultaneously. For example it can still have hundreds of proccesses but now you have 2 threads/streams doing the work that 1 did previously (the 2 work both at the same time, so before it might of run: game->steam->internet explorer->OS->game->OS. But with 2 threads it might be: 1:->game->game->game->game. 2:->OS->Internet explored->OS->Steam etc. So it allows a sharing of tasks of the ability to divide tasks up in order to "focus" on a process/thread.
Oops, I guess I did get my definition wrong. I was always under the impression that applications are bound to one processor unless they are multicore aware, even if they are multi threaded. I guess I was wrong!