Top Banner
Digital och Datorteknik – EDA451 2009/2010 1 Dataväg och minne EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne, Arbetsboken kapitel 15-18 Ur innehållet: Läs- och skrivbart minne Dataväg med manuell styrenhet Centralenhetens arbetssätt: FETCH/EXECUTE
35

EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Dec 30, 2015

Download

Documents

lars-rollins

EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne, Arbetsboken kapitel 15-18 Ur innehållet: Läs- och skrivbart minne Dataväg med manuell styrenhet Centralenhetens arbetssätt: FETCH/EXECUTE. Vi ansluter flaggregister och väljarfunktion Cin. Väljarfunktion för Cin. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

1Dataväg och minne

EDA 451 - Digital och Datorteknik

Dagens föreläsning:Dataväg och minne,

Arbetsboken kapitel 15-18

Ur innehållet: Läs- och skrivbart minne Dataväg med manuell styrenhet Centralenhetens arbetssätt: FETCH/EXECUTE

Page 2: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

Vi ansluter flaggregister och väljarfunktion Cin

2Dataväg och minne

Page 3: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

Väljarfunktion för Cin

3Dataväg och minne

f3 f2 f1 f0U = f(D,E,F,Cin)

Operation Resultat

0 0 0 0 Bitvis nollställning 0

0 0 0 1 D

0 0 1 0 E

0 0 1 1 Bitvis invertering D1k

0 1 0 0 Bitvis invertering E1k

0 1 0 1 Bitvis OR D OR E

0 1 1 0 Bitvis AND D AND E

0 1 1 1 Bitvis XOR D XOR E

1 0 0 0 D + 0 + Cin D + Cin

1 0 0 1 D + FF16 + Cin D 1 + Cin

1 0 1 0 D + E + Cin

1 0 1 1 D + D + Cin 2D + Cin

1 1 0 0 D +E1k + Cin D E 1 + Cin

1 1 0 1 Bitvis nollställning 0

1 1 1 0 Bitvis nollställning 0

1 1 1 1 Bitvis ettställning FF16

G=2 (1,0)=g1G=g1 g0

Page 4: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

Flaggregister (Condition Codes register)

4Dataväg och minne

Vid g2=0 och LDCC=1 överförs ALU’ns flaggor till CC.

CC kan också laddas från bussen (g2=1).

Med OECC förs innehållet i CC till bussen

Page 5: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

Vi ansluter minne till en centralenhet

5Dataväg och minne

Page 6: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

PrincipLäs-/Skriv-minne

6Dataväg och minne

OE0

1

Minnes-register

0

LD0

CP

&

&

skriv

läs

OE255

1

Minnes-register

255

LD255

CP

&

&

skriv

läs

e0

e255

e254

e1

e2

Adress

Data

MW

MR

Page 7: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

Dataväg utökad med minne

7Dataväg och minne

(Adress)

16 xxxxxxxx00Data

xxxxxxxx01

xxxxxxxxFFxxxxxxxxFE

OEB

1OEA

1

ALU

B

LDB

CPA

LDA

CP T

LDT

CP

R

LDR

CP

OER1

f0f1f2f3

Cin

C

V

Z

N

MWMinne

MA

LDMA

CP

Adress

Data MR

CP

RTN:

Att skriva till minne:data →M(MA)

Att läsa från minne:

M(MA) → data

Page 8: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

Random Access Memory (RAM)

8Dataväg och minne

Alla minnets delar har samma åtkomsttid.

central-enhet

primär-minnes-system

adressering

dataöverföring

styrsignaler

OE0

1

Minnes-register

0

LD0

CP

&

&

skriv

läs

OE255

1

Minnes-register

255

LD255

CP

&

&

skriv

läs

e0

e255

e254

e1

e2

Adress

Data

MW

MR

MinneCP

MW

MR

Adress

Data

Page 9: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

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

9Dataväg och minne

RAM - Minnestyper

Page 10: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

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

Snabb tillbakablick

10Dataväg och minne

Page 11: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

”Williamstuben”, 1946-1950

11Dataväg och minne

Första elektrostatiska minnet

Lagrad nolla

Lagrad etta

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.

Page 12: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

Kärnminne c:a 1950-1975

12Dataväg och minne

Skrivström, läsström – riktning anger lagrad

nolla eller etta

Page 13: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

Halvledarminnen 1966

13Dataväg och minne

Statiskt RAM (SRAM) 6 transistorer/-bit

WL = 1, väljer denna cell. (M5 och M6 leder).Minneselementet har två stabila tillstånd:BL=1 och BL’ = 0 →”1”BL=0 och BL’ = 1 →”0”(Jämför med SR-latch)

256-bit TTL RAM (Fairchild)

128-bit RAM (IBM System/360 Model 145 primärminne)jämförd med kärnminne.

Page 14: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

Dynamiskt RAM (DRAM) 1970

14Dataväg och minne

Intel i1103 1024-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)

Page 15: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

ROM (1965)

15Dataväg och minne

Intel 3301, 1024-bit ROM

A2

A1

A0

ord 0ord 1ord 2ord 3ord 4ord 5ord 6ord 7

bit 7

bit 6

bit 5

bit 4

bit 3

bit 2

bit 1

bit 0

”1” ”0”

Dioder (ettor) placeras i diodmatrisens skärningar vid tillverkningsprocessen, “mask-programmerade”

Page 16: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

EPROM (1971)

16Dataväg och minne

Dov Frohman uppfann EPROM (Intel)

Intel 1702, EPROM.UV-ljus användes för att radera minnet.

Intel EPROM- programmerare (1971)

Page 17: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

FLASH 1988

17Dataväg och minne

NOR-FLASH

NAND-FLASH

”BLOCK”-minnes åtkomst

MINNE STYRKRETS

Page 18: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

Läs-cykel

18Dataväg och minne

Exempel: Kopiera minnesinnehåll på adress (FF)16 till register A

OEB

1OEA

1

ALU

B

LDB

CPA

LDA

CP T

LDT

CP

R

LDR

CP

OER1

f0f1f2f3

Cin

C

V

Z

N

MWMinne

MAR

LDMAR

CP

Adress

Data MR

CP

Cykel Operation (RTN) Aktiva styrsignaler Beskrivning1 (FF)16→R f3, f2, f1, f0, LDR F(15), dvs f3=1,f2=f1=f0=1. dvs. FF placeras i R2 R→MAR OER,

LDMAR

FF kopplas till bussen. Vid klockpuls laddas MAR

3 M(MAR) →A MR LDA

Lässignal till minnetVid klockpuls laddas minnesinnehåll i A

FF

FF

M(FF)

Page 19: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

19Dataväg och minne

Arkiv -> Datavägen ->Dataväg med RWM

Exempel:Addera minnesinnehållen på adress 0416 och 0516 och spara resultatet på adress 0616.

Page 20: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

20Dataväg och minne

Lösning:Vi börjar med att placera 2416 på adress 0416 och 1316 på adress 0516.(För att kunna kontrollera styrsignalsekvensen)

CP OE LD Mem ALU Funk Source RTNS1 A B R A B T R R W 3 2 1 0 Cin 1 2

1 1 24 04 24→M(04)

2 1 13 05 13→M(05)

Page 21: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

21Dataväg och minne

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 RSkriv tillbaks resultatet till minnet från register R

CP OE LD Mem ALU Funk Source RTNS1 A B R A B T R R W 3 2 1 0 Cin 1 2

3 1 1 04 M(04)→T

4 1 1 1010 05 M(05)+T→R

5 1 1 06 R→M(06)

Page 22: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

John Louis Von Neumann (1903-1957)”Det lagrade programmets princip”, dvs

program och data i samma minne.

Program och minne

22Dataväg och minne

Maskinprogram i minnet

Tillhörande assemblerprogram

Instruktion

Adress

Data

Page 23: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

Maskininstruktioner

23Dataväg och minne

(Adress)16

00000000 00

Innehåll

11110000 01

00000000 FF xxxxxxxx FE

10101100 02 00110100 03 11001110 04 01011100 05

instruktion 1

instruktion 2

instruktion 3

data

Kan ha olika “INSTRUKTIONSFORMAT”

EXEMPEL:

Page 24: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

24Dataväg och minne

OP-kod AdrADDB Adr

OP-kodTFR B,A

Instruktionsformat

LDAB #data OP-kod data

Exempelvis:

Maskinprogram000100012

001000112

001010012

111100112

000000102

010011112

000000112

011000012

000100112

Instruktion”mnemonic”

Assemblerprogram

operand-information

Adress

”Byte-wide” 8 bitar data på varje adress

Page 25: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

Exempel: Instruktionen ”Clear”

25Dataväg och minne

Instruktion Adressering Operation FlaggorClear Variant metod OP # ~ N Z V CCLRA Inherent 47 1 4 0 A 0 1 - 0CLRB Inherent 48 1 4 0 B 0 1 - 0CLR <ADR> Absolute 49 2 5 0 M(ADR) 0 1 - 0

Följande instruktionsbeskrivning specificerar ”Clear”. Instruktionen nollställer operanden och finns i olika varianter:

CLRA nollställ register ACLRB nollställ register BCLR <ADR> nollställ minnesinnehåll

Antag att vi placerar instruktionssekvensen i minnet med start på adress 01, minnet skulle då få följande utseende:CLRACLRBCLR (55)16

0100011101010010000201001001030101010104

OP-kod, (47)16

OP-kod, (48)16

OP-kod, (49)16

operandinformation,(55)16

Page 26: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

OEPC1

OEB1

OEA1

MinneCP

MW

MR

g1g0

0

1

C

C

ALU

B

LDB

CPA

LDA

CP T

LDT

CP

R

LDR

CP

OER1

I

LDI

CP

0

1

2

3

g2

MA

LDMA

CP

Adress

Data

CCR

LDCCR

CP

OECCR1

0 1

b 3 b

2 b

1 b

0

N Z

V C

N Z V C

PC

LDPC

CP

INCPC

f3 f2 f1 f0

flaggor

Styrenhet

CP

Reset

operations-kod

styrsignaler

Dataväg för program i minne

26Dataväg och minne

Page 27: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

Centralenhetens instruktionsbearbetning

27Dataväg och minne

EXECUTEFETCH

Utför maskininstruktion

Hämta maskininstruktion från minne

I sin enklaste form kan bearbetningen av en instruktion delas in i två faser

Page 28: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

Instruktionshämtning – ”FETCH”

28Dataväg och minne

Cykel Operation (RTN)

Aktivastyrsignaler

Beskrivning

1 PC→MAPC+1→PC

OEPC,LDMA

INCPC

Innehållet i PC adresserar minnetUppdateras för att peka på nästa minnesposition

2 M(MA) →I MR,LDI Läsning från minnet till instruktionsregistret.

Vid instruktionshämtning placeras operationskoden som PC “pekar på” i instruktionsregistret.

PC räknas upp och pekar därefter på antingen en operand eller en ny instruktion.

OEPC1

OEB1

OEA1

MinneCP

MW

MR

g1g0

0

1

C

C

ALU

B

LDB

CPA

LDA

CP T

LDT

CP

R

LDR

CP

OER1

I

LDI

CP

0

1

2

3

g2

MA

LDMA

CP

Adress

Data

CCR

LDCCR

CP

OECCR1

0 1

b3

b2

b1

b0

N Z

V C

N Z V C

PC

LDPC

CP

INCPC

f3 f2 f1 f0

flaggor

Styrenhet

CP

Reset

operations-kod

styrsignaler

Page 29: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

29Dataväg och minne

Arkiv -> Datavägen ->Dataväg med manuell styrenhet

Nya register i datavägen:

S – Stackpekare, speciellt register med flera viktiga funktioner.

X – Generellt register för adressinformation

Page 30: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

30Dataväg och minne

FETCH - Hämtningsfas

State RTN Styr-signaler

Kommentar

0 PC→MA,

PC+1→PC

OEPC=1, LDMA=1,

IncPC=1.

Adressen till instruktionens operationskod kopieras från PC till minnesadressregistret MA. Adressen som finns i PC ökas med ett.

1 MI MR=1, LDI=1.

Läs operationskoden från minnet. Placera den i instruktionsregistret I. Nästa state skall vara det första i EXECUTE-sekvensen.

Det förutsätts alltså att det finns en operationskod på denna adress..

FETCH

EXEMPEL: PC = (0C)16

Page 31: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

31Dataväg och minne

EXECUTE - Utförandefas Utförandefasen är unik för varje instruktion.

Exempel: INCAOP-kodInstruktionsformat

State RTN Styrsignaler Kommentar0 A+1→R,

Flaggor→CC OEA=1, f3=1,g0=1,LDR=1,LDCC=1

ALU-funktionen (1000) utför “A+0+Cin”.g0=1 väljer Cin = 1.Resultatet överförs till R.ALU’ns flaggor (NZCV) överförs till flaggregister CC.

1 R→A OER=1, LDA=1NF=1

Resultatet från operationen (i R) återförstill register A.Nästa klockcykel skall vara den första i ny FETCH-sekvens.

INCA Increment register A

RTN: A + 1 A

Flaggor: N: Ettställs om resultatets teckenbit (bit 7) får värdet 1.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.

Detaljerad beskrivning av instruktionen

EXECUTE

NF

NF

Page 32: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

32Dataväg och minne

Exempel: LDAA #data

OP-kod dataInstruktionsformat

State RTN Styrsignaler Kommentar0 PC→MA,

PC+1→PCOEPC=1, LDMA=1,IncPC=1.

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 kan läsas från minnet under nästa klockcykel. 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.

1 M→A MR=1, LDA=1,NF=1

Läs instruktionens datadel "Data" från minnet och placera den i A-registret.Nästa klockcykel skall vara den första i ny FETCH-sekvens.

LDAA #data Load A Immediate

RTN: Data A

Flaggor: Påverkas ej.

Beskrivning: Laddar dataord från instruktionen till register A.

Detaljerad beskrivning av instruktionen

Page 33: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

33Dataväg och minne

Exempel: LDAA Adr

OP-kod AdrInstruktionsformat

State RTN Styrsignaler Kommentar0 PC→MA,

PC+1→PCOEPC=1, LDMA=1,IncPC=1.

“Adressen till Adr”, dvs PC, vid execute-fasens början, adresserar minnet för att kunna läsa “Adr”.

1 M→MA MR=1, LDMA=1,

“Adr” läses och placeras direkt i MA för att vi i nästa fas ska kunna adressera minnet.

2 M→A MR=1, LDA=1,NF=1

Data från “Adr” läses...... och placeras i register A .Nästa klockcykel skall vara den första i ny FETCH-sekvens.

LDAA Adr Load A from memory

RTN: Data A

Flaggor: Påverkas ej.

Beskrivning: Laddar dataord från minnet till register A.

Detaljerad beskrivning av instruktionen

Page 34: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

Centralenhetens arbetsätt

34Dataväg och minne

EXECUTEFETCHRESET

NF

NF NF NF

NF NF

FETCH EXECUTERESET

Page 35: EDA 451 - Digital och Datorteknik Dagens föreläsning: Dataväg och minne,

Digital och Datorteknik – EDA451 2009/2010

RESET - Återställningsfas

35Dataväg och minne

S RTN-beskr

Styrsignaler Kommentar

0 FF16→R ALU-fkn = F16, LDR=1.

ALU-funktionen väljs så att talet FF16 finns på ALU:ns utgång. Laddingången på R-registret ettställs så att utvärdet från ALU’n (FF16) laddas i R-registret vid nästa klockpuls.

1 R→MA OER=1, LDMA=1.

Talet FF16 i R-registret kopplas ut på bussen. Bussinnehållet laddas i minnesadressregistret vid nästa klockpuls.

2 M→PC MR=1, LDPC=1.

Minnesinnehållet på adressen FF16 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)

RESET

I exemplet placeras adressen 0C i PC. En instruktion förutsätts finnas på denna adress.