Τι είναι ο επεξεργαστής Microblaze: Αρχιτεκτονική, εργασία και εφαρμογές του

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





Ο επεξεργαστής MicroBlaze αναπτύχθηκε το 2002 για να ενσωματώσει πολλά περίπλοκα χαρακτηριστικά για να καλύψει τη νέα αλλά και την αυξανόμενη ζήτηση της αγοράς. Έτσι, ο επεξεργαστής MicroBlaze είναι ένα βασικό στοιχείο στο Low-End Portfolio της Xilinx για να επιτρέψει την ταχύτερη ανάπτυξη του συστήματος που περιέχει το Artix®-7 FPGA , Spartan®-6, Zynq®-7000 AP SoC. Αυτός ο επεξεργαστής είναι εξαιρετικά διαμορφώσιμος, επομένως μπορεί να χρησιμοποιηθεί ως ενσωματωμένος επεξεργαστής ή μικροελεγκτής σε FPGA και επίσης ως συνεπεξεργαστής στα SoC Zynq-7000 AP που βασίζονται στο ARM Cortex-A9. Αυτό το άρθρο παρέχει σύντομες πληροφορίες για Επεξεργαστής MicroBlaze – αρχιτεκτονική και εργασία με εφαρμογές.


Τι είναι ο επεξεργαστής Microblaze;

Ο μαλακός μικροεπεξεργαστής που έχει σχεδιαστεί κυρίως για FPGA της Xilinx είναι γνωστός ως επεξεργαστής MicroBlaze. Αυτός ο επεξεργαστής υλοποιείται απλά στο πλαίσιο μνήμης και λογικής γενικής χρήσης των FPGA της Xilinx. Αυτός ο επεξεργαστής είναι παρόμοιος με την αρχιτεκτονική DLX που βασίζεται στο RISC και διαθέτει ένα ευέλικτο σύστημα διασύνδεσης ώστε να υποστηρίζει διαφορετικές ενσωματωμένες εφαρμογές. Ο κύριος δίαυλος I/O και η διασύνδεση AXI του MicroBlaze είναι ένας δίαυλος συναλλαγών με αντιστοίχιση μνήμης με εγκατάσταση master-slave.



Το MicroBlaze χρησιμοποιεί έναν αποκλειστικό δίαυλο LMB για πρόσβαση στην τοπική μνήμη και παρέχει γρήγορη αποθήκευση στο chip. Πολλά μέρη αυτού του επεξεργαστή μπορούν να διαμορφωθούν από τον χρήστη, όπως το μέγεθος της κρυφής μνήμης, το βάθος της μονάδας διαχείρισης μνήμης διοχέτευσης, τα ενσωματωμένα περιφερειακά και οι διεπαφές διαύλου.

Χαρακτηριστικά Microblaze

ο χαρακτηριστικά του Microblaz ε περιλαμβάνουν τα ακόλουθα. Διαθέτει 32 μητρώα γενικής χρήσης.



  • Διαθέτει λέξεις εντολών 32 bit, συμπεριλαμβανομένων 2 τρόπων διεύθυνσης και 3 τελεστών.
  • Ο δίαυλος διευθύνσεων είναι 32-bit.
  • Διαθέτει αγωγό 3 σταδίων ή αγωγό 5 σταδίων.
  • Μια μονάδα μπλοκ ALU με μετατροπέα.
  • Η αρχιτεκτονική του Χάρβαρντ περιλαμβάνει δεδομένα 32-bit και δίαυλο διευθύνσεων.
  • Διεπαφή δεδομένων & οδηγίες LMB ή τοπικού διαύλου μνήμης.
  • Διεπαφές ροής AX14 και AX14.
  • Μονάδα κινητής υποδιαστολής & μονάδα διαχείρισης μνήμης.
  • Υποστηρίζει lockstep.
  • Διεπαφή εντοπισμού σφαλμάτων και ανίχνευσης.

Αρχιτεκτονική Microbaze

