logo

מהי ALU (יחידת לוגיקה אריתמטית)?

במערכת המחשוב, ALU מהווה מרכיב עיקרי ביחידת העיבוד המרכזית, ראשי תיבות של יחידת לוגיקה אריתמטית ומבצעת פעולות אריתמטיות ולוגיות. היא ידועה גם כיחידה שלמה (IU) שהיא מעגל משולב בתוך CPU או GPU, שהוא הרכיב האחרון שמבצע חישובים במעבד. יש לו את היכולת לבצע את כל התהליכים הקשורים לפעולות אריתמטיות ולוגיות כגון פעולות חיבור, חיסור והסטה, כולל השוואות בוליאניות (פעולות XOR, OR, AND ו- NOT). כמו כן, מספרים בינאריים יכולים לבצע פעולות מתמטיות ופעולות סיביות. היחידה הלוגית האריתמטית מפוצלת ל-AU (יחידה אריתמטית) ו-LU (יחידה לוגית). האופרנדים והקוד המשמשים את ה-ALU אומרים לו אילו פעולות יש לבצע בהתאם לנתוני הקלט. כאשר ה-ALU מסיים את עיבוד הקלט, המידע נשלח לזיכרון המחשב.

מה זה ALU

מלבד ביצוע חישובים הקשורים לחיבור וחיסור, ALUs מטפלים בכפל של שני מספרים שלמים כפי שהם מתוכננים לבצע חישובים שלמים; לפיכך, התוצאה שלו היא גם מספר שלם. עם זאת, פעולות חלוקה בדרך כלל לא יבוצעו על ידי ALU מכיוון שפעולות חלוקה עשויות להניב תוצאה של מספר נקודה צפה. במקום זאת, יחידת הנקודה הצפה (FPU) בדרך כלל מטפלת בפעולות החלוקה; חישובים אחרים שאינם שלמים יכולים להתבצע גם על ידי FPU.

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

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

Java להחליף הכל

למרות שה-ALU הוא מרכיב עיקרי במעבד, העיצוב והתפקוד של ה-ALU עשויים להיות שונים במעבדים השונים. במקרה, חלק מה-ALUs מתוכננים לבצע חישובים שלמים בלבד, וחלקם מיועדים לפעולות נקודה צפה. מעבדים מסוימים כוללים יחידה לוגית אריתמטית אחת לביצוע פעולות, ואחרים עשויים להכיל מספר ALUs להשלמת חישובים. הפעולות שמבצע ALU הן:

    פעולות לוגיות:הפעולות הלוגיות מורכבות מ- NOR, NOT, AND, NAND, OR, XOR ועוד.פעולות העברת סיביות:הוא אחראי לתזוזה במיקומי הביטים ימינה או שמאלה במספר מסוים של מקומות הידועים כפעולת הכפל.פעולות אריתמטיות:למרות שהוא מבצע כפל וחילוק, זה מתייחס לחיבור וחיסור סיביות. אבל פעולות הכפל והחילוק יקרות יותר לביצוע. במקום הכפל ניתן להשתמש בחיבור כתחליף וחיסור לחילוק.

אותות יחידה לוגית אריתמטית (ALU).

מגוון חיבורי קלט ויציאה חשמליים מכילים ה-ALU, מה שהוביל ליציקת האותות הדיגיטליים בין האלקטרוניקה החיצונית ל-ALU.

קלט ALU מקבל אותות מהמעגלים החיצוניים, ובתגובה, אלקטרוניקה חיצונית מקבלת אותות פלט מ-ALU.

נתונים: ה-ALU מכיל שלושה אוטובוסים מקבילים, הכוללים שני אופרנד קלט ופלט. שלושת האוטובוסים הללו מטפלים במספר האותות, שהם זהים.

קוד אופציה: כאשר ה-ALU עומד לבצע את הפעולה, מתואר על ידי קוד בחירת הפעולה איזה סוג פעולה ה-ALU הולך לבצע פעולה אריתמטית או לוגית.

סטָטוּס

זוויות סמוכות
    תְפוּקָה:התוצאות של פעולות ה-ALU מסופקות על ידי פלטי המצב בצורה של נתונים משלימים מכיוון שהם אותות מרובים. בדרך כלל, אותות מצב כמו גלישה, אפס, ביצוע, שלילי ועוד כלולים על ידי ALUs כללי. כאשר ה-ALU מסיים כל פעולה, האוגרים החיצוניים הכילו את אותות פלט המצב. אותות אלו מאוחסנים באוגרים החיצוניים שהובילו להפיכתם לזמינים עבור פעולות ALU עתידיות.קֶלֶט:כאשר ALU פעם אחת מבצעת את הפעולה, כניסות המצב מאפשרות ל-ALU לגשת למידע נוסף כדי להשלים את הפעולה בהצלחה. יתר על כן, ביצוע מאוחסן מפעולת ALU קודמת ידוע כסיבית 'carry-in' אחת.
מה זה ALU

תצורות של ALU

התיאור של אופן האינטראקציה של ALU עם המעבד ניתן להלן. כל יחידה לוגית אריתמטית כוללת את התצורות הבאות:

  • ארכיטקטורת ערכת הוראות
  • מַצבֵּר
  • לַעֲרוֹם
  • הרשמה כדי להירשם
  • הרשמה מחסנית
  • רישום זיכרון

מַצבֵּר

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

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

לַעֲרוֹם

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

ארכיטקטורת רישום-רישום

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

שרשרת מחרוזת

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

pd מיזוג

הרשמה - Stack Architecture

בדרך כלל, השילוב של פעולות Register ו-Accumulator ידוע בשם Register - Stack Architecture. הפעולות שיש לבצע ב-register-stack Architecture נדחפות לחלק העליון של המחסנית. והתוצאות שלו מתקיימות בראש הערימה. בעזרת שימוש בשיטת הפוליש ההפוכה ניתן לפרק פעולות מתמטיות מורכבות יותר. כמה מתכנתים, כדי לייצג אופרנדים, משתמשים במושג של עץ בינארי. זה אומר שמתודולוגיית הליטוש ההפוכה יכולה להיות קלה למתכנתים אלה, בעוד שהיא יכולה להיות קשה למתכנתים אחרים. כדי לבצע פעולות Push ו-Pop, יש צורך ליצור חומרה חדשה.

רישום וזיכרון

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

היתרונות של ALU

ל-ALU יתרונות שונים, שהם כדלקמן:

  • הוא תומך בארכיטקטורה מקבילה ובאפליקציות עם ביצועים גבוהים.
  • יש לו את היכולת לקבל את התפוקה הרצויה בו זמנית ולשלב משתני מספר שלם ומשתני נקודה צפה.
  • יש לו את היכולת לבצע הוראות על סט גדול מאוד ויש לו טווח דיוק גבוה.
  • ניתן לשלב שתי פעולות אריתמטיות באותו קוד כמו חיבור וכפל או חיבור וחיסור, או כל שני אופרנדים על ידי ה-ALU. למקרה, A+B*C.
  • לאורך כל התוכנית הם נשארים אחידים, והם מרווחים בצורה שהם לא יכולים להפריע לחלק ביניהם.
  • באופן כללי, זה מהיר מאוד; לפיכך, הוא מספק תוצאות במהירות.
  • אין בעיות רגישות ואין בזבוז זיכרון עם ALU.
  • הם זולים יותר וממזערים את דרישות השער ההגיוני.

חסרונות של ALU

החסרונות של ALU נדונים להלן:

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