Computerarchitectuur en systeemsoftware (B-KUL-H01P5B)
Doelstellingen
In deze cursus worden de studenten vertrouwd gemaakt met computerarchitectuur (processor, geheugenhiërarchie, invoer en uitvoer) en systeemsoftware (compilers, assemblers, laders, besturingssystemen). Zowel fundamentele concepten als praktische voorbeelden komen aan bod.
Aan het einde van dit opleidingsonderdeel is de student in staat om:
- de opbouw van moderne processoren in detail te begrijpen en te beschrijven
- de voorstelling van getallen en de bewerkingen hierop kunnen beschrijven
- de werking van een processor in het algemeen, en RISC-V in het bijzonder, kunnen beschrijven
- de werking van de geheugenhiërarchie, inclusief virtueel geheugen, te begrijpen en te beschrijven
- de werking van het I/O subsysteem te begrijpen en te beschrijven, inclusief harde schijven, RAID systemen en SSD's
- de verschillende soorten computer architecturen met elkaar te vergelijken en te contrasteren
- het parallellisme dat gebruikt wordt in heel verschillende niveaus van computerarchitectuur te erkennen, situeren en beschrijven
- computerarchitectuur in een historisch perspectief te plaatsen en de grote lijnen van het onderzoek dat de evolutie binnen dit domein heeft gestuurd kunnen situeren.
- een programma (geschreven in een hogere programmeertaal, bv C) om te zetten naar een lagere programmeertaal (RISC-V)
- de verschillende stappen (transformaties) kunnen beschrijven die een programma (in hogere of lagere programmeertaal geschreven) moet ondergaan alvorens het kan uitgevoerd worden
- de doelstellingen en functies van besturingssystemen begrijpen en kunnen beschrijven
- proces controle begrijpen en kunnen beschrijven.
Begintermen
De student moet vertrouwd zijn met programmeren in een hogere programmeertaal, zoals behandeld in het opleidingsonderdeel Methodiek van de informatica of het opleidingsonderdeel Beginselen van programmeren.
Volgtijdelijkheidsvoorwaarden
Je moet voldoen aan een volgtijdelijkheidsvoorwaarde om dit opleidingsonderdeel te mogen opnemen. Volgtijdelijkheid kan STRENG of SOEPEL zijn of een GELIJKTIJDIGHEID inhouden. Ook kan een diplomaNIVEAU als voorwaarde gesteld zijn.
Verklaring:
STRENG: Om dit opleidingsonderdeel op te nemen, moet je geslaagd zijn voor of een tolerantie ingezet hebben voor de opleidingsonderdelen waarvoor dit soort voorwaarde geldt.
SOEPEL: Om dit opleidingsonderdeel op te nemen, moet je de opleidingsonderdelen waarvoor dit soort voorwaarde geldt, gevolgd hebben.
GELIJKTIJDIG: Om dit opleidingsonderdeel op te nemen, moet je ook de opleidingsonderdelen waarvoor dit soort voorwaarde geldt, opnemen of al opgenomen hebben.
NIVEAU: Om dit opleidingsonderdeel op te nemen, moet je ten minste deze graad behaald hebben.
GELIJKTIJDIG(H01B6A) OF GELIJKTIJDIG(G0N28A) OF GELIJKTIJDIG(X0A06A) OF GELIJKTIJDIG(H01B6B) OF GELIJKTIJDIG(X0A06B)
Bovenstaande codes van opleidingsonderdelen stemmen overeen met onderstaande omschrijvingen van die opleidingsonderdelen:
H01B6A : Methodiek van de informatica (Niet meer aangeboden dit academiejaar)
G0N28A : Beginselen van programmeren
X0A06A : Beginselen van programmeren
H01B6B : Methodiek van de informatica
X0A06B : Beginselen van programmeren
Dit opleidingsonderdeel is een voorwaarde voor het opnemen van volgende opleidingsonderdelen:
H0N65A : Inleiding tot gegevensbanken
Identieke opleidingsonderdelen
Dit opleidingsonderdeel is identiek aan de volgende opleidingsonderdelen:
H01P5A : Computerarchitectuur en systeemsoftware (Niet meer aangeboden dit academiejaar)
X0A29B : Structuur en organisatie van computersystemen (Niet meer aangeboden dit academiejaar)
G0Q33C : Structuur en organisatie van computersystemen
X0E31A : Structuur en organisatie van computersystemen
Plaats in het onderwijsaanbod
- Voorbereidingsprogramma: Master in de ingenieurswetenschappen: computerwetenschappen (Leuven) 61 sp.
- Educatieve master in de wetenschappen en technologie (Leuven) 120 sp.
- Bachelor in de ingenieurswetenschappen (programma voor studenten gestart vóór 2024-2025) (Leuven) (Hoofdrichting computerwetenschappen) 180 sp.
- Bachelor in de ingenieurswetenschappen (programma voor studenten gestart vóór 2024-2025) (Leuven) (Nevenrichting computerwetenschappen) 180 sp.
- Bachelor in de ingenieurswetenschappen (programma voor studenten gestart in 2024-2025 of later) (Leuven) (Afstudeerrichting computerwetenschappen) 180 sp.
Onderwijsleeractiviteiten
4.8 sp. Computerarchitectuur en systeemsoftware: hoorcollege (B-KUL-H0P58a)
Inhoud
De volgende topics komen aan bod. Bij elk topic wordt ook aandacht besteed aan het historisch perspectief en aan onderzoeksaspecten.
- Machinetaal (lagere programmeertaal), met als voorbeeld RISC-V: instructies, operanden, adresseringsmodes, oproepen van routines, stapel, compiler, assembler, linker, lader
- Rekenkunde voor computers: voorstelling van getallen (signed en unsigned gehele getallen, floating point getallen), bewerkingen (optelling en aftrekking, vermenigvuldiging, deling)
- Inleiding tot het beoordelen en begrijpen van performantie
- Datapad en controle van de processor: single cyclus implementatie, multicyclus implementatie, pipelining, multiple issue en Instruction Level Parallelism (ILP), behandeling van exceptions, voorstelling via FSM
- Geheugenhiërarchie: geheugentechnologieën (SRAM, RAM, Flash, disks), caches, virtueel geheugen, meten en verbeteren van performantie van de geheugenhiërarchie
- Parallelle computerarchitecturen: multicores, multiprocessoren, multithreading
- Inleiding tot besturingssystemen: definitie, functie, systeemoproepen
- Processen: definitie, Process Control Block, context switch
- I/O en randapparaten: interrupts, I/O Interface, Kernel I/O subsysteem, harde schijven, RAID systemen, SSD's.
Studiemateriaal
Studiekost: 51-75 euro (De informatie over studiekosten zoals hier opgenomen is indicatief en geeft enkel de prijs weer bij aankoop van nieuw materiaal. Er zijn mogelijk ook e- en tweedehandskopijen beschikbaar. Op LIMO kan je nagaan of het handboek beschikbaar is in de bibliotheek. Eventuele printkosten en optioneel studiemateriaal zijn niet in deze prijs vervat.)
- Handboek: Computer organization and design, RISC-V Edition, Patterson en Hennessy, Morgan Kaufmann Publications
- Enkele hoofdstukken van het boek "Operating Systems: Three Easy Pieces" van Remzi H
Arpaci-Dusseau (Author), Andrea C Arpaci-Dusseau (Author) , boek is online beschikbaar
Toelichting werkvorm
Tijdens een deel van de colleges in het jaar beantwoorden studenten in kleine groepjes vragen over een van te voren afgesproken deel van de cursus, waarbij zij elkaar als het ware overhoren. Dit gebeurt open-boek. Aanwezigheid is verplicht.
1.2 sp. Computerarchitectuur en systeemsoftware: oefeningen (B-KUL-H0P59a)
Inhoud
9 oefenzittingen rond de volgende thema's:
- RISC-V programming: eenvoudige programma's
- RISC-V programming: stapel, recursie
- RISC-V programming: grotere programmas, gebruik van simulator
- RISC-V programming: pinters, gelinkte lijsten, heap
- RISC-V programming: complexere programma's, gebruikmakend van simulator
- Getallen en hun voorstelling
- Caches
- Performantie
- Laders en linkers
Studiemateriaal
Opgaven bij de oefeningen.
Evaluatieactiviteiten
Evaluatie: Computerarchitectuur en systeemsoftware (B-KUL-H21P5b)
Toelichting
Het examen bestaat uit een aantal oefeningen (analoog aan de oefeningen gezien tijdens de oefenzittingen) en peilt verder naar inzicht in het cursusmateriaal, kennis van terminologie en begrip van de figuren uit het boek.
Een student die zonder geldige reden afwezig was tijdens méér dan één interactiesessie mag niet deelnemen aan het examen.
Indien de evaluatie aantoont dat de student één of meerdere doelstellingen van het opleidingsonderdeel onvoldoende heeft bereikt, kan het globale resultaat afwijken van het gewogen gemiddelde van de onderdelen.
Een student die voor de oefeningen of voor het theoriedeel van het examen minder dan 7/20 behaalt kan niet slagen voor dit opleidingsonderdeel.
Toelichting bij herkansen
Een student die zonder geldige reden afwezig was tijdens méér dan één interactiesessie mag niet herkansen.