Logo WH

Mikropemproses WH V3

WH-V3-Mikropemproses-PRO

Spesifikasi

  • Model mikropemproses: QingKeV3
  • Versi: V1.2
  • Ciri-ciri ISA:
    • FPU saluran paip
    • Ramalan cawangan
    • Mengganggu sokongan
    • Perlindungan Memori Fizikal HPE (PMP)
    • Mod penggunaan kuasa rendah
    • Nyahpepijat Set Arahan Lanjutan

Arahan Penggunaan Produk

Berakhirview daripada Mikropemproses QingKe V3

Mikropemproses siri QingKe V3 termasuk model V3A, V3B dan V3C. Setiap model mempunyai ciri dan perbezaan tertentu berdasarkan aplikasinya.

Set Arahan

Set arahan RV32I termasuk 32 set daftar dari x0 hingga x31. Siri V3 tidak menyokong sambungan titik terapung (F). Setiap daftar bersaiz 32 bit.

Set Daftar

Set daftar RV32I terdiri daripada daftar berikut.

  • x0: Berkod keras 0
  • x1: Alamat kembali
  • x2: Penunjuk tindanan
  • x3: Penunjuk global
  • x4: Penunjuk benang
  • x5-x7: Daftar sementara
  • x8: Simpan daftar/penunjuk bingkai
  • x9: Simpan parameter daftar/fungsi/nilai pulangan
  • x10-x11: Parameter fungsi
  • x12-x17: Simpan daftar
  • x18-x27: Daftar sementara
  • x28-x31: Pendaftaran pemanggil/Callee

Mod Keistimewaan

Seni bina RISC-V standard termasuk tiga mod istimewa: Mod mesin, mod Penyelia dan mod Pengguna. Mikropemproses siri QingKe V3 menyokong mod Mesin dan mod Penyelia.

Soalan Lazim

S: Apakah model berbeza dalam mikropemproses siri QingKe V3?

A: Siri QingKe V3 termasuk model V3A, V3B dan V3C, masing-masing dengan ciri khusus dan perbezaan yang diperincikan dalam manual pengguna.

S: Berapakah bilangan set daftar yang terdapat dalam set arahan RV32I?

A: Set arahan RV32I menyediakan 32 set daftar dari x0 hingga x31.

S: Mod istimewa manakah yang disokong oleh mikropemproses QingKe V3?

A: Mikropemproses siri QingKe V3 menyokong mod Mesin dan mod Penyelia sebagai sebahagian daripada seni bina RISC-V.

Berakhirview

Mikropemproses siri QingKe V3 ialah mikropemproses MCU tujuan am 32-bit yang dibangunkan sendiri berdasarkan seni bina set arahan RISC-V standard. Siri ini termasuk V3A, V3B dan V3C, yang mana V3A menyokong sambungan set arahan standard RV32IMAC dan V3B/C menyokong sambungan set arahan standard RV32IMCB dan sambungan set arahan tersuai XW. Kedua-duanya menyokong pendaraban kitaran tunggal dan pembahagian perkakasan, sebagai tambahan kepada tindanan tekanan perkakasan (HPE), gangguan bebas meja (VTF), antara muka penyahpepijatan 1 dan 2 wayar yang diperkemas, arahan "WFE" dan ciri khas lain. Selain itu, ia juga menyokong Prolog/Epilog Perkakasan (HPE), Percuma Jadual Vektor (VTF), antara muka penyahpepijatan 1-/2 wayar yang diperkemas dan sokongan untuk arahan "WFE".

Ciri-ciri

Ciri-ciri Penerangan
ISA RV32IM[A]C[B]
Saluran paip 3
FPU Tidak disokong
Ramalan cawangan Ramalan cawangan statik
menyampuk Menyokong sejumlah 256 gangguan termasuk pengecualian dan menyokong VTF
HPE Menyokong 2 tahap HPE
Perlindungan Memori Fizikal (PMP) Disokong
Mod penggunaan kuasa rendah Menyokong mod Tidur dan Tidur Nyenyak, dan menyokong kaedah tidur WFI dan WFE
Set Arahan Lanjutan Disokong
Nyahpepijat SDI 1/2 wayar, nyahpepijat RISC-V standard

Berakhirview

Mikropemproses siri QingKe V3 termasuk V3A, V3B, dan V3C, terdapat beberapa perbezaan antara siri mengikut aplikasi, perbezaan khusus diperincikan dalam Jadual 1-1.

Jadual 1-1 Selesaiview mikropemproses QingKe V3

Ciri Model ISA Bilangan peringkat HPE Gangguan bersarang bilangan peringkat VTF bilangan saluran Saluran paip vektor mod jadual Arahan Lanjutan (XW) Bilangan kawasan perlindungan memori
V3A RV32IMAC 2 2 4 3 Arahan × ×
V3B RV32IMCB 2 2 4 3 Alamat/ Arahan ×
V3C RV32IMCB 2 2 4 3 Alamat/ Arahan 4

Nota: Penukaran tugas OS secara amnya menggunakan tolak tindanan, yang tidak terhad kepada bilangan tahap

Set Arahan

  • Mikropemproses siri QingKe V3 mengikut Arsitektur Set Arahan (ISA) standard RISC-V. Dokumentasi terperinci standard boleh didapati dalam "Manual Set Arahan RISC-V, Jilid I: ISA Tahap Pengguna, Versi Dokumen 2.2" pada RISC-V International webtapak. Set arahan RISC-V mempunyai seni bina ringkas dan menyokong reka bentuk modular, membenarkan kombinasi fleksibel berdasarkan keperluan yang berbeza, dan siri V3 menyokong sambungan set arahan berikut.
  • RV32: Seni bina 32-bit, lebar bit daftar tujuan umum 32 bit
  • I: Menyokong operasi membentuk, dengan 32 daftar membentuk
  • M: Menyokong membentuk arahan pendaraban dan pembahagian
  • A: Menyokong arahan atom
  • C: Menyokong arahan mampatan 16-bit
  • B: Sokongan untuk arahan manipulasi bit
  • XW: Arahan pemampatan 16-bit untuk operasi bait dan separuh perkataan lanjutan sendiri

Nota:

  • Subset arahan yang disokong oleh model yang berbeza mungkin berbeza, sila rujuk Jadual 1-1 untuk butiran;
  • Untuk meningkatkan lagi ketumpatan kod, lanjutkan subset XW, tambahkan arahan mampatan berikut c.lbu/c.lhu/c.sb/c.sh/c.lbusp/c.lhusp/c.sbsp/c.shop , penggunaannya perlu berdasarkan pengkompil MRS atau rantai alat yang disediakannya;
  • V3B menyokong mengekstrak arahan perkataan (32bit) daripada kata ganda (64bit) dan mengekstrak arahan perkataan (32bit) daripada hasil pendaraban (64bit). Kaedah penggunaan khusus boleh merujuk kepada fungsi perpustakaan dan bekerjasama dengan pengkompil MRS atau rantai alat yang disediakan olehnya;
  • V3B/C menyokong arahan salinan memori. Untuk kegunaan khusus, sila rujuk fungsi perpustakaan dan bekerjasama dengan pengkompil MRS atau rantai alatnya.

Set Daftar

RV32I mempunyai 32 set daftar dari x0-x31. Siri V3 tidak menyokong sambungan "F", iaitu, tiada set daftar titik terapung. Dalam RV32, setiap daftar adalah 32 bit. Jadual 1-2 di bawah menyenaraikan daftar RV32I dan penerangannya.

Jadual 1-2 daftar RISC-V

Daftar Nama ABI Penerangan Penyimpan
x0 sifar Berkod keras 0
x1 ra Alamat kembali Pemanggil
x2 sp Penunjuk tindanan Callee
x3 GP Penunjuk global
x4 tp Penunjuk benang
x5-7 t0-2 Daftar sementara Pemanggil
x8 s0/fp Simpan daftar/penunjuk bingkai Callee
x9 s1 Simpan daftar Callee
x10-11 a0-1 Parameter fungsi/nilai pulangan Pemanggil
x12-17 a2-7 Parameter fungsi Pemanggil
x18-27 a2-11 Simpan daftar Callee
X28-31 t3-6 Daftar sementara Pemanggil

Atribut Pemanggil dalam jadual di atas bermakna prosedur yang dipanggil tidak menyimpan nilai daftar, dan atribut Callee bermaksud prosedur yang dipanggil menyimpan daftar.

Mod Keistimewaan

  • Seni bina RISC-V standard termasuk tiga mod istimewa: Mod mesin, mod Penyelia dan mod Pengguna, seperti ditunjukkan dalam Jadual 1-3 di bawah.
  • Mod mesin adalah wajib, dan mod lain adalah pilihan. Untuk butiran, anda boleh merujuk kepada Manual Set Arahan RISC-V Jilid II: Privileged Architecture”, yang boleh dimuat turun secara percuma daripada RISC-V International webtapak.

Jadual 1-3 Mod keistimewaan seni bina RISC-V

Kod Nama Singkatan
0b00 Mod Pengguna U
0b01 Model Penyelia S
0b10 Terpelihara Terpelihara
0b11 Mod mesin M
  • Mikropemproses siri QingKe V3 menyokong dua daripada mod istimewa ini.

Mod mesin

  • Mod mesin mempunyai kuasa tertinggi, program dalam mod ini boleh mengakses semua Daftar Kawalan dan Status (CSR), tetapi juga boleh mengakses semua kawasan alamat fizikal.
  • Lalai kuasa naik adalah dalam mod mesin, apabila pelaksanaan mret (arahan pemulangan mod mesin) kembali, mengikut status daftar CSR (daftar status mod mesin) dalam bit MPP, jika MPP = 0b00, kemudian keluar dari mod Mesin ke dalam mod Pengguna, MPP = 0b11, kemudian teruskan mengekalkan mod Mesin.

Mod pengguna

  • Mod pengguna mempunyai keistimewaan yang paling rendah, dan hanya daftar CSR terhad boleh diakses dalam mod ini. Apabila pengecualian atau gangguan berlaku, mikropemproses beralih daripada mod Pengguna ke mod Mesin untuk mengendalikan pengecualian dan gangguan.

Daftar CSR

Satu siri daftar CSR ditakrifkan dalam seni bina RISC-V untuk mengawal dan merekodkan keadaan operasi mikropemproses. CSR ini boleh dilanjutkan oleh 4096 daftar menggunakan ruang pengekodan alamat 12-bit khusus dalaman. Dan gunakan dua CSR tinggi [11:10] untuk menentukan kebenaran baca/tulis daftar ini, 0b00, 0b01, 0b10 untuk baca/tulis dibenarkan dan 0b11 untuk baca sahaja. Gunakan dua bit CSR[9:8] untuk menentukan tahap keistimewaan terendah yang boleh mengakses daftar ini, dan nilai sepadan dengan mod keistimewaan yang ditakrifkan dalam Jadual 1-3. Daftar CSR yang dilaksanakan dalam mikropemproses QingKe V3 diperincikan dalam Bab 8.

Pengecualian

Mekanisme pengecualian, yang merupakan mekanisme untuk memintas dan mengendalikan "peristiwa operasi luar biasa". Mikropemproses siri QingKe V3 dilengkapi dengan sistem tindak balas pengecualian yang boleh mengendalikan sehingga 256 pengecualian, termasuk gangguan. Apabila pengecualian atau gangguan berlaku, mikropemproses boleh bertindak balas dengan cepat dan mengendalikan peristiwa pengecualian dan gangguan.

Jenis Pengecualian

Tingkah laku perkakasan mikropemproses adalah sama sama ada pengecualian atau gangguan berlaku. Mikropemproses menggantung program semasa, beralih ke pengendali pengecualian atau gangguan, dan kembali ke program yang digantung sebelum ini apabila pemprosesan selesai. Secara umum, gangguan juga merupakan sebahagian daripada pengecualian. Sama ada kejadian semasa adalah gangguan atau pengecualian viewed melalui mesin mode pengecualian sebab daftar sebab. Mcause[31] ialah medan gangguan, yang digunakan untuk menunjukkan sama ada punca pengecualian ialah gangguan atau pengecualian. mcause[31]=1 bermaksud gangguan, mcause[31]=0 bermaksud pengecualian. mcause[30:0] ialah kod pengecualian, yang digunakan untuk menunjukkan sebab khusus pengecualian atau nombor gangguan, seperti yang ditunjukkan dalam jadual berikut.

Jadual 2-1 Kod pengecualian mikropemproses V3

menyampuk Pengecualian kod Segerak / Asynchronous Sebab pengecualian
1 0-1 Terpelihara
1 2 Tak segerak tepat NMI menyampuk
1 3-11 Terpelihara
1 12 Tak segerak tepat SysTick menyampuk
1 13 Terpelihara
1 14 segerak Perisian mengganggu
1 15 Terpelihara
1 16-255 Tak segerak tepat Gangguan luaran 16-255
0 0 segerak Penyelewengan alamat arahan
0 1 segerak Ralat capaian arahan ambil
0 2 segerak Arahan haram
0 3 segerak Titik putus
0 4 segerak Muatkan arahan akses alamat salah jajaran
0 5 Tak segerak tidak tepat Muatkan ralat akses arahan
0 6 segerak Alamat akses arahan kedai/AMO salah jajaran
0 7 Tak segerak tidak tepat Ralat akses arahan kedai/AMO
0 8 segerak Panggilan persekitaran dalam mod Pengguna
0 11 segerak Panggilan persekitaran dalam mod Mesin
  • Synchronous” dalam jadual bermakna arahan boleh terletak tepat di mana ia dilaksanakan, seperti arahan rehat atau panggilan, dan setiap pelaksanaan arahan itu akan mencetuskan pengecualian. "Asynchronous" bermakna tidak mungkin untuk menentukan arahan, dan nilai PC arahan mungkin berbeza setiap kali pengecualian berlaku. "Precise asynchronous" bermaksud pengecualian boleh terletak tepat di sempadan arahan, iaitu, keadaan selepas pelaksanaan arahan, seperti gangguan luaran. "Tak segerak bukan ketepatan" bermaksud bahawa sempadan arahan tidak boleh dikesan dengan tepat, dan mungkin keadaan selepas arahan telah diganggu separuh jalan melalui pelaksanaan, seperti ralat capaian memori.
  • Akses kepada ingatan mengambil masa, dan mikropemproses biasanya tidak menunggu penghujung capaian apabila mengakses memori tetapi terus melaksanakan arahan, apabila pengecualian ralat capaian berlaku sekali lagi, mikropemproses telah pun melaksanakan arahan seterusnya, dan tidak dapat dengan tepat. terletak.

Memasuki Pengecualian

Apabila program dalam proses operasi biasa jika atas sebab tertentu, mencetuskan pengecualian atau gangguan. Tingkah laku perkakasan mikropemproses pada ketika ini boleh diringkaskan seperti berikut.

  1. Gantung aliran program semasa dan beralih ke pelaksanaan fungsi pengendalian pengecualian atau gangguan. Alamat pangkalan kemasukan dan mod pengalamatan fungsi pengecualian atau gangguan ditakrifkan oleh daftar alamat pangkalan kemasukan pengecualian mtvec. mtvec[31:2] mentakrifkan alamat asas bagi fungsi pengecualian atau gangguan. mtvec[1:0] mentakrifkan mod pengalamatan fungsi pengendali. apabila mtvec[1:0]=0, semua pengecualian dan sampukan menggunakan entri bersatu, iaitu, apabila pengecualian atau gangguan berlaku, ia bertukar kepada mtvec[31:2] mentakrifkan alamat asas untuk dilaksanakan. Apabila mtvec[1:0]=1, pengecualian dan sampukan menggunakan mod jadual vektor, iaitu, setiap pengecualian dan sampukan dinomborkan, dan alamat diimbangi mengikut nombor sampukan*4, dan apabila pengecualian atau sampukan berlaku, ia dialihkan ke alamat asas yang ditakrifkan oleh mtvec[31:2] + nombor sampuk*4 Pelaksanaan. Jadual vektor sampukan memegang arahan untuk melompat ke fungsi pengendali sampukan, atau ia boleh menjadi arahan lain.
  2. Kemas kini daftar CSR
    • Apabila pengecualian atau gangguan dimasukkan, mikropemproses secara automatik mengemas kini daftar CSR yang berkaitan, termasuk daftar sebab pengecualian mod Mesin, daftar penunjuk pengecualian mod Mesin mepc, daftar logam nilai pengecualian mod Mesin dan status daftar status mod Mesin.

Kemas kini mcause

Seperti yang dinyatakan sebelum ini, selepas memasukkan pengecualian atau sampukan, nilainya mencerminkan jenis pengecualian semasa atau nombor sampukan, dan perisian boleh membaca nilai daftar ini untuk menyemak punca pengecualian atau menentukan sumber sampukan, seperti yang diperincikan dalam Jadual 2 -1.

Kemas kini mepc

  • Takrifan standard alamat pemulangan mikropemproses selepas keluar dari pengecualian atau gangguan disimpan dalam mepc.
  • Jadi apabila pengecualian atau gangguan berlaku, perkakasan secara automatik mengemas kini nilai mepc kepada nilai PC arahan semasa apabila pengecualian ditemui, atau nilai PC arahan pra-laksana seterusnya sebelum gangguan.
  • Selepas pengecualian atau gangguan diproses, mikropemproses menggunakan nilai yang disimpan sebagai alamat pemulangan untuk kembali ke lokasi gangguan untuk meneruskan pelaksanaan.
  • Walau bagaimanapun, perlu diperhatikan bahawa.
  1. MEPC ialah daftar yang boleh dibaca dan boleh ditulis, dan perisian juga boleh mengubah suai nilai untuk mengubah suai lokasi penunjuk PC yang berjalan selepas pemulangan.
  2. Apabila sampukan berlaku, iaitu, apabila punca pengecualian mendaftar mcause[31]=1, nilai peta dikemas kini kepada nilai PC bagi arahan tidak dilaksanakan seterusnya pada masa sampukan itu.
    • Apabila pengecualian berlaku, nilai peta dikemas kini kepada nilai PC arahan pengecualian semasa apabila pengecualian menyebabkan daftar mcause[31]=0. Jadi pada masa ini apabila pengecualian kembali, jika kita kembali secara langsung menggunakan nilai mepc, kita terus melaksanakan arahan yang menjana pengecualian sebelum ini, dan pada masa ini, kita akan terus memasukkan pengecualian. Biasanya, selepas kami mengendalikan pengecualian, kami boleh mengubah suai nilai mepc kepada nilai arahan seterusnya yang tidak dilaksanakan dan kemudian kembali. Untuk exampOleh itu, jika kita menyebabkan pengecualian disebabkan oleh panggilan/patahkan, selepas mengendalikan pengecualian, kerana ingat/patahkan (c.ebreak ialah 2 bait) ialah arahan 4-bait, kita hanya memerlukan perisian untuk mengubah suai nilai mepc kepada mepc +4 (c.ebreak ialah mepc+2) dan kemudian kembali.

Kemas kini mtval

Apabila pengecualian dan gangguan dimasukkan, perkakasan akan mengemas kini nilai mtval secara automatik, iaitu nilai yang menyebabkan pengecualian. Nilainya biasanya.

  1. Jika pengecualian disebabkan oleh akses memori, perkakasan akan menyimpan alamat akses memori pada masa pengecualian ke dalam mtval.
  2. Jika pengecualian disebabkan oleh arahan yang menyalahi undang-undang, perkakasan akan menyimpan kod arahan arahan itu ke dalam mtval.
  3. Jika pengecualian disebabkan oleh titik putus perkakasan, perkakasan akan menyimpan nilai PC pada titik putus ke dalam mtval.
  4. Untuk pengecualian lain, perkakasan menetapkan nilai mtval kepada 0, seperti break, pengecualian yang disebabkan oleh arahan panggilan.
  5. Apabila memasukkan gangguan, perkakasan menetapkan nilai mtval kepada 0.

Kemas kini mstatus

Apabila memasukkan pengecualian dan gangguan, perkakasan mengemas kini bit tertentu dalam mstatus.

  1. MPIE dikemas kini kepada nilai MIE sebelum memasukkan pengecualian atau gangguan, dan MPIE digunakan untuk memulihkan MIE selepas pengecualian dan gangguan tamat.
  2. MPP dikemas kini kepada mod istimewa sebelum memasukkan pengecualian dan sampukan, dan selepas pengecualian dan sampukan tamat, MPP digunakan untuk memulihkan mod istimewa sebelumnya.
  3. Mikropemproses QingKe V3 menyokong sarang gangguan dalam mod Mesin, dan MIE tidak akan dikosongkan selepas memasukkan pengecualian dan gangguan.

Kemas kini mod keistimewaan mikropemproses

  • Apabila pengecualian dan gangguan berlaku, mod istimewa mikropemproses dikemas kini kepada mod Mesin.

Fungsi Pengendalian Pengecualian

  • Apabila memasukkan pengecualian atau gangguan, mikropemproses melaksanakan program dari alamat dan mod yang ditakrifkan oleh daftar mtvec. Apabila menggunakan entri bersatu, mikropemproses mengambil arahan lompat dari alamat asas yang ditakrifkan oleh mtvec[31:2] berdasarkan nilai mtvec[1], atau mendapat pengecualian dan alamat entri fungsi pengendalian gangguan dan pergi untuk melaksanakannya sebaliknya . Pada masa ini, fungsi pengendalian pengecualian dan gangguan boleh menentukan sama ada punca adalah pengecualian atau gangguan berdasarkan nilai mcause[31], dan jenis serta punca pengecualian atau gangguan yang sepadan boleh dinilai oleh kod pengecualian. dan dikendalikan dengan sewajarnya.
  • Apabila menggunakan alamat asas + nombor sampukan *4 untuk mengimbangi, perkakasan secara automatik melompat ke jadual vektor untuk mendapatkan alamat masukan pengecualian atau fungsi sampukan berdasarkan nombor sampukan dan melompat untuk melaksanakannya.

Exception Exit

  • Selepas pengendali pengecualian atau gangguan selesai, adalah perlu untuk keluar daripada program perkhidmatan. Selepas memasukkan pengecualian dan gangguan, mikropemproses memasuki mod Mesin daripada mod Pengguna, dan pemprosesan pengecualian dan gangguan juga diselesaikan dalam mod Mesin. Apabila perlu untuk keluar dari pengecualian dan gangguan, adalah perlu untuk menggunakan arahan mret untuk kembali. Pada masa ini, perkakasan mikropemproses akan secara automatik melaksanakan operasi berikut.
  • Penunjuk PC dipulihkan kepada nilai mepc daftar CSR, iaitu, pelaksanaan bermula pada alamat arahan yang disimpan oleh mepc. Adalah perlu untuk memberi perhatian kepada operasi mengimbangi mepc selepas pengendalian pengecualian selesai.
  • Kemas kini status daftar CSR, MIE dipulihkan kepada MPIE, dan MPP digunakan untuk memulihkan mod istimewa mikropemproses sebelumnya.
  • Keseluruhan proses tindak balas pengecualian boleh diterangkan oleh Rajah 2-1 berikut.WH-V3-Mikropemproses-rajah-1

PFIC dan Kawalan Gangguan

  • Mikropemproses QingKe V3 direka dengan Pengawal Gangguan Pantas Boleh Diprogram (PFIC) yang boleh mengurus sehingga 256 gangguan termasuk pengecualian.
  • 16 pertama daripadanya ditetapkan sebagai gangguan dalaman mikropemproses, dan selebihnya adalah gangguan luaran, iaitu bilangan maksimum gangguan luaran boleh dilanjutkan kepada 240. Ciri-ciri utamanya adalah seperti berikut.
  • 240 gangguan luaran, setiap permintaan gangguan mempunyai bit kawalan pencetus dan topeng bebas, dengan bit status khusus
  • Keutamaan gangguan boleh atur cara menyokong 2 tahap sarang
  • Gangguan pantas khas masuk/keluar mekanisme, susunan automatik perkakasan dan pemulihan, kedalaman HPE maksimum 2 tahap
  • Mekanisme tindak balas gangguan Vector Table Free (VTF), akses terus boleh atur cara 2 saluran kepada alamat vektor gangguan
  • Nota: Kedalaman bersarang maksimum dan kedalaman HPE yang disokong oleh pengawal gangguan berbeza-beza untuk model mikropemproses yang berbeza, yang boleh didapati dalam Jadual 1-1.
  • Jadual vektor bagi gangguan dan pengecualian ditunjukkan dalam Jadual 3-1 di bawah.

Jadual 3-1 Jadual vektor pengecualian dan gangguan

Nombor Keutamaan taip Nama Penerangan
0
1
2 -5 tetap NMI Gangguan tidak bertopeng
3 -4 tetap EXC Gangguan pengecualian
4
5 -3 tetap ECALL-M Gangguan panggil balik mod mesin
6-7
8 -2 tetap PANGGILAN-U Gangguan panggil balik mod pengguna
9 -1 tetap TITIK PECAH Gangguan panggil balik titik putus
10-11
12 0 Boleh diprogramkan SysTick Gangguan pemasa sistem
13
14 1 Boleh diprogramkan SWI Gangguan perisian
15
16-255 2-241 Boleh diprogramkan Gangguan Luaran Gangguan luaran 16-255

Nota: ECALL-M, ECALL-U dan BREAKPOINT adalah semua jenis pengecualian EXC yang berbeza, yang bebas dalam V3B/C untuk kemudahan penggunaan, dan 3 alamat entri di atas dikongsi dengan EXC dalam V3A.

Set Daftar PFIC

Jadual 3-2 Daftar PFIC

Nama Alamat akses Akses Penerangan Tetapkan semula nilai
PFIC_ISRx 0xE000E000

-0xE000E01C

RO Sampuk daya daftar status x 0x00000000
PFIC_IPRx 0xE000E020

-0xE000E03C

RO Sampuk daftar status belum selesai x 0x00000000
PFIC_ITHRESDR 0xE000E040 RW Mengganggu daftar konfigurasi ambang keutamaan 0x00000000
PFIC_VTFBADDRR 0xE000E044 RW Daftar alamat asas VTF

Nota: Sah hanya untuk V3A

0x00000000
PFIC_CFGR 0xE000E048 RW Daftar konfigurasi mengganggu

Nota: Sah hanya untuk V3A

0x00000000
PFIC_GISR 0xE000E04C RO Mengganggu daftar status global 0x00000002
 

PFIC_VTFIDR

 

0xE000E050

 

RW

Daftar konfigurasi ID gangguan VTF

Nota: Sah hanya untuk V3B/C.

 

0x00000000

PFIC_VTFADDRRx 0xE000E060

-0xE000E06C

RW Daftar alamat mengimbangi VTF x 0xXXXXXXXXX
PFIC_IENRx 0xE000E100

-0xE000E11C

WO Sampuk dayakan daftar tetapan x 0x00000000
PFIC_IRERx 0xE000E180

-0xE000E19C

WO Sampuk dayakan daftar kosong x 0x00000000
PFIC_IPSRx 0xE000E200

-0xE000E21C

WO Daftar tetapan belum selesai gangguan x 0x00000000
PFIC_IPRRx 0xE000E280

-0xE000E29C

WO Sampuk belum selesai daftar jelas x 0x00000000
PFIC_IACTRx 0xE000E300

-0xE000E31C

RO Daftar status pengaktifan sampuk x 0x00000000
PFIC_IPRIORx 0xE000E400

-0xE000E43C

RW Mengganggu daftar konfigurasi keutamaan 0x00000000
PFIC_SCTLR 0xE000ED10 RW Daftar kawalan sistem 0x00000000

Nota:

  1. NMI, EXC, ECALL-M, ECALL-U dan BREAKPOINT sentiasa didayakan secara lalai.
  2. ECALL-M, ECALL-U dan BREAKPOINT ialah kes EXC.
  3. NMI, EXC, ECALL-M, ECALL-U dan BREAKPOINT menyokong gangguan sementara menunggu operasi jelas dan tetapan, tetapi tidak mengganggu membolehkan operasi padam dan tetapan.

Setiap daftar diterangkan seperti berikut:

Sampuk dayakan status dan sampuk daftar status belum selesai (PFIC_ISR<0-7>/PFIC_IPR<0-7>)

Nama Alamat akses Akses Penerangan Tetapkan semula nilai
 PFIC_ISR0  0xE000E000  RO Interrupt 0-31 mendayakan daftar status, sejumlah 32 bit status [n], menunjukkan #n interrupt membolehkan status

Nota: NMI dan EXC didayakan secara lalai

 Untuk V3A: 0x0000000C

Untuk V3B/C: 0x0000032C

PFIC_ISR1 0xE000E004 RO Interrupt 32-63 dayakan daftar status, sejumlah 32 bit status 0x00000000
PFIC_ISR7 0xE000E01C RO Interrupt 224-255 membolehkan daftar status, sejumlah 32 bit status 0x00000000
PFIC_IPR0 0xE000E020 RO Gangguan 0-31 status belum selesai 0x00000000
daftar, sejumlah 32 bit status [n], menunjukkan status interrupt #n yang belum selesai
PFIC_IPR1 0xE000E024 RO Mengganggu 32-63 daftar status belum selesai, 32 bit status secara keseluruhan 0x00000000
PFIC_IPR7 0xE000E03C RO Sampuk 244-255 daftar status belum selesai, 32 bit status secara keseluruhan 0x00000000

Dua set daftar digunakan untuk mendayakan dan menyahdayakan gangguan yang sepadan.

Gangguan dayakan tetapan dan kosongkan daftar (PFIC_IENR<0-7>/PFIC_IRER<0-7>)3

Nama Alamat akses Akses Penerangan Tetapkan semula nilai
PFIC_IENR0 0xE000E100 WO Interrupt 0-31 mendayakan daftar tetapan, sejumlah 32 bit tetapan [n], untuk interrupt #n enable setting

