Radiation said:
Thats interesting, i did know some of it before but i still believe it can all be done at the hardware level, like why can't the cores be linked in such a way as to act as a single core?
Well then it might as well not be multi core
Radiation said:
Theres almost always a way to get things to work, i think they either just don't know or can't be bothered to get it working like that yet, perhaps what im asking would require quite a new architecture but im sure it could be done, if not then perhaps they need to come up with superior cpu designs or the programmers should actually make an decent compiler.
Not meaning to be rude, but do you have any programming experience or in depth knowledge of hardware architecture?
I'm afraid it's just fundamentally impossible at a hardware level: the instructions
must be executed in the right order. How do you take a chain of instructions and split it half and half over two cores, while ensuring both that the instructions are executed sequentially
and that each core is always active? You can't.
As Duff-Man said, it must be done at a software level, either by the programmer or by the compiler. Writing a compiler that is intelligent enough to optimise code for multiple cores or CPUs just isn't feasible right now.
chaparral said:
You think they could find some way to link them,so dual cores would work in most games/appz like dual GPU's SLI/crossfire can...
Doesn't work like that. SLi and Crossfire are possible because graphics rendering is not too difficult to parallelise at the logical level. When you have two graphics cards, all you have to do to split the load between them is to assign certain portions of the scene to be rendered to each card. The cards can then just render the portions they've been assigned.
Unfortunately, most processing isn't as simple as this and can't just be easily split between two processors.
A (pretty crap) analogy is ambidexterity: you can write with either hand, which is great if you're writing two different things at once, but you can't write one letter, for example, with both hands, can you? That's because the process of writing something demands that you write the words/letters in the right order, so you can't just do different parts of the letter with each hand.
This same concept applies in exactly the same way to computers: two processors are great if you want to do two different things with them (either different processes or different threads in the same process); they can just happily get on with their own thing. However, you can't have them both try to do the same thing, because it must be done in order.
Bad analogy, I know
