Upskilling Academy

Datorsystemdesign för energieffektivitet

Lär dig hur moderna datorer designas för att förbättra hastighet, prestanda och energieffektivitet i dina program.
Per Stenström Professor, Datateknik
Subject areas
Automation & elektroteknik, Mjukvara, data & AI
Course Duration
48 hours 8 weeks
Location
Online

Om kursen

För att vara konkurrenskraftig inom datavetenskap är det avgörande att förstå byggstenarna i en modern dator och hur de direkt påverkar ett programs hastighet och effektivitet. Oavsett om du arbetar med inbyggda system, mobila datorbaserade system eller molnsystem, är prestanda och energieffektivitet centrala drivkrafter för användbarhet och konkurrenskraft hos datoriserade produkter.

I den här kursen lär du dig hur moderna flerkärniga datorer designas, och hur dina designval påverkar både prestanda och energiförbrukning. Du går igenom de designprinciper som styr moderna mikroprocessorer, såsom pipelining och cacheminnen, samt metoder för att bedöma hur designen påverkar exekveringstid och energieffektivitet.

Den här kunskapen kan göra verklig skillnad för yrkesverksamma ingenjörer som vill bygga konkurrenskraftiga produkter. Ta till exempel en smartphone med begränsad batterikapacitet – genom att tillföra värde till slutanvändaren med ny eller förbättrad funktionalitet kan man avsevärt förlänga drifttiden mellan laddningar, och därmed använda smartphonens redan begränsade resurser betydligt mer effektivt.

Med dessa kunskaper kan du bli expert på prestanda och energieffektivitet i datorsystem – kompetens som efterfrågas allt mer vid design av datoriserade inbyggda produkter. I takt med utvecklingen inom IoT (Internet of Things), autonoma system och mobila datorer blir den här typen av kompetens avgörande för en karriär inom systemteknik.

Kursen bygger på en avancerad grundutbildningskurs i datorsystemdesign från Chalmers.

Det här lär du dig

  • Designkoncept i moderna flerkärniga datorer, inklusive processorer och minneshierarkier
  • Hur energieffektivt och snabbt ett program exekveras
  • Hur enkla modeller kan användas för att analysera energieffektivitet och prestanda
  • Hur kursens designkoncept tillämpas i moderna flerkärniga datorsystem

Innehåll

Vecka 1: Exekveringsmodell för datorsystem

  • Transformationshierarkin
  • Instruktionsuppsättningsarkitektur
  • Exekveringssteg
  • Styrning, dataflöden och en modell av en dator
  • Exekvering av ett program
  • Att sätta ihop helheten

Vecka 2: Prestanda- och energimodeller för datorer

  • Grundläggande prestandamodell för ett exekverande program
  • Energi- och effektförbrukning i datorsystem
  • Grundläggande energimodell för ett exekverande program
  • Hur prestanda och energiförbrukning kan förbättras
  • Att rapportera prestanda och energi
  • Att sätta ihop helheten

Vecka 3: Pipeliningprinciper

  • Löpande bandets princip – pipelining
  • Instruktionsnivåparallellism och dess koppling till pipelining
  • En pipelinemodell av en dator
  • Pipelinekonflikter (strukturella, data- och styrkonflikter)
  • Enkla tekniker för att undvika konflikter
  • Att sätta ihop helheten

Vecka 4: Principer för cacheminneshierarkier

  • Grunderna i minnessystem
  • Lokalitetsprincipen i minnet
  • Grundläggande begrepp kring cacheminne och direktmappad cache
  • Mängdassociativa cacher
  • Flernivåcacher
  • 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 allmän förståelse för programmering, men utan tidigare kunskap om hur en dator fungerar.