Apakah itu Pemproses Microblaze : Seni Bina, Kerja & Aplikasinya

Cuba Instrumen Kami Untuk Menghapuskan Masalah





Pemproses MicroBlaze telah dibangunkan pada tahun 2002 untuk menyepadukan beberapa ciri rumit untuk memenuhi permintaan pasaran baharu serta yang semakin meningkat. Jadi, pemproses MicroBlaze ialah elemen penting dalam Portfolio Low-End Xilinx untuk membolehkan pembangunan sistem yang lebih pantas yang mengandungi Artix®-7 FPGA , Spartan®-6, Zynq®-7000 AP SoCs. Pemproses ini sangat boleh dikonfigurasikan, jadi ia boleh digunakan sebagai pemproses tertanam atau mikropengawal dalam FPGA dan juga digunakan sebagai pemproses bersama dalam Zynq-7000 AP SoC berdasarkan ARM Cortex-A9. Artikel ini memberikan maklumat ringkas tentang Pemproses MicroBlaze – seni bina dan bekerja dengan aplikasi.


Apakah Pemproses Microblaze?

Mikropemproses lembut yang direka terutamanya untuk FPGA Xilinx dikenali sebagai pemproses MicroBlaze. Pemproses ini hanya dilaksanakan dalam memori tujuan umum & fabrik logik FPGA Xilinx. Pemproses ini serupa dengan seni bina DLX berdasarkan RISC dan ia mempunyai sistem interkoneksi yang fleksibel supaya ia menyokong aplikasi terbenam yang berbeza. Bas I/O utama dan sambungan AXI MicroBlaze ialah bas transaksi dipetakan memori dengan kemudahan tuan-hamba.



MicroBlaze menggunakan bas LMB khusus untuk mengakses memori tempatan & menyediakan storan pada cip yang cepat. Banyak bahagian pemproses ini boleh dikonfigurasikan pengguna seperti saiz cache, kedalaman unit pengurusan memori saluran paip, persisian terbenam & antara muka bas.

Ciri-ciri Microblaze

The ciri-ciri Microblaz e sertakan perkara berikut. Ia mempunyai 32 daftar tujuan am.



  • Ia mempunyai perkataan arahan 32-bit termasuk 2 mod pengalamatan & 3 operan.
  • Bas alamat ialah 32-bit.
  • Ia mempunyai saluran paip 3 peringkat atau saluran paip 5 peringkat.
  • Unit blok ALU dengan shifter.
  • Seni bina Harvard termasuk data 32-bit dan bas alamat.
  • Antara muka data & LMB atau arahan bas memori tempatan.
  • Antara muka aliran AX14 dan AX14.
  • Unit titik terapung & unit pengurusan memori.
  • Ia menyokong lockstep.
  • Nyahpepijat & jejak antara muka.

Senibina Microbaze

Gambar rajah blok pemproses MicroBlaze ditunjukkan di bawah. Pemproses MicroBlaze ini sangat boleh disesuaikan dan ia menyokong lebih daripada 70 pilihan reka bentuk. Seni bina ini menunjukkan ciri perkakasan kekal serta pilihan boleh dikonfigurasikan seperti Arahan atau Cache Data, Unit Pengurusan Memori, Unit Titik Terapung, dsb.

An sistem terbenam dipasang di sekeliling pemproses MicroBlaze terutamanya termasuk Teras Pemproses Lembut MicroBlaze, Memori Setempat Pada cip, Saling Sambung Bas Standard dan Peranti OPB (Bas Peranti cip). Sistem pemproses MicroBlaze terutamanya terdiri daripada teras pemproses oleh memori tempatan kepada sistem besar termasuk beberapa MicroBlaze pemproses , memori luaran & banyak peranti OPB.

  Senibina Pemproses Microblaze
Senibina Pemproses Microblaze

Teras Pemproses Lembut

Teras pemproses lembut MicroBlaze adalah pusat kepada sistem terbenam MicroBlaze. Ini adalah pemproses RISC 32-bit yang sangat pantas dan cekap yang mempunyai ciri-ciri berikut.

  • Set arahan adalah Ortogonal.
  • Bas data & arahan yang berasingan.
  • Daftar tujuan am 32-bit.
  • Ia mempunyai pemindah tong 32-bit lengkap pilihan.
  • Antara muka terbina untuk mempercepatkan memori OCM atau pada cip & OPB (On-chip Peripheral Bus) standard industri IBM.

