LIACS >Kristian Rietveld >Courses >Computerarchitectuur, Najaar 2017
headerimg

Banner image shows Intel Core i7-5960X die. Source.

Computerarchitectuur, Najaar 2017

Docent: dr. K. F. D. Rietveld
Practicumassistenten: Koen Putman, Jos Zandvliet

Begin op tijd aan opdracht 2!

Toegangseisen

Aanbevolen voorkennis: Programmeermethoden, Programmeertechnieken, Digitale Technieken.

Beschrijving

Basiskennis van computerarchitecturen is een vereiste om complexe softwaresystemen te kunnen ontwikkelen en optimaliseren, en voor het kunnen uitvoeren van onderzoek in het vakgebied computersystemen. In dit college bestuderen we de opbouw van moderne computerarchitecturen. We beginnen met een grondige introductie van de basisconcepten van computerarchitecturen: instruction set architectures, pipelining en memory hierarchy. We vervolgen onze studie door te kijken hoe instructies en processen almaar sneller verwerkt kunnen worden door het toepassen van oude en nieuwe hard- en softwarematige technieken. Te denken valt aan superscalar execution, out-of-order execution, branch prediction, vector processing en multi-core architecturen. Zowel de voordelen als beperkingen van deze technieken zullen aan bod komen. Tevens zullen we aandacht besteden aan GPGPU architecturen, welke in de afgelopen jaren een zeer grote opgang hebben gemaakt.

In het bijbehorende practicum is er de mogelijkheid de opgedane kennis in de praktijk te brengen. Tijdens het practicum zal er ervaring worden opgedaan met het werken met "assembly language", het decoderen van machine instructies, caching optimalisaties en het gebruik van vectorinstructies. Als de tijd het toelaat zal er aandacht worden besteed aan het programmeren van GPGPU's.

Leerdoelen

Het kunnen onderscheiden van verschillende klassen van computers. Het begrijpen hoe computer performance wordt gemeten en gerapporteerd. Inzicht hebben in de kwantitatieve principes van het ontwerp van computersystemen. Kunnen werken met verschillende Instruction Set Architectures en correspondenties hiertussen aanwijzen. Het kunnen omschrijven van een moderne "memory hierarchy" en begrijpen hoe hiervan gebruik kan worden gemaakt door middel van cache optimalisaties in software. Het kunnen uitleggen van verschillende technieken die worden gebruikt voor het verkrijgen van instruction-level parallelism en hun beperkingen. Inzicht verkrijgen in vector processing en de toepassing van deze techniek in SIMD instructies en GPGPU's. Voordelen en problemen met multi-core architecturen kunnen benoemen.

Examinering

De toetsing bestaat uit twee delen: een theoretisch en een praktisch deel. Het cijfer voor beide delen moet voldoende zijn om te kunnen slagen voor het vak.

Het theoretische deel wordt getoetst met een schriftelijk tentamen aan het eind van het semester en telt voor twee derde (2/3) mee. De tentamenstof zal bekend worden gemaakt op deze website.

Het cijfer voor het praktische deel wordt bepaald aan de hand van een drietal onderdelen. Er wordt gebruik gemaakt van verschillende toetsvormen, zowel een individuele schriftelijke toets als een programmeeropdracht en verslaglegging. Het practicumcijfer is een gewogen gemiddelde over de cijfers die zijn behaald over de drie onderdelen (opdracht 1: 0.3, opdracht 2: 0.4, opdracht 3: 0.3), en telt als een derde (1/3) mee voor het eindcijfer. De opdrachten met bijbehorende toetsvorm en gewicht voor het practicumcijfer worden aan het begin van het semester bekend gemaakt op de website van het vak. Om te kunnen slagen voor het praktische deel moeten alle opdrachten zijn ingeleverd en moet het uiteindelijke practicumcijfer voldoende zijn.

Indien het tentamencijfer onvoldoende is, is dit meteen het eindcijfer. Als het practicum incompleet of onvoldoende is, wordt er geen eindcijfer opgemaakt.

Literatuur

Boek

Boek: Computer Architecture: A Quantitative Approach, Fifth Edition. John Hennessy, David Patterson. 2011. Morgan Kaufmann. ISBN-13: 978-0-12-383872-8

Collegesheets

NB: collegesheets zijn geen vervanging van het tekstboek, maar dienen als leidraad door de tentamenstof. De tentamenstof is opgegeven op basis van het tekstboek.

Tentamenstof en oefententamen

Een overzicht van de tentamenstof, zoals ook tijdens de hoorcolleges is behandeld (zie slides hierboven), is hier te downloaden.

Oefenmateriaal

Contact

De docent is bereikbaar middels e-mail naar krietvel (at) liacs.nl.

Voorgaande jaren