ARM Cortex-M işlemciye başlarken

özet

ARMCortex-M işlemci ailesinin artık 8 işlemci üyesi var. Bu yazıda, ürün uygulamasına göre doğru Cortex-M işlemcinin nasıl seçileceğine odaklanarak Cortex-M serisi işlemciler arasındaki ürün özelliklerini karşılaştıracağız. Bu makale, Cortex-M serisi işlemcilerin komut seti ve gelişmiş kesinti işleme yeteneklerini ayrıntılı olarak karşılaştıracak ve ayrıca SoC sistem düzeyindeki özelliklerin, hata ayıklama ve izleme işlevlerinin ve performansının karşılaştırılmasını sağlayacaktır.

Bugün ARM Cortex-M işlemci ailesinin 8 işlemci üyesi var. Ek olarak, ARM ürün hattında başka birçok işlemci üyesi var. Bu ürünleri yeni başlayanlar, hatta belirli yonga tasarımlarında deneyimli ancak ARM serisi işlemcilere aşina olmayan tasarımcılar için bile karıştırmak kolaydır. Farklı ARM işlemcilerin farklı komut setleri, sistem işlevleri ve performansı vardır. Bu makale, Cortex-M serisi işlemciler arasındaki temel farklılıkları ve diğer ARM serisi işlemcilerden nasıl farklı olduklarını derinlemesine gösterecektir.

1.1 ARM işlemci ailesi

Yıllar içinde, ARM epeyce farklı işlemci ürünleri geliştirdi. Aşağıdaki şekilde gösterildiği gibi (Şekil 1): ARM işlemci ürünleri, klasik ARM işlemci serisine ve en son Cortex işlemci serisine ayrılmıştır. Ve farklı uygulamalara göre, ARM işlemciler 3 seri halinde sınıflandırılabilir.

Uygulama İşlemcileri (uygulama işlemcileri) -mobil bilgi işlem, akıllı telefonlar, sunucular ve diğer pazarlar için son teknoloji işlemciler. Bu tür işlemci, çok yüksek bir saat frekansında (1GHz üzeri) çalışır ve Linux, Android, MS Windows ve mobil işletim sistemleri gibi eksiksiz bir işletim sistemi için gerekli olan bellek yönetim birimini (MMU) destekler. Yukarıdaki işletim sistemlerinden birini çalıştırması gereken bir ürün geliştirmeyi planlıyorsanız, ARM uygulama işlemcisini seçmeniz gerekir.

Gerçek Zamanlı İşlemciler - Sabit disk denetleyicileri, otomotiv iletim sistemleri ve kablosuz iletişim temel bant denetimi gibi gerçek zamanlı uygulamalar için bir dizi yüksek performanslı işlemci. Gerçek zamanlı işlemcilerin çoğu MMU'yu desteklemez, ancak genellikle MPU, Önbellek ve endüstriyel uygulamalar için tasarlanmış diğer bellek işlevlerine sahiptir. Gerçek zamanlı işlemci nispeten yüksek bir saat frekansında çalışır (örneğin, 200MHz ila > 1GHz), yanıt gecikmesi çok düşüktür. Gerçek zamanlı işlemci, Linux ve Windows işletim sistemlerinin tam sürümünü çalıştıramasa da, çok sayıda gerçek zamanlı işletim sistemini (RTOS) destekler.

Mikrodenetleyici İşlemcileri-Mikrodenetleyici işlemcileri genellikle küçük bir alana ve yüksek enerji verimliliğine sahip olacak şekilde tasarlanmıştır. Genellikle bu işlemcilerin kısa boru hatları ve düşük maksimum saat frekansları vardır (ancak piyasada 200Mhz üzerinde çalışabilen bu tür işlemciler vardır). Üstelik yeni Cortex-M işlemci ailesi, kullanımı çok kolay olacak şekilde tasarlandı. Bu nedenle, ARM mikro denetleyici işlemcileri, mikro denetleyici ve derin gömülü sistem pazarlarında çok başarılı ve popülerdir.

Tablo 1, üç işlemci ailesinin temel özelliklerini özetlemektedir.

Tablo 1: İşlemci özelliklerinin özeti

1.2 Cortex-M işlemci ailesi

Cortex-M işlemci ailesi, düşük performans tarafına daha fazla odaklanır, ancak bu işlemciler, birçok mikro denetleyici tarafından kullanılan geleneksel işlemcilere kıyasla hala çok güçlüdür. Örneğin Cortex-M4 ve Cortex-M7 işlemciler birçok yüksek performanslı mikrodenetleyici ürününde kullanılır ve maksimum saat frekansı 400Mhz'e ulaşabilir.

Elbette, performans bir işlemci seçmenin tek göstergesi değil. Birçok uygulamada, düşük güç tüketimi ve maliyet anahtar seçim kriterleridir. Bu nedenle Cortex-M işlemci ailesi, farklı ihtiyaçları karşılamak için çeşitli ürünler içerir:

