TiVoCommunity.com
(c)opyright 1995-2005 All rights reserved
indexcheckTC
This area is a static history of posts in the TiVo Community Forum Archive.
This archive history was made for the simple indexing of search sites like Google.



Pages:1



MIPS vs PowerPC

(Click here to view the original thread with full colors/images)



Posted by: chris1

Why did Tivo choose to use the MIPS processor instead of the PowerPC in the Series 2?



Posted by: c3

The PowerPC chip in Series 1 is running at about 50MHz and is outdated. The NEC MIPS R5432 is running at 200MHz with multiple execution units and dedicated hardware intended for multimedia applications.



Posted by: stormsweeper

Plus MIPS processors are really neat.



Posted by: EdwinOlson

It's somewhat bewildering to me that TiVo selected MIPS.

Sure it's neat. Sure I like playing with non-mainstream CPUs. And certainly it's a more elegant architecture than x86.

But I really expected Tivo to go to x86 with series 2. There are a LOT of very well supported embedded x86 platforms, and most peripheral hardware vendors concentrate on x86 support. Arguably, Linux on x86 has a larger user base and tends to be better supported than linux on other architectures. If they used Linux on x86, they could probably reduce their headcount by one or two kernel/linux hackers, or reassign them to feature development.

Plus, the economies of scale (x86 processors are *really* cheap for their performance) would almost certainly allow Tivo to reduce costs...

I'm forced to consider that Tivo:

1. Knows about some concrete advantages of MIPS platform that I don't. (Any ideas?)
2. Is trying to maintain some degree of proprietariness for IP/anti-theft-of-service reasons. (But any Linux system will probably never be proprietary enough to seriously reduce hacking.)
3. Is making choices not in the best interest of the bottom line-- perhaps some anti x86 sentiment?

What do you think?



Posted by: c3

When you look at embedded applications, MIPS *IS* a mainstream CPU. Laser printers, video games, set top boxes, commercial routers, etc.

By "cheap" x86 processors, how much are you talking about?



Posted by: SteakMan

quote:
Originally posted by c3
When you look at embedded applications, MIPS *IS* a mainstream CPU. Laser printers, video games, set top boxes, commercial routers, etc.

By "cheap" x86 processors, how much are you talking about?

Yeah, I would vote for #3, without any anti-sentiment. MIPS is probably the cheapest choice. Just guessing though, could be a little of all three.

-SteakMan-



Posted by: Mitch

Actually, X86 would be an expensive option for TiVo. You'd think that the "economy of scale" would work in their favor, but modern X86 chips (the ones you can actually buy) also require chipsets to be useful, BIOSes, etc. They are quite expensive when you add up everything you need.

This is why you don't see X86es in consumer gear like video games, printers, etc. (XBox is an exception here). MIPS is found nearly everywhere - nintendo, playstation, many PostScript printers, nearly all communications gear from companies like Cisco. Some say MIPS is the most popular (by volume) processor architecture on the planet. MIPS is made by several companies (no single source) and has been around forever (lots of experience in the embedded word, mature tools). PowerPC is similar, and has big backers like IBM and Motorola to stand behind it.

Heat's another big problem - X86 processors dissipate far more heat than comparable PowerPC, MIPS, or ARM/StrongARM/XScale. You need big power supplies, heat sinks, and fans. The low-end X86es are at the whims of Intel and AMD, who are rushing to stop making them so they can concentrate on high-margin, high-end parts. For embedded applications, Intel is pushing XScale (descendant of StrongARM).

Embedded CPUs tend to include more onboard peripherals like memory controllers and bus interfaces (no need for the "north" (system bus) and "south" (peripheral) bridge chips you find in a PC). Package (chip) count is an important metric on embedded system designs - fewer chips is cheaper and therefore better. I work in the embedded CPU space, integration, power, and low chip count are key with our customers.

