Sök i programutbudet

Använd sökfunktionen för att leta efter kurser och program i Chalmers utbildningsutbud. Den programplan och utbildningsplan som avser dina studier är i allmänhet från det läsår du började dina studier.

​​​​​​​​​​​​​

Kursplan för

Läsår
DAT105 - Datorarkitektur  
Computer architecture
 
Kursplanen fastställd 2016-02-10 av programansvarig (eller motsvarande)
Ägare: MPEES
7,5 Högskolepoäng
Betygskala: TH - Fem, Fyra, Tre, Underkänd
Utbildningsnivå: Avancerad nivå
Huvudområde: Datateknik, Elektroteknik, Informationsteknik
Institution: 37 - DATA- OCH INFORMATIONSTEKNIK


Undervisningsspråk: Engelska
Sökbar för utbytesstudenter: Ja
Blockschema: A+

Modul   Poängfördelning   Tentamensdatum
Lp1 Lp2 Lp3 Lp4 Sommarkurs Ej Lp
0107 Projekt 1,5 hp Betygskala: UG   1,5 hp    
0207 Tentamen 6,0 hp Betygskala: TH   6,0 hp   19 Jan 2019 em SB_MU   24 Apr 2019 em M   20 Aug 2019 em SB_MU  

I program

MPEES INBYGGDA ELEKTRONIKSYSTEM, MASTERPROGRAM, Årskurs 1 (obligatoriskt valbar)
MPEES INBYGGDA ELEKTRONIKSYSTEM, MASTERPROGRAM, Årskurs 2 (valbar)
MPALG DATAVETENSKAP - ALGORITMER, PROGRAMSPRÅK OCH LOGIK, MASTERPROGRAM, Årskurs 1 (valbar)
MPALG DATAVETENSKAP - ALGORITMER, PROGRAMSPRÅK OCH LOGIK, MASTERPROGRAM, Årskurs 2 (valbar)
TKITE INFORMATIONSTEKNIK, CIVILINGENJÖR, Årskurs 3 (valbar)
MPCSN DATORER, NÄTVERK OCH SYSTEM, MASTERPROGRAM, Årskurs 1 (obligatoriskt valbar)
MPCSN DATORER, NÄTVERK OCH SYSTEM, MASTERPROGRAM, Årskurs 2 (valbar)

Examinator:

Per Stenström

Ersätter

EDA111   Datorarkitektur


Behörighet:


För kurser på avancerad nivå gäller samma grundläggande och särskilda behörighetskrav som till det kursägande programmet. (När kursen är på avancerad nivå men ägs av ett grundnivåprogram gäller dock tillträdeskrav för avancerad nivå.)
Undantag från tillträdeskraven: Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Kursspecifika förkunskaper

Datorsystemteknik som introducerar de fundamentala begreppen inom datorarkitektur såsom pipelining och cacheminne motsvarande Chalmerskursen EDA332/EDA331.

Syfte

Datorer utgör en viktig komponent i nästan alla tekniska system idag på grund av deras funktionella flexibilitet och förmåga att utföra beräkningar snabbt och energieffektivt. I själva verket har beräkningshastigheten för datorer fördubblats ca var 18 månad under de senaste decennierna. Ett viktigt skäl är framsteg inom datorarkitektur - ingenjörsvetenskapen kring datorkonstruktion.

Inom datorarkitektur studerar vi principer för uppbyggnad av beräkningsstrukturer som idag typiskt använder en miljard ultrasnabba datorer för att snabbt utföra de beräkningar som uttrycks i programmeringsspråk genom att utnyttja den inneboende parallellismen. Kursen täcker fundamentala principer för hur man konstruerar datorer som erbjuder hög beräkningshastighet för programvaran.

Lärandemål (efter fullgjord kurs ska studenten kunna)

