Föreläsningar hittills: Digital- och datorteknik, Lp 4, 2012/2013.

Uppdaterad 2013-08-26.

Kapitelhänvisning "Kap" avser (KMP), Arb avser arbetsbok och "Ext" avser extrautdelat material.
För övningsuppgifter gäller att där inte annat anges finns övningsuppgifterna i (KMP).


Veckans föreläsningar

v 12(Lv1) Sal
 Kap
Innehåll
Föreläsning
måndag 18/3
kl 8.00-9.45
EA

Kurspresentation.

Introduktion - digitalbegreppet, digitala system.
Ext-1 Introduktionsexempel. 

Kort genomgång av veckans stoff.
Kap 1 Inledning. (Läs hemma översiktligt!)
Kap 2 2.1 Tal och talsystem.  Positionssystem
Kap 2 2.2 Binära tal. OH Binhex
Ext-2 Omvandling mellan talsystem. Något om avrundning.
Föreläsning
måndag 18/3
kl 13.15-15.00
EA
Kap 2 2.3 Excess-2n-1-kodning. 2.4 Graykoder. 2.5 Binärkodning av decimala siffror. 2.6 Ej nu. 2.7 Alfanumeriska koder. 2.8 Felupptäckande kod. Exempel på excess-8 kod.

Kap 2
Där inte annat anges finns övningsuppgifterna i (KMP).
Självverksamhet (hemma): uppg 2.1a,c,d,f; 2.2a,c; 2.3a,c,d; 2.4c; 2.5a,b,c; 2.6a,c,d; 2.7b,d; 2.8a,c,d;  2.9a,b; 2.10b; 2.12; 2.13; 2.14; 2.15; 2.26; 2.27.
Ext-18
Själv: uppg 1.1 - 1.13.
Kap 3 Switchnätalgebra.
3.1 Ej.
3.7 Grindsymboler och grindnät. Grafiska symboler för de grundläggande logikoperationerna (Tabell 3.11).
3.2 Boolesk algebra. Funktionstabell. Räkneregler (Viktiga satser i boolesk algebra).
Räkneregler och motsvarande grindnät
Föreläsning 3 
måndag 18/3
kl 15.15-17.00
EA
Kap 3 3.2 Boolesk algebra. (forts.) Förenkling av grindnät genom förenkling av motsvarande booleska uttryck. Ex 3.6 och 3.7 sid 3-9.
3.3 Ej.
3.4 Booleska uttryck och booleska funktioner. (Läs själv!)
Ext-3 Mintermer. Disjunktiv (SP) normal form. Maxtermer. Konjunktiv (PS) normal form. (Behandlar avsnitt 3.5 och 3.6 i KMP.)
Kap 3 3.8 Minimering av booleska uttryck. Karnaughdiagram. Disjunktiv (SP) minimal form. Konjunktiv (PS) minimal form.   
ARB 1. Transistorn som strömställare. (Läs själv!)
Själv:
uppg 1.1; 1.2; 2.1.
Föreläsning
onsdag 20/3
kl 10.00-11.45
EA
Kap 3 3.7 Grindnät för SP-form och PS-form.
3.8 Minimering av booleska uttryck. Karnaughdiagram. (forts.)
Ext Exempel på minimering med karnaughdiagram.
Kap 3 3.7 NAND- och NOR-logik.
3.7 XOR-grindar.   
Föreläsning
onsdag  20/3
kl 13.15-15.00
EA
Ext-4 Praktikfall, minimering av grindnät. Disjunktiv (SP) och konjunkitv (PS) lösning.
Konvertering av SP- och PS-grindnät till NAND- resp. NOR-lösning.
ARB 2. Grindar. (Läs själv!) Själv: uppg 2.2-2.5.
3. Kopplingsboxen. (Läs själv!)
Själv: uppg 3.1-3.14.
Kap 4 Kombinatoriska nät. 
Don't care-termer. Uppgift 4.14.
ARB 4. Konstruktion av kodomvandlare för en digital vinkelgivare. (Läs själv!)
Själv: uppg  4.1-4.3.

