ELECTRONIC COMPUTERS

来源:互联网 发布:2016美国经济数据 编辑:程序博客网 时间:2024/04/29 02:46

4-1 ELECTRONIC DIGITAL COMPUTERS

   The history of attempts to make machines which would perform long sequences of calculations automatically is fairly long. The best known early attempt was made in the nineteenth century by Charles Babbage, an English scientist and mathematician .Babbage attempted to mechanize sequences of calculations, eliminating the operator and designing a machine so that it would perform all the necessary operations in a predetermined sequence. The machine designed by Babbage used cardboard cards with holes punched in them to introduce both instructions and the necessary data into the machine. The machine was to perform the instructions dictated by the cards automatically, not stopping until an entire sequence of instructions had been completed. The punched cards used to control the machine had already been used to control the operation of weaving machines. Surprisingly enough, Babbage obtained some money for his project from the English government and started construction. Although he was severely limited by technology of his time and the machine was never completed, Baggage succeeded in establishing the basic principles upon which modern computers are constructed. There is even some speculation that if he had not run short of money, he might have constructed a successful machine. Although Babbage died without realizing his dream, he had established the fundamental concepts which were used to construct machines elaborated beyond even his expectations.

    By the 1930s punched cards were in wide use in large businesses, and various types of punched-card-handling machines were available. In 1937 Howard Aiken, at Harvard, proposed to IBM that a machine could be constructed which would automatically sequence the operations and calculations performed. This machine used a combination of electromechanical devices, including many relays. The machine was in operation for some time, generating many tables of mathematical function, and was used for trajectory calculations in World War ΙΙ.

    Aiken’s machine was remarkable for its time, but limited in speed by its use of relays rather than electronic devices, and by its use of punched cards for sequencing the operations. In 1943 S.P.Eckert and J.W.Mauchly, of the Moore School of Engineering of the University of Pennsylvania, started the Eniac, which used electronic components and was therefore faster, but which also used switches and Mauchly built the Edvac, which had its program stored in the computer’s memory, nor depending on external sequencing. This was an important innovation, and a computer which stores its list of operations, or program, internally is called a stored-program computer. Actually the Edsac, at the University of Manchester, started later but completed before Edvac, was the first operational stored-program computer.

    A year or so later, John Von Neumann, at the institute for Advanced Study in Princeton, started the IAS in conjunction with the Moore School of Engineering, and this machine incorporated most of the general concepts of parallel binary stored-program computers.

     The Univac I was the first commercially available electronic digital computer and was designed by Eckert and Mauchly at their own company, which was later bought by Sperry Rand. The U.S. Bureau of the Census bought the first Univac. IBM entered the competition with the IBM 701,a large machine ,in 1953, and in 1954 with the IBM 650,a much smaller machine which was very successful. The IBM 701 was the forerunner of the 704-709-7094 series of IBM machines, the first “big winners” in the large-machine category.

    There were quite a few vacuum-tube electronic computers abailable and in use by the late 1950s, but at this time an important innovation in electronics appeared-the transistor. The replacement of large, expensive vacuum tubes with small, inexpensive, reliable, comparatively low heat-dissipating transistors led to what are called “second-generation computer,” and the size and importance of the computer industry grew at amazing rates, while the costs of individual computers dropped substantially.

    By 1965 a third generation of computers was introduced. The machines of this period began making heavy use of integrated circuits in which many transistors and other components are fabricated and packaged together in a single small container. The low prices and high packing densities of these circuits plus lessens learned from prior machines led to some differences in computer-system design, and these machines proliferated and expanded the computer industry to its present multibillion-dollar size.

     Fourth-generation machines are less easily distinguished from earlier generations. There are some striking and important differences, however. The manufacture of integrated circuits has become so advanced as to incorporate thousands of active components in volumes of a fraction of an inch, leading to what is called medium-scale integration and large-scale integration. This has led to small-size, lower-cost, large-memory, ultrafast computers. Large computers of the near past did, and there is a new breed of computers called microcomputers and minicomputers which are small and inexpensive, are manufactured by many different companies, and are proliferating at a surprising rate.

