|Autorem opisu jest Paweł Boguś|
Popular Electronics, January 1975Cover
Part 2 of this article
The most powerful minicomputer
BY H. EDWARD ROBERTS AND 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 fullblown computer that can hold its own against sophisticated minicomputers now on the market. And id doesn't cost several thousand dollars. In fact, it's ia a color TV-reciver'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 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 minicomputers). 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.
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.
About the ComputerA computer is basically a piece of variable hardware. By changing the bit pattern stored in the memory, the hardware (electronic circuity) 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 8800, this is done by setting the bit pattern on the frontpanel 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 recived. By setting address and data switches, a complet 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 experiance 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:
CPUThe heart of the computer is the CPU, or central processing 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 expensiv 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 timer 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 others microprocesors and absent with other 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.)
MemoryA 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 bites. 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 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.
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 user 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 panelThe front-panel logic permits the following functions:
Power SupplyFour 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 electircal noise and obviates the possibility of total system failure due to the failure of only one regulator.
ExpansionThe 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 DetailsThe basic computer employs four printed circuit boards 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 selfaddressed 8½"x11" manila envelope with 40c postage to MITS, Inc. (See note below Parts List for address.) Request the PE8800 package.
The front panel display board accomodates 36 LED indicators and their associated drivers. Address line inputs A0 through A16 (powinno być A15 - przyp. PB), 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.
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 boadr accepts memory addresses switches A0 through A15 (also on the front panel). The first eight of these switches (D0 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 memoty-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.7x43.2x17.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 apear to be almost empty. However, the internal cabling system is arranged with connectors to accomodate 17 more boards within the case, all connected to the main buss line. 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.
Uwaga! Dokumenty pdf w wersji on-line są niedostępne
ze względu na ograniczoną ilość miejsca na serwerze.
Oryginalny artykuł w formacie pdf: