WH-logo

WH V3 mikroprotsessor

WH-V3-Mikroprotsessor-PRO

Tehnilised andmed

  • Mikroprotsessori mudel: QingKeV3
  • Versioon: V1.2
  • ISA funktsioonid:
    • Torujuhtme FPU
    • Haru ennustus
    • Katkesta tugi
    • HPE füüsilise mälu kaitse (PMP)
    • Madala energiatarbimisega režiim
    • Laiendatud juhiskomplekti silumine

Toote kasutusjuhised

Läbiview QingKe V3 mikroprotsessor

QingKe V3 seeria mikroprotsessorite hulka kuuluvad mudelid V3A, V3B ja V3C. Igal mudelil on konkreetsed omadused ja erinevused, mis põhinevad selle rakendusel.

Juhendi komplekt

RV32I käsukomplekt sisaldab 32 registrikomplekti vahemikus x0 kuni x31. V3-seeria ei toeta ujukomalaiendit (F). Iga register on 32 bitti suur.

Registreeri komplekt

RV32I registrikomplekt koosneb järgmistest registritest.

  • x0: Kõvakodeeritud 0
  • x1: Saatja aadress
  • x2: virnakursor
  • x3: Globaalne osuti
  • x4: Lõime osuti
  • x5-x7: Ajutised registrid
  • x8: Salvesta register/kaadrikursor
  • x9: Salvesta registri/funktsiooni parameetrid/tagastusväärtused
  • x10-x11: Funktsiooni parameetrid
  • x12-x17: Salvesta registrid
  • x18-x27: Ajutised registrid
  • x28-x31: Helistajate/kõnede registrid

Privileegrežiim

Standardne RISC-V arhitektuur sisaldab kolme privilegeeritud režiimi: masinarežiim, juhendaja režiim ja kasutajarežiim. QingKe V3 seeria mikroprotsessorid toetavad masinarežiimi ja järelevalverežiimi.

Korduma kippuvad küsimused

K: Millised on QingKe V3-seeria mikroprotsessorite erinevad mudelid?

A: QingKe V3 seeria sisaldab mudeleid V3A, V3B ja V3C, millest igaühel on kasutusjuhendis kirjeldatud spetsiifilised funktsioonid ja erinevused.

K: Mitu registrikomplekti on käsukomplektis RV32I saadaval?

A: RV32I käsukomplekt sisaldab 32 registrikomplekti vahemikus x0 kuni x31.

K: Milliseid privilegeeritud režiime QingKe V3 mikroprotsessor toetab?

A: QingKe V3 seeria mikroprotsessorid toetavad RISC-V arhitektuuri osana masinarežiimi ja järelevalverežiimi.

Läbiview

QingKe V3 seeria mikroprotsessorid on isearendatud 32-bitised üldotstarbelised MCU mikroprotsessorid, mis põhinevad standardsel RISC-V käsukomplekti arhitektuuril. See seeria sisaldab V3A, V3B ja V3C, millest V3A toetab standardset käsukomplekti laiendust RV32IMAC ja V3B/C toetab RV32IMCB standardset käsukomplekti laiendust ja kohandatud käsukomplekti laiendust XW. Mõlemad toetavad ühetsüklilist korrutamist ja riistvara jagamist, lisaks riistvara survevirnale (HPE), tabelivabale katkestusele (VTF), voolujoonelisele 1- ja 2-juhtmelisele silumisliidesele, WFE juhistele ja muudele erifunktsioonidele. Lisaks toetab see ka riistvaraproloogi/epiloogi (HPE), Vector Table Free (VTF), sujuvamat 1-/2-juhtmelist silumisliidest ja WFE-juhiste tuge.

Omadused

Omadused Kirjeldus
ISA RV32IM[A]C[B]
Torujuhe 3
FPU Ei toetata
Haru ennustus Staatiline haru ennustamine
Katkestada Toetage kokku 256 katkestust, sealhulgas erandeid, ja toetab VTF-i
HPE Toetage 2 HPE taset
Füüsilise mälu kaitse (PMP) Toetatud
Madala energiatarbimisega režiim Toetage puhke- ja sügavat unerežiime ning WFI ja WFE unerežiime
Laiendatud juhiste komplekt Toetatud
Silumine 1/2-juhtmeline SDI, standardne RISC-V silumine

Läbiview

QingKe V3 seeria mikroprotsessorid hõlmavad V3A, V3B ja V3C, seeriate vahel on mõningaid erinevusi vastavalt rakendusele, konkreetsed erinevused on üksikasjalikult kirjeldatud tabelis 1-1.

Tabel 1-1 Üleview QingKe V3 mikroprotsessor

Funktsioon Mudel ISA HPE tasemete arv Katkestused pesitsemine arv tasemed VTF kanalite arv Torujuhe Vektor tabeli režiim Laiendatud juhend (XW) Mälu kaitsealade arv
V3A RV32IMAC 2 2 4 3 Juhend × ×
V3B RV32IMCB 2 2 4 3 Aadress/ Juhend ×
V3C RV32IMCB 2 2 4 3 Aadress/ Juhend 4

Märkus. OS-i ülesannete vahetamine kasutab tavaliselt virnatõuget, mis ei ole piiratud tasemete arvuga

Juhendi komplekt

  • QingKe V3 seeria mikroprotsessorid järgivad standardset RISC-V juhiskomplekti arhitektuuri (ISA). Standardi üksikasjalikku dokumentatsiooni leiate RISC-V Internationali juhendist „The RISC-V Instruction Set Manual, Volume I: User-Level ISA, Document Version 2.2”. websaidile. RISC-V juhiste komplekt on lihtsa arhitektuuriga ja toetab modulaarset disaini, võimaldades paindlikke kombinatsioone, mis põhinevad erinevatel vajadustel, ning V3-seeria toetab järgmisi juhiste komplekti laiendusi.
  • RV32: 32-bitine arhitektuur, üldotstarbelise registri biti laius 32 bitti
  • I: Toetage vormimisoperatsiooni, 32 vormimisregistriga
  • M: Toetage korrutamis- ja jagamisjuhiste kujundamist
  • A: Toetage aatomikäske
  • C: Toetage 16-bitist tihendusjuhist
  • B: Tugi bittide manipuleerimise juhistele
  • XW: 16-bitised tihendusjuhised isepikenevate bait- ja poolsõnaoperatsioonide jaoks

Märkus.

  • Erinevate mudelite toetatud juhiste alamhulk võib olla erinev, vaadake üksikasju tabelist 1-1;
  • Kooditiheduse edasiseks parandamiseks laiendage XW alamhulka, lisage järgmised pakkimisjuhised c.lbu/c.lhu/c.sb/c.sh/c.lbusp/c.lhusp/c.sbsp/c.shop , mille kasutamine peab põhinema MRS-i kompilaatoril või selle pakutaval tööriistaahelal;
  • V3B toetab sõna (32-bitise) käsu eraldamist topeltsõnast (64-bitine) ja sõna (32-bitise) käsu eraldamist korrutamistulemusest (64-bitine). Konkreetne kasutusviis võib viidata teegi funktsioonile ja teha koostööd MRS-i kompilaatori või selle pakutava tööriistaahelaga;
  • V3B/C toetab mällu kopeerimise juhiseid. Konkreetse kasutamise kohta vaadake raamatukogu funktsiooni ja tehke koostööd MRS-i kompilaatori või selle tööriistaahelaga.

Registreeri komplekt

RV32I-l on 32 registrikomplekti vahemikus x0-x31. V3-seeria ei toeta laiendust “F”, st puudub ujukomaregistri komplekt. RV32-s on iga register 32-bitine. Allolevas tabelis 1-2 on loetletud RV32I registrid ja nende kirjeldused.

Tabel 1-2 RISC-V registrid

Registreeru ABI nimi Kirjeldus Hoidja
x0 null Kõvakodeeritud 0
x1 ra Saatja aadress Helistaja
x2 sp Virna osuti Callee
x3 GP Globaalne osuti
x4 tp Lõime osuti
x5-7 t0-2 Ajutine register Helistaja
x8 s0/fp Salvesta register/kaadrikursor Callee
x9 s1 Salvesta register Callee
x10-11 a0-1 Funktsiooni parameetrid/tagastusväärtused Helistaja
x12-17 a2-7 Funktsiooni parameetrid Helistaja
x18-27 a2-11 Salvesta register Callee
X28-31 t3-6 Ajutine register Helistaja

Atribuut Caller ülaltoodud tabelis tähendab, et kutsutud protseduur ei salvesta registri väärtust ja Callee atribuut tähendab, et kutsutud protseduur salvestab registri.

Privileegrežiim

  • Standardne RISC-V arhitektuur sisaldab kolme privilegeeritud režiimi: masinarežiim, järelevaatajarežiim ja kasutajarežiim, nagu on näidatud allolevas tabelis 1-3.
  • Masinarežiim on kohustuslik ja muud režiimid on valikulised. Üksikasju leiate RISC-V kasutusjuhendist, II köide: Privilegeeritud arhitektuur”, mille saab tasuta alla laadida RISC-V Internationalist. websaidile.

Tabel 1-3 RISC-V arhitektuuri privileegrežiim

Kood Nimi Lühendid
0b00 Kasutajarežiim U
0b01 Juhendaja mudel S
0b10 Reserveeritud Reserveeritud
0b11 Masina režiim M
  • QingKe V3 seeria mikroprotsessorid toetavad kahte neist privilegeeritud režiimidest.

Masina režiim

  • Masinarežiimil on kõrgeim volitus, selles režiimis olev programm pääseb juurde kogu juhtimis- ja olekuregistrile (CSR), kuid pääseb juurde ka kõikidele füüsilistele aadressipiirkondadele.
  • Sisselülitamise vaikeseade on masinrežiimis, kui naaseb mret (masinarežiimi tagastamise käsk) täitmine, vastavalt CSR-i registri olekule (masinarežiimi olekuregister) MPP-bitis, kui MPP = 0b00, siis väljuge masinarežiimist kasutajarežiimi, MPP = 0b11, seejärel jätkake masinarežiimi säilitamist.

Kasutajarežiim

  • Kasutajarežiimil on madalaimad õigused ja selles režiimis pääseb juurde ainult piiratud CSR-registritele. Kui ilmneb erand või katkestus, läheb mikroprotsessor kasutajarežiimist masinarežiimi, et käsitleda erandeid ja katkestusi.

CSR register

RISC-V arhitektuuris on määratletud rida CSR-registreid, et juhtida ja salvestada mikroprotsessori tööolekut. Neid CSR-e saab laiendada 4096 registri võrra, kasutades sisemist spetsiaalset 12-bitist aadressi kodeerimisruumi. Ja kasutage selle registri lugemis-/kirjutusõiguse määramiseks kahte kõrget CSR-i [11:10], 0b00, 0b01, 0b10 lugemise/kirjutamise lubade jaoks ja 0b11 kirjutuskaitstud jaoks. Kasutage kahte bitti CSR[9:8], et määratleda madalaim privileegitase, millel on juurdepääs sellele registrile, ja väärtus vastab tabelis 1-3 määratletud privileegrežiimile. QingKe V3 mikroprotsessoris rakendatud CSR-registrid on üksikasjalikult kirjeldatud 8. peatükis.

Erand

Erandmehhanism, mis on mehhanism "ebatavaliste operatsioonisündmuste" pealtkuulamiseks ja käsitlemiseks. QingKe V3 seeria mikroprotsessorid on varustatud erandite reageerimissüsteemiga, mis suudab toime tulla kuni 256 erandiga, sealhulgas katkestustega. Kui ilmneb erand või katkestus, suudab mikroprotsessor kiiresti reageerida ja käsitleda erandit ja katkestust.

Erandi tüübid

Mikroprotsessori riistvarakäitumine on erandi või katkestuse korral sama. Mikroprotsessor peatab praeguse programmi, liigub erandi või katkestuse töötleja juurde ja naaseb varem peatatud programmi juurde, kui töötlemine on lõppenud. Laias laastus kuuluvad erandite hulka ka katkestused. Kas täpselt praegune esinemine on katkestus või erand viewed läbi masinarežiimi erandi põhjusregistri põhjuse. Mcause[31] on katkestuse väli, mida kasutatakse selleks, et näidata, kas erandi põhjuseks on katkestus või erand. mcause[31]=1 tähendab katkestust, mcause[31]=0 tähendab erandit. mcause[30:0] on erandi kood, mida kasutatakse erandi konkreetse põhjuse või katkestuse numbri näitamiseks, nagu on näidatud järgmises tabelis.

Tabel 2-1 V3 mikroprotsessori erandite koodid

Katkestada Erand koodid Sünkroonne / asünkroonne Erandi põhjus
1 0-1 Reserveeritud
1 2 Täpne asünkroonne NMI katkestab
1 3-11 Reserveeritud
1 12 Täpne asünkroonne SysTick katkestab
1 13 Reserveeritud
1 14 Sünkroonne Tarkvara katkestab
1 15 Reserveeritud
1 16-255 Täpne asünkroonne Väline katkestus 16-255
0 0 Sünkroonne Juhise aadressi kõrvalekalle
0 1 Sünkroonne Käsu toomise juurdepääsutõrge
0 2 Sünkroonne Ebaseaduslikud juhised
0 3 Sünkroonne Murdepunktid
0 4 Sünkroonne Laadimisjuhiste juurdepääsu aadressi joondumine
0 5 Mittetäppis asünkroonne Laadimiskäsu juurdepääsu viga
0 6 Sünkroonne Poe/AMO juhiste juurdepääsu aadressi vale joondamine
0 7 Mittetäppis asünkroonne Store/AMO käsu juurdepääsuviga
0 8 Sünkroonne Keskkonnakõne kasutajarežiimis
0 11 Sünkroonne Keskkonnakõne masinarežiimis
  • Sünkroonne” tabelis tähendab, et käsk võib asuda täpselt seal, kus seda täidetakse, näiteks katkestus- või kõnekäsk, ja iga selle käsu täitmine käivitab erandi. "Asünkroonne" tähendab, et käsku pole võimalik täpselt määrata ja käsu arvuti väärtus võib iga erandi korral erineda. Täpne asünkroonne tähendab, et erand võib asuda täpselt käsu piiril, st käsu täitmisjärgses olekus, näiteks välise katkestuse järgses seisundis. "Mittetäpne asünkroonne" tähendab, et käsu piiri ei saa täpselt kindlaks määrata ja võib-olla on käskluse olek pooleldi täitmisel katkenud, näiteks mälu juurdepääsu tõrge.
  • Juurdepääs mälule võtab aega ja tavaliselt ei oota mikroprotsessor mälule juurdepääsul juurdepääsu lõppu, vaid jätkab käsu täitmist, kui juurdepääsutõrke erand kordub, on mikroprotsessor järgmised käsud juba täitnud ja seda ei saa täpselt määrata. asub.

Erandi sisestamine

Kui programm on mingil põhjusel normaalses töös, käivitab see erandi või katkestuse. Mikroprotsessori riistvarakäitumise sel hetkel saab kokku võtta järgmiselt.

  1. Peatage praegune programmivoog ja liikuge erandite või katkestuste haldamise funktsioonide täitmisele. Erandi- või katkestusfunktsiooni kirje baasaadress ja adresseerimisrežiim on defineeritud erandikirje baasaadressiregistri mtvec abil. mtvec[31:2] määrab erandi- või katkestusfunktsiooni baasaadressi. mtvec[1:0] määrab käitleja funktsiooni adresseerimisrežiimi. kui mtvec[1:0]=0, kasutavad kõik erandid ja katkestused ühtset kirjet, st erandi või katkestuse ilmnemisel pöördub see mtvec[31:2] poole, mis määrab käivitatava baasaadressi. Kui mtvec[1:0]=1, kasutavad erandid ja katkestused vektortabeli režiimi, st iga erand ja katkestus on nummerdatud ning aadress nihutatakse vastavalt katkestuse numbrile*4 ning erandi või katkestuse korral nihutatakse mtvec[31:2] poolt määratletud baasaadressile + katkestuse number*4 Täitmine. Katkestuste vektortabel sisaldab käsku hüpata katkestuste käitleja funktsioonile või see võib olla ka mõni muu käsk.
  2. Värskendage CSR-i registrit
    • Erandi või katkestuse sisestamisel värskendab mikroprotsessor automaatselt asjakohaseid CSR-registreid, sealhulgas masinarežiimi erandi põhjusregistrit mcause, masinarežiimi erandi osuti registrit mepc, masinarežiimi erandi väärtuste registrit ja masinarežiimi olekuregistri olekut.

Värskendage mcause

Nagu varem mainitud, peegeldab selle väärtus pärast erandi või katkestuse sisestamist praegust erandi tüüpi või katkestuse numbrit ja tarkvara saab lugeda seda registriväärtust, et kontrollida erandi põhjust või määrata katkestuse allikat, nagu on kirjeldatud tabelis 2. -1.

Värskenda mepc

  • Mikroprotsessori tagastusaadressi standardmääratlus pärast erandist või katkestusest väljumist salvestatakse mepc-sse.
  • Seega, kui ilmneb erand või katkestus, värskendab riistvara erandi ilmnemisel automaatselt mepc väärtust praeguse käsu arvuti väärtuseks või järgmiseks enne katkestust eelkäidatud käsu PC väärtuseks.
  • Pärast erandi või katkestuse töötlemist kasutab mikroprotsessor oma salvestatud väärtust tagastusaadressina, et naasta katkestuse asukohta ja täitmist jätkata.
  • Siiski väärib märkimist, et.
  1. MEPC on loetav ja kirjutatav register ning tarkvara saab väärtust ka muuta, et muuta pärast tagastamist töötava arvutikursori asukohta.
  2. Katkestuse ilmnemisel, st kui erandi põhjus registreerib mcause[31]=1, värskendatakse kaartide väärtust järgmise katkestuse hetkel teostamata käsu arvuti väärtuseks.
    • Erandi ilmnemisel värskendatakse kaartide väärtust praeguse erandi käsu PC väärtuseks, kui erand põhjustab registri mcause[31]=0. Seega, kui me naaseme sel ajal, kui erand naaseb, kasutades mepc väärtust, jätkame selle käsu täitmist, mis varem erandi genereeris, ja praegu jätkame erandi sisestamist. Tavaliselt saame pärast erandi käsitlemist muuta mepc väärtuse järgmise käivitamata käsu väärtuseks ja seejärel naasta. Näiteksample, kui pärast erandi käsitlemist kutsume esile erandi kõne/katkestuse tõttu, kuna tagasikutsumine/break (c.ebreak on 2 baiti) on 4-baidine käsk, on meil vaja ainult tarkvara mepc väärtuse muutmiseks mepc-ks +4 (c.ebreak on mepc+2) ja siis tagasi.

Uuenda mtval

Kui sisestatakse erandid ja katkestused, värskendab riistvara automaatselt mtval väärtust, mis on erandi põhjustanud väärtus. Väärtus on tavaliselt.

  1. Kui erand on põhjustatud mälu juurdepääsust, salvestab riistvara mtval-i erandi tegemise ajal juurdepääsu aadressi.
  2. Kui erandi põhjustab ebaseaduslik käsk, salvestab riistvara käsu juhikoodi mtval.
  3. Kui erandi põhjustab riistvara murdepunkt, salvestab riistvara arvuti väärtuse murdepunktis mtval-i.
  4. Muude erandite puhul seab riistvara mtval väärtuseks 0, näiteks break, kõnejuhisest põhjustatud erand.
  5. Katkestuse sisestamisel määrab riistvara mtval väärtuseks 0.

Värskenda mstatus

Erandite ja katkestuste sisestamisel värskendab riistvara mstatus teatud bitte.

  1. MPIE-d värskendatakse enne erandi või katkestuse sisestamist MIE väärtusele ja MPIE-d kasutatakse MIE taastamiseks pärast erandi ja katkestuse lõppemist.
  2. MPP-d värskendatakse enne erandite ja katkestuste sisestamist privilegeeritud režiimile ning pärast erandite ja katkestuste lõppemist kasutatakse MPP-d eelmise privilegeeritud režiimi taastamiseks.
  3. QingKe V3 mikroprotsessor toetab katkestuste pesastamist masinarežiimis ja MIE-d ei tühjendata pärast erandite ja katkestuste sisestamist.

Värskendage mikroprotsessori privileegide režiimi

  • Kui ilmnevad erandid ja katkestused, värskendatakse mikroprotsessori privilegeeritud režiimi masinarežiimiks.

Erandjuhtimise funktsioonid

  • Erandi või katkestuse sisestamisel käivitab mikroprotsessor programmi mtvec registri poolt määratud aadressilt ja režiimist. Ühtse kirje kasutamisel võtab mikroprotsessor mtvec[31:2] poolt määratletud baasaadressilt hüppekäsu mtvec[1] väärtuse alusel või erandi ja katkestuse käsitlemise funktsiooni sisestuse aadressi ning läheb selle asemel täitma. . Sel ajal saab erandi ja katkestuse käsitlemise funktsioon mcause[31] väärtuse põhjal määrata, kas põhjus on erand või katkestus, ning erandi või vastava katkestuse tüüpi ja põhjust saab hinnata erandi koodi järgi. ja käideldakse vastavalt.
  • Kui kasutada nihkeks baasaadressi + katkestuse numbrit *4, hüppab riistvara automaatselt vektoritabelisse, et saada katkestuse numbri alusel erandi või katkestuse funktsiooni sisestusaadress ja hüppab seda täitma.

Erand Välju

  • Pärast erandi või katkestuse töötleja lõpetamist tuleb teenindusprogrammist väljuda. Pärast erandite ja katkestuste sisestamist lülitub mikroprotsessor kasutajarežiimist masinarežiimi ning masinarežiimis lõpetatakse ka erandite ja katkestuste töötlemine. Kui on vaja väljuda eranditest ja katkestustest, tuleb naasmiseks kasutada käsku mret. Sel ajal teostab mikroprotsessori riistvara automaatselt järgmisi toiminguid.
  • PC osuti taastatakse CSR registri mepc väärtusele, st täitmine algab mepc salvestatud käsuaadressilt. Pärast erandi käsitlemise lõpetamist on vaja pöörata tähelepanu mepc nihketoimingule.
  • Värskendage CSR-registri olekut, MIE taastatakse MPIE-ks ja MPP-d kasutatakse eelmise mikroprotsessori privilegeeritud režiimi taastamiseks.
  • Kogu erandile reageerimise protsessi saab kirjeldada järgmisel joonisel 2-1.WH-V3-Mikroprotsessor-joon-1

PFIC ja katkestuste juhtimine

  • QingKe V3 mikroprotsessor on loodud programmeeritava kiire katkestuse kontrolleriga (PFIC), mis suudab hallata kuni 256 katkestust koos eranditega.
  • Neist 16 esimest on fikseeritud mikroprotsessori sisemiste katkestustena ja ülejäänud on välised katkestused ehk väliste katkestuste maksimumarvu saab pikendada 240-ni. Selle põhiomadused on järgmised.
  • 240 välist katkestust, igal katkestustaotlusel on sõltumatud päästiku ja maski juhtbitid koos spetsiaalsete olekubittidega
  • Programmeeritav katkestuse prioriteet toetab 2 pesastamistaset
  • Spetsiaalne kiire katkestamise mehhanismi sisse-/väljalülitamine, riistvara automaatne virnastamine ja taastamine, maksimaalne HPE sügavus 2 taset
  • Vector Table Free (VTF) katkestusreaktsiooni mehhanism, 2-kanaliline programmeeritav otsejuurdepääs katkestusvektori aadressidele
  • Märkus. Katkestuste kontrollerite toetatud maksimaalne pesastussügavus ja HPE sügavus on erinevate mikroprotsessorimudelite puhul erinevad, mille leiate tabelist 1-1.
  • Katkestuste ja erandite vektortabel on näidatud allolevas tabelis 3-1.

Tabel 3-1 Erandi- ja katkestusvektori tabel

Number Prioriteet Tüüp Nimi Kirjeldus
0
1
2 -5 Parandatud NMI Mittemaskeeritav katkestus
3 -4 Parandatud EXC Erandlik katkestus
4
5 -3 Parandatud ECALL-M Masinarežiimi tagasihelistamise katkestus
6-7
8 -2 Parandatud ECALL-U Kasutajarežiimi tagasihelistamise katkestus
9 -1 Parandatud MURDEPUNKT Katkestuspunkti tagasihelistamise katkestus
10-11
12 0 Programmeeritav SysTick Süsteemi taimeri katkestus
13
14 1 Programmeeritav SWI Tarkvara katkestus
15
16-255 2-241 Programmeeritav Väline katkestus Väline katkestus 16-255

Märkus. ECALL-M, ECALL-U ja BREAKPOINT on kõik eri tüüpi erandid EXC, mis on V3B/C-s kasutusmugavuse huvides sõltumatud, ja ülaltoodud 3 sisestusaadressi jagatakse V3A-s EXC-ga.

PFIC registrikomplekt

Tabel 3-2 PFIC-registrid

Nimi Juurdepääsu aadress Juurdepääs Kirjeldus Lähtesta väärtus
PFIC_ISRx 0xE000E000

-0xE000E01C

RO Katkestuse lubamise olekuregister x 0x00000000
PFIC_IPRx 0xE000E020

-0xE000E03C

RO Katkesta ootelolekuregister x 0x00000000
PFIC_ITHRESDR 0xE000E040 RW Katkestuse prioriteedi läve konfiguratsiooniregister 0x00000000
PFIC_VTFBADDRR 0xE000E044 RW VTF baasaadresside register

Märkus. Kehtib ainult V3A jaoks

0x00000000
PFIC_CFGR 0xE000E048 RW Katkesta konfiguratsiooniregister

Märkus. Kehtib ainult V3A jaoks

0x00000000
PFIC_GISR 0xE000E04C RO Katkesta globaalne olekuregister 0x00000002
 

PFIC_VTFIDR

 

0xE000E050

 

RW

VTF katkestuse ID konfiguratsiooniregister

Märkus. Kehtib ainult V3B/C jaoks.

 

0x00000000

PFIC_VTFADDRRx 0xE000E060

-0xE000E06C

RW VTF x nihke aadressiregister 0xXXXXXXXXX
PFIC_IENRx 0xE000E100

-0xE000E11C

WO Katkestuse lubamise seadistusregister x 0x00000000
PFIC_IRERx 0xE000E180

-0xE000E19C

WO Katkestuse lubamine tühjendada register x 0x00000000
PFIC_IPSRx 0xE000E200

-0xE000E21C

WO Katkesta ootel seadistusregister x 0x00000000
PFIC_IPRRx 0xE000E280

-0xE000E29C

WO Katkestus ootel tühjendage register x 0x00000000
PFIC_IACTRx 0xE000E300

-0xE000E31C

RO Katkestuse aktiveerimise oleku register x 0x00000000
PFIC_IPRIORx 0xE000E400

-0xE000E43C

RW Katkesta prioriteedi konfiguratsiooniregister 0x00000000
PFIC_SCTLR 0xE000ED10 RW Süsteemi juhtimise register 0x00000000

Märkus.

  1. NMI, EXC, ECALL-M, ECALL-U ja BREAKPOINT on vaikimisi alati lubatud.
  2. ECALL-M, ECALL-U ja BREAKPOINT on EXC juhtumid.
  3. NMI, EXC, ECALL-M, ECALL-U ja BREAKPOINT toetavad katkestusi, mis on ootel tühjendus- ja seadistustoimingud, kuid mitte katkestavad, mis võimaldavad tühjendus- ja seadistustoimingut.

Iga registrit kirjeldatakse järgmiselt:

Katkestuse lubamise olek ja ootelolekuregistrite katkestamine (PFIC_ISR<0-7>/PFIC_IPR<0-7>)

Nimi Juurdepääsu aadress Juurdepääs Kirjeldus Lähtesta väärtus
 PFIC_ISR0  0xE000E000  RO Katkestus 0-31 lubab olekuregistri, kokku 32 olekubitti [n], mis näitab #n katkestus lubab oleku

Märkus: NMI ja EXC on lubatud vaikimisi

 V3A jaoks: 0x0000000C

V3B/C jaoks: 0x0000032C

PFIC_ISR1 0xE000E004 RO Katkestus 32-63 lubab olekuregistrit, kokku 32 olekubitti 0x00000000
PFIC_ISR7 0xE000E01C RO Katkestus 224-255 lubab olekuregistrit, kokku 32 olekubitti 0x00000000
PFIC_IPR0 0xE000E020 RO Katkestuse ootel olek 0-31 0x00000000
register, kokku 32 olekubitti [n], mis näitab katkestuse #n ootelolekut
PFIC_IPR1 0xE000E024 RO Katkestage 32-63 ootel olekuregistrit, kokku 32 olekubitti 0x00000000
PFIC_IPR7 0xE000E03C RO Katkestus 244-255 ootelolekuregistrit, kokku 32 olekubitti 0x00000000

Vastavate katkestuste lubamiseks ja deaktiveerimiseks kasutatakse kahte registrikomplekti.

Katkestuse lubamise seadistus ja registrite kustutamine (PFIC_IENR<0-7>/PFIC_IRER<0-7>)3

