KOL Korteks-M - ARM Cortex-M
Kol Cortex-M bir grup olduğu bir 32-bit RISC ARM lisanslı işlemci çekirdekleri Kol Holdings . Bu çekirdekler, on milyarlarca tüketici cihazına yerleştirilmiş düşük maliyetli ve enerji verimli entegre devreler için optimize edilmiştir. Genellikle mikrodenetleyici yongalarının ana bileşeni olmalarına rağmen , bazen diğer yonga türlerinin içine de gömülürler. Cortex-M ailesi, Cortex-M0, Cortex-M0+, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M23, Cortex-M33, Cortex-M35P, Cortex-M55'ten oluşur. Cortex-M4 / M7 / M33 / M35P / M55 çekirdekleri bir FPU silikon seçeneğine sahiptir ve silikona dahil edildiğinde bu çekirdekler bazen "FPU'lu Cortex-Mx" veya "Cortex-MxF" olarak bilinir, burada 'x' çekirdek varyantı.
genel bakış
32 bit | |
---|---|
Yıl | Çekirdek |
2004 | Korteks-M3 |
2007 | Korteks-M1 |
2009 | Korteks-M0 |
2010 | Korteks-M4 |
2012 | Korteks-M0+ |
2014 | Korteks-M7 |
2016 | Korteks-M23 |
2016 | Korteks-M33 |
2018 | Korteks-M35P |
2020 | Korteks-M55 |
ARM Cortex-M ailesi, mikrodenetleyicilerde , ASIC'lerde , ASSP'lerde , FPGA'larda ve SoC'lerde kullanılmak üzere tasarlanmış ARM mikroişlemci çekirdekleridir . Cortex-M çekirdekleri yaygın olarak özel mikro denetleyici yongaları olarak kullanılır, ancak aynı zamanda güç yönetimi denetleyicileri, G/Ç denetleyicileri, sistem denetleyicileri, dokunmatik ekran denetleyicileri, akıllı pil denetleyicileri ve sensör denetleyicileri olarak SoC yongalarının içinde "gizlidir".
Cortex-A çekirdeğinden temel farkı, bellek yönetim biriminin (MMU) olmamasıdır . Tam teşekküllü bir işletim sistemi normalde bu işlemci sınıfında çalışmaz.
Geçmişte 8-bit mikrodenetleyiciler çok popüler olmasına rağmen, Cortex-M, düşük kaliteli Cortex-M çiplerinin fiyatları aşağı doğru hareket ettiğinden, 8-bit pazarında yavaş yavaş ufalanıyor. Cortex-M, 32-bit matematik işlemlerinden yararlanan ve ARM7 ve ARM9 gibi eski ARM çekirdeklerinin yerini alan uygulamalarda 8-bit yongaların popüler bir alternatifi haline geldi .
Lisans
Arm Holdings , kendi tasarımlarına göre CPU cihazları üretmez veya satmaz, bunun yerine işlemci mimarisini ilgili taraflara lisanslar. Arm, maliyet ve çıktılara göre değişen çeşitli lisans koşulları sunar. Arm, tüm lisans sahiplerine ARM çekirdeğinin entegre edilebilir bir donanım tanımının yanı sıra eksiksiz yazılım geliştirme araç seti ve ARM CPU'yu içeren üretilmiş silikon satma hakkı sağlar .
Silikon özelleştirme
Entegre Cihaz Üreticileri (IDM) ARM İşlemci almak IP olarak sentezlenebilir RTL (yazılmış Verilog ). Bu formda, mimari düzeyde optimizasyon ve uzantıları gerçekleştirme yeteneğine sahiptirler. Bu, üreticinin daha yüksek saat hızı, çok düşük güç tüketimi, komut seti uzantıları (kayan nokta dahil), boyut optimizasyonları, hata ayıklama desteği vb. gibi özel tasarım hedeflerine ulaşmasını sağlar. Belirli bir ARM'de hangi bileşenlerin bulunduğunu belirlemek için CPU çipi, üretici veri sayfasına ve ilgili belgelere bakın.
Cortex-M çekirdekleri için bazı silikon seçenekleri şunlardır:
- SysTick zamanlayıcı: Hem işlemcinin hem de İç İçe Vektörlü Kesme Denetleyicisinin (NVIC) işlevselliğini artıran 24 bitlik bir sistem zamanlayıcısı. Mevcut olduğunda, ayrıca yapılandırılabilir bir öncelik SysTick kesmesi sağlar. SysTick zamanlayıcı isteğe bağlı olsa da, onsuz bir Cortex-M mikro denetleyici bulmak çok nadirdir. Bir Cortex-M33 mikro denetleyicisinde Güvenlik Uzantısı seçeneği varsa, biri Güvenli ve biri Güvenli Olmayan olmak üzere iki SysTick'e sahiptir.
- Bit-Band: Bit-band bölgesindeki tek bir bitin üzerine tam bir bellek kelimesini eşler. Örneğin, bir takma ad sözcüğüne yazmak, bit bandı bölgesindeki ilgili biti ayarlayacak veya temizleyecektir. Bu, bit bandı bölgesindeki her bir bitin, kelime hizalı bir adresten doğrudan erişilebilir olmasını sağlar. Özellikle, bireysel bitler, komutların okuma-değiştirme-yazma sırası gerçekleştirilmeden C/C++'dan ayarlanabilir, temizlenebilir veya değiştirilebilir. Bit bandı isteğe bağlı olsa da, onsuz bir Cortex-M3 ve Cortex-M4 mikro denetleyici bulmak daha az yaygındır. Bazı Cortex-M0 ve Cortex-M0+ mikro denetleyicilerinde bit bandı bulunur.
- Bellek Koruma Birimi (MPU): Ayrıcalık ve erişim kurallarını zorlayarak bellek bölgelerinin korunması için destek sağlar. Her biri sekiz eşit büyüklükte alt bölgeye ayrılabilen sekiz adede kadar farklı bölgeyi destekler.
- Sıkıca Birleştirilmiş Bellek (TCM): Kritik rutinleri, verileri ve yığınları tutmak için kullanılan düşük gecikme süreli RAM. Önbellek dışında, genellikle mikrodenetleyicideki en hızlı RAM'dir.
kol çekirdeği | korteks M0 |
Korteks M0+ |
korteks M1 |
korteks M3 |
korteks M4 |
Korteks M7 |
Korteks M23 |
Korteks M33 |
Korteks M35P |
---|---|---|---|---|---|---|---|---|---|
SysTick 24-bit Zamanlayıcı | Opsiyonel (0,1) |
Opsiyonel (0,1) |
Opsiyonel (0,1) |
Evet (1) |
Evet (1) |
Evet (1) |
Opsiyonel (0,1,2) |
Evet (1,2) |
Evet (1,2) |
Tek döngülü G/Ç bağlantı noktası | Numara | İsteğe bağlı | Numara | Numara | Numara | Numara | İsteğe bağlı | Numara | Numara |
Bit Bantlı bellek | Numara | Numara | Numara* | İsteğe bağlı | İsteğe bağlı | İsteğe bağlı | Numara | Numara | Numara |
Bellek Koruma Birimi (MPU) |
Numara | Opsiyonel (0,8) |
Numara | Opsiyonel (0,8) |
Opsiyonel (0,8) |
Opsiyonel (0,8,16) |
Opsiyonel (0,4,8,12,16) |
Opsiyonel (0,4,8,12,16) |
Opsiyonel * |
Güvenlik İlişkilendirme Birimi (SAU) ve Yığın Sınırları |
Numara | Numara | Numara | Numara | Numara | Numara | Opsiyonel (0,4,8) |
Opsiyonel (0,4,8) |
Opsiyonel * |
talimat TCM | Numara | Numara | İsteğe bağlı | Numara | Numara | İsteğe bağlı | Numara | Numara | Numara |
Veri TCM'si | Numara | Numara | İsteğe bağlı | Numara | Numara | İsteğe bağlı | Numara | Numara | Numara |
Talimat Önbelleği | Numara | Numara | Numara | Numara | Numara | İsteğe bağlı | Numara | Numara | İsteğe bağlı |
Veri Önbelleği | Numara | Numara | Numara | Numara | Numara | İsteğe bağlı | Numara | Numara | Numara |
Vektör Tablo Ofset Kaydı (VTOR) |
Numara | Opsiyonel (0,1) |
Opsiyonel (0,1) |
Opsiyonel (0,1) |
Opsiyonel (0,1) |
Opsiyonel (0,1) |
Opsiyonel (0,1,2) |
Evet (1,2) |
Evet (1,2) |
- Not: Çoğu Cortex-M3 ve M4 yongası, bit bandına ve MPU'ya sahiptir. Bit-band seçeneği, Cortex-M Sistem Tasarım Kiti kullanılarak M0/M0+'a eklenebilir.
- Not: Yazılım, kullanmayı denemeden önce bir özelliğin varlığını doğrulamalıdır.
- Not: Teknik Referans Kılavuzu yayınlanana kadar Cortex-M35P için sınırlı genel bilgi mevcuttur .
Ek silikon seçenekleri:
- Veri endianness: Küçük endian veya büyük endian. Eski ARM çekirdeklerinden farklı olarak Cortex-M, bu seçeneklerden biri olarak kalıcı olarak silikona sabitlenmiştir.
- Kesintiler: 1 ila 32 (M0/M0+/M1), 1 ila 240 (M3/M4/M7/M23), 1 ila 480 (M33/M35P).
- Uyandırma kesinti denetleyicisi: İsteğe bağlı.
- Vektör Tablo Ofset Kaydı: Opsiyonel. (M0 için mevcut değildir).
- Talimat getirme genişliği: Yalnızca 16 bit veya çoğunlukla 32 bit.
- Kullanıcı/ayrıcalık desteği: İsteğe bağlı.
- Tüm kayıtları sıfırla: İsteğe bağlı.
- Tek döngülü G/Ç bağlantı noktası: İsteğe bağlı. (M0+/M23).
- Hata Ayıklama Erişim Bağlantı Noktası (DAP): Yok, SWD, JTAG ve SWD. (tüm Cortex-M çekirdekleri için isteğe bağlı)
- Hata ayıklama desteğinin durdurulması: İsteğe bağlı.
- İzleme noktası karşılaştırıcılarının sayısı: 0 ila 2 (M0/M0+/M1), 0 ila 4 (M3/M4/M7/M23/M33/M35P).
- Kesme noktası karşılaştırıcı sayısı: 0 ila 4 (M0/M0+/M1/M23), 0 ila 8 (M3/M4/M7/M33/M35P).
Komut setleri
Cortex-M0 / M0+ / M1, ARMv6-M mimarisini uygular, Cortex-M3, ARMv7-M mimarisini uygular , Cortex-M4 / Cortex-M7, ARMv7E-M mimarisini uygular , Cortex-M23 / M33 / M35P uygulaması ARMv8-M mimari ve Cortex-M55 uygular ARMv8.1-M mimarisi. Mimariler, ARMv6-M'den ARMv7-M'ye ve ARMv7E-M'ye kadar ikili komutlarla uyumludur. Cortex-M0 / Cortex-M0+ / Cortex-M1 için mevcut ikili talimatlar, Cortex-M3 / Cortex-M4 / Cortex-M7 üzerinde değişiklik yapılmadan yürütülebilir. Cortex-M3 için mevcut olan ikili komutlar, Cortex-M4 / Cortex-M7 / Cortex-M33 / Cortex-M35P üzerinde değişiklik yapılmadan yürütülebilir. Cortex-M mimarilerinde yalnızca Thumb-1 ve Thumb-2 komut setleri desteklenir; eski 32-bit ARM komut seti desteklenmez.
Tüm Cortex-M çekirdekleri, çoğu Thumb-1, bazı Thumb-2'den oluşan ve 32-bit sonuç çarpması dahil olmak üzere ortak bir talimat alt kümesini uygular. Cortex-M0 / Cortex-M0+ / Cortex-M1 / Cortex-M23, en küçük silikon kalıbı oluşturmak için tasarlandı, böylece Cortex-M ailesinin en az talimatına sahip oldu.
Cortex-M0 / M0+ / M1, ARMv7-M mimarisine eklenen yeni talimatlar (CBZ, CBNZ, IT) dışında Thumb-1 komutlarını içerir. Cortex-M0 / M0+ / M1, Thumb-2 talimatlarının (BL, DMB, DSB, ISB, MRS, MSR) küçük bir alt kümesini içerir. Cortex-M3 / M4 / M7 / M33 / M35P, tüm temel Thumb-1 ve Thumb-2 talimatlarına sahiptir. Cortex-M3, üç Thumb-1 talimatı, tüm Thumb-2 talimatları, donanım tamsayı bölme ve doygunluk aritmetik talimatları ekler . Cortex-M4, DSP talimatları ve isteğe bağlı tek duyarlıklı kayan nokta birimi (VFPv4-SP) ekler. Cortex-M7, isteğe bağlı bir çift duyarlıklı FPU (VFPv5) ekler. Cortex-M23 / M33, TrustZone talimatlarını ekler .
kol çekirdeği | korteks M0 |
Korteks M0+ |
korteks M1 |
korteks M3 |
korteks M4 |
Korteks M7 |
Korteks M23 |
Korteks M33 |
Korteks M35P |
Korteks M55 |
---|---|---|---|---|---|---|---|---|---|---|
ARM mimarisi | ARMv6-M | ARMv6-M | ARMv6-M | ARMv7-M | ARMv7E-M | ARMv7E-M | ARMv8-M Temel Çizgisi |
ARMv8-M Ana Hat |
ARMv8-M Ana Hat |
Armv8.1-M |
Bilgisayar Mimarisi | Von Neumann | Von Neumann | Von Neumann | Harvard | Harvard | Harvard | Von Neumann | Harvard | Harvard | Harvard |
talimat hattı | 3 aşama | 2 aşama | 3 aşama | 3 aşama | 3 aşama | 6 aşama | 2 aşama | 3 aşama | 3 aşama | 4 ila 5 aşama |
Başparmak-1 talimatları | Çoğu | Çoğu | Çoğu | Bütün | Bütün | Bütün | Çoğu | Bütün | Bütün | Bütün |
Başparmak-2 talimatları | Biraz | Biraz | Biraz | Bütün | Bütün | Bütün | Biraz | Bütün | Bütün | Bütün |
Çarpma talimatları 32x32 = 32 bit sonuç |
Evet | Evet | Evet | Evet | Evet | Evet | Evet | Evet | Evet | Evet |
Çarpma talimatları 32x32 = 64-bit sonuç |
Numara | Numara | Numara | Evet | Evet | Evet | Numara | Evet | Evet | Evet |
Komutları bölme 32/32 = 32 bit bölüm |
Numara | Numara | Numara | Evet | Evet | Evet | Evet | Evet | Evet | Evet |
Doymuş talimatlar | Numara | Numara | Numara | Biraz | Evet | Evet | Numara | Evet | Evet | Evet |
DSP talimatları | Numara | Numara | Numara | Numara | Evet | Evet | Numara | İsteğe bağlı | İsteğe bağlı | İsteğe bağlı |
Tek Hassasiyetli (SP) Kayan nokta talimatları |
Numara | Numara | Numara | Numara | İsteğe bağlı | İsteğe bağlı | Numara | İsteğe bağlı | İsteğe bağlı | İsteğe bağlı |
Çift Hassasiyetli (DP) Kayan nokta talimatları |
Numara | Numara | Numara | Numara | Numara | İsteğe bağlı | Numara | Numara | Numara | İsteğe bağlı |
Yarı Hassasiyet (HP) | Numara | Numara | Numara | Numara | Numara | Numara | Numara | Numara | Numara | İsteğe bağlı |
TrustZone talimatları | Numara | Numara | Numara | Numara | Numara | Numara | İsteğe bağlı | İsteğe bağlı | İsteğe bağlı | İsteğe bağlı |
Yardımcı işlemci talimatları | Numara | Numara | Numara | Numara | Numara | Numara | Numara | İsteğe bağlı | İsteğe bağlı | İsteğe bağlı |
helyum teknolojisi | Numara | Numara | Numara | Numara | Numara | Numara | Numara | Numara | Numara | İsteğe bağlı |
Kesinti gecikmesi (sıfır bekleme durumu RAM ise) |
16 döngü | 15 döngü | IRQ için NMI 26 için 23 |
12 döngü | 12 döngü | 12 döngü 14 en kötü durum |
15 güvenlik harici harici 27 güvenlik harici |
12 güvenlik harici ?? güvenlik dahili |
TBD | TBD |
- Not: Cortex-M0 / M0+ / M1, şu 16 bitlik Thumb-1 talimatlarını içermez: CBZ, CBNZ, IT.
- Not: Cortex-M0 / M0+ / M1 yalnızca şu 32-bit Thumb-2 talimatlarını içerir: BL, DMB, DSB, ISB, MRS, MSR.
- Not: Cortex-M0 / M0+ / M1 / M23, yalnızca 32 bitlik daha düşük bir sonuçla (32 bit × 32 bit = daha düşük 32 bit) 32 bit çarpma talimatlarına sahiptir, burada Cortex-M3 / M4 / M7 / M33 / M35P 64 bit sonuçlarla (32 bit × 32 bit = 64 bit) ek 32 bit çarpma talimatları içerir. Cortex-M4 / M7 (isteğe bağlı olarak M33 / M35P), (16bit × 16bit = 32bit), (32bit × 16bit = üst 32bit), (32bit × 32bit = üst 32bit) çarpmalar için DSP talimatlarını içerir.
- Not: Çarpma ve bölme talimatlarını tamamlamak için gereken döngü sayısı, ARM Cortex-M çekirdek tasarımları arasında değişiklik gösterir. Bazı çekirdekler, hızlı hız veya küçük boyut (yavaş hız) seçimi için bir silikon seçeneğine sahiptir, bu nedenle çekirdekler, daha yüksek döngü sayısının dezavantajı ile daha az silikon kullanma seçeneğine sahiptir. Bir bölme talimatının veya yavaş yinelemeli çarpma talimatının yürütülmesi sırasında meydana gelen bir kesinti, işlemcinin talimatı terk etmesine ve ardından kesme geri döndükten sonra yeniden başlatmasına neden olur.
- Çarpma talimatları "32 bit sonuç" – Cortex-M0/M0+/M23 1 veya 32 döngü silikon seçeneğidir, Cortex-M1 3 veya 33 döngü silikon seçeneğidir, Cortex-M3/M4/M7/M33/M35P 1 döngüdür.
- Çarpma talimatları "64 bit sonuç" – Cortex-M3 3–5 döngüdür (değerlere bağlı olarak), Cortex-M4/M7/M33/M35P 1 döngüdür.
- Bölme talimatları – Cortex-M3/M4, 2–12 döngüdür (değerlere bağlı olarak), Cortex-M7 3–20 döngüdür (değerlere bağlı olarak), Cortex-M23 17 veya 34 döngü seçeneğidir, Cortex-M33 2–11'dir döngüler (değerlere bağlı olarak), Cortex-M35P TBD'dir.
- Not: Korteks-M4 / M7 / M33 / M35P herhangi bir silikon seçenek bir seçim vardır FPU veya tek hassasiyetli ( SP ) FPU ve Cortex-M7 hem tek hem de hassas (SP) ve destek üçüncü bir silikon seçeneği ekler çift -hassasiyet ( DP ). Cortex-M4 / M7 / M33 / M35P'nin bir FPU'su varsa, o zaman Cortex-M4 F / Cortex-M7 F / Cortex-M33 F / Cortex-M35P F olarak bilinir .
- Not: Cortex-M serisi uyku modu için üç yeni 16-bit Thumb-1 talimatı içerir: SEV, WFE, WFI.
- Not: Kesinti gecikme döngüsü sayısı şunları varsaymaktadır: 1) sıfır bekleme durumundaki RAM'de bulunan yığın, 2) şu anda yürütülmeyen başka bir kesme işlevi, 3) Ek döngüler eklediğinden Güvenlik Uzantısı seçeneği mevcut değildir. Harvard bilgisayar mimarisine sahip Cortex-M çekirdekleri, Von Neumann bilgisayar mimarisine sahip Cortex-M çekirdeklerinden daha kısa bir kesinti gecikmesine sahiptir.
Grup | Instr bitleri |
Talimatlar | Korteks M0,M0+,M1 |
korteks M3 |
korteks M4 |
Korteks M7 |
Korteks M23 |
Korteks M33, M35P |
Korteks M55 |
---|---|---|---|---|---|---|---|---|---|
başparmak-1 | 16 | ADC, ADD, ADR, AND, ASR, B, BIC, BKPT, BLX, BX, CMN, CMP, CPS, EOR, LDM, LDR, LDRB, LDRH, LDRSB, LDRSH, LSL, LSR, MOV, MUL, MVN, NOP, ORR, POP, PUSH, REV, REV16, REVSH, ROR, RSB, SBC, SEV, STM, STR, STRB, STRH, SUB, SVC, SXTB, SXTH, TST, UXTB, UXTH, WFE, WFI, Verim | Evet | Evet | Evet | Evet | Evet | Evet | Evet |
başparmak-1 | 16 | CBNZ, CBZ | Numara | Evet | Evet | Evet | Evet | Evet | Evet |
başparmak-1 | 16 | O | Numara | Evet | Evet | Evet | Numara | Evet | Evet |
başparmak-2 | 32 | BL, DMB, DSB, ISB, MRS, MSR | Evet | Evet | Evet | Evet | Evet | Evet | Evet |
başparmak-2 | 32 | SDIV, UDIV | Numara | Evet | Evet | Evet | Evet | Evet | Evet |
başparmak-2 | 32 | ADC, ADD, ADR, VE, ASR, B, BFC, BFI, BIC, CDP, CLREX, CLZ , CMN, CMP, DBG, EOR, LDC, LDM, LDR, LDRB, LDRBT, LDRD, LDREX, LDREXB, LDREXH, LDRH, LDRHT, LDRSB, LDRSBT, LDRSH, LDRSHT, LDRT, LSL, LSR, MCR, MCRR, MLA, MLS, MOVT, MOVW, MRC, MRRC, MUL, MVN, NOP, ORN, ORR, PLD, PLDW, PLI, POP, PUSH, RBIT, REV, REV16, REVSH, ROR, RRX, RSB, SBC, SBFX, SEV, SMLAL, SMULL, SSAT, STC, STM, STR, STRB, STRBT, STRD, STREX, STREXB, STREXH, STRH, STRHT, STRT, SUB, SXTB, SXTH, TBB, TBH, TEQ, TST, UBFX, UMLAL, UMULL, USAT, UXTB, UXTH, WFE, WFI, Verim | Numara | Evet | Evet | Evet | Numara | Evet | Evet |
DSP | 32 | PKH, QADD, QADD16, QADD8, QASX, QDADD, QDSUB, QSAX, QSUB, QSUB16, QSUB8, SADD16, SADD8, SASX, SEL, SHADD16, SHADD8, SHASX, SHSAX, SHSUB16, SHSUB8, SMLABB, SMLABB, SMLAD, SMLALBB, SMLALBT, SMLALTB, SMLALTT, SMLALD, SMLAWB, SMLAWT, SMLSD, SMLSLD, SMMLA, SMMLS, SMMUL, SMUAD, SMULBB, SMULBT, SMULTT, SMULTB, SMULWT, SMULWB, SSUB, SSUB, SAT16, SSSM, SXTAB, SXTAB16, SXTAH, SXTB16, UADD16, UADD8, UASX, UHADD16, UHADD8, UHASX, UHSAX, UHSUB16, UHSUB8, UMAAL, UQADD16, UQADD8, UQASX, UQSAX, UQSUBDA, USAD8, UQSUB16, USAD8, USTSUB16 USUB8, UXTAB, UXTAB16, UXTAH, UXTB16 | Numara | Numara | Evet | Evet | Numara | İsteğe bağlı | Evet |
SP Şamandıra | 32 | VABS, VADD, VCMP, VCMPE, VCVT, VCVTR, VDIV, VLDM, VLDR, VMLA, VMLS, VMOV, VMRS, VMSR, VMUL, VNEG, VNMLA, VNMLS, VNMUL, VPOP, VPUSH, VSQRT, VSTMVS, UBVSTR, | Numara | Numara | İsteğe bağlı | İsteğe bağlı | Numara | İsteğe bağlı | İsteğe bağlı |
DP Şamandırası | 32 | VCVTA, VCVTM, VCVTN, VCVTP, VMAXNM, VMINNM, VRINTA, VRINTM, VRINTN, VRINTP, VRINTR, VRINTX, VRINTZ, VSEL | Numara | Numara | Numara | İsteğe bağlı | Numara | Numara | İsteğe bağlı |
TrustZone | 16 | BLXNS, BXNS | Numara | Numara | Numara | Numara | İsteğe bağlı | İsteğe bağlı | İsteğe bağlı |
TrustZone | 32 | SG, TT, TTT, TTA, TTAT | Numara | Numara | Numara | Numara | İsteğe bağlı | İsteğe bağlı | İsteğe bağlı |
yardımcı işlemci | 16 | CDP, CDP2, MCR, MCR2, MCRR, MCRR2, MRC, MRC2, MRRC, MRRC2 | Numara | Numara | Numara | Numara | Numara | İsteğe bağlı | İsteğe bağlı |
- Not: MOVW, 32 bit "geniş" MOV talimatı anlamına gelen bir takma addır.
- Not: Cortex-M1 için WFE / WFI / SEV talimatları mevcuttur, ancak bir NOP talimatı olarak yürütülür.
- Not: Tek hassasiyetli (SP) FPU talimatları, Cortex-M4 / M7 / M33 / M35P'de yalnızca silikonda SP FPU seçeneği mevcut olduğunda geçerlidir.
- Not: Çift duyarlıklı (DP) FPU talimatları, Cortex-M7'de yalnızca silikonda DP FPU seçeneği mevcut olduğunda geçerlidir.
kullanımdan kaldırmalar
ARM Cortex-M serisi için ARM mimarisi, eski çekirdeklerden bazı özellikleri kaldırdı:
- 32-bit ARM komut seti, Cortex-M çekirdeklerine dahil değildir.
- Endianness, Cortex-M çekirdeklerinde silikon uygulamasında seçilir. Eski çekirdekler, veri endian modunun "anında" değiştirilmesine izin verdi .
- Yardımcı işlemci , ARM Cortex-M33/M35P çekirdekleri için "ARMv8-M Mainline"da silikon seçeneği yeniden sunulana kadar Cortex-M çekirdeklerinde desteklenmedi.
32-bit ARM komut setinin yetenekleri, Thumb-1 ve Thumb-2 komut setleri tarafından birçok şekilde çoğaltılır, ancak bazı ARM özellikleri benzer bir özelliğe sahip değildir:
- SWP ve SWPB (takas) ARM komutları Cortex-M'de benzer bir özelliğe sahip değildir.
16 bitlik Thumb-1 komut seti, ARMv4T mimarisi ile eski ARM7T çekirdeklerinde ilk kez piyasaya sürülmesinden bu yana zaman içinde gelişti . Her eski ARMv5 / ARMv6 / ARMv6T2 mimarisi yayınlandıkça yeni Thumb-1 talimatları eklendi. Bazı 16-bit Thumb-1 komutları Cortex-M çekirdeklerinden kaldırıldı:
- Thumb-1'den ARM komut setine geçmek için kullanıldığından "BLX <immediate>" komutu mevcut değil. "BLX <register>" talimatı Cortex-M'de hala mevcuttur.
- SETEND mevcut değil çünkü veri endian modunun anında geçişi artık desteklenmiyor.
- Yardımcı işlemci talimatları, ARM Cortex-M33/M35P çekirdekleri için "ARMv8-M Mainline"da silikon seçeneği yeniden sunulana kadar Cortex-M çekirdeklerinde desteklenmedi.
- Komut ikili kodlaması aynı olmasına rağmen, SWI komutu SVC olarak yeniden adlandırıldı. Ancak, istisna modellerindeki değişiklikler nedeniyle SVC işleyici kodu SWI işleyici kodundan farklıdır.
Korteks-M0
Mimari ve sınıflandırma | |
---|---|
mikromimari | ARMv6-M |
Komut seti |
Thumb-1 (çoğu), Thumb-2 (bazıları) |
Cortex-M0 çekirdeği, küçük silikon kalıp boyutu ve en düşük fiyatlı yongalarda kullanım için optimize edilmiştir.
Cortex-M0 çekirdeğinin temel özellikleri şunlardır:
- ARMv6-M mimarisi
- 3 aşamalı boru hattı
- Komut setleri:
- Thumb-1 (çoğu), eksik CBZ, CBNZ, IT
- Thumb-2 (bazıları), yalnızca BL, DMB, DSB, ISB, MRS, MSR
- 32 bit donanım tamsayısının 32 bit sonuçla çarpması
- 1 ila 32 kesme artı NMI
Silikon seçenekleri:
- Donanım tamsayı çarpma hızı: 1 veya 32 döngü.
cips
Aşağıdaki mikrodenetleyiciler Cortex-M0 çekirdeğini temel alır:
- YUKARIDA AC30M1x64
- Cypress PSoC 4000, 4100, 4100M, 4200, 4200DS, 4200L, 4200M
- Infineon XMC1100 , XMC1200, XMC1300, XMC1400, TLE984x
- İletişim kutusu DA1458x, DA1468x
- İskandinav nRF51
- NXP LPC1100 , LPC1200
- Nuvoton NuMicro
- Sonix SN32F700
- ST STM32 F0
- Toshiba TX00
- Vorago VA10800 (aşırı sıcaklık), VA10820 (radyasyonla sertleştirilmiş)
Aşağıdaki yongalar, ikincil çekirdek olarak bir Cortex-M0'a sahiptir:
- NXP LPC4300 (bir Cortex-M4F + bir Cortex-M0)
- Texas Instruments SimpleLink Kablosuz MCU'lar CC1310 ve CC2650 (bir programlanabilir Cortex-M3 + bir Cortex-M0 ağ işlemcisi + bir tescilli Sensör Kontrol Motoru)
Korteks-M0+
Mimari ve sınıflandırma | |
---|---|
mikromimari | ARMv6-M |
Komut seti |
Thumb-1 (çoğu) , Thumb-2 (bazıları) |
Cortex-M0+, Cortex-M0'ın optimize edilmiş bir üst kümesidir. Cortex-M0+, Cortex-M0 ile tam komut seti uyumluluğuna sahiptir, böylece aynı derleyici ve hata ayıklama araçlarının kullanımına izin verir. Cortex-M0+ boru hattı, güç kullanımını azaltan 3 aşamadan 2 aşamaya düşürüldü. Mevcut Cortex-M0'daki hata ayıklama özelliklerine ek olarak, Cortex-M0+'a, basit bir talimat izleme arabelleği sağlayan Micro Trace Buffer (MTB) adı verilen bir silikon seçeneği eklenebilir. Cortex-M0+ ayrıca, bellek koruma birimi (MPU) ve vektör tablosu yer değiştirme gibi silikon seçenekleri olarak eklenebilen Cortex-M3 ve Cortex-M4 özelliklerini de aldı .
Cortex-M0+ çekirdeğinin temel özellikleri şunlardır:
- ARMv6-M mimarisi
- 2 aşamalı boru hattı (Cortex-M0'dan bir tane daha az)
- Komut setleri: (Cortex-M0 ile aynı)
- Thumb-1 (çoğu), eksik CBZ, CBNZ, IT
- Thumb-2 (bazıları), yalnızca BL, DMB, DSB, ISB, MRS, MSR
- 32 bit donanım tamsayısının 32 bit sonuçla çarpması
- 1 ila 32 kesme artı NMI
Silikon seçenekleri:
- Donanım tamsayı çarpma hızı: 1 veya 32 döngü
- 8 bölgeli bellek koruma birimi (MPU) (M3 ve M4 ile aynı)
- Vektör tablosunun yer değiştirmesi (M3, M4 ile aynı)
- Tek döngülü G/Ç bağlantı noktası (M0+/M23'te mevcuttur)
- Mikro İz Tamponu (MTB) (M0+/M23/M33/M35P'de mevcuttur)
cips
Aşağıdaki mikrodenetleyiciler Cortex-M0+ çekirdeğini temel alır:
- ABOV Yarı İletken A31G11x, A31G12x, A31G314
- Cypress PSoC 4000S, 4100S, 4100S+, 4100PS, 4700S, FM0+
- Epson S1C31W74, S1C31D01, S1C31D50
- Holtek HT32F52000
- Mikroçip (Atmel) SAM C2, D0, D1, D2, DA, L2, R2, R3
- NXP LPC800 , LPC11E60, LPC11U60
- NXP ( Freescale ) kinetis E, EA, L, M, V1, W0
- Raspberry Pi RP2040 (iki M0+ çekirdek)
- Renesas S124, S128, RE, RE01
- Silikon Laboratuvarları ( Energy Micro ) EFM32 Zero, Mutlu
- ST STM32 L0 , G0
Aşağıdaki yongalarda ikincil çekirdek olarak bir Cortex-M0+ bulunur:
En küçük ARM mikro denetleyicileri Cortex-M0+ tipindedir (2014 itibariyle, 1,6 mm'ye 2 mm'lik en küçük Kinetis KL03'tür).
21 Haziran 2018'de, Michigan Üniversitesi araştırmacıları tarafından 2018 Sempozyumu'nda ARM Cortex-M0+ tabanlı (ve RAM ve kablosuz vericiler ve fotovoltaik tabanlı alıcılar dahil) " dünyanın en küçük bilgisayarı " veya bilgisayar cihazı duyuruldu . VLSI Teknolojisi ve Devreleri, " Entegre Cortex-M0+ İşlemcili ve Hücresel Sıcaklık Ölçümü için Optik İletişimli 0.04mm 3 16nW Kablosuz ve Pilsiz Sensör Sistemi." Cihaz, IBM'in daha önce iddia edilen dünya rekoru büyüklüğündeki bilgisayarının, bir tuz tanesinden daha küçük olan, Mart 2018'de aylar öncesinden 1/10'u büyüklüğünde.
Korteks-M1
Mimari ve sınıflandırma | |
---|---|
mikromimari | ARMv6-M |
Komut seti |
Thumb-1 (çoğu) , Thumb-2 (bazıları) |
Cortex-M1, özellikle FPGA yongalarına yüklenmek üzere tasarlanmış optimize edilmiş bir çekirdektir .
Cortex-M1 çekirdeğinin temel özellikleri şunlardır:
- ARMv6-M mimarisi
- 3 aşamalı boru hattı .
- Komut setleri:
- Thumb-1 (çoğu), eksik CBZ, CBNZ, IT.
- Thumb-2 (bazıları), yalnızca BL, DMB, DSB, ISB, MRS, MSR.
- 32 bit donanım tamsayı, 32 bit sonuçla çarpılır.
- 1 ila 32 kesme artı NMI .
Silikon seçenekleri:
- Donanım tamsayı çarpma hızı: 3 veya 33 döngü.
- İsteğe Bağlı Sıkı Bağlantılı Bellek (TCM): 0 ila 1 MB talimat-TCM, 0 ila 1 MB veri-TCM, her biri isteğe bağlı ECC'ye sahiptir.
- Harici kesmeler: 0, 1, 8, 16, 32.
- Hata ayıklama: yok, azaltılmış, dolu.
- Veri endianness: küçük endian veya BE-8 büyük endian.
- OS uzantısı: var veya yok.
cips
Aşağıdaki satıcılar, FPGA yongalarında Cortex-M1'i yumuşak çekirdekler olarak desteklemektedir:
- Altera Siklon-II, Siklon-III, Stratix-II, Stratix-III
- GOWIN M1
- Actel / Microsemi / Microchip Fusion, IGLOO/e, ProASIC3L, ProASIC3/E
- Xilinx Spartan-3, Virtex-2, Virtex-3, Virtex-4, Artix-7
Korteks-M3
Mimari ve sınıflandırma | |
---|---|
mikromimari | ARMv7-M |
Komut seti |
Thumb-1 , Thumb-2 , Doymuş (bazıları), Böl |
Cortex-M3 çekirdeğinin temel özellikleri şunlardır:
- ARMv7-M mimarisi
- 3 aşamalı boru hattı ile şube spekülasyon .
- Komut setleri:
- Başparmak-1 (tamamı).
- Başparmak-2 (tamamı).
- 32 bit donanım tamsayısının 32 bit veya 64 bit sonuçla çarpımı, işaretli veya işaretsiz, çarpma işleminden sonra toplama veya çıkarma. 32 bit çarpma 1 döngüdür, ancak 64 bit çarpma ve MAC talimatları ekstra döngü gerektirir.
- 32 bit donanım tamsayı bölme (2–12 döngü).
- doygunluk aritmetik desteği.
- 1 ila 240 kesme artı NMI .
- 12 döngü kesinti gecikmesi.
- Entegre uyku modları.
Silikon seçenekleri:
- Opsiyonel Bellek Koruma Birimi (MPU): 0 veya 8 bölge.
cips
Aşağıdaki mikrodenetleyiciler Cortex-M3 çekirdeğini temel alır:
- YUKARIDA AC33Mx128, AC33Mx064
- Actel / Microsemi / Microchip SmartFusion, SmartFusion 2 (FPGA)
- Analog Cihazlar ADUCM360, ADUCM361, ADUCM3029
- Broadcom Wi-Fi Çip BCM4319XKUBG
- Selvi PSoC 5000, 5000LP, FM3
- Holtek HT32F
- Infineon TLE9860, TLE987x
- Mikroçip (Atmel) SAM 3A, 3N, 3S, 3U, 3X
- NXP LPC1300 , LPC1700 , LPC1800
- ON Yarı İletken Q32M210
- Realtek RTL8710
- Silikon Laboratuvarları Hassasiyeti32
- Silikon Laboratuvarları ( Energy Micro ) EFM32 Tiny, Gecko, Leopard, Giant
- ST STM32 F1, F2, L1, W
- TDK-Micronas HVC4223F
- Texas Instruments F28, LM3, TMS470, OMAP 4 , SimpleLink Kablosuz MCU'lar (CC1310 Alt GHz ve CC2650 BLE + ZigBee + 6LoWPAN )
- Toshiba TX03
Aşağıdaki yongalarda ikincil çekirdek olarak bir Cortex-M3 bulunur:
- Apple A9 (entegre M9 hareket yardımcı işlemcisi olarak Cortex-M3 )
- CSR Quatro 5300 (yardımcı işlemci olarak Cortex-M3)
- Samsung Exynos 7420 ( DVS mikro denetleyici olarak Cortex-M3 )
- Texas Instruments F28, LM3, TMS470, OMAP 4470 (bir Cortex-A9 + iki Cortex-M3)
- XMOS XS1-XA (yedi xCORE + bir Cortex-M3)
Aşağıdaki FPGA'lar bir Cortex-M3 çekirdeği içerir:
- Microsemi SmartFusion2 SoC
Aşağıdaki satıcılar, FPGA yongalarında Cortex-M3'ü yumuşak çekirdekler olarak desteklemektedir:
- Altera Siklon-II, Siklon-III, Stratix-II, Stratix-III
- Xilinx Spartan-3, Virtex-2, Virtex-3, Virtex-4, Artix-7
Korteks-M4
Mimari ve sınıflandırma | |
---|---|
mikromimari | ARMv7E-M |
Komut seti |
Thumb-1 , Thumb-2 , Doymuş , DSP , Böl, FPU (SP) |
Kavramsal olarak Cortex-M4, bir Cortex-M3 artı DSP talimatları ve isteğe bağlı kayan nokta birimidir (FPU). FPU'lu bir çekirdek Cortex-M4F olarak bilinir.
Cortex-M4 çekirdeğinin temel özellikleri şunlardır:
- ARMv7E-M mimarisi
- 3 aşamalı boru hattı ile şube spekülasyon .
- Komut setleri:
- Başparmak-1 (tamamı).
- Başparmak-2 (tamamı).
- 32 bit donanım tamsayı, 32 bit veya 64 bit sonuçla çarpılır, işaretli veya işaretsiz, çarpma işleminden sonra toplama veya çıkarma. 32-bit Çarpma ve MAC 1 döngüdür.
- 32 bit donanım tamsayı bölme (2–12 döngü).
- Doygunluk aritmetik desteği.
- DSP uzantısı: Tek döngülü 16/32 bit MAC , tek döngülü çift 16 bit MAC, 8/16 bit SIMD aritmetiği.
- 1 ila 240 kesme artı NMI .
- 12 döngü kesinti gecikmesi.
- Entegre uyku modları.
Silikon seçenekleri:
- İsteğe bağlı kayan nokta birimi (FPU): yalnızca tek duyarlıklı IEEE-754 uyumlu. FPv4-SP uzantısı olarak adlandırılır.
- İsteğe bağlı bellek koruma birimi (MPU): 0 veya 8 bölge.
cips
Aşağıdaki mikrodenetleyiciler Cortex-M4 çekirdeğine dayanmaktadır:
- Analog Cihazlar ADSP-CM40x
- Mikroçip (Atmel) SAM 4L, 4N, 4S
- NXP ( Freescale ) kinetis K, W2
- Texas Instruments SimpleLink Wi-Fi CC32xx, CC32xxMOD
Aşağıdaki mikrodenetleyiciler, Cortex-M4F (M4 + FPU ) çekirdeğini temel alır:
- Analog Cihazlar ADUCM4050
- Cypress 6200 (bir Cortex-M4F + bir Cortex-M0+), FM4
- Infineon XMC4000
- Maksim Darwin
- Mikroçip (Atmel) SAM4C (Çift çekirdek: bir Cortex-M4F + bir Cortex-M4), SAM4E, SAMG5, SAMD5/E5x
- İskandinav nRF52
- Nuvoton NuMicro M480
- NXP LPC4000 , LPC4300 (bir Cortex-M4F + bir Cortex-M0), LPC54000
- NXP ( Freescale ) kinetis K, V3 V4
- Renesas S3, S5, S7, RA4, RA6
- Silikon Laboratuvarları ( Energy Micro ) EFM32 Wonder
- ST STM32 F3, F4, L4, L4+, WB (bir Cortex-M4F + bir Cortex-M0+)
- Texas Instruments LM4F, TM4C, MSP432 , CC13x2R, CC1352P, CC26x2R
- Toshiba TX04
Aşağıdaki yongalar, ikincil çekirdek olarak bir Cortex-M4 veya M4F'ye sahiptir:
- NXP ( Freescale ) Vybrid VF6 (bir Cortex-A5 + bir Cortex-M4F)
- NXP ( Freescale ) i.MX 6 SoloX (bir Cortex-A9 + bir Cortex-M4F)
- NXP ( Freescale ) i.MX 7 Solo/Dual (bir veya iki Cortex-A7 + bir Cortex-M4F)
- NXP ( Freescale ) i.MX 8 (iki Cortex-A72 + dört Cortex-A53 + iki Cortex-M4F)
- NXP ( Freescale ) i.MX 8M ve 8M Mini (dört Cortex-A53 + bir Cortex-M4F)
- NXP ( Freescale ) i.MX 8X (dört Cortex-A35 + bir Cortex-M4F)
- ST STM32MP1 (bir veya iki Cortex-A7 + bir Cortex-M4)
- Texas Instruments OMAP 5 (iki Cortex-A15s + iki Cortex-M4)
- Texas Instruments Sitara AM5700 ( görüntü işleme birimleri olarak bir veya iki Cortex-A15s + iki Cortex-M4 + genel amaçlı birimler olarak iki Cortex-M4)
Korteks-M7
Mimari ve sınıflandırma | |
---|---|
mikromimari | ARMv7E-M |
Komut seti |
Thumb-1 , Thumb-2 , Doymuş , DSP , Böl, FPU (SP & DP) |
Cortex-M7, eski Cortex-M4'ün neredeyse iki katı güç verimliliğine sahip yüksek performanslı bir çekirdektir. Dallanma tahmini ile 6 aşamalı süperskalar boru hattına ve tek duyarlıklı ve isteğe bağlı olarak çift duyarlıklı işlemler yapabilen isteğe bağlı bir kayan nokta birimine sahiptir . Talimat ve veri yolları, önceki 32-bit veri yollarına göre 64-bit genişliğe genişletildi. Bir çekirdek bir FPU içeriyorsa, Cortex-M7F olarak bilinir, aksi takdirde bir Cortex-M7'dir.
Cortex-M7 çekirdeğinin temel özellikleri şunlardır:
- ARMv7E-M mimarisi.
- 6 kademeli boru hattı ile şube spekülasyon . Tüm ARM Cortex-M çekirdeklerinin en uzunu.
- Komut setleri:
- Başparmak-1 (tamamı).
- Başparmak-2 (tamamı).
- 32 bit donanım tamsayı, 32 bit veya 64 bit sonuçla çarpılır, işaretli veya işaretsiz, çarpma işleminden sonra toplama veya çıkarma. 32-bit Çarpma ve MAC 1 döngüdür.
- 32 bit donanım tamsayı bölme (2–12 döngü).
- Doygunluk aritmetik desteği.
- DSP uzantısı: Tek döngülü 16/32 bit MAC , tek döngülü çift 16 bit MAC, 8/16 bit SIMD aritmetiği.
- 1 ila 240 kesme artı NMI .
- 12 döngü kesinti gecikmesi.
- Entegre uyku modları.
Silikon seçenekleri:
- İsteğe bağlı kayan nokta birimi (FPU): (tek kesinlik) veya (tek ve çift kesinlik), her ikisi de IEEE-754-2008 uyumlu. FPv5 uzantısı olarak adlandırılır.
- İsteğe bağlı CPU önbelleği : 0 ila 64 KB talimat önbelleği, 0 ila 64 KB veri önbelleği, her biri isteğe bağlı ECC'ye sahiptir .
- İsteğe Bağlı Sıkı Bağlantılı Bellek (TCM): 0 ila 16 MB talimat-TCM, 0 ila 16 MB veri-TCM, her biri isteğe bağlı ECC'ye sahiptir.
- Opsiyonel Bellek Koruma Birimi (MPU): 8 veya 16 bölge.
- İsteğe Bağlı Gömülü İzleme Makro Hücresi (ETM): yalnızca talimat veya talimat ve veriler.
- Uyku Modları için Opsiyonel Tutma Modu (Kol Gücü Yönetim Kiti ile).
cips
Aşağıdaki mikrodenetleyiciler Cortex-M7 çekirdeğini temel alır:
Korteks-M23
Mimari ve sınıflandırma | |
---|---|
mikromimari | ARMv8-M Temel Çizgisi |
Komut seti |
Thumb-1 (çoğu) , Thumb-2 (bazıları) , Divide, TrustZone |
Cortex-M23 çekirdeği Ekim 2016'da duyuruldu ve daha önce Kasım 2015'te duyurulan daha yeni ARMv8-M mimarisine dayanıyordu . Kavramsal olarak Cortex-M23, Cortex-M0+ plus tamsayı bölme talimatlarına ve TrustZone güvenlik özelliklerine benzer ve ayrıca 2 aşamalı bir talimat hattına sahiptir .
Cortex-M23 çekirdeğinin temel özellikleri şunlardır:
- ARMv8-M Temel mimari.
- 2 aşamalı boru hattı. (Cortex-M0+'a benzer)
- TrustZone güvenlik talimatları. (yalnızca M23/M33/M35P'de mevcuttur)
- 32 bit donanım tamsayı bölme (17 veya 34 döngü). (M0/M0+/M1'de mevcut değildir) (diğer tüm çekirdeklerde bölme işleminden daha yavaştır)
- Yığın sınırı sınırları. (yalnızca SAU seçeneğiyle mevcuttur) (M23/M33/M35P'de mevcuttur)
Silikon seçenekleri:
- Donanım tamsayı çarpma hızı: 1 veya 32 döngü.
- Donanım tamsayı bölme hızı: maksimum 17 veya 34 döngü. Bölene bağlı olarak, talimat daha az döngüde tamamlanabilir.
- Opsiyonel Bellek Koruma Birimi (MPU): 0, 4, 8, 12, 16 bölge.
- Opsiyonel Güvenlik Atıf Birimi (SAU): 0, 4, 8 bölge.
- Tek döngülü G/Ç bağlantı noktası (M0+/M23'te mevcuttur).
- Mikro İz Tamponu (MTB) (M0+/M23/M33/M35P'de mevcuttur).
cips
Aşağıdaki mikrodenetleyiciler Cortex-M23 çekirdeğini temel alır:
- GigaDevice GD32E230
- Mikroçip SAM L10, L11
- Nuvoton M2351
- Renesas S1JA, RA2A1
Korteks-M33
Mimari ve sınıflandırma | |
---|---|
mikromimari | ARMv8-M Ana Hat |
Komut seti |
Thumb-1 , Thumb-2 , Doymuş , DSP , Divide, FPU (SP), TrustZone , Yardımcı işlemci |
Cortex-M33 çekirdeği Ekim 2016'da duyuruldu ve daha önce Kasım 2015'te duyurulan daha yeni ARMv8-M mimarisine dayanıyordu . Kavramsal olarak Cortex-M33, Cortex-M4 ve Cortex- M23'ün bir geçişine benzer ve ayrıca bir 3 aşamalı talimat boru hattı .
Cortex-M33 çekirdeğinin temel özellikleri şunlardır:
- ARMv8-M Ana hat mimarisi.
- 3 kademeli boru hattı.
- TrustZone güvenlik talimatları. (yalnızca M23/M33/M35P'de mevcuttur)
- 32-bit donanım tamsayı bölme (maksimum 11 döngü). (M0/M0+/M1'de mevcut değildir)
- Yığın sınırı sınırları. (yalnızca SAU seçeneğiyle mevcuttur) (M23/M33/M35P'de mevcuttur)
Silikon seçenekleri:
- İsteğe Bağlı Kayan Nokta Birimi (FPU): yalnızca tek duyarlıklı IEEE-754 uyumlu. FPv5 uzantısı olarak adlandırılır.
- Opsiyonel Bellek Koruma Birimi (MPU): 0, 4, 8, 12, 16 bölge.
- Opsiyonel Güvenlik Atıf Birimi (SAU): 0, 4, 8 bölge.
- Mikro İz Tamponu (MTB) (M0+/M23/M33/M35P'de mevcuttur).
cips
Aşağıdaki mikrodenetleyiciler Cortex-M33 çekirdeğini temel alır:
- Analog Cihazlar ADUCM410, ADUCM420
- İletişim kutusu DA1469x
- GigaDevice GD32E50x
- İskandinav nRF91, nRF5340
- NXP LPC5500, i.MX RT600
- Renesas RA6
- ST STM32 L5, U5
- Silikon Laboratuvarları Kablosuz Gecko Serisi 2
Korteks-M35P
Mimari ve sınıflandırma | |
---|---|
mikromimari | ARMv8-M Ana Hat |
Komut seti |
Thumb-1 , Thumb-2 , Doymuş , DSP , Divide, FPU (SP), TrustZone , Yardımcı işlemci |
Cortex-M35P çekirdeği, Mayıs 2018'de duyuruldu. Bu, kavramsal olarak yeni bir talimat önbelleğine, ayrıca ARM SecurCore ailesinden ödünç alınan yeni kurcalamaya karşı dayanıklı donanım konseptlerine ve yapılandırılabilir eşlik ve ECC özelliklerine sahip bir Cortex-M33 çekirdeğidir.
Teknik Referans Kılavuzu yayınlanana kadar Cortex-M35P için sınırlı genel bilgi mevcuttur .
cips
Aşağıdaki mikrodenetleyiciler Cortex-M35P çekirdeğini temel alır:
- Temmuz 2021 itibariyle herhangi bir çip duyurusu yapılmadı.
Korteks-M55
Mimari ve sınıflandırma | |
---|---|
mikromimari | ARMv8.1-M Ana Hat Helyum |
Komut seti |
Thumb-1 , Thumb-2 , Doymuş , DSP , Divide, FPU (VFPv5), TrustZone , Yardımcı İşlemci , MVE |
Cortex-M55 çekirdeği Şubat 2020'de duyuruldu ve daha önce Şubat 2019'da duyurulan Armv8.1-M mimarisini temel alıyor. Ayrıca 4 aşamalı bir talimat hattına sahip.
Cortex-M55 çekirdeğinin temel özellikleri şunları içerir:
- ARMv8.1-M Ana Hat/Helyum mimarisi.
- 4 aşamalı boru hattı.
- Yığın sınırı sınırları (yalnızca SAU seçeneğiyle kullanılabilir).
Silikon seçenekleri:
- Helyum (M-Profil Vektör Uzantısı, MVE)
- Tek Hassasiyetli ve Çift Hassasiyetli kayan nokta
- Dijital Sinyal İşleme (DSP) uzantısı desteği
- TrustZone güvenlik uzantısı desteği
- Güvenlik ve güvenilirlik (RAS) desteği
- Yardımcı işlemci desteği
- 0, 4, 8, 12 veya 16 bölgeli Güvenli ve Güvenli Olmayan MPU
- 0, 4 veya 8 bölgeli SAU
- 4KB, 8KB, 16KB, 32KB, 64KB boyutunda talimat önbelleği
- 4KB, 8KB, 16KB, 32KB, 64KB boyutunda veri önbelleği
- Önbelleklerde ve TCM'lerde ECC
- 1-480 kesinti
- 3-8 istisna öncelik biti
- Dahili ve harici WIC seçenekleri, isteğe bağlı CTI, ITM ve DWT
- ARM Özel Talimatları (gelecekteki bir sürümde mevcuttur)
cips
- Eylül 2021 itibariyle herhangi bir cips açıklanmadı.
Geliştirme araçları
belgeler
ARM yongaları için belgeler kapsamlıdır. Geçmişte, 8-bit mikrodenetleyici belgeleri tipik olarak tek bir belgeye sığardı, ancak mikrodenetleyiciler geliştikçe onları desteklemek için gereken her şey de gelişti. ARM yongaları için bir belge paketi, tipik olarak, IC üreticisinin yanı sıra CPU çekirdek satıcısından ( Arm Holdings ) gelen bir belge koleksiyonundan oluşur .
Tipik bir yukarıdan aşağıya dokümantasyon ağacı:
- Dokümantasyon ağacı (yukarıdan aşağıya)
- IC üreticisi web sitesi.
- IC üreticisi pazarlama slaytları.
- Tam fiziksel çip için IC üretici veri sayfası.
- Bir fiziksel çip ailesinin ortak çevre birimlerini ve özelliklerini açıklayan IC üreticisi referans kılavuzu.
- ARM çekirdek web sitesi.
- ARM core genel kullanım kılavuzu.
- ARM çekirdek teknik referans kılavuzu.
- ARM mimarisi referans kılavuzu.
IC üreticileri, değerlendirme panosu kullanıcı kılavuzları, uygulama notları, başlangıç kılavuzları, yazılım kitaplığı belgeleri, hatalar ve daha fazlası gibi ek belgelere sahiptir. Resmi Arm belgelerine bağlantılar için Dış bağlantılar bölümüne bakın .
Ayrıca bakınız
- ARM mimarisi
- ARM mimarileri ve çekirdeklerinin listesi
- JTAG , SWD
- Interrupt , Interrupt işleyicisi
- Gerçek zamanlı işletim sistemi , Gerçek zamanlı işletim sistemlerinin karşılaştırılması
Referanslar
daha fazla okuma
- Assembly Dili ve C'de ARM Cortex-M Mikrodenetleyicileri ile Gömülü Sistemler ; 3. Baskı; Yifeng Zhu; 738 sayfa; 2017; ISBN 978-0982692660 .
- Cortex-M İşlemci Ailesi için Tasarımcı Kılavuzu ; 2. Baskı; Trevor Martin; 490 sayfa; 2016; ISBN 978-0081006290 .
- Gömülü Uygulamalar için ARM Montajı ; 3. Baskı; Daniel Lewis; 318 sayfa; 2017; ISBN 978-1543908046 .
- ARM Cortex-M0 ve Cortex-M0+ İşlemciler için Kesin Kılavuz ; 2. Baskı; Joseph Yiu; 784 sayfa; 2015; ISBN 978-0128032770 .
- ARM Cortex-M3 ve Cortex-M4 İşlemciler için Kesin Kılavuz ; 3. Baskı; Joseph Yiu; 600 sayfa; 2013; ISBN 978-0124080829 .
- ARM Cortex-M4 ile Sayısal Sinyal İşleme ve Uygulamaları ; 1. Baskı; Donald Reay; 250 sayfa; 2014; ISBN 978-1118859049 .
- Gömülü Sistemler: ARM Cortex-M Mikrodenetleyicilerine Giriş ; 5. Baskı; Jonathan Valvano; 506 sayfa; 2012; ISBN 978-1477508992 .
- Assembly Dili Programlama: ARM Cortex-M3 ; 1. Baskı; Vincent Mahout; 256 sayfa; 2012; ISBN 978-1848213296 .
Dış bağlantılar
- ARM Cortex-M resmi belgeleri
- ARM Cortex-M resmi web sitesi
- Yeni Başlayanlar için Cortex-M – arm.com
- ARMv8-M Güvenlik Uzantıları – arm.com
- Cortex Mikrodenetleyici Yazılım Arayüzü Standardı (CMSIS) – arm.com
kol
çekirdeğibit
genişliğiARM
web sitesiARM genel
kullanım kılavuzuARM teknik
referans kılavuzuARM mimarisi
referans kılavuzuKorteks-M0 32 Bağlantı Bağlantı Bağlantı ARMv6-M Korteks-M0+ 32 Bağlantı Bağlantı Bağlantı ARMv6-M Korteks-M1 32 Bağlantı Bağlantı Bağlantı ARMv6-M Korteks-M3 32 Bağlantı Bağlantı Bağlantı ARMv7-M Korteks-M4 32 Bağlantı Bağlantı Bağlantı ARMv7E-M Korteks-M7 32 Bağlantı Bağlantı Bağlantı ARMv7E-M Korteks-M23 32 Bağlantı Bağlantı Bağlantı ARMv8-M Korteks-M33 32 Bağlantı Bağlantı Bağlantı ARMv8-M Korteks-M35P 32 Bağlantı TBD TBD ARMv8-M Korteks-M55 32 Bağlantı TBD TBD ARMv8.1-M
- Hızlı referans kartları
- Talimatlar: Thumb-1 ( 1 ), ARM ve Thumb-2 ( 2 ), Vector Floating-Point ( 3 ) – arm.com
- Opkodlar: Thumb-1 ( 1 , 2 ), ARM ( 3 , 4 ), GNU Assembler Direktifleri ( 5 ).
- Taşıma
- 8051'den Cortex-M3'e geçiş – arm.com
- PIC'den Cortex-M3'e geçiş – arm.com
- ARM7TDMI'dan Cortex-M3'e geçiş – arm.com
- Cortex-M4'ten Cortex- M7'ye Geçiş – keil.com
- Başka