WH V3 mikroprozesadorea

Zehaztapenak
- Mikroprozesadorearen eredua: QingKeV3
- Bertsioa: V1.2
- ISA Ezaugarriak:
- Pipeline FPU
- Adarren iragarpena
- Eten laguntza
- HPE memoria fisikoaren babesa (PMP)
- Energia baxuko kontsumo modua
- Instrukzio multzo hedatua arazketa
Produktuak erabiltzeko jarraibideak
Amaituview QingKe V3 mikroprozesadorea
QingKe V3 serieko mikroprozesadoreek V3A, V3B eta V3C modeloak dituzte. Eredu bakoitzak bere aplikazioaren arabera ezaugarri eta desberdintasunak ditu.
Argibide multzoa
RV32I instrukzio-multzoak 32 erregistro-multzo ditu x0tik x31ra. V3 serieak ez du onartzen koma mugikorreko luzapena (F). Erregistro bakoitzak 32 biteko tamaina du.
Erregistratu multzoa
RV32I erregistro-multzoa erregistro hauek osatzen dute.
- x0: Gogorrean kodetuta 0
- x1: Itzultzeko helbidea
- x2: Pila erakuslea
- x3: Erakusle globala
- x4: Hari erakuslea
- x5-x7: Aldi baterako erregistroak
- x8: Gorde erregistroa/marko erakuslea
- x9: Gorde erregistro/funtzio-parametroak/itzultzeko balioak
- x10-x11: Funtzio-parametroak
- x12-x17: Gorde erregistroak
- x18-x27: Aldi baterako erregistroak
- x28-x31: Deitzailearen/Deitzailearen erregistroak
Pribilegio modua
RISC-V arkitektura estandarrak hiru modu pribilegiatu barne hartzen ditu: Makina modua, Begirale modua eta Erabiltzaile modua. QingKe V3 serieko mikroprozesadoreek Makina modua eta Begirale modua onartzen dituzte.
Maiz egiten diren galderak
G: Zeintzuk dira QingKe V3 serieko mikroprozesadoreen modeloak?
A: QingKe V3 serieak V3A, V3B eta V3C modeloak ditu, bakoitza erabiltzailearen eskuliburuan zehaztutako ezaugarri eta desberdintasun zehatzekin.
G: Zenbat erregistro-multzo daude eskuragarri RV32I instrukzio-multzoan?
A: RV32I instrukzio multzoak 32 erregistro multzo eskaintzen ditu x0tik x31era.
G: Zein modu pribilegiatu onartzen ditu QingKe V3 mikroprozesadoreak?
A: QingKe V3 serieko mikroprozesadoreek Makina modua eta Begirale modua onartzen dituzte RISC-V arkitekturaren zati gisa.
Amaituview
QingKe V3 serieko mikroprozesadoreak berez garatutako 32 biteko MCU mikroprozesadoreak dira, RISC-V instrukzio multzoen arkitektura estandarrean oinarrituta. Serie honek V3A, V3B eta V3C barne hartzen ditu, eta horietako V3Ak RV32IMAC argibide-multzoaren luzapena onartzen du eta V3B/C-k RV32IMCB jarraibide-multzoaren luzapena eta pertsonalizatutako instrukzio-multzoa XW luzapena onartzen du. Biek ziklo bakarreko biderketa eta hardware zatiketa onartzen dituzte, hardwarearen presio pila (HPE), mahairik gabeko etenaldia (VTF), 1- eta 2-hariko arazketa-interfaze erraztuak, "WFE" argibideak eta beste ezaugarri berezi batzuez gain. Horrez gain, Hardware Prologue/Epilogue (HPE), Vector Table Free (VTF), 1-/2-wire arazketa interfaze erraztua eta "WFE" instrukziorako laguntza ere onartzen ditu.
Ezaugarriak
| Ezaugarriak | Deskribapena |
| ISA | RV32IM[A]C[B] |
| Hodibidea | 3 |
| FPU | Ez da onartzen |
| Adarren iragarpena | Adar estatikoen iragarpena |
| Eten | Guztira 256 eten onartzen ditu salbuespenak barne, eta VTF onartzen du |
| HPE | Onartu HPE 2 maila |
| Memoria fisikoaren babesa (PMP) | Onartua |
| Energia baxuko kontsumo modua | Onartu Sleep eta Deep lo moduak, eta WFI eta WFE lo metodoak onartzen ditu |
| Argibide multzo hedatua | Onartua |
| Araztu | 1/2 hari SDI, RISC-V arazketa estandarra |
Amaituview
QingKe V3 serieko mikroprozesadoreek V3A, V3B eta V3C barne hartzen dituzte, serieen artean desberdintasun batzuk daude aplikazioaren arabera, desberdintasun espezifikoak 1-1 taulan zehazten dira.
1-1 taulaview QingKe V3 mikroprozesadorea
| Ezaugarri Eredua | ISA | HPE maila kopurua | Etenaldiak habia egitea kopurua mailak | VTF kanal kopurua | Hodibidea | Bektorea taula modua | Instrukzio Hedatua (XW) | Memoria babesteko eremu kopurua |
| V3A | RV32IMAC | 2 | 2 | 4 | 3 | Instrukzioa | × | × |
| V3B | RV32IMCB | 2 | 2 | 4 | 3 | Helbidea/ Instrukzioa | √ | × |
| V3C | RV32IMCB | 2 | 2 | 4 | 3 | Helbidea/ Instrukzioa | √ | 4 |
Oharra: OS zereginen aldaketak, oro har, pila-puska erabiltzen du, eta hori ez da maila kopurura mugatzen
Argibide multzoa
- QingKe V3 serieko mikroprozesadoreek RISC-V Instruction Set Architecture (ISA) estandarra jarraitzen dute. Arauaren dokumentazio zehatza "RISC-V Instruction Set Manual, Volume I: User-Level ISA, Document Version 2.2" atalean aurki daiteke RISC-V International-en. webgunea. RISC-V instrukzio-multzoak arkitektura sinplea du eta diseinu modularra onartzen du, behar ezberdinetan oinarritutako konbinazio malguak ahalbidetuz, eta V3 serieak jarraibide-multzoaren luzapen hauek onartzen ditu.
- RV32: 32 biteko arkitektura, erabilera orokorreko erregistroaren bit-zabalera 32 biteko
- I: Euskarria konformatzeko eragiketa, 32 konformazio-erregistroekin
- M: Biderketa eta zatiketa argibideak moldatzeko laguntza
- A: Agindu atomikoak onartzen ditu
- C: Onartu 16 biteko konpresio instrukzioak
- B: Bit manipulatzeko jarraibideetarako laguntza
- XW: 16 biteko konpresio-jarraibideak byte eta hitz erdiko eragiketetarako
Oharra:
- Eredu ezberdinek onartzen duten argibideen azpimultzoa desberdinak izan daitezke; mesedez, ikusi 1-1 taulara xehetasunetarako;
- Kode-dentsitatea are gehiago hobetzeko, zabaldu XW azpimultzoa, gehitu honako konpresio-argibide hauek c.lbu/c.lhu/c.sb/c.sh/c.lbusp/c.lhusp/c.sbsp/c.shop , zeinaren erabilera MRS konpilatzailean edo eskaintzen duen tresna-katean oinarritu behar da;
- V3B-k hitz bikoitzetik (32bit) agindu bat (64bit) ateratzea onartzen du eta biderketa emaitza batetik (32bit) hitza (64bit) instrukzioa ateratzea onartzen du. Erabilera-metodo espezifikoak liburutegi-funtzioari erreferentzia egin diezaioke eta MRS konpiladorearekin edo honek eskaintzen duen tresna-katearekin lankidetzan jardutea;
- V3B/C memoria kopiatzeko instrukzioa onartzen du. Erabilera espezifikorako, irakurri liburutegiaren funtziora eta lankidetzan MRS konpilatzailearekin edo bere tresna-katearekin.
Erregistratu multzoa
RV32I-k x32-x0 bitarteko 31 erregistro multzo ditu. V3 serieak ez du "F" luzapena onartzen, hau da, ez dago koma mugikorreko erregistro-multzorik. RV32-n, erregistro bakoitza 32 bitekoa da. Beheko 1-2 taulan RV32I-ren erregistroak eta haien deskribapenak zerrendatzen dira.
1-2 taula RISC-V erregistroak
| Izena eman | ABI izena | Deskribapena | Biltegiratzailea |
| x0 | zero | Gogorrean kodetuta 0 | – |
| x1 | ra | Itzultzeko helbidea | Deitzailea |
| x2 | sp | Pila erakuslea | Callee |
| x3 | GP | Erakusle globala | – |
| x4 | tp | Hari erakuslea | – |
| x5-7 | t0-2 | Aldi baterako erregistroa | Deitzailea |
| x8 | s0/fp | Gorde erregistroa/marko erakuslea | Callee |
| x9 | s1 | Gorde erregistroa | Callee |
| x10-11 | a0-1 | Funtzio-parametroak/itzulera-balioak | Deitzailea |
| x12-17 | a2-7 | Funtzio-parametroak | Deitzailea |
| x18-27 | a2-11 | Gorde erregistroa | Callee |
| X28-31 | t3-6 | Aldi baterako erregistroa | Deitzailea |
Goiko taulako Deitzailearen atributuak esan nahi du deitutako prozedurak ez duela erregistroaren balioa gordetzen, eta Callee atributuak esan nahi du deitutako prozedurak erregistroa gordetzen duela.
Pribilegio modua
- RISC-V arkitektura estandarrak hiru modu pribilegiatu barne hartzen ditu: Makina modua, Begirale modua eta Erabiltzaile modua, beheko 1-3 taulan erakusten den moduan.
- Makina modua derrigorrezkoa da, eta gainerako moduak aukerakoak. Xehetasunetarako, ikus dezakezu RISC-V Instruction Set Manual Volume II: Privileged Architecture, RISC-V International-etik doan deskargatu daitekeena. webgunea.
1-3 taula RISC-V arkitektura pribilegio modua
| Kodea | Izena | Laburdurak |
| 0b00 | Erabiltzaile modua | U |
| 0b01 | Begirale eredua | S |
| 0b10 | Erreserbatuta | Erreserbatuta |
| 0b11 | Makina modua | M |
- QingKe V3 serieko mikroprozesadoreek modu pribilegiatu horietako bi onartzen dituzte.
Makina modua
- Makina moduak du autoritate handiena, modu honetako programak Kontrol eta Egoera Erregistro (CSR) guztiak atzi ditzake, baina helbide fisikoen eremu guztietara ere sar daiteke.
- Pizteko lehenetsia makina moduan dago, mret (Makina modua itzultzeko instrukzioa) exekuzioa itzultzen denean, CSR erregistroaren egoeraren arabera (Makina moduaren egoera erregistroa) MPP bitean, MPP = 0b00 bada, irten Makina modutik. Erabiltzaile moduan sartu, MPP = 0b11, gero jarraitu Makina modua mantentzen.
Erabiltzaile modua
- Erabiltzaile moduak pribilegio txikiena du, eta modu honetan CSR erregistro mugatuak soilik atzi daitezke. Salbuespen edo eten bat gertatzen denean, mikroprozesadorea Erabiltzaile modutik Makina modura pasatzen da salbuespenak eta etenak kudeatzeko.
EGE Erregistroa
RISC-V arkitekturan CSR erregistro batzuk definitzen dira mikroprozesadorearen funtzionamendu-egoera kontrolatzeko eta erregistratzeko. CSR hauek 4096 erregistroz heda daitezke 12 biteko helbide-kodetze-espazio dedikatu barne bat erabiliz. Eta erabili bi CSR altuak[11:10] erregistro honen irakurketa/idazketa baimena definitzeko, 0b00, 0b01, 0b10 irakurtzeko/idazketarako baimenduta eta 0b11 irakurtzeko soilik. Erabili bi biteko CSR[9:8] erregistro honetara sar daitekeen pribilegio maila baxuena definitzeko, eta balioa 1-3 taulan definitutako pribilegio-moduari dagokio. QingKe V3 mikroprozesadorean inplementatutako CSR erregistroak 8. kapituluan zehazten dira.
Salbuespena
Salbuespen mekanismoa, "ezohiko eragiketa-gertaerak" atzemateko eta kudeatzeko mekanismoa dena. QingKe V3 serieko mikroprozesadoreek 256 salbuespen kudea ditzakeen salbuespenen erantzun-sistemaz hornituta daude, etenaldiak barne. Salbuespen edo eten bat gertatzen denean, mikroprozesadoreak azkar erantzun eta kudea ditzake salbuespen eta etenaldi gertaerak.
Salbuespen motak
Mikroprozesadorearen hardware portaera berdina da salbuespen bat edo eten bat gertatzen den ala ez. Mikroprozesadoreak uneko programa eten egiten du, salbuespen edo eten kudeatzailera mugitzen da, eta prozesatzea amaitzean aurrez esekita dagoen programara itzultzen da. Oro har, etenaldiak ere salbuespenen parte dira. Zehazki uneko agerraldia eten bat den ala salbuespena izan daiteke viewMakina moduaren salbuespenaren bidez, kausa erregistroaren kausa. mcause[31] eten eremua da, salbuespenaren kausa eten bat edo salbuespen bat den adierazteko erabiltzen dena. mcause[31]=1 etenaldia esan nahi du, mcause[31]=0 salbuespena. mcause[30:0] salbuespen-kodea da, salbuespenaren kausa zehatza edo eten-zenbakia adierazteko erabiltzen dena, hurrengo taulan agertzen den moduan.
2-1 taula V3 mikroprozesadorearen salbuespen kodeak
| Eten | Salbuespena kodeak | Sinkronoa / Asinkronoa | Salbuespenaren arrazoia |
| 1 | 0-1 | – | Erreserbatuta |
| 1 | 2 | Asinkrono zehatza | NMI eten egiten du |
| 1 | 3-11 | – | Erreserbatuta |
| 1 | 12 | Asinkrono zehatza | SysTick-ek eten egiten du |
| 1 | 13 | – | Erreserbatuta |
| 1 | 14 | Sinkronikoa | Softwareak eten egiten du |
| 1 | 15 | – | Erreserbatuta |
| 1 | 16-255 | Asinkrono zehatza | Kanpoko etenaldia 16-255 |
| 0 | 0 | Sinkronikoa | Argibide-helbideen lerrokatze desegokia |
| 0 | 1 | Sinkronikoa | Eskuratu komandoak sartzeko errorea |
| 0 | 2 | Sinkronikoa | Legez kanpoko argibideak |
| 0 | 3 | Sinkronikoa | Eten puntuak |
| 0 | 4 | Sinkronikoa | Kargatu instrukzioen sarbide-helbide desegokia |
| 0 | 5 | Zehaztasunik gabeko asinkronoa | Kargatu komandoa sartzeko errorea |
| 0 | 6 | Sinkronikoa | Denda/AMO argibideetarako sarbide-helbide desegokia |
| 0 | 7 | Zehaztasunik gabeko asinkronoa | Denda/AMO komandoaren sarbide-errorea |
| 0 | 8 | Sinkronikoa | Inguruneko deia Erabiltzaile moduan |
| 0 | 11 | Sinkronikoa | Ingurunearen deia Makina moduan |
- Sinkronoak” taulan esan nahi du instrukzio bat exekutatzen den tokian kokatu daitekeela, esate baterako, eten edo dei-agindu bat, eta instrukzio horren exekuzio bakoitzak salbuespen bat eragingo du. "Asinkronoak" esan nahi du ezin dela instrukzio bat zehaztea, eta instrukzioaren PCaren balioa desberdina izan daiteke salbuespen bat gertatzen den bakoitzean. "Asinkrono zehatza" esan nahi du salbuespen bat instrukzio baten mugan kokatu daitekeela zehatz-mehatz, hau da, instrukzio bat exekutatu ondorengo egoeran, adibidez, kanpoko eten bat. "Doitasunik gabeko asinkronoa" esan nahi du instrukzio baten muga ezin dela zehatz-mehatz kokatu, eta agian instrukzio bat exekuzioaren erdian eten ostean dagoen egoera, esate baterako, memoria sartzeko errore bat.
- Memoriarako sarbideak denbora behar du, eta mikroprozesadoreak normalean ez du atzipenaren amaiera itxaron memorian sartzean, baina instrukzioa exekutatzen jarraitzen du, sarbide-errorearen salbuespena berriro gertatzen denean, mikroprozesadoreak hurrengo instrukzioak exekutatu ditu jada, eta ezin da zehatz-mehatz egon. kokatuta.
Salbuespena sartzen
Programa funtzionamendu arruntean dagoenean, arrazoiren batengatik, salbuespen bat edo eten bat abiarazten du. Une honetan mikroprozesadorearen hardware portaera honela labur daiteke.
- Eten ezazu uneko programaren fluxua eta mugitu salbuespenen edo etenen kudeaketa funtzioen exekuziora. Salbuespen edo eten funtzioaren sarrera-oinarrizko helbidea eta helbideratze-modua salbuespen-sarrera-oinarrizko helbide-erregistroaren bidez definitzen dira. mtvec[31:2] salbuespen edo eten funtzioaren oinarrizko helbidea definitzen du. mtvec[1:0] kudeatzaile funtzioaren helbideratze modua definitzen du. mtvec[1:0]=0 denean, salbuespen eta eten guztiek sarrera bateratua erabiltzen dute, hau da, salbuespen bat edo eten bat gertatzen denean, exekutatzeko oinarrizko helbidea definitzen duen mtvec[31:2]-era jotzen du. mtvec[1:0]=1 denean, salbuespenek eta etenek taula bektorial modua erabiltzen dute, hau da, salbuespen eta eten bakoitza zenbakituta dago, eta helbidea etenaldi-zenbakiaren arabera konpentsatzen da*4, eta salbuespen edo eten bat gertatzen denean, desplazatu egiten da. mtvec[31:2] + eten zenbakia*4 Exekuzioa definitutako oinarrizko helbidera. Eten-bektore-taulak eten kudeatzailearen funtziora salto egiteko instrukzio bat dauka, edo beste instrukzio batzuk izan daitezke.
- EGE erregistroa eguneratzea
- Salbuespen bat edo eten bat sartzen denean, mikroprozesadoreak automatikoki eguneratzen ditu dagozkion CSR erregistroak, besteak beste, Makina moduko salbuespenen kausa erregistroa mcause, Makina moduko salbuespen erakuslearen erregistroa mepc, Makina moduko salbuespen-balioaren erregistroa metala eta Makina moduaren egoera-erregistroaren egoera barne.
Eguneratu mcause
Lehen esan bezala, salbuespen edo eten bat sartu ondoren, bere balioak uneko salbuespen mota edo eten-zenbakia islatzen du, eta softwareak erregistro-balio hori irakur dezake salbuespenaren kausa egiaztatzeko edo etenaren jatorria zehazteko, 2. taulan zehaztutako moduan. -1.
Eguneratu mepc
- Salbuespen edo eten batetik irten ondoren mikroprozesadorearen itzulera-helbidearen definizio estandarra mepc-en gordetzen da.
- Beraz, salbuespen edo eten bat gertatzen denean, hardwareak automatikoki eguneratzen du mepc balioa uneko instrukzio PC baliora salbuespena aurkitzen denean, edo etenaren aurretik aurrez exekutatutako hurrengo instrukzio PC baliora.
- Salbuespena edo etenaldia prozesatu ondoren, mikroprozesadoreak gordetako balioa itzultzeko helbide gisa erabiltzen du etenaren kokapenera itzultzeko exekutatzen jarraitzeko.
- Dena den, hori nabarmentzekoa da.
- MEPC erregistro irakurgarria eta idazteko modukoa da, eta softwareak balioa alda dezake itzuli ondoren martxan dagoen ordenagailuko erakuslearen kokapena aldatzeko.
- Eten bat gertatzen denean, hau da, salbuespenaren kausa mcause[31]=1 erregistratzen denean, mapen balioa etenaren unean exekutatu gabeko hurrengo instrukzioaren PC baliora eguneratzen da.
- Salbuespen bat gertatzen denean, mapen balioa uneko salbuespenaren instrukzio PC baliora eguneratzen da salbuespenak erregistroa eragiten duenean mcause[31]=0. Beraz, salbuespena itzultzen den une honetan, zuzenean mepc balioa erabiliz itzultzen bagara, aurretik salbuespena sortu zuen instrukzioa exekutatzen jarraituko dugu, eta momentu honetan, salbuespena sartzen jarraituko dugu. Normalean, salbuespena kudeatu ondoren, mepc-en balioa exekutatu gabeko hurrengo instrukzioaren baliora alda dezakegu eta gero itzuli. Adibidezample, dei/break dela eta salbuespen bat eragiten badugu, salbuespena kudeatu ondoren, recall/break (c.ebreak 2 byte da) 4 byteko instrukzioa denez, softwarea bakarrik behar dugu mepc-en balioa mepc-era aldatzeko. +4 (c.ebreak mepc+2 da) eta gero itzuli.
Eguneratu mtval
Salbuespenak eta etenak sartzen direnean, hardwareak automatikoki eguneratuko du mtval-en balioa, hau da, salbuespena eragin duen balioa. Balioa da normalean.
- Salbuespen bat memoria sarbide batek eragiten badu, hardwareak salbuespenaren unean memoria sarbidearen helbidea gordeko du mtval-en.
- Salbuespena legez kanpoko instrukzio batek eragiten badu, hardwareak instrukzioaren instrukzio-kodea gordeko du mtval-en.
- Salbuespena hardware eten-puntu batek eragiten badu, hardwareak eten-puntuan PCaren balioa gordeko du mtval-en.
- Beste salbuespen batzuetarako, hardwareak mtval-en balioa 0-n ezartzen du, break adibidez, dei-instrukzioak eragindako salbuespena.
- Etenaldia sartzean, hardwareak mtval-en balioa 0-n ezartzen du.
Eguneratu mstatus
Salbuespenak eta etenak sartzean, hardwareak bit batzuk eguneratzen ditu mstatus-en.
- MPIE salbuespena edo etenaldia sartu aurretik MIE baliora eguneratzen da, eta MPIE salbuespena eta etenaldia amaitu ondoren MIE leheneratzeko erabiltzen da.
- MPP modu pribilegiatuan eguneratzen da salbuespenak eta etenak sartu aurretik, eta salbuespenak eta etenaldiak amaitu ondoren, MPP erabiltzen da aurreko modu pribilegiatua berrezartzeko.
- QingKe V3 mikroprozesadoreak eten-habiratzea onartzen du Makina moduan, eta MIE ez da garbituko salbuespenak eta etenak sartu ondoren.
Eguneratu mikroprozesadorearen pribilegio modua
- Salbuespenak eta etenak gertatzen direnean, mikroprozesadorearen modu pribilegiatua Makina modura eguneratzen da.
Salbuespenak kudeatzeko funtzioak
- Salbuespen edo eten bat sartzean, mikroprozesadoreak programa exekutatzen du mtvec erregistroak zehaztutako helbide eta modutik. Sarrera bateratua erabiltzean, mikroprozesadoreak mtvec[31:2]-k definitutako oinarrizko helbidetik jauzi-instrukzio bat hartzen du mtvec[1]-ren balioan oinarrituta, edo salbuespena eta etenen kudeaketa-funtzioaren sarrera helbidea lortzen du eta horren ordez exekutatu egiten du. . Une honetan, salbuespenak eta etenak kudeatzeko funtzioak kausa salbuespen edo eten bat den zehaztu dezake mcause[31] balioaren arabera, eta salbuespen mota eta kausa edo dagokion etenaren salbuespen-kodearen arabera epai daitezke. eta horren arabera kudeatu.
- Oinarrizko helbidea + eten-zenbakia *4 desplazamendurako erabiltzean, hardwareak automatikoki jauzi egiten du bektore-taulara eten-zenbakiaren arabera salbuespenaren edo eten-funtzioaren sarrera-helbidea lortzeko eta exekutatzeko jauzi egiten du.
Salbuespena Irteera
- Salbuespen edo eten kudeatzailea amaitu ondoren, zerbitzu-programatik irtetea beharrezkoa da. Salbuespenak eta etenak sartu ondoren, mikroprozesadorea Makina moduan sartzen da Erabiltzaile moduan, eta salbuespenen eta etenen prozesamendua ere Makina moduan amaitzen da. Salbuespenetatik eta etenetatik irtetea beharrezkoa denean, mret instrukzioa erabili behar da itzultzeko. Une honetan, mikroprozesadorearen hardwareak automatikoki egingo ditu eragiketa hauek.
- PCko erakuslea CSR erregistro mepc-ren baliora berrezartzen da, hau da, exekuzioa mepc-ek gordetako instrukzio-helbidean hasten da. Salbuespenen kudeaketa amaitu ondoren mepc-ren offset-eragiketari arreta jarri behar zaio.
- Eguneratu CSR erregistroaren egoera, MIE MPIEra berrezartzen da eta MPP aurreko mikroprozesadorearen modu pribilegiatua berrezartzeko erabiltzen da.
- Salbuespenaren erantzun-prozesu osoa hurrengo 2-1 irudian deskriba daiteke.

