Analog Computers

English translation

Das Hybride Rechnersystem HRS 900

Complete English translation of the original German-language document (10 pages).


The Hybrid Computing System HRS 900

DK 681.34 — Ralf Schwarz


Introduction

AEG-TELEFUNKEN is active not only in the field of digital computing; the company is also the only one in Germany and on the Continent that simultaneously engages in the development and marketing of analog computers.

Analog computers of various sizes and accuracy classes have established a firm place in scientific and technical applications — in education and research at universities and other technical training institutions. Beyond that, they are gaining increasing importance particularly in industrial research and development. Significant application-engineering advantages contribute to this, since analog computers are extraordinarily effective at solving differential equations and systems of differential equations, in simulating dynamic processes within control-engineering systems, and in simulating the behavior of technical equipment and installations.

For four years now, within the framework of analog computer development, a substantial activity has been added in the field of hybrid computing. This term is defined as the combination of analog and digital hardware for achieving special purposes in the domain of technically and scientifically oriented problem-solving.

Hybrid computing has emerged — starting from the analog computer — in order, on the one hand, to expand the application possibilities of the pure analog computer and, on the other hand, to fill gaps in such problem-solving tasks that a digital computer is incapable of handling, or can handle only very inconveniently, opaquely, and above all expensively, for technical and economic reasons.

Hybrid computing can be operated at two levels of expansion: through hybrid analog computers or hybrid computers, and through hybrid computing systems or hybrid systems. In the hybrid analog computer, a fast and highly accurate precision analog computer is expanded by the addition of special, freely programmable digital elements (such as gates, flip-flops, shift registers, etc.) that serve for problem-oriented control of the analog section. A hybrid computing system consists of an interconnection of complete digital computers with hybrid analog computers via special electronic interface devices, with programming of such a system carried out using known problem-oriented programming languages extended for the purpose (e.g., FORTRAN-HYBRID).

AEG-TELEFUNKEN has both hybrid precision analog computers — the types RA 800 HYBRID and RA 770 [1] — in its product range, as well as hybrid systems with the type Hybrid Computing System HRS 900 and HRS 860.


Structure and Application Areas of Hybrid Computing Systems

A hybrid computing system consists of three subsystems: a digital computer, an electronic interface (coupling unit), and a hybrid precision analog computer. Digital computer and analog computer must each have provisions that make them suitable for effective coupled operation, but are otherwise standard machines of their respective types and can also be used separately for tasks that do not require hybrid problem-solving.

The connection between the two computing machines is handled by a hybrid interface (Koppelwerk), which, in a separate cabinet, contains a number of basic types of electronic coupling elements whose quantity in turn depends on the desired level of system expansion. The interface is connected via cable both to one or more input/output units of the digital computer and to the control electronics, the analog programming panel, and the digital programming panel of the analog computer. It handles the exchange of synchronization commands, control signals, and computational data, which are converted in converters from analog to digital representation or vice versa.

The application possibilities of hybrid computing systems have, in recent years — starting from initially singular requirements in the aerospace industry — been steadily expanded. Hybrid computing systems attempt to combine the advantages of the two types of machines involved, and to avoid the disadvantages that arise when either is used alone, by shifting the weak point onto the respective other partner.

The advantages of the digital computer rest on its practically unlimited storage capacity for data and tables of function values, its ability to execute logical program branches depending on the state of its program, its non-inherently bounded accuracy of value representation, and its high speed in processing simple arithmetic operations. For technical and scientific computations in which the solution of differential equations and systems of differential equations is of importance in many cases, the solution speed that can be achieved often does not suffice. This surprising fact has its cause in the fact that, in order to solve differential equations, the execution of integrations is required, which a digital computer cannot carry out directly due to its operating principle. What is required instead is the use of so-called numerical integration methods, in which integrations are replaced by a sequence of arithmetic expressions that the digital computer processes one after another. The number of simple computation steps required per integration step thus can increase under certain circumstances to such a degree that the high processing speed of the digital computer can no longer compensate for it in terms of time in many cases. The disadvantages manifest themselves not only through time-consuming and therefore expensive computations, but also — and more importantly — in the inability to solve fast real-time problems, where any attempt to produce the solution in the same time as the simulated technical process would take to show the same solution fails due to the insufficient computing speed of the digital computer.

