transmeta’s new processor another way to design cpu by wu cheng meng @csie.ccu.edu.tw

14
Transmeta’s New Proces sor Another way to design CPU By Wu Cheng Meng @csie.ccu. edu.tw

Upload: isabel-norman

Post on 20-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Transmeta’s New Processor Another way to design CPU By Wu Cheng Meng @csie.ccu.edu.tw

Transmeta’s New Processor

Another way to design CPU

By Wu Cheng Meng @csie.ccu.edu.tw

Page 2: Transmeta’s New Processor Another way to design CPU By Wu Cheng Meng @csie.ccu.edu.tw

What’s Crusoe CPU

• X86 ISA Compatible

• Simple VLIW Hardware

• Software/Hardware Mixed Architecture

• Low Power

• Self-Turning of Clock & Voltage

Page 3: Transmeta’s New Processor Another way to design CPU By Wu Cheng Meng @csie.ccu.edu.tw

Structure

Page 4: Transmeta’s New Processor Another way to design CPU By Wu Cheng Meng @csie.ccu.edu.tw

Structure

X86 Applications

X86 BIOS

Code Morphing Software

X86 Operating System

VLIW Processor

Page 5: Transmeta’s New Processor Another way to design CPU By Wu Cheng Meng @csie.ccu.edu.tw

VLIW Hardware

• 64/128 bits molecule

• 2 Integer, 1 Float, 1 LD/ST, 1 Branch

• Optimized for simple, fast and low-power

[F]ADD BRCCLDADD

128 bit molecule

Page 6: Transmeta’s New Processor Another way to design CPU By Wu Cheng Meng @csie.ccu.edu.tw

Code Morphing Layer

• Started When Boot

• Translate/Optimize ISA to Native ISA

• Insert Instrument Code to …– Execute path analysis– Detect CPU need for efficient power

consuming– Any other analysis ..

Page 7: Transmeta’s New Processor Another way to design CPU By Wu Cheng Meng @csie.ccu.edu.tw

Code Morphing Layer

8-16M

Physical Memory on main-board

Code Morph itself And Translated Code Cache

Virtual Physical Memory BIOS and OS can see

Page 8: Transmeta’s New Processor Another way to design CPU By Wu Cheng Meng @csie.ccu.edu.tw

Translation Step

Interpretation Translate one instruction at a time

Simple-minded Optimize Code that Compilers do

Highly Optimized Reorder the instructions and make parallelism

Page 9: Transmeta’s New Processor Another way to design CPU By Wu Cheng Meng @csie.ccu.edu.tw

Special Issues for X86

• Generate Same Condition Code

• Operates same 80-bit floating point

• TLB has same protection bits

• TLB address mapping as X86 processors

Page 10: Transmeta’s New Processor Another way to design CPU By Wu Cheng Meng @csie.ccu.edu.tw

Precise Interrupt

• Precise Interrupt– Shadow Registers (int / fp)– Gated Store Buffer– Commit Operation– Rollback Operation

Page 11: Transmeta’s New Processor Another way to design CPU By Wu Cheng Meng @csie.ccu.edu.tw

Alias Hardware

• Alias Hardware (Memory)– Reorder limited by load/store pairs– Load-and-protect

• Save address and size of loaded data

– Store-Under-Alias-Mask• Check alias hardware

• Raise exception when overwrite

Page 12: Transmeta’s New Processor Another way to design CPU By Wu Cheng Meng @csie.ccu.edu.tw

Example of Aliasld %r30, [%x] // first load from location x

st %data, [%y] // might overwrite location x

ld %r31, [%x] // this accesses location X again

use %31

ldp %r30, [%x] // load from location x and protect it

stam %data, [%y] // traps if it writes x

use %30 // may use data from first load

Page 13: Transmeta’s New Processor Another way to design CPU By Wu Cheng Meng @csie.ccu.edu.tw

Self-Modifying Code

• Keep a “translated” bit in MMU

• When a protected page is written– Invalidate the affected translation(s)

Page 14: Transmeta’s New Processor Another way to design CPU By Wu Cheng Meng @csie.ccu.edu.tw

Low Power!!!

Pentium!!! Crusoe

Reduced Power Consumption mainly by reduced x86 decode logic