Prekinitve CPE Zahteva za prekinitev Takih (prekinitvenih)

Slides:



Advertisements
Podobne predstavitve
Preberite te nasvete, če želite izvedeti, kako: 1 Prilagodite logotip
Advertisements

osupljiv in očarljiv pogled na stvarnost …
DELOVNO PRAVO disciplinska in odškodninska odgovornost
VIRI NAPAKE Na katere vplive moramo paziti, ko izvajamo kvazi(eksperiment) 53.
INFORMATIKA Osnove – temeljni pojmi I.
Specialne knjižnice Specialni knjižničarji = informacijski strokovnjaki Predavanje 2 Izr. prof. Primož Južnič
Številski sistemi Desetiški (okoli 3000 p.n.š. – Egipt)
Sindikat in svet delavcev z roko v roki
K O M B I N A T O R I K A   Obravnava posebne naloge povezane s končnimi množicami. Kompleksija je podmnožica končne množice Število elementov v kompleksiji.
Tekmovanje elektro in računalniških šol 2019 Kategorija: računalnikar
Tekmovanje mladih raziskovalcev
My EBSCOhost Vodnik support.ebsco.com.
Podatkovne baze 1 in Osnove podatkovnih baz: priprave za izpit
Številski sistemi Desetiški (okoli 3000 p.n.š. – Egipt)
Označevanje projektov
KARIERNO SVETOVANJE.
V/I prenosi Dve napravi, na primer:
Vektorji.
MINIMAKS IN NAPAKA PRI OCENJEVANJU POLOŽAJEV
SI-STAT podatkovni portal Novosti v letu 2005
Mikrokrmilnik in programiranje
KURIKULUM Slovenija - Finska Pripravila: Anja ŠTRUMBELJ.
ŠTEVILA PRIBLIŽNO RAČUNANJE PRIBLIŽNO RAČUNANJE
HCS12 – uporaba SCI Priprava vmesnika: Pošiljanje/sprejemanje
Iskanje K-tega najmanjšega el.
Sklad - splošno Kaj je sklad?
BINKOŠTI homilija d. Ferruccio prevod bojanM.
PROCESORJI Učitelj: Avtor:.
NEHOMOGENA ENAČBA 1. način DIFERENCIALNE ENAČBE
NEWTONOVI ZAKONI fizika
Operacijski sistemi.
Andrej Kuzman, Matjaž Podpečan
Računalniki.
LIMITA ZAPOREDJA LIMITA FUNKCIJE
SILA.
DK – Zasnova programirljivih krmilnikov
Procesorji Intel Itanium
PODZEMNI KRAŠKI POJAVI
Zgodovina Računalnikov
Vnos podatkov s tipkovnico
Elementi spletnih strani
Strojna oprema računalnika
Iz vsebine Okvirjenje ABP, GBN, SRP Vrednotenje Odkrivanje napak, CRC.
Programska oprema računalnika
Napredno iskanje na spletnem mestu EBSCOhost ~ z enim iskalnim poljem
Spremenljivke, prireditveni stavek
Kaj je Oddaljeno namizje (ON)?
Operacijski sistemi in virtualizacija
DK – STEP 7 – Podatkovni bloki
program Lync v Trgovini Windows
HUB, SWITCH Avtor:Križanič Mišel.
PADEC BERLINSKEGA ZIDU
Prezentacija April 2002 šolska leta
Vodenje toplotne modelne naprave Armfield PCT-13
6. poglavje: Računalniška vezja
Beseda življenja Marec 2009.
Priprava na pisno preverjanje znanja iz informatike
Najkrajše poti in Bellman-Fordov algoritem
Pogostost Danj je seznam klicanih številk
Splošna matura 2019.
Fire Wall ( Požarni zid )
Interna struktura NTFS
Breadboard eletrotehnika.
Pripravil: Šolsko leto:
Razpoznava govora z usmerjeno nevronsko mrežo
Trdi diski.
NOV PRISTOP NA PODROČJU KAKOVOSTI ZRAKA
Andrej Grah a.k.a. Burgola
Knjiga za vse: Avdio produkcija
izkoristek Outlookovih funkcij
Zapis predstavitve:

Prekinitve CPE Zahteva za prekinitev Takih (prekinitvenih) Signalov je lahko tudi več. Prekinitve pa imajo lahko tudi notranji vzrok oz. vir. Zahteva za prekinitev Prevzem ukaza Dekodiranje ukaza Izvršitev Prekinitev? Izvršitev prekini- tvene operacije prevzemni Ukazno cikel Izvršilni

Prekinitve - splošno Prekinitve (sistemi prekinitev) na splošno so bistvenega pomena v večopravilnih (operacijskih) sistemih in za delovanje sistemov v realnem času, t.j. tedaj, ko se mora določena aktivnost zgoditi v danem trenutku oziroma znotraj naprej predpisanih časovnih mej. Rečemo: Sistem realnega časa mora delovati pravilno, upoštevaje časovne zahteve in omejitve.

