Apa itu Prosesor Microblaze : Arsitektur, Cara Kerja & Aplikasinya

Coba Instrumen Kami Untuk Menghilangkan Masalah





Prosesor MicroBlaze dikembangkan pada tahun 2002 untuk mengintegrasikan beberapa fitur rumit untuk memenuhi permintaan pasar yang baru dan berkembang. Jadi, prosesor MicroBlaze adalah elemen penting dalam Portofolio Kelas Rendah Xilinx untuk memungkinkan pengembangan sistem yang lebih cepat yang berisi Artix®-7 FPGA , Spartan®-6, Zynq®-7000 AP SoC. Prosesor ini sangat dapat dikonfigurasi, sehingga dapat digunakan sebagai prosesor tertanam atau mikrokontroler dalam FPGA dan juga digunakan sebagai co-prosesor di Zynq-7000 AP SoC berbasis ARM Cortex-A9. Artikel ini memberikan informasi singkat tentang Prosesor MicroBlaze – arsitektur dan bekerja dengan aplikasi.


Apa itu Prosesor Microblaze?

Mikroprosesor lunak yang dirancang terutama untuk FPGA Xilinx dikenal sebagai prosesor MicroBlaze. Prosesor ini hanya diimplementasikan dalam memori umum & struktur logika FPGA dari Xilinx. Prosesor ini mirip dengan arsitektur DLX berbasis RISC dan memiliki sistem interkoneksi yang fleksibel sehingga mendukung berbagai aplikasi yang disematkan. Bus I/O utama dan interkoneksi AXI dari MicroBlaze adalah bus transaksi yang dipetakan memori dengan fasilitas master-slave.



MicroBlaze menggunakan bus LMB khusus untuk mengakses memori lokal & menyediakan penyimpanan on-chip yang cepat. Banyak bagian dari prosesor ini dapat dikonfigurasi pengguna seperti ukuran cache, kedalaman unit manajemen memori pipa, periferal tertanam & antarmuka bus.

Fitur Microblaze

Itu fitur Microblaz e meliputi berikut ini. Ini memiliki 32 register tujuan umum.



  • Ini memiliki kata-kata instruksi 32-bit termasuk 2 mode pengalamatan & 3 operan.
  • Bus alamat adalah 32-bit.
  • Ini memiliki pipa 3 tahap atau pipa 5 tahap.
  • Unit blok ALU dengan shifter.
  • Arsitektur Harvard mencakup data 32-bit dan bus alamat.
  • Antarmuka data & LMB atau instruksi bus memori lokal.
  • Antarmuka aliran AX14 dan AX14.
  • Unit titik mengambang & unit manajemen memori.
  • Ini mendukung langkah kunci.
  • Debug & lacak antarmuka.

Arsitektur Microbaze

Diagram blok prosesor MicroBlaze ditunjukkan di bawah ini. Prosesor MicroBlaze ini sangat dapat disesuaikan dan mendukung lebih dari 70 opsi desain. Arsitektur ini menunjukkan fitur perangkat keras permanen serta opsi yang dapat dikonfigurasi seperti Instruksi atau Cache Data, Unit Manajemen Memori, Unit Titik Mengambang, dll.

Sebuah sistem tertanam dirakit di sekitar prosesor MicroBlaze terutama mencakup MicroBlaze Soft Processor Core, On-chip Local Memory, Standard Bus Interconnects, dan OPB Peripherals (On-chip Peripheral Bus). Sistem prosesor MicroBlaze terutama berkisar dari inti prosesor dengan memori lokal hingga sistem besar termasuk beberapa MicroBlaze prosesor , memori eksternal & banyak periferal OPB.

  Arsitektur Prosesor Microblaze
Arsitektur Prosesor Microblaze

Inti Prosesor Lembut

Inti prosesor lunak MicroBlaze merupakan inti dari sistem tertanam MicroBlaze. Ini adalah prosesor RISC 32-bit yang sangat cepat dan efisien yang memiliki beberapa fitur berikut.

  • Set instruksi adalah Ortogonal.
  • Bus data & instruksi terpisah.
  • register tujuan umum 32-bit.
  • Ini memiliki shifter barel 32-bit opsional lengkap.
  • Antarmuka bawaan untuk mempercepat OCM atau memori on-chip & OPB (On-chip Peripheral Bus) standar industri IBM.