The move to MIPS is interesting, given their previous investment in PowerPC stuff - Moto certainly makes embedded PowerPCs with enough horsepower to match the 200MHz MIPS, but perhaps they liked the roadmap better and decided now was the time to switch.

For software, it's true that X86 Linux has lots of developers, but Tivo doesn't need much - they just want a stable kernel with just enough support for the peripherals they do have. They have an extremely small set of platforms they care about, so it would not surprise me if their kernel changes very slowly (and they like it that way).

/Mitch.



Posted by: GBL

quote:
Originally posted by Mitch

The move to MIPS is interesting, given their previous investment in PowerPC stuff - Moto certainly makes embedded PowerPCs with enough horsepower to match the 200MHz MIPS, but perhaps they liked the roadmap better and decided now was the time to switch.




Could it simply be a cost advantage? TiVo's explict goal was to lower production cost.



Posted by: stormsweeper

quote:
Originally posted by Mitch
(XBox is an exception here)


And expensive exception, too. MS sells the Xbox at a significant loss.



Posted by: EdwinOlson

A Tivo, while fairly called an embedded device, is an entirely different creature than most devices that we usually call embedded devices.

My cellphone is an embedded device. So is my answering machine. My broadband router and wireless AP count too.

These embedded devices are characterized by *very limited extensibility* and almost no peripherals. Most of them also have very poor memory capacity (typically <<2MB), poor computational power (<<50MIPS), and few, if any peripherals (or even support for attaching peripherals). Most of them also come with the code on them that they will run for life, and are RARELY actually shipped to customers with major new features planned via software. For these embedded devices, which I love to create and play with, MIPS/ARM designs are a marveolous choice.

The Tivo, however, is quite a different beast.

