Cache Prestatie & Energieverbruik. Overzicht Voorbeelden energieverbruik Cache.

Slides:



Advertisements
Verwante presentaties
automatiseringselektronica
Advertisements

PROS2 Les 13 Programmeren en Software Engineering 2.
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur EIT OGO-1.2 addendum (1): Het ontwerpen van processoren.
Juriconnect Informatiemiddag
Embedded systemen Embedded software.
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 3(2): Instructietypen.
It’s all in the game. Wat bieden wij aan Wat bieden wij aan  Planning en opleverdatum gegarandeerd  We houden ons aan uw budget en geven de beste mogelijkheden.
Componenten voor een werkende computer
How to build a robot Sander van Dijk Kunstmatige Intelligentie
Processor & Toetsenbord
Par. 3.1 Computers zijn overal
1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding.
Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Geheugen-hiërarchie.
Jerry van den Heuvel Pim van der Lee
Week 1: overzicht computersysteem-organisatie
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 4(2): Digitale.
Arduino project.
bus DE BUS Controller: de electronica die het apparaat bestuurd Transport van bits over de bus.
Auteursomgeving voor Digitale Componenten
Week 2: Microarchitectuur niveau ALU en datapad
Computerarchitectuur
Steven Van Acker. Transmeta Crusoe - Steven Van Acker - Mei Overzicht  Inleiding  Het Idee  De Technologie  CodeMorphing  LongRun  NorthBridge.
De computer: Hardware Het beeldscherm Het toetsenbord De muis
Geschiedenis en evolutie
De processor.
Hoofdstuk 5 Het belang van geheugens Prof. dr. ir. Dirk Stroobandt Academiejaar
5JJ20: Computerarchitectuur 2M200: Inleiding Computersystemen
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 1(2): overzicht.
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 7(1): Flow of.
Neurale Netwerken Kunstmatige Intelligentie Rijksuniversiteit Groningen April 2005.
1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam.
Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers De Intel 80x86 reeks voor PC.
1 Van Harvard naar MIPS. 2 3 Van Harvard naar MIPS Microprocessor without Interlocked Pipeline Stages Verschillen met de Harvard machine: - 32 Registers.
1 ICT Infrastructuren 19 november 2007 David N. Jansen.
Power PC Assembler. Assembler toolkit bevat Assembler zelf Linkerlibrarian.
Event Handling in Embedded Systems.  Wat is een event?  Welke events zijn het meest “time-critical”?  Welke toestand wordt door de CPU opgeslagen?
Reducing memory penalty by a programmable prefetch engine for on-chip caches Presentatie voor het vak computerarchitectuur door Armin van der Togt.
Operating Systems Informatica.
Presentatie door: Martijn Schmid, Kathinka Veldkamp en Nynke Zwart
Processor & Toetsenbord
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 3: Instructietypen (1)
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Inleiding InstructieSetArchitectuur (ISA) datatypen.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 3: Instructietypen (2)
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Digitale logica niveau: “systeem-architectuur” cpu-chips.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 2: IDaSS.
Door: Tim de Laet, Joep Beset en Paul Rouleau
Processor Hart van de computer.
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 9(1): Virtual.
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 5(2): Microarchitectuur.
Een overzicht van de hedendaagse mogelijkheden voor het bouwen van websites.
Les 7 Multiple Document Interface Programmeren met Visual Basic Karl Moens.
Context switching Heidi Snoek. Het proces Twee applicaties: A en B CPU voert de instructies van programma A uit. Op een bepaald moment wordt er data weggeschreven.
Teams als basis van de organisatie
Onderwerp: PIC assembler programmeren
Context switching Naomi Baggelaar. Het proces Twee applicaties: A en B CPU voert de instructies van programma A uit. Op een bepaald moment wordt er data.
2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology Wouter van Ooijen Mail: Sheets.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail:
Hardware van een pc Van Hoof Minke. Geschiedenis.
De Transmeta Crusoe processor Een VLIW CPU met x86 compatibiliteit.
Code compressie in Embedded Systems Onno Kievit ET4074 Kwantitatieve aspecten van computer architectuur.
Les 10: Geheugenhiërarchie
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
1 K. Werschkull Programmeren in Delphi 7 De ontwikkeling van de computer Programmeertalen Compilers Hoofdstuk 1 Hoofdstuk 1: De ontwikkeling van de computer.
Webwinkel in het D-cluster van de opleiding Logistiek Ad van Kooten – docent ERP toepassingen  Pract. 1.
Programmeren.
Digitale Methoden Onderdeel van vak Computer Systemen
3 Hardware 3.3 Moederbord, slots en bussen.
3 Hardware 3.1 De processor en intern geheugen
Hoofdstuk 3 - Computersystemen
Transcript van de presentatie:

Cache Prestatie & Energieverbruik

Overzicht

Voorbeelden energieverbruik Cache

Overzicht Voorbeelden energieverbruik Cache Redenen hoog energieverbruik

Overzicht Voorbeelden energieverbruik Cache Redenen hoog energieverbruik Verbeteringen prestatie/energieverbruik

Energieverbruik Cache ProcessorKloksnelheidTotaal vermogen Aandeel cache Intel Pentium Pro 200Mhz 35W14% (I-cache)

Energieverbruik Cache ProcessorKloksnelheidTotaal vermogen Aandeel cache Intel Pentium Pro 200Mhz 35W14% (I-cache) DEC Alpha 21164PC 433Mhz 32,5W25% (L1,L2)

Energieverbruik Cache ProcessorKloksnelheidTotaal vermogen Aandeel cache Intel Pentium Pro 200Mhz 35W14% (I-cache) DEC Alpha 21164PC 433Mhz 32,5W25% (L1,L2) DEC StrongARM SA %

Redenen hoge energieverbruik: Executie snelheid processor afhankelijk van snelheid cache

Redenen hoge energieverbruik: Executie snelheid processor afhankelijk van snelheid cache Beslaat een groot deel van het chipoppervlak

Probleemstelling Hoe kan het energieverbruik van cache verbeterd worden zonder dat de prestaties achteruit gaan?

Verbeteren prestaties en energieverbruik cache

Doelmatiger cache:

Verbeteren prestaties en energieverbruik cache Doelmatiger cache: Effectiviteit verhogen Hardware

Verbeteren prestaties en energieverbruik cache Doelmatiger cache: Effectiviteit verhogen Hardware Efficiency verhogen Hardware + compiler

Effectiviteit verhogen Gebruik maken van twee data eigenschappen:

Effectiviteit verhogen Gebruik maken van twee data eigenschappen: 1.Tijd localiteit 2.Ruimtelijke localiteit

Effectiviteit verhogen Gebruik maken van twee data eigenschappen: 1.Tijd localiteit 2.Ruimtelijke localiteit Selective Temperal and Aggressive Spatial cache (STAS)

Selective Temperal and Aggressive Spatial (STAS)

Data addres for CPU Data from/to CPU

Selective Temperal and Aggressive Spatial (STAS) TagData Direct mapped cache Data addres for CPU small block Data from/to CPU

Selective Temperal and Aggressive Spatial (STAS) TagData Direct mapped cache Data addres for CPU small block Data from/to CPU Tag CAM Spatial buffer Hit Bit Dirty Bit Large block small block

Selective Temperal and Aggressive Spatial (STAS) TagData Direct mapped cache Data addres for CPU small block Data from/to CPU Tag CAM Spatial buffer Hit Bit Dirty Bit Large block small block Decoder

Selective Temperal and Aggressive Spatial (STAS) TagData Direct mapped cache Data addres for CPU small block Direct-Mapped cache Hit Data from/to CPU Tag CAM Spatial buffer hit Hit Bit Dirty Bit Large block small block Decoder Data word

Selective Temperal and Aggressive Spatial (STAS) TagData Data addres for CPU small block Direct-Mapped cache Hit Data from/to CPU Tag CAM Spatial buffer hit Hit Bit Dirty Bit Large block small block Decoder Data word Off chip memory Direct mapped cache

Selective Temperal and Aggressive Spatial (STAS) TagData Data addres for CPU small block Direct-Mapped cache Hit Data from/to CPU Tag CAM Spatial buffer hit Hit Bit Dirty Bit Large block small block Decoder Data word Off chip memory Direct mapped cache

Resultaten STAS Dezelfde prestaties als conventionele direct mapped cache met slechts 25% van het oorspronkelijke oppervlak

Resultaten STAS Dezelfde prestaties als conventionele direct mapped cache met slechts 25% van het oorspronkelijke oppervlak effectiviteit cache veel hoger

Effeciency verhogen Zowel hardware als compiler aanpassen, zodat tijdens loops de i-cache geen onnodig werk doet

Effeciency verhogen Zowel hardware als compiler aanpassen, zodat tijdens loops de i-cache geen onnodig werk doet Extra L-cache, zodat tijdens een loop de i-cache uitgeschakeld wordt.

Effeciency verhogen Zowel hardware als compiler aanpassen, zodat tijdens loops de i-cache geen onnodig werk doet Extra L-cache, zodat tijdens een loop de i-cache uitgeschakeld wordt. Compiler die de plaatsing van de data in het L- cache regelt.

Compiler

Een instructie wordt geplaatst in de L-cache als het tot een Basic block behoort:

Compiler Een instructie wordt geplaatst in de L-cache als het tot een Basic block behoort: Do 100 i=1, n B1; #basic block if (error) then error handling; B2; # basic block 100 continue

Compiler(2) Twee optimalisatie fasen

Compiler(2) Twee optimalisatie fasen Function inlining Block placement

L-cache Data path I-cache

L-cache Data path I-cache L-cache Tag L-cache Data

L-cache Data path I-cache L-cache Tag L-cache Data 32 – bit Logic comp. 32 – bit MUX I-cache bus Blocked part L-cache hit PC

Resultaten L-cache + compiler Energiebesparing van wel 80% mogelijk, dit is sterk afhankelijk van het soort programma en de grootte van het L-cache.

Conclusie Doelmatiger cache reduceert het energie verbruik sterk zonder dat de prestaties achteruit gaan.

Literatuur A selective temporal and aggressive spatial cache system based on time interval Jung-Hoon Lee, Jang-Soo Lee, and Shin-Dug Kim Dep. Of Computer Science, Yonsei University Seoul, Korea, 2000 Architectural and Compiler Techniques for Energy Reduction in High-Performance Mircoprocessors Nikolaos Bellas, Ibrahim N. Hajj, Constantine D. Polychronopoulus, and George Stamoulis, 2000