Upload
kaoru
View
40
Download
0
Embed Size (px)
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 Presentation
Citation preview
Maskinorienterad Programmering
1Datorsystemets bussar
Maskinorienterad Programmering
Adressrum, programmerarens bild
2Datorsystemets bussar
Linjärt fysiskt adressrum
Segmenterat adressrum
”Bank”-indelat adressrum
PC
IP
DP
PC
BANK
CS
DS
Maskinorienterad Programmering
Datorsystemets bussar 3
HCS12DG256,blockdiagram
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…
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
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
Maskinorienterad Programmering
Logiknivåer
”Aktiv hög” – Logiknivå 1, ”Enable”
”Aktiv låg” – Logiknivå 0, ”Enable”
Datorsystemets bussar 7
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
Maskinorienterad Programmering
Byte ordning
Datorsystemets bussar 9
α+n
LSB MSB
α
minne register
little-endian byte ordningbig-endian byte ordning
MSB LSB
α
α+n
minne register
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
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
Maskinorienterad Programmering
Synkron buss
Datorsystemets bussar 12
centralenhet perifer enhet
Adressbuss
Databuss
ECLK
R/W
Processor
Adress- buss Data- buss
Maskinorienterad Programmering
”Timing”
Datorsystemets bussar 13
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
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
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
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
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”
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)
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”).
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