It has a LOT of memory (32MB is a lot for an embedded device), a LARGE number of peripherals (we're talking IDE bus, probably PCI out to the hardware MPEG encoder, USB, a couple serial ports (IR & modem), some interface to the crypto chip, etc. It's expected to cope with hardware upgrades (well, sort of), radical software upgrades, and more. A Tivo is NOT your run of the mill embedded product.

Someone mentioned that an x86 system loses due to the need for a chipset; well, that's simply not true. There are x86 embedded systems that require a very modest amount of support circuitry. But in any event, when Tivo's done with the platform, whether it be x86 or MIPS, there's going to be a fair amount of support circuitry; the Tivo is not a simple device. For the simplest possible embedded systems, it is true that some of the SOC embedded solutions based on MIPS and ARM are a real simplicity advantage. But for Tivo, the average x86 embedded platform is a much closer match than the typical MIPS/ARM platform.

I'll point out that a bunch of the embedded systems you mentioned that use MIPS/ARM cores have custom silicon. Dude, if you're going to be making your own silicon, then your goal is clearly not about minimizing development cost, but minimizing per unit costs based on the expectation that you'll make a zillion units. Tivo's not there yet. (it's too bad!)

Saying that there are no sufficiently low-power embedded x86 systems for Tivo's purposes (a non-battery powered device) is just FUD. It's also silly to say that using x86 would require Tivo to use a larger power supply, larger heatsinks and fans. The AMD x86 box in my SMC2655W doesn't need a fan, and runs off a very modest power supply. And in any event, the power budget for the Tivo is almost surely dominated by the hard disk.

I asked because I wanted a discussion, and that's what I got. Keep the comments coming!

-Ed



Posted by: Mitch

quote:
Originally posted by EdwinOlson
A Tivo, while fairly called an embedded device, is an entirely different creature than most devices that we usually call embedded devices.


Agreed, but it is *still* an embedded device. In the class of "consumer devices" it is pretty unique.

quote:
My cellphone is an embedded device. So is my answering machine. My broadband router and wireless AP count too.


You bet -- in fact, many of those broadband routers, home firewalls, and APs have approximately the same amount of CPU power as TiVo does (within a binary order of magnitude at least).

Printers have many megabytes of ROM and RAM, and high performance processors to interpret postcript and PCL.

Cellular phones are incredibly complicated these days.

quote:

These embedded devices are characterized by *very limited extensibility* and almost no peripherals. Most of them also have very poor memory capacity (typically <<2MB), poor computational power (<<50MIPS), and few, if any peripherals (or even support for attaching peripherals).


I suppose all of that depends on your notion of what a peripheral is. After all, technically all computers need peripherals to connect to the outside world. PCs are special in that consumers get to decide what those peripherals are. In an embedded system that choice has been made for you and is often difficult to change.

quote:

The Tivo, however, is quite a different beast.

It has a LOT of memory (32MB is a lot for an embedded device), a LARGE number of peripherals (we're talking IDE bus, probably PCI out to the hardware MPEG encoder, USB, a couple serial ports (IR & modem), some interface to the crypto chip, etc. It's expected to cope with hardware upgrades (well, sort of), radical software upgrades, and more. A Tivo is NOT your run of the mill embedded product.


Never said it was - it is an entirely new breed of embedded devices, probably the closest thing we've seen to real "convergence" (aack, that word again!). But: It isn't a PC.

You're right of course -- in the consumer space, it's rare to see lots of memory or CPU in an embedded device. In the networking space (storage, routing, content filtering, etc.) you'll find superfast processors and hundreds of megabytes of memory. Digital cable boxes and DBS receivers are probably in the middle somewhere - lots of memory to store guide data and a big OS, but a smallish CPU.

quote:

Someone mentioned that an x86 system loses due to the need for a chipset; well, that's simply not true. There are x86 embedded systems that require a very modest amount of support circuitry.


... but it does require support circuitry. Most SOCs don't require anything at all. Packages, board space, power budget are all factors in the choice of a CPU for an embedded device.

The chipset costs money. Let's say you're in the market for a cheap CPU. You could probably get a K6 in quantity for $20. The north and south bridges are probably another $25. (I'll check with some of my colleagues at work - can probably get real numbers here) Trouble is, both of those products are near end-of-life. So, you wouldn't choose the lowest-end ones, as you need some guarantee of availability. As you move up, that $50 system-on-chip you bypassed looks better, because it's got all the pieces in one package and will save you board space, engineering time and money.


quote:
But in any event, when Tivo's done with the platform, whether it be x86 or MIPS, there's going to be a fair amount of support circuitry; the Tivo is not a simple device. For the simplest possible embedded systems, it is true that some of the SOC embedded solutions based on MIPS and ARM are a real simplicity advantage. But for Tivo, the average x86 embedded platform is a much closer match than the typical MIPS/ARM platform.



I respectfully disagree with you there.

The manufacturer's roadmap is also key here too -- much of the system design process is moving to the silicon companies, so it would not surprise me if some processor vendor is working on a "Tivo on a chip" for lack of a better term. Nothing on the Tivo is so special or complicated that it would not happily live on a die with a CPU, even the MPEG stuff which is easy nowadays. TiVo knows this, they've received all the pitches from the vendors, and are already thinking one or two generations ahead. If there was a "Tivo on a chip" today, Tivo would think really hard about using it.

quote:

I'll point out that a bunch of the embedded systems you mentioned that use MIPS/ARM cores have custom silicon. Dude, if you're going to be making your own silicon, then your goal is clearly not about minimizing development cost, but minimizing per unit costs based on the expectation that you'll make a zillion units. Tivo's not there yet. (it's too bad!)



No, TiVo is not there, but smart silicon vendors realize the potential of the market. They talk to TiVo, TiVo's competitors, cable box vendors, etc. They do have the silicon IP, the licenses for the cores, and the ability to make the silicon that TiVo needs.

TiVo couldn't do it at the beginning of time, since they had to prove the viability of their market.

Now people are starting to notice.

quote:

Saying that there are no sufficiently low-power embedded x86 systems for Tivo's purposes (a non-battery powered device) is just FUD. It's also silly to say that using x86 would require Tivo to use a larger power supply, larger heatsinks and fans.



Well, "FUD" is a pretty strong term - I am in no way trying to inspire fear in anyone :)

X86 processors _do_ require more power and generate more heat than alternatives (read the datasheets, it's all there!) Chipsets are not free, and they do take board space.

Everyone would use the X86 if it was the clear choice. You don't see the X86 thre for a reason -- Intel simply doesn't care about the embedded market, at least not with the X86. AMD is more clueful, but they're too busy trying to stay ahead of Intel on desktop CPUs.


quote:

I asked because I wanted a discussion, and that's what I got. Keep the comments coming!



... and it's a fun discusson too! :D



Posted by: v8q

quote:
Originally posted by EdwinOlson


Saying that there are no sufficiently low-power embedded x86 systems for Tivo's purposes (a non-battery powered device) is just FUD. It's also silly to say that using x86 would require Tivo to use a larger power supply, larger heatsinks and fans. The AMD x86 box in my SMC2655W doesn't need a fan, and runs off a very modest power supply. And in any event, the power budget for the Tivo is almost surely dominated by the hard disk.

I asked because I wanted a discussion, and that's what I got. Keep the comments coming!

-Ed



Wow. talk about FUD. You sound like microsoft marketing.

The powerPC used in the series 1 tivo has so much stuff built in that it can be very usefull with almost no support chips. It needs no memory controller for either EDO or SDRAM, and has lots of hardware support (ie chip select lines) to easily use memory mapped user defined chips. There is a reason that MIPS and PowerPC own this market. You get a lot of performance and versitility for a little money and no need for state of the art cooling systems.
You also get the option to choose an operating system other than from microsoft.
Xbox runs windows and so it would have been silly for MS to choose anything other than x86. In fact, they had no choice. They are stuck selling hardware at a loss until they reach critical mass to crush their competition.
You can then expect MS to come looking for their money back.
Anybody priced MS Office lately?

Intel gave up the microcontroller/embedded market long ago in favor of higher proft computers. The only offerings they have (that I am aware of) is the 20+ year old (but still popular) 8051 series and the former DEC StrongARM processors.



Posted by: kukrer

As to MIPS vs x86 comparison, add the endianness. MIPS is BE (though there are versions you can also run LE), but x86 is strictly LE. If they have BE interfaces from the PPC days, it may not be worth their while to redo those interfaces.

As far as PPC vs MIPS goes, I'm going to guess cost. MIPS instructions are very weak compared to PPC. I doubt going from 50 to 200 Mhz gained them 4 times performance. Depends a lot on superscaling but you can easily a sscalar PPC and match MIPS performance at lower clock. Since a lot more vendors make MIPS, it may have a cost benefit at the higher end, though (at low end it's probably all the same price anyway)



Posted by: kukrer

quote:
Originally posted by v8q

...
Intel gave up the microcontroller/embedded market long ago in favor of higher proft computers. The only offerings they have (that I am aware of) is the 20+ year old (but still popular) 8051 series and the former DEC StrongARM processors.



That is not true. They just don't care about the low performance area. They are an ARM licencee and make the SA1100 and IXP 1200 for one thing. Also they still have the i960 but I'm not sure if they build it mainstream or not.

EDIT: I missed that v8q already mentioned the StrongArms and the DEC connection. But according to Intel's web page, i960 is still in busined as is the [1234]86, and all the Pentiums and their lower power more integrated (on board mem controllers etc) versions specialied for embedded systems.



Posted by: c3

quote:
Originally posted by kukrer
As to MIPS vs x86 comparison, add the endianness. MIPS is BE (though there are versions you can also run LE), but x86 is strictly LE. If they have BE interfaces from the PPC days, it may not be worth their while to redo those interfaces.

As far as PPC vs MIPS goes, I'm going to guess cost. MIPS instructions are very weak compared to PPC. I doubt going from 50 to 200 Mhz gained them 4 times performance. Depends a lot on superscaling but you can easily a sscalar PPC and match MIPS performance at lower clock. Since a lot more vendors make MIPS, it may have a cost benefit at the higher end, though (at low end it's probably all the same price anyway)



MIPS does handle both endianness, but TiVo changed endianness going from series 1 to series 2. That caused incompatibilities for TiVo hacking at the beginning.

I don't know how to compare PPC with MIPS. For the R5432, you have two identical integer/floating point datapaths running in parallel, plus a dedicated multiplier, plus an 8-way 8-bit vector unit ..... all for a very low price.



Posted by: beldar

quote:
Originally posted by v8q


Wow. talk about FUD. You sound like microsoft marketing.

Xbox runs windows and so it would have been silly for MS to choose anything other than x86. In fact, they had no choice.


Actually, they did have a choice. The Mips R4000 was developed with Microsoft as one of the target users--MS wanted to break away from dependence on Intel and was all for Mips becoming a player in the windows workstation market. Windows NT was developed (mostly or partly depending on who you talk to) on a Mips-based reference platform, led by a former DEC guy (you may recall DEC sold Mips-based workstations in the late 80s/early 90s), hence the dual-endianness of the CPU. NT shipped on at least three architectures (x86, mips, and alpha). I believe there was a powerpc version, too.

Price, parts count, multiple sources, high performance compilers, and willingness of the semiconductor partners to customize for particular applications are why Mips and, to a lesser extent, powerpc, are widespread. The performance boost from the compiler backend was certainly a big deal when I worked there from 89-92; I don't know if they've maintained that edge over the years, but I heard it claimed that the compilers squeezed 15-25% out of the specmark benchmarks that prevailed at the time.

It's somewhat ironic to compare Mips' and SGI's market valuation in recent years (SGI acquired struggling Mips in 1992, then spun it off a few years ago). I've worked for both companies, as well as a doomed NT-on-Mips workstation company (NeTpower).



Posted by: c3

quote:
Originally posted by beldar
It's somewhat ironic to compare Mips' and SGI's market valuation in recent years (SGI acquired struggling Mips in 1992, then spun it off a few years ago). I've worked for both companies, as well as a doomed NT-on-Mips workstation company (NeTpower).


Hey, same here. I was in SGI/MTI from 1992 to 1996, and then left the company to work on the R5432. :)



Posted by: Black_Dragon

quote:
Originally posted by Mitch
AMD is more clueful (of embedded processors) , but they're too busy trying to stay ahead of Intel on desktop CPUs.


Funny you should mention that: :)

http://www.theregus.com/content/3/24570.html

http://www.alchemysemi.com/product_...1100/index.html



Posted by: EdwinOlson

Alright, FUD was strong. :)

