RX – השיא הבא בתהליך האבולוציה של בקרי המיקרו

מיקרו בקר RXמאת: אמיר שרמן, ארו ישראל

חברת Renesas שלפה את השד מהבקבוק וזאת בכדי לאפשר למהנדסים להגשים את חלומותיהם הפרועים לגבי בקרי המיקרו של הדור הבא.
עבור האחד אלו הם ביצועים רבים יותר, עבור השני זו אינטגרציה גבוהה ואילו עבור השלישי זהו זיכרון ההבזק המשופר. ויש עוד רבים שכמהים לצפיפות קוד גדולה או לאפשרויות בחירה רבות יותר.
הפיה הטובה העניקה לכולם את שביקשו ונתנה להם את המיקרו בקר RX.
משפחת בקרי המיקרו RX נולדה ממחקר מעמיק המבוסס על עשרות שנות ניסיון והקשבה ערה “לקול הלקוחות”. RX מכוונת ללב ליבו של תחום בקרי המיקרו, כאשר בקרי R8C מתחת ובקרי SH מעל. RX פועלת ב–32 סיביות ומשתמשת בארכיטקטורת Harvard של מחשב CISC להשגת צפיפות קוד גבוהה ביותר עם ביצועי 1.65 MIPS למגה–הרץ. כל מוצרי RX מיוצרים בתהליך Flash משובץ של 90 ננו–מטר האמין של Renesas, המאפשר קוד עם זמן המתנה אפס עד 100 מגה–הרץ.
נראה שמשפחת הבקרים תתרחב במהירות, שכן ביסודה עומדת תפישה מבוססת פלטפורמה המאפשרת פיתוח מוצרים חדשים תוך שישה חודשים בלבד. הדוגמה הראשונה למימוש היא בקרת מנוע עם 15 מוצרים. מתוך מחשבה על עשרות הלקוחות המשתמשים בבקרים H8 ו–M16C, תוכננה משפחת RX במטרה לאפשר הגירה קלה. עם משפחת הבקרים משמשות מערכות היקפיות ראויות וכאלו שפעולתן הוכחה.

ארכיטקטורת Harvard במחשב CISC
משפחת RX מתבססת על ארכיטקטורת Harvard מורחבת. לארכיטקטורות אלו יש זיכרונות ואפיקים נפרדים לפקודות ולנתונים, ולכן הגישה לנתונים והבאת הפקודות יכולות להתבצע בו זמנית. החיסרון של ארכיטקטורת Harvard קלאסית הוא בעובדה שנתונים קבועים מאוחסנים במרחב הקוד ויש להעבירם למרחב הנתונים (זיכרון RAM) לאחר אתחול. באופן כזה, מתארך זמן האתחול ומתבזבז שטח יקר בזיכרון RAM. לארכיטקטורת Von–Neumann הקלאסית יש זיכרון ואפיק משותפים לקוד ולנתונים, עובדה שמבטלת את החיסרון האמור, על אף שהמחיר הוא ארכיטקטורה איטית יותר. הרחבות RX מנצלות את היתרונות שבשני העולמות – האפיקים הנפרדים (גם ברוחב 64 סיביות לקוד) והזיכרון המאוחד שבמשפחת RX הופכים אותה למהירה כמו ארכיטקטורת Harvard מחד, וחסכונית במשאבי זיכרון כמו ארכיטקטורת Von–Neumann מאידך.
מחקרים בדקו את ההשפעה שיש למספר האוגרים (register) על המהירות, הקוד וגודל השבב. החיפוש אחר מספר האוגרים האידיאלי שמתאים לשימושים כלליים נעשה עם קוד לקוחות. המחקר גילה ששימוש בשמונה אוגרים גורם לפגיעה משמעותית בביצועים ולקוד גדול ללא צורך. ככל שעלה מספר האוגרים, התכווץ גודל הקוד והשתפרו הביצועים, אבל גודל השבב ומורכבותו גדלו. לדוגמה, אורך פקודת חיבור (ADD) הוא שני בתים והיא יכולה לקודד 16 אוגרים. אם מספר האוגרים היה גדול מ–16, גודל הפקודה היה גדל בביית נוסף על מנת להתאים לאוגרים הנוספים. גודל השבב היה גדל, כדי לפצות על גודל הפקודה שגדל, על לוגיקת פענוח הקידוד ועל גורמים קשורים אחרים. מסקנת המחקר הייתה שמבנה של 16 אוגרי 32 סיביות (R0 עד R15) הוא הפשרה המתאימה ביותר שמספקת את הביצועים הטובים עם גודל קוד מתאים ביותר אל מול שטח הסיליקון.