The fact that even large and expensive digital computers can solve differential equations only in times corresponding to a highest frequency component of the expected time-domain solution of less than 10 Hz, and that for medium-sized digital computers this value drops to less than 4 Hz, makes the problem immediately clear to every expert. Even with simple simulation tasks, substantially higher frequencies generally appear in the solutions [2]. The problem of insufficient computing speed — i.e., of excessive dynamic errors in digital simulation programs — is a problem of the truncation error of the numerical integration method used in the program and depends on the formula used and the step size. However, it is unfortunately still not uniquely described by these alone. Step-size problems could be reduced by increasing computation speed, and truncation-error problems by using multi-step integration formulae with high error order. What cannot be dealt with, however, are the difficulties introduced when difference methods are applied — potentially injecting instabilities into the differential equation systems underlying the simulation task, and thereby producing an apparent solution situation that the problem itself would not yield. Moreover, this erroneousness is hardly detectable in any other way, which can point problem assessment in entirely wrong directions. To this day, outside of necessary conditions, no sufficient condition exists for stability, and thus no basis for evaluating the suitability of a particular integration formula.

In view of these difficulties, analog computers are clearly at an advantage, since a special computing element — the electronic integrator — is available to them, with which solutions to differential equations with frequency components of more than 100 Hz are readily achievable. The general advantage of the analog computer is therefore the substantially higher computation speed, complemented by an extraordinarily simple programming of technical and scientific problems and easy adjustability of the parameters of the problem.

The accuracy of the analog computer at a maximum of 0.01% is practically sufficient for technical computations in every case. Its weak points — the lack of storage capacity for large quantities of data and the limited capability for logical operations — are compensated particularly effectively by the digital computer. In this way, the circle of considerations that has led to the combination of the two computer types in a hybrid computing system closes.

The problem of simulation, and in particular real-time simulation, pervades practically all technical and scientific disciplines. Mechanical engineering, vehicle engineering, chemical reaction kinetics, nuclear engineering and reactor construction, technical chemistry of process engineering, biology, physiology and medicine, biotechnology, and not least the classical domains of hybrid computing — aviation and space — have economically viable application opportunities for hybrid computing systems and, in some cases, also problems which, for technical reasons or due to excessive cost and the complexity of purely digital simulation, cannot be approached at all.

Hybrid computing systems have the additional advantage that the combination of relatively small and therefore inexpensive digital computers with equally inexpensive analog computers yields total installation costs far below those of a pure digital computer that, under the already-mentioned limitations regarding solution bandwidth, would require considerably more technological effort to achieve the same computational performance.

The application possibilities of hybrid computing systems lie further in the automatic optimization of multi-parameter systems, in statistical investigations of stochastic processes including statistical variation of influence quantities within simulated systems, and in the solution of partial differential equations. All application possibilities face application problems across all the above-mentioned technical and scientific disciplines, whereby the fast and elegant solution possibility for many types of partial differential equations will acquire a practical importance in the future that is not yet fully foreseeable [3].


The Hybrid Computing System HRS 900

The Telefunken hybrid system designated the Hybrid Computing System HRS 900 consists of the precision analog computer RA 770 with sub-computers RA 775 and RA 776, the digital computer 90-40, and the hybrid interface HKW 900 (Fig. 1). The precision analog computer and the interface are in-house developments by AEG-TELEFUNKEN; the digital computer comes from the manufacturing of the French company CII and is a licensed copy of a computer proven in hybrid systems by the American company SDS. The technical requirements for a digital computer that can be effectively employed within a hybrid computing system can be summarized under the general term “process computer characteristics”; the software package must, however, meet or exceed the standard of a scientific computer. Since the development of the hybrid interface must take into account the system-specific and technological characteristics of the input/output units, and since the development of an effectively usable hybrid programming system for the user can only be accomplished on the basis of a secured standard software package — and the lead time extending over several years until release for the market must be taken into account — the digital computer must be selected under special criteria, particularly because its separate usability in normal computer-center operation for scientific and technical tasks will be an essential evaluation criterion for the potential buyer of a hybrid computing system. In further pursuit of this approach, AEG-TELEFUNKEN will soon offer another system — the Hybrid Computing System HRS 860. This system uses the in-house-developed digital computer TR 86, which satisfies all required conditions and for which interface and software developments have been carried out in conditional parallelism.


