As discussed in this text, computers will be categorized as digital, analog, or hybrid. The digital computer performs arithmetic and logic operations with discrete values. The analog computer represents mathematical or physical relationship with electronic analogies. The hybrid computer is actually a combination of analog and digital design that is connected by converters to permit communication between them.
Between 1937 and 1944, Aiken built the first general-purpose automatic digital computer, called the "Mark I." It was electromechanical, using relays as one of the major calculating devices. Between 1939 and 1945, Eckert and Mauchly built the "ENIAC," also a digital computer. It consisted of 18,000 electron tubes, weighed 30 tons, and dissipated 150 kilowatts. The time required for an adding operation was only 0.21 msec compared to 300 msec for the Mark I. These early computers are presently displayed at the Smithsonian Institution in Washington, D.C. In 1951 Eckert and Mauchly built the first "UNIVAC" for the United States Census Bureau. The "EDVAC," completed in 1952, was the first computer to use internally stored instruction (program).
Electronic digital computers became more common during the early 1950s, and military and industrial applications grew as their capabilities expanded. The AN/FSQ-7 computer was developed in 1954 for the USAF SAGE (Semi-Automatic ?Ground Environment) air defense system. A typical installation weighed nearly 300,000 pounds and occupied 40,000 square feet of floor space.
During the 1970s computer development and miniaturization have accelerated at an unbelievable rate. Integrated circuits using semiconductor technology have led to smaller and smaller "chips," such that the wire size to use with them has become a major problem.
Figure 4-1 shows one entire 32-bit central processing unit of a computer containing 450,000 transistors on a 0.25 X .025-inch silicon die. Devices as small as 1.5 micrometers (micron) and line separations as small as 1.0 micron are employed. This computer operates at an 18-MHz clock frequency and makes use of pipelining or gang execution of instructions, arithmetic and logic operations, and memory operations.
Digital computer systems consist of hardware and software components. The physical components are the hardware. The programs and files that govern the hardware are the software.
The basic sections of a digital computer are shown in figure 4-2. The digital computer hardware has three major groups of devices: input/output devices, storage devices (memory), and the central processing unit. Another grouping is to refer to all input/output and auxiliary memory devices that can be connected to a basic computer (CPU and its original memory) as peripherals.
(1) Central Processing Unit (CPU)
This portion of the computer hardware is the heart or central brain of a computer. It is often referred to simply as the processor, and it contains the arithmetic and logic unit and the control unit as well as a permanent memory (called ROM) containing its operating instructions, software interpretation instructions, and additional temporary storage registers.
(a) Arithmetic and logic unit (ALU). This portion of the computer hardware is where arithmetic and logical operations are performed. The ALU generally consists of an accumulator and registers for storage of operands and results. Also there is shifting and sequencing circuitry for implementing multiplication, division, and other desired operations. In computers, multiplication usually is done by a series of additions, division by a series of subtractions.
(b) Control unit. This is the part of the digital computer or central processing unit that determines the execution and interpretation of instructions in proper sequence, including the decoding of each instruction and the application of the proper signals to the arithmetic unit and other registers in accordance with the decoded information.
The information read into the control unit from memory is in the form of voltage levels that make up a "binary word," and represents to be processed is generally a part of the instruction. The control unit then energizes circuitry that causes the specified operation (add, subtract, compare, etc.) to be executed. Subsequently, the control unit reads the next instruction or jumps as directed to find the next instruction to execute.
The four major types of instructions are:
(1) Data transfer
Data transfer commands are those whose basic function is to transfer data from one location to another.
Arithmetic instructions are those that combine two pieces of data to form a single piece of data by using one of the arithmetic operations.
Logic instructions make the digital computer into a system that is more than a high-speed adding machine. By using logic instructions, the programmer may instruct the system on various alternate sequences through the program. The choice of which sequence to use will be made by the control unit under the influence of the logic instruction. Logic instructions provide the computer with the ability to make decisions based on the result of previously generated data.
Control instructions are those that are used to send commands to devices not under the direct command of the control unit, such as input/output units and auxiliary memory devices.
(c) Read only memory (ROM). This memory is used to store information on a permanent basis. Typically, when power is first supplied to a computer, the computer reads its ROM and sets itself up as a computer ready to operate. The ROM will also contain standard interpretation instructions to convert from higher to lower software languages. For computers with a specific application or for computer training, a PROM (Programmable ROM) might be employed to retain the program with power off. There are also EPROMs (Erasable PROM), which can be erased with ultraviolet light and re-programmed.
(2) Storage (Memory)
(a) Primary storage (main memory). Primary storage is immediate access memory and is used to
store data, instructions, and intermediate results in a manner that permits them to be made available for quick access and processing. It is random access memory (RAM).
Table 4-1. A Comparison of Various Memory Characteristics
Average Average Price
Capacity Access Per
(1977 Data) -Unformatted- Date Rate Time Bit Random Non-
Memory Technology (Kilobits) (Bits per Second) (milliseconds) (Cents) Access volatile
(Fixed head, first drive) 1.0 X 105 6.0 X 106 8.5 2.0 X 10-5 Access Yes
(Mass storage system) 1.1 X 109 1.2 X 106 1.4 X 104 2.5 X 10-5 No Yes
(Bytes per second)
(Single module) 6.4 X 102 2.0 X 104 2.5 X 10-4 1.9 X 10-1 Yes Yes
(Moving head, first drive) 6.0 X 101 1.2 X 104 3.7 X 101 7.7 X 10-4 Access Yes
(Bytes per second)
Cartridge (one) 2.4 X 104 4.8 X 104 2.0 X 104 1.0 X 10-1 No Yes
(Single drive with electronics)
(Single drive with electronics) 5.8 X 103 2.4 X 104 2.0 X 104 1.3 X 10-2 No Yes
Bipolar Random Access Memory
(per chip) 4.0 1.3 X 107 6.0 X 10-5 5.0 X 10-1 Yes No
(per chip) 1.6 X 101 2.0 X 106 2.7 X 10-4 3.0 X 10-1 Yes Few
Floppy Disk (one)
(Single drive with electronics, Block
double density) 6.4 X 103 5.0 X 105 2.6 X 102 1.0 X 10-2 Access Yes
(per chip) 1.0 X 102 5.0 X 104 4.0 1.1 X 10-1 Access Yes
(per chip) 1.6 X 101 2.0 X 106 6.5 X 10-2 1.3 X 10-1 Access Few
(Ready-only-memory, single disk Block
medium) 1.0 X 107 7.2 X 106 5.0 X 103 1.0 x 10-5 Access Yes
One type of primary storage is the ferrite or magnetic core memory. The core consists of a ferrite toroid with at least two windings. A positive pulse through the input winding will create a magnetic field in the core, in a clockwise direction (figure 4-3).
When the pulse is removed, the magnetic field will remain. The core "remembers" that is has been set. If a negative pulse is sent through the input winding, the magnetic field will be reversed. The rapid reversal of the magnetic field will induce a current in the output winding. The pulse that sets the core is called the write pulse. A pulse in one direction will write 1; a pulse in the other direction (or a pulse through a separate winding wound in the opposite direction) will write 0. Once the core is set, it can be "interrogated" by sending a pulse in the same direction as is used to write 0, called a "read" pulse. If the core is set to 1, there will be a pulse induced in the output line. If it is set to 0, there will be no output pulse. Note that readout is destructive. The process of interrogating the core resets it to 0, regardless of the information content.
Another type of main memory is semiconductor memory. This technique basically relies on a switchable on-off circuit to store and maintain either of two bit states. After the circuit is set to one state it can then be read by testing its ability to carry a current; if it can carry one, it is "on," if not, it is "off." This read process does not require a restore cycle as core does; however, most types of semiconductor (often called silicon) memory are "volatile." If the system suffers a power failure, the bit values will not be maintained in a volatile memory. Therefore, a back-up system is usually provided for power or a hasty copy in such an event. Semiconductor memory costs less than ferrite core memory. Table 4-1 shows a comparison of various memory types.
(b) Secondary storage (auxiliary memory). The function of secondary storage (auxiliary memory) is to store data that is not presently being used by the computer. The access time of this secondary storage may vary from several seconds to several minutes depending on the storage device used. Many secondary storage devices are based on the familiar magnetic tape recording principle. When a strip of plastic, coated with iron oxide or some similar magnetic material, is passed close to the field of an electromagnet, the particles are oriented or polarized. The orientation is retained after the field that created it is removed, and the particles themselves form a miniature magnet. When this magnetized section of tape passes a gap similar to the one that generated it, it will create a magnetic flux, whereby it can be read. In practice, several channels are recorded across the width of the tape. The form of the memory is sometimes a tape recorder, but it is often in the form of a drum or a series of disks. There is no basic difference in principle between these forms; the drum can be thought of as a series of tape bands, and the disks as a series of tape rings. (See figure 4-4.)
Drum memories and disk memories may read and write one bit at a time, or have several heads in parallel, as is the practice with tape. Some drum memories and disk memories have tow or three sets of read/write heads. While one work is being read, another head moves to address the next word.
The tape memory has an infinite capacity if allowance is made for changing tapes, and has the largest capacity of all memory devices, even if only the tape actually on the machine is counted. Unfortunately, the access time (i.e., the time it takes to move the tape until the work addressed is under the read head) may be very long, since the entire length of the tape may have to be traversed. For this reason, tape is not used for storing intermediate data, although it is often used for storing program or operating instructions and files since the machine usually runs through them one at a time, in the order in which they occur. The drum type improves the access time at the expense of capacity. The disc type also sacrifices capacity for improved access time. The capacity of the disc type is greater than that of the drum type, and its access time is about the same if several read/write heads are used, but its cost is greater. The access time for drum-type and disk-type memories can be reduced by optimum coding. This is the practice of storing the instructions in such a way that the material addressed will come under the read head just at the time it is required. This is not practical for general-purpose computers. Since the time required for each computer operation must be calculated to determine what position the read head will be in, the process is costly and usually requires several trial runs on the computer. For a special-purpose computer, however, optimum coding can often permit the use of a much less expensive memory than would otherwise be required.
The category of input/output (I/O) equipment includes all devices necessary to communicate with the computer. The function of this equipment is to convert instructions and data into whatever form is required by the computer, and to convert the results into a usable form.
Some of the more common input/output devices are: keyboard, teletypes, paper tape readers, paper tape punches, high-speed line printers, magnetic tape units, cathode ray tubes, card readers, magnetic discs, and optical mark readers. (See figure 4-5b.)
Often the largest part of a computer (such as your hand-held calculator) consists of input/output equipment. In a military computer, where data is not available in advance and is obtained from a variety of sources, the speed and accuracy requirements of this equipment are often more demanding than those of the computer itself. Generally speaking, the I/O devices are much slower than the speed of the central processor.
Once the "hardware" or circuit wiring of a digital computer is completed and the desired external equipment or peripherals is attached, it must be given a detailed, complete, and unambiguous set of instructions to carry out after it is set into operation. These instructions are called the "program" or software" and are as important to the functioning of a digital computer as the electronic expertise that went into its internal design.
Because a digital computer performs its computations on numbers, some method of electronically representing numbers must be used to enter data into the computer and to manipulate the data internally. Most data representation systems that are used with digital computers require only the gross recognition of the presence or absence of data. This is sometimes known as yes/no, on/off, true/false, or 1/0 data representation. The binary number system, which only uses the digits 1 and 0, is a natural method to use to represent numbers within the computer, since any number may be represented by the correct sequence of 1s and 0s.
Within the computer, each digit of a binary number is known as a "bit" (binary digit). Most computers use a fixed number of bits to represent numbers. These groupings of bits are called computer "words" and are basic units of manipulation within the computer. Typical word lengths are form 8 to 32 bits, although longer work lengths are possible and some computers are able to address every bit. Computer memories, in turn, are capable of storing or filing a fixed number of words at any one time, which is frequently used to denote the computer size. That is, a 48K computer would have immediate access memory (RAM) to store 48K words of whatever length that computer uses. It should be noted that 1K = 1024 = 210. The arithmetic accuracy of a computer using longer words is greater.
Programming is done on three broad levels: (1) Machine language, (2) Assembly (or symbolic) language, and (3) High-level (or compiler) language. The term "language" arose because of the similarity between communicating with a computer and communicating with someone who only understands a different language. In either case, it is necessary to translate your ideas or instructions into a form understandable by the other. Machine language is the most rudimentary form of programming. Since digital computers are binary machines, data and instructions are represented internally by binary numbers--either in memory or in the various registers. Machine language programming requires that the binary numbers representing the desired sequence of events to be performed by the computer be entered into the appropriate memory locations within the computer. This is usually done by manually setting an input register to the binary number desired, specifying the memory location. This is time consuming for a person to do and is subject to error because humans do not think in binary. In addition it requires the programmer to be present at the computer in order to enter the data.
For example, to program a typical general-purpose digital computer in machine language, all programs consist solely of binary numbers as shown below:
1 0 0 1 1 1 0 0 1 1 0 1
0 1 1 0 1 1 1 0 0 0 0 1
The entire program would be extremely difficult to write since all operations would require the programmer to think in binary. In order to eliminate this problem, translators are used that convert higher level languages or mnemonics into the machine language that the computer "understands."
The next higher language--assembly language--allows a programmer to use a specified alphanumeric code for his program. This code uses alphabetic and hexidecimal mnemonics instead of binary numbers. For example, ADD would mean add, and could represent the binary number 00110110--obviously more easily understood. Also, memory locations could be assigned a name instead of a binary number--for instance, ADD X instead of 00110110 and 1101110011111-- and any further references to X would specify that same location. When symbolic language is used, the computer must already have had a translator program put in it--usually written in machine language and stored in its ROM__that will interpret each symbolic code and translate it to the corresponding machine language code that eventually gets stored in its memory. Usually, symbolic language programs are translated on a one-for-one basis, i.e., each mnemonic instruction generates only one machine language instruction. Sometimes, however, there are certain symbolic instructions that generate a long sequence of machine language instructions.
Machine languages and symbolic languages are applicable only to a specific model of a computer. They will differ from computer to computer because of internal design differences, i.e., the same binary code may mean different things to two different computers. When writing software to control the operation of the computer, assembly language offers the programmer complete control of the machine. Usually, only professional programmers use machine or symbolic language for programming because it is so machine oriented and can be extremely tedious and detailed.
In an attempt to alleviate this difficulty, many high-level languages have been developed. All of them attempt to aid the programmer by allowing him to state his problem in simple English language phrases or mathematical notation. Like any language, each has its own peculiar grammar and format that must be followed for it to be successfully understood by the computer. An important feature of high-level languages is that a program written in a high-level language is not machine dependent. However, the translator/compiler for a given language is machine dependent, and the high-level language program must be converted by the translator/compiler into the machine language for that specific computer. The most common compiler languages today in the U.S. are: BASIC--used primarily with time-shared systems, FORTRAN--oriented toward scientific problem solving, COBOL--aimed at business applications, and PL/1 (Programming Language 1)--an effort to combine scientific problem solving and business applications. There are many other languages in existence, but not as widespread or in common usage. The language used for the Navy and Marine Tactical Data systems is a compiler language called CMS-2.
Since no one language could meet all DOD programming requirements, there are many languages in use in DOD. Supporting so many languages is a severe software maintenance problem. In addition, system integration becomes a critical issue when computers can't communicate via the same language. To alleviate these problems, DOD commissioned the creation of a high-level language called ADA. ADA's "mission" is to be a standard language, capable of fulfilling all of DOD's programming needs. As a result, it is a huge and complicated language, but should simplify programming, software support, and systems integration over the long term.
Classes of Digital Computers
Purpose. Digital computers may be divided into two broad classes--special purpose and general purpose. As the name implies, special-purpose computers are designed for individual, specific applications where no flexibility is required. only that amount of hardware or circuitry necessary to accomplish its purpose is used, and the design is optimized in terms of size, power, cost, or any other relevant criteria. Since the application and design of each special-purpose computer is unique, no attempt will be made to discuss all the possible techniques used in their construction.
The solution of the fire control problem must be accomplished in a "real time" environment; that is, it must proceed fast enough so as to permit the results to influence the related process that is underway. The same is true for command and control systems. Herein lies the main difference between special-purpose and general-purpose computers. The military special-purpose computer must function in the "real time" environment with sufficient speed to accomplish this mission.
Some applications of special-purpose computers are: Poseidon guidance, cryptographic decoding, AN/TPQ-27 radar-directed bombing systems, and radar tracking systems. Applications of the computers to command and control systems will be discussed later. In almost any of the above applications, the computer is a part of some larger overall system, and its design is conditioned by the need to be integrated with the rest of the hardware.
On the other hand, the general-purpose computer is produced for a large range of potential applications and is designed to be as flexible as possible in order to accommodate a maximum number of uses. Because of this, for any single use, a general-purpose computer will normally not be required to use all of its potential capability. Very few programs require the full use of all the instructions, the memory storage space, the input/output capability, or the high processing speed of the modern computer. Because of the rapid advances in today's weapons systems, the general-purpose computer offers the advantage of being able to be reprogrammed to accommodate changes in both our systems and those of our adversaries.
The current general-purpose computer of the Navy and Marine Corps tactical data systems and fire control systems is the UNIVAC AN/UYK-7 computer.
Architecture. One way to solve a bigger problem is to build a bigger, faster computer. Another way is to use more than one computer. How the computers in a multi-computer system are organized is called the system architecture. Two terms often used in describing such architectures are distributed processing and parallel processing. Not all references agree on the definitions, and computer systems are built to purpose, not to definition. In general terms, a computer system is distributed if it is more than one computer working on parts of the same problem in coordination with each other (whether located remotely from each other or not). This type of computer system is loosely coupled. A parallel-processing computer system is one in which more than one computer is working on parts of the same problem (whether located remotely from each
other or not) under a hierarchical structure where some computers are subordinate to others. This is a closely coupled system.
Still another way to look at computing is whether the computer is a separate entity from the system it serves, or is an integral part of that system. When the computer is an integral part of a system, it is considered embedded, as are computers in many weapons systems. Embedded computers may be either general or special purpose and could have any appropriate architecture.
Perhaps the first analog computation was the graphic solution of surveying problems. The first actual analog computer was probably the slide rule, which was developed about 1600.
The next analog computational device of importance was the nomogram. A nomogram is a chart on which some functional relationship of three or more variables is represented in such a way that it is possible to determine the values of one variable corresponding to given values of the other variables. Descartes was apparently the first to use graphs to represent functional relations between two variables.
Another analog-computing aid is the plainimeter, which was developed about 1814 by J.H. Herman. The plainimeter is an integrating device used to measure the area bounded by a closed curve on a two-dimensional plot such as a map.
In 1876 Lord Kelvin applied the ball-and-disk integrator to the construction of a harmonic analyzer. This machine was used to analyze and predict the height of tides in various ports.
Invented independently by Abdank Abakanoviez in 1878 and C.V. Boys in 1882 is the integraph, another integrating device of the same family, which can be used to obtain the integral of an arbitrary function from a two-dimensional plot. By proper manipulation of the integral curve and by successive approximations, it is possible to solve certain classes of differential equations with the integraph.
No really major breakthroughs were made in the area of analog devices until the early 1940s. During the Second World War many special-purpose electronic analog computers were built, and components were developed that made possible the construction of general-purpose analog computers. The most significant development, perhaps, was that of the voltage operational amplifier. Designs came out of the war that made possible the construction of an amplifier with extremely high gain and input impedance and near-zero output impedance. This brought about the construction of a quite accurate analog computer in 1947. Since that time many developments have taken place. The general-purpose computer has been improved with respect to accuracy, preciseness, and ease of problem setup. Machines have grown from 20 amplifiers to 500 and 1,000 amplifiers. Many problems are solved every day on analog computers involving 100 to 500 amplifiers.
Basic Features of an Analog Computer
The analog computer provides the following five essential functions required for the solution of differential equations:
(1) Addition (subtraction is merely inverse addition).
(2) Multiplication (division is merely inverse multiplication).
(3) Integration (solution of differential equation is essentially an integration process).
(4) Function generation: i.e., the ability to produce inputs such as step functions, ramps, sinusoidal functions, impulse functions.
(5) Display: i.e., the values of variable can be taped and measured on voltage-sensitive meters, chart recorders, or X-Y plotters.
Removable patch boards are used to wire up connections between components so as to represent the equation being solved. When satisfied with the circuitry, the patch board is then plugged into the computer and activated to solve the equation.
The basic computing element of the electronic analog computer is the high-gain directly coupled amplifier. For purposes of analysis the high-gain amplifier is assumed to have an infinite input impedance and a zero output impedance. The symbol for the high-gain amplifier is shown below in figure 4-6. The output for most laboratory analog computers is limited by amplifier design to the range +13 volts. Since the gain (K) is of the order 108, this requires that the input voltage (Einput) must remain less than 10-7 volts. This results in the point being a virtual ground since, for proper amplifier operation, this point must remain near zero, or ground. This fact is used in the analysis of the operational amplifier.
The high-gain amplifier can be used for addition, subtraction, inversion of sign (inverter), and for integration. In order to accomplish any of these functions, a feedback loop must be connected as shown in figure 4-7. When the amplifier is so connected, it is normally referred to as an operational amplifier. Simply by changing the feedback element, the amplifier can be changed to build a summing amplifier or integrating amplifier, etc.
Summing amplifier. For the case where the feedback element is purely resistive, the circuit can be analyzed using Kirchoff's current law at the point in figure 4-7 marked SJ (summing junction). Since the gain across the amplifier is 108, the current, ib, must approach zero, which will be assumed, and EB must be at virtual ground or zero.
iinput + i 0B + if = 0
(EIN - EB) + (Eo - EB) = 0
EIN + Eo = 0
Note that the output of an operational amplifier always experiences a sign reversal and is dependent upon the ratio of the feedback resistor to the input resistor.
Using equation (4-1)
Rf = 100K = 1 EO = -EIN
RIN 100K a gain of 1
Rf = 100K = 10 EO = -10 EIN (4-2)
RIN 10K a gain of 10
Whenever the input and feedback resistors are of the same value, the coefficient by which the output is related to the input is unity, and the device is a simple inverting amplifier or inverter. It should be remembered that all amplifiers invert the signal, but an amplifier that only changes the sign of the input is given the special name of inverter. If this analysis is extended to the case where there is more than one input (hence more than one RIN), then the device is called a summing amplifier or summer. By modifying the feedback elements, one can cause an operational amplifier to act as an integrating amplifier, a differentiating
amplifier, or an inverter. From this analysis it is obvious that one use of the analog computer is to solve differential equations. Figure 4-9 summarizes the symbols used in analog computer flow diagrams for the linear computing elements described in this chapter. Amplifier gains are unity in all examples depicted.
Applications of Analog Computers
The uses of analog computers fall into three general categories: solution of equations, simulation, and control. The difference is more in the method by which the analog is arrived at than in the actual nature of the analog. For example, if analog devices were used to simulate a mechanical system piece by piece, it would be called simulation. If the differential equations for the system were obtained and analog devices used to solve the equations, it would be called solution of equations, yet the analogs resulting from both processes might be identical.
Solution of equations. Most projectiles and missiles use some type of accelerometer safety and arming (S&A) devices. The equation of motion of the mass or g-weight in an accelerometer is given as
MX + CX + KX = F(t) (4-3)
This equation can be solved quite easily using the analog computer. The analog flow diagram is shown in figure 4-8. Normally the coefficient of the acceleration term is made equal to 1, so the equivalent equation is
X + CX + KX = F(t) Solve for -X (4-4)
M M M
-X = CX + KX - F(t) (4-5)
M M M
If the output of amplifier 3 is placed on an X-Y recorder, a graph of the displacement of the g weight as a function of time is produced. For appropriate values for F, K, C, and M, the solution for X can be either critically damped, overdamped, or underdamped. If the system is to be critically damped, the graph would be as shown in figure 4-10.
Simulation. Consider the accelerometer S&A devices previously discussed. If the accelerometer is to be modeled and the analog computer is to be the vehicle on which the system is represented, the modeling is called a simulation. By simply varying either pots 1, 2, or 3, it is possible to vary the force, degree of viscous damping, or spring constant and thereby vary the performance of the system without having to build several different accelerometers. In this manner, many simulations can be performed in a minimal amount of time.
Although this is a simplistic treatment of a very rudimentary system, the student can easily realize the tremendous cost savings using the analog to model more complex system.
Control. In addition to performing calculations, analog devices are frequently used to translate the results into action. The most common application of this type is the area of weapons control and system control.
In most weapons control systems, the object is to cause the input to exactly match the output and respond at a predetermined rate. The analog can be efficiently used first to simulate the physical system and then to determine the type and magnitude of feedback necessary to have the system respond as desired.
In most cases, the data form analog computers used in weapons system will be data that must be translated into action. In this case, the output is usually connected to some form of control system. For example, if the output were a gun elevation, the signal would be used as the order to a servomechanism that would elevate the gun.
In the 1940s, computer engineers tended to specialize in either analog or digital computers, rather than in both. But in the late 1950s the trend towards specialization ended as engineers began to realize the advantages/disadvantages of both type of computers, depending on the specific problem the computer was used to solve. The hybrid computer is a combination of both digital and analog design.
Since the hybrid computer can handle any problem or physical process described by a set of simultaneous ordinary or partial differential equations, it makes possible an accurate, truly representative simulation. Dynamic problems that once took too long or were too difficult to handle became solvable in a reasonable length of time. Figure 4-11 shows the flow of information in a hybrid computer composed of a general-purpose digital computer and a general-purpose analog computer.
The analog computer excels in solving dynamic problems and simulating complex physical systems. It has no equal for man-machine interaction, recording and graphic display, and repetitive or iterative multivariable problem solution at real-time or other solution speed. High-speed computing elements, used to simulate mathematical functions, physical systems, and dynamic processes, are arranged in much the same pattern as the physical system they represent. In contrast to a sequential digital computer, the analog machine is a parallel system, performing all computations simultaneously, and is therefore capable of producing continuous solutions to dynamic problems. It has no need for numerical approximations, since its mathematical functions are carried out directly. Precision is limited to 1 part in 10,000, which is sufficient for accurate simulation of scientific and engineering problems.
The digital computer is good at solving algebraic equations and even better at manipulating numbers. It is unbeatable for high-speed precision in arithmetical operations, data storage, and documentation. Because it is a sequential machine, however, it can perform only one calculation at a time; and, thus, cannot solve even simple multivariable problems all at once. It must break them up into segments, store the results, and recall them as needed. The basic sequential nature of the digital computer is retained even in the multiprocessor environment. The documentation capability of the digital computer is unmatched by any other system. Results are available in a variety of forms, such as printed tables, magnetic or punched tape, and the familiar punched cards. Properly used in high-accuracy, high-volume numerical calculations, the digital computer is extremely economical, and its assets are desirable for much engineering and scientific work, such as stress analysis of static structures.
Analog to digital (A/D) converters. An "analog to digital" converter (ADC) is an electronic device that accepts an analog or continuous input voltage from some source and determines the value of that voltage for eventual input to a computer. The analog input in figure 4-12 is converted within the ADC to a coded digital output, where the presence or absence of a voltage on any of the lines 0 through 4 signifies a binary 1 or 0.
The process of analog-to-digital conversions is not uncommon. Our minds make hundreds of analog-digital conversions each day. For example, if you ask a young child what time it is, he will probably look at a clock and tell you that the long hand is near the six and the short hand is between the four and the five. The child is performing the function of data transmission, not data conversion. He is accepting the instantaneous value of the constantly moving hands of the clock, but he is transmitting the information in analog, not digital, form. The data that the child transmitted is converted into numerical values, in this case, four thirty. You, the inquirer, are therefore performing the analog-to-digital conversion; the child is not.
Care must be taken to avoid confusing truly digital readouts with others that merely appear to be digital. The needle of a voltmeter or the pointer on an automobile speedometer provides analog data by indicating the instantaneous value of volts or miles per hour in a constantly changing manner. It is only by reading these meters and assigning numerical values that a truly digital readout is obtained. Just as in the example of the clock, the human observer is serving as the analog-to-digital converter. Similarly, the type of data that is obtained from a micrometer scale or from the mercury column of a thermometer is analog in nature, until converted by the reader. The accuracy of each of these devices is in large measure a function of the ability of the reader to convert the information accurately from analog to digital form.
On the other hand, mechanical counters such as those commonly used to count the number of people entering a building provide a true digital readout. No great amount of skill is required for reading such a device because its accuracy does not depend on the reader, but upon its design. If each click of the counter corresponds to a count of one, no amount of skill of the part of the reader will increase its inherent precision.
Digital to analog (D/A) converters. A digital-to-analog converter performs the reverse operation, accepting a digital input on a parallel group of input lines and transforming that into an output voltage proportional to the digital input. This output voltage may then be used for any desired purpose.
Table 4-2. Classes of Hybrid Computer Applications
Application Type of Problem
1. Aerospace vehicle mission simulations
2. V/STOL vehicle simulations
3. Aircraft adaptive control
Aerospace 4. Control system studies
5. Boundary value problems
6. Nose-cone ablation
7. Launch window studies
8. Terrain avoidance simulation
1. Chemical reactor simulations
2. Heat-exchanger simulations
Chemical 4. Kinetics curve fitting
5. Process optimizations
6. Plant optimization
7. Process control simulation
1. EKG and EEG data analysis
Bio-Medical 2. Physiological simulation
1. Wave propagation
2. Ionospheric ray tracing
Communication 3. Antenna pattern calculations
4. Radio signal data processing
5. Learning and recognition studies
1. Submarine simulations
Others 2. Nuclear reactor simulations
3. Gas pipeline analysis
Digital-to-analog conversion, like analog-to-digital conversion, can be accomplished by both mechanical and electrical methods. The purpose of mechanical digital-to-analog conversions is to convert digital information into a mechanical movement or shaft position as is common in weapons systems.
Scope of Hybrid Computation
Hybrid computation offers the most economical and efficient means of solving a broad spectrum of problems that arise in many fields of science and engineering. Some classes of applications related to specific fields are shown in table 4-2. The major applications in aerospace have been for vehicle simulations. The objectives of these simulations have been to train pilots, design and evaluate automatic control systems, determine fuel requirements for optimal space missions, etc. In addition, special studies such as nose-cone ablation of a re-entry vehicle have arisen that require the solution of partial differential equations.
In the chemical field, the major applications involve the solution of partial differential equations for chemical reactors, heat exchangers, etc. Also, various types of optimization problems have been solved using hybrid techniques. In all of these problems, the analog computer accuracy is adequate, and the high speed is employed very effectively.
In the biomedical field, the most significant applications have been for analysis and identification of signals derived from sensors attached to humans and animals. In most cases, this has been done to determine abnormalities due to disease or the introduction of drugs into the subject. considerable experimental work has been done in the simulation of physiological function on the analog computer. The hybrid computer offers a convenient means of automatically relating the results of these simulations to actual data.
The applications for hybrid computation in the communications field have been rather specialized, as can be seen in the list in table 4-2. Some of these have been research studies, such as the Ionospheric Ray Tracing that involved the solution of the equations of the path of a radio wave under the influence of a changing refractive index. In this problem, the analog computer solved all of the equations defining the ray path, and the digital computer provided the complex function generation to represent the ionosphere. The overall economic savings in solving this problem on the hybrid computer was approximately 600/1 over an all-digital solution. The learning and recognition studies used the hybrid computer to analyze the spectrum of a voice signal and to develop functions that would permit recognition of arbitrary words within a given vocabulary.
The other applications listed in table 4-2 represent specific studies that have been performed in various fields.
Typical Hybrid Computer Application
As mentioned earlier, one of the major uses of hybrid computation has been in the combined simulation of an aerospace vehicle. One example of this type of problem is the simulation of a space vehicle re-entering the atmosphere under control of a temperature rate sensing system. In this type of control system, temperature sensors are placed on the wing-tips and nose of the vehicle to sense those points that are subject to the greatest aerodynamic heating during re-entry. The control system operates on the rate of change in the temperature of these points to control the attitude of the vehicle to ensure safe limits in the skin temperature peaks. This control will override the guidance system commands if the integrity of the vehicle is in danger.
An overall block diagram of this simulation is shown in figure 4-13. As in all simulations of this type, the translated equations of motion are solved on the digital computer for precision, and the attitude equations are handled on the analog computer due to the lower precision requirements and higher frequencies.
The digital computer is also used to simulate the guidance system and the temperature sensors, since these are related only to the lower frequency variable generated from the translational equations. In addition, the digital computer is used to compute the aerodynamic force and moment coefficients that include four functions of one variable and four functions of two variables using stored tables in the digital memory. The patchable logic is used to simulate the reaction jet control system used to maintain vehicle attitude based on commands from the temperature rate flight control program.
It should be noted that a complete system simulation such as this encompasses a number of the standard operations listed in the basic functions. This simulation was very successful, and an efficiency of at least 20 to 1 over all-digital computation was realized.
The most significant feature that distinguishes analog computation from digital computation is continuity; analog computations imply continuous computation--that is, the variables involved in a calculation appear as continuous or smooth functions, whereas digital computations are separate, discrete manipulations of numbers producing numerical results similar to a cash register receipt.
Digital computers are electronic devices that manipulate individual numbers in much the same fashion as you would if you were solving a problem step by step with a pencil and paper. However, each step is performed in an extremely short time--typically 1 or 2 microseconds to add two numbers. In addition, digital computers are more flexible than analog computers, in that any numerical manipulation desired may be performed. Also, the precision of digital calculations may be to any desired number of significant digits. The most powerful capability of the digital computer, the step that separates it form an adding machine or desk calculator, is its ability to make decisions and decide between alternatives, adjusting to situations as they occur. For instance, when you perform a calculation of the price of a new car, you then compare that price to your budget and make the decision to buy or not to buy the car. Your subsequent actions and decisions will then be based on that decision, perhaps examining finance charges in one case and considering a different car in the other. A digital computer is capable of performing the same type of decisions, and because of this simulation of human thinking processes, there is a feeling that the digital computer is capable of thinking or acting as as "electronic brain." In fact, in order for a digital computer to do anything, it must be given a set of operating instructions that describe in minute detail what operations, decision, etc., it is supposed to perform. Perhaps the greatest advantage is that of the stored memory. This, coupled with the logic capability, has enabled the digital computer gradually to replace the analog in weapons systems.
Analog computers employ electronic circuits or mechanical systems to create an electrical or mechanical analogy (analog) of a mathematical problem or physical process. As an example, the relationship V = L di/dt indicates tat voltage across an inductor. Therefore, a circuit that measures the voltage across an inductor that results from a known applied current would provide an electrical analogy of the mathematical process used to solve differential equations. Common mechanical analogs include that provided by combining moving and stationary logarithmic scales, as on a slide rule, to perform multiplication, division, etc. A large number of mathematical operations may similarly be performed by appropriate electrical circuits or mechanical devices that are interconnected to represent a complex mathematical formula. The primary limitation of analog computers is loss of accuracy due to difficulty in manufacturing circuit elements or mechanical devices to the extremely close tolerances required and in maintaining those tolerances while in use. Another problem is that not all problems have electrical or mechanical analogies such as sorting a list of numbers into ascending order. Analog computers can typically provide answers to three significant figures.
This precision is sufficient for most computations, where the precision of the input data is of the same order of magnitude. Because both the input and output of the analog computer are usually electrical quantities (either voltage or current), the analog computer has great application in system requiring continuous electrical control for operation. The use of an analog computer to compute the lead angle required for an antiaircraft gun system is a typical example.
The fundamental characteristic of the analog is simulation, i.e., it duplicates the geometry, dynamic behavior, or some other aspect of the problem. The basic operating principle of analog devices is continuous measurement of quantities. Analog computers can be employed in weapons systems wherever problems of calculations from continuous data, simulation, or control are encountered.
Hybrid computers have a parallel analog processor, a serial digital processor, and a hybrid interface that allows these dissimilar systems to interact and communicate with each other. Such a combination of analog and digital equipment allows the capabilities of one system to compensate for the limitations of the other, thus yielding the best of both worlds.
1. Digital Computers
Precision limited only by size of computer word
Ability to store large amounts of information]
Ability to perform logic functions
Ability to handle non-numerical data
Cannot perform "real-time" calculations
Limited to discrete input/output
2. Analog Computers
Dependent variables within computer treated in continuous form
Parallel operation, with all computational elements operating simultaneously
Ability to perform efficiently such operations as multiplication, addition, integration, and non-linear function generation
High-speed or "real-time" operation, with computing speeds limited primarily by the characteristics of the computing elements and not by the problem
Accuracy limited by the quality of computer components
Limited ability to make logic decisions, store numerical data, provide extended time delays, and handle non-numerical information
Differentiation is difficult to realize in practice
The summing amplifiers and integrators almost always introduce a change in algebraic sign
The useful frequency range of the computer is limited at low frequencies by drift and at high frequencies by phase shift and attenuation
The amplitude scale of the computer is limited by amplifier saturation
3. Hybrid Computers
Some of the reasons for combining digital and analog computers are listed below.
To obtain the accuracy of the digital and the speed of the analog
By employing digital memory, to increase the flexibility of an analog simulation
To permit the processing of both discrete and continuous data simultaneously
To increase digital speed by using analog subroutines
The results of this combination are:
High-speed man-to=machine interactions
Precise numerical and algebraic calculations
Bekey, G.A., and W.J. Karplus. Hybrid Computation. New York: Wiley and Sons, 1968.
Blum, Joseph L. Introduction to Analog Computation. New York: Harcourt, Brace, & World, Inc., 1969.
Commander, Naval Ordnance Systems Command. Weapons Systems Fundamentals. NAVORD OP 3000, vol. 1, 1st Rev. Washington, D.C.: GPO, 1971.
Commander, Naval Ordnance Systems Command. Weapons Systems Fundamentals. NAVORD OP 3000, vol. 2, 1st Rev. Washington, D.C.: GPO, 1971.
Durling, Allen. Computational Techniques. New York: Educational Publishers, 1974.
Harrison, H. L., and J. G. Bollinger. Introduction to Automatic Control. Scranton, Pa.: International Text Book Co., 1963.
Headquarters, U.S. Army Material Command. Servomechanisms. AMC pamphlet 706-136, April, 1965.
Landauer, J. Paul. Spectrum of Applications for the Modern Hybrid Computer. Electronic Associates, Inc. Bulletin No. 66460, Applications Reference Library, 1970.
Mader, Chris. Information Systems: Technology, Economics Applications. Science Research Associates, Inc., Chicago: 1975.
Naval Education and Training Command. Digital Computer Basics. NAVTRA 10088-A, Washington, D.C.: GPO, 1973.
Stone, Harold S. Introduction to Computer Architecture. Science Research Associates, Inc. Chicago: 1975.