Beter, Sneller, Mooier. Processoren 27 maart 2012

Vergelijkbare documenten
Beter, Sneller, Mooier. Processoren 12 januari 2015

De CPU in detail Hoe worden instruc4es uitgevoerd? Processoren 28 februari 2012

von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014

Computerarchitectuur. App. B. Review of Memory Hierarchy

Tentamen Computersystemen

Computerarchitectuur. Terugblik / discussie / oefenopgaven

Assembly en Assemblers. Processoren 5 januari 2015

11011 Processor MMI Intro. Binaire representatie. Computer: Logische opbouw (Von Neumann) 3-input 1-hot detector.

Memory Management. Virtual Memory. Eisen Memory Management. Verdelen geheugen over meerdere processen

Tentamen Computerorganisatie in aug. 1999, uur. N.B.: Dit tentamen bestaat uit 30 opgaven Totaal aantal bladzijden: 9

Studentnummer:... Opleiding:... a) Met welke term wordt het interface tussen software en hardware van een processor aangeduid?

Geheugenbeheer. ICT Infrastructuren 2 december 2013

Hoofdstuk 7. Computerarchitectuur

Stapelgeheugen. Processoren 6 maart 2012

Uitwerking oefententamen Computerarchitectuur December 2016

Group work to study a new subject.

Computerarchitectuur en netwerken. Memory management Assembler programmering

(1) De hoofdfunctie van ons gezelschap is het aanbieden van onderwijs. (2) Ons gezelschap is er om kunsteducatie te verbeteren

Hoofdstuk 3: Processen: Beschrijving en Besturing. Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces?

Java virtuele machine JVM

ICT Infrastructuren: Processen en Threads. 18 november 2013 David N. Jansen

FAAC DRIVER. Driver install procedure for FAAC boards. Installatieprocedure voor driver voor FAAC-kaarten.

Computerarchitectuur. H&P App. C. Pipelining

Tentamen 17 augustus 2000 Opgaven Computerarchitectuur

Geheugenbeheer. ICT Infrastructuren. hoofdstukken 7 en 8.1

Free time! Better skills. Free time with Brenda and Brian. Worksheet

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead

Hoofdstuk 19. Embedded systemen

18 Embedded systemen 1

B1 Woordkennis: Spelling

Vraag 1 (2 punten) (iii) Een lees-opdracht van virtueel adres 2148 seg 0, offset idem

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010

Computerarchitectuur en netwerken. Memory management Assembler programmering

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

Hoe werkt een computer precies?

informatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo)

2019 SUNEXCHANGE USER GUIDE LAST UPDATED

Hoe te verbinden met NDI Remote Office (NDIRO): Apple OS X How to connect to NDI Remote Office (NDIRO): Apple OS X

z x 1 x 2 x 3 x 4 s 1 s 2 s 3 rij rij rij rij

slides2.pdf April 12,

Deel 1: schriftelijk deel

Digitale en analoge technieken

Computertechniek vorige examens

Tentamen Computerorganisatie 28 augustus 1998, uur. N.B.: Dit tentamen bestaat uit 30 opgaven Totaal aantal bladzijden: 11

Today s class. Digital Logic. Informationsteknologi. Friday, October 19, 2007 Computer Architecture I - Class 8 1

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

computerarchitectuur antwoorden

256 kb Memory in NMS 8250, 8255 and 8280

Van Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam

Multi user Setup. Firebird database op een windows (server)

AndesCore TM N1213-S. AndesCore N1213-S. CPU Core. Configurability for customers

Introductie in flowcharts

Wat is een busverbinding?

Centrale begrippen hoofdstuk 3. Waarom multiprogramming? Vandaag. processen proces state: running, ready, blocked,... Vragen??

General info on using shopping carts with Ingenico epayments

Confirmation of Wage Tax

Never trust a bunny. D. J. Bernstein University of Illinois at Chicago. Tanja Lange Technische Universiteit Eindhoven

Hoofdstuk 18. Embedded systemen

ICARUS Illumina E653BK on Windows 8 (upgraded) how to install USB drivers

Hoe werkt een rekenmachine?

Handleiding registreren in de portal

Deel 8: stappenmotoren en interrupts

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

Digitale technieken Deeltoets II

!!!! Wild!Peacock!Omslagdoek!! Vertaling!door!Eerlijke!Wol.!! Het!garen!voor!dit!patroon!is!te!verkrijgen!op! Benodigdheden:!!

