redogöra och argumentera för hur moderna datorsystem är uppbyggda, inklusive detaljer om pipelines, minnesorganisation, virtuellt och fysiskt minne samt minnesteknologi.
redogöra och argumentera för tekniker för att skapa och utnyttja parallellism på instruktions-, minnes- och tråd-nivå.
redogöra och argumentera för uppbyggnaden av multiprocessorer med delat minne samt programmera dessa, men tonvikt på koherens och minnesmodeller.
konstruera effektiva synkroniseringsprimitiv.
redogöra och argumentera för vad som sätter begränsningar för datorsystem avseende bandbredd, effektförbrukning och kylning.
redogöra och argumentera för uppbyggnaden av multiprocessorer av kombinerad SIMD/MIMD typ, speciellt grafikprocessorer och andra typer av acceleratorer, samt programmering av dem.
redogöra och argumentera för önskvärda egenskaper, såsom effektsnål och tillförlitlig, samt hur dessa uppnås för datorer i inbyggda system och persondatorer samt servrar för kommersiella och tekniska beräkningar.
Kursinnehåll
Kursen har en tonvikt mot uppbyggnaden av parallella datorsystem system av modern tappning (idag multicores och grafikprocessorer) samt programmeringen av dessa. Kursens delmoment består av minnessystemets uppbyggnad, principer för multiprocessorer samt detaljerad genomgång av CPU:ns uppbyggnad.
Förutsättningar
120 hp inklusive 90 hp datavetenskap och matematik med Datorarkitektur eller motsvarande. Engelska 6. (Med en svensk kandidatexamen uppfylls kravet på engelska.)