Skip to main content
Till KTH:s startsida

IS1500 Datorteknik och komponenter 9.0 credits

Kurs-PM HT 2024-51197

Version 1 – 2024-10-03 13:02:39

Kursomgång

HT 2024-51197 (Startdatum 2024-08-26, Svenska)

Undervisningsspråk

Svenska

Kursen ges av

EECS/Datavetenskap

Kurs-PM HT 2024

Rubriker markerade med en asterisk ( * ) kommer från kursplan version HT 2021

Innehåll och lärandemål

Kursinnehåll

Kursen ger grundläggande kunskaper om hur en dator fungerar och är uppbyggd, både ur hårdvaru- och programvaruperspektiv. Kursen är uppdelad i sex olika moduler, vilka bland annat inkluderar följande grundläggande begrepp och koncept:

  1. C-programmering och assemblerspråk: pekare, funktioner, stack, assemblerspråk, maskinspråk, instruktionskodning och processorregister.
  2. In- och utmatningssystem: timerfunktioner, avbrott och minnesmappad in- och utmatning.
  3. Digital design: sanningstabeller, grindar, boolesk algebra, multiplexer, avkodare, adderare, kombinatoriska nät, sekvensnät och register.
  4. Processorkonstruktion: aritmetisk-logisk enhet, dataväg (datapath), styrenhet och pipeline.
  5. Minneshierarkier: instruktionscache, datacache och virtuellt minne.
  6. Parallella processorer och program: Amdahls lag, olika varianter av parallellism, samt multicore.

Lärandemål

Efter godkänd kurs ska studenten kunna

  • konstruera maskinnära program i programspråket C och i assemblerspråk,
  • konstruera maskinnära program med in- och utmatning, timerfunktioner och avbrott,
  • analysera hur logiska grindar, funktionsblock, kombinatoriska nät och sekvensnät fungerar,
  • analysera hur en processor fungerar, både med och utan pipeline,
  • analysera hur minneshierarkier fungerar, inklusive cache-strukturer,
  • jämföra grundläggande begrepp inom flerprocessorsystem,
  • förklara och beskriva tekniska lösningar i både tal och skrift.

För högre betyg ska studenten dessutom konstruera mer komplexa program och/eller diskutera samt analysera koncept inom kursen. Detaljerna är specificerade i kurs-PM.

Läraktiviteter

Föreläsningar: Syftet är att ge en introduktion till de olika ämnena.

Övningarna: Syftet är att se hur en lärare löser enkla och komplexa problem, samt att göra det enkelt för studenter att ställa specifika frågor.

Laborationer: Syftet är att få "hands-on" erfarenhet av programmering och design.

Mini Projekt: Syftet är att låta studenterna arbeta i grupp med ett självvalt projekt under hela terminen.

Lunch Q&A: Syftet är att hjälpa studenter med frågor relaterade till kursinnehållet.

Förberedelser inför kursstart

Rekommenderade förkunskaper

Studenten ska kunna skriva, förklara och felsöka program i imperativa programspråk, exempelvis Java, C eller C++, upp till programstorlekar omkring 100 programrader.

Kurslitteratur

Följande är de rekommenderade kursböckerna:

  • David Money Harris and Sarah L. Harris. Digital Design and Computer Architecture, Fifth Edition, Morgan Kaufmann, 2021.
  • David A. Patterson and John L. Hennessy. Computer organization and design : the hardware/software interface: RISC-V edition, First Edition, Morgan Kaufmann, 2018.

Om du har loggat in via KTH:s system är båda dessa böcker tillgängliga online.

Mer information om kurslitteratur för laboratorioner och projektet finns på den här länken.

Utrustning

Miniprojektets och labbarna inlärningsaktivitet utförs på ett special-designat FPGA-kort av typen DE10-Lite, som har en RISC-V processor och flera I/O enheter. Denna utvecklingsmiljö kommer att delas ut till varje elevgrupp (grupp om två studenter) på tredje föreläsningen.

Mer informationen finns på den här länken.

Programvara

Vi använder flera programvaror i kursen:

  • RARS är en simulator för är en RISC-processorarkitektur.
  • DTEK-V tools är en verktygskedja som innehåller en C-kompilator (GCC) samt verktyg för DTEK-V brädan,
  • Logisim är ett pedagogiskt verktyg för att designa och simulera digitala logikkretsar.

Mer informationen finns på den här länken.

Funka rekommenderar också att du informerar läraren (i detta fall Artur Podobas) om alla behov du kan ha. Funka informerar inte automatiskt lärare i kurser.

Examination och slutförande

Betygsskala

A, B, C, D, E, FX, F

Examination

  • ANN1 - Komponentuppgift, 1,5 hp, Betygsskala: P, F
  • LAB1 - Laborationer, 4,5 hp, Betygsskala: P, F
  • TEN1 - Tentamen, 3,0 hp, Betygsskala: A, B, C, D, E, FX, F

Examinator beslutar, baserat på rekommendation från KTH:s handläggare av stöd till studenter med funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.

Examinator får medge annan examinationsform vid omexamination av enstaka studenter.

Avsnittet nedan kommer inte från kursplanen:

Komponentuppgift ( ANN1 )

1.5 hp. Betyg P eller F. Studenten erhåller betyg P (Pass) om LD-LAB:en är godkänd. 

Laborationer ( LAB1 )

4.5 hp. Betyg P eller F. Studenten erhåller betyg P (Pass) om LAB1, LAB2, LAB3, LAB4 och projektet är godkända. 

Tentamen ( TEN1 )

3.0 hp. Betyg A, B, C, D, E, FX, och F. Betyget rapporteras efter godkänd tentamen. Se nedan beskrivningar kring betygskriterier. Notera att det är tillåtet att skriva tentamen flera gånger för att kunna uppnå ett högre betyg (dvs. plussning är tillåtet). 

Anmälan till tentan sker på ladok.

Tentamensstruktur

Del 1: Grundläggande

  • Maximalt 48 poäng (IS1500).
  • 8 poäng på varje modul.
  • Korta frågor med korta svar.

Del 2: Avancerat

  • Omfattande frågor.
  • Diskussion, analys och konstruktion.

Målrelaterade betygskriterier/bedömningskriterier

Kriterier för godkänt:

För att kunna erhålla godkänt betyg (A, B, C, D eller E) krävs att studenten får godkänt på del 1 av tentamen.  Studenten måste erhålla minst 2 poäng på varje modul  samt erhålla totalt 36 poäng på del 1. Notera att det är en direkt koppling mellan de officiella lärandemålen och modulerna i kursen. Dvs. det krävs tillräcklig kunskap för alla lärandemål för att få godkänt på kursen. Lärandemålet att förklara tekniska lösningar muntligt och skriftligt examineras i laborationer och i projektet. 

Betygskriterier:

Att endast få godkänt på del 1 ger betyg E på tentamen. För att erhålla ett högre betyg (A, B, C eller D) krävs att studenten påvisar kunskap i tre förmågor, vilka var och en representeras av en separat fråga i del 2 av tentamen.

  • Fråga 1: Diskussion: Test av förmågan att kunna diskutera och jämföra olika koncept inom kursen. Fokus är på modul 6, men koncept från modul 1, 2, 4 och 5 kan även förekomma. Frågan betygsätts i tre nivåer, S, G och VG med följande kriterier:
    • Tillfredsställande (Satisfactory, S):Vissa av begreppen i frågan är tydligt förklarade.

    • Bra (Good, G): I grund och botten är alla begrepp i frågan tydligt förklarade och vissa av begreppen har relaterats till varandra genom att likheter och skillnader har diskuterats.

    • Mycket bra (Very Good, VG): I grund och botten är alla begrepp i frågan tydligt förklarade och alla begrepp har relaterats till varandra genom att likheter och skillnader har diskuterats.

      Om ingen av de tre nivåerna har uppnåtts betraktas uppgiften som underkänd (Failed, F).

  • Fråga 2: Konstruktion: Test av förmåga att konstruera större C och/eller assemblerprogram. Fokus på frågan är på modul 1 och 2. Frågan är uppdelad i tre delar med olika svårighetsgrader, L1, L2 och L3. Betygsnivåerna S, G och VG sätts med följande kriterier:
    • Tillfredsställande (Satisfactory, S): Uppgiften på nivå L1 har lösts korrekt.

    • Bra (Good, G): Antingen uppgiften på nivå L2 eller uppgiften på nivå L3 har lösts korrekt.

    • Mycket bra (Very Good, VG): Både uppgiften på nivå L2 och uppgiften på nivå L3 har lösts korrekt.

      Om ingen av de tre nivåerna har uppnåtts betraktas uppgiften som underkänd (Failed, F).

  • Fråga 3: Analys: Test av förmåga att analysera C och/eller assemblerprogram gällande pipelines och caches. Fokus på fråga 3 är modulerna 4 och 5.  Frågan är uppdelad på 3 nivåer L1, L2, och L3 och betygssätts på samma sätt som fråga 2.

