WH-logo

Mikroprocesori WH V3

WH-V3-Mikroprocesor-PRO

Specifikimet

  • Modeli i mikroprocesorit: QingKeV3
  • Versioni: V1.2
  • Karakteristikat e ISA:
    • FPU e tubacionit
    • Parashikimi i degës
    • Ndërpreni mbështetjen
    • Mbrojtja fizike e memories HPE (PMP)
    • Mënyra e konsumit të ulët të energjisë
    • Korrigjimi i grupit të instruksioneve të zgjeruara

Udhëzimet e përdorimit të produktit

Mbiview i mikroprocesorit QingKe V3

Mikroprocesorët e serisë QingKe V3 përfshijnë modelet V3A, V3B dhe V3C. Secili model ka veçori dhe dallime specifike bazuar në aplikimin e tij.

Seti i udhëzimeve

Kompleti i udhëzimeve RV32I përfshin 32 grupe regjistrash nga x0 në x31. Seria V3 nuk mbështet shtrirjen me pikë lundruese (F). Çdo regjistër është 32 bit në madhësi.

Set i Regjistrimit

Kompleti i regjistrave RV32I përbëhet nga regjistrat e mëposhtëm.

  • x0: E koduar 0
  • x1: Kthimi i adresës
  • x2: Treguesi i stivës
  • x3: Treguesi global
  • x4: Treguesi i fillit
  • x5-x7: Regjistrat e përkohshëm
  • x8: Ruaj regjistrin/treguesin e kornizës
  • x9: Ruaj parametrat e regjistrit/funksionit/vlerat e kthimit
  • x10-x11: Parametrat e funksionit
  • x12-x17: Ruaj regjistrat
  • x18-x27: Regjistrat e përkohshëm
  • x28-x31: Regjistrat e thirrësit/callee

Modaliteti i privilegjit

Arkitektura standarde RISC-V përfshin tre mënyra të privilegjuara: modaliteti i makinës, modaliteti mbikëqyrës dhe modaliteti i përdoruesit. Mikroprocesorët e serisë QingKe V3 mbështesin modalitetin e makinës dhe modalitetin mbikëqyrës.

Pyetjet e bëra më shpesh

Pyetje: Cilat janë modelet e ndryshme në mikroprocesorët e serisë QingKe V3?

A: Seria QingKe V3 përfshin modelet V3A, V3B dhe V3C, secili me veçori dhe dallime specifike të detajuara në manualin e përdoruesit.

Pyetje: Sa grupe regjistrash janë të disponueshëm në grupin e udhëzimeve RV32I?

A: Kompleti i udhëzimeve RV32I ofron 32 grupe regjistrash nga x0 në x31.

Pyetje: Cilat mënyra të privilegjuara mbështeten nga mikroprocesori QingKe V3?

A: Mikroprocesorët e serisë QingKe V3 mbështesin modalitetin Machine dhe Supervisor si pjesë e arkitekturës RISC-V.

Mbiview

Mikroprocesorët e serisë QingKe V3 janë mikroprocesorë MCU me qëllim të përgjithshëm 32-bit të vetë-zhvilluar, bazuar në arkitekturën standarde të grupit të instruksioneve RISC-V. Kjo seri përfshin V3A, V3B dhe V3C, nga të cilat V3A mbështet shtrirjen standarde të grupit të udhëzimeve RV32IMAC dhe V3B/C mbështet shtrirjen standarde të grupit të udhëzimeve RV32IMCB dhe shtesën e grupit të udhëzimeve të personalizuara XW. Të dyja mbështesin shumëzimin me një cikël dhe ndarjen e harduerit, përveç stivës së presionit të harduerit (HPE), ndërprerjes pa tabela (VTF), ndërfaqeve të korrigjuara me 1 dhe 2 tela, udhëzime "WFE" dhe veçori të tjera të veçanta. Përveç kësaj, ai gjithashtu mbështet Hardware Prologue/Epilogue (HPE), Vector Table Free (VTF), ndërfaqe të thjeshtuar të korrigjimit me 1-/2 tela dhe mbështetje për udhëzimet "WFE".

Veçoritë

Veçoritë Përshkrimi
ISA RV32IM[A]C[B]
Tubacioni 3
FPU Nuk mbështetet
Parashikimi i degës Parashikimi statik i degëve
Ndërprisni Mbështet një total prej 256 ndërprerjesh duke përfshirë përjashtime dhe mbështet VTF
HPE Mbështet 2 nivele të HPE
Mbrojtja e memories fizike (PMP) Mbështetur
Mënyra e konsumit të ulët të energjisë Mbështetni modalitetet e gjumit dhe gjumit të thellë dhe mbështetni metodat e gjumit WFI dhe WFE
Set i zgjeruar i udhëzimeve Mbështetur
Korrigjimi SDI me 1/2 tela, korrigjimi standard RISC-V

Mbiview

Mikroprocesorët e serisë QingKe V3 përfshijnë V3A, V3B dhe V3C, ka disa dallime midis serive sipas aplikacionit, dallimet specifike janë të detajuara në Tabelën 1-1.

Tabela 1-1 Mbiview i mikroprocesorit QingKe V3

Veçori Model ISA Numri i niveleve të HPE Ndërprerjet folezim numri i nivelet VTF numri i kanaleve Tubacioni Vektor mënyra e tryezës Udhëzim i zgjeruar (XW) Numri i zonave të mbrojtjes së kujtesës
V3A RV32IMAC 2 2 4 3 Udhëzim × ×
V3B RV32IMCB 2 2 4 3 Adresa/Udhëzim ×
V3C RV32IMCB 2 2 4 3 Adresa/Udhëzim 4

Shënim: Ndërrimi i detyrave të OS në përgjithësi përdor shtytje të stivës, e cila nuk kufizohet në numrin e niveleve

Seti i udhëzimeve

  • Mikroprocesorët e serisë QingKe V3 ndjekin arkitekturën standarde të grupit të instruksioneve RISC-V (ISA). Dokumentacioni i detajuar i standardit mund të gjendet në "Manuali i grupit të instruksioneve RISC-V, Vëllimi I: ISA i nivelit të përdoruesit, versioni i dokumentit 2.2" në RISC-V International webfaqe. Kompleti i udhëzimeve RISC-V ka një arkitekturë të thjeshtë dhe mbështet një dizajn modular, duke lejuar kombinime fleksibël bazuar në nevoja të ndryshme, dhe seria V3 mbështet shtesat e mëposhtme të grupit të udhëzimeve.
  • RV32: Arkitektura 32-bitësh, gjerësia e bitit të regjistrit për qëllime të përgjithshme 32 bit
  • I: Mbështet funksionimin e formësimit, me 32 regjistra formësimi
  • M: Mbështet udhëzimet e formësimit të shumëzimit dhe pjesëtimit
  • A: Mbështet komandat atomike
  • C: Mbështet udhëzimet e kompresimit 16-bit
  • B: Mbështetje për udhëzimet e manipulimit të bitit
  • XW: Udhëzime kompresimi 16-bitësh për operacionet e vetë-zgjatjes së bajtit dhe gjysmëfjalës

Shënim:

  • Nëngrupi i udhëzimeve të mbështetura nga modele të ndryshme mund të jetë i ndryshëm, ju lutemi referojuni Tabelës 1-1 për detaje;
  • Për të përmirësuar më tej densitetin e kodit, zgjeroni nëngrupin XW, shtoni udhëzimet e mëposhtme të kompresimit c.lbu/c.lhu/c.sb/c.sh/c.lbusp/c.lhusp/c.sbsp/c.shop , përdorimi i të cilit duhet të bazohet në përpiluesin MRS ose në zinxhirin e veglave që ai ofron;
  • V3B mbështet nxjerrjen e një udhëzimi fjalësh (32 bit) nga një udhëzim me dy fjalë (64 bit) dhe nxjerrjen e një udhëzimi fjalë (32 bit) nga një rezultat shumëzimi (64 bit). Metoda specifike e përdorimit mund t'i referohet funksionit të bibliotekës dhe të bashkëpunojë me përpiluesin MRS ose zinxhirin e veglave të ofruara prej tij;
  • V3B/C mbështet udhëzimet e kopjimit të memories. Për përdorim specifik, ju lutemi referojuni funksionit të bibliotekës dhe bashkëpunoni me përpiluesin MRS ose zinxhirin e tij të veglave.

Set i Regjistrimit

RV32I ka 32 grupe regjistrash nga x0-x31. Seria V3 nuk e mbështet shtrirjen "F", dmth., nuk ka një grup regjistrash me pikë lundruese. Në RV32, çdo regjistër është 32 bit. Tabela 1-2 më poshtë rendit regjistrat e RV32I dhe përshkrimet e tyre.

Tabela 1-2 Regjistrat RISC-V

Regjistrohu Emri ABI Përshkrimi Magazinuesi
x0 zero E koduar 0
x1 ra Kthimi i adresës Telefonuesi
x2 sp Treguesi i stivës Callee
x3 GP Treguesi global
x4 tp Treguesi i fillit
x5-7 t0-2 Regjistri i përkohshëm Telefonuesi
x8 s0/fp Ruaj regjistrin/treguesin e kornizës Callee
x9 s1 Ruaj regjistrin Callee
x10-11 a0-1 Parametrat e funksionit/vlerat e kthimit Telefonuesi
x12-17 a2-7 Parametrat e funksionit Telefonuesi
x18-27 a2-11 Ruaj regjistrin Callee
X28-31 t3-6 Regjistri i përkohshëm Telefonuesi

Atributi Caller në tabelën e mësipërme do të thotë që procedura e thirrur nuk e ruan vlerën e regjistrit dhe atributi Callee do të thotë që procedura e thirrur ruan regjistrin.

Modaliteti i privilegjit

  • Arkitektura standarde RISC-V përfshin tre mënyra të privilegjuara: modaliteti i makinës, modaliteti mbikëqyrës dhe modaliteti i përdoruesit, siç tregohet në tabelën 1-3 më poshtë.
  • Modaliteti i makinës është i detyrueshëm dhe mënyrat e tjera janë opsionale. Për detaje, mund t'i referoheni Manualit të grupit të udhëzimeve RISC-V Volume II: Arkitektura e privilegjuar", e cila mund të shkarkohet falas nga RISC-V International webfaqe.

Tabela 1-3 Modaliteti i privilegjit të arkitekturës RISC-V

Kodi Emri Shkurtesat
0b00 Modaliteti i përdoruesit U
0b01 Modeli i Mbikëqyrësit S
0b10 Rezervuar Rezervuar
0b11 Modaliteti i makinës M
  • Mikroprocesorët e serisë QingKe V3 mbështesin dy nga këto mënyra të privilegjuara.

Modaliteti i makinës

  • Modaliteti i makinës ka autoritetin më të lartë, programi në këtë modalitet mund të hyjë në të gjithë Regjistrin e Kontrollit dhe Statusit (CSR), por gjithashtu mund të hyjë në të gjitha fushat e adresave fizike.
  • Parazgjedhja e ndezjes është në modalitetin e makinës, kur ekzekutimi i mret (instruksioni i kthimit të modalitetit të makinës) kthehet, sipas statusit të regjistrit CSR (Regjistri i statusit të modalitetit të makinës) në bitin MPP, nëse MPP = 0b00, atëherë dilni nga modaliteti i makinës në modalitetin Përdorues, MPP = 0b11, më pas vazhdoni të ruani modalitetin Makinë.

Modaliteti i përdoruesit

  • Modaliteti i përdoruesit ka privilegjin më të ulët dhe vetëm regjistrat e kufizuar CSR mund të aksesohen në këtë modalitet. Kur ndodh një përjashtim ose ndërprerje, mikroprocesori kalon nga modaliteti i përdoruesit në modalitetin e makinës për të trajtuar përjashtimet dhe ndërprerjet.

Regjistri CSR

Një seri regjistrash CSR janë përcaktuar në arkitekturën RISC-V për të kontrolluar dhe regjistruar gjendjen e funksionimit të mikroprocesorit. Këto CSR mund të zgjerohen me 4096 regjistra duke përdorur një hapësirë ​​të brendshme të dedikuar kodimi të adresave 12-bit. Dhe përdorni dy CSR të larta[11:10] për të përcaktuar lejen e leximit/shkrimit të këtij regjistri, 0b00, 0b01, 0b10 për lexim/shkrim të lejuar dhe 0b11 për vetëm lexim. Përdorni dy bit CSR[9:8] për të përcaktuar nivelin më të ulët të privilegjit që mund të aksesojë këtë regjistër dhe vlera korrespondon me modalitetin e privilegjit të përcaktuar në Tabelën 1-3. Regjistrat CSR të implementuara në mikroprocesorin QingKe V3 janë të detajuara në Kapitullin 8.

Përjashtim

Mekanizëm përjashtimi, i cili është një mekanizëm për të përgjuar dhe trajtuar "ngjarjet e pazakonta të operacionit". Mikroprocesorët e serisë QingKe V3 janë të pajisur me një sistem reagimi ndaj përjashtimeve që mund të trajtojë deri në 256 përjashtime, duke përfshirë ndërprerjet. Kur ndodh një përjashtim ose ndërprerje, mikroprocesori mund të përgjigjet shpejt dhe të trajtojë përjashtimet dhe ngjarjet e ndërprerjes.

Llojet e përjashtimit

Sjellja harduerike e mikroprocesorit është e njëjtë nëse ndodh një përjashtim ose një ndërprerje. Mikroprocesori pezullon programin aktual, kalon në mbajtësin e përjashtimit ose ndërprerjes dhe kthehet në programin e pezulluar më parë kur përpunimi të përfundojë. Në përgjithësi, ndërprerjet janë gjithashtu pjesë e përjashtimeve. Mund të jetë saktësisht nëse ndodhja aktuale është një ndërprerje ose një përjashtim viewed përmes përjashtimit të modalitetit të makinës shkaku i regjistrimit të shkakut. Mcause[31] është fusha e ndërprerjes, e cila përdoret për të treguar nëse shkaku i përjashtimit është një ndërprerje apo një përjashtim. mcause[31]=1 do të thotë ndërprerje, mcause[31]=0 do të thotë përjashtim. mcause[30:0] është kodi i përjashtimit, i cili përdoret për të treguar shkakun specifik të përjashtimit ose numrin e ndërprerjes, siç tregohet në tabelën e mëposhtme.

Tabela 2-1 Kodet e përjashtimit të mikroprocesorit V3

Ndërprisni Përjashtim kodet Sinkron / Asinkron Arsyeja e përjashtimit
1 0-1 Rezervuar
1 2 Asinkrone precize NMI ndërpret
1 3-11 Rezervuar
1 12 Asinkrone precize SysTick ndërpret
1 13 Rezervuar
1 14 Sinkron Softueri ndërpritet
1 15 Rezervuar
1 16-255 Asinkrone precize Ndërprerja e jashtme 16-255
0 0 Sinkron Udhëzimet adresojnë mospërputhjen
0 1 Sinkron Gabim në hyrje të komandës së marrjes
0 2 Sinkron Udhëzime të paligjshme
0 3 Sinkron Pikat e ndërprerjes
0 4 Sinkron Ngarkimi i udhëzimeve për qasje në adresën e gabuar
0 5 Asinkron jo preciz Gabim në hyrje të komandës së ngarkimit
0 6 Sinkron Dyqani/udhëzimet AMO të aksesit në adresën e gabuar
0 7 Asinkron jo preciz Gabim aksesi në komandën e dyqanit/AMO
0 8 Sinkron Thirrje mjedisore në modalitetin e përdoruesit
0 11 Sinkron Thirrje mjedisore në modalitetin e makinës
  • Sinkron" në tabelë do të thotë që një instruksion mund të vendoset saktësisht aty ku është ekzekutuar, siç është një instruksion ndërprerjeje ose thirrjeje, dhe çdo ekzekutim i atij udhëzimi do të shkaktojë një përjashtim. "Asinkron" do të thotë që nuk është e mundur të përcaktohet me saktësi një instruksion dhe vlera e PC e udhëzimit mund të jetë e ndryshme sa herë që ndodh një përjashtim. "Precize asinkron" do të thotë që një përjashtim mund të vendoset saktësisht në kufirin e një instruksioni, dmth., gjendja pas ekzekutimit të një instruksioni, siç është një ndërprerje e jashtme. "Asinkron jo preciz" do të thotë që kufiri i një instruksioni nuk mund të vendoset saktësisht dhe ndoshta gjendja pas një instruksioni është ndërprerë në gjysmë të rrugës së ekzekutimit, si p.sh. një gabim i aksesit në kujtesë.
  • Qasja në memorie kërkon kohë, dhe mikroprocesori zakonisht nuk pret fundin e aksesit kur hyn në kujtesë, por vazhdon të ekzekutojë instruksionin, kur përjashtimi i gabimit të aksesit ndodh përsëri, mikroprocesori ka ekzekutuar tashmë udhëzimet pasuese dhe nuk mund të jetë saktësisht të vendosura.

Hyrja e përjashtimit

Kur programi është në procesin e funksionimit normal, nëse për ndonjë arsye, shkakton një përjashtim ose ndërprerje. Sjellja harduerike e mikroprocesorit në këtë pikë mund të përmblidhet si më poshtë.

  1. Pezulloni rrjedhën aktuale të programit dhe kaloni në ekzekutimin e funksioneve të trajtimit të përjashtimit ose ndërprerjes. Adresa bazë e hyrjes dhe mënyra e adresimit të funksionit të përjashtimit ose të ndërprerjes përcaktohen nga regjistri i adresave bazë të hyrjes së përjashtimit mtvec. mtvec[31:2] përcakton adresën bazë të funksionit të përjashtimit ose ndërprerjes. mtvec[1:0] përcakton mënyrën e adresimit të funksionit të mbajtësit. kur mtvec[1:0]=0, të gjitha përjashtimet dhe ndërprerjet përdorin një hyrje të unifikuar, p.sh., kur ndodh një përjashtim ose ndërprerje, ai kthehet në mtvec[31:2] që përcakton adresën bazë për t'u ekzekutuar. Kur mtvec[1:0]=1, përjashtimet dhe ndërprerjet përdorin modalitetin e tabelës vektoriale, p.sh., çdo përjashtim dhe ndërprerje numërohet, dhe adresa zhvendoset sipas numrit të ndërprerjes*4, dhe kur ndodh një përjashtim ose ndërprerje, ajo zhvendoset. në adresën bazë të përcaktuar nga mtvec[31:2] + numri i ndërprerjes*4 Ekzekutimi. Tabela e vektorit të ndërprerjes përmban një instruksion për të kaluar në funksionin e mbajtësit të ndërprerjeve, ose mund të jenë udhëzime të tjera.
  2. Përditëso regjistrin CSR
    • Kur futet një përjashtim ose ndërprerje, mikroprocesori përditëson automatikisht regjistrat përkatës CSR, duke përfshirë regjistrin e shkakut të përjashtimit të modalitetit të makinës mcause, regjistrin e treguesit të përjashtimit të modalitetit të makinës mepc, regjistrin metalik të vlerës së përjashtimit të modalitetit të makinës dhe statusin e regjistrit të statusit të gjendjes së modalitetit të makinës.

Përditëso mcause

Siç u përmend më parë, pas futjes së një përjashtimi ose ndërprerjeje, vlera e tij pasqyron llojin aktual të përjashtimit ose numrin e ndërprerjes, dhe softueri mund ta lexojë këtë vlerë të regjistrit për të kontrolluar shkakun e përjashtimit ose për të përcaktuar burimin e ndërprerjes, siç detajohet në Tabelën 2. -1.

Përditëso mepc

  • Përkufizimi standard i adresës së kthimit të mikroprocesorit pas daljes nga një përjashtim ose ndërprerje ruhet në mepc.
  • Pra, kur ndodh një përjashtim ose ndërprerje, pajisja përditëson automatikisht vlerën mepc në vlerën aktuale të udhëzimit të PC-së kur haset përjashtimi, ose vlerën tjetër të instruksionit të PC-së të ekzekutuar paraprakisht përpara ndërprerjes.
  • Pasi të përpunohet përjashtimi ose ndërprerja, mikroprocesori përdor vlerën e tij të ruajtur si adresën e kthimit për t'u kthyer në vendndodhjen e ndërprerjes për të vazhduar ekzekutimin.
  • Megjithatë, vlen të theksohet se.
  1. MEPC është një regjistër i lexueshëm dhe i shkruhet, dhe softueri mund të modifikojë gjithashtu vlerën për të modifikuar vendndodhjen e treguesit të PC-së që funksionon pas kthimit.
  2. Kur ndodh një ndërprerje, dmth, kur shkaku i përjashtimit regjistron mcause[31]=1, vlera e hartave përditësohet në vlerën e PC të instruksionit tjetër të paekzekutuar në kohën e ndërprerjes.
    • Kur ndodh një përjashtim, vlera e hartave përditësohet në vlerën e PC udhëzuese të përjashtimit aktual kur përjashtimi shkakton regjistrin mcause[31]=0. Pra, në këtë kohë kur kthehet përjashtimi, nëse kthehemi drejtpërdrejt duke përdorur vlerën e mepc, ne vazhdojmë të ekzekutojmë instruksionin që gjeneroi përjashtimin më parë, dhe në këtë kohë, ne do të vazhdojmë të fusim përjashtimin. Zakonisht, pasi të trajtojmë përjashtimin, ne mund të modifikojmë vlerën e mepc në vlerën e instruksionit tjetër të paekzekutuar dhe më pas të kthehemi. Për shembullample, nëse shkaktojmë një përjashtim për shkak të thirrjes/ndërprerjes, pas trajtimit të përjashtimit, meqenëse rikujtimi/ndërprerja (c.ebreak është 2 byte) është një instruksion 4 bajt, na duhet vetëm softueri për të modifikuar vlerën e mepc në mepc +4 (c.ebreak është mepc+2) dhe më pas kthehu.

Përditëso mtval

Kur futen përjashtime dhe ndërprerje, pajisja do të përditësojë automatikisht vlerën e mtval, e cila është vlera që shkaktoi përjashtimin. Vlera është zakonisht.

  1. Nëse një përjashtim shkaktohet nga një akses në memorie, hardueri do të ruajë adresën e aksesit të kujtesës në kohën e përjashtimit në mtval.
  2. Nëse përjashtimi shkaktohet nga një udhëzim i paligjshëm, pajisja do të ruajë kodin e udhëzimit të udhëzimit në mtval.
  3. Nëse përjashtimi shkaktohet nga një pikë ndërprerjeje e harduerit, pajisja do të ruajë vlerën e PC në pikën e ndërprerjes në mtval.
  4. Për përjashtime të tjera, hardueri vendos vlerën e mtval në 0, siç është break, përjashtimi i shkaktuar nga instruksioni i thirrjes.
  5. Kur futni ndërprerjen, hardueri vendos vlerën e mtval në 0.

Përditëso mstatus

Me futjen e përjashtimeve dhe ndërprerjeve, hardueri përditëson disa pjesë në mstatus.

  1. MPIE përditësohet në vlerën MIE përpara se të futet përjashtimi ose ndërprerja, dhe MPIE përdoret për të rivendosur MIE pasi përjashtimi dhe ndërprerja të kenë përfunduar.
  2. MPP përditësohet në modalitetin e privilegjuar përpara se të futni përjashtime dhe ndërprerje, dhe pasi përjashtimet dhe ndërprerjet të kenë përfunduar, MPP përdoret për të rivendosur modalitetin e mëparshëm të privilegjuar.
  3. Mikroprocesori QingKe V3 mbështet folenë e ndërprerjeve në modalitetin Machine dhe MIE nuk do të pastrohet pas futjes së përjashtimeve dhe ndërprerjeve.

Përditëso modalitetin e privilegjit të mikroprocesorit

  • Kur ndodhin përjashtime dhe ndërprerje, modaliteti i privilegjuar i mikroprocesorit përditësohet në modalitetin e makinës.

Funksionet e trajtimit të përjashtimit

  • Me futjen e një përjashtimi ose ndërprerjeje, mikroprocesori ekzekuton programin nga adresa dhe mënyra e përcaktuar nga regjistri mtvec. Kur përdor hyrjen e unifikuar, mikroprocesori merr një instruksion kërcimi nga adresa bazë e përcaktuar nga mtvec[31:2] bazuar në vlerën e mtvec[1], ose merr adresën e hyrjes së funksionit të trajtimit të përjashtimit dhe ndërprerjes dhe në vend të kësaj shkon për ta ekzekutuar. . Në këtë kohë, funksioni i trajtimit të përjashtimit dhe ndërprerjes mund të përcaktojë nëse shkaku është një përjashtim apo një ndërprerje bazuar në vlerën e mcause[31], dhe lloji dhe shkaku i përjashtimit ose ndërprerja përkatëse mund të gjykohet nga kodi i përjashtimit. dhe trajtohen në përputhje me rrethanat.
  • Kur përdorni adresën bazë + numrin e ndërprerjes *4 për kompensim, pajisja kalon automatikisht në tabelën vektoriale për të marrë adresën e hyrjes së funksionit të përjashtimit ose ndërprerjes bazuar në numrin e ndërprerjes dhe kërcen për ta ekzekutuar atë.

Përjashtim Dalje

  • Pasi të përfundojë trajtimi i përjashtimit ose ndërprerjes, është e nevojshme të dilni nga programi i shërbimit. Pas futjes së përjashtimeve dhe ndërprerjeve, mikroprocesori hyn në modalitetin e makinës nga modaliteti i përdoruesit, dhe përpunimi i përjashtimeve dhe ndërprerjeve përfundon gjithashtu në modalitetin Machine. Kur është e nevojshme të dilni nga përjashtimet dhe ndërprerjet, është e nevojshme të përdorni udhëzimin mret për t'u kthyer. Në këtë kohë, pajisja e mikroprocesorit do të kryejë automatikisht veprimet e mëposhtme.
  • Treguesi i PC-së rikthehet në vlerën e regjistrit CSR mepc, dmth. ekzekutimi fillon në adresën e udhëzimit të ruajtur nga mepc. Është e nevojshme t'i kushtohet vëmendje funksionimit të kompensimit të mepc pasi të përfundojë trajtimi i përjashtimit.
  • Përditësoni statusin e regjistrit CSR, MIE rikthehet në MPIE dhe MPP përdoret për të rivendosur modalitetin e privilegjuar të mikroprocesorit të mëparshëm.
  • I gjithë procesi i përgjigjes së përjashtimit mund të përshkruhet nga Figura 2-1 e mëposhtme.WH-V3-Mikroprocesori-fig-1

PFIC dhe Kontrolli i Ndërprerjeve

  • Mikroprocesori QingKe V3 është projektuar me një kontrollues të programueshëm të ndërprerjes së shpejtë (PFIC) që mund të menaxhojë deri në 256 ndërprerje duke përfshirë përjashtime.
  • 16 prej tyre fiksohen si ndërprerje të brendshme të mikroprocesorit, kurse të tjerat janë ndërprerje të jashtme, pra numri maksimal i ndërprerjeve të jashtme mund të zgjatet në 240. Karakteristikat kryesore të tij janë si më poshtë.
  • 240 ndërprerje të jashtme, secila kërkesë për ndërprerje ka pjesë të pavarura të kontrollit të këmbëzës dhe maskës, me pjesë të dedikuara statusi
  • Prioriteti i programueshëm i ndërprerjes mbështet 2 nivele të foleve
  • Ndërprerje speciale e shpejtë brenda/jashtë mekanizmit, grumbullimi automatik i harduerit dhe rikuperimi, thellësia maksimale HPE prej 2 nivelesh
  • Mekanizmi i përgjigjes së ndërprerjes pa tabela vektoriale (VTF), akses i drejtpërdrejtë i programueshëm me 2 kanale në adresat e vektorit të ndërprerjes
  • Shënim: Thellësia maksimale e foleve dhe thellësia HPE e mbështetur nga kontrollorët e ndërprerjeve ndryshojnë për modele të ndryshme mikroprocesorësh, të cilat mund të gjenden në Tabelën 1-1.
  • Tabela vektoriale e ndërprerjeve dhe përjashtimeve është paraqitur në tabelën 3-1 më poshtë.

Tabela 3-1 Tabela e vektorit të përjashtimit dhe ndërprerjes

Numri Prioriteti Lloji Emri Përshkrimi
0
1
2 -5 E rregulluar NMI Ndërprerje jo e maskueshme
3 -4 E rregulluar EXC Përjashtim ndërprerje
4
5 -3 E rregulluar ECALL-M Ndërprerja e kthimit të telefonatës në modalitetin e makinës
6-7
8 -2 E rregulluar ECALL-U Ndërprerja e kthimit të telefonatës së modalitetit të përdoruesit
9 -1 E rregulluar PIKA E NDRYSHIMIT Ndërprerja e kthimit të telefonatës në pikën e ndërprerjes
10-11
12 0 I programueshëm SysTick Ndërprerja e kohëmatësit të sistemit
13
14 1 I programueshëm SWI Ndërprerja e softuerit
15
16-255 2-241 I programueshëm Ndërprerja e jashtme Ndërprerja e jashtme 16-255

Shënim: ECALL-M, ECALL-U dhe BREAKPOINT janë të gjitha lloje të ndryshme përjashtimesh EXC, të cilat janë të pavarura në V3B/C për lehtësinë e përdorimit dhe 3 adresat e mësipërme të hyrjes ndahen me EXC në V3A.

Seti i Regjistrit PFIC

Tabela 3-2 Regjistrat e PFIC

Emri Qasja në adresë Qasja Përshkrimi Rivendos vlerën
PFIC_ISRx 0xE000E000

-0xE000E01C

RO Regjistri i statusit të aktivizimit të ndërprerjes x 0x00000000
PFIC_IPRx 0xE000E020

-0xE000E03C

RO Ndërprerja e regjistrit të statusit në pritje x 0x00000000
PFIC_ITHRESDR 0xE000E040 RW Regjistri i konfigurimit të pragut të përparësisë së ndërprerjes 0x00000000
PFIC_VTFBADDRR 0xE000E044 RW Regjistri i adresave bazë VTF

Shënim: E vlefshme vetëm për V3A

0x00000000
PFIC_CFGR 0xE000E048 RW Ndërprerja e regjistrit të konfigurimit

Shënim: E vlefshme vetëm për V3A

0x00000000
PFIC_GISR 0xE000E04C RO Ndërprisni regjistrin e statusit global 0x00000002
 

PFIC_VTFIDR

 

0xE000E050

 

RW

Regjistri i konfigurimit të ID-së së ndërprerjes VTF

Shënim: E vlefshme vetëm për V3B/C.

 

0x00000000

PFIC_VTFADDRRx 0xE000E060

-0xE000E06C

RW Regjistri i adresave të kompensimit VTF x 0xXXXXXXXXX
PFIC_IENRx 0xE000E100

-0xE000E11C

WO Regjistri i cilësimit të aktivizimit të ndërprerjes x 0x00000000
PFIC_IRERx 0xE000E180

-0xE000E19C

WO Ndërprerja mundëson pastrimin e regjistrit x 0x00000000
PFIC_IPSRx 0xE000E200

-0xE000E21C

WO Regjistri i cilësimit të ndërprerjes në pritje x 0x00000000
PFIC_IPRRx 0xE000E280

-0xE000E29C

WO Ndërprerja në pritje të regjistrit të qartë x 0x00000000
PFIC_IACTRx 0xE000E300

-0xE000E31C

RO Regjistri i statusit të aktivizimit të ndërprerjes x 0x00000000
PFIC_IPRIORx 0xE000E400

-0xE000E43C

RW Ndërprerja e regjistrit të konfigurimit të prioritetit 0x00000000
PFIC_SCTLR 0xE000ED10 RW Regjistri i kontrollit të sistemit 0x00000000

Shënim:

  1. NMI, EXC, ECALL-M, ECALL-U dhe BREAKPOINT janë gjithmonë të aktivizuara si parazgjedhje.
  2. ECALL-M, ECALL-U dhe BREAKPOINT janë një rast i EXC.
  3. Mbështetja e NMI, EXC, ECALL-M, ECALL-U dhe BREAKPOINT për ndërprerjen në pritje të funksionimit të pastrimit dhe cilësimit, por jo ndërprerja mundëson funksionimin e pastrimit dhe cilësimit.

Çdo regjistër përshkruhet si më poshtë:

Ndërprerja e aktivizimit të statusit dhe ndërprerja e regjistrave të statusit në pritje (PFIC_ISR<0-7>/PFIC_IPR<0-7>)

Emri Qasja në adresë Qasja Përshkrimi Rivendos vlerën
 PFIC_ISR0  0xE000E000  RO Ndërprerja 0-31 mundëson regjistrin e statusit, gjithsej 32 bit statusi [n], duke treguar #n ndërprerja mundëson statusin

Shënim: NMI dhe EXC janë të aktivizuara sipas parazgjedhjes

 Për V3A: 0x0000000C

Për V3B/C: 0x0000032C

PFIC_ISR1 0xE000E004 RO Ndërprerja 32-63 mundëson regjistrin e statusit, gjithsej 32 bit statusi 0x00000000
PFIC_ISR7 0xE000E01C RO Ndërprerja 224-255 mundëson regjistrin e statusit, gjithsej 32 bit statusi 0x00000000
PFIC_IPR0 0xE000E020 RO Ndërprerja 0-31 statusi në pritje 0x00000000
regjistër, gjithsej 32 bit statusi [n], që tregojnë statusin në pritje të ndërprerjes #n
PFIC_IPR1 0xE000E024 RO Ndërprerje 32-63 regjistra statusi në pritje, 32 bit statusi gjithsej 0x00000000
PFIC_IPR7 0xE000E03C RO Ndërprerje 244-255 regjistër statusi në pritje, 32 bit statusi gjithsej 0x00000000

