ebook img

Electronic Digital Computers: Their Use in Science and Engineering PDF

330 Pages·1958·10.234 MB·3-336\330
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Electronic Digital Computers: Their Use in Science and Engineering

APPLIED MATHEMATICS AND MECHANICS A Series of Monographs Prepared Under the Auspices of the Applied Physics Laboratory, The Johns Hopkins University EDITOR-IN-CHIEF F. N. FRENKIEL Applied Physics Laboratory, The Johns Hopkins University, Silver Spring, Maryland ADVISORY EDITORIAL BOARD RICHARD COURANT CARL ECKART A. M. KUETHE W. R. SEARS Volume 1. K. OSWATITSCH: GAS DYNAMICS. ENGLISH VERSION BY G. KUERTI Volume 2. G. BIRKHOFF and Ε. H. ZARANTONELLO: JETS, WAKES, AND CAVITIES Volume 3. R. von MISES: MATHEMATICAL THEORY OF COMPRESSIBLE FLUID FLOW. COMPLETED BY HILDA GEIRINGER and G. S. S. LUDFORD Volume 4. F. L. ALT: ELECTRONIC DIGITAL COMPUTERS—THEIR USE IN SCIENCE AND ENGINEERING IN PREPARATION Volume 5. W. D. HAYES and R. F. PROBSTEIN: HYPERSONIC FLOW THEORY ACADEMIC PRESS INC., NEW YORK AND LONDON ELECTRONIC DIGITAL COMPUTERS Their Use in Science and Engineering by FRANZ L. ALT Notional Bureau of Standards 1958 ACADEMIC PRESS INC., NEW YORK AND LONDON EDITING SUPPORTED BY THE BUREAU OP ORDNANCE U. S. NAVY, UNDER CONTRACT NORD 7386. COPYRIGHT ® , 1958, BY ACADEMIC PRESS INC. Ill FIFTH AVENUE, NEW YORK 3, Ν. Y. ALL RIGHTS RESERVED NO PART OF THIS BOOK MAY BE REPRODUCED IN ANY FORM, BY PHOTOSTAT, MICROFILM, OR ANY OTHER MEANS, WITHOUT WRITTEN PERMISSION FROM THE PUBLISHERS. REPRODUCTION IN WHOLE OR IN PART IS PERMITTED FOR ANY PURPOSE OF THE UNITED STATES GOVERNMENT. United Kingdom Edition Published by ACADEMIC PRESS INC. (LONDON) LTD. 17 OLD QUEEN STREET, LONDON SW1 LIBRARY OF CONGRESS CATALOG CARD NUMBER: 58-12610 First Printing, 1958 Second Printing, 1960 PRINTED IN THE UNITED STATES OF AMERICA PREFACE The extremely rapid growth in the production and use of electronic com­ puters has created a wide need for information about these machines. The present volume is intended to serve as an introduction to this field. It is meant first of all for users of computing machines who wish to understand the principles underlying their design and operation. It may also be useful as a first survey for persons who plan to go on to further study of some specialized aspect of computing machinery. At least two such fields of specialization have come into prominence: com­ puting machine engineers, concerned with the design, construction, and maintenance of these machines, and programmers and numerical analysts, who prepare problems for them. We have included in this volume as much about machine hardware as is needed for the problem analyst and enough about numerical analysis to satisfy the future design engineer. Above all, however, we address ourselves to experts in fields in which computers are applied; and especially to physicists, chemists, engineers, and others in similar occupations who have occasion to require the solution of computa­ tional problems by means of digital computing machines. They will as a rule not do their own programming but will obtain help from professional programmers, and they may consult numerical analysts if the problem re­ quires their aid—as it probably will. We have aimed to give the readers as much information as they need in order to talk intelligently to the com­ puter specialists with whom they deal. Close cooperation between the originator of a computing problem and the team around the machine is necessary and this is possible only if the originator has some understanding of the difficulties which beset the professional computer. Consequently, our description of the machines does not presuppose any knowledge of engineering and deals mostly with the functioning, rather than the design, of machines, although some of the underlying physical principles are mentioned because of their general interest. On programming and coding we have mainly attempted to give an explanation of the terms heard around computing machines and a few warning signals to avoid common pitfalls. Above all, our discussion of problem analysis should not be considered as, nor compared with, a text on numerical analysis. There are no proofs and no rigorous formulations. There is only a listing of commonly used methods, some with a brief description, as well as an attempt at ν vi PREFACE evaluating advantages and drawbacks of different methods from the stand point of automatic computation. The mathematical background required of the reader in that part is not more—probably less—than what can be ex pected of engineers, chemists, experimental physicists and many students of the social sciences. Finally, we give a representative sample of computer applications, in cluding at least two or three problems from each of the major fields in which these machines have been used. We indicate the machine characteristics required for their solution, and in the end we state the criteria by which the originator of a problem may judge the suitability of a particular machine installation for his problem, and the requirements for establishing his own computing laboratory. In summary, this is not a treatise for computer specialists. Rather, it is about these specialists—about the work they perform when using a modern digital computing machine. The author's thanks are due first of all to John Todd, who participated in the planning of the volume, wrote first drafts of some sections, and criti cally read the entire manuscript; to Robert D. Elbourn, George E. Forsythe, and Ida I. Rhodes, who read large parts of the manuscript, corrected errors, and gave helpful advice on numerous questions; to Edward W. Cannon, Robert D. Richtmyer, Mrs. J. V. Holberton, and many other computer experts and colleagues who helped with suggestions and criticism. Recognition should be given to Joseph H. Levin, whose unpublished "Programming and Coding Handbook for SEAC" forms the basis of Chap ter 3.1; to the International Business Machines Corporation for permission to use in Chapter 3.2, in altered form, some of the material in the "IBM Electronic Data Processing Machines Type 704 Manual of Operation." The author is grateful to the Applied Physics Laboratory of The Johns Hopkins University and in particular to Mrs. Betty Grisamore for assist ance in the preparation of the manuscript. Finally, the excellent editorial and production work of the publishers is gratefully acknowledged. May, 1958 F. L. A. 1.1 OBJECTIVES 1.11 Applications In the short time since electronic digital computers became widely avail able, three broad areas of applications for these machines have come to be generally recognized. These are: (1) scientific and engineering calculations; (2) problems in business management, operations analysis, assembly of statistical information, data processing, etc.; and (3) real-time automatic control of production processes, traffic, or military operations. To these three areas might be added a fourth, of which only the beginnings can be discerned at present: logical operations, usually nonnumerical, which imi tate human thinking in such tasks as playing games, proving mathematical theorems, musical composition, language translation, and learning situa tions. The widespread use of machines for assisting in the preparation of their own programs lies closer to this area than to any other. There is a tendency to overemphasize the distinctions among these areas. Actually, their similarities are greater than their differences, and the few real differences are in degree rather than in kind. In particular, both pro ducers and users have come to stress to an unnecessary degree the distinc tion between scientific and engineering calculations on the one hand and business-type or data processing problems on the other. This has been accompanied by specialized development of some computing machines for scientific and engineering problems, and others for data processing prob lems. Here again the similarities are fundamental and ubiquitous, the differences only occasional and superficial. In many cases computing ma chines intended for scientific computation have performed better than others on so-called data processing problems, and vice versa. It is not only difficult to draw a borderline between the two areas, it is probably unnecessary and even undesirable. We propose to use the words "computation" and "com puting machines" as applying to all areas of application. We address ourselves primarily to readers interested in scientific and engineering applications; but in view of the foregoing, a large part of our discussions will be valid for other areas as well. 3 4 1. INTRODUCTION 1.12 Stages A computing problem begins when it is decided to obtain some desired result by means of computation. We shall refer to this decision as problem selection, although this designation might convey the misleading idea that the computer personnel selects problems to be done on the computer, whereas in almost all cases, it is the problem originator who selects nu merical computation as the appropriate method for his problem—in prefer ence, say, to an analytical solution or to physical experimentation. Sometimes the decision to compute is followed by a deliberate process of selecting the particular kind of computing machine best suited for the given problem. Instead, this process may be delayed and carried on in conjunc tion with some of the later steps. More frequently, however, the choice of a machine is either dictated by convenience or is felt to be relatively unim portant. Indeed, on many problems a large number of the most frequently used machines perform about equally well; on many others the differences in the performance of different machines are caused by minor peculiarities of both problem and machine, and these cannot be detected except by a most detailed study. Unless the problem is extremely long or extremely repetitive, such a study is not worthwhile. In any case, once these decisions have been made, the problem moves through several stages: problem formulation and problem analysis, followed by programming and coding. These are not too well defined but are usually characterized by some or all of these names. The problem must be stated precisely, often in the form of mathematical equations. Numerical values are assigned to all constants. If a mathematical function is to be evaluated for a range of parameters, the values of the parameters are agreed upon. Plans are made for the presentation of results, notably for the arrangement of the printed answers and for the preserva tion of certain intermediate results (or by-products) of computation. Also at this stage it must be established that the problem has at least one solu tion and it should be determined whether it has more than one. A choice is next made between alternative methods of computation. At this point the problem is broken down into major components, such as evaluation of functions, solutions of algebraic or differential equations, etc. Infinite sums are replaced by finite ones, derivatives and integrals by finite- difference approximations. For infinite sums or iterative processes, the number of terms is decided upon or criteria are chosen for terminating the process. Truncation and rounding errors are analyzed and error tolerances fixed. The entire analysis ends with a list of clearly defined computing steps which should lead to the desired solution. The next stage consists of decisions regarding the order in which the computing steps will be performed, the utilization of the different kinds of 1.1 OBJECTIVES 5 storage in the machine, the incorporation of available general-purpose sub routines, and similar technical matters. This stage frequently culminates in a flow chart which maps the planned course of computation. Finally it is necessary to write, in complete detail, the instructions re quired by the machine, including definite storage locations assigned to each number or instruction, precise formats for both input and output, pro visions for malfunctions, and numerous other details. The result is the "code" which enables the computing machine to solve the problem at hand. When all this is done, machine operation begins. There is usually a period known as code checking, during which trial runs are made with frequent interruptions and generous recording of intermediate results, to enable the coder to locate and remove mistakes in the code. This is followed by the production runs, in which the desired answers are obtained in the quickest way possible. For didactic reasons we shall take up these stages in more or less reverse order. We shall first describe the machines themselves, then turn to coding and programming, next discuss the analysis and formulation of problems, and finally touch briefly on problem and machine selection. We have attempted to make each of these major parts of our description reasonably self-contained, so as to accommodate those readers who may wish to read only one or the other. This entails a moderate amount of duplication. 1.13 Limitations Computing machines are divided into two broad classes, analog and digital. We are concerned exclusively with the latter. All the machines described in Part 2 are of the digital type. They are characterized by the system of number representation (2.3) which uses discrete states of some physical elements. By contrast, analog machines represent numbers by some continuously variable physical magnitudes, such as lengths, angles of rotation, and voltages. While the basic idea of analog machines is old, they have been developed in recent years almost as spectacularly as digital machines. The techniques used and difficulties encountered in their applica tion are fundamentally different from those in digital machines. To include them in our discussion would have introduced an entirely foreign element. Digital computing machines are likewise old. What distinguishes modern machines of this type from their predecessors are the twin features of high speed, made possible by the use of electronic circuits, and of automatic control. In limiting our discussion to electronic automatic computers, we are including all modern developments; we are excluding manual computa tion, desk-type machines, the many older punched-card machines, and the 6 1. INTRODUCTION few fully automatic large computers which are electromechanically rather than electronically controlled. These, however, differ from the modern electronic machines in degree rather than in fundamentals. Many features of their applications coincide, and in particular much of the discussion in Part 4 is applicable to all these types. Having broadly outlined the aims, arrangement, and limitations of this volume, we now proceed to sketch the purposes and planning of its major parts. 1.2 MACHINES 1.21 Arrangement In trying to describe modern computing machines one is faced with the difficulty that the subject has quite a few novel and advanced aspects which are so interdependent that neither can be properly explained or understood without reference to the others. Thus the exposition must either proceed on many fronts simultaneously, which may be all right didactically but is awkward for later reference, or it must take up each portion separately, making it frequently necessary for the reader to postpone complete under standing of one sector until he has seen another. We have mainly followed the latter approach, but we have tried to mitigate its shortcomings by preceding the systematic treatment of Chapters 2.3-2.7 by general surveys of the whole field, once very briefly in this introduction and once a little more specifically in 2.2. Thus, for example, the answer to some specific question or the definition of some term concerning, say, machine memory may have to be looked up either in 2.2 or 2.4, and this uncertainty is the price paid for what we hope to be a better didactic arrangement. The interdependence of subjects turns up more pointedly in reference to specific machines. The systematic description of each machine component loses much of its value if it does not frequently refer to specific machines which exhibit the traits discussed in the abstract. For example, it is un attractive to discuss built-in floating arithmetic (2.332) without naming specific machines which possess this feature. This means that the reader must know at least the names and some gross characterizations of the more important existing machines before being exposed to the systematic study of machine design. For this reason Part 2 of this volume starts with a bird's-eye view of machines in existence, their names, age, location, and character. This arrangement has the unavoidable drawback that the "char acter" of a machine cannot be explained without reference to the later portions of Part 2. Within Chapter 2.1, the arrangement is partly chronological and partly according to the memory system used, the latter being the most prominent characteristic of a digital machine. 7

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.