This document was made by OCR from a scan of the technical report. It has not been edited or proofread and is not meant for human consumption, but only for search engines. To see the scanned original, replace OCR.htm with Abstract.htm or Abstract.html in the URL that got you here.


Alto: A personal computer

by C. P. Thacker, E. M. McCreight, B. W. Lampson, R. F. Sproul!, and D. R. Boggs

CSL-79.11 August 7, 1979; Reprinted February 1984.

© Copyright 1979 by Xerox Corporation. All rights reserved.

Abstract: The Alto is a small computer system designed in early 1973 as an experiment in personal computing. Its principal characteristics, some of the design choices that led to the implementation, and some of the applications for which the Alto has been used are discussed.

This paper appeared in Siewiorek, Bell and Newell, Computer Structures: Principles and Examples, second edition, McGraw-Hill, New York, pp. 549-572.

CR categories: 6.21, 8.2

Key words and phrases: personal computer, graphics, local network



1. Introduction

During early 1973, the Xerox Palo Alto Research Center designed the Alto computer system ("Alto") as an experiment in personal computing, to study how a small, low-cost machine could be used to replace facilities then provided only by much larger shared systems. During the succeeding six years, the original Alto underwent several engineering enhancements to increase its memory capacity and reduce its cost, but the basic capabilities of the system have remained essentially unchanged. There are now (summer 1979) nearly a thousand Altos in regular use by computer science researchers, engineers, and secretaries.

The primary goal in the design of the Alto was to provide sufficient computing power, local storage, and input-output capability to satisfy the computational needs of a single user. The standard system includes:

·      An 875 line raster-scanned display.

·      A keyboard, "mouse" pointing device with three buttons, and a five-finger keyset.

·      A 2.5 Mbyte cartridge disk file.

·      An interface to the Ethernet system ("Ethernet"), a 3 Mbit/second communication facility.

§    A microprogrammed processor that controls input-output devices and supports emulators for a number of instruction sets.

'        64K 16-bit words of semiconductor memory. expandable to 256K words.

All of these components with the exception of the user terminal are packaged in a small cabinet which is an unobtrusive addition to a normal office. The terminal, keyboard, and pointing device are packaged for desktop use (Figure 1).

The Alto has led to an entirely new computing environment. Many applications devote the entire machine to interacting with a user and satisfying his needs; examples are document production and illustration, interactive programming, animation, simulation, and playing music. These individual applications are supplemented by a large number of services available via communications; examples are printing service, mailbox services for delivering electronic mail, and bulk file storage services. The Ethernet has also given rise to applications that use several Altos concurrently to furnish additional computing power or to allow several people at their machines to interact with one another.

The principal characteristics of the Alto processor are described in Section 2. Sections 3 to 6 describe input-output controllers for the display, disk, Ethernet, and printer. Section 7 surveys the environment and applications that grew up for the Alto. Section 8 offers a brief retrospective look at the design.


Figure 1. The Alto personal computer, showing a user at work with the display, mouse, and keyset.


2. The Alto processor

The major applications envisioned for the Alto were interactive text editing for document and program preparation, support for the program development process, experimenting with real-time animation and music generation, and operation of a number of experimental office information systems. The hardware design was strongly affected by this view of the applications. The design is biased toward interaction with the user, and away from significant numerical processing: there are extensive user input-output facilities, but no hardware for arithmetic other than 16-bit integer addition and subtraction.

The processor is microcoded, which permitted the machine to start out with rather powerful facilities, and also allows easy expansion as new capabilities are required. The amount of control store provided has evolved over time as shown in Figure 2. Initially, the machine contained only 1K words, implemented with PROM. The most recent version provides 4K words, of which 1K is implemented with PROM, and 3K is RAM.

Year

Main Memory

Control Memory

Processor Memory

Size

Technology

Size

Technology

Size

Technology

1973

64K Parity

1K x 1 Dynamic Metal gate PMOS

1K PROM

256 x 4
Schottky bipolar

32 R registers

16 x 4
Schottky bipolar

1 974

1K PROM 1K RAM

PROM as above
1K x 1 RAMs
Schottky bipolar

32 R registers

32 S registers

16 x 4
Schottky bipolar

1975

64K

Error Correction

4K x 1 Dynamic Si gate NMOS