1 / 12

De Transmeta Crusoe processor

De Transmeta Crusoe processor . Een VLIW CPU met x86 compatibiliteit. Agenda. Voor- en nadelen van VLIW en Superscalar De Crusoe CPU Dynamic Binary Translation – Code Morphing Voor- en nadelen van de Crusoe Conclusie. Voor- en nadelen van VLIW. Voordelen Simpele hardware Low-power

marci
Download Presentation

De Transmeta Crusoe processor

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. De Transmeta Crusoe processor Een VLIW CPU met x86 compatibiliteit

  2. Agenda • Voor- en nadelen van VLIW en Superscalar • De Crusoe CPU • Dynamic Binary Translation – Code Morphing • Voor- en nadelen van de Crusoe • Conclusie

  3. Voor- en nadelen van VLIW • Voordelen • Simpele hardware • Low-power • Goedkoop • Nadelen • Scheduling door compiler • Niet backwards compatibel

  4. Voor- en nadelen van Superscalar • Voordelen • Scheduling door CPU • High-performance • Nadelen • Complexe hardware (veel oppervlak) • Niet low-power • Duur

  5. Transmeta Crusoe CPU

  6. VLIW • CPU heeft 2 integer units, een floating point unit, een load/store unit en een branche unit • CPU kan 4 instructies parallel uitvoeren • 64 integer registers en 32 floating point registers • CPU krijgt VLIW instructies in de vorm van 64 of 128 bits molecules • Molecules bestaan uit atoms

  7. Blokschema van de Crusoe

  8. Stap 1 – van x86 naar atoms • na x86 instructies • A. addl %eax,(%esp)// load data from stack, add to %eax • B. addl %ebx,(%esp) // ditto, for %ebx • C. movl %esi,(%ebp) // load %esi from memory • D. subl %ecx,5 // subtract 5 from %ecx register • na het frontend • ld %r30,[%esp] // load from stack, into temporary • add.c %eax,%eax,%r30 // add to %eax, set condition codes. • ld %r31,[%esp] • add.c %ebx,%ebx,%r31 • ld %esi,[%ebp] • sub.c %ecx,%ecx,5

  9. Stap 2 – van atoms naar optimized atoms • na het frontend • ld %r30,[%esp] // load from stack, into temporary • add.c %eax,%eax,%r30 // add to %eax, set condition codes. • ld %r31,[%esp] • add.c %ebx,%ebx,%r31 • ld %esi,[%ebp] • sub.c %ecx,%ecx,5 • na de optimizer • ld %r30,[%esp] // load from stack only once • add %eax,%eax,%r30 • add %ebx,%ebx,%r30 // reuse data loaded earlier • ld %esi,[%ebp] • sub.c %ecx,%ecx,5 // only this last condition code needed

  10. Stap 3 – van optimized atoms naar scheduled molucules • na de optimizer • ld %r30,[%esp] // load from stack only once • add %eax,%eax,%r30 • add %ebx,%ebx,%r30 // reuse data loaded earlier • ld %esi,[%ebp] • sub.c %ecx,%ecx,5 // only this last condition code needed • na de scheduler • 1. ld %r30,[%esp]; sub.c %ecx,%ecx,5 • 2. ld %esi,[%ebp]; add %eax,%eax,%r30; add %ebx,%ebx,%r30

  11. Voor- en nadelen van de Crusoe • Voordelen • Nieuwe CPU -> niet hercompileren • Code morphing software kan steeds geupdate worden • Ook andere instructie set mogelijk dan x86 • Low-power • Hardware goedkoop • Nadelen • Veel nieuwe instructies achter elkaar worden langzaam uitgevoerd door de vertaling • In het begin is hij erg traag, doordat het translation cache leeg is • Gemiddelde performance (slechte maat, maar ongeveer 70% van vergelijkbare pentium III)

  12. Conclusie • Zeer geschikt voor PDA’s en notebooks • Met name voor alledaags gebruik (bijv. tekstverwerking, internet, multimedia)

More Related