WH V3 микропроцессору

Техникалык шарттар
- Микропроцессордун модели: QingKeV3
- Версия: V1.2
- ISA өзгөчөлүктөрү:
- Түтүк FPU
- Филиалды болжолдоо
- Колдоо үзгүлтүккө учуратуу
- HPE физикалык эс тутумун коргоо (PMP)
- Төмөн энергия керектөө режими
- Кеңейтилген нускамаларды оңдоо
Продукт колдонуу нускамалары
Бүттүview QingKe V3 микропроцессорунун
QingKe V3 сериясындагы микропроцессорлор V3A, V3B жана V3C моделдерин камтыйт. Ар бир моделдин колдонууга негизделген өзгөчө өзгөчөлүктөрү жана айырмачылыктары бар.
Instruction Set
RV32I инструкциялар топтому x32дөн x0ге чейинки 31 регистр топтомун камтыйт. V3 сериясы калкыма чекит узартууну колдобойт (F). Ар бир регистр 32 бит өлчөмүндө.
Каттоо топтому
RV32I регистр топтому төмөнкү регистрлерден турат.
- x0: Катуу коддолгон 0
- x1: Кайтаруу дареги
- x2: Стек көрсөткүчү
- x3: Глобалдык көрсөткүч
- x4: Жип көрсөткүчү
- x5-x7: Убактылуу реестрлер
- x8: Регистрди/кадр көрсөткүчүн сактоо
- x9: Реестрди/функциянын параметрлерин/кайтаруу маанилерин сактоо
- x10-x11: Функциянын параметрлери
- x12-x17: Регистрлерди сактоо
- x18-x27: Убактылуу реестрлер
- x28-x31: Чалуу/Чалуучу регистрлери
Privilege Mode
Стандарттык RISC-V архитектурасы үч артыкчылыктуу режимди камтыйт: Машина режими, Супервайзер режими жана Колдонуучу режими. QingKe V3 сериясындагы микропроцессорлор Machine режимин жана Supervisor режимин колдойт.
Көп берилүүчү суроолор
С: QingKe V3 сериясындагы микропроцессорлордо кандай моделдер бар?
A: QingKe V3 сериясы V3A, V3B жана V3C моделдерин камтыйт, алардын ар бири колдонуучу нускамасында деталдуу өзгөчөлүктөргө жана айырмачылыктарга ээ.
С: RV32I нускама топтомунда канча регистр топтому бар?
A: RV32I нускама топтому x32дөн x0ге чейин 31 регистр топтомун камсыз кылат.
С: QingKe V3 микропроцессору кайсы артыкчылыктуу режимдерди колдойт?
A: QingKe V3 сериясындагы микропроцессорлор RISC-V архитектурасынын бир бөлүгү катары Машина режимин жана Супервайзер режимин колдойт.
Бүттүview
QingKe V3 сериясындагы микропроцессорлор стандарттуу RISC-V инструкциялар комплексинин архитектурасына негизделген өз алдынча иштелип чыккан 32 биттик жалпы багыттагы MCU микропроцессорлору. Бул серияга V3A, V3B жана V3C кирет, алардын ичинен V3A RV32IMAC стандарттуу нускамалар топтомун кеңейтүүнү жана V3B/C RV32IMCB стандарттык нускамалар топтомун кеңейтүүнү жана XW ылайыкташтырылган нускамалар топтомун кеңейтүүнү колдойт. Экөө тең аппараттык басым стектеринен (HPE), үстөлсүз үзгүлтүккө (VTF), жөнөкөйлөштүрүлгөн 1 жана 2 сымдуу мүчүлүштүктөрдү оңдоо интерфейстерине, "WFE" нускамаларына жана башка өзгөчөлүктөргө кошумча бир циклдуу көбөйтүүнү жана аппараттык бөлүүнү колдойт. Мындан тышкары, ал ошондой эле Hardware Prologue/Epilogue (HPE), Vector Table Free (VTF), жөнөкөйлөштүрүлгөн 1-/2-зымдуу мүчүлүштүктөрдү оңдоо интерфейсин жана "WFE" нускамасын колдойт.
Өзгөчөлүктөрү
| Өзгөчөлүктөрү | Description |
| ISA | RV32IM[A]C[B] |
| куур | 3 |
| FPU | Колдоого алынбайт |
| Филиалды болжолдоо | Статикалык бутагын болжолдоо |
| Үзүлүү | Жалпысынан 256 үзгүлтүккө учуроолорду, анын ичинде өзгөчө учурларды колдойт жана VTF колдойт |
| HPE | HPE 2 деңгээлин колдойт |
| Физикалык эстутумду коргоо (PMP) | Колдоого алынган |
| Төмөн энергия керектөө режими | Уйку жана Терең уйку режимдерин колдоо жана WFI жана WFE уйку ыкмаларын колдоо |
| Кеңейтилген нускамалар топтому | Колдоого алынган |
| Мүчүлүштүктөрдү оңдоо | 1/2-зым SDI, стандарттык RISC-V мүчүлүштүктөрдү оңдоо |
Бүттүview
QingKe V3 сериясындагы микропроцессорлорго V3A, V3B жана V3C кирет, тиркемеге ылайык сериялардын ортосунда айрым айырмачылыктар бар, өзгөчө айырмачылыктар 1-1-таблицада кеңири берилген.
Таблица 1-1 Үстүндөview QingKe V3 микропроцессорунун
| Өзгөчөлүк Модел | ISA | HPE деңгээлдердин саны | Үзгүлтүктөр уя салуу саны деңгээл | VTF каналдардын саны | куур | Вектор стол режими | Кеңейтилген нускама (XW) | Эстутумду коргоо аймактарынын саны |
| V3A | RV32IMAC | 2 | 2 | 4 | 3 | Instruction | × | × |
| V3B | RV32IMCB | 2 | 2 | 4 | 3 | Дарек/Инструкция | √ | × |
| V3C | RV32IMCB | 2 | 2 | 4 | 3 | Дарек/Инструкция | √ | 4 |
Эскертүү: OS тапшырмасын которуу көбүнчө деңгээлдердин саны менен чектелбеген стекти түртүүнү колдонот
Instruction Set
- QingKe V3 сериясындагы микропроцессорлор стандарттуу RISC-V Instruction Set Architecture (ISA) боюнча иштейт. Стандарттын деталдуу документтерин RISC-V эл аралык "RISC-V Instruction Set Manual, Volume I: User-Level ISA, Document Version 2.2" дегенден тапса болот. webсайт. RISC-V инструкциялар топтому жөнөкөй архитектурага ээ жана ар кандай муктаждыктарга негизделген ийкемдүү айкалыштарга мүмкүндүк берүүчү модулдук дизайнды колдойт, ал эми V3 сериясы төмөнкү нускамалар топтомунун кеңейтүүлөрүн колдойт.
- RV32: 32 бит архитектурасы, жалпы максаттагы регистр битинин туурасы 32 бит
- I: 32 калыптандыруу регистрлери менен калыптандыруу операциясын колдоо
- M: Көбөйтүү жана бөлүү көрсөтмөлөрүн калыптандырууну колдоо
- A: Атомдук буйруктарды колдоо
- C: 16 биттик кысуу нускамасын колдоо
- B: Биттик манипуляциялык көрсөтмөлөрдү колдоо
- XW: 16 биттик кысуу инструкциясы өзүн-өзү кеңейтүүчү байт жана жарым сөз операциялары үчүн
Эскертүү:
- Ар кандай моделдер колдогон нускамалардын топтому ар кандай болушу мүмкүн, чоо-жайын билүү үчүн 1-1-таблицадан караңыз;
- Коддун тыгыздыгын мындан ары жакшыртуу үчүн, XW чакан топтомун кеңейтүү үчүн, төмөнкү кысуу көрсөтмөлөрүн кошуңуз c.lbu/c.lhu/c.sb/c.sh/c.lbusp/c.lhusp/c.sbsp/c.shop , аны колдонуу MRS компиляторуна же ал камсыз кылган инструменттердин тизмегине негизделиши керек;
- V3B кош сөздөн (32бит) сөздүк (64бит) нускаманы чыгарууну жана көбөйтүүнүн натыйжасынан (32бит) сөздүк (64бит) нускаманы чыгарууну колдойт. Колдонуунун конкреттүү ыкмасы китепкана функциясына кайрылып, MRS компилятору же ал тарабынан берилген инструменттер тизмеги менен кызматташа алат;
- V3B/C эстутумду көчүрүү нускамасын колдойт. Атайын колдонуу үчүн китепкананын функциясына кайрылыңыз жана MRS компилятору же анын инструменттеринин тизмеги менен кызматтаңыз.
Каттоо топтому
RV32Iде x32-x0ден 31 реестр топтому бар. V3 сериясы "F" кеңейтүүсүн колдобойт, башкача айтканда, калкыма чекит регистринин топтому жок. RV32де ар бир регистр 32 биттен турат. Төмөндөгү 1-2-таблицада RV32I регистрлери жана алардын сыпаттамалары келтирилген.
Таблица 1-2 RISC-V регистрлери
| Каттоо | ABI аты | Description | Storeer |
| x0 | нөл | Катуу коддолгон 0 | – |
| x1 | ra | Кайтаруу дареги | Чалуу |
| x2 | sp | Стек көрсөткүчү | Callee |
| x3 | GP | Глобалдык көрсөткүч | – |
| x4 | tp | Жип көрсөткүчү | – |
| x5-7 | t0-2 | Убактылуу каттоо | Чалуу |
| x8 | s0/fp | Регистрди/кадр көрсөткүчүн сактоо | Callee |
| x9 | s1 | Реестрди сактоо | Callee |
| x10-11 | a0-1 | Функциянын параметрлери/кайтаруучу маанилери | Чалуу |
| x12-17 | a2-7 | Функциянын параметрлери | Чалуу |
| x18-27 | a2-11 | Реестрди сактоо | Callee |
| X28-31 | t3-6 | Убактылуу каттоо | Чалуу |
Жогорудагы таблицадагы Caller атрибуту чакырылган процедура регистрдин маанисин сактабай турганын, ал эми Callee атрибуту чакырылган процедура регистрди сактайт дегенди билдирет.
Privilege Mode
- Стандарттык RISC-V архитектурасы үч артыкчылыктуу режимди камтыйт: Машина режими, Супервайзер режими жана Колдонуучу режими, төмөндөгү 1-3-таблицада көрсөтүлгөндөй.
- Машина режими милдеттүү, ал эми башка режимдер милдеттүү эмес. Чоо-жайын билүү үчүн сиз RISC-V Instruction Set Manual II томуна кайрыла аласыз: артыкчылыктуу архитектура, аны RISC-V Internationalдан бекер көчүрүп алса болот. webсайт.
Таблица 1-3 RISC-V архитектуралык артыкчылык режими
| Code | аты | Аббревиатуралар |
| 0b00 | Колдонуучу режими | U |
| 0b01 | Супервайзер модели | S |
| 0b10 | Резервге коюлган | Резервге коюлган |
| 0b11 | Машина режими | M |
- QingKe V3 сериясындагы микропроцессорлор бул артыкчылык режимдердин экөөсүн колдойт.
Машина режими
- Машина режими эң жогорку ыйгарым укуктарга ээ, бул режимдеги программа бардык Control and Status Register (CSR) кире алат, бирок ошондой эле бардык физикалык дарек аймактарына кире алат.
- Демейки күйгүзүү машина режиминде, mretтин аткарылышы (Машина режимин кайтаруу инструкциясы) кайтып келгенде, MPP битиндеги CSR регистринин статусуна (Машина режиминин статусунун регистрине) ылайык, эгерде MPP = 0b00 болсо, анда Машина режиминен чыкыңыз. Колдонуучу режимине, MPP = 0b11, андан кийин Машина режимин сактап кала бериңиз.
Колдонуучу режими
- Колдонуучу режими эң төмөнкү артыкчылыкка ээ жана бул режимде чектелген CSR регистрлерине гана кирүүгө болот. Өзгөчө кырдаал же үзгүлтүккө учураганда, микропроцессор өзгөчө учурларды жана үзгүлтүктөрдү иштетүү үчүн Колдонуучу режиминен Машина режимине өтөт.
CSR реестри
Микропроцессордун иштөө абалын көзөмөлдөө жана жазуу үчүн RISC-V архитектурасында CSR регистрлеринин сериясы аныкталган. Бул КСРлерди 4096 регистрлер менен кеңейтүүгө болот, ал 12 биттик даректи коддоочу мейкиндикти колдонуу менен. Жана бул реестрдин окуу/жазуу уруксатын аныктоо үчүн жогорку эки CSR[11:10] колдонуңуз, 0b00, 0b01, 0b10 окуу/жазуу үчүн жана 0b11 окуу үчүн гана. Бул реестрге кире ала турган эң төмөнкү артыкчылык деңгээлин аныктоо үчүн эки бит CSR[9:8] колдонуңуз жана маани 1-3-таблицада аныкталган артыкчылык режимине туура келет. QingKe V3 микропроцессорунда ишке ашырылган CSR регистрлери 8-бөлүмдө кеңири берилген.
Exception
Өзгөчө механизм, бул "өзгөчө операциялык окуяларды" кармап туруу жана башкаруу механизми. QingKe V3 сериясындагы микропроцессорлор 256га чейин өзгөчө кырдаалдарды, анын ичинде үзгүлтүктөрдү чече ала турган өзгөчө жооп берүү системасы менен жабдылган. Өзгөчө кырдаал же үзгүлтүккө учураганда, микропроцессор өзгөчө жана үзгүлтүккө учураган окуяларга тез жооп берип, башкара алат.
Өзгөчө түрлөрү
Микропроцессордун аппараттык жүрүм-туруму өзгөчөлүк же үзгүлтүккө карабастан бирдей. Микропроцессор учурдагы программаны убактылуу токтотуп, өзгөчө же үзгүлтүккө учураткычка өтөт жана кайра иштетүү аяктагандан кийин мурда токтотулган программага кайтып келет. Кеңири сөз менен айтканда, үзгүлтүктөр да өзгөчө учурлардын бир бөлүгү болуп саналат. Учурдагы көрүнүш үзгүлтүк болобу же өзгөчө болобу viewМашина режиминин өзгөчөлүгү себеп регистринин себеби аркылуу. mcause[31] үзгүлтүккө учуроо талаасы болуп саналат, ал өзгөчө кырдаалдын себеби үзгүлтүк же өзгөчө жагдай экенин көрсөтүү үчүн колдонулат. mcause[31]=1 үзүлүүнү билдирет, mcause[31]=0 өзгөчө кырдаалды билдирет. mcause[30:0] - бул өзгөчөлүктүн өзгөчө себебин же төмөнкү таблицада көрсөтүлгөндөй үзгүлтүктүн санын көрсөтүү үчүн колдонулган өзгөчө коду.
Таблица 2-1 V3 микропроцессордук өзгөчөлүк коддору
| Үзүлүү | Exception коддору | Синхрондуу / Асинхрондуу | Четтетүүнүн себеби |
| 1 | 0-1 | – | Резервге коюлган |
| 1 | 2 | Так асинхрондуу | NMI үзгүлтүккө учурайт |
| 1 | 3-11 | – | Резервге коюлган |
| 1 | 12 | Так асинхрондуу | SysTick үзгүлтүккө учурайт |
| 1 | 13 | – | Резервге коюлган |
| 1 | 14 | Синхрондуу | Программалык камсыздоо үзгүлтүккө учурайт |
| 1 | 15 | – | Резервге коюлган |
| 1 | 16-255 | Так асинхрондуу | Тышкы үзгүлтүк 16-255 |
| 0 | 0 | Синхрондуу | Көрсөтмө дареги туура эмес |
| 0 | 1 | Синхрондуу | Буйруктарды алуу катасы |
| 0 | 2 | Синхрондуу | Мыйзамсыз көрсөтмөлөр |
| 0 | 3 | Синхрондуу | Чекит чекиттери |
| 0 | 4 | Синхрондуу | Жүктөө инструкциясына кирүү дареги туура эмес |
| 0 | 5 | Так эмес асинхрондуу | Жүктөө буйругуна кирүү катасы |
| 0 | 6 | Синхрондуу | Дүкөн/AMO нускамасына кирүү дареги туура эмес |
| 0 | 7 | Так эмес асинхрондуу | Дүкөн/AMO буйругуна кирүү катасы |
| 0 | 8 | Синхрондуу | Колдонуучу режиминде айлана-чөйрөгө чалуу |
| 0 | 11 | Синхрондуу | Машина режиминде айлана-чөйрөнү чалуу |
- Таблицадагы «Синхрондуу» дегени көрсөтмөнү тыныгуу же чакыруу инструкциясы сыяктуу ал аткарылып жаткан жерде так жайгаштырууга болорун билдирет жана ал буйруктун ар бир аткарылышы өзгөчө учурду жаратат. "Асинхрондук" бул нускаманы так аныктоо мүмкүн эмес экенин билдирет жана нускама PC мааниси өзгөчө кырдаал болгон сайын ар кандай болушу мүмкүн. “Так асинхрондуу” өзгөчөлүк так көрсөтмөнүн чегинде, б.а., тышкы үзгүлтүк сыяктуу көрсөтмө аткарылгандан кийинки абалда болушу мүмкүн экенин билдирет. "Так эмес асинхрондук" нускаманын чектерин так аныктоо мүмкүн эместигин билдирет, жана балким, эстутумга кирүү катасы сыяктуу нускама аткаруунун жарымында үзгүлтүккө учурагандан кийинки абал.
- Эстутумга кирүү убакытты талап кылат жана микропроцессор эстутумга кирүү учурунда, адатта, кирүүнүн бүтүшүн күтпөйт, бирок инструкцияны аткарууну улантат, кирүү катасы кайталанса, микропроцессор кийинки инструкцияларды мурунтан эле аткарып койгон жана так аткара албайт. жайгашкан.
Exception киргизүү
Кандайдыр бир себептерден улам программа нормалдуу иштөө процессинде болгондо, өзгөчө кырдаалды же үзгүлтүккө учуратса. Бул учурда микропроцессордун аппараттык жүрүм-турумун төмөнкүчө чагылдырууга болот.
- Учурдагы программа агымын токтотуп, өзгөчө же үзгүлтүккө учуратуу функцияларын аткарууга өтүңүз. Киргизүүчү базанын дареги жана өзгөчө же үзгүлтүккө учуратуу функциясынын даректөө режими mtvec өзгөчө киргизүүнүн базалык дарек регистринде аныкталат. mtvec[31:2] өзгөчө же үзгүлтүккө учуратуу функциясынын негизги дарегин аныктайт. mtvec[1:0] иштетүүчү функциянын даректөө режимин аныктайт. mtvec[1:0]=0 болгондо, бардык өзгөчөлүктөр жана үзгүлтүктөр бирдиктүү жазууну колдонушат, башкача айтканда, өзгөчө учур же үзгүлтүк пайда болгондо, mtvec [31:2] аткарыла турган негизги даректи аныктайт. mtvec[1:0]=1 болгондо, өзгөчө жагдайлар жана үзгүлтүктөр вектордук таблица режимин колдонушат, башкача айтканда, ар бир өзгөчөлүк жана үзгүлтүккө номер коюлат, ал эми дарек үзгүлтүккө учураган номерге*4 ылайык алмаштырылат, ал эми өзгөчө жагдай же үзгүлтүк пайда болгондо, ал жылдырылат. mtvec[31:2] менен аныкталган базалык дарекке + үзгүлтүккө учуратуу саны*4 Аткаруу. Үзгүлтүктүн вектордук таблицасында үзгүлтүктөрдү иштетүүчү функцияга өтүү үчүн инструкция бар же башка инструкциялар болушу мүмкүн.
- CSR реестрин жаңыртуу
- Өзгөчө кырдаал же үзгүлтүк киргизилгенде, микропроцессор тийиштүү CSR регистрлерин автоматтык түрдө жаңылайт, анын ичинде Машина режиминин өзгөчөлүгү себеп регистринин mcause, Машина режиминин өзгөчөлүгүнүн көрсөткүчү регистринин mepc, Машина режиминин өзгөчө мааниси регистринин металлы жана Машина режиминин статусунун регистринин статусу.
Жаңыртыңыз
Мурда айтылгандай, өзгөчө учурду же үзгүлтүктү киргизгенден кийин, анын мааниси учурдагы өзгөчөлүктүн түрүн же үзгүлтүктүн санын чагылдырат жана программалык камсыздоо бул регистрдик маанини окуй алат, бул өзгөчөлүктүн себебин текшерүү же үзгүлтүктүн булагын аныктоо үчүн, 2-таблицада деталдаштырылган. -1.
mepc жаңыртуу
- Өзгөчө кырдаалдан же үзгүлтүктөн чыккандан кийин микропроцессордун кайтаруу дарегинин стандарттык аныктамасы mepcде сакталат.
- Ошентип, өзгөчө учур же үзгүлтүккө учураганда, аппараттык камсыздоо автоматтык түрдө mepc маанисин өзгөчө учурга туш болгондо учурдагы нускама ПКнын маанисине же үзгүлтүккө чейин кийинки алдын ала аткарылган PC маанисине жаңылайт.
- Өзгөчөлүк же үзгүлтүк иштетилгенден кийин микропроцессор анын сакталган маанисин аткарууну улантуу үчүн үзгүлтүктүн жайгашкан жерине кайтуу үчүн кайтаруу дареги катары колдонот.
- Бирок, муну белгилей кетүү керек.
- MEPC окула турган жана жазыла турган реестр жана программалык камсыздоо кайра келгенден кийин иштеген PC көрсөткүчүнүн ордун өзгөртүү үчүн маанини да өзгөртө алат.
- Үзгүлтүк пайда болгондо, башкача айтканда, өзгөчө себеп регистрлер mcause[31]=1 болгондо, карталардын мааниси үзгүлтүккө учураган учурда кийинки аткарылбаган нускаманын PC маанисине жаңыртылат.
- Өзгөчө кырдаал болгондо, карталардын мааниси учурдагы өзгөчөлүктүн инструкция PC маанисине жаңыртылат, эгерде өзгөчөлүк mcause[31]=0 регистрине себеп болот. Ошентип, ушул учурда өзгөчө кырдаал кайтып келгенде, эгер биз mepc маанисин колдонуп түз кайтарсак, биз мурда өзгөчөлүктү жараткан нускаманы аткарууну улантабыз жана ушул убакта биз өзгөчөлүктү киргизүүнү улантабыз. Адатта, биз өзгөчө жагдайды чечкенден кийин, биз mepc маанисин кийинки аткарылбаган нускаманын маанисине өзгөртүп, андан кийин кайтара алабыз. Мисалы үчүнample, эгерде биз чалуу/тыныгуу үчүн өзгөчө кырдаалды жаратсак, өзгөчө кырдаалды иштеткенден кийин, кайра чакыруу/тыныгуу (c.ebreak 2 байт) 4 байттык нускама болгондуктан, бизге mepcтин маанисин mepcге өзгөртүү үчүн гана программа керек. +4 (c.ebreak бул mepc+2) анан кайт.
mtval жаңыртуу
Өзгөчө жагдайлар жана үзгүлтүктөр киргизилгенде, аппараттык камсыздоо mtval маанисин автоматтык түрдө жаңыртат, бул өзгөчөлүккө себеп болгон маани. Маани, адатта, болуп саналат.
- Эгерде өзгөчөлүк эстутумга кирүү менен шартталган болсо, аппараттык камсыздоо өзгөчө учурга карата эстутумга кирүү дарегин mtval ичинде сактайт.
- Эгерде өзгөчөлүк мыйзамсыз инструкциядан келип чыкса, аппараттык камсыздоо инструкциянын нускама кодун mtval ичинде сактайт.
- Эгерде өзгөчөлүк жабдыктын үзгүлтүккө учурашынан улам келип чыкса, аппараттык камсыздоо PC маанисин үзүлүү чекитинде mtval ичинде сактайт.
- Башка өзгөчөлүктөр үчүн, аппараттык камсыздоо mtval маанисин 0гө орнотот, мисалы, чалуу инструкциясы менен шартталган бузуу.
- Үзгүлтүккө киргенде аппараттык камсыздоо mtvalдын маанисин 0ге коет.
Жаңыртуу mstatus
Өзгөчө учурларды жана үзгүлтүктөрдү киргизгенден кийин, аппараттык камсыздоо mstatusдагы белгилүү биттерди жаңылайт.
- MPIE өзгөчөлүк же үзгүлтүккө кирүүдөн мурун MIE маанисине жаңыртылып, ал эми MPIE өзгөчөлүк жана үзгүлтүк аяктагандан кийин MIEди калыбына келтирүү үчүн колдонулат.
- MPP өзгөчөлүктөргө жана үзгүлтүккө кирүүдөн мурун артыкчылыктуу режимге жаңыртылып, өзгөчө кырдаалдар жана үзгүлтүктөр аяктагандан кийин, MPP мурунку артыкчылыктуу режимди калыбына келтирүү үчүн колдонулат.
- QingKe V3 микропроцессору Машина режиминде үзгүлтүктөр уясын колдойт жана MIE өзгөчө учурларды жана үзгүлтүктөрдү киргизгенден кийин тазаланбайт.
Микропроцессордун артыкчылык режимин жаңыртыңыз
- Өзгөчө кырдаалдар жана үзгүлтүктөр пайда болгондо, микропроцессордун артыкчылыктуу режими Машина режимине жаңыртылат.
Өзгөчө кырдаалдарды иштетүү функциялары
- Өзгөчө кырдаалды же үзгүлтүктү киргизгенден кийин, микропроцессор программаны mtvec регистринде аныкталган даректен жана режиминен аткарат. Бирдиктүү жазууну колдонууда микропроцессор mtvec[31] маанисине негизделген mtvec[2:1] тарабынан аныкталган базалык даректен секирүү инструкциясын алат же өзгөчө жана үзгүлтүккө учуратуу функциясынын кириш дарегин алат жана анын ордуна аны аткарууга барат. . Бул учурда, өзгөчө учур жана үзгүлтүктөрдү иштетүү функциясы mcause[31] маанисине негизделген себеп өзгөчөлүк же үзгүлтүк экендигин аныктай алат жана өзгөчө кырдаалдын түрү жана себеби же тиешелүү үзгүлтүккө өзгөчө кырдаал коду менен баа берилиши мүмкүн. жана ошого жараша каралат.
- Негизги даректи + үзгүлтүккө учуратуу номерин *4 офсет үчүн колдонууда аппараттык камсыздоо үзгүлтүккө учураган номерге негизделген өзгөчөлүктүн же үзгүлтүктүн кирүү дарегин алуу үчүн вектордук таблицага автоматтык түрдө секирип өтөт жана аны аткаруу үчүн секирет.
Exit Exit
- Өзгөчө же үзгүлтүккө учураткыч аяктагандан кийин, кызмат көрсөтүү программасынан чыгуу керек. Өзгөчө учурларды жана үзгүлтүктөрдү киргизгенден кийин, микропроцессор Колдонуучу режиминен Машина режимине өтөт, ал эми өзгөчө учурларды жана үзгүлтүктөрдү иштетүү Машина режиминде да аяктайт. Өзгөчө кырдаалдардан жана үзгүлтүктөрдөн чыгуу зарыл болгондо, кайра кайтаруу үчүн mret инструкциясын колдонуу керек. Бул учурда микропроцессордук аппаратура төмөнкү операцияларды автоматтык түрдө аткарат.
- ЖК көрсөткүчү CSR регистринин mepc маанисине калыбына келтирилет, башкача айтканда, аткаруу mepc сактаган нускама дарегинен башталат. Өзгөчө иштетүү аяктагандан кийин mepcтин офсеттик иштешине көңүл буруу керек.
- CSR реестринин статусун жаңыртыңыз, MIE MPIEге калыбына келтирилет, ал эми MPP мурунку микропроцессордун артыкчылыктуу режимин калыбына келтирүү үчүн колдонулат.
- Бардык өзгөчө жооп процессин төмөнкү 2-1-сүрөт менен сүрөттөсө болот.

