MicroBlaze işlemci, yeni ve büyüyen pazar talebini karşılamak için çeşitli karmaşık özellikleri entegre etmek için 2002 yılında geliştirildi. Bu nedenle, MicroBlaze işlemci, Artix®-7 içeren daha hızlı sistem geliştirmeyi sağlamak için Xilinx'in Düşük Uçlu Portföyü içinde önemli bir unsurdur. FPGA'lar , Spartan®-6, Zynq®-7000 AP SoC'leri. Bu işlemci son derece yapılandırılabilir olduğundan, FPGA'lar içinde gömülü bir işlemci veya mikro denetleyici olarak kullanılabilir ve ayrıca ARM Cortex-A9 tabanlı Zynq-7000 AP SoC'lerinde yardımcı işlemci olarak kullanılabilir. Bu makale hakkında kısa bilgi verir MicroBlaze işlemci – mimari ve uygulamalarla çalışma.
Microblaze İşlemci Nedir?
Esas olarak Xilinx'in FPGA'ları için tasarlanmış yumuşak mikroişlemci, MicroBlaze işlemci olarak bilinir. Bu işlemci, Xilinx'in FPGA'larının genel amaçlı bellek ve mantık yapısı içinde basitçe uygulanır. Bu işlemci, RISC tabanlı DLX mimarisine benzer ve farklı gömülü uygulamaları destekleyecek şekilde esnek bir ara bağlantı sistemine sahiptir. MicroBlaze'in ana G/Ç veri yolu ve AXI ara bağlantısı, ana-bağımlı özelliği olan bellek eşlemeli bir işlem veriyoludur.
MicroBlaze, yerel belleğe erişmek için özel bir LMB veriyolu kullanır ve çip üzerinde hızlı depolama sağlar. Bu işlemcinin birçok parçası, önbelleğin boyutu, boru hattı bellek yönetim biriminin derinliği, gömülü çevre birimleri ve veri yolu arabirimleri gibi kullanıcı tarafından yapılandırılabilir.
Mikroblaze Özellikleri
bu Microblaz'ın özellikleri e aşağıdakileri içerir. 32 adet genel amaçlı registere sahiptir.
- 2 adresleme modu ve 3 işlenen dahil olmak üzere 32-bit talimat word'üne sahiptir.
- Adres veriyolu 32 bittir.
- 3 kademeli boru hattı veya 5 kademeli boru hattına sahiptir.
- Değiştiricili bir ALU blok ünitesi.
- Harvard mimarisi 32 bit veri ve adres veriyolu içerir.
- Veri arayüzü ve LMB veya yerel bellek veri yolu talimatı.
- AX14 ve AX14 akış arayüzleri.
- Kayan nokta birimi ve bellek yönetim birimi.
- Lockstep'i destekler.
- Hata ayıklama ve izleme arayüzü.
Mikrobaz Mimarisi
MicroBlaze işlemcinin blok şeması aşağıda gösterilmiştir. Bu MicroBlaze işlemci son derece özelleştirilebilir ve 70'in üzerinde tasarım seçeneğini destekler. Bu mimari, kalıcı donanım özelliklerinin yanı sıra Talimat veya Veri Önbelleği, Bellek Yönetim Birimi, Kayan Nokta Birimi vb. yapılandırılabilir seçenekleri gösterir.
Bir yerleşik sistem bir MicroBlaze işlemcisi etrafında toplanmış, temel olarak MicroBlaze Yumuşak İşlemci Çekirdeği, Çip Üzerinde Yerel Bellek, Standart Veri Yolu Ara Bağlantıları ve OPB Çevre Birimlerini (Çip Üzerinde Çevre Birimi Veriyolu) içerir. Bir MicroBlaze işlemci sistemi, temel olarak yerel bir belleğe sahip bir işlemci çekirdeğinden birkaç MicroBlaze içeren büyük bir sisteme kadar uzanır. işlemciler , harici bellek ve birçok OPB çevre birimi.
Yumuşak İşlemci Çekirdeği
MicroBlaze'in yumuşak işlemci çekirdeği, MicroBlaze gömülü sistemin merkezinde yer alır. Bu, aşağıdaki özelliklere sahip çok hızlı ve verimli bir 32-bit RISC işlemcidir.
- Komut seti Ortogonaldir.
- Ayrı veri ve talimat veriyolları.
- 32 bit genel amaçlı kayıtlar.
- İsteğe bağlı tam bir 32-bit varil kaydırıcıya sahiptir.
- Hızlı OCM veya yonga üstü belleğe ve IBM'in endüstri standardı OPB'sine (Yonga Üzerinde Çevre Birimi Veriyolu) yerleşik arabirimler.
Virtex-II ve sonraki cihazlar içindeki uygulamalar, birden fazla donanımı destekler.
Çipte Yerel Bellek
Eşzamanlı bellek, esas olarak çip üzerinde Blok RAM'e izin vermek için kullanılan yerel bir bellektir.
Standart Veri Yolu Bağlantıları
Talimat ve veri tarafındaki veri yolu arabirimleri, LMB (Yerel Bellek Veri Yolu) olarak adlandırılan yerel belleğe bir arabirim ve IBM'in Çip Üzerinde Çevresel Veri Yoluna bir arabirim içerir. Böylece Harvard mimarisine sıkı sıkıya bağlı sistemler tasarlayabiliriz, aksi takdirde kaynakları paylaşmak için tek bir OPB'yi bir veri yolu hakemi aracılığıyla kombinasyon halinde kullanabiliriz.
Yerel bellek veri yolu, çip üzerinde blok RAM için tek döngülü giriş garantisi sağlar. Bu çok verimli, basit ve tek ana veri yolu protokolüdür ve hızlı yerel bellek arabirimi oluşturmak için mükemmeldir. OPB veya On-chip Peripheral Bus, çevre birimlerini ve harici belleği MicroBlaze işlemcinin çekirdeğinde birleştirmek için mükemmel olan 32 bitlik geniş bir çoklu ana veriyoludur.
Çipte Çevre Birimi Veri Yolu Çevre Birimleri
MicroBlaze donanım sistemi, Watchdog Zamanlayıcı veya Zaman Tabanı, Genel Amaçlı Zamanlayıcı veya Sayıcılar, IC (Kesme Denetleyicisi), SRAM, Flash Bellek, ZBT Bellek, BRAM, DDR, SDRAM, UART Lite gibi farklı denetleyiciler gibi farklı işlevleri sağlamak için OPB çevre birimleri tarafından tamamlanmıştır. , SPI, I2C, Genel amaçlı G/Ç, UART 16450/550 ve Ethernet 10/100 MAC. Ek olarak, özellikle özel işlevler için çevre birimleri ekleyebilir ve tanımlayabiliriz, aksi takdirde FPGA'da bulunan bir tasarıma bir arayüz.
Microblaze Talimat Seti
Microblaze komut setleri aritmetik, mantık, dal, yükleme/depolama ve diğerleridir. Tüm talimatların boyutu sabittir. En fazla 3 kayıt işlenen olarak verilebilir. Microblaze, aşağıda gösterilen Tip A ve Tip B olmak üzere iki talimat formatı içerir.
Tip A talimat formatı esas olarak kayıt-kayıt talimatları için kullanılır. Bu yüzden opcode, tek hedef ve iki kaynak kaydı içerir. B Tipi talimat formatı esas olarak işlem kodu, tek hedef ve tek kaynak kayıtlarını ve 16 bitlik anlık değer kaynağını içeren kayıt-anlık komutlar için kullanılır.
Yukarıdaki iki talimat biçiminde, işlem kodu bir işlem kodudur, Rd 5 bit ile kodlanmış bir hedef kayıttır, Ra & Rb her biri 5 bit ile kodlanmış kaynak kayıtlardır ve Anında 16 bitlik bir değerdir.
Aritmetik Talimatlar
A tipi ve B Tipi aritmetik komutları aşağıda verilmiştir.
Tip A
EKLE Rd, Ra, Rb Ekle |
Rd = Ra+Rb, Taşıma bayrağı etkilenir |
EKLE K Rd, Ra, Rb Ekle ve taşımaya devam et |
Rd = Ra+Rb, Taşıma bayrağı etkilenmez |
RSUB Rd, Ra, Rb ters çıkarma |
Rd = R-Rb, Taşıma bayrağı etkilenmez |
B Tipi
EKLE I Rd, Ra, Imm hemen ekle |
Rd = Ra+işaretExtend32 (Imm) |
EKLE IK Rd, Ra, Imm hemen ekleyin ve taşımaya devam edin |
Rd = Ra+ işaretiExtend32 (Imm) |
RSUBIK Rd, Ra, Imm hemen ile ters çıkarma |
Rd = Ra+ işaretiExtend32 (Imm) -Ra |
SRA Rd, Ra aritmetik sağa kaydırma |
Rd = (Ra>>1) |
Mantık Talimatları
A tipi ve B Tipi mantık talimatları aşağıda verilmiştir.
Tip A
VEYA Rd, Ra, Rb Mantıksal veya |
Rd = Ra| Rb |
VE Rd,Ra,Rb Mantıksal ekleme |
Rd = Ra & Rb |
XOR Rd, Ra, Rb mantıksal xor |
Rd = Rb ^ Rb |
ANDN Rd, Ra, Rb Mantıklı ve değil |
Rd = Ra & (Rb) |
B Tipi
ORI Rd, Ra, Imm anında ile mantıksal VEYA |
Rd = Ra | signExtend32 (Imm) |
ANDI Rd, Ra, Imm mantıksal AND ile anında |
Rd = Ra & işaretExtend32 (Imm) |
XORI Rd, Ra, Imm anında ile mantıksal XOR |
Rd = Ra ^ işaretiExtend32 (Imm) |
ANDNI Rd, Ra, Imm Hemen ile mantıksal VE DEĞİL |
Rd = Ra & (signExtend32 (Imm)) |
Şube Talimatları - Koşulsuz
Program Sayacı kaydını değiştirin
BRID Imm hemen gecikme ile şube |
PC = PC+ işaretiExtend32 (Imm) gecikme yuvası yürütmesine izin ver |
BRLID Yolu, Imm şube ve anında gecikme ile anında bağlantı (işlev çağrısı) |
Rd = bilgisayar PC = PC+& signExtend32 (Imm) gecikme yuvası yürütmesine izin ver |
RTSD Ra, Imm alt programdan dönüş |
PC = Ra + signExtend32 (Imm) gecikme yuvası yürütmesine izin ver |
RTID Ra, Imm kesintiden dönüş |
PC = Ra + signExtend32 (Imm) gecikme yuvası yürütmesine izin ver MSR'de kesme etkinleştirmeyi ayarla |
Şube Talimatları - Koşulsuz1
Bir koşul sağlandığında Program Sayacı kaydını değiştirin
BEQI Ra, Imm eşitse dal |
PC = PC+ işaretiExtend32 (Imm) Ra = = 0 ise |
MASH Ra, Imm eşit değilse şube |
Rd = bilgisayar PC = PC+& signExtend32 (Imm) Eğer Ra! = 0 |
Şube Talimatları - Koşulsuz2
Bir koşul sağlandığında Program Sayacı kaydını değiştirin
BLTI Ra, Imm şube daha düşükse |
PC = PC+ işaretiExtend32 (Imm) Ra < 0 ise |
BLEI Ra, Imm şube şundan daha düşükse |
Rd = bilgisayar PC = PC+& signExtend32 (Imm) Eğer Ra!< = 0 |
BGTI Ra, Imm şube daha büyük ise |
PC = PC+ işaretiExtend32 (Imm) Eğer Ra!> 0 |
BGEI Ra, Imm dal şundan büyükse |
PC = PC+signExtend32 (Imm) Ra!>= 0 ise |
Yükleme/Depolama Talimatları -Tip A
LW Rd, Ra, Rb kelime yükle |
Adres = Ra+Rb Rd = *Adres |
SW Rd, Ra, Rb Kelimeyi depola |
Adres – Ra+Rb *Adres = Cadde |
B Tipi
LWI Rd, Ra, Imn Kelimeyi hemen yükle |
Adres = Ra + signExtend32 (Imm) Rd = *Adres |
SW Rd, Ra, Imm Kelimeyi anında depolayın |
Adres = Ra + signExtend32 (Imm) *Adres = Cadde |
Diğer Talimatlar
IMM, Imm acil |
Önceki bir B tipi talimatının Imm'sini 32 bit'e genişletin. |
MFS Yolu, Sa Özel amaçlı kayıttan taşı |
Rd = Sa Sa- özel amaçlı kayıt, kaynak işlenen
|
MTS SD, Ra Özel amaçlı kayıt defterine taşı |
Sd = Ra Sd – özel amaçlı kayıt, hedef işlenen |
Kayıtlar
MicroBlaze işlemcinin mimarisi, 32 bit genel amaçlı kayıtlar ve Program Sayacı ve Makine Durum Kaydı gibi 32 bit özel amaçlı kayıtlar içeren tamamen ortogonaldir.
Boru Hattı Mimarisi
MicroBlaze, getirme, kod çözme ve tamamlama aşamalarını içeren 3 aşamalı bir boru hattı mimarisini kullanır. Otomatik olarak, veri iletme, dallar ve boru hattı duraklaması donanım içinde belirlenir.
Yükleme veya Depolama Mimarisi
MicroBlaze, 8 bit (Byte), 16 bit (Yarım Kelime) ve 32 bit (Word) olmak üzere üç veri boyutunda belleği destekler. Bu nedenle, bellek erişimleri her zaman veri boyutuna göre hizalanır. Bu, Big-Endian adresinin adresini ve ayrıca belleğe eriştikten sonra etiketleme kurallarını kullanan bir Big-Endian işlemcisidir.
kesintiler
Bir kesinti gerçekleştiğinde, bu işlemci, vektör adresini kesmek ve yürütülmesi gereken talimat adresini saklamak için dallanma yoluyla kesme talebini yönetmek için mevcut yürütmeyi sonlandıracaktır. Bu işlemci, MSR (Machine Status Register) içindeki IE (Interrupt Enable) bayrağını temizleyerek gelecekteki kesmeleri durduracaktır.
Mikroblaze Nasıl Çalışır?
MicroBlaze işlemci 32 bit veri yolu genişliğini destekler ve bu işlemci çekirdeği, bellek ve veri erişimi için ayrı talimatlar aracılığıyla 32 bit LUT RAM'e dayalı bir kayıt dosyası içeren RISC tabanlı bir motordur.
Bu işlemci, hem çip üstü BlockRAM'i hem de harici belleği destekler. IBM PowerPC'ye benzer; tüm çevre birimleri benzer CoreConnect OPB veri yolunu kullanır; işlemcinin çevre birimleri, Virtex-II Pro üzerindeki PowerPC ile uyumludur.
MicroBlaze işlemci, ihtiyaç duyduğunuz hassas sistemi tek bir FPGA üzerinde daha az maliyetle sağlayacak olan bellek, çevre birimi ve arayüz özelliklerinin kombinasyonunu seçmek için tam bir esneklik sunar.
Fark S/B Microblaze Vs Risc-V
bu MicroBlaze ve RISC v arasındaki fark aşağıdakileri içerir.
mikro alev |
Risc-V |
Esas olarak Xilinx FPGA için tasarlanmış yumuşak bir mikroişlemci çekirdeğidir.
|
RISC-V, RISC ilkelerine dayanan bir komut seti mimarisidir.
|
Harvard RISC mimarisini kullanır. | Komut seti mimarisini kullanır. |
Lisansı tescillidir (Xilinx) | Lisansı açık kaynak kodludur. |
Boru hattının derinliği 3 veya 5'tir. | Boru hattının derinliği 5'tir. |
Performansı 280 DMIP'dir. | Performansı 250 DMIP'dir. |
Hızı 235 MHz'dir. | Hızı 250 MHz'dir. |
1027 LUT'a sahiptir. | 4125 LUT'a sahiptir. |
Kullanılan teknolojinin uygulaması Xilinx FPGA'dır. | Kullanılan teknolojinin uygulaması FPGA/ASIC'dir. |
Mikroblaze Avantajları
bu MicroBlaze'in avantajları aşağıdakileri içerir.
- Ekonomiktir.
- Son derece yapılandırılabilir.
- ARM'ye göre performansı yüksektir.
- Gömülü bir geliştirme kiti tarafından desteklenir.
- bu yumuşak mikroişlemci çekirdek.
- Uygulamanızı hızlı bir şekilde düzenlemenize yardımcı olmak için bu işlemci, iyi bilinen işlemci sınıfları mikro denetleyici, gerçek zamanlı ve uygulama işlemcisi ile ilgili üç sabit yapılandırma içerir.
Mikroblaze Uygulamaları
bu MicroBlaze uygulamaları aşağıdakileri içerir.
- Bu işlemci, Endüstriyel, Otomotiv, Medikal ve Tüketici vb. gibi birçok farklı uygulama gereksinimlerini karşılar.
- MicroBlaze uygulamaları, yazılıma dayalı basit durum makinelerinden gömülü uygulamalarda veya İnternet tabanlı cihazlarda kullanılan karmaşık kontrolörlere kadar çeşitlilik gösterir.
- Endüstriyel kontrol, ofis otomasyonu ve otomotiv gibi gömülü uygulamalar için optimize edilmiştir.
- MicroBlaze, orta ölçekli uygulamalara uyması için geniş bir çevre birimi seti ile iletişim kurabilir.
- Bu işlemcinin yumuşak yapısı, tasarımcıların medikal, otomotiv, endüstriyel ve güvenlik uygulamaları için fiyat ve performans hedeflerini karşılamak için boyut için özellikleri değiş tokuş edebileceği farklı uygulamalar için özelleştirilebilir hale getirir.
Böylece, tüm bunlar hakkında Microblaze'e genel bakış işlemci. Bu, tam özellikli, 32 bit programlanabilir bir RISC yumuşak işlemci çekirdeğidir. Bu işlemci, tüketici, medikal, endüstriyel, otomotiv ve iletişim altyapısı pazarları gibi farklı alanlardaki farklı gereksinimleri karşılar. Son derece yapılandırılabilir, bu nedenle FPGA'lar içinde gömülü işlemci veya mikro denetleyici olarak kullanılır, aksi takdirde ARM için bir yardımcı işlemci gibi. İşte size bir soru, FPGA nedir?