CSE 291E / EE260C Spring 2002 Overview Overview of Tensilica - - PowerPoint PPT Presentation
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
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?
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
Tim Sherwood 4
Motivation: The “Design Gap”
Tim Sherwood 5
Motivation: Before
Tim Sherwood 6
Motivation: With XTensa
Tim Sherwood 7
Design Flow - high level
Tim Sherwood 8
Design Flow – detailed
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
Tim Sherwood 10
Xtensa ISA
- RISC architecture
- 5-stage Pipeline
– I R E M W
- 24/16 bit instructions
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
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
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?
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
Tim Sherwood 15
TIE E xample: ADD4
Tim Sherwood 16
TIE E xample: Accum
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
Tim Sherwood 18
Instruction E ncoding
Tim Sherwood 19
E xample Code
Tim Sherwood 20
What are the challenges?
- Layout / Synthesis
- Code Size
- Verification
- Ease/Speed of use
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
Tim Sherwood 22
Code Size
- Small instruction encoding
- Compound instructions
- Register Windows
- Section/Pooling Literals
- What else could we do?
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?
Tim Sherwood 24
E ase/ Speed of use
Tim Sherwood 25
Conclusions and Discussion
- What is next for Tensilica and Customized