A Hardware Implementation of a Knowledge Manipulation System for Real Time Engineering Applications
Total Page:16
File Type:pdf, Size:1020Kb
A Hardware Implementation of a Knowledge Manipulation System for Real Time Engineering Applications by Stephen Hudson B.Sc. (Hons) Doctor of Philosophy University of Edinburgh March, 199 Table Of Contents Table of Contents . 1 Acknowledgement............................................................................... V Declaration........................................................................................ V Abstract............................................................................................ Vi Abbreviations...................................................................................... VU Listof Figures ...................................................................................ix Listof Photographs ............................................................................. X Listof Tables ..................................................................................... X Chapter 1 Introduction .......................................................... 1 1 .1 Background ............................................................................ 1 1.2 Chapter Summary .................................................................... 2 Chapter 2 Intelligent Systems .............................................. 4 2.1 Introduction ............................................................................ 4 2.2 Al Techniques ......................................................................... 8 2.2.1 Production Systems ........................................................... 8 2.2.2 Heuristic Search .............................................................. 9 2.2.3 Rule Selection ................................................................. 11 2.2.4 Weak Methods .............................................................. 11 2.2.5 Planning ........................................................................ 12 2.2.6 Contexts ......................................................................... 13 2.3 Knowledge Representation ......................................................... 14 2.3.1 Introduction .................................................................... 14 -1- 2.3.2 Knowledge Representation Using Logic 14 2.3.2.1 Predicate Calculus ................................................. 14 2.3.2.2 Nonmonotonic Logic ............................................. 16 2.3.2.3 Probabilistic Reasoning .......................................... 17 2.3.3 Structured Representations of Knowledge ............................. 17 2.3.3.1 Introduction ......................................................... 17 2.3.3.2 Relationships Between Objects ................................. 19 2.3.4 Summary ....................................................................... 21 2.4 Al Software ............................................................................ 22 2.4.1 Al Languages .................................................................. 22 2.4.2 Expert Shells .................................................................. 26 2.5 Al Hardware ............................................................................ 29 2.5.1 Introduction ................................................................... 29 2.5.2 Processors for Al ............................................................. 29 2.5.3 REKURSIV Processor ...................................................... 31 2.5.4 Associative Processors ....................................................... 32 2.5.5 The Transputer ............................................................... 32 2.5.6 Graph Reduction Engines ................................................. 33 2.6 Other Systems ......................................................................... 34 2.6.1 The Intelligent File Store ................................................... 34 2.6.2 Generic Associative Memory .............................................. 35 2.6.3 Ferranti Relational Processor .............................................. 36 2.7 Summary ................................................................................ 36 Chapter 3 System Specification and Design .................... 40 3.1 Introduction ............................................................................ 40 3.1.1 The Knowledge Structure .................................................. 41 3.1.2 Knowledge Manipulation .................................................. 46 3.1.3 Garbage Collection .......................................................... 47 3.2 Functional Specification ............................................................. 49 3.2.1 Manipulation Of The KB ................................................... 50 3.2.2 Higher Order Relations ..................................................... 52 3.2.3 Inheritance ..................................................................... 53 3.2.4 Retrieval ........................................................................ 53 - II - 3.3 Software Simulation 54 3.3.1 Introduction ................................................................... 54 3.3.2 Design Considerations ...................................................... 54 3.3.3 Performance Limitations .................................................... 55 3.3.4 Hash Coding ..................................................................56 3.3.5. List Traversal .................................................................. 58 3.4 Hardware Design Considerations .................................................60 Chapter 4 Hardware Design And Construction .............68 4.1 Introduction ............................................................................68 4.2 The VME Interface ..................................................................70 4.3 The Knowledge Base ................................................................76 4.4 The Microprogram Store ............................................................78 4.5 The Relational Processing Unit ...................................................80 4.5.1 The Clock Generator Circuit ..............................................82 4.5.2 The Sequencer ................................................................85 4.5.3 The Register File (Mailbox) ...............................................89 4.5.4 The Parallel Comparator Circuit .........................................91 4.5.5 The Pointer Store ............................................................93 4.5.6 The Status Control Circuit ................................................. 95 4.5.7 The Condition Code Selector ...............................................97 4.6 SKMS Control and Operation .....................................................99 4.6.1 System Control ................................................................99 4.6.2 Construction Details ............................................................104 4.6.3 System Operation ............................................................105 4.7 Programming ..........................................................................107 Chapter 5 Verification and Results ....................................115 5.1 Evaluation Systems and Methods .................................................115 5.2 Performance of the Simulation System ..........................................118 5.2.1 Overheads ......................................................................119 5.2.2 Motorola 68010 based Single Board Computer .......................120 5.2.3 Intel 80286 and 80386 based Systems ...................................121 - 111 - 5.3 Performance of the SKMS 122 5 .3.1 Overheads ......................................................................12 4 5.3.2 SKMS Practical Results .....................................................125 5.4 Other Knowledge Based Systems .................................................129 5.4.1 Ferranti Relational Processor ..............................................129 5.4.2 Intelligent File Store .........................................................131 5.5 Performance Comparisons ..........................................................131 5.5.1 SKMS with Simulation ......................................................131 5.5.2 SKMS with Other Systems ..................................................132 5.6 Summary ................................................................................. 134 Chapter 6 Conclusions ........................................................... 135 6.1 Summary ................................................................................ 135 6.2 Performance Evaluation ..............................................................13 7 6.3 The Future ............................................................................. 139 Appendix A Hashing Techniques - Overview .................................. 141 Appendix B SKMS Signals - Summary ........................................... 149 Appendix C The Microprogram Control Word ................................ 157 Appendix D UNIX Shell Scripts ...................................................... 158 Appendix E Microprogram Language and Assemblers . ..................... 162 Appendix F Microprogram Listing .................................................172 Appendix G Microprogram Libraries ..............................................172 Related Publications ........................................................................... 198 References........................................................................................