PFIC eta Eten Kontrola
- QingKe V3 mikroprozesadorea Eten Azkarraren Kontrolagailu Programagarri batekin (PFIC) diseinatuta dago, 256 eten arte kudea ditzakeen salbuespenak barne.
- Lehenengo 16ak mikroprozesadorearen barne eten gisa finkatzen dira, eta gainerakoak kanpoko etenaldiak dira, hau da, kanpoko etenen gehienezko kopurua 240ra luza daiteke. Bere ezaugarri nagusiak hauek dira.
- 240 kanpoko eten, eten eskaera bakoitzak abiarazle eta maskara kontrolatzeko bit independenteak ditu, egoera bit dedikatuekin
- Eten-lehentasun programagarriak 2 habia-maila onartzen ditu
- Mekanismoan sartu/irteteko eten bizkor berezia, hardwarearen pilaketa automatikoa eta berreskuratzea, 2 mailatako gehienezko HPE sakonera
- Vector Table Free (VTF) eten-erantzun mekanismoa, 2 kanaleko sarbide zuzena programagarria eten-helbide bektorialetarako
- Oharra: Eten-kontrolagailuek onartzen duten habiatze-sakonera maximoa eta HPE sakonera mikroprozesadore-modelo desberdinen arabera aldatzen dira, 1-1 taulan aurki daitezkeenak.
- Eten eta salbuespenen taula bektoriala beheko 3-1 taulan ageri da.
3-1 Taula Salbuespen eta eten bektore taula
| Zenbakia | Lehentasuna | Mota | Izena | Deskribapena |
| 0 | – | – | – | – |
| 1 | – | – | – | – |
| 2 | -5 | Finkoa | NMI | Eten ez maskaragarria |
| 3 | -4 | Finkoa | EXC | Salbuespen etenaldia |
| 4 | – | – | – | – |
| 5 | -3 | Finkoa | ECALL-M | Makina moduko deia itzultzeko etenaldia |
| 6-7 | – | – | – | – |
| 8 | -2 | Finkoa | ECALL-U | Erabiltzaile moduko deia-itzulera eten |
| 9 | -1 | Finkoa | ATSEDEN PUNTUA | Eten-puntua itzultzeko etenaldia |
| 10-11 | – | – | – | – |
| 12 | 0 | Programagarria | SysTick | Sistemaren tenporizadorearen etenaldia |
| 13 | – | – | – | – |
| 14 | 1 | Programagarria | SWI | Software etenaldia |
| 15 | – | – | – | – |
| 16-255 | 2-241 | Programagarria | Kanpo Etenaldia | Kanpoko etenaldia 16-255 |
Oharra: ECALL-M, ECALL-U eta BREAKPOINT EXC salbuespen mota desberdinak dira, V3B/C-n independenteak direnak erabiltzeko erraztasunerako, eta goiko 3 sarrera-helbideak EXC-rekin partekatzen dira V3A-n.
PFIC Erregistro multzoa
3-2 taula PFIC Erregistroak
| Izena | Sarbide helbidea | Sarbidea | Deskribapena | Berrezarri balioa |
| PFIC_ISRx | 0xE000E000
-0xE000E01C |
RO | Eten gaitzeko egoera erregistroa x | 0x00000000 |
| PFIC_IPRx | 0xE000E020
-0xE000E03C |
RO | Eten zain dagoen egoera-erregistroa x | 0x00000000 |
| PFIC_ITHRESDR | 0xE000E040 | RW | Eten lehentasunaren atalasearen konfigurazio-erregistroa | 0x00000000 |
| PFIC_VTFBADDRR | 0xE000E044 | RW | VTF oinarrizko helbideen erregistroa
Oharra: V3Arako bakarrik balio du |
0x00000000 |
| PFIC_CFGR | 0xE000E048 | RW | Eten konfigurazio-erregistroa
Oharra: V3Arako bakarrik balio du |
0x00000000 |
| PFIC_GISR | 0xE000E04C | RO | Eten egoera globalaren erregistroa | 0x00000002 |
|
PFIC_VTFIDR |
0xE000E050 |
RW |
VTF eten IDaren konfigurazio-erregistroa
Oharra: V3B/C-rako bakarrik balio du. |
0x00000000 |
| PFIC_VTFADDRRx | 0xE000E060
-0xE000E06C |
RW | VTF x offset helbide-erregistroa | 0xXXXXXXXXX |
| PFIC_IENRx | 0xE000E100
-0xE000E11C |
WO | Eten gaitzeko ezarpen erregistroa x | 0x00000000 |
| PFIC_IRERx | 0xE000E180
-0xE000E19C |
WO | Eten gaitu garbitu erregistroa x | 0x00000000 |
| PFIC_IPSRx | 0xE000E200
-0xE000E21C |
WO | Ezarpenaren zain dagoen eten erregistroa x | 0x00000000 |
| PFIC_IPRRx | 0xE000E280
-0xE000E29C |
WO | Etenaldia garbitzeko zain dagoen erregistroa x | 0x00000000 |
| PFIC_IACTRx | 0xE000E300
-0xE000E31C |
RO | Eten aktibazio egoera erregistroa x | 0x00000000 |
| PFIC_IPRIORx | 0xE000E400
-0xE000E43C |
RW | Eten lehentasunaren konfigurazio-erregistroa | 0x00000000 |
| PFIC_SCTLR | 0xE000ED10 | RW | Sistema kontrolatzeko erregistroa | 0x00000000 |
Oharra:
- NMI, EXC, ECALL-M, ECALL-U eta BREAKPOINT beti gaituta daude lehenespenez.
- ECALL-M, ECALL-U eta BREAKPOINT EXC kasu bat dira.
- NMI, EXC, ECALL-M, ECALL-U eta BREAKPOINT-ek garbiketa- eta ezarpen-eragiketa zain dagoen eten onartzen dute, baina ez etenik, garbiketa- eta ezarpen-eragiketa gaitu.
Erregistro bakoitza honela deskribatzen da:
Eten gaitzeko egoera eta eten zain dauden egoera-erregistroak (PFIC_ISR<0-7>/PFIC_IPR<0-7>)
| Izena | Sarbide helbidea | Sarbidea | Deskribapena | Berrezarri balioa |
| PFIC_ISR0 | 0xE000E000 | RO | 0-31 etenaldiak egoera-erregistroa gaitzen du, guztira 32 egoera-bit [n], #n etenaldiak gaitzen duen egoera adieraziz
Oharra: NMI eta EXC gaituta daude lehenespenez |
V3Arako: 0x0000000C
V3B/Crako: 0x0000032C |
| PFIC_ISR1 | 0xE000E004 | RO | Etenaldia 32-63 gaitzeko egoera-erregistroa, guztira 32 egoera-bit | 0x00000000 |
| … | … | … | … | … |
| PFIC_ISR7 | 0xE000E01C | RO | Eten 224-255 gaitzeko egoera-erregistroa, guztira 32 egoera-bit | 0x00000000 |
| PFIC_IPR0 | 0xE000E020 | RO | Etenaldia 0-31 egoeraren zain | 0x00000000 |
| erregistroa, guztira 32 egoera-bit [n], #n etenaren zain dagoen egoera adieraziz | ||||
| PFIC_IPR1 | 0xE000E024 | RO | Etenaldia zain dauden 32-63 egoera-erregistro, 32 egoera-bit guztira | 0x00000000 |
| … | … | … | … | … |
| PFIC_IPR7 | 0xE000E03C | RO | Etenaldia 244-255 egoera-erregistroaren zain, 32 egoera-bit guztira | 0x00000000 |
Bi erregistro-multzo erabiltzen dira dagozkien etenak gaitzeko eta desgaitzeko.
Eten gaitzeko ezarpena eta garbitu erregistroak (PFIC_IENR<0-7>/PFIC_IRER<0-7>)3
| Izena | Sarbide helbidea | Sarbidea | Deskribapena | Berrezarri balioa |
| PFIC_IENR0 | 0xE000E100 | WO | 0-31 etenaldiak ezarpen-erregistroa gaitzen du, guztira 32 ezarpen-bit [n], etenaldia #n gaitzeko ezarpenerako
Oharra: NMI eta EXC dira gaituta lehenespenez |
0x00000000 |
| PFIC_IENR1 | 0xE000E104 | WO | Eten 32-63 ezarpen-erregistroa gaitzeko, guztira 32 ezarpen-bit | 0x00000000 |
| … | … | … | … | … |
| PFIC_IENR7 | 0xE000E11C | WO | Eten 224-255 gaitzeko ezarpena
erregistroa, guztira 32 ezarpen-bit |
0x00000000 |
| – | – | – | – | – |
| PFIC_IRER0 | 0xE000E180 | WO | 0-31 etenek garbiketa-erregistroa gaitzen dute, guztira 32 bit garbi [n], #n etenetarako garbiketa gaitzen Oharra: NMI eta EXC ezin dira izan operatu |
0x00000000 |
| PFIC_IRER1 | 0xE000E184 | WO | 32-63 etenaldiak erregistro garbia ahalbidetzen du, guztira 32 bit garbi | 0x00000000 |
| … | … | … | … | … |
| PFIC_IRER7 | 0xE000E19C | WO | 244-255 etenaldiak erregistro garbia ahalbidetzen du, guztira 32 bit garbi | 0x00000000 |
Bi erregistro-multzo erabiltzen dira dagozkien etenak gaitzeko eta desgaitzeko.
Eten zain dagoen ezarpena eta garbitu erregistroak (PFIC_IPSR<0-7>/PFIC_IPRR<0-7>)
| Izena | Sarbide helbidea | Sarbidea | Deskribapena | Berrezarri balioa |
|
PFIC_IPSR0 |
0xE000E200 |
WO |
Etenaldia 0-31 ezarpenaren zain dagoen erregistroa, 32
[n] bitak ezartzeko, #n etenaldiaren ezarpenaren zain |
0x00000000 |
| PFIC_IPSR1 | 0xE000E204 | WO | Eten 32-63 konfigurazio erregistroaren zain,
guztira 32 konfigurazio bit |
0x00000000 |
| … | … | … | … | … |
| PFIC_IPSR7 | 0xE000E21C | WO | 224-255 etenaldia ezarri zain
erregistroa, 32 ezarpen bit guztira |
0x00000000 |
| – | – | – | – | – |
|
PFIC_IPRR0 |
0xE000E280 |
WO |
Etenaldia 0-31 erregistro garbiaren zain, guztira 32 bit garbi [n], #n etenerako
argiaren zain |
0x00000000 |
| PFIC_IPRR1 | 0xE000E284 | WO | 32-63 etenaldia erregistro garbiaren zain,
guztira 32 bit garbi |
0x00000000 |
| … | … | … | … | … |
| PFIC_IPRR7 | 0xE000E29C | WO | 244-255 etenaldia erregistro garbiaren zain,
guztira 32 bit garbi |
0x00000000 |
Mikroprozesadoreak eten bat gaitzen duenean, zuzenean ezar daiteke eten zain dagoen erregistroaren bidez etenaldia abiarazteko. Erabili zain dagoen etenaren garbiketa erregistroa zain dagoen abiarazlea garbitzeko.
Eten aktibazio-egoera erregistroa (PFIC_IACTR<0-7>)
| Izena | Sarbide helbidea | Sarbidea | Deskribapena | Berrezarri balioa |
| PFIC_IACTR0 | 0xE000E300 | RO | 0-31 etenaldiak egoera-erregistroa aktibatzen du 32 egoera-bitekin [n], eta #n etenaldia exekutatzen ari dela adierazten du | 0x00000000 |
| PFIC_IACTR1 | 0xE000E304 | RO | Eten 32-63 aktibazio-egoera erregistroak, 32 egoera-bit barne
guztira |
0x00000000 |
| … | … | … | … | … |
| PFIC_IACTR7 | 0xE000E31C | RO | Eten 224-255 aktibazio-egoera erregistroak, guztira 32 egoera-bit | 0x00000000 |
Eten bakoitzak egoera bit aktibo bat du, etenaldia sartzen denean konfiguratzen dena eta hardwareak garbitzen du merkatua itzultzean.
Eten-lehentasuna eta lehentasun-atalaseko erregistroak (PFIC_IPRIOR<0-7>/PFIC_ITHRESDR)
| Izena | Sarbide helbidea | Sarbidea | Deskribapena | Berrezarri balioa |
| PFIC_IPRIOR0 | 0xE000E400 | RW | Eten 0 lehentasunezko konfigurazioa. V3A: [7:4]: Lehentasunezko kontrol-bitak Konfigurazioa ez badago habiaratuta, ez dago lehentasunezko bitrik Habiaratze konfiguratuta badago, bit7 da lehenetsitako bita. [3:0]: Erreserbatuta, 0-ra finkatuta V3B: [7:6]: Lehentasunezko kontrol-bitak Konfigurazioa ez badago habiaratuta, ez dago konfiguratutako prebentzio-bitrik habiaratuta, bit guztiak aurrea hartzen dira, baina gehienez bi eten-maila gerta daitezke [5:0]: Erreserbatuta, finkatuta. 0 V3C: [7:5]: Lehentasunezko kontrol-bitak Konfigurazioa habiaratuta ez badago, ez dago prebentzio bitrik Habiaratuta konfiguratuta badago, bit guztiak lehenetsiko dira, baina gehienez bi eten-maila gerta daitezke [4:0]: Erreserbatua, 0-n finkatua Oharra: zenbat eta txikiagoa izan lehentasun-balioa, orduan eta lehentasun handiagoa. Lehentasun-lehentasunezko eten bera aldi berean zintzilikatzen bada, lehentasun handiagoa duen etenaldia exekutatuko da lehenik. |
0x00 |
| PFIC_IPRIOR1 | 0xE000E401 | RW | Eten 1 lehentasun-ezarpena, PFIC_IPRIOR0-ren funtzio bera | 0x00 |
| PFIC_IPRIOR2 | 0xE000E402 | RW | Eten 2 lehentasun-ezarpena, PFIC_IPRIOR0-ren funtzio bera | |
| … | … | … | … | … |
| PFIC_IPRIOR254 | 0xE000E4FE | RW | Eten 254 lehentasun-ezarpena, PFIC_IPRIOR0-ren funtzio bera | 0x00 |
| PFIC_IPRIOR255 | 0xE000E4FF | RW | Eten 255 lehentasun-ezarpena, PFIC_IPRIOR0-ren funtzio bera | 0x00 |
| – | – | – | – | – |
| PFIC_ITHRESDR | 0xE000E040 | RW | Eten lehentasunaren atalasearen ezarpena
V3A: [31:8]: Erreserbatuta, 0-ra finkatuta [7:4]: Lehentasun-atalasea [3:0]: Erreserbatuta, 0-ra finkatutaV3B: [31:8]: Erreserbatuta, 0-ra finkatuta [7:5]: Lehentasun-atalasea [4:0]: Erreserbatuta, 0-ra finkatutaV3C: [31:8]: Erreserbatuta, 0-ra finkatuta [7:5]: Lehentasun-atalasea [4:0]: Erreserbatuta, 0-ra finkatutaOharra: Lehentasun-balioa ≥ atalasea duten etenetarako, eten-zerbitzuaren funtzioa ez da zintzilik gertatzen denean, eta erregistro hori 0 denean, atalase-erregistroa baliogabea dela esan nahi du. |
0x00 |
Eten konfigurazio-erregistroa (PFIC_CFGR)
| Izena | Sarbide helbidea | Sarbidea | Deskribapena | Berrezarri balioa |
| PFIC_CFGR | 0xE000E048 | RW | Eten konfigurazio-erregistroa | 0x00000000 |
Erregistro honek V3Arako bakarrik balio du, bere bitak honela definitzen dira:
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:16] | GAKEKODEA | WO | Helburuko kontrol-bit desberdinei dagozkienak, dagozkion segurtasun-sarbidearen identifikazio-datuak aldi berean idatzi behar dira aldatzeko, eta irakurketa-datuak 0-an finkatuta daude. KEY1 = 0xFA05; KEY2 = 0xBCAF; KEY3 = 0xBEEF. | 0 |
| [15:8] | Erreserbatuta | RO | Erreserbatuta | 0 |
| 7 | SYSRESET | WO | Sistema berrezartzea (KEY3-n aldi berean idaztea). Garbitu automatikoa 0.
1 idaztea baliozkoa da, 0 idaztea baliogabea da. Oharra: PFIC_SCTLR erregistro SYSRESET bitaren funtzio bera. |
0 |
| 6 | PFICRESET | WO | PFIC modulua berrezarri. Garbitu automatikoa 0.
1 idaztea baliozkoa da, 0 idaztea baliogabea da. |
0 |
| 5 | ADIERAZPENA | WO | Salbuespen-etenaldia garbitzeko zain (KEY2-ra aldibereko idazketa)
1 idaztea baliozkoa da, 0 idaztea baliogabea da. |
0 |
| 4 | EXCSET | WO | Salbuespen etenaren zain dagoen ezarpena (KEY2-ra aldibereko idazketa)
1 idaztea baliozkoa da, 0 idaztea baliogabea da. |
0 |
| 3 | NMIRESET | WO | NMI etenaldia garbitzeko zain (KEY2-ra aldibereko idazketa)
1 idaztea baliozkoa da, 0 idaztea baliogabea da. |
0 |
| 2 | NMISET | WO | NMI etenaren zain dagoen ezarpena (KEY2-ra aldibereko idazketa)
1 idaztea baliozkoa da, 0 idaztea baliogabea da. |
0 |
| 1 | NESTCTRL | RW | Eten habiatzeak kontrola ahalbidetzen du.
1: itzali; 0: aktibatuta (KEY1-en idazketa sinkronikoa) |
0 |
| 0 | HWSTKCTRL | RW | HPE gaitu kontrola
1: itzali; 0: aktibatuta (KEY1-en idazketa sinkronikoa) |
0 |
Eten egoera-erregistro globala (PFIC_GISR)
| Izena | Sarbide helbidea | Sarbidea | Deskribapena | Berrezarri balioa |
| PFIC_GISR | 0xE000E04C | RO | Eten egoera globalaren erregistroa | 0x00000000 |
Honela definitzen dira bere jendea
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:14] | Erreserbatuta | RO | Erreserbatuta | 0 |
|
13 |
LOCKSTA |
RO |
Prozesadorea blokeatutako egoeran dagoen ala ez:
1: Blokeatutako egoera; 0: blokeatu gabeko egoera. Oharra: bit honek V3B/Crako bakarrik balio du. |
0 |
|
12 |
DBGMODE |
RO |
Prozesadorea une honetan arazketa-egoeran dagoen ala ez: 1: Araztu egoera;
0: Arazte gabeko egoera. Oharra: bit honek V3B/Crako bakarrik balio du. |
0 |
|
11 |
GLOBIA |
RO |
Eten globala gaitu:
1: Gaitu etenaldia; 0: etenaldia desgaitu. Oharra: bit honek V3B/Crako bakarrik balio du. |
|
| 10 | Erreserbatuta | RO | Erreserbatuta | 0 |
| 9 | GPENDSTA | RO | Une honetan eten bat dagoen ala ez.
1: Bai; 0: Ez. |
0 |
| 8 | GACTSTA | RO | Eten bat exekutatzen ari den ala ez.
1: Bai; 0: Ez. |
0 |
|
[7:0] |
NESTSTA |
RO |
Uneko eten-habiaren egoera. 0x03: 2. mailako etenaldian.
0x01: 1. mailako etenaldian. 0x00: ez da etenik gertatzen. Bestela: Egoera ezinezkoa. |
0 |
VTF IDaren oinarrizko helbidea eta desplazamendu-helbideen erregistroak (PFIC_VTFBADDRR/PFIC_VTFADDRR<0-3>)
| Izena | Sarbide helbidea | Sarbidea | Deskribapena | Berrezarri balioa |
|
PFIC_VTFBADDRR |
0xE000E044 |
RW |
[31:28]: VTF xede-helbidearen 4 bit altuak [27:0]: Erreserbatuta
Erregistro honek V3Arako bakarrik balio du. |
0x00000000 |
|
PFIC_VTFIDR |
0xE000E050 |
RW |
[31:24]: 3 VTF kopurua [23:16]: 2 VTF kopurua [15:8]: 1 VTF kopurua [7:0]: 0 VTF kopurua
Erregistro honek V3B/Crako bakarrik balio du. |
0x00000000 |
| – | – | – | – | – |
|
PFIC_VTFADDRR0 |
0xE000E060 | RW | V3A: [31:24]: VTF 0 eten-zenbakia [23:0]: VTF xede-helbidearen 24 bit baxuak, horietatik 20 bit baxuak baliozkoak izateko konfiguratuta daude, eta [23:20] 0-n finkatuta dago. .
V3B/C: [31:1]: VTF 0 helbidea, 2 byte lerrokatuta [0]:1: gaitu VTF 0 kanala 0: Desgaitu |
V3Arako: 0x00000000 V3B/Crako: 0xXXXXXXXXX |
|
PFIC_VTFADDRR1 |
0xE000E064 |
RW |
V3A: [31:24]: VTF 1 eten-zenbakia [23:0]: VTF xede-helbidearen 24 bit baxuak, horietatik 20 bit baxuak baliozkoak izateko konfiguratuta daude eta [23:20] 0-n finkatuta dago.
V3B/C: [31:1]: VTF 1 helbidea, 2 byte lerrokatuta [0]:1: gaitu VTF 1 kanala 0: Desgaitu |
V3Arako: 0x00000000 V3B/Crako: 0xXXXXXXXXX |
|
PFIC_VTFADDRR2 |
0xE000E068 |
RW |
V3A: [31:24]: VTF 2 eten-zenbakia [23:0]: VTF xede-helbidearen 24 bit baxuak, horietatik 20 bit baxuak baliozkoak izateko konfiguratuta daude, eta [23:20] 0-n finkatuta dago. .
V3B/C: [31:1]: VTF 2 helbidea, 2 byte lerrokatuta [0]:1: gaitu VTF 2 kanala 0: Desgaitu |
V3Arako: 0x00000000 V3B/Crako: 0xXXXXXXXXX |
| PFIC_VTFADDRR3 | 0xE000E06C | RW | V3A: | V3Arako: |
| [31:24]: VTF 3 eten-zenbakia [23:0]: VTF xede-helbidearen 24 bit baxuak, horietatik 20 bit baxuak baliozkoak izateko konfiguratuta daude, eta [23:20] 0-n finkatzen da.
V3B/C: [31:1]: VTF 3 helbidea, 2 byte lerrokatuta [0]:1: gaitu VTF 3 kanala 0: Desgaitu |
0x00000000
V3B/Crako: 0xXXXXXXXXX |
Sistema kontrolatzeko erregistroa (PFIC_SCTLR)
| Izena | Sarbide helbidea | Sarbidea | Deskribapena | Berrezarri balioa |
| PFIC_SCTLR | 0xE000ED10 | RW | Sistema kontrolatzeko erregistroa | 0x00000000 |
Horietako bakoitza honela definitzen da.
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| 31 | SYSRESET | WO | Sistema berrezarri, automatikoki garbitu 0. Idatzi 1 baliozkoa da eta idatzi 0 baliogabea.
Oharra: bit honek V3B/C-rako bakarrik balio du |
0 |
| [30:6] | Erreserbatuta | RO | Erreserbatuta | 0 |
| 5 | ZERBITZUAK | WO | Ezarri gertaera WFE kasua esnatzeko. | 0 |
|
4 |
SEVONPEND | RW | Gertaera bat gertatzen denean edo zain dagoen egoera bat eteten denean, sistema WFE instrukzioaren ondoren esna daiteke, edo WFE instrukzioa exekutatzen ez bada, sistema hurrengo instrukzioa exekutatu eta berehala piztuko da.
1: Gaitutako gertaerek eta eten guztiek (gaitu gabeko etenak barne) sistema piztu dezakete. 0: Gaitutako gertaerak eta gaituta bakarrik etenek sistema esna dezakete. |
0 |
| 3 | WFITOWFE | RW | Exekutatu WFI komandoa WFE bat balitz bezala.
1: Tratatu ondorengo WFI instrukzioa WFE instrukzio gisa. 0: eraginik gabe. |
0 |
| 2 | LO SAKON | RW | Kontrol-sistemaren potentzia baxuko modua. | 0 |
| 1: lo sakon 0: lo | ||||
| 1 | SLEEPONEXI T | RW | Sistemaren egoera kontrolak etenaldi zerbitzuaren programatik irten ondoren.
1: Sistema potentzia baxuko moduan sartzen da. 0: Sistema programa nagusian sartzen da. |
0 |
| 0 | Erreserbatuta | RO | Erreserbatuta | 0 |
Etenekin lotutako EGE Erregistroak
Gainera, ondorengo EGE erregistroek ere eragin handia dute etenen tratamenduan. Eten sistema kontrolatzeko erregistroa (intsyscr)
Erregistro honek ez du balio V3Arako soilik:
| Izena | ESK Helbidea | Sarbidea | Deskribapena | Berrezarri balioa |
| intsyscr | 0x804 | URW | Eten sistema kontrolatzeko erregistroa | 0x0000E002 |
Bere jendea honela definitzen da:
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
|
31 |
BLOKATU |
URO |
0: Erregistro hau erabiltzaile moduan irakurri eta idatzi daiteke;
1: Erregistro hau makina moduan bakarrik irakurri eta idatzi daiteke. Oharra: konfigurazio bit honek balio du 1.0 bertsiotik aurrera. |
0 |
| [30:6] | Erreserbatuta | URO | Erreserbatuta | 0x380 |
|
5 |
GIHWSTKNEN |
URW1 |
Eten globala eta hardware pila ixtea gaituta daude.
Oharra: bit hau denbora errealeko sistema eragileetan erabili ohi da. Etenaldi batean testuingurua aldatzen denean, bit hau ezartzeak etenaldi globala desaktibatu eta hardware-pila bultza dezake. Testuinguru-aldaketa amaitzen denean eta etenaldia itzultzen denean, hardwareak egingo du automatikoki garbitu bit hau. |
0 |
| 4 | Erreserbatuta | URO | Erreserbatuta | 0 |
| [3:2] | PMTCFG | URW | Lehentasun-biten konfigurazioa:
00: lehentasunezko bit kopurua 0 da; 01: lehentasunezko bit kopurua 1 da; 10: lehenespen-bit kopurua 2 da; 11: lehenespen-bit kopurua 3 da; Oharra: konfigurazio bit hau baliozkoa da ondoren 1.0. |
0 |
| 1 | ENTZUN | URW | Eten habia egiteko funtzioa gaituta dago, eta balio finkoa 1 da: | 1 |
| 0: Desgaitu;
1: gaitu. Oharra: 1. Benetako habia-maila NEST_LVL-k kontrolatzen du CSR 0xBC1-n; 2. 1.0 ondorengo bertsioak bakarrik izan daitezke idatzia. |
||||
| 0 | HWSTKEN | URW | Hardware pila gaitzea:
0: Hardware pila sakatzeko funtzioa desgaituta dago; 1: Hardware pila sakatzeko funtzioa gaituta dago. |
0 |
Makina moduko salbuespenaren oinarrizko helbide-erregistroa (mtvec)
| Izena | ESK Helbidea | Sarbidea | Deskribapena | Berrezarri balioa |
| mtvec | 0x305 | MRW | Salbuespen-oinarrizko helbide-erregistroa | 0x00000000 |
Honela definitzen dira bere jendea
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:2] | BASEADDR[31:2] | MRW | Eten bektore-taularen oinarrizko helbidea, non
bit [9:2] 0-n finkatzen dira. |
0 |
| 1 | MODUA1 |
MRO |
Eten bektore-taulen ezagutze modua: 0: jauzi-aginduaren bidez identifikatzea, esparru mugatuarekin, eta jauzi gabeko instrukzioa onartzen du;
1: Identifikatu helbide absolutu bidez, sorta osoa onartzen du, baina salto egin behar du. Oharra: bit honek V3B/C-rako bakarrik balio du. |
0 |
| 0 | MODUA0 | MRW | Eten edo salbuespeneko sarrera helbide modua hautatzea.
0: Sarrerako helbide uniformearen erabilera. 1: Helbide-desplazamendua eten-zenbakiaren arabera *4. |
0 |
V3 serieko mikroprozesadoreak dituzten MCUetarako, MODE0 1 izateko konfiguratuta dago abiaraztean file, eta salbuespenetarako edo etenetarako sarrerak *4 eten-zenbakiaren arabera konpentsatzen dira. Kontuan izan V3A mikroprozesadoreak salto-instrukzio bat gordetzen duela taula bektorialean, eta V3B/C mikroprozesadoreak, berriz, salto-instrukzio bat edo eten funtzioaren helbide absolutua erabil dezake, abiarazte lehenetsian helbide absolutu gisa konfiguratuta dagoena. file.
Mikroprozesadorearen konfigurazio-erregistroa (zuzentzailea)
Erregistro honek ez du balio V3Arako:
| Izena | ESK Helbidea | Sarbidea | Deskribapena | Berrezarri balioa |
| corecfgr | 0xBC0 | MRW | Mikroprozesadorearen konfigurazio-erregistroa | 0x00000001 |
Honela definitzen dira bere jendea
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:8] | Erreserbatuta | MRO | Erreserbatuta | 0 |
|
7 |
CSTA_FAULT_IE |
MRW |
Nukleoaren egoera-errorea etenaldia gaitu:
0: Egoera errorean, ez da NMI etenik sortzen; 1: Egoera errorean, NMI etenaldia da sortutako. |
0 |
| 6 | Erreserbatuta | MRO | Mantendu 0. | 0 |
| 5 | IE_REMAP_EN | MRW | MIE erregistroen mapak aukera ematen du:
0: CSR helbidea 0x800 irakurtzeko soilik den erregistroa da eta itzultzeko balioa EGOERA-ren balioa da; 1: 3x7 CSR helbidearen 0. eta 800. bitak STATUS erregistroko MIE bitarekin eta STATUS erregistroko MPIE bitarekin mapatzen dira, hurrenez hurren. |
0 |
| 4 | Erreserbatuta | MRO | Erreserbatuta | 0 |
| 3 | ROM_LOOP_ACC | MRW | ROM eremuko instrukzioen begizta azelerazioa gaitu:
0: Desaktibatu azelerazio ziklikoaren funtzioa ROM eremuan; 1: 128 byte barruko begizta-gorputza duten jarraibide jarraituak guztiz azeleratuko dira, eta 256 byte-ko begizta-gorputza dutenak partzialki bizkortuko dira; |
0 |
| 2 | ROM_JUMP_ACC | MRW | ROM eremuko instrukzioen salto azelerazioa gaituta dago:
0: Desgaitu ROM eremuko instrukzioen salto azelerazioa; 1: gaitu instrukzioen jauzi azelerazioa ROM eremuan. |
0 |
| [1:0] | FETCH_MODE | MRW | Eskuratzeko modua:
00: desaktibatuta dago. Aginduen aurre-eskuratze-funtzioa desaktibatuta dago instrukzio baliogabeak lortzeko eragiketak saihesteko, eta gehienez ere baliozko instrukzio bat dago CPU kanalizazioan. Eredu honek energia-kontsumo txikiena du, eta bere errendimendua 2 ~ 3 aldiz gutxi gorabehera. 01: Aurrez jasotzeko modua 1. Aginduen aurreskuratze funtzioa aktibatuta dagoenean, PUZak jarraibideen memoriara sartzen jarraituko du barneko instrukzioen bufferean exekutatu beharreko instrukzio kopuruak kopuru jakin bat gainditzen duen arte, edo instrukzioen buffera bete arte, eta instrukzioa eskuratzea eten egingo da; (PUZaren iragarpenaren hutsegiteak berreskuratze eragiketa erredundantea ekarriko du, eta zenbait kasutan, exekuzio-unitateak 0 ~ 2 burbuila-ziklo sartuko ditu, eta programa gehienen errendimendua ez da gutxituko, jakina); 10: Erreserbatua; |
0x1 |
Eten habiatutako kontrol-erregistroa (inestcr)
Erregistro honek ez du balio V3Arako soilik:
| Izena | ESK Helbidea | Sarbidea | Deskribapena | Berrezarri balioa |
| inbertitzailea | 0xBC1 | MRW | Eten habiaraturiko kontrol-erregistroa | 0x00000000 |
Honela definitzen dira bere jendea
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| 31 | Erreserbatuta | MRO | Erreserbatuta | 0 |
| 30 | NEST_OV | MRW | Eten/salbuespen habiaratua gainezkatze banderaren bit, idatzi 1 garbitzeko:
0: Etenaldiak ez zuen gainezka egin; 1: Eten gainezkatze bandera. Oharra: Eten gainezkatzea bigarren mailako eten zerbitzuaren funtzioa exekutatzen denean soilik gertatuko da instrukzio-salbuespena edo NMI eten bat sortzeko. Une honetan, salbuespena eta NMI etenaldia normalean sartzen dira, baina CPU pila gainezka egiten da, beraz, ezin duzu salbuespen honetatik irten eta NMI etenaldia. |
0 |
| [29:12] | Erreserbatuta | MRO | Erreserbatuta | 0 |
| [11:8] | NEST_STA | MRO | Habiaratutako egoera-markaren bit:
0000: etenik ez; 0001: 1. mailako etenaldia; 0011: 2. mailako etenaldia (1-mailako habia); |
0 |
| 0111: 3. mailako etenaldia (gainetik);
1111: 4. mailako etenaldia (gainetik). |
||||
| [7:2] | Erreserbatuta | MRO | Erreserbatuta | 0 |
| [1:0] | NEST_LVL | MRW | Habia-maila:
00: Habia egitea debekatuta dago eta habia egiteko funtzioa desaktibatuta dago; 01: Lehen mailako habia, habia funtzioa pizten duena; Bestela: baliogabea. Oharra: Idatzi 10 edo 11 eremu honetan, eta eremua 01ean ezarriko da. 11 eremu honetan idaztean, irakurri erregistro hau txiparen habia-maila altuena lortzeko. |
0 |
Erabiltzaile modua etenaldi globala gaitzeko erregistroa (interna)
Erregistro honek ez du balio V3Arako soilik:
| Izena | ESK Helbidea | Sarbidea | Deskribapena | Berrezarri balioa |
| gintenr | 0x800 | URW | Eten globala gaitzeko erregistroa | 0x00000000 |
Erregistro hau eten globalaren gaikuntza eta maskara kontrolatzeko erabiltzen da. Makina moduan etenaldi globalaren gaitzea eta maskara egoeran dauden MIE eta MPIE biten bidez kontrolatu daitezke, baina erregistro hau ezin da erabili erabiltzaile moduan.
Etenaldi globala gaitzeko erregistroa gintenr MIE eta MPIE-ren mapaketa da mstatus-en, eta MIE eta MPIE ezartzeko eta garbitzeko erabil daiteke gintenr erabiltzaile moduan funtzionatuz.
Horietako bakoitza honela definitzen da:
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:13] | Erreserbatuta | URO | Erreserbatuta | 0 |
| [12:11] | MPP | URO | Sartu modu pribilegiatua eten aurretik. | 0 |
| [10:8] | Erreserbatuta | URO | Erreserbatuta | 0 |
| 7 | MPIE | URW | 0xBC0(CSR)bit5 gaituta dagoenean, bit hau
erabiltzaile moduan irakurri eta idatzi daiteke. |
0 |
| [6:4] | Erreserbatuta | URO | Erreserbatuta | 0 |
| 3 | MIE | URW | 0xBC0(CSR)bit5 gaituta dagoenean, bit hau
erabiltzaile moduan irakurri eta idatzi daiteke. |
0 |
| [1:0] | Erreserbatuta | URO | Erreserbatuta | 0 |
Eten habiak
Etenarekin, PFIC_CFGR konfigurazio-erregistroarekin eta PFIC_IPRIOR eten-lehentasun-erregistroarekin batera, etenen habiratzea baimendu daiteke. Gaitu habiratzea etenen konfigurazio-erregistroan (Habiaratzea aktibatuta dago lehenespenez V3 serieko mikroprozesadoreetarako) eta konfiguratu dagokion etenaren lehentasuna. Lehentasun-balioa zenbat eta txikiagoa izan, orduan eta lehentasun handiagoa. Lehentasun bitaren balioa zenbat eta txikiagoa izan, orduan eta lehentasun handiagoa izango da. Lehentasun-lehentasun beraren pean zintzilik dauden etenaldiak aldi berean badaude, mikroprozesadoreak lehentasun baxuagoko balioarekin (lehentasun handiagoa) erantzuten dio etenari.
Hardware Prologo/Epilogo (HPE)
- Salbuespen edo eten bat gertatzen denean, mikroprozesadoreak uneko programaren fluxua gelditzen du eta salbuespenaren edo etenen kudeaketa funtzioaren exekuziora aldatzen du, uneko programaren fluxuaren gunea gorde behar da. Salbuespena edo etenaldia itzuli ondoren, beharrezkoa da gunea leheneratu eta gelditutako programaren fluxua exekutatzen jarraitzea. V3 serieko mikroprozesadoreetarako, hemengo "gunea" 1-2 taulako Deitzailearen Gordetako erregistro guztiak aipatzen dira.
- V3 serieko mikroprozesadoreek hardware-ziklo bakarreko gordetze automatikoa onartzen dute erabiltzaileak ikusten ez duen barneko pila-eremu batean formatutako deitzaileek gordetako 16 erregistroen gordetze automatikoan. Salbuespen edo eten bat itzultzen denean, hardware-ziklo bakarrak automatikoki berrezartzen ditu barneko pila-eremuko datuak 16 formako erregistroetara. HPE-k 2 mailarainoko habiak onartzen ditu.
- Ondoko irudian mikroprozesadorearen presio-pilaren eskema erakusten da.

