IS1200 Datorteknik, grundkurs 7,5 hp

Computer Hardware Engineering

  • Utbildningsnivå

    Grundnivå
  • Huvudområde

    Teknik
  • Betygsskala

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

Kurstillfällen/kursomgångar

VT19 TCOMK för programstuderande

VT19 för programstuderande

VT20 för programstuderande

VT20 TCOMK för programstuderande

Lärandemål

Efter kursen ska studenten kunna:

  • Konstruera maskinnära program i programmeringsspråket C och i assemblerspråk. 
  • Analysera hur en processor fungerar, både med och utan pipeline.
  • Förklara hur minneshierarkier fungerar, inklusive cache-strukturer.
  • Konstruera maskinnära program med in- och utmatning, timerfunktioner och avbrott. 
  • Beskriva grundprinciper för flerprocessorsystem och hur de kan programmeras.
  • Förklara och beskriva tekniska lösningar i både tal och skrift.

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.

Notera att modul 3 är rekommenderad förkunskap till kursen och kommer inte att behandlas på föreläsningar eller laborationer. Dock kommer materialet för modul 3 vara tillgängligt på kurshemsidan, då det är förkunskap till modul 4.

Behörighet

  • Registrerad på kurs IE1204 eller IE1205
  • Registrerad på kurs ID1018 eller ID1004

Rekommenderade förkunskaper

Grundläggande kunskaper i programmering och digital elektronik.

Litteratur

Utvalda kapitel från böckerna:

  • David Money Harris and Sarah L. Harris. Digital Design and Computer Architecture, Second Edition, Morgan Kaufmann, 2012.
  • David A. Patterson and John L. Hennessy. Computer Organization and Design – the Hardware/Software Interface, Fifth Edition, Morgan Kaufmann, 2013.

I kurslitteraturen ingår även material från föreläsningar, laborationer och övningar.

Examination

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

Ges av

EECS/Datavetenskap

Examinator

David Broman <dbro@kth.se>

Övrig information

Utrustning: Gärna en egen bärbar dator.

Kursen utvärderas och utvecklas i enlighet med KTH:s policy för Kursanalys.

Versionsinformation

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