4-2 APPLICATION OF COMPUTERS TO PROBLEMS

    Large office forces have for many years been employed in the accounting departments of business firms. The clerks employed by these businesses spend most of their time performing arithmetic computations and then entering their results into company books and on paychecks, invoices, order forms, etc. Most of the arithmetic consists of repetitious sequences of simple calculations which the clerks perform over on different sets of figures .Few decisions are required, rules having usually been defined covering almost all problems that might arise.

    A typical task in a payroll office is the processing of paychecks for company employees who work at an hourly rate. This job involves calculating total earnings by multiplying each employee’s hourly wage rate by the number of hours worked, taking into consideration any making out the necessary check and entering a record of all figures .Figure 4-1 is a flowchart of a possible procedure. Flowcharts such as this are standard tools of business and are often used by the computing industry .Such flowcharts are very useful when reducing problems to the necessary steps required and are an invaluable aid in the field of programming .The example given deliberately omits overtime rates, irregular taxes such as FICA, and other such complicating features. The procedure followed by a clerk in performing this sequence of computations might be as follows:

1. The clerk looks up the employee's daily work record and adds the number of hours worked each day, obtaining the total number of hours worked during the week.

2. The total number of hours worked is multiplied by the pay rate, and the total earnings for the week are obtained.

3. The total earnings are multiplied by the tax rate for the employee , and the amount of withholding tax is found .

4. The withholding tax is subtracted from the total earnings.

5. Any regular deductions such as insurance are subtracted.

6. A record of each of the above operations is entered in the company books, and a check is made out for the correct amount.

    It can be seen that almost all of the above procedure can be mechanized by a machine which can e caused to add, multiply, and subtract in the correct sequence. The machine must also have the following less obvious features:

1.The ability to remember the intermediate results which have been obtained .For instance, the total amount earned must be remembered while the tax is being figured. It is also convenient to keep the employee's pay rate, rate of withholding tax, insurance rates, and the amount regularly given to charity in the machine.

2.The ability to accept information. The records of time worked, changes in pay rates, deduction amounts, etc., must be entered into the machine.

 3.The ability to print out the results obtained. 

   The widespread acceptance of digital computing machines in payroll offices is largely due to the repetitious type of work which is normally done in such offices. Mechanization of such tasks is straightforward, although often complicated; but the additional accuracy and speed, as well as the lower operating costs, which electronic business machines make possible, have made their use especially popular in this field. Most large companies now use special time clocks which enter the time each employee arrives and leaves by punching holes in time cards. The time cards are "read into" a compute which interprets the holes in the cards, then automatically performs all the necessary arithmetic operations, and prints a record of all totals, subtotals, etc., for the company books. The computer also keeps a record of the total amount such as withholding tax. The computer can determine the total number of hours worked by all employees during any given week, the average pay for all workers during any selected period, the number of people contributing to various charities, and practically any other type of payroll information.

 4-3 BUSINESS APPLICATIONS

     It can be readily seen that the use of computers is not restricted to the area of scientific calculation. In fact, far more machines are produced for business than for laboratory or scientific use. The main difference between the use of digital machines in business and in scientific work lies in the ratio of operations performed to total data processed. While the business machine performs only a few calculations using each datum, a great volume of data must be processed. The scientific problem generally starts with fewer data, but a great many calculations are performed using each datum. Both types of machines still fall under the heading of automatic digital computers, although some machines may be better adapted to one or the other type of problem.

    One of the first uses for the digital computer has been in the mechanizing of the more routine and clerical aspects of management. The description of the use of a computer in figuring payrolls is an example of a business application and illustrates the similarity in programming the operation of a computer and figuring out employee office procedures. First, the problem to be solved is reduced to a series of simple operations: finding the name of the next employee whose wages are to be computed, figuring how many hours he or she has worked, and multiplying this figure by the hourly rate of pay. After the procedure to be used has been worked out and explained to the clerk, the clerk is provided with the necessary numerical information, such as pay rates, insurance rates, etc. If the operations are further simplified, each step in Fig. 4-1 may be performed by a different clerk. For instance, the first clerk may find the employee’s record and send to the second clerk, who computers the total number of hours worked and presents this to the next clerk, who multiplies by the wage rate, and so on until all the operations have been performed. It may be seen from this that the breaking down of business procedures into basic steps is a very old practice indeed.

    The procedure for preparing a list of instructions for a digital computer is basically the same. All the operations the computer is to perform are written in flowchart form. The problem is then broken down into a list of instructions to the machine which specify exactly how the solution is to be obtained. After the problem has been programmed, the list of instructions is transferred onto some medium which the machine can “read” and is then read into the machine. The machine automatically performs the required steps. Notice that once the procedure has been established and the programmed steps have been read in, the programming is finished until a change in procedure is desired. Changes in rates, for instance, can be inserted by simply reading the new pay rates into the machine. This does not affect the procedure.

