Algorithms & Architectures II



Relaterede dokumenter
Principper for Samtidighed og Styresystemer

Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner

Operativsystemer - dopsys

Operativsystemer of C Efterår 2013 Virtuel hukommelse (kap. 9)

Typisk PC arkitektur. Synkronisering ved aktiv venten

Computer Literacy. En stationær bordmodel. En Bærbar Notebook, Labtop, Slæbbar, Blærebar mm.

Grundlæggende Algoritmer og Datastrukturer. Analyseværktøjer [CLRS, 1-3.1]

COMPUTER ANATOMI klasse 23. FEBRUAR 2015 HTX - ROSKILDE

Med et filarkiv kan du give dine besøgende på din hjemmeside adgang til at hente dokumenter i Word, PDF, PowerPoint og Excel.

DATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003

Design Systemkald. User-mode Linux, The Linux kernel/

1 Operativsystemer oversigt

Algoritmer og Datastrukturer 1

CPUer og maskinkode DM534. Rolf Fagerberg

CPU i7 2.2 GHz 4 kerner i5-4210u 1,7 GHz 2 kerner, 4 logiske kerner GPU integreret Nvidia GeForce 820M Ram 8GB 6 GB Harddisk HDD HDD

Hvad skal du vide for at bygge din egen computer?

Specialeforsvar: Fundamentet for et fleksibelt container bibliotek

Lærebog. Datalogi 1F Forår Hvad sker hvornår? Kursusbøger. Planen for idag. Hvad er et operativsystem

3. Computerens opbygning.

Opslagsbog om computer. Af Erik Veidorf og Mike T. Krogh.

SIGIL Sådan opretter du en e- bog Step by Step

Velkommen på kursus hos Microworld

Til dig som vil have et indblik i computeren

Speciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP)

Eksamensopgaver datalogi, dlc 2011 side 1/5. 1. Lodtrækningssystem

Processer og tråde. dopsys 1

Computerens Anatomi. Af Martin Arnetoft

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125

Planen for idag. Kontrol af ydre enheder. Systemarkitektur. Synkronisering ved aktiv venten. Multiprogrammering[1]: Ydre enheder og multiprogrammer

Introduktion til DM507

Styresystemer og tjenester

Database "opbygning"

Maskinarkitektur. Lars Kristensen Christian Storm dmasark 1

Til dig som vil have et indblik i computeren

DM507 Algoritmer og datastrukturer

Diagnostic og Toolbox Instruktion. Lindgaard Pedersen A/S. Rev. 1.0 Side 1 / 14

Installér din Officepakke 2013

DM507 Algoritmer og datastrukturer

Lidt orientering om, hvad en computer består af

Velkommen til IT for let øvede

Computerarkitektur. - en introduktion til computerarkitektur med LINDA

Indhold. Maskinstruktur Kapitel 1. Assemblersprog Indledning Hop-instruktioner Input og output...

Principper for Samtidighed og Styresystemer

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Hardware og software på forskermaskinerne

Bevægelse i undervisningen

Systemkald DM Obligatoriske opgave. Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/ Afleveret af: Jacob Christiansen,

Udskiftning af DOL 530/630 10" CPU-modul

Sådan bruger du BK- 9 Performance List. Formatering af USB- Memory. "Performance List" er en liste over dine registreringer.

Vistemmernu. Et webbaseret værktøj udviklet af Programdatateket i Skive. programdatateket@viauc.dk Web:

Computerens anatomi. Computeren består af mange forskellige dele, i denne opgave vil vi forklare lidt om de vigtigste af dem.

AVR MP Ingeniørhøjskolen i Århus Michael Kaalund

Transkript:

Algorithms & Architectures II

Algorithms & Architectures II

Jens Myrup Pedersen Hans Peter Schwefel Kursusholdere

