Studiegids

nl en

Computerarchitectuur

Vak
2023-2024

Toegangseisen

Aanbevolen voorkennis: 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 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.

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:

In MyTimetable (login) kun je alle vak- en opleidingsroosters vinden, waarmee jij je persoonlijke rooster kunt samenstellen. Onderwijsactiviteiten waarvoor je je via MyStudymap hebt 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. Je kunt notificaties aanzetten bij Instellingen, na login.

Vragen? Bekijk de video, lees de instructie of neem contact op met de ISSC helpdesk. Let op: Joint Degree studenten Leiden/Delft dienen de informatie uit de Leidse en Delftse MyTimetable's samen te voegen om een volledig rooster te zien. Deze video leg uit hoe dat werkt.

Onderwijsvorm

Hoorcollege, werkcollege.

Toetsing en weging

De toetsing bestaat uit twee delen: een theoretisch en een praktisch deel. Het cijfer voor beide delen moet voldoende (>= 5.5) 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 gemiddelde practicumcijfer voldoende (>= 5.5) zijn. Voor opdrachten die niet zijn ingeleverd wordt geen cijfer ingevuld. Het minimum cijfer van een (ingeleverde) opdracht is "0". Indien het tentamen is gehaald, maar het practicum niet compleet is, wordt er geen eindcijfer berekend en ingediend. Een herkansing van het practicum is mogelijk in overleg met de docent, maar alleen wanneer het (her)tentamen is behaald.

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

Met ingang van het collegejaar 2022-2023 ben je als student zelf verantwoordelijk om je tijdig, dat wil zeggen 14 of 28 dagen voor aanvang van het vak, in te schrijven. Dat kan via Mystudymap. Dit doe je twee keer per jaar: één keer voor de vakken die je wilt volgen in semester 1 en één keer voor de vakken die je wilt volgen in semester 2.

Inschrijven voor vakken in het eerste semester is mogelijk vanaf juli; inschrijven voor vakken in het tweede semester is mogelijk vanaf december. Zie voor meer informatie deze pagina (tab Wiskunde en Natuurwetenschappen)

Daarnaast is het voor alle studenten, inclusief eerstejaars bachelorstudenten, verplicht om zich in te schrijven voor tentamens via My Studymap. Zonder geldige voorinschrijving in My Studymap kun je niet deelnemen aan het tentamen.

Uitgebreide informatie over de werking van MyStudymap vind je hier.

Contact

Onderwijscoördinator LIACS bachelors

Opmerkingen

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.