Hello everybody.
Lately I find very interesting thread in regard to cpu.
Mainly this thread :
IBM unveils Cell roadmap http://www.beyond3d.com/forum/showthread.php?t=36335
SSE4, future processors and GPGPU thoughts http://www.beyond3d.com/forum/showthread.php?t=35968
Future console CPUs: will they go back to OoOE, and other questions. http://www.beyond3d.com/forum/showthread.php?t=33335&highlight=future+of+console+cpu
Assymetric multicore CPUs http://www.beyond3d.com/forum/showthread.php?t=36155
and some anandtech report on valve conference about multithreading (for dummies ...lol)
I have the feeling (more than that in fact ) that i only scratch the surface on this subject.
I've tried to ask some questions in this thread but I had the embarassing feeling to be out of thread...
Hopefully i don't feel alone, and I feel that a non polemic discussion can help a lot of people.
So i will link some wikipedia link on the subject, I guess a lot of people can have interest for
One rule keep the thing "somewhat" simple and everybody is welcome
NB mods sorry I'm not sure to be in the right section, but I guess that the beginner section is not a so wrong place
Here we go :
Most of the modern cpu are superscalar, what does this mean : http://en.wikipedia.org/wiki/Superscalar
What a simd unit ? vector unit?
http://en.wikipedia.org/wiki/SIMD
What a mimd unit ?
http://en.wikipedia.org/wiki/SIMD
What are threads? what 's the difference with processes?
http://en.wikipedia.org/wiki/Thread_(computer_programming)
http://en.wikipedia.org/wiki/Process_(computing)
How the the code is handle?
http://en.wikipedia.org/wiki/Instruction_pipeline
More precisely, what OoE? IoE?
http://en.wikipedia.org/wiki/Out_of_order_execution
Branch is painfull>>speculative execution is your friend
http://en.wikipedia.org/wiki/Speculative_execution
How the code is load? where? cache L1? L2? inclusive? exclusive?
http://en.wikipedia.org/wiki/L2_cache
multicore now :
SMP http://en.wikipedia.org/wiki/Symmetric_multiprocessing
ASMP http://en.wikipedia.org/wiki/Asymmetric_multiprocessing
NUMA http://en.wikipedia.org/wiki/Non-Uniform_Memory_Access
multithreading : http://en.wikipedia.org/wiki/Simultaneous_multithreading
Voila I've a lot to read, now i've try to put thing in way that they make sense :=)
I hope that will help (me first) and will help avoid some stupid confusions ( multithread a work load/ vectorise some code... a workload can be very parrallel and the code of this same workload not easily vectorisable SMP/simd)
Lately I find very interesting thread in regard to cpu.
Mainly this thread :
IBM unveils Cell roadmap http://www.beyond3d.com/forum/showthread.php?t=36335
SSE4, future processors and GPGPU thoughts http://www.beyond3d.com/forum/showthread.php?t=35968
Future console CPUs: will they go back to OoOE, and other questions. http://www.beyond3d.com/forum/showthread.php?t=33335&highlight=future+of+console+cpu
Assymetric multicore CPUs http://www.beyond3d.com/forum/showthread.php?t=36155
and some anandtech report on valve conference about multithreading (for dummies ...lol)
I have the feeling (more than that in fact ) that i only scratch the surface on this subject.
I've tried to ask some questions in this thread but I had the embarassing feeling to be out of thread...
Hopefully i don't feel alone, and I feel that a non polemic discussion can help a lot of people.
So i will link some wikipedia link on the subject, I guess a lot of people can have interest for
One rule keep the thing "somewhat" simple and everybody is welcome
NB mods sorry I'm not sure to be in the right section, but I guess that the beginner section is not a so wrong place
Here we go :
Most of the modern cpu are superscalar, what does this mean : http://en.wikipedia.org/wiki/Superscalar
What a simd unit ? vector unit?
http://en.wikipedia.org/wiki/SIMD
What a mimd unit ?
http://en.wikipedia.org/wiki/SIMD
What are threads? what 's the difference with processes?
http://en.wikipedia.org/wiki/Thread_(computer_programming)
http://en.wikipedia.org/wiki/Process_(computing)
How the the code is handle?
http://en.wikipedia.org/wiki/Instruction_pipeline
More precisely, what OoE? IoE?
http://en.wikipedia.org/wiki/Out_of_order_execution
Branch is painfull>>speculative execution is your friend
http://en.wikipedia.org/wiki/Speculative_execution
How the code is load? where? cache L1? L2? inclusive? exclusive?
http://en.wikipedia.org/wiki/L2_cache
multicore now :
SMP http://en.wikipedia.org/wiki/Symmetric_multiprocessing
ASMP http://en.wikipedia.org/wiki/Asymmetric_multiprocessing
NUMA http://en.wikipedia.org/wiki/Non-Uniform_Memory_Access
multithreading : http://en.wikipedia.org/wiki/Simultaneous_multithreading
Voila I've a lot to read, now i've try to put thing in way that they make sense :=)
I hope that will help (me first) and will help avoid some stupid confusions ( multithread a work load/ vectorise some code... a workload can be very parrallel and the code of this same workload not easily vectorisable SMP/simd)
Last edited by a moderator: