
WH V3 mikroprocesorius

Specifikacijos
- Mikroprocesoriaus modelis: QingKeV3
- Versija: V1.2
- ISA savybės:
- Dujotiekio FPU
- Šakos prognozė
- Nutraukti palaikymą
- HPE fizinės atminties apsauga (PMP)
- Mažo energijos suvartojimo režimas
- Išplėstinis instrukcijų rinkinio derinimas
Produkto naudojimo instrukcijos
Baigėsiview QingKe V3 mikroprocesorius
QingKe V3 serijos mikroprocesoriai apima modelius V3A, V3B ir V3C. Kiekvienas modelis turi specifinių savybių ir skirtumų, atsižvelgiant į jo pritaikymą.
Instrukcijų rinkinys
RV32I instrukcijų rinkinį sudaro 32 registrų rinkiniai nuo x0 iki x31. V3 serija nepalaiko slankiojo kablelio plėtinio (F). Kiekvienas registras yra 32 bitų dydžio.
Registracijos rinkinys
RV32I registrų rinkinį sudaro šie registrai.
- x0: Užkoduotas 0
- x1: Grąžinimo adresas
- x2: krūvos rodyklė
- x3: Visuotinis rodyklė
- x4: Gijos rodyklė
- x5-x7: Laikinieji registrai
- x8: Išsaugoti registrą / kadro rodyklę
- x9: Išsaugokite registro / funkcijų parametrus / grąžinimo reikšmes
- x10-x11: Funkcijos parametrai
- x12-x17: Išsaugoti registrus
- x18-x27: Laikinieji registrai
- x28-x31: Skambintojų / skambintojų registrai
Privilegijų režimas
Standartinė RISC-V architektūra apima tris privilegijuotus režimus: mašinos režimą, prižiūrėtojo režimą ir vartotojo režimą. QingKe V3 serijos mikroprocesoriai palaiko mašinos režimą ir priežiūros režimą.
Dažnai užduodami klausimai
K: Kokie yra skirtingi QingKe V3 serijos mikroprocesorių modeliai?
A: QingKe V3 serijoje yra modeliai V3A, V3B ir V3C, kurių kiekvienas turi specifines savybes ir skirtumus, aprašytus vartotojo vadove.
K: Kiek registrų rinkinių yra RV32I instrukcijų rinkinyje?
A: RV32I instrukcijų rinkinys suteikia 32 registrų rinkinius nuo x0 iki x31.
K: Kokius privilegijuotus režimus palaiko QingKe V3 mikroprocesorius?
A: QingKe V3 serijos mikroprocesoriai palaiko mašinos režimą ir priežiūros režimą kaip RISC-V architektūros dalį.
Baigėsiview
QingKe V3 serijos mikroprocesoriai yra pačių sukurti 32 bitų bendrosios paskirties MCU mikroprocesoriai, pagrįsti standartine RISC-V instrukcijų rinkinio architektūra. Šią seriją sudaro V3A, V3B ir V3C, iš kurių V3A palaiko standartinį RV32IMAC instrukcijų rinkinio plėtinį, o V3B/C – RV32IMCB standartinį instrukcijų rinkinio plėtinį ir pritaikytą instrukcijų rinkinio plėtinį XW. Abu jie palaiko vieno ciklo dauginimą ir aparatinės įrangos padalijimą, be aparatūros slėgio krūvos (HPE), pertraukimo be lentelių (VTF), supaprastintų 1 ir 2 laidų derinimo sąsajų, „WFE“ instrukcijų ir kitų specialių funkcijų. Be to, jis taip pat palaiko aparatinės įrangos prologą / epilogą (HPE), nemokamą vektorių lentelę (VTF), supaprastintą 1/2 laidų derinimo sąsają ir „WFE“ nurodymų palaikymą.
Savybės
| Savybės | Aprašymas |
| ISA | RV32IM[A]C[B] |
| Dujotiekis | 3 |
| FPU | Nepalaikoma |
| Šakos prognozė | Statinės šakos numatymas |
| Pertraukite | Iš viso palaiko 256 pertraukimus, įskaitant išimtis, ir palaiko VTF |
| HPE | Palaikykite 2 HPE lygius |
| Fizinės atminties apsauga (PMP) | Palaikoma |
| Mažo energijos suvartojimo režimas | Palaikykite miego ir gilaus miego režimus bei WFI ir WFE miego režimus |
| Išplėstinis instrukcijų rinkinys | Palaikoma |
| Derinimas | 1/2 laidų SDI, standartinis RISC-V derinimas |
Baigėsiview
QingKe V3 serijos mikroprocesoriai apima V3A, V3B ir V3C, yra tam tikrų skirtumų tarp serijų, atsižvelgiant į taikymą, konkretūs skirtumai išsamiai aprašyti 1-1 lentelėje.
1-1 lentelėview QingKe V3 mikroprocesoriaus
| Funkcija Modelis | ISA | HPE lygių skaičius | Pertraukimai lizdus skaičius lygius | VTF kanalų skaičius | Dujotiekis | Vektorius stalo režimas | Išplėstinė instrukcija (XW) | Atminties apsaugos sričių skaičius |
| V3A | RV32IMAC | 2 | 2 | 4 | 3 | Instrukcija | × | × |
| V3B | RV32IMCB | 2 | 2 | 4 | 3 | Adresas/ Instrukcija | √ | × |
| V3C | RV32IMCB | 2 | 2 | 4 | 3 | Adresas/ Instrukcija | √ | 4 |
Pastaba: OS užduočių perjungimas paprastai naudoja stack push, kuris neapsiriboja lygių skaičiumi
Instrukcijų rinkinys
- QingKe V3 serijos mikroprocesoriai atitinka standartinę RISC-V instrukcijų rinkinio architektūrą (ISA). Išsamią standarto dokumentaciją galite rasti „RISC-V instrukcijų rinkinio vadove, I tomas: vartotojo lygio ISA, dokumento versija 2.2“, esančiame RISC-V International. websvetainę. RISC-V instrukcijų rinkinys yra paprastos architektūros ir palaiko modulinį dizainą, leidžiantį lanksčiai derinti pagal skirtingus poreikius, o V3 serija palaiko šiuos instrukcijų rinkinio plėtinius.
- RV32: 32 bitų architektūra, bendrosios paskirties registro bitų plotis 32 bitai
- I: Palaikykite formavimo operaciją su 32 formavimo registrais
- M: Palaikykite daugybos ir dalybos instrukcijas
- A: Palaikykite atomines komandas
- C: Palaikykite 16 bitų glaudinimo instrukcijas
- B: Palaikymas bitų manipuliavimo instrukcijoms
- XW: 16 bitų glaudinimo instrukcijos savaime besiplečiančioms baitų ir pusės žodžio operacijoms
Pastaba:
- Skirtingų modelių palaikomų instrukcijų poaibis gali skirtis. Išsamesnės informacijos ieškokite 1-1 lentelėje;
- Norėdami dar labiau pagerinti kodo tankį, išplėskite XW poaibį, pridėkite šias glaudinimo instrukcijas c.lbu/c.lhu/c.sb/c.sh/c.lbusp/c.lhusp/c.sbsp/c.shop , kurio naudojimas turi būti pagrįstas MRS kompiliatoriumi arba jo pateikta įrankių grandine;
- V3B palaiko žodžio (32 bitų) komandos ištraukimą iš dvigubo žodžio (64 bitų) ir žodžio (32 bitų) nurodymo išskyrimą iš daugybos rezultato (64 bitai). Konkretus naudojimo būdas gali būti susijęs su bibliotekos funkcija ir bendradarbiauti su MRS kompiliatoriumi arba jo pateikta įrankių grandine;
- V3B/C palaiko kopijavimo atmintyje nurodymus. Dėl konkretaus naudojimo žr. bibliotekos funkciją ir bendradarbiaukite su MRS kompiliatoriumi arba jo įrankių grandine.
Registracijos rinkinys
RV32I turi 32 registrų rinkinius nuo x0 iki x31. V3 serija nepalaiko „F“ plėtinio, ty nėra slankiojo kablelio registro rinkinio. RV32 kiekvienas registras yra 32 bitai. 1-2 lentelėje pateikti RV32I registrai ir jų aprašymai.
1-2 lentelė RISC-V registrai
| Registruotis | ABI vardas | Aprašymas | Sandėliukas |
| x0 | nulis | Užkoduotas 0 | – |
| x1 | ra | Grąžinimo adresas | Skambintojas |
| x2 | sp | Stack rodyklė | Callee |
| x3 | GP | Visuotinis rodyklė | – |
| x4 | tp | Gijos rodyklė | – |
| x5-7 | t0-2 | Laikinas registras | Skambintojas |
| x8 | s0/fp | Išsaugoti registrą / kadro rodyklę | Callee |
| x9 | s1 | Išsaugoti registrą | Callee |
| x10-11 | a0-1 | Funkcijos parametrai/grąžinimo reikšmės | Skambintojas |
| x12-17 | a2-7 | Funkcijos parametrai | Skambintojas |
| x18-27 | a2-11 | Išsaugoti registrą | Callee |
| X28-31 | t3-6 | Laikinas registras | Skambintojas |
Aukščiau pateiktoje lentelėje atributas Caller reiškia, kad iškviesta procedūra neišsaugo registro reikšmės, o atributas Callee reiškia, kad iškviesta procedūra išsaugo registrą.
Privilegijų režimas
- Standartinė RISC-V architektūra apima tris privilegijuotus režimus: mašinos režimą, prižiūrėtojo režimą ir vartotojo režimą, kaip parodyta 1-3 lentelėje.
- Mašinos režimas yra privalomas, o kiti režimai yra neprivalomi. Daugiau informacijos rasite RISC-V instrukcijų rinkinio vadove, II tomas: Privilegijuota architektūra“, kurį galima nemokamai atsisiųsti iš RISC-V International. websvetainę.
1-3 lentelė RISC-V architektūros privilegijų režimas
| Kodas | Vardas | Santrumpos |
| 0b00 | Vartotojo režimas | U |
| 0b01 | Supervizoriaus modelis | S |
| 0b10 | Rezervuota | Rezervuota |
| 0b11 | Mašinos režimas | M |
- QingKe V3 serijos mikroprocesoriai palaiko du iš šių privilegijuotųjų režimų.
Mašinos režimas
- Mašinos režimas turi aukščiausią valdžią, programa šiuo režimu gali pasiekti visą valdymo ir būsenos registrą (CSR), bet taip pat gali pasiekti visas fizinių adresų sritis.
- Įjungimo numatytasis nustatymas yra mašinos režimu, kai grįžta mret (Mašinos režimo grąžinimo instrukcijos) vykdymas, atsižvelgiant į CSR registro būseną (Mašinos režimo būsenos registrą) MPP bite, jei MPP = 0b00, tada išeikite iš mašinos režimo. į vartotojo režimą, MPP = 0b11, tada toliau išsaugokite įrenginio režimą.
Vartotojo režimas
- Vartotojo režimas turi mažiausią privilegiją ir šiuo režimu galima pasiekti tik ribotus CSR registrus. Kai atsiranda išimtis arba pertraukimas, mikroprocesorius pereina iš vartotojo režimo į mašinos režimą, kad tvarkytų išimtis ir pertraukimus.
CSR registras
RISC-V architektūroje yra apibrėžta CSR registrų serija, skirta valdyti ir įrašyti mikroprocesoriaus veikimo būseną. Šiuos CSR galima išplėsti 4096 registrais, naudojant vidinę tam skirtą 12 bitų adresų kodavimo erdvę. Ir naudokite du aukštus CSR[11:10], kad apibrėžtumėte šio registro skaitymo / rašymo leidimą, 0b00, 0b01, 0b10, jei leidžiama skaityti / rašyti, ir 0b11, kad būtų galima tik skaityti. Naudokite du bitus CSR[9:8], kad nustatytumėte žemiausią privilegijų lygį, galintį pasiekti šį registrą, o reikšmė atitinka privilegijų režimą, apibrėžtą 1-3 lentelėje. CSR registrai, įdiegti QingKe V3 mikroprocesoriuje, išsamiai aprašyti 8 skyriuje.
Išimtis
Išimčių mechanizmas, kuris yra „neįprastų veiklos įvykių“ perėmimo ir tvarkymo mechanizmas. QingKe V3 serijos mikroprocesoriai aprūpinti išimčių atsako sistema, kuri gali apdoroti iki 256 išimčių, įskaitant pertraukimus. Kai įvyksta išimtis ar pertraukimas, mikroprocesorius gali greitai reaguoti ir tvarkyti išimties ir pertraukimo įvykius.
Išimčių tipai
Mikroprocesoriaus aparatinės įrangos elgesys yra toks pat, neatsižvelgiant į tai, ar atsiranda išimtis ar pertraukimas. Mikroprocesorius sustabdo esamą programą, pereina į išimties arba pertraukimo tvarkyklę ir grįžta į anksčiau sustabdytą programą, kai apdorojimas bus baigtas. Apskritai, pertraukimai taip pat yra išimčių dalis. Nesvarbu, ar dabartinis įvykis yra pertraukimas, ar gali būti išimtis viewper mašinos režimo išimties priežasties registro priežastį. Mcause[31] yra pertraukimo laukas, naudojamas nurodyti, ar išimties priežastis yra pertraukimas, ar išimtis. mcause[31]=1 reiškia pertraukimą, mcause[31]=0 reiškia išimtį. mcause[30:0] yra išimties kodas, naudojamas nurodyti konkrečią išimties priežastį arba pertraukimo numerį, kaip parodyta šioje lentelėje.
2-1 lentelė V3 mikroprocesoriaus išimčių kodai
| Pertraukite | Išimtis kodai | Sinchroninis / asinchroninis | Išimties priežastis |
| 1 | 0-1 | – | Rezervuota |
| 1 | 2 | Tikslus asinchroninis | NMI pertraukia |
| 1 | 3-11 | – | Rezervuota |
| 1 | 12 | Tikslus asinchroninis | SysTick pertraukia |
| 1 | 13 | – | Rezervuota |
| 1 | 14 | Sinchroninis | Programinė įranga trukdo |
| 1 | 15 | – | Rezervuota |
| 1 | 16-255 | Tikslus asinchroninis | Išorinis pertraukimas 16-255 |
| 0 | 0 | Sinchroninis | Instrukcijos adreso nesutapimas |
| 0 | 1 | Sinchroninis | Gauti komandos prieigos klaida |
| 0 | 2 | Sinchroninis | Neteisėti nurodymai |
| 0 | 3 | Sinchroninis | Lūžio taškai |
| 0 | 4 | Sinchroninis | Netinkamas įkėlimo instrukcijos prieigos adresas |
| 0 | 5 | Netikslus asinchroninis | Įkėlimo komandos prieigos klaida |
| 0 | 6 | Sinchroninis | Parduotuvės / AMO instrukcijos prieigos adreso nesutapimas |
| 0 | 7 | Netikslus asinchroninis | Parduotuvės/AMO komandos prieigos klaida |
| 0 | 8 | Sinchroninis | Aplinkos skambutis vartotojo režimu |
| 0 | 11 | Sinchroninis | Aplinkos skambutis mašinos režimu |
- Sinchroninis“ lentelėje reiškia, kad komanda gali būti tiksliai ten, kur ji vykdoma, pavyzdžiui, pertraukos arba iškvietimo nurodymas, ir kiekvienas šios komandos vykdymas suaktyvins išimtį. „Asinchroninis“ reiškia, kad neįmanoma tiksliai nustatyti instrukcijos, o komandos PC reikšmė gali skirtis kiekvieną kartą, kai atsiranda išimtis. „Tikslus asinchroninis“ reiškia, kad išimtis gali būti tiksliai ties komandos riba, ty būsena po komandos įvykdymo, pavyzdžiui, išorinio pertraukimo. „Netiksli asinchroninė“ reiškia, kad negalima tiksliai nustatyti komandos ribos, o galbūt būsena po komandos nutraukimo įpusėjus vykdymui, pvz., atminties prieigos klaida.
- Prieiga prie atminties užtrunka, o mikroprocesorius dažniausiai nelaukia prieigos pabaigos, kai pasiekia atmintį, o toliau vykdo komandą, kai vėl atsiranda prieigos klaidos išimtis, mikroprocesorius jau įvykdė paskesnes komandas ir negali būti tiksliai esančios.
Išimties įvedimas
Kai programa normaliai veikia, jei dėl kokių nors priežasčių, suaktyvinama išimtis arba pertraukimas. Mikroprocesoriaus aparatinės įrangos veikimą šiuo metu galima apibendrinti taip.
- Sustabdykite esamą programos srautą ir pereikite prie išimčių arba pertraukimų tvarkymo funkcijų vykdymo. Išimties arba pertraukimo funkcijos įrašo bazinis adresas ir adresavimo režimas yra apibrėžti išimties įrašo bazinio adresų registro mtvec. mtvec[31:2] apibrėžia išimties arba pertraukimo funkcijos bazinį adresą. mtvec[1:0] apibrėžia tvarkyklės funkcijos adresavimo režimą. kai mtvec[1:0]=0, visos išimtys ir pertraukimai naudoja vieningą įrašą, ty kai įvyksta išimtis arba pertraukimas, jis kreipiasi į mtvec[31:2] apibrėžia pagrindinį adresą, kurį reikia vykdyti. Kai mtvec[1:0]=1, išimtys ir pertraukimai naudoja vektoriaus lentelės režimą, ty kiekviena išimtis ir pertraukimas yra sunumeruoti, o adresas yra poslinkis pagal pertraukimo numerį*4, o kai atsiranda išimtis ar pertraukimas, jis perkeliamas į bazinį adresą, apibrėžtą mtvec[31:2] + pertraukos numeris*4 Vykdymas. Pertraukimo vektorių lentelėje yra nurodymas pereiti prie pertraukimo tvarkyklės funkcijos arba tai gali būti kitos instrukcijos.
- Atnaujinkite CSR registrą
- Kai įvedama išimtis arba pertraukimas, mikroprocesorius automatiškai atnaujina atitinkamus CSR registrus, įskaitant mašinos režimo išimties priežasčių registrą mcause, mašinos režimo išimties žymeklio registrą mepc, mašinos režimo išimties vertės registro metalą ir mašinos režimo būsenos registro būseną.
Atnaujinkite mcause
Kaip minėta anksčiau, įvedus išimtį arba pertraukimą, jo reikšmė atspindi esamą išimties tipą arba pertraukimo numerį, o programinė įranga gali nuskaityti šią registro reikšmę, kad patikrintų išimties priežastį arba nustatytų pertraukimo šaltinį, kaip nurodyta 2 lentelėje. -1.
Atnaujinti mepc
- Standartinis mikroprocesoriaus grįžimo adreso apibrėžimas išėjus iš išimties ar pertraukimo yra saugomas mepc.
- Taigi, kai įvyksta išimtis arba pertraukimas, aparatinė įranga automatiškai atnaujina mepc reikšmę į dabartinę komandos kompiuterio reikšmę, kai susiduriama su išimtimi, arba kitos iš anksto įvykdytos komandos PC reikšmės prieš pertraukimą.
- Apdorojus išimtį arba pertraukimą, mikroprocesorius naudoja savo išsaugotą reikšmę kaip grąžinimo adresą, kad grįžtų į pertraukimo vietą ir tęstų vykdymą.
- Tačiau verta paminėti, kad.
- MEPC yra skaitomas ir įrašomas registras, o programinė įranga taip pat gali modifikuoti reikšmę, kad pakeistų kompiuterio žymeklio, veikiančio po grąžinimo, vietą.
- Kai įvyksta pertraukimas, ty kai išimties priežastis registruoja mcause[31]=1, žemėlapių reikšmė atnaujinama iki kitos pertraukimo metu neįvykdytos komandos PC reikšmės.
- Kai atsiranda išimtis, žemėlapių reikšmė atnaujinama iki dabartinės išimties komandos PC reikšmės, kai išimtis sukelia registrą mcause[31]=0. Taigi šiuo metu, kai grąžinama išimtis, jei grįžtame tiesiogiai naudodami mepc reikšmę, toliau vykdome instrukciją, kuri anksčiau sugeneravo išimtį, ir šiuo metu toliau įvesime išimtį. Paprastai po to, kai apdorojame išimtį, galime pakeisti mepc reikšmę į kitos neįvykdytos komandos reikšmę ir tada grįžti. Pavyzdžiui,ample, jei padarysime išimtį dėl iškvietimo / pertraukos, sutvarkę išimtį, nes atšaukimas / pertrauka (c.ebreak yra 2 baitai) yra 4 baitų instrukcija, mums reikia tik programinės įrangos, kad pakeistų mepc reikšmę į mepc +4 (c.ebreak yra mepc+2) ir tada grįžti.
Atnaujinti mtval
Kai įvedamos išimtys ir pertraukimai, aparatinė įranga automatiškai atnaujins mtval reikšmę, kuri yra ta reikšmė, dėl kurios atsirado išimtis. Vertė paprastai yra.
- Jei išimtį sukelia prieiga prie atminties, aparatinė įranga išsaugos prieigos prie atminties adresą išimties metu į mtval.
- Jei išimtį sukelia neteisėtas nurodymas, aparatinė įranga išsaugos instrukcijos kodą į mtval.
- Jei išimtį sukelia aparatinės įrangos pertraukos taškas, aparatinė įranga išsaugos kompiuterio vertę lūžio taške į mtval.
- Kitoms išimtims aparatinė įranga nustato mtval reikšmę į 0, pavyzdžiui, pertrauka, išimtis, kurią sukelia skambučio nurodymas.
- Įvesdama pertraukimą, aparatinė įranga nustato mtval reikšmę į 0.
Atnaujinti mstatus
Įvedus išimtis ir pertraukimus, aparatinė įranga atnaujina tam tikrus mstatus bitus.
- MPIE atnaujinama iki MIE vertės prieš įvedant išimtį arba pertraukimą, o MPIE naudojamas atkurti MIE, kai išimtis ir pertraukimas pasibaigia.
- MPP atnaujinamas į privilegijuotąjį režimą prieš įvedant išimtis ir pertraukimus, o pasibaigus išimtims ir pertraukimams, MPP naudojamas ankstesniam privilegijuotajam režimui atkurti.
- QingKe V3 mikroprocesorius palaiko pertraukų įdėjimą mašinos režimu, o MIE nebus išvalytas įvedus išimtis ir pertraukimus.
Atnaujinkite mikroprocesoriaus privilegijų režimą
- Kai atsiranda išimčių ir pertraukimų, mikroprocesoriaus privilegijuotas režimas atnaujinamas į mašinos režimą.
Išimčių tvarkymo funkcijos
- Įvedus išimtį ar pertraukimą, mikroprocesorius vykdo programą iš mtvec registro apibrėžto adreso ir režimo. Kai naudojamas suvienodintas įrašas, mikroprocesorius paima šuolio komandą iš bazinio adreso, apibrėžto mtvec[31:2], remdamasis mtvec[1] reikšme, arba gauna išimties ir pertraukimo tvarkymo funkcijos įvesties adresą ir eina jį vykdyti. . Šiuo metu išimčių ir pertraukų apdorojimo funkcija gali nustatyti, ar priežastis yra išimtis, ar pertraukimas pagal mcause reikšmę[31], o išimties arba atitinkamo pertraukimo tipą ir priežastį galima spręsti pagal išimties kodą. ir atitinkamai elgiamasi.
- Naudojant bazinį adresą + pertraukos numerį *4 poslinkiui, aparatinė įranga automatiškai peršoka į vektorių lentelę, kad gautų išimties arba pertraukimo funkcijos įvesties adresą, pagrįstą pertraukimo numeriu, ir peršoka jį vykdyti.
Išimtis Išėjimas
- Baigus išimties arba pertraukimo tvarkyklę, būtina išeiti iš aptarnavimo programos. Įvedus išimtis ir pertraukimus, mikroprocesorius iš Vartotojo režimo pereina į Mašinos režimą, o išimčių ir pertraukimų apdorojimas taip pat baigiamas Machine režimu. Kai reikia išeiti iš išimčių ir pertraukų, grįžti reikia naudoti mret nurodymą. Šiuo metu mikroprocesoriaus aparatinė įranga automatiškai atliks šias operacijas.
- Kompiuterio rodyklė atkuriama į CSR registro mepc reikšmę, ty vykdymas pradedamas mepc išsaugotu komandos adresu. Baigus tvarkyti išimtis, būtina atkreipti dėmesį į mepc ofset operaciją.
- Atnaujinkite CSR registro būseną, MIE atkuriamas į MPIE, o MPP naudojamas ankstesnio mikroprocesoriaus privilegijuotam režimui atkurti.
- Visą atsako iš išimties procesą galima apibūdinti 2-1 pav.

