WH-логотиби

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

WH-V3-Microprocessor-PRO

Техникалык шарттар

  • Микропроцессордун модели: 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 киргизүү

Кандайдыр бир себептерден улам программа нормалдуу иштөө процессинде болгондо, өзгөчө кырдаалды же үзгүлтүккө учуратса. Бул учурда микропроцессордун аппараттык жүрүм-турумун төмөнкүчө чагылдырууга болот.

  1. Учурдагы программа агымын токтотуп, өзгөчө же үзгүлтүккө учуратуу функцияларын аткарууга өтүңүз. Киргизүүчү базанын дареги жана өзгөчө же үзгүлтүккө учуратуу функциясынын даректөө режими mtvec өзгөчө киргизүүнүн базалык дарек регистринде аныкталат. mtvec[31:2] өзгөчө же үзгүлтүккө учуратуу функциясынын негизги дарегин аныктайт. mtvec[1:0] иштетүүчү функциянын даректөө режимин аныктайт. mtvec[1:0]=0 болгондо, бардык өзгөчөлүктөр жана үзгүлтүктөр бирдиктүү жазууну колдонушат, башкача айтканда, өзгөчө учур же үзгүлтүк пайда болгондо, mtvec [31:2] аткарыла турган негизги даректи аныктайт. mtvec[1:0]=1 болгондо, өзгөчө жагдайлар жана үзгүлтүктөр вектордук таблица режимин колдонушат, башкача айтканда, ар бир өзгөчөлүк жана үзгүлтүккө номер коюлат, ал эми дарек үзгүлтүккө учураган номерге*4 ылайык алмаштырылат, ал эми өзгөчө жагдай же үзгүлтүк пайда болгондо, ал жылдырылат. mtvec[31:2] менен аныкталган базалык дарекке + үзгүлтүккө учуратуу саны*4 Аткаруу. Үзгүлтүктүн вектордук таблицасында үзгүлтүктөрдү иштетүүчү функцияга өтүү үчүн инструкция бар же башка инструкциялар болушу мүмкүн.
  2. CSR реестрин жаңыртуу
    • Өзгөчө кырдаал же үзгүлтүк киргизилгенде, микропроцессор тийиштүү CSR регистрлерин автоматтык түрдө жаңылайт, анын ичинде Машина режиминин өзгөчөлүгү себеп регистринин mcause, Машина режиминин өзгөчөлүгүнүн көрсөткүчү регистринин mepc, Машина режиминин өзгөчө мааниси регистринин металлы жана Машина режиминин статусунун регистринин статусу.

Жаңыртыңыз

Мурда айтылгандай, өзгөчө учурду же үзгүлтүктү киргизгенден кийин, анын мааниси учурдагы өзгөчөлүктүн түрүн же үзгүлтүктүн санын чагылдырат жана программалык камсыздоо бул регистрдик маанини окуй алат, бул өзгөчөлүктүн себебин текшерүү же үзгүлтүктүн булагын аныктоо үчүн, 2-таблицада деталдаштырылган. -1.

mepc жаңыртуу

  • Өзгөчө кырдаалдан же үзгүлтүктөн чыккандан кийин микропроцессордун кайтаруу дарегинин стандарттык аныктамасы mepcде сакталат.
  • Ошентип, өзгөчө учур же үзгүлтүккө учураганда, аппараттык камсыздоо автоматтык түрдө mepc маанисин өзгөчө учурга туш болгондо учурдагы нускама ПКнын маанисине же үзгүлтүккө чейин кийинки алдын ала аткарылган PC маанисине жаңылайт.
  • Өзгөчөлүк же үзгүлтүк иштетилгенден кийин микропроцессор анын сакталган маанисин аткарууну улантуу үчүн үзгүлтүктүн жайгашкан жерине кайтуу үчүн кайтаруу дареги катары колдонот.
  • Бирок, муну белгилей кетүү керек.
  1. MEPC окула турган жана жазыла турган реестр жана программалык камсыздоо кайра келгенден кийин иштеген PC көрсөткүчүнүн ордун өзгөртүү үчүн маанини да өзгөртө алат.
  2. Үзгүлтүк пайда болгондо, башкача айтканда, өзгөчө себеп регистрлер mcause[31]=1 болгондо, карталардын мааниси үзгүлтүккө учураган учурда кийинки аткарылбаган нускаманын PC маанисине жаңыртылат.
    • Өзгөчө кырдаал болгондо, карталардын мааниси учурдагы өзгөчөлүктүн инструкция PC маанисине жаңыртылат, эгерде өзгөчөлүк mcause[31]=0 регистрине себеп болот. Ошентип, ушул учурда өзгөчө кырдаал кайтып келгенде, эгер биз mepc маанисин колдонуп түз кайтарсак, биз мурда өзгөчөлүктү жараткан нускаманы аткарууну улантабыз жана ушул убакта биз өзгөчөлүктү киргизүүнү улантабыз. Адатта, биз өзгөчө жагдайды чечкенден кийин, биз mepc маанисин кийинки аткарылбаган нускаманын маанисине өзгөртүп, андан кийин кайтара алабыз. Мисалы үчүнample, эгерде биз чалуу/тыныгуу үчүн өзгөчө кырдаалды жаратсак, өзгөчө кырдаалды иштеткенден кийин, кайра чакыруу/тыныгуу (c.ebreak 2 байт) 4 байттык нускама болгондуктан, бизге mepcтин маанисин mepcге өзгөртүү үчүн гана программа керек. +4 (c.ebreak бул mepc+2) анан кайт.

