eda 480 – maskinorienterad programmering 2009/2010 mc68hc12 , ”uppbyggnad.pdf” ur...
DESCRIPTION
EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet: Datorns byggblock Busskommunikation Synkron buss Asynkron buss Multiplex-buss Adressavkodning för minne och I/O Minnesavbildad I/O Direktadresserad I/O. Adressrum, programmerarens bild. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/1.jpg)
Maskinorienterad Programmering
1Datorsystemets bussar
![Page 2: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/2.jpg)
Maskinorienterad Programmering
Adressrum, programmerarens bild
2Datorsystemets bussar
Linjärt fysiskt adressrum
Segmenterat adressrum
”Bank”-indelat adressrum
PC
IP
DP
PC
BANK
CS
DS
![Page 3: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/3.jpg)
Maskinorienterad Programmering
Datorsystemets bussar 3
HCS12DG256,blockdiagram
![Page 4: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/4.jpg)
Maskinorienterad Programmering
Datorsystemets bussar 4
Minne och IO
AD – Analog till Digital omvandling
ECT- Räknarkretsar för noggrann tidmätning
SCI – Asynkron seriekommunikation
Parallell In-Utmatning
PWM – Pulsbreddsmodulering
Etc…
![Page 5: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/5.jpg)
Maskinorienterad Programmering
Buss-system
Datorsystemets bussar 5
Central-
enhet
Central-
enhetMinnes-enheter
Minnes-enheter
Gränssnitt mot yttre enheter
Gränssnitt mot yttre enheter
databussadressbuss
styrbuss
![Page 6: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/6.jpg)
Maskinorienterad Programmering
Buss protokoll
Datorsystemets bussar 6
•”Språket”, betydelsen av hög respektive låg logiknivå•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
![Page 7: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/7.jpg)
Maskinorienterad Programmering
Logiknivåer
”Aktiv hög” – Logiknivå 1, ”Enable”
”Aktiv låg” – Logiknivå 0, ”Enable”
Datorsystemets bussar 7
![Page 8: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/8.jpg)
Maskinorienterad Programmering
Bit ordning ”bit endianess”
Datorsystemets bussar 8
b7 b6 b5 b4 b3 b2 b1 b0
b0 b1 b2 b3 b4 b5 b6 b7
big-endian (”LSB 0”)
little-endian (”MSB 0”)
8-bitars ord där b7 är den MEST signifikanta biten och b0 den MINST signifikanta biten
![Page 9: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/9.jpg)
Maskinorienterad Programmering
Byte ordning
Datorsystemets bussar 9
α+n
LSB MSB
α
minne register
little-endian byte ordningbig-endian byte ordning
MSB LSB
α
α+n
minne register
![Page 10: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/10.jpg)
Maskinorienterad Programmering
Exempel: HCS12/Intel 8086 byte ordning
Datorsystemets bussar 10
HCS12
(big endian)
11
α
α+1
minne
register D
A22B
11
22
8086
(little endian)
11
α
α+1
minne
register AXAH
22
AL
22
11
![Page 11: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/11.jpg)
Maskinorienterad Programmering
Busskommunikation
Datorsystemets bussar 11
Synkron buss
Multiplex-buss
Asynkron buss
Processor
Adress- buss Data- buss
Processor
A/D
Adress och data-buss
Data Data Data Data Data Data
Adr Adr
Klocka
Buss-cykel
Buss-cykel
Data buss
Adr Adr. buss
Buss-cykel
Adr Adr Adr
Buss-cykel
Buss-cykel
centralenhet perifer enhet
Adressbuss
Databuss
Giltig adress
Accept/UtförtACK
VA
Databuss
Klocka
ACK
VA
Adressbuss
centralenhet perifer enhet
Adressbuss
Databuss
ECLK
R/W
Data
Klocka
BusscykelBusscykel
Buss
A/D
DataAdress Adress
![Page 12: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/12.jpg)
Maskinorienterad Programmering
Synkron buss
Datorsystemets bussar 12
centralenhet perifer enhet
Adressbuss
Databuss
ECLK
R/W
Processor
Adress- buss Data- buss
![Page 13: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/13.jpg)
Maskinorienterad Programmering
”Timing”
Datorsystemets bussar 13
![Page 14: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/14.jpg)
Maskinorienterad Programmering
Multiplex
Datorsystemets bussar 14
central enhet
A/D
Adress och data-buss
Data Adr H
Adr L
Klocka
Busscykel Busscykel
Buss
A/D
Data
Adr L Adr H
A/D 0 A/D 1 A/D 2 A/D 3 A/D 4 A/D 5 A/D 6 A/D 7
A/D
Kombinerad Adressbuss/Databuss, 8 bitar
Styrsignal, Adress eller Data
16 bitar adress8 bitar data8 bitar fysisk buss
![Page 15: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/15.jpg)
Maskinorienterad Programmering
Multiplex
Datorsystemets bussar 15
Data
Klocka
BusscykelBusscykel
Buss
A/D
DataAdress Adress
central enhet
A/D
Adress och data-buss
16 bitar adress8 bitar data16 bitar fysisk buss
A0/D 0 A1/D 1 A2/D 2 A3/D 3 A4/D 4 A5/D 5 A6/D 6 A7/D 7
A8A9
A10A11A12A13A14A15
A/D
Kombinerad Adressbuss Låg/Databuss, 8 bitar
Styrsignal, Adress eller Data
Adressbuss hög 8 bitar
![Page 16: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/16.jpg)
Maskinorienterad Programmering
Datorsystemets bussar 16
Multiplex
16 bitar adress16 bitar data16 bitar fysisk buss
A0/D 0 A1/D 1 A2/D 2 A3/D 3 A4/D 4 A5/D 5 A6/D 6 A7/D 7
A8/D8A9/D9
A10/D10A11/D11A12/D12A13/D13A14/D14A15/D15
A/D
Kombinerad Adressbuss/Databuss, 16 bitar
Styrsignal, Adress eller Data
central enhet
A/D
Adress och data-buss
Data
Klocka
BusscykelBusscykel
Buss
A/D
DataAdress Adress
![Page 17: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/17.jpg)
Maskinorienterad Programmering
Programmerbar konfiguration hos HCS12
Datorsystemets bussar 17
Vid ”RESET” avläses nivåerna hos pinnarBKGD, PE6, PE5, PK7, ROMONDärefter sätts ev. Port A/B som adress/databuss
![Page 18: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/18.jpg)
Maskinorienterad Programmering
SynkronMultiplex-buss, CPU12
Datorsystemets bussar 18
CPU12latch
Vid positiv flank hos E(CLK) ”låses” adressen via latchen
E
16-bitars adressbuss
16-bitars databuss
dataöverföringadress ”låses”
![Page 19: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/19.jpg)
Maskinorienterad Programmering
Asynkron buss
Datorsystemets bussar 19
Databuss
Klocka
ACK
VA
Adressbuss
Dessutom signalerRE, Read EnableWE, Write EnableBestämmer riktning på dataöverföring
Centralenheten signalerar”Giltig adress på adressbussen”
Perifer enhet signalerar”Data har placerats på databussen” (om RE)”Data kar klockats in från databussen” (om WE)
![Page 20: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/20.jpg)
Maskinorienterad Programmering
Datorsystemets bussar 20
Asynkron buss
Databuss
Klocka
ACK
VA
Adressbuss
1
RE
2 3
wait state
Vid ”1” börjar periferienheten avkoda adressen från adressbussen, detta tar en kort stund, varefter databussen drivs av periferienheten och ACK-signalen aktiveras. ACK-signalen upptäcks av centralenheten vid ”2” och databussen läses av vid nästa positiva klockflank ”3”. Antalet klockcykler från det att centralenheten upptäcker ACK, tills data klockas in från databussen kallas väntecykler (”wait states”).
![Page 21: EDA 480 – Maskinorienterad Programmering 2009/2010 MC68HC12 , ”Uppbyggnad.pdf” Ur innehållet:](https://reader036.vdocuments.pub/reader036/viewer/2022062408/568142ca550346895daf1d01/html5/thumbnails/21.jpg)
Maskinorienterad Programmering
Datorsystemets bussar 21
Asynkron buss, synkrona minnen
CPUavkodnings-logik
adress
ACK-logik
data
1
ACKCEVA
Enkel ”ACK-logik”
CE VA ACK
0 0 0
0 1 1
1 0 1
1 1 1
CE, VA och ACK är aktivt låga