מהו מעבד Microblaze: ארכיטקטורה, עבודה ויישומיו

נסה את הכלי שלנו לביטול בעיות





מעבד ה-MicroBlaze פותח בשנת 2002 כדי לשלב מספר תכונות מסובכות כדי לענות על ביקוש שוק חדש כמו גם הולך וגדל. אז, מעבד ה-MicroBlaze הוא מרכיב חיוני בפורטפוליו ה-Low-End של Xilinx כדי לאפשר פיתוח מערכת מהיר יותר המכילה את Artix®-7 FPGAs , Spartan®-6, Zynq®-7000 AP SoCs. מעבד זה ניתן להגדרה בצורה קיצונית, כך שניתן להשתמש בו כמעבד משובץ או כמיקרו-בקר בתוך FPGAs וגם לשמש כמעבד משותף ב-Zynq-7000 AP SoCs המבוססים על ARM Cortex-A9. מאמר זה נותן מידע קצר על מעבד MicroBlaze – ארכיטקטורה ועבודה עם יישומים.


מהו מעבד Microblaze?

המיקרו-מעבד הרך שמיועד בעיקר עבור FPGAs של Xilinx ידוע כמעבד MicroBlaze. מעבד זה מיושם בפשטות בתוך מארג הזיכרון והלוגיקה לשימוש כללי של FPGAs של Xilinx. מעבד זה דומה לארכיטקטורת DLX המבוססת על RISC ויש לו מערכת חיבורים גמישה כך שתומכת ביישומים משובצים שונים. אפיק ה-I/O הראשי וחיבור ה-AXI של ה-MicroBlaze הוא אפיק עסקה ממופה זיכרון עם מתקן מאסטר-עבד.



MicroBlaze משתמש באפיק LMB ייעודי כדי לגשת לזיכרון מקומי ומספק אחסון מהיר בשבב. חלקים רבים של מעבד זה יכולים להיות מוגדרים על ידי משתמש כמו גודל המטמון, עומק יחידת ניהול זיכרון הצינור, ציוד היקפי משובץ וממשקי אוטובוס.

תכונות Microblaze

ה תכונות של Microblaz e כולל את הדברים הבאים. יש לו 32 אוגרים למטרות כלליות.



  • יש לו מילות הוראות של 32 סיביות כולל 2 מצבי כתובת ו-3 אופרנדים.
  • אוטובוס הכתובות הוא 32 סיביות.
  • יש לו צינור 3 שלבים או צינור 5 שלבים.
  • יחידת בלוק ALU עם שיפטר.
  • ארכיטקטורת הרווארד כוללת נתונים ואפיק כתובות של 32 סיביות.
  • ממשק נתונים והוראת LMB או אפיק זיכרון מקומי.
  • ממשקי זרם AX14 ו-AX14.
  • יחידת נקודה צפה ויחידת ניהול זיכרון.
  • הוא תומך ב-lockstep.
  • ממשק באגים ומעקב.

ארכיטקטורת Microbaze

תרשים הבלוק של מעבד MicroBlaze מוצג להלן. מעבד MicroBlaze זה ניתן להתאמה אישית במיוחד והוא תומך במעל 70 אפשרויות עיצוב. ארכיטקטורה זו מציגה תכונות חומרה קבועות כמו גם אפשרויות הניתנות להגדרה כמו ההוראות או מטמון הנתונים, יחידת ניהול הזיכרון, יחידת הנקודה הצפה וכו'.

א מערכת משובצת מחשב המורכב סביב מעבד MicroBlaze כולל בעיקר ליבת מעבד MicroBlaze, זיכרון מקומי על-שבב, חיבורי אוטובוס סטנדרטיים וציוד היקפי OPB (אוטובוס היקפי על-שבב). מערכת מעבד MicroBlaze נעה בעיקר מליבת מעבד על ידי זיכרון מקומי ועד למערכת גדולה הכוללת מספר MicroBlaze מעבדים , זיכרון חיצוני וציוד היקפי רבים של OPB.

  ארכיטקטורת מעבד Microblaze