Demo av DigiFlisp-simulatorn inför simulatorövningarna.
Föreläsning 6
(Demo)
torsdag  21/3
kl 8.00-9.45
EA
KMP 4.2 Några vanliga kombinatoriska nät. 
- Väljare och fördelare.  OH-funktionstabell.
Realisering av funktion med väljare. Exempel.
Demo: KMP uppg 2.1a,f; 2.3a; 2.5a; 2.6a; 2.13; 3.4b; 3.5a; 3.13d; 3.14c.  Demo1
Själv: KMP 3.4c; 3.5b,c; 3.7- 3.9; 3.12 - 3.18; 3.24; 3.25; 3.30 - 3.40; 4.1-4.6 Ext-5
Demo: KMP uppg 4.15. (NAND+XOR) Själv: KMP uppg 4.12; 4.16; 4.20.
Själv: KMP uppg 4.22, 4.23, 4.25. (Väljare)
Ext-18 Själv: uppg 2.1 - 2.17.

v 15(Lv2) Sal
 Kap
Innehåll
Föreläsning
måndag 8/4
kl 8.00-9.45
EA

Kort genomgång av veckans stoff.
Kap 4 4.2 Några vanliga kombinatoriska nät. 
  - Väljare och fördelare. Realisering av funktion med väljare. Exempel.
  - Kodomvandlare.
ARB 6. Väljare, fördelare och binäravkodare. (Läs själv!)
Själv: uppg  6.1-6.6.
Kap 6 Aritmetik. Representation av heltal med ett begränsat antal sifferpositioner.
6.2 Addition och subtraktion för tal med konstant ordlängd.
  - Aritmetik för decimala heltal utan tecken. Addition. Subtraktion.
  - 10-komplementaritmetik.
  - Aritmetik för binära heltal utan tecken. Addition. Subtraktion. Binär addition.
  - 2-komplementaritmetik.   Binär subtraktion.
Ext-6 Förenklad förklaring i anslutning till kapitel 6, avsnitt 6.3 och 6.4. (Inledning.)
Föreläsning 8
måndag 8/4
kl 13.15-15.00
EA
Ext-6 Förenklad förklaring i anslutning till kapitel 6, avsnitt 6.3 och 6.4. (forts.)
Kap 6


Ext
6.3 Addition och subtraktion för tal med tecken.
  - Representation av heltal med tecken.
  - Tecken-beloppsrepresentation och baskomplementrepresentation.
10-komplementrepresentation. Exempel.
Kap 6

Ext
6.3 Addition och subtraktion för tal med tecken.
  - Addition och subtraktion av binära heltal med tecken.
2-komplementrepresentation. Exempel.
Flaggor som används vid aritmetiska operationer (N, Z, V och C).
Kap 6
Demo: KMP uppg 6.5a,c,f; 6.8c,d,i,j. (Aritmetik)
Själv: KMP uppg 6.1a,d,h,k; 6.4b,c; 6.5b,d,g; 6.6b; 6.7a,c; 6.8a,b,e,f,g,h.
Kap 4 4.2 Några vanliga kombinatoriska nät.
  - Addition av binära tal. Heladderare.
  - 4-bitars heladderare.
Föreläsning
onsdag 10/4
kl 10.00-11.45
EA
Kap 4 4.2 Några vanliga kombinatoriska nät.
  - Addition av binära tal. Heladderare.
  Demo: KMP  uppg 4.26.
Kap 4 4.2 Några vanliga kombinatoriska nät.
  - Krets för subtraktion.
