Multi Core CPU to Single Core CPU

G

Guest

Guest
Hi all,

Sorry if this is a dumb question, I am merely a peasant with meager education

I play FSX which as most know is best played on a powerfull single core CPU rather than multicore due to bad mutithreading technique in the code.

Well why do multicore CPU's need to run with multi threading software for maximum efficiency because surely it is more practical to set the architecture so that multi cores are seen and treated as a single core by the application. The multi core CPU should not rely on the software to create the thread, it should itself be responsible for passing the code to the required core as and when required so acting like a single core.

From what I know of my AMD CPU, everything travels through the same L2 cache anyway.

Imagine a single lane highway that has 4 toll booths to manage the traffic so there is not a hold up. The traffic goes to each toll booth depending on how long the queue is at each booth (toll booth = core in this case). That is a perfect system but todays multi core CPU's do not work like that as far as I know but may be wrong.

Today's CPU's are like the traffic system above but the cars do not go to the best toll booth with shortest queue. They go to an assigned booth depending on pre given instructions that are not relevant to the core load (queue). Am I correct?

So why not just have a 4 way switch in the CPU that directs the load to a particular core depending on load rather than waiting on thread instructions? Simples!

Chris
 
I play FSX which as most know is best played on a powerfull single core CPU rather than multicore due to bad mutithreading technique in the code.
Who told you that?

The whole point of multiple cores is to run in parallel. What you are suggesting, I cannot see how it can be done. How exactly is a CPU (a piece of hardware) supposed to do something that software does? A CPU is not computer code.

L2 cache is shared between cores. What does that have to do with what is above?

Imagine a CPU like a highway not a toll booth. Each core is a lane. And the CPU cannot make two cars out of one car.

I don't believe so...

I hope I've helped rather than confused. And I hope someone else answers too because there is a quite a bit I'm not sure about.
 
fsx is one of the most cpu intensive games ever made there are people building dual quad core systems to run fsx
its more you got 4 cars on a 4 lane high way yeah each core may run through the same l2 cache but they are each assigned their own amount of cache depending of what its needed for

 
G

Guest

Guest
hmmm, i wish it was like that but it seems not to be the case. A good example is as mentioned before 'Flight Simulator X' that runs on the first core only unless the Service Pack 1 is installed that updates it to multithreading.

Multithreading is great if done correctly but rarely is. FSX is a good example of multi threading gone bad and it would be better off running without the Service Pack 1 as a single core application (a powerfull single core).

Leaving FSX alone for a moment, I thought the OS kernel would have been responsible for directing threads to the relevant core? Dont quote me on this because my knowledge is limited. Maybe something good will come out of a brainstorm on this subject wherever it may lead

Chris