system level design: orthogonalization of concerns and platform- based design k. keutzer, s. malik,...

22
System Level Design: System Level Design: Orthogonalization of Orthogonalization of Concerns and Concerns and Platform-Based Platform-Based Design Design K. Keutzer, S. Malik, R. Newton, K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni- J. Rabaey, and A. Sangiovanni- Vincentelli Vincentelli Presented By: David Nguyen Presented By: David Nguyen

Post on 19-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

System Level Design: System Level Design: Orthogonalization of Orthogonalization of

Concerns and Platform-Concerns and Platform-Based DesignBased Design

K. Keutzer, S. Malik, R. Newton, J. Rabaey, K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelliand A. Sangiovanni-Vincentelli

Presented By: David NguyenPresented By: David Nguyen

Page 2: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

The Cost of System DesignThe Cost of System Design

Manufacturing CostsManufacturing Costs The material cost of producing the productThe material cost of producing the product

Non-Recurring Engineering (NRE) CostsNon-Recurring Engineering (NRE) Costs Designing the productDesigning the product

Ex. Engineers, Testing EquipmentEx. Engineers, Testing Equipment Tooling purchases needed for manufacturingTooling purchases needed for manufacturing

Ex. Tools, masksEx. Tools, masks

Page 3: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

How to Make Money?How to Make Money?

TotalCost = #Units*ManufacturingCosts + TotalCost = #Units*ManufacturingCosts + NRE.NRE.Income = #Units * Cost/UnitIncome = #Units * Cost/UnitSuccess is Income > TotalCost by Success is Income > TotalCost by balancingbalancing # Units Produced/Sold# Units Produced/Sold Manufacturing Costs per UnitManufacturing Costs per Unit Non-Recurring Engineering CostsNon-Recurring Engineering Costs Price we sell atPrice we sell at

Page 4: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

Problem and Solutions?Problem and Solutions?

ProblemProblem: Because of increased pressures (ex. : Because of increased pressures (ex. time to market, complexity), making money is time to market, complexity), making money is harder. How can we cope with this?harder. How can we cope with this?

SolutionSolution: Platform Based Design – Determine a : Platform Based Design – Determine a common “hardware denominator” which can be common “hardware denominator” which can be shared across multiple applications.shared across multiple applications.

ReasonReason: The NRE cost is amortized because of : The NRE cost is amortized because of the increased number of units (as a result of its the increased number of units (as a result of its use in multiple applications).use in multiple applications).

Page 5: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

System Design Methodology – System Design Methodology – Orthogonalization of ConcernsOrthogonalization of Concerns

Orthogonalization of Orthogonalization of ConcernsConcerns is the is the separation of the various separation of the various aspects of design to allow aspects of design to allow more effective exploration more effective exploration of alternative solutions.of alternative solutions.

Function and ArchitectureFunction and Architecture Communication and Communication and

ComputationComputation Functionality and TimingFunctionality and Timing

Page 6: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

Function Based DesignFunction Based Design

A function is an A function is an abstractabstract view of the behavior of view of the behavior of an aspect of the system.an aspect of the system. ““display the result” is a function.display the result” is a function. ““display the result on the LCD display” is NOT a display the result on the LCD display” is NOT a

function.function.

Functional specification should be defined Functional specification should be defined formally and contain a formal underlying formally and contain a formal underlying mathematical model – model of computation.mathematical model – model of computation. This allows us to handle verification via formalism, This allows us to handle verification via formalism,

abstraction, and decomposition.abstraction, and decomposition. Formally defined system (with underlying model of Formally defined system (with underlying model of

computation) gives us the ability to synthesize the computation) gives us the ability to synthesize the functionality.functionality.

Page 7: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

Communication Based DesignCommunication Based Design

Edwards Lee says we should be able to use Edwards Lee says we should be able to use many models of computation in one system.many models of computation in one system.

The problem is how do we get all of these The problem is how do we get all of these different components, with different models of different components, with different models of computation, talking to each other?computation, talking to each other?

Sol1Sol1: Design a communication standard which : Design a communication standard which works for everything (Complex)works for everything (Complex)

Sol2Sol2: Design a communication method in a case : Design a communication method in a case by case fashion. (Easier)by case fashion. (Easier)

Page 8: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

Micro-ArchitectureMicro-Architecture