Nimi Juurdepääsu aadress Juurdepääs Kirjeldus Lähtesta väärtus
PFIC_IENR0 0xE000E100 WO Katkestus 0-31 lubab seadistusregistri, kokku 32 seadistusbitti [n], katkestuse #n lubamise seadistus

Märkus. NMI ja EXC on lubatud vaikimisi

 

 

 

0x00000000

PFIC_IENR1 0xE000E104 WO Katkestus 32-63 seadistusregistri lubamiseks, kokku 32 seadistusbitti 0x00000000
PFIC_IENR7 0xE000E11C WO Katkestuse 224-255 lubamise seadistus

register, kokku 32 seadistusbitti

0x00000000
 PFIC_IRER0  0xE000E180  WO Katkestused 0-31 võimaldavad kustutada registrit, kokku 32 tühjendusbitti [n], katkestuse #n korral lubage kustutada Märkus: NMI ja EXC ei saa olla opereeritud  

 

0x00000000

PFIC_IRER1 0xE000E184 WO Katkestus 32-63 võimaldab selget registrit, kokku 32 puhast bitti 0x00000000
PFIC_IRER7 0xE000E19C WO Katkestus 244-255 võimaldab selget registrit, kokku 32 puhast bitti 0x00000000

Vastavate katkestuste lubamiseks ja deaktiveerimiseks kasutatakse kahte registrikomplekti.

Katkestage ootel seadistus ja kustutage registrid (PFIC_IPSR<0-7>/PFIC_IPRR<0-7>)

Nimi Juurdepääsu aadress Juurdepääs Kirjeldus Lähtesta väärtus
 

PFIC_IPSR0

 

0xE000E200

 

WO

Katkestus 0-31 ootel seadistusregister, 32

seadistusbitid [n] katkestuse #n ootel seadistusele

 

0x00000000

PFIC_IPSR1 0xE000E204 WO Katkesta 32-63 ootel häälestusregister,

kokku 32 häälestusbitti

0x00000000
PFIC_IPSR7 0xE000E21C WO Katkestuse 224-255 ootel seadistus

register, kokku 32 seadistusbitti

0x00000000
 

PFIC_IPRR0

 

0xE000E280

 

WO

Katkestus 0–31 ootel tühjendavat registrit, kokku 32 tühjendusbitti [n] katkestuse #n jaoks

ootel selge

 

0x00000000

PFIC_IPRR1 0xE000E284 WO Katkestus 32-63 ootel registri tühjendamist,

kokku 32 selget bitti

0x00000000
PFIC_IPRR7 0xE000E29C WO Katkestus 244-255 ootel registri tühjendamist,

kokku 32 selget bitti

0x00000000

Kui mikroprotsessor lubab katkestuse, saab selle seadistada otse katkestuse ootel registri kaudu katkestuse käivitamiseks. Ootel oleva päästiku tühjendamiseks kasutage katkestuse ootel tühjendusregistrit.

Katkestuse aktiveerimise oleku register (PFIC_IACTR<0-7>)

Nimi Juurdepääsu aadress Juurdepääs Kirjeldus Lähtesta väärtus
 PFIC_IACTR0  0xE000E300  RO Katkestus 0-31 aktiveerib olekuregistri 32 olekubitiga [n], mis näitab, et katkestus #n on käivitamisel  0x00000000
 PFIC_IACTR1  0xE000E304  RO Katkestage 32-63 aktiveerimisolekuregistrit, 32 olekubitti sisse

kokku

 

0x00000000

 PFIC_IACTR7  0xE000E31C  RO Katkestage 224-255 aktiveerimisolekuregistrit, kokku 32 olekubitti  0x00000000

Igal katkestusel on aktiivne olekubitt, mis seadistatakse katkestuse sisestamisel ja riistvara tühjendab, kui turg naaseb.

Prioriteedi ja prioriteedi läviregistrite katkestamine (PFIC_IPRIOR<0-7>/PFIC_ITHRESDR)

Nimi Juurdepääsu aadress Juurdepääs Kirjeldus Lähtesta väärtus
PFIC_IPRIOR0 0xE000E400 RW Katkesta 0 prioriteediga konfiguratsioon. V3A: [7:4]: Prioriteedi juhtbitid Kui konfiguratsioon ei ole pesastatud, ei ole eelõigusbitt Kui pesastamine on konfigureeritud, on bit7 eelhäälestatud bitt. [3:0]: reserveeritud, fikseeritud 0-le  V3B: [7:6]: Prioriteedi juhtbitid Kui konfiguratsioon ei ole pesastatud, ei ole pesastatud ennetavaid bitte, kõik bitid on eelhoiatavad, kuid katkestused on lubatud kuni kahel tasemel [5:0]: Reserveeritud, fikseeritud 0
V3C:
[7:5]: prioriteedi juhtbitid
Kui konfiguratsioon pole pesastatud, pole ennetavaid bitte
Kui see on konfigureeritud pesastatud, on kõik bitid ennetatud, kuid katkestuste esinemine on lubatud kuni kahel tasemel [4:0]: Reserveeritud, fikseeritud väärtusele 0 Märkus. Mida väiksem on prioriteedi väärtus, seda kõrgem on prioriteet. Kui sama eelisprioriteediga katkestus katkeb samal ajal, käivitatakse esimesena kõrgema prioriteediga katkestus.
0x00
PFIC_IPRIOR1 0xE000E401 RW Katkestuse 1 prioriteedi seadistus, sama funktsioon mis PFIC_IPRIOR0 0x00
PFIC_IPRIOR2 0xE000E402 RW Katkestuse 2 prioriteedi seadistus, sama funktsioon mis PFIC_IPRIOR0
PFIC_IPRIOR254 0xE000E4FE RW Katkestuse 254 prioriteedi seadistus, sama funktsioon mis PFIC_IPRIOR0 0x00
PFIC_IPRIOR255 0xE000E4FF RW Katkestuse 255 prioriteedi seadistus, sama funktsioon mis PFIC_IPRIOR0 0x00
PFIC_ITHRESDR 0xE000E040 RW Katkestuse prioriteedi läve seadistus

V3A:

[31:8]: reserveeritud, fikseeritud 0-le [7:4]: prioriteedi lävi [3:0]: reserveeritud, fikseeritud 0-le

 V3B:

[31:8]: reserveeritud, fikseeritud 0-le [7:5]: prioriteedi lävi [4:0]: reserveeritud, fikseeritud 0-le

 V3C:

[31:8]: reserveeritud, fikseeritud 0-le [7:5]: prioriteedi lävi [4:0]: reserveeritud, fikseeritud 0-le

Märkus. Katkestuste puhul, mille prioriteetne väärtus on ≥ lävi, katkestusteenuse funktsiooni rikke korral ei käivitata ja kui see register on 0, tähendab see, et läviregister on kehtetu.

0x00

Katkestuse konfiguratsiooniregister (PFIC_CFGR)

Nimi Juurdepääsu aadress Juurdepääs Kirjeldus Lähtesta väärtus
PFIC_CFGR 0xE000E048 RW Katkesta konfiguratsiooniregister 0x00000000

See register kehtib ainult V3A jaoks, selle bitid on määratletud järgmiselt:

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:16] KEYCODE WO Vastavalt erinevatele sihtmärgi juhtbittidele tuleb vastavad turvajuurdepääsu identifitseerimisandmed kirjutada samaaegselt, et neid saaks muuta, ja lugemisandmeteks fikseeritakse 0. KEY1 = 0xFA05; KEY2 = 0xBCAF; KEY3 = 0xBEEF. 0
[15:8] Reserveeritud RO Reserveeritud 0
7 SYSRESET WO Süsteemi lähtestamine (samaaegne kirjutamine võtmele KEY3). Automaatne tühjendamine 0.

1 kirjutamine on kehtiv, 0 kirjutamine on kehtetu.

Märkus. Sama funktsioon mis PFIC_SCTLR registri SYSRESET bitil.

0
6 PFICRESET WO PFIC-mooduli lähtestamine. Automaatne tühjendamine 0.

1 kirjutamine on kehtiv, 0 kirjutamine on kehtetu.

0
5 EXPRESS WO Erandi katkestuse kustutamine on ootel (samaaegne kirjutamine võtmele KEY2)

1 kirjutamine on kehtiv, 0 kirjutamine on kehtetu.

0
4 EXCSET WO Erandi katkestuse ootel seadistus (samaaegne kirjutamine võtmele KEY2)

1 kirjutamine on kehtiv, 0 kirjutamine on kehtetu.

0
3 NMIRESET WO NMI katkestus ootel tühjendamist (samaaegne kirjutamine võtmele KEY2)

1 kirjutamine on kehtiv, 0 kirjutamine on kehtetu.

0
2 NMISET WO NMI katkestuse ootel seadistus (samaaegne kirjutamine võtmele KEY2)

1 kirjutamine on kehtiv, 0 kirjutamine on kehtetu.

0
1 NESTCTRL RW Katkestuste pesastamine võimaldab juhtimist.

1: välja lülitatud; 0: sees (sünkroonne kirjutamine võtmele KEY1)

0
0 HWSTKCTRL RW HPE lubamise juhtimine

1: välja lülitatud; 0: sees (sünkroonne kirjutamine võtmele KEY1)

0

Katkesta globaalne olekuregister (PFIC_GISR)

Nimi Juurdepääsu aadress Juurdepääs Kirjeldus Lähtesta väärtus
PFIC_GISR 0xE000E04C RO Katkesta globaalne olekuregister 0x00000000

Selle inimesed on määratletud kui

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:14] Reserveeritud RO Reserveeritud 0
 

 

13

 

 

LOCKSTA

 

 

RO

Kas protsessor on praegu lukustatud olekus:

1: lukustatud olek;

0: lukustamata olek.

Märkus. See bitt kehtib ainult V3B/C jaoks.

 

 

0

 

 

12

 

 

DBGMODE

 

 

RO

Kas protsessor on praegu silumisolekus: 1: Silumis olek;

0: silumiseta olek.

Märkus. See bitt kehtib ainult V3B/C jaoks.

 

 

0

 

 

11

 

 

GLOBLIE

 

 

RO

Globaalse katkestuse lubamine:

1: Luba katkestus;

0: Keela katkestus.

Märkus. See bitt kehtib ainult V3B/C jaoks.

10 Reserveeritud RO Reserveeritud 0
9 GPENDSTA RO Kas katkestus on praegu ootel.

1: jah; 0: ei.

0
8 GACTSTA RO Kas katkestus on hetkel teostamisel.

1: jah; 0: ei.

0
 

 

[7:0]
 

 

NESTSTA

 

 

RO

Praegune katkestuse pesastusolek. 0x03: 2. taseme katkestus.

0x01: 1. taseme katkestus. 0x00: katkestusi ei esine.

Muu: võimatu olukord.

 

 

0

VTF ID baasaadressi ja nihkeaadressi registrid (PFIC_VTFBADDRR/PFIC_VTFADDRR<0-3>)

Nimi Juurdepääsu aadress Juurdepääs Kirjeldus Lähtesta väärtus
 

 

PFIC_VTFBADDRR

 

 

0xE000E044

 

 

RW

[31:28]: VTF-i sihtaadressi kõrge 4 bitti [27:0]: reserveeritud

See register kehtib ainult V3A jaoks.

 

 

0x00000000

 

 

 

PFIC_VTFIDR

 

 

 

0xE000E050

 

 

 

RW

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

See register kehtib ainult V3B/C jaoks.

 

 

 

0x00000000

 

 

 

 

 

 

 

 

PFIC_VTFADDRR0

 0xE000E060  RW V3A: [31:24]: VTF 0 katkestuse number [23:0]: VTF-i sihtaadressi madalad 24 bitti, millest madalad 20 bitti on konfigureeritud kehtivaks, ja [23:20] on fikseeritud väärtusele 0 .

 V3B/C:

[31:1]: VTF 0 aadress, 2-baidine joondatud [0]:

1: lubage VTF 0 kanal

0: Keela

 

 

 

 

 

 

 

V3A jaoks: 0x00000000

V3B/C jaoks: 0xXXXXXXXXX

 

 

 

 

 

 

 

 

PFIC_VTFADDRR1

 

 

 

 

 

 

 

 

0xE000E064

 

 

 

 

 

 

 

 

RW

V3A: [31:24]: VTF 1 katkestuse number [23:0]: VTF-i sihtaadressi madalad 24 bitti, millest madalad 20 bitti on konfigureeritud kehtivaks ja [23:20] on fikseeritud väärtuseks 0.

 

V3B/C:

[31:1]: VTF 1 aadress, 2-baidine joondatud [0]:

1: lubage VTF 1 kanal

0: Keela

 

 

 

 

 

 

 

V3A jaoks: 0x00000000

V3B/C jaoks: 0xXXXXXXXXX

 

 

 

 

 

 

 

 

PFIC_VTFADDRR2

 

 

 

 

 

 

 

 

0xE000E068

 

 

 

 

 

 

 

 

RW

V3A: [31:24]: VTF 2 katkestuse number [23:0]: VTF-i sihtaadressi madalad 24 bitti, millest madalad 20 bitti on konfigureeritud kehtivaks, ja [23:20] on fikseeritud väärtusele 0 .

 

V3B/C:

[31:1]: VTF 2 aadress, 2-baidine joondatud [0]:

1: lubage VTF 2 kanal

0: Keela

 

 

 

 

 

 

 

V3A jaoks: 0x00000000

V3B/C jaoks: 0xXXXXXXXXX

PFIC_VTFADDRR3 0xE000E06C RW V3A: V3A jaoks:
[31:24]: VTF 3 katkestuse number [23:0]: VTF-i sihtaadressi madalad 24 bitti, millest madalad 20 bitti on konfigureeritud kehtivaks, ja [23:20] on fikseeritud väärtusele 0.

 V3B/C:

[31:1]: VTF 3 aadress, 2-baidine joondatud [0]:

1: lubage VTF 3 kanal

0: Keela

0x00000000

V3B/C jaoks: 0xXXXXXXXXX

Süsteemi juhtimisregister (PFIC_SCTLR)

Nimi Juurdepääsu aadress Juurdepääs Kirjeldus Lähtesta väärtus
PFIC_SCTLR 0xE000ED10 RW Süsteemi juhtimise register 0x00000000

Igaüks neist on määratletud järgmiselt.

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
31 SYSRESET WO Süsteemi lähtestamine, automaatne tühjendus 0. Write 1 on kehtiv ja kirjuta 0 on kehtetu.

Märkus. See bitt kehtib ainult V3B/C jaoks

0
[30:6] Reserveeritud RO Reserveeritud 0
5 SEADMINE WO Määrake WFE juhtumi äratamiseks sündmus. 0
 

4

