- ארכיטקטורות מעבד
- אדריכלות ערכת הוראות RISC ו- CISC
- מחשוב מערך הוראות מורכבות (CISC)
- מחשוב ערכות הוראה מופחת (RISC)
מערכת משובצת היא הלב והליבה של רוב המוצרים האלקטרוניים הקיימים בשוק. זה הטמעת הנדסה שבה החומרה פוגשת את התוכנה. אנו מוקפים בעולם של מערכות משובצות, עם מיני מחשבים במנעולי דלת ביומטריים, מטוסים, מכוניות, קוצבי לב וכו '. משאבים אלו מוגבלים, מערכות קטנות, חכמות ועוצמתיות עוזרות לנו במשימות היומיומיות שלנו.
אי פעם שקלתי כיצד הגוף שלנו מתפקד, מערכות העצבים, המוח והיכולת לריבוי משימות. אם תשלב את כל הפונקציות הללו, היית מקבל תמונה גסה של מערכת משובצת ביולוגית. מוחנו מסתיר את הפרט המורכב של תפקודו המתרחש בתוכו אך עם זאת מאפשר לנו לשלוט בו עד למקסימום פוטנציאל. אותה מורכבות חלה על המעבד או הבקר המשמשים במערכות משובצות. הם מסתירים פרטים מורכבים ומספקים לנו ממשק ברמה גבוהה לעבוד עליו. לרמת ההפשטה, ניתן לקשר כיצד הקוד להוספת שני מספרים בשפת תכנות גבוהה גורם לרישומים שבבים להתמודד עם ביטים ולהחזיר פלט למשתמש.
ארכיטקטורות מעבד
יחידת העיבוד המרכזית, המתייחסת הן למיקרו-מעבד והן למיקרו-בקר, מבצעת משימות ספציפיות בעזרת יחידת בקרה (CU) ויחידה לוגית אריתמטית (ALU). כאשר ההוראות מועברות מזיכרון RAM, המעבד פועל בעזרת שתי יחידות העזרה שלו על ידי יצירת משתנים והקצאת ערכים וזיכרון. חשוב באמת לדעת כיצד המעבד מבצע את כל הפעולות הללו בעזרת הארכיטקטורה שלו. אם אתה רוצה לדעת יותר על אופן פעולתו של מיקרו-בקר, תוכל לקרוא את המאמר הבסיסי הזה של מיקרו-בקר.
לכל מעבד יש זיכרון המשויך לאחסון התוכנית והנתונים. תוכנית ונתונים עובדים עם המעבד כדי להשיג את הפלט. התוכנית מספקת את ההוראות בזמן שהנתונים מספקים את המידע שיש לעבוד עליו. כדי לגשת לתוכנית ולמעבד המשתמשים באוטובוסים, האוטובוסים האלה הם חוטים, ליתר דיוק אלה הם עקבות התיל כפי שראיתם אולי על המעגלים המודפסים. במהלך שנים אלה מיקרו-בקרים ומיקרו-מעבדים התפתחו על ידי התאמת ארכיטקטורות שונות, בהתבסס על דרישות היישום או התכנון הבחירה במיקרו-בקר מושפעת מסוג האדריכלות המשמשת בו. בואו נסתכל על האדריכלות הפופולריות.
אדריכלות פון-נוימן / פרינסטון
האופן שבו המעבד מקבל גישה לתוכנית ולנתונים, מספר על הארכיטקטורה של המעבד. מוקדם יותר נעשה שימוש באוטובוס יחיד לקבלת גישה לתוכנית ולנתונים. סוג זה של אדריכלות מכונה ארכיטקטורת פון נוימן או יותר פשוט אדריכלות פרינסטון. אוטובוס יחיד לקבלת קוד ונתונים פירושו שהם באים להפריע זה לזה ולהאט את מהירות העיבוד של המעבד מכיוון שכל אחד מהם היה צריך לחכות לשני שיסיים את האחזור. מגבלה זו מכונה גם מצב צוואר הבקבוק פון-נוימן.
אדריכלות הרווארד
כדי לזרז את התהליך הוצע הרווארד אדריכלות. בארכיטקטורה זו קיימים אוטובוסי נתונים נפרדים עבור נתונים ותוכניות. אז זה אומר שהארכיטקטורה הזו הציעה את השימוש בארבעה אוטובוסים
- קבוצה של אוטובוס נתונים המעביר את הנתונים אל תוך המעבד ומחוצה לו.
- ערכת אוטובוס כתובות לגישה לנתונים.
- קבוצה של אוטובוס נתונים להובלת קוד למעבד.
- אוטובוס כתובות לגישה לקוד.
השימוש באפיק כתובות ובאפיק נתונים נפרדים פירושו זמן ביצוע נמוך עבור המעבד, אך הדבר כרוך במחיר המורכבות בתכנון האדריכלות. הארכיטקטורה של פון נוימן אולי נשמעת קצת עצלה אבל יש לה את היתרון של העיצוב הפשוט שלה.
ארכיטקטורת הרווארד קלה בהרבה ליישום כאשר המעבד ויחידות הזיכרון חולקים את אותו שטח או שה- RAM וה- ROM מובנים (על שבב) עם יחידת העיבוד, כמו למשל במיקרו-בקר בו המרחקים הם מיקרונים ומילימטרים. עם זאת, אותה ארכיטקטורה קשה ליישום כאשר הזיכרון המחזיק את הקוד הוא חיצוני ליחידת העיבוד כמו זו שבמחשבי x86 של IBM. קבוצה של עקבות חוט נפרדות עבור הנתונים והכתובת בלוח האם תהפוך את הלוח למורכב ויקר. בואו נבין את זה עם דוגמה למעבד.
מעבד עם אוטובוס נתונים של 64 סיביות ואוטובוס כתובות של 32 סיביות יצטרך כ- 100 אוטובוסים (96 עבור נתוני אוטובוס וכתובות ומעטים אחרים עבור אותות הבקרה) לצורך הטמעת ארכיטקטורת Von-Neumann. אותו מבנה אם יושם בארכיטקטורת הרווארד יעלה למעקב אחר החוטים הכפולים כ- 200 עם מספר גדול של פינים שיוצאים מהמעבד. מאותה סיבה אנו לא רואים אדריכלות טהורה של הרווארד המיושמת עבור מחשבי PC ותחנות עבודה. במקום זאת, נעשה שימוש בארכיטקטורת הרווארד שונה בה נעשה שימוש בהיררכיית זיכרון עם זיכרון מטמון מעבד להפרדת התוכנית והנתונים. היררכיית זיכרון מפרידה בין האחסון על בסיס ההיררכיה של זמן התגובה של התהליכים.
אדריכלות מערך הדרכה
כאשר התוכנית (הקוד) נטענת בזיכרון המערכת (זיכרון RAM) היא נאספת על ידי המעבד (הכוונה הן למעבד והן למיקרו-בקר) כדי לפעול על פי הנתונים, זה דומה בהרבה כאשר אנו נותנים הוראות כאשר אנו מכשירים את הכלב פעולות ופקודות מסוימות. כאשר ההוראות האלה פועלות על טרנזיסטורים מסוימים עוברת מרמת לוגיקה אחת לאחרת כדי לגרום לזה לקרות. אז בעצם בעזרת הוראות המתכנת האנושי מתקשר עם המעבד. לכל מעבד ערכת הוראות משלה, אוסף הוראות המבוסס על הארכיטקטורה והיכולות שלו.
המעבד מבין הוראות אלו השילוב של 0 ו 1 הם אשר ידועים גם בתור opcode. עבור מתכנת אנושי, באמת קשה לזכור את השילוב בין 0 ל -1 לכל הוראה שקשורה למעבד. כדי להקל על עבודתו של מתכנת אנושי, אנו מספקים ממשקים ברמה גבוהה של הוראות אלו והמהדר ממיר אותם בצורה של 0 ו- 1 לצורך עיבודו. גם במערך ההוראות של כל מעבד, יש לו מספר הוראות מוגבל שהוא יכול להבין.
ביצועי מעבד
אולי שמעת את קצב השעון של המעבד הקשור לביצועי המעבד. למעבדים יש בדרך כלל קצב שעון ב- MHz (מגה-הרץ) או GHz (Giga-Hertz) כמו קצב שעון של 25 GHz. המספר המשויך לקצב השעון מספר כמה פעמים השעון בתוך המעבד מתקתק במחזורים לשנייה. ניתן להבין את המעשיות של קצב השעון בכך שההוראות מבוצעות על סמך מחזורי השעון של המעבד הפרופורציונלי למספר התוכניות שמעבד יכול להריץ בכל פעם.
הביצועים של המעבד תלויה במספר ההוראות שהיו כתובים התוכנית, יותר את ההוראות, יותר הזמן שלקח המעבד לבצע אותם. זה תלוי גם במספר מחזורי השעון בהם מבוצעת כל הוראה, הוראות מסוימות זקוקות לביצוע מחזורי שעון רבים יותר מאחרים ולכן הם מאחרים בביצועי המעבד. הוראות בתוכנית ומחזורים הנדרשים לביצוע כל הוראה הם ביחס הפוך זה לזה. שינוי אחד ישפיע על השני. זו הנקודה בה מחולק תעשיית המעבדים.
אדריכלות ערכת הוראות RISC ו- CISC
כאמור לעיל הביצוע של התוכנית וביצועי המעבד תלוי במספר ההוראות בתוכנית בה ההוראות מוצעות למעבד המסוים הזה כחלק מערכת ההוראות והגורם השני הוא מספר מחזורי השעון ב אשר כל הוראה מבוצעת. בהתבסס על שני גורמים אלה קיימים כיום שתי מערך הוראות. המוקדם שבהם הוא מחשוב קבוצות הוראה מורכבות (CISC) ואילו השני הוא מחשוב קבוצות הוראה מופחת (RISC). בואו נדון בכל אחת מהארכיטקטורות הללו בפירוט כדי להבין את ההבדל בין RIC לאדריכלות CISC.
מחשוב מערך הוראות מורכבות (CISC)
CISC מייצג מחשוב מערך הוראות מורכבות. המניע העיקרי של CISC הוא לצמצם את מספר ההוראות שמבצעת תוכנית, זה נעשה על ידי שילוב של הוראות פשוטות רבות כמו מצב כתובת, טעינה וכו 'וליצור הוראה מורכבת אחת. הוראת CISC כוללת סדרה של הוראה פשוט כמו גם כמה הוראות מיוחדות שלוקחת יותר מ מחזור שעון אחד לבצע. הוראות ה- CISC יכולות לעבוד ישירות על הזיכרון ללא התערבות של רושמים, מה שאומר שהיא מבטלת את הצורך בכמה הוראות בסיסיות כמו טעינת ערכים ודרישת זיכרון (RAM). הוראות CISC מדגישות יותר חומרה מאשר תוכנה, מה שאומר שבמקום להעמיס על המהדרים,CISC משתמש בטרנזיסטורים כחומרה כדי לפענח ולהטמיע הוראות. עם זאת, מכיוון שההוראה מורכבת ומורכבת משלבים מרובים, הן מבוצעות במספר רב יותר של מחזורי שעון.
אנלוגיה פשוטה להתייחס הוא כשאומרים לכם לפתוח את הספר ולקרוא את 3 rd 2 של הפרק nd הדף. בסדרה זו של פעילויות, אתה עושה מספר צעדים כמו מציאת הספר מהתיק שלך מאשר דשדוש דף לפרק 3 ולאחר מכן הולך 2 nd בדף של פארק ולאחר מכן להתחיל לקרוא. סדרת צעד אם משולבים פקודה יחידה של קריאת דף 44 (המהווה את 2 nd מספר העמוד של 3 rd הפרק), אנחנו מקבלים הוראה CISC.
מחשוב ערכות הוראה מופחת (RISC)
השבב המשולב הראשון תוכנן על ידי ג'ק קילבי בשנת 1958 שהיה מתנד ובשנת 1970 יצא המיקרו-מעבד המסחרי הראשון מאינטל. למרות שבתחילת המעבדים לא היה CISC. אך עם דרישות המחשוב הכבדות, ארכיטקטורת CISC נעשתה מורכבת יותר וקשה להתמודד. תכנון מחודש של ארכיטקטורת CISC המכונה RISC יצא מ- IBM על ידי ג'ון קולה. כך כדי להבדיל בין שני הארכיטקטורות הונהגו המונחים RISC ו- CISC.
RISC מייצג מחשוב ערכות הוראה מופחת. המניע העיקרי של RISC היה להכניס אחידות בגודל וביצוע הוראות. זה נעשה על ידי הצגת מערך הוראות פשוט שיכול להתבצע כהוראה אחת לכל מחזור. זה נעשה על ידי שבירת הוראות מורכבות כמו טעינה ואחסון בהוראות שונות, כאשר לכל הוראה נדרש מחזור שעון אחד לביצוע. אדריכלות RISC כולל הוראות פשוטות באותו גודל אשר יכולים להתבצע תוך מחזור שעון יחיד. מכונות מבוססות RISC זקוקות ליותר זיכרון RAM מאשר CISC כדי להחזיק את הערכים כאשר היא מעמיסה כל הוראה לרשמים. ביצוע הוראות בודדות לכל מחזור מעניק למכונות מבוססות RISC יתרון בצנרת(צינור הוא התהליך בו נטענת ההוראה הבאה לפני ביצוע ההוראה הראשונה, זה מגביר את יעילות הביצוע). אדריכלות RISC מדגישה