Microblaze İşlemci Nedir : Mimari, Çalışma ve Uygulamaları

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





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.

  Microblaze İşlemci Mimarisi
Microblaze İşlemci Mimarisi

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.

  Talimat Formatları
Talimat Formatları

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?