LINC-8

Last updated
LINC-8 on display at Uppsala University Linc-8-Uppsala-bad-photo.jpeg
LINC-8 on display at Uppsala University

LINC-8 was the name of a minicomputer manufactured by Digital Equipment Corporation between 1966 and 1969. It combined a LINC computer with a PDP-8 in one cabinet, thus being able to run programs written for either of the two architectures.

Contents

Architecture

Running LINC-8 Linc-8.jpg
Running LINC-8

The LINC-8 contained one PDP-8 CPU and one LINC CPU, partially emulated by the PDP-8. At any one time, the computer was in either 'LINC mode' or 'PDP-8 mode' - both processors could not run in parallel. Instructions were provided to switch between modes. In the LINC-8, all interrupts were handled by the PDP-8 CPU, and programs that relied on the interrupt architecture of the LINC could not be run.

The LINC was a 12-bit ones' complement accumulator machine, whereas the PDP-8, while also a 12-bit accumulator machine, operated in two's complement arithmetic.

Memory addressing on the two architectures was also different. On the LINC, the full address space was divided into 1024-word segments, two of which were selected for use at any one time: the instruction field and the data field. Direct access of data in the instruction field was possible using 10-bit addresses. The data field could only be indirectly addressed. The Instruction field and Data field are theoretically capable of being chosen from up to 32 areas of 1K 12-bit words each as the maximum architecture is 32K total words. As a practical matter, few LINC-8 systems ever were expanded to 8K total. Memory expansion is accomplished first by adding PDP-8 memory extension hardware and extended memory instructions and a few minor LINC processor modifications to address the memory beyond the basic 4K total. Once this is accomplished, 4K memory "wings" can be added in a daisy-chained buss arrangement, which in theory could be expanded out as many as 7 times to implement the entire 32K. As a practical matter, it is always difficult to implement on the "regular" PDP-8, and, in the case of the LINC-8, it became necessary to slow down the CPU slightly just to add on the first additional 4K.

Thus, as a practical matter, LINC-8 memory segments are limited to segment 0-3, or perhaps 0-7 on the few 8K implementations. However, basic 4K machines cannot address beyond 0-3 while extended memory models could attempt to address segments 0-37 octal even if non-existent memory.

By convention, the segment 0 area is not available for normal fully emulated LINC operations. This is because the PDP-8 program usually known as PROGOFOP is loaded there to handle all interrupts, traps, etc. It is possible to write a program for a "partial" LINC CPU, meaning using only the hardware that actually exists. Whenever an operation is performed that it cannot handle, the PDP-8 operation resumes. However, the LINC operation could have been terminated for a variety of reasons. As such, it is always recommended that PROGOFOP be loaded when attempting to use "complete" LINC programs on this system.

Many operating systems were written for this machine; some were essentially slightly modified versions designed for the original LINC CPU it is partially based on. Bootup conventions allowed an image of a custom version of PROGOFOP to first be loaded, followed by executing tape instructions to load the LINC-based operating system. In some cases, the bootup procedure was accomplished manually right on the LINC console switches; later systems self-started the system after loading PROGOFOP.

Other operating systems are actually more generic and are designed to mostly ignore the LINC side of things. These are PDP-8-only systems, although perhaps custom configured for the vagaries of the specifics of a LINC-8. In some cases, this means that they cannot be run on any other machine; in other cases, the LINC-8 merely represented a normal variation of drivers off of an otherwise non-descript PDP-8 system. An advantage of a PDP-8-based system is that PROGOFOP is superfluous here. If needed, the PDP-8 system could load PROGOFOP as well as a user program primarily LINC-oriented to get at the laboratory peripherals. The LINC convention of the entire first 1K being unavailable reserved for PROGOFOP is exchanged for the far smaller PDP-8 convention of reserving only 07600-07777 or the last 128-word page of the first 4K of the machine. This corresponds to a small reserved area at the end of LINC segment 3 in exchange for much greater overall flexibility.

The PDP-8 divided its memory into 128-word pages. An instruction could reference the current page, that being the page where the instruction itself was located, or page 0, the 128 words of memory at addresses 0-127. Indirect addressing could be used to produce 12-bit addresses. If more than 4K memory is implemented, the indirect addressing is extended to include the Data Field, thus it is possible to access any location indirectly in 32K maximum. Again, hardware limitations of the LINC-8 make it hard to achieve a total size of more than 8K total. Also implemented is the Instruction Field, making it possible to load larger programs into the same addressing space the Data Field controls. Transfer of control can be either direct or indirect as required. The new address is determined by first setting the new Instruction Field value, and then executing a JMP or JMS instruction into the new field's corresponding 12-bit address, thus effecting a 15-bit address overall.