PFIC ir pertraukimų valdymas
- QingKe V3 mikroprocesorius sukurtas su programuojamu greito pertraukimo valdikliu (PFIC), kuris gali valdyti iki 256 pertraukimų, įskaitant išimtis.
- Pirmieji 16 iš jų yra fiksuoti kaip vidiniai mikroprocesoriaus pertraukimai, o likusieji yra išoriniai, ty maksimalus išorinių pertraukimų skaičius gali būti padidintas iki 240. Pagrindinės jo savybės yra šios.
- 240 išorinių pertraukimų, kiekviena pertraukimo užklausa turi nepriklausomus trigerio ir kaukės valdymo bitus su tam skirtais būsenos bitais
- Programuojamas pertraukimo prioritetas palaiko 2 įdėjimo lygius
- Specialus greitas pertraukimo mechanizmas, automatinis aparatinės įrangos sukrovimas ir atkūrimas, maksimalus 2 lygių HPE gylis
- Nemokamos vektorinės lentelės (VTF) pertraukimo atsako mechanizmas, 2 kanalų programuojama tiesioginė prieiga prie pertraukimo vektorių adresų
- Pastaba: Didžiausias lizdo gylis ir HPE gylis, palaikomas pertraukimo valdiklių, skiriasi įvairiems mikroprocesorių modeliams, kuriuos galite rasti 1-1 lentelėje.
- Pertraukimų ir išimčių vektorinė lentelė parodyta 3-1 lentelėje.
3-1 lentelė Išimčių ir pertraukimų vektorių lentelė
| Skaičius | Pirmenybė | Tipas | Vardas | Aprašymas |
| 0 | – | – | – | – |
| 1 | – | – | – | – |
| 2 | -5 | Pataisyta | NMI | Neužmaskuojamas pertraukimas |
| 3 | -4 | Pataisyta | EXC | Išimčių pertraukimas |
| 4 | – | – | – | – |
| 5 | -3 | Pataisyta | ECALL-M | Mašinos režimo atgalinio skambinimo pertraukimas |
| 6-7 | – | – | – | – |
| 8 | -2 | Pataisyta | ECALL-U | Vartotojo režimo atgalinio skambinimo pertraukimas |
| 9 | -1 | Pataisyta | LŪŽIO TAŠKAS | Pertraukos taško atgalinio skambinimo pertraukimas |
| 10-11 | – | – | – | – |
| 12 | 0 | Programuojamas | SysTick | Sistemos laikmačio pertraukimas |
| 13 | – | – | – | – |
| 14 | 1 | Programuojamas | SWI | Programinės įrangos pertraukimas |
| 15 | – | – | – | – |
| 16-255 | 2-241 | Programuojamas | Išorinis pertraukimas | Išorinis pertraukimas 16-255 |
Pastaba: ECALL-M, ECALL-U ir BREAKPOINT yra skirtingi EXC išimties tipai, kurie yra nepriklausomi V3B/C, kad būtų lengviau naudoti, o pirmiau minėti 3 įvesties adresai bendrinami su EXC V3A.
PFIC registro rinkinys
3-2 lentelė PFIC registrai
| Vardas | Prieigos adresas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| PFIC_ISRx | 0xE000E000
-0xE000E01C |
RO | Pertraukimo įjungimo būsenos registras x | 0x00000000 |
| PFIC_IPRx | 0xE000E020
-0xE000E03C |
RO | Nutraukti laukiamos būsenos registrą x | 0x00000000 |
| PFIC_ITHRESDR | 0xE000E040 | RW | Pertraukimo prioriteto slenksčio konfigūracijos registras | 0x00000000 |
| PFIC_VTFBADDRR | 0xE000E044 | RW | VTF bazinis adresų registras
Pastaba: galioja tik V3A |
0x00000000 |
| PFIC_CFGR | 0xE000E048 | RW | Nutraukti konfigūracijos registrą
Pastaba: galioja tik V3A |
0x00000000 |
| PFIC_GISR | 0xE000E04C | RO | Pertraukite visuotinį būsenos registrą | 0x00000002 |
|
PFIC_VTFIDR |
0xE000E050 |
RW |
VTF pertraukimo ID konfigūracijos registras
Pastaba: galioja tik V3B/C. |
0x00000000 |
| PFIC_VTFADDRRx | 0xE000E060
-0xE000E06C |
RW | VTF x ofsetinio adreso registras | 0xXXXXXXXXX |
| PFIC_IENRx | 0xE000E100
-0xE000E11C |
WO | Pertraukimo įjungimo nustatymo registras x | 0x00000000 |
| PFIC_IRERx | 0xE000E180
-0xE000E19C |
WO | Pertraukimo įgalinimas išvalyti x registrą | 0x00000000 |
| PFIC_IPSRx | 0xE000E200
-0xE000E21C |
WO | Nutraukti laukiamų nustatymo registrą x | 0x00000000 |
| PFIC_IPRRx | 0xE000E280
-0xE000E29C |
WO | Pertraukti laukiama išvalyti registrą x | 0x00000000 |
| PFIC_IACTRx | 0xE000E300
-0xE000E31C |
RO | Pertraukimo aktyvinimo būsenos registras x | 0x00000000 |
| PFIC_IPRIORx | 0xE000E400
-0xE000E43C |
RW | Nutraukti prioriteto konfigūracijos registrą | 0x00000000 |
| PFIC_SCTLR | 0xE000ED10 | RW | Sistemos valdymo registras | 0x00000000 |
Pastaba:
- Pagal numatytuosius nustatymus visada įjungiami NMI, EXC, ECALL-M, ECALL-U ir BREAKPOINT.
- ECALL-M, ECALL-U ir BREAKPOINT yra EXC atvejis.
- NMI, EXC, ECALL-M, ECALL-U ir lūžio taškas palaiko pertraukimą laukiant išvalymo ir nustatymo operacijos, bet ne pertraukimas, leidžiantis išvalyti ir nustatyti operaciją.
Kiekvienas registras aprašomas taip:
Pertraukimo įjungimo būsena ir laukiančios būsenos registrų pertraukimas (PFIC_ISR<0-7>/PFIC_IPR<0-7>)
| Vardas | Prieigos adresas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| PFIC_ISR0 | 0xE000E000 | RO | Pertraukimas 0-31 įjungia būsenos registrą, iš viso 32 būsenos bitai [n], nurodant #n pertraukimas įgalina būseną
Pastaba: NMI ir EXC įjungti pagal nutylėjimą |
V3A: 0x0000000C
V3B/C: 0x0000032C |
| PFIC_ISR1 | 0xE000E004 | RO | Pertraukimas 32-63 įgalinimo būsenos registras, iš viso 32 būsenos bitai | 0x00000000 |
| … | … | … | … | … |
| PFIC_ISR7 | 0xE000E01C | RO | Pertraukimas 224-255 įjungti būsenos registrą, iš viso 32 būsenos bitai | 0x00000000 |
| PFIC_IPR0 | 0xE000E020 | RO | Laukiama pertraukimo 0–31 būsena | 0x00000000 |
| registre, iš viso 32 būsenos bitai [n], nurodantys laukiančią pertraukimo #n būseną | ||||
| PFIC_IPR1 | 0xE000E024 | RO | Pertraukite 32-63 laukiančių būsenų registrus, iš viso 32 būsenos bitus | 0x00000000 |
| … | … | … | … | … |
| PFIC_IPR7 | 0xE000E03C | RO | Pertraukti 244-255 laukiančių būsenų registrą, iš viso 32 būsenos bitai | 0x00000000 |
Du registrų rinkiniai naudojami atitinkamiems pertraukimams įjungti ir išjungti.
Pertraukimo įjungimo nustatymas ir registrų išvalymas (PFIC_IENR<0-7>/PFIC_IRER<0-7>)3
| Vardas | Prieigos adresas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| PFIC_IENR0 | 0xE000E100 | WO | Pertraukimas 0-31 įgalina nustatymo registrą, iš viso 32 nustatymo bitai [n], pertraukimo #n įgalinimo nustatymui
Pastaba: NMI ir EXC yra įjungta pagal nutylėjimą |
0x00000000 |
| PFIC_IENR1 | 0xE000E104 | WO | Pertraukite 32-63, kad įjungtumėte nustatymo registrą, iš viso 32 nustatymo bitai | 0x00000000 |
| … | … | … | … | … |
| PFIC_IENR7 | 0xE000E11C | WO | Pertraukimo 224-255 įjungimo nustatymas
registras, iš viso 32 nustatymo bitai |
0x00000000 |
| – | – | – | – | – |
| PFIC_IRER0 | 0xE000E180 | WO | Pertraukimai nuo 0 iki 31 įgalina išvalyti registrą, iš viso 32 išvalomi bitai [n], pertraukimui #n įgalinti išvalyti Pastaba: NMI ir EXC negali būti operuoti |
0x00000000 |
| PFIC_IRER1 | 0xE000E184 | WO | Pertraukimas 32-63 įgalina aiškų registrą, iš viso 32 aiškius bitus | 0x00000000 |
| … | … | … | … | … |
| PFIC_IRER7 | 0xE000E19C | WO | Pertraukimas 244-255 įgalina aiškų registrą, iš viso 32 aiškus bitus | 0x00000000 |
Du registrų rinkiniai naudojami atitinkamiems pertraukimams įjungti ir išjungti.
Nutraukti laukiantį nustatymą ir išvalyti registrus (PFIC_IPSR<0-7>/PFIC_IPRR<0-7>)
| Vardas | Prieigos adresas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
|
PFIC_IPSR0 |
0xE000E200 |
WO |
Pertraukimas 0-31 laukiamas nustatymo registras, 32
nustatymo bitai [n], pertraukimui #n laukiamas nustatymas |
0x00000000 |
| PFIC_IPSR1 | 0xE000E204 | WO | Nutraukti 32-63 laukiantį sąrankos registrą,
iš viso 32 sąrankos bitai |
0x00000000 |
| … | … | … | … | … |
| PFIC_IPSR7 | 0xE000E21C | WO | Laukiama pertraukimo 224-255 nustatymo
registras, iš viso 32 nustatymo bitai |
0x00000000 |
| – | – | – | – | – |
|
PFIC_IPRR0 |
0xE000E280 |
WO |
Pertraukimas 0–31 laukiančio išvalymo registro, iš viso 32 išvalyti bitai [n], pertraukimui #n
laukiamas aiškus |
0x00000000 |
| PFIC_IPRR1 | 0xE000E284 | WO | 32-63 pertraukimas, kol registras bus išvalytas,
iš viso 32 skaidrūs bitai |
0x00000000 |
| … | … | … | … | … |
| PFIC_IPRR7 | 0xE000E29C | WO | 244-255 pertraukimas, kol registras bus išvalytas,
iš viso 32 skaidrūs bitai |
0x00000000 |
Kai mikroprocesorius įgalina pertraukimą, jį galima nustatyti tiesiogiai per pertraukimo laukiantį registrą, kad suaktyvintų pertraukimą. Norėdami išvalyti laukiantį trigerį, naudokite pertraukimo laukiančio išvalymo registrą.
Pertraukimo aktyvinimo būsenos registras (PFIC_IACTR<0-7>)
| Vardas | Prieigos adresas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| PFIC_IACTR0 | 0xE000E300 | RO | Pertraukimas 0-31 suaktyvina būsenos registrą su 32 būsenos bitais [n], nurodant, kad vykdomas pertraukimas #n | 0x00000000 |
| PFIC_IACTR1 | 0xE000E304 | RO | Pertraukite 32–63 aktyvavimo būsenos registrus, 32 būsenos bitus
viso |
0x00000000 |
| … | … | … | … | … |
| PFIC_IACTR7 | 0xE000E31C | RO | Pertraukti 224-255 aktyvinimo būsenos registrus, iš viso 32 būsenos bitai | 0x00000000 |
Kiekvienas pertraukimas turi aktyvios būsenos bitą, kuris nustatomas įvedant pertraukimą ir išvalomas aparatinės įrangos, kai grįžta rinka.
Nutraukti prioriteto ir prioriteto slenksčio registrus (PFIC_IPRIOR<0-7>/PFIC_ITHRESDR)
| Vardas | Prieigos adresas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| PFIC_IPRIOR0 | 0xE000E400 | RW | Nutraukti 0 prioriteto konfigūraciją. V3A: [7:4]: Prioriteto valdymo bitai Jei konfigūracija neįdėta, išankstinio nustatymo bito nėra Jei sukonfigūruotas įdėjimas, bit7 yra išankstinis bitas. [3:0]: rezervuota, nustatyta į 0 V3B: [7:6]: Prioritetiniai valdymo bitai Jei konfigūracija neįdėta, nėra sukonfigūruotų įdėtų prevencinių bitų, visi bitai yra iš anksto numatyti, tačiau leidžiama įvykti iki dviejų lygių pertraukimų [5:0]: Rezervuota, fiksuota 0 V3C: [7:5]: prioriteto valdymo bitai Jei konfigūracija neįdėta, prevencinių bitų nėra Jei sukonfigūruota įdėtoji, visi bitai yra iš anksto numatyti, tačiau leidžiama įvykti iki dviejų lygių pertraukimų [4:0]: Rezervuota, fiksuota iki 0 Pastaba: Kuo mažesnė prioriteto reikšmė, tuo didesnis prioritetas. Jei tuo pačiu metu nutrūksta tas pats išankstinio prioriteto pertraukimas, pirmiausia bus vykdomas didesnio prioriteto pertraukimas. |
0x00 |
| PFIC_IPRIOR1 | 0xE000E401 | RW | 1 pertraukimo prioriteto nustatymas, ta pati funkcija kaip PFIC_IPRIOR0 | 0x00 |
| PFIC_IPRIOR2 | 0xE000E402 | RW | 2 pertraukimo prioriteto nustatymas, ta pati funkcija kaip PFIC_IPRIOR0 | |
| … | … | … | … | … |
| PFIC_IPRIOR254 | 0xE000E4FE | RW | Pertraukimo 254 prioriteto nustatymas, ta pati funkcija kaip PFIC_IPRIOR0 | 0x00 |
| PFIC_IPRIOR255 | 0xE000E4FF | RW | 255 pertraukimo prioriteto nustatymas, ta pati funkcija kaip PFIC_IPRIOR0 | 0x00 |
| – | – | – | – | – |
| PFIC_ITHRESDR | 0xE000E040 | RW | Pertraukimo prioriteto slenksčio nustatymas
V3A: [31:8]: rezervuota, nustatyta 0 [7:4]: prioriteto slenkstis [3:0]: rezervuota, nustatyta 0 V3B: [31:8]: rezervuota, nustatyta 0 [7:5]: prioriteto slenkstis [4:0]: rezervuota, nustatyta 0 V3C: [31:8]: rezervuota, nustatyta 0 [7:5]: prioriteto slenkstis [4:0]: rezervuota, nustatyta 0 Pastaba: Pertraukimams, kurių prioriteto reikšmė ≥ slenkstis, pertraukimo paslaugos funkcija nevykdoma, kai įvyksta pakibimas, o kai šis registras yra 0, tai reiškia, kad slenksčio registras yra neteisingas. |
0x00 |
Pertraukimo konfigūracijos registras (PFIC_CFGR)
| Vardas | Prieigos adresas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| PFIC_CFGR | 0xE000E048 | RW | Nutraukti konfigūracijos registrą | 0x00000000 |
Šis registras galioja tik V3A, jo bitai apibrėžiami taip:
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:16] | KEYCODE | WO | Atitinkami skirtingi tiksliniai valdymo bitai, atitinkami saugos prieigos identifikavimo duomenys turi būti parašyti vienu metu, kad būtų galima juos modifikuoti, o nuskaitymo duomenys fiksuojami iki 0. KEY1 = 0xFA05; KEY2 = 0xBCAF; KEY3 = 0xBEEF. | 0 |
| [15:8] | Rezervuota | RO | Rezervuota | 0 |
| 7 | SYSRESET | WO | Sistemos atstatymas (vienu metu rašoma į KEY3). Automatinis valymas 0.
Rašyti 1 galioja, rašyti 0 negalioja. Pastaba: ta pati funkcija kaip ir PFIC_SCTLR registro SYSRESET bitui. |
0 |
| 6 | PFICRESET | WO | PFIC modulio atstatymas. Automatinis valymas 0.
Rašyti 1 galioja, rašyti 0 negalioja. |
0 |
| 5 | EXPRESS | WO | Laukiama išimties pertraukimo išvalymo (vienu metu rašoma į KEY2)
Rašyti 1 galioja, rašyti 0 negalioja. |
0 |
| 4 | EXCSET | WO | Laukiama išimties pertraukimo nustatymo (vienu metu rašoma į KEY2)
Rašyti 1 galioja, rašyti 0 negalioja. |
0 |
| 3 | NMIRESET | WO | Laukiama NMI pertraukimo išvalymo (vienu metu rašoma į KEY2)
Rašyti 1 galioja, rašyti 0 negalioja. |
0 |
| 2 | NMISET | WO | Laukiamas NMI pertraukimo nustatymas (vienu metu rašoma į KEY2)
Rašyti 1 galioja, rašyti 0 negalioja. |
0 |
| 1 | NESTCTRL | RW | Sujungimo pertraukimas leidžia valdyti.
1: išjungtas; 0: įjungta (sinchroninis rašymas į KEY1) |
0 |
| 0 | HWSTKCTRL | RW | HPE įgalinimo valdymas
1: išjungtas; 0: įjungta (sinchroninis rašymas į KEY1) |
0 |
Pertraukti visuotinį būsenos registrą (PFIC_GISR)
| Vardas | Prieigos adresas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| PFIC_GISR | 0xE000E04C | RO | Pertraukite visuotinį būsenos registrą | 0x00000000 |
Jos žmonės apibrėžiami kaip
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:14] | Rezervuota | RO | Rezervuota | 0 |
|
13 |
LOCKSTA |
RO |
Ar procesorius šiuo metu yra užrakintas:
1: Užrakinta būsena; 0: neužrakinta būsena. Pastaba: šis bitas galioja tik V3B/C. |
0 |
|
12 |
DBGMODE |
RO |
Ar procesorius šiuo metu yra derinimo būsenoje: 1: derinimo būsena;
0: nederinimo būsena. Pastaba: šis bitas galioja tik V3B/C. |
0 |
|
11 |
GLOBLIE |
RO |
Visuotinio pertraukimo įgalinimas:
1: Įjungti pertraukimą; 0: išjungti pertraukimą. Pastaba: šis bitas galioja tik V3B/C. |
|
| 10 | Rezervuota | RO | Rezervuota | 0 |
| 9 | GPENDSTA | RO | Ar šiuo metu laukiama pertraukimo.
1: Taip; 0: Ne. |
0 |
| 8 | GACTSTA | RO | Ar šiuo metu vykdomas pertraukimas.
1: Taip; 0: Ne. |
0 |
|
[7:0] |
NESTSTA |
RO |
Dabartinė pertraukimo lizdo būsena. 0x03: 2 lygio pertraukimas.
0x01: 1 lygio pertraukimas. 0x00: pertraukimų nebūna. Kita: Neįmanoma situacija. |
0 |
VTF ID bazinio adreso ir poslinkio adresų registrai (PFIC_VTFBADDRR/PFIC_VTFADDRR<0-3>)
| Vardas | Prieigos adresas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
|
PFIC_VTFBADDRR |
0xE000E044 |
RW |
[31:28]: Aukšti 4 VTF tikslinio adreso bitai
[27:0]: Rezervuota Šis registras galioja tik V3A. |
0x00000000 |
|
PFIC_VTFIDR |
0xE000E050 |
RW |
[31:24]: VTF 3 numeris
[23:16]: VTF 2 numeris [15:8]: VTF 1 numeris [7:0]: VTF 0 numeris Šis registras galioja tik V3B/C. |
0x00000000 |
| – | – | – | – | – |
|
PFIC_VTFADDRR0 |
0xE000E060 | RW | V3A:
[31:24]: VTF 0 pertraukimo numeris [23:0]: žemieji 24 VTF tikslinio adreso bitai, iš kurių žemi 20 bitų yra sukonfigūruoti kaip galiojantys, o [23:20] yra 0. V3B/C: [31:1]: VTF 0 adresas, sulygiuotas 2 baitais [0]: 1: įgalinkite VTF 0 kanalą 0: išjungti |
V3A: 0x00000000 V3B/C: 0xXXXXXXXXX |
|
PFIC_VTFADDRR1 |
0xE000E064 |
RW |
V3A:
[31:24]: VTF 1 pertraukimo numeris [23:0]: Žemieji 24 VTF tikslinio adreso bitai, iš kurių žemieji 20 bitų yra sukonfigūruoti kaip galiojantys, o [23:20] yra 0.
V3B/C: [31:1]: VTF 1 adresas, sulygiuotas 2 baitais [0]: 1: įgalinkite VTF 1 kanalą 0: išjungti |
V3A: 0x00000000 V3B/C: 0xXXXXXXXXX |
|
PFIC_VTFADDRR2 |
0xE000E068 |
RW |
V3A:
[31:24]: VTF 2 pertraukimo numeris [23:0]: žemieji 24 VTF tikslinio adreso bitai, iš kurių žemi 20 bitų yra sukonfigūruoti kaip galiojantys, o [23:20] yra 0.
V3B/C: [31:1]: VTF 2 adresas, sulygiuotas 2 baitais [0]: 1: įgalinkite VTF 2 kanalą 0: išjungti |
V3A: 0x00000000 V3B/C: 0xXXXXXXXXX |
| PFIC_VTFADDRR3 | 0xE000E06C | RW | V3A: | V3A: |
| [31:24]: VTF 3 pertraukimo numeris
[23:0]: žemieji 24 VTF tikslinio adreso bitai, iš kurių žemi 20 bitų yra sukonfigūruoti kaip galiojantys, o [23:20] yra 0. V3B/C: [31:1]: VTF 3 adresas, sulygiuotas 2 baitais [0]: 1: įgalinkite VTF 3 kanalą 0: išjungti |
0x00000000
V3B/C: 0xXXXXXXXXX |
Sistemos valdymo registras (PFIC_SCTLR)
| Vardas | Prieigos adresas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| PFIC_SCTLR | 0xE000ED10 | RW | Sistemos valdymo registras | 0x00000000 |
Kiekvienas iš jų apibrėžiamas taip.
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| 31 | SYSRESET | WO | Sistemos atstatymas, automatinis išvalymas 0. Rašyti 1 galioja, o rašyti 0 netinkamas.
Pastaba: šis bitas galioja tik V3B/C |
0 |
| [30:6] | Rezervuota | RO | Rezervuota | 0 |
| 5 | SEVENTAS | WO | Nustatykite įvykį, kad pažadintumėte WFE atvejį. | 0 |
|
4 |
SEVONPENDAS | RW | Įvykus įvykiui arba nutraukus laukiančią būseną, sistema gali būti pažadinama po WFE komandos, arba jei WFE komanda nevykdoma, sistema bus pažadinama iškart po kito komandos vykdymo.
1: Įjungti įvykiai ir visi pertraukimai (įskaitant neįjungtus pertraukimus) gali pažadinti sistemą. 0: tik įjungti įvykiai ir įjungti pertraukimai gali pažadinti sistemą. |
0 |
| 3 | WFITOWFE | RW | Vykdykite WFI komandą taip, lyg tai būtų WFE.
1: Laikykite tolesnę WFI instrukciją kaip WFE nurodymą. 0: jokio poveikio. |
0 |
| 2 | MIELAI | RW | Valdymo sistemos mažos galios režimas. | 0 |
| 1: gilus miegas 0: miegas | ||||
| 1 | SLEEPONEXI T | RW | Sistemos būsena po to, kai valdymas išeina iš pertraukimo paslaugų programos.
1: Sistema pereina į mažos galios režimą. 0: sistema patenka į pagrindinę programą. |
0 |
| 0 | Rezervuota | RO | Rezervuota | 0 |
Su pertraukimu susiję CSR registrai
Be to, toliau nurodyti CSR registrai taip pat turi didelę įtaką pertraukimų apdorojimui. Pertraukti sistemos valdymo registrą (intsyscr)
Šis registras negalioja tik V3A:
| Vardas | ĮSA Adresas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| intsyscr | 0x804 | URW | Pertraukti sistemos valdymo registrą | 0x0000E002 |
Jos žmonės apibrėžiami taip:
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
|
31 |
UŽRAKTAS |
URO |
0: Šį registrą galima skaityti ir įrašyti vartotojo režimu;
1: Šį registrą galima nuskaityti ir įrašyti tik mašinos režimu. Pastaba: šis konfigūracijos bitas galioja nuo 1.0 ir naujesnė versija. |
0 |
| [30:6] | Rezervuota | URO | Rezervuota | 0x380 |
|
5 |
GIHWSTKNEN |
URW1 |
Įgalintas visuotinis pertraukimas ir aparatinės įrangos kamino išjungimas.
Pastaba: šis bitas dažnai naudojamas realaus laiko operacinėse sistemose. Kai pertraukimo metu kontekstas perjungiamas, šio bito nustatymas gali išjungti visuotinį pertraukimą ir nustumti aparatūros krūvą. Kai konteksto perjungimas bus baigtas ir pertraukimas grįš, aparatinė įranga tai padarys automatiškai išvalykite šį bitą. |
0 |
| 4 | Rezervuota | URO | Rezervuota | 0 |
| [3:2] | PMTCFG | URW | Pirmenybinių pirmumo bitų konfigūracija:
00: pirmumo bitų skaičius yra 0; 01: pirmumo bitų skaičius yra 1; 10: pirmumo bitų skaičius yra 2; 11: pirmumo bitų skaičius yra 3; Pastaba: šis konfigūracijos bitas galioja po 1.0. |
0 |
| 1 | KLAUSYKITE | URW | Pertraukimo įdėjimo funkcija įjungta, o fiksuota vertė yra 1: | 1 |
| 0: Išjungti;
1: Įjungti. Pastaba: 1. Faktinį įdėjimo lygį valdo NEST_LVL CSR 0xBC1; 2. Gali būti tik versijos po 1.0 parašyta. |
||||
| 0 | HWSTKEN | URW | Aparatinės įrangos krūvos įgalinimas:
0: aparatinės įrangos krūvos spaudimo funkcija išjungta; 1: įjungta aparatinės įrangos krūvos spaudimo funkcija. |
0 |
Mašinos režimo išimties bazinio adreso registras (mtvec)
| Vardas | ĮSA Adresas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| mtvec | 0x305 | MRW | Išimtis bazinis adresų registras | 0x00000000 |
Jos žmonės apibrėžiami kaip
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:2] | BASEADDR[31:2] | MRW | Pertraukimo vektorinės lentelės bazės adresas, kur
bitai [9:2] yra fiksuoti iki 0. |
0 |
| 1 | MODE1 |
MRO |
Pertraukimo vektoriaus lentelės atpažinimo režimas: 0: Identifikuokite pagal šuolio komandą, su ribota apimtimi ir palaikykite neperšokančias komandas;
1: identifikuokite pagal absoliutų adresą, palaikykite visą diapazoną, bet turi šokinėti. Pastaba: šis bitas galioja tik V3B/C. |
0 |
| 0 | MODE0 | MRW | Pertraukimo arba išimties įvedimo adreso režimo pasirinkimas.
0: vienodo įėjimo adreso naudojimas. 1: Adreso poslinkis pagal pertraukimo numerį *4. |
0 |
MCU su V3 serijos mikroprocesoriais MODE0 pagal numatytuosius nustatymus paleidžiant yra sukonfigūruotas kaip 1 file, o išimčių ar pertraukimų įrašai yra perstumti pagal pertraukimo numerį *4. Atkreipkite dėmesį, kad V3A mikroprocesorius išsaugo šuolio komandą vektorių lentelėje, o V3B/C mikroprocesorius gali arba šuolio komandą, arba naudoti absoliutų pertraukimo funkcijos adresą, kuris sukonfigūruojamas kaip absoliutus adresas numatytojo paleidimo metu. file.
Mikroprocesoriaus konfigūracijos registras (korektorius)
Šis registras netinkamas V3A:
| Vardas | ĮSA Adresas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| corecfgr | 0xBC0 | MRW | Mikroprocesorių konfigūracijos registras | 0x00000001 |
Jos žmonės apibrėžiami kaip
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:8] | Rezervuota | MRO | Rezervuota | 0 |
|
7 |
CSTA_FAULT_IE |
MRW |
Pagrindinės būsenos klaidos pertraukimo įjungimas:
0: Esant būsenos klaidai, NMI pertraukimas negeneruojamas; 1: Esant būsenos klaidai, NMI pertraukimas yra sukurtas. |
0 |
| 6 | Rezervuota | MRO | Laikykite 0. | 0 |
| 5 | IE_REMAP_EN | MRW | MIE registro atvaizdavimas leidžia:
0: CSR adresas 0x800 yra tik skaitomas registras, o grąžinama reikšmė yra STATUS reikšmė; 1: CSR adreso 3x7 bitai 0 ir 800 atitinkamai susieti su STATUS registro bitu MIE ir STATUS registro bitu MPIE. |
0 |
| 4 | Rezervuota | MRO | Rezervuota | 0 |
| 3 | ROM_LOOP_ACC | MRW | ROM srities instrukcijų ciklo pagreičio įjungimas:
0: išjunkite ciklinio pagreičio funkciją ROM srityje; 1: Nepertraukiamos instrukcijos, kurių kilpos turinys yra 128 baitai, bus visiškai paspartintas, o tos, kurių kilpos korpusas neviršija 256 baitų, bus iš dalies paspartintos; |
0 |
| 2 | ROM_JUMP_ACC | MRW | Įjungtas ROM srities instrukcijų šuolio pagreitis:
0: išjungti ROM srities instrukcijų šuolio pagreitį; 1: ROM srityje įgalinkite instrukcijų šuolio pagreitį. |
0 |
| [1:0] | FETCH_MODE | MRW | Gavimo režimas:
00: Išankstinis gavimas išjungtas. Išankstinio instrukcijų gavimo funkcija yra išjungta, kad būtų išvengta neteisingų instrukcijų gavimo operacijų, o procesoriaus konvejeryje yra daugiausia viena tinkama instrukcija. Šio modelio energijos suvartojimas yra mažiausias, o jo našumas sumažėja maždaug 2–3 kartus. 01: Išankstinio gavimo režimas 1. Įjungus komandų išankstinio gavimo funkciją, CPU ir toliau prieis prie komandų atminties tol, kol vidiniame komandų buferyje vykdytinų komandų skaičius viršys tam tikrą skaičių arba komandų buferis bus pilnas ir instrukcijų gavimas bus sustabdytas; (CPU numatymo gedimas sukels perteklinę gavimo operaciją, o kai kuriais atvejais vykdymo blokas įves 0–2 burbulų ciklus, o daugumos programų našumas akivaizdžiai nesumažės); 10: Rezervuota; |
0x1 |
Pertraukti įdėto valdymo registrą (inestcr)
Šis registras negalioja tik V3A:
| Vardas | ĮSA Adresas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| investuotojas | 0xBC1 | MRW | Pertraukti įdėto valdymo registrą | 0x00000000 |
Jos žmonės apibrėžiami kaip
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| 31 | Rezervuota | MRO | Rezervuota | 0 |
| 30 | NEST_OV | MRW | Pertraukimo / išimties įdėtas perpildymo vėliavėlės bitas, parašykite 1, kad išvalytumėte:
0: pertrauka neperpildyta; 1: pertraukimo perpildymo vėliavėlė. Pastaba: Pertraukimo perpildymas įvyks tik tada, kai vykdoma antrinio pertraukimo paslaugos funkcija, kad būtų sukurta komandos išimtis arba NMI pertraukimas. Šiuo metu išimtis ir NMI pertraukimas įvedami įprastai, tačiau procesoriaus krūva perpildo, todėl negalite išeiti iš šios išimties ir NMI pertraukimas. |
0 |
| [29:12] | Rezervuota | MRO | Rezervuota | 0 |
| [11:8] | NEST_STA | MRO | Įdėtos būsenos vėliavėlės bitas:
0000: be pertraukų; 0001: 1 lygio pertraukimas; 0011: 2 lygio pertraukimas (1 lygio įdėjimas); |
0 |
| 0111: 3 lygio pertraukimas (perpildymas);
1111: 4 lygio pertraukimas (perpildymas). |
||||
| [7:2] | Rezervuota | MRO | Rezervuota | 0 |
| [1:0] | NEST_LVL | MRW | Įdėjimo lygis:
00: lizdas draudžiamas, o įdėjimo funkcija išjungta; 01: pirmojo lygio įdėjimas, kuris įjungia įdėjimo funkciją; Kita: Neteisinga. Pastaba: Į šį lauką įrašykite 10 arba 11, ir laukas bus nustatytas į 01. Kai į šį lauką rašote 11, perskaitykite šį registrą, kad gautumėte aukščiausią lusto įdėjimo lygį. |
0 |
Vartotojo režimo visuotinio pertraukimo įjungimo registras (intern)
Šis registras negalioja tik V3A:
| Vardas | ĮSA Adresas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| gintenr | 0x800 | URW | Visuotinio pertraukimo įjungimo registras | 0x00000000 |
Šis registras naudojamas visuotinio pertraukimo įjungimui ir maskavimui valdyti. Visuotinio pertraukimo įjungimą ir maskavimą mašinos režimu galima valdyti MIE ir MPIE bitais, tačiau šio registro negalima valdyti vartotojo režimu.
Visuotinis pertraukimo įgalinimo registras gintenr yra MIE ir MPIE susiejimas mstatus ir gali būti naudojamas MIE ir MPIE nustatyti ir išvalyti naudojant gintenr vartotojo režimu.
Kiekvienas iš jų apibrėžiamas taip:
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:13] | Rezervuota | URO | Rezervuota | 0 |
| [12:11] | MPP | URO | Prieš pertraukdami įjunkite privilegijuotą režimą. | 0 |
| [10:8] | Rezervuota | URO | Rezervuota | 0 |
| 7 | MPIE | URW | Kai įjungtas 0xBC0(CSR)bit5, šis bitas
galima skaityti ir rašyti vartotojo režimu. |
0 |
| [6:4] | Rezervuota | URO | Rezervuota | 0 |
| 3 | MIE | URW | Kai įjungtas 0xBC0(CSR)bit5, šis bitas
galima skaityti ir rašyti vartotojo režimu. |
0 |
| [1:0] | Rezervuota | URO | Rezervuota | 0 |
Pertraukite lizdavimą
Kartu su pertraukimu, konfigūracijos registru PFIC_CFGR ir pertraukimo prioriteto registru PFIC_IPRIOR gali būti leidžiama įterpti pertraukimus. Įgalinkite įdėjimą pertraukų konfigūracijos registre (V3 serijos mikroprocesorių įdėjimas įjungtas pagal numatytuosius nustatymus) ir sukonfigūruokite atitinkamo pertraukimo prioritetą. Kuo mažesnė prioriteto reikšmė, tuo didesnis prioritetas. Kuo mažesnė išankstinio pirkimo bito reikšmė, tuo didesnis pirmenybės prioritetas. Jei tuo pačiu metu yra pertraukimų, turinčių tą patį pirmumo prioritetą, mikroprocesorius pirmiausia reaguoja į pertraukimą su žemesnio prioriteto reikšme (didesniu prioritetu).
Aparatinės įrangos prologas / epilogas (HPE)
- Kai atsiranda išimtis ar pertraukimas, mikroprocesorius sustabdo esamą programos srautą ir pereina prie išimties ar pertraukimo apdorojimo funkcijos vykdymo, dabartinės programos srauto vietą reikia išsaugoti. Po išimties ar pertraukimo grįžimo būtina atkurti svetainę ir tęsti sustabdyto programos srauto vykdymą. V3 serijos mikroprocesoriams čia esanti „svetainė“ reiškia visus įrašytus skambintojo registrus 1-2 lentelėje.
- V3 serijos mikroprocesoriai palaiko aparatinės įrangos vieno ciklo automatinį 16 formos skambinančiojo išsaugotų registrų įrašymą į vidinę krūvos sritį, kuri vartotojui nematoma. Kai grįžta išimtis arba pertraukimas, aparatinės įrangos vienas ciklas automatiškai atkuria duomenis iš vidinės kamino srities į 16 formos registrus. HPE palaiko lizdą iki 2 lygių gylio.
- Mikroprocesoriaus slėgio kamino schema parodyta kitame paveikslėlyje.

