bild
Skolan för
elektroteknik
och datavetenskap

DA7009, Datorarkitektur och maskinnära programmering 7,5 hp 2009 (sumaskin09)

Aktuell kursomgång: kursen samläses med DD2377.

Föregående kursomgångar

Studieplan för kursen

Senaste nytt (ändrad 2009-05-28) finns här

Denna kurs samläses som tre kurser:

Kursledare

Inge Frick <inge@nada.kth.se>.

Föreläsningar

Länkar till dessa föreläsningar kommer att aktiveras allt efter som.

Examination

Kursen examineras i tre moment: en tentamen och två labkurser. Lab 1 och 2 utgör labkurs 1. Lab 3 utgör labkurs 2. Samtliga moment betygsätts med betyg A - E. Betyget på labkurs 1 bestäms genom att poängen för lab 1 och lab 2 vägs samman.

Betyg

För godkänt måste alla moment vara godkända (betyg E). Slutbetyg på kursen vägs samman från alla tre moment. Detta betyder att:

Betyg     kräver minst
AA+A+B
BA+A+E, A+B+D, A+C+C eller B+B+C
CA+D+E, B+C+E eller C+C+D
DC+E+E eller D+D+E
EE+E+E

Tentamen

Fredag 13 mars 14-19 i sal L51, L52

Omtentamen

Omtentamen hålls vid behov i maj.

Extentor

Kurslitteratur

För detaljerad läsanvisning se följande.
Huvudlitteratur för kursen är första halvan av:

Computer Systems: A Programmer's Perspective (CS:APP)
Computer Systems: A Programmer's Perspective (CS:APP), International Edition,
Randal E. Bryant and David R. O'Hallaron, Prentice-Hall, 2003. ISBN 0-13-178456-0

Till C-delen av kursen rekommenderas (boken finns eventuellt också på svenska):
The C Computer Language
The C Programming Language, Second Edition,
Brian W. Kernighan and Dennis M. Ritchie, Prentice-Hall, 1988. ISBN 0-13-110362-8

Böckerna finns på kårbokhandeln.

Läsanvisning

I kursen ingår följande material:
  • Utdelat material:
    • Föreläsningsanteckningar
    • Labinstruktioner
  • Ur kursboken (Computer Systems, a programmers perspective) ingår följande:
    • Kapitel 1:
      Ingår:1.1 - 1.2, 1.4
      Kursivt:1.0, 1.3
    • Kapitel 2:
      Ingår:Allt utom nedanstående.
      Kursivt:"Intel IA32 Floating-Point Arithmetic"
    • Kapitel 3:
      Ingår:Allt utom nedanstående.
      Kursivt:3.0, 3.1, 3.13
      Ingår ej:3.14, 3.15
    • Kapitel 4:
      Ingår:Allt
    • Kapitel 5:
      Ingår:Allt
    • Kapitel 6:
      Ingår:Allt utom nedanstående.
      Kursivt:6 - 6.1.2

Laborationer

Ni kan göra laborationerna ensama eller, hellre, två och två. Hur laborationen redovisas finns beskrivet i respektive laborationsinstruktion. Varje laboration som redovisas i tid (lab 1 2009-02-11, lab 2 2009-02-25, lab 3 2009-03-18) ger 1 bonuspoäng vardera till tentamen. Alla Laborationer skall ha redovisats senast 2009-06-09. Det kommer att vara möjlikt att redovisa senare men då ENDAST för betyg godkänt. Det är tillåtet att redovisa en laboration igen för att få högre betyg, men detta måste ske senast 2009-06-09.

Innan ni gör laborationerna måste ni göra följande förberedelser:

  1. Logga in på kursen med kommandot:
    • course join sumaskin09
    Logga ut från datorn och logga in igen. Om ni är två, så måste båda göra detta.
  2. Om ni är två skall efter detta båda göra:
    • course labdir sumaskin09 <användarnamn för den andre gruppmedlemmen>
    Detta kommer att skapa en underkatalog sumaskin09 i era hemkataloger där ni båda har samma rättigheter. Om ni sedan skapar underkataloger i denna så får ni båda samma rättigheter också i dessa kataloger.
Dessutom måste ni registrera er i Rapp-databasen där era resultat kommer att synas allteftersom de rapporteras in. Ni kommer åt Rapp-databasen på följande webb-address: http://nestor.nada.kth.se:8090/rapp

