Datorsystemdesign: avancerade koncept inom moderna mikroprocessorer
Lär dig avancerade koncept inom datordesign – bland annat hur moderna flerkärniga datorer kan göras både snabba och energieffektiva.
Om kursen
I den här datavetenskapliga kursen lär du dig avancerade koncept som ligger till grund för designen av dagens flerkärniga datorer. Du får också insikt i hur designval påverkar energieffektivitet och prestanda.
Bland ämnena som behandlas finns grunderna i att utnyttja parallellism mellan instruktioner – exempelvis out-of-order-exekvering, grenprediktion och undantagshantering – samt avancerade koncept inom minnessystem, inklusive prefetching och cachekoherens. Dessa koncept är avgörande för att framtidens datorsystem ska kunna maximera sin beräkningseffektivitet.
Du får också möjlighet att utbyta kunskap med andra kursdeltagare med liknande intressen.
Kursen bygger på Chalmers avancerade forskarutbildningskurs i datorarkitektur. Du bör ha grundläggande kunskaper i datordesign sedan tidigare, till exempel motsvarande kursen ”Computer System Design – Improving Energy Efficiency and Performance”.
Det här lär du dig
- Uppbyggnaden av en flerkärnig dator
- Avancerade designkoncept för framtidens flerkärniga datorer
- Hur datordesign påverkar hur energieffektivt och snabbt ett program kan köras på framtida datorsystem
- Hur kursens designkoncept tillämpas i moderna flerkärniga datorsystem
Innehåll
Vecka 1: Parallellism på instruktions- och trådnivå samt modeller för parallell och out-of-order-exekvering (1 timme)
- Flerkärniga system – allt handlar om parallellism. Grunder.
- Mikroarkitektur – grunder.
- Minnessystem – grunder.
- Prestanda – grunder.
- Energi – grunder.
- Att sätta ihop helheten.
Vecka 2: Spekulativ exekvering = OoO + grenprediktion + undantagshantering (1 timme)
- Basmodell och out-of-order-komplettering.
- Tomasulos algoritm: steg 1.
- Tomasulos algoritm: steg 2.
- Grenprediktion.
- Undantagshantering.
- Spekulativ exekvering.
Vecka 3: Avancerade ämnen inom cachedesign (1 timme)
- Grunderna i minnesdesign.
- 3C-modellen.
- Ersättningsalgoritmer.
- Prefetching-algoritmer.
- Minnessystem (DRAM).
- Minnessystem (virtuellt minne och virtualisering).
Vecka 4: Flerkärnig design – multithreading och cachekoherens (1 timme)
- Utmaningar vid flerkärnig design.
- Grunderna i multithreading.
- Designalternativ för multithreading (fin/grov granularitet, SMT).
- Cachekoherens – grundkoncept.
- Sammankopplingskoncept.
- Att sätta ihop helheten.
Undervisningsspråk
Kursen ges på engelska.
Lecturer
Register today
Register now
Course Participant profile
Kursen vänder sig till studenter och yrkesverksamma med en grundexamen inom datavetenskap eller datateknik, med grundläggande kunskaper i datororganisation – inklusive förtrogenhet med grundläggande principer för datordesign, pipelining och cacheminnen. Den som saknar dessa förkunskaper kan inhämta dem via ChM007x.