The Hobbit is a microprocessor design of the early 1990s from AT&T Corporation. It developed from the company's CRISP (C-language Reduced Instruction Set Processor) design that was in turn developed from the C Machine experimental efforts in the late 1980s at Bell Labs. 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. Although it was RISC-like in some aspects, it was an "oddball" design in most others. It failed to garner a successful market niche, and production ended in 1994 with no serious commercial use. However, its concepts and ideas were used in, and inspired, more famous hardware.
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 (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 interesting side effect of the Hobbit design was that it inspired designers of the Dis virtual machine (an offshoot of Plan 9) 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 (the most common language compiled for Dis) 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:
- AT&T 92011 System Management Unit
- AT&T 92012 PCMCIA Controller
- AT&T 92013 Peripheral Controller
- AT&T 92014 Display Controller
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 (founded by Hermann Hauser, who also founded Acorn) 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 (unreleased) versions of the BeBox. With these exceptions there was almost no commercial use of the design, and production was ended in 1994.
- "The AT&T Hobbit Enters Its Second Generation", BYTE Magazine, January 1994
- Winterbottom, Phil, Pike, Rob. "The design of the Inferno virtual machine", Bell Labs, Lucent Technologies
- Bayko, John. "AT&T CRISP/Hobbit, CISC amongst the RISC (1987)", Great Microprocessors of the Past and Present, Section Six: Weird and Innovative Chips, May 2003
- Cerda, Michael. "EO Block Diagram". Retrieved May 15, 2009.
- Larry Tesler, "'The Fallen Apple' Corrections", 11 April 1999
- Kirkpatrick, David (1993-05-17). "COULD AT&T RULE THE WORLD?". CNN. Retrieved 2008-06-10.
- The BeBox Zone - Prototype Hobbit BeBox Gallery
- Computer Industry Report 1992 article - Hobbit - AT&T Microelectronics' most visible new product - takes on Intel, ARM, Motorola, Microsoft - Intel Corp.; Motorola Inc.; Microsoft Corp
- Low End Mac - Sculley's Dream: The Story Behind the Newton, by Tom Hormby