The computer included a number of LINC peripherals, which were controlled by special LINC mode instructions. These devices included analog inputs in the forms of knobs and jacks, relays for control of external equipment, LINCtape drives (the predecessor of the DECtape), an oscilloscope-like cathode ray tube under program control, as well as a Teletype Model 33 ASR. Actually, the CRT is a specially modified unit based on a standard Tektronix oscilloscope modified to only be driven by D-A converters and an intensifier interface; there are no sweep circuits as found in conventional oscilloscopes. Most of the modifications involve custom highly stripped down plug in modules, which also house the actual knobs hooked to the lowest A-D channels. Arguably, this is the precursor to the modern mouse interface; some software utilized knob twirling in a manner that would later suggest the two-dimensional form of a mouse; these are knobs controlling only one parameter at a time, etc.

Some of these peripherals are simulated and are actually peripherals of the PDP-8. Any unimplemented operation stops the LINC CPU and interrupts the PDP-8 processor to handle the specifics. Most notably, the LINCtape is actually a PDP-8 peripheral; the tape class of LINC instructions are trapped and interrupt the PDP-8 which then emulates how a real LINC or PDP-12 would carry out the specifics of the latest tape instruction. Pressing a variety of keys on the seemingly present LINC console all cause PDP-8 interrupts; PROGOFOP is designed to emulate the functions as they would appear on the original LINC.

An interesting feature is the FETCH/EXEC stop, which is implemented in all hardware in the LINC and PDP-12. The hardware, when enabled, continuously monitors instruction execution until specific conditions are met. This will cause a PDP-8 interrupt stalling the LINC program. Simulated console operations can be used to examine memory or make other changes, such as pressing the simulated DO key. The DO key executes any one instruction on the left switch register while the right switch register may have to also be set in the case of double word instructions such as most of the tape class. Booting certain operating systems consists of executing a tape read instruction directly from both sets of switches pressing the simulated DO key followed by pressing the simulated START 20 switch. In essence, the LINC-8 implements all of the functions of the console panel of the "real" LINC, then uses the PDP-8 to simulate most of them.

Purpose

The LINC-8 was built as a laboratory computer. It was small enough to fit in a laboratory environment, provided modest computing power at a low price, and included hardware capabilities necessary to monitor and control experiments.

The LINCtape magnetic tape drive, designed by Wesley A. Clark for the LINC, was suitable for handling in a laboratory environment, and the tapes could be carelessly pocketed, dropped, or even pierced and cut without losing the data stored on them.

Current status

In 1969, DEC improved upon the LINC-8 with the PDP-12, a similar combination computer for lab use, and the LINC-8 was cancelled. Few LINC-8 computers were ever built, numbering only in the low hundreds, and so the model is a rare sight today.

As of 2008, a project to emulate the LINC-8 on modern hardware is underway within the Update computer society at Uppsala University.

Related Research Articles

Central processing unit Central computer component which executes instructions

A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and input/output (I/O) operations specified by the instructions in the program. This contrasts with external components such as main memory and I/O circuitry, and specialized processors such as graphics processing units (GPUs).

Bus (computing) System that transfers data between components within a computer

In computer architecture, a bus is a communication system that transfers data between components inside a computer, or between computers. This expression covers all related hardware components and software, including communication protocols.

Data General Nova 16-bit minicomputer series

The Data General Nova is a series of 16-bit minicomputers released by the American company Data General. The Nova family was very popular in the 1970s and ultimately sold tens of thousands of units.

In processor design, microcode is a technique that interposes a layer of computer organization between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer. Microcode is a layer of hardware-level instructions that implement higher-level machine code instructions or internal finite-state machine sequencing in many digital processing elements. Microcode is used in general-purpose central processing units, although in current desktop CPUs, it is only a fallback path for cases that the faster hardwired control unit cannot handle.

Motorola 68000 Microprocessor

The Motorola 68000 is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Sector.

PDP-10 36-bit mainframe computer (1966–1983)

Digital Equipment Corporation (DEC)'s PDP-10, later marketed as the DECsystem-10, is a mainframe computer family manufactured beginning in 1966 and discontinued in 1983. 1970s models and beyond were marketed under the DECsystem-10 name, especially as the TOPS-10 operating system became widely used.

