Kursplan för Datorsystemteknik

Kursplanen innehåller ändringar
Se ändringar

Kursplan fastställd 2019-02-08 av programansvarig (eller motsvarande).

Kursöversikt

  • Engelskt namnComputer system engineering
  • KurskodEDA333
  • Omfattning7,5 Högskolepoäng
  • ÄgareTKDAT
  • UtbildningsnivåGrundnivå
  • HuvudområdeDatateknik, Elektroteknik
  • InstitutionDATA- OCH INFORMATIONSTEKNIK
  • BetygsskalaTH - Fem, Fyra, Tre, Underkänd

Kurstillfälle 1

  • Undervisningsspråk Svenska
  • Anmälningskod 49134
  • Max antal deltagare90
  • Sökbar för utbytesstudenterNej
  • Endast studenter med kurstillfället i programplan.

Poängfördelning

0119 Tentamen 4,5 hp
Betygsskala: TH
0 hp0 hp0 hp4,5 hp0 hp0 hp
  • 04 Jun 2020 fm J
  • 11 Okt 2019 fm SB_MU
  • 18 Aug 2020 em J
0219 Laboration 3 hp
Betygsskala: TH
0 hp0 hp0 hp3 hp0 hp0 hp

I program

Examinator

  • Lars Bengtsson
Gå till kurshemsidan (Öppnas i ny flik)

Ersätter

  • EDA330 Datorsystemteknik D
  • EDA331 Datorsystemteknik
  • EDA332 Datorsystemteknik

Behörighet

För kurser på grundnivå inom Chalmers utbildningsprogram gäller samma behörighetskrav som till de(t) program där kursen ingår i programplanen.

Kursspecifika förkunskaper

EDA452 Grundläggande datorteknik och EDA482  Maskinorienterad programmering eller motsvarande kurser.

Syfte

Kursen har som syfte att förmedla hur ett modernt datorsystem är uppbyggt och hur dess hårdvarudelar samverkar med varandra och med mjukvaran (på låg nivå). Speciellt tas stor hänsyn till prestandafrågor, eftersom många designbeslut eftersträvar en viss prestanda till lägsta kostnad, eller mesta möjliga prestanda för en given kostnad.

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

  • Läsa och skriva enkla assemblerprogram för en typisk tre-adress register maskin.
  • Identifiera de grundläggande typer av konflikter som uppkommer till följd av pipelining av en processors dataväg.
  • Peka ut och beskriva enkla metoder för att hantera dessa konflikter, identifiera begränsningar i dessa metoder, samt uppskatta prestandainverkan.
  • På korrekt sätt använda sig av instruktioner som utför aritmetiska operationer, såväl för flyttal som heltal.
  • Redogöra för funktionen hos och uppskatta prestandapåverkan av en minneshierarki, som kan omfatta cacheminnen, huvudminne och virtuellt minne, och som använder olika parameterar (total storlek, blockstorlek, associativitet, etc) för de olika minnesnivåerna.
  • Beräkna prestanda (i enkla lastfall) hos ett I/O-system, speciellt i system som består av processorer, bussar och skivminnen.
  • Identifiera prestandamässiga flaskhalsar i ett sådant system.
  • Förklara hur ett datorsystems prestanda kan definieras och mätas.
  • Uppskatta parameterändringars inverkan på systemets prestanda enligt ovan.
  • Översiktligt beskriva de komponenter och principer som används vid konstruktion av fler-kärniga processorer.
  • Genomföra en enklare samoptimering av mjukvara (på assemblernivå) med hårdvaruparametrar för att uppnå bästa möjliga prestanda/ kostnadsförhållande för en viss funktion, samt redovisa detta i en kortare skriftlig rapport.

Innehåll

Genom föreläsningar, gruppövningar och laborationer förmedlas en grundläggande insikt om hur ett litet datorsystem (med processor, minnen samt in- och utmatning) är uppbyggt och fungerar. Stor vikt läggs vid prestandaaspekter och vid samverkan med mjukvara.

Organisation

Undervisningen omfattar föreläsningar, fördjupningsövningar i grupp samt laborativt arbete baserat på en mjukvarusimulator av ett litet datorsystem. Den laborativa delen avslutas med en inlämningsuppgift.

Litteratur

Pattersson&Hennessy: "Computer Organization and Design: The Hardware/Software Interface". Kompletterande material via kurshemsidan i PingPong

Examination inklusive obligatoriska moment

Skriftlig redovisning på engelska av inlämningsuppgift. Demonstration av inlämningsuppgift. Tentamen.

Kursplanen innehåller ändringar

  • Ändring gjord på tentamen:
    • 2019-09-04: Plats Plats ändrat från Johanneberg till SB Multisal av grunnet
      [2019-10-11 4,5 hp, 0119]