Pastaba:
- Pertraukimo funkcijas naudojant HPE reikia sukompiliuoti naudojant MRS arba jos pateiktą įrankių grandinę, o pertraukimo funkciją reikia deklaruoti naudojant __attribute__((interrupt("WCH-Interrupt-fast"))).
- Pertraukimo funkcija naudojant stack push yra deklaruojama __attribute__((interrupt())).
Nemokama vektorinė lentelė (VTF)
- Programuojamas greitas pertraukų valdiklis (PFIC) suteikia 4 VTF kanalus, ty tiesioginę prieigą prie pertraukimo funkcijos įrašo nepertraukiant pertraukimo vektorių lentelės paieškos.
- VTF kanalą galima įjungti į atitinkamą PFIC valdiklio registrą įrašant jo pertraukimo numerį, pertraukimo paslaugos bazinį adresą ir poslinkio adresą, o įprastai konfigūruojant pertraukimo funkciją.
- PFIC atsako procesas greitiems ir be lentelių pertraukimams parodytas 3-2 pav.

Fizinės atminties apsauga PMP
- Siekiant pagerinti sistemos saugumą, fizinės atminties apsaugos (PMP) modulis sukurtas pagal RISC-V architektūros standartą V3 serijos aukštaičių miežių mikroprocesoriams. Palaikomas iki 4 fizinių regionų prieigos teisių valdymas. Leidimai apima skaitymo (R), rašymo (W) ir vykdymo (X) atributus, o saugomos srities ilgį galima nustatyti mažiausiai 4 baitus. PMP modulis visada veikia vartotojo režimu, tačiau jis gali įsigalioti pasirinktinai užrakinant (L) atributą mašinos režimu.
- Jei prieiga pažeidžia esamą leidimo ribą, ji suaktyvins neįprastą pertraukimą. PMP modulis apima keturias 8 bitų konfigūracijos registrų grupes (viena 32 bitų grupė) ir keturias adresų registrų grupes, kurias visas reikia pasiekti mašinos režimu naudojant CSR nurodymus.
- Pastaba: Saugomų teritorijų, kurias palaiko PMP, skaičius skirtinguose mikroprocesorių modeliuose gali skirtis, o pmpcfg ir pmpaddr registrų palaikomas skaičius taip pat skiriasi. Daugiau informacijos rasite 1-1 lentelėje.
PMP registro rinkinys
CSR registrų, kuriuos palaiko V3 mikroprocesoriaus PMP modulis, sąrašas parodytas 4-1 lentelėje.
4-1 lentelė PMP modulių registrų rinkinys
| Vardas | CSR adresas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| pmpcfg0 | 0x3A0 | MRW | PMP konfigūracijos registras 0 | 0x00000000 |
| pmpaddr0 | 0x3B0 | MRW | PMP adresų registras 0 | 0xXXXXXXXXX |
| pmpaddr1 | 0x3B1 | MRW | PMP adresų registras 1 | 0xXXXXXXXXX |
| pmpaddr2 | 0x3B2 | MRW | PMP adresų registras 2 | 0xXXXXXXXXX |
| pmpaddr3 | 0x3B3 | MRW | PMP adresų registras 3 | 0xXXXXXXXXX |
pmp
pmpcfg yra PMP įrenginio konfigūracijos registras, kiekviename registre yra keturi 8 bitų siurbimo laukai, atitinkantys keturių regionų konfigūraciją, o pumpavimas reiškia i regiono konfigūracijos reikšmę. Jo formatas parodytas 4-2 lentelėje.
4-2 lentelė pmpcfg0 registras
pmpcfg naudojamas konfigūruoti I sritį, o jos bitų apibrėžimas aprašytas 4-3 lentelėje.
4-3 lentelė pmp
| Bit | Vardas | Aprašymas |
| 7 | L | Užrakinimas įjungtas ir gali būti atrakintas mašinos režimu. 0: neužrakinta;
1: Užrakinkite atitinkamą registrą. |
| [6:5] | – | Rezervuota |
| [4:3] | A | Adreso lygiavimas ir apsaugos zonos diapazono pasirinkimas. 00: IŠJUNGTA (PMP išjungta)
01: TOR (apsauga nuo viršaus) 10: NA4 (fiksuota keturių baitų apsauga) 11: NAPOT (2(G+2) baitų apsauga, G≥1) |
| 2 | X | Vykdomas atributas. |
| 0: nėra vykdymo leidimo;
1: Vykdykite leidimą. |
||
|
1 |
W |
Rašomas atributas.
0: Nėra leidimo rašyti 1: Rašymo leidimas. |
|
0 |
R |
Skaitomas atributas
0: nėra skaitymo leidimo 1: Skaitymo leidimo. |
pmpaddr
Pmpaddr registras naudojamas I srities adresui konfigūruoti. Standartinis apibrėžimas taikomas RV32 architektūrai, kuri yra 32 bitų fizinio adreso viršutinių 34 bitų kodavimas, o jo formatas parodytas šioje 4-4 lentelėje. .
Visa V3 mikroprocesoriaus fizinė adresų erdvė yra 4G, todėl viršutiniai du šio registro bitai nenaudojami.
4-4 lentelė pmpaddr 
Kai pasirenkamas NAPOT, žemas adresų registro bitas taip pat naudojamas dabartinės apsaugos srities dydžiui nurodyti, kaip parodyta šioje lentelėje, kur „y“ yra registro bitas.
4-5 lentelė PMP konfigūracijos ir adresų registro bei saugomos zonos ryšio lentelė.
| pmpaddr | pmpcfg. A | Atitinka bazinį adresą ir dydį |
| yyyy… yyyy | NA4 | Kai pagrindinis adresas yra „yy…yyyy00“, 4 baitų sritis yra apsaugota. |
| yyyy…yyyy0 | NAPOT | Kai pagrindinis adresas yra „yy…yyy000“, 8 baitų sritis yra apsaugota. |
| yyyy…yy01 | NAPOT | Kai pagrindinis adresas yra „yy…yy0000“, 16 baitų sritis yra apsaugota. |
| yyyy…y011 | NAPOT | Kai pagrindinis adresas yra „yy…y00000“, 16 baitų sritis yra apsaugota. |
| … | … | … |
| yyyy01…111 | NAPOT | Kai pagrindinis adresas yra „y0…000000“, 231 baito sritis yra apsaugota. |
| yy011…111 | NAPOT | Apsaugokite visą 232 baitų sritį. |
Apsaugos mechanizmas
X/W/R, esantis pmpcfg, naudojamas I zonos apsaugos institucijai nustatyti, o pažeidus atitinkamą įgaliojimą, bus padaryta atitinkama išimtis:
- Bandant gauti instrukcijas PMP srityje be vykdymo teisės, tai sukels instrukcijų gavimo prieigos klaidos išimtį (mcause=1).
- Bandant įrašyti duomenis PMP srityje be raštiško leidimo, tai sukels klaidos išimtį (mcause=7) parduotuvės instrukcijų prieigose.
- Bandant nuskaityti duomenis PMP srityje be skaitymo leidimo, tai sukels neįprastą prieigos prie atminties klaidą (mcause=5) įkėlimo instrukcijoje.
Pmpcfg naudojamas I srities apsaugos diapazonui ir adresų lygiavimui nustatyti bei A_ADDR ≤ regiono < i > < B_ADDR atminčiai apsaugoti (ir A_ADDR, ir B_ADDR turi būti sulygiuoti po 4 baitus):
- Jei B _ ADDR–A_ADDR = = 22, perimamas NA4 režimas;
- Jei B _ ADDR–A_ADDR = = 2(G+2), G≥1, o _ adresas yra 2(g+2), taikomas NAPOT metodas;
- Kitu atveju pasirenkamas TOP režimas.
4-6 lentelė PMP adresų atitikimo metodai
| Vertė | Vardas | Aprašymas |
| 0b00 | IŠJUNGTA | Nėra saugomos srities |
| 0b01 | TOR | Į viršų Išlygintos zonos apsauga.
Pagal pmp pmpaddri = B_ADDR >> 2. Pastaba: Jei PMP sritis 0 sukonfigūruota kaip TOR režimas (i=0), apatinė apsaugos srities riba yra 0 adresas, ty 0 ≤ addr < pmpaddr0, visa tai atitinka atitikimo diapazoną. |
| 0b10 | NA4 | Ištaisyta 4 baitų srities apsauga.
pmp |
| 0b11 | NAPOT | Apsaugokite 2(G+2) regioną, kai G ≥ 1, kai A_ADDR yra sulygiuotas 2(G+2). pmpaddri = ((A_ADDR|(2(G+2)-1)) &~(1< >1. |
- L bitas pmp
- QingKe V3 serijos mikroprocesoriai palaiko kelių zonų apsaugą. Kai ta pati operacija vienu metu atitinka kelias zonas, pirmiausia suderinama zona su mažesniu skaičiumi.
Sistemos laikmatis (SysTick)
- QingKe V3 serijos mikroprocesorius sukurtas su 32 bitų arba 64 bitų skaitikliu (SysTick). Jo laikrodžio šaltinis yra sistemos laikrodis arba jo 8 dažnių padalijimas, o V3A palaiko tik 8 dažnių padalijimą.
- Tai gali suteikti laiko bazę, laiką ir matavimo laiką realiojo laiko operacinei sistemai. Įvairių tipų registrai, susiję su laikmačiu, turi skirtingus atvaizdavimo adresus, kaip parodyta 5-1 ir 5-2 lentelėse.
5-1 lentelė V3A SysTick registrų sąrašas
| Vardas | Prieigos adresas | Aprašymas | Iš naujo nustatyti vertę |
| STK_CTLR | 0xE000F000 | Sistemos skaitiklių valdymo registras | 0x00000000 |
| STK_CNTL | 0xE000F004 | Žemas sistemos skaitiklio registras | 0xXXXXXXXXX |
| STK_CNTH | 0xE000F008 | Sistemos skaitiklio aukštas registras
Pastaba: galioja tik V3A. |
0xXXXXXXXXX |
| STK_CMPLR | 0xE000F00C | Sistemos skaičiavimo palyginimo vertė mažas registras | 0xXXXXXXXXX |
| STK_CMPHR | 0xE000F010 | Sistemos skaičiavimo palyginimo vertės aukštas registras
Pastaba: galioja tik V3A. |
0xXXXXXXXXX |
5-2 lentelė V3 SysTick registro sąrašas kitų modelių
| Vardas | Prieigos adresas | Aprašymas | Iš naujo nustatyti vertę |
| STK_CTLR | 0xE000F000 | Sistemos skaitiklių valdymo registras | 0x00000000 |
| STK_SR | 0xE000F004 | Sistemos skaitiklio būsenos registras | 0x00000000 |
| STK_CNTL | 0xE000F008 | Žemas sistemos skaitiklio registras | 0xXXXXXXXXX |
| STK_CMPLR | 0xE000F010 | Skaičiavimo palyginimo vertė žema registre | 0xXXXXXXXXX |
Kiekvienas registras yra išsamiai aprašytas taip.
Sistemos skaitiklio valdymo registras (STK_CTLR)
5-3 lentelė SysTick valdymo registrai
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:5] | Rezervuota | RO | Rezervuota | 0 |
|
4 |
REŽIMAS |
RW |
Skaičiavimo režimas: 1: Skaičiavimas žemyn;
0: suskaičiuokite. Pastaba: negalioja V3A. |
0 |
|
3 |
STRE |
RW |
Automatinio perkrovimo skaičiavimo įgalinimo bitas:
1: vėl skaičiuokite nuo 0, suskaičiavę iki lyginamosios vertės, ir vėl skaičiuokite nuo lyginamosios vertės, suskaičiavę iki 0; 0: Tęskite skaičiavimą aukštyn/žemyn. Pastaba: negalioja V3A. |
0 |
|
2 |
STCLK |
RW |
Priešlaikinio laikrodžio šaltinio pasirinkimo bitas:
1: HCLK kaip laiko bazė; 0: HCLK/8 kaip laiko bazė. Pastaba: jis negalioja V3A, kuris palaiko tik HCLK/8 kaip laiko bazė. |
0 |
| 1 | SVETAINĖ | RW | Skaitiklio pertraukimo įjungimo valdymo bitai: | 0 |
| 1: Įjungti skaitiklio pertraukimą; 0: išjungti skaitiklio pertraukimą.
Pastaba: negalioja V3A. |
||||
| 0 | STE | RW | Sistemos skaitiklis įgalina valdymo bitą. 1: įjungti sistemos skaitiklį STK;
0: išjunkite sistemos skaitiklį STK ir skaitiklis nustos skaičiuoti. |
0 |
Sistemos skaitiklio būsenos registras (STK_SR)
Šis registras netaikomas V3A.
5-4 lentelė SysTick skaitiklio žemas registras
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
|
31 |
SWIE |
RW |
Programinės įrangos pertraukimo paleidimo įjungimas (SWI): 1: Paleiskite programinės įrangos pertraukimą;
0: Išjunkite gaiduką. Pastaba: Šis bitas turi būti išvalytas įvedus programinės įrangos pertraukimą, kitaip jis visada suveiks. |
0 |
| [30:1] | Rezervuota | RO | Rezervuota | 0 |
|
0 |
CNTIF |
RW |
Skaičiavimo palyginimo vėliavėlė, aiškiai parašykite 0, rašykite 1 neteisingą:
1: suskaičiuokite iki lyginamosios vertės ir suskaičiuokite iki 0; 0: palyginimo vertė nepasiekta. |
0 |
Žemas sistemos skaitiklio registras (STK_CNTL)
5-5 lentelė SysTick skaitiklio žemas registras
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:0] | CNTL | RW | Dabartinė skaitiklio skaičiaus reikšmė yra 32 bitais mažesnė. V3A atveju šis registras gali būti skaitomas kaip 8 bitų / 16 bitų
/32 bitų, bet gali būti parašytas tik kaip 8 bitų ir kt modeliai neribojami. |
0xXXXXX XXX |
Pastaba: Registras STK_CNTL ir registras STK_CNTH V3A kartu sudaro 64 bitų sistemos skaitiklį.
Sistemos skaitiklio aukštas registras (STK_CNTH)
5-6 lentelė SysTick skaitiklio aukštas registras
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:0] | CNTH | RW | Dabartinė skaitiklio skaičiaus reikšmė yra 32 bitais didesnė. Šį registrą galima nuskaityti 8 bitais / 16 bitais / 32 bitais, bet įrašyti tik 8 bitais.
Pastaba: galioja tik V3A. |
0xXXXXX XXX |
Pastaba: Registras STK_CNTL ir registras STK_CNTH V3A kartu sudaro 64 bitų sistemos skaitiklį.
Sistemos skaičiaus palyginimo vertės žemas registras (STK_CMPLR)
5-7 lentelė SysTick palyginimo vertės žemas registras
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:0] | CMPL | RW | Nustatykite skaitiklio palyginimo vertę į 32 bitus mažesnę. Kai CMP ir CNT reikšmės yra lygios, bus suaktyvintas STK pertraukimas. V3A atveju šis registras gali būti skaitomas kaip 8 bitų / 16 bitų / 32 bitų, bet gali būti tik
parašytas kaip 8 bitų, o kiti modeliai nėra ribojami. |
0xXXXXX XXX |
Pastaba: Registras STK_CMPLR ir registras STK_CMPHR V3A kartu sudaro 64 bitų skaitiklio palyginimo vertę.
Sistemos skaičiaus palyginimo vertės aukštas registras (STK_CMPHR)
5-8 lentelė SysTick palyginimo vertės aukštas registras
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:0] | CMPH | RW | Nustatykite skaitiklio palyginimo vertę 32 bitais didesnę. STK pertraukimas bus suaktyvintas, kai CMP ir CNT reikšmės bus lygios.
Šį registrą galima nuskaityti 8 bitais / 16 bitais / 32 bitais, bet įrašyti tik 8 bitais. Pastaba: galioja tik V3A. |
0xXXXXX XXX |
Pastaba: Registras STK_CMPLR ir registras STK_CMPHR V3A kartu sudaro 64 bitų skaitiklio palyginimo vertę.
Procesoriaus mažos galios nustatymai
- QingKe V3 serijos mikroprocesoriai palaiko miego būseną per WFI (laukti pertraukimo) instrukcijas, kad būtų sunaudojama mažai statinės energijos.
- Kartu su PFIC sistemos valdymo registru (PFIC_SCTLR) gali būti įgyvendinami įvairūs miego režimai ir WFE instrukcijos.
Įeikite į miego režimą
- QingKe V3 serijos mikroprocesoriai gali miegoti dviem būdais: laukti pertraukimo (WFI) ir laukti įvykio (WFE). WFI metodas reiškia, kad mikroprocesorius pereina į miego režimą, laukia, kol pabus, ir tada atsibunda, kol bus vykdomas atitinkamas pertraukimas. WFE metodas reiškia, kad mikroprocesorius eina miegoti, laukia, kol atsibus įvykis, ir atsibunda, kad tęstų anksčiau sustabdytą programos srautą.
- Standartinis RISC-V palaiko WFI nurodymus, o WFI komandą galima vykdyti tiesiogiai, kad WFI metodu būtų įjungta miego būsena. Taikant WFE metodą, WFITOWFE bitas sistemos valdymo registre PFIC_SCTLR naudojamas tolimesnėms WFI komandoms valdyti kaip WFE apdorojimui, kad būtų pasiektas WFE metodas įjungti miego režimą.
- Miego gylis valdomas pagal SLEEPDEEP bitą PFIC_SCTLR.
- Jei SLEEPDEEP PFIC_SCTLR registre išvalomas iki nulio, mikroprocesorius pereina miego režimą ir leidžiama išjungti vidinio įrenginio laikrodį, išskyrus SysTick ir dalį pažadinimo logikos.
- Jei PFIC_SCTLR registre nustatyta SLEEPDEEP, mikroprocesorius persijungia į gilų miego režimą ir leidžiama išjungti visus ląstelių laikrodžius.
- Kai mikroprocesorius veikia derinimo režimu, neįmanoma įjungti jokio miego režimo.
Miego pabudimas
QingKe V3 serijos mikroprocesorius po miego dėl WFI ir WFE galima pažadinti šiais būdais.
Kai WFI metodas užmigo, jį galima pažadinti
- Mikroprocesorių gali pažadinti pertraukimo šaltinis, į kurį reaguoja pertraukimo valdiklis. Po pabudimo mikroprocesorius pirmiausia atlieka pertraukimo funkciją.
- Įeikite į miego režimą, derinimo užklausa gali priversti mikroprocesorių pažadinti ir įjungti gilų miego režimą, derinimo užklausa negali pažadinti mikroprocesoriaus.
WFE metodui išsijungus, mikroprocesorių galima pažadinti taip.
- Vidiniai ar išoriniai įvykiai, kai nereikia konfigūruoti pertraukimo valdiklio, atsibunda ir toliau vykdo programą.
- Jei įjungtas pertraukimo šaltinis, sugeneravus pertraukimą, mikroprocesorius pažadinamas, o po pabudimo mikroprocesorius pirmiausia atlieka pertraukimo funkciją.
- Jei SEVONPEND bitas PFIC_SCTLR yra sukonfigūruotas, pertraukimo valdiklis neįjungia pertraukimo, tačiau sugeneravus naują laukiantį pertraukimo signalą (anksčiau sugeneruotas laukiantis signalas neįsigalioja), tai taip pat gali priversti mikroprocesorių pabusti ir atitinkama pertraukimo laukianti vėliavėlė turi būti išvalyta rankiniu būdu po pabudimo.
- Įjungti miego režimą derinimo užklausa gali priversti mikroprocesorių pabusti ir įjungti gilų miego režimą, derinimo užklausa negali pažadinti mikroprocesoriaus.
- Be to, mikroprocesoriaus būseną po pažadinimo galima valdyti sukonfigūravus SLEEPONEXIT bitą PFIC_SCTLR.
- SLEEPONEXIT yra nustatytas, o paskutinio lygio pertraukimo grąžinimo instrukcija (mret) suaktyvins WFI režimo miego režimą.
SLEEPONEXIT pašalinamas be jokio poveikio.
Įvairūs MCU gaminiai su V3 serijos mikroprocesoriais gali pritaikyti skirtingus miego režimus, išjungti skirtingus periferinius įrenginius ir laikrodžius, įgyvendinti skirtingas energijos valdymo strategijas ir pažadinimo metodus pagal skirtingas PFIC_SCTLR konfigūracijas ir realizuoti įvairius mažos galios režimus.
Derinimo palaikymas
- QingKe V3 serijos mikroprocesoriuose yra aparatūros derinimo modulis, palaikantis sudėtingas derinimo operacijas. Kai mikroprocesorius sustabdytas, derinimo modulis gali pasiekti mikroprocesoriaus GPR, CSR, atmintį, išorinius įrenginius ir tt per abstrakčias komandas, programos buferio diegimo instrukcijas ir pan. Derinimo modulis gali sustabdyti ir atnaujinti mikroprocesoriaus darbą.
- Derinimo modulis atitinka RISC-V išorinio derinimo palaikymo 0.13.2 versijos specifikaciją, išsamią dokumentaciją galima atsisiųsti iš RISC-V International websvetainę.
Derinimo modulis
- Mikroprocesoriaus viduje esantis derinimo modulis, galintis atlikti derinimo pagrindinio kompiuterio išleistas derinimo operacijas, apima.
- Prieiga prie registrų per derinimo sąsają
- Iš naujo nustatykite, sustabdykite ir atnaujinkite mikroprocesorių naudodami derinimo sąsają
- Skaitykite ir rašykite atmintį, instrukcijų registrus ir išorinius įrenginius per derinimo sąsają
- Įdiekite kelias savavališkas instrukcijas per derinimo sąsają
- Nustatykite programinės įrangos lūžio taškus naudodami derinimo sąsają
- Nustatykite aparatinės įrangos lūžio taškus naudodami derinimo sąsają
- Palaikykite abstrakčių komandų automatinį vykdymą
- Palaikykite vieno žingsnio derinimą
- Pastaba: V3A nepalaiko aparatinės įrangos lūžio taškų, V3B aparatinės įrangos lūžio taškai palaiko instrukcijų adresų atitikimą, o V3C aparatinės įrangos lūžio taškai palaiko instrukcijų adresų ir duomenų adresų suderinimą.
- Vidiniuose derinimo modulio registruose naudojamas 7 bitų adreso kodas, o šie registrai yra įdiegti QingKe V3 serijos mikroprocesorių viduje.
7-1 lentelė Derinimo modulio registro sąrašas
| Vardas | Prieigos adresas | Aprašymas |
| duomenys0 | 0x04 | Duomenų registras 0, gali būti naudojamas laikinam duomenų saugojimui |
| duomenys1 | 0x05 | Duomenų registras 1, gali būti naudojamas laikinam duomenų saugojimui |
| dekontroliuoti | 0x10 | Derinimo modulio valdymo registras |
| dmstatus | 0x11 | Derinimo modulio būsenos registras |
| hartinfo | 0x12 | Mikroprocesoriaus būsenos registras |
| tezės | 0x16 | Abstraktus komandos būsenos registras |
| komandą | 0x17 | Abstraktus komandų registras |
| abstraktus auto | 0x18 | Abstraktus komandos automatinis vykdymas |
| progbuf0-7 | 0x20-0x27 | Instrukcijų talpyklos registrai 0-7 |
| haltsum0 | 0x40 | Pristabdyti būsenos registrą |
- Derinimo priegloba gali valdyti mikroprocesoriaus sustabdymą, atnaujinimą, atstatymą ir pan., sukonfigūruodamas valdymo panaikinimo registrą. RISC-V standartas apibrėžia trijų tipų abstrakčias komandas: prieigos registrą, greitąją prieigą ir prieigos atmintį.
- QingKe V3A mikroprocesorius palaiko tik registro prieigą, kiti modeliai palaiko prieigą prie registro ir atminties, bet ne greitą prieigą. Prieiga prie registrų (GPR, CSR) ir nuolatinė prieiga prie atminties gali būti realizuojama abstrakčiomis komandomis.
- Derinimo modulis įgyvendina 8 instrukcijų talpyklos registrus progbuf0-7, o derinimo kompiuteris gali talpykloje įrašyti kelias instrukcijas (kurios gali būti suspaustos instrukcijos) į buferį ir gali pasirinkti tęsti komandų vykdymą komandų talpyklos registruose, įvykdžius abstrakčią komandą arba vykdyti. talpykloje esančias instrukcijas tiesiogiai.
- Pastaba kad paskutinis nurodymas programose turi būti „ebreak“ arba „c.ebreak“ instrukcija. Prieiga prie saugyklos, išorinių įrenginių ir kt. taip pat galima naudojant abstrakčias komandas ir instrukcijas, saugomas programose.
- Kiekvienas registras yra išsamiai aprašytas taip.
- Duomenų registras 0 (duomenys0)
7-2 lentelė duomenų registro apibrėžimas
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:0] | duomenys0 | RW | Duomenų registras 0, naudojamas laikinai duomenims saugoti | 0 |
Duomenų registras 1 (duomenys1)
7-3 lentelė data1 registro apibrėžimas
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:0] | duomenys1 | RW | Duomenų registras 1, naudojamas laikinai duomenims saugoti | 0 |
Derinimo modulio valdymo registras (devaldymo panaikinimas)
Šis registras valdo mikroprocesoriaus pristabdymą, atstatymą ir atnaujinimą. Derinimo priegloba įrašo duomenis į atitinkamą lauką, kad pasiektų pauzę (haltreq), iš naujo (ndmreset), tęsdama (resumereq). Toliau aprašote.
7-4 lentelė devaldymo registro apibrėžimas
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| 31 | haltreq | WO | 0: išvalykite pristabdymo užklausą
1: išsiųskite pristabdymo užklausą |
0 |
| 30 | resumereq | W1 | 0: Neteisinga
1: Atkurkite esamą mikroprocesorių Pastaba: Write 1 galioja, o aparatinė įranga išvaloma atkūrus mikroprocesorių |
0 |
| 29 | Rezervuota | RO | Rezervuota | 0 |
| 28 | ackhavereset | W1 | 0: Neteisinga
1: išvalykite mikroprocesoriaus derliaus nuėmimo būsenos bitą |
0 |
| [27:2] | Rezervuota | RO | Rezervuota | 0 |
| 1 | ndmreset | RW | 0: Išvalyti atstatymą
1: iš naujo nustatykite visą sistemą, išskyrus derinimo modulį |
0 |
| 0 | išjungti | RW | 0: iš naujo nustatykite derinimo modulį
1: Derinimo modulis veikia tinkamai |
0 |
Derinimo modulio būsenos registras (dm būsena)
- Šis registras naudojamas derinimo modulio būsenai nurodyti ir yra tik skaitomas registras su tokiu kiekvieno bito aprašymu.
Lentelė 7-5 dmstatus registro apibrėžimas
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:20] | Rezervuota | RO | Rezervuota | 0 |
| 19 | allhavereset | RO | 0: Neteisinga
1: mikroprocesoriaus atstatymas |
0 |
| 18 | anyhavereset | RO | 0: Neteisinga
1: mikroprocesoriaus atstatymas |
0 |
| 17 | viskas atnaujinta | RO | 0: Neteisinga
1: mikroprocesoriaus atstatymas |
0 |
| 16 | bet koks atnaujinimas | RO | 0: Neteisinga
1: mikroprocesoriaus atstatymas |
0 |
| [15:14] | Rezervuota | RO | Rezervuota | 0 |
| 13 | aliuvinis | RO | 0: Neteisinga
1: mikroprocesoriaus nėra |
0 |
| 12 | bet kokia nauda | RO | 0: Neteisinga
1: mikroprocesoriaus nėra |
0 |
| 11 | visi bėga | RO | 0: Neteisinga
1: veikia mikroprocesorius |
0 |
| 10 | bet koks bėgimas | RO | 0: Neteisinga
1: veikia mikroprocesorius |
0 |
| 9 | sustojo | RO | 0: Neteisinga
1: Mikroprocesorius yra sustabdytas |
0 |
| 8 | bet koks sustabdytas | RO | 0: Neteisinga
1: Mikroprocesorius nebepakabintas |
0 |
| 7 | patvirtintas |
RO |
0: prieš naudojant derinimo modulį reikalingas autentifikavimas
1: Derinimo modulis buvo sertifikuotas |
0x1 |
| [6:4] | Rezervuota | RO | Rezervuota | 0 |
| [3:0] | versija | RO | Derinimo sistemos palaikymo architektūros versija 0010: V0.13 | 0x2 |
Mikroprocesoriaus būsenos registras (hartinfo)
Šis registras naudojamas informacijai apie mikroprocesorių pateikti derinimo pagrindiniam kompiuteriui ir yra tik skaitomas registras, kuriame kiekvienas bitas aprašytas taip.
7-6 lentelė hartinfo registro apibrėžimas
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:24] | Rezervuota | RO | Rezervuota | 0 |
| [23:20] | subraižyti | RO | Palaikomų įbrėžimų registrų skaičius | 0x3 |
| [19:17] | Rezervuota | RO | Rezervuota | 0 |
| 16 | DataAccess | RO | 0: duomenų registras susietas su CSR adresu
1: duomenų registras susietas su atminties adresu |
0x1 |
| [15:12] | duomenų dydis | RO | Duomenų registrų skaičius | 0x2 |
|
[11:0] |
duomenų pridėjimas |
RO |
Duomenų registro duomenų poslinkio adresas0,
kurio bazinis adresas yra 0xe0000000, turi būti nuskaitoma konkrečiai. |
0xXXX |
Abstrakčių komandų valdymo ir būsenos registrai (santraukos)
Šis registras naudojamas abstrakčios komandos vykdymui nurodyti. Derinimo kompiuteris gali perskaityti šį registrą, kad sužinotų, ar paskutinė abstrakti komanda buvo įvykdyta, ar ne, ir gali patikrinti, ar vykdant abstrakčią komandą nebuvo sugeneruota klaida ir klaidos tipą, kuris išsamiai aprašytas toliau.
7-7 lentelės santraukos registrų apibrėžimai
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:29] | Rezervuota | RO | Rezervuota | 0 |
| [28:24] | progbufsize | RO | Nurodo programos buferio programos skaičių
talpyklos registrai |
0x8 |
| [23:13] | Rezervuota | RO | Rezervuota | 0 |
| 12 | užimtas | RO | 0: nevykdoma jokia abstrakti komanda
1: Vykdomos abstrakčios komandos Pastaba: Po vykdymo aparatinė įranga išvaloma. |
0 |
| 11 | Rezervuota | RO | Rezervuota | 0 |
| [10:8] | cmder | RW | Abstrakčios komandos klaidos tipas 000: nėra klaidų
001: abstrakčių komandų vykdymas norint įrašyti komandą, abstrakčius, abstrakčius automatinius registrus arba skaityti ir rašyti į duomenis ir progbuf registrus 010: nepalaiko dabartinės abstrakčios komandos 011: abstrakčios komandos vykdymas su išimtimi 100: mikroprocesorius nėra sustabdytas arba nepasiekiamas ir negali vykdyti abstrakčių komandų 101: magistralės klaida 110: Ryšio metu įvyko lyginumo bitų klaida 111: kitos klaidos Pastaba: Bitų rašymui 1 naudojamas nuliui išvalyti. |
0 |
| [7:4] | Rezervuota | RO | Rezervuota | 0 |
| [3:0] | nuolaida | RO | Duomenų registrų skaičius | 0x2 |
- Derinimo kompiuteriai gali pasiekti GPR, CSR registrus ir atmintį įrašydami skirtingas konfigūracijos reikšmes į abstrakčių komandų registrą.
- Kai pasiekiate registrus, komandų registro bitai apibrėžiami taip.
- 7-8 lentelė Komandų registro apibrėžimas pasiekiant registrus
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:24] | cmd tipo | WO | Abstraktus komandos tipas 0: Prieigos registras;
1: greita prieiga (nepalaikoma); 2: Prieiga prie atminties. |
0 |
| 23 | Rezervuota | WO | Rezervuota | 0 |
| [22:20] | aarsize | WO | Prieigos registro duomenų bitų plotis 000: 8 bitai
001: 16 bitas 010: 32 bitas |
0 |
| 011: 64 bitų (nepalaikoma) 100: 128 bitų (nepalaikoma)
Pastaba: Kai pasiekiate slankiojo kablelio registrus FPR palaikoma tik 32 bitų prieiga. |
||||
| 19 | aarpostincrement | WO | 0: jokio poveikio
1: automatiškai padidinkite regno reikšmę po prieigos prie registro |
0 |
| 18 | pareigų vykdytojas | WO | 0: jokio poveikio
1: Vykdykite abstrakčią komandą ir tada vykdykite komandą programoje „Progbuf“. |
0 |
| 17 | perkėlimas | WO | 0: Nevykdyti operacijos, nurodytos raštu
1: Atlikite raštu nurodytą manipuliavimą |
0 |
| 16 | rašyti | WO | 0: kopijuoti duomenis iš nurodyto registro į data0 1: kopijuoti duomenis iš data0 registro į nurodytą registrą |
0 |
| [15:0] | regno | WO | Nurodykite prieigos registrus 0x0000-0x0fff yra CSR 0x1000-0x101f yra GPR |
0 |
Kai pasiekiate atmintį, komandų registro bitai apibrėžiami taip.
7-9 lentelė Komandos Registruokitės prisijungiant prie atminties apibrėžimas
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:24] | cmd tipo | WO | Abstraktus komandos tipas 0: Prieigos registras;
1: greita prieiga (nepalaikoma); 2: Prieiga prie atminties. |
0 |
| 23 | aamvirtualus | WO | 0: prieiga prie fizinio adreso;
1: Pasiekite virtualų adresą. |
0 |
| [22:20] | rankos dydis | WO | Prieigos atminties duomenų bitų plotis 000: 8 bitai;
001: 16 bitų; 010: 32 bitų; 011: 64 bitų (nepalaikoma); 100: 128 bitų (nepalaikoma); |
0 |
| 19 | aampostinkrementas | WO | 0: jokios įtakos;
1: sėkmingai pasiekę atmintį, padidinkite data1 registre saugomą adresą baitų skaičiumi, atitinkančiu bitų plotį, sukonfigūruotą pagal rankos dydį. Aamsize=0, pasiekiama baitu, data1 plius 1. Aamsize=1, pasiekiama iš pusės žodžio, data1 plius 2. aamsize=2, pasiekiama naudojant bitą, data1 plius 4. |
0 |
| 18 | pareigų vykdytojas | WO | 0: jokios įtakos;
1: įvykdę abstrakčią komandą, įvykdykite komandą progbuf. |
0 |
| 17 | Rezervas | RO | Rezervuota | 0 |
|
16 |
rašyti |
WO |
0: nuskaito duomenis iš adreso, nurodyto data1, į data0
1: Įrašykite duomenis į data0 nurodytu adresu duomenys1. |
0 |
|
[15:14] |
konkrečios paskirties |
WO |
Skaitymo ir rašymo režimo apibrėžimas Rašykite:
00, 01: rašyti tiesiai į atmintį; 10: Kai duomenys data0 yra ARBA su duomenų bitais atmintyje, rezultatas įrašomas į atmintį (Palaikoma tik žodžio prieiga). 11: Susumavę duomenis data0 su duomenų bitais atmintyje, įrašykite rezultatą į atmintį (Palaikoma tik žodžio prieiga). Skaityti: 00, 01, 10, 11: nuskaitykite 0 tiesiai iš atminties. |
0 |
| [13:0] | Rezervas | RO | Rezervuota |
Abstrakčių komandų automatinio vykdymo registras (abstract auto)
Šis registras naudojamas derinimo moduliui konfigūruoti. Skaitant ir rašant progbufx ir derinimo modulio duomenis, abstrakčią komandą galima vykdyti dar kartą.
Šio registro aprašymas yra toks:
7-10 lentelės abstraktus autoregistro apibrėžimas
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:16] | autoexecprogbuf | RW | Jei nustatytas bitas, atitinkamas progbufx skaitymas ir rašymas vėl įvykdys abstrakčią komandą komandų registre.
Pastaba: V3 serija sukurta su 8 progbufais, atitinkančius bitus [23:16]. |
0 |
| [15:12] | Rezervas | RO | Rezervuota | 0 |
| [11:0] | autoexecdata |
RW |
Jei bitas nustatytas į 1, atitinkamas duomenų registro skaitymas ir įrašymas vėl įvykdys abstrakčią komandą komandų registre.
Pastaba: V3 serija sukurta naudojant du duomenis registrai, atitinkantys bitus [1:0]. |
0 |
Instrukcijų talpyklos registras (progbfx)
Šis registras naudojamas bet kuriai instrukcijai saugoti ir atitinkamoms operacijoms diegti, įskaitant 8, kuri turi atkreipti dėmesį į paskutinį vykdymą, kuris turi būti „break“ arba „c.ebreak“.
7-11 lentelė progbuf registro apibrėžimas
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:0] | progbuf | RW | Instrukcijų kodavimas talpyklos operacijoms, kurios
gali apimti suspaudimo instrukcijas |
0 |
Pristabdyti būsenos registrą (haltsum0)
Šis registras naudojamas nurodyti, ar mikroprocesorius sustabdytas, ar ne. Kiekvienas bitas rodo sustabdytą mikroprocesoriaus būseną, o kai yra tik vienas branduolys, jai nurodyti naudojamas tik žemiausias šio registro bitas.
7-12 lentelė haltsum0 registro apibrėžimas
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:1] | Rezervuota | RO | Rezervuota | 0 |
| 0 | haltsum0 | RO | 0: Mikroprocesorius veikia normaliai
1: Mikroprocesoriaus sustabdymas |
0 |
- Be aukščiau paminėtų derinimo modulio registrų, derinimo funkcija taip pat apima kai kuriuos CSR registrus, daugiausia derinimo valdymo ir būsenos registrą dcsr bei derinimo nurodymų rodyklę dpc, kurie išsamiai aprašyti toliau.
- Derinimo valdymas ir būsenos registras (dcsr)
7-13 lentelė dcsr registro apibrėžimas
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:28] | xdebugver | DRO | 0000: išorinis derinimas nepalaikomas 0100: palaiko standartinį išorinį derinimą
1111: Išorinis derinimas palaikomas, bet netinka specifikaciją |
0x4 |
| [27:16] | Rezervuota | DRO | Rezervuota | 0 |
| 15 | pertrauka | DRW | 0: Pertraukimo komanda mašinos režimu veikia taip, kaip aprašyta privilegijoje file
1: Pertraukimo komanda mašinos režimu gali pereiti į derinimo režimą |
0 |
| [14:13] | Rezervuota | DRO | Rezervuota | 0 |
| 12 | išsiskyrimas |
DRW |
0: pertraukos komanda vartotojo režimu veikia taip, kaip aprašyta privilegijoje file
1: Pertraukimo komanda vartotojo režimu gali įjungti derinimo režimą |
0 |
| 11 | žingsnis | DRW | 0: pertraukimai išjungti naudojant vieno žingsnio derinimą
1: įgalinkite pertraukimus vienu žingsniu derinant |
0 |
| 10 | Rezervuota | DRO | Rezervuota | 0 |
| 9 | sustabdyti laiką | DRW | 0: sistemos laikmatis veikia derinimo režimu
1: sistemos laikmatis sustoja derinimo režimu |
0 |
|
[8:6] |
priežastis | DRO | Priežastys, kodėl įvedėte derinimą
001: Derinimo įvedimas pertraukimo komandos forma (3 prioritetas) 010: derinimo įvedimas trigerio modulio pavidalu (4 prioritetas, aukščiausias) 011: derinimo įvedimas pristabdymo užklausos forma (1 prioritetas) 100: derinimas vieno žingsnio derinimo forma (0 prioritetas, žemiausias) |
0 |
| 101: įjunkite derinimo režimą iš karto po mikroprocesoriaus nustatymo iš naujo (2 prioritetas) Kiti: Rezervuota | ||||
| [5:3] | Rezervuota | DRO | Rezervuota | 0 |
| 2 | žingsnis | DRW | 0: išjunkite vieno žingsnio derinimą
1: įgalinkite vieno žingsnio derinimą |
0 |
| [1:0] | Ankstesnis | DRW | Privilegijų režimas 00: vartotojo režimas
01: Prižiūrėtojo režimas (nepalaikomas) 10: Rezervuotas 11: mašinos režimas Pastaba: Įrašykite privilegijuotąjį režimą, kai įeisite į derinimo režimą, derintuvas gali pakeisti šią reikšmę, kad pakeistų privilegijuotąjį režimą, kai išeina iš derinimo |
0 |
Derinimo režimo programos žymeklis (DPC)
- Šis registras naudojamas saugoti kitos komandos, kuri bus vykdoma mikroprocesoriui įjungus derinimo režimą, adresą, o jo reikšmė atnaujinama skirtingomis taisyklėmis, atsižvelgiant į įvedimo derinimo priežastį. dpc registras yra išsamiai aprašytas taip.
7-14 lentelė dpc registro apibrėžimai
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:0] | DPC | DRW | Instrukcijos adresas | 0 |
Registrų atnaujinimo taisyklės pateiktos šioje lentelėje.
7-15 lentelė dpc atnaujinimo taisyklės
| Įveskite derinimo metodą | dpc atnaujinimo taisyklės |
| pertrauka | Ebreak instrukcijos adresas |
| vienas žingsnis | Instrukcijos adresas kitos esamos instrukcijos instrukcijos |
| paleidimo modulis | Laikinai nepalaikoma |
| sustabdyti prašymą | Kitos instrukcijos, kuri turi būti vykdoma įvedant Debug, adresas |
Derinimo sąsaja
- Skirtingai nuo standartinio JTAG sąsaja, apibrėžta RISC-V, QingKe V3 serijos mikroprocesorius priima 1 laidą / 2 laidų nuosekliąją derinimo sąsają ir vadovaujasi WCH derinimo sąsajos protokolu V1.0.
- Derinimo sąsaja yra atsakinga už ryšį tarp derinimo pagrindinio kompiuterio ir derinimo modulio ir realizuoja derinimo pagrindinio kompiuterio skaitymo / rašymo operaciją derinimo modulio registruose.
- WCH sukūrė WCH_Link ir atvirojo kodo schemą ir dvejetainę programą files, kuri gali būti naudojama visų RISC-V architektūros mikroprocesorių derinimui.
- Norėdami sužinoti konkrečius derinimo sąsajos protokolus, žr. WCH derinimo protokolo vadovą.
CSR registro sąrašas
- RISC-V architektūra apibrėžia daugybę valdymo ir būsenos registrų (CSR), skirtų kontroliuoti ir įrašyti mikroprocesoriaus veikimo būseną.
- Kai kurios CSR buvo pristatytos ankstesniame skyriuje, o šiame skyriuje bus išsamiai aprašyti CSR registrai, įdiegti QingKe V3 serijos mikroprocesoriuose.
CSR registro sąrašas
8-1 lentelė Mikroprocesorių CSR registrų sąrašas
| Tipas | Vardas | ĮSA Adresas | Prieiga | Aprašymas |
| RISC-V
Standartinė CSR |
marchidas | 0xF12 | MRO | Architektūros numerių registras |
| mimpid | 0xF13 | MRO | Aparatinės įrangos diegimo numeravimo registras | |
| mstatus | 0x300 | MRW | Būsenos registras | |
| misa | 0x301 | MRW | Aparatinės įrangos instrukcijų rinkinio registras | |
| mtvec | 0x305 | MRW | Išimtis bazinis adresų registras | |
| mscratch | 0x340 | MRW | Mašinos režimas stagregistruojantis | |
| MEPC | 0x341 | MRW | Išimčių programos rodyklės registras | |
| mcause | 0x342 | MRW | Išimčių priežasčių registras | |
| mtval | 0x343 | MRW | Išimčių reikšmių registras | |
| pmpcfg | 0x3A0+i | MRW | PMP konfigūracijos registras | |
| pmpaddr | 0x3B0+i | MRW | PMP adresų registras | |
| tpasirinkite | 0x7A0 | MRW | Derinimo aktyviklio pasirinkimo registras | |
| tduomenys1 | 0x7A1 | MRW | Derinimo aktyviklio duomenų registras 1 | |
| tduomenys2 | 0x7A2 | MRW | Derinimo aktyviklio duomenų registras 2 | |
| dcsr | 0x7B0 | DRW | Derinimo valdymo ir būsenos registrai | |
| dpc | 0x7B1 | DRW | Derinimo režimo programos rodyklės registras | |
| dscratch0 | 0x7B2 | DRW | Derinimo režimas stagregistracija 0 | |
| dscratch1 | 0x7B3 | DRW | Derinimo režimas stagregistracija 1 | |
|
Pardavėjo apibrėžta CSR |
gintenr | 0x800 | URW | Visuotinio pertraukimo įjungimo registras |
| intsyscr | 0x804 | URW | Pertraukti sistemos valdymo registrą | |
| corecfgr | 0xBC0 | MRW | Mikroprocesorių konfigūracijos registras | |
| inestcr | 0xBC1 | MRW | Pertraukti įdėto valdymo registrą |
RISC-V standartiniai CSR registrai
- Architektūros numerių registras (Marchid)
- Šis registras yra tik skaitomas registras, nurodantis esamą mikroprocesoriaus aparatinės įrangos architektūros numerį, kurį daugiausia sudaro tiekėjo kodas, architektūros kodas, serijos kodas ir versijos kodas. Kiekvienas iš jų apibrėžiamas taip.
8-2 lentelė marchido registro apibrėžimas
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| 31 | Rezervuota | MRO | Rezervuota | 1 |
| [30:26] | Pardavėjas0 | MRO | Gamintojo kodas 0
Pataisyta prie „W“ raidės kodo |
0x17 |
| [25:21] | Pardavėjas1 | MRO | Gamintojo kodas 1
Pataisyta prie „C“ raidės kodo |
0x03 |
| [20:16] | Pardavėjas2 | MRO | Gamintojo kodas 2
Pataisytas prie „H“ raidės kodo |
0x08 |
| 15 | Rezervuota | MRO | Rezervuota | 1 |
| [14:10] | Arch | MRO | Architektūros kodas | 0x16 |
| RISC-V architektūra fiksuojama raidės „V“ kodu | ||||
| [9:5] | Serialas | MRO | Serijos kodas
QingKe V3 serija, pritvirtinta prie numerio „3“ |
0x03 |
| [4:0] | Versija | MRO | Versijos kodas
Gali būti „A“, „B“, „C“ ir kitų kodo raidžių versija |
x |
Gamintojo numeris ir versijos numeris yra abėcėlės tvarka, o serijos numeris yra skaitinis. Raidžių kodavimo lentelė parodyta šioje lentelėje.
8-3 lentelė Abėcėlinės kartografijos lentelė
| 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 |
- Tarp jų, QingKe V3A mikroprocesorius, registras nuskaito iki 0.
Aparatinės įrangos diegimo numeravimo registras (aiškus)
- Šį registrą daugiausia sudaro tiekėjo kodai, kurių kiekvienas apibrėžiamas taip.
8-4 lentelė aiškaus registro apibrėžimas
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| 31 | Rezervuota | MRO | Rezervuota | 1 |
| [30:26] | Pardavėjas0 | MRO | Gamintojo kodas 0
Pataisyta prie „W“ raidės kodo |
0x17 |
| [25:21] | Pardavėjas1 | MRO | Gamintojo kodas 1
Pataisyta prie „C“ raidės kodo |
0x03 |
| [20:16] | Pardavėjas2 | MRO | Gamintojo kodas 2
Pataisytas prie „H“ raidės kodo |
0x08 |
| 15 | Rezervuota | MRO | Rezervuota | 1 |
| [14:8] | Rezervuota | MRO | Rezervuota | 0 |
| [7:4] | Nepilnametis | MRO | Subversijos numeris | 0xX |
| [3:0] | majoras | MR0 | Pagrindinės versijos numeris | 0xX |
- Šį registrą galima nuskaityti naudojant bet kurį įrenginį, o QingKe V3A serijos procesoriuje šis registras nuskaitomas iki nulio.
Mašinos režimo būsenos registras (mstatus)
- Šis registras buvo iš dalies aprašytas ankstesniame skyriuje, o jo žmonės išdėstyti taip.
8-5 lentelė mstatus registro apibrėžimas
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:13] | Rezervuota | MRO | Rezervuota | 0 |
| [12:11] | MPP | MRW | Privilegijuotas režimas prieš įeinant į pertrauką | 0 |
| [10:8] | Rezervuota | MRO | Rezervuota | 0 |
| 7 | MPIE | MRW | Pertraukimo įjungimo būsena prieš įvedant pertraukimą | 0 |
| [6:4] | Rezervuota | MRO | Rezervuota | 0 |
| 3 | MIE | MRW | Mašinos režimo pertraukimo įjungimas | 0 |
| [2:0] | Rezervuota | MRO | Rezervuota | 0 |
- MPP laukas naudojamas privilegijuotajam režimui išsaugoti prieš įvedant išimtį arba pertraukimą ir naudojamas privilegijuotajam režimui atkurti išėjus iš išimties ar pertraukimo. MIE yra visuotinio pertraukimo įgalinimo bitas, o įvedant išimtį arba pertraukimą MPIE reikšmė atnaujinama iki MIE reikšmės ir reikia pažymėti, kad QingKe V3 serijos mikroprocesoriuose MIE nebus atnaujintas iki 0 prieš paskutinis įdėtųjų pertraukimų lygis, siekiant užtikrinti, kad pertraukų įdėjimas mašinos režimu ir toliau būtų vykdomas. Kai pašalinama išimtis arba pertraukimas, mikroprocesorius grįžta į MPP išsaugotą mašinos režimą, o MIE atkuriama MPIE reikšmė.
- QingKe V3 mikroprocesorius palaiko mašinos režimą ir vartotojo režimą, jei reikia, kad mikroprocesorius veiktų tik mašinos režimu, inicijuodami įkrovą galite nustatyti MPP į 0x3 file, tai yra, grįžęs jis visada liks mašinos režimu.
Aparatinės įrangos instrukcijų rinkinio registras (misa)
- Šis registras naudojamas nurodyti mikroprocesoriaus architektūrą ir palaikomus instrukcijų rinkinio plėtinius, kurių kiekvienas aprašytas taip.
8-6 lentelė misa registro apibrėžimas
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:30] | MXL | MRO | Mašininio žodžio ilgis 1:32
2:64 3:128 |
1 |
| [29:26] | Rezervuota | MRO | Rezervuota | 0 |
| [25:0] | Plėtiniai | MRO | Instrukcijų rinkinio plėtiniai | x |
- MXL naudojamas mikroprocesoriaus žodžio ilgiui nurodyti, QingKe V3 yra 32 bitų mikroprocesoriai, o domenas yra fiksuotas iki 1.
- Plėtiniai naudojami nurodyti, kad mikroprocesorius palaiko išplėstinių instrukcijų rinkinio detales, kiekvienas nurodo plėtinių klasę, išsamus jo aprašymas pateiktas šioje lentelėje.
8-7 lentelė Instrukcijų rinkinio plėtinio informacija
| Bit | Vardas | Aprašymas |
| 0 | A | Atominis pratęsimas |
| 1 | B | Preliminariai rezervuota bitų manipuliavimo plėtiniui |
| 2 | C | Suspaustas plėtinys |
| 3 | D | Dvigubo tikslumo slankiojo kablelio plėtinys |
| 4 | E | RV32E bazė ISA |
| 5 | F | Vieno tikslumo slankiojo kablelio plėtinys |
| 6 | G | Yra papildomų standartinių plėtinių |
| 7 | H | Hipervizoriaus plėtinys |
| 8 | I | RV32I/64I/128I bazė ISA |
| 9 | J | Preliminariai rezervuota dinamiškai išverstų kalbų plėtiniui |
| 10 | K | Rezervuota |
| 11 | L | Preliminariai rezervuota dešimtainio slankiojo kablelio plėtiniui |
| 12 | M | Sveikasis skaičius daugybos/dalybos plėtinys |
| 13 | N | Palaikomi vartotojo lygio pertraukimai |
| 14 | O | Rezervuota |
| 15 | P | Preliminariai rezervuota Packed-SIMD plėtiniui |
| 16 | Q | Keturių tikslumo slankiojo kablelio plėtinys |
| 17 | R | Rezervuota |
| 18 | S | Įdiegtas prižiūrėtojo režimas |
| 19 | T | Preliminariai rezervuota operacijų atminties plėtrai |
| 20 | U | Įdiegtas vartotojo režimas |
| 21 | V | Preliminariai rezervuota vektoriniam plėtiniui |
| 22 | W | Rezervuota |
| 23 | X | Yra nestandartinių plėtinių |
| 24 | Y | Rezervuota |
| 25 | Z | Rezervuota |
- Pavyzdžiui,ample, QingKe V3A mikroprocesoriaus registro reikšmė yra 0x401001105, o tai reiškia, kad palaikoma instrukcijų rinkinio architektūra yra RV32IMAC ir įdiegtas vartotojo režimas.
Mašinos režimo išimties bazinio adreso registras (mtvec)
- Šis registras naudojamas išimties arba pertraukimo tvarkyklės baziniam adresui saugoti, o du apatiniai bitai naudojami vektorių lentelės režimui ir identifikavimo metodui konfigūruoti, kaip aprašyta 3.2 skyriuje.
Mašinos režimas stagregistracija (mscratch)
8-8 lentelė mscratch registro apibrėžimai
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:0] | mscratch | MRW | Duomenų saugojimas | 0 |
Šis registras yra 32 bitų skaitomas ir įrašomas registras mašininiu režimu, skirtas laikinai saugoti duomenis. Pavyzdžiui,ample, įvedant išimtį arba pertraukų tvarkyklę, vartotojo dėklo rodyklė SP yra saugoma šiame registre, o pertraukimo dėklo rodyklė priskiriama SP registrui. Išėję iš išimties arba pertraukimo, atkurkite vartotojo krūvos rodyklės SP vertę nuo nulio. Tai reiškia, kad pertraukimo ir vartotojo krūvas gali būti atskirtos.
Mašinos režimo išimties programos rodyklės registras (žemėlapis)
8-9 lentelė mepc registro apibrėžimai
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:0] | mepc | MRW | Išimties procedūros žymeklis | 0 |
- Šis registras naudojamas programos žymekliui įrašyti įvedant išimtį arba pertraukimą.
- Jis naudojamas norint išsaugoti kompiuterio žymeklį prieš įvedant išimtį, kai sukuriama išimtis arba pertraukimas, o mepc naudojamas kaip grąžinimo adresas, kai tvarkoma išimtis arba pertraukimas ir naudojamas išimties ar pertraukimo grąžinimui.
- Tačiau svarbu tai pažymėti.
- Kai įvyksta išimtis, mepc atnaujinama iki šiuo metu išimtį generuojančios instrukcijos PC reikšmės.
- Kai įvyksta pertraukimas, mepc atnaujinamas iki kitos instrukcijos PC reikšmės.
- Kai apdorojus išimtį reikia grąžinti išimtį, turėtumėte atkreipti dėmesį į mepc vertės keitimą, o daugiau informacijos rasite 2 skyriuje Išimtys.
Mašinos režimo išimties priežasčių registras (mcause)
8-10 lentelės priežastis yra registro apibrėžimas
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| 31 | Pertraukite | MRW | Pertraukimo indikacijos laukas 0: Išimtis
1: pertraukimas |
0 |
| [30:0] | Išimties kodas | MRW | Išsamesnės informacijos ieškokite 2-1 lentelėje | 0 |
- Šis registras daugiausia naudojamas išimties priežasčiai arba pertraukimo pertraukimo numeriui saugoti. Didžiausias jo bitas yra Pertraukimo laukas, naudojamas nurodyti, ar dabartinis įvykis yra išimtis, ar pertraukimas.
- Apatinis bitas yra išimties kodas, naudojamas konkrečiai priežasčiai nurodyti. Išsamią informaciją apie tai rasite 2 skyriuje „Išimtys“.
Mašinos režimo išimties verčių registras (mtval)
8-11 lentelė mtval registro apibrėžimas
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:0] | mtval | MRW | Išimties vertė | 0 |
- Šis registras naudojamas reikšmei, kuri sukėlė išimtį, laikyti, kai įvyksta išimtis. Išsamios informacijos, tokios kaip jo saugojimo vertė ir laikas, rasite 2 skyriuje Išimtys.
PMP konfigūracijos registras (pmpcfg
- Šis registras daugiausia naudojamas fizinės atminties apsaugos blokui konfigūruoti, o kas 8 šio registro bitai naudojami srities apsaugai konfigūruoti. Išsamų apibrėžimą rasite 4 skyriuje.
PMP adresų registras (pmpaddr
- Šis registras daugiausia naudojamas fizinės atminties apsaugos bloko adreso konfigūravimui, kuris koduoja viršutinius 32 34 bitų fizinio adreso bitus. Konkretaus konfigūravimo metodo ieškokite 4 skyriuje.
Derinimo režimo programos rodyklės registras (DPC)
- Šis registras naudojamas kitos komandos, kuri bus vykdoma po mikroprocesoriaus įėjimo, adresui
- Derinimo režimas ir jo reikšmė atnaujinami taikant skirtingas taisykles, atsižvelgiant į įvedimo derinimo priežastį. Išsamų aprašymą rasite 6.1 skyriuje.
Derinimo aktyviklis pasirinkite registrą (pasirinkite)
- Jis galioja tik tiems mikroprocesoriams, kurie palaiko aparatinės įrangos pertraukos taškus ir palaiko daugiausiai 4 kanalų lūžio taškus, o galioja 2 apatiniai jo bitai.
- Konfigūruodami kiekvieną kanalo pertraukos tašką, prieš konfigūruodami turite pasirinkti atitinkamą kanalą per šį registrą.
8-12 lentelė pasirinkite registro apibrėžimą
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:2] | Rezervuota | MRO | Rezervuota | 0 |
| [1:0] |
PASIRINKTI |
MRW |
Nutraukimo taško kanalo pasirinkimo registras yra sukonfigūruotas, ty pasirinkus atitinkamą kanalą, tdata1 ir tdata2 registrus galima valdyti, kad būtų sukonfigūruotas lūžio taškas
informacija. |
X |
Derinimo aktyviklio duomenų registras 1 (tdata1)
Tai galioja tik mikroprocesoriams, kurie palaiko aparatinės įrangos lūžio taškus. Mikroprocesoriai palaiko tik komandų adresų ir duomenų adresų lūžio taškus, kur tdata1 registro bitas TYPE yra fiksuota reikšmė 2, o kiti bitai atitinka valdymo apibrėžimą derinimo standarte.
8-13 lentelė tdata1 registro apibrėžimas
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:28] | TIPAS | MRO | Lūžio taško tipo apibrėžimas, valdymo tipas. | 0x2 |
|
27 |
DMODE |
MRO |
0: atitinkamus flip-flop registrus galima keisti tiek mašinos režimu, tiek derinimo režimu;
1: tik derinimo režimas gali keisti atitinkamus flip-flop registrus. |
1 |
|
[26:21] |
MASKMAX |
MRO |
Kai MATCH=1, leidžiamas maksimalus eksponentinis suderinimo galios diapazonas, tai yra, didžiausias leistinas atitikimo diapazonas yra 231 baitas. |
0x1F |
| [20:13] | Rezervuota | MRO | Rezervuota | 0 |
|
12 |
VEIKSMAI |
MRW |
Nustatykite apdorojimo režimą, kai suaktyvinate pertraukos tašką:
0: suaktyvindami įveskite pertraukos tašką ir iškvieskite pertraukimą; 1: įjunkite derinimo režimą, kai jis suaktyvinamas. |
0 |
| [11:8] | Rezervuota | MRO | Rezervuota | 0 |
|
7 |
MATCH |
MRW |
Atitinkanti politikos konfigūracija:
0: atitiktis, kai trigerio reikšmė lygi TDATA2; 1: Trigerio reikšmė atitinka TDATA2 aukštąjį m bitą, kur m = 31–n, o n yra pirmoji TDATA0 2 citata (pradedant nuo žemo bito). |
0 |
|
6 |
M |
MRW |
Įjungti šlepetį M režimu:
0: išjungti trigerį M režimu; 1: įjunkite gaiduką M režimu. |
0 |
| [5:4] | Rezervuota | MRO | Rezervuota | 0 |
|
3 |
U |
MRW |
Įgalinti trigerį U režimu:
0: išjungti trigerį U režimu; 1: įjunkite gaiduką U režimu. |
0 |
|
2 |
VYKDYTI |
MRW |
Instrukcijos skaitymo adreso paleidiklis įjungtas: 0: Išjungti;
1: Įjungti. |
0 |
|
1 |
PARDUOTUVĖ |
MRW |
Duomenų rašymo adreso paleidiklis įjungtas: 0: Išjungti;
1: Įjungti. |
0 |
|
0 |
Įkelti |
MRW |
Duomenų skaitymo adreso paleidiklis įjungtas: 0: Išjungti;
1: Įjungti. |
0 |
Derinimo aktyviklio duomenų registras 2 (tdata2)
Jis galioja tik tiems mikroprocesoriams, kurie palaiko aparatinės įrangos lūžio taškus, ir yra naudojamas atitinkamai trigerio vertei išsaugoti.
8-14 lentelė tdata2 registro apibrėžimas
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:0] | TDATA2 | MRW | Naudojamas atitinkančioms reikšmėms išsaugoti. | X |
Derinimo valdymas ir būsenos registras (dcsr)
Šis registras naudojamas valdyti ir įrašyti derinimo režimo veikimo būseną. Daugiau informacijos rasite 7.1 skyriuje.
Derinimo režimo programos žymeklis (DPC)
Šiame registre saugomas kitos komandos, kuri bus vykdoma mikroprocesoriui perėjus į derinimo režimą, adresas, jo reikšmė skiriasi priklausomai nuo įėjimo į derinimo režimą priežasčių, taip pat skiriasi ir atnaujinimo taisyklės. Išsamų aprašymą rasite 7.1 skyriuje.
Derinimo režimas stagregistras (dscratch0-1)
Ši registrų grupė naudojama laikinai saugoti duomenis Debug režimu.
8-15 lentelė dscratch0-1 registro apibrėžimai
| Bit | Vardas | Prieiga | Aprašymas | Iš naujo nustatyti vertę |
| [31:0] | dscratch | DRW | Derinimo režimo duomenys stagvertę | 0 |
Vartotojo nustatytas CSR registras
Vartotojo režimo visuotinio pertraukimo įgalinimo registras (gintenr)
- Šis registras naudojamas visuotinio pertraukimo įjungimui ir maskavimui valdyti. Visuotinio pertraukimo įjungimą ir maskavimą mašinos režimu galima valdyti MIE ir MPIE bitais, tačiau šio registro negalima valdyti vartotojo režimu.
- Nors visuotinis pertraukimas įgalina registrą gintenr, yra MIE ir MPIE statuso atvaizdavimas.
- Naudotojo režimu intent gali būti naudojamas MIE ir MPIE nustatyti ir išvalyti, kaip aprašyta 3.2 skyriuje.
Pastaba
- Į visuotinius pertraukimus neįeina demaskuoti pertraukimai NMI ir išimtys.
Pertraukti sistemos valdymo registrą (intsyscr)
Šis registras daugiausia naudojamas konfigūruoti pertraukų įdėjimo gylį, aparatinės įrangos dėklo paspaudimą ir kitas susijusias funkcijas, kaip aprašyta 3.2 skyriuje.
Mikroprocesoriaus konfigūracijos registras (corecfgr)
Šis registras naudojamas kontroliuoti, ar NMI pertraukimas leidžiamas po pertraukimo perpildymo ir ar pertraukimo užklausa išvaloma, kai vykdoma tvoros instrukcija. Konkretus apibrėžimas pateiktas 3.2 skirsnyje.
Pertraukti įdėto valdymo registrą (inestcr)
Šis registras naudojamas nurodyti pertraukimo lizdo būseną ir tai, ar ji persipildo, ar ne, ir valdyti maksimalų lizdo lygį. Konkretus apibrėžimas pateiktas 3.2 skirsnyje.
Dokumentai / Ištekliai
![]() | V3 mikroprocesorius |
Nuorodos
- indeksas - NanjingQinhengMicroelectronicswch-ic.com
- Vartotojo vadovasmanual.tools