PDP-8 First commercially successful minicomputer

The PDP-8 is a 12-bit minicomputer that was produced by Digital Equipment Corporation (DEC). It was the first commercially successful minicomputer, with over 50,000 units being sold over the model's lifetime. Its basic design follows the pioneering LINC but has a smaller instruction set, which is an expanded version of the PDP-5 instruction set. Similar machines from DEC are the PDP-12 which is a modernized version of the PDP-8 and LINC concepts, and the PDP-14 industrial controller system.

PDP-11 Series of 16-bit minicomputers

The PDP-11 is a series of 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of all models were sold, making it one of DEC's most successful product lines. The PDP-11 is considered by some experts to be the most popular minicomputer.

Booting Process of starting a computer

In computing, booting is the process of starting a computer. It can be initiated by hardware such as a button press, or by a software command. After it is switched on, a computer's central processing unit (CPU) has no software in its main memory, so some process must load software into memory before it can be executed. This may be done by hardware or firmware in the CPU, or by a separate processor in the computer system.

LINC Laboratory Instrument Computer (1962)

The LINC is a 12-bit, 2048-word transistorized computer. The LINC is considered by some the first minicomputer and a forerunner to the personal computer. Originally named the "Linc", suggesting the project's origins at MIT's Lincoln Laboratory, it was renamed LINC after the project moved from the Lincoln Laboratory. The LINC was designed by Wesley A. Clark and Charles Molnar.

Electronika BK

The Electronika BK is a series of 16-bit PDP-11-compatible fanless home computers developed under the Electronika brand by NPO Scientific Center, then the leading microcomputer design team in the Soviet Union. It was also the predecessor of the more powerful UKNC and DVK micros.

OS/8 was the primary operating system used on the Digital Equipment Corporation's PDP-8 minicomputer.

Memory-mapped I/O (MMIO) and port-mapped I/O (PMIO) are two complementary methods of performing input/output (I/O) between the central processing unit (CPU) and peripheral devices in a computer. An alternative approach is using dedicated I/O processors, commonly known as channels on mainframe computers, which execute their own instructions.

Addressing modes are an aspect of the instruction set architecture in most central processing unit (CPU) designs. The various addressing modes that are defined in a given instruction set architecture define how the machine language instructions in that architecture identify the operand(s) of each instruction. An addressing mode specifies how to calculate the effective memory address of an operand by using information held in registers and/or constants contained within a machine instruction or elsewhere.

DECtape

DECtape, originally called Microtape, is a magnetic tape data storage medium used with many Digital Equipment Corporation computers, including the PDP-6, PDP-8, LINC-8, PDP-9, PDP-10, PDP-11, PDP-12, and the PDP-15. On DEC's 32-bit systems, VAX/VMS support for it was implemented but did not become an official part of the product lineup.

Signetics 2650 8-bit microprocessor

The Signetics 2650 was an 8-bit microprocessor introduced in July 1975. According to Adam Osborne's book An Introduction to Microprocessors Vol 2: Some Real Products, it was "the most minicomputer-like" of the microprocessors available at the time. A combination of missing features and odd memory access limited its appeal, and the system saw little use in the market.

CDC 160 series

The CDC 160 series was a series of minicomputers built by Control Data Corporation. The CDC 160 and CDC 160-A were 12-bit minicomputers built from 1960 to 1965; the CDC 160G was a 13-bit minicomputer, with an extended version of the CDC 160-A instruction set, and a compatibility mode in which it did not use the 13th bit. The 160 was designed by Seymour Cray - reportedly over a long three-day weekend. It fit into the desk where its operator sat.

In computer architecture, 12-bit integers, memory addresses, or other data units are those that are 12 bits wide. Also, 12-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers, address buses, or data buses of that size.

Emulator Hardware or software that enables one computer system to behave like another computer system

In computing, an emulator is hardware or software that enables one computer system to behave like another computer system. An emulator typically enables the host system to run software or use peripheral devices designed for the guest system. Emulation refers to the ability of a computer program in an electronic device to emulate another program or device.

Intersil 6100

The Intersil 6100 is a single-chip microprocessor implementation of the 12-bit PDP-8 instruction set, along with a range of peripheral support and memory ICs developed by Intersil in the mid-1970s. It was sometimes referred to as the CMOS-PDP8. Since it was also produced by Harris Corporation, it was also known as the Harris HM-6100. The Intersil 6100 was introduced in the second quarter of 1975, and the Harris version in 1976.

References