האוגרים R1 עד R15 יכולים לשמש לנתונים או לכתובות. R0 יכול להיות מצביע מחסנית (SP) או להתאים לשימוש כללי. פעולת מצביע המחסנית ממותגת באמצעות סיבית שנמצאת במילת מצב המעבד (PSW), לבחירה בין מצביע מחסנית הפסיקות (ISP) למצביע מחסנית המשתמש (USP). לליבת היע”מ (CPU) של RX יש יחידת נקודה צפה (FPU). מימוש יחידה זו נחשב מתוחכם, שכן היא משתמשת באוגרי היע”מ ולא בקבוצת אוגרים ייעודית. כך נמנעת תקורת תקשורת שקיימת במימושים רגילים. יחידת FPU תומכת בחיבור, כפל, חילוק וחיסור ובהמרת מספרים שלמים.
עבור נתונים במספרים שלמים מציע היע”מ של RX יחידות חישוב נוספות כגון מכפל, מחלק ומזיז תוף (barrel shifter) אשר תומכות באלגוריתמי DSP. גורם חשוב נוסף הוא התגובה המהירה לפסיקות. לליבת RX יש מערכת פסיקות גמישה, המאפשרת כיוון עדין של פעולת הבקר באופן אופטימלי ליישום, עם שלושה סוגי פסיקה שונים:
•פסיקה רגילה
•פסיקה מהירה
•פסיקה מהירה ביותר
הפסיקות הרגילות מאחסנות את האוגרים במחסנית באמצעות פקודות דחיפה ושליפה (push/ pop) ומשחררות את האוגרים לשימוש בשגרת הפסיקות. פסיקות מהירות יגרמו לאחסון אוטומטי של מונה התוכנית ומילת מצב המעבד באוגרי גיבוי מיוחדים וזמן התגובה מהיר יותר. פסיקות מהירות ביותר מקצות עד ארבעה מהאוגרים לשימוש ייעודי של הפסיקה. התגובה לפסיקה יכולה להיות מהירה עד חמישה מחזורי אות שעון.
במבנה קיימים חמישה אפיקים פנימיים כדי להבטיח שהטיפול בנתונים לא יואט בשל צווארי בקבוק. אפיק הפקודות ברוחב 64 סיביות והאפיקים האחרים בגודל 32 סיביות. המבנה תומך באפיק ייעודי אחד לכל העברת DMA, DTC (בקרת העברת נתונים) ו–E–DMA (DMA ברשת Ethernet).
ל–RX600 יש מודול DMA נוסף, XDMA, שיכול להעביר באופן ישיר נתונים בין שני מקורות חיצוניים במחזור אפיק יחיד. למשל, האפיק יכול לשמש להעברה של נתוני תמונה שמאוחסנים בזיכרון SRAM חיצוני אל מסך TFT, ללא התערבות בפעולת היע”מ.
הבאת פקודות מתבצעת דרך אפיק 64 סיביות ובשל האורך המשתנה של הפקודות המשמשות בארכיטקטורות CISC, נטענות במחזור יחיד של אות השעון אחת עד שמונה פקודות. הפקודות מוזנות לצינור עיבוד (pipeline) בחמש דרגות עם ארבעה תורי פקודות בשמונה בתים. טעינת הפקודות לתורים נמשכת עד למילויים, בלי קשר להשלמת שלב פענוח הקידוד שלהן.
הפקודות המשמשות לעתים קרובות קצרות מכדי לשמור על קוד קטן, ופקודות רבות מתבצעות לכן במחזור יחיד של אות השעון, למען האצת ביצוע התוכנה. ליע”מ יש 73 פקודות בסיסיות, שמונה פקודות בנקודה צפה ותשע פקודות DSP; הוא כולל עשרה מצבי מיעון עם פעולות אוגר לאוגר, אוגר לזיכרון ופעולות בסיביות.

