AT&T Hobbit
From Wikipedia, the free encyclopedia
The Hobbit is a microprocessor design of the early 1990s from AT&T. It developed from their 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 the mid-90s with no serious commercial use. However it was used in and insipired more famous hardware, shown below.
In a traditional RISC design, better referred to as load-store, memory is accessed explicitly through commands that load data into registers and back out to memory. 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 an activation record or stack frame. 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 sorts of memory access that programming languages used. Instructions included the ability to talk directly to memory, notably 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 (compare 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; it's the data following on the stack. Higher code density means less data movement on the memory bus, improving performance.
[edit] History and Usage
CRISP was produced in 1987, largely for experimental purposes. According to a major computing timeline, 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 Hobbit was produced as the 92010 in 1992 with a 3KB instruction buffer and the 92020 in 1994 with 6KB. Although it did not end up being used by Apple, it did see use in AT&T's own EO Personal Communicator, an early PDA, as well as the earliest (unreleased) versions of the BeBox. With these exceptions there was almost no commercial use of the design, and production was ended.
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 register-based system that more closely matched the internal 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 compiler and virtual machine are many times larger and slower than Limbo.
[edit] External Links
- The design of the Inferno virtual machine with references to the Hobbit
- 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