On The Transmeta Patents
Ari Levien sent us an article over at CNet that talks about the Transmeta Patents and what they might be up to. You're never gonna believe it: a chip that will emulate the x86.
← Back to Stories (view on slashdot.org)
Personally, assuming the patents they've been getting are for ideas they're planning on using in whatever they make (rather than, say, ideas they came up with for a product they were working on at one point, but that they abandoned in favor of another product), I suspect they're working on a CPU that does have a native instruction set of its own, plus software to translate other instruction sets into native instruction sets, given that they talked about such translation software in the patent most recently mentioned on Slashdot (see my postings on the thread for that patent for quotes from that patent).
I have seen nothing whatsoever to indicate that they plan to have the chips' hardware be reconfigurable to directly execute different instruction sets.
Just out of curiosity, how many vendors have in the past couple of years succeeded in coming out with a new chip with a new native instruction set, a new OS, and a line of computers based on those chips running that OS?
If the answer is "none", or some very small number, this doesn't mean that Transmeta couldn't succeed at doing that, but it suggests that doing so might not be easy, and that the machines might have to have some major advantage over existing machines to convince people to buy them rather than, say, PCs running any of the N operating systems that run on them, or Suns, or HP-UX machines, or RS/6000's, or Alpha boxes, or....
That, in turn, doesn't say that they're not planning on doing that, but it suggests that they might not want to be quite so ambitious, and might realize that, and thus might not be quite so ambitious.
The fact that "the second [iteration of merced]" (Are you referring to McKinley here? "Merced" is the code name for an implementation of the IA-64 instruction set, as is McKinley; they're two generations of IA-64 implementation, not two generations of the Merced implementation of IA-64, as far as I know.) moves into the market quickly doesn't imply that "after that x86 is going to fade fairly rapidly". Fred Pollack's slides from the October 1997 Microprocessor Forum indicate that, at least at that time, Intel planned to continue IA-32(x86) development for a while; perhaps they've changed their minds since then, and perhaps IA-64 will be so successful that they quickly drop prices on IA-64 implementations and kill off x86, but I have no reason to believe that this is guaranteed to happen - IA-64 may well stay high-end for a while.
I don't know at which market(s) Transmeta would aim the processors that they're presumed to be designing; it may well be that said market(s) will switch so quickly to IA-64 that x86 emulation is irrelevant to it, but I'm not about to assume that - and perhaps Transmeta aren't assuming it, either.
Err, umm, perhaps that's because they're not implementing a chip that translates instructions from one instruction set to another, but are implementing a chip with hardware features to allow software to do said translation in an optimistic fashion, and to handle cases where said optimism is unwarranted (e.g., trap, and not make persistent state changes to e.g. memory, so that software can re-translate in a less optimistic fashion).
I'll be surprised if it does come, given that in the most recent patent they quite explicitly referred to translation software.
Nope. But only becouse AMD is doing the same thing 'A different way'. If you use the same method of doing things, you pay Intel. If you come up with your own, you don't. This is why the chips can actually run faster then eachother in DIFFERENT situations. Doing one thing may run faster on the AMD, and another run faster on the Intel chip.
-- I'm the root of all that's evil, but you can call me cookie..
and, Transmeta representatives did not return phone calls
Transmeta has representatives? They have phones? Thats news. The fact that they didn't return their phone calls is no news. If they did return their phone calls, even just to say hi. That would be the news of the decade.
Yes, but the patent seems not to support the conjecture - which was made after the patent was mentioned in a Slashdot thread, complete with a link to the patent's text.
From the patent, it appears that they're doing hardware to let software translation make optimistic assumptions about what the code might do, and recover if the assumptions were overly optimistic, rather than having the software have to assume that (to give an example that I think was mentioned in the patent) the code might make an unaligned reference that crosses a page boundary.
"FX!32".
I'm curious whether it ever has to make overly-cautious assumptions that hardware assists along the lines of the ones mentioned in the Transmeta patents would let it avoid, and whether those assumptions actually cost it enough that those hardware assists would be worth it or not.
My read of the new Transmeta patent confirmed that yes, the processor will "emulate" other instruction sets... but that is not the important heart of the patent. The patent is not on a chip that translates instructions from one set to another (watch for that one, it should be coming soon), the patent is very specifically on a very important issue to operating system designers. Basically, their chip sounds like it will handle multiprocessing (not multithreading since the processes will not share their environment) and prevent process deadlock. I've never seen a study on deadlock avoidance in a situation where the instruction sets are multivarious and being cross-translated but I imagine it could get quite hairy!
Esperandi
Hrrrm, only if you use what Intel's patented. My impression from that CNET article is that anybody can build a chip that supports the x86 instruction set, but if you want to perform certain checks (the bounds/limit checking) in hardware just as x86 does, you're looking at needing licensing.
VLIW, eh? Wonder if they're looking at IA-64 as well.
Only the dead have seen the end of war.
I just want to warn you that most of what the "expert" Richard Belgard has to say on the matter is nonsense. I sent a message to the Journalist who wrote the article, here it is:
I was reading your recent article regarding the Transmeta patents. I develop compilers and so have some background in the area of low level processor archetecture, specifically exception handling.
I'm not sure who Richard Belgard is but much of what he says regarding the patent is nonsense. He may know patents but his interpretation of the patent is largely misguided.
First, some corrections:
Your article states: "Transmeta could be able to sell its chips at a lower, more-competitive cost by avoiding fees it would otherwise have to pay to license Intel patents"
While it may be true that Transmeta can save money by avoiding Intel's patents. That is not why this method will be more inexpensive. The reason the chip will be cheaper is because it is VLIW. That makes for a simpler processor design and more inexpensive chip. Many optimization functions are offloaded, making for a simpler chip. Simpler also translates into higher clock speeds (faster chip).
Later, the article says: "those instructions are stored in memory--either conventional memory or high-speed "cache" memory--so they can be called upon quickly. Because of this method, the Transmeta chip would be good at performing the same instructions over and over, a circumstance that wouldn't force the delays imposed by the translation process...That could make the Transmeta chip a good choice for something like a router..."
I'm not sure why the cache is focused apon so much. It really is an unimportant part of the patent. caches are used very commonly and it's use here is common sense. Regarding the sugestion that the chip may be good for something like a router, that's pretty silly as well. Routers and set top boxes are specialized and therefore don't need to emulate another processor. Using their own processor makes much more sense. Emulation would just be a waste.
Later: "Specifically, it describes when a step in the translation is complete enough that it should be stored in memory"
That is aproaching accurate, but isn't how I would describe it. I'll approach this one a little differently.
Problem: Emulation is slow because state (that is, a 'snapshot' of the processor's...well...state) must be stored for each instruction executed. This is in case an unexpected event or error occurs. This takes up time and makes it so that instructions cannot be reordered for efficiency.
Solution: Store memory writes in a buffer until a 'commit' happens. At this time the processor checks if any of the previous instructions generated an error. If not the buffer is written to permanent memory. If so, the processor can roll back to the point of the error and handle it appropriately.
I cannot stress enough how important this is from a feasability standpoint. This jumps over one of the major hurdles of emulation.
Another small point; Comparing this to AMD or Cyrix attempts is like apples and oranges. They have made clones. This is an emulator. That's why the mention of Intel's patents is a little strange in this context. It isn't intended to create an Intel clone (like AMD or Cyrix). This is an attempt to create a generic "processor agnostic" chip, capable of running anything, as far as I can tell...including Merced. It's important to also note that this chip can apparently run it's own native code as well.
If you have any questions, e-mail casey@sarahandcasey.com
Man can I would have *never* guessed they were designing ANYTHING like an x86 emulator, heck I thought they were gonna make the worlds most expensive flavor of gum, one that could link into your brain and determine what flavor you want it to taste like, and then change its molecular patterns and be that flavor, and after time adapt to your needs, and predict what flavor you will want five seconds from now. An x86andwhateverelsemulator who would have thought!
Well, this was the same thing people were saying the FIRST time TransMeta came out with Patent requests. It's more obvious now that they're aiming at generic instruction set chips (GISC?) that can "emulate" other chips.
But what's changed? Well, for starters, there's a bit more talk about the instruction forecasting method they're going to use.
I also don't see any mention of the new self-configuring chip technology that's made news in the last year. People thought that would be the Intel Killer, since it could be programmed to be faster at whatever it's doing at the moment.
Anyway, if TransMeta goes as expected, it'd be great to see them outpace x86 chips with the same instructions, but if it's capable of that, imagine exploting its power with native code? The "meta" part is great as a transition, but imagine Linux compiled natively on a chip capable of such feats?
Or one could invent new virtual machines and meta-emulate the hardware on these chips for development? Just imagine, a true InterCal chip!
I assume that that when you say Babelchip, you are referring to the biblical account of the tower of Babel... which tells a story about the source all the different languages that exist. I suggest, despite the cool-sounding name, that Babel suggests the confusion of languages... plus the biblical reference might suggest that it run the Jesux OS as it's native OS.
:)
I suggest a name that indicates the unification of multiple languages. No single name encompasses that idea than that of the Rosetta Stone.
For those of you who ignored high school in favor of a GED and late nights hacking code to the latest tunes of some Goth band-- the Rosetta Stone was the single key in unlocking the mystery of the Egyptian hieroglyphics. Napoleon's troops discovered it in 1799 near the seaside town of Rosetta in lower Egypt, and it eventually made its way into the British Museum in London where it resides today. It is a slab of black basalt dating from 196 BC. inscribed by the ancient Egyptians with a royal decree praising their king Ptolemy V. The inscription is written on the stone three times, once in hieroglyphic, once in demotic, and once in Greek. Thomas Young, a British physicist, and Jean Francois Champollion, a French Egyptologist, collaborated to decipher the hieroglyphic and demotic texts by comparing them with the known Greek text. From this meager starting point a generation of Egyptologists eventually managed to read most everything that remains of the Egyptians' ancient writings.
Anyway, I think that a reference the Rosetta Stone would be a great option for the Transmeta chip. Then again Babelchip might be a good idea-I always thought the Jesux OS was a good idea
My $.02
"Perhaps most amazingly, votaries of 'diversity' insist on absolute conformity." -- Tony Snow
Although all the information released to date about the Transmeta technology is concentrating on its ability to run x86 (or any other) chip-specific code, surely the ultimate goal is to run native code on this fast cheap hardware. If it run x86 code at high speed, then Transmeta have a potential revenue stream from day one. But hey, that doesn't really explain what Linus's role in all this does it.
Say that in parallel to developing the x86 compatability, Transmeta are also developing a native code environment. What operating system would be the easiest to port to such a new environment, and who would you want on board to do it for you? Duh...
Wasn't there someone on that patent thread a couple days ago that said "TRANSlatingMETAprocessor"?
-Saxton
_________
My name is Aaron Landry, and I approve this message.
That emulation of the x86 instructions is involved was pretty obvious from the patent document itself. The question is HOW is it done, and no more light has been shed on that.
Personally, I believe they're working on a meta-CPU which doesn't have a native general purpose instruction set of its own, but rather can be programmed to impersonate any number of processors on the fly. This makes sense particularly in light of the rising popularity of FPGA-type approaches to computing. The recent announcement by a company (I forgot the name) of a "mainframe on the desktop" (no, it wasn't Apple!) which is based on 256 or so FPGAs is typical of the trend. Scientific American in its previous issue had several articles about research at MIT into future computing devices, particularly handheld units containing FPGA-type hardware that is reconfigured dynamically to perform whatever functionality the current task requires.
If they strike the pot of gold and do it right--if indeed it can be successfully done--the implications are sublime. Imagine having a PC that can "multitask" being a Pentium, a MIPS, an Alpha, a PPC, a Z80, etc. The processing unit constantly time slices between the different CPU "emulations", each of which in turn is running some operating system. This wouldn't be real emulation in the sense of translating foreign instructions to a native set, incurring the necessay slowdown, but rather instruction decoding in hardware.
The main problem I see is the relatively low logic density of FPGAs as compared to dedicated hardware. Implementing an ALU on an FPGA would require considerably more logic gates and real estate, simply because those gates are general purpose and can also do lots of other things besides being part of an ALU. In addition, having more gates implies more propagation delays, longer signal paths, etc etc. The real gem would be to come up with a strategy or technology which can resolve these issues while still providing all the benefits of a truly generic "CPU".
That's all been resolved now.
Apparent Linus stubled across project "herring" at TransMeta. He had believed that is was the company's project to keep the press and competitors off the trail of what they were working on.
In reality project "herring" was a super-secret project for the US military to turn penguins in the ultimate killing machine. Reports surfaced of emperor penguins with machine guns embedded in their eye sockets and tactical nukes implanted in their bulbous bellies.
The project was cancelled after the army decided to test the work and dropped 1000 of the altered penguins from a B-52 bomber over the Nevada desert. They apparently didn't realize that penguins couldn't fly and the horror of 1000 penguins impacting like water ballons quickly resulted in the project's cancellation.
Thus ended, Linus was able to return to work where the penguins now deliver mail.
that /Trans/lates the instructions from other platforms into native instructions.
;)
Spooky.
This sig is false.
Considering that some of the development team are the same team from the IBM PowerPC 615 chip, which could do the same thing as this fabled /meta/ chip (except with a focus on PowerPC and x86 instructions), I am not suprised.
As far as production, I would assume IBM as a likely producer of such a chip, due to their familiarity with the design team and their firm desire to substitute something for their Intel chips, as shown through their prior partnership with Cyrix, their "Blue Thunder" and the 615 chip.
Karma Whoring for Fun and Profit.