PFIC жана үзгүлтүктөрдү көзөмөлдөө
- QingKe V3 микропроцессору программалануучу тез үзгүлтүккө учураган контроллер (PFIC) менен иштелип чыккан, ал 256га чейин үзгүлтүктөрдү, анын ичинде өзгөчө учурларды башкара алат.
- Алардын алгачкы 16сы микропроцессордун ички үзгүлтүктөрү катары фиксацияланган, ал эми калгандары тышкы үзгүлтүктөр, башкача айтканда тышкы үзгүлтүктөрдүн максималдуу санын 240ка чейин узартууга болот. Анын негизги өзгөчөлүктөрү төмөндөгүдөй.
- 240 тышкы үзгүлтүккө учуратуу, ар бир үзгүлтүккө суроо-талапта атайын статус биттери менен көз карандысыз триггер жана маска башкаруу биттери бар
- Программалануучу үзгүлтүккө басымдуулук 2 денгээлин уялаштырууну колдойт
- Механизмге атайын тез үзгүлтүккө учуратуу, жабдыктарды автоматтык стоктоо жана калыбына келтирүү, максималдуу HPE тереңдиги 2 деңгээл
- Vector Table Free (VTF) үзгүлтүккө жооп берүү механизми, үзгүлтүккө учураган вектордук даректерге 2 каналдуу программалануучу түз жетүү
- Эскертүү: Үзгүлтүк контроллерлору тарабынан колдоого алынган максималдуу уя тереңдиги жана HPE тереңдиги ар кандай микропроцессордук моделдер үчүн ар кандай болот, аларды 1-1-таблицадан тапса болот.
- Үзгүлтүктөрдүн жана өзгөчөлүктөрдүн вектордук таблицасы төмөндөгү 3-1-таблицада көрсөтүлгөн.
Таблица 3-1 Өзгөчө жана үзгүлтүккө учураган вектордук таблица
| Сан | Приоритет | Type | аты | Description |
| 0 | – | – | – | – |
| 1 | – | – | – | – |
| 2 | -5 | Оңдолду | NMI | Маскаланбаган үзгүлтүк |
| 3 | -4 | Оңдолду | EXC | Өзгөчө үзгүлтүккө учуратуу |
| 4 | – | – | – | – |
| 5 | -3 | Оңдолду | ECALL-M | Машина режиминин кайра чалуу үзгүлтүккө учурашы |
| 6-7 | – | – | – | – |
| 8 | -2 | Оңдолду | ECALL-U | Колдонуучу режиминин кайра чалуу үзгүлтүккө учурашы |
| 9 | -1 | Оңдолду | BREAK POINT | Үзүлүү чекитинин кайра чалуу үзгүлтүккө учурашы |
| 10-11 | – | – | – | – |
| 12 | 0 | Программалануучу | SysTick | Системанын таймеринин үзгүлтүккө учурашы |
| 13 | – | – | – | – |
| 14 | 1 | Программалануучу | SWI | Программанын үзгүлтүккө учурашы |
| 15 | – | – | – | – |
| 16-255 | 2-241 | Программалануучу | Тышкы үзгүлтүккө учуратуу | Тышкы үзгүлтүк 16-255 |
Эскертүү: ECALL-M, ECALL-U жана BREAKPOINT – бул EXC өзгөчөлүктөрүнүн ар кандай түрлөрү, алар колдонуунун оңойлугу үчүн V3B/Cде көз карандысыз жана жогорудагы 3 кирүү дареги V3A ичинде EXC менен бөлүшүлгөн.
PFIC реестринин топтому
Таблица 3-2 PFIC регистрлери
| аты | Кирүү дареги | Мүмкүнчүлүк | Description | Маани кайра коюу |
| PFIC_ISRx | 0xE000E000
-0xE000E01C |
RO | Үзгүлтүккө учуратуу абалын регистр x | 0x00000000 |
| PFIC_IPRx | 0xE000E020
-0xE000E03C |
RO | Үзгүлтүк күтүүдө статус реестри x | 0x00000000 |
| PFIC_ITHRESDR | 0xE000E040 | RW | Үзгүлтүктүн артыкчылык чегинин конфигурациясынын реестри | 0x00000000 |
| PFIC_VTFBADDRR | 0xE000E044 | RW | VTF базалык дарек реестри
Эскертүү: V3A үчүн гана жарактуу |
0x00000000 |
| PFIC_CFGR | 0xE000E048 | RW | Конфигурацияны үзгүлтүккө учуратуу реестри
Эскертүү: V3A үчүн гана жарактуу |
0x00000000 |
| PFIC_GISR | 0xE000E04C | RO | Глобалдык статус реестрин үзүү | 0x00000002 |
|
PFIC_VTFIDR |
0xE000E050 |
RW |
VTF үзгүлтүксүз ID конфигурациясынын реестри
Эскертүү: V3B/C үчүн гана жарактуу. |
0x00000000 |
| PFIC_VTFADDRRx | 0xE000E060
-0xE000E06C |
RW | VTF x офсеттик дарек реестри | 0xXXXXXXXX |
| PFIC_IENRx | 0xE000E100
-0xE000E11C |
WO | Үзгүлтүккө учуратуу параметрин регистр x | 0x00000000 |
| PFIC_IRERx | 0xE000E180
-0xE000E19C |
WO | Үзгүлтүккө учуратууну иштетүү таза регистр x | 0x00000000 |
| PFIC_IPSRx | 0xE000E200
-0xE000E21C |
WO | Үзгүлтүк күтүүдө орнотуу реестри x | 0x00000000 |
| PFIC_IPRRx | 0xE000E280
-0xE000E29C |
WO | Үзгүлтүк күтүүдө таза регистр x | 0x00000000 |
| PFIC_IACTRx | 0xE000E300
-0xE000E31C |
RO | Үзгүлтүккө активдештирүү статусунун реестри x | 0x00000000 |
| PFIC_IPRIORx | 0xE000E400
-0xE000E43C |
RW | Артыкчылык конфигурациясынын реестрин үзгүлтүккө учурат | 0x00000000 |
| PFIC_SCTLR | 0xE000ED10 | RW | Системаны башкаруу реестри | 0x00000000 |
Эскертүү:
- NMI, EXC, ECALL-M, ECALL-U жана BREAKPOINT ар дайым демейки боюнча иштетилет.
- ECALL-M, ECALL-U жана BREAKPOINT EXC учуру.
- NMI, EXC, ECALL-M, ECALL-U жана BREAKPOINT тазалоо жана орнотуу операциясын күтүүдө үзгүлтүккө учуратууну колдойт, бирок үзгүлтүккө учурабайт.
Ар бир реестр төмөнкүчө сүрөттөлөт:
Үзгүлтүктөрдү иштетүү статусу жана үзгүлтүккө учураган статус регистрлери (PFIC_ISR<0-7>/PFIC_IPR<0-7>)
| аты | Кирүү дареги | Мүмкүнчүлүк | Description | Маани кайра коюу |
| PFIC_ISR0 | 0xE000E000 | RO | Үзгүлтүк 0-31 статус регистрин иштетет, жалпысынан 32 статус биттери [n], #n үзгүлтүктүн статусун иштетет
Эскертүү: NMI жана EXC иштетилген демейки боюнча |
V3A үчүн: 0x0000000C
V3B/C үчүн: 0x0000032C |
| PFIC_ISR1 | 0xE000E004 | RO | Үзгүлтүккө учуратуу 32-63 статус реестрин иштетүү, жалпысынан 32 статус бит | 0x00000000 |
| … | … | … | … | … |
| PFIC_ISR7 | 0xE000E01C | RO | Үзгүлтүккө учуратуу 224-255 статус реестрин иштетүү, жалпысынан 32 статус бит | 0x00000000 |
| PFIC_IPR0 | 0xE000E020 | RO | Үзгүлтүк 0-31 күтүүдө | 0x00000000 |
| регистр, жалпысынан 32 статус биттери [n], үзгүлтүктүн күтүлүп жаткан статусун көрсөтүүчү #n | ||||
| PFIC_IPR1 | 0xE000E024 | RO | Үзгүлтүк 32-63 күтүүдө статус регистрлери, жалпысынан 32 статус биттери | 0x00000000 |
| … | … | … | … | … |
| PFIC_IPR7 | 0xE000E03C | RO | Үзгүлтүк 244-255 күтүүдө статус реестри, жалпысынан 32 статус бит | 0x00000000 |
Тиешелүү үзгүлтүктөрдү иштетүү жана өчүрүү үчүн регистрлердин эки топтому колдонулат.
Үзгүлтүктөрдү иштетүү жөндөөлөрү жана регистрлерди тазалоо (PFIC_IENR<0-7>/PFIC_IRER<0-7>)3
| аты | Кирүү дареги | Мүмкүнчүлүк | Description | Маани кайра коюу |
| PFIC_IENR0 | 0xE000E100 | WO | Үзгүлтүк 0-31 жөндөө регистрин иштетет, жалпысынан 32 орнотуу биттери [n], үзгүлтүккө #n иштетүү жөндөөлөрү
Эскертүү: NMI жана EXC болуп саналат иштетилген демейки боюнча |
0x00000000 |
| PFIC_IENR1 | 0xE000E104 | WO | Орнотуу регистрин иштетүү үчүн 32-63 үзгүлтүккө өтүңүз, жалпысынан 32 орнотуу бит | 0x00000000 |
| … | … | … | … | … |
| PFIC_IENR7 | 0xE000E11C | WO | Үзгүлтүк 224-255 иштетүү орнотуу
каттоо, жалпысынан 32 орнотуу бит |
0x00000000 |
| – | – | – | – | – |
| PFIC_IRER0 | 0xE000E180 | WO | 0-31 үзгүлтүксүз регистрди иштетет, бардыгы 32 так бит [n], үзгүлтүккө #n иштетүү үчүн ачык Эскертүү: NMI жана EXC болушу мүмкүн эмес иштетилген |
0x00000000 |
| PFIC_IRER1 | 0xE000E184 | WO | Үзгүлтүк 32-63 так реестрди, жалпысынан 32 так битти камсыз кылат | 0x00000000 |
| … | … | … | … | … |
| PFIC_IRER7 | 0xE000E19C | WO | Үзгүлтүк 244-255 так реестрди, жалпысынан 32 так битти камсыз кылат | 0x00000000 |
Тиешелүү үзгүлтүктөрдү иштетүү жана өчүрүү үчүн регистрлердин эки топтому колдонулат.
Күтүүдөгү жөндөөлөрдү үзгүлтүккө учуратуу жана регистрлерди тазалоо (PFIC_IPSR<0-7>/PFIC_IPRR<0-7>)
| аты | Кирүү дареги | Мүмкүнчүлүк | Description | Маани кайра коюу |
|
PFIC_IPSR0 |
0xE000E200 |
WO |
Үзгүлтүк 0-31 күтүүдө орнотуу реестри, 32
орнотуу биттери [n], үзгүлтүккө учуратуу үчүн #n күтүүдө орнотуу |
0x00000000 |
| PFIC_IPSR1 | 0xE000E204 | WO | Үзгүлтүк 32-63 күтүүдө орнотуу реестри,
жалпы 32 орнотуу бит |
0x00000000 |
| … | … | … | … | … |
| PFIC_IPSR7 | 0xE000E21C | WO | Үзгүлтүк 224-255 күтүүдө
каттоо, жалпысынан 32 орнотуу бит |
0x00000000 |
| – | – | – | – | – |
|
PFIC_IPRR0 |
0xE000E280 |
WO |
Үзгүлтүк 0-31 күтүүдө таза регистр, бардыгы 32 так бит [n], үзгүлтүккө #n
ачык күтүүдө |
0x00000000 |
| PFIC_IPRR1 | 0xE000E284 | WO | Үзгүлтүк 32-63 күтүүдө так реестр,
жалпы 32 ачык бит |
0x00000000 |
| … | … | … | … | … |
| PFIC_IPRR7 | 0xE000E29C | WO | Үзгүлтүк 244-255 күтүүдө так реестр,
жалпы 32 ачык бит |
0x00000000 |
Микропроцессор үзгүлтүккө жол бергенде, үзгүлтүккө учуратуу үчүн аны түздөн-түз үзгүлтүккө учуроочу регистр аркылуу орнотууга болот. Күтүүдөгү триггерди тазалоо үчүн үзгүлтүк күтүүдө таза регистрди колдонуңуз.
Үзгүлтүктүү активдештирүү статусунун реестри (PFIC_IACTR<0-7>)
| аты | Кирүү дареги | Мүмкүнчүлүк | Description | Маани кайра коюу |
| PFIC_IACTR0 | 0xE000E300 | RO | Үзгүлтүк 0-31 32 статус биттери [n] менен статус регистрин активдештирет, бул #n үзгүлтүктүн аткарылып жатканын билдирет | 0x00000000 |
| PFIC_IACTR1 | 0xE000E304 | RO | 32-63 активдештирүү статусунун регистрлерин үзгүлтүккө учуратыңыз, 32 статус битинде
жалпы |
0x00000000 |
| … | … | … | … | … |
| PFIC_IACTR7 | 0xE000E31C | RO | Үзгүлтүккө учуратуу 224-255 активдештирүү статусунун регистрлери, бардыгы 32 статус биттери | 0x00000000 |
Ар бир үзгүлтүктүн активдүү статусу бар, ал үзгүлтүк киргизилгенде орнотулат жана рынок кайтып келгенде аппараттык каражаттар тарабынан тазаланат.
Артыкчылыктын жана артыкчылыктын босого регистрлерин үзүү (PFIC_IPRIOR<0-7>/PFIC_ITHRESDR)
| аты | Кирүү дареги | Мүмкүнчүлүк | Description | Маани кайра коюу |
| PFIC_IPRIOR0 | 0xE000E400 | RW | 0 приоритеттүү конфигурацияны үзүү. V3A: [7:4]: Приоритеттүү башкаруу биттери Эгерде конфигурация уяча салынбаса, алдын ала бит жок. [7:3]: Камдалган, 0гө бекитилген V3B: [7:6]: Приоритеттүү башкаруу биттери Эгерде конфигурация уя салынбаса, эч кандай алдын ала бит конфигурацияланган эмес, бардык биттер алдын ала алынат, бирок үзгүлтүктөрдүн эки деңгээлине чейин болушуна уруксат берилет [5:0]: Резервделген, бекитилген 0 V3C: [7:5]: Приоритетти башкаруу биттери Эгер конфигурация уя салынбаса, алдын ала бит болбойт Эгерде конфигурацияланган уя салынган болсо, бардык биттер алдын ала алынат, бирок үзгүлтүктөрдүн эки деңгээлине чейин болушуна жол берилет [4:0]: Резервделген, 0гө бекитилген Эскертүү: Приоритеттин мааниси канчалык кичине болсо, артыкчылык ошончолук жогору болот. Эгерде ошол эле артыкчылыктуу үзгүлтүк бир эле учурда илинип калса, биринчи кезекте жогорураак болгон үзгүлтүк аткарылат. |
0x00 |
| PFIC_IPRIOR1 | 0xE000E401 | RW | Interrupt 1 приоритеттик жөндөө, ошол эле функция PFIC_IPRIOR0 | 0x00 |
| PFIC_IPRIOR2 | 0xE000E402 | RW | Interrupt 2 приоритеттик жөндөө, ошол эле функция PFIC_IPRIOR0 | |
| … | … | … | … | … |
| PFIC_IPRIOR254 | 0xE000E4FE | RW | Interrupt 254 приоритеттик жөндөө, PFIC_IPRIOR0 сыяктуу эле функция | 0x00 |
| PFIC_IPRIOR255 | 0xE000E4FF | RW | Interrupt 255 приоритеттик жөндөө, ошол эле функция PFIC_IPRIOR0 | 0x00 |
| – | – | – | – | – |
| PFIC_ITHRESDR | 0xE000E040 | RW | Артыкчылыктын босогосун жөндөө
V3A: [31:8]: Резервге коюлган, 0гө бекитилген [7:4]: Артыкчылык чеги [3:0]: Резервге коюлган, 0гө бекитилгенV3B: [31:8]: Резервге коюлган, 0гө бекитилген [7:5]: Артыкчылык чеги [4:0]: Резервге коюлган, 0гө бекитилгенV3C: [31:8]: Резервге коюлган, 0гө бекитилген [7:5]: Артыкчылык чеги [4:0]: Резервге коюлган, 0гө бекитилгенЭскертүү: Артыкчылыктын мааниси ≥ босого менен үзгүлтүккө учураганда үзгүлтүккө учуратуу кызматы иштебейт, ал эми бул регистр 0 болгондо, босого регистр жараксыз дегенди билдирет. |
0x00 |
Үзгүлтүк конфигурациясынын реестри (PFIC_CFGR)
| аты | Кирүү дареги | Мүмкүнчүлүк | Description | Маани кайра коюу |
| PFIC_CFGR | 0xE000E048 | RW | Конфигурацияны үзгүлтүккө учуратуу реестри | 0x00000000 |
Бул регистр V3A үчүн гана жарактуу, анын биттери төмөнкүчө аныкталат:
| Bit | аты | Мүмкүнчүлүк | Description | Маани кайра коюу |
| [31:16] | АЧКЫЧ КОД | WO | Ар кандай максаттуу башкаруу биттерине ылайык келген коопсуздукка кирүүнүн идентификациялык маалыматтарын өзгөртүү үчүн бир эле убакта жазыш керек жана окуу маалыматтары 0гө бекитилет. KEY1 = 0xFA05; KEY2 = 0xBCAF; KEY3 = 0xBEEF。 | 0 |
| [15:8] | Резервге коюлган | RO | Резервге коюлган | 0 |
| 7 | SYSRESET | WO | Системаны баштапкы абалга келтирүү (бир убакта KEY3ке жазуу). Автоматтык тазалоо 0.
1 жазуу жарактуу, 0 жазуу жараксыз. Эскертүү: PFIC_SCTLR регистринин SYSRESET битине окшош функция. |
0 |
| 6 | PFICRESET | WO | PFIC модулу баштапкы абалга келтирилди. Автоматтык тазалоо 0.
1 жазуу жарактуу, 0 жазуу жараксыз. |
0 |
| 5 | ЭКСПРЕСС | WO | Өзгөчө үзгүлтүккө учуроо күтүүдө (KEY2ге бир убакта жазуу)
1 жазуу жарактуу, 0 жазуу жараксыз. |
0 |
| 4 | EXCSET | WO | Өзгөчө үзгүлтүктү күтүүдө жөндөө (KEY2ге бир убакта жазуу)
1 жазуу жарактуу, 0 жазуу жараксыз. |
0 |
| 3 | NMIRESET | WO | NMI үзгүлтүккө учурашы күтүлүүдө (бир убакта KEY2ге жазуу)
1 жазуу жарактуу, 0 жазуу жараксыз. |
0 |
| 2 | NMISET | WO | NMI үзгүлтүккө учуроо күтүүдө (KEY2ге бир убакта жазуу)
1 жазуу жарактуу, 0 жазуу жараксыз. |
0 |
| 1 | NESTCTRL | RW | Үзгүлтүктүү уяча башкарууну иштетет.
1: өчүрүү; 0: күйүк (KEY1ге синхрондуу жазуу) |
0 |
| 0 | HWSTKCTRL | RW | HPE башкарууну иштетүү
1: өчүрүү; 0: күйүк (KEY1ге синхрондуу жазуу) |
0 |
Глобалдык абал реестрин үзүү (PFIC_GISR)
| аты | Кирүү дареги | Мүмкүнчүлүк | Description | Маани кайра коюу |
| PFIC_GISR | 0xE000E04C | RO | Глобалдык статус реестрин үзүү | 0x00000000 |
Анын адамдары катары аныкталат
| Bit | аты | Мүмкүнчүлүк | Description | Маани кайра коюу |
| [31:14] | Резервге коюлган | RO | Резервге коюлган | 0 |
|
13 |
LOCKSTA |
RO |
Учурда процессор кулпуланган абалдабы же жокпу:
1: кулпуланган абал; 0: Кулпуланбаган абал. Эскертүү: Бул бит V3B/C үчүн гана жарактуу. |
0 |
|
12 |
DBGMODE |
RO |
Процессор учурда мүчүлүштүктөрдү оңдоо абалындабы: 1: Мүчүлүштүктөрдү оңдоо абалы;
0: Мүчүлүштүктөрдү оңдоо абалы. Эскертүү: Бул бит V3B/C үчүн гана жарактуу. |
0 |
|
11 |
GLOBLIE |
RO |
Глобалдык үзгүлтүктү иштетүү:
1: Үзүлүүнү иштетүү; 0: Үзүлүүнү өчүрүү. Эскертүү: Бул бит V3B/C үчүн гана жарактуу. |
|
| 10 | Резервге коюлган | RO | Резервге коюлган | 0 |
| 9 | GPENDSTA | RO | Учурда үзгүлтүккө учуроо күтүлүүдө.
1: Ооба; 0: Жок. |
0 |
| 8 | GACTSTA | RO | Үзгүлтүк учурда аткарылып жатабы.
1: Ооба; 0: Жок. |
0 |
|
[7:0] |
NESTSTA |
RO |
Учурдагы үзгүлтүктүү уя статусу. 0x03: 2-деңгээлде үзгүлтүккө учуратуу.
0x01: 1-деңгээлде үзгүлтүккө учуратуу. 0x00: эч кандай үзгүлтүккө учурабайт. Башка: Мүмкүн эмес жагдай. |
0 |
VTF ID базалык дареги жана офсеттик дарек регистрлери (PFIC_VTFBADDRR/PFIC_VTFADDRR<0-3>)
| аты | Кирүү дареги | Мүмкүнчүлүк | Description | Маани кайра коюу |
|
PFIC_VTFBADDRR |
0xE000E044 |
RW |
[31:28]: VTF максаттуу дарегинин жогорку 4 биттери [27:0]: Камдалган
Бул реестр V3A үчүн гана жарактуу. |
0x00000000 |
|
PFIC_VTFIDR |
0xE000E050 |
RW |
[31:24]: VTF 3 саны [23:16]: VTF 2 саны [15:8]: VTF 1 саны [7:0]: VTF саны 0
Бул реестр V3B/C үчүн гана жарактуу. |
0x00000000 |
| – | – | – | – | – |
|
PFIC_VTFADDRR0 |
0xE000E060 | RW | V3A: [31:24]: VTF 0 үзгүлтүккө учуроо номери [23:0]: VTF максаттуу дарегинин төмөнкү 24 биттери, анын ичинен төмөнкү 20 бит жарактуу болуп конфигурацияланган жана [23:20] 0гө бекитилген.
V3B/C: [31:1]: VTF 0 дареги, 2-байт тегизделген [0]:1: VTF 0 каналын иштетүү 0: Өчүрүү |
V3A үчүн: 0x00000000 V3B/C үчүн: 0xXXXXXXXXX |
|
PFIC_VTFADDRR1 |
0xE000E064 |
RW |
V3A: [31:24]: VTF 1 үзгүлтүктүн саны [23:0]: VTF максаттуу дарегинин төмөнкү 24 биттери, анын ичинен төмөнкү 20 бит жарактуу болуп конфигурацияланган жана [23:20] 0гө бекитилген.
V3B/C: [31:1]: VTF 1 дареги, 2-байт тегизделген [0]:1: VTF 1 каналын иштетүү 0: Өчүрүү |
V3A үчүн: 0x00000000 V3B/C үчүн: 0xXXXXXXXXX |
|
PFIC_VTFADDRR2 |
0xE000E068 |
RW |
V3A: [31:24]: VTF 2 үзгүлтүккө учуроо номери [23:0]: VTF максаттуу дарегинин төмөнкү 24 биттери, анын ичинен төмөнкү 20 бит жарактуу болуп конфигурацияланган жана [23:20] 0гө бекитилген.
V3B/C: [31:1]: VTF 2 дареги, 2-байт тегизделген [0]:1: VTF 2 каналын иштетүү 0: Өчүрүү |
V3A үчүн: 0x00000000 V3B/C үчүн: 0xXXXXXXXXX |
| PFIC_VTFADDRR3 | 0xE000E06C | RW | V3A: | V3A үчүн: |
| [31:24]: VTF 3 үзгүлтүктүн саны [23:0]: VTF максаттуу дарегинин төмөнкү 24 биттери, анын ичинен төмөнкү 20 бит жарактуу болуп конфигурацияланган жана [23:20] 0гө бекитилген.
V3B/C: [31:1]: VTF 3 дареги, 2-байт тегизделген [0]:1: VTF 3 каналын иштетүү 0: Өчүрүү |
0x00000000
V3B/C үчүн: 0xXXXXXXXXX |
Системаны башкаруу реестри (PFIC_SCTLR)
| аты | Кирүү дареги | Мүмкүнчүлүк | Description | Маани кайра коюу |
| PFIC_SCTLR | 0xE000ED10 | RW | Системаны башкаруу реестри | 0x00000000 |
Алардын ар бири төмөнкүчө аныкталат.
| Bit | аты | Мүмкүнчүлүк | Description | Маани кайра коюу |
| 31 | SYSRESET | WO | Системаны баштапкы абалга келтирүү, автотазалоо 0. 1 жазуу жарактуу, 0 жазуу жараксыз.
Эскертүү: Бул бит V3B/C үчүн гана жарактуу |
0 |
| [30:6] | Резервге коюлган | RO | Резервге коюлган | 0 |
| 5 | СЕТЕВЕНТ | WO | WFE ишин ойготуу үчүн окуяны коюңуз. | 0 |
|
4 |
СЕВОНПЕНД | RW | Окуя болгондо же күтүлүп жаткан абалды үзгүлтүккө учуратканда, система WFE көрсөтмөсүнөн кийин ойготулушу мүмкүн же WFE көрсөтмөсү аткарылбаса, система нускама кийинки аткарылгандан кийин дароо ойгонот.
1: Иштетилген окуялар жана бардык үзгүлтүктөр (анын ичинде иштетилбеген үзгүлтүктөр) системаны ойгото алат. 0: Иш-чаралар гана иштетилген жана иштетилген үзгүлтүктөр системаны ойгото алат. |
0 |
| 3 | WFITOWFE | RW | WFI буйругун WFE сыяктуу аткарыңыз.
1: Кийинки WFI инструкциясына WFE көрсөтмөсү катары мамиле кылыңыз. 0: Эффект жок. |
0 |
| 2 | SLEEPDEEP | RW | Башкаруу системасынын аз кубаттуулук режими. | 0 |
| 1: терең уйку 0: уйку | ||||
| 1 | SLEEPONEXI Т | RW | Башкаруу үзгүлтүккө учуратуу кызматынын программасынан чыккандан кийин системанын абалы.
1: Система аз кубаттуулук режимине кирет. 0: Система негизги программага кирет. |
0 |
| 0 | Резервге коюлган | RO | Резервге коюлган | 0 |
Үзгүлтүккө байланыштуу CSR реестрлери
Мындан тышкары, төмөнкү CSR регистрлери да үзгүлтүктөрдү иштетүүгө олуттуу таасирин тийгизет. Үзүлүү тутумунун башкаруу реестри (intsyscr)
Бул реестр V3A үчүн гана жарактуу эмес:
| аты | CSR Дарек | Мүмкүнчүлүк | Description | Маани кайра коюу |
| intsyscr | 0x804 | URW | Үзгүлтүк системанын башкаруу реестри | 0x0000E002 |
Анын адамдары төмөнкүчө аныкталат:
| Bit | аты | Мүмкүнчүлүк | Description | Маани кайра коюу |
|
31 |
БУЛПОО |
URO |
0: Бул реестрди колдонуучу режиминде окууга жана жазууга болот;
1: Бул регистрди машина режиминде гана окууга жана жазууга болот. Эскертүү: Бул конфигурация бит баштап жарактуу версия 1.0 баштап. |
0 |
| [30:6] | Резервге коюлган | URO | Резервге коюлган | 0x380 |
|
5 |
GIHWSTKNEN |
URW1 |
Глобалдык үзгүлтүк жана аппараттык стек өчүрүү иштетилди.
Эскертүү: Бул бит көбүнчө реалдуу убакыт операциялык системаларында колдонулат. Үзгүлтүк учурунда контекст которулганда, бул битти коюу глобалдык үзүүнү өчүрүп, аппараттык стекти түртүшү мүмкүн. Контексттик которуштуруу аяктаганда жана үзгүлтүккө учуратуу кайтып келгенде, аппараттык камсыздоо иштейт бул битти автоматтык түрдө тазалоо. |
0 |
| 4 | Резервге коюлган | URO | Резервге коюлган | 0 |
| [3:2] | PMTCFG | URW | Приоритеттүү биттердин конфигурациясы:
00: Алдын ала алуу биттеринин саны 0; 01: Алдын ала алуу биттеринин саны 1; 10: Алдын ала алуу биттеринин саны 2; 11: Алдын ала алуу биттеринин саны 3; Эскертүү: Бул конфигурация бит кийин жарактуу 1.0. |
0 |
| 1 | УГУҢУЗ | URW | Үзгүлтүккө салуу функциясы иштетилген жана белгиленген маани 1: | 1 |
| 0: Өчүрүү;
1: Иштетүү. Эскертүү: 1. Чыныгы уя деңгээли CSR 0xBC1де NEST_LVL тарабынан башкарылат; 2. 1.0ден кийинки версиялар гана болушу мүмкүн жазылган. |
||||
| 0 | HWSTKEN | URW | Аппараттык стек иштетүү:
0: Аппараттык стек басуу функциясы өчүрүлгөн; 1: Аппараттык стек басуу функциясы иштетилген. |
0 |
Машина режиминин өзгөчөлүгүнүн негизги дарек реестри (mtvec)
| аты | CSR Дарек | Мүмкүнчүлүк | Description | Маани кайра коюу |
| mtvec | 0x305 | MRW | Өзгөчө негизги дарек реестри | 0x00000000 |
Анын адамдары катары аныкталат
| Bit | аты | Мүмкүнчүлүк | Description | Маани кайра коюу |
| [31:2] | BASEADDR[31:2] | MRW | Үзүлүү вектордук таблицанын базалык дареги, мында
биттери [9:2] 0гө бекитилет. |
0 |
| 1 | MODE1 |
MRO |
Үзгүлтүккө учураган вектордук таблицаны таануу режими: 0: Секирүү инструкциясы боюнча аныктоо, чектелген масштабда жана секирбеген нускамаларды колдоо;
1: Абсолюттук дарек боюнча аныктоо, толук диапазонду колдоо, бирок секирүү керек. Эскертүү: Бул бит V3B/C үчүн гана жарактуу. |
0 |
| 0 | MODE0 | MRW | Үзгүлтүк же өзгөчө киргизүү дареги режимин тандоо.
0: бирдиктүү кирүү дарегин колдонуу. 1: *4 үзгүлтүккө жараша даректин жылышуусу. |
0 |
V3 сериясындагы микропроцессорлору бар MCU үчүн MODE0 демейки боюнча 1 болуп конфигурацияланган. file, жана өзгөчөлүктөр же үзгүлтүктөр үчүн жазуулар *4 үзгүлтүккө жараша алмаштырылат. V3A микропроцессору секирүү инструкциясын вектордук столдо сактай турганын эске алыңыз, ал эми V3B/C микропроцессору секирүү инструкциясын же демейки ишке киргизүүдө абсолюттук дарек катары конфигурацияланган үзгүлтүккө учуратуу функциясынын абсолюттук дарегин колдоно алат. file.
Микропроцессордун конфигурациясынын реестри (түзөтүүчү)
Бул реестр V3A үчүн жараксыз:
| аты | CSR Дарек | Мүмкүнчүлүк | Description | Маани кайра коюу |
| corecfgr | 0xBC0 | MRW | Микропроцессордун конфигурациясынын реестри | 0x00000001 |
Анын адамдары катары аныкталат
| Bit | аты | Мүмкүнчүлүк | Description | Маани кайра коюу |
| [31:8] | Резервге коюлган | MRO | Резервге коюлган | 0 |
|
7 |
CSTA_FAULT_IE |
MRW |
Негизги статус катасы үзгүлтүккө учуратууну иштетүү:
0: Статус катасында, эч кандай NMI үзгүлтүккө учурабайт; 1: Статус катасы боюнча, NMI үзгүлтүккө учурайт түзүлгөн. |
0 |
| 6 | Резервге коюлган | MRO | 0 сактаңыз. | 0 |
| 5 | IE_REMAP_EN | MRW | MIE реестринин картасын түзүү:
0: CSR дареги 0x800 окуу үчүн гана реестр жана кайтаруу мааниси АБАЛ мааниси; 1: 3x7 CSR дарегинин 0 жана 800 биттери STATUS регистринин бит MIE жана STATUS реестринин бит MPIE битине ылайыкташтырылган. |
0 |
| 4 | Резервге коюлган | MRO | Резервге коюлган | 0 |
| 3 | ROM_LOOP_ACC | MRW | ROM аймагынын нускама циклин тездетүүнү иштетүү:
0: ROM аймагында циклдик тездетүү функциясын өчүрүү; 1: цикл корпусу 128 байттын ичинде болгон үзгүлтүксүз инструкциялар толугу менен тездетилет, ал эми цикл корпусу 256 байттын ичинде болгондор жарым-жартылай ылдамдатылат; |
0 |
| 2 | ROM_JUMP_ACC | MRW | ROM аймагынын нускамасынын секирүү ылдамдатуусу иштетилди:
0: ROM аймагы нускама секирүү ылдамдатуу өчүрүү; 1: ROM аймагында нускама секирүү ылдамдатууну иштетүү. |
0 |
| [1:0] | FETCH_MODE | MRW | Алып алуу режими:
00: Алдын ала алуу өчүк. Инструкцияны алдын ала алып келүү функциясы жараксыз инструкцияларды алуу операцияларын болтурбоо үчүн өчүрүлгөн жана CPU түтүкчөсүндө эң көп дегенде бир жарактуу нускама бар. Бул моделдин кубаттуулугу эң аз керектелет жана анын иштеши болжол менен 2 ~ 3 эсеге төмөндөйт. 01: Алдын ала алып келүү режими 1. Инструкцияны алдын ала алып келүү функциясы күйгүзүлгөндө, CPU ички нускама буферинде аткарыла турган нускамалардын саны белгилүү сандан ашмайынча, же нускама буфери толуп калмайынча, инструкциянын эс тутумуна кирүүнү улантат. инструкцияларды алуу токтотулат; (Процессордун болжолдоосунун аткарылбай калышы ашыкча жүктөө операциясына алып келет, ал эми кээ бир учурларда, аткаруу бирдиги көбүкчөлөрдүн 0 ~ 2 циклин киргизет жана көпчүлүк программалардын иштеши айкын төмөндөбөйт); 10: камдалган; |
0x1 |
Үзгүлтүккө салынган башкаруу реестри (inestcr)
Бул реестр V3A үчүн гана жараксыз:
| аты | CSR Дарек | Мүмкүнчүлүк | Description | Маани кайра коюу |
| инвестор | 0xBC1 | MRW | Уюшкан башкаруу реестрин үзүү | 0x00000000 |
Анын адамдары катары аныкталат
| Bit | аты | Мүмкүнчүлүк | Description | Маани кайра коюу |
| 31 | Резервге коюлган | MRO | Резервге коюлган | 0 |
| 30 | NEST_OV | MRW | Үзгүлтүк/өзгөчө уя салынган толуп кетүү желекчеси, тазалоо үчүн 1 деп жазыңыз:
0: үзгүлтүккө учураган жок; 1: үзгүлтүккө толуп желекче. Эскертүү: Үзгүлтүккө толуп кетүү инструкциянын өзгөчөлүгүн же NMI үзгүлтүгүн түзүү үчүн экинчи үзгүлтүккө учуроо кызматынын функциясын аткарганда гана пайда болот. Бул учурда, өзгөчөлүк жана NMI үзгүлтүккө учурашы кадимкидей кирет, бирок CPU стек толуп кетет, андыктан бул өзгөчөлүктөн чыга албайсыз жана NMI үзгүлтүккө учурашы. |
0 |
| [29:12] | Резервге коюлган | MRO | Резервге коюлган | 0 |
| [11:8] | NEST_STA | MRO | Ички абал желекчеси:
0000: Үзгүлтүк жок; 0001: 1-деңгээл үзгүлтүккө учурашы; 0011: 2-деңгээлдеги үзгүлтүккө учуроо (1-деңгээлдүү уя); |
0 |
| 0111: 3-деңгээлдеги үзгүлтүк (толуп);
1111: 4-деңгээл үзгүлтүккө учурашы (толуп). |
||||
| [7:2] | Резервге коюлган | MRO | Резервге коюлган | 0 |
| [1:0] | NEST_LVL | MRW | Уюштуруу деңгээли:
00: Уя салууга тыюу салынган жана уя салуу функциясы өчүрүлгөн; 01: Уялоо функциясын иштеткен биринчи деңгээлдеги уя салуу; Башка: Жараксыз. Эскертүү: Бул талаага 10 же 11 деп жазыңыз, ошондо талаа 01ге коюлат. Бул талаага 11 жазып жатканда, чиптин эң жогорку уюгуна ээ болуу үчүн бул регистрди окуп чыгыңыз. |
0 |
Колдонуучу режими глобалдык үзгүлтүккө учуратуу реестри (интерн)
Бул реестр V3A үчүн гана жараксыз:
| аты | CSR Дарек | Мүмкүнчүлүк | Description | Маани кайра коюу |
| гинтенр | 0x800 | URW | Глобалдык үзгүлтүктү иштетүү реестри | 0x00000000 |
Бул реестр глобалдык үзгүлтүктү иштетүүнү жана масканы көзөмөлдөө үчүн колдонулат. Машина режиминде глобалдык үзгүлтүктүн иштетилиши жана маскасы статустагы MIE жана MPIE биттери тарабынан көзөмөлдөнүшү мүмкүн, бирок бул регистрди колдонуучу режиминде иштетүү мүмкүн эмес.
Глобалдык үзгүлтүктү иштетүү регистри gintenr бул mstatusдагы MIE жана MPIE картасы болуп саналат жана колдонуучу режиминде gintenr иштетүү аркылуу MIE жана MPIEди орнотуу жана тазалоо үчүн колдонулушу мүмкүн.
Алардын ар бири төмөнкүчө аныкталат:
| Bit | аты | Мүмкүнчүлүк | Description | Маани кайра коюу |
| [31:13] | Резервге коюлган | URO | Резервге коюлган | 0 |
| [12:11] | MPP | URO | Үзгүлтүккө чейин артыкчылыктуу режимге кириңиз. | 0 |
| [10:8] | Резервге коюлган | URO | Резервге коюлган | 0 |
| 7 | MPIE | URW | 0xBC0(CSR)bit5 иштетилгенде, бул бит
колдонуучу режиминде окууга жана жазууга болот. |
0 |
| [6:4] | Резервге коюлган | URO | Резервге коюлган | 0 |
| 3 | музыка | URW | 0xBC0(CSR)bit5 иштетилгенде, бул бит
колдонуучу режиминде окууга жана жазууга болот. |
0 |
| [1:0] | Резервге коюлган | URO | Резервге коюлган | 0 |
Nesting үзгүлтүккө учуратуу
Үзгүлтүк, PFIC_CFGR конфигурация регистри жана PFIC_IPRIOR үзгүлтүктүн артыкчылык регистри менен бирдикте үзгүлтүктөрдү уялаштырууга уруксат берилиши мүмкүн. Үзгүлтүктөрдү конфигурациялоо регистринде уя салууну иштетиңиз (V3 сериясындагы микропроцессорлор үчүн демейки боюнча Nesting күйгүзүлгөн) жана тиешелүү үзгүлтүктүн приоритеттүүлүгүн конфигурациялаңыз. Приоритеттин мааниси канчалык аз болсо, артыкчылык ошончолук жогору болот. Алдын ала алуу битинин мааниси канчалык кичине болсо, алдын ала артыкчылык ошончолук жогору болот. Эгерде бир эле артыкчылыктуу артыкчылыкта бир эле учурда илинген үзгүлтүктөр болсо, микропроцессор биринчи кезекте төмөнкү артыкчылыктуу (жогорку артыкчылык) менен үзгүлтүккө жооп берет.
Аппараттык Пролог/Эпилог (HPE)
- Өзгөчө кырдаал же үзгүлтүккө учураганда микропроцессор учурдагы программанын агымын токтотуп, өзгөчө же үзгүлтүк менен иштөө функциясын аткарууга өтөт, учурдагы программа агымынын сайтын сактоо керек. Өзгөчө же үзгүлтүккө учурагандан кийин сайтты калыбына келтирип, токтотулган программа агымынын аткарылышын улантуу керек. V3 сериясындагы микропроцессорлор үчүн бул жердеги "сайт" 1-2-таблицадагы бардык Чалуучулардын Сакталган регистрлерин билдирет.
- V3 сериясындагы микропроцессорлор колдонуучуга көрүнбөгөн ички стек аймагына формадагы чалуучу тарабынан сакталган регистрлердин 16сын автоматтык түрдө бир циклдуу аппараттык сактоону колдойт. Өзгөчө кырдаал же үзгүлтүк кайтып келгенде, аппараттык бир цикл автоматтык түрдө маалыматтарды ички стек аймагынан 16 формадагы регистрлерге калыбына келтирет. HPE 2 деңгээлге чейин тереңдикте уя орнотууну колдойт.
- Микропроцессордун басым стекинин схемасы төмөнкү сүрөттө көрсөтүлгөн.

