AT&T Hobbit


The AT&T Hobbit is a microprocessor design that AT&T Corporation developed in the early 1990s. It was based on the company's CRISP design, which in turn grew out of Bell Labs' C Machine design of the late 1980s. C Machine, CRISP and Hobbit were optimized for running the C programming language. The design concentrated on fast instruction decoding, indexed array access and procedure calls. Its processor was partially RISC-like. The project ended in 1994 because the Hobbit failed to achieve commercially viable sales.

Features

In a traditional RISC design, better referred to as load-store architecture, memory is accessed explicitly through commands that load data into registers and back out to memory. Instructions that manipulate those data generally work solely on the registers. This allows the processor to clearly separate the movement of data from the processing done on it, making it easier to tune the instruction 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 supported the types of memory access that programming languages used and was optimized for running the C programming language. Instructions could 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 was handled entirely via a stack of 64 32-bit registers; the registers were not otherwise addressable. 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 interesting side effect of the Hobbit design was that it inspired designers of the Dis virtual machine to use a memory-to-memory-based system that more closely matched 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 felt 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 and compiler are many times larger and slower than the Dis virtual machine and the Limbo compiler. Android's Dalvik virtual machine, the Parrot virtual machine and Lua virtual machine are also register-based.

History and use

CRISP was produced in 1987, largely for experimental purposes. Apple Computer approached AT&T and paid them to develop a newer version of the CRISP suitable for low-power use in the Newton. The result was the Hobbit, which was initially produced as the 92010 in 1992 with a 3 kB instruction buffer and the 92020 in 1994 with 6 kB. Several support chips were also produced:
However, the Hobbit-based Newton was never produced. According to Larry Tesler, "The Hobbit was rife with bugs, ill-suited for our purposes, and overpriced. We balked after AT&T demanded not one but several million more dollars in development fees." Apple dropped their interest in the Hobbit and moved on to help form Advanced RISC Machines, ARM, with a $2.5 million investment. When the company sold their stake in ARM years later, they netted $800 million.
In a strange twist of fate, while Apple dropped the chip in favor of ARM, the Active Book Company which had been using an ARM in its Active Book PDA was later purchased by AT&T and was subsumed by AT&T's EO Personal Communicator, company which produced an early PDA running GO Corporation's PenPoint operating system. Hobbit was also used in the earliest versions of the BeBox. With these exceptions there was almost no commercial use of the design, and production was ended in 1994.