Nota: NMI dan EXC adalah didayakan secara lalai

 

 

 

0x00000000

PFIC_IENR1 0xE000E104 WO Interrupt 32-63 untuk membolehkan daftar tetapan, sejumlah 32 bit tetapan 0x00000000
PFIC_IENR7 0xE000E11C WO Tetapan daya sampuk 224-255

mendaftar, sejumlah 32 bit tetapan

0x00000000
 PFIC_IRER0  0xE000E180  WO Interrupts 0-31 enable clear register, sejumlah 32 clear bits [n], for interrupt #n enable clear Nota: NMI dan EXC tidak boleh dikendalikan  

 

0x00000000

PFIC_IRER1 0xE000E184 WO Interrupt 32-63 membolehkan daftar yang jelas, sejumlah 32 bit yang jelas 0x00000000
PFIC_IRER7 0xE000E19C WO Interrupt 244-255 membolehkan daftar yang jelas, sejumlah 32 bit yang jelas 0x00000000

Dua set daftar digunakan untuk mendayakan dan menyahdayakan gangguan yang sepadan.

Mengganggu tetapan belum selesai dan mengosongkan daftar (PFIC_IPSR<0-7>/PFIC_IPRR<0-7>)

Nama Alamat akses Akses Penerangan Tetapkan semula nilai
 

PFIC_IPSR0

 

0xE000E200

 

WO

Gangguan 0-31 menunggu daftar tetapan, 32

tetapan bit [n], untuk gangguan #n tetapan belum selesai

 

0x00000000

PFIC_IPSR1 0xE000E204 WO Gangguan 32-63 daftar persediaan belum selesai,

jumlah 32 bit persediaan

0x00000000
PFIC_IPSR7 0xE000E21C WO Tetapan ganggu 224-255 belum selesai

daftar, 32 bit tetapan semuanya

0x00000000
 

PFIC_IPRR0

 

0xE000E280

 

WO

Interrupt 0-31 belum selesai daftar kosong, sejumlah 32 bit jelas [n], untuk interrupt #n

belum selesai

 

0x00000000

PFIC_IPRR1 0xE000E284 WO Gangguan 32-63 menunggu daftar yang jelas,

jumlah 32 bit jelas

0x00000000
PFIC_IPRR7 0xE000E29C WO Gangguan 244-255 menunggu daftar yang jelas,

jumlah 32 bit jelas

0x00000000

Apabila mikropemproses mendayakan gangguan, ia boleh ditetapkan terus melalui daftar gangguan yang belum selesai untuk mencetuskan gangguan. Gunakan daftar jelas yang belum selesai gangguan untuk mengosongkan pencetus yang belum selesai.

Daftar status pengaktifan gangguan (PFIC_IACTR<0-7>)

Nama Alamat akses Akses Penerangan Tetapkan semula nilai
 PFIC_IACTR0  0xE000E300  RO Interrupt 0-31 mengaktifkan daftar status dengan 32 bit status [n], menunjukkan bahawa interrupt #n sedang dilaksanakan  0x00000000
 PFIC_IACTR1  0xE000E304  RO Mengganggu 32-63 daftar status pengaktifan, 32 bit status masuk

jumlah

 

0x00000000

 PFIC_IACTR7  0xE000E31C  RO Mengganggu 224-255 daftar status pengaktifan, sejumlah 32 bit status  0x00000000

Setiap gangguan mempunyai bit status aktif yang disediakan apabila gangguan dimasukkan dan dibersihkan oleh perkakasan apabila pasaran kembali.

Mengganggu daftar keutamaan dan ambang keutamaan (PFIC_IPRIOR<0-7>/PFIC_ITHRESDR)

Nama Alamat akses Akses Penerangan Tetapkan semula nilai
PFIC_IPRIOR0 0xE000E400 RW Mengganggu konfigurasi keutamaan 0. V3A: [7:4]: Bit kawalan keutamaan Jika konfigurasi tidak bersarang, tiada bit preemption Jika nesting dikonfigurasikan, bit7 ialah bit preempted. [3:0]: Dipelihara, ditetapkan kepada 0  V3B: [7:6]: Bit kawalan keutamaan Jika konfigurasi tidak bersarang, tiada bit preemptif dikonfigurasikan bersarang, semua bit didahulukan, tetapi sehingga dua tahap gangguan dibenarkan berlaku [5:0]: Terpelihara, ditetapkan kepada 0
V3C:
[7:5]: Bit kawalan keutamaan
Jika konfigurasi tidak bersarang, tiada bit preemptive
Jika dikonfigurasikan bersarang, semua bit didahulukan, tetapi sehingga dua tahap gangguan dibenarkan berlaku [4:0]: Terpelihara, ditetapkan kepada 0 Nota: Semakin kecil nilai keutamaan, semakin tinggi keutamaan. Jika sampukan keutamaan awalan yang sama digantung pada masa yang sama, sampukan dengan keutamaan yang lebih tinggi akan dilaksanakan terlebih dahulu.
0x00
PFIC_IPRIOR1 0xE000E401 RW Mengganggu 1 tetapan keutamaan, fungsi yang sama seperti PFIC_IPRIOR0 0x00
PFIC_IPRIOR2 0xE000E402 RW Mengganggu 2 tetapan keutamaan, fungsi yang sama seperti PFIC_IPRIOR0
PFIC_IPRIOR254 0xE000E4FE RW Tetapan keutamaan gangguan 254, fungsi yang sama seperti PFIC_IPRIOR0 0x00
PFIC_IPRIOR255 0xE000E4FF RW Mengganggu 255 tetapan keutamaan, fungsi yang sama seperti PFIC_IPRIOR0 0x00
PFIC_ITHRESDR 0xE000E040 RW Mengganggu tetapan ambang keutamaan

V3A:

[31:8]: Dipelihara, ditetapkan kepada 0 [7:4]: Ambang keutamaan [3:0]: Dipelihara, ditetapkan kepada 0

 V3B:

[31:8]: Dipelihara, ditetapkan kepada 0 [7:5]: Ambang keutamaan [4:0]: Dipelihara, ditetapkan kepada 0

 V3C:

[31:8]: Dipelihara, ditetapkan kepada 0 [7:5]: Ambang keutamaan [4:0]: Dipelihara, ditetapkan kepada 0

Nota: Untuk gangguan dengan nilai keutamaan ≥ ambang, fungsi perkhidmatan gangguan tidak dilaksanakan apabila hang berlaku, dan apabila daftar ini adalah 0, ia bermakna daftar ambang tidak sah.

0x00

Daftar konfigurasi gangguan (PFIC_CFGR)

Nama Alamat akses Akses Penerangan Tetapkan semula nilai
PFIC_CFGR 0xE000E048 RW Daftar konfigurasi mengganggu 0x00000000

Daftar ini hanya sah untuk V3A, bitnya ditakrifkan sebagai:

sedikit Nama Akses Penerangan Tetapkan semula nilai
[31:16] KOD KUNCI WO Sepadan dengan bit kawalan sasaran yang berbeza, data pengenalan akses keselamatan yang sepadan perlu ditulis secara serentak untuk diubah suai, dan data bacaan ditetapkan kepada 0. KEY1 = 0xFA05; KEY2 = 0xBCAF; KEY3 = 0xBEEF。 0
[15:8] Terpelihara RO Terpelihara 0
7 SYSRESET WO Tetapan semula sistem (menulis serentak ke KEY3). Kosongkan automatik 0.

Tulisan 1 sah, tulisan 0 tidak sah.

Nota: Fungsi yang sama seperti bit SYSRESET daftar PFIC_SCTLR.

0
6 PFICRESET WO Set semula modul PFIC. Kosongkan automatik 0.

Tulisan 1 sah, tulisan 0 tidak sah.

0
5 EXPRESS WO Gangguan pengecualian belum selesai (penulisan serentak kepada KEY2)

Tulisan 1 sah, tulisan 0 tidak sah.

0
4 EXCSET WO Tetapan menunggu gangguan pengecualian (penulisan serentak ke KEY2)

Tulisan 1 sah, tulisan 0 tidak sah.

0
3 NMIRESET WO Gangguan NMI belum selesai (penulisan serentak kepada KEY2)

Tulisan 1 sah, tulisan 0 tidak sah.

0
2 NMISET WO Tetapan menunggu gangguan NMI (Penulisan serentak ke KEY2)

Tulisan 1 sah, tulisan 0 tidak sah.

0
1 NESCTRL RW Sarang gangguan membolehkan kawalan.

1: dimatikan; 0: hidup (tulisan segerak ke KEY1)

0
0 HWSTKCTRL RW HPE membolehkan kawalan

1: dimatikan; 0: hidup (tulisan segerak ke KEY1)

0

Gangguan daftar status global (PFIC_GISR)

Nama Alamat akses Akses Penerangan Tetapkan semula nilai
PFIC_GISR 0xE000E04C RO Mengganggu daftar status global 0x00000000

Orangnya ditakrifkan sebagai

sedikit Nama Akses Penerangan Tetapkan semula nilai
[31:14] Terpelihara RO Terpelihara 0
 

 

13

 

 

LOCKSTA

 

 

RO

Sama ada pemproses sedang dalam keadaan terkunci:

1: Keadaan terkunci;

0: Keadaan tidak berkunci.

Nota: Bit ini hanya sah untuk V3B/C.

 

 

0

 

 

12

 

 

DBGMODE

 

 

RO

Sama ada pemproses sedang dalam keadaan nyahpepijat: 1: Keadaan nyahpepijat;

0: Keadaan bukan nyahpepijat.

Nota: Bit ini hanya sah untuk V3B/C.

 

 

0

 

 

11

 

 

GLOBLIE

 

 

RO

Gangguan global membolehkan:

1: Dayakan gangguan;

0: Lumpuhkan gangguan.

Nota: Bit ini hanya sah untuk V3B/C.

10 Terpelihara RO Terpelihara 0
9 GPENDSTA RO Sama ada gangguan sedang belum selesai.

1: Ya; 0: Tidak.

0
8 GACTSTA RO Sama ada gangguan sedang dilaksanakan.

1: Ya; 0: Tidak.

0
 

 

[7:0]
 

 

NESTSTA

 

 

RO

Status sarang gangguan semasa. 0x03: dalam gangguan tahap 2.

0x01: dalam gangguan tahap 1. 0x00: tiada gangguan berlaku.

Lain-lain: Keadaan yang mustahil.

 

 

0

Daftar alamat pangkalan ID VTF dan alamat offset (PFIC_VTFBADDRR/PFIC_VTFADDRR<0-3>)

Nama Alamat akses Akses Penerangan Tetapkan semula nilai
 

 

PFIC_VTFBADDRR

 

 

0xE000E044

 

 

RW

[31:28]: Tinggi 4 bit alamat sasaran VTF [27:0]: Terpelihara

Daftar ini hanya sah untuk V3A.

 

 

0x00000000

 

 

 

PFIC_VTFIDR

 

 

 

0xE000E050

 

 

 

RW

[31:24]: Bilangan VTF 3 [23:16]: Bilangan VTF 2 [15:8]: Bilangan VTF 1 [7:0]: Bilangan VTF 0

Daftar ini hanya sah untuk V3B/C.

 

 

 

0x00000000

 

 

 

 

 

 

 

 

PFIC_VTFADDRR0

 0xE000E060  RW V3A: [31:24]: Nombor gangguan VTF 0 [23:0]: 24 bit rendah alamat sasaran VTF, yang mana 20 bit rendah dikonfigurasikan sebagai sah, dan [23:20] ditetapkan kepada 0 .

 V3B/C:

[31:1]: Alamat VTF 0, sejajar 2-bait [0]:

1: Dayakan saluran VTF 0

0: Lumpuhkan

 

 

 

 

 

 

 

Untuk V3A: 0x00000000

Untuk V3B/C: 0xXXXXXXXXX

 

 

 

 

 

 

 

 

PFIC_VTFADDRR1

 

 

 

 

 

 

 

 

0xE000E064

 

 

 

 

 

 

 

 

RW

V3A: [31:24]: Nombor gangguan VTF 1 [23:0]: 24 bit rendah alamat sasaran VTF, yang mana 20 bit rendah dikonfigurasikan sebagai sah dan [23:20] ditetapkan kepada 0.

 

V3B/C:

[31:1]: Alamat VTF 1, sejajar 2-bait [0]:

1: Dayakan saluran VTF 1

0: Lumpuhkan

 

 

 

 

 

 

 

Untuk V3A: 0x00000000

Untuk V3B/C: 0xXXXXXXXXX

 

 

 

 

 

 

 

 

PFIC_VTFADDRR2

 

 

 

 

 

 

 

 

0xE000E068

 

 

 

 

 

 

 

 

RW

V3A: [31:24]: Nombor gangguan VTF 2 [23:0]: 24 bit rendah alamat sasaran VTF, yang mana 20 bit rendah dikonfigurasikan sebagai sah, dan [23:20] ditetapkan kepada 0 .

 

V3B/C:

[31:1]: Alamat VTF 2, sejajar 2-bait [0]:

1: Dayakan saluran VTF 2

0: Lumpuhkan

 

 

 

 

 

 

 

Untuk V3A: 0x00000000

Untuk V3B/C: 0xXXXXXXXXX

PFIC_VTFADDRR3 0xE000E06C RW V3A: Untuk V3A:
[31:24]: Nombor gangguan VTF 3 [23:0]: 24 bit rendah alamat sasaran VTF, yang mana 20 bit rendah dikonfigurasikan sebagai sah, dan [23:20] ditetapkan kepada 0.

 V3B/C:

[31:1]: Alamat VTF 3, sejajar 2-bait [0]:

1: Dayakan saluran VTF 3

0: Lumpuhkan

0x00000000

Untuk V3B/C: 0xXXXXXXXXX

Daftar kawalan sistem (PFIC_SCTLR)

Nama Alamat akses Akses Penerangan Tetapkan semula nilai
PFIC_SCTLR 0xE000ED10 RW Daftar kawalan sistem 0x00000000

Setiap daripada mereka ditakrifkan seperti berikut.

sedikit Nama Akses Penerangan Tetapkan semula nilai
31 SYSRESET WO Tetapan semula sistem, kosongkan automatik 0. Tulis 1 sah dan tulis 0 tidak sah.

Nota: Bit ini hanya sah untuk V3B/C

0
[30:6] Terpelihara RO Terpelihara 0
5 SETEVENT WO Tetapkan acara untuk membangunkan sarung WFE. 0
 

4

SEVONPEND RW Apabila peristiwa berlaku atau mengganggu keadaan belum selesai, sistem boleh dibangunkan selepas arahan WFE, atau jika arahan WFE tidak dilaksanakan, sistem akan dibangunkan serta-merta selepas pelaksanaan arahan seterusnya.

1: Peristiwa yang didayakan dan semua gangguan (Termasuk gangguan yang tidak didayakan) boleh membangunkan sistem.

0: Hanya acara yang didayakan dan didayakan

gangguan boleh membangunkan sistem.

 

 

 

0

3 WFITOWFE RW Laksanakan arahan WFI seolah-olah ia adalah WFE.