Dy grupe regjistrash përdoren për të mundësuar dhe çaktivizuar ndërprerjet përkatëse.

Cilësimet e aktivizimit të ndërprerjes dhe pastroni regjistrat (PFIC_IENR<0-7>/PFIC_IRER<0-7>)3

Emri Qasja në adresë Qasja Përshkrimi Rivendos vlerën
PFIC_IENR0 0xE000E100 WO Ndërprerja 0-31 mundëson regjistrin e cilësimit, gjithsej 32 bit cilësues [n], për cilësimin e aktivizimit të ndërprerjes #n

Shënim: NMI dhe EXC janë aktivizuar sipas parazgjedhjes

 

 

 

0x00000000

PFIC_IENR1 0xE000E104 WO Ndërprerja 32-63 për të aktivizuar regjistrin e cilësimeve, gjithsej 32 bit vendosjeje 0x00000000
PFIC_IENR7 0xE000E11C WO Ndërprerja 224-255 aktivizoni cilësimin

regjistër, gjithsej 32 bit vendosjeje

0x00000000
 PFIC_IRER0  0xE000E180  WO Ndërprerjet 0-31 mundësojnë regjistrin e qartë, gjithsej 32 bit të pastra [n], për ndërprerjen #n aktivizoni pastrimin Shënim: NMI dhe EXC nuk mund të jenë operuar  

 

0x00000000

PFIC_IRER1 0xE000E184 WO Ndërprerja 32-63 mundëson një regjistër të qartë, gjithsej 32 bit të pastër 0x00000000
PFIC_IRER7 0xE000E19C WO Ndërprerja 244-255 mundëson një regjistër të qartë, gjithsej 32 bit të pastër 0x00000000

Dy grupe regjistrash përdoren për të mundësuar dhe çaktivizuar ndërprerjet përkatëse.

Ndërprerja e cilësimeve në pritje dhe fshirja e regjistrave (PFIC_IPSR<0-7>/PFIC_IPRR<0-7>)

Emri Qasja në adresë Qasja Përshkrimi Rivendos vlerën
 

PFIC_IPSR0

 

0xE000E200

 

WO

Ndërprerja 0-31 në pritje të regjistrit të cilësimeve, 32

vendosja e biteve [n], për ndërprerjen #n cilësim në pritje

 

0x00000000

PFIC_IPSR1 0xE000E204 WO Ndërprerja 32-63 në pritje të regjistrit të konfigurimit,

gjithsej 32 bit konfigurimi

0x00000000
PFIC_IPSR7 0xE000E21C WO Ndërprerja 224-255 në pritje të cilësimit

regjistër, 32 bit vendosjeje në total

0x00000000
 

PFIC_IPRR0

 

0xE000E280

 

WO

Ndërprerja 0-31 në pritje të regjistrit të pastër, gjithsej 32 bit të pastër [n], për ndërprerjen #n

në pritje të qartë

 

0x00000000

PFIC_IPRR1 0xE000E284 WO Ndërprerja 32-63 në pritje të regjistrit të qartë,

gjithsej 32 bit të qartë

0x00000000
PFIC_IPRR7 0xE000E29C WO Ndërprerja 244-255 në pritje të regjistrit të qartë,

gjithsej 32 bit të qartë

0x00000000

Kur mikroprocesori mundëson një ndërprerje, ai mund të vendoset drejtpërdrejt përmes regjistrit të ndërprerjes në pritje për të shkaktuar ndërprerjen. Përdorni regjistrin e qartë të ndërprerjes në pritje për të pastruar këmbëzën në pritje.

Regjistri i statusit të aktivizimit të ndërprerjes (PFIC_IACTR<0-7>)

Emri Qasja në adresë Qasja Përshkrimi Rivendos vlerën
 PFIC_IACTR0  0xE000E300  RO Ndërprerja 0-31 aktivizon regjistrin e statusit me 32 bit statusi [n], që tregon se ndërprerja #n është duke u ekzekutuar  0x00000000
 PFIC_IACTR1  0xE000E304  RO Ndërpreni regjistrat e statusit të aktivizimit 32-63, 32 bit statusi në

total

 

0x00000000

 PFIC_IACTR7  0xE000E31C  RO Ndërprerja e regjistrave të statusit të aktivizimit 224-255, gjithsej 32 bit statusi  0x00000000

Çdo ndërprerje ka një bit të statusit aktiv që konfigurohet kur futet ndërprerja dhe pastrohet nga hardueri kur tregu kthehet.

Regjistrat e përparësisë së ndërprerjes dhe pragut të përparësisë (PFIC_IPRIOR<0-7>/PFIC_ITHRESDR)

Emri Qasja në adresë Qasja Përshkrimi Rivendos vlerën
PFIC_IPRIOR0 0xE000E400 RW Ndërprerja e konfigurimit të përparësisë 0. V3A: [7:4]: Bit kontrolli prioritar Nëse konfigurimi nuk është i ndërthurur, nuk ka bit paraprak Nëse foleja është konfiguruar, biti 7 është biti i paravendosur. [3:0]: Rezervuar, fiksuar në 0  V3B: [7:6]: Bitët e kontrollit të përparësisë Nëse konfigurimi nuk është i ndërthurur, asnjë bit parandalues ​​i konfiguruar nuk është i ndërthurur, të gjithë bitët paraprakohen, por lejohen të ndodhin deri në dy nivele ndërprerjesh [5:0]: Rezervuar, fiksuar në 0
V3C:
[7:5]: Bitë të kontrollit të përparësisë
Nëse konfigurimi nuk është i ndërthurur, nuk ka bit parandalues
Nëse konfigurohen të ndërlidhura, të gjitha bitet paraprakohen, por lejohen të ndodhin deri në dy nivele ndërprerjesh [4:0]: Të rezervuara, të fiksuara në 0 Shënim: Sa më e vogël të jetë vlera e përparësisë, aq më i lartë është prioriteti. Nëse e njëjta ndërprerje e përparësisë së parandalimit varet në të njëjtën kohë, ndërprerja me përparësinë më të lartë do të ekzekutohet së pari.
0x00
PFIC_IPRIOR1 0xE000E401 RW Cilësimi i prioritetit të ndërprerjes 1, funksion i njëjtë si PFIC_IPRIOR0 0x00
PFIC_IPRIOR2 0xE000E402 RW Cilësimi i prioritetit të ndërprerjes 2, funksion i njëjtë si PFIC_IPRIOR0
PFIC_IPRIOR254 0xE000E4FE RW Cilësimi i prioritetit të ndërprerjes 254, funksion i njëjtë si PFIC_IPRIOR0 0x00
PFIC_IPRIOR255 0xE000E4FF RW Cilësimi i prioritetit të ndërprerjes 255, funksion i njëjtë si PFIC_IPRIOR0 0x00
PFIC_ITHRESDR 0xE000E040 RW Vendosja e pragut të përparësisë së ndërprerjes

V3A:

[31:8]: Rezervuar, fiksuar në 0 [7:4]: Pragu i përparësisë [3:0]: Rezervuar, fiksuar në 0

 V3B:

[31:8]: Rezervuar, fiksuar në 0 [7:5]: Pragu i përparësisë [4:0]: Rezervuar, fiksuar në 0

 V3C:

[31:8]: Rezervuar, fiksuar në 0 [7:5]: Pragu i përparësisë [4:0]: Rezervuar, fiksuar në 0

Shënim: Për ndërprerjet me vlerë përparësie ≥ pragu, funksioni i shërbimit të ndërprerjes nuk ekzekutohet kur ndodh një pezullim, dhe kur ky regjistër është 0, do të thotë që regjistri i pragut është i pavlefshëm.

0x00

Regjistri i konfigurimit të ndërprerjeve (PFIC_CFGR)

Emri Qasja në adresë Qasja Përshkrimi Rivendos vlerën
PFIC_CFGR 0xE000E048 RW Ndërprerja e regjistrit të konfigurimit 0x00000000

Ky regjistër është i vlefshëm vetëm për V3A, bitet e tij përcaktohen si:

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:16] KYKODI WO Që korrespondojnë me bit të ndryshëm të kontrollit të objektivit, të dhënat përkatëse të identifikimit të aksesit të sigurisë duhet të shkruhen njëkohësisht në mënyrë që të modifikohen dhe të dhënat e leximit fiksohen në 0. KEY1 = 0xFA05; KEY2 = 0xBCAF; KEY3 = 0xBEEF. 0
[15:8] Rezervuar RO Rezervuar 0
7 SYSRESET WO Rivendosja e sistemit (shkrimi i njëkohshëm në KEY3). Pastro automatikisht 0.

Shkrimi 1 është i vlefshëm, shkrimi 0 është i pavlefshëm.

Shënim: Funksioni i njëjtë si biti i regjistrit PFIC_SCTLR SYSRESET.

0
6 PFICRESET WO Rivendosja e modulit PFIC. Pastro automatikisht 0.

Shkrimi 1 është i vlefshëm, shkrimi 0 është i pavlefshëm.

0
5 EXPRESS WO Ndërprerja e përjashtimit në pritje të pastër (shkrim i njëkohshëm në KEY2)

Shkrimi 1 është i vlefshëm, shkrimi 0 është i pavlefshëm.

0
4 EKSET WO Cilësimi në pritje të ndërprerjes së përjashtimit (shkrim i njëkohshëm në KEY2)

Shkrimi 1 është i vlefshëm, shkrimi 0 është i pavlefshëm.

0
3 NMIRESET WO Ndërprerja NMI në pritje të fshirjes (shkrim i njëkohshëm në KEY2)

Shkrimi 1 është i vlefshëm, shkrimi 0 është i pavlefshëm.

0
2 NMISET WO Cilësimi në pritje të ndërprerjes NMI (Shkrim i njëkohshëm në KEY2)

Shkrimi 1 është i vlefshëm, shkrimi 0 është i pavlefshëm.

0
1 NESTCTRL RW Ndërprerja e foleve mundëson kontrollin.

1: fikur; 0: aktiv (shkrim sinkron në KEY1)

0
0 HWSTKCTRL RW Kontrolli i aktivizimit të HPE

1: fikur; 0: aktiv (shkrim sinkron në KEY1)

0

Ndërprerja e regjistrit të statusit global (PFIC_GISR)

Emri Qasja në adresë Qasja Përshkrimi Rivendos vlerën
PFIC_GISR 0xE000E04C RO Ndërprisni regjistrin e statusit global 0x00000000

Njerëzit e saj përkufizohen si

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:14] Rezervuar RO Rezervuar 0
 

 

13

 

 

LOCKSTA

 

 

RO

Nëse procesori është aktualisht në një gjendje të kyçur:

1: Gjendja e kyçur;

0: Gjendje jo e kyçur.

Shënim: Ky bit është i vlefshëm vetëm për V3B/C.

 

 

0

 

 

12

 

 

DBGMODE

 

 

RO

Nëse procesori është aktualisht në gjendje korrigjimi: 1: Gjendja e korrigjimit;

0: Gjendja pa korrigjim.

Shënim: Ky bit është i vlefshëm vetëm për V3B/C.

 

 

0

 

 

11

 

 

GLOBLIE

 

 

RO

Aktivizo ndërprerjen globale:

1: Aktivizo ndërprerjen;

0: Çaktivizo ndërprerjen.

Shënim: Ky bit është i vlefshëm vetëm për V3B/C.

10 Rezervuar RO Rezervuar 0
9 GPENDSTA RO Nëse një ndërprerje është aktualisht në pritje.

1: Po; 0: Jo.

0
8 GACTSTA RO Nëse një ndërprerje është duke u ekzekutuar aktualisht.

1: Po; 0: Jo.

0
 

 

[7:0]
 

 

NESTSTA

 

 

RO

Statusi aktual i folezimit të ndërprerjeve. 0x03: në nivelin 2 ndërprerje.

0x01: në nivelin 1 ndërprerje. 0x00: nuk ndodhin ndërprerje.

Të tjera: Situatë e pamundur.

 

 

0

Regjistrat e adresës bazë të ID-së VTF dhe të adresave të kompensuara (PFIC_VTFBADDRR/PFIC_VTFADDRR<0-3>)

Emri Qasja në adresë Qasja Përshkrimi Rivendos vlerën
 

 

PFIC_VTFBADDRR

 

 

0xE000E044

 

 

RW

[31:28]: 4 bit i lartë i adresës së synuar të VTF [27:0]: Rezervuar

Ky regjistër është i vlefshëm vetëm për V3A.

 

 

0x00000000

 

 

 

PFIC_VTFIDR

 

 

 

0xE000E050

 

 

 

RW

[31:24]: Numri i VTF 3 [23:16]: Numri i VTF 2 [15:8]: Numri i VTF 1 [7:0]: Numri i VTF 0

Ky regjistër është i vlefshëm vetëm për V3B/C.

 

 

 

0x00000000

 

 

 

 

 

 

 

 

PFIC_VTFADDRR0

 0xE000E060  RW V3A: [31:24]: Numri i ndërprerjes VTF 0 [23:0]: 24 bitet e ulëta të adresës së synuar VTF, nga të cilat 20 bitet e ulëta janë konfiguruar të jenë të vlefshme dhe [23:20] është fiksuar në 0 .

 V3B/C:

[31:1]: Adresa VTF 0, 2-bajtë e rreshtuar [0]:

1: Aktivizo kanalin VTF 0

0: Çaktivizo

 

 

 

 

 

 

 

Për V3A: 0x00000000

Për V3B/C: 0xXXXXXXXXX

 

 

 

 

 

 

 

 

PFIC_VTFADDRR1

 

 

 

 

 

 

 

 

0xE000E064

 

 

 

 

 

 

 

 

RW

V3A: [31:24]: Numri i ndërprerjes VTF 1 [23:0]: 24 bitet e ulëta të adresës së synuar të VTF, nga të cilat 20 bitet e ulëta janë konfiguruar të jenë të vlefshme dhe [23:20] është fiksuar në 0.

 

V3B/C:

[31:1]: Adresa VTF 1, 2-bajtë e rreshtuar [0]:

1: Aktivizo kanalin VTF 1

0: Çaktivizo

 

 

 

 

 

 

 

Për V3A: 0x00000000

Për V3B/C: 0xXXXXXXXXX

 

 

 

 

 

 

 

 

PFIC_VTFADDRR2

 

 

 

 

 

 

 

 

0xE000E068

 

 

 

 

 

 

 

 

RW

V3A: [31:24]: Numri i ndërprerjes VTF 2 [23:0]: 24 bitet e ulëta të adresës së synuar VTF, nga të cilat 20 bitet e ulëta janë konfiguruar të jenë të vlefshme dhe [23:20] është fiksuar në 0 .

 

V3B/C:

[31:1]: Adresa VTF 2, 2-bajtë e rreshtuar [0]:

1: Aktivizo kanalin VTF 2

0: Çaktivizo

 

 

 

 

 

 

 

Për V3A: 0x00000000

Për V3B/C: 0xXXXXXXXXX

PFIC_VTFADDRR3 0xE000E06C RW V3A: Për V3A:
[31:24]: Numri i ndërprerjes VTF 3 [23:0]: 24 bitet e ulëta të adresës së synuar VTF, nga të cilat 20 bitet e ulëta janë konfiguruar të jenë të vlefshme dhe [23:20] është fiksuar në 0.

 V3B/C:

[31:1]: Adresa VTF 3, 2-bajtë e rreshtuar [0]:

1: Aktivizo kanalin VTF 3

0: Çaktivizo

0x00000000

Për V3B/C: 0xXXXXXXXXX

Regjistri i kontrollit të sistemit (PFIC_SCTLR)

Emri Qasja në adresë Qasja Përshkrimi Rivendos vlerën
PFIC_SCTLR 0xE000ED10 RW Regjistri i kontrollit të sistemit 0x00000000

Secila prej tyre përcaktohet si më poshtë.

Bit Emri Qasja Përshkrimi Rivendos vlerën
31 SYSRESET WO Rivendosja e sistemit, fshirja automatike 0. Shkrimi 1 është i vlefshëm dhe shkrimi 0 është i pavlefshëm.

Shënim: Ky bit është i vlefshëm vetëm për V3B/C

0
[30:6] Rezervuar RO Rezervuar 0
5 SETEVENT WO Vendosni ngjarjen për të zgjuar çështjen WFE. 0
 

4

SEVONPEND RW Kur një ngjarje ndodh ose ndërpret një gjendje në pritje, sistemi mund të zgjohet pas instruksionit WFE, ose nëse instruksioni WFE nuk ekzekutohet, sistemi do të zgjohet menjëherë pas ekzekutimit të radhës të instruksionit.

