KURS-PM (Denna sida ändrad 2014-09-06)


KURS:  LEU431
Digital- och datorteknik för DAI1,
EI1 och MeI1 (4,5p+3p)
Digital and computer techniques
LÄSÅR:  2014/2015, LP 1 o 2


Kursens organisation
och syfte:
Digital- och datorteknik är en grundläggande kurs i ämnesområdet. Den ges i årskurs 1 på högskoleingenjörsutbildningen.

Kursen omfattar integrerade föreläsningar och demonstrationer, konsultationer, simulatorövningar och laborationer.
 
Simulatorövningarna är tillsammans med laborationerna utformade så att de täcker en stor del av kursen. På laborationerna ges vissa praktiska erfarenheter av digitala kretsars funktion, en enkel dators konstruktion och instruktionsuppsättning samt programmering i assemblerspråk. En laborant som själv har tänkt igenom och löst alla uppgifter lyckas normalt bra vid tentamen.

Efter avslutad kurs skall deltagare kunna analysera och konstruera enkla digitala system samt ha kännedom om principerna för en dators uppbyggnad, arbetssätt och användning.

Information om kursen: Kurshemsidan nås enklast från studentportalen.
Den fullständiga www-adressen är:
http://www.cse.chalmers.se/edu/year/2014/course/LEU431/

Examinatorer och föreläsare: Lars-Eric Arebrink, rum 431, plan 4, hus Jupiter, telefon 772 5718, e-post:  lea@chalmers.se
Jan Jonsson, rum 417, plan 4, hus Jupiter, telefon 772 5220, e-post: janjo(at)chalmers.se

Labchef:
Lennart Hansson,  rum 441, plan 4, hus Jupiter, tel 772 1681, e-post: hansson@chalmers.se
Handledare: (Kompletteras senare.)

Kurs- representanter: D: Mehdi Adelzadeh, e-post: mehdiad (lägg till @student.chalmers.se)
D: Christian Karlsson, e-post: chriska
D: Danny Lam, e-post: ldanny
E: Carl Bierich, e-post: bierich
Me: Kristoffer Bärgman, e-post: kribar

Lektioner: Lektionerna är uppdelade i föreläsningar/demonstrationer i storgrupp och handledd självverksamhet (övning) vid simulatorer i mindre grupper. Simulatorövningarna ägnas åt att utföra det arbete som anvisas som självverksamhet i veckoplaneringarna och förberedelsearbete för laborationerna. Vid simulatorövningarna kan man också fråga handledarna om sådant i kursen som man inte har förstått.

Laborationer: Fyra obligatoriska  laborationer skall utföras i främst tvåmannagrupper. De två första laborationerna utförs under läsperiod 1 och de två sista under läsperiod 2. Laborationerna startar i läsvecka 4 (v39) i läsperiod 1.  Mera information om simulatorövningarna och laborationerna finns här.

Lärandemål: Om digitalteknik
 
* beskriva och använda binära koder.
  Detta betyder att man till exempel ska kunna
  - utföra omvandling av tal mellan decimal, binär och hexadecimal representation.
  - utföra addition och subtraktion med binära heltal.
  - känna till hur multiplikation och division utförs i binär representation.

  * beskriva och analysera datorns uppbyggnad som programmerbart digitalt system.
  Detta betyder att man till exempel ska kunna
  - beskriva, analysera och konstruera sådana kombinatoriska nät och sekvensnät som typiskt
     används för att bygga en dators centralenhet. De kombinatoriska nät som här avses utgörs
     huvudsakligen av enklare nät såsom väljare, fördelare, heladderare, bitskiftare etc. De
     sekvensnät som här avses utgörs huvudsakligen av minneselement och räknare.

   Om datorns uppbyggnad och funktion
  * beskriva datorns uppbyggnad och funktion.
  Detta betyder att man till exempel ska kunna
  - beskriva på blocknivå hur styrenhet, dataväg, och aritmetik-/logikenhet (ALU)
     kopplas samman i en centralenhet.
 
  * beskriva och analysera/konstruera centralenhetens grundläggande delar.
   Detta betyder att man till exempel ska kunna
   - 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.

  * förklara hur instruktioner byggs upp av styrsekvenser.
  Detta betyder att man till exempel ska kunna
  - förklara och med exempel beskriva instruktionsformat, instruktionsavkodning och
     instruktionsutförande.

  * beskriva och analysera den automatiska styrenhetens funktion och uppbyggnad.
  Detta betyder att man till exempel ska kunna
  - beskriva hur styrsignalsekvenser kan realiseras med fast kopplad logik.
  - analysera och konstruera styrsignalsekvenser utgående från instruktioners semantik.

  * förklara primärminnets grundläggande funktioner samt beskriva, analysera och konstruera
     primärminnets anslutning till centralenheten.
  Detta betyder att man till exempel ska kunna
  - beskriva olika typer av primärminnen såsom ROM, PROM, FLASH, statiskt RAM och
    dynamiskt RAM, samt förklara respektive minnestyps användbarhet för olika ändamål.
    - beskriva, analysera och konstruera avkodningslogik för primärminne med digitala
     komponenter.
  - beskriva, analysera och konstruera enkel minnesadresserad IO med digitala komponenter.
  - förklara/beskriva hur centralenhet och minne kopplas samman med hjälp av datorns
     bussystem.
 
  * beskriva elementär undantagshantering i datorsystem.
  Detta betyder att man till exempel ska kunna
  - förklara undantagstyper såsom återstart, programvaruinitierade undantag samt externt
     genererade undantag (avbrott).
  - beskriva hur återstart och programvaruinitierade undantag utförs i styrenheten.
  - beskriva hur avbrott hanteras i centralenheten.
 