But Woah, I sound like Microsoft Marketing? Now that's just crossing the line! =)

I haven't seen a series 2 motherboard yet, but the series 1 motherboard had a lot of stuff on it. We're not talking about a SoC, or even a SoC with one or two extra chips. As nice as the PPC/MIPS device Tivo chose, Tivo is going to end up with a fairly complex board until manufactuers are producing A) cheap CPUs with enough compute to do real-time MPEG encodng or B) cheap single-chip devices with dedicated hardware for MPEG encoding.

The AMD ELAN series of embedded SoC devices are examples of the sort of device that I think might have made sense.

It's a single chip that includes 133MHz Am5x86 CPU, SDRAM interface, PCI, and the standard PC I/O stuff. No north or south bridge. The MPEG encoder (presumably) hangs off the PCI bus, as would an IDE controller (I don't think the ELAN includes one?)

This is an actively developed product and Linux is officially supported by AMD.

I'm not saying that the ELAN SC520, specifically, was TiVo's best option, I just mention it as a seemingly attractive option.

Plus, I do think that Tivo could have saved money during development by going x86. Having used Linux on MIPS, Hitachi SH, and ARM, there's no doubt at all in my mind that Linux on x86 is less flaky. I wouldn't be surprised at all if Tivo had a multi-person team of people devoted almost exclusively to kernel maintenance/hacking/debugging/porting. And a significant portion of that, I'd wager, was tracking down strangenesses in the Linux port to their particular hardware platform.