יחידת הגנת הזיכרון
כיום היישומים מתוכננים לסביבות שבהן יש דרישות לבטיחות, לאמינות ולאבטחה בצד מורכבות המערכת, ונדרשת לכך חומרה שתגן על שלמות המערכת מפני שינויי תוכנה לא צפויים, קוד שיצא משליטה (runaway), תקלות זיכרון ועוד. בנוסף, ככל שהתוכנה מורכבת, הפיתוח שלה מתחלק בין צוותים או חברות, והפרדה זו מונעת השחתה של קטע תקין על ידי קטע תוכנה גרוע.
יחידת חומרה כזו משולבת במשפחת RX להגנה על הזיכרון (MPU). אפשר להתייחס אליה כאל חומת אש בין קוד מערכת ההפעלה לקוד היישום. בתוכנה מסוג B ו–C, מאפשרת תכונה כזו גילוי קל של תקלות, טיפול גמיש בשגיאות ועלייה באמינות המערכת הכוללת.
יחידת MPU מציעה עד שמונה אזורים, לכל אחד זכויות גישה משלו. יחידת ההגנה הקטנה ביותר היא בת 16 בתים ואפשר להגדיר את מרחב הכתובות כולו כרקע, עם מאפייני הגנה משלו. היחידה מטפלת בחריגים עם גילוי הפרה של מאפיין הגנה והפרות כאלו מתגלות במהלך גישה לאופרנד והבאה של פקודות.
שימוש ביחידת MPU מאפשר הפרדה חדה ואמינה בין קוד קשור לבטיחות לבין קוד שאינו קשור לבטיחות. גודל הקוד קטן בהשוואה לקוד תוכנה שאנו מבקשים שתהיה בטוחה ואמינה ועם פעולת זמן אמת מובטחת.
טכנולוגיית ההספק הנמוך
של RX
שימוש בכלי תכנון מתקדמים עם טכנולוגיית 90 ננו–מטר מאפשר התאמה של תכנון היע”מ לצריכת הספק נמוכה, תוך כדי שמירה על ביצועים מרביים. כלי כזה מנתח את מסלולי התזמון החשובים ובוחר בטרנזיסטורים מהירים רק למקומות שהם נדרשים, ובטרנזיסטורים איטיים במסלולים אחרים אשר מותאמים לפעולה בהספק נמוך. מערכת מתקדמת לחלוקת אות שעון מאפשרת למשתמש להגדיר באופן דינמי את קונפיגורצית ההתקן למען צריכת הספק נמוכה ביותר בכל רגע.
כל זאת, בנוסף לטכנולוגיית MONOS המתקדמת, מאפשר למשפחת RX לספק את הביצועים הטובים ביותר, תוך צריכה של 0.3 מילי–אמפר ל–MIPS.
במצב הספק נמוך, כגון מצב המתנה עמוק (Deep Standby), הבקר יכול לבצע כמה פעולות בסיסיות והוא צורך פחות מ–20 מיקרו–אמפר.