ארכיטקטורת מעבד Microblaze

ליבת מעבד רכה

ליבת המעבד הרכה של MicroBlaze היא מרכזית במערכת המשובצת של MicroBlaze. זהו מעבד RISC מהיר ויעיל מאוד של 32 סיביות בעל התכונות הבאות.

  • ערכת ההוראות היא אורתוגונלית.
  • אוטובוסי נתונים והדרכה נפרדים.
  • אוגרים למטרות כלליות של 32 סיביות.
  • יש לו מעביר קנה שלם של 32 סיביות אופציונלי.
  • ממשקים מובנים לזיכרון OCM מהיר או על-שבב ו-OPB (אוטובוס היקפי על-שבב) הסטנדרטי של IBM.

הטמעות בתוך התקני Virtex-II ולאחר מכן תומכות בריבוי חומרה.

זיכרון מקומי על-שבב

הזיכרון הסינכרוני הוא זיכרון מקומי המשמש בעיקר לאפשר זיכרון RAM בלוק על-שבב.

קישורי אוטובוס סטנדרטיים

ממשקי האוטובוס בצד ההוראות והנתונים כוללים ממשק לזיכרון מקומי הנקרא LMB (Local Memory Bus) וממשק ל-On-chip Peripheral Bus של IBM. כך שנוכל לתכנן מערכות שדבקות בקפדנות בארכיטקטורת הרווארד, אחרת, כדי לחלוק משאבים, נוכל להשתמש ב-OPB יחיד בשילוב באמצעות בורר אוטובוס.

אפיק הזיכרון המקומי נותן כניסה חד-מחזורית בטוחה ל-RAM בלוק על-שבב. זהו פרוטוקול אוטובוס יעיל, פשוט ויחיד-מאסטר והוא מושלם להתממשקות לזיכרון מקומי מהיר. ה-OPB או On-Chip Peripheral Bus הוא אפיק רב-מאסטר רחב של 32 סיביות המושלם לאיחוד ציוד היקפי וזיכרון חיצוני לליבה של מעבד ה-MicroBlaze.

ציוד היקפי לאוטובוס על שבב

מערכת החומרה של MicroBlaze הושלמה על ידי ציוד היקפי של OPB כדי לספק פונקציות שונות כמו Watchdog Timer או Timebase, טיימר או מונים למטרות כלליות, IC (בקר פסיקה), בקרים שונים כמו 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 כולל שני פורמטי הוראות מסוג A ו-Type B המוצגים להלן.

פורמט הוראות מסוג A משמש בעיקר להוראות רישום-רישום. אז זה כולל את ה-opcode, יעד יחיד ושני אוגרי מקור. פורמט הוראות מסוג B משמש בעיקר להוראות מיידיות של רישום הכוללות את ה-opcode, אוגרי היעד היחיד ומקור יחיד. ומקור ערך מיידי של 16 סיביות.

  פורמטים של הוראות
פורמטים של הוראות

בשני פורמטים של הוראות לעיל, ה-opcode הוא קוד פעולה, Rd הוא אוגר יעד המקודד עם 5 סיביות, Ra & Rb הם אוגרי מקור כאשר כל אחד מקודד ב-5 סיביות ומידי הוא ערך של 16 סיביות.

הוראות חשבון

הוראות החשבון מסוג A וסוג B ניתנות להלן.

סוג א

ADD 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)

הוראות לוגיקה

הוראות הלוגיקה מסוג A ו- Type B ניתנות להלן.

סוג א

OR Rd, Ra, Rb

הגיוני או

Rd = Ra| Rb

AND 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

הגיוני OR עם מיידי

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  אממ

סניף מיידי עם עיכוב מיידי

PC = PC+ signExtend32 (Imm)

לאפשר עיכוב ביצוע חריץ

BRLID Rd, Imm