Posted by: v8q

quote:
Originally posted by EdwinOlson
Alright, FUD was strong. :)

But Woah, I sound like Microsoft Marketing? Now that's just crossing the line! =)





Sorry dude!
Didn't mean to offend you by implying you worked for Satan!

Actually, that AMD chip looks pretty cool too. It is really amazing how much power you can get in a "micro-controller" now-a-days.



Posted by: bspahn

quote:
Windows NT was developed (mostly or partly depending on who you talk to) on a Mips-based reference platform, led by a former DEC guy (you may recall DEC sold Mips-based workstations in the late 80s/early 90s)


I remember hearing (or maybe it's just an "urban legend") that the guy who designed NT was the original architect of VMS. He named the new OS WNT after VMS much like Kubrick named HAL in '2001: A Space Odyssey' after IBM.



Posted by: beldar

quote:
Originally posted by bspahn
I remember hearing (or maybe it's just an "urban legend") that the guy who designed NT was the original architect of VMS. He named the new OS WNT after VMS much like Kubrick named HAL in '2001: A Space Odyssey' after IBM.

Search for "david cutler vms wnt" and you'll find many restatements of this story.



Posted by: stevel

Like a lot of legends, there's a grain of truth to it. The chief architect of Windows NT was Dave Cutler, who was the project leader of VAX/VMS V1.0 from 1977 to 1979. It would be a stretch to say that he was the "architect" of VMS, and in fact Dave (I knew him) hated the term "architect". The best things about VMS came from other engineers, such as Dick Hustvedt and Tom Hastings. I heard that the VMS engineers had a celebration when the last bit of Cutler's code was gone from the OS...

Cutler left VMS in '79 and decided to try his hand at compilers, leading the team that created VAX PL/I. He then designed and (partly) implemented the VAXELN operating system, which is really what NT derives from. After he left that project (Dave rarely finished anything!), he set up shop in Seattle developing a new processor (PRISM) and an OS to go along with it. PRISM got cancelled and Dave bailed for Microsoft.

It IS an urban legend that the name Windows NT was derived from VMS.

Yes, DEC did sell MIPS-based workstations for a few years, but that's not relevant to NT development.

Dave was great at ideas - a lot of VAXELN was truly inspired, had it ever been fully implemented - but a lousy software engineer. (And he was a terror as a manager, as well.)



Posted by: beldar

quote:
Originally posted by stevel
Yes, DEC did sell MIPS-based workstations for a few years, but that's not relevant to NT development.

Indirectly, it may be, because it was DEC's interest in little endian Mips processors (unlike nearly all other Mips customers at the time) that laid the groundwork for compiler and CPU support for little endian that made Mips a viable architecture for Microsoft to target for NT (granted, it may all have been a ploy on MS's part to try to take Intel down a notch or two).



Posted by: geowar

>project leader of VAX/VMS V1.0 from 1977 to 1979
When I joined DEC in 1980 VAX'es & VMS was just shipping. The drivers weren't synchronious yet so while the tape (TU 77's?) drives rewound all terminals would lock up. ;-)

That got fixed real quick! ;-)

Ok, so now I've dated myself. ;-)



Posted by: c3

Picture quality has nothing to do with the processor. TiVo has a dedicated hardware MPEG encoder, and that was changed from Series1 (Sony) to Series2 (Broadcom).





vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Limited.
vB Easy Archive Final ©2000 - 2009 - Created by Stefan "Xenon" Kaeser Modified by Adam J. de Jaray