SEVONPEND RW Sündmuse toimumisel või ooteloleku katkestamisel saab süsteemi äratada pärast WFE-käsku või kui WFE-käsku ei täideta, äratatakse süsteem kohe pärast käsu järgmist täitmist.

1: Lubatud sündmused ja kõik katkestused (kaasa arvatud lubamata katkestused) võivad süsteemi äratada.

0: ainult lubatud sündmused ja lubatud

katkestused võivad süsteemi äratada.

 

 

 

0

3 WFITOWFE RW Käivitage WFI käsk nii, nagu oleks see WFE.

1: käsitlege järgnevat WFI-juhist WFE-juhisena.

0: mõju puudub.

0
2 MAGUS RW Juhtsüsteemi vähese energiatarbega režiim. 0
1: sügav uni 0: uni
1 SLEEPONEXI T RW Süsteemi olek pärast seda, kui juhtimine katkestab teenindusprogrammi.

1: süsteem lülitub vähese energiatarbega režiimi.

0: süsteem siseneb põhiprogrammi.

0
0 Reserveeritud RO Reserveeritud 0

Katkestusega seotud CSR-registrid

Lisaks mõjutavad katkestuste töötlemist oluliselt ka järgmised CSR-registrid. Katkesta süsteemi juhtimisregister (intsyscr)

See register ei kehti ainult V3A jaoks:

Nimi CSR Aadress Juurdepääs Kirjeldus Lähtesta väärtus
intsyscr 0x804 URW Katkestage süsteemi juhtimisregister 0x0000E002

Selle inimesi määratletakse järgmiselt:

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
 

 

 

31

 

 

 

LUKKU

 

 

 

URO

0: seda registrit saab lugeda ja kirjutada kasutajarežiimis;

1: seda registrit saab lugeda ja kirjutada ainult masinrežiimis.

Märkus. See konfiguratsioonibitt kehtib alates

versioon 1.0 ja edasi.

 

 

 

0

[30:6] Reserveeritud URO Reserveeritud 0x380
 

 

 

 

 

5

 

 

 

 

 

GIHWSTKNEN

 

 

 

 

 

URW1

Globaalne katkestus ja riistvaravirna väljalülitamine on lubatud.

Märkus. Seda bitti kasutatakse sageli reaalajas operatsioonisüsteemides. Kui katkestuse ajal konteksti vahetatakse, võib selle biti seadistamine lülitada globaalse katkestuse välja ja lükata riistvarapinu. Kui kontekstivahetus on lõpule viidud ja katkestus naaseb, teeb riistvara seda

tühjendage see bitt automaatselt.

 

 

 

 

 

0

4 Reserveeritud URO Reserveeritud 0
[3:2] PMTCFG URW Prioriteedi eelisbittide konfigureerimine:

00: eelisostubittide arv on 0; 01: eelisostubittide arv on 1; 10: eelisostubittide arv on 2; 11: eelisostubittide arv on 3; Märkus. See konfiguratsioonibitt kehtib pärast 1.0.

0
1 KUULA URW Katkestuse pesastusfunktsioon on lubatud ja fikseeritud väärtus on 1: 1
0: Keela;

1: Luba.

Märkus: 1. Tegelikku pesastustaset juhib NEST_LVL CSR-is 0xBC1;

2. Ainult versioonid pärast 1.0 võivad olla

kirjutatud.

0 HWSTKEN URW Riistvara virna lubamine:

0: riistvaravirna vajutamise funktsioon on keelatud;

1: riistvaravirna vajutamise funktsioon on lubatud.

0

Masinarežiimi erandi baasaadressiregister (mtvec)

Nimi CSR Aadress Juurdepääs Kirjeldus Lähtesta väärtus
mtvec 0x305 MRW Erandi baasaadressiregister 0x00000000

Selle inimesed on määratletud kui

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:2] BASEADDR[31:2] MRW Katkestuse vektortabeli baasaadress, kus

bitid [9:2] on fikseeritud väärtusele 0.

0
1 MODE1  

MRO

Katkestuse vektortabeli tuvastamise režiim: 0: tuvastage piiratud ulatusega hüppekäsu abil ja toetage mittehüppavaid juhiseid;

1: tuvastage absoluutaadressi järgi, toetage kogu ulatust, kuid peab hüppama.

Märkus. See bitt kehtib ainult V3B/C jaoks.

0
0 MODE0 MRW Katkestuse või erandi sisestamise aadressi režiimi valik.

0: Ühtse sisenemisaadressi kasutamine.

1: Aadressi nihe katkestuse numbri *4 alusel.

0

V3-seeria mikroprotsessoritega MCU-de puhul on MODE0 käivitamisel vaikimisi konfigureeritud 1-ks file, ja erandite või katkestuste kirjed nihutatakse vastavalt katkestuse numbrile *4. Pange tähele, et V3A mikroprotsessor salvestab hüppekäsu vektoritabelisse, samas kui V3B/C mikroprotsessor saab kas hüppekäsu või kasutada katkestusfunktsiooni absoluutset aadressi, mis on vaikimisi käivitamisel konfigureeritud absoluutaadressina. file.

Mikroprotsessori konfiguratsiooniregister (korrektor)

See register on V3A jaoks kehtetu:

Nimi CSR Aadress Juurdepääs Kirjeldus Lähtesta väärtus
corecfgr 0xBC0 MRW Mikroprotsessori konfiguratsiooniregister 0x00000001

Selle inimesed on määratletud kui

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:8] Reserveeritud MRO Reserveeritud 0
 

 

7

 

 

CSTA_FAULT_IE

 

 

MRW

Põhioleku vea katkestuse lubamine:

0: olekuvea korral NMI katkestust ei genereerita;

1: olekuvea korral on NMI katkestus

loodud.

 

 

0

6 Reserveeritud MRO Hoidke see 0. 0
5 IE_REMAP_ET MRW MIE registri kaardistamine võimaldab:

0: CSR aadress 0x800 on kirjutuskaitstud register ja tagastatav väärtus on STATUS väärtus;

1: CSR-aadressi 3x7 bitid 0 ja 800 vastendatakse vastavalt STATUS-registri bitile MIE ja STATUS-registri bitile MPIE.

 

 

 

 

0

4 Reserveeritud MRO Reserveeritud 0
3 ROM_LOOP_ACC MRW ROM-i ala käsuahela kiirenduse lubamine:

0: lülitage ROM-i piirkonnas tsüklilise kiirenduse funktsioon välja;

1: 128-baidise tsükli kehaga pidevad käsud kiirendatakse täielikult, samas kui 256-baidise tsükli kehaga juhised kiirendatakse osaliselt;

0
2 ROM_JUMP_ACC MRW ROM-i ala juhiste hüppamise kiirendus on lubatud:

0: ROM ala juhiste hüppamise kiirenduse keelamine;

1: lubage käskude hüppamise kiirendus ROM-i piirkonnas.

0
[1:0] FETCH_MODE MRW Tootmisrežiim:

00: eellaadimine on välja lülitatud. Käskude eelhankimise funktsioon on välja lülitatud, et vältida kehtetute juhiste toomise toiminguid, ja CPU konveieril on maksimaalselt üks kehtiv käsk. Sellel mudelil on madalaim energiatarve ja selle jõudlus langeb umbes 2–3 korda. 01: eellaadimisrežiim 1. Kui käskude eellaadimise funktsioon on sisse lülitatud, jätkab CPU juurdepääsu käskude mälule, kuni sisemises käsupuhvris täidetavate käskude arv ületab teatud arvu või käsupuhver on täis ja juhiste toomine peatatakse; (CPU ennustamise ebaõnnestumine toob kaasa üleliigse toomise ja mõnel juhul viib täitmisüksus sisse 0–2 mullitsüklit ja enamiku programmide jõudlus ei vähene ilmselgelt); 10: Reserveeritud;
11: Eellaadimisrežiim 2. Kui käskude eellaadimise funktsioon on sisse lülitatud, jätkab CPU juurdepääsu käsumälule ja kui käsupuhver on täis, jätkab protsessor aadressi uuesti proovimist. Sellel režiimil on suurim jõudlus ja energiatarve. Protsessori ennustamise tõrge ja uuesti proovimine toovad kaasa üleliigsed toomistoimingud ja võivad jätkuvalt hõivata mälu ribalaiust. (ROM-ala puhul tähendab uuesti proovimine katkendlikku juurdepääsu aadressidele, seega on soovitatav ROM_ACC_EN sisse lülitada).

0x1

Pesastatud juhtimisregistri katkestamine (inestcr)

See register on kehtetu ainult V3A jaoks:

Nimi CSR Aadress Juurdepääs Kirjeldus Lähtesta väärtus
investor 0xBC1 MRW Pesastatud juhtimisregistri katkestamine 0x00000000

Selle inimesed on määratletud kui

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
31 Reserveeritud MRO Reserveeritud 0
30 NEST_OV MRW Katkestuse/erandi pesastatud ületäitumise lipubitt, kustutamiseks kirjutage 1:

0: Katkestus ei voolanud üle; 1: Katkestuse ülevoolu lipp.

Märkus. Katkestuse ületäitumine toimub ainult sekundaarse katkestuse teenuse funktsiooni täitmisel käsu erandi või NMI katkestuse genereerimiseks. Praegu sisenevad erand ja NMI katkestus tavapäraselt, kuid CPU pinu ajab üle, nii et te ei saa sellest erandist väljuda ja

NMI katkestus.

0
[29:12] Reserveeritud MRO Reserveeritud 0
[11:8] NEST_STA MRO Pesastatud oleku lipu bitt:

0000: katkestus puudub;

0001: 1. taseme katkestus;

0011: 2. taseme katkestus (1-tasemeline pesastumine);

0
0111: 3. taseme katkestus (ülevool);

1111: 4. taseme katkestus (ülevool).

[7:2] Reserveeritud MRO Reserveeritud 0
[1:0] NEST_LVL MRW Pesastustase:

00: pesastamine on keelatud ja pesastusfunktsioon on välja lülitatud;

01: esimese taseme pesastamine, mis lülitab sisse pesastusfunktsiooni;

Muu: Kehtetu.

Märkus. Kirjutage sellele väljale 10 või 11 ja väljaks määratakse 01. Kui kirjutate sellele väljale 11, lugege seda registrit, et saada kiibi kõrgeim pesastustase.

0

Kasutajarežiimi globaalse katkestuse lubamise register (intern)

See register on kehtetu ainult V3A jaoks:

Nimi CSR Aadress Juurdepääs Kirjeldus Lähtesta väärtus
gintenr 0x800 URW Globaalne katkestuse lubamise register 0x00000000

Seda registrit kasutatakse globaalse katkestuse lubamise ja maski juhtimiseks. Globaalse katkestuse lubamist ja maski masinarežiimis saab juhtida olekus olevate MIE ja MPIE bittide abil, kuid seda registrit ei saa kasutada kasutajarežiimis.
Globaalne katkestuse lubamise register gintenr on MIE ja MPIE vastendamine molekus ning seda saab kasutada MIE ja MPIE seadistamiseks ja tühjendamiseks, kasutades gintenri kasutajarežiimis.

Igaüks neist on määratletud järgmiselt:

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:13] Reserveeritud URO Reserveeritud 0
[12:11] MPP URO Enne katkestamist sisenege privilegeeritud režiimi. 0
[10:8] Reserveeritud URO Reserveeritud 0
7 MPIE URW Kui 0xBC0(CSR)bit5 on lubatud, siis see bitt

saab lugeda ja kirjutada kasutajarežiimis.

0
[6:4] Reserveeritud URO Reserveeritud 0
3 MIE URW Kui 0xBC0(CSR)bit5 on lubatud, siis see bitt

saab lugeda ja kirjutada kasutajarežiimis.

0
[1:0] Reserveeritud URO Reserveeritud 0

Pesastamise katkestamine

Koos katkestuse, konfiguratsiooniregistri PFIC_CFGR ja katkestuste prioriteediregistriga PFIC_IPRIOR võib lubada katkestuste pesastamist. Lubage katkestuse konfiguratsiooniregistris pesastamine (V3-seeria mikroprotsessorite puhul on pesastamine vaikimisi sisse lülitatud) ja seadistage vastava katkestuse prioriteet. Mida väiksem on prioriteedi väärtus, seda kõrgem on prioriteet. Mida väiksem on eelisostubiti väärtus, seda kõrgem on eelisostu prioriteet. Kui samaaegselt rippuvad katkestused sama eelisprioriteediga, reageerib mikroprotsessor katkestusele kõigepealt madalama prioriteediga (kõrgema prioriteediga).

Riistvara proloog/epiloog (HPE)

  • Kui ilmneb erand või katkestus, peatab mikroprotsessor praeguse programmivoo ja lülitub erandi või katkestuse käsitlemise funktsiooni täitmisele, praeguse programmivoo koht tuleb salvestada. Pärast erandi või katkestuse naasmist on vaja sait taastada ja peatatud programmivoo täitmist jätkata. V3-seeria mikroprotsessorite puhul viitab siin olev "sait" kõigile helistaja salvestatud registritele tabelis 1-2.
  • V3-seeria mikroprotsessorid toetavad riistvaralist ühetsüklilist 16 vormitud helistaja salvestatud registri automaatset salvestamist sisemisele virnapiirkonnale, mis pole kasutajale nähtav. Kui erand või katkestus naaseb, taastab riistvaraline üksiktsükkel automaatselt andmed sisemisest virnast 16-kujulistesse registritesse. HPE toetab pesastamist kuni 2 taseme sügavusel.
  • Mikroprotsessori survepaki skeem on näidatud järgmisel joonisel.WH-V3-Mikroprotsessor-joon-2

Märkus.

  1. HPE-d kasutavad katkestusfunktsioonid tuleb kompileerida MRS-i või selle pakutava tööriistaahela abil ja katkestusfunktsioon tuleb deklareerida atribuudiga __attribute__((interrupt("WCH-Interrupt-fast"))).
  2. Pinu push-i kasutav katkestamisfunktsioon deklareeritakse atribuudiga __attribute__((interrupt())).

Vektortabeli tasuta (VTF)

  • Programmeeritav kiire katkestuskontroller (PFIC) pakub 4 VTF-kanalit, st otsejuurdepääsu katkestusfunktsiooni kirjele ilma katkestusvektori tabeli otsinguprotsessi läbimata.
  • VTF-i kanali saab lubada, kirjutades selle katkestuse numbri, katkestusteenuse põhiaadressi ja nihkeaadressi vastavasse PFIC-kontrolleri registrisse, konfigureerides samal ajal katkestusfunktsiooni tavapäraselt.
  • PFIC-vastuse protsess kiirete ja tabelivabade katkestuste jaoks on näidatud alloleval joonisel 3-2.WH-V3-Mikroprotsessor-joon-3