Laboration 2 görs på assembler.nada.kth.se som är en X86-maskin som kör GNU/Linux. För att komma åt assembler, använd antingen telnet eller rxtelnet.

Nedan är några laborationer markerade föregående Detta betyder att det är föregående års laboration. Betygsgränserna kommer att ändras och eventuellt blir det några andra ändringar men förmodligen endast små.

  1. Bitpussel. Hantering av data på bitnivå i ord.
  2. Binär bomb. Läsa maskinkod med hjälp av debugger etc. Senaste resultat på labben
  3. Datorarkitektur. Experiment med simulerade implementationer. Simulatorn finns beskriven här

Datorarkitektur Schema VT 2009

 V   Dag              Tid   Plats  Ämne   Litteratur     
4 Måndag 19/1 13-15 Q34 Kursadministration, översikt
F1: Genomgång av C, huvudsakligen för dem som kan Python eller Java men inte C
CS:APP kap 1
Prog. Lang. C
4 Tisdag 20/1 10-12 L51 F2: Bitar och bytes CS:APP kap 2
5 Måndag 26/1 13-15 Q34 F3: Numbers Integers, F3: Numbers Flyttal CS:APP kap 2
5 Tisdag 27/1 10-12 L51 Assemblerkod: F4A: Introduktion,
CS:APP kap 3
5 Torsdag 29/1 13-17 Karmosin Laboration 1: Bit-pussel
5 Fredag 30/1   8-12 Karmosin Laboration 1: Bit-pussel
6 Måndag 2/2 13-15 Q34 Assemblerkod: F4B: Kontrollstrukturer CS:APP kap 3
6 Tisdag 3/2 10-12 L51 Assemblerkod: F5: Procedurer CS:APP kap 3
6 Torsdag 5/2 13-17 Karmosin Laboration 1: Bit-pussel forts.
6 Fredag 6/2   8-12 Karmosin Laboration 1: Bit-pussel forts.
7 Måndag 9/2 15-17 Q34 Assemblerkod: F6A: Sammansatta data,
F6B: Sammanfattning
CS:APP kap 4
7 Tisdag 10/2 10-12 L51 Datorarkitektur: F7A: ISA F7B: Logisk design CS:APP kap 4
7 Torsdag 12/2 13-17 Karmosin Laboration 2: Binär bomb GDB
7 Fredag 13/2   8-12 Karmosin Laboration 2: Binär bomb GDB
8 Måndag 16/2 13-15 Q34 Datorarkitektur: F8: Sekventiell implementation CS:APP kap 4
8 Tisdag 17/2   8-10 L41 Datorarkitektur: F9: Pipeline implementation CS:APP kap 4
8 Tisdag 17/2 10-12 L51 Datorarkitektur: F10: Sammanfattning CS:APP kap 4
8 Torsdag 19/2 13-17 Karmosin Laboration 2: Binär bomb forts.
8 Fredag 20/2   8-12 Karmosin Laboration 2: Binär bomb forts.
9 Måndag 23/2 13-15 Q34 F11: Maskinoberoende kodoptimering CS:APP kap 5
9 Tisdag 24/2 10-12 L51 F12: Maskinberoende kodoptimering CS:APP kap 5
9 Torsdag 26/2 13-17 Karmosin Laboration 3: Datorarkitektur Simulator
9 Fredag 27/2   8-12 Karmosin Laboration 3: Datorarkitektur Simulator
10 Måndag 2/3 13-15 Q34 F13: Minneshierarkin CS:APP kap 6
10 Tisdag 3/3 10-12 L51 F14: Cacheminnen CS:APP kap 6
10 Torsdag 5/3 13-17 Karmosin Laboration 3: Datorarkitektur forts. Simulator
10 Fredag 6/3   8-12 Karmosin Laboration 3: Datorarkitektur forts. Simulator
10 Tisdag 10/3 13-15 E36 Sammanfattning och genomgång av xtentor
9 Tisdag 10/3 15-19 Grön Laboration 1-3, extra handledning
9 Tisdag 17/3 16-19 Grön Laboration 1-3, extra handledning
11 Fredag 13/3 14-19 L51, L52 Tentamen Allt

Adresser:

KarmosinOsquars Backe 2, 3 tr
L51Drottning Kristinas väg 30, 2tr
Q34Qsquldas väg 10 bv
Copyright © Sidansvarig: Stefan Nilsson <snilsson@nada.kth.se>
Uppdaterad 2012-01-17