מעבד
מתוך ויקיפדיה, האנציקלופדיה החופשית
- ערך זה עוסק בחלק המרכזי במחשב; לערך העוסק במשמעויות אחרות של המושג, ראו מעבד (פירושונים).
מעבד, יחידת העיבוד המרכזית (CPU - Central Processing Unit), הוא החלק המרכזי במחשב, שמבצע את הפקודות המאוחסנות בזכרון המחשב. פקודות אלה הן פקודות אלמנטריות ביותר, כשכל פקודה בנויה מרצף קצר של ביטים, שמשמעותו מובנת על-ידי המעבד. רצף זה קרוי שפת מכונה. כל דגם של מעבד מתאפיין בסט הפקודות שלו.
המעבדים המודרניים (המכונים מיקרו-מעבדים) בנויים על גבי שבב אחד בודד. יכולותיו של המעבד כוללים קריאת מידע מהזיכרון או מהתקנים שונים, ביצוע פעולות מתמטיות ולוגיות על מידע זה וכתיבת תוצאות החישוב בחזרה לזיכרון או לחלופין שליחתו להתקנים חיצוניים. יכולת זו מאפשרת למעבד גמישות רבה מספיק בכדי לשמש למגוון רחב ביותר של יישומים.
מבחינה מספרית, הרוב המכריע של המעבדים המיוצרים כיום, משמשים כיחידות בקרה של מוצרי צריכה דוגמת: צגים, מדפסות, מכוניות, מכונות כביסה וכן הלאה. עם זאת, המעבדים בעלי החשיבות הרבה ביותר מבחינה טכנולוגית, בהם מתמקדים רוב מאמצי המחקר והפיתוח הם המעבדים המשמשים כיחידת עיבוד מרכזית במחשב.
תוכן עניינים |
[עריכה] רקע היסטורי
עד ראשית שנות השבעים היו מחשבים מורכבים ממספר רב של מעגלים מודפסים ותפסו נפח עצום, לעיתים אפילו קומות שלמות. נקודת המפנה החשובה ביותר הייתה פיתוח המיקרו-מעבד, שהכיל את כל החומרה הדרושה על גבי שבב יחיד. כיום כל המעבדים הנמצאים בשימוש הם מיקרו-מעבדים.
המיקרו-מעבד הראשון היה ה־4004 שפותח בשנת 1971 על ידי חברת אינטל, שעסקה עד אז בפיתוח ויצור שבבי זיכרון. במקור פותח ה־4004 עבור מחשבי כיס של חברת Busicom היפנית. שבב זה היה הראשון שגישר על הפער שבין שבבים יעודיים בעלי יכולת מוגבלת שנועדו לישום מסוים (לדוגמה מחשבי כיס) לבין יחידות עיבוד במחשבים שהיו קיימים אז, שהורכבו ממספר רב של מעגלים מודפסים שונים. יכולת החישוב של ה-4004 הייתה מוגבלת למדי והוא התבסס על פעולות של 4 סיביות בלבד, כך שלא היה מתאים לשימוש במחשב.
ה־8008 שפותח בשנת 1972 הרחיב את יכולת המעבד לעבודה על 8 סיביות, ובשנת 1974 פיתחה אינטל גירסה משוכללת יותר, ה־8080, ששימשה מאוחר יותר כיחידת עיבוד מרכזית במחשבים ביתיים.
במקביל ל-8080 פותחו גם מספר מעבדים מתחרים כגון Z80 של חברת זילוג (שהוקמה על ידי אחד המהנדסים שהיה אחראי על פיתוח ה־4004 באינטל), ה-6800 של חברת מוטורולה וה־6502 של חברת MOS Technology, שהיו כולם פופולריים במחשבים ביתיים בראשית שנות ה-80.
בשנת 1981 בחרה חברת IBM ב־8086 של אינטל, יורשו של ה־8080 שהרחיב את יכולת העיבוד ל-16 סיביות, בתור יחידת העיבוד המרכזית עבוד המחשב האישי שלה והפכה בכך את משפחת ה־x86 של אינטל למעבדים הפופולריים ביותר. מעט מאוחר יותר, בשנת 1984, בחרה חברת אפל במעבד מתחרה, ה־6800 של חברת מוטורולה עבור מחשבי המקינטוש, וכך סידרת המעבדים של מוטורולה הפכה לשנייה בתפוצתה אחרי המעבדים של אינטל, עד שהוחלפה בשנת 1991 במעבד ה־PowerPC שפותח במשותף על ידי מוטורולה, IBM ואפל.
[עריכה] פעולת ומבנה המעבד
כל מעבד מורכב ממספר יחידות המבצעות פעולות שונות. במעבדים מודרניים המבוססים על שיטת צינור עיבוד נתונים (Pipeline), כל אחת מיחידות אלו פועלת בנפרד.
לצורך ביצוע פקודה בודדת המעבדים משתמשים באחד מהסטים של הפעולות הבאות (תלוי במעבד):
אפשרות א':
- Fetch - חישוב כתובת הפקודה הבאה לביצוע, וקריאת הפקודה הבאה לביצוע מהזכרון.
- Decode - פיענוח הפקודה, והבאת ערכי הרגיסטרים בהם הפקודה משתמשת
- Execute - ביצוע הפעולה האריתמטית/לוגית שהפקודה דורשת באמצעות הALU. במקרה שהפקודה היא פקודת חישוב, כאן מתבצע החישוב. במקרה והפקודה היא פעולת קריאה/כתיבה בזכרון, כאן מחושבת הכתובת של הנתון בזכרון. במקרה של פקודת הסתעפות (Branch/Jump), כאן מחושב קיום התנאי להסתעפות, ומתבצעת ההחלטה האם להסתעף, או לא.
- Memory - קריאה/כתיבה של נתון בזכרון, במקרה של פקודת קריאה/כתיבה בזכרון.
- Write Back - כתיבת תוצאת החישוב משלב הExecute או תוצאת הקריאה משלב הMemory אל רגיסטר היעד.
אפשרות ב':
- חישוב הכתובת בה נמצאת הפקודה הבאה
- קריאת הפקודה הבאה לביצוע מהזיכרון
- פיענוח הפקודה: בשלב זה המעבד מפענח מהי הפקודה שצריכה להתבצע, איזו יחידת ביצוע להפעיל ואילו משתנים מעורבים. במעבדים בעלי ארכיטקטורת CISC, פקודת אסמבלי בודדת עשויה להפוך בשלב הפיענוח למספר פקודות פנימיות של המעבד.
- חישוב: בשלב זה קוראים ערכים מהזיכרון במידה וצריך (במעבדים מסוימים הקריאה מהזיכרון נחשבת לשלב נפרד), ובהתאם לסוג הפעולה מופעלת יחידת החישוב המתאימה של המעבד לביצוע הפעולות האריתמטיות והלוגיות הרלוונטיות.
- כתיבה חזרה לזיכרון: הערך המחושב נכתב למקום בו אמורה להתאכסן התוצאה.
יחידות המרכיבות את המעבד: יש לציין כי במיקרו-מעבד כל היחידות השונות יושבות על אותו השבב, והחלוקה ליחידות קיימת רק בשלב התכנון. החלוקה ושמות היחידות שונות במעט ממעבד אחד למשנהו, אבל מעבדים מודרניים מורכבים בדרך-כלל מהיחידות הבאות:
- מטמון L0: זיכרון מהיר במיוחד, המשמש לאיכסון פקודות המיועדות לביצוע. במקום לפנות בכל פעם לזיכרון הכללי, פעולה הדורשת זמן רב, מאכסנים במטמון L0 את אוסף הפקודות הבאות בתור לביצוע.
- מטמון L1: זיכרון מהיר המשמש לצורך זירוז העבודה עם הזיכרון הראשי לצורך כתיבת נתונים. זיכרון זה מאכסן את האזורים האחרונים בזיכרון בהם השתמשו לצורך כתיבה או קריאה. במעבד פנטיום 4 לדוגמה, גודל מטמון זה הוא 64 קילו-בייט.
- מטמון L2: זיכרון מעט איטי יותר מ-L1 אבל עדיין מהיר בהרבה מהזיכרון החיצוני. בעבר מטמון זה ישב בשבב נפרד מחוץ למעבד, אבל כאשר ניתן היה להכניס מספיק טרנזיסטורים בשבב אחד, הוכנס גם מטמון זה אל תוך המעבד. גודלו של מטמון L2 מגיע ל־2 מגה-בייט במעבדי פנטיום 4 חדשים.
- מטמון L3: זיכרון איטי מה־L2 אך גדול ממנו. זיכרון L3 קיים במעבדים מסוימים, אך רוב המעבדים לא כוללים זיכרון כזה.
- יחידת בקרה: יחידה האחראית על שלבי הקריאה והפיענוח של פקודות.
- יחידת ניבוי קפיצות: בשפת האסמבלי ישנן פקודות קפיצה המורות למעבד לעבור לביצוע פקודה בכתובת מסוימת שאינה בהכרח הכתובת הבאה בזיכרון. פקודות קפיצה אלו הן ברובן מותנות, כלומר: הקפיצה תבוצע רק אם תנאי מסוים יתקיים. כדי שניתן לקרוא ולפענח את הפקודה הבאה לפני שידוע אם התנאי אכן מתקיים או לא, המעבד מנסה לנחש האם הקפיצה תבוצע על סמך ניסיון העבר.
- יחידה אריתמטית-לוגית (ALU): יחידה זו מבצעת פעולות במספרים שלמים ופעולות לוגיות שונות.
- יחידת נקודה צפה (FPU): יחידה זו מבצעת פעולות במספרים ממשיים. במעבדים ישנים (לדוגמה 80386), לא הייתה במעבד יחידה כזו והיה צורך בשבב חיצוני שיבצע את הפעולות במספרים ממשיים. כיום זהו חלק אינטגרלי מהמעבד עצמו.
- בקר אפיק נתונים: אפיק הנתונים (bus) הוא האמצעי המקשר בין המעבד לבין הזיכרון וההתקנים החיצוניים במחשב. לצורך סינכרון התקשורת באפיק הנתונים יש צורך בבקר (controller) שתפקידו לווסת ולפקח על התעבורה באפיק. בעבר גם יחידה זו הייתה בשבב נפרד וכיום זהו חלק מהמעבד עצמו. יחידה זו הייתה צואר הבקבוק של המעבד, בגלל שהקריאה והכתיבה לזכרון היו נמוכים באופו משמעותי ממהירות המעבד עצמו, והוא היה צריך להמתין מחזורי שעון על מנת לבצע את הקריאה. עם ההתקדמות הועלתה מהירותו ובמעבדי פנטיום 4 החדישים היא עומדת על 1066 מגה-הרץ. שהיא כשליש ממהירות המעבד עצמו. תפקידו של זכרון מטמון L2 הוא לגשר על הפער בין מהירות המעבד למהירות הערוץ.
[עריכה] מושגים בסיסיים במיקרו-מעבדים
- מהירות שעון או תדר עבודה: בכל מעבד ישנו שבב הפולט פולסים. פולסים אלו מווסתים את קצב פעולת המעבד. ככלל, ככל שמהירות השעון גבוהה יותר כך המעבד מהיר יותר, אם כי אין זה הפרמטר היחיד הקובע את מהירות המעבד. במחשב הIBM-PC הראשון היה מעבד 8086 הייתה מהירות שעון של 4.77MHz, כלומר 4.77 מיליון פולסים לשניה. במעבדי פנטיום 4 הנמכרים בשנת 2004 מהירות שעון של עד 3.8GHz, כלומר 3.8 מיליארד פולסים לשניה.
- צינור עיבוד נתונים (pipeline): שיטת תכנון מעבד בה מחולקת העבודה למספר שלבים המבוצעים במקביל. לדוגמה: בזמן שתוצאות הוראה אחת נכתבות לזיכרון, ההוראה הבאה מתבצעת, וההוראה הבאה אחריה כבר מפוענחת. מעבד ה-8086 לא היה בנוי בשיטת צינור עיבוד נתונים ולכן היה צריך לחכות שהוראה תתבצע עד תומה לפני שהמעבד התחיל לבצע את ההוראה הבאה. מסיבה זו במעבד זה לכל הוראה לקח משך זמן של 3-4 תקתוקי שעון בכדי להתבצע. ככל שהעבודה מחולקת לחלקים קטנים יותר כך ניתן להפעיל את המעבד בתדר גבוה יותר, אלא שיש לכך מחיר: במעבד בעל צינור עבודה ארוך במיוחד, אם התבצעה טעות בשלב מוקדם (לדוגמה, יחידת הניבוי ביצעה ניחוש מוטעה לגבי הכתובת של ההוראה הבאה) יקח זמן רב יותר להתאושש מהטעות.
- סופר-סקלאר: מעבד המכיל מספר יחידות המסוגלות לבצע פעולות שונות השייכות לאותו שלב בצינור הביצוע במקביל. לדוגמה, מעבד עשוי להכיל יחידה אחת עבור פעולת החילוק ויחידה נפרדת עבור פעולת הכפל, וכך ניתן לבצע את פעולת הכפל של ההוראה הבאה לפני שפעולת החילוק הסתיימה.
- Out of order machine: מעבדים מודרניים סופר-סקלאריים מסוגלים לשנות את סדר ביצוע הפעולות בכדי להפעיל כמה יחידות חישוב במקביל וליעל את קצב העבודה של המחשב. הרעיון הוא שכאשר פקודה מסוימת מחכה לתוצאות של חישובים שטרם הסתיימו, ניתן לבצע בינתיים את הפעולות הבאות אחריה, כל עוד פעולות אלו אינן תלויות בחישובים שטרם הסתיימו.
- פעולות לתקתוק שעון (instructions per cycle): מרכיב נוסף המשפיע על מהירות המעבד בנוסף למהירות השעון שלו הוא מספר הפעולות שהמעבד מסוגל לבצע בתקתוק שעון. מעבד ה-8086 לדוגמה היה מסוגל לבצע פעולה ב-4 תקתוקי שעון. מעבדים מודרניים כגון הפנטיום 4, האתלון של חברת AMD וה-PowerPC של IBM ומוטורולה מסוגלים לבצע יותר מאשר פעולה אחת בכל תקתוק של השעון.
- CISC לעומת RISC: המעבדים הראשונים תוכננו לפני המצאת צינור עיבוד הנתונים ולכן שפת הסף שלהם איפשרה ביצוע פעולות מורכבות יחסית שאינן יכולות להתחלק באופן יעיל לחלקים קטנים יותר. מעבדים אלו כונו מעבדי CISC (ר"ת של Complex Instruction Set Computer). עם המצאת השיטה של צינור עיבוד הנתונים, פותחו מעבדים חדשים עם שפה שהותאמה במיוחד לשיטה זו. שפת המכונה של מעבדים אלו הכילה פקודות פשוטות יותר אותן קל לחלק לשלבים, ולכן כונו RISC (ר"ת של Reduced Instruction Set Computer). אף על פי שמעבדי RISC נחשבו ליעילים יותר, מעבדי אינטל ותואמיהם (כולל המעבדים של AMD) המשיכו לעבוד בשיטת ה-CISC בכדי לשמור על תאימות לשפת המכונה של המעבדים הקודמים. לעומתם, ה-PowerPC המשמש במחשבי המקינטוש הוא מעבד RISC. עם זאת, עם הזמן הצטמצם הפער בביצועים בין CISC ל-RISC, כאשר מעבדי CISC מודרניים כגון הפנטיום-4 והאתלון מתרגמים כל פקודה בשפת המכונה המורכבת שלהם לשפת RISC פנימית.
[עריכה] תהליך יצור המעבד
את המעבדים מייצרים בתהליך המכונה ליתוגרפיה, במהלכו נסרקת התבנית של המעגל באמצעות קרן לייזר באורך גל מסוים ומועתקת אל שיכבה דקה של מוליך למחצה, כגון סיליקון. מפאת גודלם הזעיר של הרכיבים, כל גרגיר אבק קטנטן עלול לקלקל את הרכיב, ולכן מייצרים את המעבדים באזורים מיוחדים חדרים נקיים, שבהם רמת החלקיקים באויר נמוכה פי 1,000 מחדר ניתוח, הטכנאים לבושים בחליפות מיוחדות המכונות בעגה Bunny-Suits. בתהליך זה מדפיסים מספר רב של מעבדים על פרוסת סיליקון, אותה חותכים למעבדים רבים בסיום התהליך. מעבדים איכותיים יותר, מקבלים את מהירות השעון המקסימלית ואילו מעבדים באיכות פחות טובה, מקבלים מהירות שעון נמוכה יותר. עובי ההדפסה של קוי המתאר של מוליכי המעבד קטנה משנה לשנה, על מנת שיהיה אפשר לחסוך בחשמל, להעלות את מהירות השעון של המעבד ולבנות מעבדים מורכבים יותר על-ידי הגדלת מספר הרכיבים או לחילופין להגדיל את מספר המעבדים מפרוסה אחת, דבר המביא למתח רווחים גדול יותר. באמצע 2004 רוחב התעלה של הטרנזיסטורים של המעבד עמד במעבדי אינטל החדשים על 0.09 מיקרון. ביולי 2005 מעבדי אינטל מיוצרים בטכנולוגיה של עד 65 ננומטר (0.065 מיקרון), חברת AMD התחילה לעבור לטכנולוגיה זו בסוף 2006.
[עריכה] חברות לייצור מעבדים
[עריכה] ראו גם