Slutbetyget beräknas enligt följande:

  • Betyg A: Godkänt på del 1, genomfört godkänt avancerat projekt, samt erhållit 3 st VG eller 2 st VG och ett G på del 2. 
  • Betyg B: Godkänt på del 1, genomfört godkänt avancerat projekt, samt erhållit ett VG och 2 st G eller 2 st VG och ett S på del 2.
  • Betyg C: Godkänt på del 1 samt erhållit 3 st G eller 2 st G och ett S eller 1 st VG och 2 st S eller ett VG, ett G och ett F eller 2 st VG och ett F eller ett VG, ett G och ett S på del II.
  • Betyg D: Godkänt på del 1 samt erhållit 3 st S eller ett G, ett S och ett F eller 2 st G och ett F eller ett VG, ett S och ett F eller ett VG och två F eller ett G och två S på del 2. 
  • Betyg E: Godkänt på del 1.
  • Betyg FX: Minst 36 poäng på del 1 och som mest en modul med mindre än 2 poäng.
  • Betyg F: i annat fall

Avancerat projekt: För att erhålla betyg A eller B på den skriftliga tentamen måste studenten ha fått godkänt på ett avancerat projekt innan tentamenstillfället och inom samma kursomgång. Dvs, ett avancerat projekt möjliggör att man kan erhålla betyg A eller B på den första ordinarie tentamen och de följande omtentorna innan kursen går igen. 

Möjlighet till komplettering

Om studenten erhåller FX på tentamen så erbjud muntlig examination gällande komplettering av den modul som studenten missade. Vänligen kontakta examinatorn ifall du erhållit FX på tentamen. Se ovan beskrivning om vad som gäller för att få FX.

Möjlighet till plussning

Plussning av betyg är tillåtet. Vänligen kontakta studentsupport för att anmäla dig till tentamen. 

Om du skulle plussa och få ett lägre betyg än det som redan rapporterats i LADOK behåller du det betyget som finns i LADOK. Dvs. plussning kan inte sänka ditt betyg. Notera att om du försöker uppnå betyg A eller B vid plussning måste du fortfarande fått godkänt på ett avancerat projekt under samma kursomgång som du genomför plussning av tentamen.

Resultatrapportering

Slutbetyg

Slutbetyg för kursen rapporteras när LAB1, ANN1 och TEN1 är godkända i LADOK. Slutbetyget är samma som resultatet på TEN1.

Etiskt förhållningssätt

  • Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
  • Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
  • Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.

Avsnittet nedan kommer inte från kursplanen:

Hederskodex
Var vänlig se till att du är medveten om och att du förstår KTH-EECS-Code of Honor. Links till en extern webbplats.

Policy mot plagiat
Observera att alla former av fusk och plagiat kommer att rapporteras. Se KTH:s policy för hantering av plagiat.

  • Labs och projektkod. Du kan samarbeta och diskutera med vem som helst, men du måste kunna förklara all kod du presenterar för oss individuellt, inklusive din labpartners kod. På begäran i labb och projektinstruktioner måste du tydligt deklarera vem som har skapat koden du visar vid laboratorieundersökning.
  • Skriftliga rapporter och projektöversikter. Du får inte kopiera, klippa ut eller klistra in text i din rapport som du inte har skrivit själv. Det enda undantaget är om du citerar texten ordentligt och ger ett citat till den ursprungliga källan.
  • Skriftligt prov. Du får ta med ett handskrivet A4-papper. Du kan skriva på båda sidor. A4-papperet får inte skrivas ut eller kopieras. Alla andra hjälpmedel (till exempel miniräknare eller läroböcker) är inte tillåtna.

Ytterligare Information

Ingen information tillagd

Fakta om kursomgång

Startdatum

2024-08-26

Kursomgång

  • HT 2024-51197

Undervisningsspråk

Svenska

Kursen ges av

EECS/Datavetenskap

Kontakter

Kursansvarig

Lärare

Examinator