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.
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.
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?