Introduction - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

Introduction

Description:

Hardware as well as software components. Hardware: IP or ASIC. Software: Processor core or ASIP ... set of applications, design a system, possibly hardware plus ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 34
Provided by: lehrstuhli
Category:

less

Transcript and Presenter's Notes

Title: Introduction


1
Introduction OverviewASIP Synthesis
Retargetable Code Generation
  • M. Balakrishnan

2nd January 2002
2
Presentation Outline
  • Introduction Motivation
  • Architecture Overview
  • ASIP Synthesis
  • Memory Customization
  • Retargetable Code Generation

3
Embedded Systems Design
  • Application driven
  • Hardware as well as software components
  • Hardware IP or ASIC
  • Software Processor core or ASIP
  • Tools for code generation

4
Motivation
  • Our motivation for organizing this workshop is to
    bring out the key issues involved in the
    following three key steps on one platform.
  • ASIP Synthesis
  • Memory customization
  • Retargetable code generation

5
Design Challenge
  • Given an application or a set of applications,
    design a system, possibly hardware plus software,
    which meets the constraints of (or optimizes for)
    area, performance and power. This can be achieved
    by
  • Defining the design space to be explored
  • Understanding the relationships between
    application characteristics and design
  • Creating tools for efficient design space
    exploration

6
Presentation Outline
  • Introduction Motivation
  • Architecture Overview ?
  • ASIP Synthesis
  • Memory Customization
  • Retargetable Code Generation

7
Processor Architecture
RF
MEM
ALU
8
Architecture Variations
  • RISC and CISC
  • Harvard Architecture
  • Specialized ALUs
  • Instruction Pipelining
  • Cache memory
  • VLIW and Superscalar

9
RISC Vs CISC
10
Harvard Architecture
  • Separate buses for instruction and data
  • Separate instruction and data memory
  • Popular for DSPs

11
Multiple ALUs
  • Separate ALU for address generation
  • Specialized units for floating data types
  • Variable latency units
  • Data dependency issues
  • Data forwarding

12
Instruction Pipelining
  • Static Dynamic pipeline
  • Pipeline stalls due to
  • Data dependency
  • Resource conflicts
  • Pipeline flushing due to branching

13
Instruction Pipelining Example
Ins. 1
Ins. 2
Ins. 3
Fetch
Decode
Execute
3 Stage pipeline
14
Pipeline stall due to Resource conflict
Ins. 1
Ins. 2
Ins. 3
Pipeline F D
OF
E
Stall
Stall
15
Cache Memory
  • Memory bandwidth bottleneck
  • Temporal and spatial locality of memory accesses
  • Cache size and organization

16
Advanced Processors
  • Attempts to go below 1 cpi
  • Increasing instruction level parallelism
  • Data dependency and resource constraints
  • Compiler extracts parallelism (VLIW)
  • Multiple instruction issue (Superscalar)

17
VLIW Vs Superscalar
18
Presentation Outline
  • Introduction Motivation
  • Architecture Overview
  • ASIP Synthesis ?
  • Memory Customization
  • Retargetable Code Generation

19
Application Specific Instruction Set Processors
  • Designed for specific application
  • Exploits special characteristics to meet the
    desired constraints
  • Efficient for applications like digital signal
    processing, automatic control systems, cellular
    phones etc.

20
GPP-ASIP-ASIC
21
Flow Diagram of a typical ASIP Design Methodology
Application Design Constraints
Application Analysis
Architectural Design Space Exploration
Instruction Set Generation
Code Synthesis
Hardware Synthesis
Object Code
Processor Description
22
ASIP Design Space Exploration
  • Code generation Simulator based
  • Estimation (Scheduler) based

23
Code Generation Simulator based
Retargetable Compiler
Simulator
Application (HLL)
Object Code
Architecture Description
Trace Data
24
Estimation based
Architecture Description
Application (HLL)
Profiler
Retargetable Estimator
Performance and other Estimates
25
Flow diagram of overall Methodology
26
Presentation Outline
  • Introduction Motivation
  • Architecture Overview
  • ASIP Synthesis
  • Memory Customization ?
  • Retargetable Code Generation

27
Memory Customization Issues
  • Memory hierarchy
  • Memory technology
  • SRAM
  • DRAM
  • Memory organization
  • Ports
  • Interleaving

28
Local Memory Issues
  • Cache (compiler transparent) or Scratchpad memory
    (user assigned)
  • Cache or scratchpad memory size
  • Cache organization
  • Unified or split (I-Cache and D-Cache)
  • Direct mapped or set associative
  • Write through or write back
  • Replacement policies

29
Application Characteristics
  • Data access requirements
  • Data access patterns
  • Predictability of access patterns
  • Temporal and spatial locality
  • Time, area and power constraints

30
Presentation Outline
  • Introduction Motivation
  • Architecture Overview
  • ASIP Synthesis
  • Memory Customization
  • Retargetable Code Generation ?

31
Retargetable Code Generator Options
  • Compiler Compiler Accept a specific
    architecture as input and generate a compiler
    which accepts the application programs
  • Retargetable Compiler Accept both the
    application and the architecture (parameters) as
    inputs and directly generates code

32
Issues in Retargetable Code Generation
  • Architecture design space parameters
  • Instruction set Fixed or Custom
  • Custom instruction set Application analysis
  • Compiler optimization options
  • Code generation objectives Area, performance or
    power

33
Thanks
Write a Comment
User Comments (0)
About PowerShow.com