סניף וקישור מיידי עם עיכוב מיידי (שיחת פונקציה)

Rd = PC

PC = PC+& signExtend32 (Imm)

לאפשר עיכוב ביצוע חריץ

RTSD  Ra, Imm

לחזור משגרת המשנה

PC = Ra + signExtend32 (Imm)

לאפשר עיכוב ביצוע חריץ

RTID Ra, Amm

לחזור מהפרעה

PC = Ra + signExtend32 (Imm)

לאפשר עיכוב ביצוע חריץ

הגדר הפעלת פסיקה ב-MSR

הוראות סניף- ללא תנאי1

שנה את רישום מונה התוכניות כאשר תנאי מתקיים

BEQI Ra, Amm

סניף אם שווה

PC = PC+ signExtend32 (Imm)

אם Ra = = 0

MASH Ra, אממ

סניף אם לא שווה

Rd = PC

PC = PC+& signExtend32 (Imm)

אם רא! = 0

הוראות סניף- ללא תנאי2

שנה את רישום מונה התוכניות כאשר תנאי מתקיים

BLTI  Ra, Imm

סניף אם נמוך מ

PC = PC+ signExtend32 (Imm)

אם Ra < 0

BLEI Ra, Amm

ענף אם נמוך שווה מ

Rd = PC

PC = PC+& signExtend32 (Imm)

אם Ra!< = 0

BGTI Ra, אממ

סניף אם גדול מ

PC = PC+ signExtend32 (Imm)

אם Ra!> 0

BGEI Ra, אממ

סניף אם גדול שווה מ

PC = PC+signExtend32 (Imm)

אם Ra!>= 0

הוראות טעינה/חנות -סוג A

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 של הוראה קודמת מסוג B ל-32 סיביות.
MFS Rd, Sa

מעבר ממרשם ייעודים מיוחדים

Rd = Sa

Sa- רישום מיוחד, אופרנד מקור

MTS Sd, Ra

מעבר לפנקס ייעודים מיוחדים

Sd = Ra

Sd – פנקס למטרות מיוחדות, אופרנד יעד

רושמים

הארכיטקטורה של מעבד ה-MicroBlaze היא אורתוגונלית לחלוטין הכוללת אוגרים למטרות כלליות של 32 סיביות ורגיסטרים מיוחדים של 32 סיביות כמו Program Counter & Machine Status Register.

אדריכלות צינור

MicroBlaze משתמש בארכיטקטורת צנרת בת 3 שלבים הכוללת אחזור, פענוח ושלבים שלמים. באופן אוטומטי, העברת הנתונים, הסניפים ותיקיית הצינור נקבעים בתוך החומרה.

טען או חנות ארכיטקטורה

MicroBlaze תומך בזיכרון בשלושה גדלי נתונים 8 סיביות (בייט), 16 סיביות (חצי מילה) ו-32 סיביות (Word). אז, גישה לזיכרון תמיד מיושרת בגודל הנתונים. זהו מעבד Big-Endian המשתמש בכתובת של ה-Big-Endian וכן במוסכמות תיוג לאחר גישה לזיכרון.

מפריע

ברגע שמתרחשת פסיקה, אז המעבד הזה יסיים את הביצוע הנוכחי כדי לנהל את בקשת ההפסקה באמצעות הסתעפות כדי להפסיק כתובת וקטור ולאחסן את כתובת ההוראה שיש לבצע. מעבד זה יעצור שיבושים עתידיים על ידי ניקוי דגל ה-IE (הפעלת פסיקה) בתוך MSR (Machine Status Register).

איך Microblaze עובד?

מעבד MicroBlaze תומך ברוחב אפיק של 32 סיביות וליבת מעבד זו היא מנוע מבוסס RISC הכולל קובץ רישום המבוסס על 32 סיביות LUT RAM דרך הוראות נפרדות לגישה לזיכרון ולנתונים.
מעבד זה פשוט תומך גם ב-BlockRAM על-שבב וגם בזיכרון חיצוני. בדומה ל-IBM PowerPC; כל הציוד ההיקפי משתמש באפיק CoreConnect OPB הדומה כך; הציוד ההיקפי של המעבד תואם היטב ל-PowerPC ב-Virtex-II Pro.

