Styrenheten 9/17/2011. Styrenheten - forts Arb s 120. LV4 Fo10. Aktivera Kursens mål: Kap 7 Blå

Relevanta dokument
LV6 LV7. Aktivera Kursens mål:

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

9/22/2012. Assemblernivå Beskrivning av funktion Automatiskt styrd borrmaskin Positionera borr Starta borr Borra genom arbetsstycke...

ALU:n ska anslutas hur då?

11/16/2012. Assemblernivå Beskrivning av funktion Automatiskt styrd borrmaskin Positionera borr Starta borr Borra genom arbetsstycke...

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

Konstruera en dator mha grindar och programmera denna Använda en modern microcontroller

EDA Digital och Datorteknik

Villkorliga hopp: 9/26/2011. Dagens mål: Du ska kunna.. Villrorliga (Relativa) hopp - forts Arb s 140. LV5 Fo12. LV5 Fo12. Aktivera Kursens mål:

EDA Digital och Datorteknik

Programexempel för FLEX

Digital och Datorteknik EDA /2010. EDA Digital och Datorteknik

Digital- och datorteknik. Mekatronik-, data- och elektroingenjör Åk 1/ lp 1o2. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen

Digital- och datorteknik

EDA215 Digital- och datorteknik för Z

Digital- och datorteknik

Tentamen. EDA432 Digital och datorteknik IT INN790 Digital och datorteknik GU. Måndag 23 oktober 2006, kl i V-salar

Digital- och datorteknik

Digital- och datorteknik

Digital- och datorteknik

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

Digital- och datorteknik

Programmering i maskinspråk (Maskinassemblering)

Exempel 3 på Tentamen

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng

Extrauppgifter för CPU12

Laboration nr 3 behandlar

Föreläsningsanteckningar 2. Mikroprogrammering I

Tentamen. EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU. Onsdag 12 Januari 2011, kl

Digital- och datorteknik

TENTAMEN (Något redigerad)

TENTAMEN. Digital- och datorteknik E. Institutionen för data- och informationsteknik Avdelningen för datorteknik. Elektro Åk 1/ lp 4 EDA216/DIT790

Bilda styrsignalerna till datavägen RESET FETCH EXECUTE NF NF NF. Digital och Datorteknik EDA /2011. Digital och Datorteknik EDA /2011

Digital- och datorteknik

Programmering i maskinspråk (Maskinassemblering)

Tentamen (Svar och lösningsförslag)

Tentamen. EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU. Måndag 19 oktober 2009, kl

Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

TENTAMEN(Nu anpassad till FLIS- processorn)

Digital- och datorteknik

Ext-14 (Ver ) Ext-14. FLEX-processorns styrenhet med fast logik

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng

Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Digital- och datorteknik

Tentamen 3. EDAxxx Grundläggande Datorteknik DIT791 Grundläggande Datorteknik, GU. Måndag xx Oktober 20xx, kl

Tentamen. EDA432 Digital- och datorteknik, IT DIT790 Digital- och datorteknik, GU. Måndag 18 Oktober 2010, kl

Exempel 1 på Tentamen med lösningar

Assemblerprogrammering del 1

Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. Lars-Eric Arebrink

Exempel 2 på Tentamen med lösningar

Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

Digital- och datorteknik. Lars-Eric Arebrink. Av institutionen utgiven instruktionlista FLEXIBLE INSTRUKTION SET PROCESSOR FLISP

TENTAMEN. Digital- och datorteknik. Institutionen för data- och informationsteknik Avdelningen för datorteknik LEU431. Lars-Eric Arebrink

Tentamen med lösningar

Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP.

Tentamen. EDA452 Grundläggande Datorteknik, D DIT790 Digital- och datorteknik, GU. Måndag 17 December 2012, kl

Lösningsförslag tenta

FLEX Instruktionslista

Reducerad INSTRUKTIONSLISTA för FLIS-processorn

CHALMERS TEKNISKA HÖGSKOLA

Styrenheten styrsignalsekvenser programflödeskontroll

Datorsystemteknik DVGA03 Föreläsning 8

Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen.

Mikroprogrammering I

Assemblerprogrammering del 3

Grundläggande datavetenskap, 4p