1: Ngjarjet e aktivizuara dhe të gjitha ndërprerjet (Përfshirë ndërprerjet e paaktivizuara) mund ta zgjojnë sistemin.

0: Vetëm ngjarje të aktivizuara dhe të aktivizuara

ndërprerjet mund të zgjojnë sistemin.

 

 

 

0

3 WFITOWFE RW Ekzekutoni komandën WFI sikur të ishte një WFE.

1: Trajtojeni udhëzimin pasues WFI si një udhëzim WFE.

0: Nuk ka efekt.

0
2 GJUMË RW Modaliteti i fuqisë së ulët të sistemit të kontrollit. 0
1: gjumë i thellë 0: gjumë
1 SLEEPONEXI T RW Statusi i sistemit pas kontrollit largohet nga programi i shërbimit të ndërprerjes.

1: Sistemi hyn në modalitetin e fuqisë së ulët.

0: Sistemi hyn në programin kryesor.

0
0 Rezervuar RO Rezervuar 0

Regjistrat CSR të lidhura me ndërprerjet

Gjithashtu, regjistrat e mëposhtëm CSR kanë gjithashtu një ndikim të rëndësishëm në përpunimin e ndërprerjeve. Regjistri i kontrollit të sistemit të ndërprerjes (intsyscr)

Ky regjistër nuk është i vlefshëm vetëm për V3A:

Emri CSR Adresa Qasja Përshkrimi Rivendos vlerën
intsyscr 0x804 URW Ndërprerja e regjistrit të kontrollit të sistemit 0x0000E002

Njerëzit e tij përcaktohen si:

Bit Emri Qasja Përshkrimi Rivendos vlerën
 

 

 

31

 

 

 

LOCK

 

 

 

URO

0: Ky regjistër mund të lexohet dhe shkruhet në modalitetin e përdoruesit;

1: Ky regjistër mund të lexohet dhe shkruhet vetëm në modalitetin e makinës.

Shënim: Ky bit konfigurimi është i vlefshëm nga

versioni 1.0 e tutje.

 

 

 

0

[30:6] Rezervuar URO Rezervuar 0x380
 

 

 

 

 

5

 

 

 

 

 

GIHWSTKNEN

 

 

 

 

 

URW1

Ndërprerja globale dhe mbyllja e stivës së harduerit janë aktivizuar.

Shënim: Ky bit përdoret shpesh në sistemet operative në kohë reale. Kur konteksti ndërrohet gjatë një ndërprerjeje, vendosja e këtij biti mund të çaktivizojë ndërprerjen globale dhe të shtyjë grumbullin e harduerit. Kur ndërrimi i kontekstit të përfundojë dhe ndërprerja të kthehet, hardueri do

fshije automatikisht këtë bit.

 

 

 

 

 

0

4 Rezervuar URO Rezervuar 0
[3:2] PMTCFG URW Konfigurimi i biteve të parandalimit me përparësi:

00: Numri i biteve të parandalimit është 0; 01: Numri i biteve të parandalimit është 1; 10: Numri i biteve të parandalimit është 2; 11: Numri i biteve të parandalimit është 3; Shënim: Ky bit i konfigurimit është i vlefshëm pas 1.0.

0
1 DËGJONI URW Funksioni i foleve të ndërprerjes është i aktivizuar dhe vlera fikse është 1: 1
0: Çaktivizo;

1: Aktivizo.

Shënim: 1. Niveli aktual i foleve kontrollohet nga NEST_LVL në CSR 0xBC1;

2. Mund të jenë vetëm versionet pas 1.0

shkruar.

0 HWSTKEN URW Aktivizimi i pirgut të harduerit:

0: Funksioni i shtypjes së pirgut të harduerit është i çaktivizuar;

1: Funksioni i shtypjes së stivës së harduerit është aktivizuar.

0

Regjistri bazë i adresave të përjashtimit të modalitetit të makinës (mtvec)

Emri CSR Adresa Qasja Përshkrimi Rivendos vlerën
mtvec 0x305 MRW Regjistri i adresave bazë të përjashtimit 0x00000000

Njerëzit e saj përkufizohen si

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:2] BASEADDR[31:2] MRW Ndërprerja e adresës së bazës së tabelës vektoriale, ku

bitet [9:2] janë fiksuar në 0.

0
1 MODE1  

MRO

Modaliteti i njohjes së tabelës vektoriale të ndërprerjes: 0: Identifikoni sipas instruksionit të kërcimit, me shtrirje të kufizuar dhe mbështesni instruksionet që nuk kërcejnë;

1: Identifiko me adresë absolute, mbështet gamën e plotë, por duhet të kërcejë.

Shënim: Ky bit është i vlefshëm vetëm për V3B/C.

0
0 MODE0 MRW Zgjedhja e modalitetit të adresës së hyrjes së ndërprerjes ose përjashtimit.

0: Përdorimi i adresës uniforme të hyrjes.

1: Kompensimi i adresës bazuar në numrin e ndërprerjes *4.

0

Për MCU me mikroprocesorë të serisë V3, MODE0 është konfiguruar të jetë 1 si parazgjedhje në fillim file, dhe hyrjet për përjashtime ose ndërprerje kompensohen sipas numrit të ndërprerjes *4. Vini re se mikroprocesori V3A ruan një instruksion kërcimi në tabelën vektoriale, ndërsa mikroprocesori V3B/C mund ose një instruksion kërcimi ose të përdorë adresën absolute të funksionit të ndërprerjes, e cila është konfiguruar si një adresë absolute në fillimin e paracaktuar. file.

Regjistri i konfigurimit të mikroprocesorit (korrektori)

Ky regjistër është i pavlefshëm për V3A:

Emri CSR Adresa Qasja Përshkrimi Rivendos vlerën
corecfgr 0xBC0 MRW Regjistri i konfigurimit të mikroprocesorit 0x00000001

Njerëzit e saj përkufizohen si

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:8] Rezervuar MRO Rezervuar 0
 

 

7

 

 

CSTA_FAULT_IE

 

 

MRW

Aktivizo ndërprerjen e gabimit të statusit bazë:

0: Në gabimin e statusit, nuk krijohet asnjë ndërprerje NMI;

1: Në gabimin e statusit, ndërprerja NMI është

gjeneruar.

 

 

0

6 Rezervuar MRO Mbaje 0. 0
5 IE_REMAP_EN MRW Hartëzimi i regjistrit MIE mundëson:

0: Adresa CSR 0x800 është një regjistër vetëm për lexim dhe vlera e kthimit është vlera e STATUS;

1: Bitët 3 dhe 7 të adresës CSR 0x800 janë përshtatur në bitin MIE të regjistrit STATUS dhe bit MPIE të regjistrit STATUS, përkatësisht.

 

 

 

 

0

4 Rezervuar MRO Rezervuar 0
3 ROM_LOOP_ACC MRW Përshpejtimi i lakut të udhëzimeve të zonës ROM mundëson:

0: Fikni funksionin e nxitimit ciklik në zonën ROM;

1: Udhëzimet e vazhdueshme me një trup cikli brenda 128 bajt do të përshpejtohen plotësisht, ndërsa ato me një trup cikli brenda 256 bajt do të përshpejtohen pjesërisht;

0
2 ROM_JUMP_ACC MRW Përshpejtimi i kërcimit të udhëzimeve të zonës ROM është aktivizuar:

0: Çaktivizoni përshpejtimin e kërcimit të udhëzimeve të zonës ROM;

1: Aktivizo përshpejtimin e kërcimit të udhëzimeve në zonën ROM.

0
[1:0] FETCH_MODE MRW Modaliteti i marrjes:

00: Marrja paraprake është joaktiv. Funksioni i marrjes paraprake të instruksionit është i fikur për të shmangur operacionet e pavlefshme të marrjes së instruksioneve dhe ka maksimumi një udhëzim të vlefshëm në tubacionin e CPU. Ky model ka konsumin më të ulët të energjisë dhe performanca e tij bie me rreth 2 ~ 3 herë. 01: Modaliteti i marrjes paraprake 1. Kur funksioni i marrjes paraprake të instruksionit është i aktivizuar, CPU-ja do të vazhdojë të aksesojë memorien e instruksioneve derisa numri i instruksioneve që do të ekzekutohen në buferin e brendshëm të instruksioneve të kalojë një numër të caktuar ose tamponi i instruksioneve të jetë i plotë, dhe marrja e udhëzimeve do të pezullohet; (Dështimi i parashikimit të CPU-së do të çojë në funksionim të tepërt të tërheqjes, dhe në disa raste, njësia e ekzekutimit do të prezantojë 0 ~ 2 cikle flluskash dhe performanca e shumicës së programeve nuk do të ulet dukshëm); 10: Rezervuar;
11: Modaliteti i marrjes paraprake 2. Kur funksioni i marrjes paraprake të instruksionit është i aktivizuar, CPU-ja do të vazhdojë të aksesojë memorien e udhëzimeve dhe nëse buferi i udhëzimeve është plot, CPU-ja do të vazhdojë të provojë sërish adresën. Ky modalitet ka performancën dhe konsumin më të lartë të energjisë. Dështimi i parashikimit të CPU-së dhe riprovimi do të prezantojë operacione të tepërta të tërheqjes dhe mund të vazhdojë të zërë gjerësinë e brezit të memories. (Për zonën ROM, riprovimi do të thotë akses i ndërprerë në adresë, prandaj rekomandohet të aktivizoni ROM_ACC_EN).

0x1

Ndërprerja e regjistrit të kontrollit të mbivendosur (inestcr)

Ky regjistër është i pavlefshëm vetëm për V3A:

Emri CSR Adresa Qasja Përshkrimi Rivendos vlerën
investitor 0xBC1 MRW Ndërprerja e regjistrit të kontrollit të mbivendosur 0x00000000

Njerëzit e saj përkufizohen si

Bit Emri Qasja Përshkrimi Rivendos vlerën
31 Rezervuar MRO Rezervuar 0
30 NEST_OV MRW Ndërprerja/përjashtimi i bitit të flamurit të mbivendosur të mbivendosur, shkruani 1 për të pastruar:

0: Ndërprerja nuk ka tejmbushur; 1: Flamuri i tejmbushjes së ndërprerjes.

Shënim: Mbyllja e ndërprerjes do të ndodhë vetëm kur ekzekutohet funksioni i shërbimit të ndërprerjes dytësore për të gjeneruar një përjashtim instruksioni ose ndërprerje NMI. Në këtë kohë, përjashtimi dhe ndërprerja NMI hyjnë normalisht, por grumbulli i CPU-së tejmbushet, kështu që nuk mund të dilni nga ky përjashtim dhe

NMI ndërpret.

0
[29:12] Rezervuar MRO Rezervuar 0
[11:8] NEST_STA MRO Biti i flamurit të statusit të mbivendosur:

0000: Pa ndërprerje;

0001: Ndërprerja e nivelit 1;

0011: ndërprerja e nivelit 2 (foleja me 1 nivel);

0
0111: Ndërprerja e nivelit 3 (mbushje);

1111: Ndërprerja e nivelit 4 (mbushje).

[7:2] Rezervuar MRO Rezervuar 0
[1:0] NEST_LVL MRW Niveli i folesë:

00: Folezimi është i ndaluar dhe funksioni i foleve është i fikur;

01: Fletëzimi i nivelit të parë, i cili aktivizon funksionin e foleve;

Të tjera: E pavlefshme.

Shënim: Shkruani 10 ose 11 në këtë fushë dhe fusha do të vendoset në 01. Kur shkruani 11 në këtë fushë, lexoni këtë regjistër për të marrë nivelin më të lartë të foleve të çipit.

0

Regjistri i aktivizimit të ndërprerjes globale të modalitetit të përdoruesit (praktikanti)

Ky regjistër është i pavlefshëm vetëm për V3A:

Emri CSR Adresa Qasja Përshkrimi Rivendos vlerën
xhinter 0x800 URW Regjistri i aktivizimit të ndërprerjes globale 0x00000000

Ky regjistër përdoret për të kontrolluar aktivizimin dhe maskimin e ndërprerjes globale. Aktivizimi dhe maska ​​e ndërprerjes globale në modalitetin e makinës mund të kontrollohen nga bitet MIE dhe MPIE në status, por ky regjistër nuk mund të përdoret në modalitetin e përdoruesit.
Regjistri i aktivizimit të ndërprerjes globale gintenr është hartëzimi i MIE dhe MPIE në mstatus dhe mund të përdoret për të vendosur dhe pastruar MIE dhe MPIE duke përdorur gintenr në modalitetin e përdoruesit.

Secila prej tyre përkufizohet si:

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:13] Rezervuar URO Rezervuar 0
[12:11] MPP URO Hyni në modalitetin e privilegjuar përpara ndërprerjes. 0
[10:8] Rezervuar URO Rezervuar 0
7 MPIE URW Kur aktivizohet 0xBC0(CSR)bit5, ky bit

mund të lexohet dhe shkruhet në modalitetin e përdoruesit.

0
[6:4] Rezervuar URO Rezervuar 0
3 MIE URW Kur aktivizohet 0xBC0(CSR)bit5, ky bit

mund të lexohet dhe shkruhet në modalitetin e përdoruesit.

0
[1:0] Rezervuar URO Rezervuar 0

Ndërprerja e folezimit

Në lidhje me ndërprerjen, regjistrin e konfigurimit PFIC_CFGR dhe regjistrin e përparësisë së ndërprerjes PFIC_IPRIOR, mund të lejohet të ndodhë foleja e ndërprerjeve. Aktivizo nesting në regjistrin e konfigurimit të ndërprerjeve (Nesting është aktivizuar si parazgjedhje për mikroprocesorët e serisë V3) dhe konfiguro prioritetin e ndërprerjes përkatëse. Sa më e vogël të jetë vlera e përparësisë, aq më e lartë është përparësia. Sa më e vogël të jetë vlera e bitit të parandalimit, aq më i lartë është përparësia e parandalimit. Nëse ka ndërprerje që varen në të njëjtën kohë nën të njëjtin përparësi parandalimi, mikroprocesori i përgjigjet ndërprerjes me vlerën e prioritetit më të ulët (përparësi më të lartë) së pari.

Prolog/Epilog i harduerit (HPE)

  • Kur ndodh një përjashtim ose ndërprerje, mikroprocesori ndalon rrjedhën aktuale të programit dhe kalon në ekzekutimin e funksionit të trajtimit të përjashtimit ose ndërprerjes, vendi i rrjedhës aktuale të programit duhet të ruhet. Pas kthimit të përjashtimit ose ndërprerjes, është e nevojshme të rivendosni faqen dhe të vazhdoni ekzekutimin e rrjedhës së programit të ndaluar. Për mikroprocesorët e serisë V3, "siti" këtu i referohet të gjithë regjistrave të Ruajtur në Thirrje në Tabelën 1-2.
  • Mikroprocesorët e serisë V3 mbështesin ruajtjen automatike të harduerit me një cikël të 16 regjistrave në formë të ruajtur nga thirrësi në një zonë të brendshme të stivës që nuk është e dukshme për përdoruesin. Kur kthehet një përjashtim ose ndërprerje, cikli i vetëm i harduerit rikthen automatikisht të dhënat nga zona e brendshme e stivës në regjistrat në formë 16. HPE mbështet folenë deri në 2 nivele të thella.
  • Një skemë e grumbullit të presionit të mikroprocesorit është paraqitur në figurën e mëposhtme.WH-V3-Mikroprocesori-fig-2

Shënim:

  1. Funksionet e ndërprerjes që përdorin HPE duhet të kompilohen duke përdorur MRS ose zinxhirin e veglave të ofruara prej tij dhe funksioni i ndërprerjes duhet të deklarohet me __atribut__((interrupt(“WCH-Interrupt-fast”))).
  2. Funksioni i ndërprerjes duke përdorur stack push deklarohet nga __atributi__((interrupt())).

Pa tabela vektoriale (VTF)

  • Kontrolluesi i programueshëm i ndërprerjeve të shpejta (PFIC) ofron 4 kanale VTF, dmth., akses të drejtpërdrejtë në hyrjen e funksionit të ndërprerjes pa kaluar nëpër procesin e kërkimit të tabelës së vektorit të ndërprerjeve.
  • Kanali VTF mund të aktivizohet duke shkruar numrin e tij të ndërprerjes, adresën bazë të funksionit të shërbimit të ndërprerjes dhe adresën e kompensimit në regjistrin përkatës të kontrolluesit PFIC ndërsa konfiguroni normalisht një funksion ndërprerje.
  • Procesi i përgjigjes PFIC për ndërprerje të shpejta dhe pa tabela është paraqitur në Figurën 3-2 më poshtë.WH-V3-Mikroprocesori-fig-3

