View Single Post
Unread 02-05-2005, 01:38 PM   #14
redleader
Thermophile
 
Join Date: Jun 2001
Location: The deserts of Tucson, Az
Posts: 1,264
Default

Quote:
Originally Posted by leejsmith
why cant they put something into dual core cpu's to handle the work load of both cores without the software needing to be multi thread optimised.
Simple answer: because thats not the way math works.

More complicated answer: Any program running concurrently on more then one processor will have variables that need to be used by more then one processor. Access to these variables needs to be carefully considered, and generally complicated structures are used to avoid conflicts.

A processor that attempted to run a thread on two cores would have to have some way to figure out what the thread was going to do, and it would have to do it before running the program. Theres no way you can get information like that because its only available to the programmer and is lost as soon as (s)he compiles the code.

There are already compilers out that can look for extra thread level parallelism in code, but they work poorly and optimize only the most trivial examples. And of course they do so with the extra high level code and not a binary.
redleader is offline   Reply With Quote