Pelaksanaan dalam Virtex-II dan peranti selepas itu menyokong penggandaan perkakasan.

Memori Setempat pada cip

Memori segerak ialah memori tempatan yang digunakan terutamanya untuk membenarkan RAM Blok pada cip.

Sambungan Bas Standard

Antara muka bas di bahagian arahan & data termasuk antara muka ke memori tempatan yang dipanggil LMB (Bas Memori Tempatan) & antara muka kepada Bas Periferal Pada cip IBM. Oleh itu, kami boleh mereka bentuk sistem yang berpegang pada seni bina Harvard, jika tidak, untuk berkongsi sumber, kami boleh menggunakan satu OPB dalam kombinasi melalui pengadil bas.

Bas memori tempatan memberikan hidangan kitaran tunggal yang terjamin untuk RAM blok pada cip. Ini adalah protokol bas yang sangat cekap, mudah dan induk tunggal dan ia sesuai untuk antara muka memori tempatan yang pantas. OPB atau On-chip Peripheral Bus ialah bas berbilang induk luas 32-bit yang sesuai untuk menyatukan persisian & memori luaran kepada teras pemproses MicroBlaze.

Peranti Bas Periferal pada cip

Sistem perkakasan MicroBlaze dilengkapkan oleh peranti OPB untuk menyediakan fungsi yang berbeza seperti Pemasa Anjing Pengawas atau Pangkalan Masa, Pemasa atau Kaunter tujuan umum, IC (Pengawal Sampuk), pengawal berbeza seperti SRAM, Memori Flash, Memori ZBT, BRAM, DDR, SDRAM, UART Lite , SPI, I2C, I/O tujuan umum, UART 16450/550 dan Ethernet 10/100 MAC. Selain itu, kami juga boleh menambah & mentakrifkan persisian terutamanya untuk fungsi tersuai, jika tidak, antara muka kepada reka bentuk yang wujud dalam FPGA.

Set Arahan Microblaze

Set arahan Microblaze ialah aritmetik, logik, cawangan, beban/simpan dan lain-lain. Saiz semua arahan ditetapkan. Paling banyak 3-daftar boleh diberikan sebagai operan. Microblaze termasuk dua format arahan Jenis A dan Jenis B yang ditunjukkan di bawah.

Format arahan Jenis A digunakan terutamanya untuk arahan daftar-daftar. Jadi ia termasuk opcode, destinasi tunggal & dua daftar sumber. Format arahan jenis B digunakan terutamanya untuk arahan segera daftar yang merangkumi kod opcode, destinasi tunggal dan daftar sumber tunggal.& sumber nilai segera 16-bit.

  Format Arahan
Format Arahan

Dalam dua format arahan di atas, opcode ialah kod operasi, Rd ialah daftar destinasi yang dikodkan dengan 5-bit, Ra & Rb ialah daftar sumber di mana setiap satu dikodkan dengan 5-bit dan Segera ialah nilai 16-bit.

Arahan Aritmetik

Arahan aritmetik jenis A dan Jenis B diberikan di bawah.

Jenis A

TAMBAH Rd, Ra, Rb

Tambah

Rd = Ra+Rb, Bawa bendera terjejas

TAMBAH K Rd, Ra, Rb

Tambah dan terus bawa

Rd = Ra+Rb, Bawa bendera tidak terjejas

RSUB Rd, Ra, Rb

Tolak songsang

Rd = R-Rb, Bawa bendera tidak terjejas

Jenis B

TAMBAH I Rd, Ra, Imm

tambah serta merta

Rd = Ra+signExtend32 (Imm)

TAMBAH IK Rd, Ra, Imm

tambah segera dan terus bawa

Rd = Ra+ signExtend32 (Imm)
RSUBIK Rd, Ra, Imm

tolak balik dengan serta-merta

Rd = Ra+ signExtend32 (Imm) -Ra

Jalan SRA, Ra

anjakan aritmetik ke kanan

Rd = (Ra>>1)

Arahan Logik

Arahan logik jenis A dan Jenis B diberikan di bawah.

Jenis A

ATAU Rd, Ra, Rb

Logik atau

Rd = Ra| Rb

DAN Rd,Ra,Rb

Tambah logik

Rd = Ra & Rb
XOR Rd, Ra, Rb

Xor logoik

Rd = Rb ^ Rb

ANDN Rd, Ra, Rb

Logik dan tidak

Rd = Ra & (Rb)

Jenis B

ORI  Jalan, Ra, Imm

logik ATAU dengan segera

