Is the x86 Ready for Consumer Appliances?
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?"
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?
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.
They're already here! There's an AMD 486 inside my graphite Apple Airport Base Station : )
Of course I'm joking, but what the poster really wants to know... is *Windows* ready for consumer appliances?
I think not, myself ^^
GPL Deconstructed
It's great. For larger things that you want to run Windows on (refrigerators or other such devices), the size is no issue. For media things, people expect VCR sized devices, and a VCR could easily have a Micro ATX board inside.
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 popper would probably have some crashing issues...
EVERYDAY IS CATURDAY
Thank the heavenly motha-fscking GOD someone said this! Clearly, there is ALMOST NO POINT in putting x86 in a consumer device if it isn't the cheapest solution, as it is certainly not the best. If you're putting linux on the thing, it isn't even a requisite, so I don't really see why you would consider it unless you can find a small and cheap x86 setup. Since the poster has indicated that they can't, I think they've pretty well self-answered that part of their own Ask Slashdot question. NEAT.
The x86's have been used in embedded apps for quite some time now. I distinctly remember discovering an 80186 in a microwave I disassembled, and many industrial applications use them, due to their well known characteristics.
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.
Weapons of Mass Analysis
It depends on how much the device is supposed to cost and how many you're going to make.
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.
First of all, IMHO it's not about the x86 architecture per se, but rather the concept of a (mini) PC. PCs appear to be attractive in any area simply because most of the hardware already exists, and there's a huge and relatively mature codebase available. In this light, embedding PCs is like making it do what you want and then rip-out anything you're not using.
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 mainboard with an ARM or PowerPC cpu. You loose a major part of the benefits: your favorite PC development environmet no longer works out of the box, you may need a new compiler, new libraries... (This is where portability of OSS is a major benefit).
In any case, programming a PC is a different game as is programming embedded. With embedded you will worry less about (backward) compatibility and more about simplicity, performance/watt and - last but not least - support/documentation/tools available for the choosen hardware.
--
Real computer scientists despise the idea of actual hardware. Hardware has limitations, software doesn't. It's a real shame that Turing machines are so poor at I/O.
Wrong. The x86 series of processors has long been used in consumer products. Why? To paraphrase Intel Inside (A documentary written on the early days of Intel), the world is overflowing with engineers capable of programming and developing using the x86 platform. Not only that, but there is a proliferation of tools available for developing with x86.
If the 1 GB Via board + CPU is ~$170 (retail), you cannot put it into a product that costs less than ~$170, can you? There are scores of consumer electronic devices in the under $200/range. The next big thing is figuring out which ones can be mostly implemented in software, on commodity (or at least high-volume) hardware. What about a $99 DVD player that also plays internet radio? Or a cable set top box that can print photos from your digital camera?
Envy my 5 digit Slashdot User ID!
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.
Do you really want to embed windows in a consumer device? Probably not - I certainly wouldn't. Since you are posting on/., you probably have some affection for Linux. But there are plenty of much lighter wight systems around, like QNX, vxWorks, which are also much more suitable for ebedded work. Windows is very, vety heavy. Yes, you can buy a 3GHZ x86 to run Windows - but a 1GHX Risc processor optimised for embedded work wil outperform it by two or three things and undercut its power consumption by 20 times.
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.
Consciousness is an illusion caused by an excess of self consciousness.
Tivo was in a race to be first to market. Being on the market was more important than the money hit of the moree expensive components. This is a rare situation. Noone addressing this kind of product now is. You'll be competing against entrenched solutions. You need to compete on price, which means an x86 solution is out.
I still have more fans than freaks. WTF is wrong with you people?