1: Anggap arahan WFI berikutnya sebagai arahan WFE.

0: Tiada kesan.

0
2 TIDUR RW Mod kuasa rendah sistem kawalan. 0
1: tidur dalam 0: tidur
1 SLEEPONEXI T RW Status sistem selepas kawalan meninggalkan program perkhidmatan gangguan.

1: Sistem memasuki mod kuasa rendah.

0: Sistem memasuki program utama.

0
0 Terpelihara RO Terpelihara 0

Daftar CSR berkaitan gangguan

Di samping itu, daftar CSR berikut juga mempunyai kesan yang besar terhadap pemprosesan gangguan. Daftar kawalan sistem gangguan (intsyscr)

Daftar ini tidak sah untuk V3A sahaja:

Nama CSR Alamat Akses Penerangan Tetapkan semula nilai
intsyscr 0x804 URW Mengganggu daftar kawalan sistem 0x0000E002

Orangnya ditakrifkan sebagai:

sedikit Nama Akses Penerangan Tetapkan semula nilai
 

 

 

31

 

 

 

KUNCI

 

 

 

URO

0: Daftar ini boleh dibaca dan ditulis dalam mod pengguna;

1: Daftar ini hanya boleh dibaca dan ditulis dalam mod mesin.

Nota: Bit konfigurasi ini sah dari

versi 1.0 dan seterusnya.

 

 

 

0

[30:6] Terpelihara URO Terpelihara 0x380
 

 

 

 

 

5

 

 

 

 

 

GIHWSTKNEN

 

 

 

 

 

URW1

Gangguan global dan penutupan tindanan perkakasan didayakan.

Nota: Bit ini sering digunakan dalam sistem pengendalian masa nyata. Apabila konteks ditukar semasa gangguan, menetapkan bit ini boleh mematikan gangguan global dan menolak timbunan perkakasan. Apabila suis konteks selesai dan gangguan kembali, perkakasan akan

mengosongkan bit ini secara automatik.

 

 

 

 

 

0

4 Terpelihara URO Terpelihara 0
[3:2] PMTCFG URW Konfigurasi bit keutamaan keutamaan:

00: Bilangan bit preemption ialah 0; 01: Bilangan bit preemption ialah 1; 10: Bilangan bit preemption ialah 2; 11: Bilangan bit preemption ialah 3; Nota: Bit konfigurasi ini sah selepas 1.0.

0
1 DENGAR URW Fungsi sarang gangguan didayakan, dan nilai tetap ialah 1: 1
0: Lumpuhkan;

1: Dayakan.

Nota: 1. Tahap sarang sebenar dikawal oleh NEST_LVL dalam CSR 0xBC1;

2. Hanya versi selepas 1.0 boleh

bertulis.

0 HWSTKEN URW Dayakan tindanan perkakasan:

0: Fungsi menekan tindanan perkakasan dilumpuhkan;

1: Fungsi menekan tindanan perkakasan didayakan.

0

Daftar alamat asas pengecualian mod mesin (mtvec)

Nama CSR Alamat Akses Penerangan Tetapkan semula nilai
mtvec 0x305 MRW Daftar alamat asas pengecualian 0x00000000

Orangnya ditakrifkan sebagai

sedikit Nama Akses Penerangan Tetapkan semula nilai
[31:2] BASEADDR[31:2] MRW Mengganggu alamat pangkalan jadual vektor, di mana

bit [9:2] ditetapkan kepada 0.

0
1 MODE1  

MRO

Mod pengecaman jadual vektor sampuk: 0: Kenal pasti dengan arahan lompat, dengan skop terhad, dan sokong arahan bukan lompat;

1: Kenal pasti melalui alamat mutlak, menyokong julat penuh, tetapi mesti melompat.

Nota: Bit ini hanya sah untuk V3B/C.

0
0 MODE0 MRW Pemilihan mod alamat kemasukan gangguan atau pengecualian.

0: Penggunaan alamat kemasukan seragam.

1: Alamat mengimbangi berdasarkan nombor gangguan *4.

0

Untuk MCU dengan mikropemproses siri V3, MODE0 dikonfigurasikan menjadi 1 secara lalai dalam permulaan file, dan entri untuk pengecualian atau gangguan diimbangi mengikut nombor gangguan *4. Ambil perhatian bahawa mikropemproses V3A menyimpan arahan lompat pada jadual vektor, manakala mikropemproses V3B/C boleh sama ada arahan lompat atau menggunakan alamat mutlak fungsi gangguan, yang dikonfigurasikan sebagai alamat mutlak dalam permulaan lalai file.

Daftar konfigurasi mikropemproses (pembetul)

Daftar ini tidak sah untuk V3A:

Nama CSR Alamat Akses Penerangan Tetapkan semula nilai
corecfgr 0xBC0 MRW Daftar konfigurasi mikropemproses 0x00000001

Orangnya ditakrifkan sebagai

sedikit Nama Akses Penerangan Tetapkan semula nilai
[31:8] Terpelihara MRO Terpelihara 0
 

 

7

 

 

CSTA_FAULT_IE

 

 

MRW

Gangguan ralat status teras membolehkan:

0: Pada ralat status, tiada gangguan NMI dijana;

1: Pada ralat status, gangguan NMI ialah

dihasilkan.

 

 

0

6 Terpelihara MRO Simpan 0. 0
5 IE_REMAP_EN MRW Pemetaan daftar MIE membolehkan:

0: Alamat CSR 0x800 ialah daftar baca sahaja dan nilai pulangan ialah nilai STATUS;

1: Bit 3 dan 7 alamat CSR 0x800 dipetakan kepada bit MIE bagi daftar STATUS dan bit MPIE bagi daftar STATUS, masing-masing.

 

 

 

 

0

4 Terpelihara MRO Terpelihara 0
3 ROM_LOOP_ACC MRW Pecutan gelung arahan kawasan ROM membolehkan:

0: Matikan fungsi pecutan kitaran dalam kawasan ROM;

1: Arahan berterusan dengan badan gelung dalam lingkungan 128 bait akan dipercepatkan sepenuhnya, manakala arahan yang mempunyai badan gelung dalam lingkungan 256 bait akan dipercepatkan sebahagiannya;

0
2 ROM_JUMP_ACC MRW Pecutan lompat arahan kawasan ROM didayakan:

0: Lumpuhkan pecutan lompat arahan kawasan ROM;

1: Dayakan pecutan lompat arahan dalam kawasan ROM.

0
[1:0] FETCH_MODE MRW Mod pengambilan:

00: Praambil dimatikan. Fungsi prefetch arahan dimatikan untuk mengelakkan operasi pengambilan arahan tidak sah, dan terdapat paling banyak satu arahan yang sah pada saluran paip CPU. Model ini mempunyai penggunaan kuasa paling rendah, dan prestasinya menurun kira-kira 2 ~ 3 kali. 01: Mod Prefetch 1. Apabila fungsi prefetch arahan dihidupkan, CPU akan terus mengakses memori arahan sehingga bilangan arahan yang akan dilaksanakan dalam buffer arahan dalaman melebihi nombor tertentu, atau buffer arahan penuh, dan pengambilan arahan akan digantung; (Kegagalan ramalan CPU akan membawa kepada operasi pengambilan berlebihan, dan dalam beberapa kes, unit pelaksanaan akan memperkenalkan 0 ~ 2 kitaran buih, dan prestasi kebanyakan program tidak akan menurun dengan jelas); 10: Terpelihara;
11: Mod Prafetch 2. Apabila fungsi prefetch arahan dihidupkan, CPU akan terus mengakses memori arahan, dan jika penimbal arahan penuh, CPU akan terus mencuba semula alamat. Mod ini mempunyai prestasi tertinggi dan penggunaan kuasa. Kegagalan ramalan CPU dan cuba semula akan memperkenalkan operasi pengambilan berlebihan dan mungkin terus menduduki lebar jalur memori. (Untuk kawasan ROM, cuba semula bermaksud akses alamat terputus, jadi disyorkan untuk menghidupkan ROM_ACC_EN).

0x1

Mengganggu daftar kawalan bersarang (inestcr)

Daftar ini tidak sah hanya untuk V3A:

Nama CSR Alamat Akses Penerangan Tetapkan semula nilai
pelabur 0xBC1 MRW Mengganggu daftar kawalan bersarang 0x00000000

Orangnya ditakrifkan sebagai

sedikit Nama Akses Penerangan Tetapkan semula nilai
31 Terpelihara MRO Terpelihara 0
30 NEST_OV MRW Bit bendera limpahan gangguan/pengecualian bersarang, tulis 1 untuk mengosongkan:

0: Gangguan tidak melimpah; 1: Bendera limpahan sampuk.

Nota: Limpahan gangguan hanya akan berlaku apabila melaksanakan fungsi perkhidmatan gangguan sekunder untuk menjana pengecualian arahan atau gangguan NMI. Pada masa ini, pengecualian dan gangguan NMI masuk secara normal, tetapi timbunan CPU melimpah, jadi anda tidak boleh keluar dari pengecualian ini dan

NMI sampuk.

0
[29:12] Terpelihara MRO Terpelihara 0
[11:8] NEST_STA MRO Bit bendera status bersarang:

0000: Tiada gangguan;

0001: Gangguan tahap 1;

0011: gangguan tahap 2 (bersarang 1 tahap);

0
0111: Gangguan tahap 3 (limpahan);

1111: Gangguan tahap 4 (limpahan).

[7:2] Terpelihara MRO Terpelihara 0
[1:0] NEST_LVL MRW Tahap bersarang:

00: Bersarang adalah dilarang dan fungsi bersarang dimatikan;

01: Sarang peringkat pertama, yang menghidupkan fungsi sarang;

Lain-lain: Tidak sah.

Nota: Tulis 10 atau 11 pada medan ini, dan medan akan ditetapkan kepada 01. Apabila menulis 11 pada medan ini, baca daftar ini untuk mendapatkan tahap bersarang tertinggi cip.

0

Mod pengguna gangguan global membolehkan daftar (pelatih)

Daftar ini tidak sah hanya untuk V3A:

Nama CSR Alamat Akses Penerangan Tetapkan semula nilai
gintenr 0x800 URW Gangguan global membolehkan daftar 0x00000000

Daftar ini digunakan untuk mengawal membolehkan dan menutup gangguan global. Daya dan topeng gangguan global dalam mod mesin boleh dikawal oleh bit MIE dan MPIE dalam status, tetapi daftar ini tidak boleh dikendalikan dalam mod pengguna.
Interrupt global enable register gintenr ialah pemetaan MIE dan MPIE dalam mstatus, dan boleh digunakan untuk menetapkan dan mengosongkan MIE dan MPIE dengan mengendalikan gintenr dalam mod pengguna.

Setiap daripada mereka ditakrifkan sebagai:

sedikit Nama Akses Penerangan Tetapkan semula nilai
[31:13] Terpelihara URO Terpelihara 0
[12:11] MPP URO Masukkan mod istimewa sebelum gangguan. 0
[10:8] Terpelihara URO Terpelihara 0
7 MPIE URW Apabila 0xBC0(CSR)bit5 didayakan, bit ini

boleh dibaca dan ditulis dalam mod pengguna.

0
[6:4] Terpelihara URO Terpelihara 0
3 MIE URW Apabila 0xBC0(CSR)bit5 didayakan, bit ini

boleh dibaca dan ditulis dalam mod pengguna.

0
[1:0] Terpelihara URO Terpelihara 0

Mengganggu Bersarang

Bersempena dengan gangguan, daftar konfigurasi PFIC_CFGR dan daftar keutamaan gangguan PFIC_IPRIOR, sarang gangguan boleh dibenarkan berlaku. Dayakan sarang dalam daftar konfigurasi sampukan (Sarang dihidupkan secara lalai untuk mikropemproses siri V3) dan konfigurasikan keutamaan sampukan yang sepadan. Lebih kecil nilai keutamaan, lebih tinggi keutamaan. Semakin kecil nilai bit preemption, semakin tinggi keutamaan preemption. Jika terdapat sampukan tergantung pada masa yang sama di bawah keutamaan awalan yang sama, mikropemproses bertindak balas kepada sampukan dengan nilai keutamaan yang lebih rendah (keutamaan lebih tinggi) terlebih dahulu.

Prolog/Epilog Perkakasan (HPE)

  • Apabila pengecualian atau gangguan berlaku, mikropemproses menghentikan aliran program semasa dan beralih kepada pelaksanaan pengecualian atau fungsi pengendalian gangguan, tapak aliran program semasa perlu disimpan. Selepas pengembalian pengecualian atau gangguan, adalah perlu untuk memulihkan tapak dan meneruskan pelaksanaan aliran program yang dihentikan. Untuk mikropemproses siri V3, "tapak" di sini merujuk kepada semua daftar Disimpan Pemanggil dalam Jadual 1-2.
  • Mikropemproses siri V3 menyokong penjimatan automatik kitaran tunggal perkakasan sebanyak 16 daripada daftar yang disimpan pemanggil berbentuk ke kawasan tindanan dalaman yang tidak kelihatan kepada pengguna. Apabila pengecualian atau gangguan kembali, kitaran tunggal perkakasan secara automatik memulihkan data dari kawasan tindanan dalaman kepada daftar berbentuk 16. HPE menyokong sarang sehingga 2 tahap dalam.
  • Skema timbunan tekanan mikropemproses ditunjukkan dalam rajah berikut.WH-V3-Mikropemproses-rajah-2

Nota:

  1. Fungsi sampukan menggunakan HPE perlu disusun menggunakan MRS atau rantai alat yang disediakan dan fungsi sampukan perlu diisytiharkan dengan __attribute__((interrupt (“WCH-Interrupt-fast”))).
  2. Fungsi sampukan menggunakan tolak tindanan diisytiharkan oleh __attribute__((interrupt())).

Jadual Vektor Percuma (VTF)

  • Programmable Fast Interrupt Controller (PFIC) menyediakan 4 saluran VTF, iaitu, akses terus ke entri fungsi gangguan tanpa melalui proses carian jadual vektor gangguan.
  • Saluran VTF boleh didayakan dengan menulis nombor gangguannya, alamat asas fungsi perkhidmatan gangguan dan alamat offset ke dalam daftar pengawal PFIC yang sepadan semasa mengkonfigurasi fungsi gangguan seperti biasa.
  • Proses tindak balas PFIC untuk gangguan pantas dan bebas jadual ditunjukkan dalam Rajah 3-2 di bawah.WH-V3-Mikropemproses-rajah-3