ArchitectureArchitecture – an interface specification that – an interface specification that describes the functionality of an implementation, describes the functionality of an implementation, while being independent of the actual while being independent of the actual implementationsimplementations X86 instruction set architecture.X86 instruction set architecture.

Micro-ArchitectureMicro-Architecture – defines how the – defines how the architecture functionality is actually realized as a architecture functionality is actually realized as a composition of modules and components, along composition of modules and components, along with their associated softwarewith their associated software Intel Pentium 4, AMD Athlon XPIntel Pentium 4, AMD Athlon XP

Page 9: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

MappingMapping

The functions of the system are assigned The functions of the system are assigned (mapped) to the components of the micro-(mapped) to the components of the micro-architecture.architecture.Only after this is done, do notions of cost and Only after this is done, do notions of cost and performance appear. (How fast can I perform my performance appear. (How fast can I perform my functions and how much will it cost me?)functions and how much will it cost me?)The result is refined mapped micro-architecture The result is refined mapped micro-architecture that is guaranteed to meet design constraints orthat is guaranteed to meet design constraints orA mapped micro-architecture that signals A mapped micro-architecture that signals something cannot be guaranteed. In this case, something cannot be guaranteed. In this case, we need to either change the micro-architecture we need to either change the micro-architecture used, or make changes in the function space.used, or make changes in the function space.

Page 10: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

Link to ImplementationLink to Implementation

Once the mapping of functions to micro-Once the mapping of functions to micro-architecture is deemed as feasible, the architecture is deemed as feasible, the micro-architecture is then implemented.micro-architecture is then implemented.

The hardware and software components The hardware and software components can be a special purpose design, or can be a special purpose design, or already designed in a current library.already designed in a current library.

Page 11: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

Platform Based DesignPlatform Based Design

To reduce design costs, reuse is a must!To reduce design costs, reuse is a must!It is important to find common architectures that It is important to find common architectures that can support a variety of applications as well as can support a variety of applications as well as the future evolution of a given application.the future evolution of a given application.Implementing onto a platform should require little Implementing onto a platform should require little effort in comparison to a totally new effort in comparison to a totally new implementation.implementation.PlatformsPlatforms HardwareHardware SoftwareSoftware SystemSystem

Page 12: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

Hardware PlatformsHardware Platforms

A family of micro-architectures that allow the A family of micro-architectures that allow the substantial re-use of softwaresubstantial re-use of softwareHardware Platforms have two constraintsHardware Platforms have two constraints They must be able to support some degree of They must be able to support some degree of

functionality (minimum speed and memory).functionality (minimum speed and memory). They must meet production and design costsThey must meet production and design costs

These two define an application space of These two define an application space of supported functionality. supported functionality. Advocates the “meet in the middle” design Advocates the “meet in the middle” design approach.approach.

Page 13: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

Software PlatformsSoftware Platforms

To be useful, a hardware To be useful, a hardware platform has to be abstracted at platform has to be abstracted at a level where the application a level where the application software “sees” a high-level software “sees” a high-level interface to the hardware (API).interface to the hardware (API).With an API defined, the With an API defined, the application software can be re-application software can be re-used for every platform used for every platform instance.instance.Given the precise definition of Given the precise definition of the API and the hardware the API and the hardware platform, the authors feel like platform, the authors feel like they can synthesize most of the they can synthesize most of the software layer.software layer.

Page 14: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

System PlatformsSystem Platforms

Combination of the Combination of the software and hardware software and hardware platform.platform.ASV ConesASV Cones

Vertex is the APIVertex is the API Application Instance is Application Instance is

mapped to the APImapped to the API A Family of micro-A Family of micro-

architectures implements architectures implements the APIs with varying costs the APIs with varying costs and performanceand performance

Tradeoff between level of Tradeoff between level of abstraction and the abstraction and the diversity of the platform diversity of the platform instances.instances.

Page 15: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

1515 November 5, 2002November 5, 2002 David NguyenDavid Nguyen

ExamplesExamplesPhilips VideoTop Digital Video Broadcast Philips VideoTop Digital Video Broadcast SystemSystemMagneti-Marelli Automotive Engine ControlMagneti-Marelli Automotive Engine Control Testing was done on 3 different CPUs, each with two Testing was done on 3 different CPUs, each with two