טכנולוגיית MONOS
Renesas, המובילה בטכנולוגיות זיכרון משובץ לא נדיף (non–volatile), סיפקה במהלך השנה 1.5 מיליארד יחידות ללא תקלת אובדן נתונים. בסדרת RX600 משמשת טכנולוגיית MONOS עם זמן קריאה של 10 ננו–שניות ואמינות גבוהה הנובע ממבנה שער הניטריד הצף שאינו מוליך. בקרי המיקרו בטכנולוגיית MONOS של Renesas משמשים מזה עשר שנים ביישומים דורשניים, כדוגמת ניהול מנוע וממירים תעשייתיים.

התקנים היקפיים של RX
אחד ממוצרי RX הראשונים הוא RX62N, התקן רב שימושי עם קבוצת תכונות רחבה שמאפשרת לו לשמש בפרוייקטים רבים, גם אם מלכתחילה יש לו יכולות עודפות ולא כולן ישמשו. הרכיב מורכב מזיכרון הבזק של 512 קילו–ביית, זיכרון הבזק לנתונים של 32 קילו–ביית, זיכרון RAM של 96 קילו–ביית ומשאבים היקפיים נרחבים הכוללים (אם כי לא בלבד) חיבורי USB, CAN, Ethernet, חיבורי Port טוריים רבים מסוגים שונים, ממירי ADC ל–10 ול–12 סיביות, ממיר DAC, קוצבי זמן רבים, מודולי DMA, DTC ו–EXDMA, אתחול הפעלה, גילוי מתח נמוך ועוד.
אימות שלמות נתוני זיכרון או נתוני תקשורת טורית יכול להתבצע באמצעות יחידת CRC הכלולה בהתקן.
החברה תפתח מוצרים סטנדרטיים ייעודיים ליישום (ASSP) המיועדים לבקרת מנועים עם התקנים היקפיים מתוחכמים לשוק זה, התקנים למוני חשמל, למוצרי צריכה לבנים ולשוק הרפואי.

כלי הפיתוח למשפחת RX
משפחת RX נתמכת על ידי מהדר, מאתר שגיאות, ממשק IDE ומערכת הפעלה לזמן אמת (RTOS) ועוד ידה נטויה. ליבת RX כוללת חומרה ייעודית לניפוי שגיאות, שמאפשרת גישת זמן אמת לזיכרון, מעקב זמן אמת וחיבורי תקשורת וירטואליים לניפוי שגיאות שהוא באמת לא חודרני.
המעקב על השבב מתוגבר בדחיסת נתונים בזמן אמת המאפשרת דגימה של עד שני מיליון מחזורי ענף. כל סיבית בהודעת ענף בת 16 סיביות מייצגת פקודת ענף מותנית. אם המערכת עוברת בענף, הסיבית מופעלת ואם לא – הסיבית מאופסת.
השימוש בחיבורי התקשורת הווירטואליים בליבת RX מאפשר למתכנן להוסיף לקוד פקודות הדפסה פשוטות גם אם השתמש כבר בכל חיבורי port הטוריים של ההתקן, תכונה שאינה מצויה בהתקנים אחרים דומים שקיימים בשוק.
בקר DMA ייעודי לניפוי שגיאות מבטיח ניטור נתונים ומשתני C/C++ בזמן אמת ומאפשר יצירת נקודות עצירה (breakpoint) בחומרה, מבלי שעצירת הפעולה תידרש.

סיכום וחזון
ליבת RX מתוכננת לפעול עד 200 מגה–הרץ ועם 1.65 MIPS למגה–הרץ ומספקת מרחב רחב לשימוש בעשור הבא ולאחר מכן. חברת Renesas תמשיך להשתמש בטכנולוגיות הייצור המתקדמות ביותר ומתכננת להוציא לשוק מוצרי MONOS ב–65 ננו–מטר בשנת 2012 ולפתח מוצרי RX מבוססי MRAM בשלב מאוחר יותר.

הכתבה נמסרה באדיבות אמיר שרמן, חברת ארו ישראל, מפיצת חברת Renesas בישראל

תגובות סגורות