hello all, i have some questions concerning multi core processors which i couldnt find the exact answer for them ,
i would appreciate it if any of you guys answer my questions or direct me to find my answers .
ok .
how is the architecture of a typical multi core cpu ? i mean suppose we have a quad core cpu,
does this cpu have 4 ALU ? 4 CU ? inside itself ?(do we have these stuff for each core? )
or no there is only one ALU and one CU for all of the cores ?
in multi core cpu's , are each core a complete standalone cpu or not? its just lets say a part of a typical cpu of some kind?

what about executing an instruction ?
how does it happen on a multi core cpu? i mean suppose we have a program, how does a cpu know which core should manipulate that program( or thread/ ) ? is it done by operation system or no there is sth in the multi core cpu's which actually do these stuff (when we have a program or bunch of programs which wants or want to execute ,that specific part actually direct them to use core x for example ?

suppose we have couple of programs which are to execute and awaits the cpu to be executed, are these applications going to be executed on one core ? or they are all eaqually disrebuted on all cores?
suppose we have 4 programs and we have a quad core cpu , what happens then in this scenario ? are they going to uttelize the whole 4 cores ? or no / ? they would just use two cores (by the help of using threads ) ? or on one core again by the help of (threading on that core)

i would be grateful if anyone answer any of my questions . or atleast direct me to a place which i can read and find out the information im seeking.
thankyou in advance