CSE 291E / EE260C Spring 2002 Overview Overview of Tensilica - - PowerPoint PPT Presentation

cse 291e ee260c spring 2002
SMART_READER_LITE
LIVE PREVIEW

CSE 291E / EE260C Spring 2002 Overview Overview of Tensilica - - PowerPoint PPT Presentation

Configurable Cores: XTensa CSE 291E / EE260C Spring 2002 Overview Overview of Tensilica Overview of XTensa Design Flow Base ISA Optional Components TIE Challenges for Customized Processors What are the


slide-1
SLIDE 1

Configurable Cores: XTensa

CSE 291E / EE260C Spring 2002

slide-2
SLIDE 2

Tim Sherwood 2

Overview

  • Overview of Tensilica
  • Overview of XTensa

– Design Flow – Base ISA – Optional Components – TIE

  • Challenges for Customized Processors

– What are the problems? – How does XTensa address them? – What could be done better?

slide-3
SLIDE 3

Tim Sherwood 3

Tensilica: The Company

  • Founder/CEO/Mastermind - Chris Rowen

– from Intel, Stanford, MIPS, sgi, Synopsys

  • Idea: Build customizable processor design chain
  • Strategic Investors

– Cisco, Matsushita, Altera, Conexent, NEC

slide-4
SLIDE 4

Tim Sherwood 4

Motivation: The “Design Gap”

slide-5
SLIDE 5

Tim Sherwood 5

Motivation: Before

slide-6
SLIDE 6

Tim Sherwood 6

Motivation: With XTensa

slide-7
SLIDE 7

Tim Sherwood 7

Design Flow - high level

slide-8
SLIDE 8

Tim Sherwood 8

Design Flow – detailed

slide-9
SLIDE 9

Tim Sherwood 9

Xtensa ISA Priorities

  • Code Size

– Large factor in system cost

  • Configurability, Extensability

– Provide match to requirements

  • Processor Cost

– More than just area?

  • Energy Efficiency
  • Performance
  • Scalability
  • Features
slide-10
SLIDE 10

Tim Sherwood 10

Xtensa ISA

  • RISC architecture
  • 5-stage Pipeline

– I R E M W

  • 24/16 bit instructions
slide-11
SLIDE 11

Tim Sherwood 11

Xtensa Pipeline

Instruction RAM Instruction Cache Instruction ROM Decode General Registers CoProcessor Registers XLMI Data ROM Data Cache Data RAM Instruction ROM Address Generation ALU CoProcessor ALU

I R E M W

slide-12
SLIDE 12

Tim Sherwood 12

XTensa Architecture

Processor Controls Align and Decode ALU Instruction Fetch Unit Data Load/Store Unit

Base ISA

Mac16 Mul16 Mul32 FPU Vectra DSP Trace port JTAG Tap Control On-Chip Debug Exception Control

Optional

Data Address Watch 0 -n Instr Address Watch 0 -n Interupt Control Timers 0 -n Instruction ROM Instruction RAM Instruction Cache Data ROM Data RAM Data Cache XLMI

Optional & Configurable

Register File Instr TLB Data TLB

Configurable

Designer defined register files Designer Defined Execution Units

Advanced

slide-13
SLIDE 13

Tim Sherwood 13

TIE

  • Major parts of TIE

– Instruction Fields – Opcodes – Operands – State and Register – Instruction Semantics – Compiler Prototype – Pipelining/Scheduling

  • What do we need to worry about?
slide-14
SLIDE 14

Tim Sherwood 14

TIE Overiew

  • No micro-architecture details

– Same TIE will work with new base – Decode, interlock, bypass, and pipelining, OS support of context switch automatic

  • Automatic configuration of software tools

– Compiler – Instruction-set simulator – Debugger

  • Automatic Synthesis
slide-15
SLIDE 15

Tim Sherwood 15

TIE E xample: ADD4

slide-16
SLIDE 16

Tim Sherwood 16

TIE E xample: Accum

slide-17
SLIDE 17

Tim Sherwood 17

Code Size

  • Small Encoding Size

– 24/16 bits – Mode-less encoding

  • Code savings from elimination of save/restore

– Special instruction now handles this – Estimate 6-10% Reduction in code size

  • Compound Instructions

– Loop instructions / Compare-and-Branch – Shift-Add/Subtract – Shift-Mask

slide-18
SLIDE 18

Tim Sherwood 18

Instruction E ncoding

slide-19
SLIDE 19

Tim Sherwood 19

E xample Code

slide-20
SLIDE 20

Tim Sherwood 20

What are the challenges?

  • Layout / Synthesis
  • Code Size
  • Verification
  • Ease/Speed of use
slide-21
SLIDE 21

Tim Sherwood 21

Layout / Synthesis

  • Not Full Custom
  • One Clock

– Rising Edge Triggered – No standard processor tricks

  • No time borrowing
  • Caches

– Generated with memory compiler – Registered address input

  • Use hints to layout tools to make sure there is a

sane placement

slide-22
SLIDE 22

Tim Sherwood 22

Code Size

  • Small instruction encoding
  • Compound instructions
  • Register Windows
  • Section/Pooling Literals
  • What else could we do?
slide-23
SLIDE 23

Tim Sherwood 23

Verification

  • Directed Diagnostics
  • Psuedo-Random program generator
  • Coverage Analysis

– Architecture level (AVP) – Micro-architecture level (MVP) – Random generator – Cycle accurate simulator -> Co-simulation

  • What else?
slide-24
SLIDE 24

Tim Sherwood 24

E ase/ Speed of use

slide-25
SLIDE 25

Tim Sherwood 25

Conclusions and Discussion

  • What is next for Tensilica and Customized

processors in the future?

– CMP? – Vector? – FPGA based? – Tile based? – What about further out?