The Analog Computer

The analog computer must be of the precision analog computer type in order to fully exploit the application possibilities residing in the hybrid computing system, as represented by the RA 770 (Fig. 2).

The following characteristics distinguish it:

General characteristics:

  • High static accuracy of computing elements (< 0.01%).
  • High dynamic accuracy, i.e., wide bandwidth and small phase errors of computing elements.
  • Short repetition times.

Special characteristics:

  • Multiple precise timers with wide adjustment range.
  • Servo potentiometers with adjustment via external devices (paper-tape readers, digital computers).
  • External selection of all computing elements via digitally encoded address input.
  • External control of operating modes, operating states of integrators and analog stores, and positions of comparator switches via digitally encoded control-command input.
  • Query capability for operating modes of the switchable computing amplifiers (integrator/summer) and comparator amplifiers by external devices.
  • Output of control commands to external devices.

The general characteristics are realized through the development of modern computing elements and through the use of a reference voltage of 10 V, which permits wide bandwidths with low power dissipation and without loss of static accuracy.

The special characteristics are fulfilled by the use of a digital operating panel (digitales Bediengerät). This contains exclusively digital circuit elements from which a larger number of timers (e.g., for generating various computing, hold, and pause times) as well as digital selection circuits for setting operating modes, and for addressing and selecting computing elements, are constructed. A selection address register allows the digital input of binary-encoded addresses from external devices (e.g., digital computers).

In addition to the digital operating panel, a digital add-on unit (Digitalzusatz) enables the execution of the two control and query operations cited among the special characteristics. The digital add-on unit consists of a magazine section — freely accessible to a programmer from the front of the computer — accommodating 24 plug-in cards with digital circuit elements, and a desk-shaped holder for interchangeable digital programming panels (DPF).

On the 24 magazine slots, plug-in cards with a larger number of digital elements — such as flip-flops, monoflops, shift registers, counters, inverters, NAND gates, and NOR gates — can be installed in any distribution. The inputs and outputs of these elements are accessible at sockets on the DPF. They are connected there using shorting plugs and patch cords — similar to how the elements of the analog programming panel (APF) are programmed.

The digital elements serve two purposes. First, they allow the programming of digital control circuits as required when expanding an analog computer to a so-called hybrid analog computer. The control of the digital circuit is accomplished either by the clock pulses of the timers of the digital operating panel or by fixed clock signals. Second, the digital elements serve as intermediate links in the form of freely programmable logic for controlling various computer and element functions of the analog computer, as well as for decoding, converting, and reporting back these functions or digital signals from external devices. The corresponding inputs of the control lines and outputs of the reporting lines are likewise located on the DPF and are directly patched there to outputs or inputs of digital elements.

For receiving and forwarding digital control information from connected digital computers, system connection lines begin and terminate on the DPF. They are connected directly via the hybrid interface — in which the necessary level adaptation takes place — to the relevant connection points of the digital computer. Their number depends only on the desired expansion scope of the interface control section or on the expansion of the digital computer with corresponding connection points.

A considerable portion of the programming of a hybrid problem is carried out at the DPF.


The Digital Computer

For use in the Hybrid Computing System HRS 900, the digital computer 90-40 offers a particularly favorable combination of characteristics, of which especially those numbered 6 and 7 are essential, and those numbered 8 and 9 are prerequisite:

  1. Pure binary value representation (fast arithmetic).
  2. 24-bit word length (accurate representation of floating-point numbers).
  3. Fast basic clock (6 MHz).
  4. Short cycle and memory access times (1.75 and 0.8 µs respectively).
  5. Fast fixed-point, floating-point, and shift operations (e.g., fixed-point addition 3.5 µs; Gibson mix 11 µs).
  6. Automatic block-wise data transfer between core memory and peripherals (Interlace) at 3.5 µs per word.
  7. Input and output of control signals separate from the normal input/output data channels (PIN/POT and EOM commands).
  8. Query lines (sense lines), activated by SKS commands for programmable querying of connected peripheral devices for the presence of single-bit signals.
  9. Interrupt lines with various priority levels — activatable from the program — for program interruption by single-bit signals from peripheral devices.