Implementasi dalam perangkat Virtex-II dan sesudahnya mendukung banyak perangkat keras.

Memori Lokal Dalam Chip

Memori sinkron adalah memori lokal yang terutama digunakan untuk mengizinkan RAM Blok pada chip.

Interkoneksi Bus Standar

Antarmuka bus di sisi instruksi & data termasuk antarmuka ke memori lokal yang disebut LMB (Bus Memori Lokal) & antarmuka ke Bus Periferal On-chip IBM. Jadi kami dapat merancang sistem yang benar-benar berpegang pada arsitektur Harvard, jika tidak, untuk berbagi sumber daya, kami dapat menggunakan satu OPB dalam kombinasi melalui arbiter bus.

Bus memori lokal memberikan hidangan satu siklus yang terjamin untuk RAM blok on-chip. Ini adalah protokol bus master tunggal yang sangat efisien, sederhana, dan sempurna untuk menghubungkan memori lokal yang cepat. OPB atau On-chip Peripheral Bus adalah bus multi-master lebar 32-bit yang sempurna untuk menyatukan periferal & memori eksterior ke inti prosesor MicroBlaze.

Periferal Bus Periferal Dalam Chip

Sistem perangkat keras MicroBlaze dilengkapi oleh periferal OPB untuk menyediakan fungsi yang berbeda seperti Watchdog Timer atau Timebase, Timer atau Counter tujuan umum, IC (Interrupt Controller), pengontrol yang berbeda seperti SRAM, Flash Memory, ZBT Memory, BRAM, DDR, SDRAM, UART Lite , SPI, I2C, I/O tujuan umum, UART 16450/550 dan Ethernet 10/100 MAC. Selain itu, kami juga dapat menambahkan & menentukan periferal terutama untuk fungsi khusus, jika tidak, antarmuka ke desain yang ada di FPGA.

Set Instruksi Microblaze

Set instruksi Microblaze adalah aritmatika, logika, cabang, beban/penyimpanan, dan lain-lain. Ukuran semua instruksi adalah tetap. Paling banyak 3-register dapat diberikan sebagai operan. Microblaze mencakup dua format instruksi Tipe A dan Tipe B yang ditunjukkan di bawah ini.

Format instruksi tipe A terutama digunakan untuk instruksi register-register. Jadi itu termasuk opcode, tujuan tunggal & dua register sumber. Format instruksi tipe B terutama digunakan untuk instruksi register-langsung yang mencakup opcode, tujuan tunggal, dan register sumber tunggal.& sumber nilai langsung 16-bit.

  Format Instruksi
Format Instruksi

Dalam dua format instruksi di atas, opcode adalah kode operasi, Rd adalah register tujuan yang dikodekan dengan 5-bit, Ra & Rb adalah register sumber di mana masing-masing dikodekan dengan 5-bit dan Segera adalah nilai 16-bit.

instruksi aritmatika

Instruksi aritmatika tipe A dan Tipe B diberikan di bawah ini.

Tipe A

TAMBAHKAN Rd, Ra, Rb

menambahkan

Rd = Ra+Rb, bendera Carry terpengaruh

TAMBAHKAN K Rd, Ra, Rb

Tambah dan terus bawa

Rd = Ra+Rb, bendera Carry tidak terpengaruh

RSUB Rd, Ra, Rb

Pengurangan terbalik

Rd = R-Rb, bendera Carry tidak terpengaruh

Tipe B

ADD I Rd, Ra, Imm

tambahkan segera

Rd = Ra+tandaExtend32 (Imm)

TAMBAHKAN IK Rd, Ra, Imm

tambahkan segera dan terus bawa

Rd = Ra+ tanda Perpanjang32 (Imm)
RSUBIK Rd, Ra, Imm

membalikkan pengurangan dengan segera

Rd = Ra+ tanda Perpanjang32 (Imm) -Ra

Jalan SRA, Ra

pergeseran aritmatika ke kanan

Rd = (Ra>>1)

instruksi logika

Instruksi logika tipe A dan Tipe B diberikan di bawah ini.

Tipe A

ATAU Rd, Ra, Rb

Logis atau

Rd = Ra| Rb

DAN Rd,Ra,Rb

Penambahan logis

Rd = Ra & Rb
XOR Rd, Ra, Rb

Logika xor

Rd = Rb ^ Rb

ANDN Rd, Ra, Rb

Logis dan tidak