Dagens lektion Overordnet mål: At etablere en forståelse for hvordan hardware og hardwarearkitekturer påvirker kørslen (herunder effektivitet og performance) af algoritmer. Hardware arkitekturer CPU-opbygning, med fokus på hukommelse Performance, med fokus på hukommelse Virtuel hukommelse Ca. 2 x 40 minutters forelæsning derefter opgaveregning.

Organisering af CPU Hardware-arkitekturer

Von Neumann maskine Difference between Neumann and Harward?

Øger throughput Forudsætter Branch Prediction Failure: Stall. Spekulativ eksekvering Pipelining

Von Neumann computer Single-stream af instruktioner, med tæller Instruktioner og data gemt i samme hukommelse Adresserbar hukommelse Instruktioner kodet som numre Harward computer Separat hukommelse for data og instruktioner Parallel adgang til de to hukommelser Ingen skrivning til den hukommelse hvor instruktionerne ligger

(Super)skalerbare arkitekturer

Multiprocessor

Adressering, primær hukommelse

Problemer med parallelitet Data konsistens Opdeling af opgaver Synkronisering Skedulering Deling af ressourcer På hvilke niveauer opstår disse problemer?

Konsistens Flere kopier af data Read access mindst problematisk Skrivning modificeret af en enkelt kopi? Skrivning til flere kopier?

Opdeling af opgaver Kan opgaver løses uafhængigt - Eller får de resultater fra hinanden? (Ændring af delte ressourcer, sekventielle beregninger). Kan det betale sig? Opgave (5-10 min): Kom med eksempler på opgaver der kan paralleliseres eller ikke paralleliseres. Kan det betale sig?

Processer kan køres når data er klar Notification Vente på data (ventetid)? Optimere rækkefølger Synkronisering

Skedulering og deling af ressourcer Fair deling af ressourcer Optimering Prioritering Deadlock Undgå, løse, detektere

Caching Main memory er langsommere end CPU Hurtig memory er dyrt Hurtig hukommelse er mindre Tilgang til memory Temporal locality Address locality Forsøg at hente data der skal bruges ind i hurtig hukommelse

Caching flere niveauer Level 1 ofte delt mellem data og instruktioner Level 2 ofte delt Cache kan være Integreret i CPU På CPU modulet På Motherboard

Caching koncept Address in cache: Hit Address not in cache: Miss Moving to cache = cache line fill Write strategies: Write back = cache only Write through = cache and main memory Write allocation = Writing to data not in the cache.

Caching flere niveauer

Caching flere niveauer

Caching direct-mapped (simple)

Caching directly mapped Simple Flyttes i hele linier (foregående eksempel 32 bytes) Hver linie markeret som valid eller invalid Én adresse kan kun gemmes ét sted Adresser nedbrudt til tag, line, word, byte

Caching 4way set-associative

Branch-prediction (dynamic/static)

Out-of-order eksekvering? (tavle) Hvilken rækkefølge skal vi køre koden i? Eksempel: in-order issue and in-order completion Spekulativ eksekvering: Dependencies: RAW, WAR, WAW.

CPU andre forhold Øget klok-frekvens Ændret arkitektur Pipelines, caches, instruktioner/sæt Insruktions-størrelser: 16,62,64 bit Flere kerner Kompatibilitet (CPU pris vs. Rekompilering af SW).

Virtuel hukommelse (OS level)

Virtuel hukommelse (OS level)

Virtuel hukommelse Konceptuelt minder det meget om caching, men det er på et andet niveau. Større adresserum end der er fysisk hukommelse Virtuelle adresser bliver afbildet over i den fysiske, og MMU (Memory Management Unit) sørger for at den ønskede data er tilgængelig.

Paging

Paging - implementation

Paging multiprocessorsystemer

Exercises Gennemgå fig 4.44, s. 308 Overvej hvilke HW constraints der er i jeres projekter Hvilke beregninger skal I foretage i jeres projekter og hvordan hænger de sammen med HW? Tanenbaum: 2.1-2.4, 4.19, 6.2-6.5