These characteristics permit the use of the digital computer — with respect to efficient construction of the interface, favorable timing in data transfer in both directions, and clear programming of hybrid computing problems — to be particularly economical.

Through high internal processing speed and high input/output rates, the delays in data exchange arising in a closed processing loop of digital and analog computer — with the associated risk of resulting solution instability — can be minimized from the outset.

The accuracy of value representation, at 24 bits, represents a favorable optimum both for realizing a sufficient value range and for having additional information bits available for driving smoothing devices. These smoothing devices are implemented in hardware in conjunction with the digital-to-analog converter on the output side, and allow the output of functions not as a sequence of discrete values (i.e., as a staircase function), but as a continuous function with linear interpolation between the support points. They act as first-order filters and significantly reduce the risk of exciting potential instabilities.

The automatic block-wise data transfer gives the hybrid system, compared with a normal input/output channel, yet another improvement in data transfer speed. In a normal data transfer via program — in which additional address computations must also be carried out — a sequence of several commands requiring approximately 20 µs of computing time is needed. The occupancy time of the digital computer for the input and output of data words can, however, be decisively reduced by the automatic block-wise input. A retrofittable Interlace add-on provides direct data transfer between peripheral devices and core memory without intervention by the running program. This is important when transferring data blocks of a defined number of data words. The Interlace contains two registers — one for the address of the first word and one for the number of words to be transferred — and it carries out all address computations autonomously. The occupancy time of the computer for transferring a data word is thereby reduced to two memory cycles of 3.5 µs.

Within a hybrid computing system, the use of the Interlace facility is often necessary, since in this way a fast transfer of several function values to be transmitted in parallel is possible with reduced time expenditure.

The digital computer can be expanded to 32 K words in core memory. For use in a hybrid computing system, taking into account the required software package, an expansion to at least 8 K — preferably 12 K — is needed. Besides the teletype and a paper-tape input/output unit, a minimum configuration requires two magnetic-tape units for operation of the available hybrid program system. All known and common peripheral devices are available for the computer; particularly punch-card readers and high-speed printers offer additional advantages in terms of processing throughput even in hybrid computing.


The Hybrid Interface

The essential foundation for planning the Hybrid Computing System HRS 900 was the already-described properties of the analog and digital computers. The hybrid interface HKW 900 has the task of transferring computational data and control information between the differently operating and differently programmed subsystems within a sufficiently short time.

In the hybrid interface HKW 900 — which was developed specifically for the hybrid system HRS 900 — computational data and control-word transfer are kept completely separate. From this results a very flexible and simultaneously easily surveyable programming for the user. In addition, a series of programming aids — e.g., a hybrid operating program system, a supervisory program, and a special FORTRAN extension — facilitate application.

In order to increase performance, new approaches were taken at many points during the development of the interface HKW 900:

  • The digital-to-analog converters (DACs) serve not only for converting digital signals, but are additionally switchable for multiplying the digital input signal by an analog value or for extrapolation/interpolation of the output values of the digital computer.
  • Multiplexers and sample-and-hold amplifiers are combined into one circuit unit with extremely high accuracy.
  • The analog-to-digital converter achieves a conversion rate of 300 ns/bit (4 µs for the conversion of an analog value with 14-bit accuracy).

The interface HKW 900 is distributed between Cabinet A (Fig. 3) and Magazine B. Cabinet A stands next to the analog computer. It contains all units that must be located directly at the analog computing elements to increase interference immunity — in particular the digital-to-analog converters, multiplexers, and analog-to-digital converters. Magazine B is located in the cabinet of the digital computer. It contains all units that are advantageously installed near the digital computer for technical reasons, namely the control units for computational data and control-word transfer. In special cases, the elements of this magazine can also be housed in a separate cabinet beside the digital computer.

With the exception of the analog-to-digital converter — which forms a self-contained assembly unit — all other elements of the cabinet are built on plug-in assemblies that are inserted from the front into open magazine slots. The cards have wide backs on which the required labels are printed, and which — through corresponding cutouts — permit reading of the respective register settings using indicator lamps. This makes it possible to follow the computing sequence and locate the causes of errors. The construction also has the advantage that the number of data channels and certain comfort levels of data transfer can be expanded in small steps starting from small configurations, which benefits cost-effectiveness.

