pipelines and add superscalar support. However, programming languages do not actually operate in this fashion. Generally they use a stack containing local variables and other information for subroutines known as a stack frame or activation record. The compiler writes code to create activation records using the underlying processor's load-store design. The C Machine, and the CRISP and Hobbit that followed, directly support the types of memory access that programming languages use and is optimized for running the C programming language. Instructions can access memory directly, including structures within memory such as stack frames and arrays. Although this "memory-data" model was typical of the earlier CISC designs, in the C Machine data access is handled entirely via a stack of 64 32-bit registers; the registers are not otherwise addressable, in contrast with the INMOS Transputer and other stack-based designs. Using a stack for data access can dramatically reduce code size as there is no need to specify the location of the data needed by the instructions. On such a stack machine, most instructions implicitly use the data on the top of the stack. Higher code density means less data movement on the memory bus, improving performance. One side effect of the Hobbit design is that it inspired designers of the Dis virtual machine (an offshoot of Plan 9 from Bell Labs) to use a memory-to-memory-based system that more closely matches the internal register-based workings of real-world processors. They found, as RISC designers would have expected, that without a load-store design it was difficult to improve the instruction pipeline and thereby operate at higher speeds. They decided that all future processors would thus move to a load-store design, and built Inferno to reflect this. In contrast, Java and .NET virtual machines are stack-based, a side effect of being designed by language programmers as opposed to chip designers. Translating from a stack-based language to a register-based assembly language is a "heavyweight" operation; Java's virtual machine (VM) and compiler are many times larger and slower than the Dis VM and the Limbo (the most common language compiled for Dis) compiler. The VMs for Android (Dalvik), Parrot, and Lua are also register-based. See also Jazelle References External links The BeBox Zone - Prototype Hobbit BeBox Gallery (archived version) Computer Industry Report 1992 article - Hobbit - AT&T Microelectronics' most visible new product - takes on Intel, ARM, Motorola, Microsoft - Intel Corp.; Motorola Inc.; Microsoft