A beginner's guide to discrete mathematics
4 stars based on
Westervelt as members of my doctoral committee provided both guidance and encouragement. I would particularly like to thank Professor K. Irani who acted as chairman of my doctoral committee. Special thanks must also go to Dr. Ristenbatt who provided needed support and encouragement during my first year at the University. I wish to thank Ms. Kass Barker who cheerfully typed several final versions of the dissertation, Ms. Joyce Doneth who did the final corrections.
Most importantly I wish to thank Carole. Her encouragement, patience, and understanding made this work possible. Hinshaw Ann Arbor, Michigan April ii. Symbol Reference Significance P 3.
Symbol Reference Significance 0 3. Symbol Reference Significance E 3. Symbol Reference Significance T N 3. Symbol Reference Significance dT 4. Irani The introduction and the wide acceptance of both microprogram control and medium to large scale integrated circuitry have drastically altered the manner in which central processing units are implemented. The use of microprogram control and the tendency to acquire hardware in functional units allows a microlevel hardware software tradeoff to occur during the design of the central processing unit.
The combined effect of microprogram control and the availability of powerful functional units has been to alter the CPU design environment. The overall goal of this research is to develop a design philosophy which is applicable to the new CPU design environment. The work proceeds in four steps: The Program Type Language is an initial version of a machine independent intermediate language.
The language is designed to meet two principle objectives. First, the language allows valid statistics to xvii. Each program type is selected to provide a basic function which is a major building block of a highly used computer area. The CPU is modeled as a base hardware set plus a set of hardware options. The base hardware set defines a general architecture and the hardware options allow major design variations about that architecture.
The hardware options consist mainly of functional units and the use of the hardware option concept in the model is desirable in view of the rapid acceptance of large and medium scale integration. The cost of a hardware option is dependent upon the choice of the other hardware options as is the number of microbits required to control each hardware option. The specification of microinstruction word size is very flexible, allowing both field encoding and word encoding to be modeled.
The design method is user directed. The user writes or translates his programs into PTL. Since, PTL is constructed to allow valid statistics to be gathered on user requirements; PTL provides a mechanism for determining user requirements. The design method makes optimum use of the human design. The connection between the program types and the CPU model is the implementation methods.
Each implementation method specifies a CPU configuration. The human designer specifies the implementation method and is concerned with performance - cost hardware tradeoffs at the program type level. The optimization program question 6 what is the excess-127 representation for decimal number 99 in binary2 points 127 9g the performance - cost tradeoffs for the entire set of program types using the individual implementation methods supplied by the designer.
The designer does not have to attempt to evaluate the combined effort of adding an optional piece of hardware on or more program types.
He can focus his attention on each program type one by one. The optimization technique involves three distinct parts. Second, a modification of the Lawler Bell technique is combined with a bounding procedure to eliminate large sections of the hardware option space.
Third, a slope selection technique was developed to select the optimal implementation set for any fixed hardware option set. It is directed at the CPU design environment which is rapidly coming into existence. This new environment is influenced by four developments. The four developments are the increasing use of microprogram control, the decreasing cost of microcontrol storage, the increasing availability of both medium and large scale integration, and the increasing ratio of software development to hardware development costs.
The changing environment will have an effect on CPU design. The effects caused by the developments mentioned above are interrelated but can be broadly classified as follows. The effect of medium and question 6 what is the excess-127 representation for decimal number 99 in binary2 points 127 9g scale integration is to force the design of computer systems which are composed of powerful functional blocks.
The effect of microprogram control and inexpensive control storage is to allow hardware software tradeoffs to be made at the control storage level. The effect of the increased ratio of software development to hardware development will be twofold. First, more powerful instruction sets will be provided. This tends to move software functions into the CPU design area. Second, different approaches will be developed to allow software to be transferred 1.
The work presented here is directed toward the development of the tools required to optimally design computers in the new environment. The effort is extended over a broad area languages, computer models, optimization and culminates in a computer aided design method for the optimal selection of functional components for microprogrammable central processing units.
The work is divided into several interrelated parts. First, a general design method is proposed. The design method requires an accurate method of predicting the operational requirements to be placed upon the microprogrammed computer. The operational requirements are the functions which the computer user wishes to perform. Second, a new language is proposed. The language is designed to allow accurate measurement of the operational requirements of programs written in the new language.
Also, the language is designed to be both easily used and efficiently converted into microcode. Third, a cost performance model of a microprogrammed central processing unit is developed. The model views the central processing unit as a base hardware unit plus a set of optional hardware units which are used to implement a set of program types. The program types are the operations of the new language.
Fourth, an optimization procedure is developed. The procedure allows the question 6 what is the excess-127 representation for decimal number 99 in binary2 points 127 9g large state space resulting question 6 what is the excess-127 representation for decimal number 99 in binary2 points 127 9g combinations of implementation methods and hardware options to be searched efficiently.
The procedure selects the minimum cost set of hardware options and implementation methods which achieve a desired performance level. Last, several examples are presented.
There has been significant interest in both subjects and the history and advantages of each have been reported in numerous articles. Some excellent references on the subject of microprogram control are Tucker T2, introduction to microprogrammingTi, emulation of IBM series of computersFlynn F2, a key paper which stimulated interest in user microprogrammingWilkes W3, a question 6 what is the excess-127 representation for decimal number 99 in binary2 points 127 9g review by the inventor of microprogrammingRosin R3, a good explanation of microprogramming and a strong supporter of user microprogrammingDavis D3, a recent article with an annotated bibliography - IBM viewpointand Husson H5, a book on the subject with excellent material on existing microprogrammable computers.
Throughout the literature the terms vertical and horizontal microprogram control have been used to describe two broad classes of microprogram control. In addition, various authors have introduced "special terms" to describe particular concepts or physical implementations of microprogram control.
Appendix C provides an introduction ctto microprogram control, gives a definition of vertical and horizontal microprogram control, and places the "special terms" in perspective. It is apparent that hardware firmware tradeoffs are made any time a microprogrammable computer is designed.
However, there is no research which has been reported upon in the literature which examines the question of hardware firmware tradeoffs. The work reported upon in the literature has been mainly concerned with the optimization of performance by moving machine language routines into microcode F2, H1, H2, R1, R3, S7, T3the specification of the type of microprogram control which would achieve a speed cost tradeoff for a fixed architecture G1, R2, R4or the improvement of diagnostics via microprogram control B1, C1, J1.
The general area of design automation is very large and expanding. The most comprehensive survey of the area has been given by Breuer in two papers B5,; B6 the most recent printed in January, It is interesting to note that Breuer predicted, as one of a number of predictions, that synthesis programs would have to be developed which o uld work with standard complex functions i.
There are no published papers that deal with the problems which are studied in this dissertation. Many of the papers are concerned with automated wire routing, card placement, card layout, etc.
The hardware design routines supporting the languages tend to provide a direct translation of the language descriptions. The method is composed of four steps. First, a set of operations called program types is determined.
The program types are the operations which the computer will be designed to implement. Second, statistics on the usage of each program type are gathered. The statistics on program type usage allow the computer to be designed with the performance calculations question 6 what is the excess-127 representation for decimal number 99 in binary2 points 127 9g according to program type usage.
Third, the computer designer provides several different hardware combinations, each with different cost and performance figures, for each program type.
Fourth, an optimization program selects and combines the multiple program type implementations provided in step three. The output from the optimization program is the minimum cost computer hardware configuration which achieves some desired average performance. The design philosophy Figure 1. The program types are provided as part of a proposed language.
The language is designed to allow valid statistics to be taken on operations which a user wishes to perform. It is not expected that all programs will be written in the new language, just as not all programs are currently written in machine languages.
However, compilers, interpreters, and other heavily used programs will probably be written in PTL, with the remaining programs compiled into PTL. The statistics which we gathered specify the frequency with which an operation occurs in a typical program and the frequency with which each program occurrence is executed.
The statistics would be gathered on programs for a particular computer installation or a particular set of users.