The entire information flow is divided into two groups: transfer of control words, and transfer of computational data.

Control-Word Transfer

A control-word transfer takes place in both directions (digital-to-analog and analog-to-digital). Starting points in both subsystems are each several registers and external connection points. The interface handles the conversion, temporal sequencing, and distribution of control words.

In the digital-to-analog direction, output from the digital computer takes place not via the normal input/output channels, but independently thereof through an additional so-called parallel output via POT command (PIN/POT channel) and through a single-signal output via EOM command.

A POT command loads a parallel output register with buffer properties, from which the control information is automatically forwarded — corresponding to the EOM command — to the following units of the analog computer or the interface:

  • Control program register (SPR): The SPR acts on the control of the digital operating panel in the analog computer and replaces the manual control that would normally be operated there via pushbuttons for: Continuous computing, Repetitive computing, Computing with halt, Iterative automatic, Iterative manual, Potentiometer setting, Pause, Compute, Halt, Dynamic testing, and Static testing. The “Continue” button is replaced by an EOM command.
  • Selection commands automatically set the selection address register AAR in the operating panel of the analog computer and permit the selection of 600 elements in a main computer and two sub-computers. A special selection command causes simultaneous selection and adjustment of a servo potentiometer by activating the servo drive with correct temporal assignment.
  • Single control commands set freely programmable elements of the digital add-on unit in the analog computer. At least twelve, and optionally up to twenty-four, lines are available. By simply connecting the corresponding terminals on the digital programming panel, the following functions can be controlled, among others: various operating modes of the analog computer, individual control of integrators and analog stores, control of mechanical and electronic digital-to-analog switches, control of stepping switches, and control of output devices.

The digital elements allow the programming of circuits, e.g., for decoding, recoding, and delaying the individual control commands.

Cycle time register (ZZR): A characteristic quantity in handling a computational problem in a hybrid computing system is the cycle time (frame time). The cycle time is defined as the time that elapses between two start commands for the transfer of computational data into the digital computer. Within the cycle time, the following processes occur by definition:

  • Querying a defined number of analog values specified in the program, i.e., analog-to-digital transfer channels.
  • Converting the queried analog values to digital values.
  • Transporting the complete data block — i.e., the defined number of converted analog values — into core memory.
  • Processing the individual data in a program.
  • Outputting the results as a data block of digital values.
  • Converting the digital values to analog values with subsequent input into the analog computer.

The cycle time to be specified must therefore be greater than the sum of the times required for the individual processes. The cycle time is set via the digital program in order to avoid operator errors such as can arise with manual setting. By setting the cycle time register, cycle times between 1 ms and 1 s can be specified. They are measured by counting basic clock pulses of the central clock generator in the analog computer with a time error of 10⁻⁵.

Query commands act in the direction from the analog computer to the digital computer, but are triggered by the digital computer. With the SKS command, the digital computer queries the sense lines and, depending on the query result, executes program branches. In the interface, the line address specified in the digital computer program is decoded and the corresponding query line is switched through. Nine query lines are reserved for general control tasks; optionally up to 36 further query lines can be connected to the digital add-on unit of the analog computer. The required number depends on the specific requirements of the user. The inputs of the query lines are available at patch sockets of the digital programming panel and can be directly connected to the outputs of the freely programmable digital elements of the digital add-on unit, to comparator outputs, or to special signal lines. The numbering corresponds to their priority level.

Interrupt commands act in the analog-to-digital direction and are triggered by the analog computer. They enable intervention in the program of the digital computer. Six interrupt lines are reserved for general control tasks; optionally up to 26 further interrupt lines can be connected to the digital add-on unit of the analog computer. The required number depends on the specific requirements of the user. The inputs of the interrupt lines are available at patch sockets of the digital programming panel and can be directly connected to the outputs of the freely programmable digital elements of the digital add-on unit, to comparator outputs, or to special signal lines. The numbering corresponds to their priority level.

The following command classes are transferred: operating mode commands, selection commands, individual control commands, and cycle time commands.

Computational Data Transfer

The digital representation of numbers in the digital computer requires that the continuous computing voltages of the analog computer be converted to digital values in order to make them accessible to digital further processing. Conversely, the digital computer can always only deliver digital values, which must be converted into analog computing voltages. In the case of a function representation, this voltage should change continuously in accordance with the function’s behavior. From this arises the necessity of providing special converter elements for each of the two data transfer directions.