DDS chips. DDS = Direct Digital (frequency) Synthesis. Output = sinusvormig signaal. Maximum frequentie = ½ klokfrequentie

Computerarchitectuur. H&P Appendix A: Instruction Set Principles

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

1=2720/2725 Operating System Concepten

Quick start guide. Powerbank MI Mah. Follow Fast All rights reserved. Page 1

Sequentiële gepijplijnde machine

Calculator spelling. Assignment

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Classification of triangles

Shipment Centre EU Quick Print Client handleiding [NL]

Procedure Reset tv-toestellen:

L.Net s88sd16-n aansluitingen en programmering.

8+ 60 MIN Alleen te spelen in combinatie met het RIFUGIO basisspel. Only to be played in combination with the RIFUGIO basicgame.

FOD VOLKSGEZONDHEID, VEILIGHEID VAN DE VOEDSELKETEN EN LEEFMILIEU 25/2/2016. Biocide CLOSED CIRCUIT

Examen computerarchitectuur

ALGORITMIEK: answers exercise class 7

scc = b) CD AB

Gebruik van het LOGO in geautomatiseerde verkiezingen

! Onze pakketten zijn te klein!!! Amsterdam, 9 jan 2014.! Iljitsch van Beijnum

Computerarchitectuur en netwerken Toets 1 4 okt

Machine-Level Programming III: Procedures

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 7 februari 2011

Computerarchitectuur. H&P Appendix A: Instruction Set Principles

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Examen computerarchitectuur

' Het tentamen is gesloten boek, dus het is niet toegestaan om het tekstboek, slides of eigen gemaakte aantekeningen te gebruiken.

It s all about the money Group work

Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/

Processoren. Marc Seutter & David N. Jansen 10 November 2014

Cambridge International Examinations Cambridge International General Certificate of Secondary Education. Paper 4 Writing May/June hour

AE1103 Statics. 25 January h h. Answer sheets. Last name and initials:

FAT32 disk structuur 2007 stam.blogs.com

UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education

In the classroom. Who is it? Worksheet

S e v e n P h o t o s f o r O A S E. K r i j n d e K o n i n g

Transcriptie:

Beter, Sneller, Mooier Processoren 27 maart 2012

Beter! Sneller! Krach:gere CPU: microcode Snellere CPU: pipeline, out- of- order execu:on Sneller RAM: cache

meer mogelijkheden... Welke extra s kan processor- bouwer bieden? kleinere programma s instruc:es die meer doen snellere programma s hogere klokfrequen:e vandaag: een paar technieken daarvoor niet in de prac:cum- processor gebruikt

instruc:es die meer doen... bv. PUSH en POP bij de prac:cum- processor schrijs naar geheugen/leest uit geheugen verandert stack pointer microcode: instruc:e uitvoeren als reeks van micro- stappen in een micro(machine)code complexe instruc:es worden mogelijk zonder eenvoudige langzamer te maken

Een voorbeeld- microarchitectuur MBR = instruc:eregister bepaalt MPC = microprogram counter bepaalt MIR = microinstruc:eregister Bits van het MIR sturen onderdelen van processor aan. B = welk register lezen? M = RAM- opera:e kiezen C = welk(e) register(s) schrijven? ALU = welke ALU- opera:e? J = voorwaarden voor sprong Addr = adres van volgende microinstruc:e Tanenbaum, Structured Computer Organiza:on, FiSh Edi:on, 2006 Pearson Educa:on, Inc. All rights reserved. 0-13- 148521-0

voorbeeldinstruc:e: BIPUSH = constante op stack zeeen instruc:eformaat: 2 bytes microprogramma: hiervoor werd MBR al op BYTE gezet stackgeheugen: lage adressen zijn in gebruik Tanenbaum, Structured Computer Organiza:on, FiSh Edi:on, 2006 Pearson Educa:on, Inc. All rights reserved. 0-13- 148521-0

microcode Krach:gere CPU

Pipeline al genoemd: 3 stappen fetch decode execute prac:cum- processor: 2 stappen fetch en PC verhogen decode en execute moderne processoren: tot ±20 stappen voordeel: eenvoudige stappen hoge kloksnelheid

Three Step Architecture The data path used in the Mic- 3: Every calcula:on takes three cycles. Tanenbaum, Structured Computer Organiza:on, FiSh Edi:on, (c) 2006 Pearson Educa:on, Inc. All rights reserved. 0-13- 148521-0

