LINC-8
Encyclopedia
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.
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, relay
s 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
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.
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.
As of 2008, a project to emulate
the LINC-8 on modern hardware is underway within the Update computer society at Uppsala University
.
Minicomputer
A minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems and the smallest single-user systems...
manufactured by Digital Equipment Corporation
Digital Equipment Corporation
Digital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...
between 1966 and 1969. It combined a LINC
LINC
The LINC was a 12-bit, 2048-word computer. The LINC can be considered the first minicomputer and a forerunner to the personal computer....
computer with a PDP-8
PDP-8
The 12-bit PDP-8 was the first successful commercial minicomputer, produced by Digital Equipment Corporation in the 1960s. DEC introduced it on 22 March 1965, and sold more than 50,000 systems, the most of any computer up to that date. It was the first widely sold computer in the DEC PDP series of...
in one cabinet, thus being able to run programs written for either of the two architectures.
Architecture
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
Two's complement
The two's complement of a binary number is defined as the value obtained by subtracting the number from a large power of two...
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, relay
Relay
A relay is an electrically operated switch. Many relays use an electromagnet to operate a switching mechanism mechanically, but other operating principles are also used. Relays are used where it is necessary to control a circuit by a low-power signal , or where several circuits must be controlled...
s for control of external equipment, LINCtape drives (the predecessor of the DECtape
DECtape
DECtape, originally called "Microtape", was a magnetic tape data storage medium used with many Digital Equipment Corporation computers, including the PDP-6, PDP-8, LINC-8, 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...
), an oscilloscope
Oscilloscope
An oscilloscope is a type of electronic test instrument that allows observation of constantly varying signal voltages, usually as a two-dimensional graph of one or more electrical potential differences using the vertical or 'Y' axis, plotted as a function of time,...
-like cathode ray tube
Cathode ray tube
The cathode ray tube is a vacuum tube containing an electron gun and a fluorescent screen used to view images. It has a means to accelerate and deflect the electron beam onto the fluorescent screen to create the images. The image may represent electrical waveforms , pictures , radar targets and...
under program control, as well as a Teletype
Teleprinter
A teleprinter is a electromechanical typewriter that can be used to communicate typed messages from point to point and point to multipoint over a variety of communication channels that range from a simple electrical connection, such as a pair of wires, to the use of radio and microwave as the...
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
Wesley A. Clark
Wesley Allison Clark is a computer scientist and one of the main participants, along with Charles Molnar, in the creation of the LINC laboratory computer, which was the first mini-computer and shares with a number of other computers the claim to be the inspiration for the personal computer.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
Emulator
In computing, an emulator is hardware or software or both that duplicates the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system...
the LINC-8 on modern hardware is underway within the Update computer society at Uppsala University
Uppsala University
Uppsala University is a research university in Uppsala, Sweden, and is the oldest university in Scandinavia, founded in 1477. It consistently ranks among the best universities in Northern Europe in international rankings and is generally considered one of the most prestigious institutions of...
.