Füüsilise mälu kaitse PMP

  • Süsteemi turvalisuse parandamiseks on füüsilise mälu kaitse (PMP) moodul kujundatud RISC-V arhitektuuristandardi järgi V3-seeria mägismaa odra mikroprotsessorite jaoks. Toetatakse kuni 4 füüsilise piirkonna juurdepääsuõiguste haldust. Õigused hõlmavad lugemise (R), kirjutamise (W) ja täitmise (X) atribuute ning kaitstud ala pikkuseks saab määrata vähemalt 4 baiti. PMP-moodul rakendub alati kasutajarežiimis, kuid see võib soovi korral rakenduda, lukustades atribuudi (L) masinarežiimis.
  • Kui juurdepääs rikub praegust loapiirangut, käivitab see ebatavalise katkestuse. PMP-moodul sisaldab nelja 8-bitiste konfiguratsiooniregistrite rühma (üks 32-bitiste konfiguratsiooniregistrite rühm) ja nelja aadressiregistrite rühma, millele kõigile tuleb masinrežiimis juurde pääseda CSR-i käsuga.
  • Märkus. Erinevate mikroprotsessorite mudelite puhul võib PMP toetatud kaitsealade arv olla erinev, samuti on erinev arv, mida toetavad pmpcfg ja pmpaddr registrid. Vaadake üksikasju tabelist 1-1.

PMP registrikomplekt

V3 mikroprotsessori PMP-mooduli toetatud CSR-registrite loend on näidatud allolevas tabelis 4-1.

Tabel 4-1 PMP mooduli registri komplekt

Nimi CSR aadress Juurdepääs Kirjeldus Lähtesta väärtus
pmpcfg0 0x3A0 MRW PMP konfiguratsiooniregister 0 0x00000000
pmpaddr0 0x3B0 MRW PMP aadressiregister 0 0xXXXXXXXXX
pmpaddr1 0x3B1 MRW PMP aadressiregister 1 0xXXXXXXXXX
pmpaddr2 0x3B2 MRW PMP aadressiregister 2 0xXXXXXXXXX
pmpaddr3 0x3B3 MRW PMP aadressiregister 3 0xXXXXXXXXX

pmp

pmpcfg on PMP-seadme konfiguratsiooniregister ja iga register sisaldab nelja 8-bitist pumpamisvälja, mis vastavad nelja piirkonna konfiguratsioonile, ja pumpamine tähistab piirkonna i konfiguratsiooniväärtust. Selle vorming on näidatud järgmises tabelis 4-2.

Tabel 4-2 pmpcfg0 registerWH-V3-Mikroprotsessor-joon-4

pmpcfg kasutatakse ala I konfigureerimiseks ja selle bitimääratlust kirjeldatakse järgmises tabelis 4-3.

Tabel 4-3 pmp

Natuke Nimi Kirjeldus
7 L Lukustamine on lubatud ja seda saab masinarežiimis avada. 0: pole lukustatud;

1: lukustage vastav register.

[6:5] Reserveeritud
[4:3] A Aadressi joondamine ja kaitseala vahemiku valik. 00: VÄLJAS (PMP väljas)

01: TOR (ülemise joondamise kaitse) 10: NA4 (parandatud neljabaidine kaitse)

11: NAPOT (2(G+2) baidikaitse, G≥1)

2 X Käivitatav atribuut.
0: täitmisluba pole;

1: täitmisluba.

 

1

 

W

Kirjutatav atribuut.

0: kirjutamisõigus puudub 1: kirjutamisluba.

 

0

 

R

Loetav atribuut

0: lugemisõigus puudub 1: lugemisluba.

pmpaddr

Pmpaddr registrit kasutatakse ala I aadressi konfigureerimiseks. Standarddefinitsioon on RV32 arhitektuuri all, mis on 32-bitise füüsilise aadressi ülemise 34 biti kodeering ja selle vorming on näidatud järgmises tabelis 4-4 .
Kogu V3 mikroprotsessori füüsiline aadressiruum on 4G, seega selle registri kahte ülemist bitti ei kasutata.

Tabel 4-4 pmpaddr WH-V3-Mikroprotsessor-joon-5

Kui NAPOT on valitud, kasutatakse aadressiregistri madalat bitti ka praeguse kaitseala suuruse näitamiseks, nagu on näidatud järgmises tabelis, kus 'y' on registri bitt.
Tabel 4-5 PMP konfiguratsiooni ja aadressiregistri ning kaitstud ala vahelise seose tabel.

pmpaddr pmpcfg. A Vastav baasaadress ja suurus
yyyy…yyyy NA4 Kui baasaadress on 'yy…yyyy00', on 4-baidine ala kaitstud.
yyyy…yyyy0 NAPOT Kui baasaadress on 'yy…yyy000', on 8-baidine ala kaitstud.
yyyy…yy01 NAPOT Kui baasaadress on 'yy…yy0000', on 16-baidine ala kaitstud.
aaaa…a011 NAPOT Kui baasaadress on 'yy…y00000', on 16-baidine ala kaitstud.
yyyy01…111 NAPOT Kui baasaadressiks on 'y0…000000', on 231-baidine ala kaitstud.
yy011…111 NAPOT Kaitske kogu 232-baidist ala.

Kaitsemehhanism

X/W/R failis pmpcfg kasutatakse I piirkonna kaitsevolituse määramiseks ja vastava volituse rikkumine põhjustab vastava erandi:

  1. Kui proovite tuua juhiseid PMP-alal ilma täitmisvolitusteta, põhjustab see juhiste toomise juurdepääsuvea erandi (mcause=1).
  2. Kui proovite kirjutada andmeid PMP-alasse ilma kirjaliku loata, põhjustab see poe juhiste juurdepääsul veaerandi (mcause=7).
  3. Kui proovite lugeda PMP-alal olevaid andmeid ilma lugemisloata, põhjustab see laadimisjuhise jaoks ebanormaalse mälupöördusvea (mcause=5).

Pmpcfg-s kasutatakse I piirkonna kaitsevahemiku ja aadresside joonduse määramiseks ning A_ADDR ≤ piirkond < i > < B_ADDR mälu kaitsmiseks (nii A_ADDR kui ka B_ADDR peavad olema joondatud 4 baiti):

  1. Kui B _ ADDR–A_ADDR = = 22, võetakse kasutusele NA4 režiim;
  2. Kui B _ ADDR–A_ADDR = = 2(G+2), G≥1 ja _ aadress on 2(g+2), võetakse kasutusele NAPOT-meetod;
  3. Vastasel juhul võetakse kasutusele režiim TOP.

Tabel 4-6 PMP-aadresside sobitamise meetodid

Väärtus Nimi Kirjeldus
0b00 VÄLJAS Kaitseala pole
0b01 TOR Üleval joondatud ala kaitse.

Pmp

pmpaddri = B_ADDR >> 2.

Märkus. Kui PMP ala 0 on konfigureeritud TOR-režiimiks (i=0), on kaitseala alumine piir 0 aadress, st 0 ≤ addr < pmpaddr0, kõik on sobitusvahemikus.

0b10 NA4 Parandatud 4-baidise ala kaitse.

pmp

0b11 NAPOT Kaitske 2(G+2) piirkonda väärtusega G ≥ 1, kui A_ADDR on joondatud 2(G+2). pmpaddri = ((A_ADDR|(2(G+2)-1)) &~(1< >1.
  • L-bitti pmp
  • QingKe V3 seeria mikroprotsessorid toetavad mitme tsooni kaitset. Kui sama toiming sobib korraga mitmele tsoonile, sobitatakse kõigepealt väiksema arvuga tsoon.

Süsteemi taimer (SysTick)

  • QingKe V3 seeria mikroprotsessoril on sees 32-bitine või 64-bitine loendur (SysTick). Selle kellaallikaks on süsteemikell või selle 8-sagedusjaotus ja V3A toetab ainult 8-sagedusjaotust.
  • See võib pakkuda reaalajas operatsioonisüsteemi ajabaasi, ajastust ja mõõtmisaega. Taimeriga seotud eri tüüpi registritel on erinevad vastendusaadressid, nagu on näidatud järgmistes tabelites 5-1 ja 5-2.

Tabel 5-1 V3A SysTicki registrite loend

Nimi Juurdepääsu aadress Kirjeldus Lähtesta väärtus
STK_CTLR 0xE000F000 Süsteemi loenduri juhtimisregister 0x00000000
STK_CNTL 0xE000F004 Süsteemi loenduri madal register 0xXXXXXXXXX
STK_CNTH 0xE000F008 Süsteemi loenduri kõrge register

Märkus. Kehtib ainult V3A jaoks.

0xXXXXXXXXX
STK_CMPLR 0xE000F00C Süsteemi loenduse võrdlusväärtus madal register 0xXXXXXXXXX
STK_CMPHR 0xE000F010 Süsteemi loenduse võrdlusväärtuse kõrge register

Märkus. Kehtib ainult V3A jaoks.

0xXXXXXXXXX

Tabel 5-2 V3 SysTicki muude mudelite registriloend

Nimi Juurdepääsu aadress Kirjeldus Lähtesta väärtus
STK_CTLR 0xE000F000 Süsteemi loenduri juhtimisregister 0x00000000
STK_SR 0xE000F004 Süsteemi loenduri olekuregister 0x00000000
STK_CNTL 0xE000F008 Süsteemi loenduri madal register 0xXXXXXXXXX
STK_CMPLR 0xE000F010 Loendage võrdlusväärtus madal register 0xXXXXXXXXX

Iga registrit kirjeldatakse üksikasjalikult järgmiselt.

Süsteemi loenduri juhtimisregister (STK_CTLR)

Tabel 5-3 SysTicki juhtregistrid

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:5] Reserveeritud RO Reserveeritud 0
 

 

4

 

 

REŽIIM

 

 

RW

Loendamise režiim: 1: loendamine;

0: loendage.

Märkus. Kehtetu V3A jaoks.

 

 

0

 

 

 

3

 

 

 

STRE

 

 

 

RW

Automaatse uuesti laadimise loenduse lubamise bitt:

1: loendage uuesti 0-st pärast loendamist kuni võrdlusväärtuseni ja loendage uuesti võrdlusväärtusest pärast loendamist 0-ni;

0: jätkake üles/alla loendamist.

Märkus. Kehtetu V3A jaoks.

 

 

 

0

 

 

2

 

 

STCLK

 

 

RW

Vastukella allika valiku bitt:

1: HCLK aja baasina; 0: HCLK/8 aja baasina.

Märkus. See ei sobi V3A jaoks, mis toetab ainult

HCLK/8 ajabaasi.

 

 

0

1 SAIT RW Loenduri katkestuse lubamise juhtbitid: 0
1: Luba loenduri katkestamine; 0: Keela loenduri katkestus.

Märkus. Kehtetu V3A jaoks.

0 STE RW Süsteemiloendur lubab juhtbitti. 1: Luba süsteemiloendur STK;

0: keelake süsteemiloendur STK ja loendur lõpetab loendamise.

0

Süsteemi loenduri olekuregister (STK_SR)

See register ei kehti V3A puhul.

Tabel 5-4 SysTicki loenduri madal register

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
 

 

31

 

 

SWIE

 

 

RW

Tarkvarakatkestuse päästiku lubamine (SWI): 1: Käivitage tarkvarakatkestus;

0: Lülitage päästik välja.

Märkus. See bitt tuleb pärast tarkvarakatkestuse sisestamist kustutada, vastasel juhul käivitub see alati.

 

 

0

[30:1] Reserveeritud RO Reserveeritud 0
 

 

0

 

 

CNTIF

 

 

RW

Loendamise võrdluslipp, kirjutage 0 selgelt, kirjutage 1 on kehtetu:

1: loendake kuni võrdlusväärtuseni ja loendage alla 0-ni;

0: võrdlusväärtust ei saavutata.

 

 

0

Süsteemi loenduri madal register (STK_CNTL)

Tabel 5-5 SysTicki loenduri madal register

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:0] CNTL RW Praegune loenduri loendusväärtus on 32 bitti väiksem. V3A puhul saab seda registrit lugeda kui 8-bitist / 16-bitist

/32-bitine, kuid seda saab kirjutada ainult 8-bitisena ja muud

mudelid ei ole piiratud.

0xXXXXXX XXX

Märkus. Registr STK_CNTL ja register STK_CNTH V3A-s moodustavad koos 64-bitise süsteemiloenduri.

Süsteemi loenduri kõrge register (STK_CNTH)

Tabel 5-6 SysTicki loenduri kõrge register

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:0] CNTH RW Praegune loenduri loendusväärtus on 32 bitti suurem. Seda registrit saab lugeda 8-bitine/16-bitine/32-bitine, kuid seda saab kirjutada ainult 8-bitine.

Märkus. Kehtib ainult V3A jaoks.

0xXXXXXX XXX

Märkus. Registr STK_CNTL ja register STK_CNTH V3A-s moodustavad koos 64-bitise süsteemiloenduri.

Süsteemi loenduse võrdlusväärtuse madal register (STK_CMPLR)

Tabel 5-7 SysTicki võrdlusväärtuse madal register

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:0] CMPL RW Seadke loenduri võrdlusväärtus 32 bitti madalamaks. Kui CMP väärtus ja CNT väärtus on võrdsed, käivitub STK katkestus. V3A puhul saab seda registrit lugeda kui 8-bitist /16-bitist /32-bitist, kuid seda saab lugeda ainult

kirjutatud 8-bitisena ja muud mudelid pole piiratud.

0xXXXXXX XXX

Märkus. V3A register STK_CMPLR ja register STK_CMPHR moodustavad koos 64-bitise loenduri võrdlusväärtuse.

Süsteemi loenduse võrdlusväärtuse kõrge register (STK_CMPHR)

Tabel 5-8 SysTicki võrdlusväärtuse kõrge register

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:0] CMPH RW Seadistage loenduri võrdlusväärtus 32 bitti kõrgemaks. STK katkestus käivitub, kui CMP väärtus ja CNT väärtus on võrdsed.

Seda registrit saab lugeda 8-bitine/16-bitine/32-bitine, kuid seda saab kirjutada ainult 8-bitine.

Märkus. Kehtib ainult V3A jaoks.

0xXXXXXX XXX

Märkus. V3A register STK_CMPLR ja register STK_CMPHR moodustavad koos 64-bitise loenduri võrdlusväärtuse.

Protsessori vähese energiatarbega seaded

  • QingKe V3 seeria mikroprotsessorid toetavad uneolekut WFI (Wait for Interrupt) käsu kaudu, et saavutada madal staatiline energiatarve.
  • Koos PFIC-i süsteemijuhtimisregistriga (PFIC_SCTLR) saab rakendada erinevaid puhkerežiime ja WFE-käske.

