cse 291e ee260c spring 2002
play

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


  1. Configurable Cores: XTensa CSE 291E / EE260C Spring 2002

  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 2

  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 3

  4. Motivation: The “Design Gap” Tim Sherwood 4

  5. Motivation: Before Tim Sherwood 5

  6. Motivation: With XTensa Tim Sherwood 6

  7. Design Flow - high level Tim Sherwood 7

  8. Design Flow – detailed Tim Sherwood 8

  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 9

  10. Xtensa ISA • RISC architecture • 5-stage Pipeline – I R E M W • 24/16 bit instructions Tim Sherwood 10

  11. Xtensa Pipeline Instruction Instruction Instruction I RAM Cache ROM R General CoProcessor Decode Registers Registers E Address ALU Generation CoProcessor ALU Data Data Data M XLMI ROM Cache RAM Instruction W ROM Tim Sherwood 11

  12. XTensa Architecture Base ISA Configurable Optional Advanced Trace port JTAG Tap Optional & Configurable Control On-Chip Debug Instr Instruction Align and Decode TLB Cache Register File Instruction Fetch Unit Instruction ROM Designer ALU defined Instruction RAM Processor Controls register files Interupt Control Mul16 Timers 0 -n Mac16 Data Data TLB Cache Exception Control Designer Mul32 Data Defined Data ROM Load/Store Execution FPU Unit Units Data RAM Vectra DSP XLMI Data Address Watch 0 -n Instr Address Watch 0 -n Tim Sherwood 12

  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 13

  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 14

  15. TIE E xample: ADD4 Tim Sherwood 15

  16. TIE E xample: Accum Tim Sherwood 16

  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 17

  18. Instruction E ncoding Tim Sherwood 18

  19. E xample Code Tim Sherwood 19

  20. What are the challenges? • Layout / Synthesis • Code Size • Verification • Ease/Speed of use Tim Sherwood 20

  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 21

  22. Code Size • Small instruction encoding • Compound instructions • Register Windows • Section/Pooling Literals • What else could we do? Tim Sherwood 22

  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 23

  24. E ase/ Speed of use Tim Sherwood 24

  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? Tim Sherwood 25

Recommend


More recommend