January 1975 Popular Electronics
Table of Contents
Wax nostalgic about and learn from the history of early electronics. See articles
from
Popular Electronics,
published October 1954 - April 1985. All copyrights are hereby acknowledged.
|
For some reason, the
January 1975 issue of Popular Electronics magazine, featuring the Altair 8800 Minicomputer
construction article, seems to be the most highly prized of all editions ever published.
They regularly sell on eBay for anywhere from $200 to $500, depending on the condition.
If you happen to have one or find one at a yard sale, hold on to it as an investment
(or mail it to me and I will hold on to it). Computers were still a sci-fi mystery
type contraption to most people in the mid-1970's, and were even considered a thing
to fear. Movies about evil-minded nerds hacking into critical databases and commandeering
control of all aspects of life were popular, and even computers like Hal (2001: A Space Odyssey) that usurped control from
its human inventors were giving the weak-hearted nightmares. Even without a CRT
terminal for an interface, the Altair 8800 was a welcome and somewhat affordable
($400,
equivalent to about $2,244 in 2022 money) introduction to computer hardware and
programming. For that much money today, you can get a pretty high-power gaming computer
setup. Notice one of the recommended applications for the Altair 8800 is as
a control center for a Ham station.
Two years after this article, in August of 1977, Tandy (Radio Shack) introduced
its TRS-80 PC. The
IBM PC hit
the market in August of 1981, and the
Commodore 64 a year
later in 1982. My first computer was a
Timex/Sinclair that was
given to me by Mr. Wilson Roe, while I was working at Westinghouse Electric
Oceanic Division in Annapolis, Maryland. It came out at the end of 1982.
Altair 8800 Minicomputer - Part 1
ALTAIR 8800 - The most powerful minicomputer project ever presented
can be built for under $400.
By H. Edward Roberts & William Yates
THE era of the computer in every home - a favorite topic among science-fiction
writers-has arrived! It's made possible by the Popular Electronics/MITS Altair 8800,
a full-blown computer that can hold its own against sophisticated minicomputers
now on the market. And it doesn't cost several thousand dollars. In fact, it's in
a color TV receiver's price class - under $400 for a complete kit.
The Altair 8800 is not a "demonstrator" or souped-up calculator. It is the most
powerful computer ever presented as a construction project in any electronics magazine.
In many ways, it represents a revolutionary development in electronic design and
thinking.
The Altair 8800 is a parallel 8-bit word/16-bit address computer with an instruction
cycle time of 2 μs. Its central processing unit is a new LSI chip that is many times
more powerful than previous IC processors. It can accommodate 256 inputs and 256
outputs, all directly addressable, and has 78 basic machine instructions (as compared
with 40 in the usual minicomputer). This means that you can write an extensive and
detailed program.
The basic computer has 256 words of memory, but it can be economically expanded
for 65,000 words. Thus, with full expansion, up to 65,000 subroutines can all be
going at the same time. The basic computer is a complete system. The program can
be entered via switches located on the front panel, providing a LED readout in binary
format. The very-low-cost terminal presented in Popular Electronics last month can
also be used.
Processor Description
Processor: 8 bit parallel
Max. memory: 65,000 words (all directly addressable)
Instruction cycle time: 2 μs (min.)
Inputs and outputs: 256 (all directly addressable)
Number of basic machine instructions: 78 (181 with variants)
Add/subtract time: 2 μs
Number of subroutine levels: 65,000
Interrupt structure: 8 hardwire vectored levels plus software levels
Number of auxiliary registers: 8 plus stack pointer, program counter and accumulator
Memory type: semiconductor (dynamic or static RAM, ROM, PROM)
Memory access time: 850 ns static RAM; 420 or 150 ns dynamic Ram
In an upcoming issue, we will describe how to build a low-cost CRT-type terminal
that can be used with the computer and can also be mated with any time-sharing computer
by telephone.
Fig. 1 - Basic block diagram of computer parts and operation.
Some Applications for the Altair 8800 Computer
Listed below is only a small sampling of the thousands of possible applications
for the computer. The Altair 8800 Is so powerful, in fact, that many of these applications
can be performed simultaneously. It can be used as a:
- Programmable scientific calculator
- Multichannel data acquisition system
- Automatic control for ham station
- Sophisticated intrusion alarm system with multiple combination locks
- Automatic IC tester
- Machine controller
- Digital clock with all time-zone conversion
- High-speed I/O device for large computer
- Digital signal generator
- Automated automobile test analyzer
- On-board mobile controller
- Autopilot for planes, boats, etc.
- Navigation computer
- Time-share computer system
- "Smart" computer terminal
- Brain for a robot
- Pattern-recognition device
- Printed matter-to-Braille converter for the blind
- Automatic drafting machine
- Automatic controller for heat, air conditioning, dehumidifying
- Controller for sound systems
- Digital filter
- Signal analyzer
About the Computer. A computer is basically a piece of variable
hardware. By changing the bit pattern stored in the memory, the hardware (electronic
circuitry) can be altered from one type of device to another. When the bit pattern,
and thus the hardware, is changed, we have what is referred to as "software." Any
type of variable instruction (programming) - such as Basic, Fortran, Cobol, Algol
- is generally classified as software.
To cause it to vary the hardware, you must communicate with the computer. In
the case of the 8800, this is done by setting the bit pattern on the front-panel
switches in accordance with a set of instructions (provided with the Intel 8080
LSI chip). For example, the 8800 computer will automatically add when a specific
bit pattern (10000010) is received. By setting address and data switches, a complete
program of up to 78 steps in the basic computer can be inserted into the processor.
If extensive programming is to be performed, an assembler or higher language is
used. With an assembler, the person doing the program simply types the word "add"
on the device. (In Basic and Fortran, a + is used instead.)
Fundamental programming concepts are simple enough to master in a relatively
short time. However, to become an efficient programmer requires a lot of experience
and a large amount of creativity.
The block diagram of the basic 8800 computer (or any computer, for that matter)
is shown in Fig. 1. It consists of the following subsystems:
Parts List
Misc. - Metal case; power supply (see text); line cord; multiconductor
ribbon cable; mounting hardware; solder; etc.
Note: The following items are available from MITS, Inc., 6328 Linn N.E., Albuquerque,-
NM 87108 (Tel.: 505- 265-7553): partial kit No. 8800PK (includes pc boards and all
electronic components (but not case, switches, or power supply), $298; complete
kit No. 8800K (contains all parts, including ready-to-use case, switches, and power
supply), $397; Completely assembled and tested Model 8800A computer (includes 90-day
warranty), $498. Prices do not include postage or delivery charge. Both kits include
detailed assembly and operating manual. A FREE set of etching and drilling guides,
component-placement diagrams and miscellaneous information is available from the
kit supplier (send self-addressed 8½" x 11" envelope with 40c postage). Check
supplier or manufacturer for latest ICI price, available separately.
CPU. The heart of the computer is the CPU, or central processor
unit. See fig. 2. The CPU performs all the calculations, generates system timing,
and makes all decisions. Of particular importance are the decisions the CPU makes
concerning what device should have access to the data buss. It makes these decisions
by sending status information at the beginning of each computer cycle, telling the
memory and the input/output what to expect for the rest of the cycle.
The CPU contains the program timer, sometimes called the P counter. This device
keeps track of the current location in the memory that the processor is using. Also
located in the CPU is the arithmetic unit.
The CPU used in the 8800 computer, the Intel 8080 LSI chip, is relatively expensive
in quantities of one. It was selected, however, because it serves to create a minicomputer
whose performance competes with current commercial minicomputers. In practice, a
lower-performance processor would have been adequate for the majority of the tasks
the user might wish to initially define. But the problem with the lesser-power approach
is that relatively little money would be saved, and it would be doomed to near-future
obsolescence for practical purposes. Our intent here was to produce a processor
with more than enough power to handle any job.
Still another consideration was programming. The larger the instruction set,
the easier the computer is to program. The 8080 chip has 78 instructions, which
is almost twice that of the next power level CPU available (Intel's 8008), which
is really designed for use as a buffer.
The CPU contains eight general purpose registers, P counter, arithmetic unit,
accumulator, stack pointer, instruction decoder, and miscellaneous timing and control
circuits. The arithmetic unit is of special interest because it contains the circuitry
required to perform arithmetic in both decimal and binary formats.
The stack pointer is the register that keeps track of the subroutine addresses.
The 8800 computer is capable of performing an almost unlimited number of subroutines,
a feature not available with other microprocessors and absent in many minicomputers.
The instruction decoder is the core of the variable-hardware concept. It decodes
the instructions and sets up the various registers, gates, etc., in the CPU for
proper functioning. All system timing comes from the CPU. (The logic associated
with the CPU is shown in Fig. 3, while the system clock is shown in Fig. 4.)
Memory. A computer memory stores the various binary 0's and
1's that make up its language. These 0's and 1's are known as bits. Some memories
are organized to store 4, 16, 24, or 32 bits to a word, while others - specifically
those in the 8800 computer-are organized to store eight bits to a word. Each time
the CPU requests data from the memory, a complete word is transmitted. The term
byte is interchangeable with the term word in an 8-bit processor. (The basic 8800
memory is shown in Fig 5.)
The time required from when the address first appears until the data is stable
is called "access time." In most modern semiconductor-memory minicomputers, it ranges
from 15 ns to 30 μs. With proper adjustments, any memory speed can be used in the
8800 computer, although standard memory time is 850 ns for a static random access
memory (RAM) and 420 ns for a dynamic RAM. Higher-speed memories will not appreciably
affect the performance of the computer, while slower-speed memories will result
in an overall reduction in system speed.
Fig. 2 - These are the logic functions on the 8080 processor
chip (IC1). This n-channel CPU permits 78 basic instructions and has 8-bit parallel
processing.
Printed circuit boards are designed so that the various mating
pads are aligned. Multi-conductor ribbon cable interconnects the boards.
Fig. 4 - Computer operation is controlled by signals from this
2-MHz clock circuit.
Fig. 5 - The basic memory contains up to eight 256x4 RAM's.
In addition to semiconductor RAM's, the processor will also service ROM's (read-only-memories)
and PROM's (programmable read-only memories). Access time should be reinforced for
the particular memory used.
Any conventional memory can be used in the computer if the input loading on the
buss does not exceed 50 TTL loads and if the buss is driven by standard TTL loads.
Normal expansion loads to the buss would be one standard low-power load per expansion
card.
Front Panel. The front-panel logic permits the following functions:
1. STOP: Stops the processor immediately after it completes the current instruction.
An automatic stop occurs when power is turned on (interrupts are disabled).
2. RUN: Starts the processor at the current address.
3. EXAMINE: Causes the data stored at the location (set by the switches) to be
displayed in binary by LED's.
4. EXAMINE NEXT: Steps the P counter once and displays the word stored at the
next location.
5. DEPOSIT: Causes the information preset by the switches to be stored in the
memory.
6. DEPOSIT NEXT: Stops .the P counter and loads the memory.
7. SINGLE STEP: Steps the program one instruction.
8. RESET: Clears the CPU and sets up a starting address of 0.
9. CLEAR EXT: Clears all input/output devices; occurs automatically when
power is turned on.
10. PROTECT/UNPROTECT: Allows selective protection/unprotection of blocks
of memory. When a block of memory is protected, it is impossible to write over that
block, but its contents can be read out.
There are 36 LED status indicators on the front panel, 16 of which are used for
the address buss, 8 for the system status latches, and 8 for the data buss. The
four remaining LED's are used for indicating memory-protect, interrupt, system-wait,
and hold status.
Power Supply. Four power sources are required to operate the
computer: +5 volts at 2 amperes, -5 volts at 500 mA, -12 volts at 500 mA, and +8
volts at 6 amperes. The first three are regulated, while the last is unregulated.
The three regulated lines power the processor. The unregulated line powers the peripheral
cards that can be used to expand the system, each of which has its own 5-volt regulator
on board. This reduces electrical noise and obviates the possibility of total system
failure due to the failure of only one regulator.
Expansion. The basic computer is designed for almost unlimited
peripheral and memory expansion, using a buss system where all input/output connections
merge into a common line. Hence, an external card can be plugged into any slot and
it will function properly. The only qualification is that each card have an address
decoder to allow the specific card to take what data it needs from the common buss
and put data on the buss as required. The processor buffers are designed to drive
300 external cards, which should be adequate for most applications. Bear in mind
that only 17 cards will yield 65,000 words of memory.
[Editor's Note: At this writing, a number of different peripheral devices are
in various stages of design or undergoing tests]
Assembly Details. The basic computer employs four printed circuit
board assemblies, each of which contains one functional element of the basic system.
Because the boards are large and very complex, we are not publishing etching and
drilling guides or component-placement diagrams. Instead, you can obtain a set of
guides, diagrams, an instruction set, buss points, and miscellaneous information
by sending a stamped self-addressed 8½" x11" manila envelope with 40c postage
to MITS, Inc. (See note Parts List for address.) Request the PE8800 package.
The front panel display board accommodates the 36 LED indicators and their associated
drivers. Address line inputs A0 through A16, data lines D0 through D7, and the various
status lines originate on the CPU board. The boards have been designed so that the
various mating pads on both are aligned. Multi-conductor flexible ribbon cable interconnects
the boards.
Fig. 3 - The logic associated with the CPU (IC1) is shown at
left. All of the buffers and latches are on a single pc board. Connecting wiring
is through a 100-line buss.
The front panel control board contains the circuitry for the interfacing between
the control switches located on the front panel and the CPU. In addition to the
interconnections to the actual processor, this board accepts memory address switches
AO through A15 (also on the front panel). The first eight of these switches (DO
to D7) are used to put data into the CPU. The EXAMINE/EXAMINE NEXT, DEPOSIT/DEPOSIT
NEXT, SINGLE STEP, and RUN/ STOP switches are also wired directly to the front panel
control board.
The third board contains the Intel 8080 central processing unit LSI chip, two-phase
clock and buffers, and the various lines going to the buss. (The buffers are tri-state,
high-input- impedance, high-output-level devices.) This board also has four dual-D
flip-flops wired as latches for the eight bits of status information. All input
and output wiring to and from the CPU board is via a 100-line buss.
The basic memory board contains 256 eight-bit words of random access memory (RAM).
It is directly expandable to 1000 words. This board also contains the input/output
data-gating, address-decoding, memory-wait, and memory-protect circuits. The memory-wait
circuit allows the memory time to stabilize the output data to the processor, while
the memory-protect circuit prevents accidental overwriting of the memory. All connections
between the CPU and the memory board are via the 100-line buss. The four boards,
along with the power supply, mount in an 18-in. deep by 17-in. wide by 7-in. high
(45.7 x 43.2 x 17.7-cm) metal cabinet. The various operating switches and LED indicators
go on the front panel. When all this is done, the computer cabinet's interior will
appear to be almost empty. However, the internal cabling system is arranged with
connectors to accommodate 17 more boards within the case, all connected to the main
buss lines. The added boards can be used for memory, input/output devices, control
devices, etc. All you have to do is plug the boards into the connectors and the
computer does the rest.
Part 2 of this article, next month, will describe the operation of the computer
and present some sample programs.
Posted June 21, 2022
|