Analog-to-Digital Direction

For data transfer in the analog-to-digital direction, the input sockets are located on the analog programming panel of the analog computer. A maximum of 32 transfer lines can be provided for the analog-to-digital direction. The connection of computing voltages is accomplished via patch cords by normal patching to the outputs of computing elements — except for coefficient potentiometers, which can be reached via their own selection system. The inputs of the transfer lines are numbered consecutively.

The inputs of the transfer lines are connected to a multiplexer. The multiplexer is an electronic switch that can select the transfer lines and switch one at a time to the subsequent converter elements for a constant time. The multiplexer can query the transfer lines in three operating modes, each specifiable from the digital program:

  1. Sequential query (continuous query): During sequential query, the automatic block-wise input operates simultaneously. Via an EOM command, the multiplexer is informed of the address of the transfer line at which querying is to begin. In the digital computer program it is specified how long the block of input words is to be — i.e., how many lines are to be queried in succession.

  2. Random-access query: In random-access query mode, the digital program continuously specifies the addresses of the lines to be queried. Input takes place using normal program commands, i.e., without using the automatic block-wise input.

  3. Continuous query of one line (special case of 2): In continuous query mode, the multiplexer remains fixed on one transfer line. Input can be carried out with or without automatic block transfer. The first possibility serves for function transfer — i.e., the transfer of sampled time functions. The second possibility is used for single-word transfer, e.g., in potentiometer setting.

Following the multiplexer, a sample-and-hold amplifier is normally provided. It is to hold the analog computing voltage switched through by the multiplexer constant for a specified time, in order to prevent errors during the subsequent analog-to-digital conversion due to changes in the input quantity during the conversion process.

In the HKW 900, a newly developed multiplexer is used which already contains a sample-and-hold amplifier as an integral part. The essential technical specifications of this MAH 900 are:

  • Static error: 10⁻⁴ (after adjustment: 3 × 10⁻⁵)
  • Settling time to 10⁻⁴: 10 µs
  • Hold error over 50 µs: < 1 mV

In principle, it is also possible to arrange a sample-and-hold amplifier in each line before the multiplexer. The principal advantage of this arrangement is that at one sampling instant the voltages present on all channels are stored simultaneously — i.e., no temporal offsets between them occur. However, since the errors that arise in the other case are mostly negligible at the short transfer times in the analog-to-digital direction, the use of a single sample-and-hold amplifier is recommended for cost-efficiency reasons.

The analog-to-digital converter (ADC) converts analog voltages into a binary-encoded digital value of 14 bits including sign bit. Its essential specifications are:

  • Conversion time for 14 bits: 4 µs
  • Accuracy: ±0.01% ±½ LSB

Digital-to-Analog Direction

Output of data from the digital computer likewise takes place via the normal input/output channel in conjunction with the automatic block-wise data transfer facility. Unlike data transfer in the analog-to-digital direction, a dedicated digital-to-analog converter (DAC) is provided for each transfer channel in the digital-to-analog direction. The line address registers for the DACs and the analog multiplexer are identical. A maximum of 40 digital-to-analog converters can be installed. The storing and conversion of digital values is performed for the converters one after another under control of the digital computer program.

The 24 bits are divided as follows:

  • 2 bits: code bits for one of four possible operating states
  • 14 bits: value representation of a purely binary-encoded number including sign bit (function value)
  • 8 bits: value representation of a purely binary-encoded number (increment per cycle time)

Operating mode — Convert:

Convert is the basic operating mode of the DAC DAU 900. With the appropriate encoding of the two code bits, the 14 bits (13 bits + sign bit) of the normal conversion are activatable with a resulting quantization error of at most 0.61 × 10⁻⁴. Reference voltages of the converter are ±10 V (reference voltage of the precision analog computer), which at this operating mode are internally applied to the DAC.

The DAC DAU 900 used in the interface HKW 900 enables switching to various operating modes and is not found among any of the converters currently on the market. These modes serve on the one hand to increase accuracy during function output and on the other offer additional computation capabilities and operating convenience.

