Is the x86 Ready for Consumer Appliances? 105
rckymntrider asks: "By now, it's pretty obvious that the movers and shakers of the PC industry are shifting their attention to consumer electronics. Consumers today demand capabilities from their set-top boxes that PCs already deliver (examples: HDTV and gaming). They just don't want a bulky, hot and noisy PC next to their beautiful new plasma TV. Intel, for instance, announced several initiatives for bringing their technology to the media/home automation front, including the establishment of a $200M fund for companies in that arena (small change if you ask me). As a small manufacturer of media-centric devices (I will not name the company and product -- this is not a plug), I have become very frustrated at the availability of hardware for 'consumer' type of applications. ATX? Micro ATX? Too big. Eighty watt CPUs? You're kidding me! Mini ITX? Better but not powerful enough and *way too expensive*. Besides, every new piece of hardware that comes out is practically designed for Windows, and we all know that this is not the operating system that will drive consumer appliances, right? So to sum it up, do you think that the traditional x86 architecture, even with the advent of PCIX and the likes, is suitable for consumer anything? What other platforms do you see on the horizon that could still offer things like High Definition video capability and not double as mini-heaters? Have you ever heard (or envisioned) of a platform designed for powerful but still cost-effective consumer appliances? VIA tried with their EPIA platform but - in my opinion - they failed. Do you think Intel will do it? If not, then who?"
National Semi was doing it (Score:3, Interesting)
The Geode is in plenty of consumer devices, if you care to tear them open to take a look.
Re:National Semi was doing it (Score:3, Informative)
Re:National Semi was doing it (Score:2, Interesting)
The real speed that's necessary is in the graphics chip and keeping the board low cost like the Geode allows you to splurge in the design on a more powerful video chip.
Re:National Semi was doing it (Score:3, Informative)
Re:National Semi was doing it (Score:2)
Re:National Semi was doing it (Score:2)
on an easily accessible platform, and a second
iteration with more sophisticated (expensive)
hardware design.
Re:National Semi was doing it (Score:3, Insightful)
Re:National Semi was doing it (Score:1)
Just a Question... (Score:4, Insightful)
Well, that's a good question. Windows is sorta big and bulky, but it runs on an awful lot of things. I mean, think about how versatile the code really is, even if it does crash. Take that requirement out of the picture - that the OS has to run on Nteen thousand different hardware configurations, just one, your superblender - and it might not be the worst choice one could make.
But then, I might be completely uninformed. It's just conjecture.
Re:Just a Question... (Score:5, Interesting)
I dunno, that sounds a lot like the old argument "windows is crashy because it supports so much hardware, MacOS is stable because the hardware is tightly controlled" -- then linux came along and provided much stability, and greater hardware support than windows (more processors than just x86, anyway).
Re:Just a Question... (Score:3, Informative)
Re:Just a Question... (Score:3, Insightful)
Remember the early 90's? People who would argue about the relative merits of Windows/Macintosh would say that MacOS is more stable because of Apple's tight control of the hardware, while windows lost stability because it needed to support such a wide range of configurations. It was like common knowledge, or something.
Re:Just a Question... (Score:2)
Heh, but if we're talking 90's here, I'm not sure stable was a word that could be applied to MacOS or Windows.
Re:Just a Question... (Score:2, Interesting)
I certainly wouldn't agree that Linux has "greater" hardware support than Windows. But, with the smaller set of devices it supports, it has infinitely better hardware support (for certain pieces of hardware, that is).
This is what I love about Linux hardware support:
Re:Just a Question... (Score:2)
Re:Just a Question... (Score:3, Insightful)
Re driver inclusion, this is no argument at all. This is a consumer electrical device, remember? Everything included in one box. Any drivers needed would be preloaded.
The main argument for Linux would be efficiency. Consumer electronics needs to be chea
Re:Just a Question... (Score:1)
sorry to disagree with you but usb pnp support is definately NOT fine! I know of at least 3 cases where installing a scanner is a major problem on win2k (not xp, wont touch that
once you plug in the scanner BEFORE you installed the software (what you usually do with usb dev
Re:Just a Question... (Score:2)
Re:Just a Question... (Score:1)
Re:Just a Question... (Score:5, Insightful)
Windows gets accused of bugs it's often not responsible for. Because some shoddy developer never realized that people might be running on system configuration X instead of system configuration A, when his application crashes, people often blame Windows hardware support.
I'm not advocating for Windows, I'm just saying it's got decent hardware support and that when writing an application for one specific set of hardware it's made to appear infinately better because the consumer can't screw with the default application environment.
Most of the problems aren't with unstable *hardware*, it's unstable and ugly Windows Malware.
Re:Just a Question... (Score:1)
OK, I'll give you that, but the problem is that it doesn't ever fail gracefully. If a 3rd party program sends a hardware call that causes a problem the whole friggin system stops cold and you have to turn it off! You can't blame Malware for that. It is no ones fault but Microsofts that their system can't handle errors. Thier .NET languages are moving in the right direction with the Try, Catch, control structure but it will be a while before that h
Re:Just a Question... (Score:2)
It is the combination of hardware and software
which may be stable or unstable. As Marc
Andreeson observed, Windows is just a badly
debugged collection of device drivers. As
such, it is unstable.
Re:Just a Question... (Score:2, Insightful)
Winders doesn't really run on very many platforms does it? I mean there's the versions for the PocketPC, and there's x86 (Is there still an Alpha version?), but what else really? BSD and Linux of course have been ported to everything under the sun.
Re:Just a Question... (Score:2, Interesting)
WTF. Last I checked, Windows only ran on x86 hardware. That's not really 'an awful lot of things', its just pure x86. Oh sure, it used to run on a few other 'exotic' processors, yeah. The last time I really cared about Windows was when I could run it on a dual-CPU MIPS box, and that was years ago. Ain't so no mo'
Linux, on the other hand, you can *DEFINITELY* say that it runs on an awful
Re:Just a Question... (Score:2)
I tried reading it in the same context as you and thought the same thing. He must have meant an awful lot of computers -- not different types of architecture.
Re:Just a Question... (Score:2)
Take a look at Windows CE. It supports very little hardware, is stripped down to bare bones, and it's still an unstable little bugger...
Of course! (Score:3, Insightful)
Of course I'm joking, but what the poster really wants to know... is *Windows* ready for consumer appliances?
I think not, myself ^^
x86 is just another processor (Score:5, Interesting)
I've written programs on VAX, Dec Alpha, RS6000, PowerPC, PA-RISC, 6502, Sparc, Ultra Sparc, 68000 and every version of x86 since the original PC. Really, don't get hung up about x86. In the grand scheme, it's just another CPU. Unit cost, energy cost in a million unit device will more than out weigh nearly anything that might make you choose x86.
well, inherently, sure, but practically... I dunno (Score:4, Interesting)
"if you build it, he will come." x86 the architecture itself may be ready for the set-top box and the digital streaming stereo thingy, and good software foundations are out there (for appliances, think QNX Neutrino, embedded Linux, PalmOS 6, and so forth), and there are low power chips like Geodes and C3s. (I've even heard that people are experimenting with Transmeta's processors for appliances.) So the architecture is ready and the software is ready. But there aren't a lot of people out there who seem really interested in making good hardware (mainly motherboards) to fit this niche, and I think that's mostly what the author is frustrated with. (Mind you, VIA is going in the right direction with their new nano-ITX board, if only they'd drop their price a whole heap.)
Re:x86 is just another processor (Score:2, Insightful)
What's the question? (Score:4, Interesting)
If you're asking if modern consumer OSes based on the x86 range are bullet-proof and idiot-proof enough to power a device as easy to use as an answering machine or VCR, then I'd have to say no, these are still hobbyist devices.
Re:What's the question? (Score:1)
Now, total up the cost of a full size mainboard ($50) + cpu ($50) + graphics card with tvout ($50 and you get about the same price, with a little more performance. In fact, the only plausible argument here, IMHO, would be that the performance is l
In some ways... (Score:2, Insightful)
As for smaller devices, I for one do not want Windows or *nix to run on my toaster; it does not need a general purpose x86 chip inside, as it just does one thing. I want these little ones to do what they are asked of promptly and easily.
Not to mention, a Widows/*nix enabled popcorn
MiniITX (Score:3, Interesting)
Re:MiniITX (Score:2)
Any processor can process any codec... The question is, how big can the content be.
My 233MHz system can decode lots of MPEG2 videos, but it can't handle 1080i (HDTV) videos worth a damn. Size matters, a lot.
Re:MiniITX (Score:1)
Re:MiniITX (Score:2)
Want a few videos your computer won't be able to handle? Just go here: http://www.microsoft.com/windows/windowsmedia/con
(The files are '.exe', but are just self-extracting zip files, you can use any unzip program)
Re:MiniITX (Score:3, Informative)
Not really since the Via EPIA boards have hardware mpeg-2 decoding built in. My MythTV box easily handles 720x480 mpeg2 streams with hardware decoding using around 10%-15% of the 1GHz CPU for mythfrontend.. compare that against 90% CPU utilization for software mpeg2 decoding. It could probably handle HDTV if I cared, but I don't.
I don't know what this fascination is with incredibl
Re:MiniITX (Score:2)
I can't speak for everyone else, but I am mainly interested simply because it finally gets us away from analog, and to fully digital video... Same reason I like DVDs. That said, I don't expect to be able to recieve HDTV for a LONG time. No TV stations are within 50 miles of me (max range of HDTV) and my cable company is only offering HDTV broadcasts to people willing to pay a big premium (and sacrifice their priv
Re:MiniITX (Score:2)
Umm, no, I think not. Everyone else seems perfectly happy with DVB, and I don't see them switching for the small upgrade in quality.
I couldn't agree more.
Re:MiniITX (Score:2)
Re:MiniITX (Score:2)
Re: (Score:1)
Re:even divX / Xvid? (Score:1)
SiS 550 (Score:3, Interesting)
Theyre still a far cry from ARM cores though, and I'd only use x86 where win32 binary compatibility is absolutely required. Things can and do get complex on x86 SoCs, and ARM cores will give you that 'simple and efficient' feel nothing else will.
Re:SiS 550 (Score:2, Interesting)
On the other hand, its much more fun to debug x86 code "out of the box"
My only ARM wish is that I had a beefy ARM-based system to use as my *main* machine in develo
I fail to see... (Score:5, Informative)
As far as not being able to HDTV you're dead wrong, I've got an HDTV decoder in it which runs flawlessly (want a 40gb HD version of the superbowl? mail me a harddrive). Gaming is a no go for modern FPS, but even without using one of the 2 pci slots (riser card) the onboard video will run Half Life rather well, and most RTS (save WC3) and of course anything MAME can throw at it... Who wants to play an FPS on a TV but doesn't want a console anyway?
In short, if you think VIA has failed with their MiniItx form boards and the C3, justify that conclusion. All your complaints are either incorrect or baseless. Divx DVDs and HDTV all run beautifully on the VIA. As for gaming: the most powerful console on the market runs at less that 1 ghz and boasts a far from cutting edge graphics card so it's not lacking in power, just in development support. PC game companies aren't interested in supporting anything but bleeding edge tech, and in all likelihood people who want games on their TV will be looking to the real players in the market: Sony Nintendo and Microsoft.
Re:I fail to see... (Score:2)
Re:I fail to see... (Score:3, Insightful)
Old EPIA not 'all that', IMO (Score:2)
I intended to use it as a 'multi console emulator' emulating game boy, NES, Genesis, SNES, and some VERY old DOS games. I kept noticing 'lag' when using the joystick and Mario 3. I would hit the jump button and the delay was much more than the console had accustomed me to. DOS games were bad too, but I attribute that to BOCHS more than the CPU.
Are you running Windows on your EPI
X86 As a shim (Score:5, Funny)
I'd say so, I have an old 486 chip supporting the short foot on my dryer. It has very low power requirements in this capacity and it does a fantastic job of keeping the dryer from wobbling across the basement floor.
The downside is I have to use plenty of Bounce sheets to keep from ESDing the chip.
But WHY? (Score:5, Informative)
This doesn't make it the best for most uses. It just makes it the most practical for a general purpose computer. But not necessarily an embedded device.
In the 90s, new, better architectures were introduced, but x86 endured mostly because of the large installed user base. PowerPC, Alpha, and SPARC, if given enough funding during development, would have easily toasted any of intel's x86 offerings. DEC had 64-bit chips before intel had pentium.
Many new platforms designed specifically for embedded devices such as MIPS and ARM (only ones which come to mind) have developed over the last few years. Backward compatibilty is not an issue here.
Look at TiVo. They used a 66mhz PowerPC in their 1st generation boxes because they ran fast and efficently, and without active cooling, and it was open and cheap (PPC is a VERY open platform). There is no way that an x86 at this speed could have performed the complex tasks TiVo needed it to.
Re:But WHY? (Score:2, Insightful)
Re:But WHY? (Score:3, Insightful)
There's still a lot of embedded systems designed today with 8 bit processors that cost a few dollars in large quantities. For low-cost, high-volume applications, development costs are often less significant then the cost of parts.
Re:But WHY? (Score:2)
F.O.Dobbs
Re:But WHY? (Score:2)
IBM's 750 range (the G3) draws a mere 6 watts at 1Ghz at present - more grunt than most embedded devices will ever need really, and at a much lower power consumption than x86.
The G3 in my laptop, while having a fan, never needs to turn it on, no matter how hard I work it.
NOPE! - Doesn't boot fast enough. (Score:5, Interesting)
Before you argue that many machines don't need to boot, please keep in mind that MANY do, and can't stay on 24-7. Hell, even the ones that can should shutdown or hibernate in order to keep peoples' electric bills sane.
Anyway, x86 needs to defeat these hurdles to compete in the embedded arena:
a) boot a kernel that is bigger than 1M (like ARM can) - why? because if you want to boot a device FAST, you use an uncompressed kernel; and uncompressed kernels are BIG
b) get over the POST time - POST'ing on most motherboards (yes, even VIA EPIAs), takes 10 seconds or more. I know firsthand because our app was initially built on one[an EPIA-M]. Asking a user to wait for 10 seconds for the Hardware to POST, PLUS another 10-20 for the OS to boot is highly unacceptable. Mark another win for ARM here...
Anyway, the answer to your question is ARM. It's Intel's existing answer. Have a look at an XScale CPU solution young grasshopper.
Most newer BIOS... (Score:5, Interesting)
Besides, if you were making an appliance, I'm sure you could write your own BIOS (take LinuxBIOS, for example). That'd make it boot instantly into any size kernel image you care.
Re:Most newer BIOS... (Score:2)
"Most newer BIOS" can POST quickly. I agree. However, does anyone want an AthlonXP powering their fridge? The heat that the processor generates would melt everything in it! There is a very defined niche that embedded systems fill.
It's not always a good idea to stuff a Square into a Circular hole.
I have a VT6801 chipset MB (Score:2)
The system boots into networked linux in seconds from a stock BIOS and the system consumes less than 45W idle with a normal, 7200RPM hard disk spun up.
Pretty good, huh?
It's essentially my firewall/router/WAP/webserver.
And you could easily do a lot better in the power department by using flash storage and lower the clock speed and chip voltage, or by going to a newer CPU (coppermine).
I'm, I get your point, but it's a bad example.
What needs to be emphasized is the difference betwee
Re:NOPE! - Doesn't boot fast enough. (Score:2)
Part of the Windows XP program requires the windows startup screen to appear in 6 seconds. Or at least they proposed that one, didn't Microsoft force that through?
I agree POST can be a problem. My system takes over a minute to finish POST (yes I have timed it).
Re:NOPE! - Doesn't boot fast enough. (Score:2)
(BTW, my XBox also runs Linux great, and is a terrific emualtion platform.)
Re:NOPE! - Doesn't boot fast enough. (Score:2)
I highly doubt it. I'm not saying you are lying, just that you're obviously missing some facts somewhere.
Re:NOPE! - Doesn't boot fast enough. (Score:2)
What are you talking about? I was clearly speaking of the boot-up times of the native XBox OS (a stripped down Win2K kernel). Hence "Full boot (from pushing the button to seeing the dashboard) takes probably 10 seconds." The dashboard is the UI of the XBox if you weren't aware. At the end of my comment I was merely me
Clearing up misconceptions (Score:5, Interesting)
The issue here is whether the x86 platform's issues, like excessive heat and power consumption and the requirement for a separate memory controller, outweigh its advantages, like the large variety of hardware already available to interface to everything under the sun and the fact that it's a well-understood architecture.
Now that's out of the way, here's my two cents: the x86 architecture, or at least the implementations currently available, simply isn't cut out for most embedded applications. While x86's limitations have been addressed with lots of extensions (MMX, SSE, 3dNow, etc.), those end up adding complexity and drawing more power than a chip designed without those limitations. Also, the x86's pitiful lack of registers compared to architectures like the PowerPC (another choice for embedded applications that require a good deal of power) means that almost any complex operations mean lots of going in and out of cache, or, worse, main memory. While x86 is acceptable in an environment with a 300W+ power supply and user tolerance for a good deal of noise, it won't cut it in your VCR. x86 might see some use in applications which require rapid development and lots of power, but in most cases there is already a good solution available.
Clear some up, and make some, you mean ... (Score:1)
Just so that its perfectly clear, Linux is both a desktop Operating System, AND an embedded operating system. Linux scales better than a whole lot of systems, QNX and VxWorks included
Re:Clearing up misconceptions (Score:3, Interesting)
I would have to say, the main reason companies are interested in using x86 is because it will run the common OSes, thereby allowing them to draw on that large pool of pre-existing resources. The price of x86 hardware really isn't that much less expensive than other hardware.
If your developing a set top box (Score:3, Interesting)
Get on the phone and call up the manufactures. Get something custom desigined, or at least get pointed at the non-consumer grade web page. If your doing any kind of volume at all, it wont be that expensive. Its not quite as easy as building a computer from componets in your basement, but PC technology is standardized components. Hell, if they have an autorouting board designer they could likely so something from scratch in an afternoon.
Dialogic Telephone boards use x86 (Score:3, Interesting)
...consumer appliances (Score:2, Interesting)
It seems the way to implement x86 appliances would be to use low power procs like the VIA and outboard processors to take the load off the little CPU. A VIA M1000 board with the built in MPEG decoder comes close. With
Is This A Troll? (Score:3, Insightful)
All these comments about POST and other silliness come from the PC architecture, not the CPU itself. Amazing how many people are willing to comment when they really have no clue.
Re:This A Pathetic Troll (Score:2)
Sit down, shut up, and let the engineers talk, junior.
Hell No! (Score:4, Informative)
A RISC CPU and a few DSPs could perform a lot of set-top applications, with tremendmous savings in both power usage and perhaps area (size).
High Performance doesn't not mean +100W consumption. If you don't need 4-way out-of-order execution (which is a really, really, really complicated thing to implement), complicated branch prediction, large multi-level caches, etc, then your power consumption will be ** A LOT ** less.
The fact is that many signal processing applications, don't require large amounts of memory, and they are highly parallelizable. Their algorithmns tend to be much more predictable.
Also, all processing & interrupt delays are known precisely in DSPs (this is a requirement in realtime stuff). This is also why caches, etc are not desirable, since their performance is not constant.
Simple DSPs can outperform desktop PCs for a great many applications, using 1/100th the power, cost, etc....
Mainstream (Score:2, Insightful)
Now what happens when you do not start out with a standard PC, but one with special hardware? For example: an x86 processor WITHOUT PCI or a PCI main
There is only one question to ask: HOW CHEAP? (Score:4, Interesting)
The only question that needs to be asked about whether or not x86 can/should/will be used in consumer electronics devices is the per-unit price.
If you can't get an x86-based chip for integration into your embedded system for, say, $10 - $15, then its not going to happen. The competition in this sector is too fierce. Other, nice, lower power, fun-to-use (RISC, even...), easy-to-integrate processors are out there, which will definitely give the x86 a run for the money.
The only thing x86 has going for it in this space is the development realm - yeah, its great to cross-compile for your target processor, but in the end, its also fun to just run the same binary you just built and run on your PC.
x86 has to get cheaper. Show me an x86-based chip that has tons of SOC-style integrated peripherals, and I'll show you a chip that is just too expensive to compete with the other cpu's we're already using to control stuff, just fine, in consumer electronics-land
Yes and it's Pentium 4-M in the PC104 form factors (Score:2)
Re:Yes and it's Pentium 4-M in the PC104 form fact (Score:2)
I'll put forth AMP's PC104 Transmeta Crusoe. Fanless 1ghz fun complete with dual display and embedded mpeg2 acceleration. 5v and 2amp max.
I'm working with/on one of these now, if you have any questions.
Model: Tiny886ULP [ampltd.com] Better buy in bulk, not cheap.
Have you thought about going with dual or more? (Score:5, Interesting)
However there are some minor signs this may be changing. Most of this is rumors but I think the X-box2 and the new gameboy are both going have more then 1 cpu. Plenty of phones already have more then 1 cpu to spread the load of the increasing demands of the software on them. All the chipmakers seem to be working on putting more then one CPU on a single core.
So if phone companies, console makers and chip companies think it is the way of the future why not for consumer appliances?
Think about it, exactly how much cpu power is needed to decode a video stream when a cpu can be dedicated to that task and nothing else? You don't need to go with a SMP like setup. You can simply have one simple processor wich does all the interface stuff. One wich decodes the video. Another perhaps wich decodes the sound. All geared and dedicated to their specific task. Costly? Well to a certain point this is already how PC's work. GPU for visuals. Soundcard for ehm sound.
Of course such a board will be far more expensive to design then a simple board you pick up of the shelf. With consumer electronics like this still extremely unproven the cost may be too high. Until then simply accept the bigger size and other bad points of PC architecture. Have you ever seen the first generation tv's? Video records? Mobile Phones? Etc Etc? They all had one thing in common. THEY WERE HUGE. Hell the first pocket transistor radio's were so big that the sellers had special shirts with enlarged pockets. (got it from an interview with sony people years ago I am sure someone else can better tell this anecdote).
Laptop (Score:2, Interesting)
Power Consumption (Score:2)
If you think to the contary, then please tell me.
I don't see why not... (Score:2)
Slashdot article... (Score:3, Interesting)
Re:Slashdot article... (Score:2, Informative)
I bought it a few years ago from Tiqit Computers [tiqit.com] (a company founded by some people from Stanford). It was their now discontinued Matchbox PC model. I believe Slashdot had an article about some guys at Stanford using one as a webserver back then.
A friend of mine actually installed Windows 98 on it..
Like designing a gasoline-powered rocket... (Score:2)
It's not as if you were going to program your embedded application in Visual Basic, or as Lotus 1-2-3 macros, or something.
Designing a consumer appliance with an x86 processor in it makes about as much sense as designing a rocket ship that runs off 97-octane gasoline, just because gasoline is more familiar, more available, safer, and more competitive in pricing
View from the inside (Score:3, Insightful)
Open up a TV or a VCR. do you see a standard bus in there. No! And why? Because everything in there is designed from scratch to play nice with each other. Standard products carry extra capabilities that a fixed large volume product does not need. You'll know that STBs and DVRs have hit the big time when you see a single board with custon chips, the code in ROM and no I/O besides required cable/AV in and AV out.
If it were me, I'd buy a small CPU like an ARM7 and do all my heavy lifting like transcoding in hardware.
Advansys (Score:3, Informative)
can u say OMAP (Score:2, Interesting)
got a 126mhz model in a palm zire 21 runs for
12 hours continuusly on a single charge.
and it has a native linux port as well as various codecs that use the dsp for acceleration 2d/3d. also unlike the XSCALE this chip has builtin coprocessor and 192k L1/L2 cache as well as a 1.5mb cache all done on 90nm process
Why bother? (Score:3, Informative)
Its not the CPU, its the CPU+OS (Score:4, Insightful)
Once you have ditched Windows, all the other OSes run on multiple platforms - Arm, PPC, MIPS, Coldfire, Hitachi H series... Linux is certainly available on Arm, PPC. Most of the others are available on more architectures.
Which means that if you chose one of these OSes and (usually) C++, you can move platforms with a recompile. (Not quite true, but near enough for overnment work).
I have experience of the Arm family, and they go like lightning when programmed right - much faster, MHz for MHz, than you would expect compared to Windows. And the power consumption is small to minuscule. And there are some very interesting new CPUs coming along obviously targeted as set-top boxes (sorry, NDA doesn't permit details and Google doesn't know yet). So what you need is for the set-top manufacuters to agree on a common OS like the mobile phome manufacturers have done (how about the same one, as a suggestion) and use the best of the new generation embedded processors.
One word... (Score:2)
I'll leave it to you to decide if this example is good for x86 or not.
(IMO, Xbox is a great example of the x86 chip succeeding in the CE world.)
As already mentioned, the older Airport Base Station has a 486 in it.
Even with these successes, it really depends on the device. x86 is a general purpose architecture, designed to do everything good enough. There are other chips that are much better designed for specific applications (example being PPC, which while still being a general purpose chip, smok