mtval жаңыртуу

Өзгөчө жагдайлар жана үзгүлтүктөр киргизилгенде, аппараттык камсыздоо mtval маанисин автоматтык түрдө жаңыртат, бул өзгөчөлүккө себеп болгон маани. Маани, адатта, болуп саналат.

  1. Эгерде өзгөчөлүк эстутумга кирүү менен шартталган болсо, аппараттык камсыздоо өзгөчө учурга карата эстутумга кирүү дарегин mtval ичинде сактайт.
  2. Эгерде өзгөчөлүк мыйзамсыз инструкциядан келип чыкса, аппараттык камсыздоо инструкциянын нускама кодун mtval ичинде сактайт.
  3. Эгерде өзгөчөлүк жабдыктын үзгүлтүккө учурашынан улам келип чыкса, аппараттык камсыздоо PC маанисин үзүлүү чекитинде mtval ичинде сактайт.
  4. Башка өзгөчөлүктөр үчүн, аппараттык камсыздоо mtval маанисин 0гө орнотот, мисалы, чалуу инструкциясы менен шартталган бузуу.
  5. Үзгүлтүккө киргенде аппараттык камсыздоо mtvalдын маанисин 0ге коет.

Жаңыртуу mstatus

Өзгөчө учурларды жана үзгүлтүктөрдү киргизгенден кийин, аппараттык камсыздоо mstatusдагы белгилүү биттерди жаңылайт.

  1. MPIE өзгөчөлүк же үзгүлтүккө кирүүдөн мурун MIE маанисине жаңыртылып, ал эми MPIE өзгөчөлүк жана үзгүлтүк аяктагандан кийин MIEди калыбына келтирүү үчүн колдонулат.
  2. MPP өзгөчөлүктөргө жана үзгүлтүккө кирүүдөн мурун артыкчылыктуу режимге жаңыртылып, өзгөчө кырдаалдар жана үзгүлтүктөр аяктагандан кийин, MPP мурунку артыкчылыктуу режимди калыбына келтирүү үчүн колдонулат.
  3. 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-сүрөт менен сүрөттөсө болот.WH-V3-Микропроцессор-сүрөт-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

Эскертүү:

  1. NMI, EXC, ECALL-M, ECALL-U жана BREAKPOINT ар дайым демейки боюнча иштетилет.
  2. ECALL-M, ECALL-U жана BREAKPOINT EXC учуру.
  3. 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: камдалган;
11: Prefetch Mode 2. Инструкцияны алдын ала алып келүү функциясы күйгүзүлгөндө, CPU инструкциянын эстутумуна кирүүсүн улантат, ал эми инструкция буфери толуп калса, CPU даректи кайра аракет кылууну улантат. Бул режим эң жогорку өндүрүмдүүлүккө жана энергия керектөөгө ээ. CPU прогнозунун бузулушу жана кайра аракет кылуу ашыкча алуу операцияларын киргизет жана эс тутумдун өткөрүү жөндөмдүүлүгүн ээлей бериши мүмкүн. (ROM аймагы үчүн кайра аракет кылуу үзгүлтүксүз дарекке кирүү дегенди билдирет, андыктан ROM_ACC_EN күйгүзүү сунушталат).

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 деңгээлге чейин тереңдикте уя орнотууну колдойт.
  • Микропроцессордун басым стекинин схемасы төмөнкү сүрөттө көрсөтүлгөн.WH-V3-Микропроцессор-сүрөт-2

Эскертүү:

  1. HPE аркылуу үзгүлтүккө учуратуу функциялары MRS же анын берилген инструменттер тизмеги аркылуу түзүлүшү керек жана үзгүлтүккө учуратуу функциясы __attribute__((interrupt("WCH-Үзгүлтүк-тез"))) менен жарыяланышы керек.
  2. Стекти түртүү аркылуу үзгүлтүккө учуратуу функциясы __attribute__((interrupt())) аркылуу жарыяланат.