Efter fullgjord kurs ska studenten kunna

  • redogöra för begrepp och strukturer i moderna datorarkitekturer för att kunna följa forskningsframsteg inom detta område,
  • redogöra för principerna bakom en modern mikroprocessor; speciellt avancerade tekniker baserade på pipelining som typiskt utför flera instruktioner samtidigt samt grundläggande principer kring flerkärniga processorer (multicores) som kan utföra flera beräkningsuppgifter samtidigt,
  • redogöra för principerna bakom moderna minneshierarkier som typiskt utnyttjar lokalitet för att finna begärda instruktioner och operander snabbt, och
  • redogöra för och kunna tillämpa kvantitativ analys av hur konstruktionsbeslut påverkar beräkningshastighet genom utnyttjande av moderna verktyg som används i datorindustrin.
  • redogöra för metodval, vid rapportering av prestandaegenskaper för datorer och värdera prestandaegenskaper utifrån samhälleliga och etiska aspekter
  • tolka omvärldens krav på datorers utformning, för att möta samhälleliga behov, såsom lägre energianvändning.

Innehåll

Kursen omfattar arkitekturella tekniker nödvändiga för att uppnå hög prestanda för exekverande program. Detta omfattar även simuleringsbaserade analysmetoder för kvantitativ analys av konsekvenserna av ett konstruktionsbeslut på prestanda och strömförbrukning.



Kursinnehållet är indelat i följande delar:



1 . Den första delen omfattar trender som påverkar utvecklingen av datorteknik inklusive Moores lag, mått på beräkningshastighet (responstid och kapacitet), strömförbrukning, benchmarking, Amdahls lag samt referenslokalitet. Den täcker också hur simuleringsbaserade tekniker kan användas för att kvantitativt utvärdera effekten av konstruktionsbeslut på beräkningshastigheten.

2 . Den andra delen omfattar olika tekniker för utnyttjande av parallellism på instruktionsnivå (ILP) genom att definiera nyckelbegrepp ILP och vad som begränsar det. De tekniker som omfattas delas in i två huvudkategorier: dynamiska och statiska tekniker. De viktigaste dynamiska tekniker som omfattas är Tomasulos algoritm, branch prediction och spekulation. De viktigaste statiska tekniker är loop unrolling, software pipelining, trace scheduling samt predicated execution.

3 . Den tredje delen handlar om minneshierarkier. Denna del omfattar tekniker för att angripa olika prestandaflaskhalsar i minneshierarkin såsom tekniker för att minska antalet cache missar, samt minska tiden att hantera en cache träff/miss. Exempel på tekniker som behandlas är inklusiva/exkusiva hierarkier, lockup-free cachar och prefetching. Virtuellt minne behandlas också.

4 . Den fjärde delen behandlar flerkärniga/flertrådade processorarkitekturer (multicores). På systemnivå behandlas programmeringsmodeller och hur processorkärnor på ett chip kan kommunicera med varandra via ett gemensamt adressrum. På mikroarkitekturnivå behandlas olika metoder för hur flera trådar kan dela arkitekturella resurser: fine-grain/coarse-grain och simultaneous multithreading. På minneshierarkinivå introduceras cache coherence.

Organisation

Kursen är organiserad i föreläsningar, övningar, fallstudier, laborationer och ett miniprojekt. Föreläsningarna behandlar grundläggande begrepp och strukturer. Övningarna ger djupgående analys av begrepp och strukturer och fokuserar på problemlösning. Fallstudierna är baserade på moderna kommersiella datorer som är dokumenterade i den vetenskapliga litteraturen. Studenter genomför fallstudier och presenterar dem i plenum för kurskamrater och instruktörer. Slutligen får studenterna bekanta sig med och använda simuleringsmetoder och verktyg som används inom industrin för att analysera effekterna av konstruktionsbeslut på beräkningshastigheten. Detta moment understöds av en sekvens av laborationer och i en projektuppgift. Projektuppgiften ger studenterna träning i att sätta in sina föreslagna lösningar inklusive sina metodval i ett vidare sammanhang, och i att redogöra för sina avvägningar för kollegor och avnämare. Specifikt tränas förmågan att på ett systematiskt sätt konstruera datorer för att uppnå samhälleliga krav på energieffektivitet.

Litteratur

M. Dubois, M. Annavaram, P. Stenström. Parallel Computer Organization and Design. Cambridge Press, 2012.

Examination inklusive obligatoriska moment

Godkända laborationer, skriftlig projektrapport samt skriftlig tentamen.


Sidansvarig Publicerad: on 24 jan 2018.