מעבד MicroBlaze מספק גמישות מלאה לבחור את השילוב של תכונות זיכרון, ציוד היקפי וממשק שיספקו לך את המערכת המדויקת שאתה צריך ב-FPGA יחיד בעלות נמוכה יותר.

הבדל B/W Microblaze לעומת Risc-V

ה ההבדל בין MicroBlaze ל-RISC v כלול את הבאים.

Microblaze

Risc-V

זוהי ליבת מיקרו-מעבד רכה המיועדת בעיקר עבור Xilinx FPGA.

RISC-V היא ארכיטקטורת ערכת הוראות המושרשת בעקרונות RISC.

הוא משתמש בארכיטקטורת הרווארד RISC. הוא משתמש בארכיטקטורת ערכת הוראות.
הרישיון שלה הוא קנייני (Xilinx) הרישיון שלה הוא קוד פתוח.
עומק הצינור הוא 3 או 5. עומק הצינור הוא 5.
הביצועים שלו הם 280 DMIPs. הביצועים שלו הם 250 DMIPs.
המהירות שלו היא 235 מגה-הרץ. המהירות שלו היא 250 מגה-הרץ.
יש לו 1027 LUTs. יש לו 4125 LUTs.
היישום של הטכנולוגיה בה נעשה שימוש הוא Xilinx FPGA. היישום של הטכנולוגיה המשמשת הוא FPGA/ASIC.

יתרונות Microblaze

ה היתרונות של MicroBlaze כלול את הבאים.

  • זה חסכוני.
  • זה מאוד ניתן להגדרה.
  • הביצועים שלו גבוהים בהשוואה ל-ARM.
  • הוא נתמך על ידי ערכת פיתוח משובצת.
  • זה רך מיקרו - מעבד הליבה.
  • כדי לסייע לך בסידור מהיר של היישום שלך, מעבד זה כולל שלוש תצורות קבועות הקשורות למחלקות מעבדים ידועות, מיקרו-בקר, זמן אמת ומעבד יישומים.

יישומי Microblaze

ה יישומים של MicroBlaze כלול את הבאים.

  • מעבד זה עונה על דרישות יישומים רבות ושונות כמו תעשייה, רכב, רפואה וצרכנות וכו'.
  • היישומים של MicroBlaze נעים ממכונות מצב פשוטות המבוססות על תוכנה ועד לבקרים מורכבים המשמשים ביישומים משובצים או במכשירים מבוססי אינטרנט.
  • הוא מותאם ליישומים משובצים כמו בקרה תעשייתית, אוטומציה משרדית ורכב.
  • ה-MicroBlaze מסוגל לתקשר עם סט גדול של ציוד היקפי כדי להתאים ליישומים בקנה מידה בינוני.
  • האופי הרך של המעבד הזה הופך אותו להתאמה אישית עבור יישומים שונים שבהם מעצבים יכולים להחליף תכונות לפי גודל כדי לעמוד ביעדי מחיר וביצועים עבור יישומי רפואה, רכב, תעשייה ואבטחה.

לפיכך, מדובר בסך הכל סקירה כללית של ה-Microblaze מעבד. זוהי ליבת מעבד רכה RISC ניתנת לתכנות של 32 סיביות עם כל התכונות. מעבד זה עונה על דרישות שונות בתחומים שונים כמו שווקי תשתית צרכנים, רפואיים, תעשייתיים, רכב ותקשורת. הוא ניתן להגדרה בצורה יוצאת דופן, ולכן משמש כמעבד או מיקרו-בקר מוטבע בתוך FPGAs, אחרת כמו מעבד משותף ל-ARM. הנה שאלה בשבילך, מה זה FPGA?