Mbrojtja fizike e memories PMP

  • Për të përmirësuar sigurinë e sistemit, moduli i mbrojtjes fizike të memories (PMP) është projektuar sipas standardit të arkitekturës RISC-V për mikroprocesorët e serisë V3 të elbit malor. Mbështetet menaxhimi i të drejtave të aksesit deri në 4 rajone fizike. Lejet përfshijnë atributet leximi (R), shkrimi (W) dhe ekzekutimi (X), dhe gjatësia e zonës së mbrojtur mund të vendoset në të paktën 4 bajt. Moduli PMP gjithmonë hyn në fuqi në modalitetin e përdoruesit, por mund të hyjë në fuqi opsionalisht duke kyçur atributin (L) në modalitetin e makinës.
  • Nëse qasja shkel kufirin aktual të lejes, do të shkaktojë një ndërprerje jonormale. Moduli PMP përfshin katër grupe të regjistrave të konfigurimit 8-bit (Një grup prej 32-bitësh) dhe katër grupe regjistrash adresash, që të gjithë duhet të aksesohen në modalitetin e makinës me udhëzim CSR.
  • Shënim: Numri i zonave të mbrojtura të mbështetura nga PMP në modele të ndryshme të mikroprocesorëve mund të jetë i ndryshëm, dhe numri i mbështetur nga regjistrat pmpcfg dhe pmpaddr është gjithashtu i ndryshëm. Shih tabelën 1-1 për detaje.

Set i regjistrave PMP

Lista e regjistrave CSR të mbështetur nga moduli PMP i mikroprocesorit V3 është paraqitur në tabelën 4-1 më poshtë.

Tabela 4-1 Kompleti i regjistrave të moduleve PMP

Emri Adresa CSR Qasja Përshkrimi Rivendos vlerën
pmpcfg0 0x3A0 MRW Regjistri i konfigurimit PMP 0 0x00000000
pmpaddr0 0x3B0 MRW Regjistri i adresave PMP 0 0xXXXXXXXXX
pmpaddr1 0x3B1 MRW Regjistri i adresave PMP 1 0xXXXXXXXXX
pmpaddr2 0x3B2 MRW Regjistri i adresave PMP 2 0xXXXXXXXXX
pmpaddr3 0x3B3 MRW Regjistri i adresave PMP 3 0xXXXXXXXXX

pmp

pmpcfg është regjistri i konfigurimit të njësisë PMP dhe çdo regjistër përmban katër fusha pompimi 8-bit, që korrespondojnë me konfigurimin e katër rajoneve, dhe pompimi përfaqëson vlerën e konfigurimit të rajonit i. Formati i tij është paraqitur në tabelën e mëposhtme 4-2.

Tabela 4-2 regjistri pmpcfg0WH-V3-Mikroprocesori-fig-4

pmpcfg përdoret për të konfiguruar zonën I dhe përkufizimi i bitit të tij përshkruhet në tabelën e mëposhtme 4-3.

Tabela 4-3 pmp

Bit Emri Përshkrimi
7 L Bllokimi është i aktivizuar dhe mund të zhbllokohet në modalitetin e makinës. 0: Jo i kyçur;

1: Blloko regjistrin përkatës.

[6:5] Rezervuar
[4:3] A Përzgjedhja e shtrirjes së adresës dhe zonës së mbrojtjes. 00: FAKTUAR (PMP joaktiv)

01: TOR (Mbrojtja e shtrirjes në krye) 10: NA4 (Mbrojtje e fiksuar me katër bajtë)

11: NAPOT (2(G+2) Mbrojtje bajt, G≥1)

2 X Atribut i ekzekutueshëm.
0: Nuk ka leje ekzekutimi;

1: Ekzekutoni lejen.

 

1

 

W

Atribut i shkrueshëm.

0: Nuk ka leje shkrimi 1: Leje shkrimi.

 

0

 

R

Atribut i lexueshëm

0: Nuk ka leje leximi 1: Leje leximi.

pmpaddr

Regjistri pmpaddr përdoret për të konfiguruar adresën e zonës I. Përkufizimi standard është nën arkitekturën RV32, e cila është kodimi i 32 bitëve të sipërm të një adrese fizike 34-bit, dhe formati i tij tregohet në tabelën e mëposhtme 4-4 .
E gjithë hapësira e adresave fizike të mikroprocesorit V3 është 4G, kështu që dy bitet e sipërme të këtij regjistri nuk përdoren.

Tabela 4-4 pmpaddrWH-V3-Mikroprocesori-fig-5

Kur zgjidhet NAPOT, biti i ulët i regjistrit të adresave përdoret gjithashtu për të treguar madhësinë e zonës aktuale të mbrojtjes, siç tregohet në tabelën e mëposhtme, ku 'y' është një pjesë e regjistrit.
Tabela 4-5 Tabela e marrëdhënieve ndërmjet konfigurimit PMP dhe regjistrit të adresave dhe zonës së mbrojtur.

pmpaddr pmpcfg. A Përputhja e adresës bazë dhe madhësisë
yyyy…yyyy NA4 Me 'yy…yyyy00' si adresën bazë, zona 4-bajtë është e mbrojtur.
yyyy…vvv0 NAPOT Me 'yy…yyy000' si adresën bazë, zona 8-bajtë është e mbrojtur.
yyyy…yy01 NAPOT Me 'yy…yy0000' si adresën bazë, zona 16-bajtë është e mbrojtur.
yyyy…y011 NAPOT Me 'yy…y00000' si adresën bazë, zona 16-bajtë është e mbrojtur.
vv01…111 NAPOT Me 'y0…000000' si adresën bazë, zona 231-bajtë është e mbrojtur.
yy011…111 NAPOT Mbroni të gjithë zonën 232 byte.

Mekanizmi Mbrojtës

X/W/R në pmpcfg përdoret për të vendosur autoritetin mbrojtës të zonës I dhe shkelja e autoritetit përkatës do të shkaktojë një përjashtim përkatës:

  1. Kur përpiqeni të merrni instruksione në zonën PMP pa autoritet ekzekutimi, do të shkaktojë një përjashtim të gabimit të hyrjes në marrjen e instruksionit (mcause=1).
  2. Kur përpiqeni të shkruani të dhëna në zonën PMP pa leje me shkrim, do të shkaktojë një përjashtim gabimi (mcause=7) në aksesin e udhëzimeve të dyqanit.
  3. Kur përpiqeni të lexoni të dhëna në zonën PMP pa lejen e leximit, do të shkaktojë një gabim jonormal të aksesit të memories (mcause=5) për instruksionin e ngarkesës.

A në pmpcfg përdoret për të vendosur gamën e mbrojtjes dhe shtrirjen e adresave të rajonit I, dhe për të mbrojtur memorien e rajonit A_ADDR ≤ < i > < B_ADDR (si A_ADDR ashtu edhe B_ADDR kërkohet të rreshtohen në 4 bajt):

  1. Nëse B _ ADDR–A_ADDR = = 22, modaliteti NA4 miratohet;
  2. Nëse B _ ADDR–A_ADDR = = 2(G+2), G≥1, dhe një adresë _ është 2(g+2), metoda NAPOT adoptohet;
  3. Përndryshe, modaliteti TOP miratohet.

Tabela 4-6 Metodat e përputhjes së adresave PMP

Një vlerë Emri Përshkrimi
0b00 FAKT Nuk ka zonë për të mbrojtur
0b01 TOR Mbrojtja e zonës së rreshtuar në krye.

Nën pmp

pmpaddri = B_ADDR >> 2.

Shënim: Nëse zona 0 e PMP është konfiguruar si modaliteti TOR (i=0), kufiri i poshtëm i zonës së mbrojtjes është 0 adresa, dmth 0 ≤ addr < pmpaddr0, të gjitha brenda intervalit të përputhjes.

0b10 NA4 Mbrojtje fikse e zonës 4-bajtë.

pmp

0b11 NAPOT Mbroni rajonin 2(G+2) me G ≥ 1, kur A_ADDR është në linjë 2(G+2). pmpaddri = ((A_ADDR|(2(G+2)-1)) &~(1< >1.
  • Biti L në pmp
  • Mikroprocesorët e serisë QingKe V3 mbështesin mbrojtjen e zonave të shumta. Kur i njëjti operacion përputhet me disa zona në të njëjtën kohë, zona me numrin më të vogël përputhet së pari.

Kohëmatësi i sistemit (SysTick)

  • Mikroprocesori i serisë QingKe V3 është projektuar me një numërues 32-bit ose 64-bit (SysTick) brenda. Burimi i orës së tij është ora e sistemit ose ndarja e tij me 8 frekuenca, dhe V3A mbështet vetëm ndarjen me 8 frekuenca.
  • Mund të sigurojë një bazë kohore, kohën dhe kohën e matjes për një sistem operativ në kohë reale. Llojet e ndryshme të regjistrave të përfshirë në kohëmatës kanë adresa të ndryshme hartografike, siç tregohet në tabelat e mëposhtme 5-1 dhe 5-2.

Tabela 5-1 Lista e regjistrave V3A SysTick

Emri Qasja në adresë Përshkrimi Rivendos vlerën
STK_CTLR 0xE000F000 Regjistri i kontrollit të numëruesit të sistemit 0x00000000
STK_CNTL 0xE000F004 Regjistri i ulët i numëruesit të sistemit 0xXXXXXXXXX
STK_CNTH 0xE000F008 Regjistri i lartë i numëruesit të sistemit

Shënim: E vlefshme vetëm për V3A.

0xXXXXXXXXX
STK_CMPLR 0xE000F00C Regjistri i ulët i vlerës së krahasimit të numërimit të sistemit 0xXXXXXXXXX
STK_CMPHR 0xE000F010 Regjistër i lartë i vlerës së krahasimit të numërimit të sistemit

Shënim: E vlefshme vetëm për V3A.

0xXXXXXXXXX

Tabela 5-2 V3 Lista e regjistrave SysTick të modeleve të tjera

Emri Qasja në adresë Përshkrimi Rivendos vlerën
STK_CTLR 0xE000F000 Regjistri i kontrollit të numëruesit të sistemit 0x00000000
STK_SR 0xE000F004 Regjistri i statusit të numëruesit të sistemit 0x00000000
STK_CNTL 0xE000F008 Regjistri i ulët i numëruesit të sistemit 0xXXXXXXXXX
STK_CMPLR 0xE000F010 Numëroni vlerën e krahasimit regjistër të ulët 0xXXXXXXXXX

Çdo regjistër përshkruhet në detaje si më poshtë.

Regjistri i kontrollit të numëruesit të sistemit (STK_CTLR)

Tabela 5-3 Regjistrat e kontrollit SysTick

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:5] Rezervuar RO Rezervuar 0
 

 

4

 

 

MODE

 

 

RW

Mënyra e numërimit: 1: Numërimi mbrapsht;

0: Numëroni lart.

Shënim: I pavlefshëm për V3A.

 

 

0

 

 

 

3

 

 

 

STRE

 

 

 

RW

Biti i aktivizimit të numrit automatik të ringarkimit:

1: Numëroni përsëri nga 0 pasi të keni numëruar deri në vlerën e krahasimit dhe numëroni përsëri nga vlera e krahasimit pasi të keni numëruar mbrapsht në 0;

0: Vazhdo numërimin lart/poshtë.

Shënim: I pavlefshëm për V3A.

 

 

 

0

 

 

2

 

 

STCLK

 

 

RW

Biti i zgjedhjes së burimit të kundërorës:

1: HCLK si bazë kohore; 0: HCLK/8 si bazë kohore.

Shënim: Është i pavlefshëm për V3A, i cili mbështet vetëm

HCLK/8 si bazë kohore.

 

 

0

1 FAQJA RW Bitët e kontrollit të aktivizimit të ndërprerjes së kundërt: 0
1: Aktivizo ndërprerjen e numëruesit; 0: Çaktivizo ndërprerjen e numëruesit.

Shënim: I pavlefshëm për V3A.

0 STE RW Numëruesi i sistemit mundëson një bit kontrolli. 1: Aktivizo numëruesin e sistemit STK;

0: Çaktivizoni numëruesin e sistemit STK dhe numëruesi ndalon së numëruari.

0

Regjistri i statusit të numëruesit të sistemit (STK_SR)

Ky regjistër nuk zbatohet për V3A.

Tabela 5-4 Regjistri i ulët i numëruesit SysTick

Bit Emri Qasja Përshkrimi Rivendos vlerën
 

 

31

 

 

SWIE

 

 

RW

Aktivizimi i nxitjes së ndërprerjes së softuerit (SWI): 1: Ndërprerja e softuerit të aktivizimit;

0: Fikni këmbëzën.

Shënim: Ky bit duhet të fshihet pas hyrjes në ndërprerjen e softuerit, përndryshe do të aktivizohet gjithmonë.

 

 

0

[30:1] Rezervuar RO Rezervuar 0
 

 

0

 

 

CNTIF

 

 

RW

Flamuri i krahasimit të numërimit, shkruani qartë 0, shkruani 1 është i pavlefshëm:

1: Numëroni deri në vlerën e krahasimit dhe numëroni deri në 0;

0: Vlera e krahasimit nuk arrihet.

 

 

0

Regjistri i ulët i numëruesit të sistemit (STK_CNTL)

Tabela 5-5 Regjistri i ulët i numëruesit SysTick

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:0] CNTL RW Vlera aktuale e numërimit të numëruesit është 32 bit më e ulët. Për V3A, ky regjistër mund të lexohet si 8-bit / 16-bit

/32-bit, por mund të shkruhet vetëm si 8-bit, dhe të tjera

modelet nuk janë të kufizuara.

0xXXXXXX XXX

Shënim: Regjistroni STK_CNTL dhe regjistroni STK_CNTH në V3A së bashku përbëjnë një numërues sistemi 64-bit.

Regjistri i lartë i numëruesit të sistemit (STK_CNTH)

Tabela 5-6 Regjistri i lartë i numëruesit SysTick

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:0] CNTH RW Vlera aktuale e numërimit të numëruesit është 32 bit më e lartë. Ky regjistër mund të lexohet me 8-bit/16-bit/32-bit, por mund të shkruhet vetëm me 8-bit.

Shënim: E vlefshme vetëm për V3A.

0xXXXXXX XXX

Shënim: Regjistroni STK_CNTL dhe regjistroni STK_CNTH në V3A së bashku përbëjnë një numërues sistemi 64-bit.

Regjistri i ulët i vlerës së krahasimit të numrit të sistemit (STK_CMPLR)

Tabela 5-7 Regjistri i ulët i vlerës së krahasimit të SysTick

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:0] CMPL RW Vendosni vlerën e krahasimit të numëruesit në 32 bit më të ulët. Kur vlera CMP dhe vlera CNT janë të barabarta, do të aktivizohet një ndërprerje STK. Për V3A, ky regjistër mund të lexohet si 8-bit /16-bit /32-bit, por mund të lexohet vetëm si

shkruar si 8-bit, dhe modelet e tjera nuk janë të kufizuara.

0xXXXXXX XXX

Shënim: Regjistri STK_CMPLR dhe regjistri STK_CMPHR në V3A së bashku përbëjnë vlerën e krahasimit të numëruesit 64-bit.

Regjistri i lartë i vlerës së krahasimit të numrit të sistemit (STK_CMPHR)

Tabela 5-8 Regjistri i lartë i vlerës së krahasimit SysTick

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:0] CMPH RW Vendosni vlerën e krahasimit të numëruesit 32 bit më të lartë. Ndërprerja STK do të aktivizohet kur vlera CMP dhe vlera CNT janë të barabarta.

Ky regjistër mund të lexohet me 8-bit/16-bit/32-bit, por mund të shkruhet vetëm me 8-bit.

Shënim: E vlefshme vetëm për V3A.

0xXXXXXX XXX

Shënim: Regjistri STK_CMPLR dhe regjistri STK_CMPHR në V3A së bashku përbëjnë vlerën e krahasimit të numëruesit 64-bit.

Cilësimet e procesorit me fuqi të ulët

  • Mikroprocesorët e serisë QingKe V3 mbështesin gjendjen e gjumit nëpërmjet udhëzimeve WFI (Wait for Interrupt) për të arritur konsum të ulët të energjisë statike.
  • Së bashku me regjistrin e kontrollit të sistemit të PFIC (PFIC_SCTLR), mund të zbatohen mënyra të ndryshme të gjumit dhe udhëzime WFE.