Rd = Ra & (Rb)

Tipe B

ORI  Rd, Ra, Imm

logis ATAU dengan segera

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

logis DAN dengan segera

Rd = Ra & tanda Perpanjang32 (Imm)
XORI  Rd, Ra, Imm

XOR logoikal dengan segera

Rd = Ra^ tandaExtend32 (Imm)

ANDNI Rd, Ra, Imm

Logis DAN TIDAK dengan segera

Rd = Ra & (tandaExtend32 (Imm))

Instruksi Cabang- Tanpa Syarat

Ubah register Penghitung Program

BRID  Imm

cabang segera dengan penundaan segera

PC = PC+ tandaExtend32 (Imm)

izinkan eksekusi slot tunda

BRLID Rd, Imm

cabang dan tautan langsung dengan penundaan segera (panggilan fungsi)

Rd = PC

PC = PC+& tandaExtend32 (Imm)

izinkan eksekusi slot tunda

RTSD  Ra, Imm

kembali dari subrutin

PC = Ra + tandaExtend32 (Imm)

izinkan eksekusi slot tunda

RTID Ra, Im

kembali dari interupsi

PC = Ra + tandaExtend32 (Imm)

izinkan eksekusi slot tunda

setel aktifkan interupsi di MSR

Instruksi Cabang- Tanpa Syarat1

Ubah register Program Counter ketika suatu kondisi terpenuhi

BEQI Ra, Imm

cabang jika sama

PC = PC+ tandaExtend32 (Imm)

Jika Ra = = 0

MASH Ra, Imm

cabang jika tidak sama

Rd = PC

PC = PC+& tandaExtend32 (Imm)

Jika Ra! = 0

Instruksi Cabang- Tanpa Syarat2

Ubah register Program Counter ketika suatu kondisi terpenuhi

BLTI  Ra, Imm

cabang jika lebih rendah dari

PC = PC+ tandaExtend32 (Imm)

Jika Ra < 0

BLEI Ra, Imm

cabang jika lebih rendah sama dengan

Rd = PC

PC = PC+& tandaExtend32 (Imm)

Jika Ra!< = 0

BGTI Ra, Imm

cabang jika lebih besar dari

PC = PC+ tandaExtend32 (Imm)

Jika Ra!> 0

BGEI Ra, Imm

cabang jika lebih besar sama dengan

PC = PC+signExtend32 (Imm)

Jika Ra!>= 0

Petunjuk Pemuatan/Penyimpanan -Tipe A

LW Rd, Ra, Rb

Muat kata

Alamat = Ra+Rb

Jl = *Alamat

SW Rd, Ra, Rb

Simpan  kata

Alamat – Ra+Rb

*Alamat = Rd

Tipe B

LWI  Rd, Ra, Imn

Muat kata segera

Alamat = Ra + tandaExtend32 (Imm)

Jl = *Alamat

SW Rd, Ra, Imm

Simpan kata segera

Alamat = Ra + tandaExtend32 (Imm)

*Alamat = Rd

Instruksi lainnya

IMM, Imm

segera

Perluas Imm dari instruksi tipe B sebelumnya menjadi 32-bit.
MFS Rd, Sa

Pindah dari register tujuan khusus

Rd = Sa

Sa- register tujuan khusus, operan sumber

MTS Sd, Ra

Pindah ke register tujuan khusus

Sd = Ra

Sd – register tujuan khusus, operan tujuan

Daftar

Arsitektur prosesor MicroBlaze benar-benar ortogonal yang mencakup register tujuan umum 32-bit & register tujuan khusus 32-bit seperti Penghitung Program & Daftar Status Mesin.

Arsitektur Pipa

MicroBlaze menggunakan arsitektur pipa 3 tahap termasuk tahap pengambilan, dekode, & lengkap. Secara otomatis, penerusan data, cabang & kios pipa ditentukan dalam perangkat keras.

Muat atau Simpan Arsitektur

MicroBlaze mendukung memori dalam tiga ukuran data 8 bit (Byte), 16 bit (Halfword) & 32 bit (Word). Jadi, akses memori selalu diselaraskan dengan ukuran data. Ini adalah prosesor Big-Endian yang menggunakan alamat alamat Big-Endian serta konvensi pelabelan setelah mengakses memori.

Interupsi

