Hoppa till huvudinnehållet

IS1500 Datorteknik och komponenter 9,0 hp

I denna kurs kommer du att lära dig hur datorsystem fungerar. Efter att kursen är avslutad kommer du ha en grundläggande förståelse för hur en processor är konstruerad, hur en dator exekverar maskinkod och hur minneshierarkier påverkar exekveringstid. Du kommer också att lära dig grundläggande principer kring parallella beräkningar. Under laborationer kommer du att skriva assembler- och C-kod, se hur program exekveras på inbäddade system, samt konstruera en fungerande encykelsprocessor i en simulerad miljö. Slutligen kommer du i grupper om två studenter att konstruera ett miniprojekt på en inbäddad plattform.

Se kurshemsidan för mer information kring kursen (Kurs PM, föreläsningar etc.).

 

Välj termin och kursomgång

Välj termin och kursomgång för att se aktuell information och mer om kursen, såsom kursplan, studieperiod och anmälningsinformation.

Kursval

Gäller för kursomgång

HT 2024 Start 2024-08-26 programstuderande

Anmälningskod

51197

Rubriker med innehåll från kursplan IS1500 (HT 2021–) är markerade med en asterisk ( )

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.

Kurslitteratur och förberedelser

Särskild behörighet

Slutförd kurs i programmering motsvarande DD1310/DD1311/DD1312/DD1314/DD1315/DD1316/DD1318/DD1331/DD1337/DD100N/ID1018.

Aktivt deltagande i kursomgång vars slutexamination ännu inte är Ladokrapporterad jämställs med slutförd kurs.

Den som är registrerad anses vara aktivt deltagande.

Med slutexamination avses både ordinarie examination och det första omexaminationstillfället.

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.

Utrustning

Ingen information tillagd

Kurslitteratur

Ingen information tillagd

Examination och slutförande

När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

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.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

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.

Ytterligare information

Kursrum i Canvas

Registrerade studenter hittar information för genomförande av kursen i kursrummet i Canvas. En länk till kursrummet finns under fliken Studier i Personliga menyn vid kursstart.

Ges av

Huvudområde

Teknik

Utbildningsnivå

Grundnivå

Påbyggnad

Ingen information tillagd

Övrig information

I denna kurs tillämpas EECS hederskodex, se: http://www.kth.se/eecs/utbildning/hederskodex.