Oharra:
- HPE erabiltzen duten eten funtzioak MRS edo hornitutako tresna-katea erabiliz konpilatu behar dira eta eten funtzioa __attribute__((etendura ("WCH-Eten-bizkorra")) deklaratu behar da).
- Stack push erabiliz eten funtzioa __attribute__((interrupt())-k adierazten du.
Bektore Taula Doakoa (VTF)
- Etenaldi Azkarraren Kontrolagailu Programagarriak (PFIC) 4 VTF kanal eskaintzen ditu, hau da, eten funtzioaren sarrerara zuzenean sartzeko eten-taularen bektore-prozesutik pasatu gabe.
- VTF kanala eten-zenbakia, eten-zerbitzuaren oinarrizko helbidea eta desplazamendu-helbidea dagokion PFIC kontrolagailu-erregistroan idatziz aktibatu daiteke eten-funtzioa normalean konfiguratzen duzun bitartean.
- Eten azkar eta mahairik gabeko PFIC erantzun-prozesua beheko 3-2 irudian ageri da.

Memoria fisikoaren babesa PMP
- Sistemaren segurtasuna hobetzeko, memoria fisikoa babesteko (PMP) modulua RISC-V arkitektura estandarraren arabera diseinatu da Highland garagar V3 serieko mikroprozesadoreetarako. Gehienez 4 eskualde fisikoren sarbide-eskubideen kudeaketa onartzen da. Baimenek irakurtzeko (R), idazteko (W) eta exekutatzeko (X) atributuak barne hartzen dituzte, eta babestutako eremuaren luzera gutxienez 4 byteko ezarri daiteke. PMP moduluak erabiltzaile moduan beti eragiten du, baina aukeran izan dezake eragina (L) atributua makina moduan blokeatuz.
- Sarbideak oraingo baimen-muga urratzen badu, etenaldi anormal bat eragingo du. PMP moduluak 8 biteko konfigurazio-erregistroen lau talde (32 biteko talde bat) eta helbide-erregistroen lau talde biltzen ditu, eta horiek guztiak makina moduan sartu behar dira CSR instrukzioaren bidez.
- Oharra: PMP-k mikroprozesadore-eredu desberdinetan onartzen dituen eremu babestuen kopurua desberdina izan daiteke, eta pmpcfg eta pmpaddr erregistroek onartzen duten kopurua ere desberdina da. Ikus 1-1 taula xehetasunetarako.
PMP Erregistro multzoa
V3 mikroprozesadorearen PMP moduluak onartzen dituen CSR erregistroen zerrenda beheko 4-1 taulan ageri da.
4-1 Taula PMP modulu-erregistro multzoa
| Izena | ESK helbidea | Sarbidea | Deskribapena | Berrezarri balioa |
| pmpcfg0 | 0x3A0 | MRW | PMP konfigurazio-erregistroa 0 | 0x00000000 |
| pmaddr0 | 0x3B0 | MRW | PMP helbide-erregistroa 0 | 0xXXXXXXXXX |
| pmaddr1 | 0x3B1 | MRW | PMP helbide-erregistroa 1 | 0xXXXXXXXXX |
| pmaddr2 | 0x3B2 | MRW | PMP helbide-erregistroa 2 | 0xXXXXXXXXX |
| pmaddr3 | 0x3B3 | MRW | PMP helbide-erregistroa 3 | 0xXXXXXXXXX |
pmp
pmpcfg PMP unitatearen konfigurazio-erregistroa da, eta erregistro bakoitzak 8 biteko lau ponpaketa eremu ditu, lau eskualderen konfigurazioari dagozkionak, eta ponpaketa i eskualdearen konfigurazio-balioa adierazten du. Bere formatua hurrengo 4-2 taulan ageri da.
4-2 taula pmpcfg0 erregistroa
pmpcfg I eremua konfiguratzeko erabiltzen da eta bere bit definizioa 4-3 taulan azaltzen da.
4-3 taula pmp
| Bit | Izena | Deskribapena |
| 7 | L | Blokeatzea gaituta dago eta makina moduan desblokea daiteke. 0: Ez blokeatuta;
1: Blokeatu dagokion erregistroa. |
| [6:5] | – | Erreserbatuta |
| [4:3] | A | Helbideen lerrokatzea eta babes-eremuaren aukeraketa. 00: OFF (PMP desaktibatuta)
01: TOR (Goiko lerrokatze-babesa) 10: NA4 (lau byteko babesa finkoa) 11: NAPOT (2(G+2) byte babesa, G≥1) |
| 2 | X | Exekutatu daitekeen atributua. |
| 0: Ez dago exekutatzeko baimenik;
1: Exekutatu baimena. |
||
|
1 |
W |
Idatzi daitekeen atributua.
0: Idazteko baimenik ez 1: Idazteko baimenik. |
|
0 |
R |
Atributu irakurgarria
0: Irakurtzeko baimenik ez 1: Irakurtzeko baimenik. |
pmpaddr
pmpaddr erregistroa I eremuko helbidea konfiguratzeko erabiltzen da. Definizio estandarra RV32 arkitekturaren pean dago, hau da, 32 biteko helbide fisiko baten goiko 34 biten kodeketa da, eta bere formatua 4-4 taulan agertzen da. .
V3 mikroprozesadorearen helbide fisiko osoa 4G da, beraz, erregistro honen goiko bi bitak ez dira erabiltzen.
4-4 taula pmaddr 
NAPOT hautatzen denean, helbide-erregistroaren bit baxua ere uneko babes-eremuaren tamaina adierazteko erabiltzen da, hurrengo taulan ikusten den bezala, non 'y' erregistroaren bit bat den.
4-5 taula PMP konfigurazioaren eta helbide-erregistroaren eta eremu babestuaren arteko erlazio-taula.
| pmpaddr | pmpcfg. A | Oinarrizko helbidea eta tamaina bat etortzea |
| yyyy...yyyy | NA4 | 'yy...yyyy00' oinarrizko helbide gisa, 4 byteko eremua babestuta dago. |
| yyyy…yyy0 | NAPOT | 'yy...yyy000' oinarrizko helbide gisa, 8 byteko eremua babestuta dago. |
| yyyy…yy01 | NAPOT | 'yy...yy0000' oinarrizko helbidea izanik, 16 byteko eremua babestuta dago. |
| yyyy…y011 | NAPOT | 'yy...y00000' oinarrizko helbidea izanik, 16 byteko eremua babestuta dago. |
| … | … | … |
| yyy01…111 | NAPOT | 'y0...000000' oinarrizko helbidea izanik, 231 byteko eremua babestuta dago. |
| yy011…111 | NAPOT | Babestu 232 byteko eremu osoa. |
Babes-mekanismoa
X/W/R pmpcfg-n I eremuko babes-agintaritza ezartzeko erabiltzen da, eta dagokion agintaritza urratzeak dagokion salbuespena eragingo du:
- PMP eremuan exekuzio-aginpiderik gabe instrukzioak eskuratzen saiatzean, instrukzioa lortzeko sarbide-errorearen salbuespena eragingo du (mcause=1).
- PMP eremuan datuak idatzizko baimenik gabe idazten saiatzean, errore-salbuespena (mcause=7) sortuko du dendako instrukzioen sarbidean.
- PMP eremuko datuak irakurtzeko baimenik gabe irakurtzen saiatzen zarenean, memoriarako sarbide-errore anormal bat eragingo du (mcause=5) kargatzeko instrukzioan.
pmpcfg-ko A I eskualdearen babes-barrutia eta helbide-lerrokatzea ezartzeko eta A_ADDR ≤ eskualdea < i > < B_ADDR-ren memoria babesteko (biak A_ADDR eta B_ADDR 4 bytetan lerrokatu behar dira):
- B _ ADDR–A_ADDR = = 22 bada, NA4 modua hartzen da;
- B _ ADDR–A_ADDR = = 2(G+2), G≥1 eta _ helbidea 2(g+2 bada), NAPOT metodoa hartzen da;
- Bestela, TOP modua hartuko da.
4-6 taula PMP helbideak lotzeko metodoak
| Balio bat | Izena | Deskribapena |
| 0b00 | OFF | Ez dago babesteko eremurik |
| 0b01 | TOR | Goiko lerrokatutako eremuaren babesa.
pmp pmpaddri = B_ADDR >> 2. Oharra: PMPren 0 eremua TOR modu gisa konfiguratuta badago (i=0), babes eremuaren beheko muga 0 helbidea da, hau da, 0 ≤ addr < pmpaddr0, dena bat datorren barrutiaren barruan. |
| 0b10 | NA4 | 4 byteko eremuaren babes finkoa.
pmp |
| 0b11 | NAPOT | Babestu 2(G+2) eskualdea G ≥ 1 batekin, A_ADDR 2(G+2) lerrokatuta dagoenean. pmpaddri = ((A_ADDR|(2(G+2)-1)) &~(1< >1. |
- PMP
- QingKe V3 serieko mikroprozesadoreek hainbat zona babesten dituzte. Eragiketa bera aldi berean hainbat zonarekin bat datorrenean, zenbaki txikiena duen zona bat dator lehenik.
Sistemaren tenporizadorea (SysTick)
- QingKe V3 serieko mikroprozesadorea barruan 32 biteko edo 64 biteko kontagailu batekin (SysTick) diseinatuta dago. Bere erloju-iturria sistemako erlojua edo bere 8 maiztasuneko zatiketa da, eta V3Ak 8 maiztasuneko zatiketa soilik onartzen du.
- Denbora errealeko sistema eragile baterako denbora-oinarria, denbora-denbora eta neurketa-denbora eman ditzake. Tenporizadorean parte hartzen duten erregistro mota ezberdinek mapa-helbide desberdinak dituzte, ondoko 5-1 eta 5-2 tauletan erakusten den bezala.
5-1 taula V3A SysTick erregistro-zerrenda
| Izena | Sarbide helbidea | Deskribapena | Berrezarri balioa |
| STK_CTLR | 0xE000F000 | Sistema-kontagailuaren kontrol-erregistroa | 0x00000000 |
| STK_CNTL | 0xE000F004 | Sistemaren kontagailuaren erregistro baxua | 0xXXXXXXXXX |
| STK_CNTH | 0xE000F008 | Sistemaren kontagailuaren erregistro altua
Oharra: V3Arako bakarrik balio du. |
0xXXXXXXXXX |
| STK_CMPLR | 0xE000F00C | Sistema-zenbaketa konparazio-balioa erregistro baxua | 0xXXXXXXXXX |
| STK_CMPHR | 0xE000F010 | Sistema-zenbaketa konparazio-balioa erregistro altua
Oharra: V3Arako bakarrik balio du. |
0xXXXXXXXXX |
5-2 taula V3 SysTick erregistro-zerrenda beste modelo batzuen zerrenda
| Izena | Sarbide helbidea | Deskribapena | Berrezarri balioa |
| STK_CTLR | 0xE000F000 | Sistema-kontagailuaren kontrol-erregistroa | 0x00000000 |
| STK_SR | 0xE000F004 | Sistemaren kontagailuaren egoera erregistroa | 0x00000000 |
| STK_CNTL | 0xE000F008 | Sistema-kontagailuaren erregistro baxua | 0xXXXXXXXXX |
| STK_CMPLR | 0xE000F010 | Zenbaketa konparazio-balioa erregistro baxua | 0xXXXXXXXXX |
Erregistro bakoitza zehatz-mehatz deskribatzen da honela.
Sistema-kontagailuaren kontrol-erregistroa (STK_CTLR)
5-3 Taula SysTick kontrol-erregistroak
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:5] | Erreserbatuta | RO | Erreserbatuta | 0 |
|
4 |
MODUA |
RW |
Zenbaketa modua: 1: atzerako kontaketa;
0: zenbatu gora. Oharra: V3Arako baliogabea. |
0 |
|
3 |
STRE |
RW |
Kargatze-kontaketa automatikoa gaitzeko bit:
1: zenbatu berriro 0tik konparazio-balioraino zenbatu ondoren, eta zenbatu berriro konparazio-baliotik 0era arte zenbatu ondoren; 0: Jarraitu gora/behera zenbatzen. Oharra: V3Arako baliogabea. |
0 |
|
2 |
STCLK |
RW |
Kontrako erlojuaren iturria hautatzeko bit:
1: HCLK denbora-oinarri gisa; 0: HCLK/8 denbora-oinarri gisa. Oharra: V3Arako baliogabea da, soilik onartzen duena HCLK/8 denbora-oinarri gisa. |
0 |
| 1 | GUNEA | RW | Kontagailuaren etenaldia gaitzeko kontrol-bitak: | 0 |
| 1: Gaitu kontagailu etenaldia; 0: desgaitu kontagailu etenaldia.
Oharra: V3Arako baliogabea. |
||||
| 0 | STE | RW | Sistemaren kontagailuak kontrol-bit bat gaitu. 1: Gaitu sistemaren kontagailua STK;
0: Desgaitu sistemaren kontagailua STK eta kontagailuak zenbatzeari uzten dio. |
0 |
Sistemaren kontagailuaren egoera erregistroa (STK_SR)
Erregistro hau ez da V3A-ri aplikatzen.
5-4 Taula SysTick kontagailuaren erregistro baxua
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
|
31 |
SWIE |
RW |
Softwarearen etenaren abiaraztearen gaitzea (SWI): 1: Softwarearen etenaldia abiarazi;
0: itzali abiarazlea. Oharra: Bit hau garbitu behar da software-etenaldia sartu ondoren, bestela beti piztuko da. |
0 |
| [30:1] | Erreserbatuta | RO | Erreserbatuta | 0 |
|
0 |
CNTIF |
RW |
Zenbaketa konparazio bandera, idatzi 0 argi eta idatzi 1 baliogabea da:
1: zenbatu konparazio-balioraino eta zenbatu atzera 0 arte; 0: Konparazio-balioa ez da iristen. |
0 |
Sistemaren kontagailuaren erregistro baxua (STK_CNTL)
5-5 Taula SysTick kontagailuaren erregistro baxua
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:0] | CNTL | RW | Uneko kontagailu-zenbaketa-balioa 32 bit txikiagoa da. V3Arako, erregistro hau 8 biteko /16 biteko moduan irakur daiteke
/32 biteko, baina 8 biteko eta beste gisa soilik idatzi daiteke ereduak ez dira mugatuak. |
0xXXXXXX XXX |
Oharra: Erregistratu STK_CNTL eta erregistratu STK_CNTH V3A-n elkarrekin 64 biteko sistema-kontagailua osatzen dute.
Sistemaren kontagailuaren erregistro altua (STK_CNTH)
5-6 Taula SysTick kontagailuaren erregistro altua
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:0] | CNTH | RW | Uneko kontagailu-zenbaketa-balioa 32 bit handiagoa da. Erregistro hau 8 biteko/16 biteko/32 biteko bidez irakur daiteke, baina 8 biteko bidez bakarrik idatzi daiteke.
Oharra: V3Arako bakarrik balio du. |
0xXXXXXX XXX |
Oharra: Erregistratu STK_CNTL eta erregistratu STK_CNTH V3A-n elkarrekin 64 biteko sistema-kontagailua osatzen dute.
Sistema-zenbaketa konparazio-balioaren erregistro baxua (STK_CMPLR)
5-7 Taula SysTick konparazio-balioaren erregistro baxua
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:0] | CMPL | RW | Ezarri kontagailuaren alderaketa-balioa 32 bit txikiagoan. CMP balioa eta CNT balioa berdinak direnean, STK eten bat abiaraziko da. V3Arako, erregistro hau 8 biteko /16 biteko /32 biteko moduan irakur daiteke, baina soilik izan daiteke
8 biteko moduan idatzita, eta beste eredu batzuk ez daude mugatuta. |
0xXXXXXX XXX |
Oharra: STK_CMPLR erregistroak eta V3Ako STK_CMPHR erregistroak elkarrekin 64 biteko kontagailuaren konparazio-balioa osatzen dute.
Sistema-zenbaketa konparazio-balioaren erregistro altua (STK_CMPHR)
5-8 Taula SysTick konparazio-balioaren erregistro altua
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:0] | CMPH | RW | Ezarri kontagailuaren konparazio-balioa 32 bit handiagoa. STK etenaldia CMP balioa eta CNT balioa berdinak direnean abiaraziko da.
Erregistro hau 8 biteko/16 biteko/32 biteko bidez irakur daiteke, baina 8 biteko bidez bakarrik idatzi daiteke. Oharra: V3Arako bakarrik balio du. |
0xXXXXXX XXX |
Oharra: STK_CMPLR erregistroak eta V3Ako STK_CMPHR erregistroak elkarrekin 64 biteko kontagailuaren konparazio-balioa osatzen dute.
Prozesadorea potentzia baxuko ezarpenak
- QingKe V3 serieko mikroprozesadoreek loaren egoera onartzen dute WFI (Wait for Interrupt) instrukzioaren bidez, potentzia-kontsumo estatiko txikia lortzeko.
- PFIC-ren sistemaren kontrol erregistroarekin batera (PFIC_SCTLR), hainbat Lo modu eta WFE instrukzio inplementa daitezke.
Sartu Lo
- QingKe V3 serieko mikroprozesadoreak bi modutara joan daitezke lotara, Wait for Interrupt (WFI) eta Wait For Event (WFE). WFI metodoak esan nahi du mikroprozesadorea lo egiten duela, etenaldi bat esnatzeko zain dagoela eta, ondoren, dagokion etenarekin esnatzen dela exekutatzeko. WFE metodoak esan nahi du mikroprozesadorea lo egiten duela, gertaera bat esnatzeko zain dagoela eta esnatzen dela aldez aurretik gelditutako programaren fluxua exekutatzen jarraitzeko.
- RISC-V estandarrak WFI instrukzioa onartzen du, eta WFI komandoa zuzenean exekutatu daiteke loan sartzeko WFI metodoaren bidez. WFE metodorako, PFIC_SCTLR sistemaren kontrol-erregistroko WFITOWFE bita erabiltzen da ondorengo WFI komandoak WFE prozesamendu gisa kontrolatzeko WFE metodoa lo egiteko WFE metodoa lortzeko.
- Loaren sakonera PFIC_SCTLR-ko SLEEPDEEP bitaren arabera kontrolatzen da.
- PFIC_SCTLR erregistroko SLEEPDEEP zerora ezabatzen bada, mikroprozesadorea Sleep moduan sartuko da eta barne-unitatearen erlojua desaktibatu ahal izango da SysTick-en eta esnatzearen logikaren zati bat izan ezik.
- PFIC_SCTLR erregistroan SLEEPDEEP ezartzen bada, mikroprozesadorea lo sakoneko moduan sartzen da eta zelula-erloju guztiak desaktibatu ahal izango dira.
- Mikroprozesadorea Arazte moduan dagoenean, ezin da inolako lo egiteko modua sartu.
Lo Esnatzea
QingKe V3 serieko mikroprozesadoreak lo egin ondoren WFI eta WFE direla eta, modu hauetan esna daitezke.
WFI metodoa lo egin ondoren, esna daiteke
- Mikroprozesadorea eten-iturburuak esna dezake eten-kontrolatzaileak erantzun dion. Esnatu ondoren, mikroprozesadoreak eten funtzioa exekutatzen du lehenik.
- Sartu lo modura, arazketa-eskaerak mikroprozesadorea esnatu eta lo sakona sar dezake, arazketa-eskaerak ezin du mikroprozesadorea esnatu.
WFE metodoa lokartu ondoren, mikroprozesadorea esna daiteke honako hauen bidez.
- Barneko edo kanpoko gertaerak, eten-kontrolagailua konfiguratu beharrik ez dagoenean, esnatu eta programa exekutatzen jarraitu.
- Eten-iturburu bat gaituta badago, mikroprozesadorea esnatuko da eten bat sortzen denean, eta esnatu ondoren, mikroprozesadoreak eten funtzioa exekutatzen du lehenik.
- PFIC_SCTLR-ko SEVONPEND bit-a konfiguratuta badago, eten-kontrolatzaileak ez du etenik gaitzen, baina eten zain dagoen seinale berri bat sortzen denean (aurretik sortutako zain dagoen seinaleak ez du eraginik hartzen), mikroprozesadorea esna dezake ere, eta dagokion etenaren zain dagoen bandera eskuz garbitu behar da esnatu ondoren.
- Lo egiteko moduan sartzeak arazte-eskaerak mikroprozesadorea esnatu eta lo sakonean sar dezake; arazketa-eskaerak ezin du mikroprozesadorea esnatu.
- Gainera, esnatu ondoren mikroprozesadorearen egoera kontrola daiteke SLEEPONEXIT bit-a PFIC_SCTLR-n konfiguratuz.
- SLEEPONEXIT ezarrita dago eta azken mailako etenaldiaren itzulera instrukzioak (mret) WFI modua loa abiaraziko du.
SLEPONEXIT ezabatzen da eraginik gabe.
V3 serieko mikroprozesadoreekin hornitutako MCU produktu ezberdinek lo modu desberdinak har ditzakete, periferiko eta erloju desberdinak itzali, energia kudeatzeko politika eta esnatze metodo desberdinak ezarri PFIC_SCTLRren konfigurazio desberdinen arabera eta potentzia baxuko hainbat modu gauzatu.
Arazketa-laguntza
- QingKe V3 serieko mikroprozesadoreek arazketa-eragiketa konplexuak onartzen dituzten hardware-arazketa-modulu bat dute. Mikroprozesadorea eteten denean, arazketa-modulua mikroprozesadorearen GPR, CSR, Memoria, kanpoko gailu eta abarretara sar daiteke, komando abstraktuen bidez, programa buffer-en inplementazio-argibideen bidez.
- Arazte moduluak RISC-V kanpoko arazketa euskarria 0.13.2 zehaztapena jarraitzen du, dokumentazio zehatza RISC-V International-etik deskargatu daiteke. webgunea.
Araztu modulua
- Mikroprozesadorearen barneko arazte-modulua, arazte-ostalariak igorritako arazte-eragiketak egiteko gai dena, barne hartzen du.
- Erregistroetarako sarbidea arazketa interfazearen bidez
- Berrezarri, eseki eta berrezarri mikroprozesadorea arazketa-interfazearen bidez
- Irakurri eta idatzi memoria, instrukzio-erregistroak eta kanpoko gailuak arazketa-interfazearen bidez
- Inplementatu hainbat argibide arbitrario arazketa interfazearen bidez
- Ezarri softwarearen eten-puntuak arazketa-interfazearen bidez
- Ezarri hardware eten-puntuak arazketa-interfazearen bidez
- Onartu komando abstraktuak auto-exekuzioa
- Urrats bakarreko arazketa onartzen
- Oharra: V3A-k ez ditu hardware eten-puntuak onartzen, V3B hardware-etenguneek argibide-helbideen bat-etortzea onartzen dute eta V3C-ko hardware-etenguneek argibide-helbidea eta datu-helbidea bat etortzea onartzen dute.
- Arazketa-moduluaren barne-erregistroek 7 biteko helbide-kode bat erabiltzen dute, eta honako erregistro hauek QingKe V3 serieko mikroprozesadoreen barruan ezartzen dira.
7-1 Taula Arazte-moduluaren erregistroa Zerrenda
| Izena | Sarbide helbidea | Deskribapena |
| datuak 0 | 0x04 | Datu-erregistroa 0, datuak aldi baterako gordetzeko erabil daiteke |
| datuak 1 | 0x05 | Datu-erregistroa 1, datuak aldi baterako gordetzeko erabil daiteke |
| deskontrola | 0x10 | Arazte-moduluaren kontrol-erregistroa |
| dmstatus | 0x11 | Araztu moduluaren egoera erregistroa |
| hartinfo | 0x12 | Mikroprozesadorearen egoera erregistroa |
| laburpenak | 0x16 | Komandoen egoera-erregistro abstraktua |
| agindua | 0x17 | Agindu-erregistro abstraktua |
| auto abstraktua | 0x18 | Komando abstraktua auto-exekuzioa |
| progbuf0-7 | 0x20-0x27 | Argibideen cacheko erregistroak 0-7 |
| geldialdia0 | 0x40 | Eten egoera erregistroa |
- Arazte ostalariak mikroprozesadorearen etetea, berrezarri, berrezarri eta abar kontrola dezake deskontrol erregistroa konfiguratuz. RISC-V estandarrak hiru komando abstraktu mota definitzen ditu: sarbide-erregistroa, sarbide azkarra eta sarbide-memoria.
- QingKe V3A mikroprozesadoreak erregistrorako sarbidea bakarrik onartzen du, beste modelo batzuek erregistroa eta memoria sarbidea onartzen dute, baina ez sarbide azkarra. Erregistroetarako sarbidea (GPR, CSR) eta memoriarako etengabeko sarbidea komando abstraktuen bidez gauzatu daitezke.
- Arazte-moduluak 8 instrukzio-cache-erregistro inplementatzen ditu progbuf0-7, eta arazketa-ostalariak hainbat argibide (konprimitutako instrukzioak izan daitezke) bufferean gorde ditzake eta instrukzio-cache-erregistroetako instrukzioak exekutatzen jarraitzea hauta dezake komando abstraktua exekutatu ondoren edo exekutatu ondoren. cachean gordetako argibideak zuzenean.
- Oharra programetako azken instrukzioak “ebreak” edo “c.ebreak” instrukzioa izan behar duela. Biltegiratze, periferiko eta abarretarako sarbidea ere posible da programetan cachean dauden komando eta argibide abstraktuen bidez.
- Erregistro bakoitza zehatz-mehatz deskribatzen da honela.
- Datu-erregistroa 0 (data0)
7-2 taulako datu-erregistroaren definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:0] | datuak 0 | RW | Datu-erregistroa 0, datuak aldi baterako gordetzeko erabiltzen dena | 0 |
Datu-erregistroa 1 (data1)
7-3 taula datu1 erregistroaren definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:0] | datuak 1 | RW | Datu-erregistroa 1, datuak aldi baterako gordetzeko erabiltzen dena | 0 |
Araztu modulua kontrolatzeko erregistroa (deskontrola)
Erregistro honek mikroprozesadorearen etenaldia, berrezarri eta berrezartzea kontrolatzen du. Arazte-ostalariak datuak dagokion eremuan idazten ditu eten (haltreq), berrezarri (ndmreset), berrekin (resumereq) lortzeko. Honako hau deskribatzen duzu.
7-4 taula deskontrol erregistroaren definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| 31 | haltreq | WO | 0: Garbitu eten eskaera
1: Bidali eten eskaera |
0 |
| 30 | curriculuma q | W1 | 0: Baliogabea
1: Leheneratu uneko mikroprozesadorea Oharra: Write 1 baliozkoa da eta hardwarea garbitzen da mikroprozesadorea berreskuratu ondoren |
0 |
| 29 | Erreserbatuta | RO | Erreserbatuta | 0 |
| 28 | ackhavereset | W1 | 0: Baliogabea
1: Garbitu mikroprozesadorearen uzta-egoera bit |
0 |
| [27:2] | Erreserbatuta | RO | Erreserbatuta | 0 |
| 1 | ndmreset | RW | 0: Garbitu berrezarri
1: Berrezarri sistema osoa arazketa modulua ez den |
0 |
| 0 | desaktibatu | RW | 0: Berrezarri arazketa-modulua
1: Debug moduluak behar bezala funtzionatzen du |
0 |
Araztu moduluaren egoera erregistroa (dm egoera)
- Erregistro hau arazketa-moduluaren egoera adierazteko erabiltzen da eta irakurtzeko soilik den erregistroa da, bit bakoitzaren deskribapenarekin.
Taula 7-5 dmstatus erregistroaren definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:20] | Erreserbatuta | RO | Erreserbatuta | 0 |
| 19 | guztiakhavereset | RO | 0: Baliogabea
1: Mikroprozesadorea berrezarri |
0 |
| 18 | edozeinhavereset | RO | 0: Baliogabea
1: Mikroprozesadorea berrezarri |
0 |
| 17 | allresumeack | RO | 0: Baliogabea
1: Mikroprozesadorea berrezarri |
0 |
| 16 | edozeinresumeack | RO | 0: Baliogabea
1: Mikroprozesadorea berrezarri |
0 |
| [15:14] | Erreserbatuta | RO | Erreserbatuta | 0 |
| 13 | alubiala | RO | 0: Baliogabea
1: Mikroprozesadorea ez dago erabilgarri |
0 |
| 12 | edozein baliagarri | RO | 0: Baliogabea
1: Mikroprozesadorea ez dago erabilgarri |
0 |
| 11 | guztiak korrika | RO | 0: Baliogabea
1: Mikroprozesadorea martxan dago |
0 |
| 10 | edozein korrika | RO | 0: Baliogabea
1: Mikroprozesadorea martxan dago |
0 |
| 9 | gelditu | RO | 0: Baliogabea
1: Mikroprozesadorea esekituta dago |
0 |
| 8 | edozein geldituta | RO | 0: Baliogabea
1: Mikroprozesadorea esekidurarik gabe |
0 |
| 7 | autentifikatu |
RO |
0: autentifikazioa beharrezkoa da arazketa modulua erabili aurretik
1: Arazketa-modulua ziurtatuta dago |
0x1 |
| [6:4] | Erreserbatuta | RO | Erreserbatuta | 0 |
| [3:0] | bertsioa | RO | Arazketa-sistemaren euskarri arkitektura-bertsioa 0010: V0.13 | 0x2 |
Mikroprozesadorearen egoera erregistroa (hartinfo)
Erregistro hau arazketa-ostalariari mikroprozesadoreari buruzko informazioa emateko erabiltzen da eta irakurtzeko soilik den erregistroa da, honela deskribatzen den bit bakoitzarekin.
7-6 taula hartinfo erregistroaren definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:24] | Erreserbatuta | RO | Erreserbatuta | 0 |
| [23:20] | urratu | RO | Onartutako scratch-erregistro kopurua | 0x3 |
| [19:17] | Erreserbatuta | RO | Erreserbatuta | 0 |
| 16 | Datuen sarbidea | RO | 0: Datu-erregistroa CSR helbidera mapatzen da
1: Datu-erregistroa memoria-helbidearekin mapatzen da |
0x1 |
| [15:12] | datuen tamaina | RO | Datu-erregistro kopurua | 0x2 |
| [11:0] | datuak gehitu |
RO |
Datu-erregistroaren data0 desplazamendu helbidea,
zeinaren oinarrizko helbidea 0xe0000000 den, irakurketa zehatzaren menpe dago. |
0xXXX |
Komando-kontrola eta egoera-erregistro abstraktuak (laburpenak)
Erregistro hau komando abstraktuaren exekuzioa adierazteko erabiltzen da. Arazte-ostalariak erregistro hau irakur dezake azken komando abstraktua exekutatzen den ala ez jakiteko eta komando abstraktua exekutatzen ari den bitartean errorerik sortzen den eta errore-mota zehatz-mehatz azaltzen den egiazta dezake.
7-7 taulako laburpenen erregistroaren definizioak
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:29] | Erreserbatuta | RO | Erreserbatuta | 0 |
| [28:24] | progbufsize | RO | Programa buffer programaren kopurua adierazten du
cache erregistroak |
0x8 |
| [23:13] | Erreserbatuta | RO | Erreserbatuta | 0 |
| 12 | lanpetuta | RO | 0: Ez dago komando abstrakturik exekutatzen
1: Komando abstraktuak exekutatzen ari dira Oharra: Exekutatu ondoren, hardwarea garbitzen da. |
0 |
| 11 | Erreserbatuta | RO | Erreserbatuta | 0 |
| [10:8] | cmder | RW | Komando abstraktuaren errore mota 000: errorerik ez
001: Komando abstraktuaren exekuzioa komandoetan, laburpenetan, erregistro automatiko abstraktuetan idazteko edo datu eta progbuf erregistroetan irakurtzeko eta idazteko 010: Ez du uneko komando abstraktua onartzen 011: Komando abstraktua exekutatzen 100 salbuespenarekin: Mikroprozesadorea ez dago etenda edo ez dago erabilgarri eta ezin du komando abstraktuak exekutatu 101: Bus-errorea 110: Paritate-bit errorea komunikazioan zehar 111: Beste errore batzuk Oharra: Bit idazteko 1 erabiltzen da zeroa garbitzeko. |
0 |
| [7:4] | Erreserbatuta | RO | Erreserbatuta | 0 |
| [3:0] | deskontua | RO | Datu-erregistro kopurua | 0x2 |
- Arazketako ostalariak GPR, CSR erregistroak eta memoria atzi ditzakete konfigurazio-balio desberdinak komando-erregistro abstraktuan idatziz.
- Erregistroetara sartzean, komando-erregistroaren bitak honela definitzen dira.
- 7-8 taula Erregistroetara sartzean komando-erregistroaren definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:24] | cmd mota | WO | 0 komando mota abstraktua: Sarbide-erregistroa;
1: Sarbide azkarra (ez da onartzen); 2: Memoriarako sarbidea. |
0 |
| 23 | Erreserbatuta | WO | Erreserbatuta | 0 |
| [22:20] | aarsize | WO | Sarbide-erregistroko datu-bit zabalera 000: 8-bit
001: 16-bit 010: 32-bit |
0 |
| 011: 64 biteko (ez da onartzen) 100: 128 biteko (ez da onartzen)
Oharra: koma mugikorreko erregistroetan sartzean FPR, 32 biteko sarbidea bakarrik onartzen da. |
||||
| 19 | aarpostincrement | WO | 0: eraginik gabe
1: automatikoki handitu regnoren balioa erregistrora sartu ondoren |
0 |
| 18 | post exec | WO | 0: eraginik gabe
1: Exekutatu komando abstraktua eta gero exekutatu komandoa progbuf-en |
0 |
| 17 | transferentzia | WO | 0: Ez exekutatu idatziz zehaztutako eragiketa
1: Idatziz zehaztutako manipulazioa gauzatu |
0 |
| 16 | idatzi | WO | 0: Kopiatu zehaztutako erregistroko datuak data0 1: Kopiatu data0 erregistrotik zehaztutako erregistrora |
0 |
| [15:0] | erreinua | WO | Zehaztu sarbide-erregistroak 0x0000-0x0fff CSR dira 0x1000-0x101f GPR dira |
0 |
Memoriara sartzean, komando-erregistroko bitak honela definitzen dira.
7-9 taula Komandoaren definizioa Erregistratu Memoria Sartzean
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:24] | cmd mota | WO | 0 komando mota abstraktua: Sarbide-erregistroa;
1: Sarbide azkarra (ez da onartzen); 2: Sartu memoria. |
0 |
| 23 | aambirtuala | WO | 0: Sartu helbide fisikoa;
1: Sartu helbide birtualean. |
0 |
| [22:20] | besoaren tamaina | WO | Sarbide-memoria datuen bit zabalera 000: 8 bit;
001: 16 bitekoa; 010: 32 bitekoa; 011: 64 biteko (ez da onartzen); 100: 128 biteko (ez da onartzen); |
0 |
| 19 | aampostincrement | WO | 0: eraginik ez;
1: Memorian ongi sartu ondoren, handitu data1 erregistroan gordetako helbidea besoaren tamainaren arabera konfiguratutako bit-zabalerari dagozkion byte kopuruarekin. Aamsize=0, byte bidez atzitzen da, datu1 gehi 1. Aamsize=1, hitz erdiz atzitu, data1 plus 2. aamsize=2, bitez atzitu, data1 plus 4. |
0 |
| 18 | post exec | WO | 0: eraginik ez;
1: Exekutatu komandoa progbuf-en komando abstraktua exekutatu ondoren. |
0 |
| 17 | Erreserba | RO | Erreserbatuta | 0 |
|
16 |
idatzi |
WO |
0: irakurri datuak data1-k zehaztutako helbidetik data0ra
1: Idatzi datuak data0-n zehaztutako helbidean datuak 1. |
0 |
|
[15:14] |
helburu zehatzak |
WO |
Irakurtzeko eta idazteko moduaren definizioa Idatzi:
00, 01: Idatzi zuzenean memorian; 10: data0-ko datuak memoriako datu-bitekin EDO izan ondoren, emaitza memorian idazten da (hitz-sarbidea bakarrik onartzen da). 11: datuak data0-n memoriako datu-bitekin batu ondoren, idatzi emaitza memorian (Hitzetarako sarbidea bakarrik onartzen da). Irakurri: 00, 01, 10, 11: 0 irakurri zuzenean memoriatik. |
0 |
| [13:0] | Erreserba | RO | Erreserbatuta |
Agindu abstraktua exekuzio automatikoaren erregistroa (abstraktua automatikoa)
Erregistro hau arazketa-modulua konfiguratzeko erabiltzen da. Progbufx eta arazketa moduluaren datuak irakurtzean eta idaztean, komando abstraktua berriro exekutatu daiteke.
Erregistro honen deskribapena honako hau da:
7-10 taulako erregistro automatiko abstraktuaren definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:16] | autoexecprogbuf | RW | Bit bat ezartzen bada, progbufx-en irakurketa eta idazkerak komando-erregistroko komando abstraktua berriro exekutatuko du.
Oharra: V3 seriea 8 progbufrekin diseinatuta dago, bitei dagozkienak [23:16]. |
0 |
| [15:12] | Erreserba | RO | Erreserbatuta | 0 |
| [11:0] | autoexecdata |
RW |
Bit bat 1ean ezartzen bada, datu-erregistroaren irakurketa eta idazketari esker, Komando-erregistroko komando abstraktua berriro exekutatzen da.
Oharra: V3 seriea bi daturekin diseinatuta dago erregistroak, bitei dagozkienak [1:0]. |
0 |
Argibideen cache erregistroa (progbufx)
Erregistro hau edozein instrukzio gordetzeko erabiltzen da, eta dagokion eragiketa zabaltzeko, 8 barne, zeinak "break" edo "c.ebreak" izan behar duen azken exekuzioari erreparatu behar diona.
7-11 taula progbuf erregistroaren definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:0] | progbuf | RW | Cache-eragiketetarako argibideen kodeketa, zeina
konpresio-argibideak izan ditzake |
0 |
Pausatu egoera erregistroa (haltsum0)
Erregistro hau mikroprozesadorea esekita dagoen edo ez adierazteko erabiltzen da. Bit bakoitzak mikroprozesadore baten egoera esekia adierazten du, eta nukleo bakarra dagoenean, erregistro horretako bit baxuena baino ez da erabiltzen hura adierazteko.
7-12 taula haltsum0 erregistroaren definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:1] | Erreserbatuta | RO | Erreserbatuta | 0 |
| 0 | geldialdia0 | RO | 0: Mikroprozesadoreak normal funtzionatzen du
1: Mikroprozesadorearen geldialdia |
0 |
- Arazte-moduluaren goian aipatutako erregistroez gain, arazketa-funtzioak CSR erregistro batzuk ere inplikatzen ditu, batez ere arazte-kontrola eta egoera-erregistroa dcsr eta arazte-instrukzio-erakuslea dpc, hauek zehatz-mehatz deskribatzen direnak.
- Arazketa kontrola eta egoera erregistroa (dcsr)
7-13 taula dcsr erregistroaren definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:28] | xdebugver | DRO | 0000: Kanpoko arazketa ez da onartzen 0100: Kanpoko arazketa estandarra onartzen da
1111: Kanpoko arazketa onartzen da, baina ez du betetzen zehaztapena |
0x4 |
| [27:16] | Erreserbatuta | DRO | Erreserbatuta | 0 |
| 15 | hautsi | DRW | 0: makina moduan break komandoak pribilegioan azaltzen den bezala jokatzen du file
1: Makina moduan break komandoa arazketa moduan sar daiteke |
0 |
| [14:13] | Erreserbatuta | DRO | Erreserbatuta | 0 |
| 12 | haustura |
DRW |
0: Erabiltzaile moduan break komandoak pribilegioan azaltzen den bezala jokatzen du file
1: Erabiltzaile moduan break komandoa arazketa moduan sar daiteke |
0 |
| 11 | urratsa | DRW | 0: Etenaldiak desgaituta daude urrats bakarreko arazketan
1: Gaitu etenaldiak urrats bakarreko arazketan |
0 |
| 10 | Erreserbatuta | DRO | Erreserbatuta | 0 |
| 9 | denbora gelditu | DRW | 0: Sistemaren tenporizadorea Arazte moduan exekutatzen ari da
1: Sistemaren tenporizadorea gelditzen da Arazte moduan |
0 |
| [8:6] | kausa | DRO | Arazketan sartzeko arrazoiak
001: Arazketak break komando moduan sartzea (3. lehentasuna) 010: Arazketa abiarazte-modulu moduan sartzea (4. lehentasuna, altuena) 011: arazketa eten eskaera moduan sartzea (lehentasuna 1) 100: urrats bakarreko arazketa moduko arazketa (lehentasuna 0, baxuena) |
0 |
| 101: sartu arazketa moduan zuzenean mikroprozesadorea berrezarri ondoren (2. lehentasuna) Beste batzuk: erreserbatuta | ||||
| [5:3] | Erreserbatuta | DRO | Erreserbatuta | 0 |
| 2 | urratsa | DRW | 0: Desaktibatu urrats bakarreko arazketa
1: Gaitu urrats bakarreko arazketa |
0 |
| [1:0] | Aurrekoa | DRW | 00 pribilegio modua: Erabiltzaile modua
01: Begirale modua (ez da onartzen) 10: Erreserbatuta 11: Makina modua Oharra: grabatu modu pribilegiatua arazketa moduan sartzean, araztaileak balio hau alda dezake modu pribilegiatua aldatzeko arazketatik irtetean. |
0 |
Arazketa moduko programaren erakuslea (DPC)
- Erregistro hau mikroprozesadorea arazketa moduan sartu ondoren exekutatuko den hurrengo instrukzioaren helbidea gordetzeko erabiltzen da, eta bere balioa arau ezberdinekin eguneratzen da arazketa sartzearen arrazoiaren arabera. dpc erregistroa zehatz-mehatz deskribatzen da honela.
7-14 taula dpc erregistroaren definizioak
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:0] | DPC | DRW | Instrukzio helbidea | 0 |
Erregistroak eguneratzeko arauak hurrengo taulan ageri dira.
7-15 taula dpc eguneratzeko arauak
| Sartu arazketa metodoa | dpc Eguneratzeko arauak |
| hautsi | Ebreak instrukzioaren helbidea |
| urrats bakarra | Uneko instrukzioaren hurrengo instrukzioaren instrukzio helbidea |
| trigger modulua | Aldi baterako ez da onartzen |
| gelditzeko eskaera | Debug sartzean exekutatuko den hurrengo instrukzioaren helbidea |
Arazketa interfazea
- J estandarraren desberdinaTAG RISC-V-k definitutako interfazea, QingKe V3 serieko mikroprozesadoreak 1- hari/2 hari serieko arazketa-interfazea hartzen du eta WCH arazketa-protokoloa V1.0 jarraitzen du.
- Arazte-interfazea arazketa ostalariaren eta arazte-moduluaren arteko komunikazioaz arduratzen da eta arazketa-ostalariaren irakurketa/idazketa eragiketaz jabetzen da arazketa-moduluaren erregistroetan.
- WCH-k WCH_Link diseinatu zuen eta iturburu irekiko bere eskema eta programa bitarra files, RISC-V arkitekturako mikroprozesadore guztiak arazketa egiteko erabil daitekeena.
- Ikusi WCH arazketa-protokoloaren eskuliburua arazketa-interfaze-protokolo zehatzetarako.
EGE Erregistro zerrenda
- RISC-V arkitekturak Kontrol eta Egoera Erregistro batzuk (CSR) definitzen ditu mikroprozesadorearen funtzionamendu-egoera kontrolatzeko eta erregistratzeko.
- Aurreko atalean CSR batzuk sartu dira, eta kapitulu honetan QingKe V3 serieko mikroprozesadoreetan inplementatutako CSR erregistroak zehaztuko dira.
EGE Erregistro zerrenda
8-1 Taula Mikroprozesadoreen CSR Erregistroen zerrenda
| Mota | Izena | ESK Helbidea | Sarbidea | Deskribapena |
| RISC-V
EGE estandarra |
marchid | 0xF12 | MRO | Arkitektura zenbakien erregistroa |
| mimpido | 0xF13 | MRO | Hardwarearen ezarpenaren zenbakitze erregistroa | |
| mstatus | 0x300 | MRW | Egoera erregistroa | |
| misa | 0x301 | MRW | Hardwarearen instrukzio-multzoaren erregistroa | |
| mtvec | 0x305 | MRW | Salbuespen-oinarrizko helbide-erregistroa | |
| mscratch | 0x340 | MRW | Makina modua stagerregistroa | |
| MEPC | 0x341 | MRW | Salbuespen programaren erakusleen erregistroa | |
| mgatik | 0x342 | MRW | Salbuespen kausa erregistroa | |
| mtval | 0x343 | MRW | Salbuespen-balioen erregistroa | |
| pmpcfg | 0x3A0+i | MRW | PMP konfigurazio-erregistroa | |
| pmpaddr | 0x3B0+i | MRW | PMP helbide-erregistroa | |
| tselect | 0x7A0 | MRW | Araztu abiarazlearen hautapen-erregistroa | |
| tdata1 | 0x7A1 | MRW | Araztu abiaraztearen datuen erregistroa 1 | |
| tdata2 | 0x7A2 | MRW | Araztu abiaraztearen datuen erregistroa 2 | |
| dcsr | 0x7B0 | DRW | Araztu kontrola eta egoera erregistroak | |
| dpc | 0x7B1 | DRW | Arazketa moduko programaren erakusleen erregistroa | |
| dscratch0 | 0x7B2 | DRW | Arazte modua stagerregistroa 0 | |
| dscratch1 | 0x7B3 | DRW | Arazte modua stagerregistroa 1 | |
|
Saltzaileak definitutako EGE |
gintenr | 0x800 | URW | Eten globala gaitzeko erregistroa |
| intsyscr | 0x804 | URW | Eten sistema kontrolatzeko erregistroa | |
| corecfgr | 0xBC0 | MRW | Mikroprozesadorearen konfigurazio-erregistroa | |
| inestcr | 0xBC1 | MRW | Eten habiaraturiko kontrol-erregistroa |
RISC-V Standard ESK Erregistroak
- Arkitektura zenbakien erregistroa (marchid)
- Erregistro hau irakurtzeko soilik den erregistro bat da, egungo mikroprozesadorearen hardware-arkitektura-zenbakia adierazteko, gehienbat saltzaile-kode, arkitektura-kode, serie-kode eta bertsio-kodez osatuta dagoena. Horietako bakoitza honela definitzen da.
8-2 taula martxiden erregistroaren definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| 31 | Erreserbatuta | MRO | Erreserbatuta | 1 |
| [30:26] | Saltzailea0 | MRO | Fabrikatzailearen kodea 0
"W" hizkiaren kodean konponduta |
0x17 |
| [25:21] | Saltzailea1 | MRO | Fabrikatzailearen kodea 1
"C" letraren kodean konponduta |
0x03 |
| [20:16] | Saltzailea2 | MRO | Fabrikatzailearen kodea 2
"H" hizkiaren kodean konponduta |
0x08 |
| 15 | Erreserbatuta | MRO | Erreserbatuta | 1 |
| [14:10] | ark | MRO | Arkitektura kodea | 0x16 |
| RISC-V arkitektura "V" hizkiaren kodean finkatzen da | ||||
| [9:5] | Seriekoa | MRO | Seriearen kodea
QingKe V3 seriea, "3" zenbakian finkatuta |
0x03 |
| [4:0] | Bertsioa | MRO | Bertsio-kodea
"A", "B", "C" eta kodearen beste letra batzuk izan daitezke |
x |
Fabrikatzailearen zenbakia eta bertsio-zenbakia alfabetikoak dira, eta serie-zenbakia zenbakizkoa. Letren kodetze-taula hurrengo taulan ageri da.
8-3 Taula Alfabetikoen Mapaketa Taula
| 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 |
- Horien artean, QingKe V3A mikroprozesadorea, erregistroak 0-ra irakurtzen du.
Hardwarearen ezarpenaren zenbaki-erregistroa (limpia)
- Erregistro hau saltzaile-kodeek osatzen dute nagusiki, eta horietako bakoitza honela definitzen da.
8-4 taulako erregistro limpioen definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| 31 | Erreserbatuta | MRO | Erreserbatuta | 1 |
| [30:26] | Saltzailea0 | MRO | Fabrikatzailearen kodea 0
"W" hizkiaren kodean konponduta |
0x17 |
| [25:21] | Saltzailea1 | MRO | Fabrikatzailearen kodea 1
"C" letraren kodean konponduta |
0x03 |
| [20:16] | Saltzailea2 | MRO | Fabrikatzailearen kodea 2
"H" hizkiaren kodean konponduta |
0x08 |
| 15 | Erreserbatuta | MRO | Erreserbatuta | 1 |
| [14:8] | Erreserbatuta | MRO | Erreserbatuta | 0 |
| [7:4] | Txikia | MRO | Subversion zenbakia | 0xX |
| [3:0] | Nagusia | MR0 | Bertsio-zenbaki nagusia | 0xX |
- Erregistro hau edozein makina inplementaziotan irakur daiteke, eta QingKe V3A serieko prozesadorean, erregistro hau zerora irakurtzen da.
Makina moduaren egoera erregistroa (mstatus)
- Erregistro hau partzialki deskribatu da aurreko atalean, eta bere jendea honela kokatzen da.
8-5 taula mstatus erregistroaren definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:13] | Erreserbatuta | MRO | Erreserbatuta | 0 |
| [12:11] | MPP | MRW | Atsedenaldian sartu aurretik modu pribilegiatua | 0 |
| [10:8] | Erreserbatuta | MRO | Erreserbatuta | 0 |
| 7 | MPIE | MRW | Etenaldia gaitzeko egoera eten bat sartu aurretik | 0 |
| [6:4] | Erreserbatuta | MRO | Erreserbatuta | 0 |
| 3 | MIE | MRW | Makina modua etetea gaitu | 0 |
| [2:0] | Erreserbatuta | MRO | Erreserbatuta | 0 |
- MPP eremua salbuespena edo eten aurretik modu pribilegiatua gordetzeko erabiltzen da eta salbuespenetik edo etenalditik irten ondoren modu pribilegiatua berrezartzeko erabiltzen da. MIE etenaren gaitzeko bit globala da, eta salbuespena edo etenaldia sartzean, MPIEren balioa MIEren baliora eguneratzen da, eta kontuan izan behar da QingKe V3 serieko mikroprozesadoreetan, MIE ez dela 0-ra eguneratuko aurretik. habiaraturiko etenen azken maila, Makina moduan eten habiaratzeak exekutatzen jarraitzen duela ziurtatzeko. Salbuespen edo eten batetik irteten denean, mikroprozesadorea MPPk gordetako Makina modura itzultzen da eta MIE MPIE baliora berrezartzen da.
- QingKe V3 mikroprozesadoreak Makina modua eta Erabiltzaile modua onartzen ditu, mikroprozesadorea Makina moduan bakarrik funtzionatzea behar baduzu, MPP 0x3-ra ezar dezakezu abiaraztean. file, hau da, itzuli ondoren, beti egongo da Makina moduan.
Hardwarearen instrukzio-multzoaren erregistroa (misa)
- Erregistro hau mikroprozesadorearen arkitektura eta onartzen diren instrukzio-multzoen luzapenak adierazteko erabiltzen da, eta horietako bakoitza honela deskribatzen da.
8-6 taulako misa-erregistroaren definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:30] | MXL | MRO | Makina hitzaren luzera 1:32
2:64 3:128 |
1 |
| [29:26] | Erreserbatuta | MRO | Erreserbatuta | 0 |
| [25:0] | Luzapenak | MRO | Argibide multzoen luzapenak | x |
- MXL mikroprozesadorearen hitzaren luzera adierazteko erabiltzen da, QingKe V3 32 biteko mikroprozesadoreak dira eta domeinua 1ean finkatuta dago.
- Luzapenak mikroprozesadoreak instrukzio-multzo hedatuen xehetasunak onartzen dituela adierazteko erabiltzen dira, bakoitzak luzapen-klase bat adierazten du, bere deskribapen zehatza hurrengo taulan agertzen da.
Taula 8-7 Argibide-multzoaren luzapenaren xehetasunak
| Bit | Izena | Deskribapena |
| 0 | A | Hedapen atomikoa |
| 1 | B | Bit-Manipulazio luzapenerako behin-behinean gordeta dago |
| 2 | C | Luzapen konprimitua |
| 3 | D | Doitasun bikoitzeko koma mugikorreko luzapena |
| 4 | E | RV32E oinarria ISA |
| 5 | F | Zehaztasun bakarreko koma mugikorraren luzapena |
| 6 | G | Luzapen estandar gehigarriak daude |
| 7 | H | Hipervisorearen luzapena |
| 8 | I | RV32I/64I/128I oinarria ISA |
| 9 | J | Behin-behinean, dinamikoki itzulitako hizkuntzen luzapenerako gordeta dago |
| 10 | K | Erreserbatuta |
| 11 | L | Behin-behinean erreserbatuta dago Hamartar Koma Mugikorreko luzapenerako |
| 12 | M | Zenbaki osoak biderkatu/zatitu luzapena |
| 13 | N | Erabiltzaile-mailako etenak onartzen dira |
| 14 | O | Erreserbatuta |
| 15 | P | Behin-behinean gordeta dago Packed-SIMD luzapenerako |
| 16 | Q | Zehaztasun lauko koma mugikorreko luzapena |
| 17 | R | Erreserbatuta |
| 18 | S | Begirale modua ezarri da |
| 19 | T | Behin-behinean gordeta dago Transactional Memory luzapenerako |
| 20 | U | Erabiltzaile modua ezarri da |
| 21 | V | Behin-behinean erreserbatuta dago Vector luzapenerako |
| 22 | W | Erreserbatuta |
| 23 | X | Luzapen ez-estandarrak daude |
| 24 | Y | Erreserbatuta |
| 25 | Z | Erreserbatuta |
- Adibidezample, QingKe V3A mikroprozesadorearentzat, erregistroaren balioa 0x401001105 da, hau da, onartzen den instrukzio-multzoaren arkitektura RV32IMAC dela eta Erabiltzaile modua inplementatzea du.
Makina moduko salbuespenaren oinarrizko helbide-erregistroa (mtvec)
- Erregistro hau salbuespen edo eten kudeatzailearen oinarrizko helbidea gordetzeko erabiltzen da eta beheko bi bitak bektore-taularen modua eta identifikazio-metodoa konfiguratzeko erabiltzen dira 3.2 atalean deskribatzen den moduan.
Makina modua stagerregistroa (mscratch)
8-8 taula mscratch erregistroaren definizioak
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:0] | mscratch | MRW | Datuen biltegiratzea | 0 |
Erregistro hau 32 biteko irakurgarri eta idazteko moduko erregistroa da makina moduan, datuak aldi baterako gordetzeko. Adibidezample, salbuespen edo eten-kudeatzailea sartzean, erabiltzailearen pila-erakuslea SP erregistro honetan gordetzen da eta eten-pilaren erakuslea SP erregistroari esleitzen zaio. Salbuespenetik edo etenetik irten ondoren, leheneratu erabiltzailearen pila SP erakuslearen balioa hutsetik. Hau da, eten pila eta erabiltzaile pila isolatu daitezke.
Makina modua salbuespen programa erakusle erregistroa (mapa)
8-9 taula mepc erregistroaren definizioak
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:0] | mepc | MRW | Salbuespen prozeduraren erakuslea | 0 |
- Erregistro hau salbuespen edo eten bat sartzerakoan programaren erakuslea gordetzeko erabiltzen da.
- Salbuespen bat edo eten bat sortzen denean salbuespen bat sartu aurretik instrukzio-PC erakuslea gordetzeko erabiltzen da, eta mepc itzulera-helbide gisa erabiltzen da salbuespena edo etenaldia kudeatzen denean eta salbuespen edo eten-itzulera baterako erabiltzen denean.
- Hala ere, garrantzitsua da hori kontuan hartzea.
- Salbuespen bat gertatzen denean, mepc unean salbuespena sortzen duen instrukzioaren PC baliora eguneratzen da.
- Eten bat gertatzen denean, mepc hurrengo instrukzioaren PC baliora eguneratzen da.
- Salbuespena prozesatu ondoren salbuespen bat itzuli behar duzunean, arreta jarri beharko zenuke mepc-aren balioa aldatzean, eta xehetasun gehiago 2. Kapituluan Salbuespenak aurki daitezke.
Makina modua salbuespen kausa erregistroa (mcause)
8-10 taula mcause erregistroaren definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| 31 | Eten | MRW | Etenaren adierazleen eremua 0: Salbuespena
1: Etenaldia |
0 |
| [30:0] | Salbuespen Kodea | MRW | Salbuespen-kodeei buruz, ikusi 2-1 taula xehetasunetarako | 0 |
- Erregistro hau salbuespenaren kausa edo etenaren zenbakia gordetzeko erabiltzen da batez ere. Bere bit altuena Eten eremua da, uneko agerraldia salbuespena edo eten bat den adierazteko erabiltzen dena.
- Beheko bita salbuespen kodea da, kausa zehatza adierazteko erabiltzen dena. Bere xehetasunak 2. kapituluan Salbuespenak aurki daitezke.
Makina moduko salbuespen-balioen erregistroa (mtval)
8-11 taula mtval erregistroaren definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:0] | mtval | MRW | Salbuespen balioa | 0 |
- Erregistro hau salbuespena gertatzen denean salbuespena eragin duen balioa gordetzeko erabiltzen da. Biltegiratzeko balioa eta denbora bezalako xehetasunak lortzeko, ikusi 2. kapitulua Salbuespenak.
PMP konfigurazio-erregistroa (pmpcfg
- Erregistro hau memoria fisikoaren babes-unitatea konfiguratzeko erabiltzen da batez ere, eta erregistro honen 8 bit behin eremu baten babesa konfiguratzeko erabiltzen da. Mesedez, ikusi 4. kapitulua definizio zehatza lortzeko.
PMP helbide-erregistroa (pmaddr
- Erregistro hau memoria fisikoaren babeserako unitatearen helbidearen konfiguraziorako erabiltzen da batez ere, 32 biteko helbide fisiko baten goiko 34 bitak kodetzen dituena. Mesedez, ikusi 4. kapitulura konfigurazio metodo zehatza ezagutzeko.
Arazketa moduko programaren erakusleen erregistroa (DPC)
- Erregistro hau mikroprozesadorea sartu ondoren exekutatuko den hurrengo instrukzioaren helbidea gordetzeko erabiltzen da
- Arazte modua eta bere balioa arau ezberdinekin eguneratzen dira arazketa sartzearen arrazoiaren arabera. Ikus 6.1 atala deskribapen zehatza lortzeko.
Araztu abiarazlea hautatu erregistroa (hautatu)
- Hardwarearen eten-puntuak onartzen dituzten eta gehienez 4 kanaleko eten-puntuak onartzen dituzten mikroprozesadoreetarako bakarrik balio du, eta bere beheko 2 bitek balio dute.
- Kanalaren eten puntu bakoitza konfiguratzean, erregistro honen bidez dagokion kanala hautatu behar duzu konfiguratu aurretik.
8-12 taula hautatu erregistroaren definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:2] | Erreserbatuta | MRO | Erreserbatuta | 0 |
| [1:0] |
AUKERATU |
MRW |
Eten-puntuaren hautapen-erregistroa konfiguratuta dago, hau da, dagokion kanala hautatu ondoren, tdata1 eta tdata2 erregistroak funtzionatu daitezke eten-puntu bat konfiguratzeko.
informazioa. |
X |
Araztu abiaraztearen datuen erregistroa 1 (tdata1)
Hardware eten-puntuak onartzen dituzten mikroprozesadoreetarako bakarrik balio du. Mikroprozesadoreek instrukzio-helbidea eta datu-helbideen eten-puntuak soilik onartzen dituzte, non tdata1 erregistroaren bit MOTA 2 balio finkoa den eta beste bit batzuk arazketa-estandarrean dagoen kontrolaren definizioarekin bat datozenak.
8-13 taula tdata1 erregistroaren definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:28] | MOTA | MRO | Eten puntu motaren definizioa, kontrol mota. | 0x2 |
|
27 |
DMODEA |
MRO |
0: Flip-flop-aren erregistro garrantzitsuak makina moduan zein arazketa moduan alda daitezke;
1: Arazte moduak bakarrik alda ditzake flip-flop-aren erregistro garrantzitsuak. |
1 |
| [26:21] |
MASKMAX |
MRO |
MATCH=1 denean, parekatze-potentzia esponentzialaren gehienezko tartea onartzen da, hau da, onartzen den gehienezko bat-etortze-tartea 231 byte-koa da. |
0x1F |
| [20:13] | Erreserbatuta | MRO | Erreserbatuta | 0 |
|
12 |
EKINTZA |
MRW |
Ezarri prozesatzeko modua eten-puntua abiaraztean:
0: Abiaraztean, sartu eten-puntua eta deitu berriro etenaldia; 1: Sartu arazketa moduan abiarazten denean. |
0 |
| [11:8] | Erreserbatuta | MRO | Erreserbatuta | 0 |
|
7 |
PARTIDUA |
MRW |
Politikaren konfigurazioa bat datozenak:
0: bat etortzea abiarazlearen balioa TDATA2-ren berdina denean; 1: Abiarazte-balioa TDATA2-ren m altuko bitarekin bat dator, non m = 31–n, eta n TDATA0-ren lehen 2 aipua den (bit baxutik hasita). |
0 |
|
6 |
M |
MRW |
Gaitu txankleta M moduan:
0: Desgaitu abiarazlea M moduan; 1: Gaitu abiarazlea M moduan. |
0 |
| [5:4] | Erreserbatuta | MRO | Erreserbatuta | 0 |
|
3 |
U |
MRW |
Gaitu abiarazlea U moduan:
0: Desgaitu abiarazlea U moduan; 1: Gaitu abiarazlea U moduan. |
0 |
|
2 |
EXEKUTU |
MRW |
Agindua irakurtzeko helbidea abiarazlea gaituta: 0: Desgaitu;
1: gaitu. |
0 |
|
1 |
DENDA |
MRW |
Datuak idazteko helbidea abiarazlea gaituta: 0: Desgaitu;
1: gaitu. |
0 |
|
0 |
ZARGA |
MRW |
Datuak irakurtzeko helbidea abiarazlea gaituta: 0: Desgaitu;
1: gaitu. |
0 |
Araztu abiaraztearen datuen erregistroa 2 (tdata2)
Hardwarearen eten-puntuak onartzen dituzten mikroprozesadoreetarako bakarrik balio du eta abiarazlearen bat datorren balioa gordetzeko erabiltzen da.
8-14 taula tdata2 erregistroaren definizioa
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:0] | TDATA2 | MRW | Bat datozen balioak gordetzeko erabiltzen da. | X |
Arazketa kontrola eta egoera erregistroa (dcsr)
Erregistro hau arazketa-moduaren exekuzio-egoera kontrolatzeko eta erregistratzeko erabiltzen da. Ikus 7.1 atala xehetasunetarako.
Arazketa moduko programaren erakuslea (DPC)
Erregistro hau mikroprozesadorea arazketa moduan sartu ondoren exekutatuko den hurrengo instrukzioaren helbidea gordetzeko erabiltzen da, bere balioa desberdina da arazketa moduan sartzeko arrazoien arabera, eta eguneratzeko arauak ere desberdinak dira. Ikus 7.1 atala deskribapen zehatza lortzeko.
Arazte modua stagerregistroa (dscratch0-1)
Erregistro talde hau arazketa moduan datuak aldi baterako biltegiratzeko erabiltzen da.
8-15 taula dscratch0-1 erregistro-definizioak
| Bit | Izena | Sarbidea | Deskribapena | Berrezarri balioa |
| [31:0] | dscratch | DRW | Arazketa modua datuak stagbalioa | 0 |
Erabiltzaileak definitutako EGE Erregistroa
Erabiltzaile modua etenaldi orokorra gaitzeko erregistroa (gintenr)
- Erregistro hau eten globalaren gaikuntza eta maskara kontrolatzeko erabiltzen da. Makina moduan etenaldi globalaren gaitzea eta maskara egoeran dauden MIE eta MPIE biten bidez kontrolatu daitezke, baina erregistro hau ezin da erabili erabiltzaile moduan.
- Etenaldi globalak erregistroa gaitzen duen bitartean, gintenr MIE eta MPIE egoeran mapatzea da.
- Erabiltzaile moduan, asmoa MIE eta MPIE ezartzeko eta garbitzeko erabil daiteke, xehetasunetarako 3.2 atalean deskribatzen den moduan.
Oharra
- Eten globalek ez dituzte maskaratu gabeko etenak NMI eta salbuespenak barne hartzen.
Eten sistema kontrolatzeko erregistroa (intsyscr)
Erregistro hau eten-habiaren sakonera, hardware-pilaren sakatzea eta erlazionatutako beste funtzio batzuk konfiguratzeko erabiltzen da batez ere, xehetasunetarako 3.2 atalean azaltzen den moduan.
Mikroprozesadorearen konfigurazio-erregistroa (corecfgr)
Erregistro hau etenaldia gainezka egin ondoren NMI etenaldia onartzen den eta hesiaren instrukzioa exekutatzen denean eten eskaera garbitzen den kontrolatzeko erabiltzen da. Mesedez, ikusi 3.2 atala definizio zehatza lortzeko.
Eten habiatutako kontrol-erregistroa (inestcr)
Erregistro hau eten habia-egoera eta gainezka egiten duen edo ez adierazteko eta habiatze-maila maximoa kontrolatzeko erabiltzen da. Mesedez, ikusi 3.2 atala definizio zehatza lortzeko.
Dokumentuak / Baliabideak
![]() |
WH V3 mikroprozesadorea [pdfErabiltzailearen eskuliburua V3 Mikroprozesadorea, V3, Mikroprozesadorea |





