Transputer Applications Notebook
Total Page:16
File Type:pdf, Size:1020Kb
Worldwide Headquarters INMOS Limited 1000 Aztec West Almondsbury Bristol BS12 4SQ UNITED KINGDOM • Telephone (0454) 616616 Fax (0454) 617910 Telex 444723 Worldwide Business Centres USA INMOS Business Centre INMOS BUSiness Centre INMOS BUSiness Centre Headquarters (USA) SGS-THOMSON Microelectronics Inc SGS-THOMSON Microelectronics Inc SGS-THOMSON Microelectronics Inc 9861 Broken Land Parkway 1310 ElectrOnics Drive 2225 Executive Circle SUite 320 Carrollton PO Box 16000 Columbia Texas 75006 Colorado SPri ngs Maryland 21045 Telephone (214) 4668844 Colorado 80935-6000 Telephone (301) 995 6952 Fax (214) 466 7352 Telephone (719) 6304000 Fax (301) 290 7047 Fax (719) 630 4325 Telex Easyllnk 62034521 Telex Easyllnk 62944936 INMOS BUSiness Centre SGS-THOMSON Microelectronics Inc SGS-THOMSON Microelectronics Inc Sales and Marketing Headquarters (USA) 200 East Sandpolnte 1000 East Bell Road SUite 650 Phoenix Santa Ana Arizona 85022 California 92707 Telephone (602) 867 6100 Telephone (714) 9576018 Fax (602) 867 6102 Fax (714) 9573281 Telex 249976 SGSPH UR Telex Easylink 62034531 INMOS BUSiness Centre INMOS BUSiness Centre SGS-THOMSON Microelectronics Inc SGS-THOMSON Microelectronics Inc Five Burlington Woods Drive 2620 Augustine Drive SUite 201 SUite 100 Burlington Santa Clara Massachusetts 01803 California 95054 Telephone (617) 229 2550 Telephone (408) 727 7771 Fax (617) 229 6010 Fax (408) 727 1458 Telex Easylink 62934544 Telex Easyllnk 62203010 EUROPE United Kingdom France West Germany INMOS BUSiness Centre INMOS BUSiness Centre INMOS BUSiness Centre SGS-THOMSON Microelectronics Ltd SGS-THOMSON Microelectronics SA SGS-THOMSON Microelectronics GmbH Planar House 7 Avenue Gallien! Bretonlscher Ring 4 Parkway Globe Park BP 93 8011 Grasbrunn Marlow 94253 Gentilly Cedex Telephone (089) 46 00 60 Bucks SL7 1YL Telephone (1) 47 40 75 75 Fax (089) 460 54 54 Telephone (0628) 890 800 FAX (1) 47 40 79 10 Telex 528211 Fax (0628) 890 391 Telex 632570 STMHQ Telex 847458 ASIA PACIFIC Japan Singapore INMOS BUSiness Centre INMOS BUSiness Centre SGS-THOMSON Microelectronics K K SGS-THOMSON Microelectronics Pte Ltd Nisseki Takanawa BUilding, 4th Floor 28 Ang Mo Klo Industrial Park 2 18-10 Takanawa 2-chome Singapore 2056 Mlnato-ku Telephone (65) 482 14 11 Tokyo 108 Fax (65) 482 02 40 Telephone (03) 280 4125 Telex RS 55201 ESGIES Fax (03) 280 4131 TRANSPUTER APPLICATIONS NOTEBOOK Architecture and Software First Edition May 1989 INMOS Databook Series Transputer Databook Transputer Support Databook: Development and Sub-systems Memory Databook Graphics Databook Digital Signal Processing Databook Military Micro-Products Databook Transputer Applications Notebook: Architecture and Software Transputer Applications Notebook: Systems and Performance Copyright ©INMOS Limited 1989 INMOS reserves the right to make changes in specifications at any time and without notice. The information furnished by INMOS in this publication is believed to be accurate; however, no responsibility is assumed for its use, nor for any infringement of patents or other rights of third parties resulting from its use. No licence is granted under any patents, trademarks or other rights of INMOS . • , IIIiJnos , IMS and occam are trademarks of the INMOS Group of Companies. INMOS is a member of the SGS-THOMSON Microelectronics Group of Companies. INMOS document number: 72-TRN-206-00 Printed at Redwood Press Limited, Melksham, Wiltshire iii Contents overview 1 INMOS An overview. Principles 2 Communicating Discusses the design of occam. processes and occam (INMOS technical note 20) 3 The transputer Explains how the concurrent processes of occam can be implementation of implemented by the transputer. occam (INMOS technical note 21) 4 Communicating process Discusses construction of parallel computers from collections of computers transputers. (INMOS technical note 22) 5 Compiling occam into Describes how communicating processes can be implemented silicon directly on silicon. (INMOS technical note 23) Practice 6 The development of Shows how occam has been extended to support numerical occam 2 applications. (Originally INMOS technical note 32) 7 IMS TBOO architecture Describes the design of the IMS T800 transputer. (lNMOS technical note 06) 8 The role of occam in Shows how the floating-point unit of the IMS T800 was verified. the design of the IMS (lNMOS technical note 47) TBOO 9 Simpler real-time Illustrates how occam and the transputer simplifies the design of programming with the real-time processing systems. (INMOS technical note 51) transputer 10 Long arithmetic on the Shows how to perform efficient multiple length arithmetic computer on the transputer. (lNMOS technical note 39) 11 Exploiting concurrency: Describes a concurrent ray tracing program. a ray tracing example (lNMOS technical note 07) 12 High-performance Discusses concurrency in computer graphics. graphics with the IMS (INMOS technical note 37) TBOO 13 A transputer based Describes the operation of a multi-pilot flight simulator. multi-user flight (lNMOS technical note 36) simulator 14 Porting SPICE to the Describes an example of porting existing FORTRAN applications to INMOS IMS rBOO the transputer. (INMOS technical note 52) transputer 15 A transputer farm Shows a general purpose technique for using multiple transputers to accelerator for accelerate conventional applications. (INMOS technical note 54) networked computing facilities iv v Contents Preface xiii 1 INMOS 1 1.1 Introduction 2 1.2 Manufacturing 2 1.3 Assembly 2 1.4 Test 2 1.5 Quality and Reliability 2 1.6 Military 2 1.7 Future Developments 3 1.7.1 Research and Development 3 1.7.2 Process Developments 3 1 Princi~les 5 2 Communicating processes and occam 7 2.1 Introduction 7 2.2 Architecture 7 2.2.1 Locality 7 2.2.2 Simulated and real concurrency 7 2.3 The occam primitives 8 2.4 The parallel construct 9 2.4.1 Synchronised communication 9 2.5 The alternative construct 10 2.5.1 Output guards 11 2.6 Channels and hierarchical decomposition 12 2.7 Arrays and replicators 12 2.8 Time 13 2.9 Types and data structures 14 2.10 Implementation of occam 14 2.10.1 Compile-time allocation 15 2.11 Program development 15 2.11.1 Configuration 16 2.12 occam programs 17 2.12.1 Example: systolic arrays 18 2.12.2 Exam~le: occam compiler 18 2.13 Conclusions 20 2.14 References 20 3 The transputer implementation of occam 21 3.1 Introduction 21 3.2 Architecture 21 3.3 occam 21 3.4 The transputer 22 3.4.1 Sequential processing 22 3.4.2 Instructions 23 Direct functions 23 Prefix functions 24 Indirect functions 24 3.4.3 Expression evaluation 25 Efficiency of encoding 25 vi 3.4.4 Support for concurrency 25 Communications 27 Internal channel communication 27 External channel communication 29 Timer 30 Alternative 30 3.4.5 Inter-transputer links 30 3.5 Summary 31 3.6 References 31 4 Communicating process computers 33 4.1 Introduction 33 4.2 Applications with seecial configurations 33 4.2.1 Algorithmic parallelism or dataflow decomposition 34 Example: occam compiler 34 Example: solid modelling 35 4.2.2 Geometric parallelism or data structure decomposition 37 Statistical mechanics 37 4.2.3 Farming out processing 39 Example: Graphical representation of the Mandelbrot Set 39 Example: ray tracing 41 Some comments about the previous two examples 42 4.3 General-purpose structures 42 4.3.1 Routing and the communication/computation trade-off 43 4.3.2 Comparison of pipelines and processor farms 44 4.4 References 46 5 Compiling occam into silicon 47 5.1 Introduction 47 5.2 VLSI design 47 5.3 occam 47 5.4 Implementation of occam 48 5.5 The abstract micro-machine 49 5.6 The compiler output 49 5.7 Variables, expressions, assignment and SEQ 50 5.8 IF and WHILE 51 5.9 Arrays 52 5.10 Procedures 53 5.11 PAR 53 5.12 Channels and communication 53 5.13 ALT 54 5.14 Example: the prime farm 55 5.15 Example: signal processing 56 5.16 Example: simele processor 56 5.17 Conclusions 59 5.18 References 59 vii 2 Practice 61 6 The development of occam 2 63 6.1 Introduction 63 6.2 The data types of occam 2 63 6.3 Channel protocols 64 6.4 Numerical behaviour 66 6.5 Abbreviations 67 6.6 Alias checking 68 6.7 Checking the validity of parallel constructs 70 6.S Run-time error handling in occam 2 71 6.9 Conclusions 72 6.10 References 72 7 IMS TSOO architecture 73 7.1 Introduction 73 7.2 The transputer: basic architecture and concepts 73 7.2.1 A programmable device 73 7.2.2 Processor and memory on a single chip 73 7.2.3 Serial communication between transputers 74 7.2.4 Simplified processor with microcoded scheduler 74 7.2.5 Transputer products 74 7.3 IMS TSOO architecture 74 7.3.1 Instruction encoding 75 7.3.2 Floating-point instructions 76 7.3.3 Optimising use of the stack 78 7.3.4 Concurrent operation of FPU and CPU 78 7.4 Floating-point unit design 80 7.5 Floating-point performance 82 7.6 Formal methods ensure correctness and quick design 82 7.6.1 Z specification 83 7.6.2 High-level occam implementation 83 7.6.3 Low-level occam implementation 84 7.6.4 Flattened low-level implementation 84 7.6.5 Microcode 85 7.6.6 Summary 85 7.7 Communication links 85 7.S Graphics capability 86 7.S.1 Instruction description 86 7.S.2 Drawing coloured text 88 7.9 Conclusions 90 7.10 References 90 7.11 Note on occam 90 7.12 Note on the 'Livermore Loops' 92 7.13 Note on the formal specification language Z 92 S The role of occam in the design of the IMS TSOO 95 S.1 Introduction 95 S.2 occam 95 8.2.1 occam transformations 95 An example transformation 96 8.2.2 The occam transformation system 97 viii 8.3 Instruction development 97 8.4 An example instruction development