Om assemblerprogrammering
  * förklara det lagrade programmets princip.
  Detta betyder att man till exempel ska kunna
  - beskriva hur en sekvens maskininstruktioner, som ordnats sekvensiellt i minnet, utförs.

 * beskriva programmerarens bild av maskinen, dvs instruktionsuppsättning och
     adresseringssätt.
  Detta betyder att man till exempel ska kunna
  - förklara olika allmängiltiga typer av instruktionsgrupper och adresseringssätt samt beskriva
     dessa med exempel.  
 
* beskriva, analysera och konstruera enkla assemblerprogram, organiserade i subrutiner.
  Detta betyder att man till exempel ska kunna
  - strukturera program med hjälp av subrutiner och stackhantering.
  - skriva små rutiner innefattande programstyrd och avbrottsstyrd in- och utmatning samt
     fördröjningar.


Förändringar: Inga större förändringar jämfört med kursen HT13.

Jämfört med kursen HT12 har den tidigare använda FLEX-datorn i huvudsak ersatts av den snarlika FLIS-datorn, som har ett enkelt avbrottssystem. Anslutning av minnesmoduler och in-/utportar till synkron buss har tillkommit liksom de aritmetiska operationerna heltalsmultiplikation och heltalsdivision av binära tal.
 
Examination: En 4-timmars skriftlig tentamen på hela kursen (4,5p) och genomförda laborationer (3p).
 
Det enda tillåtna hjälpmedlet är en av institutionen utgiven lista med FLIS-processorns instruktioner (INS1). 

Betyg U, 3-5 ges baserat på tentamensresultat. För godkänt slutbetyg (3-5) fordras godkänd tentamen och godkänd laborationskurs.
Tentamen:
Omtentamen1:
Omtentamen2:
Måndag 12 januari 2015, kl. 14:00-18:00
Torsdag 16 april 2015, kl. 8:30-12:30
Torsdag 20 augusti 2015, kl. 8:30-12:30
 

Kurslitteratur:

(KMP) Johnson, Larsson & Arebrink: Grundläggande digital- och datorteknik, Del 1, 2008. Digital teknik. Finns på DC.
(ARB1) Arbetsbok för Digiflisp, R. Johansson, Studentlitteratur, 2013. ISBN: 978-91-44-07596-9.
Finns på
Kokboken, Cremona och DC.
(INS1)
(INSX)
Instruktionslista för FLISP. Inst för datorteknik, Chalmers, 2014. Finns på DC och som pdf-fil.
Instruktionslista för FLEX. Inst för datorteknik, Chalmers, 2014. Finns endast som pdf-fil.
(LAB) Laborations-PM nr 1-4. Inst för datorteknik, Chalmers, 2014. Utdelas, men finns också som pdf-fil. 
(EXT)
Diverse material som är tillgängligt via länkar från kurssidorna.
(SIM) Simulatorer och utvecklingsverktyg för digitala kretsar, FLEX- och FLIS- processorn.
Programvara för PC (Windows), hämtas via kurshemsidan

Distribution av kursmaterial: Sker genom DC, som står för Elektroteknologernas distributionscentral på campus Johanneberg.