Associate
id be curious to see what kind of commercial speeds a 140W rated 45nm sempron could do...
Please remember that any mention of competitors, hinting at competitors or offering to provide details of competitors will result in an account suspension. The full rules can be found under the 'Terms and Rules' link in the bottom right corner of your screen. Just don't mention competitors in any way, shape or form and you'll be OK.
On topic.
.Net framework 4.0 has native support for data parallelism. Far as I can tell it's following a SIMD model (Single Instruction Multiple Data). The parallemism everyone is talking about in this thead is MIMD (x86 instructions).
BTW SIMD is relative easy todo in parallel and is not new (1977 Star Wars special effects Gray supercomputer), also your graphics cards are based on SIMD, hense why so many cores. MIMD is very difficult to spread accross cores.
Question? Does anyone know how AMD is getting threads working on multiple cores (Bulldozer). I'm very interested to know how they are doing it, but could not find any technical artical.
i wonder if an OS can be coded to use a multicore cpu as a single core cpu, so when you boot up into windows or apple OS and when you launch a program that only uses 1 thread that can be spread across each core.
There was an article talking about this, I remember a guy from Microsoft talking about the need for OS' to utilise multiple cores better.
The move towards effective multi-core application processing will not be linear. When you can code for two cores, that breakthrough over with, four isn't so hard, then six, so on. When you have apps that can make proper use of multiple cores, I expect that sheer MHz will become an old fashioned idea very quickly.
The move towards effective multi-core application processing will not be linear. When you can code for two cores, that breakthrough over with, four isn't so hard, then six, so on. When you have apps that can make proper use of multiple cores, I expect that sheer MHz will become an old fashioned idea very quickly.
One way of achieving this is by using 'out of order execution' where an scheduler looks at batches of instructions that can be processed independent of any instructions prior to them. These batches are executed out of order and the results buffered, ready to be used when those instructions would normally have been executed.
Ah ok, I was thinking more in terms of future application development rather than the native hardware facilitation you describe. Ie, For regular applications programming, it is common to have a "main" thread spawn lots of "worker" threads to action specific tasks. The OS will then allocate each worker thread to the most available core, thus making better use of a multi core environment. It certainly adds an extra layer of complexity to application design but it's still something I expect to improve in the not too distant.
.Net 4 framework does have support for multi core programming, however it's SIMD (Single Instruction Multiple Data) vector style processing, not MIMD. MIMD over multiple cores is the next big goal.