Sisenege unerežiimi

  • QingKe V3 seeria mikroprotsessorid saavad magama minna kahel viisil: oodake katkestust (WFI) ja oodake sündmust (WFE). WFI meetod tähendab, et mikroprotsessor läheb magama, ootab katkestuse ärkamist ja ärkab seejärel vastava katkestuse käivitamiseks. WFE-meetod tähendab, et mikroprotsessor läheb magama, ootab sündmuse ärkamist ja ärkab üles, et jätkata varem peatatud programmivoo täitmist.
  • Standardne RISC-V toetab WFI-käsklusi ja WFI-käsku saab WFI-meetodi abil unerežiimi sisenemiseks otse käivitada. WFE-meetodi puhul kasutatakse WFITOWFE-bitti süsteemi juhtimisregistris PFIC_SCTLR järgnevate WFI-käskude juhtimiseks WFE-töötlusena, et saavutada unerežiimi sisenemiseks WFE-meetod.
  • Une sügavust juhitakse vastavalt PFIC_SCTLR bitile SLEEPDEEP.
  • Kui SLEEPDEEP registris PFIC_SCTLR kustutatakse nullini, lülitub mikroprotsessor puhkeolekusse ja siseseadme kell on lubatud välja lülitada, välja arvatud SysTick ja osa äratusloogikast.
  • Kui SLEEPDEEP registris PFIC_SCTLR on seadistatud, lülitub mikroprotsessor sügavale puhkerežiimi ja kõik raku kellad on lubatud välja lülitada.
  • Kui mikroprotsessor on silumisrežiimis, ei ole võimalik siseneda ühtegi puhkerežiimi.

Une äratus

QingKe V3 seeria mikroprotsessoreid saab pärast und WFI ja WFE tõttu äratada järgmistel viisidel.

Pärast WFI-meetodi magamaminekut saab selle äratada

  1. Mikroprotsessorit saab äratada katkestuse allikas, millele reageerib katkestuse kontroller. Pärast ärkamist täidab mikroprotsessor esmalt katkestusfunktsiooni.
  2. Sisenege puhkerežiimi, silumispäring võib panna mikroprotsessori ärkama ja sügavasse unne, silumistaotlus ei saa mikroprotsessorit äratada.

Pärast WFE-meetodi uinumist saab mikroprotsessori äratada järgmiselt.

  1. Sisemised või välised sündmused, kui katkestuse kontrollerit pole vaja konfigureerida, ärkavad üles ja jätkavad programmi täitmist.
  2. Kui katkestusallikas on lubatud, äratatakse mikroprotsessor katkestuse genereerimisel ja pärast ärkamist täidab mikroprotsessor esmalt katkestusfunktsiooni.
  3. Kui SEVONPEND bitt PFIC_SCTLR-is on konfigureeritud, ei luba katkestuse kontroller katkestust, kuid kui genereeritakse uus katkestuse ootel signaal (varem genereeritud ootel signaal ei jõustu), võib see panna ka mikroprotsessori ärkama ja vastav katkestuse ootel lipp tuleb pärast ärkamist käsitsi kustutada.
  4. Unerežiimi sisenemise silumispäring võib panna mikroprotsessori ärkama ja sügavasse unne, silumistaotlus ei saa mikroprotsessorit äratada.
  • Lisaks saab mikroprotsessori olekut pärast ärkamist juhtida, konfigureerides PFIC_SCTLR biti SLEEPONEXIT.
  • SLEEPONEXIT on seadistatud ja viimase taseme katkestuse tagastuskäsk (mret) käivitab WFI-režiimi unerežiimi.

SLEEPONEXIT eemaldatakse ilma mõjuta.

Erinevad V3-seeria mikroprotsessoritega varustatud MCU-tooted võivad kasutada erinevaid puhkerežiime, välja lülitada erinevaid välisseadmeid ja kellasid, rakendada erinevaid toitehalduspoliitikaid ja äratusmeetodeid vastavalt PFIC_SCTLR erinevatele konfiguratsioonidele ning realiseerida erinevaid vähese energiatarbega režiime.

Silumise tugi

  • QingKe V3 seeria mikroprotsessorid sisaldavad riistvara silumismoodulit, mis toetab keerulisi silumistoiminguid. Kui mikroprotsessor on peatatud, pääseb silumismoodul ligi mikroprotsessori GPR-idele, CSR-idele, mälule, välisseadmetele jne abstraktsete käskude, programmipuhvri juurutamisjuhiste jms kaudu. Silumismoodul võib mikroprotsessori töö peatada ja jätkata.
  • Silumismoodul järgib RISC-V välise silumistoetuse versiooni 0.13.2 spetsifikatsiooni, üksikasjalikku dokumentatsiooni saab alla laadida veebisaidilt RISC-V International websaidile.

Silumismoodul

  • Sisaldab mikroprotsessori sees olevat silumismoodulit, mis on võimeline sooritama silumishosti väljastatud silumistoiminguid.
  • Juurdepääs registritele silumisliidese kaudu
  • Lähtestage, peatage ja jätkake mikroprotsessorit silumisliidese kaudu
  • Lugege ja kirjutage mälu, käsuregistreid ja väliseid seadmeid silumisliidese kaudu
  • Juurutage silumisliidese kaudu mitu suvalist juhist
  • Seadistage tarkvara katkestuspunktid silumisliidese kaudu
  • Seadistage silumisliidese kaudu riistvara murdepunktid
  • Toetage abstraktse käsu automaatset täitmist
  • Toetage üheastmelist silumist
  • Märkus. V3A ei toeta riistvara murdepunkte, V3B riistvara murdepunktid toetavad juhiste aadresside sobitamist ja V3C riistvara murdepunktid toetavad käsu aadresside ja andmete aadresside sobitamist.
  • Silumismooduli sisemised registrid kasutavad 7-bitist aadressikoodi ja järgmised registrid on realiseeritud QingKe V3 seeria mikroprotsessorite sees.

Tabel 7-1 Silumismooduli registri loend

Nimi Juurdepääsu aadress Kirjeldus
andmed0 0x04 Andmeregister 0, mida saab kasutada andmete ajutiseks säilitamiseks
andmed1 0x05 Andmeregister 1, mida saab kasutada andmete ajutiseks säilitamiseks
kontrolli kaotamine 0x10 Silumismooduli juhtimisregister
dmstatus 0x11 Silumismooduli olekuregister
hartinfo 0x12 Mikroprotsessori olekuregister
kokkuvõtteid 0x16 Abstraktne käsu olekuregister
käsk 0x17 Abstraktne käsuregister
abstraktne auto 0x18 Abstraktse käsu automaatne täitmine
progbuf0-7 0x20-0x27 Käskude vahemälu registrid 0-7
haltsum0 0x40 Peata olekuregister
  • Silumismasin saab juhtida mikroprotsessori peatamist, jätkamist, lähtestamist jne, konfigureerides decontroli registri. RISC-V standard määratleb kolme tüüpi abstraktseid käske: juurdepääsuregister, kiire juurdepääs ja juurdepääsumälu.
  • QingKe V3A mikroprotsessor toetab ainult juurdepääsu registrile, teised mudelid toetavad juurdepääsu registrile ja mälule, kuid mitte kiiret juurdepääsu. Juurdepääsu registritele (GPR-id, CSR-id) ja pidevat juurdepääsu mälule saab realiseerida abstraktsete käskude abil.
  • Silumismoodul rakendab 8 käskude vahemäluregistrit progbuf0-7 ja silumismasin saab puhvrisse salvestada mitu käsku (mis võivad olla tihendatud käsud) ja valida, kas jätkata käskude täitmist käskude vahemälu registrites pärast abstraktse käsu täitmist või käivitamist. vahemällu salvestatud juhised otse.
  • Märkus et programmide viimane käsk peab olema "ebreak" või "c.ebreak" käsk. Juurdepääs salvestusruumile, välisseadmetele jne on võimalik ka programmides vahemällu salvestatud abstraktsete käskude ja juhiste kaudu.
  • Iga registrit kirjeldatakse üksikasjalikult järgmiselt.
  • Andmeregister 0 (andmed0)

Tabel 7-2 andmeregistri definitsioon

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:0] andmed0 RW Andmeregister 0, kasutatakse andmete ajutiseks säilitamiseks 0

Andmeregister 1 (andmed1)

Tabel 7-3 data1 registri definitsioon

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:0] andmed1 RW Andmeregister 1, kasutatakse andmete ajutiseks säilitamiseks 0

Silumismooduli juhtimisregister (dekontroll)

See register juhib mikroprotsessori pausi, lähtestamist ja jätkamist. Silumismasin kirjutab andmed vastavale väljale, et saavutada paus (haltreq), lähtestamine (ndmreset), jätkamine (resumereq). Kirjeldate järgmist.

Tabel 7-4 decontrol registri määratlus

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
31 haltreq WO 0: tühjendage pausitaotlus

1: saatke peatamistaotlus

0
30 resumereq W1 0: Kehtetu

1: taastage praegune mikroprotsessor

Märkus. Write 1 kehtib ja riistvara tühjendatakse pärast mikroprotsessori taastamist

0
29 Reserveeritud RO Reserveeritud 0
28 ackhavereset W1 0: Kehtetu

1: tühjendage mikroprotsessori kogumisoleku bitt

0
[27:2] Reserveeritud RO Reserveeritud 0
1 ndmreset RW 0: Tühjenda lähtestamine

1: lähtestage kogu süsteem peale silumismooduli

 

0

0 desaktiveerida RW 0: lähtestage silumismoodul

1: Silumismoodul töötab korralikult

0

Silumismooduli olekuregister (dm olek)

  • Seda registrit kasutatakse silumismooduli oleku näitamiseks ja see on kirjutuskaitstud register iga biti järgmise kirjeldusega.

Tabel 7-5 dmstatus registri definitsioon

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:20] Reserveeritud RO Reserveeritud 0
19 kõikhavereset RO 0: Kehtetu

1: mikroprotsessori lähtestamine

0
18 anyhavereset RO 0: Kehtetu

1: mikroprotsessori lähtestamine

0
17 kõik resumeack RO 0: Kehtetu

1: mikroprotsessori lähtestamine

0
16 mis tahes resumeack RO 0: Kehtetu

1: mikroprotsessori lähtestamine

0
[15:14] Reserveeritud RO Reserveeritud 0
13 loopealsed RO 0: Kehtetu

1: mikroprotsessor pole saadaval

0
12 mingit kasu RO 0: Kehtetu

1: mikroprotsessor pole saadaval

0
11 kõik jooksevad RO 0: Kehtetu

1: mikroprotsessor töötab

0
10 igasugune jooksmine RO 0: Kehtetu

1: mikroprotsessor töötab

0
9 peatatud RO 0: Kehtetu

1: mikroprotsessor on peatatud

0
8 mis tahes peatatud RO 0: Kehtetu

1: Mikroprotsessor on vedrustusest väljas

0
7 autentitud  

RO

0: enne silumismooduli kasutamist on vaja autentimist

1: silumismoodul on sertifitseeritud

 

0x1

[6:4] Reserveeritud RO Reserveeritud 0
[3:0] versioon RO Silumissüsteemi tugi arhitektuuri versioon 0010: V0.13 0x2

Mikroprotsessori olekuregister (hartinfo)

Seda registrit kasutatakse teabe andmiseks mikroprotsessori kohta silumishostile ja see on kirjutuskaitstud register, mille iga bitti kirjeldatakse järgmiselt.

Tabel 7-6 hartinfo registri definitsioon

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:24] Reserveeritud RO Reserveeritud 0
[23:20] kriimustada RO Toetatud kriimustusregistrite arv 0x3
[19:17] Reserveeritud RO Reserveeritud 0
16 DataAccess RO 0: andmeregister on kaardistatud CSR-aadressiga

1: Andmeregister on kaardistatud mäluaadressiga

0x1
[15:12] andmete suurus RO Andmeregistrite arv 0x2
  [11:0] andmete lisamine  

RO

andmeregistri andmete nihke aadress0,

mille baasaadress on 0xe0000000, tuleb lugeda konkreetselt.

0xXXX

Abstraktsed käsujuhtimis- ja olekuregistrid (kokkuvõtted)

Seda registrit kasutatakse abstraktse käsu täitmise näitamiseks. Silumismasin saab lugeda seda registrit, et teada saada, kas viimane abstraktne käsk on täidetud või mitte, ning kontrollida, kas abstraktse käsu täitmisel on tekkinud tõrge ja vea tüüpi, mida kirjeldatakse üksikasjalikult järgmiselt.

Tabel 7-7 võtab kokku registri definitsioonid

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:29] Reserveeritud RO Reserveeritud 0
[28:24] progbufsize RO Näitab programmi puhverprogrammi arvu

vahemäluregistrid

0x8
[23:13] Reserveeritud RO Reserveeritud 0
12 hõivatud RO 0: abstraktset käsku ei täideta

1: täidetakse abstraktseid käske

Märkus. Pärast täitmist riistvara tühjendatakse.

 

0

11 Reserveeritud RO Reserveeritud 0
[10:8] cmder RW Abstraktse käsu vea tüüp 000: viga pole

001: abstraktse käsu täitmine käskudesse, abstraktidesse, abstraktsetesse autoregistritesse või andmete ja progbufi registritesse lugemiseks ja kirjutamiseks

010: ei toeta praegust abstraktset käsku 011: abstraktse käsu täitmine, välja arvatud 100: mikroprotsessor ei ole peatatud või pole saadaval ega saa täita abstraktseid käske 101: siini viga

110: paarsusbiti viga side ajal 111: muud vead

Märkus. Biti kirjutamisel kasutatakse nulli kustutamiseks 1.

 

 

 

 

 

 

 

0

[7:4] Reserveeritud RO Reserveeritud 0
[3:0] allahindlust RO Andmeregistrite arv 0x2
  • Silumishostid pääsevad juurde GPR-idele, CSR-registritele ja mälule, kirjutades abstraktsesse käsuregistrisse erinevad konfiguratsiooniväärtused.
  • Registritele juurdepääsul defineeritakse käsuregistri bitid järgmiselt.
  • Tabel 7-8 Käsuregistri määratlus registritele juurdepääsul
Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:24] cmd tüüpi WO Abstraktne käsutüüp 0: Access register;

1: kiire juurdepääs (ei toetata);

2: juurdepääs mälule.

0
23 Reserveeritud WO Reserveeritud 0
[22:20] aarsize WO Juurdepääsuregistri andmete bitilaius 000: 8-bitine

001: 16-bitine

010: 32-bitine

0
011: 64-bitine (ei toetata) 100: 128-bitine (ei toetata)

