Transmeta Architecture

Samankaltaiset tiedostot
Transmeta Architecture

Transmeta Architecture

Transmeta Architecture

Luento 11 Tulkinta ja emulointi

Java ohjelmien suoritus (3) Luento 11 Tulkinta ja emulointi. Java virtuaalikone (JVM) (5) JVM:n tietorakenteet (8) JVM:n tietorakenteet (jatkuu) (6)

Jakso 11 Tulkinta ja emulointi

Java ohjelmien suoritus (3) Luento 11 Tulkinta ja emulointi. Java virtuaalikone (JVM) (5) JVM:n tietorakenteet (9) JVM:n tietorakenteet (jatkuu)

Luento 11 Tulkinta ja emulointi

Luento 11 Tulkinta ja emulointi

Javaohjelmien suoritus (3) Jakso 11 Tulkinta ja emulointi. Java-virtuaalikone (JVM) (5) JVM:n tietorakenteet (8) JVM:n tietorakenteet (jatkuu) (6)

Luento 11 Tulkinta ja emulointi

Java ohjelmien suoritus (3) Luento 11 Tulkinta ja emulointi

C++11 seminaari, kevät Johannes Koskinen

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Käyttöjärjestelmän rakenne

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ

Tietokonearkkitehtuuri 2 TKT-3201 (5 op)

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

Tietokoneen toiminta, K Tavoitteet (4)

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Use of spatial data in the new production environment and in a data warehouse

Tietorakenteet ja algoritmit

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus

Capacity Utilization

anna minun kertoa let me tell you

Luento 3 (verkkoluento 3) Ttk-91 konekielinen ohjelmointi. Ohjelman esitysmuoto Konekielinen ohjelmointi ttk-91:llä (Titokone, TitoTrainer)

Windows Phone. Module Descriptions. Opiframe Oy puh Espoo

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

7. Product-line architectures

Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi

Tietokoneen toiminta, Kevät Copyright Teemu Kerola Järjestelmän eri tasot Laitteiston nopeus

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.

Choose Finland-Helsinki Valitse Finland-Helsinki

Internal Memory, Cache

Efficiency change over time

Intel Pentium Pro -prosessori. tietokonearkkitehtuurit, syksy -96 Ari Rantanen

POWER analytiikka-alustana

1. Keskusyksikön rakenne

Internal Memory, Cache

52480S TIETOKEARKKITEHTUURIT Tentti

Metsälamminkankaan tuulivoimapuiston osayleiskaava

RINNAKKAINEN OHJELMOINTI A,

Luento 5 (verkkoluento 5) Suoritin ja väylä

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Teemun juustokakku Rekisterien, välimuistin, muistin, levymuistin ja magneettinauhan nopeudet suhteutettuna juuston hakuaikaan juustokakkua tehdessä?

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

Aihepiiri Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Tietokoneen toiminta (Computer Organization I)

Aihepiiri Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Kertausluento luennoista 1-3 1

Tietokoneen toiminta (Computer Organization I)

Luento 2 (verkkoluento 2) Ttk-91 järjestelmä

Hankkeen toiminnot työsuunnitelman laatiminen

Salasanan vaihto uuteen / How to change password

