Microprocessor ya WH V3
Vipimo
- Mfano wa Microprocessor: QingKeV3
- Toleo: V1.2
- Vipengele vya ISA:
- FPU ya bomba
- Utabiri wa tawi
- Kataza usaidizi
- Ulinzi wa Kumbukumbu ya Kimwili wa HPE (PMP)
- Hali ya matumizi ya nguvu ya chini
- Utatuzi wa Maagizo Yanayoongezwa
Maagizo ya Matumizi ya Bidhaa
Zaidiview ya QingKe V3 Microprocessor
Vichakataji vidogo vya mfululizo wa QingKe V3 vinajumuisha mifano V3A, V3B, na V3C. Kila mfano una sifa maalum na tofauti kulingana na matumizi yake.
Seti ya Maagizo
Seti ya maagizo ya RV32I inajumuisha seti 32 za rejista kutoka x0 hadi x31. Mfululizo wa V3 hauauni kiendelezi cha sehemu inayoelea (F). Kila rejista ina ukubwa wa biti 32.
Seti ya Usajili
Seti ya rejista ya RV32I ina rejista zifuatazo.
- x0: Nambari ngumu 0
- x1: Rudisha anwani
- x2: Kielekezi cha rafu
- x3: Kiashiria cha ulimwengu
- x4: Kielekezi cha thread
- x5-x7: Rejesta za muda
- x8: Hifadhi kiashiria cha rejista / fremu
- x9: Hifadhi vigezo vya rejista/kazi/thamani za kurejesha
- x10-x11: Vigezo vya kazi
- x12-x17: Hifadhi rejista
- x18-x27: Rejesta za muda
- x28-x31: Daftari za anayepiga/Callee
Hali ya Upendeleo
Usanifu wa kawaida wa RISC-V unajumuisha njia tatu za upendeleo: Modi ya Mashine, Hali ya Msimamizi, na Hali ya Mtumiaji. Vichakataji vidogo vya mfululizo wa QingKe V3 vinaunga mkono modi ya Mashine na hali ya Msimamizi.
Maswali Yanayoulizwa Mara Kwa Mara
Swali: Je, ni aina gani tofauti katika vichakataji vidogo vya mfululizo wa QingKe V3?
A: Mfululizo wa QingKe V3 unajumuisha miundo ya V3A, V3B, na V3C, kila moja ikiwa na vipengele maalum na tofauti zilizoelezwa kwa kina katika mwongozo wa mtumiaji.
Swali: Ni seti ngapi za rejista zinapatikana katika seti ya maagizo ya RV32I?
A: Seti ya maagizo ya RV32I hutoa seti 32 za rejista kutoka x0 hadi x31.
Swali: Ni aina gani za upendeleo zinazoungwa mkono na microprocessor ya QingKe V3?
A: Vichakataji vidogo vya mfululizo wa QingKe V3 vinaauni modi ya Mashine na Hali ya Msimamizi kama sehemu ya usanifu wa RISC-V.
Zaidiview
Vichakataji vidogo vya mfululizo wa QingKe V3 ni vichakataji vidogo vya MCU vya madhumuni ya jumla ya 32-bit kulingana na usanifu wa kawaida wa seti ya maagizo ya RISC-V. Mfululizo huu unajumuisha V3A, V3B na V3C, ambapo V3A inaauni upanuzi wa kuweka maagizo ya kiwango cha RV32IMAC na V3B/C inasaidia upanuzi wa seti ya maagizo ya kiwango cha RV32IMCB na upanuzi wa seti ya maagizo ya XW. Zote mbili zinaauni kuzidisha kwa mzunguko mmoja na mgawanyiko wa maunzi, pamoja na rundo la shinikizo la maunzi (HPE), usumbufu usio na jedwali (VTF), miingiliano ya utatuzi ya waya 1- na 2 iliyoratibiwa, maagizo ya "WFE", na vipengele vingine maalum. Kwa kuongezea, inasaidia pia Dibaji ya Vifaa/Epilogue (HPE), Vekta Jedwali Isiyolipishwa (VTF), kiolesura kilichorahisishwa cha utatuzi wa waya 1-/2, na usaidizi wa maagizo ya "WFE".
Vipengele
Vipengele | Maelezo |
ISA | RV32IM[A]C[B] |
Bomba | 3 |
FPU | Haitumiki |
Utabiri wa tawi | Utabiri wa tawi tuli |
Katiza | Inasaidia jumla ya kukatizwa 256 ikijumuisha vighairi, na inasaidia VTF |
HPE | Msaada viwango 2 vya HPE |
Ulinzi wa Kumbukumbu ya Kimwili (PMP) | Imeungwa mkono |
Hali ya matumizi ya nguvu ya chini | Inasaidia hali za Usingizi na Usingizi Mzito, na usaidie mbinu za kulala za WFI na WFE |
Seti ya Maagizo Iliyoongezwa | Imeungwa mkono |
Tatua | SDI ya waya 1/2, utatuzi wa kawaida wa RISC-V |
Zaidiview
Microprocessors za mfululizo wa QingKe V3 ni pamoja na V3A, V3B, na V3C, kuna tofauti kadhaa kati ya safu kulingana na programu, tofauti maalum zimefafanuliwa katika Jedwali 1-1.
Jedwali 1-1 Zaidiview ya QingKe V3 microprocessor
Kipengele Mfano | ISA | Idadi ya viwango vya HPE | Kukatizwa kiota idadi ya viwango | VTF idadi ya vituo | Bomba | Vekta hali ya meza | Mwongozo uliopanuliwa (XW) | Idadi ya maeneo ya ulinzi wa kumbukumbu |
V3A | RV32IMAC | 2 | 2 | 4 | 3 | Maagizo | × | × |
V3B | RV32IMCB | 2 | 2 | 4 | 3 | Anwani/ Maagizo | √ | × |
V3C | RV32IMCB | 2 | 2 | 4 | 3 | Anwani/ Maagizo | √ | 4 |
Kumbuka: Kubadilisha kazi ya OS kwa ujumla hutumia kusukuma kwa rafu, ambayo sio tu kwa idadi ya viwango
Seti ya Maagizo
- Vichakataji vidogo vya mfululizo wa QingKe V3 hufuata Usanifu wa Kawaida wa Seti ya Maagizo ya RISC-V (ISA). Nyaraka za kina za kiwango hicho zinaweza kupatikana katika "Mwongozo wa Seti ya Maagizo ya RISC-V, Juzuu ya I: Kiwango cha Mtumiaji ISA, Toleo la Hati 2.2" kwenye RISC-V International. webtovuti. Seti ya maagizo ya RISC-V ina usanifu rahisi na inasaidia muundo wa msimu, unaoruhusu mchanganyiko unaonyumbulika kulingana na mahitaji tofauti, na safu ya V3 inasaidia upanuzi wa seti zifuatazo za maagizo.
- RV32: Usanifu wa 32-bit, rejista ya madhumuni ya jumla upana wa biti 32
- I: Uendeshaji wa uundaji wa usaidizi, na rejista 32 za kuunda
- M: Saidia kuunda maagizo ya kuzidisha na mgawanyiko
- A: Kusaidia amri za atomiki
- C: Saidia maagizo ya ukandamizaji wa 16-bit
- B: Msaada kwa maagizo ya kudanganywa kidogo
- XW: Maagizo ya ukandamizaji wa biti 16 kwa shughuli za kujitanua za byte na nusu-neno
Kumbuka:
- Sehemu ndogo ya maagizo inayoungwa mkono na mifano tofauti inaweza kuwa tofauti, tafadhali rejelea Jedwali 1-1 kwa maelezo;
- Ili kuboresha zaidi msongamano wa msimbo, panua kitengo kidogo cha XW, ongeza maagizo ya mbano yafuatayo c.lbu/c.lhu/c.sb/c.sh/c.lbusp/c.lhusp/c.sbsp/c.shop , matumizi ambayo yanahitaji kutegemea mkusanyaji wa MRS au mnyororo wa zana unaotoa;
- V3B inasaidia kutoa maagizo ya neno (32bit) kutoka kwa neno mbili (64bit) na kutoa maagizo ya neno (32bit) kutoka kwa matokeo ya kuzidisha (64bit). Mbinu mahususi ya utumiaji inaweza kurejelea utendakazi wa maktaba na kushirikiana na mkusanyaji wa MRS au mnyororo wa zana uliotolewa nayo;
- V3B/C inasaidia maagizo ya kunakili kumbukumbu. Kwa matumizi mahususi, tafadhali rejelea utendaji wa maktaba na ushirikiane na mkusanyaji wa MRS au mnyororo wake wa zana.
Seti ya Usajili
RV32I ina seti 32 za usajili kutoka x0-x31. Mfululizo wa V3 hautumii kiendelezi cha "F", yaani, hakuna rejista ya sehemu zinazoelea. Katika RV32, kila rejista ni 32 bits. Jedwali 1-2 hapa chini linaorodhesha rejista za RV32I na maelezo yao.
Jedwali 1-2 rejista za RISC-V
Sajili | Jina la ABI | Maelezo | Mhifadhi |
x0 | sufuri | Nambari ngumu 0 | – |
x1 | ra | Rudisha anwani | Mwita |
x2 | sp | Kiashiria cha mrundikano | Calee |
x3 | GP | Kiashiria cha ulimwengu | – |
x4 | tp | Kielekezi cha thread | – |
x5-7 | t0-2 | Daftari la muda | Mwita |
x8 | s0/fp | Hifadhi kiashiria cha rejista / fremu | Calee |
x9 | s1 | Hifadhi rejista | Calee |
x10-11 | a0-1 | Vigezo vya kazi/thamani za kurejesha | Mwita |
x12-17 | a2-7 | Vigezo vya kazi | Mwita |
x18-27 | a2-11 | Hifadhi rejista | Calee |
X28-31 | t3-6 | Daftari la muda | Mwita |
Sifa ya Mpigaji katika jedwali hapo juu ina maana kwamba utaratibu unaoitwa hauhifadhi thamani ya rejista, na sifa ya Callee ina maana kwamba utaratibu unaoitwa huhifadhi rejista.
Hali ya Upendeleo
- Usanifu wa kawaida wa RISC-V unajumuisha modi tatu zilizobahatika: Hali ya Mashine, Hali ya Msimamizi, na Hali ya Mtumiaji, kama inavyoonyeshwa katika Jedwali 1-3 hapa chini.
- Hali ya mashine ni ya lazima, na aina nyingine ni za hiari. Kwa maelezo zaidi, unaweza kurejelea Mwongozo wa RISC-V Set Manual Volume II: Usanifu wa Upendeleo”, ambao unaweza kupakuliwa bila malipo kutoka kwa RISC-V International. webtovuti.
Jedwali 1-3 hali ya upendeleo ya usanifu wa RISC-V
Kanuni | Jina | Vifupisho |
0b00 | Hali ya Mtumiaji | U |
0b01 | Mfano wa Msimamizi | S |
0b10 | Imehifadhiwa | Imehifadhiwa |
0b11 | Hali ya mashine | M |
- Vichakataji vidogo vya mfululizo wa QingKe V3 vinaunga mkono aina mbili kati ya hizi zilizobahatika.
Hali ya mashine
- Hali ya mashine ndiyo yenye mamlaka ya juu zaidi, programu katika hali hii inaweza kufikia Daftari zote za Udhibiti na Hali (CSR), lakini pia inaweza kufikia maeneo yote ya anwani halisi.
- Chaguo-msingi ya kuwasha iko katika hali ya mashine, wakati utekelezaji wa mret (maelekezo ya kurejesha hali ya mashine) yanarudi, kulingana na hali ya rejista ya CSR (rejista ya hali ya mashine) kwenye bit ya MPP, ikiwa MPP = 0b00, kisha uondoke kwenye modi ya Mashine. kwenye modi ya Mtumiaji, MPP = 0b11, kisha uendelee kuhifadhi hali ya Mashine.
Hali ya mtumiaji
- Hali ya mtumiaji ina fursa ya chini kabisa, na ni rejista chache tu za CSR zinaweza kufikiwa katika hali hii. Wakati ubaguzi au usumbufu hutokea, microprocessor huenda kutoka kwa Hali ya Mtumiaji hadi Modi ya Mashine ili kushughulikia vighairi na kukatizwa.
Daftari la CSR
Msururu wa rejista za CSR hufafanuliwa katika usanifu wa RISC-V ili kudhibiti na kurekodi hali ya uendeshaji ya microprocessor. CSR hizi zinaweza kuongezwa kwa rejista 4096 kwa kutumia nafasi ya usimbaji ya ndani ya biti 12. Na utumie CSR mbili za juu[11:10] kufafanua ruhusa ya kusoma/kuandika ya rejista hii, 0b00, 0b01, 0b10 kwa kusoma/kuandika kuruhusiwa na 0b11 kwa kusoma tu. Tumia biti mbili za CSR[9:8] ili kufafanua kiwango cha chini cha upendeleo kinachoweza kufikia rejista hii, na thamani inalingana na hali ya upendeleo iliyofafanuliwa katika Jedwali 1-3. Rejista za CSR zinazotekelezwa katika kichakataji mikrosi cha QingKe V3 zimefafanuliwa katika Sura ya 8.
Isipokuwa
Utaratibu wa ubaguzi, ambao ni utaratibu wa kukatiza na kushughulikia "matukio ya operesheni isiyo ya kawaida". Vichakataji vidogo vya mfululizo wa QingKe V3 vimewekwa na mfumo wa kipekee wa majibu ambao unaweza kushughulikia hadi vighairi 256, ikijumuisha kukatizwa. Wakati ubaguzi au usumbufu hutokea, microprocessor inaweza kujibu kwa haraka na kushughulikia ubaguzi na matukio ya kukatizwa.
Aina za Ubaguzi
Tabia ya vifaa vya microprocessor ni sawa ikiwa ubaguzi au usumbufu hutokea. Microprocessor inasimamisha programu ya sasa, inasogea hadi kwa ubaguzi au kidhibiti cha kukatiza, na inarudi kwa programu iliyosimamishwa hapo awali wakati usindikaji umekamilika. Kwa ujumla, kukatiza pia ni sehemu ya vighairi. Iwapo tukio la sasa ni kukatizwa au ubaguzi unaweza kuwa viewed kupitia sababu ya rejista ya ubaguzi wa hali ya Mashine. Sababu[31] ni sehemu ya kukatiza, ambayo hutumika kuashiria ikiwa sababu ya kutofuata kanuni ni kukatizwa au ubaguzi. mcause[31]=1 inamaanisha kukatiza, mcause[31]=0 inamaanisha ubaguzi. mcause[30:0] ni msimbo wa ubaguzi, ambao hutumiwa kuonyesha sababu mahususi ya kutofuata kanuni au nambari ya kukatiza, kama inavyoonyeshwa katika jedwali lifuatalo.
Jedwali 2-1 misimbo isiyo ya kawaida ya vichakataji mikrosi V3
Katiza | Isipokuwa kanuni | Synchronous / Asynchronous | Sababu ya ubaguzi |
1 | 0-1 | – | Imehifadhiwa |
1 | 2 | Sahihi Asynchronous | NMI inakatiza |
1 | 3-11 | – | Imehifadhiwa |
1 | 12 | Sahihi Asynchronous | SysTick inakatiza |
1 | 13 | – | Imehifadhiwa |
1 | 14 | Sawazisha | Programu inakatiza |
1 | 15 | – | Imehifadhiwa |
1 | 16-255 | Sahihi Asynchronous | Ukatizaji wa nje 16-255 |
0 | 0 | Sawazisha | Mpangilio mbaya wa anwani ya maagizo |
0 | 1 | Sawazisha | Leta hitilafu ya ufikiaji wa amri |
0 | 2 | Sawazisha | Maelekezo haramu |
0 | 3 | Sawazisha | Vivunjaji |
0 | 4 | Sawazisha | Mpangilio mbaya wa anwani ya ufikiaji wa maagizo |
0 | 5 | Isiyo ya usahihi ya asynchronous | Hitilafu ya ufikiaji wa amri ya kupakia |
0 | 6 | Sawazisha | Upataji sahihi wa anwani ya duka/AMO |
0 | 7 | Isiyo ya usahihi ya asynchronous | Hitilafu ya ufikiaji wa amri ya Hifadhi/AMO |
0 | 8 | Sawazisha | Simu ya mazingira katika hali ya Mtumiaji |
0 | 11 | Sawazisha | Simu ya mazingira katika hali ya Mashine |
- Synchronous” katika jedwali inamaanisha kuwa maagizo yanaweza kupatikana mahali ambapo yanatekelezwa, kama vile mapumziko au maagizo ya simu, na kila utekelezaji wa maagizo hayo utasababisha ubaguzi. "Asynchronous" inamaanisha kuwa haiwezekani kubainisha maagizo, na thamani ya maagizo ya Kompyuta inaweza kuwa tofauti kila wakati ubaguzi unapotokea. ” Sahihi Asynchronous” inamaanisha kuwa ubaguzi unaweza kupatikana haswa kwenye mpaka wa maagizo, yaani, hali baada ya utekelezaji wa maagizo, kama vile usumbufu wa nje. "Asynchronous isiyo ya usahihi" inamaanisha kuwa mpaka wa maagizo hauwezi kupatikana kwa usahihi, na labda hali baada ya maagizo imekatizwa katikati ya utekelezaji, kama vile hitilafu ya ufikiaji wa kumbukumbu.
- Ufikiaji wa kumbukumbu huchukua muda, na microprocessor kawaida haingojei mwisho wa ufikiaji wakati wa kufikia kumbukumbu lakini inaendelea kutekeleza maagizo, wakati ubaguzi wa hitilafu ya ufikiaji hutokea tena, microprocessor tayari imetekeleza maagizo yaliyofuata, na haiwezi kuwa sahihi. iko.
Kuingia Isipokuwa
Wakati programu iko katika mchakato wa operesheni ya kawaida ikiwa kwa sababu fulani, husababisha ubaguzi au kukatiza. Tabia ya vifaa vya microprocessor katika hatua hii inaweza kufupishwa kama ifuatavyo.
- Sitisha mtiririko wa sasa wa programu na usogeze hadi kwa utekelezaji wa ubaguzi au kukatiza utendakazi. Anwani ya msingi ya ingizo na hali ya kushughulikia ya ubaguzi au utendakazi wa kukatiza hufafanuliwa na rejista ya anwani ya msingi ya mtvec. mtvec[31:2] inafafanua anwani msingi ya ubaguzi au kukatiza chaguo za kukokotoa. mtvec[1:0] inafafanua hali ya kushughulikia ya kitendakazi cha kidhibiti. wakati mtvec[1:0]=0, vighairi vyote na kukatizwa hutumia ingizo lililounganishwa, yaani, ubaguzi au usumbufu unapotokea, inageukia mtvec[31:2] inafafanua anwani msingi ya kutekeleza. Wakati mtvec[1:0]=1, vighairi na kukatiza tumia hali ya jedwali la vekta, yaani, kila ubaguzi na ukatizaji huhesabiwa, na anwani hurekebishwa kulingana na nambari ya kukatiza *4, na ubaguzi au usumbufu unapotokea, hubadilishwa. kwa anwani ya msingi iliyofafanuliwa na mtvec[31:2] + kukatiza nambari*4 Utekelezaji. Jedwali la vekta ya kukatiza hushikilia maagizo ya kuruka kwa kidhibiti cha kukatiza, au inaweza kuwa maagizo mengine.
- Sasisha rejista ya CSR
- Kighairi au usumbufu unapoingizwa, kichakataji kiotomatiki husasisha rejista husika za CSR, ikijumuisha mcause ya sababu ya kutofuata kanuni za hali ya Mashine, rejista ya viashiria vya ubaguzi wa hali ya Mashine mepc, chuma cha rejista ya thamani ya kutofuata kanuni za Modi ya Mashine, na hali ya rejista ya hali ya Mashine.
Sasisha mcause
Kama ilivyoelezwa hapo awali, baada ya kuweka ubaguzi au kukatiza, thamani yake inaonyesha aina ya sasa ya ubaguzi au nambari ya kukatiza, na programu inaweza kusoma thamani hii ya rejista ili kuangalia sababu ya ubaguzi au kubaini chanzo cha kukatiza, kama ilivyoonyeshwa kwenye Jedwali 2. -1.
Sasisha mepc
- Ufafanuzi wa kawaida wa anwani ya kurejesha ya microprocessor baada ya kuondoka kwa ubaguzi au usumbufu huhifadhiwa kwenye mepc.
- Kwa hivyo ubaguzi au usumbufu unapotokea, maunzi husasisha thamani ya mepc kiotomatiki hadi thamani ya sasa ya maagizo ya Kompyuta wakati ubaguzi unapopatikana, au thamani inayofuata ya maagizo yaliyotekelezwa mapema kabla ya kukatiza.
- Baada ya ubaguzi au usumbufu kuchakatwa, microprocessor hutumia thamani yake iliyohifadhiwa kama anwani ya kurejesha ili kurejea eneo la ukatizaji ili kuendelea na utekelezaji.
- Hata hivyo, inafaa kuzingatia hilo.
- MEPC ni rejista inayoweza kusomeka na inayoweza kuandikwa, na programu inaweza pia kurekebisha thamani ili kurekebisha eneo la kiashiria cha Kompyuta kinachoendeshwa baada ya kurejesha.
- Wakati usumbufu unapotokea, yaani, wakati sababu ya ubaguzi inasajili mcause[31]=1, thamani ya ramani husasishwa hadi thamani ya Kompyuta ya maagizo yanayofuata ambayo hayajatekelezwa wakati wa kukatiza.
- Kighairi kinapotokea, thamani ya ramani husasishwa hadi thamani ya maagizo ya Kompyuta ya ubaguzi wa sasa wakati ubaguzi unasababisha rejista mcause[31]=0. Kwa hivyo wakati huu ambapo ubaguzi unarudi, ikiwa tunarudi moja kwa moja kwa kutumia thamani ya mepc, tunaendelea kutekeleza maagizo ambayo yalitoa ubaguzi hapo awali, na kwa wakati huu, tutaendelea kuweka ubaguzi. Kwa kawaida, baada ya kushughulikia kutofuata kanuni, tunaweza kurekebisha thamani ya mepc hadi thamani ya maagizo yanayofuata ambayo hayajatekelezwa na kisha kurudisha. Kwa mfanoampna, ikiwa tutasababisha ubaguzi kwa sababu ya simu/kuvunja, baada ya kushughulikia ubaguzi, kwa kuwa kukumbuka/kuvunja (c.ebreak ni baiti 2) ni maagizo ya baiti 4, tunahitaji programu tu kurekebisha thamani ya mepc hadi mepc. +4 (c.ebreak ni mepc+2) kisha urudi.
Sasisha mtval
Wakati isipokuwa na kukatizwa kunaingizwa, maunzi yatasasisha kiotomatiki thamani ya mtval, ambayo ni thamani iliyosababisha ubaguzi. Thamani ni kawaida.
- Ikiwa ubaguzi unasababishwa na ufikiaji wa kumbukumbu, vifaa vitahifadhi anwani ya ufikiaji wa kumbukumbu wakati wa ubaguzi kwenye mtval.
- Ikiwa ubaguzi unasababishwa na maagizo haramu, maunzi yatahifadhi msimbo wa maagizo kwenye mtval.
- Ikiwa ubaguzi unasababishwa na sehemu ya kukatika maunzi, maunzi yatahifadhi thamani ya Kompyuta kwenye sehemu ya kukatika kwenye mtval.
- Isipokuwa vingine, maunzi huweka thamani ya mtval hadi 0, kama vile mapumziko, ubaguzi unaosababishwa na maagizo ya simu.
- Wakati wa kuingiza usumbufu, vifaa huweka thamani ya mtval hadi 0.
Sasisha hali
Baada ya kuingiza vighairi na kukatizwa, maunzi husasisha bits fulani katika mstatus.
- MPIE inasasishwa hadi thamani ya MIE kabla ya kuweka ubaguzi au kukatiza, na MPIE inatumiwa kurejesha MIE baada ya kutofuata kanuni na kukatiza kuisha.
- MPP inasasishwa hadi hali ya upendeleo kabla ya kuweka vighairi na kukatizwa, na baada ya vighairi na ukatizaji kukamilika, MPP inatumiwa kurejesha hali ya awali iliyobahatika.
- Kichakataji kidogo cha QingKe V3 kinaweza kutumia uwekaji wa viota katika hali ya Mashine, na MIE haitafutwa baada ya kuweka vighairi na kukatizwa.
Sasisha hali ya upendeleo ya microprocessor
- Wakati vighairi na kukatizwa kunatokea, hali ya upendeleo ya microprocessor inasasishwa hadi Modi ya Mashine.
Isipokuwa Ushughulikiaji Kazi
- Baada ya kuingiza ubaguzi au kukatiza, microprocessor hutekeleza programu kutoka kwa anwani na hali iliyofafanuliwa na rejista ya mtvec. Wakati wa kutumia ingizo lililounganishwa, kichakataji kidogo huchukua maagizo ya kuruka kutoka kwa anwani ya msingi iliyofafanuliwa na mtvec[31:2] kulingana na thamani ya mtvec[1], au hupata anwani ya uwekaji ubaguzi na kukatiza na kwenda kuitekeleza badala yake. . Kwa wakati huu, ubaguzi na kukatiza kushughulikia kunaweza kubaini ikiwa sababu ni ubaguzi au ukatizaji kulingana na thamani ya sababu[31], na aina na sababu ya ubaguzi au ukatizaji unaolingana unaweza kuamuliwa kwa kanuni ya ubaguzi. na kushughulikiwa ipasavyo.
- Unapotumia anwani ya msingi + kukata nambari * 4 kwa kukabiliana, vifaa vinaruka kiotomatiki kwenye jedwali la vekta ili kupata anwani ya kuingia ya ubaguzi au kazi ya kukatiza kulingana na nambari ya kukatiza na kuruka ili kuitekeleza.
Isipokuwa Toka
- Baada ya ubaguzi au usumbufu wa kushughulikia kukamilika, ni muhimu kuondoka kutoka kwa programu ya huduma. Baada ya kuingiza vighairi na kukatizwa, microprocessor huingia katika hali ya Mashine kutoka kwa Hali ya Mtumiaji, na uchakataji wa vighairi na kukatizwa pia hukamilishwa katika hali ya Mashine. Wakati ni muhimu kuondoka isipokuwa na kukatizwa, ni muhimu kutumia maagizo ya mret kurudi. Kwa wakati huu, vifaa vya microprocessor vitafanya otomatiki shughuli zifuatazo.
- Kiashiria cha PC kinarejeshwa kwa thamani ya mepc ya usajili wa CSR, yaani, utekelezaji huanza kwenye anwani ya maagizo iliyohifadhiwa na mepc. Inahitajika kuzingatia utendakazi wa kukabiliana na mepc baada ya utunzaji wa ubaguzi kukamilika.
- Sasisha hali ya rejista ya CSR, MIE inarejeshwa kwa MPIE, na MPP inatumiwa kurejesha hali ya upendeleo ya kichakataji kidogo cha awali.
- Mchakato mzima wa kukabiliana na ubaguzi unaweza kuelezewa na kielelezo 2-1 kifuatacho.
PFIC na Udhibiti wa Kukatiza
- Microprocessor ya QingKe V3 imeundwa kwa Kidhibiti cha Kukatiza Haraka Kinachoweza Kuratibiwa (PFIC) ambacho kinaweza kudhibiti hadi ukatizaji 256 ikijumuisha vighairi.
- Ya kwanza 16 kati yao yamewekwa kama visumbufu vya ndani vya microprocessor, na zingine ni za nje, yaani, idadi ya juu ya kukatizwa kwa nje inaweza kupanuliwa hadi 240. Sifa zake kuu ni kama ifuatavyo.
- Ukatizaji wa nje 240, kila ombi la kukatiza lina vichochezi huru na biti za udhibiti wa barakoa, na biti maalum za hali.
- Kipaumbele cha ukatizaji kinachoweza kuratibiwa huauni viwango 2 vya kutagia
- Ukatizaji wa haraka wa ndani/nje wa utaratibu, uwekaji kiotomatiki wa maunzi, na urejeshaji, kina cha juu cha HPE cha viwango 2
- Utaratibu wa kujibu wa kukatiza kwa Jedwali la Vekta (VTF), ufikiaji wa moja kwa moja wa njia 2 wa kukatiza anwani za vekta.
- Kumbuka: Kina cha juu zaidi cha kuatamia na kina cha HPE kinachoauniwa na vidhibiti vya kukatiza hutofautiana kwa miundo tofauti ya vichakataji vidogo, ambavyo vinaweza kupatikana katika Jedwali 1-1.
- Jedwali la vekta la vikatizo na vighairi limeonyeshwa katika Jedwali 3-1 hapa chini.
Jedwali 3-1 Isipokuwa na kukatiza jedwali la vekta
Nambari | Kipaumbele | Aina | Jina | Maelezo |
0 | – | – | – | – |
1 | – | – | – | – |
2 | -5 | Imerekebishwa | NMI | Ukatizaji usioweza kuficha |
3 | -4 | Imerekebishwa | EXC | Ukatizaji wa ubaguzi |
4 | – | – | – | – |
5 | -3 | Imerekebishwa | WITO-M | Mwito wa kurudi nyuma kwa hali ya mashine |
6-7 | – | – | – | – |
8 | -2 | Imerekebishwa | ECALL-U | Ukatizaji wa urejeshaji wa hali ya mtumiaji |
9 | -1 | Imerekebishwa | BREAK POINT | Ukatizaji wa kurudi nyuma kwa kituo |
10-11 | – | – | – | – |
12 | 0 | Inaweza kupangwa | SysTick | Kipima saa cha mfumo |
13 | – | – | – | – |
14 | 1 | Inaweza kupangwa | SWI | Kukatiza kwa programu |
15 | – | – | – | – |
16-255 | 2-241 | Inaweza kupangwa | Ukatizaji wa Nje | Ukatizaji wa nje 16-255 |
Kumbuka: ECALL-M, ECALL-U, na BREAKPOINT zote ni aina tofauti za ubaguzi EXC, ambazo zinajitegemea katika V3B/C kwa urahisi wa matumizi, na anwani 3 zilizo hapo juu za ingizo zimeshirikiwa na EXC katika V3A.
Seti ya Usajili wa PFIC
Jedwali 3-2 Sajili za PFIC
Jina | Anwani ya ufikiaji | Ufikiaji | Maelezo | Weka upya thamani |
PFIC_ISRx | 0xE000E000
-0xE000E01C |
RO | Katisha kuwezesha rejista ya hali x | 0x00000000 |
PFIC_IPRx | 0xE000E020
-0xE000E03C |
RO | Katisha rejista ya hali inayosubiri x | 0x00000000 |
PFIC_ITHRESDR | 0xE000E040 | RW | Kataza rejista ya usanidi wa kiwango cha kipaumbele | 0x00000000 |
PFIC_VTFBADDRR | 0xE000E044 | RW | Rejesta ya anwani ya msingi ya VTF
Kumbuka: Inatumika kwa V3A pekee |
0x00000000 |
PFIC_CFGR | 0xE000E048 | RW | Kataza rejista ya usanidi
Kumbuka: Inatumika kwa V3A pekee |
0x00000000 |
PFIC_GISR | 0xE000E04C | RO | Kataza rejista ya hali ya kimataifa | 0x00000002 |
PFIC_VTFIDR |
0xE000E050 |
RW |
VTF kukatiza rejista ya usanidi wa kitambulisho
Kumbuka: Inatumika kwa V3B/C pekee. |
0x00000000 |
PFIC_VTFADDRRx | 0xE000E060
-0xE000E06C |
RW | VTF x rejista ya anwani ya kukabiliana | 0xXXXXXXXXX |
PFIC_IENRx | 0xE000E100
-0xE000E11C |
WO | Kataza kuwezesha rejista ya mipangilio x | 0x00000000 |
PFIC_IRERx | 0xE000E180
-0xE000E19C |
WO | Kukatiza kuwezesha rejista wazi x | 0x00000000 |
PFIC_IPSRx | 0xE000E200
-0xE000E21C |
WO | Katisha rejista ya mipangilio inayosubiri x | 0x00000000 |
PFIC_IPRRx | 0xE000E280
-0xE000E29C |
WO | Katisha rejista inayosubiri wazi x | 0x00000000 |
PFIC_IACTRx | 0xE000E300
-0xE000E31C |
RO | Katisha rejista ya hali ya kuwezesha x | 0x00000000 |
PFIC_IPRIORx | 0xE000E400
-0xE000E43C |
RW | Kataza rejista ya usanidi wa kipaumbele | 0x00000000 |
PFIC_SCTLR | 0xE000ED10 | RW | Rejesta ya udhibiti wa mfumo | 0x00000000 |
Kumbuka:
- NMI, EXC, ECALL-M, ECALL-U, na BREAKPOINT huwashwa kila mara kwa chaguomsingi.
- ECALL-M, ECALL-U, na BREAKPOINT ni kesi za EXC.
- Usaidizi wa NMI, EXC, ECALL-M, ECALL-U na BREAKPOINT umekatiza unasubiri utendakazi wazi na wa kuweka, lakini bila kukatiza wezesha utendakazi wazi na wa kuweka.
Kila rejista imeelezewa kama ifuatavyo:
Kukatiza kuwezesha hali na kukatiza rejista za hali zinazosubiri (PFIC_ISR<0-7>/PFIC_IPR<0-7>)
Jina | Anwani ya ufikiaji | Ufikiaji | Maelezo | Weka upya thamani |
PFIC_ISR0 | 0xE000E000 | RO | Kukatiza 0-31 huwezesha rejista ya hali, jumla ya biti 32 za hali [n], kuonyesha #n kukatiza kuwezesha hali
Kumbuka: NMI na EXC zimewashwa kwa chaguo-msingi |
Kwa V3A: 0x0000000C
Kwa V3B/C: 0x0000032C |
PFIC_ISR1 | 0xE000E004 | RO | Katisha 32-63 wezesha rejista ya hali, jumla ya biti 32 za hali | 0x00000000 |
… | … | … | … | … |
PFIC_ISR7 | 0xE000E01C | RO | Katisha 224-255 wezesha rejista ya hali, jumla ya biti 32 za hali | 0x00000000 |
PFIC_IPR0 | 0xE000E020 | RO | Katiza 0-31 hali inayosubiri | 0x00000000 |
rejesta, jumla ya biti 32 za hali [n], inayoonyesha hali inayosubiri ya kukatiza #n | ||||
PFIC_IPR1 | 0xE000E024 | RO | Katiza 32-63 rejista za hali zinazosubiri, biti 32 za hali kwa jumla | 0x00000000 |
… | … | … | … | … |
PFIC_IPR7 | 0xE000E03C | RO | Katiza 244-255 rejista ya hali inayosubiri, biti 32 za hali kwa jumla | 0x00000000 |
Seti mbili za rejista hutumiwa kuwezesha na kuwezesha ukatizaji unaolingana.
Kataza kuwezesha mipangilio na ufute rejista (PFIC_IENR<0-7>/PFIC_IRER<0-7>)3
Jina | Anwani ya ufikiaji | Ufikiaji | Maelezo | Weka upya thamani |
PFIC_IENR0 | 0xE000E100 | WO | Kukatiza 0-31 huwezesha rejista ya mipangilio, jumla ya biti 32 za mipangilio [n], kwa kukatiza mpangilio wa kuwezesha #n
Kumbuka: NMI na EXC ni kuwezeshwa kwa chaguo-msingi |
0x00000000 |
PFIC_IENR1 | 0xE000E104 | WO | Katisha 32-63 ili kuwezesha rejista ya mipangilio, jumla ya bits 32 za kuweka | 0x00000000 |
… | … | … | … | … |
PFIC_IENR7 | 0xE000E11C | WO | Katiza mpangilio wa 224-255
kujiandikisha, jumla ya bits 32 za kuweka |
0x00000000 |
– | – | – | – | – |
PFIC_IRER0 | 0xE000E180 | WO | Kukatiza 0-31 kuwezesha rejista wazi, jumla ya biti 32 wazi [n], kwa kukatiza #n kuwasha wazi Kumbuka: NMI na EXC haziwezi kuwa kuendeshwa |
0x00000000 |
PFIC_IRER1 | 0xE000E184 | WO | Kukatiza 32-63 huwezesha rejista wazi, jumla ya bits 32 wazi | 0x00000000 |
… | … | … | … | … |
PFIC_IRER7 | 0xE000E19C | WO | Kukatiza 244-255 huwezesha rejista wazi, jumla ya bits 32 wazi | 0x00000000 |
Seti mbili za rejista hutumiwa kuwezesha na kuwezesha ukatizaji unaolingana.
Katisha mipangilio inayosubiri na ufute rejista (PFIC_IPSR<0-7>/PFIC_IPRR<0-7>)
Jina | Anwani ya ufikiaji | Ufikiaji | Maelezo | Weka upya thamani |
PFIC_IPSR0 |
0xE000E200 |
WO |
Katiza 0-31 rejista ya mipangilio inayosubiri, 32
kuweka biti [n], kwa kukatiza mpangilio wa #n unaosubiri |
0x00000000 |
PFIC_IPSR1 | 0xE000E204 | WO | Katisha 32-63 inasubiri rejista ya usanidi,
jumla ya bits 32 za usanidi |
0x00000000 |
… | … | … | … | … |
PFIC_IPSR7 | 0xE000E21C | WO | Katiza 224-255 mpangilio unaosubiri
sajili, 32 kuweka bits kwa jumla |
0x00000000 |
– | – | – | – | – |
PFIC_IPRR0 |
0xE000E280 |
WO |
Katisha 0-31 rejista inayosubiri, jumla ya biti 32 wazi [n], kwa kukatiza #n
inasubiri wazi |
0x00000000 |
PFIC_IPRR1 | 0xE000E284 | WO | Katisha 32-63 ukisubiri rejista wazi,
jumla ya vipande 32 wazi |
0x00000000 |
… | … | … | … | … |
PFIC_IPRR7 | 0xE000E29C | WO | Katisha 244-255 ukisubiri rejista wazi,
jumla ya vipande 32 wazi |
0x00000000 |
Wakati kichakataji kidogo kinawasha ukatizaji, kinaweza kuwekwa moja kwa moja kupitia rejista ya kukatiza inayosubiri ili kuzua ukatizaji. Tumia rejista wazi ya kukatiza inayosubiri ili kufuta kichochezi kinachosubiri.
Kataza rejista ya hali ya kuwezesha (PFIC_IACTR<0-7>)
Jina | Anwani ya ufikiaji | Ufikiaji | Maelezo | Weka upya thamani |
PFIC_IACTR0 | 0xE000E300 | RO | Kukatiza 0-31 huwasha rejista ya hali yenye biti 32 za hali [n], kuonyesha kuwa usumbufu #n unatekelezwa. | 0x00000000 |
PFIC_IACTR1 | 0xE000E304 | RO | Katisha rejista za hali ya 32-63, bits 32 za hali ndani
jumla |
0x00000000 |
… | … | … | … | … |
PFIC_IACTR7 | 0xE000E31C | RO | Kataza rejista za hali ya 224-255, jumla ya bits 32 za hali | 0x00000000 |
Kila ukatizaji una hali amilifu ambayo huwekwa wakati usumbufu unapowekwa na kufutwa na maunzi soko linaporejea.
Katiza rejista za vipaumbele na vipaumbele (PFIC_IPRIOR<0-7>/PFIC_ITHRESDR)
Jina | Anwani ya ufikiaji | Ufikiaji | Maelezo | Weka upya thamani |
PFIC_IPRIOR0 | 0xE000E400 | RW | Katiza usanidi 0 wa kipaumbele. V3A: [7:4]: Biti za udhibiti wa kipaumbele Ikiwa usanidi haujawekwa kiota, hakuna biti ya kuzuia Ikiwa kiota kimesanidiwa, bit7 ndio biti iliyotanguliwa. [3:0]: Imehifadhiwa, imewekwa kwa 0 V3B: [7:6]: Biti za udhibiti wa kipaumbele Ikiwa usanidi haujawekwa kiota, hakuna biti tangulizi zilizosanidiwa, biti zote hutanguliwa, lakini hadi viwango viwili vya ukatizaji vinaruhusiwa kutokea [5:0]: Imehifadhiwa, iliyowekwa kwenye 0 V3C: [7:5]: Vijiti vya udhibiti wa kipaumbele Ikiwa usanidi haujawekwa kiota, hakuna biti za mapema Ikiwekwa kiota, biti zote hutanguliwa, lakini hadi viwango viwili vya ukatizaji vinaruhusiwa kutokea [4:0]: Imehifadhiwa, iliyowekwa 0 Kumbuka: Kadiri thamani ya kipaumbele inavyokuwa ndogo, ndivyo kipaumbele kinavyokuwa juu. Iwapo ukatizaji sawa wa kipaumbele cha uzuiaji hutegemea kwa wakati mmoja, ukatizaji ulio na kipaumbele cha juu utatekelezwa kwanza. |
0x00 |
PFIC_IPRIOR1 | 0xE000E401 | RW | Katiza mpangilio 1 wa kipaumbele, utendakazi sawa na PFIC_IPRIOR0 | 0x00 |
PFIC_IPRIOR2 | 0xE000E402 | RW | Katiza mpangilio 2 wa kipaumbele, utendakazi sawa na PFIC_IPRIOR0 | |
… | … | … | … | … |
PFIC_IPRIOR254 | 0xE000E4FE | RW | Katiza mpangilio wa kipaumbele wa 254, utendakazi sawa na PFIC_IPRIOR0 | 0x00 |
PFIC_IPRIOR255 | 0xE000E4FF | RW | Katiza mpangilio 255 wa kipaumbele, utendakazi sawa na PFIC_IPRIOR0 | 0x00 |
– | – | – | – | – |
PFIC_ITHRESDR | 0xE000E040 | RW | Kataza mpangilio wa kiwango cha kipaumbele
V3A: [31:8]: Imehifadhiwa, imewekwa kwa 0 [7:4]: Kizingiti cha Kipaumbele [3:0]: Imehifadhiwa, imewekwa kwa 0V3B: [31:8]: Imehifadhiwa, imewekwa kwa 0 [7:5]: Kizingiti cha Kipaumbele [4:0]: Imehifadhiwa, imewekwa kwa 0V3C: [31:8]: Imehifadhiwa, imewekwa kwa 0 [7:5]: Kizingiti cha Kipaumbele [4:0]: Imehifadhiwa, imewekwa kwa 0Kumbuka: Kwa kukatizwa kwa thamani ya kipaumbele ≥ kizingiti, kazi ya huduma ya kukatiza haitekelezwi wakati hang inapotokea, na wakati rejista hii ni 0, inamaanisha kuwa rejista ya kizingiti ni batili. |
0x00 |
Kataza rejista ya usanidi (PFIC_CFGR)
Jina | Anwani ya ufikiaji | Ufikiaji | Maelezo | Weka upya thamani |
PFIC_CFGR | 0xE000E048 | RW | Kataza rejista ya usanidi | 0x00000000 |
Rejesta hii ni halali kwa V3A pekee, biti zake zinafafanuliwa kama:
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya thamani |
[31:16] | KEYCODE | WO | Sambamba na biti tofauti za udhibiti lengwa, data inayolingana ya kitambulisho cha ufikiaji wa usalama inahitaji kuandikwa kwa wakati mmoja ili kurekebishwa, na data ya kusoma imewekwa 0. KEY1 = 0xFA05; KEY2 = 0xBCAF; KEY3 = 0xBEEF. | 0 |
[15:8] | Imehifadhiwa | RO | Imehifadhiwa | 0 |
7 | SYSRESET | WO | Kuweka upya mfumo (kuandika kwa wakati mmoja kwa KEY3). Futa kiotomatiki 0.
Kuandika 1 ni halali, kuandika 0 ni batili. Kumbuka: utendakazi sawa na biti ya PFIC_SCTLR ya kusajili SYSRESET. |
0 |
6 | PFICRESET | WO | Kuweka upya moduli ya PFIC. Futa kiotomatiki 0.
Kuandika 1 ni halali, kuandika 0 ni batili. |
0 |
5 | EXPRESS | WO | Ukatizaji wa Isipokuwa unasubiri wazi (kuandika kwa wakati mmoja kwa KEY2)
Kuandika 1 ni halali, kuandika 0 ni batili. |
0 |
4 | EXCSET | WO | Isipokuwa, kukatiza kwa mpangilio unaosubiri (kuandika kwa wakati mmoja kwa KEY2)
Kuandika 1 ni halali, kuandika 0 ni batili. |
0 |
3 | NMIRESET | WO | Ukatizaji wa NMI unasubiri wazi (kuandika kwa wakati mmoja kwa KEY2)
Kuandika 1 ni halali, kuandika 0 ni batili. |
0 |
2 | NMISSET | WO | Mpangilio unaosubiri wa kukatiza kwa NMI (Kuandika kwa wakati mmoja kwa KEY2)
Kuandika 1 ni halali, kuandika 0 ni batili. |
0 |
1 | NESTCTRL | RW | Kukatiza kiota huwezesha udhibiti.
1: kuzima; 0: imewashwa (kuandika kwa usawaziko kwa KEY1) |
0 |
0 | HWSTKCTRL | RW | HPE kuwezesha udhibiti
1: kuzima; 0: imewashwa (kuandika kwa usawaziko kwa KEY1) |
0 |
Sitisha rejista ya hali ya kimataifa (PFIC_GISR)
Jina | Anwani ya ufikiaji | Ufikiaji | Maelezo | Weka upya thamani |
PFIC_GISR | 0xE000E04C | RO | Kataza rejista ya hali ya kimataifa | 0x00000000 |
Watu wake wanafafanuliwa kama
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya thamani |
[31:14] | Imehifadhiwa | RO | Imehifadhiwa | 0 |
13 |
LOCKSTA |
RO |
Ikiwa kichakataji kwa sasa kiko katika hali imefungwa:
1: Hali iliyofungwa; 0: Hali isiyofungwa. Kumbuka: Biti hii ni halali kwa V3B/C pekee. |
0 |
12 |
DBGMODE |
RO |
Iwapo kichakataji kiko katika hali ya utatuzi kwa sasa: 1: Hali ya utatuzi;
0: Hali isiyo ya utatuzi. Kumbuka: Biti hii ni halali kwa V3B/C pekee. |
0 |
11 |
GLOBLIE |
RO |
Washa usumbufu wa ulimwengu:
1: Wezesha kukatiza; 0: Zima kukatiza. Kumbuka: Biti hii ni halali kwa V3B/C pekee. |
|
10 | Imehifadhiwa | RO | Imehifadhiwa | 0 |
9 | GPENDSTA | RO | Ikiwa usumbufu unasubiri kwa sasa.
1: Ndiyo; 0: Hapana. |
0 |
8 | GACTSTA | RO | Ikiwa usumbufu unatekelezwa kwa sasa.
1: Ndiyo; 0: Hapana. |
0 |
[7:0] |
NESTSTA |
RO |
Kataza hali ya kutaga kwa sasa. 0x03: katika ngazi ya 2 kukatiza.
0x01: katika ngazi ya 1 kukatiza. 0x00: hakuna ukatizaji unaotokea. Nyingine: Hali isiyowezekana. |
0 |
Anwani ya msingi ya Vitambulisho vya VTF na rejista za anwani za kukabiliana (PFIC_VTFBADDRR/PFIC_VTFADDRR<0-3>)
Jina | Anwani ya ufikiaji | Ufikiaji | Maelezo | Weka upya thamani |
PFIC_VTFBADDRR |
0xE000E044 |
RW |
[31:28]: Biti 4 za juu za anwani inayolengwa ya VTF [27:0]: Imehifadhiwa
Rejesta hii ni halali kwa V3A pekee. |
0x00000000 |
PFIC_VTFIDR |
0xE000E050 |
RW |
[31:24]: Idadi ya VTF 3 [23:16]: Idadi ya VTF 2 [15:8]: Idadi ya VTF 1 [7:0]: Idadi ya VTF 0
Rejesta hii ni halali kwa V3B/C pekee. |
0x00000000 |
– | – | – | – | – |
PFIC_VTFADDRR0 |
0xE000E060 | RW | V3A: [31:24]: VTF 0 kati ya nambari [23:0]: biti 24 za chini za anwani lengwa ya VTF, ambapo biti 20 za chini zimesanidiwa kuwa halali, na [23:20] imewekwa kwa 0. .
V3B/C: [31:1]: Anwani ya VTF 0, iliyopangiliwa kwa baiti 2 [0]:1: Washa kituo cha VTF 0 0: Lemaza |
Kwa V3A: 0x00000000 Kwa V3B/C: 0xXXXXXXXX |
PFIC_VTFADDRR1 |
0xE000E064 |
RW |
V3A: [31:24]: Nambari ya kati ya VTF 1 [23:0]: Biti 24 za chini za anwani inayolengwa ya VTF, ambapo biti 20 za chini zimesanidiwa kuwa halali na [23:20] zimebadilishwa kuwa 0.
V3B/C: [31:1]: Anwani ya VTF 1, iliyopangiliwa kwa baiti 2 [0]:1: Washa kituo cha VTF 1 0: Lemaza |
Kwa V3A: 0x00000000 Kwa V3B/C: 0xXXXXXXXX |
PFIC_VTFADDRR2 |
0xE000E068 |
RW |
V3A: [31:24]: VTF 2 kati ya nambari [23:0]: biti 24 za chini za anwani lengwa ya VTF, ambapo biti 20 za chini zimesanidiwa kuwa halali, na [23:20] imewekwa kwa 0. .
V3B/C: [31:1]: Anwani ya VTF 2, iliyopangiliwa kwa baiti 2 [0]:1: Washa kituo cha VTF 2 0: Lemaza |
Kwa V3A: 0x00000000 Kwa V3B/C: 0xXXXXXXXX |
PFIC_VTFADDRR3 | 0xE000E06C | RW | V3A: | kwa V3A: |
[31:24]: nambari ya VTF 3 ya kukatiza [23:0]: biti 24 za chini za anwani inayolengwa ya VTF, ambapo biti 20 za chini zimesanidiwa kuwa halali, na [23:20] imebadilishwa kuwa 0.
V3B/C: [31:1]: Anwani ya VTF 3, iliyopangiliwa kwa baiti 2 [0]:1: Washa kituo cha VTF 3 0: Lemaza |
0x00000000
Kwa V3B/C: 0xXXXXXXXX |
Rejesta ya udhibiti wa mfumo (PFIC_SCTLR)
Jina | Anwani ya ufikiaji | Ufikiaji | Maelezo | Weka upya thamani |
PFIC_SCTLR | 0xE000ED10 | RW | Rejesta ya udhibiti wa mfumo | 0x00000000 |
Kila mmoja wao hufafanuliwa kama ifuatavyo.
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya thamani |
31 | SYSRESET | WO | Kuweka upya mfumo, kufuta kiotomatiki 0. Andika 1 ni halali, na kuandika 0 ni batili.
Kumbuka: Biti hii ni halali kwa V3B/C pekee |
0 |
[30:6] | Imehifadhiwa | RO | Imehifadhiwa | 0 |
5 | SETEVENT | WO | Weka tukio ili kuamsha kesi ya WFE. | 0 |
4 |
SEVONPEND | RW | Tukio linapotokea au kutatiza hali inayosubiri, mfumo unaweza kuamshwa baada ya maagizo ya WFE, au ikiwa maagizo ya WFE hayatatekelezwa, mfumo huo utazinduliwa mara baada ya utekelezaji unaofuata wa maagizo.
1: Matukio yaliyowashwa na ukatizaji wote (Ikiwa ni pamoja na ukatizaji usioweza kufikiwa) unaweza kuamsha mfumo. 0: Matukio yaliyowezeshwa na kuwezeshwa pekee kukatizwa kunaweza kuamsha mfumo. |
0 |
3 | WFITOWFE | RW | Tekeleza amri ya WFI kana kwamba ni WFE.
1: Yachukulie maelekezo yafuatayo ya WFI kama maagizo ya WFE. 0: Hakuna athari. |
0 |
2 | KULALA | RW | Njia ya nguvu ya chini ya mfumo wa kudhibiti. | 0 |
1: usingizi mzito 0: usingizi | ||||
1 | SLEEPONEXI T | RW | Hali ya mfumo baada ya udhibiti huacha programu ya huduma ya kukatiza.
1: Mfumo huingia kwenye hali ya chini ya nguvu. 0: Mfumo unaingia kwenye programu kuu. |
0 |
0 | Imehifadhiwa | RO | Imehifadhiwa | 0 |
Rejesta za CSR zinazohusiana na kukatiza
Kwa kuongeza, rejista zifuatazo za CSR pia zina athari kubwa katika usindikaji wa kukatizwa. Kataza rejista ya udhibiti wa mfumo (intsyscr)
Rejesta hii si halali kwa V3A pekee:
Jina | CSR Anwani | Ufikiaji | Maelezo | Weka upya thamani |
intsyscr | 0x804 | URW | Kukatisha rejista ya udhibiti wa mfumo | 0x0000E002 |
Watu wake wanafafanuliwa kama:
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya thamani |
31 |
FUNGA |
URO |
0: Rejesta hii inaweza kusomwa na kuandikwa katika hali ya mtumiaji;
1: Rejesta hii inaweza tu kusomwa na kuandikwa katika hali ya mashine. Kumbuka: Sehemu hii ya usanidi ni halali kutoka toleo la 1.0 kuendelea. |
0 |
[30:6] | Imehifadhiwa | URO | Imehifadhiwa | 0x380 |
5 |
GIHWSTKNEN |
URW1 |
Ukatizaji wa kimataifa na uzimaji wa rafu ya maunzi umewashwa.
Kumbuka: Biti hii mara nyingi hutumiwa katika mifumo ya uendeshaji ya wakati halisi. Muktadha unapowashwa wakati wa kukatiza, kuweka biti hii kunaweza kuzima ukatizaji wa kimataifa na kusukuma rafu ya maunzi. Wakati swichi ya muktadha imekamilika na usumbufu unarudi, vifaa vitafanya futa kiotomatiki sehemu hii. |
0 |
4 | Imehifadhiwa | URO | Imehifadhiwa | 0 |
[3:2] | PMTCFG | URW | Usanidi wa biti za kuzuia kipaumbele:
00: Idadi ya biti za kuzuia ni 0; 01: Idadi ya biti za kuzuia ni 1; 10: Idadi ya biti za kuzuia ni 2; 11: Idadi ya biti za kuzuia ni 3; Kumbuka: Sehemu hii ya usanidi ni halali baada ya 1.0. |
0 |
1 | SIKILIZA | URW | Kitendakazi cha kukatiza kiota kimewashwa, na thamani isiyobadilika ni 1: | 1 |
0: Zima;
1: Wezesha. Kumbuka: 1. Kiwango halisi cha kutagia kinadhibitiwa na NEST_LVL katika CSR 0xBC1; 2. Matoleo tu baada ya 1.0 yanaweza kuwa iliyoandikwa. |
||||
0 | HWSTKEN | URW | Washa rafu ya maunzi:
0: Kitendaji cha kubofya mrundikano wa maunzi kimezimwa; 1: Kitendo cha kubofya cha rafu ya maunzi kimewashwa. |
0 |
Rejesta ya anwani ya msingi ya ubaguzi wa hali ya mashine (mtvec)
Jina | CSR Anwani | Ufikiaji | Maelezo | Weka upya thamani |
mtvec | 0x305 | MRW | Rejesta ya anwani ya msingi ya ubaguzi | 0x00000000 |
Watu wake wanafafanuliwa kama
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya thamani |
[31:2] | BASEADDR[31:2] | MRW | Kataza anwani ya msingi ya jedwali la vekta, wapi
bits [9:2] zimewekwa kwa 0. |
0 |
1 | MODE1 |
MRO |
Kataza hali ya utambuzi wa jedwali la vekta: 0: Tambua kwa maelekezo ya kuruka, na upeo mdogo, na usaidie maagizo ya kutoruka;
1: Tambua kwa anwani kamili, usaidie anuwai kamili, lakini lazima uruke. Kumbuka: Biti hii ni halali kwa V3B/C pekee. |
0 |
0 | MODE0 | MRW | Uteuzi wa hali ya anwani ya kukatiza au isiyo ya kawaida.
0: Matumizi ya anwani sare ya ingizo. 1: Urekebishaji wa anwani kulingana na nambari ya kukatiza *4. |
0 |
Kwa MCU zilizo na vichakataji vidogo vya mfululizo wa V3, MODE0 imesanidiwa kuwa 1 kwa chaguomsingi katika uanzishaji. file, na maingizo kwa vighairi au kukatizwa hurekebishwa kulingana na nambari ya kukatiza *4. Kumbuka kuwa kichakataji kidogo cha V3A huhifadhi maagizo ya kuruka kwenye jedwali la vekta, huku kichakataji cha V3B/C kinaweza kuruka maagizo au kutumia anwani kamili ya kitendakazi cha kukatiza, ambacho kimesanidiwa kama anwani kamili katika uanzishaji chaguomsingi. file.
Rejesta ya usanidi wa Microprocessor (kirekebishaji)
Rejesta hii si sahihi kwa V3A:
Jina | CSR Anwani | Ufikiaji | Maelezo | Weka upya thamani |
corecfgr | 0xBC0 | MRW | Rejesta ya usanidi wa Microprocessor | 0x00000001 |
Watu wake wanafafanuliwa kama
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya thamani |
[31:8] | Imehifadhiwa | MRO | Imehifadhiwa | 0 |
7 |
CSTA_FAULT_IE |
MRW |
Washa usumbufu wa hali ya msingi:
0: Kwenye hitilafu ya hali, hakuna usumbufu wa NMI unaotolewa; 1: Kwenye hitilafu ya hali, kukatiza kwa NMI ni yanayotokana. |
0 |
6 | Imehifadhiwa | MRO | Ishike 0. | 0 |
5 | IE_REMP_EN | MRW | Uwekaji ramani wa usajili wa MIE huwezesha:
0: Anwani ya CSR 0x800 ni rejista ya kusoma tu na thamani ya kurudi ni thamani ya STATUS; 1: Biti 3 na 7 za anwani ya CSR 0x800 zimechorwa ili kubiti MIE ya rejista ya STATUS na biti MPIE ya rejista ya STATUS, mtawalia. |
0 |
4 | Imehifadhiwa | MRO | Imehifadhiwa | 0 |
3 | ROM_LOOP_ACC | MRW | Kuongeza kasi ya kitanzi cha maelekezo ya eneo la ROM kuwezesha:
0: Zima kazi ya kuongeza kasi ya mzunguko katika eneo la ROM; 1: Maagizo yanayoendelea yenye mwili wa kitanzi ndani ya baiti 128 yataharakishwa kikamilifu, wakati yale yaliyo na kitanzi ndani ya baiti 256 yataharakishwa kwa kiasi; |
0 |
2 | ROM_JUMP_ACC | MRW | Uongezaji kasi wa maelekezo ya eneo la ROM umewezeshwa:
0: Lemaza uongezaji kasi wa kuruka wa eneo la ROM; 1: Washa uongezaji kasi wa kuruka kwa maagizo katika eneo la ROM. |
0 |
[1:0] | FETCH_MODE | MRW | Hali ya kuleta:
00: Uletaji awali umezimwa. Chaguo la kukokotoa la uletaji awali limezimwa ili kuepuka utendakazi batili wa kuleta maagizo, na kuna angalau maagizo moja sahihi kwenye bomba la CPU. Mtindo huu una matumizi ya chini ya nguvu, na utendaji wake unashuka kwa takriban mara 2 ~ 3. 01: Hali ya Kuleta Mapema 1. Wakati utendakazi wa kuleta awali wa maagizo umewashwa, CPU itaendelea kufikia kumbukumbu ya maagizo hadi idadi ya maagizo ya kutekelezwa katika bafa ya maagizo ya ndani ipite nambari fulani, au bafa ya maagizo ijae, na uchukuaji wa maagizo utasitishwa; (Kushindwa kwa utabiri wa CPU kutasababisha operesheni isiyohitajika ya kuleta, na katika baadhi ya matukio, kitengo cha utekelezaji kitaanzisha mizunguko 0 ~ 2 ya Bubbles, na utendakazi wa programu nyingi hautapungua kwa wazi); 10: Imehifadhiwa; |
0x1 |
Katisha rejista ya udhibiti iliyoorodheshwa (inestcr)
Rejesta hii si sahihi kwa V3A pekee:
Jina | CSR Anwani | Ufikiaji | Maelezo | Weka upya thamani |
mwekezaji | 0xBC1 | MRW | Kataza rejista ya udhibiti iliyoorodheshwa | 0x00000000 |
Watu wake wanafafanuliwa kama
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya thamani |
31 | Imehifadhiwa | MRO | Imehifadhiwa | 0 |
30 | NEST_OV | MRW | Kukatiza/isipokuwa sehemu ya bendera iliyofurika, andika 1 ili kufuta:
0: Kukatiza hakukufurika; 1: Kataza bendera ya kufurika. Kumbuka: Upitaji wa ukatizaji utatokea tu wakati wa kutekeleza kitendakazi cha pili cha ukatizaji ili kutoa ubaguzi wa maagizo au kukatiza kwa NMI. Kwa wakati huu, ubaguzi na kukatiza kwa NMI ingiza kawaida, lakini rundo la CPU hufurika, kwa hivyo huwezi kutoka kwa ubaguzi huu na Kukatiza kwa NMI. |
0 |
[29:12] | Imehifadhiwa | MRO | Imehifadhiwa | 0 |
[11:8] | NEST_STA | MRO | Biti ya bendera ya hali iliyoorodheshwa:
0000: Hakuna usumbufu; 0001: Kukatiza kwa kiwango cha 1; 0011: kukatiza kwa kiwango cha 2 (kiota cha ngazi 1); |
0 |
0111: Kiwango cha 3 kikatize (kufurika);
1111: Kiwango cha 4 kikatize (furika). |
||||
[7:2] | Imehifadhiwa | MRO | Imehifadhiwa | 0 |
[1:0] | NEST_LVL | MRW | Kiwango cha kuota:
00: Nesting imepigwa marufuku na kazi ya kutagia imezimwa; 01: Kiota cha kiwango cha kwanza, ambacho huwasha kazi ya kutagia; Nyingine: Batili. Kumbuka: Andika 10 au 11 kwa uwanja huu, na uwanja utawekwa 01. Unapoandika 11 kwa uwanja huu, soma rejista hii ili kupata kiwango cha juu zaidi cha kuota cha chip. |
0 |
Ukatizaji wa kimataifa wa hali ya mtumiaji wezesha rejista (wa ndani)
Rejesta hii si sahihi kwa V3A pekee:
Jina | CSR Anwani | Ufikiaji | Maelezo | Weka upya thamani |
gintenr | 0x800 | URW | kuwezesha rejista ya usumbufu wa ulimwengu | 0x00000000 |
Rejesta hii inatumika kudhibiti kuwezesha na barakoa ya usumbufu wa kimataifa. Uwezeshaji na barakoa ya usumbufu wa kimataifa katika modi ya mashine inaweza kudhibitiwa na biti za MIE na MPIE katika hali, lakini rejista hii haiwezi kuendeshwa katika hali ya mtumiaji.
Ukatizaji wa rejista ya gintenr ni uchoraji ramani wa MIE na MPIE katika mstatus, na inaweza kutumika kuweka na kufuta MIE na MPIE kwa kufanya kazi katika hali ya mtumiaji.
Kila mmoja wao hufafanuliwa kama:
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya thamani |
[31:13] | Imehifadhiwa | URO | Imehifadhiwa | 0 |
[12:11] | MPP | URO | Weka hali ya upendeleo kabla ya kukatizwa. | 0 |
[10:8] | Imehifadhiwa | URO | Imehifadhiwa | 0 |
7 | MPIE | URW | Wakati 0xBC0(CSR)bit5 imewashwa, hii kidogo
inaweza kusomwa na kuandikwa katika hali ya mtumiaji. |
0 |
[6:4] | Imehifadhiwa | URO | Imehifadhiwa | 0 |
3 | MIE | URW | Wakati 0xBC0(CSR)bit5 imewashwa, hii kidogo
inaweza kusomwa na kuandikwa katika hali ya mtumiaji. |
0 |
[1:0] | Imehifadhiwa | URO | Imehifadhiwa | 0 |
Sitisha Nesting
Kwa pamoja na kukatiza, rejista ya usanidi PFIC_CFGR na rejista ya kipaumbele ya kukatiza PFIC_IPRIOR, ukatizaji wa kiota unaweza kuruhusiwa kutokea. Washa kuweka kiota katika rejista ya usanidi ya kukatiza (Nesting imewashwa kwa chaguomsingi kwa vichakataji mikrosi vya mfululizo wa V3) na usanidi kipaumbele cha ukatizaji unaolingana. Kadiri thamani ya kipaumbele inavyokuwa ndogo, ndivyo kipaumbele kinavyokuwa juu. Kadiri thamani ya biti ya ukombozi inavyopungua, ndivyo kipaumbele cha ukombozi kinavyokuwa juu. Ikiwa kuna vikatizo vinavyoning'inia kwa wakati mmoja chini ya kipaumbele sawa cha kuzuia, kichakataji kidogo hujibu ukiukaji kwa thamani ya chini ya kipaumbele (kipaumbele cha juu) kwanza.
Dibaji ya Vifaa/Epilogue (HPE)
- Wakati ubaguzi au usumbufu unapotokea, microprocessor inasimamisha mtiririko wa sasa wa programu na kuhama hadi kutekeleza ubaguzi au kukatiza kushughulikia, tovuti ya mtiririko wa sasa wa programu inahitaji kuhifadhiwa. Baada ya kurudi kwa ubaguzi au usumbufu, ni muhimu kurejesha tovuti na kuendelea na utekelezaji wa mtiririko wa programu uliosimamishwa. Kwa vichakataji vidogo vya mfululizo wa V3, "tovuti" hapa inarejelea rejista zote za Wapigaji Waliohifadhiwa katika Jedwali 1-2.
- Vichakataji vidogo vya mfululizo wa V3 vinaauni uhifadhi wa kiotomatiki wa mzunguko mmoja wa maunzi wa rejista 16 za umbo zilizohifadhiwa za mpigaji kwenye eneo la mrundikano wa ndani ambalo halionekani kwa mtumiaji. Wakati ubaguzi au usumbufu unarudi, mzunguko mmoja wa maunzi hurejesha kiotomatiki data kutoka eneo la mrundikano wa ndani hadi rejista zenye umbo 16. HPE inasaidia kuweka kiota hadi viwango 2 vya kina.
- Mchoro wa mkusanyiko wa shinikizo la microprocessor unaonyeshwa kwenye takwimu ifuatayo.
Kumbuka:
- Katiza vitendaji kwa kutumia HPE vinahitaji kukusanywa kwa kutumia MRS au mnyororo wake wa zana uliotolewa na chaguo la kukokotoa la kukatiza linahitaji kutangazwa kwa __attribute__((interrupt(“WCH-Interrupt-fast”)))).
- Kitendakazi cha kukatiza kwa kutumia msukumo wa rafu kinatangazwa na __attribute__((interrupt())).
Jedwali la Vekta Bure (VTF)
- Kidhibiti cha Kukatiza Haraka Kinachoweza Kupangwa (PFIC) hutoa chaneli 4 za VTF, yaani, ufikiaji wa moja kwa moja kwa ingizo la kukokotoa la kukatiza bila kupitia mchakato wa kukatiza jedwali la vekta.
- Chaneli ya VTF inaweza kuwashwa kwa kuandika nambari yake ya kukatiza, kukatiza anwani ya msingi ya huduma, na kurekebisha anwani kwenye rejista inayolingana ya kidhibiti cha PFIC huku ukisanidi utendakazi wa kukatiza kwa kawaida.
- Mchakato wa kujibu PFIC kwa ukatizaji wa haraka na bila jedwali umeonyeshwa kwenye Mchoro 3-2 hapa chini.
Ulinzi wa Kumbukumbu ya Kimwili PMP
- Ili kuboresha usalama wa mfumo, moduli ya ulinzi wa kumbukumbu ya kimwili (PMP) imeundwa kulingana na kiwango cha usanifu wa RISC-V kwa microprocessors za mfululizo wa V3 za shayiri ya nyanda za juu. Udhibiti wa haki za ufikiaji wa hadi maeneo 4 halisi unatumika. Ruhusa ni pamoja na soma (R), andika (W), na utekeleze (X) sifa, na urefu wa eneo lililohifadhiwa unaweza kuwekwa kwa baiti 4 angalau. Moduli ya PMP hutumika kila wakati katika hali ya mtumiaji, lakini inaweza kutekelezwa kwa hiari kwa kufunga sifa ya (L) katika hali ya mashine.
- Ikiwa ufikiaji utakiuka kikomo cha sasa cha ruhusa, itasababisha usumbufu usio wa kawaida. Moduli ya PMP inajumuisha vikundi vinne vya rejista za usanidi wa 8-bit (Kikundi kimoja cha 32-bit) na vikundi vinne vya rejista za anwani, ambazo zote zinahitaji kupatikana katika hali ya mashine kwa maagizo ya CSR.
- Kumbuka: Idadi ya maeneo yaliyohifadhiwa yanayoungwa mkono na PMP katika miundo tofauti ya vichakataji vidogo inaweza kuwa tofauti, na nambari inayoungwa mkono na pmpcfg na rejista za pmpaddr pia ni tofauti. Tazama Jedwali 1-1 kwa maelezo zaidi.
Seti ya Usajili wa PMP
Orodha ya rejista za CSR zinazoungwa mkono na moduli ya PMP ya microprocessor ya V3 imeonyeshwa kwenye Jedwali 4-1 hapa chini.
Jedwali la 4-1 la rejista ya moduli ya PMP
Jina | Anwani ya CSR | Ufikiaji | Maelezo | Weka upya thamani |
pmpcfg0 | 0x3A0 | MRW | Rejesta ya usanidi wa PMP 0 | 0x00000000 |
pmpaddr0 | 0x3B0 | MRW | Rejesta ya anwani ya PMP 0 | 0xXXXXXXXXX |
pmpaddr1 | 0x3B1 | MRW | Rejesta ya anwani ya PMP 1 | 0xXXXXXXXXX |
pmpaddr2 | 0x3B2 | MRW | Rejesta ya anwani ya PMP 2 | 0xXXXXXXXXX |
pmpaddr3 | 0x3B3 | MRW | Rejesta ya anwani ya PMP 3 | 0xXXXXXXXXX |
pmp
pmpcfg ni rejista ya usanidi wa kitengo cha PMP, na kila rejista ina sehemu nne za kusukuma za 8-bit, zinazolingana na usanidi wa mikoa minne, na kusukuma kunawakilisha thamani ya usanidi wa mkoa i. Muundo wake umeonyeshwa kwenye jedwali lifuatalo 4-2.
Jedwali 4-2 pmpcfg0 kujiandikisha
pmpcfg inatumika kusanidi eneo la I na ufafanuzi wake kidogo umeelezewa kwenye jedwali lifuatalo 4-3.
Jedwali 4-3 pmp
Kidogo | Jina | Maelezo |
7 | L | Kufunga kumewashwa na kunaweza kufunguliwa katika hali ya mashine. 0: Haijafungwa;
1: Funga rejista husika. |
[6:5] | – | Imehifadhiwa |
[4:3] | A | Upangaji wa anwani na uteuzi wa eneo la ulinzi. 00: IMEZIMWA (PMP imezimwa)
01: TOR (Ulinzi wa mpangilio wa juu) 10: NA4 (Ulinzi usiohamishika wa baiti nne) 11: NAPOT (2(G+2) Ulinzi wa baiti, G≥1) |
2 | X | Sifa inayoweza kutekelezwa. |
0: Hakuna ruhusa ya kutekeleza;
1: Tekeleza ruhusa. |
||
1 |
W |
Sifa inayoweza kuandikwa.
0: Hakuna ruhusa ya kuandika 1: Ruhusa ya kuandika. |
0 |
R |
Sifa inayoweza kusomeka
0: Hakuna ruhusa ya kusoma 1: Ruhusa ya kusoma. |
pmpaddr
Rejesta ya pmpaddr inatumiwa kusanidi anwani ya eneo la I. Ufafanuzi wa kawaida uko chini ya usanifu wa RV32, ambao ni usimbaji wa biti 32 za juu za anwani halisi ya 34-bit, na umbizo lake linaonyeshwa katika jedwali lifuatalo la 4-4. .
Nafasi nzima ya anwani ya kimwili ya microprocessor V3 ni 4G, hivyo bits mbili za juu za rejista hii hazitumiwi.
Jedwali 4-4 pmpaddr
NAPOT inapochaguliwa, sehemu ya chini ya rejista ya anwani pia inatumika kuonyesha ukubwa wa eneo la ulinzi la sasa, kama inavyoonyeshwa kwenye jedwali lifuatalo, ambapo 'y' ni kidogo ya rejista.
Jedwali 4-5 Jedwali la uhusiano kati ya usanidi wa PMP na rejista ya anwani na eneo lililohifadhiwa.
pmpaddr | pmpcfg. A | Kulinganisha anwani ya msingi na ukubwa |
yyy…yyyy | NA4 | Na 'yy…yyyy00' kama anwani ya msingi, eneo la baiti 4 linalindwa. |
yyy…yyy0 | NAPOT | Na 'yy…yyy000' kama anwani ya msingi, eneo la baiti 8 linalindwa. |
yyy…yy01 | NAPOT | Na 'yy…yy0000' kama anwani ya msingi, eneo la baiti 16 linalindwa. |
yyy…y011 | NAPOT | Na 'yy…y00000' kama anwani ya msingi, eneo la baiti 16 linalindwa. |
… | … | … |
yyy01…111 | NAPOT | Na 'y0…000000' kama anwani ya msingi, eneo la 231-byte linalindwa. |
yy011…111 | NAPOT | Linda eneo lote la 232-byte. |
Utaratibu wa Ulinzi
X/W/R katika pmpcfg inatumika kuweka mamlaka ya ulinzi ya eneo la I, na ukiukaji wa mamlaka husika utasababisha ubaguzi sambamba:
- Unapojaribu kuleta maagizo katika eneo la PMP bila mamlaka ya utekelezaji, itasababisha ubaguzi wa hitilafu ya ufikiaji wa maagizo (mcause=1).
- Unapojaribu kuandika data katika eneo la PMP bila idhini iliyoandikwa, itasababisha ubaguzi wa makosa (mcause=7) katika ufikiaji wa maagizo ya duka.
- Unapojaribu kusoma data katika eneo la PMP bila ruhusa ya kusoma, itasababisha hitilafu isiyo ya kawaida ya ufikiaji wa kumbukumbu (mcause=5) kwa maagizo ya upakiaji.
A in pmpcfg inatumika kuweka safu ya ulinzi na upatanishi wa anwani ya eneo I, na kulinda kumbukumbu ya A_ADDR ≤ eneo < i > < B_ADDR (zote A_ADDR na B_ADDR zinahitajika kupangiliwa katika baiti 4):
- Ikiwa B _ ADDR–A_ADDR = = 22, hali ya NA4 inapitishwa;
- Ikiwa B _ ADDR–A_ADDR = = 2(G+2), G≥1, na _ anwani ni 2(g+2), mbinu ya NAPOT inapitishwa;
- Vinginevyo, hali ya TOP inapitishwa.
Jedwali 4-6 njia za kulinganisha za anwani za PMP
Thamani | Jina | Maelezo |
0b00 | IMEZIMWA | Hakuna eneo la kulinda |
0b01 | TOR | Ulinzi wa Eneo Lililopangwa Juu.
Chini ya pmp pmpadri = B_ADDR >> 2. Kumbuka: Ikiwa eneo la 0 la PMP limesanidiwa kama modi ya TOR (i=0), mpaka wa chini wa eneo la ulinzi ni anwani 0, yaani 0 ≤ addr < pmpaddr0, zote ndani ya safu inayolingana. |
0b10 | NA4 | Ulinzi wa eneo la baiti 4 umewekwa.
pmp |
0b11 | NAPOT | Linda eneo la 2(G+2) kwa G ≥ 1, wakati A_ADDR ikiwa 2(G+2) ikiwa imepangiliwa. pmpadri = ((A_ADDR|(2(G+2)-1)) &~(1< >1. |
- L bit in pmp
- Vichakato vidogo vya mfululizo wa QingKe V3 vinasaidia ulinzi wa maeneo mengi. Wakati operesheni sawa inalingana na kanda nyingi kwa wakati mmoja, kanda iliyo na nambari ndogo inalinganishwa kwanza.
Kipima Muda cha Mfumo (SysTick)
- Microprocessor ya mfululizo wa QingKe V3 imeundwa ikiwa na kihesabu cha 32-bit au 64-bit (SysTick) ndani. Chanzo chake cha saa ni saa ya mfumo au mgawanyiko wake wa 8-frequency, na V3A inasaidia tu mgawanyiko wa 8-frequency.
- Inaweza kutoa msingi wa wakati, muda na wakati wa kupima kwa mfumo wa uendeshaji wa wakati halisi. Aina tofauti za rejista zinazohusika katika kipima muda zina anwani tofauti za ramani, kama inavyoonyeshwa kwenye jedwali lifuatalo la 5-1 na 5-2.
Jedwali 5-1 orodha ya rejista ya V3A SysTick
Jina | Anwani ya ufikiaji | Maelezo | Weka upya thamani |
STK_CTLR | 0xE000F000 | Rejesta ya udhibiti wa mfumo | 0x00000000 |
STK_CNTL | 0xE000F004 | Rejesta ya chini ya counter ya mfumo | 0xXXXXXXXXX |
STK_CNTH | 0xE000F008 | Rejesta ya juu ya kukabiliana na mfumo
Kumbuka: Inatumika kwa V3A pekee. |
0xXXXXXXXXX |
STK_CMPLR | 0xE000F00C | Rejesta ya chini ya hesabu ya hesabu ya mfumo | 0xXXXXXXXXX |
STK_CMPHR | 0xE000F010 | Rejesta ya juu ya ulinganisho wa hesabu ya mfumo
Kumbuka: Inatumika kwa V3A pekee. |
0xXXXXXXXXX |
Jedwali 5-2 V3 orodha ya rejista ya SysTick ya miundo mingine
Jina | Anwani ya ufikiaji | Maelezo | Weka upya thamani |
STK_CTLR | 0xE000F000 | Rejesta ya udhibiti wa mfumo | 0x00000000 |
STK_SR | 0xE000F004 | Rejesta ya hali ya kaunta ya mfumo | 0x00000000 |
STK_CNTL | 0xE000F008 | Daftari ya chini ya kaunta ya mfumo | 0xXXXXXXXXX |
STK_CMPLR | 0xE000F010 | Hesabu thamani ya chini ya rejista | 0xXXXXXXXXX |
Kila rejista imeelezewa kwa kina kama ifuatavyo.
Rejesta ya kidhibiti cha mfumo (STK_CTLR)
Jedwali 5-3 rejista za udhibiti wa SysTick
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya thamani |
[31:5] | Imehifadhiwa | RO | Imehifadhiwa | 0 |
4 |
MODE |
RW |
Njia ya kuhesabu: 1: Hesabu chini;
0: Hesabu juu. Kumbuka: Si Sahihi kwa V3A. |
0 |
3 |
STRE |
RW |
Hesabu ya upakiaji upya kiotomatiki wezesha biti:
1: Hesabu kutoka 0 tena baada ya kuhesabu hadi thamani ya kulinganisha, na uhesabu kutoka kwa thamani ya kulinganisha tena baada ya kuhesabu hadi 0; 0: Endelea kuhesabu juu/chini. Kumbuka: Si Sahihi kwa V3A. |
0 |
2 |
STCLK |
RW |
Sehemu ya uteuzi wa chanzo cha counterclock:
1: HCLK kama msingi wa wakati; 0: HCLK/8 kama msingi wa wakati. Kumbuka: Ni batili kwa V3A, ambayo inasaidia tu HCLK/8 kama msingi wa wakati. |
0 |
1 | TOVUTI | RW | Counter interrupt kuwawezesha bits kudhibiti: | 0 |
1: Wezesha usumbufu wa kukabiliana; 0: Zima ukatizaji wa hesabu.
Kumbuka: Si Sahihi kwa V3A. |
||||
0 | STE | RW | Kidhibiti cha mfumo huwezesha kidogo kudhibiti. 1: Wezesha STK ya kukabiliana na mfumo;
0: Zima kihesabu cha mfumo STK na kihesabu kitaacha kuhesabu. |
0 |
Rejesta ya hali ya kaunta ya mfumo (STK_SR)
Rejesta hii haitumiki kwa V3A.
Jedwali 5-4 la rejista ya kaunta ya chini ya SysTick
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya thamani |
31 |
SWIE |
RW |
Washa kichochezi cha kukatiza programu (SWI): 1: Anzisha usumbufu wa programu;
0: Zima kichochezi. Kumbuka: Biti hii lazima ifutwe baada ya kuingiza usumbufu wa programu, vinginevyo itasababisha kila wakati. |
0 |
[30:1] | Imehifadhiwa | RO | Imehifadhiwa | 0 |
0 |
CNTIF |
RW |
Hesabu bendera ya kulinganisha, andika 0 waziwazi, andika 1 ni batili:
1: Hesabu hadi thamani ya kulinganisha na uhesabu hadi 0; 0: Thamani ya kulinganisha haijafikiwa. |
0 |
Rejesta ya chini ya kaunta ya mfumo (STK_CNTL)
Jedwali 5-5 la rejista ya kaunta ya chini ya SysTick
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya thamani |
[31:0] | CNTL | RW | Thamani ya sasa ya kuhesabu ni biti 32 chini. Kwa V3A, rejista hii inaweza kusomwa kama 8-bit /16-bit
/32-bit, lakini inaweza tu kuandikwa kama 8-bit, na nyinginezo mifano sio mdogo. |
0xXXXXXX XXX |
Kumbuka: Sajili STK_CNTL na usajili STK_CNTH katika V3A kwa pamoja tengeneza kihesabu cha mfumo wa biti 64.
Rejesta ya juu ya kaunta ya mfumo (STK_CNTH)
Jedwali 5-6 rejesta ya juu ya kaunta ya SysTick
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya thamani |
[31:0] | CNTH | RW | Thamani ya sasa ya kuhesabu counter ni biti 32 juu. Rejesta hii inaweza kusomwa na 8-bit/16-bit/32-bit, lakini inaweza tu kuandikwa na 8-bit.
Kumbuka: Inatumika kwa V3A pekee. |
0xXXXXXX XXX |
Kumbuka: Sajili STK_CNTL na usajili STK_CNTH katika V3A kwa pamoja tengeneza kihesabu cha mfumo wa biti 64.
Rejesta ya chini ya ulinganishaji wa hesabu ya mfumo (STK_CMPLR)
Jedwali 5-7 rejesta ya chini ya ulinganishaji wa SysTick
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya thamani |
[31:0] | CMPL | RW | Weka thamani ya kulinganisha ya kaunta hadi biti 32 chini. Wakati thamani ya CMP na thamani ya CNT ni sawa, ukatizaji wa STK utaanzishwa. Kwa V3A, rejista hii inaweza kusomwa kama 8-bit /16-bit /32-bit, lakini inaweza tu kuwa
imeandikwa kama 8-bit, na mifano mingine sio mdogo. |
0xXXXXXX XXX |
Kumbuka: Rejesta ya STK_CMPLR na rejista STK_CMPHR katika V3A kwa pamoja huunda thamani ya kulinganisha ya 64-bit.
Rejesta ya juu ya ulinganishaji wa hesabu ya mfumo (STK_CMPHR)
Jedwali la 5-8 la usajili wa thamani ya juu wa SysTick
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya thamani |
[31:0] | CMPH | RW | Weka thamani ya kulinganisha ya kaunta biti 32 juu zaidi. Ukatizaji wa STK utaanzishwa wakati thamani ya CMP na thamani ya CNT ni sawa.
Rejesta hii inaweza kusomwa na 8-bit/16-bit/32-bit, lakini inaweza tu kuandikwa na 8-bit. Kumbuka: Inatumika kwa V3A pekee. |
0xXXXXXX XXX |
Kumbuka: Rejesta ya STK_CMPLR na rejista STK_CMPHR katika V3A kwa pamoja huunda thamani ya kulinganisha ya 64-bit.
Mipangilio ya Nguvu ya Chini ya Kichakataji
- Vichakataji vidogo vya mfululizo wa QingKe V3 vinaauni hali ya kulala kupitia maagizo ya WFI (Subiri Ukatiza) ili kufikia matumizi ya chini ya nguvu tuli.
- Pamoja na rejista ya udhibiti wa mfumo wa PFIC (PFIC_SCTLR), Njia mbalimbali za Kulala na maagizo ya WFE yanaweza kutekelezwa.
Ingiza Usingizi
- Vichakataji vidogo vya mfululizo wa QingKe V3 vinaweza kulala kwa njia mbili, Subiri Kukatiza (WFI) na Subiri Kwa Tukio (WFE). Njia ya WFI ina maana kwamba microprocessor inakwenda kulala, inasubiri usumbufu ili kuamka, na kisha inaamka kwa kupinga sambamba kutekeleza. Mbinu ya WFE inamaanisha kuwa kichakataji kidogo hulala, husubiri tukio kuamka, na kuamka ili kuendelea kutekeleza mtiririko wa programu uliosimamishwa hapo awali.
- Kiwango cha RISC-V kinaauni maagizo ya WFI, na amri ya WFI inaweza kutekelezwa moja kwa moja ili kuingiza usingizi kwa mbinu ya WFI. Kwa mbinu ya WFE, biti ya WFITOWFE katika rejista ya udhibiti wa mfumo PFIC_SCTLR inatumika kudhibiti amri zinazofuata za WFI kama usindikaji wa WFE ili kufikia mbinu ya WFE ya kuingiza usingizi.
- Kina cha usingizi kinadhibitiwa kulingana na kidonge cha SLEEPDEEP katika PFIC_SCTLR.
- Ikiwa SLEEPDEEP katika rejista ya PFIC_SCTLR itafutwa hadi sifuri, kichakataji kidogo huingia katika Hali ya Kulala na saa ya kitengo cha ndani inaruhusiwa kuzimwa isipokuwa SysTick na sehemu ya mantiki ya kuamka.
- Ikiwa SLEEPDEEP katika rejista ya PFIC_SCTLR imewekwa, kichakataji kidogo huingia katika Hali ya Usingizi Mzito na saa zote za seli zinaruhusiwa kuzimwa.
- Kichakataji kidogo kikiwa katika hali ya Utatuzi, haiwezekani kuingiza aina yoyote ya Hali ya Kulala.
Kuamka Usingizi
Vichakataji vidogo vya mfululizo wa QingKe V3 vinaweza kuamshwa baada ya kulala kutokana na WFI na WFE kwa njia zifuatazo.
Baada ya njia ya WFI kwenda kulala, inaweza kuamshwa na
- Microprocessor inaweza kuamshwa na chanzo cha kukatiza kinachoitikiwa na kidhibiti cha kukatiza. Baada ya kuamka, microprocessor hufanya kazi ya kukatiza kwanza.
- Weka Hali ya Kulala, ombi la utatuzi linaweza kuamsha kichakataji kidogo na kulala usingizi mzito, ombi la utatuzi haliwezi kuamsha kichakataji kidogo.
Baada ya njia ya WFE kwenda kulala, microprocessor inaweza kuamshwa na zifuatazo.
- Matukio ya ndani au nje, wakati hakuna haja ya kusanidi kidhibiti cha kukatiza, amka na uendelee kutekeleza programu.
- Ikiwa chanzo cha kukatiza kimewashwa, kichakataji kidogo huamshwa wakati usumbufu unapozalishwa, na baada ya kuamka, microprocessor hutekeleza utendakazi wa kukatiza kwanza.
- Ikiwa biti ya SEVONPEND katika PFIC_SCTLR itasanidiwa, kidhibiti cha kukatiza hakiwashi ukatizaji, lakini wakati ishara mpya inayosubiri ya kukatiza inapotolewa (wimbo inayosubiri iliyozalishwa hapo awali haifanyi kazi), inaweza pia kuamsha kichakataji kidogo, na bendera inayosubiri ya kukatiza inayolingana inahitaji kufutwa wewe mwenyewe baada ya kuamka.
- Weka ombi la utatuzi wa Modi ya Kulala inaweza kuamsha kichakataji kidogo na kulala usingizi mzito, ombi la utatuzi haliwezi kuamsha kichakataji kidogo.
- Kwa kuongeza, hali ya kichakataji kidogo baada ya kuamka inaweza kudhibitiwa kwa kusanidi biti ya SLEEPONEXIT katika PFIC_SCTLR.
- SLEEPONEXIT imewekwa na maagizo ya kurejesha kiwango cha mwisho cha kukatiza (mret) yataanzisha usingizi wa hali ya WFI.
SLEEPONEXIT inafutwa bila athari.
Bidhaa mbalimbali za MCU zilizo na vichakataji vidogo vya mfululizo wa V3 vinaweza kutumia hali tofauti za usingizi, kuzima vifaa vya pembeni na saa tofauti, kutekeleza sera tofauti za usimamizi wa nishati na mbinu za kuamsha kulingana na usanidi tofauti wa PFIC_SCTLR, na kutambua hali mbalimbali za nishati ya chini.
Usaidizi wa Utatuzi
- Vichakataji vidogo vya mfululizo wa QingKe V3 vinajumuisha moduli ya utatuzi wa maunzi inayoauni utendakazi changamano wa utatuzi. Microprocessor inaposimamishwa, moduli ya utatuzi inaweza kufikia GPR za microprocessor, CSR, Kumbukumbu, vifaa vya nje, n.k. kupitia amri dhahania, maagizo ya uwekaji wa bafa ya programu, n.k. Moduli ya utatuzi inaweza kusimamisha na kuanzisha tena utendakazi wa microprocessor.
- Moduli ya utatuzi inafuata ubainifu wa Usaidizi wa Utatuzi wa Nje wa RISC-V 0.13.2, nyaraka za kina zinaweza kupakuliwa kutoka kwa RISC-V International. webtovuti.
Moduli ya Utatuzi
- Moduli ya utatuzi ndani ya microprocessor, inayoweza kutekeleza utendakazi wa utatuzi iliyotolewa na mwenyeji wa utatuzi, inajumuisha.
- Ufikiaji wa rejista kupitia kiolesura cha utatuzi
- Weka upya, sitisha, na urejeshe microprocessor kupitia kiolesura cha utatuzi
- Kusoma na kuandika kumbukumbu, rejista za maagizo, na vifaa vya nje kupitia kiolesura cha utatuzi
- Tumia maagizo mengi ya kiholela kupitia kiolesura cha utatuzi
- Weka vizuizi vya programu kupitia kiolesura cha utatuzi
- Weka vizuizi vya maunzi kupitia kiolesura cha utatuzi
- Kusaidia utekelezaji wa amri ya kufikirika kiotomatiki
- Kusaidia utatuzi wa hatua moja
- Kumbuka: V3A haitumii viambatisho vya maunzi, viambajengo vya kukiuka maunzi vya V3B vinaauni maagizo ya kulinganisha anwani, na viambajengo vya maunzi vya V3C vinaauni anwani ya maagizo na kulinganisha anwani ya data.
- Rejesta za ndani za moduli ya utatuzi hutumia msimbo wa anwani wa biti 7, na rejista zifuatazo zinatekelezwa ndani ya vichakataji vidogo vya mfululizo wa QingKe V3.
Jedwali 7-1 Orodha ya moduli za kurekebisha hitilafu
Jina | Anwani ya ufikiaji | Maelezo |
data0 | 0x04 | Rejesta ya data 0, inaweza kutumika kwa uhifadhi wa muda wa data |
data1 | 0x05 | Rejesta ya data 1, inaweza kutumika kwa uhifadhi wa muda wa data |
kudhibiti | 0x10 | Rejesta ya udhibiti wa moduli ya utatuzi |
hali | 0x11 | Rejesta ya hali ya moduli ya utatuzi |
Hartinfo | 0x12 | Rejesta ya hali ya Microprocessor |
muhtasari | 0x16 | Daftari ya hali ya amri ya muhtasari |
amri | 0x17 | Daftari ya amri ya muhtasari |
abstract auto | 0x18 | Utekelezaji wa kiotomatiki wa amri |
progbuf0-7 | 0x20-0x27 | Rejesta za kache za maagizo 0-7 |
haltsum0 | 0x40 | Sitisha rejista ya hali |
- Kipangishi cha utatuzi kinaweza kudhibiti kusimamisha, kurejesha, kuweka upya, nk kwa microprocessor, nk kwa kusanidi rejista ya udhibiti. Kiwango cha RISC-V kinafafanua aina tatu za amri dhahania: rejista ya ufikiaji, ufikiaji wa haraka na kumbukumbu ya ufikiaji.
- Microprocessor ya QingKe V3A inasaidia tu ufikiaji wa rejista, miundo mingine inasaidia rejista na ufikiaji wa kumbukumbu, lakini sio ufikiaji wa haraka. Upatikanaji wa rejista (GPRs, CSRs) na ufikiaji unaoendelea wa kumbukumbu unaweza kupatikana kwa amri za kufikirika.
- Moduli ya utatuzi hutekeleza rejista 8 za kache za maagizo progbuf0-7, na mwenyeji wa utatuzi anaweza kuweka akiba ya maagizo mengi (ambayo yanaweza kubanwa maagizo) kwenye bafa na anaweza kuchagua kuendelea kutekeleza maagizo katika rejista za kache za maagizo baada ya kutekeleza amri dhahania au kutekeleza. maagizo yaliyohifadhiwa moja kwa moja.
- Kumbuka kwamba maagizo ya mwisho katika programu yanahitaji kuwa maagizo ya "ebreak" au "c.ebreak". Upatikanaji wa hifadhi, vifaa vya pembeni, nk pia inawezekana kupitia amri za abstract na maagizo yaliyohifadhiwa kwenye programu.
- Kila rejista imeelezewa kwa kina kama ifuatavyo.
- Daftari ya data 0 (data0)
Jedwali 7-2 ufafanuzi wa rejista ya data
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:0] | data0 | RW | Rejesta ya data 0, inayotumika kwa uhifadhi wa muda wa data | 0 |
Daftari ya data 1 (data1)
Jedwali 7-3 data1 ufafanuzi wa rejista
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:0] | data1 | RW | Rejesta ya data 1, inayotumika kwa uhifadhi wa muda wa data | 0 |
Rejesta ya udhibiti wa moduli ya utatuzi (ondoa udhibiti)
Rejesta hii inadhibiti kusitishwa, kuweka upya na kuendelea kwa microprocessor. Kipangishi cha utatuzi huandika data kwa sehemu inayolingana ili kufikia kusitisha (haltreq), weka upya (ndmreset), endelea (resumereq). Unaelezea yafuatayo.
Jedwali 7-4 ufafanuzi wa rejista ya kudhibiti
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
31 | haltreq | WO | 0: Futa ombi la kusitisha
1: Tuma ombi la kusitisha |
0 |
30 | anzisha tena | W1 | 0: Batili
1: Rejesha microprocessor ya sasa Kumbuka: Andika 1 ni halali na maunzi huondolewa baada ya kurejesha microprocessor |
0 |
29 | Imehifadhiwa | RO | Imehifadhiwa | 0 |
28 | ackhavereset | W1 | 0: Batili
1: Futa kidogo hali ya mavuno ya kichakataji kidogo |
0 |
[27:2] | Imehifadhiwa | RO | Imehifadhiwa | 0 |
1 | ndmreset | RW | 0: Futa kuweka upya
1: Weka upya mfumo mzima kando na moduli ya utatuzi |
0 |
0 | zima | RW | 0: Weka upya moduli ya utatuzi
1: Moduli ya Utatuzi hufanya kazi ipasavyo |
0 |
Rejesta ya hali ya moduli ya utatuzi (hali ya dm)
- Rejesta hii inatumika kuonyesha hali ya moduli ya utatuzi na ni rejista ya kusoma tu yenye maelezo yafuatayo ya kila biti.
Jedwali 7-5 ufafanuzi wa rejista ya dmstatus
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:20] | Imehifadhiwa | RO | Imehifadhiwa | 0 |
19 | allhavereset | RO | 0: Batili
1: Weka upya Microprocessor |
0 |
18 | chochote | RO | 0: Batili
1: Weka upya Microprocessor |
0 |
17 | anza tena | RO | 0: Batili
1: Weka upya Microprocessor |
0 |
16 | any resumeack | RO | 0: Batili
1: Weka upya Microprocessor |
0 |
[15:14] | Imehifadhiwa | RO | Imehifadhiwa | 0 |
13 | alluvial | RO | 0: Batili
1: Microprocessor haipatikani |
0 |
12 | manufaa yoyote | RO | 0: Batili
1: Microprocessor haipatikani |
0 |
11 | zote zinakimbia | RO | 0: Batili
1: Microprocessor inafanya kazi |
0 |
10 | mbio yoyote | RO | 0: Batili
1: Microprocessor inafanya kazi |
0 |
9 | imesitishwa | RO | 0: Batili
1: Microprocessor iko katika kusimamishwa |
0 |
8 | yoyote imesitishwa | RO | 0: Batili
1: Microprocessor nje ya kusimamishwa |
0 |
7 | kuthibitishwa |
RO |
0: Uthibitishaji unahitajika kabla ya kutumia moduli ya utatuzi
1: Moduli ya utatuzi imethibitishwa |
0x1 |
[6:4] | Imehifadhiwa | RO | Imehifadhiwa | 0 |
[3:0] | toleo | RO | Toleo la usanifu la usaidizi wa mfumo wa kurekebisha 0010: V0.13 | 0x2 |
Rejesta ya hali ya Microprocessor (hartinfo)
Rejesta hii inatumika kutoa maelezo kuhusu kichakataji kidogo kwa seva pangishi ya utatuzi na ni rejista ya kusoma tu na kila biti ikifafanuliwa kama ifuatavyo.
Jedwali 7-6 ufafanuzi wa rejista ya hartinfo
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:24] | Imehifadhiwa | RO | Imehifadhiwa | 0 |
[23:20] | mkwaruzo | RO | Idadi ya rejista za mikwaruzo zinazotumika | 0x3 |
[19:17] | Imehifadhiwa | RO | Imehifadhiwa | 0 |
16 | DataAccess | RO | 0: Daftari ya data imechorwa kwa anwani ya CSR
1: Rejesta ya data imewekwa kwenye anwani ya kumbukumbu |
0x1 |
[15:12] | saizi ya data | RO | Idadi ya rejista za data | 0x2 |
[11:0] | kuongeza data |
RO |
Anwani ya kukabiliana na data ya rejista ya data0,
ambaye anwani yake ya msingi ni 0xe0000000, inategemea usomaji maalum. |
0xXXX |
Udhibiti wa amri ya mukhtasari na rejista za hali (muhtasari)
Rejesta hii hutumiwa kuonyesha utekelezaji wa amri ya kufikirika. Mpangishi wa utatuzi anaweza kusoma rejista hii ili kujua kama amri ya mwisho ya muhtasari inatekelezwa au la na inaweza kuangalia ikiwa hitilafu imetolewa wakati wa utekelezaji wa amri ya kufikirika na aina ya kosa, ambayo imefafanuliwa kwa kina kama ifuatavyo.
Jedwali 7-7 ufafanuzi wa rejista ya muhtasari
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:29] | Imehifadhiwa | RO | Imehifadhiwa | 0 |
[28:24] | progbufsize | RO | Inaonyesha idadi ya programu ya bafa ya programu
rejista za kashe |
0x8 |
[23:13] | Imehifadhiwa | RO | Imehifadhiwa | 0 |
12 | busy | RO | 0: Hakuna amri ya kufikirika inayotekelezwa
1: Kuna amri dhahania zinazotekelezwa Kumbuka: Baada ya utekelezaji, vifaa vinafutwa. |
0 |
11 | Imehifadhiwa | RO | Imehifadhiwa | 0 |
[10:8] | cmder | RW | Aina ya hitilafu ya amri 000: Hakuna kosa
001: Utekelezaji wa amri ya muhtasari wa kuandika kwa amri, muhtasari, rejista za kiotomatiki au kusoma na kuandika kwa data na rejista za progbuf 010: Haiauni amri ya dhahania ya sasa 011: Utekelezaji wa amri ya kufikirika isipokuwa 100: Kichakataji kidogo hakijasimamishwa au hakipatikani na hakiwezi kutekeleza amri dhahania 101: Hitilafu ya basi 110: Hitilafu ya usawa wakati wa mawasiliano 111: Makosa mengine Kumbuka: Kwa uandishi kidogo 1 hutumiwa kufuta sifuri. |
0 |
[7:4] | Imehifadhiwa | RO | Imehifadhiwa | 0 |
[3:0] | punguzo | RO | Idadi ya rejista za data | 0x2 |
- Wapangishi wa utatuzi wanaweza kufikia GPR, rejista za CSR, na kumbukumbu kwa kuandika thamani tofauti za usanidi kwenye rejista ya amri ya muhtasari.
- Wakati wa kufikia rejista, bits za rejista ya amri hufafanuliwa kama ifuatavyo.
- Jedwali 7-8 Ufafanuzi wa rejista ya amri wakati wa kupata rejista
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:24] | aina ya cmd | WO | Aina ya amri ya muhtasari 0: Daftari la ufikiaji;
1: Ufikiaji wa haraka (hautumiki); 2: Upatikanaji wa kumbukumbu. |
0 |
23 | Imehifadhiwa | WO | Imehifadhiwa | 0 |
[22:20] | aarsize | WO | Fikia rejista ya upana wa data 000: 8-bit
001: biti 16 010: biti 32 |
0 |
011: 64-bit (haitumiki) 100: 128-bit (haitumiki)
Kumbuka: Wakati wa kupata rejista za sehemu zinazoelea FPRs, ufikiaji wa biti 32 pekee ndio unaotumika. |
||||
19 | aarpostincrement | WO | 0: Hakuna athari
1: Ongeza thamani ya regno kiotomatiki baada ya kupata rejista |
0 |
18 | post exec | WO | 0: Hakuna athari
1:Tekeleza amri ya kufikirika kisha utekeleze amri katika progbuf |
0 |
17 | uhamisho | WO | 0: Usitekeleze operesheni iliyoainishwa na maandishi
1: Tekeleza upotoshaji uliobainishwa na maandishi |
0 |
16 | andika | WO | 0: Nakili data kutoka kwa rejista maalum hadi data0 1: Nakili data kutoka kwa rejista ya data0 hadi rejista maalum |
0 |
[15:0] | regno | WO | Bainisha rejista za ufikiaji 0x0000-0x0fff ni CSRs 0x1000-0x101f ni GPRs |
0 |
Wakati wa kufikia kumbukumbu, bits kwenye rejista ya amri hufafanuliwa kama ifuatavyo.
Jedwali 7-9 Ufafanuzi wa Daftari la amri wakati wa Kupata Kumbukumbu
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:24] | aina ya cmd | WO | Aina ya amri ya muhtasari 0: Daftari la ufikiaji;
1: Ufikiaji wa haraka (hautumiki); 2: Kumbukumbu ya ufikiaji. |
0 |
23 | aamvirtual | WO | 0: Fikia anwani halisi;
1: Fikia anwani pepe. |
0 |
[22:20] | ukubwa wa mkono | WO | Fikia data ya kumbukumbu upana kidogo 000: 8-bit;
001: 16-bit; 010: 32-bit; 011: 64-bit (haitumiki); 100: 128-bit (haitumiki); |
0 |
19 | aampuzushi | WO | 0: Hakuna ushawishi;
1: Baada ya kufikia kumbukumbu kwa mafanikio, ongeza anwani iliyohifadhiwa kwenye rejista ya data1 kwa idadi ya baiti zinazolingana na upana wa biti uliosanidiwa na saizi ya mkono. Aamsize=0, imefikiwa na byte, data1 pamoja na 1. Aamsize=1, imefikiwa kwa neno nusu, data1 pamoja na 2. aamsize=2, imefikiwa na biti, data1 pamoja na 4. |
0 |
18 | post exec | WO | 0: Hakuna ushawishi;
1: Tekeleza amri katika progbuf baada ya kutekeleza amri ya kufikirika. |
0 |
17 | Hifadhi | RO | Imehifadhiwa | 0 |
16 |
andika |
WO |
0: Soma data kutoka kwa anwani iliyobainishwa na data1 hadi data0
1: Andika data katika data0 kwa anwani iliyobainishwa na data1. |
0 |
[15:14] |
lengwa mahususi |
WO |
Ufafanuzi wa hali ya kusoma na kuandika Andika:
00, 01: Andika moja kwa moja kwenye kumbukumbu; 10: Baada ya data katika data0 kuwa AU na biti za data kwenye kumbukumbu, matokeo huandikwa kwenye kumbukumbu (Ufikiaji wa maneno pekee ndio unaotumika). 11: Baada ya kujumlisha data katika data0 na biti za data kwenye kumbukumbu, andika matokeo kwenye kumbukumbu (Ufikiaji wa maneno pekee ndio unaotumika). Soma: 00, 01, 10, 11: Soma 0 moja kwa moja kutoka kwa kumbukumbu. |
0 |
[13:0] | Hifadhi | RO | Imehifadhiwa |
Amri ya muhtasari ya rejista ya utekelezaji otomatiki (abstract auto)
Rejesta hii inatumika kusanidi moduli ya utatuzi. Wakati wa kusoma na kuandika progbufx na data ya moduli ya kurekebisha, amri ya abstract inaweza kutekelezwa tena.
Maelezo ya rejista hii ni kama ifuatavyo:
Jedwali 7-10 ufafanuzi wa rejista ya kiotomatiki
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:16] | autoexecprogbuf | RW | Ikiwa kidogo imewekwa, kusoma na kuandika sambamba ya progbufx itasababisha amri ya abstract katika rejista ya amri kutekelezwa tena.
Kumbuka: Msururu wa V3 umeundwa na progbuf 8, sambamba na vipande [23:16]. |
0 |
[15:12] | Hifadhi | RO | Imehifadhiwa | 0 |
[11:0] | data otomatiki |
RW |
Ikiwa kidogo imewekwa kwa 1, kusoma na kuandika sambamba ya rejista ya data itasababisha amri ya abstract katika rejista ya Amri kutekelezwa tena.
Kumbuka: Mfululizo wa V3 umeundwa na data mbili madaftari, sambamba na bits [1:0]. |
0 |
Rejesta ya akiba ya maagizo (progbufx)
Rejesta hii hutumiwa kuhifadhi maagizo yoyote, na kupeleka operesheni inayolingana, ikijumuisha 8, ambayo inahitaji kuzingatia utekelezaji wa mwisho ambao unahitaji kuwa "mapumziko" au "c.ebreak".
Jedwali 7-11 ufafanuzi wa rejista ya progbuf
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:0] | progbuf | RW | Usimbaji wa maagizo kwa shughuli za kache, ambayo
inaweza kujumuisha maagizo ya kukandamiza |
0 |
Sitisha rejista ya hali (haltsum0)
Rejesta hii inatumiwa kuonyesha ikiwa microprocessor imesimamishwa au la. Kila kidogo inaonyesha hali ya kusimamishwa ya microprocessor, na wakati kuna msingi mmoja tu, ni sehemu ya chini tu ya rejista hii hutumiwa kuionyesha.
Jedwali 7-12 ufafanuzi wa rejista ya haltsum0
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:1] | Imehifadhiwa | RO | Imehifadhiwa | 0 |
0 | haltsum0 | RO | 0: Microprocessor inafanya kazi kawaida
1: Kuacha Microprocessor |
0 |
- Kando na rejista zilizotajwa hapo juu za moduli ya utatuzi, utendakazi wa utatuzi pia unahusisha baadhi ya rejista za CSR, hasa udhibiti wa utatuzi na rejista ya hali ya dcsr na kielekezi cha maelekezo ya utatuzi dpc, ambazo zimefafanuliwa kwa kina kama ifuatavyo.
- Udhibiti wa utatuzi na rejista ya hali (dcsr)
Jedwali 7-13 Ufafanuzi wa rejista ya dcsr
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:28] | xdebugver | DRO | 0000: Utatuzi wa nje hautumiki 0100: Inasaidia utatuzi wa kawaida wa nje
1111: Utatuzi wa nje unaauniwa, lakini haufikii vipimo |
0x4 |
[27:16] | Imehifadhiwa | DRO | Imehifadhiwa | 0 |
15 | mapumziko | DRW | 0: Amri ya mapumziko katika hali ya mashine hufanya kama ilivyoelezewa kwenye fursa file
1: Amri ya kuvunja katika hali ya mashine inaweza kuingia katika hali ya utatuzi |
0 |
[14:13] | Imehifadhiwa | DRO | Imehifadhiwa | 0 |
12 | kuvunjika |
DRW |
0: Amri ya mapumziko katika hali ya mtumiaji hufanya kama ilivyoelezewa kwenye fursa file
1: Amri ya mapumziko katika hali ya mtumiaji inaweza kuingiza hali ya utatuzi |
0 |
11 | hatua | DRW | 0: Vikatizo vimezimwa chini ya utatuzi wa hatua moja
1: Washa ukatizaji chini ya utatuzi wa hatua moja |
0 |
10 | Imehifadhiwa | DRO | Imehifadhiwa | 0 |
9 | wakati wa kuacha | DRW | 0: Kipima saa cha mfumo kinachoendesha katika hali ya Utatuzi
1: Kipima saa cha mfumo kitaacha katika hali ya Utatuzi |
0 |
[8:6] | sababu | DRO | Sababu za kuingiza utatuzi
001: Kuingiza utatuzi kwa njia ya amri ya mapumziko (kipaumbele 3) 010: Kuingiza utatuzi kwa njia ya moduli ya kichochezi (kipaumbele cha 4, cha juu zaidi) 011: Kuingiza utatuzi kwa njia ya ombi la kusitisha (kipaumbele 1) 100: utatuzi kwa njia ya utatuzi wa hatua moja (kipaumbele 0, cha chini kabisa) |
0 |
101: ingiza modi ya utatuzi moja kwa moja baada ya kuweka upya microprocessor (kipaumbele 2) Nyingine: Zimehifadhiwa | ||||
[5:3] | Imehifadhiwa | DRO | Imehifadhiwa | 0 |
2 | hatua | DRW | 0: Zima utatuzi wa hatua moja
1: Washa utatuzi wa hatua moja |
0 |
[1:0] | Iliyotangulia | DRW | Hali ya upendeleo 00: Hali ya mtumiaji
01: Hali ya msimamizi (haitumiki) 10: Imehifadhiwa 11: Hali ya mashine Kumbuka: Rekodi hali iliyobahatika unapoingiza modi ya utatuzi, kitatuzi kinaweza kurekebisha thamani hii ili kurekebisha hali iliyobahatika wakati wa kuondoka kwenye utatuzi. |
0 |
kielekezi cha programu ya modi ya utatuzi (DPC)
- Rejesta hii hutumiwa kuhifadhi anwani ya maagizo yanayofuata ya kutekelezwa baada ya microprocessor kuingia katika hali ya utatuzi, na thamani yake inasasishwa kwa sheria tofauti kulingana na sababu ya kuingiza utatuzi. dpc rejista imeelezewa kwa kina kama ifuatavyo.
Jedwali 7-14 ufafanuzi wa rejista ya dpc
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:0] | DPC | DRW | Anwani ya maagizo | 0 |
Sheria za kusasisha rejista zinaonyeshwa kwenye jedwali lifuatalo.
Jedwali 7-15 sheria za sasisho za dpc
Ingiza mbinu ya kurekebisha | Sheria za sasisho za dpc |
mapumziko | Anwani ya maagizo ya Mlipuko |
hatua moja | Anwani ya maagizo ya maagizo yanayofuata ya maagizo ya sasa |
trigger moduli | Haitumiki kwa muda |
kusitisha ombi | Anwani ya maagizo yanayofuata ya kutekelezwa wakati wa kuingiza Utatuzi |
Kiolesura cha Utatuzi
- Tofauti na kiwango cha JTAG kiolesura kinachofafanuliwa na RISC-V, QingKe V3 mfululizo microprocessor inachukua 1- kiolesura cha utatuzi cha utatuzi wa waya/waya 2 na kufuata itifaki ya kiolesura cha utatuzi cha WCH V1.0.
- Kiolesura cha utatuzi kinawajibika kwa mawasiliano kati ya seva pangishi ya utatuzi na sehemu ya utatuzi na inatambua utendakazi wa kusoma/kuandika wa seva pangishi ya utatuzi kwenye rejista za moduli za utatuzi.
- WCH ilibuni WCH_Link na chanzo wazi cha mfumo wake wa jozi na mpango files, ambayo inaweza kutumika kwa kurekebisha microprocessors zote za usanifu wa RISC-V.
- Rejelea Mwongozo wa Itifaki ya Utatuzi wa WCH kwa itifaki maalum za kiolesura cha utatuzi.
Orodha ya Usajili ya CSR
- Usanifu wa RISC-V unafafanua idadi ya Rejesta za Udhibiti na Hali (CSR) kwa ajili ya kudhibiti na kurekodi hali ya uendeshaji ya microprocessor.
- Baadhi ya CSR zimetambulishwa katika sehemu iliyotangulia, na sura hii itaeleza kwa kina rejista za CSR zinazotekelezwa katika vichakataji vidogo vya mfululizo wa QingKe V3.
Orodha ya Usajili ya CSR
Jedwali 8-1 Orodha ya Sajili za CSR za Microprocessor
Aina | Jina | CSR Anwani | Ufikiaji | Maelezo |
RISC-V
CSR ya kawaida |
maandamano | 0xF12 | MRO | Rejesta ya nambari ya usanifu |
mpumbavu | 0xF13 | MRO | Rejesta ya nambari za utekelezaji wa maunzi | |
hali | 0x300 | MRW | Sajili ya hali | |
misa | 0x301 | MRW | Rejesta ya seti ya maagizo ya vifaa | |
mtvec | 0x305 | MRW | Rejesta ya anwani ya msingi ya ubaguzi | |
mkwaruzo | 0x340 | MRW | Njia ya mashine stagrejista | |
MEPC | 0x341 | MRW | Rejesta ya pointer ya mpango wa ubaguzi | |
sababu | 0x342 | MRW | Rejesta ya sababu ya ubaguzi | |
mtval | 0x343 | MRW | Rejesta ya thamani ya ubaguzi | |
pmpcfg | 0x3A0+i | MRW | Rejesta ya usanidi wa PMP | |
pmpaddr | 0x3B0+i | MRW | Rejesta ya anwani ya PMP | |
chagua | 0x7A0 | MRW | Rejista ya uteuzi wa kianzisha utatuzi | |
tdata1 | 0x7A1 | MRW | Rejista ya kusuluhisha data 1 | |
tdata2 | 0x7A2 | MRW | Rejista ya kusuluhisha data 2 | |
dcsr | 0x7B0 | DRW | Udhibiti wa utatuzi na rejista za hali | |
dpc | 0x7B1 | DRW | Rejesta ya kielekezi cha programu ya modi ya utatuzi | |
scratch0 | 0x7B2 | DRW | Hali ya utatuzi stagsajili ya 0 | |
scratch1 | 0x7B3 | DRW | Hali ya utatuzi stagsajili ya 1 | |
Muuzaji amefafanua CSR |
gintenr | 0x800 | URW | kuwezesha rejista ya usumbufu wa ulimwengu |
intsyscr | 0x804 | URW | Kukatisha rejista ya udhibiti wa mfumo | |
corecfgr | 0xBC0 | MRW | Rejesta ya usanidi wa Microprocessor | |
inestcr | 0xBC1 | MRW | Kataza rejista ya udhibiti iliyoorodheshwa |
Sajili za Kawaida za CSR za RISC-V
- Rejesta ya nambari ya usanifu (marchid)
- Rejesta hii ni rejista ya kusoma pekee ili kuonyesha nambari ya sasa ya usanifu wa maunzi ya microprocessor, ambayo inaundwa hasa na msimbo wa muuzaji, msimbo wa usanifu, msimbo wa mfululizo na msimbo wa toleo. Kila mmoja wao hufafanuliwa kama ifuatavyo.
Jedwali 8-2 ufafanuzi wa rejista ya marchid
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
31 | Imehifadhiwa | MRO | Imehifadhiwa | 1 |
[30:26] | Muuzaji0 | MRO | Msimbo wa mtengenezaji 0
Imewekwa kwa herufi "W" msimbo |
0x17 |
[25:21] | Muuzaji1 | MRO | Msimbo wa mtengenezaji1
Imewekwa kwa herufi "C" msimbo |
0x03 |
[20:16] | Muuzaji2 | MRO | Msimbo wa mtengenezaji 2
Imewekwa kwa herufi "H" msimbo |
0x08 |
15 | Imehifadhiwa | MRO | Imehifadhiwa | 1 |
[14:10] | Arch | MRO | Kanuni ya usanifu | 0x16 |
Usanifu wa RISC-V umewekwa kwa msimbo wa barua "V". | ||||
[9:5] | Msururu | MRO | Msimbo wa mfululizo
Mfululizo wa QingKe V3, uliowekwa kwa nambari "3" |
0x03 |
[4:0] | Toleo | MRO | Msimbo wa toleo
Inaweza kuwa toleo la "A", "B", "C" na herufi zingine za msimbo |
x |
Nambari ya mtengenezaji na nambari ya toleo ni ya alfabeti, na nambari ya mfululizo ni nambari. Jedwali la kusimba la herufi linaonyeshwa kwenye jedwali lifuatalo.
Jedwali la 8-3 la Ramani ya Alfabeti
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 |
- Kati yao, QingKe V3A microprocessor, rejista inasoma nyuma hadi 0.
Rejesta ya nambari za utekelezaji wa maunzi (limpid)
- Rejesta hii inaundwa hasa na misimbo ya wauzaji, ambayo kila moja inafafanuliwa kama ifuatavyo.
Ufafanuzi wa rejista ya jedwali 8-4
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
31 | Imehifadhiwa | MRO | Imehifadhiwa | 1 |
[30:26] | Muuzaji0 | MRO | Msimbo wa mtengenezaji 0
Imewekwa kwa herufi "W" msimbo |
0x17 |
[25:21] | Muuzaji1 | MRO | Msimbo wa mtengenezaji1
Imewekwa kwa herufi "C" msimbo |
0x03 |
[20:16] | Muuzaji2 | MRO | Msimbo wa mtengenezaji 2
Imewekwa kwa herufi "H" msimbo |
0x08 |
15 | Imehifadhiwa | MRO | Imehifadhiwa | 1 |
[14:8] | Imehifadhiwa | MRO | Imehifadhiwa | 0 |
[7:4] | Ndogo | MRO | Nambari ya ubadilishaji | 0xX |
[3:0] | Mkuu | MR0 | Nambari kuu ya toleo | 0xX |
- Rejesta hii inaweza kusomeka katika utekelezaji wa mashine yoyote, na katika kichakataji mfululizo cha QingKe V3A, rejista hii inasomeka hadi sifuri.
Rejesta ya hali ya mashine (hali)
- Rejista hii imeelezewa kwa sehemu katika sehemu iliyopita, na watu wake wamewekwa kama ifuatavyo.
Jedwali 8-5 mstatus rejista ufafanuzi
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:13] | Imehifadhiwa | MRO | Imehifadhiwa | 0 |
[12:11] | MPP | MRW | Hali ya upendeleo kabla ya kuingia kwenye mapumziko | 0 |
[10:8] | Imehifadhiwa | MRO | Imehifadhiwa | 0 |
7 | MPIE | MRW | Kataza wezesha hali kabla ya kuingiza usumbufu | 0 |
[6:4] | Imehifadhiwa | MRO | Imehifadhiwa | 0 |
3 | MIE | MRW | Washa kipengele cha kukatiza kwa hali ya mashine | 0 |
[2:0] | Imehifadhiwa | MRO | Imehifadhiwa | 0 |
- Sehemu ya MPP inatumika kuhifadhi hali iliyobahatika kabla ya kuingiza ubaguzi au kukatiza na inatumika kurejesha hali iliyobahatika baada ya kuondoka kwa ubaguzi au kukatiza. MIE ni kipengee cha kuwezesha kukatiza kwa ulimwengu, na wakati wa kuingiza ubaguzi au kukatiza, thamani ya MPIE inasasishwa hadi thamani ya MIE, na ikumbukwe kwamba katika microprocessors za mfululizo wa QingKe V3, MIE haitasasishwa hadi 0 kabla ya kiwango cha mwisho cha ukatizaji uliowekwa ili kuhakikisha kuwa uwekaji wa kutatiza katika hali ya Mashine unaendelea kutekelezwa. Wakati ubaguzi au usumbufu umeondolewa, kichakataji kidogo hurudi kwenye modi ya Mashine iliyohifadhiwa na MPP, na MIE inarejeshwa kwa thamani ya MPIE.
- Microprocessor ya QingKe V3 inasaidia Modi ya Mashine na Hali ya Mtumiaji, ikiwa unahitaji kufanya microprocessor ifanye kazi tu katika hali ya Mashine, unaweza kuweka MPP kuwa 0x3 katika uanzishaji wa buti. file, yaani, baada ya kurudi, itabaki daima katika hali ya Mashine.
Rejesta ya seti ya maagizo ya vifaa (misa)
- Rejista hii hutumiwa kuonyesha usanifu wa microprocessor na upanuzi wa seti ya maagizo, ambayo kila moja inaelezewa kama ifuatavyo.
Jedwali 8-6 ufafanuzi wa rejista ya misa
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:30] | MXL | MRO | Urefu wa neno la mashine 1:32
2:64 3:128 |
1 |
[29:26] | Imehifadhiwa | MRO | Imehifadhiwa | 0 |
[25:0] | Viendelezi | MRO | Viendelezi vya kuweka maagizo | x |
- MXL inatumika kuashiria urefu wa neno wa kichakataji mikrosi, QingKe V3 ni vichakataji vidogo-bit 32, na kikoa kimewekwa kwa 1.
- Upanuzi hutumiwa kuonyesha kwamba microprocessor inasaidia maelezo ya kuweka maagizo yaliyopanuliwa, kila moja inaonyesha darasa la upanuzi, maelezo yake ya kina yanaonyeshwa kwenye jedwali lifuatalo.
Jedwali la 8-7 Weka Maelezo ya Ugani
Kidogo | Jina | Maelezo |
0 | A | Ugani wa atomiki |
1 | B | Kwa muda, imehifadhiwa kwa kiendelezi cha Udhibiti wa Bit |
2 | C | Kiendelezi kilichobanwa |
3 | D | Upanuzi wa sehemu ya kuelea yenye usahihi maradufu |
4 | E | RV32E msingi ISA |
5 | F | Ugani wa sehemu ya kuelea yenye usahihi mmoja |
6 | G | Viendelezi vya ziada vya kawaida vipo |
7 | H | Ugani wa Hypervisor |
8 | I | RV32I/64I/128I msingi ISA |
9 | J | Kwa muda, zimehifadhiwa kwa kiendelezi cha Lugha Zilizotafsiriwa kwa Nguvu |
10 | K | Imehifadhiwa |
11 | L | Kwa muda, imehifadhiwa kwa kiendelezi cha Pointi ya Kuelea ya Desimali |
12 | M | Nambari ya Kuzidisha/Gawa kiendelezi |
13 | N | Ukatizaji wa kiwango cha mtumiaji unatumika |
14 | O | Imehifadhiwa |
15 | P | Kwa muda, imehifadhiwa kwa kiendelezi cha Packed-SIMD |
16 | Q | Kiendelezi cha sehemu ya kuelea ya usahihi wa nne |
17 | R | Imehifadhiwa |
18 | S | Hali ya msimamizi imetekelezwa |
19 | T | Kwa muda, imehifadhiwa kwa kiendelezi cha Kumbukumbu ya Muamala |
20 | U | Hali ya mtumiaji imetekelezwa |
21 | V | Imehifadhiwa kwa muda kwa ajili ya kiendelezi cha Vekta |
22 | W | Imehifadhiwa |
23 | X | Viendelezi visivyo vya kawaida vipo |
24 | Y | Imehifadhiwa |
25 | Z | Imehifadhiwa |
- Kwa mfanoample, kwa microprocessor ya QingKe V3A, thamani ya rejista ni 0x401001105, ambayo ina maana kwamba usanifu wa seti ya maagizo inayotumika ni RV32IMAC, na ina utekelezaji wa mode ya Mtumiaji.
Rejesta ya anwani ya msingi ya ubaguzi wa hali ya mashine (mtvec)
- Rejesta hii inatumika kuhifadhi anwani ya msingi ya kidhibiti au cha kukatiza na sehemu mbili za chini hutumika kusanidi modi na mbinu ya utambuzi wa jedwali la vekta kama ilivyoelezwa katika Sehemu ya 3.2.
Njia ya mashine stagsajili ya usajili (mkwaruzo)
Jedwali 8-8 ufafanuzi wa rejista ya mscratch
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:0] | mkwaruzo | MRW | Hifadhi ya data | 0 |
Rejesta hii ni rejista ya 32-bit inayoweza kusomeka na kuandikwa katika hali ya mashine kwa hifadhi ya muda ya data. Kwa mfanoample, wakati wa kuingiza ubaguzi au kidhibiti cha kukatiza, kiashirio cha stack cha mtumiaji huhifadhiwa kwenye rejista hii na kiashirio cha rafu cha kukatiza kinatumwa kwa rejista ya SP. Baada ya kuondoka kwa ubaguzi au kukatiza, rejesha thamani ya kiashirio cha rafu ya mtumiaji kutoka mwanzo. Hiyo ni, safu ya kukatiza na safu ya watumiaji inaweza kutengwa.
Rejesta ya vielelezo vya programu isiyo ya hali ya mashine (ramani)
Jedwali 8-9 ufafanuzi wa rejista ya mepc
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:0] | mepc | MRW | Kiashiria cha utaratibu wa ubaguzi | 0 |
- Rejesta hii inatumika kuhifadhi pointer ya programu wakati wa kuingiza ubaguzi au kukatiza.
- Hutumika kuhifadhi kielekezi cha Kompyuta cha maagizo kabla ya kuweka kighairi wakati ubaguzi au usumbufu unapozalishwa, na mepc hutumika kama anwani ya kurejesha wakati ubaguzi au ukatizaji unashughulikiwa na kutumika kwa urejeshaji wa kipekee au kukatiza.
- Hata hivyo, ni muhimu kutambua hilo.
- Kighairi kinapotokea, mepc inasasishwa hadi thamani ya Kompyuta ya maagizo yanayozalisha ubaguzi kwa sasa.
- Ukatizaji unapotokea, mepc inasasishwa hadi thamani ya Kompyuta ya maagizo yanayofuata.
- Unapohitaji kurejesha hali ya kutofuata kanuni baada ya kuchakata kando, unapaswa kuzingatia kurekebisha thamani ya mepc, na maelezo zaidi yanaweza kupatikana katika Vighairi vya Sura ya 2.
Rejesta ya sababu ya ubaguzi wa hali ya mashine (sababu)
Jedwali 8-10 mcause rejista ya ufafanuzi
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
31 | Katiza | MRW | Sehemu ya viashiria vya kukatiza 0: Isipokuwa
1: Kukatizwa |
0 |
[30:0] | Msimbo wa Kighairi | MRW | Kwa misimbo ya kipekee, angalia Jedwali 2-1 kwa maelezo | 0 |
- Rejesta hii hutumiwa hasa kuhifadhi sababu ya ubaguzi au nambari ya kukatiza ya kukatiza. Sehemu yake ya juu zaidi ni sehemu ya Kukatiza, ambayo hutumiwa kuonyesha ikiwa tukio la sasa ni la kipekee au la kukatiza.
- Kidogo cha chini ni msimbo wa ubaguzi, ambao hutumiwa kuonyesha sababu maalum. Maelezo yake yanaweza kupatikana katika Sura ya 2 ya Vighairi.
Rejista ya thamani ya ubaguzi wa hali ya mashine (mtval)
Jedwali 8-11 ufafanuzi wa rejista ya mtval
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:0] | mtval | MRW | Thamani ya ubaguzi | 0 |
- Rejesta hii inatumika kushikilia thamani iliyosababisha ubaguzi wakati ubaguzi ulipotokea. Kwa maelezo kama vile thamani na muda wa hifadhi yake, tafadhali rejelea Sura ya 2 ya Vighairi.
Rejesta ya usanidi wa PMP (pmpcfg
- Rejesta hii hutumiwa hasa kusanidi kitengo cha ulinzi wa kumbukumbu halisi, na kila biti 8 za rejista hii hutumiwa kusanidi ulinzi wa eneo. Tafadhali rejelea Sura ya 4 kwa ufafanuzi wa kina.
Rejesta ya anwani ya PMP (pmpaddr
- Rejesta hii hutumiwa hasa kwa usanidi wa anwani wa kitengo cha ulinzi wa kumbukumbu halisi, ambayo husimba biti 32 za juu za anwani ya kawaida ya 34-bit. Tafadhali rejelea Sura ya 4 kwa mbinu mahususi ya usanidi.
Rejesta ya vielelezo vya programu ya hali ya utatuzi (DPC)
- Rejesta hii hutumiwa kuhifadhi anwani ya maagizo yanayofuata ya kutekelezwa baada ya microprocessor kuingia
- Hali ya utatuzi na thamani yake inasasishwa kwa sheria tofauti kulingana na sababu ya kuingiza utatuzi. Rejelea Sehemu ya 6.1 kwa maelezo ya kina.
chagua sajili ya kianzisha utatuzi (chagua)
- Inatumika tu kwa vichakataji vidogo vinavyotumia viingilio vya maunzi na kuauni sehemu za kukatika za idhaa 4 zaidi, na biti zake 2 za chini ni halali.
- Wakati wa kusanidi kila sehemu ya kukatika kwa kituo, unahitaji kuchagua chaneli inayolingana kupitia rejista hii kabla ya kusanidi.
Jedwali 8-12 chagua ufafanuzi wa rejista
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:2] | Imehifadhiwa | MRO | Imehifadhiwa | 0 |
[1:0] |
CHAGUA |
MRW |
Rejista ya uteuzi wa kituo cha kuvunja imesanidiwa, yaani, baada ya kituo sambamba kuchaguliwa, rejista za tdata1 na tdata2 zinaweza kuendeshwa ili kusanidi kituo cha kuvunja.
habari. |
X |
Tatua rejista ya data ya 1(tdata1)
Inatumika tu kwa vichakataji vidogo vinavyotumia viambajengo vya maunzi. Vichakataji vidogo vinaauni anwani ya maagizo na sehemu za kukiuka za anwani ya data, ambapo TYPE biti ya rejista ya tdata1 ni thamani isiyobadilika ya 2, na biti zingine zinapatana na ufafanuzi wa udhibiti katika kiwango cha utatuzi.
Jedwali 8-13 ufafanuzi wa rejista ya tdata1
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:28] | AINA | MRO | Ufafanuzi wa aina ya Breakpoint, aina ya udhibiti. | 0x2 |
27 |
DMODE |
MRO |
0: Rejesta husika za flip-flop zinaweza kurekebishwa katika hali ya mashine na utatuzi;
1: Hali ya utatuzi pekee ndiyo inayoweza kurekebisha rejista husika za flip-flop. |
1 |
[26:21] |
MASKMAX |
MRO |
Wakati MATCH=1, upeo wa upeo wa nguvu wa kielelezo wa kulinganisha unaruhusiwa, yaani, upeo unaoruhusiwa wa kulinganisha ni baiti 231. |
0x1F |
[20:13] | Imehifadhiwa | MRO | Imehifadhiwa | 0 |
12 |
ACTION |
MRW |
Weka hali ya uchakataji wakati wa kuanzisha sehemu ya kuvunja:
0: Wakati wa kuchochea, ingiza sehemu ya kuvunja na urudishe usumbufu; 1: Ingiza hali ya utatuzi inapoanzishwa. |
0 |
[11:8] | Imehifadhiwa | MRO | Imehifadhiwa | 0 |
7 |
MECHI |
MRW |
Usanidi wa sera inayolingana:
0: Linganisha wakati thamani ya kichochezi ni sawa na TDATA2; 1: Thamani ya kichochezi inalingana na biti ya juu ya m ya TDATA2, ambapo m = 31–n, na n ni nukuu 0 ya kwanza ya TDATA2 (kuanzia biti ya chini). |
0 |
6 |
M |
MRW |
Washa flip-flop katika hali ya M:
0: Zima kichochezi katika hali ya M; 1: Washa kichochezi katika hali ya M. |
0 |
[5:4] | Imehifadhiwa | MRO | Imehifadhiwa | 0 |
3 |
U |
MRW |
Washa kichochezi katika hali ya U:
0: Lemaza kichochezi katika hali ya U; 1: Washa kichochezi katika hali ya U. |
0 |
2 |
TEKELEZA |
MRW |
Kichochezi cha anwani ya kusoma maagizo kimewashwa: 0: Zima;
1: Wezesha. |
0 |
1 |
DUKA |
MRW |
Kichochezi cha anwani ya kuandika data kimewashwa: 0: Zima;
1: Wezesha. |
0 |
0 |
MZIGO |
MRW |
Kichochezi cha anwani ya kusoma data kimewashwa: 0: Zima;
1: Wezesha. |
0 |
Tatua rejista ya data ya 2(tdata2)
Inatumika tu kwa vichakataji vidogo vinavyotumia viingilio vya maunzi na hutumika kuhifadhi thamani inayolingana ya kichochezi.
Jedwali 8-14 ufafanuzi wa rejista ya tdata2
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:0] | TDATA2 | MRW | Inatumika kuhifadhi thamani zinazolingana. | X |
Udhibiti wa utatuzi na rejista ya hali (dcsr)
Rejista hii inatumika kudhibiti na kurekodi hali ya uendeshaji ya modi ya utatuzi. Rejelea Sehemu ya 7.1 kwa maelezo zaidi.
kielekezi cha programu ya modi ya utatuzi (DPC)
Rejista hii hutumiwa kuhifadhi anwani ya maagizo yanayofuata ya kutekelezwa baada ya microprocessor kuingia kwenye hali ya kurekebisha, thamani yake ni tofauti kulingana na sababu za kuingia kwenye hali ya kurekebisha, na sheria za uppdatering pia ni tofauti. Rejelea Sehemu ya 7.1 kwa maelezo ya kina.
Hali ya utatuzi stagdaftari la usajili (dscratch0-1)
Kundi hili la rejista hutumika kwa hifadhi ya muda ya data katika hali ya Utatuzi.
Jedwali 8-15 Ufafanuzi wa rejista ya dscratch0-1
Kidogo | Jina | Ufikiaji | Maelezo | Weka upya Thamani |
[31:0] | mkwaruzo | DRW | Data ya hali ya utatuzi stagthamani ya | 0 |
Sajili ya CSR iliyofafanuliwa na mtumiaji
Kukatiza kwa rejista ya kimataifa kwa hali ya mtumiaji (gintenr)
- Rejesta hii inatumika kudhibiti kuwezesha na barakoa ya usumbufu wa kimataifa. Uwezeshaji na barakoa ya usumbufu wa kimataifa katika modi ya mashine inaweza kudhibitiwa na biti za MIE na MPIE katika hali, lakini rejista hii haiwezi kuendeshwa katika hali ya mtumiaji.
- Wakati usumbufu wa kimataifa unawezesha gintenr ya rejista ni uchoraji wa ramani wa MIE na MPIE katika hali.
- Katika hali ya mtumiaji, nia inaweza kutumika kuweka na kufuta MIE na MPIE, kama ilivyoelezwa katika Sehemu ya 3.2 kwa maelezo.
Kumbuka
- Ukatizaji wa kimataifa haujumuishi ukatizaji ambao haujafichuliwa kwenye NMI na vighairi.
Kataza rejista ya udhibiti wa mfumo (intsyscr)
Rejesta hii hutumiwa hasa kusanidi kina cha kukatiza kwa kiota, ubonyezo wa rafu ya maunzi, na vipengele vingine vinavyohusiana, kama ilivyofafanuliwa katika Sehemu ya 3.2 kwa maelezo.
Rejesta ya usanidi wa Microprocessor (corecfgr)
Rejesta hii inatumika kudhibiti ikiwa ukatizaji wa NMI unaruhusiwa baada ya kukatiza kufurika na ikiwa ombi la kukatiza litafutwa wakati maagizo ya uzio yanatekelezwa. Tafadhali rejelea Sehemu ya 3.2 kwa ufafanuzi mahususi.
Katisha rejista ya udhibiti iliyoorodheshwa (inestcr)
Rejesta hii inatumika kuashiria hali ya kukatiza kwa viota na kama inafurika au la, na kudhibiti kiwango cha juu zaidi cha kutaga. Tafadhali rejelea Sehemu ya 3.2 kwa ufafanuzi mahususi.
Nyaraka / Rasilimali
![]() |
Microprocessor ya WH V3 [pdf] Mwongozo wa Mtumiaji V3 Microprocessor, V3, Microprocessor |