Эскертүү:
- HPE аркылуу үзгүлтүккө учуратуу функциялары MRS же анын берилген инструменттер тизмеги аркылуу түзүлүшү керек жана үзгүлтүккө учуратуу функциясы __attribute__((interrupt("WCH-Үзгүлтүк-тез"))) менен жарыяланышы керек.
- Стекти түртүү аркылуу үзгүлтүккө учуратуу функциясы __attribute__((interrupt())) аркылуу жарыяланат.
Вектордук таблица бекер (VTF)
- Программалануучу тез үзүлүү контроллери (PFIC) 4 VTF каналын камсыз кылат, б.а., үзгүлтүккө учураган вектор таблицасын издөө процессинен өтпөй эле үзгүлтүккө учуратуу функциясынын киришине түз кирүү.
- VTF каналын үзгүлтүккө учуратуу функциясын кадимкидей конфигурациялоодо, анын үзгүлтүккө учуроо номерин, үзгүлтүккө учуратуу кызматынын негизги дарегин жана офсет дарегин тиешелүү PFIC контроллер реестрине жазуу аркылуу иштетүүгө болот.
- Тез жана үстөлсүз үзгүлтүктөр үчүн PFIC жооп процесси төмөндөгү 3-2-сүрөттө көрсөтүлгөн.

