Slashdot Mirror


Inside Transmeta

Quite a number of people have written about this story - here, ContinuousPark writes: "IEEE's Spectrum magazine has an interesting article with a step-by-step account on Crusoe's design process. It also talks about how they got the venture capital by creating the term 'code morphing,' how they hired their staff and how is it to work there, among other details."

22 of 77 comments (clear)

  1. Even trickier than we thought by ZetaPotential · · Score: 3

    "Apparently Windows95 still had a lot of old 16-bit code in it, whereas Unix (as well as Windows NT) used a flat memory model with pure 32-bit code. Supporting 16-bit code was something that Transmeta had decided to offload into software... The redesign process added about a year to Transmeta's development time."

    Transmeta would have been done a year ago, except that Win95 was apparently designed so badly that it took them a whole year to get their technology down to that level. Yet another example of Mr. Gates thwarting the competition!

    --
    Unhappy? Kill your television.
  2. Crusoe has substantial merits. by Christopher+Thomas · · Score: 3
    But what have they actually got to show for all of their venture capital and demonstrations? Not a lot, just a fair of fancy chips that run at about a quarter of the speed of most chips today. Sure, they use less power, but their performance is a joke, and their oh-so-fancy "code morphing" technology looks a bit overrated since the chips are just running Linux.

    There are a few things that you seem to be overlooking, here:

    • Crusoe chips also run Windows.
      Anyone who feels like dual-booting to Windows on their Crusoe notebook is perfectly free to. They aren't Linux-only. They're emulating the x86 _architecture_, not just a particular operating system.
    • Power consumption is very, very important for notebooks and palmtops.
      If you want to play Quake III, use an Athlon or a Pentium III. Power consumption is not an issue for game machines. However, the Crusoe is not _targetted_ at game machines. There is a vast market for extremely low-power, reasonably good chips for PDAs and notebooks, and this chip looks perfectly targetted to that market.
    • Code morphing gives Transmeta an "in" on Arm and Dragonball territory.
      Most PDAs do not use x86 chips at the moment. You could build a PDA around a Crusoe with x86 binary translation and bash Linux into shape for PDA work - or you could write a new code morphing later for ARM and/or Dragonball emulation, and use PalmOS et. al. without modification.


    Summary: Crusoe does many things well, and is well-targetted for its niche. You seem to be assessing the chip purely from a desktop standpoint, which leads to questionable conclusions.
  3. is it even faster "native"? by swinge · · Score: 3
    Transmeta seems like it must have been a really fun place to work over the past few years. I've been lucky enough to find a few great groups of people to work with, but Transmeta seems to have all the ingredients. I like smart people, I like a large number, and I love it when they bring dinner in! Cool.

    Code morphing looks to be a very clever trick, building support for optimizing compilers into the processor architecture for runtime compilation of machine code.

    So, let's say it's successful (it isn't guaranteed). Once this architecture (actually, I guess it's a family of architectures from what I've read before) establishes itself, wouldn't code written to run "native" run better? By this I mean, code that does not do the things that are harder or more "heat" expensive to emulate. Aren't they neglecting an opportunity for OEMs to create even zippier devices by pitching it only as an x86 emulator? Using the Palms formerly known as Pilot for the standard, there's not a lot of software there, the apps aren't very rich: a device that did that by default, with WinCE running as an app would be kinda cool.

    1. Re:is it even faster "native"? by SimonK · · Score: 2

      There's be several problems with trying to write native code for Crusoe series devices. I am astonished none of the follow ups have pointed some of these out.

      Firstly, Transmeta do not and have said that they will not publish the 'native' intruction set for the VLIW architecture(s). The only way I can see anyone getting around this is by partnering with them to create a run-time compiler for a different instruction set under NDA. It probably counts are core intellectual property. The two existing processors have different architectures anyway, so you instantly lose compatiblity not only with the x86 but also within the Crusoe series.

      Secondly, VLIW processors like Crusoe and (quietly) Merced rely on the compiler doing their instruction scheduling. You therefore won't (unless you have a compiler for a brain) be able to write native assember, and will have a huge job cut out for you writing a C compiler. You may run into problems being able to optimise as well as Crusoe's code morpher even with teh best C compiler in the world, as you don't have as much information as it does since its operating at runtime.

      Lastly, the instruction set is optimised for emulation, possibly even specifically for x86 emulation. Not only is its own behaviour going to be odd (they've clearly developed the HW and SW components of the CPU to work toghether, so you've effectively only got half of a processor), but important elements of normal CPU behaviour will be missing. For instance, exceptions will be strange to work with the commit/rollback mechanism, and as someone else has said, important hardware features like the MMU and some 'core' peripherals will be missing, since they're implemented in the processor firmware.

      In short - forget it.

    2. Re:is it even faster "native"? by dadith · · Score: 3

      Well I've posted an article aboout that somwhere in this discussion but I think we overlapped a bit ;)

      Before reading this article I thought pretty much the same reagardless how nicely and efficent codemorphing is, it causes overhead and slows execution down. The fact that Crusoe still (seems) to keep up with real natice implementations of the instruction set hints a a very high potential for native applications. So far so good.

      But

      As I read it (please correct me if I'm wrong) the crusoe does not have a MMU at last not a fully functional. So some part of that is loaded off to the Software layer as well, which makes sense since the morphing software does not need an MMU and we need to filter memory access anyway (for those virtual devices). There are other things as well. Does the Crusoe have a privilege system? I doubt it, because it's not needed. These things can be handled solely in software.
      The engenieers at transmeta took quite a lot of shortcuts when designing this CPU and as a result it's quite possible that an OS implementation on the bare Transmeta Instruction set would not be possible without seriously compromising the OS.

      Plus I could imagine that Crusoe would be a real pain to program. But if I'd be in a position to know that the only pain would probably result from all the glue I put on my chair ;)

      Ciao, Peter

    3. Re:is it even faster "native"? by Chalst · · Score: 2
      Well, I don't have any insider knowledge into the Crusoe, but I have
      written microcode for a VAX, and I'm guessing the issues are
      similar, (if more subtle, with caching and shadow registers, and the
      sheer complexity of the source architecture). Microcoding feels much
      lower level than assembler: you really need to have a grasp of the
      underlying architecture to make it work, and the coding tricks tend to
      have the same flair as circuit layout: thinking about what data has
      got how far in its execution path, and trying to figure out how to
      divide up a task to make best use of the available `blocks' of
      hardware.

      My feeling is that code morphing is the the missing key to making
      VLIW work. VLIW was supposed to simplify processor architecture, but
      the designs put forward by Intel have increased complexity, and
      reportedly disappointing performance.

    4. Re:is it even faster "native"? by stripes · · Score: 2
      Once this architecture (actually, I guess it's a family of architectures from what I've read before) establishes itself, wouldn't code written to run "native" run better?

      I expect so. Except it is likely to be pretty painful since there may be seeming arbatary restrictions like "ALU1 and ALU2 may not both have even register numbers as targets in the same clock cycle" because that may have made the hardware modestly better in some way, and not made the code morpher (much) harder to write. It also doesn't have a "real" MMU (I havn't found out what it does have, so I'll guess a hardware TLB, and all software table walks, but who knows). Oh, and the two biggest problems of all:

      • Transmeta has two diffrent CPU products the TM3120, and the TM5400. The two CPUs have diffrent (internal) instruction sets. The future products are likely to as well, with some of them being extreamly diffrent from each other.
      • Diffrent steppings of the TMxxxx will have diffrent eratta, and severe eratta compaired to "normal" CPUs because a normal CPU can't be used with some of the bugs the TMxxxx can!

      The article even gives a good example of the kind of severe eratta the TM can live with. At 433Mhz-ish the CPU worked fine. At faster speeds it can't execute two particular instructions in the same bundle (it didn't say what they were, so I'll pretend they were "ADD with 32bit immediate; BRANCH ON CARRY to 16bit offset"). That would prevent the shipping of a normal CPU (faster then 433Mhz at least). With the TM the code morpher can be set to avoid issuing those two instructions at the same time if the CPU stepping is known to have that bug, and they can ship a 600Mhz version. The performance loss from having to code "ADD with 32 bit immediate; NOP; BRANCH ON CARRY to 16bit offset; NOP" will be tiny, I would be supprised if it was 3%, esp. since the CM may frequently be able to fill the NOPs with other instructions.

      That's not to say all, or many steppings have such bugs, but if they put out new version with a better cache (25% perf boost) and it introduced a bug that could be avoided by taking a 3% hit, they can release. Nobody else can, because they can't be sure all fielded code avoids such bugs! TM can because, and only because there is one and only one application, the Code Morpher.

      You may as well assert you could make faster VAX programs if DEC (er, Compaq) opened their Microcode, or the 68020 and Motorola. Your right, you could. But it would be extreamly non-portable, and may severly restrict Transmeta/DEC/Moto from being able to make new CPUs if a signifigant app starts depending on that ability.

  4. But not what they intended by Animats · · Score: 2
    The usefulness of what Transmeta has done has little to do with the VLIW/translation architecture. It's the power management stuff that turned out to be useful. Intel and AMD haven't focused on battery powered devices until recently; most of the volume was on the desktop and the demand for fast CPUs in battery-powered devices was limited. This has changed, and Transmeta came along at the right time to exploit it.

    Intel and AMD can play this game too; it's quite possible to switch parts of their x86-type CPUs off, and they can probably run the clock speeds up and down too. Now that somebody has exploited the low-power high-end x86 niche, we'll probably see the big guys in it too.

  5. Re:They DON'T WANT a native os by Chalst · · Score: 2

    The article points out that RISC instruction sets perform better than
    i86 instruction sets. And I heard a rumour that they work working on
    JVM support (best of luck to them... they've got their work cut out).

  6. Re:There is no hidden source code in this message by PurpleBob · · Score: 2

    Yow. Slashdot's HTML source is horrendous, but I found the message. Clever. :)

    --
    No more e-mail address game - see my user info. Time for revenge.

    --
    Win dain a lotica, en vai tu ri silota
  7. Things that make me hunger for this pie... by SuperKendall · · Score: 3

    If you would read the article, you would find that Linus is not even mentioned.

    As for the product, I'm a believer. Here are some of the things that exite me about the product:

    * Variable power consumption depending on the task at hand.
    * Code morphing means that they can change the hardware completeley to enhance specialized tasks without recompiling the software.
    * Can run binaries for multiple architectures at the same time.
    * First really new chip design in some time.
    * Dynamic optimization of running code to improve application performance.

    The last point has been proved quite well in my mind my Sun's HotSpot technology for Java. I've seen my own code, my own examples greatly increase in speed using HotSpot.

    Dynamic compilation con provide great speed increases as it can improve speed of code that you run the most - No matter how much a developer profiles an app ahead of time users always end up using the application at least a little differently than anticipated. It also fits the way I've seen most users (including myself) using computers, where you spend a long time working with a small set of applciations.

    The chips may be a little slower now, but especially in the area of portable devices speed may not be your primary concern. I really don't care how many FPS I can get out of UT on a laptop as much as I'd like to run it a week on the same battery.

    That's where the hardware improvement flexiblity comes into play. By redesigning software and hardware, they could design to go a lot faster if they want to - or, they could design for a lot lower power consumption than they have even now. One of the critisms of the chip has been that the ARM chips run with even lower power usage, but that may not stay true forever. Remember, it wasn't until the last year of design that they even considered low power consumption an important goal at all! Lower power chips are probably the first goal they have in mind now. for the next chips they produce.

    I haven't bought a laptop yet because of the terrible battery usage. A Transmeta laptop would be very appealing to me if it could make battery use last a whole 24 hours, and also provide a good level of performance for Java and Linux applciations (so I could do design work with TogetherJ on a plane or in a hotel room, for instance).

    Do you not think there is a HUGE market for laptops (that can also run Windows stuff) with a battery life "only" three times greater than the nearest competitor? Sounds like a pretty level headed plan to me.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  8. Abstracting the hardware by divec · · Score: 2

    The Transmeta design abstracts the hardware from legacy software, which means chips can be redesigned as the future brings new hardware demands. This is good - better than x86 which might have been designed well for 1978 but is a dead weight now. However, Transmeta have patents on this technique so if this chip becomes dominant, Transmeta will have a chip monopoly. I realise that there aren't that many chip companies at the moment because there is a large natural barrier to entry (the cost of a fabrication plant); however, at this moment there is competition between AMD, Intel and to a lesser extent things like ARM and Alpha.


    Another way of abstracting the hardware from software is the way the free unixes do it - have a portable kernel and libc and use source compatibility. This only works for open-source software but has the advantage of not needing to rely on another monopoly. If GNOME and K Office get popular, this may provide serious competition with Transmeta's chip. Anyone reckon Linus has a conflict of interest? [Depends what his job at TM actually involves]


    The third way is the Java way, with bytecode. The trouble is that the Java language is under Sun's control so this again carries some danger of creating dependence upon a monopoly.


    How difficult would it be to have some sort of "portable C bytecode", which could be compiled later into a native executable for a given architecture? I realise this wouldn't work for C programs which assume sizeofint, endianness etc., but lots of the best quality free source code doesn't make such assumptions. If there was such a bytecode format, then good coding practice would be sufficient to create a portable app, and this would include non-free software distributed in the bytecode format. A way of allowing consumers choice of architecture for non free software?

    --

    perl -e 'fork||print for split//,"hahahaha"'

  9. A few comments... by tommyq · · Score: 2

    Apparently Windows95 still had a lot of old 16-bit code in it...

    I didn't understand this part of the article--isn't Microsoft known for it's innovative, leading-edge products? How could their products get to be burdened with legacy code? ;)

    Hey, I would think that Transmeta's unique design would make it easy to transition it from being a 32 bit platform to being a 64 bit platform. Does anyone think this is going to allow them to come out with a product that will compete with the IA64?

    --
    Respondeo dicendum quod . . .
  10. Laughing all the way to the bank by Forge · · Score: 3

    Venture Capitalists who put money into Transmeta are liking there chops already. It's going to take some major goofups for this baby to do anything but rake in vast piles of money.

    Sure it's not the fastest chip out there but it is fast enough for most things. iNTEL will over the next few months have to market it's laptop chips as a way to play Quake on the road. There is a good chance that they will make an offer on Transmeta. There is also a good chance that Transmeta will say no.

    Why no ? Because after reading up on how these chips work I have come to realize that this "It's a low power chip for portables" argument is just to get a leg in the door. The way Code Morphing works suggests that it will be possible to gang several chips together and have them perform like a single, very fast CPU. All it takes is modifications to the code morphing software.

    Do SMP at that level then again at the OS level and you will have 16 and 32 way machines that scale like 2 way or 4 way boxes even under Linux 2.0 or Windows NT 4.

    When ( not if ) Transmeta moves into the high end they will dominate it for a few years just as they will gradually come to dominate the portable market.

    --
    --= Isn't it surprising how badly I spell ?
    1. Re:Laughing all the way to the bank by Chalst · · Score: 2

      I doubt it helps with parallelism (SMP I would guess is very difficult
      to do with a Crusoe), but doing so much in software is very exciting.
      It makes it much easier to design and upgrade coprocessors like math
      and 3d accelerators, and to support extensions to instruction sets in
      existing processors. Transmeta seem to be keeping the doors to
      software changes to the Crusoe tightly under wraps though...

  11. Re:More confident about Transmeta by rjamestaylor · · Score: 2
    You might be more confident about Transmeta because of the technology. But think about it, when was the last time that technology mattered more than marketing when it comes to the big sells.

    You're exactly right. Successful Marketing is key to sales.

    Although I wasn't stressing the marketing aspects in my (badly misspelled) post, for Transmeta to be successful as a company marketing (actually, sales) is key.

    But, in this regard I think we've been confident of Transmeta for a long time: what other chip-startup has generated the buzz and excitement and anticipation over a x86 compatible chip (that may or may not be cheaper than Intel's own chips)? Name the current crop of x86 compatible chip manufacturers. "AMD, uh...". Now name the x86 chip manufactures whose every move is reported by even mainstream media with baited breath. Hmmmm....I can only think of one.

    That Transmeta has a marketing edge is indisputable. Whether that will translate into sales is.

    But I know I'll be rushing out to handle (and buy?) the first products available...

    Oh, BTW, VHS vs Beta wasn't a matter of Marketing Prowness. Sony marketed Beta to the hilt. But VHS was an open standard that was good enough for the market's needs and cheap enough to distract the market from the better (and more expensive) Beta. In this regard, Transmeta may be on the right track, too. Why? Because they are targeting the industry standard x86 platform instead of some brand-new proprietary but technically superior and award-winning instruction set (think: Alpha). Transmeta won't even release the VLIW codes for direct manipulation (because they don't want to distract people from thinking their chip is in the x86 market). Of course, Crusoe may not be cheaper, but they are at least going for the largest market segment.

    With Hype, Goodwill (they hired Linus), and technological promise on their side, I'm sure Intel, AMD and uh.... the others are worried.

    --
    -- @rjamestaylor on Ello
  12. More confident about Transmeta by rjamestaylor · · Score: 5
    After reading the article (which everyone does do, right?) I am more confident about Transmeta's technology and future (in the current market dynamics, of course). Why? Because the article does nto mention Linus Torvalds once (except. perhaps, in general reference in the "we hired people straight out of college" section).

    Don't misunderstand, I am a fan of Torvalds.

    It's just that Transmeta is not Linus' idea, it's his employer.

    The fact that this article details the vision (and results of the working-out of that vision) rather than hyping it's Most Famous Employee(SM), is a Good Thing(TM).

    Go Transmeta! (And, go Linus!).

    --
    -- @rjamestaylor on Ello
  13. Crusoe articles? by Chalst · · Score: 3

    There has been a dearth of good technical analyses of the Crusoe
    available on the web. There is this official White
    paper (PDF), and I liked this
    article by Jon Stokes at at Ars Technica, but apart from that I
    have seen very little quality information. This essay is much needed.

    1. Re:Crusoe articles? by stripes · · Score: 2
      There has been a dearth of good technical analyses of the Crusoe available on the web

      Have you looked at Transmeta's own pages? They have everything I would think of as "technical" from this article except the bit about being "bug for bug compatable" being the hardest bit (and since the article mangled that by defining it as getting the BSOD at the same place rather then tracking Intel's bugs so software dependent on them don't BSOD/segv I'm not giving any credit!). Oh, and the article also gives slightly more detail on what early Si bugs were worked around in software.

      The Transmeta page will show you the code sequence the article used, and explain how it is derived, and how fast it is, along with a few others.

      What I will say for the article is it did a good job explaining the nontechnical parts. It was intresting what it took to get the VCs rolling. What the work enviroment is like. How psyced the hardware folks are to get to do a brand new CPU every time.

      Good article, worth the read. But not for the tech info.

    2. Re:Crusoe articles? by Chalst · · Score: 2

      The only article at the Transmeta site I found really illuminating was
      the white paper `The technology behind the Crusoe processor' which I
      cited. The Spectrum article does give a lot of technical insights
      that I hadn't seen elsewhere: eg. about modelling off-chip supporting
      hardware in software, and specifics about the problems the engineers
      faced. Readers will get much more out of the Spectrum article after
      they have digested the information in the two links I gave.

    3. Re:Crusoe articles? by Chalst · · Score: 2
      D'oh! Sorry, you labeled it as the offical paper, but somehow I missed thet when looking at where you link went (not to TM, but off elsewhere). Sorry.

      Sorry, kind of confusing. I didn't notice the link I gave was a
      mirror site.

  14. Native Transmeta by dadith · · Score: 2

    Now up until I read that article I always wondered, why Transmeta refused to reveal their code or port an Operation System to the native instruction set of their CPU. There were several quit good reasons given for that but this article came up with another one at last I wasn't aware of:


    Nor did it have memoy management in the front end of the machine
    Now do I read this correctly? The Transmeta does not have a MMU in the usual sense? No Memory protection and such? I can clearly see why something like that could be left to software, especially if you target more than one intruction set but this would definetly a problem if you ever wanted to build a native OS for Transmeta CPUs.

    Ciao, Peter