4-4 SCIENTIFIC APPLICATIONS

    Modern science and engineering use mathematics as a language for expressing physical laws in precise terms. The electronic digital computer is a valuable tool for studying the consequences of these laws. Often the exact procedure for solving a problem has been found, but the time required to perform the necessary calculations manually is prohibitive. Sometime it is necessary to solve the same problem many times using different sets of parameters, and the computer is especially useful for solving problem of this type. The computer is not only able to evaluate types of mathematical expressions at high speeds, but if a set of calculations is perform repeatedly on different sets of numerical values, the computer is able to compare the results and determine the optimum values that were used.

     An algebraic formula is an expression of a mathematical relationship. Many of the laws on physics electronics, chemistry, etc, are expressed in this form, in which case digital computers may be easily used, because algebraic formulas may be directly changed to the basic steps they represent.

    It would take several minutes to perform the calculations necessary to evaluate this algebraic expression for a single set of values using manually operated calculators, but practically any computer could perform this series of operations several thousand times per second. While the algebraic expression shown is certainly much simpler than many formulas encountered by members of the engineering and scientific professions, the value of using a computer for certain types of problems may be readily seen.

4-5 SPECIAL-PURPOSE AND GENERAL-PURPOSE COMPUTERS

    In general there are two types of digital computers. The first is the special-purpose digital computer, which performs a fixed and preset sequence of calculations. This type of computer may be constructed more efficiently in that it can be lighter and smaller and may consume less power, etc. , than the general-purpose computer. Because of the advantages in construction, small special-purpose computers are used where such factors as weight, power consumption, etc. , are critical, as in aircraft control systems, missile guidance systems, special checkout equipment for military devices used in the field, etc.

    The second type of computer is defined as a general-purpose digital computer. The sequence of instructions which the machine follows is generally read into this type of machine and stored in the memory of the machine. The machine can be made to follow another sequence of instructions by simply reading in the desired set of instructions. Since the sequence of operations performed by the general-purpose digital computer may be easily changed, the machine possesses great flexibility, and this is the type of machine generally used in business and for scientific computations. The general-purpose computer can process a stack of payroll cards, and then, after another program has been read into it, can perform an inventory of a company’s stock. In scientific applications a general-purpose computer can calculate the orbit of a satellite, and then, after a new program has been read in, design a set of lenses for a movie projector. The general-purpose computer may be used to solve a wide variety of problems, the details of which may have been unknown when the machine was designed. The special-purpose computer is generally only capable of solving a special type of problem.

