Studiegids

nl en

Computerarchitectuur

Vak
2024-2025

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 deze cursus 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 en branch prediction. In de laatste colleges besteden we aandacht aan twee klassen van parallellisme: data-level parallelism (DLP) en thread-level parallelism (TLP). Hierbij zullen vector processing, SIMD extensions, GPU architecturen en multi-socket en multi-core architecturen aan bod komen.

In het bijbehorende practicum zal er onder andere ervaring worden opgedaan met het werken met "assembly language", het decoderen van machine instructies, het doorgronden van het uitvoeren van instructies en pipelining, caching optimalisaties en technieken voor ILP en DLP. Het hoofdzakelijke doel is om delen van de bestudeerde theorie in de praktijk te brengen om op die manier de lesstof nog beter te doorgronden.

Leerdoelen

Na het volgen van deze cursus kan de student:

  • trends in computerarchitectuur uitleggen en gangbare formules voor het berekenen van computer-performance toepassen;

  • programma’s geschreven in verschillende Instruction Set Architectures (ISAs) analyseren en zulke programma’s creëren;

  • illustreren hoe instructies worden uitgevoerd door klassieke RISC pipelines;

  • een klassieke RISC pipeline in een emulator construeren;

  • moderne storage- en geheugenhiërarchieën omschrijven en methoden onderliggende aan CPU caches toepassen;

  • in praktijkvoorbeelden de effectiviteit van het gebruik van de CPU cache analyseren en mogelijke cache-optimalisaties evalueren;

  • verschillende technieken die worden gebruikt voor het verkrijgen van instruction-level parallelism (ILP) toepassen en hun beperkingen uitleggen;

  • de drie hoofdzakelijke manieren voor de implementatie van data-level parallelism (DLP) uitleggen en toepassen op eenvoudige voorbeelden;

  • moderne multi-core architecturen beschrijven en voordelen en problemen met deze architecturen benoemen.

Rooster

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

In MyTimetable 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, nadat je bent ingelogd.

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 MyTimetables samen te voegen om een volledig rooster te zien. Deze video legt uit hoe dat werkt.

Onderwijsvorm

Hoorcollege, werkcollege.

Toetsing en weging

De toetsing bestaat uit practicumopdrachten, een deeltentamen (midterm) en een eindtentamen. Op de tentamens zullen ook vragen worden gesteld over het practicum. De tentamenstof zal bekend worden gemaakt via Brightspace.

Het eindcijfer is als volgt opgebouwd:

  • 13%: practicum 2. Programmeeropdracht. Individueel of in team van twee.

  • 8%: practicum 3. Programmeren en verslaglegging. Individueel of in team van twee.

  • 4%: practicum 4. Programmeeropdracht. Individueel of in team van twee.

  • 30%: deeltentamen (midterm). Op locatie, gesloten boek, individueel.

  • 45%: eindtentamen. Op locatie, gesloten boek, individueel.

NB. Voor practicum 1 wordt er geen opdracht ingeleverd en becijferd. De toetsing van practicum 1 is onderdeel van het deeltentamen (midterm).

Het eindcijfer is het gewogen gemiddelde over de bovenstaande componenten en is een cijfer op halve punten tussen 1 tot 10, met beide grenzen inbegrepen en met uitzondering van 5.5, conform de OER. De student is geslaagd indien de resultaten voor het deeltentamen, eindtentamen én het uiteindelijke eindcijfer alle drie tenminste een 5.5 bedragen. Indien het gewogen gemiddelde groter of gelijk aan 5.5 is maar het resultaat van het deeltentamen of eindtentamen is lager dan 5.5, dan wordt het cijfer 5 als eindcijfer gegeven. In het geval niet is deelgenomen aan het deeltentamen of eindtentamen kan geen eindcijfer worden berekend en wordt het resultaat "INC" geregistreerd.

Wanneer een practicumopdracht niet is ingeleverd, of de inzending bestaat alleen uit naam en studentnummer, dan wordt die opdracht beoordeeld met het cijfer 0.

Voor zowel deeltentamen als eindtentamen is er een herkansing. Voor de practicumopdrachten is er geen herkansing. Onvoldoendes voor practicumopdrachten 2, 3 en 4 dienen te worden gecompenseerd met de tentamens. Merk nogmaals op dat een deel van het practicum zal worden getoetst in het deeltentamen en eindtentamen.

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

Literatuurlijst

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

Inschrijven

Als student ben je zelf verantwoordelijk voor het tijdig inschrijven via MyStudyMap.

In deze korte video zie je stap voor stap hoe je je kunt inschrijven voor cursussen in MyStudyMap.
Uitgebreide informatie over de werking van MyStudyMap vind je hier.

Er zijn twee inschrijfperiodes per jaar:

  • de inschrijving voor het najaar opent in juli

  • de inschrijving voor het voorjaar opent in december

Zie deze pagina voor meer informatie over deadlines en inschrijven voor vakken en tentamens.

Let op:

  • Het is verplicht om je in te schrijven voor alle activiteiten die je gaat volgen van een vak.

  • Je inschrijving is pas voltooid wanneer je je cursusplanning indient in het tabblad ‘Klaar voor inschrijving’ door op ‘indienen’ te klikken.

  • Niet ingeschreven zijn voor een (her)tentamen betekent dat je niet mag deelnemen aan het (her)tentamen.

Contact

Onderwijscoördinator LIACS bachelors

Opmerkingen

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.

Software
Vanaf collegejaar 2024/2025 werkt de faculteit Wiskunde en Natuurwetenschappen met het software distributieplatform Academic Software. Via het platform kun je toegang krijgen tot de software die je nodig hebt voor bepaalde vakken in je studie. Voor sommige software moet je laptop aan bepaalde systeemeisen voldoen. Dit staat aangegeven bij de software. Belangrijk is dat je de software installeert voor de start van het vak. Meer informatie over het laptopprofiel vind je op de studentenwebsite.