1 / 39

Procesni sistemi vodenja

Procesni sistemi vodenja. Programski model procesne enote mikrokrmilnika. (Uvod v programiranje v zbirnem jeziku, TMS320C2407). Vsebina poglavja. Naslavljanje Ukazi v strojnem jeziku: Deli ukaza v zbirnem jeziku Nalaganje in shranjevanje Aritmetične operacije Logične operacije

azriel
Télécharger la présentation

Procesni sistemi vodenja

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Procesni sistemi vodenja Programski model procesne enote mikrokrmilnika (Uvod v programiranje v zbirnem jeziku, TMS320C2407) Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  2. Vsebina poglavja • Naslavljanje • Ukazi v strojnem jeziku: • Deli ukaza v zbirnem jeziku • Nalaganje in shranjevanje • Aritmetične operacije • Logične operacije • Pomiki (shift) • Bitne operacije • Inkrement/dekrement • Skoki in zanke • Sklad • Podprogrami (lastnosti, modularnost, sklad, klic, vračanje) • Dodeljevanje pomnilnika • Delovanje zbirnika (prevajalnika) Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  3. Naslavljanje • naslov in vsebina • tipi: • trenutno, • direktno, • indirektno, • indeksno, • relativno Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  4. Naslavljanje – naslov in vsebina Naslov Vsebina Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  5. Naslavljanje - tipi • Trenutno (Immediate) • Ukaz vsebuje konstanto, s katero bo manipulirala instrukcija • RPT #99 ; Ponovi naslednjo vrstico 99 krat • Neposredno (Direct) • Ukaz vsebuje naslov v podatkovnem pomnilniku, na katerem se nahaja vrednost (spremenljivka ali konstanta), s katero bo manipulirala instrukcija • ADD 1h ; Prištej vrednosti akumulatorja vsebino ; pomnilniške lokacije 1h Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  6. Naslavljanje - tipi • Posredno (Indirect) • Naslavljanje z uporabo pomožnih registrov, indeksno naslavljanje. Ukaz vsebuje pomožni register, v katerem se nahaja naslov v podatkovnem pomnilniku, kjer je vrednost (spremenljivka ali konstanta), s katero bo manipulirala instrukcija. • ADD * ; Prištej vrednosti v akumulatorju vsebino ; pomnilniške lokacije, na katero kaže ; vsebina trenutnega pomožnega registra. • ADD *- ; Enako kot prej, le da je vsebina trenutnega ; pomožnega registra po operaciji zmanjšana ; za 1. Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  7. Ukazi v zbirnem jeziku • Deli ukaza v zbirnem jeziku • Nalaganje in shranjevanje • Aritmetične operacije • Logične operacije • Pomiki (shift) • Bitne operacije • Skoki in zanke Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  8. Legenda • ACC – akumulator • dma – naslov v podatkovnem pomnilniku • pma – naslov v programskem pomnilniku • k – konstanta • cond – pogoj • TOS – Top of stack, kazalec na vrh sklada • cbit – kontrolni bit • (x) – vsebina registra oz. pomnilniške lokacije x • x(y) – bit št. y registra oz. pomn. lokacije x Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  9. Statusni register • ST0 • ST1 • C – Carry bit – označuje prenos • TC – Test control flag bit – za bitne operacije • OV – Overflow – označuje prekoračitev obsega TMS320LF2407 Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  10. Deli ukaza v zbirnem jeziku • labela • operacijska koda • operandi • komentarji OUTPUTLDP#6;select data page 6 BLDD#300, 20h;move data at address ;300h to 320h Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  11. Nalaganje in shranjevanje • Nalaganje v akumulator • LACC dma C: acc = *dma; • (dma) → (ACC) • LACC #k C: acc = 5; • k → (ACC) • Shranjevanje v pomnilnik C: *dma = acc; • SACH dma • (ACC(31:16)) → dma • SACL dma • (ACC(15:0)) → dma Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  12. Aritmetične operacije • Seštevanje • ADD #5 C: acc += 5; • (ACC) + 5 → (ACC) • ADD dma C: acc += *dma; • (ACC) + (dma) → (ACC) • Odštevanje • SUB dma C: acc -= *dma; • (ACC) – dma → (ACC) • Dvojiški komplement • NEG C: acc = -acc; • (ACC) * (-1) → (ACC) Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  13. Logične operacije • IN • AND #5 C: acc &= 5; • (ACC) & 5 → (ACC) • ALI • OR #5 C: acc |= 5; • (ACC) | 5 → (ACC) • Eniški komplement • CMPL C: acc = ~acc; • Ekskluzivni ALI • XOR #5 C: acc ^= 5; • (ACC) ^ 5 → (ACC) Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  14. Pomiki (shift) • Rotacija v levo • ROL • C → ACC(0) (ACC(31)) → C (ACC(30:0)) → ACC(31:1) • Rotacija v desno • ROR • C → ACC(31) (ACC(0)) → C (ACC(31:1)) → ACC(30:0) Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  15. Pomiki (shift) • Pomik v levo • SFL C: acc <<= 1; • (ACC(31)) → C (ACC(30:0)) → ACC(31:1) 0 → ACC(0) • Pomik v desno • SFR C: acc >>= 1; • (ACC(31:1)) → ACC(30:0) (ACC(0)) → C ukaz SFR upošteva Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  16. Bitne operacije, primerjave • Testiraj bit • BIT dma, 15 • dma(15) → TC • Postavi kontrolni bit • SETC cbit • Zbriši kontrolni bit • CLRC cbit Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  17. Skoki in zanke • Zanka na mesto, ki ga označuje labela • B pma • pma → PC • Zanka na mesto, ki ga označuje vsebina akumulatorja • BACC • ACC(15:0) → PC • Pogojna zanka • BCND pma,cond • If (cond) PC = pma else PC +=1 • BCND pma,C (C – Carry bit) • If (C==1) PC = pma else PC +=1 Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  18. Sklad • Služi za shranjevanje vsebine programskega števca in ostalih registrov ob: • Skokih v podprograme • Prekinitvah • Proces se prekine, lokalne spremenljivke se ohranijo! Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  19. Sklad- PUSH Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  20. Sklad- POP Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  21. Podprogrami • Razlogi za uporabo • Lastnosti • Modularnost • Klic podprograma • Vračanje iz podprograma Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  22. Razlogi za uporabo podprogramov • Prednosti: • Večja preglednost kode. • Možnost večkratne uporabe delov programske kode. • Manjša dolžina kode – manjša poraba pomnilnika. • Krajši porabljen čas za pisanje kode. • Slabosti: • Počasnejše izvajanje. • Sklad, • Trajanje skoka. • V primeru spremembe je treba upoštevati vse klice! Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  23. Modularnost • Podprogram je zaključena celota: • Vhodni podatki, • Funkcija, • Izhodni podatki • Čim manj globalnih spremenljivk – idealno nobene! • Statične spremenljivke le v primeru potrebe. • Najboljše so lokalne spremenljivke. Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  24. Klic podprograma • Klic podprograma na naslovu v akumulatorju • CALA • PC + 2 → TOS • ACC(15:0) → PC • Brezpogojni klic podprograma • CALL pma • PC + 2 → TOS • pma → PC Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  25. Vrnitev iz podprograma • Brezpogojna vrnitev • RET C: return; • (TOS) → PC • Pogojna vrnitev • RETC cond • If (cond) (TOS) → PC • RETC cond • If (C==1) (TOS) → PC Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  26. Dodeljevanje pomnilnika • Mikrokontroler/mikroprocesor • Bit MP/MC v SCSR2 (imamo zunanji pomnilnik?) • Bita DON in PON v SCSR2 (izbira pomnilniškega in programskega prostora) • Bit CNF v ST1 • Podatkovna stran • DP v ST0 Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  27. Konfiguracijska registra SCSR1 in SCSR2 SCSR1 SCSR2 Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  28. Statusna registra ST0 in ST1 • ST0 • ST1 • C – Carry bit – označuje prenos • TC – Test control flag bit – za bitne operacije • OV – Overflow – označuje prekoračitev obsega Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  29. Kodna stran - DP Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  30. Generiranje naslova – neposredno naslavljanje Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  31. Delovanje zbirnika (prevajalnika) • Prevajalnik (Assembler) • Povezovalnik (Linker) • Knjižnice (Library) • Generator binarne kode (Executable file) Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  32. Potek prevajanja Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  33. Razdeljevanje pomnilnika v logične bloke • Sekcije • .bss • Ponavadi rezervira prostor za neinicializirane spremenljivke. • .data • Ponavadi vsebuje inicializacijske podatke. • .text • Ponavadi vsebuje izvršno kodo. Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  34. Razdeljevanje pomnilnika v logične bloke Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  35. Primer konfiguracije Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  36. Primer uporabe ukazov za sekcije (2407) Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  37. Primer konfiguracije pomnilnika (2407) Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  38. Domača naloga Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

  39. Možna vprašanja na izpitu • Naslavljanja – tipi in opisi. • Deli ukaza v zbirnem jeziku n njihov pomen. • Tipi instrukcij. • Sklad – opis in uporaba. • Prednosti in slabosti uporabe podprogramov. • Statusni register – opis in najpomembnejši biti. Procesni sistemi vodenja - Programski model procesne enote mikrokrmilnika

More Related