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

Luento 1 Tietokonejärjestelmän rakenne

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

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

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

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Ä

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

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

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

Tietorakenteet ja algoritmit

Capacity Utilization

Tietokonearkkitehtuuri 2 TKT-3201 (5 op)

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

anna minun kertoa let me tell you

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

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)

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.

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

Choose Finland-Helsinki Valitse Finland-Helsinki

Kertausluento luennoista 1-3 1

Internal Memory, Cache

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

Efficiency change over time

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

POWER analytiikka-alustana

7. Product-line architectures

1. Keskusyksikön rakenne

52480S TIETOKEARKKITEHTUURIT Tentti

Aihepiiri Tietokoneen toiminta (Computer Organization I)

Internal Memory, Cache

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Aihepiiri Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Metsälamminkankaan tuulivoimapuiston osayleiskaava

RINNAKKAINEN OHJELMOINTI A,

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

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

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

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

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

Muistihierarkia Kiintolevyt I/O:n toteutus

Hankkeen toiminnot työsuunnitelman laatiminen

( ( 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

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

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

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

TM ETRS-TM35FIN-ETRS89 WTG

Salasanan vaihto uuteen / How to change password

Co-Design Yhteissuunnittelu

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

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

TM ETRS-TM35FIN-ETRS89 WTG

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

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Jakso 8 Ohjelman toteutus järjestelmässä

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

LYTH-CONS CONSISTENCY TRANSMITTER

Jakso 8 Ohjelman toteutus järjestelmässä

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

Jakso 5 Suoritin ja väylä

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

Jakso 5 Suoritin ja väylä

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

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

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

Basic Idea faster cheaper 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

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

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

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

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 laiterekisterit 12

Emulaattoriohjelman suoritus muisti emulaattori ohjelma x86 koneen laiterekisterit laiterekisterit 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 laiterekisterit 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

Transmetan emulaattoriohjelma (x86 koneen emuloidut laiterekisterit 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 muisti emulaattori ohjelma LDA R1, =543 ADD R2, R4, R5 suoritus x86-ohjelma mov %exc1, >%ebp+0xc! add %eax!, #4 välimuisti laiterekisterit konekäskyjen suorituspiirit suoritin x86 koneen laiterekisterit 16

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 laiterekisterit Emuloidut x86 laiterekisterit muisti emuloitava käyttöjärjestelmä emuloitava sovellus konekäskyjen suorituspiirit TLB muistipuskurin rekisterit välimuisti natiivi käyttöjärjestelmä omat laiterekisterit ALIASrekisterit muistipuskuri käännöspuskuri koodin generaattori emulaattori muistiväylä 18

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? IBM Motorola, AMD? TM3120, TM5400 Make products based on Crusoe? Internet window? Visual phone? low power 19

-- The End (again) -- http://developer.intel.com/design/ia64/microarch_ovw/sld021.htm 11/10/2000 Copyright Teemu Kerola 2000 20