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: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).
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.
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.
MiniITX (Score:3, Interesting)
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.
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.
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.
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 the addition of a WiFI card you have the capabilities mentioned in the above Intel link.
While the EPIA is quiet and powerful enough (in the right configuration) they don't have a very good NTSC out (IMHO). An EPIA box with a Hauppauge PVR-350 card in it with MythTV or something like it can be a fine little appliance.
I have one of the Hauppauge cards an old 950 Mhz Athlon box here in my office right now to play music and watch (and record) TV. Very quiet too, once I added a low-noise power supply. (SuSE 9.0, old Athlon, WinTV PVR-250, Matrox G200 video (for the NTSC out) If I could afford another PVR-250 or 350, it would easily handle multiple video streams!
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:
Okay, I've run out of points and it's late. And I would be patently wrong if I said that hardware support in Linux is easier than in Windows too -- I've given up on my poor old scanner and webcam. But I prefer Linux hardware support on the 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.)
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.
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
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
Linux has more CPU-dependence than any other OS, in my opinion, before it...
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 developing binaries for ARM siblings
So, the cross-compiler territory really is where the trenches must be dug
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).
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.
I believe x86 is up to the challenge (although we aren't talking about those $200 P.O.S. PCs the public buys).
Heat and power usage is certainly an issue, but there are simple solutions. If you don't need 3GHz of processing power, just use a slower processor, and it can be running very, very cool, and using up much less power.
Another alternative (for those that do need serious number-crunching power) is to simply use mobile Intel processors... My notebook uses about 30watts at peak, and normal is about 15w. Heat output is very low as well, and this is on a 1.2GHz Intel processor.
How is that even an issue? Yes, less registers reduces performance, but nobody here is complaining about the performance of x86 being a problem, so it's a complete non-issue. On the other hand, AMD64 processors seem to be the perfect solution for these two problems, as it has more cache, registers, and has lower thermal rating than just about anything else.
I could get the requirements for a Mobile PIII-based system down to 20watts (more for short spikes, but I digress). At that, a very small, slow, and quiet fan would be more than enough to cool the processors at full power. With desktop processors, the requirements couldn't be that low, but near to it.
A VCR isn't a good example at all. A better one might be a PVR, or DVD-Recorder.
Laptop (Score:2, Interesting)
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.
Slashdot article... (Score:3, Interesting)
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