ARB 5. Kombinatorik för addition och subtraktion. (Läs själv!)
Själv: uppg 5.1-5.5.
Ext Beskrivning av aritmetik- logikenhet (ALU). (ALU'n för laboration 1 och 2.)
Aritmetik- logikenhet för FLEX
ARB 7. ALU, aritmetik- och logikenheten. (Läs själv!)
Själv: uppg 7.1-7.8.
Ext Något om fördröjning hos verkliga grindar. (På tavlan.)
Kap 5 Sekvensnät.
5.1 Latchar. SR-latchen. Klockad (grindad) SR-latch. D-latchen.
Föreläsning 10
torsdag  11/4
kl 8.00-9.45
EA
Kap 5 Sekvensnät.
5.2 Vippor. SR-, D-, JK- och T-vippan.
Exempel på D-vippa med grindad laddingång.
Demo: uppg 5.1; 5.3; 5.7; 5.8. (Latchar och vippor.)
Själv:
  uppg 5.2; 5.6; 5.9.
ARB 8. Minneselement. (Läs själv!)
Själv: uppg 8.1-8.6.
Kap 5 Sekvensnät.
5.3 Register.
Kap 4 4.3 Möjligheter att koppla ihop logikkretsars utgångar.
  - "Trådad" logik.
  - "Three-state". (Se sidan 7-12.)
ARB 9. Transmissionsgrinden. (Läs själv!)
Själv: uppg 9.1.
Kap 7 Systemexempel.
7.1 Klockning.
7.2 Register i dataväg.
  - Registeröverföring
ARB 10. Registeröverföring. (Läs själv!)
Själv: uppg 10.1-10.6.
Föreläsning 11
fredag  12/4
kl 10.00-11.45
EA
Kap 7 Systemexempel.
7.3 ALU i dataväg.
7.4 Registeröverföring i dataväg med register och ALU.
Demo: uppg 7.3a,e.
Själv: uppg 7.3b,c,d,f,g,h,i,j.
ARB 11. Dataväg med ALU. (Läs själv!)
Själv: uppg 11.1-11.12.
Kap 7 7.5 Minne i dataväg. RWM-bild.
Demo: uppg 7.4a.
Själv: uppg 7.4b,c,d,e,f.
ARB 12. Dataväg med flaggregister och minne. (Läs själv!)
Själv: uppg 12.1-12.19.
Ext-18 Själv: uppg 6.1-6.7.
Kap 5 Sekvensnät.
5.4 Räknare.

v 16(Lv3) Sal
 Kap
Innehåll
Föreläsning 12 
måndag 15/4
kl 8.00-9.45
EA

Kort genomgång av veckans stoff.
Analys av synkrona sekvensnät. Sidan 2 och 3.
KMP Analys av synkrona sekvensnät.
Demo:
uppg 5.13; 5.14.
Själv: uppg 5.10; 5.11; 5.12.
Föreläsning 13
måndag 15/4
kl 13.15-15.00
EA
Ext-7 Demo: uppg X.1.  (Analys av synkrona sekvensnät.)
Själv: uppg X.2; X.3; X.4.
Ext-18
Själv: uppg 5.1-5.11.
ARB 13. Räknare och (andra) tillståndsmaskiner. (Läs själv tom sid. 87!)
Själv: uppg 13.1-13.3.
Kap 5 Excitationstabeller för SR-, D-, JK- och T-vippan.
Synkrona räknare. Syntes (konstruktion) av autonom synkron räknare.
Demo:
Öuppg 1a (sid 4) (D-vippor.); X.5. (JK-vippor.)
Föreläsning 14 
onsdag 17/4
kl 10.00-11.45

Ext
Demo: Tenta 2011-10-17 uppgift 3b. (T-vippor.)
Själv: Öuppg 1c,d (sid 4). (JK- och T-vippor.)
Kap 5 Själv: Exempel 5.22 sid 5-26 (T-vippor.) och 5.24 sid 5-30. (JK-vippor.)
Ext-7 Syntes (konstruktion) av synkron räknare med räknevillkor.
Demo: Öuppg 2 (sid 4). Tenta 2010-12-13 uppgift 3b.
Själv: X.7-10.
Kap 5
Själv:  Exempel 5.23 sid 5-28. (T-vippor.)
ARB 13. Räknare och (andra) tillståndsmaskiner. (Läs själv sid. 88-90!)
Själv: uppg 13.4-13.6.
ARB 13.6 Konstruktion av sekvensierare för FLISP.
Demo: uppg 13.7.
Ext-18 Själv: uppg 5.12-5.19.
Ext-8 Datorn enligt von Neumann. von Neumannprocessorn. (Inledning.)
Föreläsning 15
torsdag  18/4
kl 8.00-9.45
EA

Datorn enligt von Neumann. von Neumannprocessorn.
FLEX- eller FLIS-datorn utifrån set. FL-datorn. 
Ext

FLEX-processorn, programmerarens bild. "Programmerarens FLEX-processor".
Instruktionslista för FLEX-datorn
FLIS-processorn, programmerarens bild. "Programmerarens FLIS-processor".


Ext-8
INSX
Instruktionsuppsättning för FLIS-processorn. 
Instruktioner för enkel dataflyttning. Load och Store.
Adressering. (Immediate, Absolute och Inherent)
Reducerad instruktionslista för FLISP-datorn
Ext-8 Demo: uppg F.3. Handassemblering.
Själv: uppg F.1; F.4.
Instruktionsuppsättning för FLIS-processorn. 
Demo: uppg F.2a. (Disassemblering.)
Själv: uppg F.2b,c.

v 17(Lv4) Sal
 Kap
Innehåll
Föreläsning 16 
måndag 22/4
kl 8.00-9.45
EA

Kort genomgång av veckans stoff.
Start av datorn (RESET).
Instruktioner för enkel dataflyttning.
Logikinstruktioner. Demo: uppg F.5; F.6.
Aritmetikinstruktioner. Demo: uppg F.7.
Själv: uppg F.8; F.9; F.10.
Instruktioner för ovillkorligt hopp med absolut och PC-relativ adressering.
Demo: uppg F.11; F.12.
ARB 15. Maskinprogrammering. Sidan 146-152 och 154-156. (Läs själv!)
Själv: uppg 15.1-15.4 och 15.6.
Föreläsning 17
måndag 22/4
kl 13.15-15.00
EA
Ext-8 Komplettering av datavägen till en von Neumann-processor, FLEX-processorn. sid F-1 - F-9. FLEX-dator, detaljbild.
Ext-8 Detaljerad beskrivning av FLEX-processorns arbetssätt. RESET. sid F-10 - F-12.
Ext-8 Detaljerad beskrivning av FLEX-processorns arbetssätt. FETCH och EXECUTE. sid F-13 - F-14.
Ext-13 RTN-beskrivning av FLEX-instruktioner.
Demo: Uppg 1a,b.
Själv:
Uppg 2a,b,c; 3a,b.
Instruktionslista för FLEX-datorn
Ext-14 FLEX-processorns fast kopplade styrenhet. Implementering av ovillkorliga instruktioner. Fast kopplad styrenhet.
Föreläsning 18 
onsdag 24/4
kl 10.00-11.45
EA
Ext
Skillnader mellan FLEX-processorn och FLIS-processorn.
FLIS-dator, detaljbild. FLIS-processorns ALU.
ARB 14. Den automatiska styrenheten. (FLISP)
14.1 Manuell funktion.
Själv: uppg 14.1 och 14.2.
ARB 14. Den automatiska styrenheten. (FLISP)
14.2 Automatisk funktion. (Läs!)
 - RTN-beskrivning och styrsignalsekvenser för RESET, FETCH och NOP.
Demo: uppg 14.5 - 14.7.
14.3 Konfigurationsfil för fast styrenhet. (Läs, viktigt inför laboration 3!)
Själv: uppg 14.8. 
ARB
INSX
14.4 Implementering av instruktioner.
(Läs och välj ut en del uppgifter i detta långa avsnitt!)
- RTN-beskrivning och styrsignalsekvenser för några olika EXECUTE-sekvenser.
Demo:
   - INCA
   - LDX  #Data
Ext-18 Själv: uppg 7.5; 7.10.
Föreläsning 19
torsdag  25/4
kl 10.00-11.45
EB
OBS!
ARB 14.4 Implementering av instruktioner.
- RTN-beskrivning och styrsignalsekvenser för några olika EXECUTE-sekvenser.
Demo:
   - ADDA Adress
   - BRA  Adress  Implementering av branch-instruktioner.
INSX Testinstruktioner.
Instruktioner för villkorliga hopp med PC-relativ adressering.
ARB 14.4.6 Villkorlig programflödeskontroll
Implementering av villkorliga instruktioner. Implementering av branch-instruktioner.
Ext-18
Demo: uppg 8.3a,c,e,g. (Branch-instruktioner.)
Själv: uppg 8.1, 8.2, 8.3b,d,f,h.
Ext In- och utportar på FLISP-datorn. FLISP-dator med I/O-portar

v 18(Lv5) Sal
 Kap
Innehåll
Föreläsning 20 
måndag 29/4
kl 8.00-9.45
EA

Kort genomgång av veckans stoff.
Ext-12 Flödesplan. Program för multiplikation genom upprepad addition.
INSX Instruktioner för skift och rotation.
Ext-8 Demo: F.14a-d. Beräkning av exekveringstid.
Ext-15 Assemblator för FLIS-processorn. 
Föreläsning 21
måndag 29/4
kl 13.15-15.00
EA
Ext-15 Assemblator för FLIS-processorn. (forts.) Assembler directives.
Ext Yttre enheter som kan anslutas i simulatorn. I/O-enheter. Program.
ARB 16 Assemblerprogrammering
16.1 Programutveckling i assemblerspråk. (Läs själv!)
Själv: uppg 16.1 - 16.3.
16.2 Simulatorns grundläggande funktioner.
16.2.1 In- och utmatning.
Själv: uppg 16.4 och 16.5.
ARB
Ext
16.2.10 Enkel styrning av borrmaskin. (Läs sidan 177 och 178.)
Demo: uppg 16.16 (modifieradProgram.
Användning av indexregistret X, Y eller SP.
Instruktioner för "Load Effective Address, LEA".
Demo:
F.16 Lösning.
ARB
14.4.1 Implementering av instruktioner. (Läs själv!)
Själv: uppg 14.9 - 14.11.

Något om indirekt adressering. (På tavlan.)
INSX Användning av stack. Subrutiner.
ARB 14.4.11. Stackoperationer. (Läs själv!)
Själv: uppg 14.26 och 14.27.
Föreläsning 22
torsdag  2/5
kl 8.00-9.45
EA
Ext-10 Subrutinexempel.  Ext-10.asm    Ext-10 (listfil, pdf)
Användning av indexregistret X.
Demo: F.15; X.17F.19Själv: X.15a; X.17; F.17; X.16.
Användning av stack. Subrutiner.
Demo: uppg F.20; F.23.

v 19(Lv6) Sal
 Kap
Innehåll
Föreläsning 23 
måndag 6/5
kl 8.00-9.45
EA

Kort genomgång av veckans stoff.
Användning av stack. Subrutiner.
Demo: uppg F.25.
Själv:  uppgift F.21-24; X.19; X.20.
Ext Demo: Uppgift 16.16 med fördröjning. Fördröjningsrutin.
Ext Assemblerprogrammering av FLIS-datorn. Lösningar.
Demo: Uppgift 3 och 1.
Själv:
Assemblerprogrammering av FLIS-datorn. Uppgift 1-29.
Föreläsning 24
måndag 6/5
kl 13.15-15.00
EA
Ext Instruktionen DAA (Decimal adjust ackumulator A, OP-kod E016) som fanns, men nu är borttagen. H-flaggan.
Ext Assemblerprogrammering av FLIS-datorn. Lösningar.
Demo: Uppgift 2, 5 ,6, 4, 7, 12.
Själv: Alla assembleruppgifterna i de gamla tentorna med lösningar är lämpliga att öva på. Eftersom uppgifterna i de gamla tentorna är avsedda för FLEX-datorn bör dock du anpassa dem för FLIS-datorn, dvs. annan flaggsättning, inget B-register och ett extra indexregister Y samt nya adresser för in- och utportar.
Föreläsning 25
onsdag  8/5
kl 10.00-11.45
EA
Ext Något om hur FLIS-processorn läser och skriver i minnet.
Krets för detektering av läsning eller skrivning på en viss minnesadress.
ARB
Ext
INS1
Yttre styrning av FLIS-processorn. Avbrottssystemet hos FLIS-processorn.
Instruktioner med koppling till avbrottssystemet.
(ANDCC #$EF, ORCC #$10 och RTI).
Exempel på användning av avbrottssystemet.
Händelsestyrda avbrott. Exempel1, Exempel2, Egg-clock.
Tidsstyrda avbrott.
Realtidsklocka (RTC). Pseudoparallellism.

v 20(Lv7) Sal
 Kap
Innehåll
Föreläsning 26 
måndag 13/5
kl 8.00-9.45
EA

Kort genomgång av veckans stoff.
Ext-17 13.1 Något om primärminnestyper. 
Ext-17 13.2 Processorn CPU12. Något om hur processorn CPU12 läser och skriver i minnet.
13.3 Minnesmoduler.
13.4 Anslutning av minnesmoduler till CPU12. Exempel 13.3.
13.5 In- och utmatning av data.
13.6 Anslutning av in- och utmoduler till CPU12. Exempel 13.7.
Föreläsning 27
måndag 13/5
kl 13.15-15.00
EA
Ext-17


Ext
Anslutning av minnes- och I/O-moduler till CPU12-buss.
Demo: Övningsuppgift 13.6.
Exempel på fullständig och ofullständig adressavkodning.
Demo:
Adressavkodning övningsuppgifter. Uppgift nr 2 och 3.
Ext-17 Anslutning av minnes- och I/O-moduler till CPU12-buss. (forts.)
Demo:
Övningsuppgift 13.2; 13.3.
Föreläsning 28 
onsdag 15/5
kl 10.00-11.45
EA

Gästföreläsning av professor Per Stenström. Sammanfattning. Bilder.


Föreläsning 29
torsdag  16/5
kl 8.00-9.45
EA



Ext
Anslutning av minnes- och I/O-moduler till CPU12-buss. (forts.)
Demo:
Övningsuppgift 13.4. (Ofullständig adressavkodning)
Prioritering av moduler med överlappande adressintervall. Exempel 13.6 sidan 13-15.
Demo: Övningsuppgift 13.10. (Överlappande adressintervall)
Ext-17
Ext
Själv: Övningsuppgift 13.12. (Överlappande adressintervall)
Själv: Adressavkodning övningsuppgifter. Uppgift nr 1 och 7.
Ext-7 Syntes av enkla synkrona sekvensnät. (sid 10-13)  Inledning.

v 21(Lv8) Sal
 Kap
Innehåll
måndag 20/5
kl 8.00-9.45
EA Ingen föreläsning!
Föreläsning 30
måndag 20/5
kl 13.15-15.00
EA

Kort genomgång av veckans stoff.
Ext-7 Syntes av enkla synkrona sekvensnät. (sid 10-13)  (forts.)
Demo:
X.11.
Själv: X.12-14 och gamla tentauppgifter.

Demo: Tenta 120524 uppg 3a.
Kap 2
Ext

Ext
2.6 Det vetenskapliga skrivsättet för tal (flyttal).
Demo: Tenta 090820 uppg 1h; Tenta 090527 uppg 1h.
Själv: uppgift 2.16; 2.17; 2.23; 2.25.
Flyttal komplettering. (Finns även som pdf.)
Föreläsning 31 
onsdag 22/5
kl 10.00-11.45
EA
Kap 2 2.6 Det vetenskapliga skrivsättet för tal (flyttal). (forts.)
Upplösning och talområde.
Ext Något om multiplikation och division av binära heltal utan tecken.
Principen för multiplikation och division av binära heltal utan tecken.
Multiplikation genom upprepad addition eller genom addition och skift.
Division genom upprepad subtraktion eller genom subtraktion och skift.

Sammanfattning av kursen. Kursmålen.
Ext
Utdelning av checklista inför tenta.
Ext-16 Något om "microcontroller" HCS12 och dess processorkärna CPU12.
Instruktioner för CPU12.
Föreläsning 32
torsdag  23/5
kl 8.00-9.45
EA
Ext
Genomgång av gammal tenta 2012-05-24. Frågor.
Den gamla tentan delvis anpassad till FLISP. Lösning.