Το μπλοκ διάγραμμα του επεξεργαστή MicroBlaze φαίνεται παρακάτω. Αυτός ο επεξεργαστής MicroBlaze είναι εξαιρετικά προσαρμόσιμος και υποστηρίζει πάνω από 70 επιλογές σχεδίασης. Αυτή η αρχιτεκτονική εμφανίζει μόνιμες δυνατότητες υλικού, καθώς και επιλογές με δυνατότητα διαμόρφωσης, όπως η προσωρινή μνήμη εντολών ή δεδομένων, η μονάδα διαχείρισης μνήμης, η μονάδα κινητής υποδιαστολής κ.λπ.

Ενα ενσωματωμένο σύστημα που συναρμολογείται γύρω από έναν επεξεργαστή MicroBlaze περιλαμβάνει κυρίως MicroBlaze Soft Processor Core, On-chip Local Memory, Standard Bus Interconnects και OPB Peripherals (On-chip Peripheral Bus). Ένα σύστημα επεξεργαστή MicroBlaze κυμαίνεται κυρίως από έναν πυρήνα επεξεργαστή από μια τοπική μνήμη σε ένα μεγάλο σύστημα που περιλαμβάνει πολλά MicroBlaze επεξεργαστές , εξωτερική μνήμη & πολλά περιφερειακά OPB.

  Αρχιτεκτονική επεξεργαστή Microblaze
Αρχιτεκτονική επεξεργαστή Microblaze

Μαλακός πυρήνας επεξεργαστή

Ο μαλακός πυρήνας επεξεργαστή του MicroBlaze είναι κεντρικός στο ενσωματωμένο σύστημα MicroBlaze. Αυτός είναι ένας πολύ γρήγορος και αποτελεσματικός επεξεργαστής RISC 32-bit που έχει τα ακόλουθα χαρακτηριστικά.

  • Το σετ οδηγιών είναι Ορθογώνιο.
  • Ξεχωριστά λεωφορεία δεδομένων & οδηγιών.
  • Μητρώα γενικού σκοπού 32 bit.
  • Διαθέτει προαιρετικό πλήρες μετατοπιστή κάννης 32 bit.
  • Ενσωματωμένες διεπαφές για γρήγορη μνήμη OCM ή on-chip και το βιομηχανικό πρότυπο OPB (On-chip Peripheral Bus) της IBM.

Οι υλοποιήσεις εντός του Virtex-II και των μετέπειτα συσκευών υποστηρίζουν πολλαπλασιασμό υλικού.

Τοπική μνήμη σε τσιπ

Η σύγχρονη μνήμη είναι μια τοπική μνήμη που χρησιμοποιείται κυρίως για να επιτρέπει στο μπλοκ RAM στο chip.

Τυπικές διασυνδέσεις λεωφορείων

Οι διεπαφές διαύλου στην πλευρά οδηγιών και δεδομένων περιλαμβάνουν μια διεπαφή με την τοπική μνήμη που ονομάζεται LMB (Local Memory Bus) και μια διεπαφή με τον περιφερειακό δίαυλο On-chip της IBM. Μπορούμε λοιπόν να σχεδιάσουμε συστήματα που τηρούν αυστηρά την αρχιτεκτονική του Χάρβαρντ, διαφορετικά, για να μοιραζόμαστε πόρους, μπορούμε να χρησιμοποιήσουμε ένα μόνο OPB σε συνδυασμό μέσω ενός διαιτητή διαύλου.

Ο τοπικός δίαυλος μνήμης παρέχει σίγουρη είσοδο ενός κύκλου για μπλοκ RAM στο τσιπ. Αυτό είναι ένα πολύ αποτελεσματικό, απλό και μοναδικό πρωτόκολλο διαύλου και είναι τέλειο για διασύνδεση γρήγορης τοπικής μνήμης. Ο περιφερειακός δίαυλος OPB ή On-chip είναι ένας ευρύς πολυκύριος δίαυλος 32 bit που είναι τέλειος για τη συνένωση περιφερειακών και εξωτερικής μνήμης στον πυρήνα του επεξεργαστή MicroBlaze.

Περιφερειακά Διαύλου σε chip