PMP Perlindungan Memori Fizikal

  • Untuk meningkatkan keselamatan sistem, modul perlindungan memori fizikal (PMP) direka mengikut piawaian seni bina RISC-V untuk mikropemproses siri V3 barli tanah tinggi. Pengurusan hak akses sehingga 4 kawasan fizikal disokong. Kebenaran termasuk atribut baca (R), tulis (W), dan laksana (X), dan panjang kawasan yang dilindungi boleh ditetapkan kepada 4 bait sekurang-kurangnya. Modul PMP sentiasa berkuat kuasa dalam mod pengguna, tetapi ia boleh berkuat kuasa secara pilihan dengan mengunci atribut (L) dalam mod mesin.
  • Jika akses melanggar had kebenaran semasa, ia akan mencetuskan gangguan yang tidak normal. Modul PMP merangkumi empat kumpulan daftar konfigurasi 8-bit (Satu kumpulan 32-bit) dan empat kumpulan daftar alamat, yang kesemuanya perlu diakses dalam mod mesin melalui arahan CSR.
  • Nota: Bilangan kawasan terlindung yang disokong oleh PMP dalam model mikropemproses yang berbeza mungkin berbeza, dan bilangan yang disokong oleh daftar pmpcfg dan pmpaddr juga berbeza. Lihat Jadual 1-1 untuk butiran.

Set Daftar PMP

Senarai daftar CSR yang disokong oleh modul PMP mikropemproses V3 ditunjukkan dalam Jadual 4-1 di bawah.

Jadual 4-1 Set daftar modul PMP

Nama alamat CSR Akses Penerangan Tetapkan semula nilai
pmpcfg0 0x3A0 MRW Daftar konfigurasi PMP 0 0x00000000
pmpaddr0 0x3B0 MRW Daftar alamat PMP 0 0xXXXXXXXXX
pmpaddr1 0x3B1 MRW Daftar alamat PMP 1 0xXXXXXXXXX
pmpaddr2 0x3B2 MRW Daftar alamat PMP 2 0xXXXXXXXXX
pmpaddr3 0x3B3 MRW Daftar alamat PMP 3 0xXXXXXXXXX

pmp

pmpcfg ialah daftar konfigurasi unit PMP, dan setiap daftar mengandungi empat medan pengepaman 8-bit, sepadan dengan konfigurasi empat wilayah, dan pengepaman mewakili nilai konfigurasi wilayah i. Formatnya ditunjukkan dalam jadual 4-2 berikut.

Jadual 4-2 pmpcfg0 daftarWH-V3-Mikropemproses-rajah-4

pmpcfg digunakan untuk mengkonfigurasi kawasan I dan definisi bitnya diterangkan dalam jadual 4-3 berikut.

Jadual 4-3

sedikit Nama Penerangan
7 L Penguncian didayakan dan boleh dibuka kunci dalam mod mesin. 0: Tidak dikunci;

1: Kunci daftar yang berkaitan.

[6:5] Terpelihara
[4:3] A Penjajaran alamat dan pemilihan julat kawasan perlindungan. 00: MATI (PMP dimatikan)

01: TOR (Perlindungan penjajaran atas) 10: NA4 (Perlindungan empat bait tetap)

11: NAPOT (2(G+2) Perlindungan bait, G≥1)

2 X Atribut boleh laksana.
0: Tiada kebenaran melaksanakan;

1: Laksanakan kebenaran.

 

1

 

W

Atribut boleh tulis.

0: Tiada kebenaran menulis 1: Kebenaran tulis.

 

0

 

R

Atribut boleh dibaca

0: Tiada kebenaran membaca 1: Kebenaran membaca.

pmpaddr

Daftar pmpaddr digunakan untuk mengkonfigurasi alamat kawasan I. Definisi standard adalah di bawah seni bina RV32, iaitu pengekodan 32 bit atas alamat fizikal 34-bit, dan formatnya ditunjukkan dalam jadual 4-4 berikut .
Keseluruhan ruang alamat fizikal mikropemproses V3 ialah 4G, jadi dua bit atas daftar ini tidak digunakan.

Jadual 4-4 pmpaddrWH-V3-Mikropemproses-rajah-5

Apabila NAPOT dipilih, bit rendah daftar alamat juga digunakan untuk menunjukkan saiz kawasan perlindungan semasa, seperti yang ditunjukkan dalam jadual berikut, di mana 'y' ialah sedikit daftar.
Jadual 4-5 Jadual hubungan antara konfigurasi PMP dan daftar alamat dan kawasan terlindung.

pmpaddr pmpcfg. A Alamat dan saiz asas yang sepadan
yyyy…yyyy NA4 Dengan 'yy…yyyy00' sebagai alamat asas, kawasan 4-bait dilindungi.
yyyy…yyy0 NAPOT Dengan 'yy…yyy000' sebagai alamat asas, kawasan 8-bait dilindungi.
yyyy…yy01 NAPOT Dengan 'yy…yy0000' sebagai alamat asas, kawasan 16-bait dilindungi.
yyyy…y011 NAPOT Dengan 'yy…y00000' sebagai alamat asas, kawasan 16-bait dilindungi.
yyy01…111 NAPOT Dengan 'y0…000000' sebagai alamat asas, kawasan 231-bait dilindungi.
yy011…111 NAPOT Lindungi keseluruhan kawasan 232-bait.

Mekanisme Perlindungan

X/W/R dalam pmpcfg digunakan untuk menetapkan pihak berkuasa perlindungan kawasan I, dan pelanggaran pihak berkuasa yang berkaitan akan menyebabkan pengecualian yang sepadan:

  1. Apabila cuba mengambil arahan dalam kawasan PMP tanpa kuasa pelaksanaan, ia akan menyebabkan pengecualian ralat akses pengambilan arahan (mcause=1).
  2. Apabila cuba menulis data dalam kawasan PMP tanpa kebenaran bertulis, ia akan menyebabkan pengecualian ralat (mcause=7) dalam akses arahan kedai.
  3. Apabila cuba membaca data dalam kawasan PMP tanpa kebenaran baca, ia akan menyebabkan ralat capaian memori yang tidak normal (mcause=5) untuk arahan pemuatan.

A dalam pmpcfg digunakan untuk menetapkan julat perlindungan dan penjajaran alamat bagi rantau I, dan untuk melindungi memori A_ADDR ≤ rantau < i > < B_ADDR (kedua-dua A_ADDR dan B_ADDR diperlukan untuk diselaraskan dalam 4 bait):

  1. Jika B _ ADDR–A_ADDR = = 22, mod NA4 diterima pakai;
  2. Jika B _ ADDR–A_ADDR = = 2(G+2), G≥1 dan alamat _ ialah 2(g+2), kaedah NAPOT diterima pakai;
  3. Jika tidak, mod TOP diterima pakai.

Jadual 4-6 Kaedah pemadanan alamat PMP

Suatu nilai Nama Penerangan
0b00 DIMATIKAN Tiada kawasan untuk dilindungi
0b01 TOR Perlindungan Kawasan Sejajar Atas.

Di bawah pmp

pmpaddri = B_ADDR >> 2.

Nota: Jika kawasan 0 PMP dikonfigurasikan sebagai mod TOR (i=0), sempadan bawah kawasan perlindungan ialah 0 alamat, iaitu 0 ≤ addr < pmpaddr0, semuanya dalam julat padanan.

0b10 NA4 Perlindungan kawasan 4-bait tetap.

pmp

