AT&T Hobbit
Encyclopedia
The Hobbit is a microprocessor
Microprocessor
A microprocessor incorporates the functions of a computer's central processing unit on a single integrated circuit, or at most a few integrated circuits. It is a multipurpose, programmable device that accepts digital data as input, processes it according to instructions stored in its memory, and...

 design of the early 1990s from AT&T
AT&T
AT&T Inc. is an American multinational telecommunications corporation headquartered in Whitacre Tower, Dallas, Texas, United States. It is the largest provider of mobile telephony and fixed telephony in the United States, and is also a provider of broadband and subscription television services...

. 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
Bell Labs
Bell Laboratories is the research and development subsidiary of the French-owned Alcatel-Lucent and previously of the American Telephone & Telegraph Company , half-owned through its Western Electric manufacturing subsidiary.Bell Laboratories operates its...

. C Machine, CRISP and Hobbit were optimized for running the C programming language
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

. 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.

Features

In a traditional RISC design, better referred to as load-store architecture, memory is accessed explicitly through commands that load data into registers
Processor register
In computer architecture, a processor register is a small amount of storage available as part of a CPU or other digital processor. Such registers are addressed by mechanisms other than main memory and can be accessed more quickly...

 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 pipeline
Instruction pipeline
An instruction pipeline is a technique used in the design of computers and other digital electronic devices to increase their instruction throughput ....

s and add superscalar
Superscalar
A superscalar CPU architecture implements a form of parallelism called instruction level parallelism within a single processor. It therefore allows faster CPU throughput than would otherwise be possible at a given clock rate...

 support. However, programming languages do not actually operate in this fashion. Generally they use a stack
Stack (data structure)
In computer science, a stack is a last in, first out abstract data type and linear data structure. A stack can have any abstract data type as an element, but is characterized by only three fundamental operations: push, pop and stack top. The push operation adds a new item to the top of the stack,...

 containing local variables and other information for subroutines known as a stack frame or activation record. The compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...

 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
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

. 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
Complex instruction set computer
A complex instruction set computer , is a computer where single instructions can execute several low-level operations and/or are capable of multi-step operations or addressing modes within single instructions...

 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
INMOS transputer
The transputer was a pioneering microprocessor architecture of the 1980s, featuring integrated memory and serial communication links, intended for parallel computing. It was designed and produced by Inmos, a British semiconductor company based in Bristol....

 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
Stack machine
A stack machine may be* A real or emulated computer that evaluates each sub-expression of a program statement via a pushdown data stack and uses a reverse Polish notation instruction set....

, most instructions implicitly use the data on the top of the stack. Higher code density means less data movement on the memory bus
Computer bus
In computer architecture, a bus is a subsystem that transfers data between components inside a computer, or between computers.Early computer buses were literally parallel electrical wires with multiple connections, but the term is now used for any physical arrangement that provides the same...

, improving performance.

One interesting side effect of the Hobbit design was that it inspired designers of the Dis virtual machine
Virtual machine
A virtual machine is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or both together.-VM Definitions:A virtual machine is a software...

 (an offshoot of Plan 9
Plan 9 from Bell Labs
Plan 9 from Bell Labs is a distributed operating system. It was developed primarily for research purposes as the successor to Unix by the Computing Sciences Research Center at Bell Labs between the mid-1980s and 2002...

) to use a memory-to-memory-based system that more closely matched the internal register-based
Register machine
In mathematical logic and theoretical computer science a register machine is a generic class of abstract machines used in a manner similar to a Turing machine...

 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
Instruction pipeline
An instruction pipeline is a technique used in the design of computers and other digital electronic devices to increase their instruction throughput ....

 and thereby operate at higher speeds. They felt that all future processors would thus move to a load-store design, and built Inferno
Inferno (operating system)
Inferno is a distributed operating system started at Bell Labs, but is now developed and maintained by Vita Nuova Holdings as free software. Inferno was based on the experience gained with Plan 9 from Bell Labs, and the further research of Bell Labs into operating systems, languages, on-the-fly...

 to reflect this. In contrast, Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 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
Assembly language
An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...

 is a "heavyweight" operation; Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

's virtual machine
Virtual machine
A virtual machine is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or both together.-VM Definitions:A virtual machine is a software...

 and compiler are many times larger and slower than the Dis virtual machine
Virtual machine
A virtual machine is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or both together.-VM Definitions:A virtual machine is a software...

 and the Limbo
Limbo programming language
Limbo is a programming language for writing distributed systems and is the language used to write applications for the Inferno operating system...

 (the most common language compiled for Dis) compiler. Android's Dalvik virtual machine, the Parrot virtual machine
Parrot virtual machine
Parrot is a register-based process virtual machine designed to run dynamic languages efficiently. It uses just-in-time compilation for speed to reduce the interpretation overhead. It is currently possible to compile Parrot assembly language and PIR to Parrot bytecode and execute it...

 and Lua virtual machine are also register-based.

History and usage

CRISP was produced in 1987, largely for experimental purposes. Apple Computer
Apple Computer
Apple Inc. is an American multinational corporation that designs and markets consumer electronics, computer software, and personal computers. The company's best-known hardware products include the Macintosh line of computers, the iPod, the iPhone and the iPad...

 approached AT&T and paid them to develop a newer version of the CRISP suitable for low-power use in the Newton
Apple Newton
The MessagePad was the first series of personal digital assistant devices developed by Apple for the Newton platform in 1993. Some electronic engineering and the manufacture of Apple's MessagePad devices was done in Japan by the Sharp Corporation...

. 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
Larry Tesler
Larry Tesler is a computer scientist working in the field of human-computer interaction. Tesler has worked at Xerox PARC, Apple Computer, Amazon.com, and Yahoo!...

, ..."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
Hermann Hauser
Hermann Maria Hauser, CBE FREng FinstP CPhys , is an entrepreneur who was born in Vienna, Austria but is primarily associated with Silicon Fen in England....

, who also founded Acorn
Acorn Computers
Acorn Computers Ltd. was a British computer company established in Cambridge, England, in 1978. The company produced a number of computers which were especially popular in the UK. These included the Acorn Electron, the BBC Micro, and the Acorn Archimedes...

) dropped the ARM in its PDA
PDA
A PDA is most commonly a Personal digital assistant, also known as a Personal data assistant, a mobile electronic device.PDA may also refer to:In science, medicine and technology:...

 to use Hobbit. This work was later purchased by AT&T to become AT&T's own EO Personal Communicator
EO Personal Communicator
The EO was an early commercial tablet computer created by GO/Eo and released in April 1993. Eo was the hardware spin-out of GO. Officially named the AT&T EO Personal Communicator, it was similar to a large personal digital assistant with wireless communications, and competed against the Apple...

, an early PDA
Personal digital assistant
A personal digital assistant , also known as a palmtop computer, or personal data assistant, is a mobile device that functions as a personal information manager. Current PDAs often have the ability to connect to the Internet...

 running GO Corporation's PenPoint
PenPoint OS
The PenPoint OS was a product of GO Corporation and was one of the earliest operating systems written specifically for graphical tablets and personal digital assistants...

 operating system. Hobbit was also used in the earliest (unreleased) versions of the BeBox
BeBox
The BeBox was a short-lived dual processor personal computer, offered by Be Inc. to run the company's own operating system, BeOS. Notable aspects of the system include its CPU configuration, I/O board with "GeekPort", and "Blinkenlights" on the front bezel....

. With these exceptions there was almost no commercial use of the design, and production was ended in 1994.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK