yttre enheter adressbuss - chalmers...2000-2fff 3000-3fff rom: cxxx ut p ort: 8000 a 13 a 12 rwm a 1...
TRANSCRIPT
Digital och Datorteknik – EDA451 2010/2011
EDA 451– Digital och datorteknik2010/2011/
Datorsystemets bussar, adressavkodningy , g”Uppbyggnad_och_funktion.pdf”
U i håll tUr innehållet:Bussystem, intern kommunikation i datorsystemetAdressavkodning, hur primärminne och I/O-enheterg, p
kan anslutasOlika principer för intern kommunikation
(busskommunikation)(busskommunikation)
1Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
Bussystem
databussadressbuss
t bstyrbuss
Central-
enhetMinnesenheterGränssnitt mot yttre enheter
2Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
Primärminnets organisation
BYTE-d t
WORD- LONGWORDadresserat adresserat -adresserat
3Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
EXEMPEL Ad k d iEXEMPEL: Adressavkodning
V j i bl kVarje minnesblock (kapsel) tilldelas sin unika del av adressrummetadressrummet
4Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
CPUCPU ”Flyktigt” läs/skriv-minne, RWM
ut-portin-port
5Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
S ifik tiSpecifikation RWM-minnet ska aktiveras om centralenheten genererar någon av
adresserna 0-0FFF.
ROM-minnet ska aktiveras om centralenheten genererar någon avadresserna C000-CFFFadresserna C000-CFFF.
Inporten ska aktiveras om centralenheten genererar adress A000.
Utporten ska aktiveras om centralenheten genererar adress 8000.p g
Kapsel Startadress SlutadressMinneskapsel RWM 4 kbyte 0000 0FFFMinneskapsel RWM 4 kbyte 0000 0FFFMinneskapsel ROM 4 kbyte C000 CFFFBuffert, 8 bitar som inport A000 A000Register, 8 bitar som utport 8000 8000
6Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
R li i d NAND l ikRealisering med NAND-logik Fullständig avkodning
Kapsel AdressbussA15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
RWM$0FFF 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1$0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ROM$CFFF 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1$C000 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
inport$A000 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0$A000 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
utport$8000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0$8000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RWM: 0xxx
&A15
A14 CE
0000-0FFF
1000-1FFF
2000-2FFF
3000-3FFF
ROM: Cxxx
utport: 8000
&14
A13
A12
CERWM
A1
4000-4FFF
5000-5FFF
6000-6FFF
7000-7FFF
8000-8FFFp
inport: A000 &A15
A14
A13
A12
CEROM
9000-9FFF
A000-AFFF
B000-BFFF
C000-CFFF
D000-DFFF
7Datorsystemets bussar, adressavkodning
E000-EFFF
F000-FFFF
Digital och Datorteknik – EDA451 2010/2011
Ofullständig avkodningKapsel Adressbuss Ofullständig avkodningA15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
RWM$0FFF 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1$0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ROM$CFFF 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1$C000 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Kapsel Adressbuss
A15 A14 A13$C000 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
inport$A000 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0$A000 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
utport$8000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0$8000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RWM $0000‐$1FFF 0 0 0
ROM $C000‐$DFFF 1 1 0
inport $A000‐$BFFF 1 0 1
&A15
A14
ACERWM
0000 0FFF
inport $A000 $BFFF 1 0 1
utport $8000‐$9FFF 1 0 0
RWM: 0xxx
A130000-0FFF
1000-1FFF
2000-2FFF
3000-3FFF
4000-4FFF&A15
A14
ACEUT
utport: 8xxx
inport: Axxx
5000-5FFF
6000-6FFF
7000-7FFF
8000-8FFF
9000-9FFF
A13
&A15
A14
ACEIN
ROM: Cxxx
&A15
A14 CEROM
A000-AFFF
B000-BFFF
C000-CFFF
D000-DFFF
E000-EFFF
&A13
8Datorsystemets bussar, adressavkodning
&A13 F000-FFFF
Digital och Datorteknik – EDA451 2010/2011
9Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
Of ll tä di d k d iOfullständig adressavkodning
0000-0FFF
1000-1FFF
2000-2FFF
3000-3FFF
4000-4FFF
5000-5FFF
6000 6FFF6000-6FFF
7000-7FFF
8000-8FFF
9000-9FFF9000-9FFF
A000-AFFF
B000-BFFF
C000-CFFFC000 CFFF
D000-DFFF
E000-EFFF
F000-FFFF
10Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
E lExempel:
Vi har ett system med 16 bitars adressbuss och 8 bitars databuss Till centralenhetenVi har ett system med 16 bitars adressbuss och 8 bitars databuss. Till centralenhetenvill vi ansluta en ROM‐modul (32 kbyte), en RWM‐modul (16 kbyte) och en I/O‐port(en inport och en utport). I/O‐porten skall placeras på adress $4000, ROM‐modulenplaceras med start på adress $8000 RWM mod len placeras med start på adressplaceras med start på adress $8000, RWM‐modulen placeras med start på adress0000 i adressrummet.
Konstruera adressavkodningslogiken, dvs. ange booleska uttryck för ”chip select”(CS)‐ signalerna. Använd ofullständig adressavkodning. Alla ”chip select” signaler(CSROM, CSRWM, CSIN och CSUT) är aktiva låga.
Vi löser detta på tavlan...
11Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
Vi f tt lt tVi sammanfattar resultaten:
Modul AdressbussA15 A14 A13....
ROM$FFFF 1 1 1$8000 1 0 0
RWM$3FFF 0 0 1
RWM0 0 0 0
IO‐port$4000 0 1 0$4000 0 1 0
12Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
F ll tä di d k d iFullständig adressavkodningModul Adressbuss
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
ROM$FFFF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1$8000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RWM$3FFF 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IO‐port$4000 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0$4000 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Adressbitar som EJ skiljer sig åt i intervallet används i avkodningslogiken.
13Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
Ö l d i bild iÖverlagrad minnesavbildning
Metod:Metod:Bilda fullständig avkodningssignal för IO-porten.
Använd inversen av IO-portens CS-signal i avkodningslogiken för minnesmodulen.
14Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
E lExempel:
Vi har ett system med 20 bitars adressbuss och 8 bitars databuss. Tillcentralenheten finns ansluten en 128 kbytes ROM‐modul med start på adress$20000. En I/O‐port, som upptar 32 bytes, ska överlagras på adress $22000.$ / p , pp y , g p $
Konstruera adressavkodningslogiken, dvs. ange booleska uttryck för ”chip select”(CS)‐ signalerna. Båda ”chip select” signalerna (CSROM och CSIO) är aktiva låga.
15Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
Lö i t d
B ä h l d h äll b ll
Lösningsmetod
Bestäm start och slutadresser och ställ upp en tabell:Modul Adressbuss
A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0$3FFFF 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
ROM$3FFFF 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1$20000 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IO‐port$2201F 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1$22000 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
16Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
B k ik tiBusskommunikationDatorns buss-kommunikation måste vara fastlagd i ett protokoll. Med protokoll menas helt enkelt regler för hur kommunikationen sker, dvs. hur information, data, utbytes mellan olika enheter i systemet. yRegelverket inbegriper alltså överenskommelser om:
”Språket”, betydelsen av hög respektive låg logiknivå O i ti bit i tt d ” di bit d ” Organisation av bitarna i ett ord, ”endian bit order” Organisation av bytes i ett ord ”endian byte order” Tidsegenskaper händelser korrekt ordnade i tid Tidsegenskaper, händelser korrekt ordnade i tid
17Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
Bit d iBit-ordning
b7 b6 b5 b4 b3 b2 b1 b0
b b b b b b b b
big-endian (”LSB 0”)
littl di (”MSB 0”)
8-bitars ord där b7 är den MEST signifikanta biten och b0 den MINSTb0 b1 b2 b3 b4 b5 b6 b7little-endian (”MSB 0”) biten och b0 den MINST signifikanta biten
Byte ordningByte-ordning
LSB MSB
minne register
MSB LSB
minne register
αα
α+n
littl di b t d ibi di b t d i
α+n
18Datorsystemets bussar, adressavkodning
little-endian byte ordningbig-endian byte ordning
Digital och Datorteknik – EDA451 2010/2011
A k bAsynkron buss
19Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
Lä k l k bLäscykel, asynkron buss
Vid ”1” börjar periferienheten avkoda adressen från adressbussen,.
ACK-signalen upptäcks av g ppcentralenheten vid ”2” och databussen läses av vid nästa positiva klockflank ”3”positiva klockflank 3 .
Antalet klockcykler från ACK, tills data klockas in från databussendata klockas in från databussen kallas väntecykler (”wait states”).
20Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
Vä t till tå dVäntetillstånd
wait state(s)
CLK
Adressbuss
VA
RE
Databuss
RE
ACK
21Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
Generering av ACK-signal
Minneskretsar genererar som regel inte denna signal...
minneminne
databuss
central‐h
adressbuss
enhetavkodningslogik
ACK l ik 1CSACK‐logik
Utebliven ACK-signal indikerar ”Bussfel”...
1 ACKCS
VA
22Datorsystemets bussar, adressavkodning
Utebliven ACK signal indikerar Bussfel ...
Digital och Datorteknik – EDA451 2010/2011
S k bSynkron buss
23Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
Lä k l k bLäscykel, synkron buss
1. Läscykeln inleds med en negativ flank hos klocksignalen. 2. Signaler som var giltiga under föregående cykel tas bort och bussarna är nu
i odefinierade tillstånd.3 C t l h t ätt d h t i l fö i t3. Centralenheten sätter upp adress och styrsignaler för minnet.4. Minnet har avkodat adressbussen och lägger ut data på databussen.5. Läscykeln avslutas med en negativ flank hos klocksignalen. Data klockas in
till centralenheten från databussen
24Datorsystemets bussar, adressavkodning
till centralenheten från databussen.
Digital och Datorteknik – EDA451 2010/2011
Sk i k l k bSkrivcykel, synkron buss
1. Skrivcykeln inleds med en negativ flank hos klocksignalen. 2. Signaler som var giltiga under föregående cykel tas bort och bussarna är nu i
odefinierade tillstånd.3. Centralenheten sätter upp adress och styrsignaler för minnet.4 C t l h t lä t d t å d t b d b k d h4. Centralenheten lägger ut data på databussen, adressbussen avkodas och
aktiverar minneskapsel.5. Skrivcykeln avslutas med en negativ flank hos klocksignalen. Data klockas in
till minnet från databussen
25Datorsystemets bussar, adressavkodning
till minnet från databussen.
Digital och Datorteknik – EDA451 2010/2011
E lExempel
E
Vi har ett synkront system med 16 bitars adressbussoch 8 bitars databuss. Data klockas i systemet vidnegativ flank hos signalen E
ADRESS
negativ flank hos signalen E.
Till centralenheten ska anslutas:
• 8 kbyte ROM med start på adress $E000
16 kb t RWM d t t å d $8000R/W
DATA
• 16 kbyte RWM med start på adress $8000
• 512 byte I/O, med start på adress $E000
Konstruera fullständig adressavkodningslogik, dvs.ange booleska uttryck för ”chip select” (CS)- DATAange booleska uttryck för chip select (CS)signalerna. Alla ”chip select” signalerna (CSROM,CSRWM och CSIO) är aktiva låga.
Vi löser detta på tavlan...
26Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
M lti l d bMultiplexad buss CLK
A/D
DataBuss
A/D
Data AdressAdress
BusscykelBusscykel
27Datorsystemets bussar, adressavkodning
Digital och Datorteknik – EDA451 2010/2011
Modul Adressbuss
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
28Datorsystemets bussar, adressavkodning