Maskinorienterad programmering

Digital- och datorteknik

Grundläggande Datorteknik Digital- och datorteknik

INSTRUKTIONSLISTA för FLEX-processorn

Digital- och datorteknik

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

exempel på Tentamen 2

Datorteknik. Föreläsning 6. Processorns uppbyggnad, pipelining. Institutionen för elektro- och informationsteknologi, LTH. Mål

Datorteknik. Tomas Nordström. Föreläsning 2. För utveckling av verksamhet, produkter och livskvalitet.

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

MANUALBLAD MODULER TILL DIGITALMASKINEN

Tentamen Datorteknik D del 2, TSEA49

Centralenheten: ALU, dataväg och minne

CPU. Carry/Borrow IX. Programräknare

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik

Assemblerprogrammering

Digitala System: Datorteknik ERIK LARSSON

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik 2010/2011

Tentamen. Datorteknik Y, TSEA28

Maskinorienterad programmering

Detta häfte innehåller anvisningar om förberedelser och genomförande av fyra laborationer.

Digital- och datorteknik

LABORATION. Datorteknik Y

Detta häfte innehåller anvisningar om förberedelser och genomförande av fyra laborationer.

9 Assemblerprogrammering. Innehåll GRUNDLÄGGANDE DATORTEKNIK FÖR HÖGSKOLANS INGENJÖRSUTBILDNINGAR KOMPENDIUM

Digital- och datorteknik

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden

Digital- och datorteknik

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

Digital- och datorteknik

Extra lab. Nu på fredag kl 8-12 Frivillig Enbart hjälp med projektuppgiften Ingen examination

Transkript:

Aktivera Kursens mål: LV4 Fo10 Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Koppla samman register och ALU till en dataväg Minnets uppbyggnad och anslutning till datavägen Program och hur detta lagras i minne Fatta hur datorn startar och arbetar Räknare och mera vippor Veckans mål: Konstruera styrenheten. genom att. implementera olika maskininstruktioner i styrenheten. Kunna använda instruktionslistan och skriva mycket enkla assemblerprogram Studera olika instruktionstyper och adresseringsmoder Använda utvecklingsmiljön för FLEX Digital och Datorteknik ohlv4 1 Maskinprogram i minnet Adr. 0C 10 LDB #$23 0D 23 0E 29 ADDB $F3 0F F3 10 02 TFR B,A 11 4F CMPB #$03 12 03 13 61 BLO $29 14 13 LD I CP Nästa operationskod Instruktionsregister (I) Digital och Datorteknik ohlv4 Styrsignalgenerering för den databehandlande enheten. Operationskod (Val av operation) CP Styrenhet Kap 7 Blå Styrsignaler LD A OE A LD B OE B ALUfunktion 2 Styrenheten Arb s 120 Styrenheten - forts Arb s 120 Klockpuls OP-kod LD A LD B LD R IN- signaler Styr-enhet UT- signaler Nya styrsignaler Klockpuls Nya styrsignaler Klockpuls (i 7 - i 0) Flaggor (4) (N, Z, V, C) Styrenhet OE A OE B OE R f 0 f 1 f 2 f 3 g 0 g 1 Styrsignaler till datavägen (30 st) Nya styrsignaler Klockpuls Nya styrsignaler Digital och Datorteknik ohlv4 3 Reset CP g 2 IncPC IncS DecS MR Digital och Datorteknik ohlv4 MW 4 1

Flaggor (4) (OP-kod) i 7 - i 0 Styrenheten - forts Arb s 123 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 02 I 04 I 07 Q 6 I 02 I 04 Q 6 I 07 1 LD A Arb s 124 Reset LOAD 1 1 CP 1 1 (Q 3 = 0011) 0 0 CTR4 5CT=0 M1 M2 G3 3CT=15 G4 C5 2,3,4+ 1,5 D 1,5 D 1,5 D 1,5 D q 0 q 1 q 2 q 3 Kombinatoriskt nät f 0 f 1 f 2 f 3 g 0 g 1 g 2 IncPC IncS DecS MR MW Styrsignaler till datavägen (30 st) Från instruktionsregistret i 0 1 i 1 2 i 2 4 Från räknaren i 6 64 i 7 128 OP-kods avkodare I 00 I 01 I 02 I 41 I FF Tillståndsavkodare Q 0 Q 1 I 07 Q 9 I 00 I 01 I 02 Q 9 I AD I 00 I 01 I 02 1 NF Styrsignaler (31 st) Digital och Datorteknik ohlv4 5 NF 1 NF q 0 1 q 2 4 q 1 2 q 3 8 Q 2 Q 3 Q 4 Q 15 I C6 Digital och Datorteknik ohlv4 Q 10 Q 10 I C6 6 Styrenheten - forts Arb s 125 LV4 Fo10 Avkodade insignaler till styrenheten I 02 I 04 AND-OR area I 02 I 04 Utsignal från styrenheten Dagens mål: Ext 20 I 07 Q 6 Booleskt uttryck: LD A = I 02 + I 04 + Q 6 I 07 + + Q 9 I AD Q 6 I 07 1 LD A I AD Q 9 Q 9 I AD Digital och Datorteknik ohlv4 7 Digital och Datorteknik ohlv4 8 2

LV4 Fo10 Processorns arbetssätt - RESET Arb s 95 Datadel Processor Dataväg Adressdel PC 3) Läs 0C till PC Maskin Assembler program program Adr. 10 0F LDAA #$55 11 55 12 00 NOP 13 28 ADDA $05 14 05 Digital och Datorteknik ohlv4 9 Styrenhet 1) Bilda FF FE FF 10 Reset Vektor 2) Adressera Digital och Datorteknik ohlv4 Minnet 10 Processorns arbetssätt - RESET Arb s 95 Processorns arbetssätt - RESET State RTN- Styrsignaler Kommentar 0 FF 16 R ALU-fkn = F 16, ALU-funktionen väljs så att talet FF finns på ALU:ns utgång. LD R =1. Laddingången på R-registret ettställs så att utvärdet från ALU n (FF ) laddas i R-registret vid nästa klockpuls. 1 R MA OE R =1, Talet FF i R-registret kopplas ut på bussen. Bussinnehållet LD MA =1. laddas i minnesadressregistret vid nästa klockpuls. 2 M PC MR=1, LD PC =1. Minnesinnehållet på adressen FF läses. Det dataord som läses placeras i PC vid nästa klockpuls. Nästa klockcykel skall vara den första i FETCH-sekvensen. (Start-tillstånd för RESET-fas) Q 0 Q 0 FF 16 R f 3, f 2, f 1, f 0, LD R Q 1 Q 1 R MA OE R, LD MA Q 2 Q 2 M PC MR, LD PC Digital och Datorteknik ohlv4 11 Digital och Datorteknik ohlv4 12 3

Processorns arbetssätt - FETCH LV4 Fo10 Q 3 Q 3 PC MA OE PC, LD MA Q 4 Q 4 PC+1 PC M I IncPC MR, LD I Digital och Datorteknik ohlv4 13 Digital och Datorteknik ohlv4 14 (PC) 0F 55 Att implementera Instruktionslistan; ant byte Ant klock Flaggor OP-kod Rita fig (Instrux i minnet data/adressoperand ingen Operand) Arb s 130 EXECUTE för INCA: (OP-kod = 41 16 ) Instruktion: Format: LDAA #Data Ord1: OP-kod (LDAA #$55) Ord2: Data *I 0F PC MA OE PC, LD MA Q 6 Q 6 *I 0F PC+1 PC M A IncPC MR, LD A, NF I 41 Q 6 Q 6 I 41 Digital och Datorteknik ohlv4 15 Digital och Datorteknik ohlv4 16 4

Instruktionsnr (OP-kod) AND State xx Arbetsgång: Knappa in en rad. Studera aktiverade signaler Studera bussens värden. Ge en klockpuls. Kontrollera nya registerinnehåll.. Var det detta jag ville??? I91 * Q5 I91 * Q6 I91 * Q7 Y Z Q P W U NF Knappa in nästa rad, osv. Digital och Datorteknik ohlv4 17 Digital och Datorteknik ohlv4 fo 10 18 LV4 Fo10 Adresseringsmoder Hur hitta datat som instruktionen skall jobba på/med Inherent Immediate Absolut Operanden (data) är inbyggd i Op-koden OPkod Operandfältet innehåller data OPkod data Operandfältet innehåller adresseen till data INCA LDAA #$12 OPkod adressen till data LDAA $12 Digital och Datorteknik ohlv4 19 Digital och Datorteknik ohlv4 20 5

Handassemblering Disassemblering Assemblerprogram CLRA NEGB SBCB $0B LDAA #$43? Maskinprogram Adr Minne 00h $47 01h $39 02h $35 03h $0B.. A6h $28 A7h $23. Digital och Datorteknik ohlv4 21 Maskinprogram Adr Minne 00h $47 01h $39 02h $35 03h $0B.. A6h $28 A7h $23.? Assemblerprogram CLRA NEGB SBCB $0B LDAA #$43 Digital och Datorteknik ohlv4 22 Programexempel för FLEX Programexempel för FLEX (Pilla med bitar) Addera 4 till talet som finns på minnesadress 1C 16 Programmet skall placeras med start på adress 26 16 Nollställ bit7, ettställ bit0 och invertera bit4 på talet som finns på minnesadress 1E 16 Programmet skall placeras med start på adress 30 16 Digital och Datorteknik ohlv4 23 Digital och Datorteknik ohlv4 24 6

Programexempel för FLEX Programexempel för FLEX Addera talen som finns på minnesadress 20 16 och 21 16. Placera resultatet på adress 22 16 Programmet skall placeras med start på adress 40 16 Addera de 16-bitars talen P och Q. P är placerad på minnesadress 20 16 och 21 16. Q är placerad på minnesadress 22 16 och 23 16. Placera resultatet på minnesadress 24 16 och 25 16. Programmet skall placeras med start på adress 50 16 Digital och Datorteknik ohlv4 25 Digital och Datorteknik ohlv4 26 Veckans mål: Subrutin och Stack Utvecklingsmiljö (för FLEX) IN- och Utmatning (I/O); In och UT-portar Skriva program LV4 Fo11 Adressering med register X Arb s 134 Dagens mål: Skriva mycket enkla assemblerprogram Implementera flera instruktioner i styrenheten Öva på användning av instruktionslistan Utvecklingsmiljön för FLEX Minnet Program LDAA Adr OP-kod Adr Du ska kunna Adressering via Register X Hoppinstruktioner Absoluta hopp JMP Relativa hopp BRA (Branch) Beräkna branch-offset Använda delar av utvecklingsmiljön för FLEX Käll-, list- och laddfil Assemblerdirektiv FLEX-datorn IO-Simulatorer Digital och Datorteknik ohlv4 27 Data LDAA,X OP-kod Digital och Datorteknik ohlv4 28 7

Adressering med register X - forts Arb s 134 Adressering med register X - forts Arb s 134 Minnet X Start på data-area Alt 1 Alt 2 LDAA $23 M(23 16 ) A LDX #$23 23 X LDAA,X M(X) A Program n Här är data Data LDAA n,x OP-kod n M(X+n) A Digital och Datorteknik ohlv4 29 Digital och Datorteknik ohlv4 30 Uppgift Uppgift 106 - forts Arb s 136 Skriv en instruktionssekvens för FLEX-processorn som nollställer bit 3-0 i alla minnesord i adressintervallet 35 16, 39 16. Använd X-registret för adressering. Digital och Datorteknik ohlv4 31 Digital och Datorteknik ohlv4 32 8

LV4 Fo11 Arbetsgång: Knappa in en rad. Studera aktiverade signaler Studera bussens värden. Ge en klockpuls. Kontrollera nya registerinnehåll.. Var det detta jag ville??? Knappa in nästa rad, osv. Digital och Datorteknik ohlv4 fo 10 33 Digital och Datorteknik ohlv4 34 Hoppinstruktioner Arb s 131 RESET Maskinprogram Tillhörande i minnet assemblerprogram Adr. 0C 10 LDB #$23 0D 23 0E 29 ADDB $F3 0F F3 10 02 TFR B,A 11 4F CMPB #$03 12 03 13 61 BLO $29 14 13 FETCH EXECUTE Villkorligao Ovillkorligahopp Ovillkorliga Hopp -Instruktioner JMP Adr Ex: JMP $A6 OP-kod: $59 Ant. Byte: 2 RTN: EA PC EA: Effektiva Adressen JMP-Instruktion Adr Minne 30h $47 OP 31h $39 OP 32h $59 OP 33h $A6 Adr.. A6h $28 OP A7h $23 Adr. CLRA NEGB JMP $A6 ADDA $23 Digital och Datorteknik ohlv4 35 Digital och Datorteknik ohlv4 36 9