Rd = Ra | signExtend32 (Imm)
ANDI  Rd, Ra, Imm

logik DAN dengan segera

Rd = Ra & signExtend32 (Imm)
XORI  Rd, Ra, Imm

XOR logoikal dengan segera

Rd = Ra ^ signExtend32 (Imm)

ANDNI Rd, Ra, Imm

Logik DAN BUKAN dengan segera

Rd = Ra & (signExtend32 (Imm))

Arahan Cawangan- Tanpa syarat

Ubah suai daftar Kaunter Program

BRID  Imm

cawangan segera dengan kelewatan serta-merta

PC = PC+ signExtend32 (Imm)

membenarkan perlaksanaan slot penangguhan

BRLID Rd, Imm

cawangan dan pautan serta-merta dengan kelewatan serta-merta (panggilan fungsi)

Rd = PC

PC = PC+& signExtend32 (Imm)

membenarkan perlaksanaan slot penangguhan

RTSD  Ra, Imm

kembali dari subrutin

PC = Ra + signExtend32 (Imm)

membenarkan perlaksanaan slot penangguhan

RTID Ra, Imm

kembali dari gangguan

PC = Ra + signExtend32 (Imm)

membenarkan perlaksanaan slot penangguhan

set gangguan membolehkan dalam MSR

Arahan Cawangan- Tanpa Syarat1

Tukar daftar Kaunter Program apabila syarat dipenuhi

BEQI Ra, Imm

cawangan jika sama

PC = PC+ signExtend32 (Imm)

Jika Ra = = 0

MASH Ra, Imm

cabang jika tidak sama

Rd = PC

PC = PC+& signExtend32 (Imm)

Jika Ra! = 0

Arahan Cawangan- Tanpa Syarat2

Tukar daftar Kaunter Program apabila syarat dipenuhi

BLTI  Ra, Imm

cawangan jika lebih rendah daripada

PC = PC+ signExtend32 (Imm)

Jika Ra < 0

BLEI Ra, Imm

cawangan jika lebih rendah sama daripada

Rd = PC

PC = PC+& signExtend32 (Imm)

Jika Ra!< = 0

BGTI Ra, Imm

cawangan jika lebih besar daripada

PC = PC+ signExtend32 (Imm)

Jika Ra!> 0

BGEI Ra, Imm

cawangan jika lebih besar sama daripada

PC = PC+signExtend32 (Imm)

Jika Ra!>= 0

Arahan Muat/Simpan -Jenis A

LW Rd, Ra, Rb

Muatkan perkataan

Alamat = Ra+Rb

Rd = *Alamat

Jalan SW, Ra, Rb

Simpan  perkataan

Alamat – Ra+Rb

*Alamat = Rd

Jenis B

LWI  Rd, Ra, Imn

Muatkan perkataan dengan segera

Alamat = Ra + signExtend32 (Imm)

Rd = *Alamat

Jalan SW, Ra, Imm

Simpan  perkataan dengan segera

Alamat = Ra + signExtend32 (Imm)

*Alamat = Rd

Arahan Lain

IMM, Imm

serta merta

Panjangkan Imm bagi arahan jenis B sebelumnya kepada 32-bit.
MFS Rd, Sa

Beralih dari daftar tujuan khas

Rd = Sa

Sa- daftar tujuan khas, operan sumber

MTS Sd, Ra

Beralih ke daftar tujuan khas

Sd = Ra

Sd – daftar tujuan khas, operan destinasi

Mendaftar

Seni bina pemproses MicroBlaze adalah ortogonal sepenuhnya yang merangkumi daftar tujuan am 32-bit & daftar tujuan khas 32-bit seperti Daftar Status Kaunter Program & Mesin.

Senibina Talian Paip

MicroBlaze menggunakan seni bina saluran paip 3 peringkat termasuk pengambilan, penyahkod & peringkat lengkap. Secara automatik, pemajuan data, cawangan & gerai saluran paip ditentukan dalam perkakasan.

Muatan atau Seni Bina Stor

MicroBlaze menyokong memori dalam tiga saiz data 8 bit (Byte), 16 bit (Halfword) & 32 bit (Word). Jadi, capaian memori adalah selaras saiz data sentiasa. Ini ialah pemproses Big-Endian yang menggunakan alamat alamat Big-Endian serta konvensyen pelabelan sebaik sahaja mengakses memori.

menyampuk

