SharkyForums.Com - Print: Future of CPUs
|
Future of CPUs
|
|
By phoen8x
|
October 22, 2001, 08:45 AM
|
While all the Intel and AMD are pushing for faster CPUs, there surely will be a limit on how fast the silicon can be pushed. Why doesn't anyone work on a slower and less complex chip that will work in parallel. When I mean parallel I mean asymatrically, any number of them will work together. Like a distributed system but in a smaller scale, on one motherboad only. I know that they already exist in mainframes costing millions, but if Intel enters the same market the price will surely fall. I think the problem we have today is that people set out to design the fastest CPU then they go write compilers for it. Why not write up the compiler with parallelism designed from scratch then design CPUs optimised for this compiler? Then we will not have a problem with programs not taking advantage of CPU features and end up with codes that can not be executed in parallel. This is not highly technical but its a paradigm shift for the highly technical field. Can someone in the industry explain why this is not the case? Apart from Microsoft will not be happy about cos they dont get to control us any more.
|
|
|
By DeadKen
|
October 23, 2001, 06:12 PM
|
Parallel programming is very hard to do in most real applications.You either spend so much time synchronizing data that you lose are benefits or spend three quarters of your life debugging the applications. Your normal C program is hard to get much parallel processing out of, though there has been work on this subject for many years. Some applications, such as Image Processing is fairly straight forward, since you can divide the image up and distribute the chunks, but most applications aren't that straight forward.
|
|
|
By [C]
|
October 23, 2001, 08:37 PM
|
not only that, but the average consumer market does not strive for this type of technology requirements on the level of the average home user. So it would not as beneficial for the top dog processor companies to invest as much effort into something that would not have as much following support by the application market on the same level.does what Im trying to say make sense?
|
|
|
By 3dcgi
|
October 23, 2001, 09:57 PM
|
It is very hard to make code execute in parallel so it is easier to make faster single processor chips. Not to mention you need twice the number of execution units for a chip with two cores.Think about the common if-then-else construct. The program can't know whether it should do the then or the else until the if is finished. Sure it could do both the then and else commands, but that requires more hardware. Instead processors will make a best guess and choose one. If it guesses wrong the pipe will be flushed and the other branch will be executed.
|
|
|
By idris5
|
October 24, 2001, 03:58 AM
|
A significant factor that blocks the introduction of such systems is that there is almost no market for home PC's that are built on multiple processors - simply because no-one needs the performance.Even in the work environment, about the only people who need fast computers are people who do real time graphics work, since almost all other computationally intensive tasks are done remotely on some kind of cluster. As for Intel entering the market, well they are already there - however a 6 Xeon 3 with 2-MByte of cache linux box costs in the region of around $30,000 so as you can imagine, the cost is a tad prohibitive!
|
|
|
By DeadKen
|
October 24, 2001, 08:41 AM
|
quote:Originally posted by idris5: A significant factor that blocks the introduction of such systems is that there is almost no market for home PC's that are built on multiple processors - simply because no-one needs the performance.Even in the work environment, about the only people who need fast computers are people who do real time graphics work, since almost all other computationally intensive tasks are done remotely on some kind of cluster. I would disagree that you should focus only on the home market. The microprocessor market is very large and diverse, ranging from the low volume - high dollar processors (I have heard that Intel built a designed and built special Micro for an experimental aircraft, volume ~4, price $$$$$$$$) to the high-high-high volume - low low low price processors (Pic, etc...). I really think its the programming models and memory access problems which keep this from becoming a realistic alternative. Though, if you look at the embedded marketplace, there is definitely a shift toward multi-processor designs. Of course here, every micro is doing something different.
|
|
|
By Marsolin
|
October 24, 2001, 10:35 AM
|
quote:Originally posted by phoen8x: While all the Intel and AMD are pushing for faster CPUs, there surely will be a limit on how fast the silicon can be pushed. Why doesn't anyone work on a slower and less complex chip that will work in parallel. When I mean parallel I mean asymatrically, any number of them will work together. Like a distributed system but in a smaller scale, on one motherboad only. I know that they already exist in mainframes costing millions, but if Intel enters the same market the price will surely fall. I think the problem we have today is that people set out to design the fastest CPU then they go write compilers for it. Why not write up the compiler with parallelism designed from scratch then design CPUs optimised for this compiler? Then we will not have a problem with programs not taking advantage of CPU features and end up with codes that can not be executed in parallel. This is not highly technical but its a paradigm shift for the highly technical field. Can someone in the industry explain why this is not the case? Apart from Microsoft will not be happy about cos they dont get to control us any more.I'm surprised no one mentioned it yet, but you have basically just described part of the impetus behind the development of Itanium and EPIC. x86 wasn't thought to be parallel enough and it was looking ever more difficult to advance the architecture. History has thus far proven that false though. The other part of the problem was mentioned is that it is much easier to do things serially. Only a small number of activities lend themselves to parallelism and it is usually more work to achieve. If enough performance can be garnered from single threads on highly clocked processors then the motivation to move to something different will be lacking for most software developers. I expect we will see a change to more multi-threading and intruction level parallelism in the future, but it will be a gradual process and the compilers will have to do most of it on their own. I don't envy them that task.
|
|
|
By idris5
|
October 24, 2001, 02:57 PM
|
quote:I would disagree that you should focus only on the home market.For low cost solutions you have to - no matter how much marketing Intel do, they are never going to sell a $30,000 computer to the home market. By low cost solutions, I mean any PC in the sub $2,000 bracket - which pretty much excludes all true multiprocessor systems (by that I mean ones with a memory sub-system to match the increased BW requirements of multiple processors). quote:Though, if you look at the embedded marketplace, there is definitely a shift toward multi-processor designs. Really? Who? I'm curious to what you would describe as an 'embedded processor'. To my knowledge the only 'embedded' company who are doing anything with mulitprocessors is Transmeta (rackmounted server processors) - and I refer to Transmeta as an embedded processor design company in the very loosest of terms (since their processors IMO aren't suited to the embedded world). None of the other traditional areas for embedded processors need the kind of power that multiprocessors can provide. Indeed these areas rate power and size over overall performance and since the processors that cater to these attributes have relatively low Tx counts compared to a desktop processor, their performance could be increased if you threw a few more Tx's at the problem. There is certainly no need to go to the inefficient world of multiprocessors in embedded computing yet - but I guess you have a different interpretation of embedded to me [Edit] quote:I have heard that Intel built a designed and built special Micro for an experimental aircraft, volume ~4, price $$$$$$$$ I'd be surprised if that was the case. I believe one of the aircraft currently going into pre-production uses the Intel i960 processor, which Intel were about to EOL - but they agreed to continue making until 2004 and produce enough stocks to see the aircraft into the future. Military projects tend to rely on current (at the time) silicon technology which is reliable. Due to the length of time it takes to design and flight prove a modern aircraft this inevitably means the electronics technology in any piece of defence kit is hopelessly antiquated by the time it enters into service. Similarly with space equipment, the reliance on older process technology is attributable to the resistance to the effects of cosmic radiation (a 0.18u processor would die in the radiated environment of space whereas a 0.5u pentium would be fine). Indeed, IIRC the service mission to the hubble space telescope to replace the processor was refered to as the most expensive 386 to 486 upgrade in history
|
|
|
By DeadKen
|
October 24, 2001, 03:09 PM
|
quote:Originally posted by idris5: [b] Really? Who? I'm curious to what you would describe as an 'embedded processor'. To my knowledge the only 'embedded' company who are doing anything with mulitprocessors is Transmeta (rackmounted server processors) - and I refer to Transmeta as an embedded processor design company in the very loosest of terms (since their processors IMO aren't suited to the embedded world). Your thinking WAY too large guy. I'm talking micro-controller or micro-processor/dsp combos. Its cheaper and easier to add something like a PIC or an AT90 to run the whole front panel of a device then to build all the glue logic and drive it from the central processor. Of course, you could say, PCs have had such arrangements for a long time. 8031's drove keyboards etc. More and more servers are doing lots of packet processing on their NICs. Its a lot easier to filter them their and not bother the CPU with them.
|
|
|
By idris5
|
October 24, 2001, 03:18 PM
|
quote:Your thinking WAY too large guy.I'm talking micro-controller or micro-processor/dsp combos. Look at the disclaimer after my signature and ask yourself if I know anything about embedded microprocessors.
|
|
|
By DeadKen
|
October 24, 2001, 09:41 PM
|
quote:Originally posted by idris5: Look at the disclaimer after my signature and ask yourself if I know anything about embedded microprocessors.Mine wasn't a critism, just an observation on the state of the marketplace. Personally, I am not sure exactly what to make of your signiture. Heck. my opinion in not necessarly the opinion of Apple, Intel, Microsoft or the US Dept of Defense..... I'm just trying to point out the way the marketplace seems to be headed. A lot less special function peripheral chips and a lot more programmable microcontrollers. Look at TI's OMap, or Intels IXP1200 for example. TI's OMap has 2 DSPs and Micro (an ARM I believe). Intels IXP1200 has a XScale surrounded by 6 micro-engines. Is this the same programming model as was originally asked about? No, of course not. Is this practical parallelism, I believe it is.
|
|
|
By idris5
|
October 25, 2001, 03:43 AM
|
The Xscale is an extreme example at the top end of the market (and I don't know if you are aware but it is an ARM architecture processor). However, one market that the Xscale is well suited too is the PDA market and here it is far more suitable to have a single/few low power processor(s) controlling every part of the device than a processor for every function (display, keypad, wireless etc) since the sum of lots of little processors power consumption is greater than one or two large processors.The majority of medium performance embedded processors (i.e. for cellphones, hand-held game machines, minidiscs/mp3 players, digital cameras etc) are several years old and have at most a couple of million transistors (including cache). These applications from a performance perspective could be more easily enhanced by increasing the transistor count through lengthening the pipeline and increasing the clock rate. Concerns about power consumption and area in these mobile devices automatically favour one low power embedded processor. The few medium performance areas that do use multiple processors are safety critical areas, like cars where you may not want the same processor that controls the throttle to control the brakes. You are correct to highlight NIC's and I would add sound cards as applications where multiprocessing occurs. However, I would call it distributive processing rather than multiprocessing and to a degree these applications have always had some kind of processing requirement, it has simply been increased more recently. Indeed, the main reason for the increase in power, IMHO, is that the systems contain products from many different companies who purposely increase the performance of their component (whether it needs it or not) simply to differentiate themselves from other companies in the marketplace. At the low end of the market (as you mentioned, PIC's, Z80's 68K's etc) again I would call this distributive processing rather than multiprocessing, since multiprocessing, to me, suggests breaking a job too large for any single processor to take care of into smaller parts for multiple processors. Clearly in the majority of places where lots of Z80's/PIC's etc are used, an ARC/MIPS/ARM core could be used in place of all of them but it isn't practical purely from the cost-of-redesign or time perspectives rather than performance capability and issues like power consumption and PCB size are not critical. [edit] quote:I'm just trying to point out the way the marketplace seems to be headed. A lot less special function peripheral chips and a lot more programmable microcontrollers. I would contend that the marketplace is heading towards system on a chip and in this environment it is simple to have a single processor that controls multiple special function peripheral blocks that communciate with it using a common bus architecture.
|
|
|
By Moridin
|
October 25, 2001, 11:08 AM
|
quote:Originally posted by idris5: [b] Really? Who? I'm curious to what you would describe as an 'embedded processor'. To my knowledge the only 'embedded' company who are doing anything with mulitprocessors is Transmeta (rackmounted server processors) - and I refer to Transmeta as an embedded processor design company in the very loosest of terms (since their processors IMO aren't suited to the embedded world). None of the other traditional areas for embedded processors need the kind of power that multiprocessors can provide. Indeed these areas rate power and size over overall performance and since the processors that cater to these attributes have relatively low Tx counts compared to a desktop processor, their performance could be increased if you threw a few more Tx's at the problem. There is certainly no need to go to the inefficient world of multiprocessors in embedded computing yet - but I guess you have a different interpretation of embedded to me
IMO embedded processor companies should be looking increasingly towards non-traditional markets. As servers become larger the concerns for server processors begin to look more and more like those of embedded products. In the embedded market power consumption is the primary issue, while in server farms thermal issues are beginning to become the primarily limitation. When it comes down to it these two issues are equivalent. Currently you can get 300+ single processor Intel based servers into a single rack if you can keep it cool. For the same thermal and space limits I would think you could easily get ten times as many ARM based servers. This is more then enough to make up for the difference in processing power. This type of setup is only useful for functions that can be clustered or run in a distributed fashion like web servers. Database servers are a slightly different story. In a DB server you typically have a lot of threads that can be run concurrently since each users processes can be a separate thread. At some point you will run into bottlenecks with the other server processes, but you can get around this by using partitioning. Anyway, the point behind this is that DB servers can use as many processors as you can throw at them as long as you work out the memory bottlenecks. Once again you start to run into many of the same problems with processor density. This would make embedded style designs suitable for this task as well. A second advantage embedded designs would have is that many OLTP tasks are very dependant on memory latency and contain many difficult to predict branches. This means that as processors speeds continue to grow, processor power has little effect on performance. Short pipelines and would also be an advantage because they significantly reduce branch predict penalty. IMO embedded style processors are ideal for future server use if someone takes the time to adapt them. It kind of paints an interesting picture for the future of computing. The few common tasks that could not be performed on a handheld device could (like word processing) easily be absorbed into a Playstation style multimedia terminal. In the business world a similar terminal could connect to a middle tier application server layer where other user app run. In such a world there really isn't much use for a PC of today's style. The only thing that is left out of this model is technical computing and graphics rendering which in many ways has always been separate anyway.
|
|
|
By DeadKen
|
October 25, 2001, 12:50 PM
|
quote:Originally posted by Moridin: In the embedded market power consumption is the primary issue
This is a bit of a generalization. The embedded market is vast and varied. My guess would be that in <20% of the cases is power consumption a giant factor. Just look around you house. If its connected to AC and has an embedded processor, power consumption is probably not an issue.
|
|
|
By DeadKen
|
October 25, 2001, 12:53 PM
|
quote:Originally posted by idris5: The Xscale is an extreme example at the top end of the market (and I don't know if you are aware but it is an ARM architecture processor). Of course I know Xscale is Intel's new name for their StrongArm. I wonder if ARM is irked that Intel re-branded it!
|
|
|
By Moridin
|
October 25, 2001, 01:53 PM
|
quote:Originally posted by DeadKen: This is a bit of a generalization.The embedded market is vast and varied. My guess would be that in <20% of the cases is power consumption a giant factor. Just look around you house. If its connected to AC and has an embedded processor, power consumption is probably not an issue. True, but in this situation the technical aspects of the processor are almost irrelevant, so it doesn't seem productive to put a lot of effort into evaluating them.
Also, of the 100 million ARM processors sold last quarter, how many of them would have gone into mobile devices like cell phones? I think it is likely to be more then 20%.
|
|
|
By DeadKen
|
October 25, 2001, 01:59 PM
|
quote:Originally posted by Moridin: True, but in this situation the technical aspects of the processor are almost irrelevant, so it doesn't seem productive to put a lot of effort into evaluating them.Also, of the 100 million ARM processors sold last quarter, how many of them would have gone into mobile devices like cell phones? I think it is likely to be more then 20%.
Not to get into a flame war about it, but ARM does not rule the world. Remember, only about 4 years ago did 8 bit micros start out-selling 4 bit micros. Better count again!
|
|
|
By idris5
|
October 25, 2001, 02:36 PM
|
I am pointedly staying out of any discussion about ARM for obvious reasons. However, just to address a few points:In terms of volume a PIC/Z80 is going to outship an ARC/ARM/MIP's for years to come, however the revenue from a PIC/Z80 is tiny in comparison to the aforementioned. As far as prestiege is concerned people don't give a hoot if their product is powered by a z80 or a PIC, but they might be more interested in what powers their PDA and are a lot happier if their digital camera or phone lasts twice as long on the same battery as their old model. Finally, DeadKen, you asked if ARM is unhappy with Intel calling the CPU the Xscale - well, not to my knowledge.
|
|
|
By Moridin
|
October 25, 2001, 03:13 PM
|
quote:Originally posted by DeadKen: Not to get into a flame war about it, but ARM does not rule the world. Remember, only about 4 years ago did 8 bit micros start out-selling 4 bit micros.Better count again! As I said before, most of these devices are being used in situations where any processor will do. In this situation there is simply no reason for any change whatsoever. In segments where people care what processor they use ARM and MIPS do rule the embedded world. If you have some links regarding 8-bit processors only recently passing 4-bit processors in sales I'd be interested in seeing them. My own recollection is that 6800's,and Z80's were by far and away the standard even by the late 80's. In fact I seem to remember something around that time that said the Z80's was already by far the most mass-produced item ever.
|
|
|
By DeadKen
|
October 25, 2001, 04:46 PM
|
quote:Originally posted by Moridin: As I said before, most of these devices are being used in situations where any processor will do. In this situation there is simply no reason for any change whatsoever. In segments where people care what processor they use ARM and MIPS do rule the embedded world.If you have some links regarding 8-bit processors only recently passing 4-bit processors in sales I'd be interested in seeing them. My own recollection is that 6800's,and Z80's were by far and away the standard even by the late 80's. In fact I seem to remember something around that time that said the Z80's was already by far the most mass-produced item ever. I wish I still had the link. Remember, nearly every toy with a battery these days has a processor. Every fridge, stove, CD Player, Stereo, TV, Washer, Dryer, Dishwasher..... Now, If I was to count the ARMs, MIPs in my house, well, I have an IPAQ (works actually). Hmm, thats about it. Maybe my cell phone, but I haven't ripped it open. And I have a ton-o-stuff. My side-job gives me access to lots of great toys, but then again, including an Audio-Request, AMX netlinx, stand alone touch screens etc, and my own designed gadgets, and none with ARMs. With Motorola considering changing the DragonBall to use an ARM, this may change though... Another iteresting number I read: in 3-4 years, there will be more programmers working on Embedded apps then on Desktop apps. I don't know if I buy that one though....
|
|
|
By Prince
|
October 25, 2001, 06:16 PM
|
Can someone please explain what ARM is? and embeded processors?
|
|
|
By idris5
|
October 26, 2001, 03:47 AM
|
In keeping with avioding comments directly about ARM I'll quote what it says on clearstation: http://www.clearstation.com/cgi-bin/bbs?post_id=2652355&Refer= quote:ARM is the industry's leading provider of 16/32-bit embedded RISC microprocessor solutions. The company licenses its high-performance, low-cost, power-efficient RISC processors, peripherals, and system-on-chip designs to leading international electronics companies. ARM also provides comprehensive support required in developing a complete system. ARM's microprocessor cores are rapidly becoming the volume RISC standard in such markets as portable communications, hand-held computing, multimedia digital consumer and embedded solutions. More information on ARM is available at www.arm.com Embedded processors are processors not directly accessable by the user and occur everywhere from your washing machine (where a PIC will probably be used as DeadKen mentioned), to a cell-phone (where you probably have an ARM core inside it). Embedded processors, certainly in the mobile area, value low power and small die size and in this area there are three major players - ARM, MIP's and ARC.
|
|
|
By DeadKen
|
October 30, 2001, 12:35 AM
|
I remember someone asking about 8Bit numbers, so here you go.In the latest Circuit Cellar Magazine the Silicon Update he mentions that current shipments of 8 bit processors are on the order of 10 million. Per year? Per Qtr? Per Month? Try - Per Day.
|
|
|

|