( ( OX2 Perkkiö. Rakennuskanta. Varjostus. 9 x N131 x HH145

Information on preparing Presentation

Tynnyrivaara, OX2 Tuulivoimahanke. ( Layout 9 x N131 x HH145. Rakennukset Asuinrakennus Lomarakennus 9 x N131 x HH145 Varjostus 1 h/a 8 h/a 20 h/a

Network to Get Work. Tehtäviä opiskelijoille Assignments for students.

Returns to Scale II. S ysteemianalyysin. Laboratorio. Esitelmä 8 Timo Salminen. Teknillinen korkeakoulu

Increase of opioid use in Finland when is there enough key indicator data to state a trend?

7.4 Variability management

Olet vastuussa osaamisestasi

TM ETRS-TM35FIN-ETRS89 WTG

TM ETRS-TM35FIN-ETRS89 WTG

Luento 2 (verkkoluento 2) Ttk-91 järjestelmä

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed

TM ETRS-TM35FIN-ETRS89 WTG

Co-Design Yhteissuunnittelu

LX 70. Ominaisuuksien mittaustulokset 1-kerroksinen 2-kerroksinen. Fyysiset ominaisuudet, nimellisarvot. Kalvon ominaisuudet

Luento 5 (verkkoluento 5) Suoritin ja väylä

Käyttöliittymät II. Käyttöliittymät I Kertaus peruskurssilta. Keskeisin kälikurssilla opittu asia?

TM ETRS-TM35FIN-ETRS89 WTG

Muistihierarkia Kiintolevyt I/O:n toteutus

Tieto ja sen osoite (3) Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Osoitinmuuttujat. Tieto ja sen osoite (5)

LYTH-CONS CONSISTENCY TRANSMITTER

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Käyttöjärjestelmät. Tietokoneen rakenne. Stallings, Luku 1. KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 1-1

16. Allocation Models

TM ETRS-TM35FIN-ETRS89 WTG

Tietokoneen toiminta (Computer Organization I)

Technische Daten Technical data Tekniset tiedot Hawker perfect plus

Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi

Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Tietokoneen toiminta (Computer Organization I) Mitä hyötyä tästä on? (4) Kurssien välisiä riippuvuuksia. Aihepiiri.

TM ETRS-TM35FIN-ETRS89 WTG

Tietokoneen toiminta (Computer Organization I)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Transkriptio:

Transmeta Architecture Major Ideas General Architecture Emulated Precise Exceptions What to do with It 1 Background Transmeta Corporation Paul Allen (Microsoft), George Soros (Soros Funds) David R. Ditzel (Sun) CEO Edmund J. Kelly, Malcolm John Wing, Robert F. Cmelik (?) Linus B. Torvalds, February 1997... Patent 5958061 applied July 24, 1996 granted September 28, 1999 other patents Crusoe prosessor published January 19, 2000 2 Transmeta, Crusoe 1

faster cheaper Basic Idea Create a new processor which, when coupled with morph host emulator, can run Intel/Windows code faster than state-of-the-art Intel processor New processor can be implemented with significantly fewer gates than competitive processors Compete with Intel, friendly with Microsoft sell chip with emulator code to system manufacturers (Dell, IBM, Sun, etc etc) x86 binary is new binary standard Native OS not so important could be Linux 3 Major General Ideas Emulation can be faster than direct execution TLB used to solve new problems track memory accesses for memory mapped I/O track memory accesses for self- modifying code Most of executed code generated on-the fly not compiled before execution begins extremely optimized dynamic code generation Optimized code allows for simpler machine 4 Transmeta, Crusoe 2

Major General Ideas (contd) Self-modified code (dynamically created code) can be generated so that it is extremely optimized for execution issue dependencies, reorder, reschedule problems solved at code generation processor does not need to solve these Optimize for speed only when needed do not optimize for speed when exact state change is required Alias detection to assist keeping globals is registers 5 Major Emulation Ideas Target processor state kept in dedicated HW registers working state, committed state Memory store buffer keeps uncommitted emulated memory state Specific instructions support emulation commit, rollback (exact exceptions) prot (aliases) TLB (and VM) designed to support emulation A/N-bit (mem-mapped I/O), T-bit (self-mod. code) 6 Transmeta, Crusoe 3

General Architecture VLIW implementation 4 simultaneous RISC instructions one each of float, int, load/store, branch, no circuitry for issue dependencies, reorder, optimize, reschedule compiler takes care of these what about data, control and structural dependencies? part of issue dependencies data & structural dependencies under compiler control? 7 General Architecture (contd) Large register set native regs: 64 INT, 32 FP extra regs for renaming target architecture regs: complete CPU state INT, FP, control Reax, Recx, Rseq, Reip working regs for normal emulation committed regs for saving emulated processor state 8 Transmeta, Crusoe 4

General Architecture (contd) TLB new features to solve new problems earlier used to solve also memory protection problems in addition to plain VM address mapping A/N-bit for memory-mapped I/O detection trap to emulator, which creates precise code memory-mapped I/O requires precise emulated processor state changes T-bit for self-modifying code detection trap to emulator, which recreates emulating code in instruction cache ( translation buffer ) 9 General Architecture (contd) Target memory store buffer implemented with special register to support emulation keeps track on which target processor memory stores are committed and which are not uncommitted memory stores can be discarded at rollback modify HW registers implementing it commit & rollback controlled from outside, not internally as is usual with speculative instructions 10 Transmeta, Crusoe 5

General Architecture (contd) RISC instruction set explicitly parallel code (VLIW) commit instruction supports emulation commits emulated processor and memory state use only when coherent target processor state! rollback instruction (?) supports emulation some or all of it can be in emulator code recover latest committed emulated register state delete uncommitted writes from store buffer retranslate emulation code for precise state changes commit after every emulated instruction prot instruction for alias detection 11 Tavallisen ohjelman suoritus muisti LDA R1, =543 ADD R2, R4, R5 suoritin välimuisti konekäskyjen suorituspiirit 12 Transmeta, Crusoe 6

Emulaattoriohjelman suoritus muisti emulaattori ohjelma x86 koneen tietorakenteet x86-ohjelma mov %exc1, >%ebp+0xc! add %eax!, #4 LDA R1, =543 ADD R2, R4, R5 koodi suoritin välimuisti konekäskyjen suorituspiirit 13 Tavallinen emulaattoriohjelma x86-emulaattori (ohjelma) x86 koneen emuloidut tietorakenteena Staattinen aliohjelma jokaista x86 koneen konekäskyä varten LDA R1, =543 ADD R2, R4, R5 Proseduraalinen pääohjelma, jossa ikuisessa silmukassa haetaan x86-konekäskyjä muistista ja emuloidaan niitä yksi kerrallaan sopivalla aliohjelmalla 14 Transmeta, Crusoe 7

Transmetan emulaattoriohjelma (x86 koneen emuloidut laitteistossa) Dynaamisesti generoidut (optimoitut) käskysarjat x86-koneen konekäskyjoukkoja varten LDA R1, =543 ADD R2, R4, R5 Tapahtumaperustainen pääohjelma, joka valvoo emulointia ja generoi suoritettavia konekäskyjä välimuistiin: jos emuloitavaa käskysarjaa ei vielä ole generoitu omalle konekielelle, niin generoi se (käännöspuskuriin) ja anna sille suoritusvuoro jos emuloitu epätarkka keskeytys, niin peruuta talletettuun tilaan, generoi hidas mutta täsmällinen emulointikoodi ja jatka. jos emuloitu tarkka keskeytys, niin käsittele se ja jatka nopealla suorituksella (optimoidut käskysarjat) 15 Transmetan emulaattoriohjelman suoritus muisti emulaattori ohjelma LDA R1, =543 ADD R2, R4, R5 x86-ohjelma mov %exc1, >%ebp+0xc! add %eax!, #4 välimuisti konekäskyjen suorituspiirit suoritin x86 koneen 16 Transmeta, Crusoe 8

Transmetan prosessorin looginen rakenne emuloitava käyttöjärjestelmä emuloitava sovellus Morph-host emulaattori Koodin generaattori Käännöspuskuri Tapahtuma- Perustainen pääohjelma Natiivi käyttöjärjestelmä HW - laitteisto konekäskyt keskeytykset 17 Transmetan prosessorin fyysinen rakenne prosessori VAHVISTETUT x86 Emuloidut x86 muisti emuloitava käyttöjärjestelmä emuloitava sovellus konekäskyjen suorituspiirit TLB muistipuskurin rekisterit välimuisti natiivi käyttöjärjestelmä omat ALIASrekisterit muistipuskuri käännöspuskuri koodin generaattori emulaattori muistiväylä 18 Transmeta, Crusoe 9

Computer Organization II 10/11/2000 What Will Transmeta do with Crusoe? Optimize for speed or size? Small size cheaper, less power License it to Intel? Have someone else manufacture it and compete with Intel? TM3120, TM5400 IBM Motorola, AMD? low power Make products based on Crusoe? Internet window? Visual phone? 11/10/2000 Copyright Teemu Kerola 2000 19 -- The End (again) -- http://developer.intel.com/design/ia64/microarch_ovw/sld021.htm 11/10/2000 Transmeta, Crusoe Copyright Teemu Kerola 2000 20 10