The total digit count of DAU 900 with smoothing unit DAS 900 amounts to 24 bits, matching the word length of the digital computer 90-40 and the output channel which drives the DACs in parallel across 24 lines.

By means of two code bits, each DAC can be switched to four different operating states:

  • Convert
  • Multiply
  • Extrapolate fine
  • Extrapolate coarse

The code bits need only be transmitted once and do not need to be repeated until the operating mode changes. The various operating modes take particular account of the use of DACs in a hybrid computing system and are not found in any converter currently on the market. They serve on the one hand to increase accuracy during function output and offer on the other additional computation possibilities and operating convenience.

Operating mode — Multiply:

With the appropriate encoding of the two code bits, the 14 bits of the normal conversion are again activatable. As the reference, however, an analog voltage selected at the analog programming panel is now used, which causes the product of the digital value of the digital computer output and the analog voltage value delivered by the precision analog computer to appear at the output of the DAC. This so-called variable reference voltage is switched to a patch socket on the analog programming panel that is associated with each output of the DAC. The connection can remain patched in other operating modes of the DAC, since it becomes active only in this special operating mode. The multiplying DAC DAU 900 has two principal advantages. First, the additional product-forming capability increases the number of multipliers available in the analog computer. Second, this multiplication does not have the fundamentally physics-limited accuracy of the multiplier types otherwise used in the analog computer. Thus a high-accuracy computing element is available that also helps save analog computer computing elements (multipliers and computing amplifiers). Through appropriate circuit design measures, the dynamic errors are kept extremely small. Both the dynamic zero-point error and the dynamic product error remain below 10⁻⁴ at 1 kHz.

Operating mode — Interpolate/Extrapolate (fine and coarse step size):

With the appropriate encoding of the two code bits, the DAC DAU 900 with smoothing unit DAS 900 takes a function value offered in 14 bits and an increment representable in 8 bits. The function value is converted as already described under the Convert operating mode. From the digitally given increment, the converter forms — using a variable reference — a voltage per cycle time that is subsequently integrated and added to the function value. Thus the DAC generates a linear transition between two function values. The output of this interpolating/extrapolating converter is therefore not a staircase curve (zero-order hold), as is the case with conventional converters, but a polygonal line — i.e., it acts as a first-order filter.

The increment is formed by the digital computer via a subroutine, and two methods are possible:

  • The future value is already known to the computer (runtime, function-memory applications). In this case the increment can be determined exactly by subtraction; the DAC acts as interpolator.
  • The future value is not known and must be approximated by differencing from past values. The DAC then acts as extrapolator.

For these smoothing operations, two maximum values of the increment are provided: 1% or 10% of the reference voltage. Because of the 8-bit representation, the increment is processed with a relative accuracy of 0.5%. The extrapolating/interpolating DAC DAU 900 with smoothing add-on DAS 900 thus delivers at its output not a staircase curve but a polygonal line — i.e., it acts as a first-order filter.


The Software System

Of greatest importance for exploiting the potential advantages of a hybrid computing system is a software package that offers the user the maximum in convenience and programming simplification. The tasks to be handled reach such a degree of complexity that simple programming rules forcing the user to the level of machine code or assembly language are not acceptable for practical operation. There is the risk that the difficulties of the inherently required simultaneous digital and analog programming — including the necessary attention to the interlocking of programs — are disproportionately increased, and the advantages of the hybrid computing system fail to materialize.

Within a hybrid computing system, the digital computer assumes a leading role for practical reasons, since by virtue of its storage capabilities — which also extend to program sequences — it can in every case take on the role of a setup computer. The analog computer is programmed in the known manner on its analog programming panel with the assistance of the digital elements of the digital add-on unit. The control of the computing sequence, the setting of servo potentiometers, and the activation of input/output devices such as oscilloscopes, X-Y plotters, curve followers, etc. — which the operator would otherwise trigger by pressing buttons — are, in a hybrid computing system, alongside the other tasks, the responsibility of the digital computer.

From the digital computer, one expects a normal complement of assemblers and compilers for problem-oriented languages, into which instructions for the additional functions of the hybrid computer can be inserted seamlessly and without imposing unavoidable additional burden on the programmer.

The reason that assemblers as well as problem-oriented languages must be included in the considerations is that working at the assembler level permits the well-known speed advantages to be achieved — advantages that the experienced programmer wishes to exploit when dealing with time-critical problems. On the other hand, working with a corresponding compiler language offers the occasional user or one without special requirements the desired great convenience.

