redogöra för hur moderna datorsystem är uppbyggda, inklusive detaljer om pipelines, minnesorganisation, virtuellt och fysiskt minne samt minnesteknologi.
redogöra för principerna för konstruktion av instruktionsuppsättningar, övergripande beskriva vad som sätter begränsningar för datorsystem avseende bandbredd, effektförbrukning och kylning.
redogöra för hur datorsystem interagerar med omvärlden genom in- och utmatningssystem samt avbrott.
skriva korta program i assemblerspråk för att styra ett datorsystem.
redogöra för de olika tillvägagångssätten för parallellism, de utmaningar som är förknippade med dem, och några lösningar för att övervinna utmaningarna.
presentera och diskutera kursens innehåll muntligt och skriftligt med för utbildningsnivån lämplig färdighet.
Kursinnehåll
Modeller och principer för moderna datorsystem. Assemblerprogrammering, maskinoperationer och instruktioner. Minnesorganisation, bussar, in- och utmatningsenheter. Centralenhetens uppbyggnad, kontrollenhet, ALU, pipelining. Parallella beräkningsmetoder inom datorarkitektur: pipelining, flerkärniga system, GPUer och andra hjälpprocessorer. Praktisk användning av kunskaperna genom arbete i grupp. Presentationsteknik.
Förutsättningar
15 hp inom teknik/naturvetenskap. Genomgångna Algebra I och Programkonstruktion och datastrukturer.