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

C++11 seminaari, kevät Johannes Koskinen

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

Capacity Utilization

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

7.4 Variability management

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

anna minun kertoa let me tell you

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

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.

Käyttöjärjestelmän rakenne

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

Tietokonearkkitehtuuri 2 TKT-3201 (5 op)

Tietokoneen toiminta, K Tavoitteet (4)

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

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

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

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

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

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

LYTH-CONS CONSISTENCY TRANSMITTER

Tietorakenteet ja algoritmit

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

HITSAUKSEN TUOTTAVUUSRATKAISUT

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

POWER analytiikka-alustana

Tarua vai totta: sähkön vähittäismarkkina ei toimi? Satu Viljainen Professori, sähkömarkkinat

Internal Memory, Cache

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

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

Kertausluento luennoista 1-3 1

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

Internal Memory, Cache

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

7. Product-line architectures

Windows Phone. Module Descriptions. Opiframe Oy puh Espoo

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

Hankkeen toiminnot työsuunnitelman laatiminen

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

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

Co-Design Yhteissuunnittelu

Choose Finland-Helsinki Valitse Finland-Helsinki

Tutkimusdata ja julkaiseminen Suomen Akatemian ja EU:n H2020 projekteissa

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

Aihepiiri Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

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

Aihepiiri Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

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

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

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Salasanan vaihto uuteen / How to change password

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

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

EUROOPAN PARLAMENTTI

52480S TIETOKEARKKITEHTUURIT Tentti

AKKREDITOITU TESTAUSLABORATORIO ACCREDITED TESTING LABORATORY VERKOTAN OY VERKOTAN LTD.

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

Plant protection of cereals current situation

Efficiency change over time

Information on preparing Presentation

Alternative DEA Models

Tietokoneen toiminta (Computer Organization I)

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

yhdistää ICT -palvelut toimivaksi kokonaisuudeksi.

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

RINNAKKAINEN OHJELMOINTI A,

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

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing Jan Nyman,

B 95 RS Bp Pack. 1 Integroitu lakaisuyksikkö. B 95 RS Bp Pack, ,

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

Järjestelmän ulkoinen muisti I/O

Muistihierarkia Kiintolevyt I/O:n toteutus

Intel Threading Building Blocks

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

AYYE 9/ HOUSING POLICY

1. Keskusyksikön rakenne

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

Security server v6 installation requirements

Transkriptio:

Transmeta Architecture Major Ideas General Architecture Emulated Precise Exceptions What to do with It 1

Transmeta Corporation Background Paul Allen (Microsoft), George Soros (Soros Funds) David R. Ditzel (Sun) Chief Tech Officer Edmund J. Kelly, Malcolm John Wing, Robert F. Cmelik Linus B. Torvalds, February 1997... Patent 5832205 applied August 20, 1996 granted November 3, 1998 many (a few) other patents Crusoe prosessor published January 19, 2000 2

faster cheaper Basic Idea(s) (5) Create a new processor which, when coupled with morph host emulator, can run Intel/Windows code faster than state-of-the-art Intel processor, or with same speed but with less electric power 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 smaller, faster, uses less power? 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 (not in HW) processor does not need to solve these Optimize for speed only when needed do not optimize for speed when exact state change is required (this is the tricky part!) Alias detection to assist keeping globals is registers 5

Major General Ideas (contd) NOT: faster and with less power Class action suit (27.7.2001)... stating that... a revolutionary process that delivered longer battery life in Mobile Internet Computers while delivering high performance... http://www.milberg.com/transmeta/ 6

Major Emulation Ideas Target processor (I.e., Intel processor) state kept in dedicated HW registers working state ( speculated state?), committed state Memory store buffer keeps uncommitted ( speculated ) 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) 7

General Architecture VLIW implementation VLIW = Very Long Instruction Word 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? 8

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 9

General Architecture (contd) TLB new features to solve new problems before 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 ) 10

General Architecture (contd) Target memory store buffer implemented with special register(s) 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 of the processor, not internally as is usual with speculative instructions 11

General Architecture (contd) RISC instruction set explicitly parallel code (VLIW) commit instruction supports emulation commits emulated processor and memory state use when coherent target processor (Intel) state! rollback instruction (?) supports emulation some or all of it can be in emulator code recover latest committed emulated target register state delete uncommitted writes from store buffer retranslate emulation code for precise state changes commit now after every emulated instruction? prot instruction for alias detection 12

Tavallisen ohjelman suoritus muisti LDA R1, =543 ADD R2, R4, R5 suoritin välimuisti konekäskyjen suorituspiirit laiterekisterit 13

Tavallisen emulaattoriohjelman muisti emulaattori ohjelma x86 koneen laiterekisterit laiterekisterit tietorakenteet suoritus x86-ohjelma (target) mov %exc1, >%ebp+0xc! add %eax!, #4 LDA R1, =543 ADD R2, R4, R5 koodi suoritin välimuisti konekäskyjen suorituspiirit 14

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 15

Transmetan emulaattoriohjelma (x86 koneen emuloidut laiterekisterit laitteistossa) Dynaamisesti generoidut (optimoitut?) käskysarjat emuloivat x86-koneen konekäskyjä (sekalaisessa?) järjestyksessä Load Store Add Sub Add ftsub ftmul brequ Jump 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) 16

Transmetan emulaattoriohjelman suoritus muisti emulaattori ohjelma Load Add ftsub Sub ftmul breq Store Add Jump x86-ohjelma mov %exc1, >%ebp+0xc! add %eax!, #4 välimuisti laiterekisterit konekäskyjen suorituspiirit suoritin x86 koneen laiterekisterit 17

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 18

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ä 19

What Will Transmeta do with Crusoe? Optimize for speed or size? Small size cheaper, less power Someone else will manufacture chips and compete with Intel? IBM TM3200, TM5400,, TM5600 low power TM5800 high speed Someone else will use the chips to make products to compete with Intel-based products NEC, Fujitsu, Sony, Midori Linux Open Source project for delivering system software on small devices Gateway, Hitachi, FIC 20

-- The End (again) -- Aqua 3400 Portable Wireless Internet Access Device, Transmeta 400MHz, 8.4" TFT touch-screen NEC Versa DayLite combines the power-saving 600 Mhz Crusoe TM5600 processor with dual battery systems that NEC claims will extend battery life to up to 7.5 hours on a single charge 21