Märkus. Ujukomaregistritele juurdepääsul

FPR-id toetatakse ainult 32-bitist juurdepääsu.

19 aarpostikasv WO 0: mõju puudub

1: suurendage automaatselt regno väärtust pärast registrisse sisenemist

 

0

18 postitäitja WO 0: mõju puudub

1: Käivitage abstraktne käsk ja seejärel käivitage käsk programmis progbuf

 

0

17 ülekandmine WO 0: Ärge käivitage toiminguga, mis on määratud toiminguga

1: Käivitage kirjutamise määratud manipuleerimine

0
16 kirjutada WO 0: andmete kopeerimine määratud registrist data0 1: andmete kopeerimine data0 registrist määratud registrisse  

0

[15:0] regno WO Määrake juurdepääsuregistrid 0x0000-0x0fff on CSR-id 0x1000-0x101f on GPR-id  

0

Mälu juurde pääsemisel defineeritakse käsuregistri bitid järgmiselt.

Tabel 7-9 Käsu definitsioon Registreeru mälule juurdepääsul

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:24] cmd tüüpi WO Abstraktne käsutüüp 0: Access register;

1: kiire juurdepääs (ei toetata);

2: juurdepääs mälule.

0
23 aamvirtuaalne WO 0: juurdepääs füüsilisele aadressile;

1: juurdepääs virtuaalsele aadressile.

0
[22:20] käe suurus WO Juurdepääsu mälu andmete bitilaius 000: 8-bitine;

001: 16-bitine;

010: 32-bitine;

011: 64-bitine (ei toetata); 100: 128-bitine (ei toetata);

 

0

19 aampostinkrement WO 0: ei mõjuta;

1: Pärast edukat juurdepääsu mälule suurendage data1 registris salvestatud aadressi baitide arvu võrra, mis vastab haru suuruse järgi konfigureeritud bitilaiusele.

Aamsize=0, juurdepääs baitiga, data1 pluss 1.

Aamsize=1, ligipääsetav poole sõnaga, data1 pluss 2. aamsize=2, ligipääsetav bitiga, andme1 pluss 4.

 

0

18 postitäitja WO 0: ei mõjuta;

1: käivitage käsk progbufis pärast abstraktse käsu täitmist.

0
17 Reserv RO Reserveeritud 0
 

 

16

 

 

kirjutada

 

 

WO

0: andmete lugemine andmete1 määratud aadressilt data0

1: kirjutage andmed data0-sse poolt määratud aadressile

andmed1.

 

 

0

 

 

 

 

 

 

[15:14]
 

 

 

 

 

 

sihtmärgispetsiifiline

 

 

 

 

 

 

WO

Lugemis- ja kirjutamisrežiimi määratlus Kirjutage:

00, 01: kirjutage otse mällu;

10: Kui andmed data0-s on VÕI koos mälus olevate andmebittidega, kirjutatakse tulemus mällu (toetatud on ainult sõnajuurdepääs).

11: Pärast andmete summeerimist data0-s mälus olevate andmebittidega kirjutage tulemus mällu (Toetatud on ainult sõnajuurdepääs).

Loe:

00, 01, 10, 11: 0 lugemine otse mälust.

 

 

 

 

 

 

0

[13:0] Reserv RO Reserveeritud

Abstraktsete käskude automaatse täitmise register (abstract auto)

Seda registrit kasutatakse silumismooduli konfigureerimiseks. Progbufxi ja silumismooduli andmete lugemisel ja kirjutamisel saab abstraktse käsu uuesti täita.

Selle registri kirjeldus on järgmine:

Tabel 7-10 abstraktse autoregistri määratlus

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:16] autoexecprogbuf RW Kui bitt on määratud, käivitab progbufxi vastav lugemine ja kirjutamine uuesti käsuregistris oleva abstraktse käsu.

Märkus: V3-seeria on loodud 8 progbufiga, vastab bittidele [23:16].

 

0

[15:12] Reserv RO Reserveeritud 0
[11:0] autoexecdata  

RW

Kui bitt on seatud väärtusele 1, käivitab andmeregistri vastav lugemine ja kirjutamine uuesti käsuregistris oleva abstraktse käsu.

Märkus: V3-seeria on loodud kahe andmega registrid, mis vastavad bittidele [1:0].

0

Käskude vahemälu register (progbuffx)

Seda registrit kasutatakse mis tahes juhiste salvestamiseks ja vastava toimingu juurutamiseks, sealhulgas 8, mis peab pöörama tähelepanu viimasele täitmisele, mis peab olema "break" või "c.ebreak".

Tabel 7-11 progbuf registri määratlus

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:0] progbuf RW Vahemäluoperatsioonide juhiste kodeering, mis

võib sisaldada pakkimisjuhiseid

0

Peata olekuregister (haltsum0)

Seda registrit kasutatakse selleks, et näidata, kas mikroprotsessor on peatatud või mitte. Iga bitt näitab mikroprotsessori peatatud olekut ja kui on ainult üks tuum, kasutatakse selle näitamiseks ainult selle registri madalaimat bitti.

Tabel 7-12 haltsum0 registri definitsioon

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:1] Reserveeritud RO Reserveeritud 0
0 haltsum0 RO 0: mikroprotsessor töötab normaalselt

1: mikroprotsessori seiskamine

0
  • Silumisfunktsioon hõlmab lisaks ülalmainitud silumismooduli registritele ka mõningaid CSR-i registreid, peamiselt silumisjuht- ja olekuregistrit dcsr ning silumiskäsu osutit dpc, mida kirjeldatakse üksikasjalikult järgmiselt.
  • Silumisjuhtimine ja olekuregister (dcsr)

Tabel 7-13 dcsr registri määratlus

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:28] xdebugver DRO 0000: välist silumist ei toetata 0100: standardse välise silumise tugi

1111: välist silumist toetatakse, kuid see ei toimi

spetsifikatsioon

 

 

0x4

[27:16] Reserveeritud DRO Reserveeritud 0
15 murda DRW 0: Katkestuskäsk masinrežiimis käitub privileegis kirjeldatud viisil file

1: Masinarežiimis olev katkestuskäsk võib siseneda silumisrežiimi

 

 

0

[14:13] Reserveeritud DRO Reserveeritud 0
12 lahkuminek  

DRW

0: katkestamiskäsk kasutajarežiimis käitub nagu on kirjeldatud privileegis file

1: kasutajarežiimis võib katkestuskäsk siseneda silumisrežiimi

 

 

0

11 samm DRW 0: Katkestused on üheastmelise silumise korral keelatud

1: lubage katkestused üheastmelise silumise korral

0
10 Reserveeritud DRO Reserveeritud 0
9 peatada aeg DRW 0: süsteemi taimer töötab silumisrežiimis

1: süsteemi taimer peatub silumisrežiimis

0
  [8:6] põhjus DRO Silumisse sisenemise põhjused

001: silumise sisestamine katkestuskäsu vormis (prioriteet 3)

010: silumise sisestamine päästikumooduli kujul (prioriteet 4, kõrgeim)

011: silumise sisestamine pausitaotluse vormis (prioriteet 1)

100: silumine üheastmelise silumise vormis

(prioriteet 0, madalaim)

0
101: sisenege silumisrežiimi kohe pärast mikroprotsessori lähtestamist (prioriteet 2) Muud: reserveeritud
[5:3] Reserveeritud DRO Reserveeritud 0
2 samm DRW 0: lülitage üheastmeline silumine välja

1: lubage üheastmeline silumine

0
[1:0] Eelmine DRW Privileegrežiim 00: kasutajarežiim

01: juhendaja režiim (ei toetata) 10: reserveeritud

11: Masinarežiim

Märkus. Salvestage silumisrežiimi sisenemisel privilegeeritud režiim, silur saab silumisrežiimist väljumisel seda väärtust muuta privilegeeritud režiimi muutmiseks

 

 

 

 

0

Silumisrežiimi programmi osuti (DPC)

  • Seda registrit kasutatakse järgmise käsu aadressi salvestamiseks, mis täidetakse pärast mikroprotsessori silumisrežiimi sisenemist, ja selle väärtust värskendatakse erinevate reeglitega, olenevalt silumise sisestamise põhjusest. dpc registrit kirjeldatakse üksikasjalikult järgmiselt.

Tabel 7-14 dpc registri definitsioonid

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:0] DPC DRW Juhendi aadress 0

Registrite uuendamise reeglid on toodud järgmises tabelis.

Tabel 7-15 dpc värskendusreeglid

Sisestage silumismeetod dpc värskendamise reeglid
murda Ebreaki juhise aadress
üks samm Praeguse käsu järgmise käsu käsu aadress
päästiku moodul Ajutiselt ei toetata
peatada taotlus Järgmise silumise sisestamisel käivitatava käsu aadress

Silumisliides

  • Erineb tavalisest JTAG RISC-V määratletud liides, QingKe V3 seeria mikroprotsessor kasutab 1-juhtme/2-juhtmelist jada silumisliidest ja järgib WCH silumisliidese protokolli V1.0.
  • Silumisliides vastutab silumishosti ja silumismooduli vahelise suhtluse eest ning teostab silumismasina lugemis-/kirjutustoimingut silumismooduli registritesse.
  • WCH kujundas WCH_Linki ja avatud lähtekoodiga selle skeemi ja programmi binaarfaili files, mida saab kasutada kõigi RISC-V arhitektuuri mikroprotsessorite silumiseks.
  • Konkreetsete silumisliidese protokollide kohta vaadake WCH silumisprotokolli juhendit.

CSR-i registriloend

  • RISC-V arhitektuur määratleb hulga juhtimis- ja olekuregistreid (CSR) mikroprotsessori tööoleku kontrollimiseks ja salvestamiseks.
  • Mõnda CSR-i on tutvustatud eelmises jaotises ja selles peatükis kirjeldatakse üksikasjalikult QingKe V3-seeria mikroprotsessorites rakendatud CSR-registreid.

CSR-i registriloend

Tabel 8-1 Mikroprotsessori CSR-registrite loend

Tüüp Nimi CSR Aadress Juurdepääs Kirjeldus
RISC-V

Standardne CSR

marchid 0xF12 MRO Arhitektuuri numbriregister
mimpid 0xF13 MRO Riistvara rakendamise numeratsiooniregister
mstatus 0x300 MRW Olekuregister
misa 0x301 MRW Riistvara käsukomplektide register
mtvec 0x305 MRW Erandi baasaadressiregister
mscratch 0x340 MRW Masinarežiim stagregistrisse
MEPC 0x341 MRW Erandprogrammi osutiregister
mcause 0x342 MRW Erandi põhjuste register
mtval 0x343 MRW Erandväärtuste register
pmpcfg 0x3A0+i MRW PMP konfiguratsiooniregister
pmpaddr 0x3B0+i MRW PMP aadressiregister
tvalige 0x7A0 MRW Silumise päästiku valimise register
tdata1 0x7A1 MRW Silumiskäivituse andmeregister 1
tdata2 0x7A2 MRW Silumiskäivituse andmeregister 2
dcsr 0x7B0 DRW Silumiskontroll ja olekuregistrid
dpc 0x7B1 DRW Silumisrežiimi programmiosuti register
dscratch0 0x7B2 DRW Silumisrežiim stagregister 0
dscratch1 0x7B3 DRW Silumisrežiim stagregister 1
 

Tarnija määratletud CSR

gintenr 0x800 URW Globaalne katkestuse lubamise register
intsyscr 0x804 URW Katkestage süsteemi juhtimisregister
corecfgr 0xBC0 MRW Mikroprotsessori konfiguratsiooniregister
inestcr 0xBC1 MRW Pesastatud juhtimisregistri katkestamine

RISC-V standardsed CSR-registrid

  • Arhitektuuri numbriregister (marchid)
  • See register on kirjutuskaitstud register, mis näitab praegust mikroprotsessori riistvaraarhitektuuri numbrit, mis koosneb peamiselt müüja koodist, arhitektuurikoodist, seeriakoodist ja versioonikoodist. Igaüks neist on määratletud järgmiselt.

Tabel 8-2 marchiidiregistri definitsioon

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
31 Reserveeritud MRO Reserveeritud 1
[30:26] Müüja0 MRO Tootja kood 0

Fikseeritud W-tähega koodile

0x17
[25:21] Müüja1 MRO Tootja kood1

Fikseeritud tähega "C" kood

0x03
[20:16] Müüja2 MRO Tootja kood 2

Fikseeritud tähega "H" kood

0x08
15 Reserveeritud MRO Reserveeritud 1
[14:10] Arch MRO Arhitektuurikood 0x16
RISC-V arhitektuur on fikseeritud tähega "V" koodiga
[9:5] Sari MRO Sarja kood

QingKe V3 seeria, fikseeritud numbriga "3"

0x03
[4:0] Versioon MRO Versiooni kood

Võib olla versioon “A”, “B”, “C” ja muud kooditähed

x

Tootjanumber ja versiooninumber on tähestikulised ning seerianumber on numbriline. Tähtede kodeerimise tabel on näidatud järgmises tabelis.

Tabel 8-3 Tähestikulise kaardistamise tabel

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
  • Nende hulgas on QingKe V3A mikroprotsessor, mille register loeb tagasi 0-ni.

Riistvara rakendamise numeratsiooniregister (selge)

  • See register koosneb peamiselt hankija koodidest, millest igaüks on määratletud järgmiselt.

Tabel 8-4 selge registri definitsioon

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
31 Reserveeritud MRO Reserveeritud 1
[30:26] Müüja0 MRO Tootja kood 0

Fikseeritud W-tähega koodile

0x17
[25:21] Müüja1 MRO Tootja kood1

Fikseeritud tähega "C" kood

0x03
[20:16] Müüja2 MRO Tootja kood 2

Fikseeritud tähega "H" kood

0x08
15 Reserveeritud MRO Reserveeritud 1
[14:8] Reserveeritud MRO Reserveeritud 0
[7:4] Alaealine MRO Subversioon number 0xX
[3:0] Major MR0 Peamise versiooni number 0xX
  • See register on loetav igas masinarakenduses ja QingKe V3A seeria protsessoris loeb see register tagasi nulli.

Masinarežiimi olekuregister (mstatus)

  • Seda registrit on osaliselt kirjeldatud eelmises jaotises ja selle inimesed on paigutatud järgmiselt.