Hyni në gjumë

  • Mikroprocesorët e serisë QingKe V3 mund të shkojnë në gjumë në dy mënyra, Wait for Interrupt (WFI) dhe Wait For Event (WFE). Metoda WFI do të thotë që mikroprocesori shkon në gjumë, pret që një ndërprerje të zgjohet dhe më pas zgjohet deri në ndërprerjen përkatëse për të ekzekutuar. Metoda WFE do të thotë që mikroprocesori shkon në gjumë, pret që një ngjarje të zgjohet dhe zgjohet për të vazhduar ekzekutimin e rrjedhës së programit të ndaluar më parë.
  • Standardi RISC-V mbështet udhëzimet WFI dhe komanda WFI mund të ekzekutohet drejtpërdrejt për të hyrë në gjumë me metodën WFI. Për metodën WFE, biti WFITOWFE në regjistrin e kontrollit të sistemit PFIC_SCTLR përdoret për të kontrolluar komandat e mëvonshme WFI si përpunim WFE për të arritur metodën WFE për të hyrë në gjumë.
  • Thellësia e gjumit kontrollohet sipas bitit SLEEPDEEP në PFIC_SCTLR.
  • Nëse SLEEPDEEP në regjistrin PFIC_SCTLR pastrohet në zero, mikroprocesori hyn në modalitetin e gjumit dhe ora e brendshme e njësisë lejohet të fiket, përveç SysTick dhe një pjesë të logjikës së zgjimit.
  • Nëse është vendosur SLEEPDEEP në regjistrin PFIC_SCTLR, mikroprocesori hyn në modalitetin e gjumit të thellë dhe të gjitha orët e qelizave lejohen të fiken.
  • Kur mikroprocesori është në modalitetin Debug, nuk është e mundur të hyni në asnjë lloj modaliteti Sleep.

Zgjimi në gjumë

Mikroprocesorët e serisë QingKe V3 mund të zgjohen pas gjumit për shkak të WFI dhe WFE në mënyrat e mëposhtme.

Pasi metoda WFI shkon në gjumë, ajo mund të zgjohet nga

  1. Mikroprocesori mund të zgjohet nga burimi i ndërprerjes të cilit i përgjigjet kontrolluesi i ndërprerjes. Pas zgjimit, mikroprocesori ekzekuton së pari funksionin e ndërprerjes.
  2. Hyni në modalitetin e gjumit, kërkesa për korrigjim mund të bëjë që mikroprocesori të zgjohet dhe të futet në gjumë të thellë, kërkesa për korrigjim nuk mund ta zgjojë mikroprocesorin.

Pasi metoda WFE shkon në gjumë, mikroprocesori mund të zgjohet nga sa vijon.

  1. Ngjarjet e brendshme ose të jashtme, kur nuk ka nevojë të konfiguroni kontrolluesin e ndërprerjes, zgjohuni dhe vazhdoni të ekzekutoni programin.
  2. Nëse aktivizohet një burim ndërprerjeje, mikroprocesori zgjohet kur gjenerohet një ndërprerje dhe pas zgjimit, mikroprocesori ekzekuton së pari funksionin e ndërprerjes.
  3. Nëse biti SEVONPEND në PFIC_SCTLR është i konfiguruar, kontrolluesi i ndërprerjes nuk e aktivizon ndërprerjen, por kur gjenerohet një sinjal i ri në pritje të ndërprerjes (sinjali në pritje i gjeneruar më parë nuk hyn në fuqi), ai gjithashtu mund të bëjë që mikroprocesori të zgjohet dhe flamuri përkatës i ndërprerjes në pritje duhet të fshihet manualisht pas zgjimit.
  4. Kërkesa për korrigjim në modalitetin e gjumit mund të bëjë që mikroprocesori të zgjohet dhe të futet në gjumë të thellë, kërkesa për korrigjim nuk mund ta zgjojë mikroprocesorin.
  • Përveç kësaj, gjendja e mikroprocesorit pas zgjimit mund të kontrollohet duke konfiguruar bitin SLEEPONEXIT në PFIC_SCTLR.
  • SLEEPONEXIT është vendosur dhe instruksioni i kthimit të ndërprerjes së nivelit të fundit (mret) do të aktivizojë gjumin e modalitetit WFI.

SLEEPONEXIT pastrohet pa asnjë efekt.

Produkte të ndryshme MCU të pajisura me mikroprocesorë të serisë V3 mund të adoptojnë mënyra të ndryshme gjumi, të fikin periferikë dhe orë të ndryshme, të zbatojnë politika të ndryshme të menaxhimit të energjisë dhe metoda të zgjimit sipas konfigurimeve të ndryshme të PFIC_SCTLR dhe të realizojnë mënyra të ndryshme me energji të ulët.

Mbështetje për korrigjimin e gabimeve

  • Mikroprocesorët e serisë QingKe V3 përfshijnë një modul korrigjimi të harduerit që mbështet operacionet komplekse të korrigjimit. Kur mikroprocesori pezullohet, moduli i korrigjimit mund të hyjë në GPR, CSR, memorie, pajisje të jashtme, etj. të mikroprocesorit përmes komandave abstrakte, udhëzimeve të vendosjes së buferit të programit, etj. Moduli i korrigjimit mund të pezullojë dhe rifillojë funksionimin e mikroprocesorit.
  • Moduli i korrigjimit ndjek specifikimin RISC-V External Debug Support Version0.13.2, dokumentacioni i detajuar mund të shkarkohet nga RISC-V International webfaqe.

Moduli i korrigjimit

  • Moduli i korrigjimit brenda mikroprocesorit, i aftë për të kryer operacione korrigjimi të lëshuara nga hosti i korrigjimit, përfshin.
  • Qasja në regjistra përmes ndërfaqes së korrigjimit
  • Rivendosni, pezulloni dhe rifilloni mikroprocesorin përmes ndërfaqes së korrigjimit
  • Lexoni dhe shkruani kujtesën, regjistrat e udhëzimeve dhe pajisjet e jashtme përmes ndërfaqes së korrigjimit
  • Vendosni udhëzime të shumta arbitrare përmes ndërfaqes së korrigjimit
  • Vendosni pikat e ndërprerjes së softuerit përmes ndërfaqes së korrigjimit
  • Vendosni pikat e ndërprerjes së harduerit përmes ndërfaqes së korrigjimit
  • Mbështet ekzekutimin automatik të komandës abstrakte
  • Mbështet korrigjimin me një hap të vetëm
  • Shënim: V3A nuk mbështet pikat e ndërprerjes së harduerit, pikat e ndërprerjes së harduerit V3B mbështesin përputhjen e adresave të udhëzimeve dhe pikat e ndërprerjes së harduerit V3C mbështesin përputhjen e adresave të udhëzimeve dhe adresave të të dhënave.
  • Regjistrat e brendshëm të modulit të korrigjimit përdorin një kod adrese 7-bitësh dhe regjistrat e mëposhtëm zbatohen brenda mikroprocesorëve të serisë QingKe V3.

Tabela 7-1 Lista e regjistrave të modulit të korrigjimit

Emri Qasja në adresë Përshkrimi
data0 0x04 Regjistri i të dhënave 0, mund të përdoret për ruajtjen e përkohshme të të dhënave
data1 0x05 Regjistri i të dhënave 1, mund të përdoret për ruajtjen e përkohshme të të dhënave
dekontroll 0x10 Regjistri i kontrollit të modulit të korrigjimit
dmstatus 0x11 Korrigjimi i statusit të modulit
hartinfo 0x12 Regjistri i statusit të mikroprocesorit
abstrakte 0x16 Regjistri abstrakt i statusit të komandës
komandë 0x17 Regjistri komandues abstrakt
auto abstrakte 0x18 Ekzekutimi automatik i komandës abstrakte
progbuf0-7 0x20-0x27 Regjistrat e memories së udhëzimeve 0-7
haltsum0 0x40 Ndalo regjistrin e statusit
  • Pritësi i korrigjimit mund të kontrollojë pezullimin, rifillimin, rivendosjen e mikroprocesorit, etj. duke konfiguruar regjistrin e dekontrollit. Standardi RISC-V përcakton tre lloje komandash abstrakte: regjistri i aksesit, aksesi i shpejtë dhe memoria e aksesit.
  • Mikroprocesori QingKe V3A mbështet vetëm aksesin në regjistër, modelet e tjera mbështesin aksesin në regjistër dhe memorie, por jo akses të shpejtë. Qasja në regjistra (GPR, CSR) dhe aksesi i vazhdueshëm në memorie mund të realizohet me komanda abstrakte.
  • Moduli i korrigjimit zbaton 8 regjistra të memories së instruksioneve progbuf0-7, dhe hosti i korrigjimit mund të ruajë në memorien e memories shumë instruksione (të cilat mund të jenë instruksione të kompresuara) në buffer dhe mund të zgjedhë të vazhdojë ekzekutimin e udhëzimeve në regjistrat e memories së instruksionit pas ekzekutimit të komandës abstrakte ose të ekzekutojë direkt instruksionet e memorizuara.
  • Shënim që udhëzimi i fundit në programe duhet të jetë një instruksion “ebreak” ose “c.ebreak”. Qasja në ruajtje, pajisje periferike, etj. është gjithashtu e mundur përmes komandave abstrakte dhe udhëzimeve të ruajtura në memorien e programeve.
  • Çdo regjistër përshkruhet në detaje si më poshtë.
  • Regjistri i të dhënave 0 (të dhënat 0)

Tabela 7-2 Përkufizimi i regjistrit të të dhënave

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:0] data0 RW Regjistri i të dhënave 0, përdoret për ruajtjen e përkohshme të të dhënave 0

Regjistri i të dhënave 1 (të dhënat 1)

Tabela 7-3 data1 përkufizimi i regjistrit

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:0] data1 RW Regjistri i të dhënave 1, përdoret për ruajtjen e përkohshme të të dhënave 0

Regjistri i kontrollit të modulit të korrigjimit (çekontrolli)

Ky regjistër kontrollon ndalimin, rivendosjen dhe rifillimin e mikroprocesorit. Pritësi i korrigjimit të gabimeve shkruan të dhëna në fushën përkatëse për të arritur pauzë (haltreq), rivendosje (ndmreset), rifillim (rinumereq). Ju përshkruani sa vijon.

Tabela 7-4 përcaktimi i regjistrit të dekontrollit

Bit Emri Qasja Përshkrimi Rivendos vlerën
31 haltreq WO 0: Pastro kërkesën për pauzë

1: Dërgoni një kërkesë për pauzë

0
30 resumereq W1 0: E pavlefshme

1: Rivendosni mikroprocesorin aktual

Shënim: Shkrimi 1 është i vlefshëm dhe hardueri pastrohet pas rikuperimit të mikroprocesorit

0
29 Rezervuar RO Rezervuar 0
28 ackhavereset W1 0: E pavlefshme

1: Pastro bitin e statusit të korrjes së mikroprocesorit

0
[27:2] Rezervuar RO Rezervuar 0
1 ndmreset RW 0: Pastro rivendosjen

1: Rivendos të gjithë sistemin përveç modulit të korrigjimit

 

0

0 çaktivizoni RW 0: Rivendos modulin e korrigjimit

1: Moduli i korrigjimit funksionon siç duhet

0

Korrigjimi i regjistrit të statusit të modulit (statusi dm)

  • Ky regjistër përdoret për të treguar statusin e modulit të korrigjimit dhe është një regjistër vetëm për lexim me përshkrimin e mëposhtëm të secilit bit.

Tabela 7-5 përcaktimi i regjistrit dmstatus

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:20] Rezervuar RO Rezervuar 0
19 allhavereset RO 0: E pavlefshme

1: Rivendosja e mikroprocesorit

0
18 anyhavereset RO 0: E pavlefshme

1: Rivendosja e mikroprocesorit

0
17 allresumeak RO 0: E pavlefshme

1: Rivendosja e mikroprocesorit

0
16 çdo resumeack RO 0: E pavlefshme

1: Rivendosja e mikroprocesorit

0
[15:14] Rezervuar RO Rezervuar 0
13 aluviale RO 0: E pavlefshme

1: Mikroprocesori nuk është i disponueshëm

0
12 ndonjë dobi RO 0: E pavlefshme

1: Mikroprocesori nuk është i disponueshëm

0
11 të gjithë vrapojnë RO 0: E pavlefshme

1: Mikroprocesori po funksionon

0
10 çdo vrapim RO 0: E pavlefshme

1: Mikroprocesori po funksionon

0
9 e ndalur RO 0: E pavlefshme

1: Mikroprocesori është në pezullim

0
8 ndonjë i ndalur RO 0: E pavlefshme

1: Mikroprocesori jashtë pezullimit

0
7 të vërtetuara  

RO

0: Kërkohet vërtetimi përpara se të përdorni modulin e korrigjimit

1: Moduli i korrigjimit është certifikuar

 

0x1

[6:4] Rezervuar RO Rezervuar 0
[3:0] version RO Versioni 0010 i arkitekturës mbështetëse të sistemit të korrigjimit: V0.13 0x2

Regjistri i statusit të mikroprocesorit (hartinfo)

Ky regjistër përdoret për të dhënë informacion në lidhje me mikroprocesorin tek hosti i korrigjimit dhe është një regjistër vetëm për lexim me çdo bit të përshkruar si më poshtë.

Tabela 7-6 Përkufizimi i regjistrit hartinfo

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:24] Rezervuar RO Rezervuar 0
[23:20] gërvishtje RO Numri i regjistrave gërvishtje të mbështetur 0x3
[19:17] Rezervuar RO Rezervuar 0
16 Qasja në të Dhëna RO 0: Regjistri i të dhënave lidhet me adresën CSR

1: Regjistri i të dhënave vendoset në adresën e memories

0x1
[15:12] madhësia e të dhënave RO Numri i regjistrave të të dhënave 0x2
  [11:0] shtimi i të dhënave  

RO

Adresa e kompensuar e të dhënave të regjistrit të të dhënave0,

adresa bazë e të cilit është 0xe0000000, i nënshtrohet leximit specifik.

0xXXX

Kontrolli abstrakt i komandës dhe regjistrat e statusit (abstrakte)

Ky regjistër përdoret për të treguar ekzekutimin e komandës abstrakte. Pritësi i korrigjimit mund të lexojë këtë regjistër për të ditur nëse komanda e fundit abstrakte është ekzekutuar apo jo dhe mund të kontrollojë nëse është krijuar një gabim gjatë ekzekutimit të komandës abstrakte dhe llojin e gabimit, i cili përshkruhet në detaje si më poshtë.

Tabela 7-7 përkufizimet e regjistrit të abstrakteve

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:29] Rezervuar RO Rezervuar 0
[28:24] progbufsize RO Tregon numrin e programit buffer të programit

regjistrat e cache

0x8
[23:13] Rezervuar RO Rezervuar 0
12 i zënë RO 0: Nuk po ekzekutohet asnjë komandë abstrakte

1: Ekzekutohen komanda abstrakte

Shënim: Pas ekzekutimit, pajisja pastrohet.

 

0

11 Rezervuar RO Rezervuar 0
[10:8] cmder RW Lloji i gabimit të komandës abstrakte 000: Nuk ka gabim

001: Ekzekutimi i komandës abstrakte për të shkruar në komandë, përmbledhje, regjistra abstraktë automatikë ose për të lexuar dhe shkruar në regjistrat e të dhënave dhe progbuf

010: Nuk mbështet komandën aktuale abstrakte 011: Ekzekutimi i komandës abstrakte me përjashtimin 100: Mikroprocesori nuk është i pezulluar ose i padisponueshëm dhe nuk mund të ekzekutojë komanda abstrakte 101: Gabim autobusi

110: Gabim i bitit të barazisë gjatë komunikimit 111: Gabime të tjera

Shënim: Për shkrimin e bitit 1 përdoret për të pastruar zeron.

 

 

 

 

 

 

 

0

[7:4] Rezervuar RO Rezervuar 0
[3:0] zbritje RO Numri i regjistrave të të dhënave 0x2
  • Pritësit e korrigjimit të gabimeve mund të kenë akses në GPR, regjistra CSR dhe memorie duke shkruar vlera të ndryshme konfigurimi në regjistrin e komandave abstrakte.
  • Gjatë qasjes në regjistra, bitet e regjistrit të komandës përcaktohen si më poshtë.
  • Tabela 7-8 Përkufizimi i regjistrit të komandës gjatë qasjes në regjistra
Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:24] lloji cmd WO Lloji i komandës abstrakte 0: Regjistri i aksesit;

1: Qasje e shpejtë (nuk mbështetet);

2: Qasja në kujtesë.

0
23 Rezervuar WO Rezervuar 0
[22:20] aarsize WO Qasuni në gjerësinë e bitit të të dhënave të regjistrit 000: 8-bit

001: 16-bit

010: 32-bit

0
011: 64-bit (nuk mbështetet) 100: 128-bit (nuk mbështetet)

Shënim: Kur aksesoni regjistrat me pikë lundruese

FPR, mbështetet vetëm aksesi 32-bit.

19 aarpostincrement WO 0: Nuk ka efekt

1: Rritni automatikisht vlerën e regno pasi të keni akses në regjistër

 

0

18 post ekzekutiv WO 0: Nuk ka efekt

1: Ekzekutoni komandën abstrakte dhe më pas ekzekutoni komandën në progbuf

 

0

17 transferimi WO 0: Mos e ekzekutoni operacionin e specifikuar nga shkrimi

1: Ekzekutoni manipulimin e specifikuar nga shkrimi