Το σύστημα υλικού MicroBlaze συμπληρώνεται από περιφερειακά OPB για να παρέχει διαφορετικές λειτουργίες όπως Watchdog Timer ή Timebase, Timer γενικής χρήσης ή Counters, IC (Interrupt Controller), διαφορετικούς ελεγκτές όπως SRAM, Flash Memory, ZBT Memory, BRAM, DDR, SDRAM, UART Lite , SPI, I2C, I/O γενικής χρήσης, UART 16450/550 και Ethernet 10/100 MAC. Επιπλέον, μπορούμε επίσης να προσθέσουμε και να ορίσουμε περιφερειακά κυρίως για προσαρμοσμένες λειτουργίες, διαφορετικά, μια διεπαφή σε ένα σχέδιο που υπάρχει στο FPGA.

Σετ Οδηγιών Microblaze

Τα σύνολα εντολών Microblaze είναι αριθμητική, λογική, διακλάδωση, φόρτωση/αποθήκευση και άλλα. Το μέγεθος όλων των οδηγιών είναι σταθερό. Το πολύ 3 καταχωρητές μπορούν να δοθούν ως τελεστές. Το Microblaze περιλαμβάνει δύο μορφές εντολών Τύπου Α και Τύπου Β που φαίνονται παρακάτω.

Η μορφή εντολών τύπου Α χρησιμοποιείται κυρίως για οδηγίες εγγραφής-καταχώρισης. Περιλαμβάνει λοιπόν τον κωδικό λειτουργίας, έναν μοναδικό προορισμό και δύο καταχωρητές πηγής. Η μορφή εντολών τύπου Β χρησιμοποιείται κυρίως για εντολές άμεσης εγγραφής, οι οποίες περιλαμβάνουν τους καταχωρητές opcode, μεμονωμένο προορισμό και μεμονωμένη πηγή. και μια πηγή άμεσης τιμής 16-bit.

  Μορφές Οδηγιών
Μορφές Οδηγιών

Στις δύο παραπάνω μορφές εντολών, το opcode είναι ένας κωδικός λειτουργίας, το Rd είναι ένας καταχωρητής προορισμού που κωδικοποιείται με 5-bit, τα Ra & Rb είναι καταχωρητές πηγής όπου ο καθένας κωδικοποιείται με 5-bit και το Immediate είναι μια τιμή 16-bit.

Αριθμητικές οδηγίες

Οι αριθμητικές οδηγίες τύπου Α και τύπου Β δίνονται παρακάτω.

Τύπος Α

ΠΡΟΣΘΗΚΗ Rd, Ra, Rb

Προσθήκη

Rd = Ra+Rb, επηρεάζεται η σημαία μεταφοράς

ADD K Rd, Ra, Rb

Προσθέστε και κρατήστε τη μεταφορά

Rd = Ra+Rb, Η σημαία μεταφοράς δεν επηρεάζεται

RSUB Rd, Ra, Rb

Αντίστροφη αφαίρεση

Rd = R-Rb, Η σημαία μεταφοράς δεν επηρεάζεται

Τύπος Β

ADD I Rd, Ra, Imm

προσθέστε αμέσως

Rd = Ra+signExtend32 (Imm)

ADD IK Rd, Ra, Imm

προσθέστε αμέσως και κρατήστε τη μεταφορά

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

αντίστροφη αφαίρεση με άμεσο

Rd = Ra+ signExtend32 (Imm) -Ra

SRA Rd, Ra

αριθμητική μετατόπιση δεξιά

Rd = (Ra>>1)

Οδηγίες Λογικής

Οι λογικές οδηγίες τύπου Α και Τύπου Β δίνονται παρακάτω.

Τύπος Α

Ή Rd, Ra, Rb

Λογικό ή

Rd = Ra| Rb

ΚΑΙ Rd,Ra,Rb

Λογική προσθήκη

Rd = Ra & Rb
XOR Rd, Ra, Rb

Λογική xor

Rd = Rb ^ Rb

ANDN Rd, Ra, Rb

Λογικό και όχι

Rd = Ra & (Rb)

Τύπος Β

ORI  Rd, Ra, Imm