Tabel 8-5 molekuregistri määratlus

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:13] Reserveeritud MRO Reserveeritud 0
[12:11] MPP MRW Privilegeeritud režiim enne pausi sisenemist 0
[10:8] Reserveeritud MRO Reserveeritud 0
7 MPIE MRW Katkestuse lubamise olek enne katkestuse sisenemist 0
[6:4] Reserveeritud MRO Reserveeritud 0
3 MIE MRW Masinarežiimi katkestuse lubamine 0
[2:0] Reserveeritud MRO Reserveeritud 0
  • MPP välja kasutatakse privilegeeritud režiimi salvestamiseks enne erandi või katkestuse sisenemist ja privilegeeritud režiimi taastamiseks pärast erandist või katkestusest väljumist. MIE on globaalse katkestuse lubamise bitt ja erandi või katkestuse sisestamisel värskendatakse MPIE väärtust MIE väärtuseks ja tuleb arvestada, et QingKe V3 seeria mikroprotsessorites ei värskendata MIE-d 0-le enne pesastatud katkestuste viimane tase, et tagada masinarežiimis pesastatud katkestuse täitmine. Kui erandist või katkestusest väljutakse, naaseb mikroprotsessor MPP salvestatud masinarežiimi ja MIE taastatakse MPIE väärtusele.
  • QingKe V3 mikroprotsessor toetab masinarežiimi ja kasutajarežiimi, kui peate panema mikroprotsessori töötama ainult masinarežiimis, saate alglaadimise lähtestamisel määrata MPP väärtuseks 0x3 file, see tähendab, et pärast naasmist jääb see alati masinarežiimi.

Riistvara käsukomplekti register (misa)

  • Seda registrit kasutatakse mikroprotsessori arhitektuuri ja toetatud käsukomplekti laienduste näitamiseks, millest igaüks on kirjeldatud järgmiselt.

Tabel 8-6 ​​misa registri definitsioon

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:30] MXL MRO Masinasõna pikkus 1:32

2:64

3:128

1
[29:26] Reserveeritud MRO Reserveeritud 0
[25:0] Laiendused MRO Juhiste komplekti laiendused x
  • MXL-i kasutatakse mikroprotsessori sõna pikkuse tähistamiseks, QingKe V3 on 32-bitised mikroprotsessorid ja domeen on fikseeritud 1-le.
  • Laiendusi kasutatakse näitamaks, et mikroprotsessor toetab laiendatud käsukomplekti üksikasju. Igaüks neist tähistab laiendite klassi, selle üksikasjalik kirjeldus on näidatud järgmises tabelis.

Tabel 8-7 Juhendite komplekti laienduse üksikasjad

Natuke Nimi Kirjeldus
0 A Aatomipikendus
1 B Esialgu reserveeritud Bit-Manipulation laienduseks
2 C Kokkusurutud laiendus
3 D Topelttäpsus ujukoma laiendus
4 E RV32E alus ISA
5 F Ühe täpsusega ujukomapikendus
6 G Olemas täiendavad standardlaiendused
7 H Hüpervisori laiendus
8 I RV32I/64I/128I alus-ISA
9 J Esialgu reserveeritud dünaamiliselt tõlgitud keelte laienduse jaoks
10 K Reserveeritud
11 L Esialgu reserveeritud kümnendkoha ujukoma laiendi jaoks
12 M Täisarvu korrutamise/jagamise laiend
13 N Toetatud kasutajataseme katkestused
14 O Reserveeritud
15 P Esialgu reserveeritud Packed-SIMD laienduse jaoks
16 Q Nelja täpsusega ujukomapikendus
17 R Reserveeritud
18 S Juhendaja režiim on rakendatud
19 T Esialgu reserveeritud tehingumälu laienduse jaoks
20 U Kasutajarežiim on rakendatud
21 V Esialgu reserveeritud Vectori laienduse jaoks
22 W Reserveeritud
23 X Olemas mittestandardsed laiendused
24 Y Reserveeritud
25 Z Reserveeritud
  • Näiteksample, QingKe V3A mikroprotsessori jaoks on registri väärtus 0x401001105, mis tähendab, et toetatud käsukomplekti arhitektuur on RV32IMAC ja sellel on kasutajarežiimi rakendamine.

Masinarežiimi erandi baasaadressiregister (mtvec)

  • Seda registrit kasutatakse erandi või katkestuse töötleja baasaadressi salvestamiseks ja kahte alumist bitti kasutatakse vektortabeli režiimi ja identifitseerimismeetodi konfigureerimiseks, nagu on kirjeldatud jaotises 3.2.

Masinarežiim stagregistreerimisregister (mscratch)

Tabel 8-8 mscratch registri määratlused

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:0] mscratch MRW Andmete salvestamine 0

See register on masinrežiimis 32-bitine loetav ja kirjutatav register andmete ajutiseks salvestamiseks. Näiteksample, erandi või katkestuse töötleja sisestamisel salvestatakse sellesse registrisse kasutaja pinu osuti SP ja katkestuse pinu osuti määratakse SP registrile. Pärast erandist või katkestusest väljumist taastage kasutaja pinukursori SP väärtus nullist. See tähendab, et katkestuspinu ja kasutajapinu saab eraldada.

Masinarežiimi erandi programmi osutiregister (kaart)

Tabel 8-9 mepc registri määratlused

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:0] mepc MRW Erandkorra osuti 0
  • Seda registrit kasutatakse programmi osuti salvestamiseks erandi või katkestuse sisestamisel.
  • Seda kasutatakse käsu arvutikursori salvestamiseks enne erandi sisestamist, kui erand või katkestus genereeritakse, ja mepc-d kasutatakse tagastusaadressina, kui erandit või katkestust käsitletakse ja kasutatakse erandi või katkestuse tagastamiseks.
  • Siiski on oluline märkida, et.
  • Erandi ilmnemisel värskendatakse mepc parajasti erandit genereeriva käsu PC väärtusele.
  • Katkestuse korral värskendatakse mepc järgmise käsu PC väärtuseni.
  • Kui peate pärast erandi töötlemist erandi tagastama, peaksite pöörama tähelepanu mepc väärtuse muutmisele. Rohkem üksikasju leiate peatükist 2 Erandid.

Masinarežiimi erandi põhjuste register (mcause)

Tabel 8-10 mcase registri definitsioon

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
31 Katkestada MRW Katkestuse näidu väli 0: Erand

1: katkestus

 

0

[30:0] Erandi kood MRW Erandite koodide kohta vaadake üksikasju tabelist 2-1 0
  • Seda registrit kasutatakse peamiselt erandi põhjuse või katkestuse numbri salvestamiseks. Selle kõrgeim bitt on katkestusväli, mida kasutatakse näitamaks, kas praegune esinemine on erand või katkestus.
  • Alumine bitt on erandkood, mida kasutatakse konkreetse põhjuse näitamiseks. Selle üksikasjad leiate 2. peatükist Erandid.

Masinarežiimi erandi väärtuste register (mtval)

Tabel 8-11 mtval registri määratlus

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:0] mtval MRW Erandlik väärtus 0
  • Seda registrit kasutatakse erandi korral erandi põhjustanud väärtuse hoidmiseks. Üksikasju, nagu selle väärtus ja säilitusaeg, leiate peatükist 2 Erandid.

PMP konfiguratsiooniregister (pmpcfg

  • Seda registrit kasutatakse peamiselt füüsilise mälu kaitseüksuse konfigureerimiseks ja selle registri iga 8 bitti kasutatakse ala kaitse konfigureerimiseks. Üksikasjaliku määratluse saamiseks vaadake 4. peatükki.

PMP aadressiregister (pmpaddr

  • Seda registrit kasutatakse peamiselt füüsilise mälu kaitseüksuse aadressikonfiguratsiooniks, mis kodeerib 32-bitise füüsilise aadressi ülemist 34 bitti. Konkreetse konfiguratsioonimeetodi kohta vaadake 4. peatükki.

Silumisrežiimi programmiosutiregister (DPC)

  • Seda registrit kasutatakse järgmise käsu aadressi salvestamiseks, mis tuleb täita pärast mikroprotsessori sisenemist
  • Silumisrežiimi ja selle väärtust värskendatakse erinevate reeglitega, olenevalt silumise sisestamise põhjusest. Üksikasjaliku kirjelduse saamiseks vaadake jaotist 6.1.

Silumise päästiku valimine register (vali)

  • See kehtib ainult mikroprotsessorite jaoks, mis toetavad riistvara murdepunkte ja maksimaalselt 4-kanalilisi katkestuspunkte, ning selle 2 alumist bitti kehtivad.
  • Iga kanali katkestuspunkti seadistamisel peate enne seadistamist selle registri kaudu valima vastava kanali.

Tabel 8-12 valige registri määratlus

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:2] Reserveeritud MRO Reserveeritud 0
[1:0]  

VALI

 

MRW

Katkestuspunkti kanali valimise register on konfigureeritud, st pärast vastava kanali valimist saab tdata1 ja tdata2 registreid kasutada katkestuspunkti konfigureerimiseks

teavet.

 

X

Silumise päästiku andmeregister 1 (tdata1)

See kehtib ainult mikroprotsessorite jaoks, mis toetavad riistvara murdepunkte. Mikroprotsessorid toetavad ainult käsu aadressi ja andmeaadressi katkestuspunkte, kus tdata1 registri biti TYPE on fikseeritud väärtus 2 ja muud bitid vastavad silumisstandardi juhtimise definitsioonile.

Tabel 8-13 tdata1 registri definitsioon

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:28] TÜÜP MRO Katkestuspunkti tüübi määratlus, kontrolli tüüp. 0x2
 

 

27

 

 

DMODE

 

 

MRO

0: flip-flopi vastavaid registreid saab muuta nii masinarežiimis kui ka silumisrežiimis;

1: ainult silumisrežiim saab muuta flip-flopi asjakohaseid registreid.

 

 

1

  [26:21]  

MASKMAX

 

MRO

Kui MATCH=1, on sobitamise maksimaalne eksponentsiaalne võimsusvahemik lubatud, see tähendab, et maksimaalne lubatud sobitusvahemik on 231 baiti.  

0x1F

[20:13] Reserveeritud MRO Reserveeritud 0
 

 

12

 

 

TEGEVUS

 

 

MRW

Määrake katkestuspunkti käivitamisel töötlemisrežiim:

0: käivitamisel sisestage katkestuspunkt ja helistage katkestus tagasi;

1: käivitamisel sisenege silumisrežiimi.

 

 

0

[11:8] Reserveeritud MRO Reserveeritud 0
 

 

 

7

 

 

 

MATCH

 

 

 

MRW

Vastav poliitika konfiguratsioon:

0: vaste, kui päästiku väärtus on võrdne TDATA2-ga;

1: päästikuväärtus ühtib TDATA2 kõrge m bitiga, kus m = 31–n ja n on TDATA0 esimene 2-tsitaat (alates madalast bitist).

 

 

 

0

 

6

 

M

 

MRW

Flip-flopi lubamine M-režiimis:

0: Keela päästik M-režiimis; 1: lubage päästik režiimis M.

 

0

[5:4] Reserveeritud MRO Reserveeritud 0
 

3

 

U

 

MRW

Päästiku lubamine U-režiimis:

0: U-režiimis päästiku keelamine; 1: lubage päästik U-režiimis.

 

0

 

2

 

TEOSTADA

 

MRW

Käsu lugemise aadressi päästik on lubatud: 0: Keela;

1: Luba.

 

0

 

1

 

KAUPLUS

 

MRW

Andmete kirjutamise aadressi päästik lubatud: 0: Keela;

1: Luba.

 

0

 

0

 

LAADI

 

MRW

Andmete lugemise aadressi päästik lubatud: 0: Keela;

1: Luba.

 

0

Silumise päästiku andmeregister 2 (tdata2)

See kehtib ainult riistvara murdepunkte toetavate mikroprotsessorite jaoks ja seda kasutatakse päästiku vastava väärtuse salvestamiseks.

Tabel 8-14 tdata2 registri definitsioon

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:0] TDATA2 MRW Kasutatakse sobivate väärtuste salvestamiseks. X

Silumisjuhtimine ja olekuregister (dcsr)

Seda registrit kasutatakse silumisrežiimi tööoleku kontrollimiseks ja salvestamiseks. Üksikasju vaadake jaotisest 7.1.

Silumisrežiimi programmi osuti (DPC)

Seda registrit kasutatakse järgmise käsu aadressi salvestamiseks, mis tuleb täita pärast mikroprotsessori silumisrežiimi sisenemist, selle väärtus on erinev sõltuvalt silumisrežiimi sisenemise põhjustest ning erinevad on ka värskendamise reeglid. Üksikasjaliku kirjelduse saamiseks vaadake jaotist 7.1.

Silumisrežiim stagregistreerimisregister (dscratch0-1)

Seda registrirühma kasutatakse andmete ajutiseks salvestamiseks silumisrežiimis.

Tabel 8-15 dscratch0-1 registri definitsioonid

Natuke Nimi Juurdepääs Kirjeldus Lähtesta väärtus
[31:0] dscratch DRW Silumisrežiimi andmed stagväärtust 0
Kasutaja määratud CSR-register

Kasutajarežiimi globaalse katkestuse lubamise register (gintenr)

  • Seda registrit kasutatakse globaalse katkestuse lubamise ja maski juhtimiseks. Globaalse katkestuse lubamist ja maski masinarežiimis saab juhtida olekus olevate MIE ja MPIE bittide abil, kuid seda registrit ei saa kasutada kasutajarežiimis.
  • Kuigi globaalne katkestus võimaldab registrit gintenr, on MIE ja MPIE oleku kaardistamine.
  • Kasutajarežiimis saab MIE ja MPIE seadistamiseks ja tühjendamiseks kasutada kavatsust, nagu on üksikasjalikult kirjeldatud jaotises 3.2.

Märkus

  • Globaalsed katkestused ei sisalda maskeerimata katkestusi NMI ja erandeid.

Katkesta süsteemi juhtimisregister (intsyscr)

Seda registrit kasutatakse peamiselt katkestuste pesastussügavuse, riistvaravirna vajutamise ja muude seotud funktsioonide konfigureerimiseks, nagu on üksikasjalikult kirjeldatud jaotises 3.2.

Mikroprotsessori konfiguratsiooniregister (corecfgr)

Seda registrit kasutatakse kontrollimaks, kas NMI katkestus on lubatud pärast katkestuse ületäitumist ja kas katkestusnõue kustutatakse piirdekäsu täitmisel. Täpsemat määratlust vaadake jaotisest 3.2.

Pesastatud juhtimisregistri katkestamine (inestcr)

Seda registrit kasutatakse katkestuse pesastusoleku ja selle ületäitumise või mittetäitumise märkimiseks ning maksimaalse pesastustaseme juhtimiseks. Täpsemat määratlust vaadake jaotisest 3.2.

Dokumendid / Ressursid

WH V3 mikroprotsessor [pdfKasutusjuhend
V3 mikroprotsessor, V3, mikroprotsessor

Viited

Jäta kommentaar

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on märgitud *