4-6 TIME-SHARED COMPUTER SYSTEMS

     Among the more important real-time compute systems are those designed to aid research operations, businesses, and military decision making. These systems provide users with a large file of information and a computational facility by means of which they can communicate in a direct manner. As has been mentioned, the user of the system is able to introduce instructions to the computer by utilizing some device such as a teletype keyboard or a set of push buttons at a console. The computer responds by either printing the results or displaying them on an oscilloscope. The interaction between the user and the computer is direct; the computer is made to respond immediately. In general the time that elapses from when a command is given to a computer to when results are obtained is called turnaround time. The designer of a time-shared online system tries to minimize turnaround time.

     These systems are used in many ways. Computer-aided design systems have consoles and displays such that a designer can work out the details of a design by using the computer to perform all calculations and to display the effects of changes in the design. The designer then attempts to optimize the design by changing the parameters and noting the effects of those changes in the design.

     The business manager or military leader uses large digital systems in a manner which relies heavily on the enormous number of records that can be stored in the memory of a digital machine. The business systems are called management control system, and the military systems are called command and control systems. The business systems contain the files and records for the business, as well as any other pertinent data, and the military systems store the military information required by officers to make critical decision. In either case the information is continually updated, using communications facilities. When a category of data is requested, the computer locates it in its memory and provides selected features upon request. For instance, the computer might store the types of aircraft available at each airport in the world , one place to another, or if they were in the air or had been lost, this information would be entered into the computer. If air force personnel then wanted to design a bombing raid, they would ask the computer for the data and then try to use aircraft that were favorably placed and suited for their tasks. The computer could also supply data concerning the fuel and ammunition available at each place to further facilitate decision making.

    Similarly, an executive in a business would have access to all the company’s sales records, salaries, current stock levels, overhead figures, and any other data he or she might wish to calculate using the company records.

    In the above systems the computer is liable to be time shared, since it has many input and output information channels, each with different users, and these users share the main computer.

4-7 BASIC COMPONENTS OF A DIGITAL COMPUTER

    The block diagram in Fig. 4-3 illustrates the five major operational divisions of an electronic digital computer. Although presently available machines vary greatly in the construction details of various components, the overall system concepts remain roughly the same. It is interesting to note that present-day machines are basically designed according to the precepts which Charles Babbage proposed for his “analytic engine.” Although Babbage’s machine was of mechanical construction whereas present-day computers are electronic, the functions which the various sections of the machines perform are much the same.

    Perhaps the outstanding conceptual difference lies in the ability of the modern computer’s memory to store either instructions or the data to be used in the same location. This permits more dfficient use of the memory and also enables the computer to alter the instructions which constitute the program while the computer to alter the instructions which constitute the program while the computer is operating.

    A digital computer may be divided into the following fundamental units:

1. Input The input devices read the necessary data into the machine. In most general-purpose computers the instructions which constitute the program must be read into the machine along with all the data to be used in the computations. Some of the more common input devices are keyboards, punched-card and punched-paper tape readers, magnetic-tape readers, and various manual input devices such as toggle switches and push buttons.

2. Control The control section of a computer sequences the operation of the computer, controlling the actions of all other units. The control circuitry interprets the instructions which constitute the program and then directs the rest of the machine in its operation.

3. Memory The memory, or storage, section of the computer consists of the devices used to store the information that will be used during the computations. The memory section of the computer is also used to hold both intermediate and final results as the computer proceeds through the program. The principal or high-speed memory devices for a computer are divided into pieces of equal size, each of which is then identified with what is called an address, or location in memory. If the control unit is looking for a specific piece of information or an instruction located in the memory section, it calls for it by means of its address. Memory devices are constructed so that it is possible for control to obtain the information contained at any address. The length of time required to obtain information may vary somewhat, however, and is determined by the type of device used to store the information. Common storage devices are integrated circuit memories, magnetic cores, magnetic drums, magnetic tape, and magnetic disks.

4. Arithmetic-logic unit The arithmetic-logic units of most computers are capable of performing the operations of addition, subtraction, division, and multiplication, as well as some “|logical operations” which will be described. The control unit tells the arithmetic-logic unit which of these operations to perform and then sees that the necessary numbers are supplied. The arithmetic element can be compared to the calculating machines described previously in that the numbers to be used are inserted, and it is then directed to perform the necessary operations.

