יחידה אריתמטית-לוגית
יחידה אריתמטית-לוגית (או בקיצור ALU) היא יחידה ביצועית חשובה הקיימת בכל יחידת עיבוד מרכזית הבנויה ממעגל אלקטרוני דיגיטלי. היחידה האריתמטית-לוגית מסוגלת לחשב את תוצאותיהן של מגוון רחב של פעולות אריתמטיות בסיסיות. כמעט כל היחידות הארתמטיות-לוגיות המודרניות משתמשות בשיטת המשלים ל-2 בייצוג מספר בינארי וכולן מבוססות על מחברים לוגיים.
פעולות היחידה
[עריכת קוד מקור | עריכה]רוב היחידות האריתמטיות-לוגיות מסוגלות לבצע את הפעולות הבאות, בהתאם לפקודות הניתנות להן:
- חישובים אריתמטיים במספרים שלמים (חיבור, חיסור, לעיתים כפל) לחישוב כתובות ולתוצאות חישוב כלליות.
- פעולות בינאריות לוגיות (AND, OR, NOT, XOR).
- פעולות הסטת סיביות (הזזה אחת בפעימת שעון אחת באמצעות אוגר הזזה בדגמים מוקדמים ומספר הזזות בפעימה אחת באמצעות יחידת הזזה(אנ')).
אוגר הדגלים מכיל מידע נוסף על תוצאה של פעולה אחרונה המשמש לביצוע מותנה של פקודות שפת סף של מעבד. יחידות אריתמטיות-לוגיות סטנדרטיות רבות אינן מטפלות בפעולות חילוק או כל חישוב נקודה צפה, היות שאלו ניתנים לאלתור ברמת תוכנה. המעבדים החדישים יותר מיישמים יחידת נקודה צפה המטפלת במטלות אלו.
רוב פעולות המעבד מבוצעות על ידי ALU אחד או יותר. ה-ALU טוען נתונים מאוגרי הכניסה, יחידת בקרה חיצונית נותנת הוראה ל-ALU לבצע פעולה אריתמטית מסוימת על הנתונים, ותוצאת החישוב נאגרת באוגר הפלט. קיימים מעגלים המבצעים העברות בין האוגרים ובינם לזיכרון.