Design Space Exploration of Stream-Based Dataflow Architectures
Total Page:16
File Type:pdf, Size:1020Kb
Design Space Exploration of Stream-based Dataflow Architectures Methods and Tools Architecture Application Instance Descriptions Mapping Retargetable Simulator Performance Numbers A.C.J. Kienhuis Design Space Exploration of Stream-based Dataflow Architectures PROEFSCHRIFT ter verkrijging van de graad van doctor aan de Technische Universiteit Delft, op gezag van de Rector Magnificus prof.ir. K.F. Wakker, in het openbaar te verdedigen ten overstaan van een commissie, door het College voor Promoties aangewezen, op vrijdag 29 Januari 1999 te 10:30 uur door Albert Carl Jan KIENHUIS elektrotechnisch ingenieur geboren te Vleuten. Dit proefschrift is goedgekeurd door de promotor: Prof.dr.ir. P.M. Dewilde Toegevoegd promotor: Dr.ir. E.F. Deprettere. Samenstelling promotiecommissie: Rector Magnificus, voorzitter Prof.dr.ir. P.M. Dewilde, Technische Universiteit Delft, promotor Dr.ir. E.F. Deprettere, Technische Universiteit Delft, toegevoegd promotor Ir. K.A. Vissers, Philips Research Eindhoven Prof.dr.ir. J.L. van Meerbergen, Technische Universiteit Eindhoven Prof.Dr.-Ing. R. Ernst, Technische Universit¨at Braunschweig Prof.dr. S. Vassiliadis, Technische Universiteit Delft Prof.dr.ir. R.H.J.M. Otten, Technische Universiteit Delft Ir. K.A. Vissers en Dr.ir. P. van der Wolf van Philips Research Eindhoven, hebben als begeleiders in belangrijke mate aan de totstandkoming van het proefschrift bijgedragen. CIP-DATA KONINKLIJKE BIBLIOTHEEK, DEN HAAG Kienhuis, Albert Carl Jan Design Space Exploration of Stream-based Dataflow Architectures : Methods and Tools Albert Carl Jan Kienhuis. - Delft: Delft University of Technology Thesis Technische Universiteit Delft. - With index, ref. - With summary in Dutch ISBN 90-5326-029-3 Subject headings: IC-design; Data flow Computing; Systems Analysis Copyright c 1999 by A.C.J. Kienhuis, Amsterdam, The Netherlands. All rights reserved. No part of the material protected by this copyright notice may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage and retrieval system, without permission from the author. Printed in the Netherlands Contents 1 Introduction 1 1.1Motivation........................................ 3 1.2VideoSignalProcessinginaTV-set.......................... 3 1.2.1 TV-set...................................... 3 1.2.2 VideoProcessingArchitecturesintheTVoftheFuture............ 5 1.2.3 Stream-BasedDataflowArchitecture...................... 6 1.3DesignSpaceExploration................................ 8 1.4MainContributionsofThesis.............................. 9 1.5 Outline of the Thesis .................................. 11 2 Basic Definitions and Problem Statement 15 2.1Stream-basedDataflowArchitectures......................... 16 2.1.1 Definitions................................... 16 2.1.2 Structure.................................... 19 2.1.3 Behavior.................................... 22 2.2TheClassofStream-basedDataflowArchitectures.................. 31 2.2.1 ArchitectureTemplate............................. 32 2.2.2 DesignSpace.................................. 32 2.3TheDesigner’sProblem................................ 32 2.3.1 ExploringtheDesignSpaceofArchitectures................. 33 2.3.2 ProblemsinCurrentDesignApproaches.................... 33 2.4RelatedWorkonDataflowArchitectures........................ 34 2.4.1 ImplementationProblemsofDataflowArchitectures............. 35 2.4.2 OtherDataflowArchitectures......................... 35 2.4.3 ImplementingStream-basedDataflowArchitectures............. 36 2.5Conclusions....................................... 39 3 Solution Approach 43 3.1TheEvaluationofAlternativeArchitectures...................... 44 3.1.1 Quantitative Data ................................ 44 3.1.2 TheY-chartApproach............................. 44 3.2DesignSpaceExplorationUsingtheY-chartApproach................ 45 3.3RequirementsoftheY-chartApproach......................... 46 3.3.1 PerformanceAnalysis............................. 47 3.3.2 Mapping.................................... 52 3.4DevelopmentofaY-chartEnvironment........................ 55 i ii CONTENTS 3.5RelatedWork...................................... 56 3.5.1 DesignofGeneral-PurposeProcessors..................... 56 3.5.2 DesignofApplication-SpecificArchitectures................. 59 3.6Conclusions....................................... 60 4 Performance Analysis 63 4.1PerformanceAnalysis.................................. 64 4.1.1 ASystem.................................... 64 4.1.2 PerformanceModeling............................. 65 4.1.3 PerformanceEvaluation............................ 65 4.1.4 Accuracy.................................... 66 4.1.5 Trade-off.................................... 66 4.2ThePAMELAMethod................................. 66 4.2.1 ASimpleSystem................................ 67 4.2.2 PAMELAModelingTechnique........................ 67 4.2.3 PAMELAEvaluationTechnique........................ 73 4.3ObjectivesinUsingthePAMELAMethod....................... 76 4.4AnObjectOrientedModelingApproachusingPAMELA............... 77 4.4.1 TheObject................................... 78 4.4.2 ModelingaSystemasaNetworkofObjects.................. 79 4.4.3 DescribingtheStructureofanObjectinC++................. 80 4.4.4 DescribingtheBehaviorofanObjectUsingPAMELA............ 81 4.4.5 BuildingBlocks................................ 84 4.5SimulatingPerformanceModelswiththeRTL..................... 85 4.6RelatedWork...................................... 87 4.7Conclusions....................................... 88 5 Architectures 91 5.1Architectures...................................... 92 5.1.1 PictorialRepresentation............................ 92 5.1.2 Architectures.................................. 93 5.1.3 Cycle-accurate Model . ............................ 94 5.2ModelingArchitectures................................. 95 5.3ModelingArchitecturesusingthePMB........................ 95 5.3.1 Machine-orientedModelingApproach..................... 96 5.3.2 BuildingBlocks................................ 96 5.3.3 ArchitecturalElementTypes.......................... 98 5.4ModelingtheArchitecturalElementsasBuildingBlocks............... 100 5.4.1 Packets..................................... 101 5.4.2 Architecture................................... 103 5.4.3 ProcessingElement............................... 103 5.4.4 CommunicationStructure........................... 103 5.4.5 GlobalController................................ 104 5.4.6 Buffer...................................... 105 5.4.7 Router...................................... 107 5.4.8 FunctionalUnit................................. 109 5.4.9 FunctionalElement............................... 111 CONTENTS iii 5.4.10Pipeline..................................... 116 5.4.11Ports...................................... 120 5.5DescribinganArchitectureTemplate.......................... 121 5.5.1 Composition Rules . ............................ 121 5.5.2 Architecture Description Language ...................... 123 5.6ProgramminganArchitectureInstance......................... 127 5.6.1 ApplicationNetwork.............................. 127 5.6.2 Mapping.................................... 128 5.6.3 ProgrammingModel.............................. 128 5.6.4 Example.................................... 133 5.7Conclusions....................................... 135 6 Applications 137 6.1Stream-BasedApplications............................... 138 6.2 Imperative Programming Languages .......................... 139 6.3Stream-BasedFunctions................................ 142 6.4TheSBFObject..................................... 143 6.4.1 Functions.................................... 144 6.4.2 Controller.................................... 144 6.5ExampleofanSBFObject............................... 145 6.6NetworksofSBFObjects................................ 147 6.6.1 Composition of SBF Objects .......................... 147 6.6.2 Decomposition of SBF Objects ........................ 150 6.7RelatedWork...................................... 150 6.7.1 DataflowModels................................ 150 6.7.2 ProcessModels................................. 151 6.7.3 CombinedDataflow/ProcessModels...................... 152 6.8ImplementationoftheSBFmodel........................... 153 6.8.1 Host Language ................................. 153 6.8.2 Coordination Language . ............................ 156 6.9Conclusions....................................... 157 7 Construction of a Retargetable Simulator and Mapping 161 7.1RetargetableArchitectureSimulators.......................... 162 7.1.1 Requirements.................................. 163 7.2TheObjectOrientedRetargetableSimulator(ORAS)................. 163 7.3DevelopmentofORAS................................. 165 7.3.1 Step1:Structure................................ 165 7.3.2 Step2:ExecutionModel............................ 166 7.3.3 Step3:MetricCollectors............................ 166 7.4MappingApplications................................. 167 7.4.1 MappingApproach............................... 168 7.4.2 MatchingModelsofArchitectureandComputation.............. 169 7.4.3 ControlHierarchy............................... 170 7.5TheInterfaceBetweenApplicationandArchitecture................. 172 7.5.1 TheApplication–ArchitectureInterface................... 173 7.5.2 RestrictingResources.............................. 175 iv CONTENTS 7.6ConstructionExample................................. 175 7.7RelatedWork...................................... 176 7.8DiscussiononORAS.................................