View Full Version : Chip rewires itself on the fly
MacBytes
Apr 27, 2004, 09:11 AM
Category: News and Press Releases
Link: Chip rewires itself on the fly (http://www.macbytes.com/link.php?sid=20040427091143)
Posted on MacBytes.com (http://www.macbytes.com)
Approved by arn
stoid
Apr 27, 2004, 09:35 AM
Interesting. It says that the chip uses RISC technology, but the development environments are in Windows XP and Linux. I thought that the Intel/AMD crowd was making CISC chips and the IBM and Moto were the one focusing on RISC for Steve's little brain child.
SiliconAddict
Apr 27, 2004, 11:16 AM
Banta said the chip has demonstrated 300MHz performance, outperforming 2GHz competition.
Ummm Am I reading that right?!?!!? At 300Mhz it was outperforming a 2Ghz chip. HOLY ****!!!!!!!!!!! On second thought its not that impressive esp if its a 2Ghz P4. ;)
idkew
Apr 27, 2004, 01:00 PM
sounds like a cool idea. you have your normal processor doing your normal tasks, and this new processor as your specialized processor, which you allocate towards a specific task (dvd compression... folding...).
i like it.
stoid
Apr 27, 2004, 01:03 PM
sounds like a cool idea. you have your normal processor doing your normal tasks, and this new processor as your specialized processor, which you allocate towards a specific task (dvd compression... folding...).
i like it.
Mmmmm, specialized folding! Finally I can do a tinker in under a week and a half! :D :p ;) :rolleyes:
shamino
Apr 27, 2004, 01:31 PM
Ummm Am I reading that right?!?!!? At 300Mhz it was outperforming a 2Ghz chip. HOLY ****!!!!!!!!!!! On second thought its not that impressive esp if its a 2Ghz P4. ;)
Well, for one particular test suite (http://www.stretchinc.com/products_benchmarks.php) designed to evaluate suitability for telecomm applications. They loaded key parts of the suite into the ISEF (See the product brief (http://www.stretchinc.com/products_s5000.php) for a definition) to hit those numbers. Note that when they don't do this (and only use the factory-provided instructions), they rank below all other 300MHz chips.
Based on this, I would assume, that this kind of chip will not help a general-purpose computer very much. One would not want to reconfigure the ISEF every time you context-switch between applications (this would take way too much time), so whatever code it has would only be loaded/unloaded by the OS itself (probably only once, at boot time). If you load it with special-purpose code (like a DVD codec), then it won't help other kinds of applications. If you load it with general-purpose code, then you will probably lose most of what makes the chip special.
In the embedded world, however, this chip will be incredible. In those kinds of applications (where the CPU typically only runs one program), you can load your core logic into the ISEF. Typically, if you have something that is too complex to implement in software, you have to add a coprocessor (a DSP, an FPGA or a custom ASIC). But adding coprocessors is expensive, both in terms of money, and in terms of real-estate on a circuit board. With Stretch's chip, you can program the ISEF, gaining many of the advantages of a custom coprocessor at a lower cost.
neonart
Apr 27, 2004, 11:13 PM
Great explanation there. Almost lost me.
I wonder if this chip can be used in a PCI Express board for example, and have it do specialized tasks like Video or Audio Compression. Or maybe for 3D rendering, or any other task for one program in particular.
Software Companies could sell "code" for these boards that help their own software. Maybe these boards could reset themselves to re-code while the rest of the system is still on .
< the following is total gibberish based on my imagination > :D
Here is an example of how I think this could be used:
Someone has a G5 setup and they do tons of Maya 3-D rendering which sucks up alot of CPU. Sometimes the do alot of FC rendering. Sometimes Renderman. They also use this machine to do other tasks like email, music etc. They install one of these cards and now before they start Maya or Renderman, they reset the card with the Code for that App. Their rendering is super fast and they can use the rest of the G5's power for other, less intensive tasks... Kinda like installing Nitrous Oxide on your computer- make it fast when you need it to be.]
shamino
Apr 28, 2004, 10:22 AM
Here is an example of how I think this could be used:
Someone has a G5 setup and they do tons of Maya 3-D rendering which sucks up alot of CPU. Sometimes the do alot of FC rendering. Sometimes Renderman. They also use this machine to do other tasks like email, music etc. They install one of these cards and now before they start Maya or Renderman, they reset the card with the Code for that App. Their rendering is super fast and they can use the rest of the G5's power for other, less intensive tasks... Kinda like installing Nitrous Oxide on your computer- make it fast when you need it to be.]
This is definitely a possibility. Sort of like dynamically adding and removing a hardware corprocessor card without rebooting.
You'd need a robust set of APIs in the system software so that applications can detect whether the ISEF has the code or not (so an application can fall back to standard code if it's missing), and the OS would have to implement some kind of locking to make sure it isn't unloaded while a program is using it. But such a situation is definitely a possibility.
But for this to work, the rest of the chip is going to have to be built to provide the kind of performance we've come to expect from traditional high-end CPUs (like Power PC and Intel/AMD chips.) As a main CPU, 300MHz just won't cut it these days.
But it is an interesting concept, nevertheless.
MacCoaster
Apr 28, 2004, 07:52 PM
Interesting. It says that the chip uses RISC technology, but the development environments are in Windows XP and Linux. I thought that the Intel/AMD crowd was making CISC chips and the IBM and Moto were the one focusing on RISC for Steve's little brain child.
Well, modern x86 like the newer Pentiums and the AMD Athlon are a hybrid RISC-CISC processor, which only furthered the complications of the x86 architecture, as the whole purpose of RISC is to reduce instructions and break them down into simpler parts.
shamino
Apr 29, 2004, 10:57 AM
Well, modern x86 like the newer Pentiums and the AMD Athlon are a hybrid RISC-CISC processor, which only furthered the complications of the x86 architecture, as the whole purpose of RISC is to reduce instructions and break them down into simpler parts.
Ah, religious arguments. As if anybody really cares whether their chip is RISC, CISC or made out of green gelatin. As long as it runs the apps you want at the speed you want, nothing else really matters.
As for what x86 chips do, its far more complicated than what you describe. The Athlons, for instance have a strict RISC core, with x86 emulation firmware layered over it. Modern Pentiums aren't (yet?) doing this, but they've reduced the cycle times of the most common instructions down to one clock, so the result is effectively the same. Then there's also chips like Crusoe which have firmware-loadable microcode to (theoretically) emulate any machine language you like, layering it all over their own RISC-like core.
But it's all irrelevant unless you're a chip designer or a religious fanatic. The rest of us only care that it runs our apps at a good speed.
stoid
Apr 29, 2004, 11:14 AM
I know basically nothing about chip architecture, but do I have this straight?
So the universality of the modern computer CPU causes it to be rather inefficient. Previously we've been able to fabricate specialized chips that are far more efficient, but those chips were static. This chip is different because it can be re-arranged so that it can be specialized for different tasks at different times. I thought I read somewhere that specialized chips can handle encryption in a few minutes that a standard chip would take 100 trillion years (or some ludicrously long time) to process. If this IS the case, then I do see a great potential for this chip to be used for in special upgrade cards. You'd have a good deal of latency as the chip is reconfigured, but after that, it would FLY!
Compare it to this: Printer 1 will start printing immediately, but at only 5 ppm. Printer 2 will have a latency of 5 minutes before it starts to print, but once it gets going, it'll run at 100 ppm. If you print single pages, you want number 1, but if you print novels, you want to go with printer number 2.
shamino
Apr 30, 2004, 10:07 AM
So the universality of the modern computer CPU causes it to be rather inefficient.
That's one way of putting it. More accurately, a general-purpose CPU has to try to be all things to all people. It must be very good at a wide variety of different kinds of operations. Since there's only so much silicon you can pack into a chip before it becomes to big/hot/expensive to use, you have to make trade-offs.
Previously we've been able to fabricate specialized chips that are far more efficient, but those chips were static.
More or less. Some good examples of these are the GPU chips on modern video cards or the external math co-processors and PMMU chips that were used in previous-generation computers.
In general, manufacturers today use three kinds of chips for these:
DSPs: A Digital Signal Processor is (in greatly simplified terms) a math coprocessor designed around high-end mathematics. They can typically do things like Fourier Transforms and other complicated things with single instructions (but not in one clock cycle, obviously.) The mix of instructions is hardwired into the chip, and is usually tailored to audio and video signal processing requirements.
ASICs: An Application Specific Integrated Circuit is a chip custom designed for one application. Some examples include GPUs on video cards, forwarding chips in high-end routers, and encryption chips.
FPGAs: A Field Programmable Gate Array is a chip full of undifferentiated logic gates. The interconnections between these gates can be programmed on the fly, allowing the chip to do whatever the programmer wants. These are often used instead of DSPs and ASICs, because upgrades don't require chip replacement. The downside is that they are larger and consume more power than DSPs and ASICs. They also can't hold as many gates as an equivalently-sized DSP/ASIC, and some algorithms can be difficult to implement on some kinds of FPGAs.
This chip is different because it can be re-arranged so that it can be specialized for different tasks at different times.
Bingo! From the product's description, it appears to be something like an FPGA and a general-purpose CPU on the same chip. But they also describe some functions that would be very difficult if that was all they did, but this is probably a good enough description for people who won't actually be programming it.
I thought I read somewhere that specialized chips can handle encryption in a few minutes that a standard chip would take 100 trillion years (or some ludicrously long time) to process. If this IS the case, then I do see a great potential for this chip to be used for in special upgrade cards. You'd have a good deal of latency as the chip is reconfigured, but after that, it would FLY!
I don't know about that kind of ratio (a few minutes to trillions of years would be a big much for any kind of specialized chip!) But it has always been the case that operations implemented in hardware run faster than software implementations. If for no reason beyond the fact that each instruction of software takes about one clock cycle to execute, but a good hardware implementation can perform many operations in one clock cycle.
You may have been thinking about quantum computing. This is still (mostly) in the realm of theoretical work, but the theories say that quantum processors could provide those kinds of (trillions-to-one) speedup. Because quantum algorithms process all possible solutions simultaneously, or something along those lines. But I know very little about this subject beyond what gets filtered down into the opinion columns of programming magazines.
Compare it to this: Printer 1 will start printing immediately, but at only 5 ppm. Printer 2 will have a latency of 5 minutes before it starts to print, but once it gets going, it'll run at 100 ppm. If you print single pages, you want number 1, but if you print novels, you want to go with printer number 2.
Not a bad analogy. In the case of an FPGA, the chip is usually programmed once at boot-time and is never reprogrammed again, and programming takes a few seconds (and the time-scale of operation taking miliseconds), but your description gets the point across pretty well.
vBulletin® v3.6.10, Copyright ©2000-2009, Jelsoft Enterprises Ltd.