WH V3 Mikroişlemci

Özellikler
- Mikroişlemci Modeli: QingKeV3
- Sürüm: V1.2
- ISA Özellikleri:
- Boru hattı FPU
- Şube tahmini
- Kesinti desteği
- HPE Fiziksel Bellek Koruması (PMP)
- Düşük güç tüketimi modu
- Genişletilmiş Komut Seti Hata Ayıklama
Ürün Kullanım Talimatları
Üzerindeview QingKe V3 Mikroişlemcisinin
QingKe V3 serisi mikroişlemciler V3A, V3B ve V3C modellerini içerir. Her modelin uygulamasına göre belirli özellikleri ve farklılıkları vardır.
Talimat Seti
RV32I komut seti x32'dan x0'e kadar 31 kayıt seti içerir. V3 serisi kayan nokta uzantısını (F) desteklemez. Her kayıt 32 bit boyutundadır.
Kayıt Seti
RV32I kayıt seti aşağıdaki kayıtlardan oluşur.
- x0: Sabit kodlu 0
- x1: İade adresi
- x2: Yığın işaretçisi
- x3: Küresel işaretçi
- x4: Konu işaretçisi
- x5-x7: Geçici kayıtlar
- x8: Kayıt/çerçeve işaretçisini kaydet
- x9: Kayıt/fonksiyon parametrelerini/döndürme değerlerini kaydet
- x10-x11: Fonksiyon parametreleri
- x12-x17: Kayıtları kaydet
- x18-x27: Geçici kayıtlar
- x28-x31: Arayan/Aranan kayıtları
Ayrıcalık Modu
Standart RISC-V mimarisi üç ayrıcalıklı mod içerir: Makine modu, Denetleyici modu ve Kullanıcı modu. QingKe V3 serisi mikroişlemciler Makine modunu ve Denetleyici modunu destekler.
Sıkça Sorulan Sorular
S: QingKe V3 serisi mikroişlemcilerdeki farklı modeller nelerdir?
A: QingKe V3 serisi, her biri kullanıcı kılavuzunda ayrıntılı olarak açıklanan belirli özelliklere ve farklılıklara sahip olan V3A, V3B ve V3C modellerini içerir.
S: RV32I komut setinde kaç adet kayıt seti mevcuttur?
A: RV32I komut seti x32'dan x0'e kadar 31 kayıt seti sağlar.
S: QingKe V3 mikroişlemcisi hangi ayrıcalıklı modları destekliyor?
A: QingKe V3 serisi mikroişlemciler, RISC-V mimarisinin bir parçası olarak Makine modunu ve Denetleyici modunu destekler.
Üzerindeview
QingKe V3 serisi mikroişlemciler, standart RISC-V talimat seti mimarisine dayalı, kendi geliştirdikleri 32 bit genel amaçlı MCU mikroişlemcileridir. Bu seri, V3A'nın RV3IMAC standart talimat seti uzantısını ve V3B/C'nin RV3IMCB standart talimat seti uzantısını ve özelleştirilmiş talimat seti uzantısı XW'yi desteklediği V32A, V3B ve V32C'yi içerir. Her ikisi de donanım basınç yığını (HPE), tablosuz kesme (VTF), akıcı 1 ve 2 telli hata ayıklama arayüzleri, "WFE" talimatları ve diğer özel özelliklere ek olarak tek çevrimli çarpma ve donanım bölmesini destekler. Ayrıca, Donanım Prolog/Epilog'u (HPE), Vektör Tablosu Serbest (VTF), akıcı 1/2 telli hata ayıklama arayüzünü ve "WFE" talimatı desteğini de destekler.
Özellikler
| Özellikler | Tanım |
| ISA'da | RV32IM[A]C[B] |
| Boru hattı | 3 |
| FPU | Desteklenmiyor |
| Şube tahmini | Statik dallanma tahmini |
| Yarıda kesmek | İstisnalar dahil olmak üzere toplam 256 kesintiyi destekler ve VTF'yi destekler |
| HPE | HPE'nin 2 seviyesini destekleyin |
| Fiziksel Bellek Koruması (PMP) | Desteklenen |
| Düşük güç tüketimi modu | Uyku ve Derin uyku modlarını destekler ve WFI ve WFE uyku yöntemlerini destekler |
| Genişletilmiş Talimat Seti | Desteklenen |
| Hata ayıklama | 1/2-kablolu SDI, standart RISC-V hata ayıklama |
Üzerindeview
QingKe V3 serisi mikroişlemciler V3A, V3B ve V3C'yi içerir, uygulamaya göre seriler arasında bazı farklılıklar vardır, belirli farklılıklar Tablo 1-1'de ayrıntılı olarak verilmiştir.
Tablo 1-1 Üzeriview QingKe V3 mikroişlemcisinin
| Özellik Örnek | ISA'da | HPE seviye sayısı | Kesintiler yuvalama sayısı seviyeler | VTF kanal sayısı | Boru hattı | Vektör masa modu | Genişletilmiş Talimat (XB) | Bellek koruma alanlarının sayısı |
| V3A | RV32IMAC | 2 | 2 | 4 | 3 | Talimat | × | × |
| V3B | RV32IMCB | 2 | 2 | 4 | 3 | Adres/Talimat | √ | × |
| V3C | RV32IMCB | 2 | 2 | 4 | 3 | Adres/Talimat | √ | 4 |
Not: İşletim sistemi görev değiştirme genellikle seviye sayısıyla sınırlı olmayan yığın itmeyi kullanır
Talimat Seti
- QingKe V3 serisi mikroişlemciler standart RISC-V Talimat Seti Mimarisi'ni (ISA) takip eder. Standardın ayrıntılı dokümantasyonu RISC-V International'daki “RISC-V Talimat Seti Kılavuzu, Cilt I: Kullanıcı Seviyesi ISA, Belge Sürüm 2.2”de bulunabilir. website. RISC-V komut seti basit bir mimariye sahiptir ve modüler bir tasarımı destekler, farklı ihtiyaçlara göre esnek kombinasyonlara izin verir ve V3 serisi aşağıdaki komut seti uzantılarını destekler.
- RV32: 32 bit mimari, genel amaçlı kayıt bit genişliği 32 bit
- I: 32 şekillendirme kaydıyla şekillendirme işlemini destekler
- M: Çarpma ve bölme talimatlarını şekillendirme desteği
- A: Atomik komutları destekle
- C: 16 bit sıkıştırma talimatını destekler
- B: Bit işleme talimatları için destek
- XB: Kendi kendini genişleten bayt ve yarım sözcük işlemleri için 16 bit sıkıştırma talimatları
Not:
- Farklı modeller tarafından desteklenen talimatların alt kümesi farklı olabilir, ayrıntılar için lütfen Tablo 1-1'e bakın;
- Kod yoğunluğunu daha da artırmak, XW alt kümesini genişletmek, aşağıdaki sıkıştırma talimatlarını eklemek için c.lbu/c.lhu/c.sb/c.sh/c.lbusp/c.lhusp/c.sbsp/c.shop, bunların kullanımının MRS derleyicisine veya onun sağladığı araç zincirine dayanması gerekir;
- V3B, bir çift kelimeden (32 bit) bir kelime (64 bit) talimatını çıkarmayı ve bir çarpma sonucundan (32 bit) bir kelime (64 bit) talimatını çıkarmayı destekler. Belirli kullanım yöntemi, kütüphane işlevine başvurabilir ve MRS derleyicisi veya onun sağladığı araç zinciri ile işbirliği yapabilir;
- V3B/C bellek kopyalama talimatını destekler. Belirli kullanım için lütfen kütüphane işlevine bakın ve MRS derleyicisi veya araç zinciriyle işbirliği yapın.
Kayıt Seti
RV32I'de x32-x0'den 31 kayıt kümesi vardır. V3 serisi "F" uzantısını desteklemez, yani kayan nokta kayıt kümesi yoktur. RV32'de her kayıt 32 bittir. Aşağıdaki Tablo 1-2, RV32I'nin kayıtlarını ve açıklamalarını listeler.
Tablo 1-2 RISC-V kayıtları
| Kayıt olmak | ABI Adı | Tanım | depocu |
| x0 | sıfır | Sabit kodlu 0 | – |
| x1 | ra | İade adresi | Arayan |
| x2 | sp | Yığın işaretçisi | Çağrılan |
| x3 | GP | Küresel işaretçi | – |
| x4 | tp | Konu işaretçisi | – |
| x5-7 | t0-2 | Geçici kayıt | Arayan |
| x8 | s0/fp | Kayıt/çerçeve işaretçisini kaydet | Çağrılan |
| x9 | s1 | Kaydı kaydet | Çağrılan |
| x10-11 | a0-1 | Fonksiyon parametreleri/geri dönüş değerleri | Arayan |
| x12-17 | a2-7 | Fonksiyon parametreleri | Arayan |
| x18-27 | a2-11 | Kaydı kaydet | Çağrılan |
| X28-31 | t3-6 | Geçici kayıt | Arayan |
Yukarıdaki tabloda Çağrılan (Caller) niteliği çağrılan prosedürün kayıt değerini kaydetmediği, Çağrılan (Callee) niteliği ise çağrılan prosedürün kayıt değerini kaydettiği anlamına gelir.
Ayrıcalık Modu
- Standart RISC-V mimarisi, aşağıdaki Tablo 1-3'te gösterildiği gibi Makine modu, Denetleyici modu ve Kullanıcı modu olmak üzere üç ayrıcalıklı mod içerir.
- Makine modu zorunludur ve diğer modlar isteğe bağlıdır. Ayrıntılar için, RISC-V International'dan ücretsiz olarak indirilebilen RISC-V Instruction Set Manual Volume II: Privileged Architecture'a bakabilirsiniz. webalan.
Tablo 1-3 RISC-V mimarisi ayrıcalık modu
| Kod | İsim | Kısaltmalar |
| 0b00 | Kullanıcı Modu | U |
| 0b01 | Denetçi Modeli | S |
| 0b10 | Rezerve | Rezerve |
| 0b11 | Makine modu | M |
- QingKe V3 serisi mikroişlemciler bu ayrıcalıklı modlardan ikisini destekler.
Makine modu
- Makine modu en yüksek yetkiye sahiptir, bu moddaki program tüm Kontrol ve Durum Kayıtlarına (CSR) erişebildiği gibi, tüm fiziksel adres alanlarına da erişebilir.
- Güç açıldığında varsayılan olarak makine modundadır, mret (Makine modu dönüş talimatı) yürütüldüğünde, MPP bitindeki CSR kayıt durumuna (Makine modu durum kaydı) göre, MPP = 0b00 ise, Makine modundan Kullanıcı moduna çıkılır, MPP = 0b11, ardından Makine modunu korumaya devam edilir.
Kullanıcı modu
- Kullanıcı modu en düşük ayrıcalığa sahiptir ve bu modda yalnızca sınırlı CSR kayıtlarına erişilebilir. Bir istisna veya kesinti meydana geldiğinde, mikroişlemci istisnaları ve kesintileri işlemek için Kullanıcı modundan Makine moduna geçer.
CSR Kaydı
RISC-V mimarisinde, mikroişlemcinin çalışma durumunu kontrol etmek ve kaydetmek için bir dizi CSR kaydı tanımlanmıştır. Bu CSR'ler, dahili özel 4096 bit adres kodlama alanı kullanılarak 12 kayıtla genişletilebilir. Ve bu kaydın okuma/yazma iznini tanımlamak için yüksek iki CSR[11:10]'u kullanın, izin verilen okuma/yazma için 0b00, 0b01, 0b10 ve salt okunur için 0b11. Bu kayda erişebilen en düşük ayrıcalık seviyesini tanımlamak için iki bit CSR[9:8]'i kullanın ve değer, Tablo 1-3'te tanımlanan ayrıcalık moduna karşılık gelir. QingKe V3 mikroişlemcisinde uygulanan CSR kayıtları Bölüm 8'de ayrıntılı olarak açıklanmaktadır.
İstisna
"Olağandışı işlem olaylarını" engellemek ve işlemek için bir mekanizma olan istisna mekanizması. QingKe V3 serisi mikroişlemciler, kesintiler dahil olmak üzere 256'ya kadar istisnayı işleyebilen bir istisna yanıt sistemiyle donatılmıştır. Bir istisna veya kesinti meydana geldiğinde, mikroişlemci istisna ve kesinti olaylarını hızla yanıtlayabilir ve işleyebilir.
İstisna Türleri
Mikroişlemcinin donanım davranışı, bir istisna veya bir kesinti meydana gelsin, aynıdır. Mikroişlemci geçerli programı askıya alır, istisna veya kesinti işleyicisine geçer ve işlem tamamlandığında daha önce askıya alınmış programa geri döner. Genel olarak, kesintiler de istisnaların bir parçasıdır. Tam olarak geçerli olayın bir kesinti mi yoksa bir istisna mı olduğu viewMakine modu istisna nedeni kayıt nedeni aracılığıyla. mcause[31], istisnanın nedeninin bir kesinti mi yoksa istisna mı olduğunu belirtmek için kullanılan kesme alanıdır. mcause[31]=1, kesme anlamına gelir, mcause[31]=0, istisna anlamına gelir. mcause[30:0], aşağıdaki tabloda gösterildiği gibi, istisnanın belirli nedenini veya kesme numarasını belirtmek için kullanılan istisna kodudur.
Tablo 2-1 V3 mikroişlemci istisna kodları
| Yarıda kesmek | İstisna kodlar | Eşzamanlı / Eşzamansız | İstisnanın nedeni |
| 1 | 0-1 | – | Rezerve |
| 1 | 2 | Kesin asenkron | NMI kesintileri |
| 1 | 3-11 | – | Rezerve |
| 1 | 12 | Kesin asenkron | SysTick kesintileri |
| 1 | 13 | – | Rezerve |
| 1 | 14 | Senkron | Yazılım kesintileri |
| 1 | 15 | – | Rezerve |
| 1 | 16-255 | Kesin asenkron | Harici kesinti 16-255 |
| 0 | 0 | Senkron | Talimat adresi uyumsuzluğu |
| 0 | 1 | Senkron | Getirme komutu erişim hatası |
| 0 | 2 | Senkron | Yasadışı talimatlar |
| 0 | 3 | Senkron | Kesme noktaları |
| 0 | 4 | Senkron | Yükleme talimatı erişim adresi uyumsuzluğu |
| 0 | 5 | Hassasiyetsiz asenkron | Yükleme komutu erişim hatası |
| 0 | 6 | Senkron | Mağaza/AMO talimat erişim adresi uyumsuzluğu |
| 0 | 7 | Hassasiyetsiz asenkron | Mağaza/AMO komut erişim hatası |
| 0 | 8 | Senkron | Kullanıcı modunda çevre çağrısı |
| 0 | 11 | Senkron | Makine modunda çevre çağrısı |
- Tablodaki "Eşzamanlı" ifadesi, bir talimatın tam olarak yürütüldüğü yerde bulunabileceği, örneğin bir kesme veya çağırma talimatı ve bu talimatın her yürütülmesinin bir istisnayı tetikleyeceği anlamına gelir. "Eşzamansız" ifadesi, bir talimatı tam olarak belirlemenin mümkün olmadığı ve bir istisna her oluştuğunda talimat PC değerinin farklı olabileceği anlamına gelir. "Kesin asenkron" ifadesi, bir istisnanın tam olarak bir talimatın sınırında, yani bir talimatın yürütülmesinden sonraki durumda, örneğin harici bir kesintide bulunabileceği anlamına gelir. "Kesin olmayan asenkron" ifadesi, bir talimatın sınırının tam olarak bulunamayacağı ve belki de bir talimatın yürütülmesinin yarısında kesilmesinden sonraki durumda, örneğin bir bellek erişim hatasında bulunabileceği anlamına gelir.
- Belleğe erişim zaman alır ve mikroişlemci belleğe erişirken genellikle erişimin sonunu beklemez, ancak talimatı yürütmeye devam eder; erişim hatası istisnası tekrar oluştuğunda, mikroişlemci sonraki talimatları zaten yürütmüştür ve tam olarak yeri belirlenemez.
İstisnaya Giriş
Program normal çalışma sürecindeyken herhangi bir nedenden dolayı bir istisna veya kesinti tetiklerse. Bu noktada mikroişlemcinin donanım davranışı aşağıdaki gibi özetlenebilir.
- Mevcut program akışını askıya alın ve istisna veya kesme işleme işlevlerinin yürütülmesine geçin. İstisna veya kesme işlevinin giriş taban adresi ve adresleme modu, istisna giriş taban adresi kaydı mtvec tarafından tanımlanır. mtvec[31:2], istisna veya kesme işlevinin taban adresini tanımlar. mtvec[1:0], işleyici işlevinin adresleme modunu tanımlar. mtvec[1:0]=0 olduğunda, tüm istisnalar ve kesmeler birleşik bir giriş kullanır, yani bir istisna veya kesme oluştuğunda, mtvec[31:2] yürütülecek taban adresini tanımlar. mtvec[1:0]=1 olduğunda, istisnalar ve kesmeler vektör tablosu modunu kullanır, yani her istisna ve kesme numaralandırılır ve adres, kesme numarası*4'e göre kaydırılır ve bir istisna veya kesme oluştuğunda, mtvec[31:2] + kesme numarası*4 Yürütme tarafından tanımlanan taban adresine kaydırılır. Kesinti vektör tablosu, kesme işleyicisi fonksiyonuna atlamak için bir talimat tutar veya başka talimatlar olabilir.
- CSR kaydını güncelle
- Bir istisna veya kesme girildiğinde, mikroişlemci, Makine modu istisna nedeni kaydı mcause, Makine modu istisna işaretçi kaydı mepc, Makine modu istisna değeri kaydı metal ve Makine modu durum kaydı durumu dahil olmak üzere ilgili CSR kayıtlarını otomatik olarak günceller.
Güncelleme mcause
Daha önce de belirtildiği gibi, bir istisna veya kesme girildikten sonra, değeri geçerli istisna türünü veya kesme numarasını yansıtır ve yazılım, Tablo 2-1'de ayrıntılı olarak açıklandığı gibi, istisnanın nedenini kontrol etmek veya kesmenin kaynağını belirlemek için bu kayıt değerini okuyabilir.
mepc'yi güncelle
- Bir istisna veya kesmeden çıktıktan sonra mikroişlemcinin dönüş adresinin standart tanımı mepc'de saklanır.
- Bu nedenle bir istisna veya kesme oluştuğunda, donanım otomatik olarak mepc değerini istisna ile karşılaşıldığında geçerli talimat PC değerine veya kesmeden önce bir sonraki önceden yürütülmüş talimat PC değerine günceller.
- İstisna veya kesme işlendikten sonra mikroişlemci, yürütmeye devam etmek için kesmenin olduğu yere dönmek amacıyla kaydedilen değerini dönüş adresi olarak kullanır.
- Ancak şunu da belirtmekte fayda var.
- MEPC okunabilir ve yazılabilir bir kayıttır ve yazılım, dönüşten sonra çalışan PC işaretçisinin yerini değiştirmek için değeri de değiştirebilir.
- Bir kesinti meydana geldiğinde, yani istisna nedeni mcause[31]=1'i kaydettiğinde, maps değeri, kesinti anındaki bir sonraki yürütülmemiş talimatın PC değerine güncellenir.
- Bir istisna oluştuğunda, istisna kayıt mcause[31]=0'a neden olduğunda maps değeri geçerli istisnanın talimat PC değerine güncellenir. Bu nedenle, istisnanın döndüğü bu anda, doğrudan mepc değerini kullanarak dönersek, daha önce istisnayı oluşturan talimatı yürütmeye devam ederiz ve bu anda istisnayı girmeye devam ederiz. Genellikle, istisnayı işledikten sonra, mepc değerini bir sonraki yürütülmemiş talimatın değerine değiştirebilir ve sonra geri dönebiliriz. ÖrneğinampÖrneğin, call/break nedeniyle bir istisna oluşturduğumuzda, istisnayı işledikten sonra, recall/break (c.ebreak 2 bayttır) 4 baytlık bir talimat olduğundan, yazılımın sadece mepc değerini mepc+4'e (c.ebreak mepc+2'dir) değiştirmesi ve ardından geri dönmesi gerekir.
Mtval'i güncelle
İstisnalar ve kesintiler girildiğinde, donanım istisnaya neden olan değer olan mtval değerini otomatik olarak günceller. Değer tipik olarak.
- Eğer bir istisna bir bellek erişiminden kaynaklanırsa, donanım istisna anındaki bellek erişiminin adresini mtval'e depolayacaktır.
- Eğer istisna yasadışı bir talimattan kaynaklanıyorsa, donanım talimatın talimat kodunu mtval'e depolayacaktır.
- Eğer istisna bir donanım kesme noktasından kaynaklanıyorsa, donanım kesme noktasındaki PC değerini mtval'e depolayacaktır.
- Diğer istisnalar için, örneğin break, çağrı talimatının neden olduğu istisna için donanım mtval değerini 0 olarak ayarlar.
- Kesme girildiğinde donanım mtval değerini 0'a ayarlar.
mstatus'u güncelle
İstisnalar ve kesmeler girildiğinde donanım mstatus'taki belirli bitleri günceller.
- MPIE, istisna veya kesmeye girilmeden önce MIE değerine güncellenir ve MPIE, istisna ve kesme sona erdikten sonra MIE'yi geri yüklemek için kullanılır.
- İstisnalar ve kesmeler girilmeden önce MPP ayrıcalıklı moda güncellenir ve istisnalar ve kesmeler bittikten sonra MPP önceki ayrıcalıklı moda geri dönmek için kullanılır.
- QingKe V3 mikroişlemcisi Makine modunda kesme yuvalamasını destekler ve istisnalar ve kesmeler girildikten sonra MIE temizlenmez.
Mikroişlemci ayrıcalık modunu güncelle
- İstisnalar ve kesmeler oluştuğunda mikroişlemcinin ayrıcalıklı modu Makine moduna güncellenir.
İstisna İşleme Fonksiyonları
- Bir istisna veya kesinti girildiğinde, mikroişlemci programı mtvec kaydı tarafından tanımlanan adres ve moddan yürütür. Birleşik girişi kullanırken, mikroişlemci mtvec[31:2] tarafından tanımlanan temel adresten mtvec[1] değerine göre bir atlama talimatı alır veya istisna ve kesinti işleme işlevi giriş adresini alır ve bunun yerine onu yürütmeye gider. Bu sırada, istisna ve kesinti işleme işlevi, mcause[31] değerine göre nedenin bir istisna mı yoksa bir kesinti mi olduğunu belirleyebilir ve istisnanın veya karşılık gelen kesintinin türü ve nedeni istisna kodu tarafından değerlendirilebilir ve buna göre işlenebilir.
- Ofset için taban adresi + kesme numarası *4 kullanıldığında, donanım otomatik olarak kesme numarasına dayalı istisna veya kesme fonksiyonunun giriş adresini almak için vektör tablosuna atlar ve onu yürütmek için atlar.
İstisna Çıkışı
- İstisna veya kesme işleyicisi tamamlandıktan sonra, servis programından çıkmak gerekir. İstisnalar ve kesmeler girildikten sonra, mikroişlemci Kullanıcı modundan Makine moduna girer ve istisnaların ve kesmelerin işlenmesi de Makine modunda tamamlanır. İstisnalardan ve kesmelerden çıkmak gerektiğinde, geri dönmek için mret talimatını kullanmak gerekir. Bu sırada, mikroişlemci donanımı otomatik olarak aşağıdaki işlemleri gerçekleştirecektir.
- PC işaretçisi CSR kaydı mepc değerine geri yüklenir, yani yürütme mepc tarafından kaydedilen talimat adresinden başlar. İstisna işleme tamamlandıktan sonra mepc'nin ofset işlemine dikkat etmek gerekir.
- CSR kayıt durumu güncellenir, MIE MPIE'ye geri yüklenir ve MPP önceki mikroişlemcinin ayrıcalıklı modunu geri yüklemek için kullanılır.
- Tüm istisna yanıt süreci aşağıdaki Şekil 2-1 ile açıklanabilir.

PFIC ve Kesinti Kontrolü
- QingKe V3 mikroişlemcisi, istisnalar da dahil olmak üzere 256'ya kadar kesintiyi yönetebilen Programlanabilir Hızlı Kesme Kontrol Cihazı (PFIC) ile tasarlanmıştır.
- Bunlardan ilk 16 tanesi mikroişlemcinin iç kesmeleri olarak sabitlenmiş olup, geri kalanlar ise dış kesmelerdir, yani dış kesmelerin maksimum sayısı 240'a kadar çıkarılabilir. Başlıca özellikleri şunlardır.
- 240 harici kesme, her kesme isteğinin bağımsız tetikleyici ve maske kontrol bitleri, özel durum bitleri vardır
- Programlanabilir kesme önceliği 2 düzeyde yuvalamayı destekler
- Mekanizma içinde/dışında özel hızlı kesme, donanım otomatik istifleme ve kurtarma, maksimum 2 seviyeli HPE derinliği
- Vektör Tablosu Serbest (VTF) kesinti yanıt mekanizması, kesinti vektör adreslerine 2 kanallı programlanabilir doğrudan erişim
- Not: Kesinti denetleyicileri tarafından desteklenen maksimum yuvalama derinliği ve HPE derinliği, farklı mikroişlemci modelleri için değişiklik gösterir; bunlar Tablo 1-1'de bulunabilir.
- Kesme ve istisnaların vektör tablosu aşağıdaki Tablo 3-1’de gösterilmektedir.
Tablo 3-1 İstisna ve kesinti vektör tablosu
| Sayı | Öncelik | Tip | İsim | Tanım |
| 0 | – | – | – | – |
| 1 | – | – | – | – |
| 2 | -5 | Sabit | NMI | Maskelenemeyen kesinti |
| 3 | -4 | Sabit | HARİÇ | İstisna kesintisi |
| 4 | – | – | – | – |
| 5 | -3 | Sabit | ECALL-M | Makine modu geri arama kesintisi |
| 6-7 | – | – | – | – |
| 8 | -2 | Sabit | ECALL-U | Kullanıcı modu geri arama kesintisi |
| 9 | -1 | Sabit | KIRILMA NOKTASI | Kesme noktası geri arama kesintisi |
| 10-11 | – | – | – | – |
| 12 | 0 | Programlanabilir | SistemTick | Sistem zamanlayıcı kesintisi |
| 13 | – | – | – | – |
| 14 | 1 | Programlanabilir | SWI | Yazılım kesintisi |
| 15 | – | – | – | – |
| 16-255 | 2-241 | Programlanabilir | Harici Kesinti | Harici kesinti 16-255 |
Not: ECALL-M, ECALL-U ve BREAKPOINT, kullanım kolaylığı için V3B/C'de bağımsız olan farklı tipteki istisna EXC'leridir ve yukarıdaki 3 giriş adresi V3A'da EXC ile paylaşılır.
PFIC Kayıt Seti
Tablo 3-2 PFIC Kayıtları
| İsim | Erişim adresi | Erişim | Tanım | Değeri sıfırla |
| PFIC_ISRx | 0xE000E000
-0xE000E01C |
RO | Kesinti etkinleştirme durumu kaydı x | 0x00000000 |
| PFIC_IPRx | 0xE000E020
-0xE000E03C |
RO | Bekleyen durum kaydını kes x | 0x00000000 |
| PFIC_ITHRESDR | 0xE000E040 | RW | Kesinti önceliği eşik yapılandırma kaydı | 0x00000000 |
| PFIC_VTFBADDRR | 0xE000E044 | RW | VTF taban adres kaydı
Not: Sadece V3A için geçerlidir |
0x00000000 |
| PFIC_CFGR | 0xE000E048 | RW | Kesinti yapılandırma kaydı
Not: Sadece V3A için geçerlidir |
0x00000000 |
| PFIC_GISR | 0xE000E04C | RO | Küresel durum kaydını kesintiye uğrat | 0x00000002 |
|
PFIC_VTFIDR |
0xE000E050 |
RW |
VTF kesme kimliği yapılandırma kaydı
Not: Sadece V3B/C için geçerlidir. |
0x00000000 |
| PFIC_VTFADDRRx | 0xE000E060
-0xE000E06C |
RW | VTF x ofset adres kaydı | 0xXXXXXXXXX |
| PFIC_IENRx | 0xE000E100
-0xE000E11C |
WO | Kesinti etkinleştirme ayar kaydı x | 0x00000000 |
| PFIC_IRERx | 0xE000E180
-0xE000E19C |
WO | Kesinti etkinleştirme temizleme kaydı x | 0x00000000 |
| PFIC_IPSRx | 0xE000E200
-0xE000E21C |
WO | Bekleyen ayar kaydı x'i kes | 0x00000000 |
| PFIC_IPRRx | 0xE000E280
-0xE000E29C |
WO | Bekleyen temizleme kaydını kesme x | 0x00000000 |
| PFIC_IACTRx | 0xE000E300
-0xE000E31C |
RO | Kesinti aktivasyon durumu kaydı x | 0x00000000 |
| PFIC_IPRIORx | 0xE000E400
-0xE000E43C |
RW | Kesinti önceliği yapılandırma kaydı | 0x00000000 |
| PFIC_SCTLR | 0xE000ED10 | RW | Sistem kontrol kaydı | 0x00000000 |
Not:
- NMI, EXC, ECALL-M, ECALL-U ve BREAKPOINT varsayılan olarak her zaman etkindir.
- ECALL-M, ECALL-U ve BREAKPOINT birer EXC durumudur.
- NMI, EXC, ECALL-M, ECALL-U ve BREAKPOINT, kesme bekleyen temizleme ve ayarlama işlemlerini destekler, ancak kesme etkinleştirme temizleme ve ayarlama işlemlerini desteklemez.
Her kayıt aşağıdaki şekilde tanımlanmaktadır:
Kesinti etkinleştirme durumu ve kesinti bekleyen durum kayıtları (PFIC_ISR<0-7>/PFIC_IPR<0-7>)
| İsim | Erişim adresi | Erişim | Tanım | Değeri sıfırla |
| PFIC_ISR0 | 0xE000E000 | RO | Kesinti 0-31, durum kaydını etkinleştirir, toplam 32 durum biti [n], #n kesintinin durumu etkinleştirdiğini gösterir
Not: NMI ve EXC etkindir varsayılan olarak |
V3A için: 0x0000000C
V3B/C için: 0x0000032C |
| PFIC_ISR1 | 0xE000E004 | RO | Kesinti 32-63 durum kaydını etkinleştirir, toplam 32 durum biti | 0x00000000 |
| … | … | … | … | … |
| PFIC_ISR7 | 0xE000E01C | RO | Kesinti 224-255 durum kaydını etkinleştirir, toplam 32 durum biti | 0x00000000 |
| PFIC_IPR0 | 0xE000E020 | RO | Kesinti 0-31 bekleme durumu | 0x00000000 |
| kayıt, toplam 32 durum biti [n], kesinti #n'nin bekleyen durumunu gösterir | ||||
| PFIC_IPR1 | 0xE000E024 | RO | Kesinti 32-63 bekleyen durum kayıtları, toplam 32 durum biti | 0x00000000 |
| … | … | … | … | … |
| PFIC_IPR7 | 0xE000E03C | RO | Kesinti 244-255 bekleyen durum kaydı, toplam 32 durum biti | 0x00000000 |
İlgili kesmeleri etkinleştirmek ve devre dışı bırakmak için iki set kayıt kullanılır.
Kesinti etkinleştirme ayarı ve kayıtları temizleme (PFIC_IENR<0-7>/PFIC_IRER<0-7>)3
| İsim | Erişim adresi | Erişim | Tanım | Değeri sıfırla |
| PFIC_IENR0 | 0xE000E100 | WO | Kesinti 0-31, kesinti #n ayarını etkinleştirmek için toplam 32 ayar biti [n] olan ayar kaydını etkinleştirir
Not: NMI Ve HARİÇ vardır etkinleştirilmiş varsayılan olarak |
0x00000000 |
| PFIC_IENR1 | 0xE000E104 | WO | Ayar kaydını etkinleştirmek için 32-63 kesmesi, toplam 32 ayar biti | 0x00000000 |
| … | … | … | … | … |
| PFIC_IENR7 | 0xE000E11C | WO | Kesinti 224-255 etkinleştirme ayarı
kayıt, toplam 32 ayar biti |
0x00000000 |
| – | – | – | – | – |
| PFIC_IRER0 | 0xE000E180 | WO | 0-31 arası kesmeler, toplam 32 temizleme biti [n] olan temizleme kaydını etkinleştirir, kesme #n için temizlemeyi etkinleştirir Not: NMI ve EXC birleştirilemez işletilen |
0x00000000 |
| PFIC_IRER1 | 0xE000E184 | WO | Kesinti 32-63, toplam 32 temiz bitten oluşan temiz bir kayıt sağlar | 0x00000000 |
| … | … | … | … | … |
| PFIC_IRER7 | 0xE000E19C | WO | Kesme 244-255, toplam 32 temiz bitten oluşan temiz bir kayıt sağlar | 0x00000000 |
İlgili kesmeleri etkinleştirmek ve devre dışı bırakmak için iki set kayıt kullanılır.
Bekleyen ayarları kes ve kayıtları temizle (PFIC_IPSR<0-7>/PFIC_IPRR<0-7>)
| İsim | Erişim adresi | Erişim | Tanım | Değeri sıfırla |
|
PFIC_IPSR0 |
0xE000E200 |
WO |
Kesinti 0-31 bekleyen ayar kaydı, 32
[n] bitlerini ayarlıyor, kesinti #n için bekleyen ayar |
0x00000000 |
| PFIC_IPSR1 | 0xE000E204 | WO | Kesinti 32-63 kurulum kaydını bekliyor,
toplam 32 kurulum biti |
0x00000000 |
| … | … | … | … | … |
| PFIC_IPSR7 | 0xE000E21C | WO | Kesinti 224-255 bekleyen ayar
kayıt, toplam 32 ayar biti |
0x00000000 |
| – | – | – | – | – |
|
PFIC_IPRR0 |
0xE000E280 |
WO |
Kesinti 0-31 bekleyen temizleme kaydı, toplam 32 temizleme biti [n], kesinti #n için
Bekleyen temiz |
0x00000000 |
| PFIC_IPRR1 | 0xE000E284 | WO | Kesinti 32-63 temiz kayıt bekliyor,
toplam 32 net bit |
0x00000000 |
| … | … | … | … | … |
| PFIC_IPRR7 | 0xE000E29C | WO | Kesinti 244-255 temiz kayıt bekliyor,
toplam 32 net bit |
0x00000000 |
Mikroişlemci bir kesintiyi etkinleştirdiğinde, kesintiyi tetiklemek için doğrudan kesinti bekleyen kayıt defteri aracılığıyla ayarlanabilir. Bekleyen tetikleyiciyi temizlemek için kesinti bekleyen temizleme kaydını kullanın.
Kesinti etkinleştirme durumu kaydı (PFIC_IACTR<0-7>)
| İsim | Erişim adresi | Erişim | Tanım | Değeri sıfırla |
| PFIC_IACTR0 | 0xE000E300 | RO | Kesinti 0-31, kesinti #n'in yürütüldüğünü belirten 32 durum biti [n] ile durum kaydını etkinleştirir | 0x00000000 |
| PFIC_IACTR1 | 0xE000E304 | RO | Kesinti 32-63 aktivasyon durumu kayıtları, 32 durum biti
toplam |
0x00000000 |
| … | … | … | … | … |
| PFIC_IACTR7 | 0xE000E31C | RO | Kesinti 224-255 aktivasyon durum kayıtları, toplam 32 durum biti | 0x00000000 |
Her kesmenin, kesmeye girildiğinde ayarlanan ve piyasa geri döndüğünde donanım tarafından temizlenen etkin bir durum biti vardır.
Kesme önceliği ve öncelik eşiği kayıtları (PFIC_IPRIOR<0-7>/PFIC_ITHRESDR)
| İsim | Erişim adresi | Erişim | Tanım | Değeri sıfırla |
| PFIC_ÖNCEKİ0 | 0xE000E400 | RW | Kesinti 0 öncelik yapılandırması. V3A: [7:4]: Öncelik kontrol bitleri Yapılandırma iç içe yerleştirilmemişse, ön alma biti yok İç içe yerleştirme yapılandırılmışsa, bit7 ön alınan bittir. [3:0]: Ayrılmış, 0 olarak sabitlenmiştir V3B: [7:6]: Öncelik kontrol bitleri Yapılandırma iç içe yerleştirilmemişse, iç içe yerleştirilmiş önleyici bitler yapılandırılmamışsa, tüm bitler önceden belirlenir, ancak en fazla iki düzeyde kesintiye izin verilir [5:0]: Ayrılmış, 0 olarak sabitlenmiştir V3C: [7:5]: Öncelik kontrol bitleri Yapılandırma iç içe değilse, önleyici bitler yok Yuvalanmış olarak yapılandırılırsa, tüm bitler önceden kesilir, ancak en fazla iki düzeyde kesintiye izin verilir [4:0]: Ayrılmış, 0'a sabitlenmiştir Not: Öncelik değeri ne kadar küçükse, öncelik o kadar yüksektir. Aynı önceden kesme önceliği kesintisi aynı anda askıda kalırsa, daha yüksek önceliğe sahip kesinti önce yürütülür. |
0x00 |
| PFIC_ÖNCEKİ1 | 0xE000E401 | RW | Kesinti 1 öncelik ayarı, PFIC_IPRIOR0 ile aynı işlev | 0x00 |
| PFIC_ÖNCEKİ2 | 0xE000E402 | RW | Kesinti 2 öncelik ayarı, PFIC_IPRIOR0 ile aynı işlev | |
| … | … | … | … | … |
| PFIC_ÖNCEKİ254 | 0xE000E4FE | RW | Kesme 254 öncelik ayarı, PFIC_IPRIOR0 ile aynı işlev | 0x00 |
| PFIC_ÖNCEKİ255 | 0xE000E4FF | RW | Kesinti 255 öncelik ayarı, PFIC_IPRIOR0 ile aynı işlev | 0x00 |
| – | – | – | – | – |
| PFIC_ITHRESDR | 0xE000E040 | RW | Kesinti önceliği eşik ayarı
V3A: [31:8]: Ayrılmış, 0 olarak sabitlenmiş [7:4]: Öncelik eşiği [3:0]: Ayrılmış, 0 olarak sabitlenmişV3B: [31:8]: Ayrılmış, 0 olarak sabitlenmiş [7:5]: Öncelik eşiği [4:0]: Ayrılmış, 0 olarak sabitlenmişV3C: [31:8]: Ayrılmış, 0 olarak sabitlenmiş [7:5]: Öncelik eşiği [4:0]: Ayrılmış, 0 olarak sabitlenmişNot: Öncelik değeri eşik değerinden büyük olan kesmeler için, kilitlenme meydana geldiğinde kesme hizmeti fonksiyonu yürütülmez ve bu kayıt 0 olduğunda eşik kaydı geçersiz demektir. |
0x00 |
Kesinti yapılandırma kaydı (PFIC_CFGR)
| İsim | Erişim adresi | Erişim | Tanım | Değeri sıfırla |
| PFIC_CFGR | 0xE000E048 | RW | Kesinti yapılandırma kaydı | 0x00000000 |
Bu kayıt sadece V3A için geçerlidir, bitleri şu şekilde tanımlanmıştır:
| Biraz | İsim | Erişim | Tanım | Değeri sıfırla |
| [31:16] | ANAHTAR KOD | WO | Farklı hedef kontrol bitlerine karşılık gelen, değiştirilebilmesi için karşılık gelen güvenlik erişim tanımlama verilerinin eş zamanlı olarak yazılması gerekir ve okuma verileri 0 olarak sabitlenir. KEY1 = 0xFA05; KEY2 = 0xBCAF; KEY3 = 0xBEEF。 | 0 |
| [15:8] | Rezerve | RO | Rezerve | 0 |
| 7 | SİSTEM SIFIRLAMA | WO | Sistem sıfırlama (KEY3'e eş zamanlı yazma). Otomatik temizleme 0.
1 yazmak geçerli, 0 yazmak geçersizdir. Not: PFIC_SCTLR kayıt SYSRESET biti ile aynı işlevi görür. |
0 |
| 6 | PFİCRESET | WO | PFIC modül sıfırlama. Otomatik temizleme 0.
1 yazmak geçerli, 0 yazmak geçersizdir. |
0 |
| 5 | İFADE ETMEK | WO | İstisna kesintisi temizlenmeyi bekliyor (anahtar2'ye aynı anda yazma)
1 yazmak geçerli, 0 yazmak geçersizdir. |
0 |
| 4 | HARİÇ | WO | Bekleyen istisna kesintisi ayarı (KEY2'ye eş zamanlı yazma)
1 yazmak geçerli, 0 yazmak geçersizdir. |
0 |
| 3 | NMİSIFIRLADI | WO | NMI kesintisi temizlenmeyi bekliyor (anında KEY2'ye yazma)
1 yazmak geçerli, 0 yazmak geçersizdir. |
0 |
| 2 | NMISET | WO | NMI kesintisi bekleme ayarı (KEY2'ye eş zamanlı yazma)
1 yazmak geçerli, 0 yazmak geçersizdir. |
0 |
| 1 | YUVA KONTRL | RW | Kesinti yuvalaması kontrolü mümkün kılar.
1: kapalı; 0: açık (KEY1'e eşzamanlı yazma) |
0 |
| 0 | HWSTKCTRL | RW | HPE kontrolü etkinleştirir
1: kapalı; 0: açık (KEY1'e eşzamanlı yazma) |
0 |
Küresel durum kaydını (PFIC_GISR) kesintiye uğrat
| İsim | Erişim adresi | Erişim | Tanım | Değeri sıfırla |
| PFIC_GISR | 0xE000E04C | RO | Küresel durum kaydını kesintiye uğrat | 0x00000000 |
Halkı şu şekilde tanımlanıyor:
| Biraz | İsim | Erişim | Tanım | Değeri sıfırla |
| [31:14] | Rezerve | RO | Rezerve | 0 |
|
13 |
LOCKSTA |
RO |
İşlemcinin şu anda kilitli durumda olup olmadığı:
1: Kilitli durum; 0: Kilitli olmayan durum. Not: Bu bit yalnızca V3B/C için geçerlidir. |
0 |
|
12 |
DBG MODU |
RO |
İşlemcinin şu anda hata ayıklama durumunda olup olmadığı: 1: Hata ayıklama durumu;
0: Hata ayıklama dışı durum. Not: Bu bit yalnızca V3B/C için geçerlidir. |
0 |
|
11 |
KÜRESEL |
RO |
Küresel kesmeyi etkinleştir:
1: Kesintiyi etkinleştir; 0: Kesintiyi devre dışı bırak. Not: Bu bit yalnızca V3B/C için geçerlidir. |
|
| 10 | Rezerve | RO | Rezerve | 0 |
| 9 | GPENDSTA | RO | Şu anda bekleyen bir kesinti olup olmadığı.
1: Evet; 0: Hayır. |
0 |
| 8 | GACTSTA | RO | Şu anda bir kesmenin yürütülüp yürütülmediği.
1: Evet; 0: Hayır. |
0 |
|
[7:0] |
YUVASTA |
RO |
Mevcut kesme yuvalama durumu. 0x03: 2. seviye kesmede.
0x01: 1. seviye kesmede. 0x00: hiçbir kesme gerçekleşmez. Diğer: İmkansız bir durum. |
0 |
VTF Kimlik temel adresi ve ofset adresi kayıtları (PFIC_VTFBADDRR/PFIC_VTFADDRR<0-3>)
| İsim | Erişim adresi | Erişim | Tanım | Değeri sıfırla |
|
PFIC_VTFBADDRR |
0xE000E044 |
RW |
[31:28]: VTF hedef adresinin yüksek 4 biti [27:0]: Ayrılmış
Bu kayıt sadece V3A için geçerlidir. |
0x00000000 |
|
PFIC_VTFIDR |
0xE000E050 |
RW |
[31:24]: VTF Sayısı 3 [23:16]: VTF Sayısı 2 [15:8]: VTF Sayısı 1 [7:0]: VTF Sayısı 0
Bu kayıt sadece V3B/C için geçerlidir. |
0x00000000 |
| – | – | – | – | – |
|
PFIC_VTFADDRR0 |
0xE000E060 | RW | V3A: [31:24]: VTF 0 kesinti numarası [23:0]: VTF hedef adresinin en düşük 24 biti, bunların en düşük 20 biti geçerli olacak şekilde yapılandırılmıştır ve [23:20] 0 olarak sabitlenmiştir.
V3B/C: [31:1]: VTF 0 adresi, 2 bayt hizalanmış [0]:1: VTF 0 kanalını etkinleştir 0: Devre Dışı Bırak |
V3A için: 0x00000000 V3B/C için: 0xXXXXXXXX |
|
PFIC_VTFADDRR1 |
0xE000E064 |
RW |
V3A: [31:24]: VTF 1 kesinti numarası [23:0]: VTF hedef adresinin en düşük 24 biti, bunların en düşük 20 biti geçerli olacak şekilde yapılandırılmıştır ve [23:20] 0 olarak sabitlenmiştir.
V3B/C: [31:1]: VTF 1 adresi, 2 bayt hizalanmış [0]:1: VTF 1 kanalını etkinleştir 0: Devre Dışı Bırak |
V3A için: 0x00000000 V3B/C için: 0xXXXXXXXX |
|
PFIC_VTFADDRR2 |
0xE000E068 |
RW |
V3A: [31:24]: VTF 2 kesinti numarası [23:0]: VTF hedef adresinin en düşük 24 biti, bunların en düşük 20 biti geçerli olacak şekilde yapılandırılmıştır ve [23:20] 0 olarak sabitlenmiştir.
V3B/C: [31:1]: VTF 2 adresi, 2 bayt hizalanmış [0]:1: VTF 2 kanalını etkinleştir 0: Devre Dışı Bırak |
V3A için: 0x00000000 V3B/C için: 0xXXXXXXXX |
| PFIC_VTFADDRR3 | 0xE000E06C | RW | V3A: | V3A için: |
| [31:24]: VTF 3 kesinti numarası [23:0]: VTF hedef adresinin en düşük 24 biti, bunların en düşük 20 biti geçerli olacak şekilde yapılandırılmıştır ve [23:20] 0 olarak sabitlenmiştir.
V3B/C: [31:1]: VTF 3 adresi, 2 bayt hizalanmış [0]:1: VTF 3 kanalını etkinleştir 0: Devre Dışı Bırak |
0x00000000
V3B/C için: 0xXXXXXXXX |
Sistem kontrol kaydı (PFIC_SCTLR)
| İsim | Erişim adresi | Erişim | Tanım | Değeri sıfırla |
| PFIC_SCTLR | 0xE000ED10 | RW | Sistem kontrol kaydı | 0x00000000 |
Her birinin tanımı şu şekildedir.
| Biraz | İsim | Erişim | Tanım | Değeri sıfırla |
| 31 | SİSTEM SIFIRLAMA | WO | Sistem sıfırlandı, otomatik temizleme 0. Yazma 1 geçerli, yazma 0 geçersizdir.
Not: Bu bit yalnızca V3B/C için geçerlidir |
0 |
| [30:6] | Rezerve | RO | Rezerve | 0 |
| 5 | ETKİNLİK AYARI | WO | WFE durumunu uyandıracak olayı ayarlayın. | 0 |
|
4 |
SEVONPEND | RW | Bir olay meydana geldiğinde veya beklemedeki bir durumu kesintiye uğrattığında, sistem WFE talimatından sonra uyandırılabilir veya WFE talimatı yürütülmezse, sistem talimatın bir sonraki yürütülmesinden hemen sonra uyandırılır.
1: Etkinleştirilmiş olaylar ve tüm kesmeler (Etkinleştirilmemiş kesmeler dahil) sistemi uyandırabilir. 0: Yalnızca etkin olaylar ve etkin kesmeler sistemi uyandırabilir. |
0 |
| 3 | WFITOWFE | RW | WFI komutunu bir WFE'ymiş gibi yürütün.
1: Sonraki WFI talimatını bir WFE talimatı olarak ele al. 0: Etkisi yok. |
0 |
| 2 | DERİN UYU | RW | Kontrol sisteminin düşük güç modu. | 0 |
| 1: derin uyku 0: uyku | ||||
| 1 | UYKU PONEKSİT | RW | Kontrol kesme servis programından ayrıldıktan sonraki sistem durumu.
1: Sistem düşük güç moduna girer. 0: Sistem ana programa girer. |
0 |
| 0 | Rezerve | RO | Rezerve | 0 |
Kesintiye bağlı CSR Kayıtları
Ek olarak, aşağıdaki CSR kayıtlarının da kesmelerin işlenmesi üzerinde önemli bir etkisi vardır. Kesme sistemi kontrol kaydı (intsyscr)
Bu kayıt yalnızca V3A için geçerli değildir:
| İsim | Kurumsal Sosyal Sorumluluk Adres | Erişim | Tanım | Değeri sıfırla |
| intsistem | 0x804 | URW | Kesinti sistemi kontrol kaydı | 0x0000E002 |
Halkı şu şekilde tanımlanıyor:
| Biraz | İsim | Erişim | Tanım | Değeri sıfırla |
|
31 |
KİLİT |
ÜRO |
0: Bu kayıt kullanıcı modunda okunabilir ve yazılabilir;
1: Bu kayıt sadece makine modunda okunabilir ve yazılabilir. Not: Bu yapılandırma biti şu tarihten itibaren geçerlidir: 1.0 sürümünden itibaren. |
0 |
| [30:6] | Rezerve | ÜRO | Rezerve | 0x380 |
|
5 |
GIHWSTKNEN |
URW1 |
Küresel kesme ve donanım yığını kapatma etkinleştirildi.
Not: Bu bit genellikle gerçek zamanlı işletim sistemlerinde kullanılır. Bir kesinti sırasında bağlam değiştirildiğinde, bu biti ayarlamak genel kesintiyi kapatabilir ve donanım yığınını itebilir. Bağlam değişimi tamamlandığında ve kesinti geri döndüğünde, donanım bu biti otomatik olarak temizle. |
0 |
| 4 | Rezerve | ÜRO | Rezerve | 0 |
| [3:2] | PMTCFG | URW | Öncelikli ön alma bitlerinin yapılandırması:
00: Önleme bitlerinin sayısı 0'dır; 01: Önleme bitlerinin sayısı 1'dir; 10: Önleme bitlerinin sayısı 2'dir; 11: Önleme bitlerinin sayısı 3'tür; Not: Bu yapılandırma biti şundan sonra geçerlidir: 1.0. |
0 |
| 1 | DİNLEMEK | URW | Kesinti yuvalama işlevi etkinleştirildi ve sabit değer 1'dir: | 1 |
| 0: Devre dışı bırak;
1: Etkinleştir. Not: 1. Gerçek yuvalama düzeyi CSR 0xBC1'deki NEST_LVL tarafından kontrol edilir; 2. Yalnızca 1.0'dan sonraki sürümler kullanılabilir yazılı. |
||||
| 0 | HWS KURALLARI | URW | Donanım yığını etkinleştir:
0: Donanım yığını basma işlevi devre dışı bırakıldı; 1: Donanım yığını basma işlevi etkinleştirildi. |
0 |
Makine modu istisna taban adresi kaydı (mtvec)
| İsim | Kurumsal Sosyal Sorumluluk Adres | Erişim | Tanım | Değeri sıfırla |
| mtvec | 0x305 | MRW | İstisna temel adres kaydı | 0x00000000 |
Halkı şu şekilde tanımlanıyor:
| Biraz | İsim | Erişim | Tanım | Değeri sıfırla |
| [31:2] | TEMEL ADDR[31:2] | MRW | Kesinti vektör tablosunun taban adresi, burada
[9:2] bitleri 0 olarak sabitlenmiştir. |
0 |
| 1 | MOD1 |
MRO |
Kesinti vektör tablosu tanıma modu: 0: Sınırlı kapsamla atlama talimatıyla tanımla ve atlama dışı talimatı destekle;
1: Mutlak adresle tanımla, tam aralığı destekle, ancak zıplamalısın. Not: Bu bit sadece V3B/C için geçerlidir. |
0 |
| 0 | MOD0 | MRW | Kesinti veya istisna girişi adres modu seçimi.
0: Tekdüze giriş adresinin kullanımı. 1: Kesme numarasına göre adres ofseti *4. |
0 |
V3 serisi mikroişlemcilere sahip MCU'lar için, başlangıçta MODE0 varsayılan olarak 1 olarak yapılandırılır fileve istisnalar veya kesintiler için girişler, *4 kesinti numarasına göre kaydırılır. V3A mikroişlemcisinin vektör tablosunda bir atlama talimatı depoladığını, V3B/C mikroişlemcisinin ise bir atlama talimatı depolayabileceğini veya varsayılan başlatmada mutlak adres olarak yapılandırılmış olan kesme işlevinin mutlak adresini kullanabileceğini unutmayın. file.
Mikroişlemci yapılandırma kaydı (düzeltici)
Bu kayıt V3A için geçersizdir:
| İsim | Kurumsal Sosyal Sorumluluk Adres | Erişim | Tanım | Değeri sıfırla |
| çekirdekcfgr | 0xBC0 | MRW | Mikroişlemci yapılandırma kaydı | 0x00000001 |
Halkı şu şekilde tanımlanıyor:
| Biraz | İsim | Erişim | Tanım | Değeri sıfırla |
| [31:8] | Rezerve | MRO | Rezerve | 0 |
|
7 |
CSTA_HATASI_IE |
MRW |
Çekirdek durum hatası kesintisi etkinleştirildi:
0: Durum hatası durumunda, NMI kesintisi oluşturulmaz; 1: Durum hatasında, NMI kesintisi Oluşturuldu. |
0 |
| 6 | Rezerve | MRO | 0 olarak kalsın. | 0 |
| 5 | IE_REMAP_TR | MRW | MIE kayıt eşlemesi şunları sağlar:
0: CSR adresi 0x800 salt okunur bir kayıttır ve dönüş değeri DURUM değeridir; 1: CSR adresi 3x7'ün 0 ve 800 bitleri sırasıyla DURUM kaydının MIE bitine ve MPIE bitine eşlenir. |
0 |
| 4 | Rezerve | MRO | Rezerve | 0 |
| 3 | ROM_DÖNGÜ_ACC | MRW | ROM alanı talimat döngüsü hızlandırma etkinleştirme:
0: ROM alanındaki döngüsel hızlandırma fonksiyonunu kapatın; 1: Döngü gövdesi 128 bayttan küçük olan sürekli talimatlar tam olarak hızlandırılacak, ancak döngü gövdesi 256 bayttan küçük olanlar kısmen hızlandırılacak; |
0 |
| 2 | ROM_ATLAMA_ACC | MRW | ROM alanı talimat atlama hızlandırma etkinleştirildi:
0: ROM alanı talimat atlama hızlandırmasını devre dışı bırak; 1: ROM alanında talimat atlama hızlandırmasını etkinleştirin. |
0 |
| [1:0] | GETİRME_MODU | MRW | Getirme modu:
00: Ön Getirme kapalı. Geçersiz talimat getirme işlemlerini önlemek için talimat ön getirme işlevi kapalıdır ve CPU işlem hattında en fazla bir geçerli talimat vardır. Bu model en düşük güç tüketimine sahiptir ve performansı yaklaşık 2 ~ 3 kat düşer. 01: Ön Getirme Modu 1. Talimat ön getirme işlevi açık olduğunda, CPU, dahili talimat tamponunda yürütülecek talimat sayısı belirli bir sayıyı aşana veya talimat tamponu dolana kadar talimat belleğine erişmeye devam eder ve talimat getirme askıya alınır; (CPU tahmininin başarısız olması, gereksiz getirme işlemine yol açar ve bazı durumlarda, yürütme birimi 0 ~ 2 kabarcık döngüsü sunar ve çoğu programın performansı belirgin bir şekilde azalmaz); 10: Ayrılmış; |
0x1 |
Kesinti iç içe denetim kaydı (inestcr)
Bu kayıt yalnızca V3A için geçersizdir:
| İsim | Kurumsal Sosyal Sorumluluk Adres | Erişim | Tanım | Değeri sıfırla |
| yatırımcı | 0xBC1 | MRW | Kesinti iç içe geçmiş denetim kaydı | 0x00000000 |
Halkı şu şekilde tanımlanıyor:
| Biraz | İsim | Erişim | Tanım | Değeri sıfırla |
| 31 | Rezerve | MRO | Rezerve | 0 |
| 30 | YUVA_OV | MRW | Kesinti/istisna iç içe taşma bayrağı biti, temizlemek için 1 yazın:
0: Kesinti taşmadı; 1: Kesinti taşma bayrağı. Not: Kesinti taşması yalnızca bir talimat istisnası veya NMI kesintisi oluşturmak için ikincil kesinti hizmeti işlevini yürütürken meydana gelir. Bu sırada, istisna ve NMI kesintisi normal olarak girer, ancak CPU yığını taşar, bu nedenle bu istisnadan çıkamazsınız ve NMI kesintisi. |
0 |
| [29:12] | Rezerve | MRO | Rezerve | 0 |
| [11:8] | NEST_STA | MRO | İç içe durum bayrağı biti:
0000: Kesinti yok; 0001: Seviye 1 kesintisi; 0011: seviye 2 kesinti (1 seviyeli iç içe yerleştirme); |
0 |
| 0111: Seviye 3 kesintisi (taşma);
1111: Seviye 4 kesintisi (taşma). |
||||
| [7:2] | Rezerve | MRO | Rezerve | 0 |
| [1:0] | NEST_SEVİYESİ | MRW | Yuvalama seviyesi:
00: Yuvalama yasaklanmıştır ve yuvalama fonksiyonu kapalıdır; 01: Yuvalama fonksiyonunu açan birinci seviye yuvalama; Diğer: Geçersiz. Not: Bu alana 10 veya 11 yazın, alan 01 olarak ayarlanacaktır. Bu alana 11 yazarken, çipin en yüksek yuvalama seviyesini elde etmek için bu kaydı okuyun. |
0 |
Kullanıcı modu küresel kesme etkinleştirme kaydı (dahili)
Bu kayıt yalnızca V3A için geçersizdir:
| İsim | Kurumsal Sosyal Sorumluluk Adres | Erişim | Tanım | Değeri sıfırla |
| cin | 0x800 | URW | Küresel kesme etkinleştirme kaydı | 0x00000000 |
Bu kayıt, global kesmenin etkinleştirilmesini ve maskesini kontrol etmek için kullanılır. Makine modunda global kesmenin etkinleştirilmesi ve maskesi, durumdaki MIE ve MPIE bitleri tarafından kontrol edilebilir, ancak bu kayıt kullanıcı modunda çalıştırılamaz.
Küresel kesme etkinleştirme kaydı gintenr, mstatus içindeki MIE ve MPIE'nin eşlenmesidir ve gintenr'i kullanıcı modunda çalıştırarak MIE ve MPIE'yi ayarlamak ve temizlemek için kullanılabilir.
Her biri şu şekilde tanımlanmaktadır:
| Biraz | İsim | Erişim | Tanım | Değeri sıfırla |
| [31:13] | Rezerve | ÜRO | Rezerve | 0 |
| [12:11] | Milletvekili | ÜRO | Kesintiden önce ayrıcalıklı moda girin. | 0 |
| [10:8] | Rezerve | ÜRO | Rezerve | 0 |
| 7 | MPİE | URW | 0xBC0(CSR)bit5 etkinleştirildiğinde, bu bit
kullanıcı modunda okunabilir ve yazılabilir. |
0 |
| [6:4] | Rezerve | ÜRO | Rezerve | 0 |
| 3 | Mie | URW | 0xBC0(CSR)bit5 etkinleştirildiğinde, bu bit
kullanıcı modunda okunabilir ve yazılabilir. |
0 |
| [1:0] | Rezerve | ÜRO | Rezerve | 0 |
Kesinti Yuvalama
Kesme, yapılandırma kaydı PFIC_CFGR ve kesme önceliği kaydı PFIC_IPRIOR ile birlikte, kesmelerin iç içe geçmesine izin verilebilir. Kesme yapılandırma kaydında iç içe geçmeyi etkinleştirin (İç içe geçme, V3 serisi mikroişlemciler için varsayılan olarak açıktır) ve karşılık gelen kesmenin önceliğini yapılandırın. Öncelik değeri ne kadar küçükse, öncelik o kadar yüksektir. Önleme bitinin değeri ne kadar küçükse, önleme önceliği o kadar yüksektir. Aynı önleme önceliği altında aynı anda asılı kesmeler varsa, mikroişlemci kesmeye önce daha düşük öncelik değeriyle (daha yüksek öncelik) yanıt verir.
Donanım Giriş/Sonsöz (HPE)
- Bir istisna veya kesinti meydana geldiğinde, mikroişlemci geçerli program akışını durdurur ve istisna veya kesinti işleme işlevinin yürütülmesine geçer, geçerli program akışının yerinin kaydedilmesi gerekir. İstisna veya kesinti geri döndükten sonra, yeri geri yüklemek ve durdurulan program akışının yürütülmesine devam etmek gerekir. V3 serisi mikroişlemciler için, buradaki "yer" Tablo 1-2'deki tüm Çağrı Kaydedilen kayıtlarını ifade eder.
- V3 serisi mikroişlemciler, şekilli çağıran tarafından kaydedilen kayıtların 16'sının kullanıcı tarafından görülemeyen dahili bir yığın alanına donanım tek çevrimli otomatik kaydedilmesini destekler. Bir istisna veya kesinti geri döndüğünde, donanım tek çevrimi verileri dahili yığın alanından 16 şekilli kayıtlara otomatik olarak geri yükler. HPE, 2 seviyeye kadar derinlikte yuvalamayı destekler.
- Mikroişlemci basınç yığınının şeması aşağıdaki şekilde gösterilmiştir.

Not:
- HPE kullanan kesme fonksiyonlarının MRS veya onun sağladığı araç zinciri kullanılarak derlenmesi ve kesme fonksiyonunun __attribute__((interrupt(“WCH-Interrupt-fast”))) ile bildirilmesi gerekir.
- Yığın itmeyi kullanan kesme fonksiyonu __attribute__((interrupt())) tarafından tanımlanır.
Vektör Tablosu Ücretsiz (VTF)
- Programlanabilir Hızlı Kesme Kontrol Cihazı (PFIC), 4 VTF kanalı sağlar, yani kesme vektör tablosu arama sürecinden geçmeden kesme fonksiyonu girişine doğrudan erişim sağlar.
- VTF kanalı, normal olarak bir kesme fonksiyonu yapılandırılırken kesme numarasını, kesme hizmeti fonksiyonu taban adresini ve ofset adresini ilgili PFIC denetleyici kaydına yazarak etkinleştirilebilir.
- Hızlı ve tablosuz kesmeler için PFIC yanıt süreci aşağıdaki Şekil 3-2'de gösterilmiştir.

Fiziksel Bellek Koruması PMP
- Sistemin güvenliğini artırmak için, highland barley'nin V3 serisi mikroişlemcileri için RISC-V mimari standardına göre fiziksel bellek koruma (PMP) modülü tasarlanmıştır. 4 fiziksel bölgeye kadar erişim hakları yönetimi desteklenir. İzinler okuma (R), yazma (W) ve yürütme (X) niteliklerini içerir ve korunan alanın uzunluğu en az 4 bayta ayarlanabilir. PMP modülü her zaman kullanıcı modunda etkili olur, ancak makine modunda (L) niteliğini kilitleyerek isteğe bağlı olarak etkili olabilir.
- Erişim geçerli izin sınırını ihlal ederse, anormal bir kesinti tetiklenir. PMP modülü, dört grup 8 bit yapılandırma kaydı (Bir grup 32 bit) ve dört grup adres kaydı içerir; bunların hepsine makine modunda CSR talimatıyla erişilmesi gerekir.
- Not: Farklı mikroişlemci modellerinde PMP tarafından desteklenen korumalı alanların sayısı farklı olabilir ve pmpcfg ve pmpaddr kayıtları tarafından desteklenen sayı da farklıdır. Ayrıntılar için Tablo 1-1'e bakın.
PMP Kayıt Seti
V3 mikroişlemcisinin PMP modülünün desteklediği CSR kayıtlarının listesi aşağıdaki Tablo 4-1’de gösterilmektedir.
Tablo 4-1 PMP modül kayıt seti
| İsim | CSR adresi | Erişim | Tanım | Değeri sıfırla |
| pmpcfg0 | 0x3A0 | MRW | PMP yapılandırma kaydı 0 | 0x00000000 |
| pmpaddr0 | 0x3B0 | MRW | PMP adres kaydı 0 | 0xXXXXXXXXX |
| pmpaddr1 | 0x3B1 | MRW | PMP adres kaydı 1 | 0xXXXXXXXXX |
| pmpaddr2 | 0x3B2 | MRW | PMP adres kaydı 2 | 0xXXXXXXXXX |
| pmpaddr3 | 0x3B3 | MRW | PMP adres kaydı 3 | 0xXXXXXXXXX |
pmp
pmpcfg, PMP ünitesinin yapılandırma kaydıdır ve her kayıt, dört bölgenin yapılandırmasına karşılık gelen dört adet 8 bitlik pompalama alanı içerir ve pompalama, bölge i'nin yapılandırma değerini temsil eder. Biçimi aşağıdaki tablo 4-2'de gösterilmiştir.
Tablo 4-2 pmpcfg0 kaydı
pmpcfg, alan I'i yapılandırmak için kullanılır ve bit tanımı aşağıdaki tablo 4-3'te açıklanmıştır.
Tablo 4-3 pmp
| Biraz | İsim | Tanım |
| 7 | L | Kilitleme etkinleştirildi ve makine modunda açılabilir. 0: Kilitli değil;
1: İlgili kaydı kilitleyin. |
| [6:5] | – | Rezerve |
| [4:3] | A | Adres hizalaması ve koruma alanı aralığı seçimi. 00: KAPALI (PMP kapalı)
01: TOR (Üst hizalama koruması) 10: NA4 (Sabit dört bayt koruması) 11: NAPOT (2(G+2) Bayt koruması, G≥1) |
| 2 | X | Çalıştırılabilir nitelik. |
| 0: Yürütme izni yok;
1: Yürütme izni. |
||
|
1 |
W |
Yazılabilir nitelik.
0: Yazma izni yok 1: Yazma izni. |
|
0 |
R |
Okunabilir nitelik
0: Okuma izni yok 1: Okuma izni. |
pmpaddr
Pmpaddr kaydı, alan I'in adresini yapılandırmak için kullanılır. Standart tanımı, 32 bitlik fiziksel adresin üst 32 bitinin kodlanması olan RV34 mimarisi altındadır ve biçimi aşağıdaki tablo 4-4'te gösterilmiştir.
V3 mikroişlemcisinin tüm fiziksel adres alanı 4G olduğundan bu kaydın üst iki biti kullanılmaz.
Tablo 4-4 pmpaddr 
NAPOT seçildiğinde, adres kaydının düşük biti, aşağıdaki tabloda gösterildiği gibi, geçerli koruma alanının boyutunu belirtmek için de kullanılır; burada 'y' kaydın bir bitidir.
Tablo 4-5 PMP yapılandırması ile adres kaydı ve korunan alan arasındaki ilişki tablosu.
| pmpaddr | pmpcfg. Bir | Eşleşen taban adresi ve boyutu |
| yyyy…yyyy | NA4 | Taban adresi 'yy…yyyy00' olduğunda 4 baytlık alan korunur. |
| yyyy…yyy0 | NAPOT | Taban adresi 'yy…yyy000' olduğunda 8 baytlık alan korunur. |
| yyyy…yy01 | NAPOT | Taban adresi olarak 'yy…yy0000' kullanıldığında 16 baytlık alan korunur. |
| yyyy…y011 | NAPOT | Taban adresi 'yy…y00000' olduğunda 16 baytlık alan korunur. |
| … | … | … |
| yyy01…111 | NAPOT | Taban adresi olarak 'y0…000000' kullanıldığında 231 baytlık alan korunur. |
| yy011…111 | NAPOT | 232 baytlık alanın tamamını koru. |
Koruma Mekanizması
Pmpcfg'deki X/W/R, alan I'in koruma yetkisini ayarlamak için kullanılır ve ilgili yetkinin ihlali, buna karşılık gelen bir istisnaya neden olur:
- Yürütme yetkisi olmadan PMP alanındaki talimatları almaya çalıştığınızda, talimat alma erişim hatası istisnasına (mcause=1) neden olur.
- PMP alanına yazılı izin olmadan veri yazmaya çalışıldığında, depolama talimatı erişiminde bir hata istisnasına (mcause=7) neden olur.
- PMP alanındaki verileri okuma izni olmadan okumaya çalıştığınızda, yükleme talimatı için anormal bellek erişim hatası (mcause=5) oluşacaktır.
Pmpcfg'deki A, bölge I'in koruma aralığını ve adres hizalamasını ayarlamak ve A_ADDR ≤ bölge < i > < B_ADDR belleğini korumak için kullanılır (hem A_ADDR hem de B_ADDR'nin 4 bayta hizalanması gerekir):
- Eğer B _ ADDR–A_ADDR = = 22 ise NA4 modu benimsenir;
- Eğer B _ ADDR–A_ADDR = = 2(G+2), G≥1 ve _ adresi 2(g+2) ise, NAPOT yöntemi benimsenir;
- Aksi halde TOP modu benimsenir.
Tablo 4-6 PMP adres eşleştirme yöntemleri
| Bir değer | İsim | Tanım |
| 0b00 | KAPALI | Korunacak alan yok |
| 0b01 | TOR | Üst Hizalanmış Alan Koruması.
pmp pmpaddri = B_ADDR >> 2. Not: PMP'nin 0 alanı TOR modu (i=0) olarak yapılandırılmışsa, koruma alanının alt sınırı 0 adresidir, yani 0 ≤ addr < pmpaddr0, hepsi eşleşme aralığı içindedir. |
| 0b10 | NA4 | Sabit 4 baytlık alan koruması. |
| 0b11 | NAPOT | A_ADDR 2(G+2) hizalı olduğunda, G ≥ 1 olan 2(G+2) bölgesini koruyun. pmpaddri = ((A_ADDR|(2(G+2)-1)) &~(1< >1. |
- pmp
- QingKe V3 serisi mikroişlemciler birden fazla bölgenin korunmasını destekler. Aynı işlem aynı anda birden fazla bölgeyle eşleştiğinde, daha küçük sayıya sahip bölge önce eşleştirilir.
Sistem Zamanlayıcısı (SysTick)
- QingKe V3 serisi mikroişlemci, içinde 32-bit veya 64-bit sayaç (SysTick) ile tasarlanmıştır. Saat kaynağı sistem saati veya 8-frekans bölümüdür ve V3A yalnızca 8-frekans bölümünü destekler.
- Gerçek zamanlı bir işletim sistemi için bir zaman tabanı, zamanlama ve ölçüm zamanı sağlayabilir. Zamanlayıcıda yer alan farklı tipteki kayıtların farklı eşleme adresleri vardır, aşağıdaki tablolar 5-1 ve 5-2'de gösterildiği gibi.
Tablo 5-1 V3A SysTick kayıt listesi
| İsim | Erişim adresi | Tanım | Değeri sıfırla |
| STK_CTLR | 0xE000F000 | Sistem sayacı kontrol kaydı | 0x00000000 |
| STK_CNTL | 0xE000F004 | Sistem sayacı düşük kaydı | 0xXXXXXXXXX |
| STK_CNTH | 0xE000F008 | Sistem sayacı yüksek kayıt
Not: Sadece V3A için geçerlidir. |
0xXXXXXXXXX |
| STK_CMPLR | 0xE000F00C | Sistem sayım karşılaştırma değeri düşük kayıt | 0xXXXXXXXXX |
| STK_CMPHR | 0xE000F010 | Sistem sayım karşılaştırma değeri yüksek kayıt
Not: Sadece V3A için geçerlidir. |
0xXXXXXXXXX |
Tablo 5-2 Diğer modellerin V3 SysTick kayıt listesi
| İsim | Erişim adresi | Tanım | Değeri sıfırla |
| STK_CTLR | 0xE000F000 | Sistem sayacı kontrol kaydı | 0x00000000 |
| STK_SR | 0xE000F004 | Sistem sayacı durum kaydı | 0x00000000 |
| STK_CNTL | 0xE000F008 | Sistem sayacının düşük kaydı | 0xXXXXXXXXX |
| STK_CMPLR | 0xE000F010 | Sayım karşılaştırma değeri düşük kayıt | 0xXXXXXXXXX |
Her kayıt aşağıda ayrıntılı olarak açıklanmıştır.
Sistem sayacı kontrol kaydı (STK_CTLR)
Tablo 5-3 SysTick kontrol kayıtları
| Biraz | İsim | Erişim | Tanım | Değeri sıfırla |
| [31:5] | Rezerve | RO | Rezerve | 0 |
|
4 |
MOD |
RW |
Sayma modu: 1: Geri sayma;
0: Yukarı say. Not: V3A için geçersiz. |
0 |
|
3 |
STRE |
RW |
Otomatik yeniden yükleme sayımı etkinleştirme biti:
1: Karşılaştırma değerine kadar saydıktan sonra tekrar 0'dan sayın ve 0'a kadar saydıktan sonra tekrar karşılaştırma değerinden sayın; 0: Yukarı/aşağı saymaya devam et. Not: V3A için geçersiz. |
0 |
|
2 |
SÖZCÜK |
RW |
Karşı saat kaynak seçimi biti:
1: HCLK zaman tabanı olarak; 0: HCLK/8 zaman tabanı olarak. Not: Yalnızca V3A'yı destekleyen VXNUMXA için geçersizdir. Zaman tabanı olarak HCLK/8. |
0 |
| 1 | ALAN | RW | Sayaç kesme etkinleştirme kontrol bitleri: | 0 |
| 1: Sayaç kesintisini etkinleştir; 0: Sayaç kesintisini devre dışı bırak.
Not: V3A için geçersiz. |
||||
| 0 | STE | RW | Sistem sayacı bir kontrol bitini etkinleştirir. 1: Sistem sayacı STK'sını etkinleştirir;
0: Sistem sayacı STK'sını devre dışı bırakır ve sayaç saymayı durdurur. |
0 |
Sistem sayacı durum kaydı (STK_SR)
Bu kayıt V3A için geçerli değildir.
Tablo 5-4 SysTick sayacı düşük kaydı
| Biraz | İsim | Erişim | Tanım | Değeri sıfırla |
|
31 |
SÜPÜRGE |
RW |
Yazılım kesintisi tetikleyicisini etkinleştirme (SWI): 1: Yazılım kesintisini tetikle;
0: Tetiği kapatın. Not: Yazılım kesmesi girildikten sonra bu bitin temizlenmesi gerekir, aksi takdirde her zaman tetiklenir. |
0 |
| [30:1] | Rezerve | RO | Rezerve | 0 |
|
0 |
CNTIF |
RW |
Karşılaştırma bayrağını sayın, 0'ı açıkça yazın, 1 geçersizdir:
1: Karşılaştırma değerine kadar sayın ve 0'a kadar geri sayın; 0: Karşılaştırma değerine ulaşılamadı. |
0 |
Sistem sayacı düşük kaydı (STK_CNTL)
Tablo 5-5 SysTick sayacı düşük kaydı
| Biraz | İsim | Erişim | Tanım | Değeri sıfırla |
| [31:0] | CNTL | RW | Mevcut sayaç sayma değeri 32 bit daha düşüktür. V3A için bu kayıt 8 bit / 16 bit olarak okunabilir
/32-bit, ancak yalnızca 8-bit olarak yazılabilir ve diğerleri modeller sınırlı değildir. |
0xXXXXXXXX |
Not: V3A'daki STK_CNTL kaydı ve STK_CNTH kaydı birlikte 64-bitlik bir sistem sayacını oluşturur.
Sistem sayacı yüksek kaydı (STK_CNTH)
Tablo 5-6 SysTick sayacı yüksek kaydı
| Biraz | İsim | Erişim | Tanım | Değeri sıfırla |
| [31:0] | CNTH | RW | Mevcut sayaç sayma değeri 32 bit daha yüksektir. Bu kayıt 8-bit/16-bit/32-bit tarafından okunabilir, ancak yalnızca 8-bit tarafından yazılabilir.
Not: Sadece V3A için geçerlidir. |
0xXXXXXXXX |
Not: V3A'daki STK_CNTL kaydı ve STK_CNTH kaydı birlikte 64-bitlik bir sistem sayacını oluşturur.
Sistem sayım karşılaştırma değeri düşük kayıt (STK_CMPLR)
Tablo 5-7 SysTick karşılaştırma değeri düşük kayıt
| Biraz | İsim | Erişim | Tanım | Değeri sıfırla |
| [31:0] | CMPL | RW | Sayaç karşılaştırma değerini 32 bit daha düşük olarak ayarlayın. CMP değeri ve CNT değeri eşit olduğunda, bir STK kesintisi tetiklenir. V3A için, bu kayıt 8 bit / 16 bit / 32 bit olarak okunabilir, ancak yalnızca
8-bit olarak yazılmış olup diğer modeller sınırlı değildir. |
0xXXXXXXXX |
Not: V3A'daki STK_CMPLR ve STK_CMPHR kayıtları birlikte 64 bitlik sayaç karşılaştırma değerini oluşturur.
Sistem sayım karşılaştırma değeri yüksek kayıt (STK_CMPHR)
Tablo 5-8 SysTick karşılaştırma değeri yüksek kayıt
| Biraz | İsim | Erişim | Tanım | Değeri sıfırla |
| [31:0] | CMPH | RW | Sayaç karşılaştırma değerini 32 bit daha yükseğe ayarlayın. STK kesintisi, CMP değeri ve CNT değeri eşit olduğunda tetiklenecektir.
Bu kayıt 8-bit/16-bit/32-bit tarafından okunabilir, ancak yalnızca 8-bit tarafından yazılabilir. Not: Sadece V3A için geçerlidir. |
0xXXXXXXXX |
Not: V3A'daki STK_CMPLR ve STK_CMPHR kayıtları birlikte 64 bitlik sayaç karşılaştırma değerini oluşturur.
İşlemci Düşük Güç Ayarları
- QingKe V3 serisi mikroişlemciler düşük statik güç tüketimine ulaşmak için WFI (Kesinti Bekle) talimatı aracılığıyla uyku durumunu destekler.
- PFIC'in sistem kontrol kaydı (PFIC_SCTLR) ile birlikte çeşitli Uyku modları ve WFE talimatları uygulanabilir.
Uykuya Girin
- QingKe V3 serisi mikroişlemciler iki şekilde uyku moduna geçebilir: Kesinti Bekle (WFI) ve Olay Bekle (WFE). WFI yöntemi, mikroişlemcinin uyku moduna geçmesi, uyanmak için bir kesinti beklemesi ve ardından yürütmek için karşılık gelen kesintiye uyanması anlamına gelir. WFE yöntemi, mikroişlemcinin uyku moduna geçmesi, uyanmak için bir olay beklemesi ve daha önce durdurulmuş program akışını yürütmeye devam etmek için uyanması anlamına gelir.
- Standart RISC-V, WFI talimatını destekler ve WFI komutu, WFI yöntemi tarafından uykuya girmek için doğrudan yürütülebilir. WFE yöntemi için, sistem kontrol kaydı PFIC_SCTLR'deki WFITOWFE biti, uykuya girmek için WFE yöntemini elde etmek üzere WFE işleme olarak sonraki WFI komutlarını kontrol etmek için kullanılır.
- Uyku derinliği PFIC_SCTLR'deki SLEEPDEEP bitine göre kontrol edilir.
- PFIC_SCTLR kayıt defterindeki SLEEPDEEP sıfıra temizlenirse, mikroişlemci Uyku moduna girer ve SysTick ve uyandırma mantığının bir kısmı hariç, dahili ünite saatinin kapatılmasına izin verilir.
- PFIC_SCTLR kaydındaki SLEEPDEEP ayarlanırsa, mikroişlemci Derin uyku moduna girer ve tüm hücre saatlerinin kapatılmasına izin verilir.
- Mikroişlemci Debug modundayken herhangi bir Uyku moduna girmesi mümkün değildir.
Uyku Uyanma
QingKe V3 serisi mikroişlemciler WFI ve WFE nedeniyle uyku modundan aşağıdaki şekillerde uyandırılabilir.
WFI yöntemi uyku moduna geçtikten sonra, aşağıdaki şekilde uyandırılabilir:
- Mikroişlemci, kesme denetleyicisi tarafından yanıtlanan kesme kaynağı tarafından uyandırılabilir. Uyandıktan sonra, mikroişlemci önce kesme işlevini yürütür.
- Uyku moduna girin, hata ayıklama isteği mikroişlemcinin uyanmasını ve derin uykuya girmesini sağlayabilir, hata ayıklama isteği mikroişlemciyi uyandıramaz.
WFE metodu uyku moduna geçtikten sonra mikroişlemci aşağıdaki şekilde uyandırılabilir.
- İç veya dış olaylar, kesme denetleyicisini yapılandırmaya gerek olmadığında uyanır ve programı yürütmeye devam eder.
- Bir kesme kaynağı etkinleştirildiğinde, bir kesme üretildiğinde mikroişlemci uyandırılır ve uyandıktan sonra mikroişlemci önce kesme işlevini yürütür.
- PFIC_SCTLR'deki SEVONPEND biti yapılandırılmışsa, kesme denetleyicisi kesmeyi etkinleştirmez, ancak yeni bir kesme bekleyen sinyali üretildiğinde (önceden üretilen bekleyen sinyal etkili olmaz), mikroişlemcinin uyanmasını da sağlayabilir ve uyandıktan sonra ilgili kesme bekleyen bayrağının manuel olarak temizlenmesi gerekir.
- Uyku moduna girme hata ayıklama isteği mikroişlemcinin uyanmasını ve derin uykuya girmesini sağlayabilir, hata ayıklama isteği mikroişlemciyi uyandıramaz.
- Ayrıca, mikroişlemcinin uyanma sonrası durumu PFIC_SCTLR'deki SLEEPONEXIT bitinin yapılandırılmasıyla kontrol edilebilir.
- SLEEPONEXIT ayarlanır ve son seviye kesme dönüş talimatı (mret) WFI modu uykusunu tetikler.
SLEEPONEXIT hiçbir etki göstermeden temizlenir.
V3 serisi mikroişlemcilerle donatılmış çeşitli MCU ürünleri, farklı uyku modlarını benimseyebilir, farklı çevre birimlerini ve saatleri kapatabilir, farklı PFIC_SCTLR yapılandırmalarına göre farklı güç yönetim politikaları ve uyandırma yöntemleri uygulayabilir ve çeşitli düşük güç modlarını gerçekleştirebilir.
Hata Ayıklama Desteği
- QingKe V3 serisi mikroişlemciler, karmaşık hata ayıklama işlemlerini destekleyen bir donanım hata ayıklama modülü içerir. Mikroişlemci askıya alındığında, hata ayıklama modülü, soyut komutlar, program arabellek dağıtım talimatları vb. aracılığıyla mikroişlemcinin GPR'lerine, CSR'lerine, Belleğine, harici aygıtlarına vb. erişebilir. Hata ayıklama modülü, mikroişlemcinin işlemini askıya alabilir ve devam ettirebilir.
- Hata ayıklama modülü RISC-V Harici Hata Ayıklama Desteği Sürüm 0.13.2 spesifikasyonunu takip eder, ayrıntılı belgeler RISC-V International'dan indirilebilir. webalan.
Hata Ayıklama Modülü
- Mikroişlemci içerisinde bulunan, hata ayıklama sunucusu tarafından verilen hata ayıklama işlemlerini gerçekleştirebilen hata ayıklama modülü bulunmaktadır.
- Hata ayıklama arayüzü aracılığıyla kayıtlara erişim
- Hata ayıklama arayüzü aracılığıyla mikroişlemciyi sıfırlayın, askıya alın ve devam ettirin
- Hata ayıklama arayüzü aracılığıyla belleği, talimat kayıtlarını ve harici aygıtları okuyun ve yazın
- Hata ayıklama arayüzü aracılığıyla birden fazla keyfi talimatı dağıtın
- Hata ayıklama arayüzü aracılığıyla yazılım kesme noktalarını ayarlayın
- Hata ayıklama arayüzü aracılığıyla donanım kesme noktalarını ayarlayın
- Soyut komut otomatik yürütme desteği
- Tek adımlı hata ayıklamayı destekleyin
- Not: V3A donanım kesme noktalarını desteklemez, V3B donanım kesme noktaları talimat adresi eşleştirmesini destekler ve V3C donanım kesme noktaları talimat adresi ve veri adresi eşleştirmesini destekler.
- Hata ayıklama modülünün dahili kayıtları 7 bitlik bir adres kodu kullanır ve aşağıdaki kayıtlar QingKe V3 serisi mikroişlemcilerin içinde uygulanır.
Tablo 7-1 Hata ayıklama modülü kayıt listesi
| İsim | Erişim adresi | Tanım |
| veri0 | 0x04 | Veri kaydı 0, verilerin geçici olarak depolanması için kullanılabilir |
| veri1 | 0x05 | Veri kaydı 1, verilerin geçici olarak depolanması için kullanılabilir |
| denetimi kaldırmak | 0x10 | Hata ayıklama modülü kontrol kaydı |
| dm durumu | 0x11 | Hata ayıklama modülü durum kaydı |
| hartinbilgisi | 0x12 | Mikroişlemci durum kaydı |
| özetler | 0x16 | Soyut komut durum kaydı |
| emretmek | 0x17 | Soyut komut kaydı |
| soyut oto | 0x18 | Soyut komut otomatik yürütme |
| progbuf0-7 | 0x20-0x27 | Talimat önbellek kayıtları 0-7 |
| durma0 | 0x40 | Duraklatma durumu kaydı |
- Hata ayıklama ana bilgisayarı, decontrol kaydını yapılandırarak mikroişlemcinin askıya alınmasını, devam ettirilmesini, sıfırlanmasını vb. kontrol edebilir. RISC-V standardı üç tür soyut komut tanımlar: erişim kaydı, hızlı erişim ve bellek erişimi.
- QingKe V3A mikroişlemcisi yalnızca kayıt erişimini destekler, diğer modeller kayıt ve bellek erişimini destekler, ancak hızlı erişimi desteklemez. Kayıtlara (GPR'ler, CSR'ler) erişim ve belleğe sürekli erişim soyut komutlarla gerçekleştirilebilir.
- Hata ayıklama modülü, 8 adet talimat önbellek kaydı progbuf0-7'yi uygular ve hata ayıklama ana bilgisayarı, tampona birden fazla talimatı (sıkıştırılmış talimatlar olabilir) önbelleğe alabilir ve soyut komutu yürüttükten sonra talimat önbellek kayıtlarındaki talimatları yürütmeye devam etmeyi veya önbelleğe alınan talimatları doğrudan yürütmeyi seçebilir.
- Not Programlardaki son talimatın bir "ebreak" veya "c.ebreak" talimatı olması gerektiği. Depolamaya, çevre birimlerine vb. erişim, programlarda önbelleğe alınmış soyut komutlar ve talimatlar aracılığıyla da mümkündür.
- Her kayıt aşağıda ayrıntılı olarak açıklanmıştır.
- Veri kaydı 0 (data0)
Tablo 7-2 veri kayıt tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:0] | veri0 | RW | Veri kaydı 0, verilerin geçici olarak depolanması için kullanılır | 0 |
Veri kaydı 1 (data1)
Tablo 7-3 data1 kayıt tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:0] | veri1 | RW | Veri kaydı 1, verilerin geçici olarak depolanması için kullanılır | 0 |
Hata ayıklama modülü kontrol kaydı (denetimden çıkarma)
Bu kayıt, mikroişlemcinin duraklatılmasını, sıfırlanmasını ve devam ettirilmesini kontrol eder. Hata ayıklama ana bilgisayarı, duraklatma (haltreq), sıfırlama (ndmreset), devam ettirme (resumereq) elde etmek için ilgili alana veri yazar. Aşağıdakileri açıklıyorsunuz.
Tablo 7-4 decontrol kayıt tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| 31 | haltreq | WO | 0: Duraklatma isteğini temizle
1: Bir duraklama isteği gönder |
0 |
| 30 | özgeçmiş talebi | W1 | 0: Geçersiz
1: Mevcut mikroişlemciyi geri yükleyin Not: Yazma 1 geçerlidir ve mikroişlemci kurtarıldıktan sonra donanım temizlenir |
0 |
| 29 | Rezerve | RO | Rezerve | 0 |
| 28 | sıfırlamak | W1 | 0: Geçersiz
1: Mikroişlemcinin hasat durumu bitini temizle |
0 |
| [27:2] | Rezerve | RO | Rezerve | 0 |
| 1 | ndm sıfırlama | RW | 0: Sıfırlamayı temizle
1: Hata ayıklama modülü dışında tüm sistemi sıfırlayın |
0 |
| 0 | devre dışı bırakmak | RW | 0: Hata ayıklama modülünü sıfırla
1: Debug modülü düzgün çalışıyor |
0 |
Hata ayıklama modülü durum kaydı (dm durumu)
- Bu kayıt, hata ayıklama modülünün durumunu belirtmek için kullanılır ve her bitin aşağıdaki açıklamasını içeren salt okunur bir kayıttır.
Masa 7-5 dmstatus kayıt tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:20] | Rezerve | RO | Rezerve | 0 |
| 19 | hepsi sıfırlandı | RO | 0: Geçersiz
1: Mikroişlemci sıfırlama |
0 |
| 18 | herhangibir sıfırlama | RO | 0: Geçersiz
1: Mikroişlemci sıfırlama |
0 |
| 17 | tümözgeçmiş | RO | 0: Geçersiz
1: Mikroişlemci sıfırlama |
0 |
| 16 | herhangi bir özgeçmiş | RO | 0: Geçersiz
1: Mikroişlemci sıfırlama |
0 |
| [15:14] | Rezerve | RO | Rezerve | 0 |
| 13 | alüvyonlu | RO | 0: Geçersiz
1: Mikroişlemci mevcut değil |
0 |
| 12 | herhangi bir faydası var mı | RO | 0: Geçersiz
1: Mikroişlemci mevcut değil |
0 |
| 11 | hepsi koşuyor | RO | 0: Geçersiz
1: Mikroişlemci çalışıyor |
0 |
| 10 | herhangi bir koşu | RO | 0: Geçersiz
1: Mikroişlemci çalışıyor |
0 |
| 9 | durduruldu | RO | 0: Geçersiz
1: Mikroişlemci askıya alınmış durumda |
0 |
| 8 | herhangi bir durdurulmuş | RO | 0: Geçersiz
1: Mikroişlemci süspansiyondan çıktı |
0 |
| 7 | doğrulanmış |
RO |
0: Hata ayıklama modülünü kullanmadan önce kimlik doğrulaması gereklidir
1: Hata ayıklama modülü onaylandı |
0x1 |
| [6:4] | Rezerve | RO | Rezerve | 0 |
| [3:0] | versiyon | RO | Hata ayıklama sistemi destek mimarisi sürüm 0010: V0.13 | 0x2 |
Mikroişlemci durum kaydı (hartinfo)
Bu kayıt, mikroişlemci hakkında hata ayıklama sunucusuna bilgi sağlamak için kullanılır ve her biti aşağıda açıklandığı gibi salt okunur bir kayıttır.
Tablo 7-6 hartinfo kayıt tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:24] | Rezerve | RO | Rezerve | 0 |
| [23:20] | çizik | RO | Desteklenen scratch kayıtlarının sayısı | 0x3 |
| [19:17] | Rezerve | RO | Rezerve | 0 |
| 16 | Veri Erişimi | RO | 0: Veri kaydı CSR adresine eşlendi
1: Veri kaydı bellek adresine eşlenir |
0x1 |
| [15:12] | veri boyutu | RO | Veri kayıtlarının sayısı | 0x2 |
| [11:0] | veri ekle |
RO |
Veri kaydı data0'ın ofset adresi,
taban adresi 0xe0000000 olan, özel okumaya tabidir. |
0xXXX |
Soyut komut kontrolü ve durum kayıtları (özetler)
Bu kayıt, soyut komutun yürütülmesini belirtmek için kullanılır. Hata ayıklama ana bilgisayarı, son soyut komutun yürütülüp yürütülmediğini bilmek için bu kaydı okuyabilir ve soyut komutun yürütülmesi sırasında bir hata oluşup oluşmadığını ve hatanın türünü kontrol edebilir; bu, aşağıda ayrıntılı olarak açıklanmıştır.
Tablo 7-7 özet kayıt tanımları
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:29] | Rezerve | RO | Rezerve | 0 |
| [28:24] | progbuf boyutu | RO | Program arabelleği programının sayısını gösterir
önbellek kayıtları |
0x8 |
| [23:13] | Rezerve | RO | Rezerve | 0 |
| 12 | Meşgul | RO | 0: Hiçbir soyut komut yürütülmüyor
1: Soyut komutlar yürütülüyor Not: Çalıştırma sonrasında donanım temizlenir. |
0 |
| 11 | Rezerve | RO | Rezerve | 0 |
| [10:8] | Komutan | RW | Soyut komut hata türü 000: Hata yok
001: Komuta yazmak, soyutlamak, otomatik kayıtları soyutlamak veya veri ve progbuf kayıtlarına okumak ve yazmak için soyut komut yürütme 010: Mevcut soyut komutu desteklemiyor 011: Soyut komutun istisna ile yürütülmesi 100: Mikroişlemci askıya alınmamış veya kullanılamaz durumda değil ve soyut komutları yürütemiyor 101: Veri yolu hatası 110: İletişim sırasında parite biti hatası 111: Diğer hatalar Not: Bit yazmada 1 sıfırı temizlemek için kullanılır. |
0 |
| [7:4] | Rezerve | RO | Rezerve | 0 |
| [3:0] | indirim | RO | Veri kayıtlarının sayısı | 0x2 |
- Hata ayıklama ana bilgisayarları, soyut komut kaydına farklı yapılandırma değerleri yazarak GPR'lere, CSR kayıtlarına ve belleğe erişebilir.
- Kayıtlara erişilirken komut kayıt bitleri aşağıdaki gibi tanımlanır.
- Tablo 7-8 Kayıtlara erişirken komut kaydının tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:24] | cmd türü | WO | Soyut komut türü 0: Erişim kaydı;
1: Hızlı erişim (desteklenmiyor); 2: Belleğe erişim. |
0 |
| 23 | Rezerve | WO | Rezerve | 0 |
| [22:20] | arsız | WO | Erişim kayıt veri bit genişliği 000: 8 bit
001: 16 bit 010: 32 bit |
0 |
| 011: 64-bit (desteklenmiyor) 100: 128-bit (desteklenmiyor)
Not: Kayan nokta kayıtlarına erişirken FPR'lerde yalnızca 32 bit erişim desteklenir. |
||||
| 19 | aarpostartış | WO | 0: Etkisi yok
1: Kayıt defterine eriştikten sonra regno değerini otomatik olarak artırın |
0 |
| 18 | yönetici sonrası | WO | 0: Etkisi yok
1:Soyut komutu yürütün ve ardından progbuf'taki komutu yürütün |
0 |
| 17 | transfer | WO | 0: Write tarafından belirtilen işlemi yürütme
1: write tarafından belirtilen işlemi yürüt |
0 |
| 16 | yazmak | WO | 0: Verileri belirtilen kayıttan data0'a kopyala 1: Verileri data0 kaydından belirtilen kayıta kopyala |
0 |
| [15:0] | bölge | WO | 0x0000-0x0fff erişim kayıtlarını belirtin. Bunlar CSR'lerdir. 0x1000-0x101f ise GPR'lerdir. |
0 |
Belleğe erişildiğinde komut kayıt defterindeki bitler aşağıdaki gibi tanımlanır.
Tablo 7-9 Belleğe Erişim Sırasında Kayıt Komutunun Tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:24] | cmd türü | WO | Soyut komut türü 0: Erişim kaydı;
1: Hızlı erişim (desteklenmiyor); 2: Belleğe erişim. |
0 |
| 23 | sanalım | WO | 0: Fiziksel adrese erişim;
1: Sanal adrese erişim. |
0 |
| [22:20] | kol ölçüsü | WO | Erişim belleği veri bit genişliği 000: 8 bit;
001: 16 bit; 010: 32 bit; 011: 64-bit (desteklenmiyor); 100: 128-bit (desteklenmiyor); |
0 |
| 19 | aampartımlı artış | WO | 0: Hiçbir etki yok;
1: Belleğe başarıyla eriştikten sonra, data1 kayıt defterinde saklanan adresi, arm boyutu tarafından yapılandırılan bit genişliğine karşılık gelen bayt sayısı kadar artırın. Aamsize=0, bayt, data1 artı 1 ile erişilir. Aamsize=1, yarım kelime, data1 artı 2 ile erişilir. aamsize=2, bit, data1 artı 4 ile erişilir. |
0 |
| 18 | yönetici sonrası | WO | 0: Hiçbir etki yok;
1: Abstract komutunu çalıştırdıktan sonra progbuf'taki komutu çalıştırın. |
0 |
| 17 | Rezerv | RO | Rezerve | 0 |
|
16 |
yazmak |
WO |
0: data1 ile belirtilen adresten data0'a veri oku
1: data0'daki verileri belirtilen adrese yazın veri1. |
0 |
|
[15:14] |
hedef odaklı |
WO |
Okuma ve yazma modunun tanımı Yaz:
00, 01: Doğrudan belleğe yaz; 10: data0'daki veri, bellekteki veri bitleriyle OR işlemine tabi tutulduktan sonra sonuç belleğe yazılır. (Sadece kelime erişimi desteklenir.) 11: data0'daki verileri bellekteki veri bitleriyle topladıktan sonra sonucu belleğe yaz. (Sadece word erişimi desteklenmektedir.) Okumak: 00, 01, 10, 11: 0'ı doğrudan bellekten oku. |
0 |
| [13:0] | Rezerv | RO | Rezerve |
Soyut komut otomatik yürütme kaydı (soyut otomatik)
Bu kayıt hata ayıklama modülünü yapılandırmak için kullanılır. Hata ayıklama modülünün progbufx ve verilerini okurken ve yazarken, soyut komut tekrar çalıştırılabilir.
Bu sicilin açıklaması şu şekildedir:
Tablo 7-10 özet otomatik kayıt tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:16] | otomatik yürütmeprogbuf | RW | Bir bit ayarlanırsa, progbufx'in karşılık gelen okuma ve yazma işlemi, komut kaydındaki soyut komutun tekrar yürütülmesine neden olur.
Not: V3 serisi 8 progbuf ile tasarlanmıştır. bitlere karşılık gelen [23:16]. |
0 |
| [15:12] | Rezerv | RO | Rezerve | 0 |
| [11:0] | otomatik yürütme verileri |
RW |
Bir bit 1 olarak ayarlanırsa, veri kaydının karşılık gelen okuma ve yazma işlemi Komut kaydındaki soyut komutun tekrar yürütülmesine neden olur.
Not: V3 serisi iki veri ile tasarlanmıştır [1:0] bitlerine karşılık gelen kayıtlar. |
0 |
Talimat önbellek kaydı (progbufx)
Bu kayıt, herhangi bir talimatı depolamak ve 8 dahil olmak üzere, son yürütmenin "break" veya "c.ebreak" olmasına dikkat etmesi gereken ilgili işlemi dağıtmak için kullanılır.
Tablo 7-11 progbuf kayıt tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:0] | progbuf | RW | Önbellek işlemleri için talimat kodlaması,
sıkıştırma talimatlarını içerebilir |
0 |
Durum kaydını duraklat (haltsum0)
Bu kayıt, mikroişlemcinin askıya alınıp alınmadığını belirtmek için kullanılır. Her bit, bir mikroişlemcinin askıya alınma durumunu gösterir ve yalnızca bir çekirdek olduğunda, bunu belirtmek için yalnızca bu kaydın en düşük biti kullanılır.
Tablo 7-12 haltsum0 kayıt tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:1] | Rezerve | RO | Rezerve | 0 |
| 0 | durma0 | RO | 0: Mikroişlemci normal şekilde çalışıyor
1: Mikroişlemci durdurma |
0 |
- Yukarıda belirtilen hata ayıklama modülünün kayıtlarına ek olarak, hata ayıklama fonksiyonu ayrıca bazı CSR kayıtlarını da içerir, bunlar başlıca hata ayıklama denetim ve durum kaydı dcsr ve hata ayıklama talimatı işaretçisi dpc'dir ve bunlar aşağıda ayrıntılı olarak açıklanmıştır.
- Hata ayıklama denetimi ve durum kaydı (dcsr)
Tablo 7-13 dcsr kayıt tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:28] | xhata ayıklayıcı | DRO | 0000: Harici hata ayıklama desteklenmiyor 0100: Standart harici hata ayıklamayı destekliyor
1111: Harici hata ayıklama destekleniyor ancak karşılamıyor şartname |
0x4 |
| [27:16] | Rezerve | DRO | Rezerve | 0 |
| 15 | kırmak | ÇEKİM | 0: Makine modundaki kesme komutu ayrıcalıkta açıklandığı gibi davranır file
1: Makine modundaki break komutu hata ayıklama moduna girebilir |
0 |
| [14:13] | Rezerve | DRO | Rezerve | 0 |
| 12 | ayrılmak |
ÇEKİM |
0: Kullanıcı modundaki break komutu ayrıcalıkta açıklandığı gibi davranır file
1: Kullanıcı modundaki break komutu hata ayıklama moduna girebilir |
0 |
| 11 | adım | ÇEKİM | 0: Tek adımlı hata ayıklama altında kesmeler devre dışı bırakılır
1: Tek adımlı hata ayıklama altında kesintileri etkinleştirin |
0 |
| 10 | Rezerve | DRO | Rezerve | 0 |
| 9 | zamanı durdurmak | ÇEKİM | 0: Sistem zamanlayıcısı Hata Ayıklama modunda çalışıyor
1: Sistem zamanlayıcısı Hata Ayıklama modunda durur |
0 |
| [8:6] | neden | DRO | Hata ayıklamaya girme nedenleri
001: Break komutu biçiminde hata ayıklamaya giriş (öncelik 3) 010: Tetikleyici modülü biçiminde hata ayıklamaya giriş (öncelik 4, en yüksek) 011: Duraklatma isteği biçiminde hata ayıklamaya giriş (öncelik 1) 100: tek adımlı hata ayıklama biçiminde hata ayıklama (öncelik 0, en düşük) |
0 |
| 101: mikroişlemci sıfırlandıktan hemen sonra hata ayıklama moduna gir (öncelik 2) Diğerleri: Ayrılmış | ||||
| [5:3] | Rezerve | DRO | Rezerve | 0 |
| 2 | adım | ÇEKİM | 0: Tek adımlı hata ayıklamayı kapatın
1: Tek adımlı hata ayıklamayı etkinleştirin |
0 |
| [1:0] | Önceki | ÇEKİM | Ayrıcalık modu 00: Kullanıcı modu
01: Denetleyici modu (desteklenmiyor) 10: Ayrılmış 11: Makine modu Not: Hata ayıklama moduna girerken ayrıcalıklı modu kaydedin, hata ayıklayıcı hata ayıklamadan çıkarken ayrıcalıklı modu değiştirmek için bu değeri değiştirebilir |
0 |
Hata ayıklama modu program işaretçisi (DPC)
- Bu kayıt, mikroişlemcinin debug moduna girmesinden sonra yürütülecek bir sonraki komutun adresini saklamak için kullanılır ve değeri debug moduna girme nedenine bağlı olarak farklı kurallarla güncellenir. dpc kaydı aşağıda detaylı olarak açıklanmıştır.
Tablo 7-14 dpc kayıt tanımları
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:0] | DPC | ÇEKİM | Talimat adresi | 0 |
Kayıtların güncellenmesine ilişkin kurallar aşağıdaki tabloda gösterilmiştir.
Tablo 7-15 dpc güncelleme kuralları
| Hata ayıklama yöntemini girin | dpc Güncelleme kuralları |
| kırmak | Ebreak talimatının adresi |
| tek adım | Mevcut talimatın bir sonraki talimatının talimat adresi |
| tetik modülü | Geçici olarak desteklenmiyor |
| durdurma isteği | Debug'a girildiğinde yürütülecek bir sonraki talimatın adresi |
Hata Ayıklama Arayüzü
- Standart J'den farklıTAG RISC-V tarafından tanımlanan arayüz, QingKe V3 serisi mikroişlemci 1-a telli/2-telli seri hata ayıklama arayüzünü benimser ve WCH hata ayıklama arayüzü protokolü V1.0'ı takip eder.
- Hata ayıklama arayüzü, hata ayıklama ana bilgisayarı ile hata ayıklama modülü arasındaki iletişimden sorumludur ve hata ayıklama ana bilgisayarının hata ayıklama modülü kayıtlarına okuma/yazma işlemini gerçekleştirir.
- WCH, WCH_Link'i tasarladı ve şemasını ve program ikilisini açık kaynaklı hale getirdi fileRISC-V mimarisine sahip tüm mikroişlemcilerin hata ayıklamasında kullanılabilen s.
- Belirli hata ayıklama arayüzü protokolleri için WCH Hata Ayıklama Protokolü Kılavuzuna bakın.
CSR Kayıt Listesi
- RISC-V mimarisi, mikroişlemcinin çalışma durumunu kontrol etmek ve kaydetmek için bir dizi Kontrol ve Durum Kaydı (CSR) tanımlar.
- Önceki bölümde bazı CSR'ler tanıtılmıştı ve bu bölümde QingKe V3 serisi mikroişlemcilerde uygulanan CSR kayıtları ayrıntılı olarak açıklanacaktır.
CSR Kayıt Listesi
Tablo 8-1 Mikroişlemci CSR Kayıtlarının Listesi
| Tip | İsim | Kurumsal Sosyal Sorumluluk Adres | Erişim | Tanım |
| RISC-V
Standart CSR |
marş | 0xF12 | MRO | Mimarlık numarası kaydı |
| küçük | 0xF13 | MRO | Donanım uygulama numaralandırma kaydı | |
| mdurum | 0x300 | MRW | Durum kaydı | |
| misa | 0x301 | MRW | Donanım komut seti kaydı | |
| mtvec | 0x305 | MRW | İstisna temel adres kaydı | |
| msçizmek | 0x340 | MRW | Makine modu stagkayıt defteri | |
| MEPC | 0x341 | MRW | İstisna programı işaretçi kaydı | |
| çünkü | 0x342 | MRW | İstisna neden kaydı | |
| mtval | 0x343 | MRW | İstisna değer kaydı | |
| pmpcfg | 0x3A0+i | MRW | PMP yapılandırma kaydı | |
| pmpaddr | 0x3B0+i | MRW | PMP adres kaydı | |
| tseçimi | 0x7A0 | MRW | Hata ayıklama tetikleyici seçimi kaydı | |
| tveri1 | 0x7A1 | MRW | Hata ayıklama tetikleyici veri kaydı 1 | |
| tveri2 | 0x7A2 | MRW | Hata ayıklama tetikleyici veri kaydı 2 | |
| dcsr | 0x7B0 | ÇEKİM | Hata ayıklama denetimi ve durum kayıtları | |
| dpc | 0x7B1 | ÇEKİM | Hata ayıklama modu program işaretçisi kaydı | |
| dscratch0 | 0x7B2 | ÇEKİM | Hata ayıklama modu stagkayıt 0 | |
| dscratch1 | 0x7B3 | ÇEKİM | Hata ayıklama modu stagkayıt 1 | |
|
Satıcı tarafından tanımlanan CSR |
cin | 0x800 | URW | Küresel kesme etkinleştirme kaydı |
| intsistem | 0x804 | URW | Kesinti sistemi kontrol kaydı | |
| çekirdekcfgr | 0xBC0 | MRW | Mikroişlemci yapılandırma kaydı | |
| inestcr | 0xBC1 | MRW | Kesinti iç içe geçmiş denetim kaydı |
RISC-V Standart CSR Kayıtları
- Mimarlık numarası kaydı (marchid)
- Bu kayıt, esas olarak satıcı kodu, mimari kodu, seri kodu ve sürüm kodundan oluşan geçerli mikroişlemci donanım mimarisi numarasını belirtmek için salt okunur bir kayıttır. Her biri aşağıdaki gibi tanımlanmıştır.
Tablo 8-2 Marchid kayıt tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| 31 | Rezerve | MRO | Rezerve | 1 |
| [30:26] | Satıcı0 | MRO | Üretici kodu 0
"W" harfi koduna sabitlendi |
0x17 |
| [25:21] | Satıcı1 | MRO | Üretici kodu1
"C" harfi koduna sabitlendi |
0x03 |
| [20:16] | Satıcı2 | MRO | Üretici kodu 2
"H" harfi koduna sabitlendi |
0x08 |
| 15 | Rezerve | MRO | Rezerve | 1 |
| [14:10] | Kemer | MRO | Mimarlık kodu | 0x16 |
| RISC-V mimarisi “V” harfi koduna sabitlenmiştir | ||||
| [9:5] | Seri | MRO | Seri kodu
QingKe V3 serisi, “3” rakamına sabitlendi |
0x03 |
| [4:0] | Sürüm | MRO | Sürüm kodu
"A", "B", "C" ve kodun diğer harfleri olabilir |
x |
Üretici numarası ve sürüm numarası alfabetiktir ve seri numarası sayısaldır. Harflerin kodlama tablosu aşağıdaki tabloda gösterilmiştir.
Tablo 8-3 Alfabetik Eşleme Tablosu
| 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 |
- Bunlardan QingKe V3A mikroişlemcisinde kayıt 0'a geri döner.
Donanım uygulama numaralandırma kaydı (berrak)
- Bu kayıt esas olarak her biri aşağıdaki şekilde tanımlanan satıcı kodlarından oluşur.
Tablo 8-4 berrak kayıt tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| 31 | Rezerve | MRO | Rezerve | 1 |
| [30:26] | Satıcı0 | MRO | Üretici kodu 0
"W" harfi koduna sabitlendi |
0x17 |
| [25:21] | Satıcı1 | MRO | Üretici kodu1
"C" harfi koduna sabitlendi |
0x03 |
| [20:16] | Satıcı2 | MRO | Üretici kodu 2
"H" harfi koduna sabitlendi |
0x08 |
| 15 | Rezerve | MRO | Rezerve | 1 |
| [14:8] | Rezerve | MRO | Rezerve | 0 |
| [7:4] | Küçük | MRO | Yıkım numarası | 0xX |
| [3:0] | Ana | Bay0 | Büyük sürüm numarası | 0xX |
- Bu kayıt herhangi bir makine uygulamasında okunabilir ve QingKe V3A serisi işlemcide bu kayıt sıfıra geri okunur.
Makine modu durum kaydı (mstatus)
- Bu kayıt, bir önceki bölümde kısmen anlatılmış olup, mensupları aşağıdaki şekilde konumlandırılmıştır.
Tablo 8-5 mstatus kayıt tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:13] | Rezerve | MRO | Rezerve | 0 |
| [12:11] | Milletvekili | MRW | Moladan önce ayrıcalıklı mod | 0 |
| [10:8] | Rezerve | MRO | Rezerve | 0 |
| 7 | MPİE | MRW | Bir kesintiye girmeden önce kesinti etkinleştirme durumu | 0 |
| [6:4] | Rezerve | MRO | Rezerve | 0 |
| 3 | Mie | MRW | Makine modu kesintisi etkinleştirme | 0 |
| [2:0] | Rezerve | MRO | Rezerve | 0 |
- MPP alanı, istisna veya kesintiye girmeden önce ayrıcalıklı modu kaydetmek ve istisna veya kesintiden çıktıktan sonra ayrıcalıklı modu geri yüklemek için kullanılır. MIE, genel kesinti etkinleştirme bitidir ve istisna veya kesintiye girildiğinde, MPIE değeri MIE değerine güncellenir ve QingKe V3 serisi mikroişlemcilerde, Makine modunda kesinti yuvalanmasının yürütülmeye devam etmesini sağlamak için, MIE'nin son iç içe geçmiş kesintiler düzeyinden önce 0'a güncellenmeyeceği unutulmamalıdır. Bir istisna veya kesintiden çıkıldığında, mikroişlemci MPP tarafından kaydedilen Makine moduna geri döner ve MIE, MPIE değerine geri yüklenir.
- QingKe V3 mikroişlemcisi Makine modunu ve Kullanıcı modunu destekler, mikroişlemcinin yalnızca Makine modunda çalışmasını istiyorsanız, önyüklemenin başlatılmasında MPP'yi 0x3 olarak ayarlayabilirsiniz. fileyani geri döndükten sonra daima Makine modunda kalacaktır.
Donanım komut seti kaydı (misa)
- Bu kayıt, mikroişlemcinin mimarisini ve desteklenen komut seti uzantılarını belirtmek için kullanılır; bunların her biri aşağıda açıklanmıştır.
Tablo 8-6 misa kayıt tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:30] | MXL | MRO | Makine kelime uzunluğu 1:32
2:64 3:128 |
1 |
| [29:26] | Rezerve | MRO | Rezerve | 0 |
| [25:0] | Uzantılar | MRO | Talimat seti uzantıları | x |
- MXL, mikroişlemcinin kelime uzunluğunu belirtmek için kullanılır, QingKe V3 mikroişlemcileri 32 bitlik mikroişlemcilerdir ve etki alanı 1 olarak sabitlenmiştir.
- Uzantılar, mikroişlemcinin genişletilmiş komut seti ayrıntılarını desteklediğini belirtmek için kullanılır, her biri bir uzantı sınıfını belirtir, ayrıntılı açıklaması aşağıdaki tabloda gösterilmiştir.
Tablo 8-7 Talimat Seti Uzantısı Ayrıntıları
| Biraz | İsim | Tanım |
| 0 | A | Atomik uzantı |
| 1 | B | Geçici olarak Bit-Manipülasyon uzantısı için ayrılmıştır |
| 2 | C | Sıkıştırılmış uzantı |
| 3 | D | Çift hassasiyetli kayan nokta uzantısı |
| 4 | E | RV32E taban ISA |
| 5 | F | Tek hassasiyetli kayan nokta uzantısı |
| 6 | G | Ek standart uzantılar mevcut |
| 7 | H | Hypervisor uzantısı |
| 8 | I | RV32I/64I/128I temel ISA |
| 9 | J | Geçici olarak Dinamik Olarak Çevirilen Diller uzantısı için ayrılmıştır |
| 10 | K | Rezerve |
| 11 | L | Geçici olarak Decimal Kayan Nokta uzantısı için ayrılmıştır |
| 12 | M | Tamsayı Çarpma/Bölme uzantısı |
| 13 | N | Kullanıcı düzeyindeki kesintiler destekleniyor |
| 14 | O | Rezerve |
| 15 | P | Geçici olarak Paketlenmiş-SIMD uzantısı için ayrılmıştır |
| 16 | Q | Dörtlü hassasiyetli kayan nokta uzantısı |
| 17 | R | Rezerve |
| 18 | S | Denetleyici modu uygulandı |
| 19 | T | Geçici olarak İşlemsel Bellek uzantısı için ayrılmıştır |
| 20 | U | Kullanıcı modu uygulandı |
| 21 | V | Geçici olarak Vector uzantısı için ayrılmıştır |
| 22 | W | Rezerve |
| 23 | X | Standart dışı uzantılar mevcut |
| 24 | Y | Rezerve |
| 25 | Z | Rezerve |
- ÖrneğinampÖrneğin, QingKe V3A mikroişlemcisi için kayıt değeri 0x401001105'tir, bu da desteklenen komut seti mimarisinin RV32IMAC olduğu ve Kullanıcı modu uygulamasına sahip olduğu anlamına gelir.
Makine modu istisna taban adresi kaydı (mtvec)
- Bu kayıt, istisna veya kesme işleyicisinin taban adresini depolamak için kullanılır ve alttaki iki bit, Bölüm 3.2'de açıklandığı gibi vektör tablosunun modunu ve tanımlama yöntemini yapılandırmak için kullanılır.
Makine modu stagkayıt olma (mscratch)
Tablo 8-8 mscratch kayıt tanımları
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:0] | msçizmek | MRW | Veri depolama | 0 |
Bu kayıt, geçici veri depolama için makine modunda 32 bitlik okunabilir ve yazılabilir bir kayıttır. ÖrneğinampÖrneğin, bir istisna veya kesme işleyicisine girildiğinde, kullanıcı yığın işaretçisi SP bu kayıtta saklanır ve kesme yığın işaretçisi SP kaydına atanır. İstisna veya kesmeden çıktıktan sonra, kullanıcı yığın işaretçisi SP'nin değerini sıfırdan geri yükleyin. Yani, kesme yığını ve kullanıcı yığını izole edilebilir.
Makine modu istisna programı işaretçi kaydı (harita)
Tablo 8-9 mepc kayıt tanımları
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:0] | mepc | MRW | İstisna prosedürü işaretçisi | 0 |
- Bu kayıt, bir istisna veya kesme girildiğinde program işaretçisini kaydetmek için kullanılır.
- Bir istisna veya kesme üretildiğinde istisna girmeden önce talimat PC işaretçisini kaydetmek için kullanılır ve istisna veya kesme işlendiğinde ve bir istisna veya kesme dönüşü için kullanıldığında dönüş adresi olarak mepc kullanılır.
- Ancak şunu da belirtmek gerekir.
- Bir istisna oluştuğunda, mepc, istisnayı oluşturan yönergenin PC değerine güncellenir.
- Bir kesme gerçekleştiğinde, mepc bir sonraki komutun PC değerine güncellenir.
- İstisnayı işledikten sonra bir istisna döndürmeniz gerektiğinde, mepc değerini değiştirmeye dikkat etmelisiniz ve daha fazla ayrıntı 2. Bölüm İstisnalar'da bulunabilir.
Makine modu istisnası neden kaydı (mcause)
Tablo 8-10 mcause kayıt tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| 31 | Yarıda kesmek | MRW | Kesinti gösterge alanı 0: İstisna
1: Kesinti |
0 |
| [30:0] | İstisna Kodu | MRW | İstisna kodları için ayrıntılar için Tablo 2-1'e bakın | 0 |
- Bu kayıt, esas olarak istisnanın nedenini veya kesmenin kesme numarasını depolamak için kullanılır. En yüksek biti, geçerli olayın bir istisna mı yoksa bir kesme mi olduğunu belirtmek için kullanılan Kesme alanıdır.
- Alt bit, belirli nedeni belirtmek için kullanılan istisna kodudur. Ayrıntıları Bölüm 2 İstisnalar'da bulunabilir.
Makine modu istisna değeri kaydı (mtval)
Tablo 8-11 mtval kayıt tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:0] | mtval | MRW | İstisna değeri | 0 |
- Bu kayıt, bir istisna oluştuğunda istisnaya neden olan değeri tutmak için kullanılır. Değeri ve depolama süresi gibi ayrıntılar için lütfen Bölüm 2 İstisnalar'a bakın.
PMP yapılandırma kaydı (pmpcfg
- Bu kayıt defteri esas olarak fiziksel bellek koruma ünitesini yapılandırmak için kullanılır ve bu kaydın her 8 biti bir alanın korumasını yapılandırmak için kullanılır. Ayrıntılı tanım için lütfen Bölüm 4'e bakın.
PMP adres kaydı (pmpaddr
- Bu kayıt esas olarak, 32 bitlik fiziksel adresin üst 34 bitini kodlayan fiziksel bellek koruma ünitesinin adres yapılandırması için kullanılır. Belirli yapılandırma yöntemi için lütfen Bölüm 4'e bakın.
Hata ayıklama modu program işaretçisi kaydı (DPC)
- Bu kayıt, mikroişlemci girdikten sonra yürütülecek bir sonraki talimatın adresini depolamak için kullanılır.
- Hata ayıklama modu ve değeri, hata ayıklamaya girme nedenine bağlı olarak farklı kurallarla güncellenir. Ayrıntılı bir açıklama için Bölüm 6.1'e bakın.
Hata ayıklama tetikleyicisi seçme kaydı (seç)
- Sadece donanım kesme noktalarını destekleyen ve en fazla 4 kanallı kesme noktalarını destekleyen mikroişlemciler için geçerlidir ve alt 2 biti geçerlidir.
- Her kanal kesme noktasını yapılandırırken, yapılandırma öncesinde bu kayıt üzerinden ilgili kanalı seçmeniz gerekmektedir.
Tablo 8-12 kayıt tanımını seç
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:2] | Rezerve | MRO | Rezerve | 0 |
| [1:0] |
SEÇME |
MRW |
Kesme noktası kanal seçimi kaydı yapılandırılır, yani ilgili kanal seçildikten sonra, bir kesme noktası yapılandırmak için tdata1 ve tdata2 kayıtları çalıştırılabilir
bilgi. |
X |
Hata ayıklama tetikleyici veri kaydı 1(tdata1)
Bu yalnızca donanım kesme noktalarını destekleyen mikroişlemciler için geçerlidir. Mikroişlemciler yalnızca talimat adresi ve veri adresi kesme noktalarını destekler, burada tdata1 kaydının biti TYPE sabit 2 değeridir ve diğer bitler hata ayıklama standardındaki kontrol tanımına uygundur.
Tablo 8-13 tdata1 kayıt tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:28] | TİP | MRO | Kesme noktası türü tanımı, kontrol türü. | 0x2 |
|
27 |
DMODE |
MRO |
0: Flip-flop'un ilgili kayıtları hem makine modunda hem de hata ayıklama modunda değiştirilebilir;
1: Sadece hata ayıklama modu, flip-flop'un ilgili kayıtlarını değiştirebilir. |
1 |
| [26:21] |
MASKMAKS |
MRO |
MATCH=1 olduğunda, eşleşmenin maksimum üstel kuvvet aralığına izin verilir, yani izin verilen maksimum eşleşme aralığı 231 bayttır. |
0x1F |
| [20:13] | Rezerve | MRO | Rezerve | 0 |
|
12 |
AKSİYON |
MRW |
Bir kesme noktasını tetiklerken işleme modunu ayarlayın:
0: Tetikleme sırasında kesme noktasına girilir ve kesme geri çağrılır; 1: Tetiklendiğinde hata ayıklama moduna gir. |
0 |
| [11:8] | Rezerve | MRO | Rezerve | 0 |
|
7 |
KİBRİT |
MRW |
Eşleşen politika yapılandırması:
0: Tetikleyici değeri TDATA2'ye eşit olduğunda eşleşir; 1: Tetikleyici değeri, m = 2–n olan TDATA31'nin yüksek m bitiyle eşleşir ve n, TDATA0'nin ilk 2 tırnak işaretidir (düşük bitten başlayarak). |
0 |
|
6 |
M |
MRW |
M modunda flip-flop'u etkinleştir:
0: M modunda tetiği devre dışı bırak; 1: M modunda tetiği etkinleştir. |
0 |
| [5:4] | Rezerve | MRO | Rezerve | 0 |
|
3 |
U |
MRW |
U modunda tetiği etkinleştir:
0: U modunda tetiği devre dışı bırak; 1: U modunda tetiği etkinleştir. |
0 |
|
2 |
UYGULAMAK |
MRW |
Talimat okuma adresi tetikleyicisi etkinleştirildi: 0: Devre dışı bırak;
1: Etkinleştir. |
0 |
|
1 |
MAĞAZA |
MRW |
Veri yazma adresi tetikleyicisi etkinleştirildi: 0: Devre dışı bırak;
1: Etkinleştir. |
0 |
|
0 |
YÜK |
MRW |
Veri okuma adresi tetikleyicisi etkinleştirildi: 0: Devre dışı bırak;
1: Etkinleştir. |
0 |
Hata ayıklama tetikleyici veri kaydı 2(tdata2)
Sadece donanım kesme noktalarını destekleyen mikroişlemciler için geçerlidir ve tetikleyicinin eşleşen değerini kaydetmek için kullanılır.
Tablo 8-14 tdata2 kayıt tanımı
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:0] | TDATA2 | MRW | Eşleşen değerleri kaydetmek için kullanılır. | X |
Hata ayıklama denetimi ve durum kaydı (dcsr)
Bu kayıt, hata ayıklama modunun çalışma durumunu kontrol etmek ve kaydetmek için kullanılır. Ayrıntılar için Bölüm 7.1'e bakın.
Hata ayıklama modu program işaretçisi (DPC)
Bu kayıt, mikroişlemcinin hata ayıklama moduna girmesinden sonra yürütülecek bir sonraki komutun adresini saklamak için kullanılır, değeri hata ayıklama moduna girme nedenlerine göre farklıdır ve güncelleme kuralları da farklıdır. Ayrıntılı açıklama için Bölüm 7.1'e bakın.
Hata ayıklama modu stagkayıt olma (dscratch0-1)
Bu kayıt grubu, Hata Ayıklama modunda verilerin geçici olarak depolanması için kullanılır.
Tablo 8-15 dscratch0-1 kayıt tanımları
| Biraz | İsim | Erişim | Tanım | Değeri Sıfırla |
| [31:0] | çizik | ÇEKİM | Hata ayıklama modu verileritagdeğer | 0 |
Kullanıcı tanımlı CSR Kaydı
Kullanıcı modu küresel kesme etkinleştirme kaydı (gintenr)
- Bu kayıt, global kesmenin etkinleştirilmesini ve maskesini kontrol etmek için kullanılır. Makine modunda global kesmenin etkinleştirilmesi ve maskesi, durumdaki MIE ve MPIE bitleri tarafından kontrol edilebilir, ancak bu kayıt kullanıcı modunda çalıştırılamaz.
- Global interrupt register'ı aktif hale getirirken gintenr ise MIE ve MPIE'nin durum eşlemesidir.
- Kullanıcı modunda, ayrıntılar için Bölüm 3.2'de açıklandığı gibi, MIE ve MPIE'yi ayarlamak ve temizlemek için niyet kullanılabilir.
Not
- Küresel kesmeler, maskelenmemiş kesmeler NMI ve istisnaları içermez.
Kesinti sistemi kontrol kaydı (intsyscr)
Bu kayıt, esas olarak, Bölüm 3.2'de ayrıntılı olarak açıklandığı gibi, kesme yuvalama derinliğini, donanım yığınını bastırmayı ve diğer ilgili işlevleri yapılandırmak için kullanılır.
Mikroişlemci yapılandırma kaydı (corecfgr)
Bu kayıt, NMI kesmesinin kesme taşmalarından sonra izin verilip verilmediğini ve kesme isteğinin çit talimatı yürütüldüğünde temizlenip temizlenmediğini kontrol etmek için kullanılır. Belirli tanım için lütfen Bölüm 3.2'ye bakın.
Kesinti iç içe denetim kaydı (inestcr)
Bu kayıt, kesme yuvalama durumunu ve taşma olup olmadığını belirtmek ve maksimum yuvalama seviyesini kontrol etmek için kullanılır. Belirli tanım için lütfen Bölüm 3.2'ye bakın.
Belgeler / Kaynaklar
![]() |
WH V3 Mikroişlemci [pdf] Kullanıcı Kılavuzu V3 Mikroişlemci, V3, Mikroişlemci |





