Transmeta in 1999 26
Petergun sent
us another
Transmeta story which does not reveal much new, but provides
a nice summary of last year's events.
Brian Neal appears to believe that 1999 will be Transmeta's
year.
GREAT MOMENTS IN HISTORY (#7): April 2, 1751 Issac Newton becomes discouraged when he falls up a flight of stairs.
skeptical (Score:1)
--Zachary Kessin
not so green (Score:1)
__
Anyone know how this would work? (Score:1)
I think the inference being drawn from the patent is that the chip wouldn't run multiple instruction sets. It would run one instruction set, but some of the software running on it could read machine code in some instruction set and write out "equivalent" code in the chip's native instruction set.
The patent discusses some modifications to the hardware to help this process out; however, that help doesn't include directly executing the instructions.
There aren't any "UNIX instructions"; various UNIX-flavored operating systems run on machines that use various different processors. For example, Linux runs on PCs with processors that run x86 instructions. PowerPC machines, Alpha machines, etc. - and some other UNIX-flavored OSes run on Crays, IBM mainframes, etc..
As per the above, the software running on the chip could, conceivably, translate x86 code or PowerPC code or... into native code and run it; some of the hardware assistance appears as if it might be intended to allow even operating system kernel code, which may refer to I/O devices in a fashion similar to the way it refers to memory, to be translated and run, so it might be that a system with PC-like peripherals, and a chip that implements the invention described in the patent, running software that can translate, say, x86 machine code, could run an operating system intended for an x86-based PC, whether it be Windows 9x, the x86 version of Windows NT, the x86 version of Linux, the x86 version of Solaris 2.x, the x86 version of BeOS, etc..
I think the claim that it might be "a chip that can run anything and everything" is a bit extreme - most chips can't, by themselves, run much of anything, as they need additional chips to connect the CPU chip to memory, an I/O bus, etc., so if you built a system with such a chip and a Mac-like set of peripheral chips, it might not be able to run an operating system for an x86-based PC, as some of the "support chips" might be different.
If the operating system running on the system containing that chip included code to emulate a foreign operating system, it might be possible to run applications for an operating system for machines with a different processor chip, e.g. a Linux machine with that chip and some kind of MacOS emulator, plus software to translate 68K or PowerPC code to native code, might be able to run MacOS applications, as well as native Linux x86 applications if the software also included stuff to translate x86 code to native code.
Sounds to me like changeable microcode... (Score:1)
...if your processor is microcoded. Plenty of processors aren't micrcoded, and even some that are run many instructions in hardware (e.g., I have the impression that all Intel x86 processors, starting with the 486, do many of the common instructions directly in hardware).
...except when it isn't. Some machines in the past have had loadable microcode; in addition to machines intended to e.g. have different microcode loaded to implement different instruction sets, and those that had the ability to load microcode to implement new instructions, a number of them, such as, I think, many later IBM System/3xx mainframes, loaded microcode from e.g. a floppy disk (I think the 8" floppy may originally have been developed by IBM as a device from which to load S/370 microcode).
I don't. If the patent they got reflects what they're currently planning on doing, they appear to be creating a processor that probably has only one instruction set, but has some amount of hardware features to make life a bit easier for software that translates code from other instruction sets to its native instruction set and then executes that code.
Anyone know how this would work? (Score:1)
I suspect he doesn't but, even if he does, what byte-coded languages are you thinking of? Java? Guess that makes MacOS, OS/400, Windows, etc. "UNIX-like". Perl? Gee, I have the impression that'd make Windows, possibly MacOS, possibly others "UNIX-like".
I've not seen anything to lead me to think of languages that get compiled into interpreted byte-codes as being a particularly UNIX-specific language.
A UNIX-like OS written in Java or Perl? (Score:1)
Neither have I (I don't know what JavaOS, or whatever it's called these days, looks like, but I suspect it's not "UNIX-like" in the sense of having its core API look A Lot Like That Of UNIX).
I wasn't saying that either Java or Perl were used to make such an OS; I was saying that Java and Perl (definitely Java, and I think Perl as well) compile into a byte-coded language,but neither of them are UNIX-specific, so neither of them count as the sort of language whose byte codes could reasonably be called "UNIX instructions".
Transmeta/Amiga (Score:1)
for Gateway/Amiga inc next. gen Amiga along with QNX who are supplying
their neutrino OS core (posix/unix)??????
Java Deja vu? (Score:1)
Misunderstanding. (Score:1)
"Your Good, Real Good."
Wild speculation (Score:1)
The patent is somewhat of a red herring as any method for determining whether a physical address is memory or MMIO could be better used to determine whether an address resides in local memory or in shared memory in a multiple-processor system. This would be a much more useful application of this technology!
Transmeta is almost certainly working on a CPU that supports parallel processing very well (I beleive that Linus was hired for his experience with SMP). Probably using both large on-chip cache memory and large shared memory address space. I would assume that scalability up to massively parallel would also be a design goal. To make this chip useful, they also need a compiler that can generate code to take advantage of parallel processors.
Transmeta may or may not be working on emulating existing CPUs and OSes. The way to emulate an existing CPU is not by changing your microcode, but rather by using the type of technology used in Java JIT compilers. Instead of just translating Java byte code to native machine language, this could be extended to also translate X86, 68000, or PowerPC instructions on an on-demand basis into the new CPU's native instructions. If the JIT compiler also knew how to parallelize the tasks very well, it would then be possible to emulate older processors in faster-than-real-time by using parallel processors! But to really make this useful, you also have to emulate the run time environment, e.g. Linux, Windows, or MacOS. Net result would be a machine that could simultaneously run applications written for different operating systems and CPUs. Way cool, if you can get it to work! As a minimum, I would expect at least Java to be supported in the first release, as this immediately gives you loads of applications for the new chip.
Disclaimer: I am not privy to any inside information about Transmeta, and probably know less about this than you do! However, I would appreciate any feedback you can give me on how likely/unlikely my speculation is to be true.
Question: Does anybody know of any research done on the parallelizability of Java byte code, and if so, where are the researchers now?
There is no Mafia! (Score:1)
;-)