Aktivera Kursens mål: LV3 Fo7 Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruktruera olika kombinatoriska nät som ingår i en dator. Studera hur addition/subtraktion utförs (+flaggor) Konstruera register som används för att lagra data i datorn. Koppla samman register med bussar till en enkel dataväg Veckans mål: Förstå hur ett minne är uppbyggd och ansluta detta till datavägen Koppla samman register och ALU till en dataväg Program och hur detta lagras i minne Fatta hur datorn startar och arbetar Räknare och mera vippor Dagens mål, Du ska kunna: Förstå uppbyggnaden av ett minne Ansluta CC-register till datavägen Konstruera en enkel dataväg Kunna programmera en enkel dataväg (RTN) Förstå uppbyggnaden av T och JK-vipporna Processor Primärminnen Sekundärminne Blockminne Minnet Minnet Program Data Minnet RAM-minnen: ROM PROM FLASH RWM Ext 5 2 Data in Minns Man Minnet? Ext 5 Minne Program Data Minnes adress k k+ k+2 k+3 k+4 k+5 LD Register Data ut Minnet Minnesregister i Minnesregister i+ Minnesregister i+2 Minnesregister i+3 Minnesregister i+4 Minnesregister i+5 Adressbuss (8) MR MW MR Databuss (8) Läs Skriv Minne Data ut Adress Data in Avkodare Anslutningar till processorn Data- Buss Adress - Buss MEM_R MEM_W f (Adress ) f f 2 f 255 (Adress 255) Skriv Läs Skriv Läs LD Läs Buffert LD 255 Läs Minnes - register En Minnes - register 255 E n 255 3 4
Fo7 T, R och ALU är på 8 bitar Hur utföra 6-bitars addition??? X + 234 6 =? Dagens mål, Du ska kunna: Förstå uppbyggnaden av ett minne Ansluta CC-register till datavägen Konstruera en enkel dataväg Kunna programmera en enkel dataväg (RTN) Förstå uppbyggnaden av T och JK-vipporna LD A Reg A C in D Funkt LD R LD T U ALU Reg R Reg T E Flaggor OE A OE R 5 6 Inkoppling av flaggregister mellan ALU och buss. Inkoppling av väljare (multiplexer) för val av C in. LD T Reg T Kap 7 Blå LD T Reg T Kap 7 Blå Funktion C in D LD R U ALU Reg R E LD CC Flaggor Reg CC C 2 M U X C 3 2 D Funkt C in LD R ALU U Reg R E LD CC Flaggor Reg CC g g C OE R OE CC OE R OE CC 7 8
Inkoppling av väljare (mux) för val av indata till CC-registret. Fo7 C 2 M U X C 3 2 D Funkt C in LD R LD T ALU U Reg R Reg T E Flaggor g 2 LD CC MUX Reg CC Kap 7 Blå Dagens mål, Du ska kunna: Förstå uppbyggnaden av ett minne Ansluta CC-register till datavägen Konstruera en enkel dataväg Kunna programmera en enkel dataväg (RTN) Förstå uppbyggnaden av T och JK-vipporna g g OE R OE CC 9 Enkel dataväg Arb Kap 2 Ext 5 Ge ny klockpuls Processor Dataväg Datadel Styrenhet Ge nya styrsignaler Ge ny klockpuls Ge nya styrsignaler Ge ny klockpuls Ge nya styrsignaler Ge ny klockpuls Ge nya styrsignaler 2
Ge en sekvens av styrsignaler som utför: Ge en sekvens av styrsignaler som utför: RTN-beskrivning: : 2: 3: RTN Source OE S OE A OE R OE CC LD A LD T LD TA LD R LD CC f 3 f 2 f f g 9-g 2 g g MR MW 4: 5: 3 4 Fo7 S5. Dagens mål, Du ska kunna: Förstå uppbyggnaden av ett minne Ansluta CC-register till datavägen Konstruera en enkel dataväg Kunna programmera en enkel dataväg (RTN) Förstå uppbyggnaden av T och JK-vipporna x x x n Sekvensnät Återkoppling Minnesfunktion RÄKNARE y y y n S S S n 5 6
J K Principen för JK-vippa: S R S R C S5.5 S R + Otillåtet J K JK - Vippan J K C S R Jfr med SR-vippan S R C J K S R + 7 J K + S R + Otillåtet 8 T T - Vippan J C S5.6 Asynkrona ingångar för ettställning och nollställning Vippor förses ofta med extra ingångar som påverka utsignalen oberoende av klockpulsen och övriga insignaler. Dessa ingångar kallas därför för asynkrona ingångar. För ett- (eng Preset) och nollställning (eng Clear) av utsignalen. S5.7 K Benämns S - R på samma sätt som S- och R-signalerna hos en SR-latch. Funktionstabell J K + ' Funktionstabell T + 9 S D C R D-vippan har asynkrona S- och R-ingångar. 2
Veckans mål: LV3 Fo8 Koppla samman register och ALU till en dataväg Förstå hur ett minne är uppbyggd, ansluta detta till datavägen Program och hur detta lagras i minne Fatta hur datorn startar och arbetar Kunna analysera och konstruera räknare Analysera räknare Förstå von Neuman s princip och hur program är uppbyggt Beskriva en dataväg med adressdel Beskriva Processorns Arbetssätt Ange styrsignalsekvens för RESET Ange styrsignalsekvens för FETCH Ange styrsignalsekvenser för olika EXECUTE-faser Ta fram Excitationstabeller för vippor 2 J C K Arbetsgång - analys räknare J C K 2 J C K s5.24 -> Studera kopplingen och bestäm vippornas insignaler (T =, T 2 =, T 3 =) 2 Sätt upp en tabell med - Detta tillstånd (Alla kombinationer av, 2, 3 ) - Insignaler (T, T 2, T 3 ) - Nästa tillstånd ( +, 2+, 3+ ) 3 Ange insignalernas värden i tabellen och---- 4 ange vad nästa tillstånd blir 5 Rita slutligen en tillståndsgraf 3 22 Fo8 Analysera räknare Förstå von Neuman s princip och hur program är uppbyggt Beskriva en dataväg med adressdel Beskriva Processorns Arbetssätt Ange styrsignalsekvens för RESET Ange styrsignalsekvens för FETCH Ange styrsignalsekvenser för olika EXECUTE-faser Ta fram Excitationstabeller för vippor Minnet Program Data Program o Minne Minnes Instruktioner adress Minnes Minnet i minnet adress k Minnesregister i k+ Maskininstruktion i k+ Minnesregister i+ k+ Maskininstruktion i+ k+2 Minnesregister i+2 k+2 k+3 Maskininstruktion Minnesregister i+3 i+2 k+3 k+4 Maskininstruktion Minnesregister i+4 i+2 k+5 Minnesregister i+5 k+4 Maskininstruktion i+3 k+5 Maskininstruktion i+3 Arb s 92 25 26
Program o Minne - forts Instruktionsformat Maskinprogram INCA OP-kod 2 2 Arb s 92 Maskinprogram Program och minne John Louis Von Neumann (93-957) Det lagrade programmets princip, dvs program och data i samma minne. LDAA OP-kod Adr Adr 2 2 2 2 2 F 6 B 6 3F 6 FE 6 9 6 4 6 4A 6 Maskinprogram i minnet Tillhörande assemblerprogram Instruktion Adress Data 27 28 Fo8 Fo8 Kunna analysera räknare Förstå von Neuman s princip och hur program är uppbyggt Dataväg med adressdel Beskriva Processorns Arbetssätt Ange styrsignalsekvens för RESET Ange styrsignalsekvens för FETCH Ange styrsignalsekvenser för olika EXECUTE-faser Ta fram Excitationstabeller för vippor Kunna analysera räknare Förstå von Neuman s princip och hur program är uppbyggt Dataväg med adressdel Beskriva Processorns Arbetssätt Ange styrsignalsekvens för RESET Ange styrsignalsekvens för FETCH Ange styrsignalsekvenser för olika EXECUTE-faser Ta fram Excitationstabeller för vippor 32 35
Processorns arbetssätt Datadel Processor Dataväg Styrenhet Adressdel Arb s 95 Maskinprogram Tillhörande i minnet assemblerprogram Adr. C LDB #$23 D 23 E 29 ADDB $F3 F F3 2 TFR B,A 4F CMPB #$3 2 3 3 6 BLO $29 4 3 Maskinprogram i minnet Adr. C LDB #$23 D 23 E 29 ADDB $F3 F F3 2 TFR B,A 4F CMPB #$3 2 3 3 6 BLO $29 4 3 Nästa operationskod Styrsignalgenerering för den databehandlande enheten. Kap 7 Blå Styrsignaler RESET FETCH EXECUTE 36 LD I Instruktionsregister (I) Operationskod (Val av operation) Styrenhet LD A OE A LD B OE B ALU- funktion 37 RESET Processorns arbetssätt FETCH Arb s EXECUTE (Starttillstånd) Insignalen Reset= NF NF NF NF NF 2 3 4 5 6 7 NF 9 Fo8 Kunna analysera räknare Program och minne, von Neuman Dataväg med adressdel Beskriva Processorns Arbetssätt Ange styrsignalsekvens för RESET Ange styrsignalsekvens för FETCH Ange styrsignalsekvenser för olika EXECUTE-faser Ta fram Excitationstabeller för vippor RESET FETCH EXECUTE 38 39
Processorns arbetssätt RESET Arb s 95 Fo8 PC: Programräknare (Pekar på nästa instruktion) Datadel Processor Dataväg Styrenhet Adressdel PC PC = ) Bilda adressen FF Maskin Assembler program program Adr. F LDAA #$55 55 2 NOP 3 28 ADDA $5 4 5 3) Läs (start adr) från adr FF i minnet till PC FE FF Reset Vektor 2) Adressera Minnet (Adr FF) 4 Kunna analysera räknare Förstå von Neuman s princip och hur program är uppbyggt Dataväg med adressdel Beskriva Processorns Arbetssätt Ange styrsignalsekvens för RESET Ange styrsignalsekvens för FETCH Ange styrsignalsekvenser för olika EXECUTE-faser Ta fram Excitationstabeller för vippor 42 Excitationstabeller Kmp s 5.8 Excitationstabeller - forts Kmp s 5.8 Vad blir utgången + om insignalen är.. Funktionstabell D + Vad skall ingången vara om tillståndsändringen i + är.. Vad blir utgången + om insignalen är.. Funktionstabell T + Vad skall ingången vara om tillståndsändringen i + är.. Excitationstabell + D Excitationstabell + T 43 44
Excitationstabeller - forts Kmp s 5.8 Excitationstabeller - forts Kmp s 5.8 Vad blir utgången + om insignalen är.. Funktionstabell J K + Excitationstabell Vad skall ingången vara om tillståndsändringen i + är.. + J K - - - - 45 Vad blir utgången + om insignalen är.. Funktionstabell S R + * Excitationstabell Vad skall ingången vara om tillståndsändringen i + är.. + S R - - 46 Veckans mål: Koppla samman register och ALU till en dataväg Förstå hur minne är uppbyggd, ansluta detta till datavägen Program och hur detta lagras i minne Fatta hur datorn startar och arbetar Räknare och mera vippor Konstruera räknare Konstruera en Fast kopplat styrenhet till Flisp Implementera RESET-fasen i Flisp Implementera FETCH-fasen i Flisp Implementera olika EXECUTE-faser i Flisp Fo9 47 UTSIGNALER INSIGNALER Detta tillstånd Nästa tillstånd q 3 q 2 q q + q + 3 q + 2 q + q + T 3 T 2 T T? 2 3 4 5 6 7 8 9 2 3 4 5 49
Arbetsgång - syntes räknare Konstruera en räknare som räknar sekvensen???? Rita en tillståndsgraf 2 Sätt upp en tabell med: - Detta tillstånd (Alla kombinationer av, 2, 3 ) - Nästa tillstånd ( +, 2+, 3+ ) - Vippornas Insignaler 3 Ange Nästa tillstånd i tabellen 4 Använd vippornas excitationstabell och ange vippornas insignaler 5 Minimera uttrycken för insignalerna 6 Realisera räknaren 5 Load (M=) Shift (M=) En flexibel 4-bitars binärräknare M G3 = G4 = => uppräkning nollställning 5CT= M 3CT=5 M2 G3 G4 C5 2,3,4+,5 D,5 D,5 D,5 D CTR4 PROSAM-symbol Sätts till om alla utsignaler = (annars ) 52 Fo9 Konstruera räknare Konstruera en Fast kopplat styrenhet till Flisp Implementera RESET-fasen i Flisp Implementera FETCH-fasen i Flisp Implementera olika EXECUTE-faser i Flisp Arb s 99 Dataväg med fast styrenhet Datadel Processor Dataväg Adressdel Minnet Styrenhet 53 54
Styrenheten Styrenheten - forts Arb s 99 Klockpuls OP-kod LD A LD B LD R IN- signaler Styr-enhet UT- signaler Nya styrsignaler Klockpuls Nya styrsignaler Klockpuls (i 7 - i ) Flaggor (4) (N, Z, V, C) Styrenhet OE A OE B OE R f f f 2 f 3 g g Styrsignaler till datavägen (3 st) Nya styrsignaler Reset g 2 IncPC Klockpuls Nya styrsignaler 55 IncS DecS MR MW 56 Flaggor (4) (OP-kod) i 7 - i Styrenheten - forts Arb s 99 LD A LD B LD R OE A OE B OE R Från flaggregistret C V Z N C C N N Flaggvillkor I 2 I 4 I 7 6 I 2 I 4 6 I 7 LD A Reset LOAD ( 3 = ) CTR4 5CT= M M2 G3 3CT=5 G4 C5 2,3,4+,5 D,5 D,5 D,5 D q q q 2 q 3 Kombinat oriskt nät f f f 2 f 3 g g g 2 IncPC IncS DecS MR MW Styrsignaler till datavägen (3 st) Från instruktionsregistret i i 2 i 2 4 Från räknaren i 6 64 i 7 28 OP-kods avkodare I I I 2 I 4 I FF Tillståndsavkodare I 7 9 I I I 2 9 I AD I I I 2 NF Styrsignaler (3 st) NF NF 59 q q 2 4 q 2 q 3 8 2 3 4 I C6 I C6 Grundläggande Datorteknik OH LV3 6
Styrenheten - forts Fo9 Avkodade insignaler till styrenheten I 2 I 4 I 7 6 Booleskt uttryck: LD A = I 2 + I 4 + 6 I 7 + + 9 I AD AND-OR area I 2 I 4 6 I 7 Utsignal från styrenheten LD A Konstruera räknare Konstruera en Fast kopplat styrenhet till Flisp Implementera RESET-fasen i Flisp Implementera FETCH-fasen i Flisp Implementera olika EXECUTE-faser i Flisp I AD 9 9 I AD 6 62