λογικό Ή με άμεσο

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

λογικό ΚΑΙ με άμεσο

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

λογικό XOR με άμεσο

Rd = Ra ^ signExtend32 (Imm)

ANDNI Rd, Ra, Imm

Λογικό ΚΑΙ ΟΧΙ με άμεση

Rd = Ra & (signExtend32 (Imm))

Οδηγίες υποκαταστήματος - Χωρίς όρους

Τροποποιήστε το μητρώο του μετρητή προγράμματος

BRID  Imm

υποκατάστημα άμεσα με άμεση καθυστέρηση

PC = PC+ signExtend32 (Imm)

να επιτρέπεται η εκτέλεση της θυρίδας καθυστέρησης

BRLID Rd, Imm

διακλάδωση και σύνδεση αμέσως με άμεση καθυστέρηση (κλήση λειτουργίας)

Rd = PC

PC = PC+& signExtend32 (Imm)

να επιτρέπεται η εκτέλεση της θυρίδας καθυστέρησης

RTSD  Ra, Imm

επιστροφή από την υπορουτίνα

PC = Ra + signExtend32 (Imm)

να επιτρέπεται η εκτέλεση της θυρίδας καθυστέρησης

RTID Ra, Imm

επιστροφή από διακοπή

PC = Ra + signExtend32 (Imm)

να επιτρέπεται η εκτέλεση της θυρίδας καθυστέρησης

ορίστε την ενεργοποίηση διακοπής στο MSR

Οδηγίες υποκαταστήματος- Χωρίς όρους1

Αλλάξτε τον καταχωρητή μετρητή προγράμματος όταν ικανοποιείται μια συνθήκη

BEQI Ra, Imm

κλάδος αν είναι ίσος

PC = PC+ signExtend32 (Imm)

Αν Ra = = 0

MASH Ra, Imm

κλάδος αν όχι ίσος

Rd = PC

PC = PC+& signExtend32 (Imm)

Αν ο Ρα! = 0

Οδηγίες υποκαταστήματος- Unconditional2

Αλλάξτε τον καταχωρητή μετρητή προγράμματος όταν ικανοποιείται μια συνθήκη

BLTI  Ra, Imm

κλαδί εάν είναι χαμηλότερο από

PC = PC+ signExtend32 (Imm)

Αν Ra < 0

BLEI Ra, Imm

κλάδος αν είναι μικρότερος ίσος από

Rd = PC

PC = PC+& signExtend32 (Imm)

Αν Ra!< = 0

BGTI Ra, Imm

κλάδος εάν είναι μεγαλύτερος από

PC = PC+ signExtend32 (Imm)

Αν Ra!> 0

BGEI Ra, Imm

κλάδος αν είναι μεγαλύτερος ίσος από

PC = PC+signExtend32 (Imm)

Αν Ra!>= 0

Οδηγίες Φόρτωσης/Αποθήκευσης -Τύπος Α

LW Rd, Ra, Rb

Φόρτωση λέξης

Διεύθυνση = Ra+Rb

Rd = *Διεύθυνση

SW Rd, Ra, Rb

Αποθήκευση λέξης

Διεύθυνση – Ra+Rb

*Διεύθυνση = Rd

Τύπος Β

LWI  Rd, Ra, Imn

Φόρτωση λέξης αμέσως

Διεύθυνση = Ra + signExtend32 (Imm)

Rd = *Διεύθυνση

SW Rd, Ra, Imm

Αποθηκεύστε  τη λέξη αμέσως

Διεύθυνση = Ra + signExtend32 (Imm)

*Διεύθυνση = Rd

Άλλες Οδηγίες

IMM, Imm

άμεσος

Επεκτείνετε το Imm μιας προηγούμενης εντολής τύπου Β σε 32-bit.
MFS Rd, Sa

Μετακίνηση από το μητρώο ειδικού σκοπού

Rd = Sa

Sa- καταχωρητής ειδικού σκοπού, τελεστής πηγής

MTS Sd, Ra

Μετακίνηση σε μητρώο ειδικού σκοπού

Sd = Ra