Setelah interupsi terjadi, maka prosesor ini akan mengakhiri eksekusi saat ini untuk mengelola permintaan interupsi melalui percabangan ke alamat vektor interupsi & menyimpan alamat instruksi yang perlu dieksekusi. Prosesor ini akan menghentikan interupsi di masa mendatang dengan menghapus flag IE (Interrupt Enable) di dalam MSR (Machine Status Register).

Bagaimana Cara Kerja Microblaze?

Prosesor MicroBlaze mendukung lebar bus 32-bit dan inti prosesor ini adalah mesin berbasis RISC yang menyertakan file register berdasarkan RAM LUT 32-bit melalui instruksi terpisah untuk memori & akses data.
Prosesor ini hanya mendukung BlockRAM on-chip & memori eksternal. Mirip dengan IBM PowerPC; semua periferal menggunakan bus CoreConnect OPB yang serupa; periferal prosesor sangat cocok dengan PowerPC di Virtex-II Pro.

Prosesor MicroBlaze memberikan fleksibilitas lengkap untuk memilih kombinasi memori, periferal & fitur antarmuka yang akan memberi Anda sistem presisi yang Anda perlukan pada satu FPGA dengan biaya lebih murah.

Perbedaan B/W Microblaze Vs Risc-V

Itu perbedaan antara MicroBlaze dan RISC v termasuk berikut ini.

Microblaze

Risc-V

Ini adalah inti mikroprosesor lunak yang terutama dirancang untuk Xilinx FPGA.

RISC-V adalah arsitektur set instruksi yang berakar pada prinsip RISC.

Ini menggunakan arsitektur Harvard RISC. Ini menggunakan arsitektur set instruksi.
Lisensinya adalah milik (Xilinx) Lisensinya adalah open source.
Kedalaman pipa adalah 3 atau 5. Kedalaman pipa adalah 5.
Performanya adalah 280 DMIP. Kinerjanya adalah 250 DMIP.
Kecepatannya adalah 235 MHz. Kecepatannya adalah 250 MHz.
Ini memiliki 1027 LUT. Ini memiliki 4125 LUT.
Implementasi teknologi yang digunakan adalah Xilinx FPGA. Implementasi teknologi yang digunakan adalah FPGA/ASIC.

Keuntungan Microblaze

Itu keuntungan dari MicroBlaze termasuk berikut ini.

  • Hal ini ekonomis.
  • Ini sangat dapat dikonfigurasi.
  • Kinerjanya tinggi dibandingkan dengan ARM.
  • Ini didukung oleh kit pengembangan tertanam.
  • Ini lembut mikroprosesor inti.
  • Untuk membantu Anda dengan cepat mengatur aplikasi Anda, prosesor ini mencakup tiga konfigurasi tetap yang terkait dengan mikrokontroler kelas prosesor terkenal, real-time, dan prosesor aplikasi.

Aplikasi Microblaze

Itu aplikasi MicroBlaze termasuk berikut ini.

  • Prosesor ini memenuhi banyak persyaratan aplikasi yang berbeda seperti Industri, Otomotif, Medis & Konsumen, dll.
  • Aplikasi MicroBlaze berkisar dari mesin keadaan sederhana berdasarkan perangkat lunak hingga pengontrol kompleks yang digunakan dalam aplikasi tertanam atau peralatan berbasis Internet.
  • Ini dioptimalkan untuk aplikasi tertanam seperti kontrol industri, otomatisasi kantor & otomotif.
  • MicroBlaze mampu berkomunikasi dengan sejumlah besar periferal agar sesuai dengan aplikasi skala menengah.
  • Sifat lembut prosesor ini membuatnya dapat disesuaikan untuk aplikasi yang berbeda di mana desainer dapat bertukar fitur untuk ukuran untuk memenuhi tujuan harga & kinerja untuk aplikasi medis, otomotif, industri & keamanan.

Jadi, ini semua tentang gambaran umum tentang Microblaze prosesor. Ini adalah inti prosesor lunak RISC 32-bit berfitur lengkap yang dapat diprogram. Prosesor ini memenuhi persyaratan yang berbeda dalam berbagai bidang seperti pasar infrastruktur konsumen, medis, industri, otomotif & komunikasi. Ini sangat dapat dikonfigurasi, sehingga digunakan sebagai prosesor tertanam atau mikrokontroler dalam FPGA jika tidak seperti co-prosesor untuk ARM. Berikut adalah pertanyaan untuk Anda, apa itu FPGA?