EDA Digital och Datorteknik

Relevanta dokument
LV6 LV7. Aktivera Kursens mål:

ALU:n ska anslutas hur då?

Minnessystem. Minneshierarki. Flyktigt eller icke flyktigt huvudsakliga egenskaper. Minneshierarki

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

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

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

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

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

Centralenheten: ALU, dataväg och minne

Digital- och datorteknik

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

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

Läsminne Read Only Memory ROM

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

Laboration nr 3 behandlar

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

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

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

Digital- och datorteknik

Digital- och datorteknik

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

Digital- och datorteknik

Föreläsningsanteckningar 2. Mikroprogrammering I

Styrenheten styrsignalsekvenser programflödeskontroll

Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1

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

Digital- och datorteknik

Digital- och datorteknik

Digital och Datorteknik EDA /2010. EDA Digital och Datorteknik

Minnen delas in i två huvudgrupper, permanenta och icke permanenta. Non-volatile and volatile.

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

Grundläggande datavetenskap, 4p

EDA215 Digital- och datorteknik för Z

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

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

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

EDA Digital och Datorteknik

1 Introduktion till datortekniken. Innehåll GRUNDLÄGGANDE DATORTEKNIK FÖR HÖGSKOLANS INGENJÖRSUTBILDNINGAR KOMPENDIUM

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

Digital- och datorteknik

Datorsystemteknik DVGA03 Föreläsning 8

Digital- och datorteknik

Digital- och datorteknik

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

Digital- och datorteknik

Mikroprogrammering I

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

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

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

Exempel 3 på Tentamen

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

TENTAMEN (Något redigerad)

Digital- och datorteknik

Design av digitala kretsar

Tentamen (Svar och lösningsförslag)

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

F9: Minne. Sammansättning av minnesgrupper Ansluta minne till Interface till olika typer av minnen Användningsområden.

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

Digitala System: Datorteknik ERIK LARSSON

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

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya

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

exempel på Tentamen 2

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

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

HF0010. Introduktionskurs i datateknik 1,5 hp

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

Lösningsförslag tenta

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

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

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:

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte

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

Digital- och datorteknik

Minnen. Informationsteknologi sommarkurs 5p, Agenda. Slideset 4

Assemblerprogrammering del 3

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

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18

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

Digital Design IE1204

F9: Minne. Minneskonfiguration. Sammansättning av minnesgrupper Ansluta minne till Interface till olika typer av minnen Användningsområden

LABORATION DATORTEKNIK D. Pipelining. Namn och personnummer. Version: (OS,OVA,AN)

LABORATION DATORTEKNIK Y,C,I DATORTEKNIK D

CPU. Carry/Borrow IX. Programräknare

Assemblerprogrammering del 1

TSEA28 Datorteknik Y (och U)

MANUALBLAD MODULER TILL DIGITALMASKINEN

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

Exempel 2 på Tentamen med lösningar

TSEA28 Datorteknik Y (och U)

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

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

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

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

Transkript:

EDA 45 - Digital och Datorteknik Dagens föreläsning:, Arbetsboken kapitel 5-8 Ur innehållet: Läs- och skrivbart minne Dataväg med manuell styrenhet Centralenhetens t arbetssätt: FETCH/EXECUTE Vi ansluter flaggregister och väljarfunktion Cin 2

Väljarfunktion för Cin G=g g 0 f3 f2 f f0 U = f(d,e,f,cin) Operation Resultat 0 0 0 0 Bitvis nollställning 0 0 0 0 D 0 0 0 E 0 0 Bitvis invertering D k 0 0 0 Bitvis invertering E k 0 0 Bitvis OR D OR E 0 0 Bitvis AND D AND E 0 Bitvis XOR D XOR E 0 0 0 D + 0 + Cin D + Cin 0 0 D + FF 6 + Cin D + Cin 0 0 D + E + Cin 0 D+D+Cin 2D+Cin 0 0 D +E k +Cin D E +Cin 0 Bitvis nollställning 0 0 Bitvis nollställning 0 Bitvis ettställning FF 6 G=2 (,0)=g 3 Flaggregister (Condition Codes register) Vid g 2 =0 och LD CC = överförs ALU ns flaggor till CC. CC kan också laddas från bussen (g 2 =). Med OE CC förs innehållet i CC till bussen 4

Vi ansluter minne till en centralenhet t 5 Pi Principi Läs-/ Skriv- minne 6

Dataväg utökad med minne LD A A LD B B LD T T (Adress) Data xxxxxxxx 600 0 xxxxxxxx f0 f f2 f3 Cin ALU C V Z N LD MA MA LD R R MW MR Minne Adress Data OE A OE B OE R RTN: FE FF xxxxxxxx xxxxxxxx Att skriva till minne: data M(MA) Att läsa från minne: M(MA) data 7 Random Access Memory (RAM) Alla minnets delar har samma åtkomsttid. centralenhet primär- minnessystem adressering styrsignaler dataöverföring 8

RAM - Minnestyper Volatile ( Flyktigt ) innehållet försvinner vid spänningsbortfall, vid spänningstillslag är innehållet oftast slumpmässigt bestämt. Kallas ofta RAM. RWM (Read Write Memory) NON Volatile ( Icke flyktigt ) behåller sitt innehåll även efter spänningsbortfall ROM (Read Only Memory) programmeras vid tillverkningen, innehållet kan därefter inte ändras PROM (Programmable ROM) minnestypen kan programmeras (kräver speciell utrustning) en gång EPROM (Erasable PROM) minnestypen kan programmeras och raderas med speciell utrustning FLASH minnestypen kan programmeras/raderas utan speciell typ av utrustning 9 Snabb tillbakablick bli k Skriv/läs-minnen, kallas ibland dataminne Williamstub Kärnminnen Halvledarminnen, SRAM/DRAM Läs-minnen, kallas ibland Programminne Halvledarminne, ROM Halvledarminne, EPROM Halvledarminne, FLASH 0

Williamstuben, 946-950950 Första elektrostatiska minnet Bilden visar 32 st. 40-bitars ord och en 20-bitars sidadress (Ferranti Mark I) Elektronstrålens efterlysning (minnestid) c:a 0,2 sek. Metallplatta framför skapar kondensator för varje minnesbit. Lagrad nolla Lagrad etta Kärnminne c:a 950-975975 Skrivström, läsström riktning anger lagrad nolla eller etta 2

Halvledarminnen l 966 Statiskt RAM (SRAM) 6 transistorer/-bit 28-bit RAM (IBM System/360 Model 45 primärminne) jämförd med kärnminne. WL =, väljer denna cell. (M 5 och M 6 leder). Minneselementet har två stabila tillstånd: BL= och BL = 0 BL=0 och BL = 0 (Jämför med SR-latch) 256-bit TTL RAM (Fairchild) 3 Dynamiskt RAM (DRAM) 970 Intel i03 024-bit Dynamiskt RAM Endast en transistor krävs för att lagra en bit. Kräver refresh eftersom kondensatorn laddas ur efter hand. (Jämför med Wiliamstuben) 4

ROM (965) 0 ord 0 ord ord 2 ord 3 ord 4 0 ord 5 ord 6 ord 7 A 2 A A 0 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit bit 0 Intel 330, 024-bit ROM Dioder (ettor) placeras i diodmatrisens skärningar vid tillverkningsprocessen, maskprogrammerade 5 EPROM (97) Dov Frohman uppfann EPROM (Intel) Intel 702, EPROM. UV-ljus användes för att radera minnet. Intel EPROMprogrammerare (97) 6

FLASH 988 MINNE STYRKRETS NAND-FLASH BLOCK -minnes åtkomst NOR-FLASH 7 Läs-cykel Exempel: Kopiera minnesinnehåll på adress (FF) 6 till register A LD A A M(FF) LD B B LD T T f0 f f2 f3 Cin ALU C V Z N LD MAR MAR FF LD R FF R MW MR Minne Adress Data OE A OE B OE R Cykel Operation (RTN) Aktiva styrsignaler Beskrivning i (FF) 6 R f 3,f 2,f,f 0, LD R F(5), dvs f 3 =,f 2 =f =f 0 =. dvs. FF placeras i R 2 R MAR OE R, FF kopplas till bussen. Vid klockpuls laddas MAR LD MAR 3 M(MAR) AA MR Lässignal till minnet LD A Vid klockpuls laddas minnesinnehåll i A 8

Arkiv -> Datavägen ->Dataväg med RWM Exempel: Addera minnesinnehållen på adress 04 6 och 05 6 och spara resultatet på adress 06 6. 9 Lösning: Vi börjar med att placera 24 6 på adress 04 6 och 3 6 på adress 05 6. (För att kunna kontrollera styrsignalsekvensen) OE LD Mem ALU Funk Source RTN S A B R A B T R R W 3 2 0 Cin 2 24 04 24 M(04) 2 3 05 3 M(05) 20

Nu till utförandet: Läs första operanden från minnet till register T. Läs därefter andra operanden och utför ALU-operationen, spara resultatet i register R Skriv tillbaks resultatet till minnet från register R OE LD Mem ALU Funk Source RTN S A B R A B T R R W 3 2 0 Cin 2 3 04 M(04) T 4 00 05 M(05)+T R 5 06 R M(06) 2 Program och minne John Louis Von Neumann (903-957) Det lagrade programmets princip, dvs program och data i samma minne. Maskinprogram i minnet Tillhörande assemblerprogram Instruktion Adress Data 22

Maskininstruktioner i kti EXEMPEL: (Adress) 6 00 0 02 03 04 05 Innehåll 00000000 0000 0000 00000 000 0000 instruktion instruktion 2 instruktion 3 FE FF xxxxxxxx 00000000 data Kan ha olika INSTRUKTIONSFORMAT 23 Instruktionsformat t Exempelvis: ADDB Adr OP-kod Adr LDAB #data OP-kod data TFR B,A OP-kod Adress Maskinprogram 000000 2 Assemblerprogram 00000 2 00000 2 00 2 0000000 2 000 2 000000 2 00000 2 00000 2 Instruktion operand- mnemonic information Byte-wide 8 bitar data på varje adress 24

Exempel: Instruktionen Clear Följande instruktionsbeskrivning specificerar Clear. Instruktionen nollställer operanden och finns i olika varianter: CLRA nollställ register A CLRB nollställ register B CLR <ADR> nollställ minnesinnehåll Instruktion Adressering Operation Flaggor Clear Variant metod OP # ~ N Z V C CLRA Inherent 47 4 0 A 0-0 CLRB Inherent 48 4 0 B 0-0 CLR <ADR> Absolute 49 2 5 0 M(ADR) 0-0 Antag att vi placerar instruktionssekvensen i minnet med start på adress 0, minnet skulle då få följande utseende: CLRA 0 0000 OP-kod, (47) 6 CLRB 02 000000 OP-kod, (48) 6 CLR (55) 6 03 00000 OP-kod kod, (49) 6 04 0000 operandinformation,(55) 6 25 Dataväg för program i minne N Z V C b3 b2 b b b0 26

Centralenhetens t instruktionsbearbetning b t i I sin enklaste form kan bearbetningen av en instruktion delas in i två faser FETCH EXECUTE Hämta maskininstruktion från minne Utför maskininstruktion 27 Instruktionshämtning t i FETCH Cykel Operation Aktiva Beskrivning (RTN) styrsignaler PC MA PC+ PC OE PC,LD MA INC PC Innehållet i PC adresserar minnet Uppdateras för att peka på nästa minnesposition 2 M(MA) I MR,LD I Läsning från minnet till instruktionsregistret. Vid instruktionshämtning placeras operationskoden som PC pekar på i instruktionsregistret. LDA A LDB B f3 f2 f f0 0 0 C 2 C 3 gg0 LDR LDT ALU R T g2 0 LDPC INC PC MW MR LDMA MA Adress Minne Data PC räknas upp och pekar därefter på antingen en operand eller en ny instruktion. OEA LDI OEB I OER styrsignaler LDCCR OECCR CCR OEPC N Z V C operationskod flaggor Reset Styrenhet 28

Aki Arkiv -> Datavägen ->Dataväg med manuell styrenhet t Nya register i datavägen: S Stackpekare, speciellt register med flera viktiga funktioner. X Generellt register för adressinformation 29 FETCH - Hämtningsfas EXEMPEL: PC = (0C) 6 State RTN Styrsignaler Kommentar 0 PC MA, OE PC =, Adressen till LD MA =, instruktionens PC+ PC operationskod kopieras IncPC=. från PC till minnesadressregistret MA. Adressen som finns i PC ökas med ett. MI MR=, Läs operationskoden LD I =. från minnet. Placera den i instruktionsregistret I. Nästa state skall vara det första i EXECUTE- sekvensen. FETCH Det förutsätts alltså att det finns en operationskod på denna adress.. 30

EXECUTE - Utförandefas Utförandefasen är unik för varje instruktion. Exempel: INCA Detaljerad beskrivning av instruktionen Instruktionsformat OP-kod INCA RTN: A + A Increment register A Flaggor: N: Ettställs om resultatets teckenbit (bit 7) får värdet. Z: Ettställs om samtliga åtta bitar i resultatet blir noll. V: Ettställs om 2-komplementoverflow uppstår. C: Ettställs om summan ej ryms i åtta bitar, dvs blir lika med 256. I detta fall ettställs även Z. State RTN Styrsignaler Kommentar 0 A+ R, OE A =, ALU-funktionen (000) utför A+0+Cin. Flaggor CC f 3 =, g 0 = väljer Cin =. g 0 =, LD R =, LD CC = Resultatet överförs till R. ALU ns flaggor (NZCV) överförs till flaggregister CC. CC R A OE R =, LD A = NF= Resultatet från operationen (i R) återförs till register A. Nästa klockcykel skall vara den första i ny FETCH-sekvens. NF EXECUTE NF 3 Exempel: LDAA #data Instruktionsformat OP-kod data Detaljerad beskrivning av instruktionen LDAA #data Load A Immediate RTN: Data A Flaggor: Påverkas ej. Beskrivning: Laddar dataord från instruktionen till register A. Statet RTN Styrsignaler Kommentar 0 PC MA, PC+ PC OE PC =, LD MA =, IncPC=. M A MR=, LD A =, NF= Instruktionens datadel finns i minnesordet efter OP-koden. När EXECUTE-sekvensen inleds pekar PC på instruktionens datadel. PC kopieras därför över till minnesadressregistret MA så att datadelen d kan läsas från minnet under nästa klockcykel. k k l Innehållet i PC ökas med ett, så att PC pekar på nästa adress i minnet där OP-koden för nästa instruktion skall finnas. Läs instruktionens datadel "Data" från minnet och placera den i A-registret. t Nästa klockcykel skall vara den första i ny FETCH-sekvens. 32

Exempel: LDAA Adr Instruktionsformat OP-kod Adr Detaljerad beskrivning av instruktionen LDAA Adr Load A from memory RTN: Data A Flaggor: Påverkas ej. Beskrivning: Laddar dataord från minnet till register A. State RTN Styrsignaler Kommentar 0 PC MA, OE PC =, Adressen till Adr, dvs PC, vid execute-fasens början, PC+ PC LD MA =, adresserar minnet för att kunna läsa Adr. IncPC=. M MA MR=, Adr läses och placeras direkt i MA för att vi i nästa fas ska LD MA =, kunna adressera minnet. 2 M A MR=, Data från Adr läses... LD A =, NF=... och placeras i register A. Nästa klockcykel skall vara den första i ny FETCH-sekvens. 33 Centralenhetens t arbetsätt RESET FETCH EXECUTE NF NF NF NF NF NF RESET FETCH EXECUTE 34

RESET - Återställningsfaställ S RTN- Styrsignaler Kommentar beskr Talet FF 6 i R-registret kopplas ut på bussen. Bussinnehållet laddas i minnesadressregistret vid nästa klockpuls. Minnesinnehållet på adressen FF 6 läses. Det dataord som läses placeras i PC vid nästa klockpuls. Nästa klockcykel skall vara den första i FETCHsekvensen. (Starttillstånd) RESET 0 FF 6 R ALU-fkn = F 6, LD R =. R MA OE R =, LD MA =. ALU-funktionen väljs så att talet FF 6 finns på ALU:ns utgång. Laddingången på R- registret ettställs så att utvärdet från ALU n (FF 6 ) laddas i R-registret vid nästa klockpuls. 2 M PC MR=, Minnesinnehållet på LD PC =. I exemplet placeras adressen 0C i PC. En instruktion förutsätts finnas på denna adress. 35