Sd – καταχωρητής ειδικού σκοπού, τελεστής προορισμού

Μητρώα

Η αρχιτεκτονική του επεξεργαστή MicroBlaze είναι εντελώς ορθογώνια που περιλαμβάνει καταχωρητές γενικού σκοπού 32 bit και καταχωρητές ειδικού σκοπού 32 bit όπως ο μετρητής προγράμματος και ο καταχωρητής κατάστασης μηχανής.

Αρχιτεκτονική Σωληνώσεων

Το MicroBlaze χρησιμοποιεί μια αρχιτεκτονική αγωγών 3 σταδίων που περιλαμβάνει στάδια ανάκτησης, αποκωδικοποίησης και ολοκλήρωσης. Αυτόματα, η προώθηση δεδομένων, οι διακλαδώσεις και η διακοπή αγωγών καθορίζονται εντός του υλικού.

Αρχιτεκτονική φόρτωσης ή αποθήκευσης

Το MicroBlaze υποστηρίζει μνήμη σε τρία μεγέθη δεδομένων 8 bit (Byte), 16 bit (Halfword) & 32 bit (Word). Έτσι, οι προσβάσεις στη μνήμη είναι πάντα ευθυγραμμισμένες με το μέγεθος δεδομένων. Αυτός είναι ένας επεξεργαστής Big-Endian που χρησιμοποιεί τη διεύθυνση της διεύθυνσης Big-Endian καθώς και τις συμβάσεις ετικετών μόλις αποκτήσει πρόσβαση στη μνήμη.

Διακόπτει

Μόλις λάβει χώρα μια διακοπή, τότε αυτός ο επεξεργαστής θα τερματίσει την παρούσα εκτέλεση για να διαχειριστεί το αίτημα διακοπής μέσω διακλάδωσης για να διακόψει τη διανυσματική διεύθυνση και να αποθηκεύσει τη διεύθυνση εντολής που πρέπει να εκτελεστεί. Αυτός ο επεξεργαστής θα σταματήσει τις μελλοντικές διακοπές διαγράφοντας τη σημαία IE (Interrupt Enable) εντός του MSR (Machine Status Register).

Πώς λειτουργεί το Microblaze;

Ο επεξεργαστής MicroBlaze υποστηρίζει πλάτος διαύλου 32 bit και αυτός ο πυρήνας επεξεργαστή είναι μια μηχανή βασισμένη σε RISC που περιλαμβάνει ένα αρχείο καταχωρητή που βασίζεται σε 32-bit LUT RAM μέσω ξεχωριστών οδηγιών για πρόσβαση στη μνήμη και στα δεδομένα.
Αυτός ο επεξεργαστής απλώς υποστηρίζει τόσο την εσωτερική μνήμη BlockRAM όσο και την εξωτερική μνήμη. Παρόμοια με το IBM PowerPC. όλα τα περιφερειακά χρησιμοποιούν τον παρόμοιο δίαυλο CoreConnect OPB. τα περιφερειακά του επεξεργαστή ταιριάζουν καλά με το PowerPC στο Virtex-II Pro.

Ο επεξεργαστής MicroBlaze προσφέρει πλήρη ευελιξία στην επιλογή του συνδυασμού λειτουργιών μνήμης, περιφερειακών και διασύνδεσης που θα σας προσφέρουν το ακριβές σύστημα που χρειάζεστε σε ένα μόνο FPGA με λιγότερο κόστος.

Διαφορά B/W Microblaze vs Risc-V

ο διαφορά μεταξύ MicroBlaze και RISC v περιλαμβάνουν τα ακόλουθα.

Microblaze

Risc-V

Είναι ένας μαλακός πυρήνας μικροεπεξεργαστή που έχει σχεδιαστεί κυρίως για το Xilinx FPGA.

Το RISC-V είναι μια αρχιτεκτονική συνόλου εντολών που βασίζεται στις αρχές του RISC.