Sebaik sahaja gangguan berlaku, maka pemproses ini akan menamatkan pelaksanaan sekarang untuk menguruskan permintaan gangguan melalui cawangan untuk mengganggu alamat vektor & menyimpan alamat arahan yang perlu dilaksanakan. Pemproses ini akan menghentikan gangguan masa hadapan dengan mengosongkan bendera IE (Interrupt Enable) dalam MSR (Machine Status Register).

Bagaimanakah Microblaze Berfungsi?

Pemproses MicroBlaze menyokong lebar bas 32-bit dan teras pemproses ini ialah enjin berasaskan RISC yang merangkumi fail daftar berdasarkan LUT RAM 32-bit melalui arahan berasingan untuk memori & akses data.
Pemproses ini hanya menyokong BlockRAM pada cip & memori luaran. Sama seperti IBM PowerPC; semua peranti menggunakan bas CoreConnect OPB yang serupa jadi; persisian pemproses dipadankan dengan baik dengan PowerPC pada Virtex-II Pro.

Pemproses MicroBlaze memberikan fleksibiliti lengkap untuk memilih gabungan memori, ciri persisian & antara muka yang akan memberikan anda sistem tepat yang anda perlukan pada satu FPGA dengan kos yang lebih murah.

Perbezaan B/W Microblaze Vs Risc-V

The perbezaan antara MicroBlaze dan RISC v termasuk yang berikut.

Microblaze

Risc-V

Ia adalah teras mikropemproses lembut yang direka terutamanya untuk Xilinx FPGA.

RISC-V ialah seni bina set arahan yang berakar pada prinsip RISC.

Ia menggunakan seni bina Harvard RISC. Ia menggunakan seni bina set arahan.
Lesennya adalah hak milik (Xilinx) Lesennya adalah sumber terbuka.
Kedalaman saluran paip ialah 3 atau 5. Kedalaman saluran paip ialah 5.
Prestasinya ialah 280 DMIP. Prestasinya ialah 250 DMIP.
Kelajuannya ialah 235 MHz. Kelajuannya ialah 250 MHz.
Ia mempunyai 1027 LUT. Ia mempunyai 4125 LUT.
Pelaksanaan teknologi yang digunakan ialah Xilinx FPGA. Pelaksanaan teknologi yang digunakan ialah FPGA/ASIC.

Kelebihan Microblaze

The kelebihan MicroBlaze termasuk yang berikut.

  • Ia menjimatkan.
  • Ia sangat boleh dikonfigurasikan.
  • Prestasinya tinggi berbanding ARM.
  • Ia disokong oleh kit pembangunan terbenam.
  • Ia adalah lembut mikropemproses teras.
  • Untuk membantu anda mengatur aplikasi anda dengan cepat, pemproses ini termasuk tiga konfigurasi tetap yang berkaitan dengan mikropengawal kelas pemproses yang terkenal, masa nyata dan pemproses aplikasi.

Aplikasi Microblaze

The aplikasi MicroBlaze termasuk yang berikut.

  • Pemproses ini memenuhi banyak keperluan aplikasi yang berbeza seperti Perindustrian, Automotif, Perubatan & Pengguna, dsb.
  • Aplikasi MicroBlaze terdiri daripada mesin keadaan ringkas berdasarkan perisian kepada pengawal kompleks yang digunakan dalam aplikasi terbenam atau peralatan berasaskan Internet.
  • Ia dioptimumkan untuk aplikasi terbenam seperti kawalan industri, automasi pejabat & automotif.
  • MicroBlaze mampu berkomunikasi dengan set persisian yang besar untuk dimuatkan dalam aplikasi berskala sederhana.
  • Sifat lembut pemproses ini menjadikannya boleh disesuaikan untuk aplikasi yang berbeza di mana pereka boleh menukar ciri untuk saiz untuk memenuhi matlamat harga & prestasi untuk aplikasi perubatan, automotif, industri & keselamatan.

Oleh itu, ini semua tentang gambaran keseluruhan tentang Microblaze pemproses. Ini ialah teras pemproses lembut RISC 32-bit yang boleh diprogramkan sepenuhnya. Pemproses ini memenuhi keperluan berbeza dalam bidang yang berbeza seperti pasaran infrastruktur pengguna, perubatan, perindustrian, automotif & komunikasi. Ia sangat boleh dikonfigurasikan, jadi digunakan sebagai pemproses tertanam atau mikropengawal dalam FPGA sebaliknya seperti pemproses bersama untuk ARM. Berikut adalah soalan untuk anda, apakah itu FPGA?