0
16 shkruani WO 0: Kopjo të dhënat nga regjistri i specifikuar te data0 1: Kopjo të dhënat nga regjistri data0 në regjistrin e specifikuar  

0

[15:0] regno WO Specifikoni regjistrat e aksesit 0x0000-0x0fff janë CSR 0x1000-0x101f janë GPR  

0

Gjatë qasjes në memorie, bitet në regjistrin e komandës përcaktohen si më poshtë.

Tabela 7-9 Përkufizimi i komandës Regjistrohu kur hyn në kujtesë

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:24] lloji cmd WO Lloji i komandës abstrakte 0: Regjistri i aksesit;

1: Qasje e shpejtë (nuk mbështetet);

2: Qasuni në kujtesë.

0
23 aamvirtual WO 0: Qasja në adresën fizike;

1: Hyni në adresën virtuale.

0
[22:20] madhësia e krahut WO Qasni gjerësinë e bitit të të dhënave të kujtesës 000: 8-bit;

001: 16-bit;

010: 32-bit;

011: 64-bit (nuk mbështetet); 100: 128-bit (nuk mbështetet);

 

0

19 aampzbutje WO 0: Nuk ka ndikim;

1: Pas hyrjes me sukses në memorie, rrisni adresën e ruajtur në regjistrin data1 me numrin e bajteve që korrespondojnë me gjerësinë e bitit të konfiguruar sipas madhësisë së krahut.

Aamsize=0, aksesohet me bajt, data1 plus 1.

Aamsize=1, aksesohet me gjysmë fjalë, data1 plus 2. aamsize=2, aksesohet me bit, data1 plus 4.

 

0

18 post ekzekutiv WO 0: Nuk ka ndikim;

1: Ekzekutoni komandën në progbuf pasi të keni ekzekutuar komandën abstrakte.

0
17 Rezervë RO Rezervuar 0
 

 

16

 

 

shkruani

 

 

WO

0: Lexoni të dhënat nga adresa e specifikuar nga data1 në data0

1: Shkruani të dhënat në data0 në adresën e specifikuar nga

të dhëna 1.

 

 

0

 

 

 

 

 

 

[15:14]
 

 

 

 

 

 

objektiv-specifike

 

 

 

 

 

 

WO

Përkufizimi i mënyrës së leximit dhe shkrimit Shkruani:

00, 01: Shkruani drejtpërdrejt në kujtesë;

10: Pasi të dhënat në data0 janë OSE me bitet e të dhënave në memorie, rezultati shkruhet në memorie (Mbështetet vetëm aksesi i fjalëve).

11: Pas përmbledhjes së të dhënave në data0 me bitet e të dhënave në memorie, shkruajeni rezultatin në memorie (Mbështetet vetëm aksesi i fjalëve).

Lexoni:

00, 01, 10, 11: Lexoni 0 direkt nga kujtesa.

 

 

 

 

 

 

0

[13:0] Rezervë RO Rezervuar

Regjistri automatik i ekzekutimit të komandës abstrakte (auto abstrakte)

Ky regjistër përdoret për të konfiguruar modulin e korrigjimit. Kur lexoni dhe shkruani progbufx dhe të dhënat e modulit të korrigjimit, komanda abstrakte mund të ekzekutohet përsëri.

Përshkrimi i këtij regjistri është si më poshtë:

Tabela 7-10 Përkufizimi abstrakt i regjistrit automatik

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:16] autoexecprogbuf RW Nëse vendoset një bit, leximi dhe shkrimi përkatës i progbufx do të bëjë që komanda abstrakte në regjistrin e komandës të ekzekutohet përsëri.

Shënim: Seria V3 është projektuar me 8 progbufs, që korrespondon me bit [23:16].

 

0

[15:12] Rezervë RO Rezervuar 0
[11:0] të dhëna automatike  

RW

Nëse një bit vendoset në 1, leximi dhe shkrimi përkatës i regjistrit të të dhënave do të bëjë që komanda abstrakte në regjistrin e komandës të ekzekutohet përsëri.

Shënim: Seria V3 është projektuar me dy të dhëna regjistrat, që korrespondojnë me bit [1:0].

0

Regjistri i memories së udhëzimeve (progbufx)

Ky regjistër përdoret për të ruajtur çdo instruksion dhe për të vendosur operacionin përkatës, duke përfshirë 8, i cili duhet t'i kushtojë vëmendje ekzekutimit të fundit që duhet të jetë "break" ose "c.ebreak".

Tabela 7-11 Përkufizimi i regjistrit progbuf

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:0] progbuf RW Kodimi i udhëzimeve për operacionet e cache-it, i cili

mund të përfshijë udhëzime për kompresim

0

Ndalo regjistrin e statusit (haltsum0)

Ky regjistër përdoret për të treguar nëse mikroprocesori është i pezulluar apo jo. Çdo bit tregon statusin e pezulluar të një mikroprocesori dhe kur ka vetëm një bërthamë, vetëm biti më i ulët i këtij regjistri përdoret për ta treguar atë.

Tabela 7-12 Përkufizimi i regjistrit haltsum0

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:1] Rezervuar RO Rezervuar 0
0 haltsum0 RO 0: Mikroprocesori funksionon normalisht

1: Ndalimi i mikroprocesorit

0
  • Përveç regjistrave të lartpërmendur të modulit të korrigjimit, funksioni i korrigjimit përfshin gjithashtu disa regjistra CSR, kryesisht regjistrin e kontrollit dhe statusit të korrigjimit dcsr dhe treguesin e udhëzimeve të korrigjimit dpc, të cilat përshkruhen në detaje si më poshtë.
  • Kontrolli i korrigjimit dhe regjistri i statusit (dcsr)

Tabela 7-13 Përkufizimi i regjistrit dcsr

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:28] xdebugver DRO 0000: Korrigjimi i jashtëm nuk mbështetet 0100: Mbështet korrigjimin standard të jashtëm

1111: Korrigjimi i jashtëm mbështetet, por nuk përmbushet

specifikimin

 

 

0x4

[27:16] Rezervuar DRO Rezervuar 0
15 thyej DRW 0: Komanda e pushimit në modalitetin e makinës sillet siç përshkruhet në privilegj file

1: Komanda e ndërprerjes në modalitetin e makinës mund të hyjë në modalitetin e korrigjimit

 

 

0

[14:13] Rezervuar DRO Rezervuar 0
12 ndarje  

DRW

0: Komanda break në modalitetin e përdoruesit sillet siç përshkruhet në privilegj file

1: Komanda e pushimit në modalitetin e përdoruesit mund të hyjë në modalitetin e korrigjimit

 

 

0

11 hap DRW 0: Ndërprerjet çaktivizohen me korrigjimin me një hap

1: Aktivizo ndërprerjet në korrigjimin me një hap

0
10 Rezervuar DRO Rezervuar 0
9 koha e ndalimit DRW 0: Kohëmatësi i sistemit funksionon në modalitetin e korrigjimit

1: Kohëmatësi i sistemit ndalon në modalitetin e korrigjimit

0
  [8:6] shkaku DRO Arsyet për të hyrë në korrigjimin e gabimeve

001: Futja e korrigjimit në formën e komandës break (prioriteti 3)

010: Futja e korrigjimit në formën e një moduli të aktivizimit (prioriteti 4, më i larti)

011: Futja e korrigjimit në formën e kërkesës për pauzë (prioriteti 1)

100: korrigjimi në formën e korrigjimit me një hap

(prioriteti 0, më i ulëti)

0
101: hyni në modalitetin e korrigjimit direkt pas rivendosjes së mikroprocesorit (prioriteti 2) Të tjera: të rezervuara
[5:3] Rezervuar DRO Rezervuar 0
2 hap DRW 0: Çaktivizo korrigjimin me një hap

1: Aktivizo korrigjimin me një hap të vetëm

0
[1:0] Prev DRW Modaliteti i privilegjit 00: Modaliteti i përdoruesit

01: Modaliteti mbikëqyrës (nuk mbështetet) 10: Rezervuar

11: Modaliteti i makinës

Shënim: Regjistroni modalitetin e privilegjuar kur hyni në modalitetin e korrigjimit, korrigjuesi mund ta modifikojë këtë vlerë për të modifikuar modalitetin e privilegjuar kur del nga korrigjimi

 

 

 

 

0

Treguesi i programit të modalitetit të korrigjimit (DPC)

  • Ky regjistër përdoret për të ruajtur adresën e instruksionit të ardhshëm që do të ekzekutohet pasi mikroprocesori të hyjë në modalitetin e korrigjimit dhe vlera e tij përditësohet me rregulla të ndryshme në varësi të arsyes së hyrjes në debug. Regjistri dpc përshkruhet në detaje si më poshtë.

Tabela 7-14 Përkufizimet e regjistrit dpc

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:0] DPC DRW Adresa e udhëzimit 0

Rregullat për përditësimin e regjistrave janë paraqitur në tabelën e mëposhtme.

Tabela 7-15 Rregullat e përditësimit të dpc

Futni metodën e korrigjimit dpc Rregullat e përditësimit
thyej Adresa e udhëzimit Ebreak
hap i vetëm Adresa e udhëzimit të udhëzimit të ardhshëm të udhëzimit aktual
moduli i këmbëzës Nuk mbështetet përkohësisht
kërkesë për ndalim Adresa e instruksionit të ardhshëm që do të ekzekutohet kur futni Debug

Ndërfaqja e korrigjimit të gabimeve

  • Ndryshe nga standardi JTAG ndërfaqja e përcaktuar nga RISC-V, mikroprocesori i serisë QingKe V3 miraton 1- një ndërfaqe të korrigjimit serik me tel/2 tela dhe ndjek protokollin e ndërfaqes së korrigjimit të WCH V1.0.
  • Ndërfaqja e korrigjimit është përgjegjëse për komunikimin midis hostit të korrigjimit dhe modulit të korrigjimit dhe realizon funksionimin e leximit/shkrimit të hostit të korrigjimit në regjistrat e modulit të korrigjimit.
  • WCH projektoi WCH_Link dhe kodin e saj të hapur skematikën dhe programin binar files, i cili mund të përdoret për korrigjimin e të gjithë mikroprocesorëve të arkitekturës RISC-V.
  • Referojuni manualit të protokollit të korrigjimit të WCH për protokollet specifike të ndërfaqes së korrigjimit.

Lista e regjistrave të CSR

  • Arkitektura RISC-V përcakton një numër të regjistrave të kontrollit dhe statusit (CSR) për kontrollin dhe regjistrimin e statusit të funksionimit të mikroprocesorit.
  • Disa nga CSR-të janë prezantuar në seksionin e mëparshëm dhe ky kapitull do të detajojë regjistrat CSR të zbatuara në mikroprocesorët e serisë QingKe V3.

Lista e regjistrave të CSR

Tabela 8-1 Lista e regjistrave CSR të mikroprocesorëve

Lloji Emri CSR Adresa Qasja Përshkrimi
RISC-V

CSR standarde

marchid 0xF12 MRO Regjistri i numrave të arkitekturës
i turbullt 0xF13 MRO Regjistri i numërimit të zbatimit të harduerit
mstatus 0x300 MRW Regjistri i gjendjes
misa 0x301 MRW Regjistri i grupit të instruksioneve të harduerit
mtvec 0x305 MRW Regjistri i adresave bazë të përjashtimit
gërvishtje 0x340 MRW Modaliteti i makinës staging regjistri
MEPC 0x341 MRW Regjistri i treguesve të programit të përjashtimit
sepse 0x342 MRW Regjistri i shkaqeve të përjashtimit
mtval 0x343 MRW Regjistri i vlerave të përjashtimit
pmpcfg 0x3A0+i MRW Regjistri i konfigurimit PMP
pmpaddr 0x3B0+i MRW Regjistri i adresave PMP
zgjidhni 0x7A0 MRW Korrigjimi i regjistrit të përzgjedhjes së aktivizuesit
tdata1 0x7A1 MRW Korrigjimi i regjistrit të të dhënave të aktivizimit 1
tdata2 0x7A2 MRW Korrigjimi i regjistrit të të dhënave të aktivizimit 2
dcsr 0x7B0 DRW Kontrolli i korrigjimit dhe regjistrat e statusit
dpc 0x7B1 DRW Regjistri i treguesit të programit të modalitetit të korrigjimit
dscratch0 0x7B2 DRW Modaliteti i korrigjimit stagRegjistrimi 0
dscratch1 0x7B3 DRW Modaliteti i korrigjimit stagRegjistrimi 1
 

CSR e përcaktuar nga shitësi

xhinter 0x800 URW Regjistri i aktivizimit të ndërprerjes globale
intsyscr 0x804 URW Ndërprerja e regjistrit të kontrollit të sistemit
corecfgr 0xBC0 MRW Regjistri i konfigurimit të mikroprocesorit
inestcr 0xBC1 MRW Ndërprerja e regjistrit të kontrollit të mbivendosur

RISC-V Regjistrat Standard CSR

  • Regjistri i numrave të arkitekturës (marchid)
  • Ky regjistër është një regjistër vetëm për lexim për të treguar numrin aktual të arkitekturës së harduerit të mikroprocesorit, i cili përbëhet kryesisht nga kodi i shitësit, kodi i arkitekturës, kodi i serisë dhe kodi i versionit. Secila prej tyre përcaktohet si më poshtë.

Tabela 8-2 Përkufizimi i regjistrit marchid

Bit Emri Qasja Përshkrimi Rivendos vlerën
31 Rezervuar MRO Rezervuar 1
[30:26] Shitës0 MRO Kodi i prodhuesit 0

Fiksuar në kodin e shkronjës "W".

0x17
[25:21] Shitës1 MRO Kodi i prodhuesit 1

Fiksuar në kodin e shkronjës "C".

0x03
[20:16] Shitës2 MRO Kodi i prodhuesit 2

Fiksuar në kodin e shkronjës "H".

0x08
15 Rezervuar MRO Rezervuar 1
[14:10] Arch MRO Kodi i arkitekturës 0x16
Arkitektura RISC-V është fiksuar në kodin e shkronjës "V".
[9:5] Seriali MRO Kodi i serisë

Seria QingKe V3, e fiksuar në numrin "3"

0x03
[4:0] Versioni MRO Kodi i versionit

Mund të jetë versioni "A", "B", "C" dhe shkronja të tjera të kodit

x

Numri i prodhuesit dhe numri i versionit janë alfabetik, dhe numri i serisë është numerik. Tabela e kodimit të shkronjave është paraqitur në tabelën e mëposhtme.

Tabela 8-3 Tabela e hartës alfabetike

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
  • Midis tyre, mikroprocesori QingKe V3A, regjistri lexon përsëri në 0.

Regjistri i numërimit të zbatimit të harduerit (i qartë)

  • Ky regjistër përbëhet kryesisht nga kodet e shitësve, secili prej të cilëve është i përcaktuar si më poshtë.

Tabela 8-4 Përkufizimi i regjistrit të qartë

Bit Emri Qasja Përshkrimi Rivendos vlerën
31 Rezervuar MRO Rezervuar 1
[30:26] Shitës0 MRO Kodi i prodhuesit 0

Fiksuar në kodin e shkronjës "W".

0x17
[25:21] Shitës1 MRO Kodi i prodhuesit 1

Fiksuar në kodin e shkronjës "C".

0x03
[20:16] Shitës2 MRO Kodi i prodhuesit 2

Fiksuar në kodin e shkronjës "H".

0x08
15 Rezervuar MRO Rezervuar 1
[14:8] Rezervuar MRO Rezervuar 0
[7:4] Të mitur MRO Numri i përmbysjes 0xX
[3:0] Major MR0 Numri i versionit kryesor 0xX
  • Ky regjistër është i lexueshëm në çdo zbatim të makinës dhe në procesorin e serisë QingKe V3A, ky regjistër lexohet përsëri në zero.

Regjistri i statusit të modalitetit të makinës (mstatus)

  • Ky regjistër është përshkruar pjesërisht në seksionin e mëparshëm, dhe njerëzit e tij janë pozicionuar si më poshtë.