Χρησιμοποιεί την αρχιτεκτονική RISC του Χάρβαρντ. Χρησιμοποιεί αρχιτεκτονική συνόλου εντολών.
Η άδειά του είναι αποκλειστική (Xilinx) Η άδειά του είναι ανοιχτού κώδικα.
Το βάθος του αγωγού είναι 3 ή 5. Το βάθος του αγωγού είναι 5.
Η απόδοσή του είναι 280 DMIPs. Η απόδοσή του είναι 250 DMIPs.
Η ταχύτητά του είναι 235 MHz. Η ταχύτητά του είναι 250 MHz.
Διαθέτει 1027 LUT. Διαθέτει 4125 LUT.
Η εφαρμογή της τεχνολογίας που χρησιμοποιείται είναι το Xilinx FPGA. Η εφαρμογή της τεχνολογίας που χρησιμοποιείται είναι FPGA/ASIC.

Πλεονεκτήματα Microblaze

ο πλεονεκτήματα του MicroBlaze περιλαμβάνουν τα ακόλουθα.

  • Είναι οικονομικό.
  • Είναι εξαιρετικά παραμετροποιήσιμο.
  • Η απόδοσή του είναι υψηλή σε σύγκριση με το ARM.
  • Υποστηρίζεται από ένα ενσωματωμένο κιτ ανάπτυξης.
  • Είναι ένα μαλακό μικροεπεξεργαστής πυρήνας.
  • Για να σας βοηθήσει να τακτοποιήσετε γρήγορα την εφαρμογή σας, αυτός ο επεξεργαστής περιλαμβάνει τρεις σταθερές διαμορφώσεις που σχετίζονται με γνωστούς μικροελεγκτή τάξεων επεξεργαστή, επεξεργαστή σε πραγματικό χρόνο και εφαρμογές.

Εφαρμογές Microblaze

ο εφαρμογές του MicroBlaze περιλαμβάνουν τα ακόλουθα.

  • Αυτός ο επεξεργαστής πληροί πολλές διαφορετικές απαιτήσεις εφαρμογών όπως Βιομηχανική, Αυτοκινητοβιομηχανία, Ιατρική & Καταναλωτική, κ.λπ.
  • Οι εφαρμογές του MicroBlaze κυμαίνονται από απλά μηχανήματα κατάστασης που βασίζονται σε λογισμικό έως σύνθετους ελεγκτές που χρησιμοποιούνται σε ενσωματωμένες εφαρμογές ή συσκευές που βασίζονται στο Διαδίκτυο.
  • Είναι βελτιστοποιημένο για ενσωματωμένες εφαρμογές όπως βιομηχανικός έλεγχος, αυτοματισμός γραφείου και αυτοκινητοβιομηχανία.
  • Το MicroBlaze είναι σε θέση να επικοινωνεί με ένα μεγάλο σύνολο περιφερειακών για να ταιριάζει σε εφαρμογές μεσαίας κλίμακας.
  • Η μαλακή φύση αυτού του επεξεργαστή τον καθιστά προσαρμόσιμο για διαφορετικές εφαρμογές όπου οι σχεδιαστές μπορούν να ανταλλάσσουν χαρακτηριστικά για το μέγεθος για να επιτύχουν τους στόχους τιμής και απόδοσης για ιατρικές, αυτοκινητοβιομηχανίες, βιομηχανικές εφαρμογές και εφαρμογές ασφαλείας.

Επομένως, πρόκειται για όλα μια επισκόπηση του Microblaze επεξεργαστή. Αυτός είναι ένας πλήρως εξοπλισμένος, προγραμματιζόμενος πυρήνας επεξεργαστή RISC 32-bit. Αυτός ο επεξεργαστής πληροί διαφορετικές απαιτήσεις σε διαφορετικούς τομείς όπως οι αγορές καταναλωτικών, ιατρικών, βιομηχανικών, αυτοκινήτων και επικοινωνιακών υποδομών. Είναι εξαιρετικά παραμετροποιήσιμο, επομένως χρησιμοποιείται ως ενσωματωμένος επεξεργαστής ή μικροελεγκτής στα FPGA, διαφορετικά σαν συν-επεξεργαστής για το ARM. Εδώ είναι μια ερώτηση για εσάς, τι είναι το FPGA;