0b11 NAPOT Lindungi rantau 2(G+2) dengan G ≥ 1, apabila A_ADDR adalah 2(G+2) sejajar. pmpaddri = ((A_ADDR|(2(G+2)-1)) &~(1< >1.
  • Bit L dalam pmp
  • Mikropemproses siri QingKe V3 menyokong perlindungan berbilang zon. Apabila operasi yang sama sepadan dengan berbilang zon pada masa yang sama, zon dengan nombor yang lebih kecil dipadankan dahulu.

Pemasa Sistem (SysTick)

  • Mikropemproses siri QingKe V3 direka dengan pembilang 32-bit atau 64-bit (SysTick) di dalamnya. Sumber jamnya ialah jam sistem atau pembahagian 8 frekuensi, dan V3A hanya menyokong pembahagian 8 frekuensi.
  • Ia boleh menyediakan asas masa, masa dan masa pengukuran untuk sistem pengendalian masa nyata. Pelbagai jenis daftar yang terlibat dalam pemasa mempunyai alamat pemetaan yang berbeza, seperti yang ditunjukkan dalam jadual 5-1 dan 5-2 berikut.

Jadual 5-1 Senarai daftar V3A SysTick

Nama Alamat akses Penerangan Tetapkan semula nilai
STK_CTLR 0xE000F000 Daftar kawalan kaunter sistem 0x00000000
STK_CNTL 0xE000F004 Daftar rendah kaunter sistem 0xXXXXXXXXX
STK_CNTH 0xE000F008 Daftar tinggi kaunter sistem

Nota: Hanya sah untuk V3A.

0xXXXXXXXXX
STK_CMPLR 0xE000F00C Daftar nilai perbandingan kiraan sistem rendah 0xXXXXXXXXX
STK_CMPHR 0xE000F010 Daftar nilai perbandingan kiraan sistem tinggi

Nota: Hanya sah untuk V3A.

0xXXXXXXXXX

Jadual 5-2 V3 senarai daftar SysTick model lain

Nama Alamat akses Penerangan Tetapkan semula nilai
STK_CTLR 0xE000F000 Daftar kawalan kaunter sistem 0x00000000
STK_SR 0xE000F004 Daftar status kaunter sistem 0x00000000
STK_CNTL 0xE000F008 Daftar rendah kaunter sistem 0xXXXXXXXXX
STK_CMPLR 0xE000F010 Kira nilai perbandingan daftar rendah 0xXXXXXXXXX

Setiap daftar diterangkan secara terperinci seperti berikut.

Daftar kawalan kaunter sistem (STK_CTLR)

Jadual 5-3 Daftar kawalan SysTick

sedikit Nama Akses Penerangan Tetapkan semula nilai
[31:5] Terpelihara RO Terpelihara 0
 

 

4

 

 

MODE

 

 

RW

Mod mengira: 1: Mengira mundur;

0: Kira.

Nota: Tidak sah untuk V3A.

 

 

0

 

 

 

3

 

 

 

STRE

 

 

 

RW

Kiraan muat semula automatik membolehkan bit:

1: Kira dari 0 sekali lagi selepas mengira sehingga nilai perbandingan, dan kira dari nilai perbandingan sekali lagi selepas mengira turun hingga 0;

0: Teruskan mengira naik/turun.

Nota: Tidak sah untuk V3A.

 

 

 

0

 

 

2

 

 

STCLK

 

 

RW

Bit pemilihan sumber counterclock:

1: HCLK sebagai asas masa; 0: HCLK/8 sebagai asas masa.

Nota: Ia tidak sah untuk V3A, yang hanya menyokong

HCLK/8 sebagai asas masa.

 

 

0

1 LAMAN RW Sampuk balas membolehkan bit kawalan: 0
1: Dayakan gangguan balas; 0: Lumpuhkan gangguan balas.

Nota: Tidak sah untuk V3A.

0 STE RW Kaunter sistem membolehkan bit kawalan. 1: Dayakan pembilang sistem STK;

0: Lumpuhkan pembilang sistem STK dan pembilang berhenti mengira.

0

Daftar status kaunter sistem (STK_SR)

Daftar ini tidak terpakai kepada V3A.

Jadual 5-4 Daftar rendah kaunter SysTick

sedikit Nama Akses Penerangan Tetapkan semula nilai
 

 

31

 

 

SWIE

 

 

RW

Pencetus gangguan perisian membolehkan (SWI): 1: Pencetus gangguan perisian;

0: Matikan picu.

Nota: Bit ini mesti dibersihkan selepas memasuki gangguan perisian, jika tidak, ia akan sentiasa mencetuskan.

 

 

0

[30:1] Terpelihara RO Terpelihara 0
 

 

0

 

 

CNTIF

 

 

RW

Kira bendera perbandingan, tulis 0 dengan jelas, tulis 1 tidak sah:

1: Kira sehingga nilai perbandingan dan kira hingga 0;

0: Nilai perbandingan tidak dicapai.

 

 

0

Daftar rendah kaunter sistem (STK_CNTL)

Jadual 5-5 Daftar rendah kaunter SysTick

sedikit Nama Akses Penerangan Tetapkan semula nilai
[31:0] CNTL RW Nilai kiraan kaunter semasa adalah 32 bit lebih rendah. Untuk V3A, daftar ini boleh dibaca sebagai 8-bit /16-bit

/32-bit, tetapi hanya boleh ditulis sebagai 8-bit, dan lain-lain

model tidak terhad.

0xXXXXXX XXX

Nota: Daftar STK_CNTL dan daftar STK_CNTH dalam V3A bersama-sama membentuk pembilang sistem 64-bit.

Daftar tinggi kaunter sistem (STK_CNTH)

Jadual 5-6 Daftar tinggi kaunter SysTick

sedikit Nama Akses Penerangan Tetapkan semula nilai
[31:0] CNTH RW Nilai kiraan kaunter semasa adalah 32 bit lebih tinggi. Daftar ini boleh dibaca dengan 8-bit/16-bit/32-bit, tetapi hanya boleh ditulis oleh 8-bit.

Nota: Hanya sah untuk V3A.

0xXXXXXX XXX

Nota: Daftar STK_CNTL dan daftar STK_CNTH dalam V3A bersama-sama membentuk pembilang sistem 64-bit.

Daftar rendah nilai perbandingan kiraan sistem (STK_CMPLR)

Jadual 5-7 Daftar rendah nilai perbandingan SysTick

sedikit Nama Akses Penerangan Tetapkan semula nilai
[31:0] CMPL RW Tetapkan nilai perbandingan pembilang kepada 32 bit lebih rendah. Apabila nilai CMP dan nilai CNT adalah sama, gangguan STK akan dicetuskan. Untuk V3A, daftar ini boleh dibaca sebagai 8-bit /16-bit /32-bit, tetapi hanya boleh

ditulis sebagai 8-bit, dan model lain tidak terhad.

0xXXXXXX XXX

Nota: Daftar STK_CMPLR dan daftar STK_CMPHR dalam V3A bersama-sama membentuk nilai perbandingan kaunter 64-bit.

Daftar tinggi nilai perbandingan kiraan sistem (STK_CMPHR)

Jadual 5-8 Daftar tinggi nilai perbandingan SysTick

sedikit Nama Akses Penerangan Tetapkan semula nilai
[31:0] CMPH RW Tetapkan nilai perbandingan pembilang 32 bit lebih tinggi. Gangguan STK akan dicetuskan apabila nilai CMP dan nilai CNT adalah sama.

Daftar ini boleh dibaca dengan 8-bit/16-bit/32-bit, tetapi hanya boleh ditulis oleh 8-bit.

Nota: Hanya sah untuk V3A.

0xXXXXXX XXX

Nota: Daftar STK_CMPLR dan daftar STK_CMPHR dalam V3A bersama-sama membentuk nilai perbandingan kaunter 64-bit.

Tetapan Kuasa Rendah Pemproses

  • Mikropemproses siri QingKe V3 menyokong keadaan tidur melalui arahan WFI (Tunggu Gangguan) untuk mencapai penggunaan kuasa statik yang rendah.
  • Bersama-sama dengan daftar kawalan sistem PFIC (PFIC_SCTLR), pelbagai mod Tidur dan arahan WFE boleh dilaksanakan.

Masukkan Tidur

  • Mikropemproses siri QingKe V3 boleh tidur dalam dua cara, Tunggu Gangguan (WFI) dan Tunggu Acara (WFE). Kaedah WFI bermaksud bahawa mikropemproses pergi tidur, menunggu gangguan untuk bangun, dan kemudian bangun untuk gangguan yang sepadan untuk dilaksanakan. Kaedah WFE bermaksud bahawa mikropemproses akan tidur, menunggu peristiwa untuk bangun dan bangun untuk terus melaksanakan aliran program yang dihentikan sebelum ini.
  • RISC-V standard menyokong arahan WFI, dan arahan WFI boleh dilaksanakan terus untuk memasuki tidur dengan kaedah WFI. Untuk kaedah WFE, bit WFITOWFE dalam daftar kawalan sistem PFIC_SCTLR digunakan untuk mengawal arahan WFI berikutnya sebagai pemprosesan WFE untuk mencapai kaedah WFE untuk memasuki tidur.
  • Kedalaman tidur dikawal mengikut bit SLEEPDEEP dalam PFIC_SCTLR.
  • Jika SLEEPDEEP dalam daftar PFIC_SCTLR dikosongkan kepada sifar, mikropemproses memasuki mod Tidur dan jam unit dalaman dibenarkan untuk dimatikan kecuali untuk SysTick dan sebahagian daripada logik bangun tidur.
  • Jika SLEEPDEEP dalam daftar PFIC_SCTLR ditetapkan, mikropemproses memasuki mod tidur dalam dan semua jam sel dibenarkan untuk dimatikan.
  • Apabila mikropemproses berada dalam mod Nyahpepijat, ia tidak boleh memasuki sebarang jenis mod Tidur.

Tidur Bangun

Mikropemproses siri QingKe V3 boleh dibangunkan selepas tidur kerana WFI dan WFE dengan cara berikut.

Selepas kaedah WFI pergi tidur, ia boleh dikejutkan oleh

  1. Mikropemproses boleh dibangunkan oleh sumber gangguan yang dijawab oleh pengawal gangguan. Selepas bangun, mikropemproses melaksanakan fungsi gangguan terlebih dahulu.
  2. Masukkan mod Tidur, permintaan nyahpepijat boleh membuatkan mikropemproses bangun dan memasuki tidur nyenyak, permintaan nyahpepijat tidak boleh membangunkan mikropemproses.

Selepas kaedah WFE tidur, mikropemproses boleh dibangunkan dengan perkara berikut.

  1. Peristiwa dalaman atau luaran, apabila tidak perlu mengkonfigurasi pengawal gangguan, bangun dan teruskan melaksanakan program.
  2. Jika sumber sampukan didayakan, mikropemproses dibangunkan apabila sampukan dijana, dan selepas bangun, mikropemproses melaksanakan fungsi sampukan terlebih dahulu.
  3. Jika bit SEVONPEND dalam PFIC_SCTLR dikonfigurasikan, pengawal sampukan tidak mendayakan sampukan, tetapi apabila isyarat belum selesai sampukan baharu dijana (isyarat belum selesai yang dijana sebelum ini tidak berkuat kuasa), ia juga boleh membuatkan mikropemproses bangun, dan bendera menunggu gangguan yang sepadan perlu dikosongkan secara manual selepas bangun.
  4. Permintaan nyahpepijat mod Tidur boleh membuatkan mikropemproses bangun dan memasuki tidur dalam, permintaan nyahpepijat tidak boleh membangunkan mikropemproses.
  • Selain itu, keadaan mikropemproses selepas bangun boleh dikawal dengan mengkonfigurasi bit SLEEPONEXIT dalam PFIC_SCTLR.
  • SLEEPONEXIT ditetapkan dan arahan pemulangan gangguan tahap terakhir (mret) akan mencetuskan tidur mod WFI.

SLEEPONEXIT dibersihkan tanpa kesan.

Pelbagai produk MCU yang dilengkapi dengan mikropemproses siri V3 boleh menggunakan mod tidur yang berbeza, mematikan peranti dan jam yang berbeza, melaksanakan dasar pengurusan kuasa yang berbeza dan kaedah bangun mengikut konfigurasi berbeza PFIC_SCTLR, dan merealisasikan pelbagai mod kuasa rendah.

Sokongan Nyahpepijat

  • Mikropemproses siri QingKe V3 termasuk modul nyahpepijat perkakasan yang menyokong operasi penyahpepijatan yang kompleks. Apabila mikropemproses digantung, modul nyahpepijat boleh mengakses GPR, CSR, Memori, peranti luaran mikropemproses, dsb. melalui arahan abstrak, arahan penggunaan penimbal program, dsb. Modul nyahpepijat boleh menggantung dan menyambung semula operasi mikropemproses.
  • Modul nyahpepijat mengikut spesifikasi Sokongan Nyahpepijat Luaran RISC-V Versi0.13.2, dokumentasi terperinci boleh dimuat turun daripada RISC-V International webtapak.

Modul Nyahpepijat

  • Modul nyahpepijat di dalam mikropemproses, yang mampu melaksanakan operasi nyahpepijat yang dikeluarkan oleh hos nyahpepijat, termasuk.
  • Akses kepada pendaftaran melalui antara muka nyahpepijat
  • Tetapkan semula, gantung dan sambung semula mikropemproses melalui antara muka nyahpepijat
  • Baca dan tulis memori, daftar arahan dan peranti luaran melalui antara muka nyahpepijat
  • Gunakan berbilang arahan sewenang-wenangnya melalui antara muka nyahpepijat
  • Tetapkan titik putus perisian melalui antara muka nyahpepijat
  • Tetapkan titik putus perkakasan melalui antara muka nyahpepijat
  • Menyokong pelaksanaan auto arahan abstrak
  • Menyokong penyahpepijatan satu langkah
  • Nota: V3A tidak menyokong titik putus perkakasan, titik putus perkakasan V3B menyokong pemadanan alamat arahan, dan titik putus perkakasan V3C menyokong pemadanan alamat arahan dan alamat data.
  • Daftar dalaman modul penyahpepijatan menggunakan kod alamat 7-bit, dan daftar berikut dilaksanakan di dalam mikropemproses siri QingKe V3.

Jadual 7-1 Senarai daftar modul nyahpepijat

Nama Alamat akses Penerangan
data0 0x04 Daftar data 0, boleh digunakan untuk penyimpanan sementara data
data1 0x05 Daftar data 1, boleh digunakan untuk penyimpanan sementara data
hilang kawalan 0x10 Daftar kawalan modul nyahpepijat
dmstatus 0x11 Daftar status modul nyahpepijat
hartinfo 0x12 Daftar status mikropemproses
abstrak 0x16 Daftar status arahan abstrak
perintah 0x17 Daftar arahan abstrak
auto abstrak 0x18 Perlaksanaan auto arahan abstrak
progbuf0-7 0x20-0x27 Cache arahan mendaftar 0-7
haltsum0 0x40 Jeda daftar status
  • Hos nyahpepijat boleh mengawal penggantungan mikropemproses, menyambung semula, menetapkan semula, dsb. dengan mengkonfigurasi daftar nyahkawal. Piawaian RISC-V mentakrifkan tiga jenis arahan abstrak: daftar akses, akses pantas dan memori akses.
  • Mikropemproses QingKe V3A hanya menyokong akses daftar, model lain menyokong akses daftar dan memori, tetapi bukan akses pantas. Akses kepada daftar (GPR, CSR) dan akses berterusan kepada ingatan boleh direalisasikan dengan arahan abstrak.
  • Modul nyahpepijat melaksanakan 8 daftar cache arahan progbuf0-7, dan hos nyahpepijat boleh cache berbilang arahan (yang boleh dimampatkan arahan) ke penimbal dan boleh memilih untuk terus melaksanakan arahan dalam daftar cache arahan selepas melaksanakan arahan abstrak atau laksana arahan cache secara langsung.
  • Nota bahawa arahan terakhir dalam atur cara mestilah arahan "ebreak" atau "c.ebreak". Akses kepada storan, persisian, dsb. juga boleh dilakukan melalui arahan abstrak dan arahan yang dicache dalam program.
  • Setiap daftar diterangkan secara terperinci seperti berikut.
  • Daftar data 0 (data0)

Jadual 7-2 definisi daftar data

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:0] data0 RW Daftar data 0, digunakan untuk penyimpanan sementara data 0

Daftar data 1 (data1)

Jadual 7-3 definisi daftar data1

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:0] data1 RW Daftar data 1, digunakan untuk penyimpanan sementara data 0

Daftar kawalan modul nyahpepijat (nyahkawalan)

Daftar ini mengawal jeda, set semula dan sambung semula mikropemproses. Hos nyahpepijat menulis data ke medan yang sepadan untuk mencapai jeda (haltreq), set semula (ndmreset), sambung semula (resumereq). Anda menerangkan perkara berikut.

Jadual 7-4 nyahkawal definisi daftar

sedikit Nama Akses Penerangan Tetapkan semula Nilai
31 haltreq WO 0: Kosongkan permintaan jeda

1: Hantar permintaan jeda

0
30 resumereq W1 0: Tidak sah

1: Pulihkan mikropemproses semasa

Nota: Tulis 1 adalah sah dan perkakasan dibersihkan selepas mikropemproses dipulihkan

0
29 Terpelihara RO Terpelihara 0
28 ackhavereset W1 0: Tidak sah

1: Kosongkan bit status penuaian mikropemproses

0
[27:2] Terpelihara RO Terpelihara 0
1 ndmreset RW 0: Kosongkan tetapan semula

1: Tetapkan semula keseluruhan sistem selain daripada modul nyahpepijat

 

0

0 nyahaktifkan RW 0: Tetapkan semula modul nyahpepijat

1: Modul Nyahpepijat berfungsi dengan betul

0

Daftar status modul nyahpepijat (status dm)

  • Daftar ini digunakan untuk menunjukkan status modul nyahpepijat dan merupakan daftar baca sahaja dengan penerangan berikut bagi setiap bit.

Jadual 7-5 definisi daftar dmstatus

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:20] Terpelihara RO Terpelihara 0
19 allhaveset RO 0: Tidak sah

1: Tetapan semula mikropemproses

0
18 anyhaveset RO 0: Tidak sah

1: Tetapan semula mikropemproses

0
17 allresumeck RO 0: Tidak sah

1: Tetapan semula mikropemproses

0
16 anyresumeck RO 0: Tidak sah

1: Tetapan semula mikropemproses

0
[15:14] Terpelihara RO Terpelihara 0
13 aluvium RO 0: Tidak sah

1: Mikropemproses tidak tersedia

0
12 sebarang faedah RO 0: Tidak sah

1: Mikropemproses tidak tersedia

0
11 semua berjalan RO 0: Tidak sah

1: Mikropemproses sedang berjalan

0
10 sebarang larian RO 0: Tidak sah

1: Mikropemproses sedang berjalan

0
9 terhenti RO 0: Tidak sah

1: Mikropemproses berada dalam penggantungan

0
8 mana-mana terhenti RO 0: Tidak sah

1: Mikropemproses kehabisan penggantungan

0
7 disahkan  

RO

0: Pengesahan diperlukan sebelum menggunakan modul nyahpepijat

1: Modul penyahpepijatan telah diperakui

 

0x1

[6:4] Terpelihara RO Terpelihara 0
[3:0] versi RO Menyahpepijat sistem sokongan seni bina versi 0010: V0.13 0x2

Daftar status mikropemproses (hartinfo)

Daftar ini digunakan untuk memberikan maklumat tentang mikropemproses kepada hos nyahpepijat dan merupakan daftar baca sahaja dengan setiap bit diterangkan seperti berikut.

Jadual 7-6 definisi daftar hartinfo

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:24] Terpelihara RO Terpelihara 0
[23:20] calar RO Bilangan daftar calar yang disokong 0x3
[19:17] Terpelihara RO Terpelihara 0
16 DataAccess RO 0: Daftar data dipetakan ke alamat CSR

1: Daftar data dipetakan ke alamat memori

0x1
[15:12] ukuran data RO Bilangan daftar data 0x2
  [11:0] tambah data  

RO

Alamat offset data daftar data0,

yang alamat asasnya ialah 0xe0000000, tertakluk kepada bacaan tertentu.

0xXXX

Kawalan arahan abstrak dan daftar status (abstrak)

Daftar ini digunakan untuk menunjukkan pelaksanaan perintah abstrak. Hos nyahpepijat boleh membaca daftar ini untuk mengetahui sama ada arahan abstrak terakhir dilaksanakan atau tidak dan boleh menyemak sama ada ralat dijana semasa pelaksanaan arahan abstrak dan jenis ralat, yang diterangkan secara terperinci seperti berikut.

Jadual 7-7 abstrak mendaftar definisi

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:29] Terpelihara RO Terpelihara 0
[28:24] progbufsize RO Menunjukkan bilangan program penimbal program

daftar cache

0x8
[23:13] Terpelihara RO Terpelihara 0
12 sibuk RO 0: Tiada arahan abstrak sedang dilaksanakan

1: Terdapat arahan abstrak sedang dilaksanakan

Nota: Selepas pelaksanaan, perkakasan dikosongkan.

 

0

11 Terpelihara RO Terpelihara 0
[10:8] cmder RW Jenis ralat arahan abstrak 000: Tiada ralat

001: Pelaksanaan perintah abstrak untuk menulis kepada perintah, abstrak, daftar auto abstrak atau membaca dan menulis kepada data dan daftar progbuf

010: Tidak menyokong arahan abstrak semasa 011: Pelaksanaan perintah abstrak dengan pengecualian 100: Mikropemproses tidak digantung atau tidak tersedia dan tidak boleh melaksanakan arahan abstrak 101: Ralat bas

110: Ralat bit pariti semasa komunikasi 111: Ralat lain

Nota: Untuk penulisan bit 1 digunakan untuk mengosongkan sifar.

 

 

 

 

 

 

 

0

[7:4] Terpelihara RO Terpelihara 0
[3:0] diskaun RO Bilangan daftar data 0x2
  • Hos penyahpepijatan boleh mengakses GPR, daftar CSR dan memori dengan menulis nilai konfigurasi yang berbeza ke dalam daftar perintah abstrak.
  • Apabila mengakses daftar, bit daftar perintah ditakrifkan seperti berikut.
  • Jadual 7-8 Definisi daftar arahan semasa mengakses daftar
sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:24] jenis cmd WO Jenis arahan abstrak 0: Daftar akses;

1: Akses pantas (tidak disokong);

2: Akses kepada ingatan.

0
23 Terpelihara WO Terpelihara 0
[22:20] aarsize WO Akses lebar bit data daftar 000: 8-bit

001: 16-bit

010: 32-bit

0
011: 64-bit (tidak disokong) 100: 128-bit (tidak disokong)

Nota: Apabila mengakses daftar floating-point

FPR, hanya akses 32-bit disokong.

19 aarpostincrement WO 0: Tiada kesan

1: Meningkatkan nilai regno secara automatik selepas mengakses daftar

 

0

