Jump to content

LINC

From Alfawiki
LINC
Company typeComputer system
IndustryComputer hardware
Founded1962
FounderWesley A. Clark, Charles Molnar
Headquarters
Waltham
,
United States
Products12-bit minicomputer
ParentDigital Equipment Corporation (DEC), Spear Inc.

The LINC (Laboratory INstrument Computer) is a 12-bit machine with 2048 words of memory, built as a transistorized computer and often regarded as one of the earliest minicomputer models, laying groundwork for the development of the personal computer. Initially called the Linc to reflect its creation at MIT's Lincoln Laboratory, it was later renamed LINC following its relocation. The system was designed by Wesley A. Clark and Charles Molnar at MIT, with commercial production handled by Digital Equipment Corporation (DEC) and Spear Inc., located in Waltham, Massachusetts.

In the early 1960s, the LINC was priced above $40,000. A typical setup included a rack measuring approximately 6 feet by 20 inches, which housed four main components: two tape drives, a display oscilloscope equipped with input knobs, a control console, and an interface for data terminals, complemented by a keyboard. Its architecture incorporated analog inputs and outputs, making it particularly effective for laboratory experiment applications.

Created in 1962 specifically for researchers at the National Institutes of Health, the LINC's open design enabled biomedical scientists to assemble their own units; about twelve were constructed during an MIT workshop in 1963. Commercial manufacturing commenced with DEC in 1964, followed soon after by Spear Inc.

C. Gordon Bell, a pioneer at DEC, noted that the project began in 1961 with initial deliveries occurring in March 1962. Production ceased in December 1969 after producing a total of fifty units that utilized DEC System Module Blocks and cabinets. Of these, DEC sold twenty-one units at a price of $43,600 each—equivalent to roughly $400,000 in today’s currency. Early versions featured two oscilloscope displays housed inside a cabinet behind a Formica-covered table. These included Tektronix screens positioned above the front panel, bays for interface modules and LINC-Tape drives, and a centrally located keyboard.

The standard software package contained an assembler/editor created by Mary Allen Wilkes, with its final iteration known as LAP6 (LINC Assembly Program 6).

Architecture

The LINC’s memory consists of 2048 words of 12 bits each, divided into two halves: only the first 1024 words are accessible for executing programs, while the remaining section is designated for data storage. It operates using a 12-bit accumulator alongside a single-bit link register. The initial sixteen locations in program memory have specialized roles: location zero stores return addresses to support single-level subroutine calls, and the following fifteen serve as index registers under certain addressing modes. Control of external laboratory instruments is managed through a programmable six-bit relay register.

An enhancement introduced later added a 12-bit Z register to facilitate extended precision calculations and implemented an interrupt mechanism that redirects processing to location 21 (in octal).

Input/output peripherals include an integrated keyboard and text display on an attached CRT using point-addressable graphics, with optional teleprinter support available for printed output.

The system employs ones' complement arithmetic, enabling separate representations for positive and negative zero values. Instruction cycle time was approximately eight microseconds per operation.

Instruction set

The LINC's instruction set, originally intended for scientific measurement devices and experimental setups, primarily uses octal notation but is displayed here in decimal unless otherwise specified. The main categories of instructions are:

  • Miscellaneous (no address): halt execution, clear the accumulator, enable tape writing, transfer data between the accumulator and relay register, perform no operation, complement the accumulator
  • Shift (no address): rotate bits left or right, scale right with sign bit replication
  • Full address (two-word instructions): add values, store and clear the accumulator, jump commands restricted to the initial 1024 memory words
  • Skip: conditional skips triggered by external logic signals, key states, sense switches, accumulator sign bit, link bit, or tape unit condition; later versions introduced skips based on Z register bit 0, overflow flags, and interrupt pauses
  • Index: instructions that use immediate operands or register-based addressing (registers 1 through 15), including load/add to accumulator, multiplication producing a 22-bit signed result, skip-if-equal operations, bit manipulations, and bitmap rendering on CRT displays
  • Half-word: operate on either the lower or upper six bits; includes loading/storing half-words and skipping if halves differ
  • Set: transfer data from any memory location to one of the registers numbered 1 to 15
  • Sample: acquire input from one of sixteen 8-bit analog-to-digital converters into the accumulator; the first eight channels corresponded to control panel knobs for user interaction; execution could pause until conversion completion or continue if accumulator contents were unnecessary
  • Display: draw a pixel on the CRT at a specified coordinate with optional indexing
  • Index and skip: increment one of registers 1–15 and skip if a 10-bit overflow occurs
  • Operate: manage input/output functions such as setting output bits and reading keyboard or switch banks
  • Tape: control tape positioning along with read/write and verification operations against memory

This instruction set demonstrates the LINC’s orientation toward laboratory instrumentation integration and support for experimental computing processes.

Control panel

The LINC’s control panel allowed users to single-step through programs and facilitate program debugging. Execution could be interrupted when the program counter matched preset switch settings or when accessing a designated memory address. Single-step and resume commands could be automatically repeated at adjustable rates controlled by an analog dial combined with a four-position decade switch. This setup enabled stepping speeds ranging from approximately one step per second up to nearly half of full execution speed. The smooth acceleration provided an effective showcase of the system’s capabilities.

LINCtape

