Upskilling Academy

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.
Per Stenström Professor, Datateknik
Subject areas
Automation & elektroteknik, Mjukvara, data & AI
Course Duration
48 hours 8 weeks
Location
Online

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

Per Stenström Professor, Datateknik
Per Stenström är professor i datateknik vid Chalmers tekniska högskola. Han disputerade i datorteknik vid Lunds universitet 1990. Fellow vid Association for Computing Machinery (ACM) och Institute of Electrical and Electronics Engineers (IEEE) Ledamot av Kungliga Ingenjörsvetenskapsakademien (IVA), Academia Europaea samt Kungliga Spanska Ingenjörsvetenskapsakademien

Register today

Register now
Who is this course for?

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.