18 jawatan eksekutif WO 0: Tiada kesan

1: Jalankan arahan abstrak dan kemudian laksanakan arahan dalam progbuf

 

0

17 pemindahan WO 0: Jangan laksanakan operasi yang ditentukan dengan menulis

1: Laksanakan manipulasi yang ditentukan dengan menulis

0
16 menulis WO 0: Salin data dari daftar yang ditentukan ke data0 1: Salin data dari daftar data0 ke daftar yang ditentukan  

0

[15:0] regno WO Tentukan daftar akses 0x0000-0x0fff ialah CSR 0x1000-0x101f ialah GPR  

0

Apabila mengakses memori, bit dalam daftar arahan ditakrifkan seperti berikut.

Jadual 7-9 Definisi arahan Daftar semasa Mengakses Memori

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:24] jenis cmd WO Jenis arahan abstrak 0: Daftar akses;

1: Akses pantas (tidak disokong);

2: Akses memori.

0
23 aamvirtual WO 0: Akses alamat fizikal;

1: Akses alamat maya.

0
[22:20] saiz lengan WO Akses lebar bit data memori 000: 8-bit;

001: 16-bit;

010: 32-bit;

011: 64-bit (tidak disokong); 100: 128-bit (tidak disokong);

 

0

19 aampostincrement WO 0: Tiada pengaruh;

1: Selepas mencapai memori dengan jayanya, tambahkan alamat yang disimpan dalam daftar data1 dengan bilangan bait yang sepadan dengan lebar bit yang dikonfigurasikan mengikut saiz lengan.

Aamsize=0, diakses oleh bait, data1 tambah 1.

Aamsize=1, diakses dengan separuh perkataan, data1 tambah 2. aamsize=2, diakses dengan bit, data1 tambah 4.

 

0

18 jawatan eksekutif WO 0: Tiada pengaruh;

1: Jalankan arahan dalam progbuf selepas melaksanakan arahan abstrak.

0
17 Rizab RO Terpelihara 0
 

 

16

 

 

menulis

 

 

WO

0: Baca data dari alamat yang ditentukan oleh data1 hingga data0

1: Tulis data dalam data0 ke alamat yang ditentukan oleh

data1.

 

 

0

 

 

 

 

 

 

[15:14]
 

 

 

 

 

 

khusus sasaran

 

 

 

 

 

 

WO

Definisi mod membaca dan menulis Tulis:

00, 01: Tulis terus ke ingatan;

10: Selepas data dalam data0 adalah ATAU dengan bit data dalam ingatan, hasilnya ditulis ke dalam ingatan (Hanya akses perkataan disokong).

11: Selepas menjumlahkan data dalam data0 dengan bit data dalam ingatan, tulis hasilnya ke dalam ingatan (Hanya akses perkataan disokong).

Baca:

00, 01, 10, 11: Baca 0 terus dari ingatan.

 

 

 

 

 

 

0

[13:0] Rizab RO Terpelihara

Daftar perlaksanaan automatik arahan abstrak (auto abstrak)

Daftar ini digunakan untuk mengkonfigurasi modul penyahpepijatan. Apabila membaca dan menulis progbufx dan data modul penyahpepijatan, arahan abstrak boleh dilaksanakan semula.

Penerangan daftar ini adalah seperti berikut:

Jadual 7-10 definisi daftar auto abstrak

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:16] autoexecprogbuf RW Jika bit ditetapkan, bacaan dan penulisan progbufx yang sepadan akan menyebabkan arahan abstrak dalam daftar arahan dilaksanakan semula.

Nota: Siri V3 direka dengan 8 progbuf, sepadan dengan bit [23:16].

 

0

[15:12] Rizab RO Terpelihara 0
[11:0] autoexecdata  

RW

Jika bit ditetapkan kepada 1, bacaan dan penulisan daftar data yang sepadan akan menyebabkan arahan abstrak dalam daftar Perintah dilaksanakan semula.

Nota: Siri V3 direka dengan dua data daftar, sepadan dengan bit [1:0].

0

Daftar cache arahan (progbufx)

Daftar ini digunakan untuk menyimpan sebarang arahan, dan menggunakan operasi yang sepadan, termasuk 8, yang perlu memberi perhatian kepada pelaksanaan terakhir yang perlu "break" atau "c.ebreak".

Jadual 7-11 definisi daftar progbuf

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:0] progbuf RW Pengekodan arahan untuk operasi cache, yang

mungkin termasuk arahan mampatan

0

Jeda daftar status (haltsum0)

Daftar ini digunakan untuk menunjukkan sama ada mikropemproses digantung atau tidak. Setiap bit menunjukkan status penggantungan mikropemproses, dan apabila terdapat hanya satu teras, hanya bit terendah daftar ini digunakan untuk menunjukkannya.

Jadual 7-12 definisi daftar haltsum0

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:1] Terpelihara RO Terpelihara 0
0 haltsum0 RO 0: Mikropemproses beroperasi seperti biasa

1: Berhenti mikropemproses

0
  • Sebagai tambahan kepada daftar modul nyahpepijat yang disebutkan di atas, fungsi nyahpepijat juga melibatkan beberapa daftar CSR, terutamanya kawalan nyahpepijat dan daftar status dcsr dan dpc penunjuk arahan nyahpepijat, yang diterangkan secara terperinci seperti berikut.
  • Kawalan nyahpepijat dan daftar status (dcsr)

Jadual 7-13 definisi daftar dcsr

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:28] xdebugver DRO 0000: Penyahpepijatan luaran tidak disokong 0100: Sokong penyahpepijatan luaran standard

1111: Penyahpepijatan luaran disokong, tetapi tidak memenuhi

spesifikasi

 

 

0x4

[27:16] Terpelihara DRO Terpelihara 0
15 rehat DRW 0: Perintah putus dalam mod mesin berkelakuan seperti yang diterangkan dalam keistimewaan file

1: Perintah putus dalam mod mesin boleh memasuki mod nyahpepijat

 

 

0

[14:13] Terpelihara DRO Terpelihara 0
12 perpisahan  

DRW

0: Perintah break dalam mod pengguna berkelakuan seperti yang diterangkan dalam keistimewaan file

1: Perintah break dalam mod pengguna boleh memasuki mod nyahpepijat

 

 

0

11 langkah DRW 0: Gangguan dilumpuhkan di bawah penyahpepijatan satu langkah

1: Dayakan gangguan di bawah penyahpepijatan satu langkah

0
10 Terpelihara DRO Terpelihara 0
9 berhenti masa DRW 0: Pemasa sistem berjalan dalam mod Nyahpepijat

1: Pemasa sistem berhenti dalam mod Nyahpepijat

0
  [8:6] sebab DRO Sebab untuk memasuki penyahpepijatan

001: Memasuki penyahpepijatan dalam bentuk perintah break (keutamaan 3)

010: Memasuki penyahpepijatan dalam bentuk modul pencetus (keutamaan 4, yang tertinggi)

011: Memasuki penyahpepijatan dalam bentuk permintaan jeda (keutamaan 1)

100: penyahpepijatan dalam bentuk penyahpepijatan satu langkah

(keutamaan 0, paling rendah)

0
101: masukkan mod nyahpepijat terus selepas set semula mikropemproses (keutamaan 2) Lain-lain: Terpelihara
[5:3] Terpelihara DRO Terpelihara 0
2 langkah DRW 0: Matikan penyahpepijatan satu langkah

1: Dayakan penyahpepijatan satu langkah

0
[1:0] Sebelumnya DRW Mod keistimewaan 00: Mod pengguna

01: Mod penyelia (tidak disokong) 10: Terpelihara

11: Mod mesin

Nota: Rakam mod istimewa apabila memasuki mod nyahpepijat, penyahpepijat boleh mengubah suai nilai ini untuk mengubah suai mod istimewa apabila keluar dari nyahpepijat

 

 

 

 

0

Penunjuk atur cara mod nyahpepijat (DPC)

  • Daftar ini digunakan untuk menyimpan alamat arahan seterusnya yang akan dilaksanakan selepas mikropemproses memasuki mod nyahpepijat, dan nilainya dikemas kini dengan peraturan yang berbeza bergantung pada sebab memasuki nyahpepijat. daftar dpc diterangkan secara terperinci seperti berikut.

Jadual 7-14 definisi daftar dpc

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:0] DPC DRW Alamat arahan 0

Peraturan untuk mengemas kini daftar ditunjukkan dalam jadual berikut.

Jadual 7-15 peraturan kemas kini dpc

Masukkan kaedah penyahpepijatan peraturan Kemas kini dpc
rehat Alamat arahan Ebreak
satu langkah Alamat arahan arahan seterusnya arahan semasa
modul pencetus Tidak disokong buat sementara waktu
hentikan permintaan Alamat arahan seterusnya yang akan dilaksanakan apabila memasuki Debug

Antara Muka Debug

  • Berbeza dengan standard JTAG antara muka yang ditakrifkan oleh RISC-V, mikropemproses siri QingKe V3 menggunakan 1- antara muka nyahpepijat bersiri wayar/2 wayar dan mengikut protokol antara muka nyahpepijat WCH V1.0.
  • Antara muka nyahpepijat bertanggungjawab untuk komunikasi antara hos nyahpepijat dan modul nyahpepijat dan merealisasikan operasi baca/tulis hos nyahpepijat kepada daftar modul nyahpepijat.
  • WCH mereka bentuk WCH_Link dan sumber terbuka binari skema dan programnya files, yang boleh digunakan untuk menyahpepijat semua mikropemproses seni bina RISC-V.
  • Rujuk Manual Protokol Nyahpepijat WCH untuk protokol antara muka nyahpepijat tertentu.

Senarai Daftar CSR

  • Seni bina RISC-V mentakrifkan beberapa Daftar Kawalan dan Status (CSR) untuk mengawal dan merekod status pengendalian mikropemproses.
  • Beberapa CSR telah diperkenalkan dalam bahagian sebelumnya, dan bab ini akan memperincikan daftar CSR yang dilaksanakan dalam mikropemproses siri QingKe V3.

Senarai Daftar CSR

Jadual 8-1 Senarai Daftar CSR Mikropemproses

taip Nama CSR Alamat Akses Penerangan
RISC-V

CSR standard

marchid 0xF12 MRO Daftar nombor seni bina
mimpid 0xF13 MRO Daftar penomboran pelaksanaan perkakasan
mstatus 0x300 MRW Daftar status
misa 0x301 MRW Daftar set arahan perkakasan
mtvec 0x305 MRW Daftar alamat asas pengecualian
mscratch 0x340 MRW Mod mesin stagdaftar masuk
MEPC 0x341 MRW Daftar penunjuk program pengecualian
sebab 0x342 MRW Daftar sebab pengecualian
mtval 0x343 MRW Daftar nilai pengecualian
pmpcfg 0x3A0+i MRW Daftar konfigurasi PMP
pmpaddr 0x3B0+i MRW daftar alamat PMP
tselect 0x7A0 MRW Daftar pemilihan pencetus nyahpepijat
tdata1 0x7A1 MRW Daftar data pencetus nyahpepijat 1
tdata2 0x7A2 MRW Daftar data pencetus nyahpepijat 2
dcsr 0x7B0 DRW Kawalan nyahpepijat dan daftar status
dpc 0x7B1 DRW Daftar penunjuk program mod nyahpepijat
dscratch0 0x7B2 DRW Mod nyahpepijat stagdalam daftar 0
dscratch1 0x7B3 DRW Mod nyahpepijat stagdalam daftar 1
 

CSR yang ditentukan oleh vendor

gintenr 0x800 URW Gangguan global membolehkan daftar
intsyscr 0x804 URW Mengganggu daftar kawalan sistem
corecfgr 0xBC0 MRW Daftar konfigurasi mikropemproses
inestcr 0xBC1 MRW Mengganggu daftar kawalan bersarang

Daftar CSR Standard RISC-V

  • Daftar nombor seni bina (marchid)
  • Daftar ini ialah daftar baca sahaja untuk menunjukkan nombor seni bina perkakasan mikropemproses semasa, yang kebanyakannya terdiri daripada kod vendor, kod seni bina, kod siri dan kod versi. Setiap daripada mereka ditakrifkan seperti berikut.

Jadual 8-2 definisi daftar marchid

sedikit Nama Akses Penerangan Tetapkan semula Nilai
31 Terpelihara MRO Terpelihara 1
[30:26] Penjual0 MRO Kod pengilang 0

Ditetapkan pada kod huruf "W".

0x17
[25:21] Penjual1 MRO Kod pengilang1

Ditetapkan pada kod huruf "C".

0x03
[20:16] Penjual2 MRO Kod pengilang 2

Ditetapkan pada kod huruf "H".

0x08
15 Terpelihara MRO Terpelihara 1
[14:10] Gerbang MRO Kod seni bina 0x16
Seni bina RISC-V ditetapkan pada kod huruf "V".
[9:5] bersiri MRO Kod siri

Siri QingKe V3, ditetapkan pada nombor "3"

0x03
[4:0] Versi MRO Kod versi

Boleh menjadi versi "A", "B", "C" dan huruf lain kod

x

Nombor pengilang dan nombor versi adalah abjad, dan nombor siri adalah angka. Jadual pengekodan huruf ditunjukkan dalam jadual berikut.

Jadual 8-3 Jadual Pemetaan Abjad

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
  • Antaranya, mikropemproses QingKe V3A, daftar membaca kembali kepada 0.

Daftar penomboran pelaksanaan perkakasan (limpid)

  • Daftar ini terutamanya terdiri daripada kod vendor, setiap satunya ditakrifkan seperti berikut.

Jadual 8-4 definisi daftar limpid

sedikit Nama Akses Penerangan Tetapkan semula Nilai
31 Terpelihara MRO Terpelihara 1
[30:26] Penjual0 MRO Kod pengilang 0

Ditetapkan pada kod huruf "W".

0x17
[25:21] Penjual1 MRO Kod pengilang1

Ditetapkan pada kod huruf "C".

0x03
[20:16] Penjual2 MRO Kod pengilang 2

Ditetapkan pada kod huruf "H".

0x08
15 Terpelihara MRO Terpelihara 1
[14:8] Terpelihara MRO Terpelihara 0
[7:4] kecil MRO Nombor subversi 0xX
[3:0] Major MR0 Nombor versi utama 0xX
  • Daftar ini boleh dibaca dalam mana-mana pelaksanaan mesin, dan dalam pemproses siri QingKe V3A, daftar ini dibaca kembali kepada sifar.

Daftar status mod mesin (mstatus)

  • Daftar ini telah diterangkan sebahagiannya dalam bahagian sebelumnya, dan orangnya diletakkan seperti berikut.

