Computerarkitektur er ingeniørvidenskab i grænseområdet mellem
hardware og software og computerarkitektur er et spændende
fagområde, som udvikles og forandres med stor hastighed. I løbet af
kurset håber vi at overføre vores egen begejstring for fagområdet
til kursusdeltagerne.
De studerende vil lære om arkitektur og design af moderne
processorer. Efter en kort repetition af grundlæggende emner som
instruktionssæt, pipelining og lagerhierarki, behandles
videregående emner som instruktions-parallelisme, ’out-of-order’
udførelse af instruktioner og multiprocessorer. Den overordnede
tendens indenfor computerarkitektur går i retning af
chip-multiprocessorer, og kurset har særlig fokus på arkitektur af
chip-multiprocessorer med delt lager, og på de
kommunikationsnetværk, som forbinder de mange processorer (såkaldte
networks-on-chip).
Endelig bemærkes det, at langt de fleste processorer (99+%) indgår
som komponenter i indlejrede systemer, og mange af disse systemer
er realtidssystemer. Det er derfor nødvendigt, at de processorer,
som benyttes i disse sammenhænge, er designet på en sådan måde, at
det er muligt at analysere systemernes worst-case responstid.
Kurset behandler igangværende forskning indenfor såkaldt
‘time-predictable’ systemer og arkitekturer.
Læringsmål:
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
Forstå og redegøre for begreber og teknikker indenfor
videregående computer arkitektur.
Designe pipelinede processorer.
Forklare instruktions-parallelisme baseret på såvel statisk
skedulering som ‘out-of-order’ udførelse af instruktioner.
Redegøre for arkitekturer for chip-multiprocessorer og
diskutere begrænsninger og flaskehalse.
Redegøre for arkitekturer for chip-multiprocessorer og
diskutere begrænsninger og flaskehalse.
Redegøre for grundlæggende begreber og arkitekturer for
såkaldte ’time-predictable’ processorer
Forholde sig kritisk til en videnskabelig artikel (tidsskrift
eller konference)
Dokumentere kursets designprojekt i form af en
konferenceartikel.
Kursusindhold:
Pipelining, cache-lagre, instruktions-parallelisme,
chip-multiprocessorer, ‘networks-on-chip’ og ‘time-predictable
computer architecture’.
Litteraturhenvisninger:
J. L. Hennessy and D. A. Patterson, Computer Architecture: A
Quantitative Approach, current Edition, Morgan Kaufmann Publishing
Co., Menlo Park, CA
Lærebogen suppleres af en række forskningsartikler.
Bemærkninger:
I kurset indgår et afsluttende hardware- og/eller software-projekt.
Der arbejdes i grupper på 2-3 studerende. Et hardwareprojekt kan
bestå i at realisere en processor i en FPGA. Softwareprojekter kan
f.eks. vedrøre programmeringsmodeller eller programmering af
chip-multiprocessorer til indlejrede systemer. Ud over en
fungerende løsning, skal projektet dokumenteres i form af en
konferenceartikel. Projekt og artikel præsenteres i kurset.
Forventningen er at de bedste projekter kan publiceres.