Prekinitve - splošno Pod pojmom “prekinitev” (angl. Interrupt) razumemo zahtevo (od zunaj) za prekinitev izvrševanja tekočega zaporedja ukazov in izvršitev zahtevane prekinitvene operacije (na primer prevzem podatka s tipkovnice). Zahteva za prekinitev se lahko pojavi kadarkoli kot posledica nekega dogodka v ali zunaj sistema (na primer pritiska tipke). Prekinitve se torej pojavljajo asinhrono glede na izvrševanje programa (tipko lahko pritisnemo kadarkoli).

Prekinitve / izjeme Soroden pojem prekinitvi je izjema (angl. Exception). Uporaba izraza “izjema” (za razliko od prekinitev) je precej nedosledna. Izjema je širši pojem kot prekinitev. Izjema je vsaka pobuda realizirana s strojno opremo za prekinitev izvajanja tekočega zaporedja ukazov. Izjeme povzročene od zunaj asinhrono z izvajanjem programa samega, tipično kot posledica zahteve za streženje V/I napravi, so prekinitve. Izjeme povzročene (sinhrono) z izvajanjem programa samega, kot direktna posledica tekoče operacije ali kot njen stranski učinek, so pasti. Program Prekinitev Past Izjeme

Prekinitve / izjeme Izjeme ne vključujejo prekinitev. Izjeme: pasti, izpadi, napake (sinhrone s programom). Prekinitve: zunaje V/I zahteve (asinhrone s programom). Program Prekinitev Izjeme

Prekinitve / izjeme V vsakem primeru razumemo pod pojmom “prekinitev” zahtevo, ki pride asinhrono od zunaj (procesorja), kot posledica zahteve (za streženje) iz zunanje naprave. Kar zadeva izjem, pa se zdi najprimerneje, da označujejo vse ostale oblike prekinitev izvrševanja tekočega zaporedja ukazov. Sem potem spadajo: pasti, napake, izpadi. Na primer: napaka na vodilu, neveljaven ukaz, pobeg iz naslovnega področja, deljenje z nič, ....

Potek prekinitve - splošno Zahteva za prekinitev Takih (prekinitvenih) signalov je lahko tudi več. CPE Procesor izvršuje dano zaporedje ukazov. (Na primer) zunaja naprava zahteva njegovo “pozornost” – postavi prekinitveni signal – zahteva prekinitev. Procesor prekine izvrševanje danega zaporedja ukazov, ko mu razmere to dopuščajo, običajno po izvršitvi tekočega, pred prevzemom naslednjega ukaza. Začne izvrševati prekinitveno operacijo: shrani dovolj (notranje) informacije (“kontekst”) na varno mesto (sklad), da bo lahko kasneje nadaljeval na mestu prekinitve, pridobi naslov (prvega) ukaza, ki ga bo prevzel/izvršil kot posledica zahteve za prekinitev, prevzame in izvrši prvi ukaz prekinitvenega strežnika in za njim vse naslednje ukaze (streže zahtevi) ter nazadnje ukaz za povratek – RTI, ukaz RTI odbnovi (iz sklada) kontekst procesorja, ki je bil shranjen ob zahtevi za prekinitev.

Potek prekinitve - splošno 1 Zahteva za prekinitev 2 3 4 6 5 Procesor izvršuje dano zaporedje ukazov. Pojavi se zahteva za prekinitev. Procesor odloži izvrševanje danega zaporedja ukazov. Procesor streže zahtevi za prekinitev, izvrši prekinitveni strežni program – prekinitveni strežnik (angl. ISR – Interrupt Service Routine). Procesor obnovi izvrševanje prekinjenega zaporedja ukazov. Procesor nadaljuje z izvrševanjem prekinjenega zaporedja ukazov, kot da do prekinitve ne bi prišlo.

Prekinitve - splošna vprašanja Kaj - v kakšnem obsegu - procesor shrani svoj kontekst? Samo PC, PC in CCR, tudi akumulatorje, še kaj? Kam procesor shrani svoj kontekst ? V sklad, v registre v “senci”, še kam?

Prekinitve - splošna vprašanja Kako je določen naslov prvega ukaza prekinitvenega strežnika (t.j. prekinitveni strežnik)? procesor (sam) izbere naslov ukaza, procesor (sam) izbere naslov naslova ukaza, pri tem sodeluje tudi zunanja naprava, še kaj? Kateri zahtevi streže procesor prej v primeru, da je več sočasnih zahtev (prioritetni sistem)? Tudi v pogledu prioritetnega sistema je kar nekaj možnosti oz. dejanskih izvedb.

HCS12 in prekinitve Virov zahteve za prekinitev (prekinitvenih signalov) je več (relativno veliko). Zahteve so (smiselno) razvrščene po prioritetah. V primeru več sočasnih zahtev, streže procesor najprej tisti z (naj)višjo prioriteto. Vsakemu prekinitvenemu signalu pripada “vektor”. Mikrokrmilnik uporablja vektorski sistem prekinitev. “Vektor” je napotilo na nov ukaz. Vektorski sistem prekinitev je torej eden od načinov: Kako je določen naslov prvega ukaza prekinitvenega strežnika.