different software partitions.different software partitions. Estimations performed in VCC were accurate to about Estimations performed in VCC were accurate to about

11%11%

BWRC InterCom.BWRC InterCom. Implemented Voice-based protocol stackImplemented Voice-based protocol stack Took about 1,200 lines of C-codeTook about 1,200 lines of C-code A “traditional” implementation with Strong-Arm would A “traditional” implementation with Strong-Arm would

take about 30,000 lines (including the RTOS)take about 30,000 lines (including the RTOS)

Page 16: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

MESCAL MESCAL

MModern odern EEmbedded mbedded SSystems, ystems, CCompilers, ompilers, AArchitectures, and rchitectures, and LLanguagesanguages

The Goal of MESCAL is to develop The Goal of MESCAL is to develop methodologies, tools, and appropriate methodologies, tools, and appropriate algorithms to support the efficient algorithms to support the efficient development of fully programmable, development of fully programmable, platform-based designs for platform-based designs for specific specific application domainsapplication domains..

Page 17: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

MESCAL AssumptionMESCAL Assumption

General purpose programmable solutions will General purpose programmable solutions will not be likely to meet aggressive performance not be likely to meet aggressive performance and power constraints and useful generality.and power constraints and useful generality.

Domain-specific programmable solutions are Domain-specific programmable solutions are required to deliver the benefit of programmability required to deliver the benefit of programmability while still delivering acceptable performance.while still delivering acceptable performance. Network/Video Processors vs. General Purpose Network/Video Processors vs. General Purpose

processors.processors.

Page 18: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

Architecture: Specialized Architecture: Specialized Functional UnitsFunctional Units

Dramatic Speedup in function execution.Dramatic Speedup in function execution.MESCAL uses IMPACT EPIC (Explicitly Parallel MESCAL uses IMPACT EPIC (Explicitly Parallel Instruction Computing) architecture class for individual Instruction Computing) architecture class for individual processing units.processing units.They can better exploit instruction level parallelism (ILP)They can better exploit instruction level parallelism (ILP)This is a powerful mechanism to exploit fine-grained This is a powerful mechanism to exploit fine-grained concurrencyconcurrency in a retargetable manner. in a retargetable manner.

Page 19: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

Architecture: Multiple Levels of Architecture: Multiple Levels of ParallelismParallelism

Multiple Levels of ParallelismMultiple Levels of Parallelism Instruction Level Parallelism is exploited though an Instruction Level Parallelism is exploited though an

explicitly (EPIC) parallel architecture.explicitly (EPIC) parallel architecture. Thread/Process level parallelism through Thread/Process level parallelism through

heterogeneous processing and networking.heterogeneous processing and networking.

Page 20: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

Architecture: Template and Design Architecture: Template and Design MethodologyMethodology

There exists design There exists design templates which allow templates which allow for rapid prototyping for rapid prototyping of networks of of networks of processing elements.processing elements.

The design The design methodology utilizes methodology utilizes a classic a classic measurement based measurement based feedback design loop.feedback design loop.

Page 21: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

Programmer’s ModelProgrammer’s Model

The goal of MESCAL The goal of MESCAL Programmer’s Model is to Programmer’s Model is to present the programmer present the programmer with an abstraction of the with an abstraction of the architecture while helping architecture while helping the compiler generate the compiler generate efficient code for the new efficient code for the new architectural platform.architectural platform.

It combines a bottom up It combines a bottom up and top down approach.and top down approach.

Page 22: System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli

2222 November 5, 2002November 5, 2002 David NguyenDavid Nguyen

MESCAL CompilerMESCAL Compiler

The objective of the MESCAL compiler is to The objective of the MESCAL compiler is to develop a develop a highly optimizedhighly optimized, , retargetableretargetable compiler infrastructure that enables a set of compiler infrastructure that enables a set of interesting source applications to be efficiently interesting source applications to be efficiently mapped into a family of fully programmable mapped into a family of fully programmable architectures and micro-architectures.architectures and micro-architectures.We would like the compiler to automatically We would like the compiler to automatically synthesize RTOS components, custom synthesize RTOS components, custom components to improve performance, scheduler, components to improve performance, scheduler, device drivers, memory management routines, device drivers, memory management routines, and other hardware specific code from the and other hardware specific code from the machine description.machine description.