INTRODUCTION. This paper is presented as a discussion of fourth generation
computer systems. To predict future developments in the computer industry is to ...
Fourth generation computer systems by CLOY J. WALTER* and ARLINE BOHL WALTER! Autonetics Division North .4merican Roc/rn.'ell Corporation
Anaheim, California
and MARILYN JEAN BOHL H oneywelllnc. Waltham, Massachusetts
INTRODUCTION This paper is presented as a discussion of fourth generation computer systems. To predict future developments in the computer industry is to speculate - to theorize on the basis of observable trends and anticipated needs. Numerous questions arise. We do not know the answers to all questions nor do we know how to obtain all the answers. The intent of this paper is to suggest reasonable approaches to developments and tp offer a solution to a fundamental EDP problem. How can computers and applications be integrated within a communication and control system? Computers of prior generations emphasized computation. Fourth generation computers, as envisioned in this paper, will emphasize a communication and control system. The characteristics of fourth generation systems are outlined in the first part of this paper and discussed in detail later. Prior to this discussion, the computer evolution, the software situation, the effects of large scale integration, and fourth generation programmipg systems are considered. While one cannot predict characteristics of fourth generation systems with certainty, one can confidently assume that many changes in computing will occur. This paper contains speculation concerning the possible changes. Opinions and suggestions within the paper represent a consensus among the authors but are not representative of the company by which the authors are employed. Characteristics We believe that a computer system which possesses *Formerly with Honeywell Inc.
the following characteristics will be a fourth generation computer system. 1. The major design criteria will be optimal use of available communication interfaces. The system will be classified as a communicat.ion and control system and will be capable of widely diversified processor applications. 2. The system will be controlled primarily by data rather than by programs as were previous machines. 3. Use of hardware to govern communication and control procedures will be emphasized; extensive use of control programs will be substantially reduced or eliminated. 4. Most processing will be executed in real time; operations will be performed on input at a rate that permits output to be available within the response time required by recipients. 5. The system will be readily expandable. Hardware and "software will be modular in design. Computing power will be modified without redesign of the system. Hardware malfunctions will be corrected by immediate replacement of disabled modules. 6. The hardware design will permit component parts to be updated; systems need not become obsolete. 7. The system will be designed to operate efficiently, and this efficiency will not be significantly affected by distances between connected elements. 8. Most data will be collected at its source. Cards and attendant keypunching operations will be a secondary source of input. 9. Repetitive entry of input will be reduced or eliminated, and the generation of reports will be on an exception basis. 423
From the collection of the Computer History Museum (www.computerhistory.org)
424
Spring Joint Computer Conference, 1968
10. The .system will have an efficient, low-cost program generator. 11. The design will emphasize reduction of total system cost. 1.., New' .soff'wa"e ul~l1 b· A s;rnplAr sirnnler ,1"•• i terms· of user convenience, rather than in term·s of function. 13. The system will be designed to function without device-specific software routines. 14. Hardware diagnostic routines will be compatible with I/O routines so that on-line diagnostics can be performed simultaneously· with normal system operations. k.
1
.
L
1
l'Y 1.1.1
"""
11!..1
1.,"".1""'-
.1..1..1. ... . ,
.I.
Computer evolution First generation computer systems were deveioped primarily for computational purposes. The concept of storing a program to control the operations of a computer and the ability of a computer to cycle repetitively through a sequence of instructions on different data pointed toward use of the computer for computational purposes. Later, the fact was recognized that machines which could be programmed to perform electrical accounting machine (EAM) operations could be marketed. Thus, EDP was born. Overemphasis on programmed control of system elements led to development of and preoccupation with general purpose computers and a concomitant failure to understand the nature of the applications. How many of us learned to program with little understanding of the computer or of the applications to which computers can be applied? How many of us, after learning to program the 650 machine, really thought we understood data processing? To provide modularity and fiexibiiity in generai purpose machines, computer designers delegated obvious hardware functions to· software. A primary design objective was to provide a means by which the user could readily specialize the computer for his particular application. Sorts and other· software routines were developed to perform common functions but these elements were designed to make the general purpose computer fit the area or application. The same application had to be modified or reprogrammed as details within the area or application changed. The development of large data management systems and/or operating systems has resulted primarily from a lack of understanding of the nature of the applications to which computers can be applied. ·Operating systems have tried to blend hardware, applications, and software. It is the application area which is exploding and which will become dominant. What has the user seen with regard to hardware?
First generation hardware was characterized by vacuum tubes, second generation by transistors, and third generation by integrated circuits. Of much more importance to the user, however, was the reduction in cost of main memory (from approximately one dollar per bit to approximately five cents per bit) and the increase in reliability of the machine. Major advances were made in the reliability of both logic and memory when the change from tubes to transistors occurred. More memory available at reduced cost led to the development of more and better software and an attendant increase in the complexity of applications to which computers could be applied. As main memories became larger, more programs could be resident in memory. Throughput was increased by reducing time loss due to execution of program load and unload routines and relocation functions. Today's user is interested in total system performance and in the total cost of the system rather than in only the cost of the central processing (CP) unit (currently 15-20% of the hardware cost). He is not as impressed by advanced hardware as he is by efficient operation and ease of programming. The user desires a variety of complex applications, but he wants to tell a computer what to do - not how to do it.
The software situation Past and present programming can be reviewed briefly as follows. First generation software was characterized by machine language, subroutines, and assembiers. Second generation .software added higher-level languages, monitors, and macro assemblers. Third generation software includes operating systems, on-line real-time systems, multiprogramming, _ and data management systems. Today's computer user sees: Sophisticated hardware, Complex applications, Increases in application programming costs, and User defensive programming, i.e., programming around instead of with the operating system. No new debugging tools have been developed to complement the increased complexity of applications. The percentage of users who know how their operating systems function is decreasing. Processor time IS consumed by the operating system for internal scheduling, accounting, and job handling rather than for job execution. The following questions arise. Why have we neglected to·define'software in terms of interfaces, functions, and modules?
From the collection of the Computer History Museum (www.computerhistory.org)
Fourth Generation Computer Systems Why have we failed to develop more helpful debugging features, more acceptable programming standards, and more useable documentation? Is the development of operating systems a brilliant solution to the wrong problem? .Do we in the computing field really understand computing? Today, programming has no theoretical basis and no theories. Why? Programming need not remain a handicraft industry. The designers of fourth generation computers must regard programming as a science rather than as an art. Optimally, scientific theories for programming can be developed. Most assuredly, software systems can be designed and utilized to satisfy clearly defined systems requirements. The problems of programming are not inextricable. Solutions to many programming problems are intermingled with and inseparable from the design of hardware. Engineering personnel must cooperate with software artists to develop a theory of programming based upon an understanding of hardware operations, an understanding of data handling and data control (communication), and an appreciation of software techniques. Only in this manner can redundant programming (repetitive development of programming techniques) be significantly reduced. Parallel developments must be replaced by sequential advancements so that achievements of one individual or group can provide a basis for extended or subsequent advancements by others. Effects of LSI The effects of large scale integration (LSI) on fourth generation computer systems can be examined from the viewpoints of both the manufacturer and the user. Major effects of LSI are (1) computer manufacturers will be forced to fabricate LSI chips, and (2) integrated circuit (I C) manufacturers will enter the computer manufacturing field. Competition will increase. Hardware rentals will be reduced, and software will be easier to use. Effects on the manufacturer Computer manufacturers wW be forced "to fabricate LSI chips. Some of the reasons for this action follow. 1. Intimate knowledge of fabrication techniques and corresponding characteristics is essential to circuit, cell and/or chip design. 2. Purchase of LSI chips reveals significant proprietary information about new developments, particularly in the area of LSI design. Vendors who supply LSI chips to computer manufacturers will have access to complete computer designs. Present legal safeguards
425
of designs appear inadequate. Minor changes to chip fabrication without modification of the function of the chip can be introduced to circumvent legal restrictions. A manufacturer will be dependent upon a selected vendor's ability or willingness to continue to supply required components. Second sourcing will be difficult if determination of the internal manufacturing processes is primarily a function of the original supplier. 3. In-house facilities may be required to provide chips which are not available from external suppliers accordip.g to a schedule which conforms to the manufacturer's needs and priorities. 4. Computer manufacturers who desire to sell to the military will be expected to demonstrate LSI fabrication capability. Today, military customers demand that systems companies possess microelectronic capabilities even if circuit designs compatible with application requirements can be secured from component vendors. 5. Computer manufacturers commonly desire to lead the development of some aspect of hardware. Such leadership will be difficult if research and development of microelectronic circuitry is relinquished to suppliers of components. Manufacturing operations may be reduced to fabrication of interconnection boards and to simple assembly operations. All computer manufacturers must develop design automation capabilities to optimize tradeoffs of performance, function, reliability, cost, and size for integrated semiconductor circuits, thick/thin film circuits, LSI circuits. or..~ny combination of these. Capabilities will be developed-in "order to meet the following general objectives: 1. To develop and utilize optimum circuit fabrication techniques in order to meet requirements for the ma!lufacturer's computer family. 2. To build microelectronic - LSI circuits on a pilot basis and coordinate"" efforts" of circuit designers and fabricators during the shift to the use of LSI designs. 3. to fabricate LSI chiPs for which vendors cannot meet delivery, performance, reliability, or price criteria. 4. To develop techniques leading to computer control of design," deposition, m_~sk generation, and testing, and to computer-generated documentation of specifications. To formulate exact plans for LSI activities is impossible. Materials and fabrication techniques for LSI designs are in various phases of exploratory
From the collection of the Computer History Museum (www.computerhistory.org)
426 Spring Joint Computer Conference, 1968 research, development, or pilot production. Plans must be flexible and selected equipment must be adaptable to new techniques. We suggest that LSI activities of computer manufacturers will include at least the following groups: I. Cost Relationship 2; Liaison 3. Component Test and Evaluation 4. Circuit Test and Analysis -5. Test Equipment and Instrumentation 6. System Organization The responsibilities within each group are described in the following paragraphs.
to develop a basic allocation system program (Xo) plus the numbe~ ot' 'different types of chips (a) times the product obtained by multiplying the estimated cost of specializing the allocation for a particular type of chip (.6X) by the probability (p) that specialization of the aiiocation for a new chip type is necessary.
p should be as small as possible. That is, (I) C=Xo+~X'
p' a
represents the costs for allocation aids, where X::