Kursöversikt

Kurs-PM

EDA452/DIT792 Grundläggande datorteknik lp2 HT23 (7,5 hp)

Kursen ges av institutionen för data- och informationsteknik

Kontaktuppgifter

Examinator

Johan Karlsson (mail: johan at chalmers dot se)

Kursassistenter

Elias Hällqvist (mail: haelia at chalmers dot se)

Andreas Wieden (mail: andreas dot wieden at chalmers dot se)

Laborationer och frågeforum:

Roman Melnik (mail: melnik at chalmers dot se)

Kursens syfte

Kursen ska ge grundläggande kunskaper i konstruktion av digitala kretsar samt förståelse för hur sådana kretsar kan användas för att bygga en enkel dator. Kursen ger också en introduktion till programmering i assemblerspråk och maskinspråk. Kursens olika moment ger sammantaget en mycket god teoretisk och praktisk grund för fortsatta studier i såväl datortekniska som programmeringstekniska kurser.

Schema

Se schema i TimeEdit

Kurslitteratur

Kursens upplägg

Undervisningen består av föreläsningar, demonstrationer, gruppövningar samt fyra obligatoriska laborationer.  Föreläsningar och demonstrationer ägnas åt teori och genomgång av övningsexempel. Gruppövningar ägnas främst åt förberedelser inför laborationerna, samt förberedelser inför tentamen.  Laborationerna genomförs i institutionens kurslaboratorium i grupper om två studenter.  Varje laboration utförs normalt under ett 4-timmars schemalagt laborationspass. För att få påbörja ett laborationspass krävs väl utförda laborationsförberedelser som ska visas upp och godkännas av en handledare under den gruppövning som föregår varje laborationspass.   

Inledningsvis beskrivs olika  grundläggande digitala kretsar som kallas logikgrindar. Dessa realiserar olika logikfunktioner som t. ex. OCH, ELLER och ICKE. Logikgrindarna används för att konstruera digitala byggblock som sedan utnyttjas för att bygga en enkel dator.  Datorn och dess byggblock utvecklas och testas stegvis under de tre första laborationerna.  Kursen avslutas med en laboration där studenten skriver program för den enkla datorn i assembler och i maskinspråk.   

Förändringar sedan förra kurstillfället

Mindre uppdateringar av föreläsniningarna. Exempelsamlingen har utökats med fler övningsexempel.  De tidigare obligatoriska kunskapstesterna (Quiz i Canvas) är nu frivilliga och ger nu bonuspoäng på tentan om testet blir godkänt. Minuspoäng på flervalsfrågor i del A av tentan återinförs. (Minuspoängen vid grovt felaktiga svar på flervalsfrågor togs tillfälligt bort under förra läsåret.)

Lärandemål

Kunskap och förståelse:

  • beskriva binära koder som NBCD-kod, Alfanumeriska koder, Excess-n koder och Graykod
  • beskriva addition och subtraktion med 2-komplementaritmetik.
  • beskriva datorns uppbyggnad och funktion, visa hur styrenhet, dataväg, registerfil, aritmetik- och logikenhet (ALU) kopplas samman i en centralenhet på blocknivå
  • beskriva och analysera den automatiska styrenhetens funktion och uppbyggnad samt förklara hur instruktioner byggs upp av styrsekvenser
  • förklara det lagrade programmets princip
  • beskriva en programmerares bild av en processor, (instruktionsuppsättning och adresseringssätt)
  • beskriva elementär undantagshantering i datorsystem.
  • beskriva olika typer av minnesteknologier såsom ROM, PROM, FLASH, statiskt RAM och dynamiskt RAM.
  • förklara begreppet minneshierarki.
  • beskriva synkrona och asynkrona bussprotokoll samt multiplexteknik.

Färdigheter och förmåga:

  • beskriva och använda binära koder för aritmetik.
  • utföra omvandling av tal mellan decimal, binär och hexadecimal representation.
  • utföra addition och subtraktion med binära heltal utan tecken.
  • utföra addition och subtraktion med binära tal med 2-komplement-aritmetik.
  • med hjälp av Boolesk algebra, beskriva, analysera och konstruera sådana kombinatoriska nät (såsom väljare, fördelare, heladderare, skiftregister etc.) som typiskt används för att bygga en dators centralenhet
  • med hjälp av Boolesk algebra, beskriva och analysera sådana sekvensnät (minneselement och räknare) som typiskt används för att bygga en dators centralenhet. 
  • analysera/konstruera en enkel ALU och utforma styrsignalsekvenser för grundläggande ALU-operationer
  • analysera en enkel dataväg, samt konstruera och utforma styrsignalsekvenser för överföringar mellan register, ALU och minne.
  • beskriva, analysera och konstruera enkla assemblerprogram, organiserade i subrutiner.
  • översätta kod mellan maskin- och assemblerprogram (assemblera, disassemblera)
  • beskriva och analysera avkodningslogik för primärminne med digitala komponenter.
  • beskriva och analysera enkel minnesadresserad in-och utmatning.
  • beskriva och förklara de vanligaste primärminnesteknologierna (statiskt/dynamiskt RAM, ROM och FLASH-minnen).

Värderingsförmåga och förhållningssätt:

  • ha förmåga att förstå samspelet mellan maskinvara och programvara.
  • ha insikter i om hur grundläggande kunskaper i datorteknik är en förutsättning för att kunna förstå och arbeta med frågeställningar som rör datorers prestanda, energiförbrukning, miljöpåverkan, realtidsegenskaper, tillförlitlighet och sårbarhet för dataintrång.
  • analysera och konstruera styrsignalsekvenser för maskininstruktioner.
  • konstruera sekvensnät (minneselement och räknare ) som typiskt används för att bygga en dators centralenhet.

 

Examination

Skriftlig tentamen ges den 13 januari 2024 , 3 april 2024 och 22 augusti 2024 

Godkända laborationer (4 stycken).

Slutbetyget bestäms av tentamensresultatet.

Betygsgränser Chalmers: TBD

Betygsgränser GU: TBD

Länk till kursplan i Studentportalen

Kurssammanfattning:

Datum Information Sista inlämningsdatum