Вектордук таблица бекер (VTF)

  • Программалануучу тез үзүлүү контроллери (PFIC) 4 VTF каналын камсыз кылат, б.а., үзгүлтүккө учураган вектор таблицасын издөө процессинен өтпөй эле үзгүлтүккө учуратуу функциясынын киришине түз кирүү.
  • VTF каналын үзгүлтүккө учуратуу функциясын кадимкидей конфигурациялоодо, анын үзгүлтүккө учуроо номерин, үзгүлтүккө учуратуу кызматынын негизги дарегин жана офсет дарегин тиешелүү PFIC контроллер реестрине жазуу аркылуу иштетүүгө болот.
  • Тез жана үстөлсүз үзгүлтүктөр үчүн PFIC жооп процесси төмөндөгү 3-2-сүрөттө көрсөтүлгөн.WH-V3-Микропроцессор-сүрөт-3

Физикалык эстутумду коргоо 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 регистрWH-V3-Микропроцессор-сүрөт-4

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 WH-V3-Микропроцессор-сүрөт-5

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 аймагынын коргоо ыйгарым укуктарын белгилөө үчүн колдонулат жана тиешелүү ыйгарым укуктарды бузуу тиешелүү өзгөчөлүктү жаратат:

  1. Аткаруу укугу жок PMP аймагында нускамаларды алууга аракет кылганда, ал нускаманы алууда кирүү катасынын өзгөчөлүгүн пайда кылат (mcause=1).
  2. жазуу жүзүндөгү уруксатысыз PMP аймагында маалыматтарды жазууга аракет кылып жатканда, ал дүкөн нускама кирүү бир ката өзгөчөлүгү (mcause = 7) алып келет.
  3. Окуу уруксатысыз PMP аймагындагы маалыматтарды окууга аракет кылып жатканда, жүктөө инструкциясы үчүн анормалдуу эстутумга кирүү катасын (mcause=5) пайда кылат.

A in pmpcfg I аймагынын коргоо диапазонун жана дарегин тегиздөө үчүн жана A_ADDR ≤ чөлкөмүнүн < i > < B_ADDR эс тутумун коргоо үчүн колдонулат (A_ADDR жана B_ADDR экөө тең 4 байтта тегизделиши керек):

  1. Эгерде B _ ADDR–A_ADDR = = 22, NA4 режими кабыл алынат;
  2. Эгерде B _ ADDR–A_ADDR = = 2(G+2), G≥1 жана _ дареги 2(g+2) болсо, NAPOT ыкмасы кабыл алынат;
  3. Болбосо, 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 ыкмасы уктагандан кийин, аны ойготууга болот

  1. Микропроцессорду үзгүлтүккө учуроочу контроллер жооп берген үзгүлтүк булагы ойгото алат. Ойгонгондон кийин микропроцессор адегенде үзгүлтүккө учуратуу функциясын аткарат.
  2. Уйку режимине кириңиз, мүчүлүштүктөрдү оңдоо өтүнүчү микропроцессорду ойготуп, терең уйкуга кире алат, мүчүлүштүктөрдү оңдоо өтүнүчү микропроцессорду ойгото албайт.

WFE ыкмасы уктагандан кийин, микропроцессорду төмөндөгүлөр ойготсо болот.

  1. Үзгүлтүк контроллерин конфигурациялоонун кереги жок болгондо, ички же тышкы окуялар, ойгонуп, программаны аткарууну улантыңыз.
  2. Эгерде үзүлүү булагы иштетилсе, микропроцессор үзгүлтүк пайда болгондо ойготулуп, ойгонгондон кийин микропроцессор алгач үзгүлтүккө учуратуу функциясын аткарат.
  3. Эгерде PFIC_SCTLR ичиндеги SEVONPEND бити конфигурацияланса, үзгүлтүктүн контроллери үзгүлтүктү иштетпейт, бирок жаңы үзгүлтүк күтүүдө сигнал генерацияланганда (мурда түзүлгөн күтүү сигналы күчүнө кирбейт), ал микропроцессорду да ойгото алат жана тиешелүү үзгүлтүктү күтүүдө желек ойгонгондон кийин кол менен тазаланышы керек.
  4. Уйку режимине кириңиз мүчүлүштүктөрдү оңдоо өтүнүчү микропроцессорду ойготуп, терең уйкуга киргизет, мүчүлүштүктөрдү оңдоо өтүнүчү микропроцессорду ойгото албайт.
  • Кошумчалай кетсек, ойгонгондон кийинки микропроцессордун абалын 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, микропроцессор

Шилтемелер

Комментарий калтырыңыз

Сиздин электрондук почта дарегиңиз жарыяланбайт. Талап кылынган талаалар белгиленген *