LV4 Fo11 Digital och Datorteknik ohlv4 37 Digital och Datorteknik ohlv4 38 Relativa hopp Arb s 140 LV4 Fo11 Instruktionsformat JMP Adr Minnes Adress Instruktioner i minnet OP-kod Adr RTN-beskrivning: Adr PC Instruktionsformat BRA Adr OP-kod Offset k k+1 k+2 k+3 k+4 k+5 k+6 k+7 k+8 k+9 k+a Maskininstruktion i Maskininstruktion i+1 Maskininstruktion i+2 Maskininstruktion i+2 Maskininstruktion i+3 Maskininstruktion i+3 Maskininstruktion i+4 Maskininstruktion i+4 Maskininstruktion i+5 Maskininstruktion i+6 Maskininstruktion i+6 Digital och Datorteknik ohlv4 39 Digital och Datorteknik ohlv4 40 10

Uppgift 110 - forts Arb s 141 LV4 Fo11 Digital och Datorteknik ohlv4 41 Digital och Datorteknik ohlv4 42 Utvecklingsmiljö för FLEX Arb s 156 En utvecklingsmiljö innehåller: En källfil Sid 156 Editor otextredigering Assemblator (Översätter till maskinkod) oassemblerdirektiv (Styrinformation till assemblatorn) Laddare oflytta maskinkod från utvecklingssystemet till målsystemet Simulatorer oprocessorn ominnet oi/o Hjälpsystem Digital och Datorteknik ohlv4 43 Digital och Datorteknik ohlv4 44 oinstruktionslistor etc. etc. 11

En laddfil Sid 161 En listfil Sid 162 Digital och Datorteknik ohlv4 45 Radnumrering Maskinprogram Minnesadress Digital och Datorteknik ohlv4 Ditt assemblerprogram 46 Assemblatordirektiv Appendix C Instrux List ([..] anger valfrihet): [symbol] FCB uttryck[,uttryck[,...]] (Form Constant Byte) [symbol] FDB uttryck[,uttryck[,...]] (Form Double Byte) [symbol] FCS "teckensträng [symbol] RMB uttryck [symbol] ORG uttryck (Form Constant String) (Reserve Memory Bytes) (Origin) Symbol EQU uttryck (Equate) org $20 Önskad startadress=20 16 AntVarv equ 4 Definierar konstanten Antal Varv ldx #TabStart Startadress för tabell stx Place Initiera Place ldaa 1,X+ Läs tal 1 staa Value Initiera Value ldab #AntVarv Varvräknare Loop ldaa 1,X+ Läs tal i cmpa Value Jämför med Value bls Lower Hoppa om lägre staa Value annars spara tal i stx Place och dess adress dec Place och justera Place Lower decb Sista talet? bne Loop hoppa om ej sista Stop nop Dummybra Stop -snurra Digital och Datorteknik ohlv4 47 org $50 Startadress för tabell TabStart fcb $15,15,%00110111,$98,$11 Test värden Place rmb 1 Digital och Datorteknik Skapar utrymme ohlv4 för Place Value rmb 1 och Value 48 12

FLEX-datorn - forts Arb s 146 I/O-simulator Arb s 171 Digital och Datorteknik ohlv4 49 Digital och Datorteknik ohlv4 50 Varför Assemblerprogrammera? LV4 Fo11 Borrprogram Positionera borr Starta borr Borra genom arbetsstycke... Borrprogram STA BorrStyr Loop LDA BorrStatus ANDA #Mask1 CMPA #BorrNere BNE Loop --- Digital och Datorteknik ohlv4 51 Digital och Datorteknik ohlv4 52 13