Prospectus

nl en

Computer Architecture

Course
2021-2022

Toegangseisen

Niet van toepassing.

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 opmars hebben gemaakt.

In het bijbehorende practicum is er de mogelijkheid de opgedane kennis in de praktijk te brengen. Tijdens het practicum zal er onder andere ervaring worden opgedaan met het werken met "assembly language", het decoderen van machine instructies, caching optimalisaties en het programmeren van GPGPU's.

Aanbevolen voorkennis: Programmeertechnieken, Digitale Technieken.

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.

Rooster

Het meest recente rooster is te vinden op de Studenten-website:

Onderwijsvorm

Hoorcollege, werkcollege.

Opmerking: afhankelijk van de geldende Corona-maatregelen zullen de verschillende onderdelen online of offline plaatsvinden. Alle communicatie hierover vindt plaats via de BrightSpace module van het vak.

Toetsing en weging

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 60% mee. De tentamenstof zal bekend worden gemaakt in de BrightSpace module van het vak. Indien het resultaat van het tentamen onvoldoende is, dan wordt dit cijfer het vastgestelde eindcijfer.

Het cijfer voor het praktische deel wordt bepaald aan de hand van een drietal of viertal onderdelen. Er wordt gebruik gemaakt van verschillende toetsvormen, zowel een individuele digitale toets als een programmeeropdracht en verslaglegging. Het practicumcijfer is een gewogen gemiddelde over de cijfers die zijn behaald over de drie of vier onderdelen, en telt voor 40% mee voor het eindcijfer. De opdrachten met bijbehorende toetsvorm en gewicht voor het practicumcijfer worden aan het begin van het semester bekend gemaakt in de BrightSpace module 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 tentamen is gehaald, maar het practicum niet compleet is, wordt er geen eindcijfer berekend en ingediend.

Opmerking: afhankelijk van de ontwikkelingen in de Corona-crisis is het mogelijk dat de wijze van toesting en totstandkoming van het eindcijfer worden aangepast.

De docent zal de studenten informeren hoe de inzage en de nabespreking van de tentamen zal plaatsvinden.

Literatuurlijst

Boek: Computer Architecture: A Quantitative Approach, Sixth Edition. John Hennessy, David Patterson. 2017. Morgan Kaufmann. ISBN-13: 978-0128119051

Inschrijven

Aanmelding voor vakken verloopt via uSis. Hiervoor is de uSis-code van het vak nodig, die te vinden zijn in de Studiegids. Meer info over het inschrijven voor vakken of tentamens is hier te vinden.

MyTimetable

In MyTimetable kun je alle vak- en opleidingsroosters vinden, waarmee jij je persoonlijke rooster kunt samenstellen. Onderwijsactiviteiten waarvoor je in uSis staat ingeschreven, worden automatisch in je rooster getoond. Daarnaast kun je My Timetable gemakkelijk koppelen aan een agenda-app op je telefoon en worden roosterwijzigingen automatisch in je agenda doorgevoerd; bovendien ontvang je desgewenst per e-mail een notificatie van de wijziging.

Vragen? Bekijk de video-instructie, lees de instructie of neem contact op met de ISSC helpdesk.

BrightSpace

Inschrijving voor vakken verloopt via uSis. Wanneer je je hier inschrijft voor een bepaald vak krijg je automatisch ook toegang tot de omgeving van dit vak via Brightspace.

Voor meer informatie over Brightspace kun je op deze link klikken om de handleidingen van de universiteit te bekijken. Bij overige vragen of problemen kan contact opgenomen worden met de helpdesk van de universiteit Leiden.

Contact

Onderwijscoördinator Informatica, Riet Derogee