De voorbeeldarchitectuur met (lange) pipeline 1. fetch: instruc:e lezen 2. decode: bepaal lengte + kies microcode 3. queue: plaats microcode- stappen in wachtrij 4. lees registers 5. voer berekening uit 6. schrijf registers 7. lees/schrijf RAM Tanenbaum, Structured Computer Organiza:on, FiSh Edi:on, 2006 Pearson Educa:on, Inc. All rights reserved. 0-13- 148521-0

Pipeline Graphical illustra:on of how a pipeline works. Tanenbaum, Structured Computer Organiza:on, FiSh Edi:on, 2006 Pearson Educa:on, Inc. All rights reserved. 0-13- 148521-0

voorbeeldinstruc:e: SWAP = twee elementen op stack verwisselen microcode in 1e versie: Main1 nieuwe microcode: elke stap in 3 kleine stapjes opdelen Tanenbaum, Structured Computer Organiza:on, FiSh Edi:on, 2006 Pearson Educa:on, Inc. All rights reserved. 0-13- 148521-0

SWAP met pipeline Tanenbaum, Structured Computer Organiza:on, FiSh Edi:on, 2006 Pearson Educa:on, Inc. All rights reserved. 0-13- 148521-0

Pipeline voorbeeld: SPARC Tanenbaum, Structured Computer Organiza:on, FiSh Edi:on, 2006 Pearson Educa:on, Inc. All rights reserved. 0-13- 148521-0

GOTO statement considered harmful Bij sprong- instruc:es zijn er twee mogelijke voortzekngen van het programma welke van de twee moet de processor nemen pas bekend als de vorige instruc:e klaar is pipeline raakt leeg inefficiënt! trucje bij SPARC: sprongen werken met één instruc:e vertraging

Oplossing: branch predic:on branch predic:on spreekt een vermoeden uit over de waarschijnlijke voortzekng sta:sch: b.v. spring achteruit (loop), maar niet vooruit (if) dynamisch: spring zoals de vorige twee keer (gebruikt branch predic:on cache)

dynamische branch predic:on voorbeeld van een toestandsmachine

out- of- order execu:on sommige programma s kiezen onhandige volgorde van instruc:es instruc:es met data- arankelijkheden direct achter elkaar processor verbetert de volgorde waar mogelijk instruc:es zonder data- arankelijkheden alvast starten

register renaming sommige data- arankelijkheden zijn niet echt WAR: write aser read WAW: write aser write gebruiken hetzelfde register, maar tweede instruc:e gebruikt geen resultaat van eerste oplossing: schaduwregisters

out- of- order execu:on: voorbeeld 1 R3 := R0 R1 2 R4 := R0 + R2 3 R5 := R0 + R1 4 R6 := R1 + R4 5 R7 := R1 R2 6 R1 := R0 R2 7 R3 := R3 R1 8 R1 := R4 + R4

out- of- order execu:on: voorbeeld stalled 1" 1" 1" 1" 1" 1" 1"

precise interrupt tradi:onele interrupt: precies tussen twee instruc:es Fetch Stage Execute Stage Interrupt Stage START Fetch next instruction Execute instruction Interrupts Disabled Interrupts Enabled Check for interrupt; initiate interrupt handler HALT Figure 1.7 Instruction Cycle with Interrupts

precise interrupt tradi:onele interrupt: precies tussen twee instruc:es pipeline: instruc:e- execu:es overlappen out- of- order execu:on: instruc:es te laat klaar oplossing: extra control logic om precise interrupt toch te realiseren algemeen: gedrag van CPU met pipeline mag niet afwijken van CPU zonder pipeline

Snellere CPU pipeline branch predic:on out- of- order execu:on register renaming probleem: precise interrupt

Cache Memory Invisible to the OS Interacts with other memory management hardware Processor must access memory at least once per instruction cycle Processor speed faster than memory access speed Exploit the principle of locality with a small fast memory Deze slides zijn gestolen van William Stallings website bij het boek.

Principle of Locality More details later but in short Data which is required soon is often close to the current data If data is referenced, then it s neighbour might be needed soon.

Cache and Main Memory

Cache Principles Contains copy of a portion of main memory Processor first checks cache If not found, block of memory read into cache Because of locality of reference, likely future memory references are in that block

Cache/Main-Memory Structure

direct- mapped cache (a) cache- structuur Elk data- veld bevat 8 words van 4 bytes, dus 32 bytes. In elke cache- regel kan één blok van 32 bytes opgeslagen worden. De tag gees aan welke. (b) bitpatroon van een adres (32 bits) In een adres gees line aan in welke regel van de cache de CPU moet zoeken.

cache Sneller RAM