Kurs-PM
EDA333 / DIT122 EDA333 / DIT122 Datorsystemteknik lp4 VT24 (7,5 hp)
Kursen ges av institutionen för Data- och informationsteknik
OBS: Kursen kommer att ges på campus. Detaljer framgår av filen KursPM 2024.pdf under kursorganisation under Filer/Files på Canvas. Samtliga föreläsningar finns också inspelade. Länkarna finner du i filen videolänkar.doc under kursorganisation i Filer/Files.
Kontaktuppgifter
Kursansvarig, examinator och föreläsare: Per Stenström (pers@chalmers.se)
Assistenter på övningar och laborationer:
Kursens 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.
Schema
TimeEdit
Se även Schema 2024.pdf under fliken Kursorganisation i Filer/Files på Canvas
Kurslitteratur
Kursbok: "Computer Organization and Design, the Hardware/Software Interface" (5'th edition eller senare),
David Patterson, John L. Hennessy, ISBN: 978-0-12-407726-3. Säljes av Cremona.
|
På Canvas under Filer/Files finns
- Exempelsamling med lösningsförslag. Finns som PDF under Filer/Files.
- LabPMs, inlämningsuppgift, övningsexempel, föreläsningsslides, gamla tentor etc:
- Inspelade föreläsningar på Youtube. (Länkar finns i filen videolänkar.doc under fliken Kursorganisation i Filer/Files på Canvas.)
Kursens upplägg
Organisation
Kursen ges via föreläsningar, räkneövningar, laborationer, samt ett projekt/inlämningsuppgift.
Förkunskapskrav
Kurserna Grundläggande datorteknik och Maskinorienterad programmering (eller motsvarande kurser).
Föreläsningar
Dessa introducerar kursstoffet, illustrerar via exempel, och syftar till att stödja aktiva självstudier. Ca två tillfällen (á 2h) ges per vecka. Detaljerade läsanvisningar finns under fliken Kursorganisation i Filer/Files på Canvas i filerna Kursplan 2024.pdf och Schema. 2024pdf.
Demoräkneövningar
Kursassistenterna räknar utvalda räkneexempel på tavlan.
Räkneövningar
Ger möjligheter att lösa problem och fråga handledare om hjälp. Övningsuppgifterna finns i häftet "Exempelsamling" (se PDF under Dokument). Det finns också fler övningsupgifter i kursboken. "P&H"
Projektuppgift (inlämning)
Projektuppgiften görs i 2-mannagrupper (samma som labgrupperna). Ert resultat (program etc) skall visas upp för labhandledare för körningsgodkännande senast vid ett labtillfälle i den näst sista läsveckan. En skriftlig rapport (på engelska) skall också skickas in här via Canvas. Uppgiften kräver både hårdvaru- och mjukvarulösning och är relativt krävande tidsmässigt. Så det är en god ide att starta tidigt med uppgiften. Simulatorn "MARS" skall användas (med en plug-in som är utvecklad specifikt för denna kurs). MARS är ett Java-program (vilket vid behov kan laddas ner via Files/Filer. Uppgiftsbeskrivningen finns under Files/Filer.
Plagiarismkontroll: Vi använder URKUND (rapport) samt MOSS (kod).
Projektet betygsätts (3,4,5). Kriterium enligt:
M= Exekveringstid x Kostnad (usC$)
5: M <= 650
4: 650 < M <= 775
3: 775 < M <= 900
|
Ni bokar tid för körningsgodkännande (bokning av labplats) via "Doodle" länken (se Laborationer).
Viktigt! Se till att "Delayed branching" är aktiverat i MARS (se "Settings" i MARS).
|
|
Laborationer
Exemplifierar i detalj mycket av det vi går igenom i kursen vad gäller MIPS assembler, pipelining och cacheminnen. Ni skall använda simulatorn "MipsIt" (Windows program) under laborationerna. MipsIt kan laddas ner från "Filer/Files".
Laborationerna utföres i 2-mannagrupper (samma grupperingar som för inlämningsuppgiften). Ni väljer själva lab-partner.
Viktigt! Gör denna labbokning tidigt i kursen eftersom vi använder detta för att skapa projektgrupper här i Canvas till er. Detta behöver ni för att skicka in er rapport (inlämningsuppgiften).
|
Tid: Se Schema 2024.pdf under fliken kursorganisation under Filer/Files i Canvas.
Rum: 4225, För att boka labtid : (Obs! två-mannagrupper; max ett pass (=4h) per vecka får bokas); boka via Doodle'länken (kommer att finnas här).
(Vänligen ge *båda* era namn - för- och efternamn - vi kommer att använda detta för att skapa projektgrupper till er här i Canvas vilket ni måste ha för att kunna skicka in er rapport över inlämningsuppgiften). Första labtillfället sker i läsvecka 3.
Lab PM: Kan laddas ner via Filer/Files.
|
|
Examination
Sker via en skriftlig tentamen, examination av inlämningsuppgift/projektet och godkännande av laborationer.
Betygsgränser för tentamen: 40%/60%/80% av totalpoängen på tentamen ger tentamensbetyget 3/4/5.
Betygsgränser för inlämningsuppgift/projekt: Se ovan under rubriken Inlämningsuppgift/projekt.
Slutbetyg på kursen utgöres sammanviktat av betygen på tentamen och inlämningsuppgift/projekt pss att till tentamenspoängen adderas följande beroende på projektbetyget: 0p/6p/12p då projektbetyg är respektive 3/4/5. Slutbetyget ges sedan av skalan 40%/60%/80% av totalpoängen på tentamen.
Observera att både tentamen och inlämningsuppgift/projekt måste lägst ha betyg 3 för att få ett slutbetyg på kursen.
Tentamenstillfällen 2024: Ordinarie 30/5 (kl 8:30) och omtentamen 20/8 (kl 14).
Glöm inte att du måste anmäla dig för att få tentera: https://student.portal.chalmers.se/sv/chalmersstudier/tentamen/Sidor/sa-anmaler-du-dig.aspx
|
|
Lärandemål Efter fullgjord kurs ska studenten kunna:
- Förklara hur ett datorsystems prestanda kan definieras och mätas
- 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.
- 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.
- Läsa och skriva enkla assemblerprogram för en typisk tre-adress registermaskin.
- På korrekt sätt använda sig av instruktioner som utför aritmetiska operationer, såväl för flyttal som heltal
- 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.
- Översiktligt beskriva de komponenter och principer som används vid konstruktion av flerkä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.
Studentrepresentanter:
Välkommen till kursen!
Per Stenström
|
|
|
Länk till kursplanen på Chalmers, Studieplan.
Länk till kursplanen på Göteborgs Universitet.
The syllabus page shows a table-oriented view of course schedule and basics of
course grading. You can add any other comments, notes or thoughts you have about the course
structure, course policies or anything else.
To add some comments, click the 'Edit' link at the top.