For hybrid extensions of assemblers and compilers, special programs are then still needed — above all in the form of test programs — to ease the search for errors and in many cases to make it at all possible to work through complicated hybrid programs with the diverse error possibilities on the analog and digital sides.

For hybrid programming in a problem-oriented language, FORTRAN has established itself worldwide. The Hybrid Computing System HRS 900 uses a Real-Time FORTRAN (RTF) developed for the special needs of hybrid computing. Its particular advantages are a special stack-based call mechanism with which all subroutines in RTF can be called recursively, as well as the fact that interrupt service routines can be defined and linked in RTF. Of particular importance is that FORTRAN statements and machine instructions in assembler code may be freely intermixed.

For the digital computer 90-40, two assemblers of different size exist: Symbol and Meta-Symbol. Both assemblers operate under the operating system Monarch and accept free-format input.

Externally defined addresses or subroutines — in particular also externally defined POPs (programmed operators) — are permitted. The binary programs generated by the assemblers can be loaded via a loader also operating under Monarch. The loader then handles the assembly of the various externally defined program parts, including the automatic linking of library programs from the Symbol/Meta-Symbol library. Meta-Symbol is a very powerful assembler which — in contrast to Symbol — permits in particular the definition of macro instructions. The number of parameters of these macro instructions is variable, and the macro instructions can also be defined outside the calling program. All programs written in Symbol can be assembled with Meta-Symbol, but not vice versa.

Besides the already mentioned compiler for Real-Time FORTRAN, the digital computer also has an Algol 60 compiler and a FORTRAN II compiler, where the latter — except for double-precision and complex arithmetic as well as Boolean statements — possesses many characteristics of FORTRAN IV. With all compilers, code procedures can be processed.

For carrying out hybrid operations, three different subroutine packages are available.

For programming in Symbol, 25 POPs have been written. These POPs take over the control of the analog computer, the selection of computing elements, the setting of potentiometers, the computational data exchange, and the conversion between the number representations of the analog and digital computers. Included in these POPs is a very careful error diagnostics system.

In Meta-Symbol, the hybrid operations are carried out by special macro instructions. Corresponding to the wide-ranging possibilities that Meta-Symbol offers in this respect, an extremely flexible programming of the hybrid system is possible.

As already mentioned, for problems where the computing speed of the digital computer is sufficient, the hybrid system can be programmed in Real-Time FORTRAN. In this language too, a collection of subroutines is available to the user that regulates traffic with the analog computer.

Of the additionally available special programs — numbering more than fifteen — particularly worth mentioning are: the hybrid test program Hytrol, the program Stafest for the automatic testing of analog circuits, and the test programs Examiner for the central unit, Hytest for the interface HKW 900, function test programs for the analog computer control functions and the servo potentiometers, and an accuracy test program for the converters of the HKW 900 in their various operating modes — because without them, a hybrid operation free of time-consuming faults is barely feasible.

For example, in Hytrol the user interacts with the entire hybrid computing system — controlling the teletype — not only in all its functions from the typewriter, but also the test capabilities already built into the hardware of the HKW 900 are fully activated for the user, so that error indications are directly reported to him. In Stafest, the circuit patched on the analog computer is input to the digital computer in a special language — encoded on paper tape or cards. The program then checks whether the description and the actual circuit agree, and whether the analog computing elements of the circuit are functioning properly, whereby through automatic adjustment of servo potentiometers the attempt at favorable corrections is undertaken.


References

[1] R. Schwarz: Vom Analogrechner zum hybriden Präzisionsanalogrechner RA 770. Techn. Mitt. AEG-TELEFUNKEN (1968). 2. Beih. Datenverarb. S. 19–23.

[2] G. Haußmann: Die Rechenleistung hybrider Rechnersysteme im Vergleich zum Digitalrechner. Vortrag auf dem DVL-Symposium “Hybridrechner in Luft- und Raumfahrt” am 9. 10. 1967 in Meersburg.

[3] P. Albrecht: Behandlung parameterabhängiger Probleme auf einem hybriden Analogrechner. Elektron. Rechenanlagen 10 (1968) 1, S. 26–33.