HCS12 – prekinitveni vektor Kaj je prekinitveni vektor? Vektor je pomnilniška beseda, ki vsebuje naslov prvega ukaza pripadajočega prekinitvenega strežnika (rečemo kar naslov prekinitvenega strežnika). Prekinitveni vektorji se nahajajo (tudi sicer pri večini Motorolinih mikrokrmilnikov) na najvišjih pomnilniških naslovih. Ker jih je več, rečemo tudi, da tvorijo tabelo vektorjev.

HCS12 - prekinitve/izjeme Vektorje poimenujemo po pomenu in/ali viru, na primer: vektor maskirane zahteve za prekinitev, vektor nemaskirane zahteve, vzpostavitveni vektor – bolj pogosto rečemo kar “reset” vektor (to bi bila lahko tudi izjema), vektor programske prekinitve – ukaz SWI (oziroma izjeme), Vektor pasti, npr. neveljaven ukaz (tudi to bi lahko bila izjema), vektor časovnega paznika - COP vektor (Angl. Correct operation), vektor časovnika, vektor A/D pretvornika, ... Mi ne bomo delali ostre razlike med prekinitvijo in izjemo.

HCS12 – prekinitveni vektorji Reset vektorji Neveljaven ukaz Vektor Programske prekinitve Vektorji zahtev za prekinitev V/I vmesnikov Vektor zahteve za prekinitev na sponki IRQ Vektor zahteve za prekinitev na sponki XIRQ

HCS12 – PIM (Port Integration Module) Vrata E so lahko konfigurirana tako, da sta PE0 in PE1 prekinitvena vhoda XIRQ in IRQ

HCS12 – tabela vektorjev

HCS12 - potek prekinitve Potek prekinitve (prekinitvene operacije): Procesor shrani programsko dostopne registre (razen SP) na varno mesto (to je v sklad), Prevzame naslov 1. ukaza prekinitvenega strežnika: generira pripadajoči naslov vektorja (postavi naslov vektorja na naslovno vodilo), prevzame vsebino vektorja (po podatkovnem vodilu – (razumljivo), ki pomeni naslov 1. ukaza prekinitvenega strežnika, prične običajen ukazno prevzemni cikel. Opomba: naslov vektorja (za dan vir prekinitve) je fiksen – nespremenljiv, vsebina pa se (jasno) lahko spremeni.

HCS12 – sklad in prekinitve SP PCL PCH XL XH YL YH CCR A B Pomnilnik za sklad Izgled vsebine sklada v primeru zahteve za prekinitev. Ukaz RTI enostavno obnovi registre iz sklada.

HCS12 – sklad in prekinitve CPE pred (ob) prekinitvi Pomnilnik za sklad X $3344 $11 CPE po Y $5566 SP $3FF7 PC $BBCC A B CCR $19 $22 A B $11 $22 X $3344 Y $5566 SP $4000 3FF7 09 11 22 PC $80AA 44 33 CCR $09 66 55 AA 80 I bit = 1 IRQ vektor Vektor FFF2 CC BB FFF3

HCS12 – ogrodje programa RstVek EQU $FFFE IrqVek EQU $FFF2 ; RAM EQU $1000 Flash EQU $8000 ; --- začetni program ORG Flash Start: LDS #SKLAD ;simbol SKLAD ni nedefiniran, a za nas to tu ni bistveno. ;Pri prevajnaju bi jasno dobili sporočilo napake – ;nedefiniran simbol. BRA * ;Vase sklenjena (neskončna) zanka. ; --- Irq strežnik IrqIsr: ...... RTI ; --- in na koncu še vektorji ORG IrqVek DC.W IrqIsr ;IRQ vektor ORG RstVek DC.W Start ;Reset vektor

HCS12 – vektorji, primer Pomnilnik (Flash), del tabele vektorjev To vsebino smo si izmislili, določil bi jo zbirnik s prevajanjem in bi bila verjetno drugačna. To je naslov 1. ukaza IRQ strežnika. $FFF2 $81 $00 $FFF3 $FFFE $80 $00 $FFFF To vsebino smo razbrali iz programa, določil pa bi jo zbirnik med prevajanjem. To je naslov 1. ukaza začetnega programa.

Še o vektorskih sistemih Pri nekaterih drugih procesorjih je naslov strežnika določen drugače: Ob prekinitvi procesor generira naslov, s katerega prevzame ukaz (npr. AT90S8515) . Z drugimi besedami, vektor vsebuje kar ukaz in ne naslov ukaza, kot pri HCS12. HCS12 uporablja sistem fiksnih vektorjev. To pomeni, da so naslovi vektorjev vedno enaki, npr. SWI ima vedno isti naslov vektorja. Vsebina se jasno lahko spremeni. Pri nekaterih procesorjih je spremenljiv tudi naslov vektorja. Takemu sistemu rečejo tudi “pravi” vektorski način, tistemu kot ga ima HCS12 pa sistem fiksnih vektorjev (avtovektorski način). Pri nekaterih procesorjih določa naslov vektorja skupaj s procesorjem periferna naprava. Na primer, pošlje “številko prekinitve”, na podlagi katere procesor “izračuna” naslov vektorja (na primer Intel). I.T.D.