Jadual 8-5 takrif daftar mstatus

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:13] Terpelihara MRO Terpelihara 0
[12:11] MPP MRW Mod istimewa sebelum memasuki rehat 0
[10:8] Terpelihara MRO Terpelihara 0
7 MPIE MRW Sampuk daya keadaan sebelum memasukkan sampukan 0
[6:4] Terpelihara MRO Terpelihara 0
3 MIE MRW Gangguan mod mesin membolehkan 0
[2:0] Terpelihara MRO Terpelihara 0
  • Medan MPP digunakan untuk menyimpan mod istimewa sebelum memasuki pengecualian atau sampukan dan digunakan untuk memulihkan mod istimewa selepas keluar dari pengecualian atau sampukan. MIE ialah bit pemboleh gangguan global, dan apabila memasukkan pengecualian atau gangguan, nilai MPIE dikemas kini kepada nilai MIE, dan perlu diperhatikan bahawa dalam mikropemproses siri QingKe V3, MIE tidak akan dikemas kini kepada 0 sebelum tahap terakhir sarang bersarang untuk memastikan sarang sarang dalam mod Mesin terus dilaksanakan. Apabila pengecualian atau gangguan dikeluarkan, mikropemproses kembali kepada mod Mesin yang disimpan oleh MPP, dan MIE dipulihkan kepada nilai MPIE.
  • Mikropemproses QingKe V3 menyokong mod Mesin dan mod Pengguna, jika anda perlu menjadikan mikropemproses hanya berfungsi dalam mod Mesin, anda boleh menetapkan MPP kepada 0x3 dalam permulaan but file, iaitu, selepas kembali, ia akan sentiasa kekal dalam mod Mesin.

Daftar set arahan perkakasan (misa)

  • Daftar ini digunakan untuk menunjukkan seni bina mikropemproses dan sambungan set arahan yang disokong, setiap satunya diterangkan seperti berikut.

Jadual 8-6 ​​takrifan daftar misa

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:30] MXL MRO Panjang perkataan mesin 1:32

2:64

3:128

1
[29:26] Terpelihara MRO Terpelihara 0
[25:0] Sambungan MRO Sambungan set arahan x
  • MXL digunakan untuk menunjukkan panjang perkataan mikropemproses, QingKe V3 ialah mikropemproses 32-bit, dan domain ditetapkan kepada 1.
  • Sambungan digunakan untuk menunjukkan bahawa mikropemproses menyokong butiran set arahan lanjutan, setiap satu menunjukkan kelas sambungan, penerangan terperincinya ditunjukkan dalam jadual berikut.

Jadual 8-7 Butiran Sambungan Set Arahan

sedikit Nama Penerangan
0 A Sambungan atom
1 B Tentatif dikhaskan untuk sambungan Manipulasi Bit
2 C Sambungan termampat
3 D Sambungan titik terapung berketepatan dua kali
4 E ISA asas RV32E
5 F Sambungan titik terapung ketepatan tunggal
6 G Pelanjutan standard tambahan ada
7 H Sambungan hipervisor
8 I RV32I/64I/128I asas ISA
9 J Tentatif dikhaskan untuk sambungan Bahasa Terjemahan Dinamik
10 K Terpelihara
11 L Tentatif dikhaskan untuk sambungan Titik Terapung Perpuluhan
12 M Sambungan Darab/Bahagi Integer
13 N Gangguan peringkat pengguna disokong
14 O Terpelihara
15 P Tentatif dikhaskan untuk sambungan Packed-SIMD
16 Q Sambungan titik terapung berketepatan empat
17 R Terpelihara
18 S Mod penyelia dilaksanakan
19 T Tentatif dikhaskan untuk sambungan Memori Transaksional
20 U Mod pengguna dilaksanakan
21 V Tentatif dikhaskan untuk sambungan Vektor
22 W Terpelihara
23 X Sambungan bukan standard ada
24 Y Terpelihara
25 Z Terpelihara
  • Untuk exampOleh itu, untuk mikropemproses QingKe V3A, nilai daftar ialah 0x401001105, yang bermaksud seni bina set arahan yang disokong ialah RV32IMAC, dan ia mempunyai pelaksanaan mod Pengguna.

Daftar alamat asas pengecualian mod mesin (mtvec)

  • Daftar ini digunakan untuk menyimpan alamat asas pengendali pengecualian atau gangguan dan dua bit yang lebih rendah digunakan untuk mengkonfigurasi mod dan kaedah pengenalan jadual vektor seperti yang diterangkan dalam Bahagian 3.2.

Mod mesin stagdaftar masuk (mscratch)

Jadual 8-8 definisi daftar mscratch

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:0] mscratch MRW Penyimpanan data 0

Daftar ini ialah daftar 32-bit yang boleh dibaca dan boleh ditulis dalam mod mesin untuk penyimpanan data sementara. Untuk exampOleh itu, apabila memasukkan pengecualian atau pengendali sampukan, penuding tindanan pengguna SP disimpan dalam daftar ini dan penuding tindanan sampukan diberikan kepada daftar SP. Selepas keluar dari pengecualian atau gangguan, pulihkan nilai penuding tindanan pengguna SP dari awal. Iaitu, timbunan sampukan dan timbunan pengguna boleh diasingkan.

Daftar penunjuk program pengecualian mod mesin (peta)

Jadual 8-9 definisi daftar mepc

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:0] mepc MRW Penunjuk prosedur pengecualian 0
  • Daftar ini digunakan untuk menyimpan penunjuk program apabila memasukkan pengecualian atau gangguan.
  • Ia digunakan untuk menyimpan penunjuk PC arahan sebelum memasukkan pengecualian apabila pengecualian atau gangguan dijana, dan mepc digunakan sebagai alamat pemulangan apabila pengecualian atau gangguan dikendalikan dan digunakan untuk pemulangan pengecualian atau gangguan.
  • Walau bagaimanapun, adalah penting untuk diperhatikan.
  • Apabila pengecualian berlaku, mepc dikemas kini kepada nilai PC arahan yang sedang menjana pengecualian.
  • Apabila gangguan berlaku, mepc dikemas kini kepada nilai PC arahan seterusnya.
  • Apabila anda perlu mengembalikan pengecualian selepas memproses pengecualian, anda harus memberi perhatian kepada mengubah suai nilai mepc, dan butiran lanjut boleh didapati dalam Bab 2 Pengecualian.

Daftar sebab pengecualian mod mesin (mcause)

Jadual 8-10 sebab definisi daftar

sedikit Nama Akses Penerangan Tetapkan semula Nilai
31 menyampuk MRW Medan petunjuk gangguan 0: Pengecualian

1: Gangguan

 

0

[30:0] Kod Pengecualian MRW Untuk kod pengecualian, lihat Jadual 2-1 untuk butiran 0
  • Daftar ini digunakan terutamanya untuk menyimpan punca pengecualian atau nombor gangguan gangguan. Bit tertingginya ialah medan Interrupt, yang digunakan untuk menunjukkan sama ada kejadian semasa adalah pengecualian atau gangguan.
  • Bit yang lebih rendah ialah kod pengecualian, yang digunakan untuk menunjukkan sebab tertentu. Butirannya boleh didapati dalam Bab 2 Pengecualian.

Daftar nilai pengecualian mod mesin (mtval)

Jadual 8-11 definisi daftar mtval

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:0] mtval MRW Nilai pengecualian 0
  • Daftar ini digunakan untuk menyimpan nilai yang menyebabkan pengecualian apabila pengecualian berlaku. Untuk butiran seperti nilai dan masa penyimpanannya, sila rujuk Bab 2 Pengecualian.

Daftar konfigurasi PMP (pmpcfg

  • Daftar ini digunakan terutamanya untuk mengkonfigurasi unit perlindungan memori fizikal, dan setiap 8 bit daftar ini digunakan untuk mengkonfigurasi perlindungan kawasan. Sila rujuk Bab 4 untuk definisi terperinci.

daftar alamat PMP (pmpaddr

  • Daftar ini digunakan terutamanya untuk konfigurasi alamat unit perlindungan memori fizikal, yang mengekodkan 32 bit atas alamat fizikal 34-bit. Sila rujuk Bab 4 untuk kaedah konfigurasi khusus.

Daftar penunjuk program mod nyahpepijat (DPC)

  • Daftar ini digunakan untuk menyimpan alamat arahan seterusnya yang akan dilaksanakan selepas mikropemproses masuk
  • Mod nyahpepijat dan nilainya dikemas kini dengan peraturan berbeza bergantung pada sebab memasuki nyahpepijat. Rujuk Bahagian 6.1 untuk penerangan terperinci.

Nyahpepijat pencetus pilih daftar (pilih)

  • Ia hanya sah untuk mikropemproses yang menyokong titik putus perkakasan dan paling banyak menyokong titik putus 4 saluran, dan 2 bit yang lebih rendah adalah sah.
  • Apabila mengkonfigurasi setiap titik putus saluran, anda perlu memilih saluran yang sepadan melalui daftar ini sebelum konfigurasi.

Jadual 8-12 pilih definisi daftar

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:2] Terpelihara MRO Terpelihara 0
[1:0]  

PILIH

 

MRW

Daftar pemilihan saluran titik putus dikonfigurasikan, iaitu, selepas saluran yang sepadan dipilih, daftar tdata1 dan tdata2 boleh dikendalikan untuk mengkonfigurasi titik putus

maklumat.

 

X

Nyahpepijat daftar data pencetus 1(tdata1)

Ia hanya sah untuk mikropemproses yang menyokong titik putus perkakasan. Mikropemproses hanya menyokong titik putus alamat arahan dan alamat data, dengan JENIS bit daftar tdata1 ialah nilai tetap 2, dan bit lain mematuhi definisi kawalan dalam piawaian penyahpepijatan.

Jadual 8-13 tdata1 definisi daftar

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:28] JENIS MRO Takrif jenis titik putus, jenis kawalan. 0x2
 

 

27

 

 

DMODE

 

 

MRO

0: Daftar flip-flop yang berkaitan boleh diubah suai dalam kedua-dua mod mesin dan mod nyahpepijat;

1: Hanya mod nyahpepijat boleh mengubah suai daftar flip-flop yang berkaitan.

 

 

1

  [26:21]  

MASKMAX

 

MRO

Apabila MATCH=1, julat kuasa eksponen maksimum padanan dibenarkan, iaitu julat padanan maksimum yang dibenarkan ialah 231 bait.  

0x1F

[20:13] Terpelihara MRO Terpelihara 0
 

 

12

 

 

TINDAKAN

 

 

MRW

Tetapkan mod pemprosesan apabila mencetuskan titik putus:

0: Apabila mencetuskan, masukkan titik putus dan panggil semula gangguan;

1: Masukkan mod nyahpepijat apabila dicetuskan.

 

 

0

[11:8] Terpelihara MRO Terpelihara 0
 

 

 

7

 

 

 

PERLAWANAN

 

 

 

MRW

Konfigurasi dasar yang sepadan:

0: Padankan apabila nilai pencetus sama dengan TDATA2;

1: Nilai pencetus sepadan dengan bit m tinggi TDATA2, di mana m = 31–n, dan n ialah petikan 0 pertama TDATA2 (bermula dari bit rendah).

 

 

 

0

 

6

 

M

 

MRW

Dayakan flip-flop dalam mod M:

0: Lumpuhkan pencetus dalam mod M; 1: Dayakan pencetus dalam mod M.

 

0

[5:4] Terpelihara MRO Terpelihara 0
 

3

 

U

 

MRW

Dayakan pencetus dalam mod U:

0: Lumpuhkan pencetus dalam mod U; 1: Dayakan pencetus dalam mod U.

 

0

 

2

 

MELAKSANAKAN

 

MRW

Arahan baca alamat pencetus didayakan: 0: Lumpuhkan;

1: Dayakan.

 

0

 

1

 

KEDAI

 

MRW

Pencetus alamat penulisan data didayakan: 0: Lumpuhkan;

1: Dayakan.

 

0

 

0

 

MUAT

 

MRW

Pencetus alamat baca data didayakan: 0: Lumpuhkan;

1: Dayakan.

 

0

Nyahpepijat daftar data pencetus 2(tdata2)

Ia hanya sah untuk mikropemproses yang menyokong titik putus perkakasan dan digunakan untuk menyimpan nilai padanan pencetus.

Jadual 8-14 tdata2 definisi daftar

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:0] TDATA2 MRW Digunakan untuk menyimpan nilai yang sepadan. X

Kawalan nyahpepijat dan daftar status (dcsr)

Daftar ini digunakan untuk mengawal dan merekodkan keadaan berjalan mod nyahpepijat. Rujuk Bahagian 7.1 untuk butiran.

Penunjuk atur cara mod nyahpepijat (DPC)

Daftar ini digunakan untuk menyimpan alamat arahan seterusnya yang akan dilaksanakan selepas mikropemproses memasuki mod nyahpepijat, nilainya berbeza mengikut sebab memasuki mod penyahpepijatan, dan peraturan pengemaskinian juga berbeza. Rujuk Bahagian 7.1 untuk penerangan terperinci.

Mod nyahpepijat stagdaftar masuk (dscratch0-1)

Kumpulan daftar ini digunakan untuk penyimpanan sementara data dalam mod Nyahpepijat.

Jadual 8-15 definisi daftar dscratch0-1

sedikit Nama Akses Penerangan Tetapkan semula Nilai
[31:0] dscratch DRW Data mod nyahpepijat stagnilai ing 0
Daftar CSR yang ditentukan pengguna

Mod pengguna gangguan global membolehkan daftar (gintenr)

  • Daftar ini digunakan untuk mengawal membolehkan dan menutup gangguan global. Daya dan topeng gangguan global dalam mod mesin boleh dikawal oleh bit MIE dan MPIE dalam status, tetapi daftar ini tidak boleh dikendalikan dalam mod pengguna.
  • Manakala gangguan global membolehkan daftar gintenr ialah pemetaan status MIE dan MPIE.
  • Dalam mod pengguna, niat boleh digunakan untuk menetapkan dan mengosongkan MIE dan MPIE, seperti yang diterangkan dalam Bahagian 3.2 untuk butiran.

Nota

  • Gangguan global tidak termasuk gangguan tidak bertopeng NMI dan pengecualian.

Daftar kawalan sistem gangguan (intsyscr)

Daftar ini digunakan terutamanya untuk mengkonfigurasi kedalaman sarang gangguan, menekan tindanan perkakasan dan fungsi lain yang berkaitan, seperti yang diterangkan dalam Bahagian 3.2 untuk butiran.

Daftar konfigurasi mikropemproses (corecfgr)

Daftar ini digunakan untuk mengawal sama ada sampukan NMI dibenarkan selepas sampukan melimpah dan sama ada permintaan sampukan dikosongkan apabila arahan pagar dilaksanakan. Sila rujuk Bahagian 3.2 untuk definisi khusus.

Mengganggu daftar kawalan bersarang (inestcr)

Daftar ini digunakan untuk menunjukkan keadaan sarang gangguan dan sama ada ia melimpah atau tidak, dan untuk mengawal tahap sarang maksimum. Sila rujuk Bahagian 3.2 untuk definisi khusus.

Dokumen / Sumber

Mikropemproses WH V3 [pdf] Manual Pengguna
V3 Mikropemproses, V3, Mikropemproses

Rujukan

Tinggalkan komen

Alamat e-mel anda tidak akan diterbitkan. Medan yang diperlukan ditanda *