Физикалык эстутумду коргоо PMP
- Системанын коопсуздугун жогорулатуу максатында физикалык эстутумду коргоо (PMP) модулу RISC-V архитектура стандартына ылайык бийик тоолуу арпанын V3 сериясындагы микропроцессорлор үчүн иштелип чыккан. 4 физикалык аймакка чейин кирүү укуктарын башкаруу колдоого алынат. Уруксаттарга окуу (R), жазуу (W) жана аткаруу (X) атрибуттары кирет жана корголгон аймактын узундугун жок дегенде 4 байтка чейин коюуга болот. PMP модулу ар дайым колдонуучу режиминде күчүнө кирет, бирок ал (L) атрибутун машина режиминде кулпулоо аркылуу ыктыярдуу түрдө күчүнө кирет.
- Эгер кирүү учурдагы уруксаттын чегин бузса, анормалдуу үзгүлтүккө учурайт. PMP модулу 8-биттик конфигурация регистрлеринин төрт тобун (32-биттин бир тобу) жана дарек регистрлеринин төрт тобун камтыйт, алардын бардыгына CSR инструкциясы менен машина режиминде кирүүгө туура келет.
- Эскертүү: Микропроцессорлордун ар кандай моделдеринде PMP тарабынан колдоого алынган корголгон аймактардын саны ар кандай болушу мүмкүн, ал эми pmpcfg жана pmpaddr регистрлери тарабынан колдоого алынган саны да ар кандай. Көбүрөөк маалымат алуу үчүн 1-1 таблицасын караңыз.
PMP реестр топтому
V3 микропроцессорунун PMP модулу тарабынан колдоого алынган CSR регистрлеринин тизмеси төмөндөгү 4-1-таблицада көрсөтүлгөн.
Таблица 4-1 PMP модулунун регистр топтому
| аты | CSR дареги | Мүмкүнчүлүк | Description | Маани кайра коюу |
| pmpcfg0 | 0x3A0 | MRW | PMP конфигурация реестри 0 | 0x00000000 |
| pmpaddr0 | 0x3B0 | MRW | PMP дареги регистр 0 | 0xXXXXXXXX |
| pmpaddr1 | 0x3B1 | MRW | PMP дареги регистр 1 | 0xXXXXXXXX |
| pmpaddr2 | 0x3B2 | MRW | PMP дареги регистр 2 | 0xXXXXXXXX |
| pmpaddr3 | 0x3B3 | MRW | PMP дареги регистр 3 | 0xXXXXXXXX |
pmp
pmpcfg - PMP бирдигинин конфигурация реестри жана ар бир регистр төрт аймактын конфигурациясына туура келген төрт 8-бит насостук талааларды камтыйт, ал эми насостук i аймактын конфигурация маанисин билдирет. Анын форматы төмөнкү таблицада көрсөтүлгөн 4-2.
Таблица 4-2 pmpcfg0 регистр
pmpcfg I аймакты конфигурациялоо үчүн колдонулат жана анын бит аныктамасы төмөнкү таблицада сүрөттөлгөн 4-3.
Таблица 4-3 pmp
| Bit | аты | Description |
| 7 | L | Кулпулоо иштетилген жана аны машина режиминде ачууга болот. 0: Кулпуланган эмес;
1: Тиешелүү реестрди кулпулоо. |
| [6:5] | – | Резервге коюлган |
| [4:3] | A | Даректи тегиздөө жана коргоо аймагынын диапазонун тандоо. 00: ӨЧҮК (PMP өчүк)
01: TOR (Жогорку тегиздөөдөн коргоо) 10: NA4 (Оңдолгон төрт байттык коргоо) 11: NAPOT (2(G+2) Байт коргоо, G≥1) |
| 2 | X | Аткарылуучу атрибут. |
| 0: аткарууга уруксат жок;
1: Аткаруу уруксаты. |
||
|
1 |
W |
Жазылуучу атрибут.
0: Жазууга уруксат жок 1: Жазууга уруксат. |
|
0 |
R |
Окула турган атрибут
0: окууга уруксат жок 1: окууга уруксат. |
pmpaddr
pmpaddr реестри I аймактын дарегин конфигурациялоо үчүн колдонулат. Стандарттык аныктама RV32 архитектурасына ылайык, 32 биттик физикалык даректин жогорку 34 битинин коддолушу жана анын форматы төмөнкү таблицада көрсөтүлгөн 4-4 .
V3 микропроцессорунун бүт физикалык дарек мейкиндиги 4G, ошондуктан бул регистрдин жогорку эки биттери колдонулбайт.
Таблица 4-4 pmpaddr 
NAPOT тандалганда, төмөнкү таблицада көрсөтүлгөндөй, дарек регистринин төмөнкү бити да учурдагы коргоо аймагынын өлчөмүн көрсөтүү үчүн колдонулат, мында 'y' регистрдин бир азы.
Таблица 4-5. PMP конфигурациясы менен дарек регистринин жана корголгон аймактын ортосундагы байланыш таблицасы.
| pmpaddr | pmpcfg. А | Базалык дарек жана өлчөмү дал келет |
| жжж... жжж | NA4 | Негизги дарек катары 'yy…yyyy00' болгондо, 4 байттык аймак корголгон. |
| жжж... жжж0 | NAPOT | Негизги дарек катары "yy…yyy000" менен 8 байттык аймак корголгон. |
| жжж... жж01 | NAPOT | Негизги дарек катары "yy…yy0000" менен 16 байттык аймак корголгон. |
| жжж... ж011 | NAPOT | Негизги дарек катары "yy…y00000" менен 16 байттык аймак корголгон. |
| … | … | … |
| жyy01…111 | NAPOT | Негизги дарек катары "y0…000000" менен 231 байттык аймак корголгон. |
| yy011…111 | NAPOT | Бүтүндөй 232 байт аймакты коргоо. |
Коргоо механизми
X/W/R pmpcfg I аймагынын коргоо ыйгарым укуктарын белгилөө үчүн колдонулат жана тиешелүү ыйгарым укуктарды бузуу тиешелүү өзгөчөлүктү жаратат:
- Аткаруу укугу жок PMP аймагында нускамаларды алууга аракет кылганда, ал нускаманы алууда кирүү катасынын өзгөчөлүгүн пайда кылат (mcause=1).
- жазуу жүзүндөгү уруксатысыз PMP аймагында маалыматтарды жазууга аракет кылып жатканда, ал дүкөн нускама кирүү бир ката өзгөчөлүгү (mcause = 7) алып келет.
- Окуу уруксатысыз PMP аймагындагы маалыматтарды окууга аракет кылып жатканда, жүктөө инструкциясы үчүн анормалдуу эстутумга кирүү катасын (mcause=5) пайда кылат.
A in pmpcfg I аймагынын коргоо диапазонун жана дарегин тегиздөө үчүн жана A_ADDR ≤ чөлкөмүнүн < i > < B_ADDR эс тутумун коргоо үчүн колдонулат (A_ADDR жана B_ADDR экөө тең 4 байтта тегизделиши керек):
- Эгерде B _ ADDR–A_ADDR = = 22, NA4 режими кабыл алынат;
- Эгерде B _ ADDR–A_ADDR = = 2(G+2), G≥1 жана _ дареги 2(g+2) болсо, NAPOT ыкмасы кабыл алынат;
- Болбосо, TOP режими кабыл алынат.
Таблица 4-6 PMP дарегин дал келүү ыкмалары
| А баалуулук | аты | Description |
| 0b00 | ӨЧҮРҮҮ | Коргоо үчүн аймак жок |
| 0b01 | TOR | Жогорку тегизделген аймакты коргоо.
астында pmp pmpaddri = B_ADDR >> 2. Эскертүү: Эгерде PMPтин 0 аймагы TOR режими (i=0) катары конфигурацияланса, коргоо аймагынын төмөнкү чек арасы 0 дарек, башкача айтканда 0 ≤ addr < pmpaddr0, бардыгы дал келген диапазондо. |
| 0b10 | NA4 | 4 байттык аймакты коргоо оңдолду.
pmp |
| 0b11 | NAPOT | A_ADDR 2(G+2) тегизделгенде, 1(G+2) аймагын G ≥ 2 менен коргоңуз. pmpaddri = ((A_ADDR|(2(G+2)-1)) &~(1< >1. |
- pmp
- QingKe V3 сериясындагы микропроцессорлор бир нече зоналарды коргоону колдойт. Бир эле операция бир эле учурда бир нече зонага дал келгенде, биринчи азыраак сандагы зонага дал келет.
Системалык таймер (SysTick)
- QingKe V3 сериясындагы микропроцессордун ичинде 32-бит же 64-бит эсептегич (SysTick) менен иштелип чыккан. Анын саат булагы системалык саат же анын 8 жыштык бөлүмү болуп саналат, ал эми V3A 8 жыштык бөлүүнү гана колдойт.
- Ал реалдуу убакытта иштөө тутуму үчүн убакыт базасын, убакытты жана убакытты өлчөөнү камсыздай алат. Таймерге тартылган регистрлердин ар кандай түрлөрү төмөнкү 5-1 жана 5-2 таблицаларда көрсөтүлгөндөй, ар кандай карта даректерине ээ.
Таблица 5-1 V3A SysTick реестринин тизмеси
| аты | Кирүү дареги | Description | Маани кайра коюу |
| STK_CTLR | 0xE000F000 | Системанын эсептегич башкаруу реестри | 0x00000000 |
| STK_CNTL | 0xE000F004 | Системалык эсептегич төмөн регистр | 0xXXXXXXXX |
| STK_CNTH | 0xE000F008 | Системалык эсептегич жогорку регистр
Эскертүү: V3A үчүн гана жарактуу. |
0xXXXXXXXX |
| STK_CMPLR | 0xE000F00C | Системанын санын салыштыруу мааниси төмөн регистр | 0xXXXXXXXX |
| STK_CMPHR | 0xE000F010 | Системанын санын салыштыруу мааниси жогорку регистр
Эскертүү: V3A үчүн гана жарактуу. |
0xXXXXXXXX |
Таблица 5-2 V3 SysTick реестринин башка моделдердин тизмеси
| аты | Кирүү дареги | Description | Маани кайра коюу |
| STK_CTLR | 0xE000F000 | Системанын эсептегич башкаруу реестри | 0x00000000 |
| STK_SR | 0xE000F004 | Системанын эсептегич статусунун реестри | 0x00000000 |
| STK_CNTL | 0xE000F008 | Системалык эсептегичтин төмөнкү реестри | 0xXXXXXXXX |
| STK_CMPLR | 0xE000F010 | Саноо салыштыруу мааниси төмөн регистр | 0xXXXXXXXX |
Ар бир реестр төмөнкүдөй майда-чүйдөсүнө чейин сүрөттөлөт.
Системанын эсептегич башкаруу реестри (STK_CTLR)
Таблица 5-3 SysTick башкаруу регистрлери
| Bit | аты | Мүмкүнчүлүк | Description | Маани кайра коюу |
| [31:5] | Резервге коюлган | RO | Резервге коюлган | 0 |
|
4 |
РЕЖИМ |
RW |
Саноо режими: 1: Саноо;
0: Саноо. Эскертүү: V3A үчүн жараксыз. |
0 |
|
3 |
STRE |
RW |
Автоматтык кайра жүктөө санын иштетүү бит:
1: Салыштыруу маанисине чейин санагандан кийин 0дөн кайра санаңыз жана 0гө чейин санагандан кийин дагы салыштыруу маанисинен санаңыз; 0: өйдө/төмөн санаганды улантыңыз. Эскертүү: V3A үчүн жараксыз. |
0 |
|
2 |
STCLK |
RW |
Саат булагын тандоо бит:
1: убакыт базасы катары HCLK; 0: HCLK/8 убакыт базасы катары. Эскертүү: Бул V3A үчүн жараксыз, аны гана колдойт HCLK/8 убакыт базасы катары. |
0 |
| 1 | SITE | RW | Каршы үзгүлтүктү иштетүү башкаруу биттери: | 0 |
| 1: эсептегич үзгүлтүктү иштетүү; 0: Эсептөөчү үзгүлтүктү өчүрүү.
Эскертүү: V3A үчүн жараксыз. |
||||
| 0 | STE | RW | Системалык эсептегич башкаруу битти иштетет. 1: STK тутум эсептегичин иштетүү;
0: Системалык эсептегичти өчүрүү STK жана эсептегич эсептөөнү токтотот. |
0 |
Системанын эсептегич статусунун реестри (STK_SR)
Бул реестр V3A үчүн колдонулбайт.
Таблица 5-4 SysTick эсептегичинин төмөн реестри
| Bit | аты | Мүмкүнчүлүк | Description | Маани кайра коюу |
|
31 |
SWIE |
RW |
Программалык камсыздоону үзгүлтүккө учуратууну иштетүү (SWI): 1: Программалык камсыздоону үзгүлтүккө учуратуу;
0: триггерди өчүрүңүз. Эскертүү: Бул бит программалык үзгүлтүккө киргенден кийин тазаланышы керек, антпесе ал ар дайым ишке кирет. |
0 |
| [30:1] | Резервге коюлган | RO | Резервге коюлган | 0 |
|
0 |
CNTIF |
RW |
Салыштыруу белгисин санаңыз, 0ду так жазыңыз, 1ди жазыңыз жараксыз:
1: Салыштыруу маанисине чейин санаңыз жана 0гө чейин санаңыз; 0: Салыштыруу маанисине жеткен жок. |
0 |
Системалык эсептегич төмөнкү регистр (STK_CNTL)
Таблица 5-5 SysTick эсептегичинин төмөн реестри
| Bit | аты | Мүмкүнчүлүк | Description | Маани кайра коюу |
| [31:0] | CNTL | RW | Учурдагы эсептегич эсептөө мааниси 32 бит төмөн. V3A үчүн бул регистрди 8-бит/16-бит катары окуса болот
/32-бит, бирок 8-бит жана башка деп гана жазылышы мүмкүн моделдер чектелбейт. |
0xXXXXXX XXX |
Эскертүү: STK_CNTL каттоо жана V3Aда STK_CNTH каттоо бирге 64 биттик система эсептегичти түзөт.
Системалык эсептегичтин жогорку реестри (STK_CNTH)
Таблица 5-6 SysTick эсептегичтин жогорку реестри
| Bit | аты | Мүмкүнчүлүк | Description | Маани кайра коюу |
| [31:0] | CNTH | RW | Учурдагы эсептегич эсептөө мааниси 32 бит жогору. Бул регистрди 8-бит/16-бит/32-бит окуса болот, бирок 8-бит менен гана жазылышы мүмкүн.
Эскертүү: V3A үчүн гана жарактуу. |
0xXXXXXX XXX |
Эскертүү: STK_CNTL каттоо жана V3Aда STK_CNTH каттоо бирге 64 биттик система эсептегичти түзөт.
Тутум санын салыштыруу мааниси төмөн регистр (STK_CMPLR)
Таблица 5-7 SysTick салыштыруу мааниси төмөн регистр
| Bit | аты | Мүмкүнчүлүк | Description | Маани кайра коюу |
| [31:0] | CMPL | RW | Эсептегич салыштыруу маанисин 32 бит төмөн коюу. CMP мааниси менен CNT мааниси барабар болгондо, STK үзгүлтүккө учурайт. V3A үчүн бул регистрди 8 бит / 16 бит / 32 бит катары окуса болот, бирок
8-бит катары жазылган жана башка моделдер чектелбейт. |
0xXXXXXX XXX |
Эскертүү: V3Aдагы STK_CMPLR жана STK_CMPHR регистрлери чогуу 64 биттик эсептегич салыштыруу маанисин түзөт.
Системанын санын салыштыруу маанисинин жогорку регистри (STK_CMPHR)
Таблица 5-8 SysTick салыштыруу маанисинин жогорку реестри
| Bit | аты | Мүмкүнчүлүк | Description | Маани кайра коюу |
| [31:0] | CMPH | RW | Эсептөөчүнүн салыштыруу маанисин 32 бит жогору коюңуз. CMP мааниси менен CNT мааниси барабар болгондо STK үзгүлтүккө учурайт.
Бул регистрди 8-бит/16-бит/32-бит окуса болот, бирок 8-бит менен гана жазылышы мүмкүн. Эскертүү: V3A үчүн гана жарактуу. |
0xXXXXXX XXX |
Эскертүү: V3Aдагы STK_CMPLR жана STK_CMPHR регистрлери чогуу 64 биттик эсептегич салыштыруу маанисин түзөт.
Процессордун аз кубаттуулугу жөндөөлөрү
- QingKe V3 сериясындагы микропроцессорлор аз статикалык энергия керектөө үчүн WFI (Үзгүлтүккө күтүү) көрсөтмөсү аркылуу уйку абалын колдойт.
- PFIC тутумунун башкаруу реестри (PFIC_SCTLR) менен бирге ар кандай Уйку режимдери жана WFE нускамалары ишке ашырылышы мүмкүн.
Уйкуга кириңиз
- QingKe V3 сериясындагы микропроцессорлор эки жол менен уктай алышат: Үзгүлтүккө учураууну күтүү (WFI) жана Окуяны күтүү (WFE). WFI ыкмасы микропроцессор уктап, үзгүлтүктүн ойгонушун күтүп, андан кийин аткаруу үчүн тиешелүү үзгүлтүккө чейин ойгонушун билдирет. WFE методу микропроцессор уктап, окуянын ойгонушун күтүп, мурда токтотулган программа агымын аткарууну улантуу үчүн ойгонушун билдирет.
- Стандарттык RISC-V WFI инструкциясын колдойт жана WFI буйругу WFI ыкмасы менен уйкуга кирүү үчүн түздөн-түз аткарылышы мүмкүн. WFE методу үчүн PFIC_SCTLR тутумунун башкаруу регистриндеги WFITOWFE бити WFE процесси катары кийинки WFI буйруктарын башкаруу үчүн, WFE ыкмасына уйкуга кирүү үчүн колдонулат.
- Уйкунун тереңдиги PFIC_SCTLR ичиндеги SLEEPDEEP битине ылайык башкарылат.
- Эгерде PFIC_SCTLR регистриндеги SLEEPDEEP нөлгө чейин тазаланган болсо, микропроцессор Уйку режимине кирет жана SysTick жана ойготуу логикасынын бир бөлүгүнөн башка ички блоктун саатын өчүрүүгө уруксат берилет.
- PFIC_SCTLR регистринде SLEEPDEEP коюлса, микропроцессор Терең уйку режимине өтөт жана бардык уюлдук сааттарды өчүрүүгө уруксат берилет.
- Микропроцессор мүчүлүштүктөрдү оңдоо режиминде болгондо, Уйку режиминин эч кандай түрүн кирүү мүмкүн эмес.
Уйку ойготуу
QingKe V3 сериясындагы микропроцессорлорду төмөнкү жолдор менен WFI жана WFE себептүү уйкудан кийин ойготууга болот.
WFI ыкмасы уктагандан кийин, аны ойготууга болот
- Микропроцессорду үзгүлтүккө учуроочу контроллер жооп берген үзгүлтүк булагы ойгото алат. Ойгонгондон кийин микропроцессор адегенде үзгүлтүккө учуратуу функциясын аткарат.
- Уйку режимине кириңиз, мүчүлүштүктөрдү оңдоо өтүнүчү микропроцессорду ойготуп, терең уйкуга кире алат, мүчүлүштүктөрдү оңдоо өтүнүчү микропроцессорду ойгото албайт.
WFE ыкмасы уктагандан кийин, микропроцессорду төмөндөгүлөр ойготсо болот.
- Үзгүлтүк контроллерин конфигурациялоонун кереги жок болгондо, ички же тышкы окуялар, ойгонуп, программаны аткарууну улантыңыз.
- Эгерде үзүлүү булагы иштетилсе, микропроцессор үзгүлтүк пайда болгондо ойготулуп, ойгонгондон кийин микропроцессор алгач үзгүлтүккө учуратуу функциясын аткарат.
- Эгерде PFIC_SCTLR ичиндеги SEVONPEND бити конфигурацияланса, үзгүлтүктүн контроллери үзгүлтүктү иштетпейт, бирок жаңы үзгүлтүк күтүүдө сигнал генерацияланганда (мурда түзүлгөн күтүү сигналы күчүнө кирбейт), ал микропроцессорду да ойгото алат жана тиешелүү үзгүлтүктү күтүүдө желек ойгонгондон кийин кол менен тазаланышы керек.
- Уйку режимине кириңиз мүчүлүштүктөрдү оңдоо өтүнүчү микропроцессорду ойготуп, терең уйкуга киргизет, мүчүлүштүктөрдү оңдоо өтүнүчү микропроцессорду ойгото албайт.
- Кошумчалай кетсек, ойгонгондон кийинки микропроцессордун абалын PFIC_SCTLR ичинде SLEEPONEXIT битин конфигурациялоо аркылуу башкарууга болот.
- SLEEPONEXIT орнотулду жана акыркы деңгээлдеги үзгүлтүктөрдү кайтаруу нускамасы (mret) WFI режиминин уйкусун иштетет.
SLEEPONEXIT эч кандай таасири жок тазаланат.
V3 сериясындагы микропроцессорлор менен жабдылган ар кандай MCU өнүмдөрү ар кандай уйку режимдерин кабыл алып, ар кандай перифериялык түзүлүштөрдү жана сааттарды өчүрүп, PFIC_SCTLRдин ар кандай конфигурацияларына ылайык ар кандай кубат башкаруу саясатын жана ойготуу ыкмаларын ишке ашырып, ар кандай аз кубаттуулук режимдерин ишке ашыра алат.
Мүчүлүштүктөрдү оңдоону колдоо
- QingKe V3 сериясындагы микропроцессорлор татаал мүчүлүштүктөрдү оңдоо операцияларын колдогон аппараттык мүчүлүштүктөрдү оңдоо модулун камтыйт. Микропроцессор токтотулганда, мүчүлүштүктөрдү оңдоо модулу микропроцессордун GPR, CSR, Эстутум, тышкы түзүлүштөр ж.б. аркылуу абстракттуу буйруктар, программа буферин жайылтуу көрсөтмөлөрү ж.
- Мүчүлүштүктөрдү оңдоо модулу RISC-V тышкы мүчүлүштүктөрдү оңдоону колдоо Version0.13.2 спецификациясына ылайык келет, деталдуу документтерди RISC-V Internationalдан көчүрүп алса болот. webсайт.
Мүчүлүштүктөрдү оңдоо модулу
- Микропроцессордун ичиндеги мүчүлүштүктөрдү оңдоо модулу, мүчүлүштүктөрдү оңдоочу хост тарабынан чыгарылган мүчүлүштүктөрдү оңдоо операцияларын аткарууга жөндөмдүү.
- Мүчүлүштүктөрдү оңдоо интерфейси аркылуу регистрлерге кирүү
- Мүчүлүштүктөрдү оңдоо интерфейси аркылуу микропроцессорду баштапкы абалга келтириңиз, токтотуңуз жана улантыңыз
- Мүчүлүштүктөрдү оңдоо интерфейси аркылуу эстутумду, нускама регистрлерин жана тышкы түзмөктөрдү окуу жана жазуу
- Мүчүлүштүктөрдү оңдоо интерфейси аркылуу бир нече ыктыярдуу нускамаларды жайгаштырыңыз
- Мүчүлүштүктөрдү оңдоо интерфейси аркылуу программалык камсыздоонун үзүлүү чекиттерин коюңуз
- Мүчүлүштүктөрдү оңдоо интерфейси аркылуу жабдыктын үзүлүү чекиттерин коюңуз
- Абстракттуу буйрукту автоматтык түрдө аткарууну колдоо
- Бир кадамдуу мүчүлүштүктөрдү оңдоону колдоо
- Эскертүү: V3A аппараттык үзгүлтүккө учуроо чекиттерин колдобойт, V3B аппараттык үзгүлтүккө учуроо чекиттери нускама дарегин дал келүүнү колдойт, ал эми V3C аппараттык үзгүлтүккө учуроо чекиттери нускама дарегин жана маалымат дарегин дал келүүнү колдойт.
- Мүчүлүштүктөрдү оңдоо модулунун ички регистрлери 7 биттик дарек кодун колдонушат жана төмөнкү регистрлер QingKe V3 сериясындагы микропроцессорлордун ичинде ишке ашырылат.
Таблица 7-1 Мүчүлүштүктөрдү оңдоо модулунун реестринин тизмеси
| аты | Кирүү дареги | Description |
| маалыматтар0 | 0x04 | Маалымат реестри 0, маалыматтарды убактылуу сактоо үчүн колдонулушу мүмкүн |
| маалыматтар1 | 0x05 | Маалымат реестри 1, маалыматтарды убактылуу сактоо үчүн колдонулушу мүмкүн |
| деконтролдоо | 0x10 | Мүчүлүштүктөрдү оңдоо модулунун башкаруу реестри |
| dmstatus | 0x11 | Мүчүлүштүктөрдү оңдоо модулунун абалы реестри |
| hartinfo | 0x12 | Микропроцессордун абалынын реестри |
| рефераттар | 0x16 | Абстракттуу буйрук статусунун реестри |
| буйрук | 0x17 | Абстракттуу буйрук реестри |
| абстракттуу авто | 0x18 | Абстракттуу буйрукту автоматтык түрдө аткаруу |
| progbuf0-7 | 0x20-0x27 | Инструкция кэш регистрлери 0-7 |
| haltsum0 | 0x40 | Статус реестрин тындыруу |
- Мүчүлүштүктөрдү оңдоо хосту контролдон чыгаруу регистрин конфигурациялоо менен микропроцессордун убактылуу токтоп турушун, улантуусун, баштапкы абалга келтирүүнү ж.б. башкара алат. RISC-V стандарты абстракттуу буйруктардын үч түрүн аныктайт: кирүү регистри, тез жетүү жана кирүү эс тутуму.
- QingKe V3A микропроцессору регистрге кирүүнү гана колдойт, башка моделдер регистрди жана эстутум мүмкүнчүлүгүн колдойт, бирок тез жетүү эмес. Регистрлерге (GPRs, CSRs) жетүү жана эстутумга үзгүлтүксүз жетүү абстракттуу буйруктар аркылуу ишке ашырылышы мүмкүн.
- Мүчүлүштүктөрдү оңдоо модулу 8 нускама кэш регистрлерин progbuf0-7 ишке ашырат, ал эми мүчүлүштүктөрдү оңдоо хосту буферге бир нече нускамаларды кэштей алат (кысылган нускамалар болушу мүмкүн) жана абстракттуу буйрукту аткаргандан кийин нускамалардын кэш регистрлериндеги нускамаларды аткарууну улантууну тандай алат. кэштелген нускамалар түздөн-түз.
- Эскертүү программалардагы акыркы нускама "ebreak" же "c.ebreak" инструкциясы болушу керек. Сактагычка, перифериялык түзүлүштөргө жана башкаларга кирүү абстракттуу буйруктар жана программаларда кэштелген нускамалар аркылуу да мүмкүн.
- Ар бир реестр төмөнкүдөй майда-чүйдөсүнө чейин сүрөттөлөт.
- Маалымат реестри 0 (дата0)
Таблица 7-2 маалыматтар реестринин аныктамасы
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:0] | маалыматтар0 | RW | Маалымат реестри 0, маалыматтарды убактылуу сактоо үчүн колдонулат | 0 |
Маалымат реестри 1 (дата1)
Таблица 7-3 data1 регистр аныктамасы
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:0] | маалыматтар1 | RW | Маалымат реестри 1, маалыматтарды убактылуу сактоо үчүн колдонулат | 0 |
Мүчүлүштүктөрдү оңдоо модулунун башкаруу реестри (башкаруудан чыгаруу)
Бул регистр микропроцессордун тынымын, баштапкы абалга келтирилишин жана улантуусун көзөмөлдөйт. Мүчүлүштүктөрдү оңдоо хосту тыным (haltreq), баштапкы абалга келтирүү (ndmreset), улантуу (resumeq) үчүн тиешелүү талаага маалыматтарды жазат. Сиз төмөндөгүлөрдү сүрөттөп бересиз.
Таблица 7-4 деконтролдук реестрдин аныктамасы
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| 31 | haltreq | WO | 0: Тыныгуу өтүнүчүн тазалоо
1: Тыныгуу өтүнүчүн жөнөтүү |
0 |
| 30 | resumeq | W1 | 0: Жараксыз
1: Учурдагы микропроцессорду калыбына келтириңиз Эскертүү: Жазуу 1 жарактуу жана микропроцессор калыбына келтирилгенден кийин аппараттык камсыздоо тазаланат |
0 |
| 29 | Резервге коюлган | RO | Резервге коюлган | 0 |
| 28 | ackhavereset | W1 | 0: Жараксыз
1: Микропроцессордун жыйноо статусун тазалаңыз |
0 |
| [27:2] | Резервге коюлган | RO | Резервге коюлган | 0 |
| 1 | ndmreset | RW | 0: баштапкы абалга келтирүүнү тазалоо
1: Мүчүлүштүктөрдү оңдоо модулунан башка бүт системаны баштапкы абалга келтириңиз |
0 |
| 0 | өчүрүү | RW | 0: Мүчүлүштүктөрдү оңдоо модулун баштапкы абалга келтириңиз
1: Debug модулу туура иштейт |
0 |
Мүчүлүштүктөрдү оңдоо модулунун статусу реестри (DM статусу)
- Бул регистр мүчүлүштүктөрдү оңдоо модулунун абалын көрсөтүү үчүн колдонулат жана ар бир биттин төмөндөгү сүрөттөлүшү менен окуу үчүн гана регистр болуп саналат.
Таблица 7-5 dmstatus регистринин аныктамасы
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:20] | Резервге коюлган | RO | Резервге коюлган | 0 |
| 19 | allhavereset | RO | 0: Жараксыз
1: Микропроцессорду баштапкы абалга келтирүү |
0 |
| 18 | anyhavereset | RO | 0: Жараксыз
1: Микропроцессорду баштапкы абалга келтирүү |
0 |
| 17 | allresueack | RO | 0: Жараксыз
1: Микропроцессорду баштапкы абалга келтирүү |
0 |
| 16 | anyresueck | RO | 0: Жараксыз
1: Микропроцессорду баштапкы абалга келтирүү |
0 |
| [15:14] | Резервге коюлган | RO | Резервге коюлган | 0 |
| 13 | аллювий | RO | 0: Жараксыз
1: Микропроцессор жеткиликтүү эмес |
0 |
| 12 | кандайдыр бир пайда | RO | 0: Жараксыз
1: Микропроцессор жеткиликтүү эмес |
0 |
| 11 | баары чуркап | RO | 0: Жараксыз
1: Микропроцессор иштеп жатат |
0 |
| 10 | ар кандай чуркоо | RO | 0: Жараксыз
1: Микропроцессор иштеп жатат |
0 |
| 9 | токтоду | RO | 0: Жараксыз
1: Микропроцессор токтоп турат |
0 |
| 8 | кандайдыр бир токтоп турат | RO | 0: Жараксыз
1: Микропроцессор суспензиядан чыккан |
0 |
| 7 | аутентификацияланган |
RO |
0: Мүчүлүштүктөрдү аныктоо модулун колдонуудан мурун аутентификация талап кылынат
1: Мүчүлүштүктөрдү оңдоо модулу тастыкталды |
0x1 |
| [6:4] | Резервге коюлган | RO | Резервге коюлган | 0 |
| [3:0] | версия | RO | Мүчүлүштүктөрдү оңдоо тутумунун архитектуралык версиясы 0010: V0.13 | 0x2 |
Микропроцессордун статусу реестри (hartinfo)
Бул регистр мүчүлүштүктөрдү оңдоо хостуна микропроцессор жөнүндө маалымат берүү үчүн колдонулат жана төмөндөгүдөй сүрөттөлгөн ар бир бит менен окуу үчүн гана регистр болуп саналат.
Таблица 7-6 hartinfo реестри аныктамасы
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:24] | Резервге коюлган | RO | Резервге коюлган | 0 |
| [23:20] | чийүү | RO | Колдоого алынган сызык регистрлеринин саны | 0x3 |
| [19:17] | Резервге коюлган | RO | Резервге коюлган | 0 |
| 16 | DataAccess | RO | 0: Маалыматтар реестри CSR дарегине түшүрүлгөн
1: Маалымат реестри эстутум дарегине окшоштурулган |
0x1 |
| [15:12] | маалымат өлчөмү | RO | Маалымат реестрлеринин саны | 0x2 |
| [11:0] | маалыматтарды кошуу |
RO |
Маалымат реестринин маалыматтарынын офсеттик дареги0,
анын базалык дареги 0xe0000000, атайын окууга тийиш. |
0xXXX |
Абстракттуу командалык башкаруу жана статус регистрлери (тезистер)
Бул регистр абстракттуу команданын аткарылышын көрсөтүү үчүн колдонулат. Мүчүлүштүктөрдү оңдоочу хост бул регистрди окуп, акыркы абстракттуу буйруктун аткарылганын же аткарылбаганын биле алат жана абстракттуу буйрукту аткарууда ката пайда болгон-болбогондугун жана катанын түрүн текшере алат, ал төмөндөгүдөй кеңири сүрөттөлөт.
Таблица 7-7 регистрдик аныктамалардын тезистери
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:29] | Резервге коюлган | RO | Резервге коюлган | 0 |
| [28:24] | progbufsize | RO | Программа буфер программасынын санын көрсөтөт
кэш регистрлери |
0x8 |
| [23:13] | Резервге коюлган | RO | Резервге коюлган | 0 |
| 12 | бош эмес | RO | 0: Эч кандай абстракттуу буйрук аткарылбайт
1: Абстракттуу буйруктар аткарылууда Эскертүү: Аткаруудан кийин аппараттык камсыздоо тазаланат. |
0 |
| 11 | Резервге коюлган | RO | Резервге коюлган | 0 |
| [10:8] | cmder | RW | Абстракттуу буйрук катасы 000 түрү: Ката жок
001: Командага, рефераттарга, абстракттуу авто регистрлерге жазуу же маалыматтарга жана прогбуф регистрлерине окуу жана жазуу үчүн абстракттуу буйрукту аткаруу 010: Учурдагы абстракттуу буйрукту колдобойт 011: Абстракттуу буйрукту аткаруу 100дөн башкасы: Микропроцессор убактылуу токтотулган же жеткиликсиз жана абстракттуу буйруктарды аткара албайт 101: Автобус катасы 110: Байланыш учурунда паритеттик бит катасы 111: Башка каталар Эскертүү: Бит жазуу үчүн 1 нөлдү тазалоо үчүн колдонулат. |
0 |
| [7:4] | Резервге коюлган | RO | Резервге коюлган | 0 |
| [3:0] | арзандатуу | RO | Маалымат реестрлеринин саны | 0x2 |
- Мүчүлүштүктөрдү оңдоо хосттору абстракттуу буйрук реестрине ар кандай конфигурация маанилерин жазуу менен GPRларга, CSR регистрлерине жана эстутумга кире алышат.
- Регистрлерге кирүүдө командалык регистр биттери төмөнкүдөй аныкталат.
- Таблица 7-8 Регистрлерге кирүүдө командалык регистрди аныктоо
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:24] | cmd түрү | WO | Абстракттуу буйруктун түрү 0: Кирүү реестри;
1: Ыкчам жетүү (колдоого алынбайт); 2: Эстутумга кирүү. |
0 |
| 23 | Резервге коюлган | WO | Резервге коюлган | 0 |
| [22:20] | aarsize | WO | Кирүү реестринин берилиштеринин бит кеңдиги 000: 8-бит
001: 16-бит 010: 32-бит |
0 |
| 011: 64-бит (колдоого алынбайт) 100: 128-бит (колдоого алынбайт)
Эскертүү: калкыма чекит регистрлерине кирүүдө FPRs, бир гана 32-бит жетүү колдоого алынат. |
||||
| 19 | aarpostincrement | WO | 0: Эффект жок
1: Реестрге киргенден кийин regno маанисин автоматтык түрдө жогорулатуу |
0 |
| 18 | post exec | WO | 0: Эффект жок
1: абстракттуу команданы аткарыңыз, андан кийин progbuf ичиндеги буйрукту аткарыңыз |
0 |
| 17 | өткөрүп берүү | WO | 0: Жазуу менен көрсөтүлгөн операцияны аткарбаңыз
1: Жазуу менен көрсөтүлгөн манипуляцияны аткарыңыз |
0 |
| 16 | жаз | WO | 0: Белгиленген реестрден маалыматтарды data0го көчүрүү 1: Data0 регистринен маалыматтарды көрсөтүлгөн регистрге көчүрүү |
0 |
| [15:0] | regno | WO | Кирүү регистрлерин көрсөтүңүз 0x0000-0x0fff CSR болуп саналат 0x1000-0x101f GPR болуп саналат |
0 |
Эстутумга кирүүдө командалык регистрдеги биттер төмөнкүдөй аныкталат.
Таблица 7-9 Команданын аныктамасы Эстутумга кирүүдө регистр
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:24] | cmd түрү | WO | Абстракттуу буйруктун түрү 0: Кирүү реестри;
1: Ыкчам жетүү (колдоого алынбайт); 2: Эстутумга кирүү. |
0 |
| 23 | aamvirtual | WO | 0: Физикалык дарекке мүмкүнчүлүк алуу;
1: Виртуалдык дарекке кирүү. |
0 |
| [22:20] | кол өлчөмү | WO | Кирүү эстутум маалыматтарынын бит кеңдиги 000: 8-бит;
001: 16-бит; 010: 32-бит; 011: 64-бит (колдоого алынбайт); 100: 128-бит (колдоого алынбайт); |
0 |
| 19 | aampostincrement | WO | 0: таасири жок;
1: Эстутумга ийгиликтүү киргенден кийин, data1 регистринде сакталган даректи колдун өлчөмү менен конфигурацияланган бит туурасына туура келген байттардын санына көбөйтүңүз. Aamsize=0, байт менен жеткиликтүү, маалымат1 плюс 1. Aamsize=1, жарым сөз менен жеткиликтүү, data1 плюс 2. aamsize=2, бит менен жеткиликтүү, маалымат1 плюс 4. |
0 |
| 18 | post exec | WO | 0: таасири жок;
1: абстракттуу буйрукту аткаргандан кийин progbuf ичиндеги буйрукту аткарыңыз. |
0 |
| 17 | Резерв | RO | Резервге коюлган | 0 |
|
16 |
жаз |
WO |
0: data1 тарабынан көрсөтүлгөн даректен маалымат0га чейин маалыматтарды окуу
1: data0 менен көрсөтүлгөн дарекке маалыматтарды жазыңыз маалыматтар1. |
0 |
|
[15:14] |
максаттуу |
WO |
Окуу жана жазуу режиминин аныктамасы Жазыңыз:
00, 01: Эстутумга түз жазыңыз; 10: Data0 ичиндеги маалыматтар ЖЕ эстутумдагы маалымат биттери менен болгондон кийин, натыйжа эстутумга жазылат (Бир гана сөзгө жетүү колдоого алынат). 11: Data0 ичиндеги маалыматтарды эстутумдагы маалымат биттери менен жыйынтыктагандан кийин, натыйжаны эстутумга жазыңыз (Сөзгө жетүү гана колдоого алынат). Оку: 00, 01, 10, 11: 0ду түздөн-түз эс тутумдан оку. |
0 |
| [13:0] | Резерв | RO | Резервге коюлган |
Абстракттуу буйрукту автоматтык түрдө аткаруу реестри (абстракттуу авто)
Бул регистр мүчүлүштүктөрдү оңдоо модулун конфигурациялоо үчүн колдонулат. Мүчүлүштүктөрдү оңдоо модулунун progbufx жана маалыматтарын окуп жана жазганда абстракттуу команда кайра аткарылышы мүмкүн.
Бул реестрдин сүрөттөлүшү төмөнкүдөй:
Таблица 7-10 абстракттуу авторегистр аныктамасы
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:16] | autoexecprogbuf | RW | Эгерде бит коюлса, progbufx тиешелүү окуу жана жазуу буйрук реестриндеги абстракттуу буйруктун кайра аткарылышына себеп болот.
Эскертүү: V3 сериясы 8 прогбуф менен иштелип чыккан, биттерге туура келет [23:16]. |
0 |
| [15:12] | Резерв | RO | Резервге коюлган | 0 |
| [11:0] | autoexecdata |
RW |
Эгерде бит 1ге коюлса, анда маалыматтар реестринин тиешелүү окуусу жана жазуусу Буйрук регистриндеги абстракттуу команданын кайрадан аткарылышын шарттайт.
Эскертүү: V3 сериясы эки маалымат менен иштелип чыккан биттерге туура келген регистрлер [1:0]. |
0 |
Инструкция кэш реестри (progbufx)
Бул реестр ар кандай көрсөтмөлөрдү сактоо үчүн колдонулат жана тиешелүү операцияны, анын ичинде 8ди жайгаштыруу үчүн колдонулат, ал "break" же "c.ebreak" болушу керек болгон акыркы аткарууга көңүл буруу керек.
Таблица 7-11 прогбуф регистринин аныктамасы
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:0] | progbuf | RW | Кэш операциялары үчүн нускамаларды коддоо
кысуу нускамаларын камтышы мүмкүн |
0 |
Статус реестрин тындыруу (haltsum0)
Бул регистр микропроцессордун токтоп калганын же иштебегенин көрсөтүү үчүн колдонулат. Ар бир бит микропроцессордун токтотулган абалын көрсөтөт жана бир гана өзөк болгондо, аны көрсөтүү үчүн бул регистрдин эң төмөнкү биттери гана колдонулат.
Таблица 7-12 haltsum0 регистр аныктамасы
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:1] | Резервге коюлган | RO | Резервге коюлган | 0 |
| 0 | haltsum0 | RO | 0: Микропроцессор кадимкидей иштейт
1: Микропроцессорду токтотуу |
0 |
- Мүчүлүштүктөрдү оңдоо модулунун жогоруда айтылган регистрлеринен тышкары, мүчүлүштүктөрдү оңдоо функциясына кээ бир CSR регистрлери да кирет, негизинен мүчүлүштүктөрдү оңдоону башкаруу жана абал регистри dcsr жана мүчүлүштүктөрдү оңдоо инструкциясынын көрсөткүчү dpc, алар төмөндөгүдөй кеңири сүрөттөлөт.
- Мүчүлүштүктөрдү оңдоону көзөмөлдөө жана абал реестри (dcsr)
Таблица 7-13 dcsr регистр аныктамасы
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:28] | xdebugver | DRO | 0000: Тышкы мүчүлүштүктөрдү оңдоо колдоого алынбайт 0100: Стандарттык тышкы мүчүлүштүктөрдү оңдоону колдоо
1111: Тышкы мүчүлүштүктөрдү оңдоо колдоого алынат, бирок жооп бербейт спецификация |
0x4 |
| [27:16] | Резервге коюлган | DRO | Резервге коюлган | 0 |
| 15 | тыныгуу | DRW | 0: Машина режиминде тыныгуу буйругу артыкчылыкта сүрөттөлгөндөй иштейт file
1: Машина режиминде тыныгуу буйругу мүчүлүштүктөрдү оңдоо режимине кире алат |
0 |
| [14:13] | Резервге коюлган | DRO | Резервге коюлган | 0 |
| 12 | ажырашуу |
DRW |
0: Колдонуучу режиминде тыныгуу буйругу артыкчылыкта сүрөттөлгөндөй иштейт file
1: Колдонуучу режиминдеги тыныгуу буйругу мүчүлүштүктөрдү оңдоо режимине кире алат |
0 |
| 11 | кадам | DRW | 0: Үзүлүүлөр бир кадамдуу мүчүлүштүктөрдү оңдоодо өчүрүлгөн
1: Бир кадамдуу мүчүлүштүктөрдү оңдоонун алкагында үзгүлтүктөрдү иштетүү |
0 |
| 10 | Резервге коюлган | DRO | Резервге коюлган | 0 |
| 9 | убакытты токтотуу | DRW | 0: Debug режиминде иштеп жаткан система таймери
1: Тутум таймери мүчүлүштүктөрдү оңдоо режиминде токтойт |
0 |
| [8:6] | себеп | DRO | Мүчүлүштүктөрдү оңдоону киргизүүнүн себептери
001: Мүчүлүштүктөрдү оңдоону үзгүлтүккө учуратуу буйругу түрүндө киргизүү (3-артыкчылык) 010: Мүчүлүштүктөрдү оңдоону триггер модулу түрүндө киргизүү (артыкчылык 4, эң жогорку) 011: Мүчүлүштүктөрдү оңдоону тындыруу өтүнүчү түрүндө киргизүү (1-артыкчылык) 100: бир кадамдуу мүчүлүштүктөрдү оңдоо түрүндө (артыкчылык 0, эң төмөнкү) |
0 |
| 101: микропроцессорду баштапкы абалга келтиргенден кийин түз эле мүчүлүштүктөрдү оңдоо режимине кириңиз (артыкчылык 2) Башкалары: Резервдик | ||||
| [5:3] | Резервге коюлган | DRO | Резервге коюлган | 0 |
| 2 | кадам | DRW | 0: Бир кадамдуу мүчүлүштүктөрдү оңдоону өчүрүү
1: Бир кадамдуу мүчүлүштүктөрдү оңдоону иштетүү |
0 |
| [1:0] | Мурунку | DRW | Артыкчылык режими 00: Колдонуучу режими
01: Supervisor режими (колдоого алынбайт) 10: Резервге коюлган 11: Машина режими Эскертүү: Мүчүлүштүктөрдү оңдоо режимине киргенде артыкчылыктуу режимди жазыңыз, мүчүлүштүктөрдү оңдоочу бул маанини оңдоодон чыкканда артыкчылыктуу режимди өзгөртүү үчүн өзгөртө алат |
0 |
Мүчүлүштүктөрдү оңдоо режиминин программа көрсөткүчү (DPC)
- Бул регистр микропроцессор мүчүлүштүктөрдү оңдоо режимине киргенден кийин аткарыла турган кийинки инструкциянын дарегин сактоо үчүн колдонулат жана анын мааниси мүчүлүштүктөрдү оңдоону киргизүүнүн себебине жараша ар кандай эрежелер менен жаңыланат. dpc реестри төмөнкүдөй майда-чүйдөсүнө чейин сүрөттөлгөн.
Таблица 7-14 dpc реестр аныктамалары
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:0] | DPC | DRW | Көрсөтмө дареги | 0 |
Реестрлерди жаңылоо эрежелери төмөнкү таблицада көрсөтүлгөн.
Таблица 7-15 dpc жаңыртуу эрежелери
| Мүчүлүштүктөрдү оңдоо ыкмасын киргизиңиз | dpc Жаңыртуу эрежелери |
| тыныгуу | Ebreak нускамасынын дареги |
| бир кадам | Учурдагы инструкциянын кийинки инструкциясынын нускама дареги |
| триггер модулу | Убактылуу колдоого алынбайт |
| токтотуу өтүнүчү | Мүчүлүштүктөрдү оңдоого киргенде аткарыла турган кийинки нускаманын дареги |
Мүчүлүштүктөрдү оңдоо интерфейси
- Стандарттан айырмаланган ЖTAG RISC-V тарабынан аныкталган интерфейс, QingKe V3 сериясындагы микропроцессор 1- зым/2-зым сериялык мүчүлүштүктөрдү оңдоо интерфейсин кабыл алат жана WCH мүчүлүштүктөрдү оңдоо интерфейсинин V1.0 протоколуна ылайык келет.
- Мүчүлүштүктөрдү оңдоо интерфейси мүчүлүштүктөрдү оңдоо хосту менен мүчүлүштүктөрдү оңдоо модулунун ортосундагы байланыш үчүн жооп берет жана мүчүлүштүктөрдү оңдоочу хосттун каталарды оңдоо модулунун регистрлерине окуу/жазуу операциясын ишке ашырат.
- WCH WCH_Linkти иштеп чыккан жана анын схемалык жана программалык бинардык булагы ачык files, ал RISC-V архитектурасынын бардык микропроцессорлорун оңдоо үчүн колдонулушу мүмкүн.
- Мүчүлүштүктөрдү оңдоо интерфейсинин конкреттүү протоколдору үчүн WCH мүчүлүштүктөрдү оңдоо протоколунун колдонмосун караңыз.
CSR реестринин тизмеси
- RISC-V архитектурасы микропроцессордун иштөө абалын көзөмөлдөө жана жазуу үчүн бир катар Башкаруу жана Статус Регистрлерин (CSR) аныктайт.
- Кээ бир CSR мурунку бөлүмдө киргизилген жана бул бөлүм QingKe V3 сериясындагы микропроцессорлордо ишке ашырылган CSR регистрлери жөнүндө кеңири маалымат берет.
CSR реестринин тизмеси
Таблица 8-1 Микропроцессордук CSR регистрлеринин тизмеси
| Type | аты | CSR Дарек | Мүмкүнчүлүк | Description |
| RISC-V
Стандарттык CSR |
марчид | 0xF12 | MRO | Архитектура номер реестри |
| жумшак | 0xF13 | MRO | Аппараттык камсыздоону ишке ашыруунун номерлөө реестри | |
| mstatus | 0x300 | MRW | Статус регистр | |
| misa | 0x301 | MRW | Аппараттык инструкциялар топтому реестри | |
| mtvec | 0x305 | MRW | Өзгөчө негизги дарек реестри | |
| mscratch | 0x340 | MRW | Машина режими stagкаттоо | |
| MEPC | 0x341 | MRW | Өзгөчө программа көрсөткүчү реестри | |
| себеби | 0x342 | MRW | Өзгөчө себептердин реестри | |
| mtval | 0x343 | MRW | Өзгөчө маани реестри | |
| pmpcfg | 0x3A0+i | MRW | PMP конфигурациясынын реестри | |
| pmpaddr | 0x3B0+i | MRW | PMP дарек реестри | |
| тандоо | 0x7A0 | MRW | Мүчүлүштүктөрдү оңдоо триггер тандоо реестри | |
| tdata1 | 0x7A1 | MRW | Мүчүлүштүктөрдү оңдоо триггер маалыматтар реестри 1 | |
| tdata2 | 0x7A2 | MRW | Мүчүлүштүктөрдү оңдоо триггер маалыматтар реестри 2 | |
| dcsr | 0x7B0 | DRW | Мүчүлүштүктөрдү оңдоону көзөмөлдөө жана статус регистрлери | |
| dpc | 0x7B1 | DRW | Мүчүлүштүктөрдү оңдоо режими программа көрсөткүчүнүн регистри | |
| dscratch0 | 0x7B2 | DRW | Мүчүлүштүктөрдү оңдоо режими stagкаттоо 0 | |
| dscratch1 | 0x7B3 | DRW | Мүчүлүштүктөрдү оңдоо режими stagкаттоо 1 | |
|
Сатуучу аныктаган CSR |
гинтенр | 0x800 | URW | Глобалдык үзгүлтүктү иштетүү реестри |
| intsyscr | 0x804 | URW | Үзгүлтүк системанын башкаруу реестри | |
| corecfgr | 0xBC0 | MRW | Микропроцессордун конфигурациясынын реестри | |
| inestcr | 0xBC1 | MRW | Уюшкан башкаруу реестрин үзүү |
RISC-V стандарттык CSR регистрлери
- Архитектура номер реестри (мархид)
- Бул реестр негизинен сатуучунун кодунан, архитектуралык коддон, сериялык коддон жана версия кодунан турган учурдагы микропроцессордук аппараттык архитектуранын номерин көрсөтүү үчүн окуу үчүн гана реестр болуп саналат. Алардын ар бири төмөнкүдөй аныкталат.
Таблица 8-2 март реестринин аныктамасы
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| 31 | Резервге коюлган | MRO | Резервге коюлган | 1 |
| [30:26] | Vender0 | MRO | Өндүрүүчүнүн коду 0
"W" тамгасына бекитилген код |
0x17 |
| [25:21] | Vender1 | MRO | Өндүрүүчүнүн коду 1
"С" тамгасы коду менен бекитилген |
0x03 |
| [20:16] | Vender2 | MRO | Өндүрүүчүнүн коду 2
"H" тамгасына бекитилген код |
0x08 |
| 15 | Резервге коюлган | MRO | Резервге коюлган | 1 |
| [14:10] | Арк | MRO | Архитектура коду | 0x16 |
| RISC-V архитектурасы "V" тамгасына бекитилген | ||||
| [9:5] | Сериал | MRO | Сериянын коду
QingKe V3 сериясы, "3" санына бекитилген |
0x03 |
| [4:0] | Версия | MRO | Версия коду
Коддун "A", "B", "C" версиясы жана башка тамгалары болушу мүмкүн |
x |
Өндүрүүчүнүн номери жана версия номери алфавиттик, ал эми серия номери сандык. Тамгалардын коддоо таблицасы төмөнкү таблицада көрсөтүлгөн.
Таблица 8-3 Алфавиттик карта түзүү таблицасы
| 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 |
- Алардын арасында QingKe V3A микропроцессору, регистр 0гө чейин окуйт.
Аппараттык камсыздоону ишке ашыруунун номерлөө реестри (тунук)
- Бул реестр негизинен сатуучулардын коддорунан турат, алардын ар бири төмөндөгүдөй аныкталат.
Таблица 8-4 тунук регистр аныктамасы
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| 31 | Резервге коюлган | MRO | Резервге коюлган | 1 |
| [30:26] | Vender0 | MRO | Өндүрүүчүнүн коду 0
"W" тамгасына бекитилген код |
0x17 |
| [25:21] | Vender1 | MRO | Өндүрүүчүнүн коду 1
"С" тамгасы коду менен бекитилген |
0x03 |
| [20:16] | Vender2 | MRO | Өндүрүүчүнүн коду 2
"H" тамгасына бекитилген код |
0x08 |
| 15 | Резервге коюлган | MRO | Резервге коюлган | 1 |
| [14:8] | Резервге коюлган | MRO | Резервге коюлган | 0 |
| [7:4] | Кичинекей | MRO | Subversion саны | 0xX |
| [3:0] | майор | MR0 | Негизги версия номери | 0xX |
- Бул регистрди каалаган машинанын ишке ашыруусунда окуса болот жана QingKe V3A сериясындагы процессордо бул регистр нөлгө чейин окуйт.
Машина режиминин статусу реестри (mstatus)
- Бул реестр мурунку бөлүмдө жарым-жартылай сүрөттөлгөн жана анын адамдары төмөнкүчө жайгаштырылган.
Таблица 8-5 мстатус реестринин аныктамасы
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:13] | Резервге коюлган | MRO | Резервге коюлган | 0 |
| [12:11] | MPP | MRW | Тыныгуу киргенге чейин артыкчылыктуу режим | 0 |
| [10:8] | Резервге коюлган | MRO | Резервге коюлган | 0 |
| 7 | MPIE | MRW | Үзгүлтүккө кирүүдөн мурун үзгүлтүккө учуратууну иштетүү | 0 |
| [6:4] | Резервге коюлган | MRO | Резервге коюлган | 0 |
| 3 | музыка | MRW | Машина режимин үзгүлтүккө учуратууну иштетүү | 0 |
| [2:0] | Резервге коюлган | MRO | Резервге коюлган | 0 |
- MPP талаасы өзгөчө же үзгүлтүккө кирүүдөн мурун артыкчылыктуу режимди сактоо үчүн колдонулат жана өзгөчөлүктөн же үзгүлтүктөн чыккандан кийин артыкчылыктуу режимди калыбына келтирүү үчүн колдонулат. MIE глобалдык үзгүлтүккө мүмкүндүк берүүчү бит болуп саналат жана өзгөчөлүккө же үзгүлтүккө киргенде, MPIE мааниси MIE маанисине жаңыртылат жана QingKe V3 сериясындагы микропроцессорлордо MIE 0гө чейин жаңыланбай турганын белгилей кетүү керек. Машина режиминде үзгүлтүккө уя салуу аткарылышын камсыз кылуу үчүн уя салынган үзгүлтүктөрдүн акыркы деңгээли. Өзгөчө кырдаалдан же үзгүлтүктөн чыкканда, микропроцессор MPP тарабынан сакталган Машина режимине кайтып келет, ал эми MIE MPIE маанисине кайтарылат.
- QingKe V3 микропроцессору Машина режимин жана Колдонуучу режимин колдойт, эгерде сиз микропроцессорду Машина режиминде гана иштешиңиз керек болсо, жүктөөнү инициализациялоодо MPPди 0x3 кылып орното аласыз. file, башкача айтканда, кайтып келгенден кийин, ал дайыма Машина режиминде калат.
Аппараттык инструкциялар топтому реестри (миса)
- Бул регистр микропроцессордун архитектурасын жана колдоого алынган инструкциялар комплексинин кеңейтүүлөрүн көрсөтүү үчүн колдонулат, алардын ар бири төмөндөгүдөй сүрөттөлөт.
Таблица 8-6 misa реестр аныктамасы
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:30] | MXL | MRO | Машина сөзүнүн узундугу 1:32
2:64 3:128 |
1 |
| [29:26] | Резервге коюлган | MRO | Резервге коюлган | 0 |
| [25:0] | Кеңейтүүлөр | MRO | Инструкциялар топтому кеңейтүүлөрү | x |
- MXL микропроцессордун сөз узундугун көрсөтүү үчүн колдонулат, QingKe V3 32 биттик микропроцессорлор жана домен 1ге бекитилген.
- Кеңейтүүлөр микропроцессордун кеңейтилген нускамалардын деталдарын колдой тургандыгын көрсөтүү үчүн колдонулат, ар бири кеңейтүүлөр классын көрсөтөт, анын толук сүрөттөлүшү төмөнкү таблицада көрсөтүлгөн.
Таблица 8-7 Инструкциялар топтомун кеңейтүү чоо-жайы
| Bit | аты | Description |
| 0 | A | Атомдук узартуу |
| 1 | B | Bit-Manipulation кеңейтүү үчүн алдын ала сакталган |
| 2 | C | Кысылган кеңейтүү |
| 3 | D | Эки тактык калкыма чекит узартуу |
| 4 | E | RV32E базасы ISA |
| 5 | F | Бир тактык калкыма чекит узартуу |
| 6 | G | Кошумча стандарттуу кеңейтүүлөр бар |
| 7 | H | Гипервизордун кеңейтүүсү |
| 8 | I | RV32I/64I/128I базасы ISA |
| 9 | J | Динамикалык которулган тилдердин кеңейтилиши үчүн алдын ала сакталган |
| 10 | K | Резервге коюлган |
| 11 | L | Ондук Floating Point кеңейтүү үчүн алдын ала сакталган |
| 12 | M | Бүтүн санды көбөйтүү/бөлүү кеңейтүүсү |
| 13 | N | Колдонуучу деңгээлиндеги үзгүлтүктөр колдоого алынат |
| 14 | O | Резервге коюлган |
| 15 | P | Packed-SIMD кеңейтүүсү үчүн алдын ала сакталган |
| 16 | Q | Төрт тактык калкыма чекит узартуу |
| 17 | R | Резервге коюлган |
| 18 | S | Көзөмөлдөөчү режими ишке ашырылды |
| 19 | T | Транзакциялык эстутумдун кеңейтилиши үчүн алдын ала сакталган |
| 20 | U | Колдонуучу режими ишке ашырылды |
| 21 | V | Вектордук кеңейтүү үчүн алдын ала сакталган |
| 22 | W | Резервге коюлган |
| 23 | X | Стандарттуу эмес кеңейтүүлөр бар |
| 24 | Y | Резервге коюлган |
| 25 | Z | Резервге коюлган |
- Мисалы үчүнample, QingKe V3A микропроцессору үчүн реестрдин мааниси 0x401001105, бул колдоого алынган нускамалар топтому архитектурасы RV32IMAC жана ал Колдонуучу режимин ишке ашырганын билдирет.
Машина режиминин өзгөчөлүгүнүн негизги дарек реестри (mtvec)
- Бул регистр 3.2-бөлүмдө сүрөттөлгөндөй өзгөчөлүктү же үзгүлтүккө учураткычтын негизги дарегин сактоо үчүн колдонулат, ал эми төмөнкү эки бит режимди жана вектордук таблицанын идентификациялоо ыкмасын конфигурациялоо үчүн колдонулат.
Машина режими stagкаттоо (mscratch)
Таблица 8-8 mscratch регистринин аныктамалары
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:0] | mscratch | MRW | Маалыматтарды сактоо | 0 |
Бул регистр 32 биттик окулуучу жана машина режиминде маалыматтарды убактылуу сактоо үчүн жазыла турган регистр. Мисалы үчүнample, өзгөчө учурду же үзгүлтүккө учураткычты киргизүүдө, колдонуучунун стек көрсөткүчү SP бул регистрде сакталат жана үзгүлтүксүз стек көрсөткүчү SP реестрине дайындалат. Өзгөчө кырдаалдан же үзгүлтүккө учурагандан кийин, колдонуучунун стек көрсөткүчүнүн SP маанисин нөлдөн баштап калыбына келтириңиз. Башкача айтканда, үзгүлтүктүү стек жана колдонуучу стек обочолонсо болот.
Машина режиминин өзгөчө программасы көрсөткүч реестри (карта)
Таблица 8-9 mepc реестри аныктамалары
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:0] | mepc | MRW | Өзгөчө процедуранын көрсөткүчү | 0 |
- Бул регистр өзгөчө кырдаалды же үзгүлтүктү киргизүүдө программа көрсөткүчүн сактоо үчүн колдонулат.
- Ал өзгөчөлүк же үзгүлтүк пайда болгондо, өзгөчө учурга кирүүдөн мурун инструкция PC көрсөткүчүн сактоо үчүн колдонулат, ал эми mepc өзгөчө учур же үзгүлтүк иштетилгенде кайтаруу дареги катары колдонулат жана өзгөчө кырдаал же үзгүлтүккө кайтаруу үчүн колдонулат.
- Бирок, муну белгилей кетүү маанилүү.
- Өзгөчө кырдаал болгондо, mepc учурда өзгөчө абалды жаратып жаткан нускаманын компьютердик маанисине жаңыртылат.
- Үзгүлтүккө учураганда, mepc кийинки инструкциянын PC маанисине жаңыртылат.
- Өзгөчө кырдаалды иштеткенден кийин, өзгөчө кырдаалды кайтаруу керек болгондо, сиз mepcтин маанисин өзгөртүүгө көңүл бурушуңуз керек жана кененирээк маалыматты 2-бөлүмдөн табууга болот.
Машина режиминин өзгөчөлүгү себеп регистри (mcause)
Таблица 8-10 регистр аныктамасы
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| 31 | Үзүлүү | MRW | Үзгүлтүктөрдү көрсөтүү талаасы 0: Өзгөчө
1: үзгүлтүккө учуратуу |
0 |
| [30:0] | Exception Code | MRW | Өзгөчө коддор үчүн, чоо-жайын 2-1-таблицадан караңыз | 0 |
- Бул регистр негизинен өзгөчөлүктүн себебин же үзгүлтүктүн үзүлүү санын сактоо үчүн колдонулат. Анын эң жогорку бити - үзгүлтүккө учуроо талаасы, ал учурдагы көрүнүш өзгөчөлүк же үзгүлтүк экенин көрсөтүү үчүн колдонулат.
- Төмөнкү бит өзгөчө себепти көрсөтүү үчүн колдонулган өзгөчө коду болуп саналат. Анын чоо-жайын 2-бөлүмдөн табууга болот.
Машина режиминин өзгөчө мааниси реестри (mtval)
Таблица 8-11 mtval реестр аныктамасы
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:0] | mtval | MRW | Өзгөчө маани | 0 |
- Бул регистр өзгөчө кырдаал пайда болгондо, өзгөчөлүктү пайда кылган маанини кармоо үчүн колдонулат. Аны сактоонун мааниси жана убактысы сыяктуу чоо-жайын билүү үчүн 2-бөлүмдөн өзгөчөлүктөргө кайрылыңыз.
PMP конфигурация реестри (pmpcfg
- Бул регистр негизинен физикалык эстутумду коргоо блогун конфигурациялоо үчүн колдонулат жана бул регистрдин ар бир 8 бити аймактын коргоосун конфигурациялоо үчүн колдонулат. Толук аныктама үчүн 4-бөлүмдү караңыз.
PMP дарек реестри (pmpaddr
- Бул регистр негизинен 32 биттик физикалык даректин жогорку 34 биттерин коддогон физикалык эстутумду коргоо блогунун дарек конфигурациясы үчүн колдонулат. Конфигурациялоонун конкреттүү ыкмасы үчүн 4-бөлүмдү караңыз.
Мүчүлүштүктөрдү оңдоо режими программасынын көрсөткүч реестри (DPC)
- Бул регистр микропроцессор киргенден кийин аткарыла турган кийинки инструкциянын дарегин сактоо үчүн колдонулат
- Мүчүлүштүктөрдү оңдоо режими жана анын мааниси мүчүлүштүктөрдү оңдоону киргизүүнүн себебине жараша ар кандай эрежелер менен жаңыртылат. Толук сүрөттөмө үчүн 6.1-бөлүмдү караңыз.
Мүчүлүштүктөрдү оңдоо триггер тандоо реестри (тандоо)
- Бул аппараттык үзгүлтүккө учуратуу чекиттерин колдогон микропроцессорлор үчүн гана жарактуу жана эң көп дегенде 4 каналдуу үзгүлтүккө учуроо чекиттерин колдойт жана анын төмөнкү 2 биттери жарактуу.
- Ар бир каналдын үзгүлтүккө учурашын конфигурациялоодо, конфигурациядан мурун бул регистр аркылуу тиешелүү каналды тандоо керек.
Таблица 8-12 реестр аныктамасын тандаңыз
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:2] | Резервге коюлган | MRO | Резервге коюлган | 0 |
| [1:0] |
ТАНДОО |
MRW |
Каналды тандоо регистри конфигурацияланат, башкача айтканда, тиешелүү канал тандалгандан кийин, tdata1 жана tdata2 регистрлери үзгүлтүккө учуроо чекин конфигурациялоо үчүн иштетилет.
маалымат. |
X |
Мүчүлүштүктөрдү оңдоо триггер маалымат реестри 1(tdata1)
Бул аппараттык үзгүлтүккө учуратуу чекиттерин колдогон микропроцессорлор үчүн гана жарактуу. Микропроцессорлор инструкциянын дарегин жана берилиштердин дарегинин үзгүлтүккө учуроо чекиттерин гана колдошот, мында tdata1 регистринин ТИП бит туруктуу мааниси 2, ал эми башка биттер мүчүлүштүктөрдү оңдоо стандартындагы башкаруунун аныктамасына ылайык келет.
Таблица 8-13 tdata1 реестр аныктамасы
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:28] | TYPE | MRO | Үзүлүү чекитинин түрүн аныктоо, башкаруу түрү. | 0x2 |
|
27 |
DMODE |
MRO |
0: Флип-флоптун тиешелүү регистрлери машина режиминде да, мүчүлүштүктөрдү оңдоо режиминде да өзгөртүлүшү мүмкүн;
1: Мүчүлүштүктөрдү оңдоо режими гана флип-флоптун тиешелүү регистрлерин өзгөртө алат. |
1 |
| [26:21] |
MASKMAX |
MRO |
MATCH=1 болгондо, дал келүүнүн максималдуу экспоненциалдык кубаттуулук диапазонуна уруксат берилет, башкача айтканда, максималдуу жол берилген дал келүү диапазону 231 байт. |
0x1F |
| [20:13] | Резервге коюлган | MRO | Резервге коюлган | 0 |
|
12 |
АРАКЕТ |
MRW |
Үзгүлтүккө учуратуу учурунда иштетүү режимин коюңуз:
0: Ишке киргизүүдө, үзгүлтүккө учуроо чекин киргизип, үзгүлтүккө кайра чалыңыз; 1: Иштетилгенде мүчүлүштүктөрдү оңдоо режимине кириңиз. |
0 |
| [11:8] | Резервге коюлган | MRO | Резервге коюлган | 0 |
|
7 |
МАТЧ |
MRW |
Дал келген саясат конфигурациясы:
0: триггер мааниси TDATA2ге барабар болгондо дал келүү; 1: Триггердин мааниси TDATA2 жогорку m битине дал келет, мында m = 31–n, жана n TDATA0нин биринчи 2 цитатасы (төмөнкү биттен баштап). |
0 |
|
6 |
M |
MRW |
M режиминде флип-флопту иштетүү:
0: М режиминде триггерди өчүрүү; 1: М режиминде триггерди иштетүү. |
0 |
| [5:4] | Резервге коюлган | MRO | Резервге коюлган | 0 |
|
3 |
U |
MRW |
U режиминде триггерди иштетүү:
0: U режиминде триггерди өчүрүү; 1: U режиминде триггерди иштетүү. |
0 |
|
2 |
АТКАРУУ |
MRW |
Нускаманы окуу дареги иштетилген: 0: Өчүрүү;
1: Иштетүү. |
0 |
|
1 |
ДҮКӨН |
MRW |
Маалымат жазуу дареги иштетилген: 0: Өчүрүү;
1: Иштетүү. |
0 |
|
0 |
LOAD |
MRW |
Маалыматтарды окуу дареги иштетилген: 0: Өчүрүү;
1: Иштетүү. |
0 |
Мүчүлүштүктөрдү оңдоо триггер маалымат реестри 2(tdata2)
Бул аппараттык үзгүлтүккө учуратуу чекиттерин колдогон микропроцессорлор үчүн гана жарактуу жана триггердин дал келген маанисин сактоо үчүн колдонулат.
Таблица 8-14 tdata2 реестр аныктамасы
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:0] | TDATA2 | MRW | Дал келген маанилерди сактоо үчүн колдонулат. | X |
Мүчүлүштүктөрдү оңдоону көзөмөлдөө жана абал реестри (dcsr)
Бул регистр мүчүлүштүктөрдү оңдоо режиминин иштөө абалын көзөмөлдөө жана жазуу үчүн колдонулат. Көбүрөөк маалымат алуу үчүн 7.1 бөлүмүн караңыз.
Мүчүлүштүктөрдү оңдоо режиминин программа көрсөткүчү (DPC)
Бул регистр микропроцессор мүчүлүштүктөрдү оңдоо режимине киргенден кийин аткарыла турган кезектеги инструкциянын дарегин сактоо үчүн колдонулат, анын мааниси мүчүлүштүктөрдү оңдоо режимине кирүү себептерине жараша ар башка, жаңылоо эрежелери да ар түрдүү. Толук сүрөттөмө үчүн 7.1 бөлүмүн караңыз.
Мүчүлүштүктөрдү оңдоо режими staging регистр (dscratch0-1)
Регистрлердин бул тобу Debug режиминде маалыматтарды убактылуу сактоо үчүн колдонулат.
Таблица 8-15 dscratch0-1 аныктамаларды каттоо
| Bit | аты | Мүмкүнчүлүк | Description | Маанини кайра коюу |
| [31:0] | чийүү | DRW | Мүчүлүштүктөрдү оңдоо режиминин берилиштери stagбаалуулук | 0 |
Колдонуучу тарабынан аныкталган CSR реестри
Колдонуучу режими глобалдык үзгүлтүктү иштетүү реестри (gintenr)
- Бул реестр глобалдык үзгүлтүктү иштетүүнү жана масканы көзөмөлдөө үчүн колдонулат. Машина режиминде глобалдык үзгүлтүктүн иштетилиши жана маскасы статустагы MIE жана MPIE биттери тарабынан көзөмөлдөнүшү мүмкүн, бирок бул регистрди колдонуучу режиминде иштетүү мүмкүн эмес.
- Глобалдык үзгүлтүк gintenr регистрине мүмкүнчүлүк бергенде, MIE жана MPIE статусун картага түшүрөт.
- Колдонуучу режиминде ниет MIE жана MPIEди орнотуу жана тазалоо үчүн колдонулушу мүмкүн, чоо-жайын билүү үчүн 3.2 бөлүмүндө сүрөттөлгөндөй.
Эскертүү
- Глобалдык үзгүлтүктөр NMI жана өзгөчө учурларды камтыбайт.
Үзгүлтүк системаны башкаруу реестри (intsyscr)
Бул регистр негизинен 3.2-бөлүмдө чоо-жайы сүрөттөлгөндөй, үзгүлтүккө салуу тереңдигин конфигурациялоо, аппараттык стек басуу жана башка тиешелүү функцияларды конфигурациялоо үчүн колдонулат.
Микропроцессордун конфигурациясынын реестри (corecfgr)
Бул регистр үзгүлтүккө учурагандан кийин NMI үзгүлтүккө уруксат берилгендигин жана тосмо көрсөтмөсү аткарылганда үзгүлтүккө учуроо талабы тазаланганын көзөмөлдөө үчүн колдонулат. Атайын аныктама үчүн 3.2-бөлүмдү караңыз.
Үзгүлтүккө салынган башкаруу реестри (inestcr)
Бул регистр үзгүлтүктүн уясынын абалын жана анын толуп же ашпаганын көрсөтүү жана максималдуу уя деңгээлин көзөмөлдөө үчүн колдонулат. Атайын аныктама үчүн 3.2-бөлүмдү караңыз.
Документтер / Ресурстар
![]() |
WH V3 микропроцессору [pdf] Колдонуучунун колдонмосу V3 микропроцессор, V3, микропроцессор |





