View Single Post
Old May 10th, 2008, 01:27 AM     #7 (permalink)
carl33p
分かりますか。
 
carl33p's Avatar
 
Join Date: Feb 2006
Location: Gville, FL
Posts: 7,126
Blog Entries: 9
Send a message via AIM to carl33p
A pretty difficult question. Proly cant be answered simply since there are so many techniques used in modern day processors. Im also note sure on what level you are wanting information, at the high-level programming stage or the lower end.

I only have an understanding of a basic MIPS processor, so Im just going to take some shots in the dark.
The actual cores do not need to communicate with each other. They simply execute the instructions which are fed to them individually. For the applications that do utilize more than a single core, isolated subsystems are assigned to each indivual core.

Quote:
It's my belief that the OS chooses a core to execute a thread (if more than 1 thread exists)
I think that your assumption about the operating system choosing the cores is close to correct and would refer to multithreading, but it can also happen at the hardware level.

Quote:
then the core executes the instruction without ever "communicating" with the other core.
There wouldnt be a reason for the cores to communicate with each other within a single instruction. The clock rate would become significantly slower if data had to be transfered back and forth across cores.


Ive tried researching the subject some, but it becomes very complicated. The subject tangents off into hardware, operating systems, programming, etc. But it seems right to assume that L2 cache plays the biggest role in the interconnect between the two cores.

Last edited by carl33p : May 10th, 2008 at 01:29 AM.
carl33p is offline   Reply With Quote