
I I 78-5896 MOONEY, James Donald, 1946- DESIGN OF A VARIABLE HIGH LEVEL LANGUAGE COMPUTER USING PARALLEL PROCESSING. The Ohio State University, Ph.D., 1977 Engineering, electronics and electrical University Microfilms International,Ann Arbor, Michigan 48106 DESIGN OF A VARIABLE HIGH LEVEL LANGUAGE COMPUTER USING PARALLEL PROCESSING DISSERTATION Presented in Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in the Graduate School of the Ohio State University By James Donald Mooney, B.S.E.E., M.Sc, The Ohio State University 1977 Reading Committee: Appr Prof. K.J. Breeding, Chairman Prof, M.T. Liu Adva.se r Prof0 R.B. McGhee Department of Electrical Engineering ACKNOWLEDGMENTS I wish to thank my adviser, Dr, Kenneth Breeding, for his help and encouragement over the extended time of preparing for this dissertation. Thanks to Dr. Breeding and Dr, M.T. Liu for some fruitful discussions and good advice, and also to Dr. R.B. McGhee for his service on the reading committee. I am grateful to The Ohio State University for supporting me in most of my graduate studies with a University Fellowship and a Graduate Research Associateship. This work was also supported in part by the U.S. Air Force Office of Scientific Research, under Grant No. AFOSR-77-3400. Thanks are due to my employer, Dymo Graphic Systems, for providing time to complete my studies and the use of equipment and facilities. My last and deepest thanks are to my wife Joani, for years of patience and encouragement, for extensive help in preparing the drawings, and for being there to make it all worthwhile. VITA November 29, 1946 . Born - Jersey City, New Jersey 1968........... oo.oo B.S.E.E., University of Notre Dame, Notre Dame, Indiana 1969.. .................. .. M.SCo, The Ohio State University, Columbus, Ohio 1969-1971 .............. Graduate Research. Associate, Computing Center, The Ohio State University, Columbus, Ohio 1971-1977 . ............ Systems Programmer, Programming Manager, Dymo Graphic Systems, Wilmington, Massachusetts FIELDS OF STUDY Major Field: Electrical Engineering Studies in Digital Systems. Professor Kenneth J. Breeding Studies in Computer Science. Professor Ming T. Liu Studies in Control Theory. Professor John Bacon Studies in Mathematics. Professor Henry D. Colson TABLE OF CONTENTS ACKNOWLEDGMENTS ................................... ii VITA ............................................... iii LIST OF T A B L E S ..................................... vii LIST OF F I G U R E S ....................................... viii Chapter Page I. INTRODUCTION.................... 1 1.1 Background and Motivation ............. 1 1.2 Organization of the Dissertation .... 4 II. SURVEY OF PREVIOUS W O R K ............. 7 2.1 High-Level Language Machines ........... 7 2a2 Related Research .......... 26 2.2.1 Languages and Theory ....... 26 2.2.2 Computer Architecture ........... 29 III. O V E R V I E W ................................ 33 301 Design Considerations ................. 33 3.2 The Proposed S y s t e m ............. 39 IV. THEORETICAL MODEL .......................... 44 4.1 The Language C l a s s ............... 44 4.2 The Directed Graphs of a Grammar .... 47 4.3 Further Definitions .......... 54 4.4 Syntactic Analysis ............ 62 iv TABLE OF CONTENTS (continued) Chapter Page 4.5 The Execution T r e e .............. 69 4.6 Semantic Processing ................... 73 4.7 Execution .......................... 80 4.8 Extensions to the Model ........... 92 4.9 Summary ............................ 97 V. PROCESSOR FOR A SMALL LANGUAGE ............. 99 5.1 Language Definition and Representation . 99 5.2 Analysis Section ........................ 117 5.2.1 General Features......... 118 5.2.2 The Analysis Control Unit .... 120 5.2.3 The Token Processors............. 126 5o3 Execution Section ..................... 139 5.3.1 General Features... ............... 139 5.3.2 The Operand Evaluators.......... 141 5.3.3 The Execution Processors........ 149 5.4 Example of Program Flow ........ 151 5.5 Simulation and Performance ...... 159 5.6 Summary .. ......... .......... 165 VI. PROCESSORS FOR REAL PROGRAMMING LANGUAGES . 166 6.1 FORTRAN I V ....................... 166 6.1.1 General ............... 167 6.1.2 Token Classes ........... 169 6.1.3 Syntax and Analysis ....... 170 v TABLE OF CONTENTS (continued) Chapter Page 6.1.4 Execution ................. 178 6.1.5 Summary .......................... 179 6.2 ALGOL 6 0 ................................ 179 6.2.1 G e n e r a l .......................... 179 6.2.2 Token Classes ................. 181 6.2.3 Syntax and Analysis ........... 182 6.2.4 Execution ....... ......... 187 6.2.5 Summary ........ ........ 189 6.3 Other Languages ........................ 190 VII. CONCLUSIONS AND FUTURE DIRECTIONS ......... 193 7.1 Summary and Evaluation ......... 193 7.2 Suggestions for Future Work ...... 198 APPENDIX A: THE UPPER BOUND PROBLEM ............... 200 APPENDIX B: MEMORY SYSTEM STRUCTURE ............... 214 APPENDIX C: LANGUAGE DEFINITION TABLES .......... 222 APPENDIX D: ANALYSIS MODULE PROGRAM LISTING.... 237 APPENDIX E: EXECUTION MODULE PROGRAM LISTING . 259 APPENDIX F: FORTRAN IV SYNTAX GRAPHS ............ 284 APPENDIX G: ALGOL 60 SYNTAX GRAPHS ............... 291 REFERENCES ............................. 296 LIST OF TABLES Table Page 2.1 Chronology of HLL Machines . 25 5.1 Execution Processor Functions for SLANG . 112 5.2 ACU Signal Descriptions .......... 124 5.3 ACU Register Equations ............. 125 5.4 TP Register Equations ..... 129 6.1 Extended Primitive Functions for FORTRAN • 180 6.2 Extended Primitive Functions for ALGOL . 190 A. 1 Count for FORTRAN Graphs ........ 212 vii LIST OF FIGURES Figure Page 2.1 Anderson ALGOL 60 System ........ 8 2.2 Bashkow et al FORTRAN machine ........... 12 2.3 Tree-Structured Store of Iliffe ......... 15 2.4 Direct PL/I Processor of Sugimoto .... 16 2.5 Cellular APL Computer .................... 18 2.6 SYMBOL Computer System ......... 20 2.7 Fournier's GPM System .................... 24 3.1 Proposed System Block Diagram...... 40 4.1 Grammar Graph Format 49 4.2 Example Graph System .................... 51 4.3 Equivalent Grammar Graphs ................ 55 4.4 Further Example of Equivalence ..... 56 405 Token Processor Syntactic Recognition . 66 4.6 An Execution Tree ........................ 71 4.7 Primitive Steps in Tree Building .... 75 4.8 TP Flow with Semantic Processing .... 79 4.9 Operand Evaluator Basic Flowchart .... 83 4.10 Function Decomposition ......... 89 4.11 Operand Evaluator Complete Flowchart . 90 5.1 Graph Syntax for SLANG ...••.••• 102 5.2 Tree Cell Prototypes for SLANG ..... 107 viii LIST OF FIGURES (continued) Figure Page 5.3 Factorial Program in SLANG ........ 113 5.4 Data Structure for Factorial Program . • 114 5»5 New and Modified Graphs for SLANG ..... 116 5.6 Analysis Section Block Diagram ........... 119 5.7 Analysis Control Unit Flowchart ........... 122 5.8 ACU Signal Diagram ............ 123 5.9 Token Processor Block Diagram ....... 128 5.10 Token Recognizer Flowchart . ........... 133 5.11 Semantic Processor Flowchart ......... 134 5.12 Task Generator Flowchart .................. 135 5.13 Execution Section Block Diagram ...... 14.0 5.14 Operand Evaluator Overall Flowchart .... 142 5.15 OE Normal Process Flowchart ................ 143 5.16 OE Conditional Process Flowchart ......... 144 5.17 Operand Evaluator Block Diagram ........... 145 5.18 Execution Processor General Flowchart . 152 5.19 Snapshot of Analysis ...................... 157 5.20 Simulator Block Diagram .................... 160 6.1 FORTRAN Preprocessing Example .............. 168 6.2 Execution Tree for a DO-loop ............. 173 6.3 Subprogram Definition and Call ......... 176 6.4 Johnston Contour Model .......... 183 6.5 Execution Tree for Johnston Algorithm . 184 ix LIST OF FIGURES (continued) Figure Page A.1 Splitting of Partial P a t h s ....... ...... 203 A„2 Non-closure of Graphs .......... 204 A.3 Modification to IGLIST ......... 209 A.4 Modified Expression Graphs ....... 211 B.1 Memory System Block Diagram ....... 215 B.2 Data Entities .................. 218 B.3 Structure Cells ...................... 220 x CHAPTER I INTRODUCTION 1.1 Background and Motivation Shortly after the earliest stored-program computers were developed, it became clear that their potential as problem solvers depended on effective communication between man and machine. The earliest programs had to be expressed manually in binary machine code. Before long, assemblers appeared, allowing programs to be written in a more reason­ able notation. But the usefulness of the computers took a giant step forward with the development of the first high-level language interpreters, beginning with FORTRAN. From then on, the goal was to write problems in a notation convenient for the subject, and have the computer itself do the translation. As computing evolved, a vast array of high-level languages was conceived and implemented on various com­ puters. Until recently, however, computing hardware was scarce and extremely expensive. It was inconceivable to redesign the hardware to support new languages when soft­ ware compilers could produce the same results. Economics also made it impractical to build new computers which required very complex logic in hardware, or differed radically from earlier designs. Almost all machines built conformed to the principles of a "von Neumann" design. They processed a linear sequence of instructions through a single central processor, allowing no parallel activity. Any possibility
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages312 Page
-
File Size-