Tabela 8-5 Përkufizimi i regjistrit mstatus

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:13] Rezervuar MRO Rezervuar 0
[12:11] MPP MRW Modaliteti i privilegjuar përpara se të hyni në pushim 0
[10:8] Rezervuar MRO Rezervuar 0
7 MPIE MRW Gjendja e aktivizimit të ndërprerjes përpara se të futni një ndërprerje 0
[6:4] Rezervuar MRO Rezervuar 0
3 MIE MRW Aktivizo ndërprerjen e modalitetit të makinës 0
[2:0] Rezervuar MRO Rezervuar 0
  • Fusha MPP përdoret për të ruajtur modalitetin e privilegjuar përpara se të futni përjashtimin ose ndërprerjen dhe përdoret për të rivendosur modalitetin e privilegjuar pas daljes nga përjashtimi ose ndërprerja. MIE është biti i aktivizimit të ndërprerjes globale dhe kur futet përjashtimi ose ndërprerja, vlera e MPIE përditësohet në vlerën e MIE, dhe duhet të theksohet se në mikroprocesorët e serisë QingKe V3, MIE nuk do të përditësohet në 0 përpara niveli i fundit i ndërprerjeve të ndërlidhura për të siguruar që foleja e ndërprerjeve në modalitetin Machine vazhdon të ekzekutohet. Kur një përjashtim ose ndërprerje del, mikroprocesori kthehet në modalitetin Machine të ruajtur nga MPP dhe MIE rikthehet në vlerën MPIE.
  • Mikroprocesori QingKe V3 mbështet modalitetin e makinës dhe modalitetin e përdoruesit, nëse duhet ta bëni mikroprocesorin të funksionojë vetëm në modalitetin Machine, mund ta vendosni MPP në 0x3 në fillimin e nisjes file, domethënë pas kthimit do të mbetet gjithmonë në modalitetin Machine.

Regjistri i grupit të instruksioneve të harduerit (misa)

  • Ky regjistër përdoret për të treguar arkitekturën e mikroprocesorit dhe shtesat e grupit të instruksioneve të mbështetura, secila prej të cilave përshkruhet si më poshtë.

Tabela 8-6 Përkufizimi i regjistrit misa

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:30] MXL MRO Gjatësia e fjalës së makinës 1:32

2:64

3:128

1
[29:26] Rezervuar MRO Rezervuar 0
[25:0] Shtesat MRO Shtesat e grupit të udhëzimeve x
  • MXL përdoret për të treguar gjatësinë e fjalës së mikroprocesorit, QingKe V3 janë mikroprocesorë 32-bitësh dhe domeni është fiksuar në 1.
  • Zgjerimet përdoren për të treguar se mikroprocesori mbështet detajet e grupit të instruksioneve të zgjeruara, secila tregon një klasë zgjerimesh, përshkrimi i detajuar i tij tregohet në tabelën e mëposhtme.

Tabela 8-7 Detajet e zgjerimit të grupit të udhëzimeve

Bit Emri Përshkrimi
0 A Zgjerimi atomik
1 B Rezervuar paraprakisht për zgjerimin e Manipulimit të Biteve
2 C Zgjerim i ngjeshur
3 D Zgjatje me pikë lundruese me saktësi të dyfishtë
4 E ISA bazë RV32E
5 F Zgjatje me një pikë lundruese me saktësi të vetme
6 G Ekzistojnë zgjerime standarde shtesë
7 H Zgjatja e hipervizorit
8 I ISA bazë RV32I/64I/128I
9 J Rezervuar paraprakisht për shtesën "Gjuhët e përkthyera dinamike".
10 K Rezervuar
11 L Rezervuar paraprakisht për zgjerimin me pikë lundruese dhjetore
12 M Zgjatja e shumëzimit/pjestimit të numrave të plotë
13 N Mbështeten ndërprerjet e nivelit të përdoruesit
14 O Rezervuar
15 P Rezervuar paraprakisht për shtesën Packed-SIMD
16 Q Zgjatje me pikë lundruese me precizion katërkëndor
17 R Rezervuar
18 S U zbatua mënyra e mbikëqyrësit
19 T Rezervuar paraprakisht për zgjerimin e kujtesës transaksionale
20 U Modaliteti i përdoruesit u zbatua
21 V Rezervuar paraprakisht për zgjerimin Vector
22 W Rezervuar
23 X Shtesat jo standarde janë të pranishme
24 Y Rezervuar
25 Z Rezervuar
  • Për shembullampLe, për mikroprocesorin QingKe V3A, vlera e regjistrit është 0x401001105, që do të thotë se arkitektura e mbështetur e grupit të instruksioneve është RV32IMAC dhe ka implementim të modalitetit të përdoruesit.

Regjistri bazë i adresave të përjashtimit të modalitetit të makinës (mtvec)

  • Ky regjistër përdoret për të ruajtur adresën bazë të mbajtësit të përjashtimit ose ndërprerjeve dhe dy bitët e poshtëm përdoren për të konfiguruar mënyrën dhe metodën e identifikimit të tabelës vektoriale siç përshkruhet në seksionin 3.2.

Modaliteti i makinës stagregjistrimi i regjistrimit (mscratch)

Tabela 8-8 përkufizimet e regjistrit mscratch

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:0] gërvishtje MRW Ruajtja e të dhënave 0

Ky regjistër është një regjistër 32-bit i lexueshëm dhe i shkruhet në modalitetin e makinës për ruajtjen e përkohshme të të dhënave. Për shembullampLe, kur futni një mbajtës përjashtimi ose ndërprerjeje, treguesi i stivës së përdoruesit SP ruhet në këtë regjistër dhe treguesi i stivës së ndërprerjes i caktohet regjistrit SP. Pas daljes nga përjashtimi ose ndërprerja, rivendosni vlerën e treguesit të stivës së përdoruesit SP nga e para. Kjo do të thotë, grupi i ndërprerjeve dhe grupi i përdoruesit mund të izolohen.

Regjistri i treguesit të programit të përjashtimit të modalitetit të makinës (hartë)

Tabela 8-9 Përkufizimet e regjistrit mepc

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:0] mepc MRW Treguesi i procedurës së përjashtimit 0
  • Ky regjistër përdoret për të ruajtur treguesin e programit kur futni një përjashtim ose ndërprerje.
  • Përdoret për të ruajtur treguesin e PC të udhëzimit përpara se të futet një përjashtim kur krijohet një përjashtim ose ndërprerje, dhe mepc përdoret si adresa e kthimit kur përjashtimi ose ndërprerja trajtohet dhe përdoret për një kthim përjashtimi ose ndërprerjeje.
  • Megjithatë, është e rëndësishme të theksohet se.
  • Kur ndodh një përjashtim, mepc përditësohet në vlerën e PC të instruksionit që gjeneron aktualisht përjashtimin.
  • Kur ndodh një ndërprerje, mepc përditësohet në vlerën e PC të instruksionit të ardhshëm.
  • Kur duhet të ktheni një përjashtim pas përpunimit të përjashtimit, duhet t'i kushtoni vëmendje modifikimit të vlerës së mepc, dhe më shumë detaje mund të gjenden në Kapitullin 2 Përjashtimet.

Regjistri i shkaqeve të përjashtimit të modalitetit të makinës (mcause)

Tabela 8-10 përkufizimi i regjistrit mcause

Bit Emri Qasja Përshkrimi Rivendos vlerën
31 Ndërprisni MRW Fusha e treguesit të ndërprerjes 0: Përjashtim

1: Ndërprerje

 

0

[30:0] Kodi i përjashtimit MRW Për kodet e përjashtimit, shihni Tabelën 2-1 për detaje 0
  • Ky regjistër përdoret kryesisht për të ruajtur shkakun e përjashtimit ose numrin e ndërprerjes së ndërprerjes. Biti më i lartë i tij është fusha Ndërprerje, e cila përdoret për të treguar nëse ndodhja aktuale është një përjashtim apo një ndërprerje.
  • Biti i poshtëm është kodi i përjashtimit, i cili përdoret për të treguar shkakun specifik. Detajet e tij mund të gjenden në Kapitullin 2 Përjashtimet.

Regjistri i vlerave të përjashtimit të modalitetit të makinës (mtval)

Tabela 8-11 përcaktimi i regjistrit mtval

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:0] mtval MRW Vlera përjashtimore 0
  • Ky regjistër përdoret për të mbajtur vlerën që shkaktoi përjashtimin kur ndodh një përjashtim. Për detaje të tilla si vlera dhe koha e ruajtjes së tij, ju lutemi referojuni Kapitullit 2 Përjashtimet.

Regjistri i konfigurimit PMP (pmpcfg

  • Ky regjistër përdoret kryesisht për të konfiguruar njësinë e mbrojtjes fizike të memories dhe çdo 8 bit i këtij regjistri përdoren për të konfiguruar mbrojtjen e një zone. Ju lutemi referojuni Kapitullit 4 për përkufizimin e detajuar.

Regjistri i adresave PMP (pmpaddr

  • Ky regjistër përdoret kryesisht për konfigurimin e adresave të njësisë së mbrojtjes fizike të memories, e cila kodon 32 bitet e sipërme të një adrese fizike 34-bit. Ju lutemi referojuni Kapitullit 4 për metodën specifike të konfigurimit.

Regjistri i treguesit të programit të modalitetit të korrigjimit (DPC)

  • Ky regjistër përdoret për të ruajtur adresën e instruksionit të ardhshëm që do të ekzekutohet pasi të hyjë mikroprocesori
  • Modaliteti i korrigjimit dhe vlera e tij përditësohen me rregulla të ndryshme në varësi të arsyes së hyrjes në korrigjim. Referojuni seksionit 6.1 për një përshkrim të hollësishëm.

Regjistri i zgjedhjes së aktivizimit të korrigjimit të gabimeve (zgjidh)

  • Ai është i vlefshëm vetëm për mikroprocesorët që mbështesin pikat e ndërprerjes së harduerit dhe mbështesin maksimumi pikat e ndërprerjes me 4 kanale, dhe 2 bitet e tij më të ulët janë të vlefshëm.
  • Kur konfiguroni çdo pikë ndërprerjeje kanali, duhet të zgjidhni kanalin përkatës përmes këtij regjistri përpara konfigurimit.

Tabela 8-12 zgjidhni përkufizimin e regjistrit

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:2] Rezervuar MRO Rezervuar 0
[1:0]  

ZGJIDH

 

MRW

Regjistri i përzgjedhjes së kanalit të pikës së ndërprerjes është konfiguruar, domethënë, pasi të zgjidhet kanali përkatës, regjistrat tdata1 dhe tdata2 mund të operohen për të konfiguruar një pikë ndërprerjeje.

informacion.

 

X

Korrigjimi i regjistrit të të dhënave të aktivizimit 1 (tdata1)

Është i vlefshëm vetëm për mikroprocesorët që mbështesin pikat e ndërprerjes së harduerit. Mikroprocesorët mbështesin vetëm pikat e ndërprerjes së adresës së instruksionit dhe adresës së të dhënave, ku biti TYPE i regjistrit tdata1 është një vlerë fikse prej 2, dhe bitët e tjerë janë në përputhje me përkufizimin e kontrollit në standardin e korrigjimit.

Tabela 8-13 Përkufizimi i regjistrit tdata1

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:28] LLOJI MRO Përcaktimi i llojit të pikës së ndërprerjes, lloji i kontrollit. 0x2
 

 

27

 

 

DMODE

 

 

MRO

0: Regjistrat përkatës të flip-flopit mund të modifikohen si në modalitetin e makinës ashtu edhe në modalitetin e korrigjimit;

1: Vetëm modaliteti i korrigjimit mund të modifikojë regjistrat përkatës të flip-flopit.

 

 

1

  [26:21]  

MASKMAX

 

MRO

Kur MATCH=1, diapazoni maksimal i fuqisë eksponenciale të përputhjes lejohet, domethënë, diapazoni maksimal i lejueshëm i përputhjes është 231 bajt.  

0x1F

[20:13] Rezervuar MRO Rezervuar 0
 

 

12

 

 

VEPRIM

 

 

MRW

Vendosni mënyrën e përpunimit kur aktivizoni një pikë ndërprerjeje:

0: Kur aktivizoni, futni pikën e ndërprerjes dhe thirrni përsëri ndërprerjen;

1: Hyni në modalitetin e korrigjimit kur aktivizohet.

 

 

0

[11:8] Rezervuar MRO Rezervuar 0
 

 

 

7

 

 

 

NDESHJE

 

 

 

MRW

Përputhja e konfigurimit të politikës:

0: Përputhni kur vlera e këmbëzës është e barabartë me TDATA2;

1: Vlera e këmbëzës përputhet me bitin m të lartë të TDATA2, ku m = 31–n, dhe n është citati i parë 0 i TDATA2 (duke filluar nga biti i ulët).

 

 

 

0

 

6

 

M

 

MRW

Aktivizo flip-flop në modalitetin M:

0: Çaktivizoni këmbëzën në modalitetin M; 1: Aktivizo këmbëzën në modalitetin M.

 

0

[5:4] Rezervuar MRO Rezervuar 0
 

3

 

U

 

MRW

Aktivizo aktivizimin në modalitetin U:

0: Çaktivizoni këmbëzën në modalitetin U; 1: Aktivizo këmbëzën në modalitetin U.

 

0

 

2

 

EKZEKUTOHET

 

MRW

Aktivizimi i aktivizimit të adresës së leximit të udhëzimeve: 0: Çaktivizo;

1: Aktivizo.

 

0

 

1

 

DYQANI

 

MRW

Aktivizimi i aktivizimit të adresës së shkrimit të të dhënave: 0: Çaktivizo;

1: Aktivizo.

 

0

 

0

 

NGARKOJE

 

MRW

Aktivizimi i aktivizimit të adresës së leximit të të dhënave: 0: Çaktivizo;

1: Aktivizo.

 

0

Korrigjimi i regjistrit të të dhënave të aktivizimit 2 (tdata2)

Ai është i vlefshëm vetëm për mikroprocesorët që mbështesin pikat e ndërprerjes së harduerit dhe përdoret për të ruajtur vlerën e përputhjes së këmbëzës.

Tabela 8-14 Përkufizimi i regjistrit tdata2

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:0] TDATA2 MRW Përdoret për të ruajtur vlerat që përputhen. X

Kontrolli i korrigjimit dhe regjistri i statusit (dcsr)

Ky regjistër përdoret për të kontrolluar dhe regjistruar gjendjen e funksionimit të modalitetit të korrigjimit. Referojuni seksionit 7.1 për detaje.

Treguesi i programit të modalitetit të korrigjimit (DPC)

Ky regjistër përdoret për të ruajtur adresën e instruksionit të ardhshëm që do të ekzekutohet pasi mikroprocesori të hyjë në modalitetin e korrigjimit, vlera e tij është e ndryshme sipas arsyeve të hyrjes në modalitetin e korrigjimit dhe rregullat e përditësimit janë gjithashtu të ndryshme. Referojuni seksionit 7.1 për një përshkrim të hollësishëm.

Modaliteti i korrigjimit stagregjistri i regjistrimit (dscratch0-1)

Ky grup regjistrash përdoret për ruajtjen e përkohshme të të dhënave në modalitetin Debug.

Tabela 8-15 dscratch0-1 përkufizimet e regjistrit

Bit Emri Qasja Përshkrimi Rivendos vlerën
[31:0] gërvishtje DRW Të dhënat e modalitetit të korrigjimit stagvlera 0
Regjistri CSR i përcaktuar nga përdoruesi

Regjistri i aktivizimit të ndërprerjes globale të modalitetit të përdoruesit (gintenr)

  • Ky regjistër përdoret për të kontrolluar aktivizimin dhe maskimin e ndërprerjes globale. Aktivizimi dhe maska ​​e ndërprerjes globale në modalitetin e makinës mund të kontrollohen nga bitet MIE dhe MPIE në status, por ky regjistër nuk mund të përdoret në modalitetin e përdoruesit.
  • Ndërsa ndërprerja globale mundëson regjistrin gintenr është hartëzimi i MIE dhe MPIE në status.
  • Në modalitetin e përdoruesit, qëllimi mund të përdoret për të vendosur dhe pastruar MIE dhe MPIE, siç përshkruhet në seksionin 3.2 për detaje.

Shënim

  • Ndërprerjet globale nuk përfshijnë ndërprerjet e pamaskuara NMI dhe përjashtimet.

Regjistri i kontrollit të sistemit të ndërprerjes (intsyscr)

Ky regjistër përdoret kryesisht për të konfiguruar thellësinë e foleve të ndërprerjes, shtypjen e stivës së harduerit dhe funksione të tjera të lidhura, siç përshkruhet në seksionin 3.2 për detaje.

Regjistri i konfigurimit të mikroprocesorit (corecfgr)

Ky regjistër përdoret për të kontrolluar nëse ndërprerja NMI lejohet pas tejmbushjes së ndërprerjes dhe nëse kërkesa për ndërprerje pastrohet kur ekzekutohet instruksioni i gardhit. Ju lutemi referojuni seksionit 3.2 për përkufizimin specifik.

Ndërprerja e regjistrit të kontrollit të mbivendosur (inestcr)

Ky regjistër përdoret për të treguar gjendjen e folezimit të ndërprerjes dhe nëse ai derdhet apo jo, dhe për të kontrolluar nivelin maksimal të foleve. Ju lutemi referojuni seksionit 3.2 për përkufizimin specifik.

Dokumentet / Burimet

Mikroprocesori WH V3 [pdf] Manuali i Përdoruesit
V3 Mikroprocesor, V3, Mikroprocesor

Referencat

Lini një koment

Adresa juaj e emailit nuk do të publikohet. Fushat e kërkuara janë shënuar *