A groundbreaking feature of the LINC was its LINCtape storage system, which was central to both hardware design and operating system functionality. In contrast to large magnetic tape drives common at the time—known for extensive data capacity but slow spool times and unreliable in-place updates—LINCtape was compact and nimble. It stored roughly 400K of data using fixed-format tracks that supported repeated reading and rewriting at identical locations. Spooling from one end to another took less than a minute. The tape employed fixed-size blocks to organize directories and file systems efficiently, with a single hardware instruction enabling multi-block seek as well as read/write operations.

File names were restricted to six characters and supported paired files—typically a source file alongside an executable binary—with extensions limited to "S" or "B." Due to the limited core memory available on early models (1024 12-bit words standard, expandable to 2048), frequent swapping between core memory and LINCtape was essential. Digital later patented a similar concept called DECtape, though those patents were ultimately invalidated in court.

LINCtape gained a reputation for exceptional reliability that surpassed many subsequent diskette technologies. It incorporated simple redundancy by storing duplicate copies of data in two separate tape locations; users famously demonstrated its robustness by physically punching holes in tapes without losing data integrity. A dedicated formatting track ensured operation remained mostly unaffected by tape speed variations—a significant factor since tape motion lacked a capstan mechanism. Instead, reel motors directly controlled tape movement during reads or writes at fast forward or rewind speeds. Some data transfers produced distinctive audible tones via an integrated speaker—harsh bird-like squawks with fluctuating pitch—that served as an audible indicator of activity.

Keyboard

Manufactured by Soroban Engineering, the LINC keyboard incorporated a distinctive locking solenoid system. Each key contained internal slots encoding characters that engaged a locking bar, which secured all keys simultaneously. When a key was pressed, it locked down while immobilizing the others; upon the program’s keyboard read, the lock released, allowing the pressed key to spring back up. This mechanism hindered typing speed and disallowed even two-key rollover, ultimately leading to its replacement by Teletype terminals such as Models 33, 35, and 37 in subsequent LINC-8 and PDP-12 models.

Knobs

The LINC was equipped with eight three-turn potentiometers labeled 0 through 7, which could be read by computer instructions. This dial interface offered user input capabilities before mice became common—for example, adjusting graph scale or positioning a cursor to reveal data values.

Text display

The LINC hardware rapidly rendered 12-bit words as 4×6 pixel grids, enabling flicker-free text presentation with minimal circuitry. The characters produced were relatively low resolution.

Its display consisted of an approximately 5-inch CRT—essentially a Tektronix oscilloscope fitted with specialized plug-in amplifiers that could be swapped for standard ones during servicing. Many LINC units were sold as kits, making the oscilloscope functionality practical and accessible for users.

The CRT used long-persistence phosphors in white or yellow, allowing slow point-by-point drawing cycles lasting half a second or more to remain visible. Due to LINC’s ones' complement arithmetic, the vertical axis represented both positive and negative zero; programmers adjusted negative values upward to prevent visual glitches at zero.

However, repeatedly drawing points in the same location caused rapid phosphor burn-in, resulting in permanent dark spots within about a minute. Developers needed to halt programs quickly if bright spots appeared due to errors.

Teletype output

Output to a Teletype Model 33 ASR printer was managed by toggling a single bit within the relay register. A software routine translated LINC character codes into ASCII and employed timing loops to switch the relay register bit on and off, producing the correct 8-bit data stream at 110 baud to operate the Teletype device.

Laboratory interface

The LINC connector module featured slots for two plug-in chassis designed for custom connections to experimental equipment. Built-in analog-to-digital and digital-to-analog converters were accessible through single machine instructions. Additionally, six relays were provided for control purposes.

Variants

In addition to the original "classic" LINC, several programming variants emerged including the micro-LINC (μ-LINC) introduced in 1965 and the micro-LINC 300 (μ-LINC 300) from 1968 which utilized integrated circuit MECL technology. The LINC-8 also appeared as a variant. These models differed in input/output hardware configurations and memory access methods, with later versions offering increased clock speeds.

LINC-8 and PDP-12 computers

Although Gordon Bell acknowledges that the LINC design influenced DEC's PDP-4 and PDP-5 systems, Digital Equipment Corporation initially released the successful PDP-8 before developing the LINC-compatible LINC-8 and the combined PDP-8/I and LINC system known as the PDP-12. The PDP-12 was the final machine to incorporate the LINC instruction set; DEC's last 12-bit laboratory computer, the LAB-8/E, omitted this feature. The LINC-8 booted slowly into a PDP-8 program called PROGOFOP that interfaced with separate LINC hardware. The PDP-12 became the most widely used successor: it was more capable and reliable than the LINC-8 but remained an imperfect fusion of LINC and PDP-8 architectures, with limitations such as lacking support for preserving the LINC overflow bit state across interrupts.

MINC-11 computer

Digital developed a variant of the PDP-11/03 known as the MINC-11, which was mounted on a portable cart and featured laboratory I/O modules designed by Digital to handle analog signals for both input and output. The accompanying programming language, MINC BASIC, offered built-in functionality tailored for these I/O components. The acronym MINC stood for "Modular Instrument Computer," a designation chosen to recall the LINC; however, this 16-bit system bore no architectural similarity or compatibility with the LINC.

See also

External links