IS1500 Datorteknik och komponenter 9,0 hp

Computer Organization and Components

OBS!

Informationen nedan baseras på en kursplan som ännu inte har börjat gälla.

  • Utbildningsnivå

    Grundnivå
  • Huvudområde

    Teknik
  • Betygsskala

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

Kurstillfällen/kursomgångar

HT19 för programstuderande

HT18 för programstuderande

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.

Kursens huvudsakliga innehå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.

Behörighet

Rekommenderade förkunskaper

DD1340 Introduktion till datalogi, eller motsvarande.

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.

Litteratur

Uppgift om kurslitteratur meddelas i kurs-PM.

Examination

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

Examinator beslutar, i samråd med KTH:s samordnare för funktionsnedsättning (Funka), om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning. Examinator får medge annan examinationsform vid omexamination av enstaka studenter.

Ges av

EECS/Datavetenskap

Examinator

David Broman <dbro@kth.se>

Versionsinformation

Kursplan gäller från och med HT2019.
Examinationsinformation gäller från och med VT2019.