5. Output The output devices are used to record the results obtained by the computer and present them to the “outside world.” Most output devices are directed by the control element, which also causes the necessary information to be supplied to them. Common output devices are card-punching machines magnetic-tape machines, special electromechanical typewriters, cathode-ray tubes, and high-speed printing devices. There are also many unusual types of output devices, such as lights, buzzers, and loudspeakers.

 4-8 CONSTRUCTION OF MEMORY

     It has been mentioned that the inner or high-speed memory is broken into a number of addresses, or locations. At each of these addresses a group of digits is stored and is handled by the computer as a unit. The group of digits stored at each address in memory is generally referred to as a “word.” Each address in memory is assigned a number, and the address is then referred to by that number. We say that address 100 contains the value 300, or that address 50 contains an instruction word. In most computers instruction words may be stored in the same locations as number or data word, which makes the memory more flexible. Notice also that instruction words consist of a group of digits when stored in the computer.

    The time it takes to obtain a word from a storage device is called the access time. The access time of the storage devices used in a machine has a profound effect on the speed of the computer. One of the factors which for a long time impeded the construction of high-speed computers was the lack of reliable storage devices with short access times. The development of storage devices with very short access times plus the ability to store information for an indefinite time was a great forward step.

 4-9 INSTRUCTIONS

    It has been mentioned that computers can make simple logical decisions. Many of these decisions are based on numbers and are therefore quantitative rather than qualitative decisions. The sort of numerical decision the computer might make is whether one number is larger than another, or whether the result of some series of calculations is positive or negative. However, most of the decisions made by clerical workers and scientists are also based on figures. For instance, once physical phenomena have been expressed in formulas, the solutions to specific problems are expressed by means of numbers.

     The digital computer does not figure out its own solution to problems, but must be told exactly how to solve any given problem, as well as how to make all decisions. As mentioned, preparing a list of instructions which tells the computer how to perform its calculations is called programming. The procedure for programming a problem generally consists of two separate steps. The first step, planning the program, involves determining the sequence of operations required to solve the problem. It consists, generally, in breaking the problem down into flow diagrams such as those illustrated in the preceding section. Once the problem has been reduced to this form, it is ready to be coded; this is the second step. Coding consists in writing the steps outlined in the flowchart in a special language which can be interpreted by the machine. The final coded program consists of a list of instructions to the computer, written in a special format which details the operations the computer is to perform.

    The instruction words which direct the computer are stored in the machine in numerical form. The programmer rarely writes instructions in numerical form, however; instead, each instruction to the computer is written using a letter code to designate the operation to be performed, plus the address in memory of the number to be used in this step of the calculation. Later the alphabetic section of the instruction word is converted to numerical form by a computer program called an assembler. This will be described in a later section.

     An instruction word as written by the programmer consists of two parts: (1) the operation-code part which designates the operation to be performed, and (2) the address of the number to be used. A typical instruction word written by the programmer is ADD 535.

    This instruction word is divided into two main parts: first, the operation-code part, consisting of the letters ADD, which directs the computer to perform the arithmetic operation of addition; and second, the address part, which tells the computer the address in storage of the Number to be used. It is important to notice that the second section of the instruction word gives only the location in storage of the number to be added. The number 535 in the instruction shown is not the actual number to be added, but only tells the computer where to find the desired number. To what is the number at address 535 added? It is to be added to the number which is already in the arithmetic-logic unit in a storage device or register called an accumulator. If the accumulator contains zero before the instruction has been performed. If the accumulator contains the number 500 before the instruction is performed, and the number stored at address 535 is 200, the number stored in the accumulator after the ADD operation will be 700.

     The program operates as follows: The control section starts with the instruction word at address 1, which clears the accumulator and then adds the number at address 6 into it. The instruction at address 2 adds the number at address 7 to the number already in the accumulator. This produces the sum of 200+300, or 500. The third instruction adds the contents of address 8 to this sum, giving 900 in the accumulator. This number is then stored in memory at location 9 in the memory.

    The machine is then ordered to halt. Notice that the machine is stopped before it reaches the data. This is to prevent the control element from picking up the data, for instance, the number 200, which is at address 6, and trying to use it as an instruction.

    There is no difference between a number and an instruction as far as storage is concerned. Both are stored in the same basic form. From this it can be seen that the instructions are generally placed in a different section of the memory than the data to be used. The computer progresses through the instructions and is stopped before it reaches the data. The fact that either instructions or data may be stored at all addresses makes the machine more flexible. It may be seen that either a large amount of data and a few instructions, or many instructions and few data, can be used as long as the total amount of storage available is not exceeded.

原创粉丝点击