210 likes | 378 Views
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.
E N D
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 Datorsystemets bussar
Adressrum, programmerarens bild Linjärt fysiskt adressrum Segmenterat adressrum ”Bank”-indelat adressrum CS IP PC PC DS BANK DP Datorsystemets bussar
HCS12DG256,blockdiagram Datorsystemets bussar
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… Datorsystemets bussar
adressbuss databuss styrbuss Central- enhet Gränssnitt mot yttre enheter Minnes-enheter Buss-system Datorsystemets bussar
Buss protokoll • ”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 Datorsystemets bussar
Logiknivåer ”Aktiv hög” – Logiknivå 1, ”Enable” ”Aktiv låg” – Logiknivå 0, ”Enable” Datorsystemets bussar
b7 b6 b5 b4 b3 b2 b1 b0 b0 b1 b2 b3 b4 b5 b6 b7 Bit ordning ”bit endianess” big-endian (”LSB 0”) 8-bitars ord där b7 är den MEST signifikanta biten och b0 den MINST signifikanta biten little-endian (”MSB 0”) Datorsystemets bussar
register register minne minne LSB MSB MSB LSB α α α+n α+n big-endian byte ordning little-endian byte ordning Byte ordning Datorsystemets bussar
register D minne minne A B 11 22 α 22 α+1 11 α 11 α+1 22 11 22 AH AL 8086 (little endian) register AX HCS12 (big endian) Exempel: HCS12/Intel 8086 byte ordning Datorsystemets bussar
centralenhet perifer enhet Adressbuss Databuss ECLK R/W Giltig adress centralenhet perifer enhet VA Adressbuss Databuss ACK Accept/Utfört Busskommunikation Synkron buss Multiplex-buss Asynkron buss Klocka A/D Adress Adress Data Data Buss Busscykel Busscykel Datorsystemets bussar
centralenhet perifer enhet Adressbuss Databuss ECLK R/W Synkron buss Datorsystemets bussar
”Timing” Datorsystemets bussar
Multiplex 16 bitar adress 8 bitar data 8 bitar fysisk buss 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, AdressellerData Datorsystemets bussar
Multiplex 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 A9 A10 A11 A12 A13 A14 A15 A/D Kombinerad AdressbussLåg /Databuss, 8 bitar 16 bitar adress 8 bitar data 16 bitar fysisk buss Adressbuss hög 8 bitar Klocka A/D Styrsignal, AdressellerData Adress Adress Data Data Buss Busscykel Busscykel Datorsystemets bussar
Multiplex 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/D8 A9/D9 A10/D10 A11/D11 A12/D12 A13/D13 A14/D14 A15/D15 A/D 16 bitar adress 16 bitar data 16 bitar fysisk buss Kombinerad Adressbuss /Databuss, 16 bitar Klocka A/D Styrsignal, AdressellerData Adress Adress Data Data Buss Busscykel Busscykel Datorsystemets bussar
Programmerbar konfiguration hos HCS12 Vid ”RESET” avläses nivåerna hos pinnar BKGD, PE6, PE5, PK7, ROMON Därefter sätts ev. Port A/B som adress/databuss Datorsystemets bussar
SynkronMultiplex-buss, CPU12 Vid positiv flank hos E(CLK) ”låses” adressen via latchen E CPU12 latch dataöverföring adress ”låses” 16-bitars adressbuss 16-bitars databuss Datorsystemets bussar
Asynkron buss Dessutom signaler RE, Read Enable WE, Write Enable Bestä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) Datorsystemets bussar
Asynkron buss 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”). Datorsystemets bussar
CPU data adress avkodnings-logik ACK-logik Asynkron buss, synkrona minnen CE, VA och ACK är aktivt låga Enkel ”ACK-logik” 1 CE ACK VA Datorsystemets bussar