liolio
04-Dec-2006, 23:36
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 :oops:) 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_%28computer_programming%29
http://en.wikipedia.org/wiki/Process_%28computing%29
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 :oops:) 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_%28computer_programming%29
http://en.wikipedia.org/wiki/Process_%28computing%29
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)