Eski klasik ARM işlemcilerin (örneğin, ARM7TDMI, ARM9) aksine, Cortex-M işlemciler çok farklı bir mimariye sahiptir. Örneğin:

-Yalnızca ARM Thumb® talimatlarını destekler ve hem 16-bit hem de 32-bit talimatları desteklemek için genişletilmiştir Thumb-2 sürümü

-Dahili yuvalanmış vektör kesme kontrolü, kesme işleminden, kesme önceliğinin otomatik olarak işlenmesinden, kesme maskelemesinden, kesme yuvalanmasından ve sistem istisnalarının işlemesinden sorumludur.

-Kesinti işleme işlevi standart C dilinde programlanabilir ve iç içe yerleştirilmiş kesme işleme mekanizması, hangi kesmeye yanıt verilmesi gerektiğini belirlemek için yazılım kullanmaktan kaçınır. Aynı zamanda, kesinti yanıt hızı belirleyicidir ve düşük gecikme süresi

-Vektör tablosu, atlama komutundan kesme ve sistem istisna işleme fonksiyonunun başlangıç adresine değişir.

-Kayıt bankası ve belirli programlama modları da değiştirildi.

Bu değişiklikler, klasik ARM işlemciler için yazılan birçok montaj kodunun değiştirilmesi gerektiği ve Cortex-M ürünlerine geçmek için eski projelerin değiştirilip yeniden derlenmesi gerektiği anlamına geliyor. Yazılım geçişinin belirli ayrıntıları ARM belgesine kaydedilir:

ARM7TDMI İşlemci Programcıları için ARM Cortex-M3 İşlemci Yazılım Geliştirme

1.3 Cortex-M serisi işlemcilerin ortak özellikleri

Cortex-M0, M0 +, M3, M4 ve M7'nin birçok benzerliği vardır, örneğin:

Temel programlama modeli (bölüm 3.1)

Yuvalanmış Vektörlü Kesme Denetleyicisinin (NVIC) kesinti yanıtı yönetimi

Mimari tasarımın uyku modu: uyku modu ve derin uyku modu (Bölüm 4.1)

-İşletim sistemi destek özellikleri (bölüm 3.3)

Hata ayıklama işlevi (bölüm 6)

-Kullanım kolaylığı

Örneğin, yuvalanmış vektör kesme denetleyicisi, yerleşik bir kesme denetleyicisidir.

Şekil 2: Cortex-M işlemcinin yuvalanmış vektörlü kesinti denetleyicisi

Birçok çevresel aygıtın kesme girişini, maskelenemez bir kesme isteğini, yerleşik saatten (SysTick) bir kesme isteğini (bkz. Bölüm 3.3) ve belirli sayıda sistem istisna isteğini destekler. NVIC, bu kesintilerin ve istisnaların önceliğini ve kalkan yönetimini ele alır.

NVIC ve istisna işleme modelinin daha fazla içeriği bölüm 3.2'de açıklanmaktadır. Diğer Cortex-M işlemciler arasındaki benzerlikler ve farklılıklar bu makalenin geri kalanında açıklanacaktır.

Yüz milyar imparatorluğu "kopyala": ZARA'nın servet efsanesi
önceki
Gece Okuması Kardeşim hasta karısını ameliyat etmesi için arabadan çıkardı: Alzheimer hastalığından muzdarip karısı "Alipay Kırmızı Paket" SMS'i sahte mi? Resmi hatırlatma: hiç yayınlanmadı!
Sonraki
Fragman doğru mu? "Öfkeli" resmi itme sahtekarlığı "Öfkeli 2" söylentileri
Akıllı cihaz testinde pil simülatörü işlevinin uygulanması
SF Cainiao olayı arttı. Liu Qiangdong şunları destekliyor: Ekspres şirkette yalnızca SF Express bağımsız olabilir
Ateş! Liuzhou "Kardeş Sakal" elle boyanmış ehliyet + kimliğine el konuldu! Netizen: İki elli sakal fazla klasik
Zahren'den bahsetmişken, bu film adına layık
CCN'de içerik popülerliğine ve düğüm önemine dayalı önbellek tasarımı
Fiyatlar istikrar kazanmaya devam ediyor Double Eleven Festival'in iPhone Xs / Xr ile ilgisi yok
Xinshao ilçe ilkokulunda Çince öğretmen kalitesi yarışması düzenledi
Çeşitlendirilmiş bir vizyonla, neden bir "3I oyununa" ihtiyacımız var?
Elon Musk, Silikon Vadisi'nin belki de en "oyunculuk" CEO'su, kimse
Yoğun D2D Ağında Erişim Hızını İyileştirmek için Kaynak Tahsisi Araştırması
Fotoğraf çekmek için kaç göz kullanılır? En çok kameraya sahip önerilen genel cep telefonları
To Top