C-language Reduced Instruction Set Processor
   HOME

TheInfoList



OR:

The AT&T Hobbit is a
microprocessor A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circu ...
design that
AT&T Corporation AT&T Corporation, originally the American Telephone and Telegraph Company, is the subsidiary of AT&T Inc. that provides voice, video, data, and Internet telecommunications and professional services to businesses, consumers, and government agen ...
developed in the early 1990s. It was based on the company's CRISP (C-language Reduced Instruction Set Processor) design, which in turn grew out of the C Machine design by
Bell Labs Nokia Bell Labs, originally named Bell Telephone Laboratories (1925–1984), then AT&T Bell Laboratories (1984–1996) and Bell Labs Innovations (1996–2007), is an American industrial research and scientific development company owned by mult ...
of the late 1980s. All were optimized for running code compiled from the
C programming language ''The C Programming Language'' (sometimes termed ''K&R'', after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as ...
. The design concentrates on fast instruction decoding, indexed array access, and
procedure call In computer programming, a function or subroutine is a sequence of program instructions that performs a specific task, packaged as a unit. This unit can then be used in programs wherever that particular task should be performed. Functions may ...
s. Its processor is partially
RISC In computer engineering, a reduced instruction set computer (RISC) is a computer designed to simplify the individual instructions given to the computer to accomplish tasks. Compared to the instructions given to a complex instruction set comput ...
-like. The project ended in 1994 because the Hobbit failed to achieve commercially viable sales.


History

CRISP was produced in 1987, largely for experimental purposes.
Apple Computer Apple Inc. is an American multinational technology company headquartered in Cupertino, California, United States. Apple is the largest technology company by revenue (totaling in 2021) and, as of June 2022, is the world's biggest company b ...
approached AT&T and paid it to develop a newer version of the CRISP suitable for low-power use in the
Newton Newton most commonly refers to: * Isaac Newton (1642–1726/1727), English scientist * Newton (unit), SI unit of force named after Isaac Newton Newton may also refer to: Arts and entertainment * ''Newton'' (film), a 2017 Indian film * Newton ( ...
handheld computer. The result is 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 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 Lawrence Gordon Tesler (April 24, 1945 – February 16, 2020) was an American computer scientist who worked in the field of human–computer interaction. Tesler worked at Xerox PARC, Apple, Amazon, and Yahoo! While at PARC, Tesler's work include ...
, "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 interest in the Hobbit and moved on to help form Advanced RISC Machines, ARM, in late 1990 with a $2.5 million investment. Apple sold its stake in ARM years later for a net $800 million. The Active Book Company (founded by
Hermann Hauser Hermann Maria Hauser, KBE, FRS, FREng, FInstP, CPhys (born 1948) is an Austrian-born entrepreneur, venture capitalist and inventor who is primarily associated with the Cambridge technology community in England. Education and early life Whe ...
, who also founded
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 United Kingdom, UK, including the Acorn Electron and the Acorn Archi ...
), which had been using an ARM in its Active Book
personal digital assistant A personal digital assistant (PDA), also known as a handheld PC, is a variety mobile device which functions as a personal information manager. PDAs have been mostly displaced by the widespread adoption of highly capable smartphones, in partic ...
(PDA), was later purchased by AT&T and was subsumed by AT&T's
EO Personal Communicator The EO is an early commercial tablet computer that was created by Eo, Inc. (later acquired by AT&T Corporation), and released in April 1993. Eo (Latin for "I go") is the hardware spin-out of GO. Officially named the AT&T EO Personal Communicat ...
company, which produced an early PDA running
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. It ran on AT&T Corporation's EO Personal Communicator as well as a number o ...
from the
GO Corporation GO Corporation was founded in 1987 to create portable computers, an operating system, and software with a pen-based user interface. It was famous not only for its pioneering work in Pen-based computing but as well as being one of the most well- ...
. Hobbit was used in the earliest prototypes of the
BeBox The BeBox is a dual CPU personal computer, briefly sold by Be Inc. to run the company's own operating system, BeOS. It has PowerPC CPUs, its I/O board has a custom "GeekPort", and the front bezel has "Blinkenlights". The BeBox made its debut ...
until in 1993, AT&T announced discontinuation of Hobbit. With these exceptions there was almost no commercial use of the design, and production was ended in 1994.


Design

In a traditional
RISC In computer engineering, a reduced instruction set computer (RISC) is a computer designed to simplify the individual instructions given to the computer to accomplish tasks. Compared to the instructions given to a complex instruction set comput ...
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 pipeline In computer engineering, instruction pipelining or ILP is a technique for implementing instruction-level parallelism within a single processor. Pipelining attempts to keep every part of the processor busy with some instruction by dividing inco ...
s and add
superscalar A superscalar processor is a CPU that implements a form of parallelism called instruction-level parallelism within a single processor. In contrast to a scalar processor, which can execute at most one single instruction per clock cycle, a sup ...
support. However, programming languages do not actually operate in this fashion. Generally they use a
stack Stack may refer to: Places * Stack Island, an island game reserve in Bass Strait, south-eastern Australia, in Tasmania’s Hunter Island Group * Blue Stack Mountains, in Co. Donegal, Ireland People * Stack (surname) (including a list of people ...
containing local variables and other information for subroutines known as a
stack frame In computer science, a call stack is a stack data structure that stores information about the active subroutines of a computer program. This kind of stack is also known as an execution stack, program stack, control stack, run-time stack, or mac ...
or activation record. The
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
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 ''The C Programming Language'' (sometimes termed ''K&R'', after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as ...
. 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 The transputer is a series of pioneering microprocessors from the 1980s, intended for parallel computing. To support this, each transputer had its own integrated memory and serial communication links to exchange data with other transputers. T ...
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 In computer science, computer engineering and programming language implementations, a stack machine is a computer processor or a virtual machine in which the primary interaction is moving short-lived temporary values to and from a push down st ...
, most instructions implicitly use the data on the top of the stack. Higher
code density In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an ' ...
means less data movement on the
memory bus In computer architecture, a bus (shortened form of the Latin '' omnibus'', and historically also called data highway or databus) is a communication system that transfers data between components inside a computer, or between computers. This ex ...
, improving performance. One side effect of the Hobbit design is that it inspired designers of the
Dis virtual machine Limbo is a programming language for writing distributed systems and is the language used to write applications for the Inferno operating system. It was designed at Bell Labs by Sean Dorward, Phil Winterbottom, and Rob Pike. The Limbo compile ...
(an offshoot of
Plan 9 from Bell Labs Plan 9 from Bell Labs is a distributed operating system which originated from the Computing Science Research Center (CSRC) at Bell Labs in the mid-1980s and built on UNIX concepts first developed there in the late 1960s. Since 2000, Plan 9 has be ...
) 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 In computer engineering, instruction pipelining or ILP is a technique for implementing instruction-level parallelism within a single processor. Pipelining attempts to keep every part of the processor busy with some instruction by dividing inco ...
and thereby operate at higher speeds. They decided that all future processors would thus move to a load-store design, and built
Inferno Inferno may refer to: * Hell, an afterlife place of suffering * Conflagration, a large uncontrolled fire Film * ''L'Inferno'', a 1911 Italian film * Inferno (1953 film), ''Inferno'' (1953 film), a film noir by Roy Ward Baker * Inferno (1973 fi ...
to reflect this. In contrast,
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
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 In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence be ...
is a "heavyweight" operation; Java's
virtual machine In computing, a virtual machine (VM) is the virtualization/emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized hardw ...
(VM) and compiler are many times larger and slower than the Dis VM and the
Limbo In Catholic theology, Limbo (Latin '' limbus'', edge or boundary, referring to the edge of Hell) is the afterlife condition of those who die in original sin without being assigned to the Hell of the Damned. Medieval theologians of Western Euro ...
(the most common language compiled for Dis) compiler. The VMs for Android ( Dalvik),
Parrot Parrots, also known as psittacines (), are birds of the roughly 398 species in 92 genera comprising the order Psittaciformes (), found mostly in tropical and subtropical regions. The order is subdivided into three superfamilies: the Psittacoid ...
, and
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
are also register-based.


See also

*
Jazelle Jazelle DBX (direct bytecode execution) is an extension that allows some ARM processors to execute Java bytecode in hardware as a third execution state alongside the existing ARM and Thumb modes. Jazelle functionality was specified in the ARMv5TEJ ...


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 Corp''

''Sculley's Dream: The Story Behind the Newton'', by Tom Hormby, Low End Mac
{{Portal bar, 1990s
Hobbit Hobbits are a fictional race of people in the novels of J. R. R. Tolkien. About half average human height, Tolkien presented hobbits as a variety of humanity, or close relatives thereof. Occasionally known as halflings in Tolkien's writings, ...
Inferno (operating system) Plan 9 from Bell Labs 32-bit microprocessors