מעבד – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
קובץ על יד (שיחה | תרומות) מ הוספת קישור למוליך למחצה |
קו מפריד בטווח מספרים, הסרת קישורים עודפים |
||
שורה 1:
{{פירוש נוסף|נוכחי=חלק המרכזי במחשב}}
[[קובץ:80486dx2-large.jpg|שמאל|ממוזער|300px|מעבד 80486 של [[אינטל]] בתוך המארז שלו - ממדי פיסת הסיליקון שבמרכז הם 6.75x12 [[מילימטר]]]]
'''מעבד''', או בשמו המלא '''יחידת עיבוד מרכזית''' (ב[[אנגלית]]: '''CPU - Central Processing Unit'''), הוא רכיב [[חומרה]] ב[[מחשב]] המבצע את הפקודות המאוחסנות ב[[זיכרון מחשב|זיכרון]] המחשב. המעבדים המודרניים (המכונים גם '''
בהתאם ל[[ארכיטקטורת פון נוימן]] הפקודות אותן מקבל המעבד מאפשרות לו קריאת מידע מהזיכרון או מהתקנים שונים, ביצוע פעולות [[אריתמטיקה|חשבוניות]] ולוגיות על מידע זה וכתיבת תוצאות החישוב בחזרה לזיכרון או לחלופין שליחתו להתקנים חיצוניים. הפעולות הלוגיות מאפשרות [[בקרת זרימה]] וחזרה על פקודות ככל שנדרש.
הפקודות הן בסיסיות ביותר ובנויות, כל אחת, מרצף קצר של [[סיבית|ביטים]]. רצף זה קרוי [[שפת מכונה]]. כל דגם של מעבד מתאפיין ב[[סט פקודות]] משלו. בהתאם ל[[תזת צ'רץ'-טיורינג|תזת צ'רץ'־טיורינג]] דלות שפת המכונה אינה מהווה מגבלה בביצוע תוכנית מחשב כלשהי וכך מתפתח לו [[תוכנה|עולם התוכנה]] בקצב מסחרר.
מבחינה מספרית, הרוב המכריע של המעבדים המיוצרים כיום, משמשים כיחידות בקרה של [[מוצרי צריכה]]. חלק ממוצרים אלו הם ציוד הקפי של מחשבים אישיים (כגון: [[צג]]ים, [[מדפסת|מדפסות]], כרטיסי רשת) ואחרים אינם ([[מכונית|מכוניות]], [[מכונת כביסה|מכונות כביסה]], [[טלפון סלולרי|טלפונים סלולריים]]). המעבדים הללו מיועדים לשימושים ייעודיים, למשל - [[עיבוד אות ספרתי]] (DSP),
==רקע היסטורי==
[[קובץ:AMD X2 3600.jpg|שמאל|ממוזער|250px|מעבד [[אתלון]] של חברת [[AMD]] בתוך התושבת שלו, על לוח האם]]
[[שנות ה-50 של המאה ה-20|בשנות
לעומת השבבים הייעודיים שקדמו לו הוא תוכנן כיחידת עיבוד רב תכליתית ורק התוכנה שסופקה לו ייעדה אותו למשימה הנדרשת (מעבד של מחשב כיס). יכולת החישוב של
בעקבות
בשנת [[1981]] בחרה חברת [[IBM]] ב־[[אינטל 8086|8086]] של אינטל, יורשו של ה־8080 שהרחיב את יכולת העיבוד
ב[[שנות ה-80 של המאה העשרים|שנות
==פעולת ומבנה המעבד==
שורה 33:
* '''Fetch''' - חישוב כתובת הפקודה הבאה לביצוע, וקריאת הפקודה הבאה לביצוע מהזיכרון.
* '''Decode''' - פיענוח הפקודה, והבאת ערכי ה[[אוגר (מחשבים)|רגיסטרים]] בהם הפקודה משתמשת.
* '''Execute''' - ביצוע הפעולה האריתמטית/לוגית שהפקודה דורשת באמצעות
* '''Memory''' - קריאה/כתיבה של נתון בזיכרון, במקרה של פקודת קריאה/כתיבה בזיכרון.
* '''Write Back''' - כתיבת תוצאת החישוב משלב
'''אפשרות ב':'''
שורה 41:
* '''קריאת הפקודה הבאה''' לביצוע מהזיכרון
* '''פיענוח''' הפקודה: בשלב זה המעבד מפענח מהי הפקודה שצריכה להתבצע, איזו יחידת ביצוע להפעיל ואילו משתנים מעורבים. במעבדים בעלי ארכיטקטורת CISC, פקודת אסמבלי בודדת עשויה להפוך בשלב הפיענוח למספר פקודות פנימיות של המעבד.
* '''חישוב''': בשלב זה קוראים ערכים מהזיכרון
* '''כתיבה חזרה לזיכרון''': הערך המחושב נכתב למקום אחסון התוצאה.
===יחידות המרכיבות את המעבד===
====יחידות הקיימות בכל מעבד====
*'''[[אוגר (מחשבים)|אוגרים]]''' ('''Registers''' או "רגיסטרים"): כל אוגר הוא יחידה אחת של [[זיכרון מחשב|זיכרון]] פנימי מהיר ביותר הנמצא לרוב בתוך יחידת העיבוד המרכזית של [[מחשב]] אשר מאפשר אחסון ערכים, בדרך כלל זמנית, עבור פעולות בסיסיות שונות מ[[סט פקודות|סט הפקודות]] של המעבד ([[חיבור]], [[חיסור]], והשוואה). יש מעבדים בהם האוגרים הם ייעודיים, כלומר פעולות מסוימות מוגבלות לאוגר או אוגרים מסוימים, ולעומתם מעבדים אחרים (בדרך כלל מסוג [[RISC]]) בהם לכל האוגרים פונקציונליות זהה.
* '''[[יחידת בקרה]]''': יחידה האחראית על שלבי הקריאה והפיענוח של פקודות.
* '''[[יחידה אריתמטית-לוגית|יחידה אריתמטית־לוגית]] (ALU)''': יחידה זו מבצעת פעולות במספרים שלמים (חיבור, חיסור, השוואה) ופעולות לוגיות שונות (כדוגמת [[שער לוגי]] [[NAND]], [[NOR לוגי|NOR]], [[NOT]], וכדומה). היחידה נחשבת ללב המעבד, ויעילותה היא החשובה ביותר בביצועי המעבד כולו{{מקור}}.
====יחידות נפוצות הקיימות במעבדים מסוימים אך לא בהכרח בכל המעבדים====
* '''זיכרון מטמון''': זיכרון מהיר במיוחד, המותקן על המעבד. יש מעבדים בהם זיכרון המטמון מוגבל לפקודות בלבד, אחרים בהם המטמון משותף לפקודות ונתונים, ואחרים בהם יש מטמונות נפרדים לקוד ולנתונים. נהוג לסווג את זיכרון המטמון הבנוי על שבב המעבד לשלושה סוגים. יש מעבדים ללא מטמון, או עם חלק אך לא כל סוגי המטמון המתוארים:
** '''L0''': המטמון המהיר ביותר, אך גם המוגבל ביותר בגדלו. בדרך כלל פועל בקצב השעון של המעבד עצמו.
** '''L1''': מטמון פחות מהיר וגדול יותר
** '''L2''': מטמון מהיר פחות וגדול יותר
* '''יחידת ניבוי קפיצות''': בשפת האסמבלי ישנן פקודות קפיצה המורות למעבד לעבור לביצוע פקודה בכתובת מסוימת שאינה בהכרח הכתובת הבאה בזיכרון. פקודות קפיצה אלו הן ברובן מותנות, כלומר: הקפיצה תבוצע רק אם תנאי מסוים יתקיים. כדי שניתן יהיה לקרוא ולפענח את הפקודה הבאה לפני שידוע אם התנאי אכן מתקיים או לא, המעבד מנסה לנחש האם הקפיצה תבוצע.
* '''[[יחידת נקודה צפה]] (FPU)''': יחידה זו מבצעת פעולות במספרים ממשיים. במעבדים ישנים (לדוגמה 80386), לא הייתה במעבד יחידה כזו והיה צורך בשבב חיצוני שיבצע את הפעולות במספרים ממשיים. כיום זהו חלק אינטגרלי מהמעבד עצמו.
* '''בקר [[אפיק נתונים]]''': אפיק הנתונים (bus) הוא האמצעי המקשר בין המעבד לבין הזיכרון וההתקנים החיצוניים במחשב. לצורך סינכרון התקשורת באפיק הנתונים יש צורך בבקר (controller) שתפקידו לווסת ולפקח על התעבורה באפיק. בעבר גם יחידה זו הייתה בשבב נפרד וכיום זהו חלק מהמעבד עצמו. יחידה זו הייתה צוואר הבקבוק של המעבד,
===מעבד מרובה ליבות===
[[קובץ:AMD 64X2 Dual-Core.jpg|שמאל|ממוזער|250px|מעבד דו ליבתי של חברת AMD]]
ב[[העשור הראשון של המאה ה-21|עשור הראשון של המאה
בתחילה הופיעו מעבדים עם שתי ליבות. ביוני 2005 הכריזה חברת [[AMD]] על מעבדי 64 ביט כפולי ליבה למחשבים שולחניים. באוקטובר 2005 הכריזה חברת "[[אינטל]]" על מעבדים
מעבדים מרובי ליבות אינם יכולים להריץ מספר [[תהליך (מדעי המחשב)|תהליכים]], הקשורים לאותו יישום, במקביל בליבות שונות, ללא תכנון מראש על ידי המתכנת. הם כן יכולים לעבוד על שני יישומים במקביל על ידי הפרדת תהליכי הזיכרון שלהם, דבר המסייע בעיקר לתהליכים במחשב שאינם זקוקים לתהליכים נוספים (אשר מורכבים ומתעכבים) וחוסך את זמן ההמתנה לתהליך שמתעכב, ובכך מתקבל ליישום זמן תגובה טוב יותר. רוב ה[[תוכנה|יישומים]] הקיימים כיום אינם מנצלים עדיין יתרון זה, אך [[מערכת הפעלה|מערכות ההפעלה]] המודרניות דוגמת [[לינוקס]], [[חלונות]] ו[[מקינטוש]] מנצלות ריבוי ליבות כדי להריץ מספר יישומים במקביל. בהיעדר ריבוי ליבות, נאלצות מערכות ההפעלה לחלק את זמן המעבד בין כל היישומים, כדי לתת למשתמש תחושה של פעולה במקביל.
== מושגים בסיסיים
* '''מהירות שעון''' או תדר עבודה: בכל מעבד ישנו [[מתנד (אלקטרוניקה)|מתנד]] היוצר [[אות שעון]]. אות זה מווסת את קצב פעולת המעבד. ככלל, ככל שמהירות השעון גבוהה יותר כך המעבד מהיר יותר, אם כי אין זה הפרמטר היחיד הקובע את מהירות המעבד. במחשב [[IBM-PC]] הראשון היה מעבד [[8086]] הייתה מהירות שעון של 4.77MHz, כלומר 4.77 מיליון מחזורים לשנייה. במעבדי "פנטיום 4" שנמכרו בשנת [[2004]] מהירות שעון של עד 3.8GHz, כלומר 3.8 מיליארד מחזורים לשנייה (אבל אין פקודה בודדת שמתבצעת בקצב הזה).
* '''פעולות למחזור שעון''' (instructions per cycle): מרכיב נוסף המשפיע על מהירות המעבד בנוסף למהירות [[אות שעון|השעון]] שלו הוא מספר הפעולות שהמעבד מסוגל לבצע במחזור שעון. מעבד
* '''[[צינור עיבוד נתונים]]''' (Pipeline): שיטת פעולה של מעבד בה מחולקת העבודה למספר שלבים המבוצעים במקביל. לדוגמה: בזמן שתוצאות הוראה אחת נכתבות לזיכרון, ההוראה הבאה מתבצעת, וההוראה הבאה אחריה כבר מפוענחת. מעבד
* '''
* '''Out of order machine''': מעבדים מודרניים
* '''[[CISC]] לעומת [[RISC]]''': המעבדים הראשונים תוכננו לפני המצאת צינור עיבוד הנתונים ולכן שפת הסף שלהם איפשרה ביצוע פעולות מורכבות יחסית שאינן יכולות להתחלק באופן יעיל לחלקים קטנים יותר. מעבדים אלו כונו מעבדי
==תהליך יצור המעבד==
המעבדים, כמו כל ה[[מעגל משולב|מעגלים המשולבים]], מיוצרים בתהליך המייצר שכבות שונות של "מזהמים" (חומרים זרים בריכוז נמוך) ב"תמונה" מוגדרת מראש, בתוך פרוסה של חומר מוליך למחצה (לרוב [[צורן|סיליקון]]), וכמו כן "תוספות" של חומרים נוספים (למשל מוליכים) על פני הפרוסה. את התמונה משליכם על הפרוסה בתהליך המכונה [[פוטוליתוגרפיה]], במהלכו נסרקת התבנית של המעגל באמצעות קרן [[לייזר]] ב[[אורך גל]] מסוים ומועתקת אל שכבה דקה של [[מוליך למחצה]], כגון
למרות הניסיון להקפיד על תנאי יצור אופטימיליים, בתהליך הייצור יש נפל רב. לא ניתן לצפות מראש מאילו חלקים מפרוסת סיליקון מסוימת יתקבלו מעבדים טובים. רק חלק מהמעבדים המתקבלים בסוף הייצור עומדים ברף [[בקרת איכות]] המיועד, למשל עבור מהירות השעון המקסימלית שתוכננה. מסיבה זו לתוצרים באיכות נמוכה נקבעים מהירויות שעון נמוכות יותר והם משווקים כדגמים חלשים יותר. בנוסף יש גם נפל מוחלט - תוצרים שלא עומדים בדרישה מרכזית אחת, או יותר. זו אחת הסיבות למחיר הגבוה של מעבדים בהשוואה לרכיבים אלקטרוניים אחרים.
עובי ההדפסה של קווי המתאר של מוליכי המעבד קטן משנה לשנה, על מנת שיהיה אפשר לחסוך ב[[הספק]], להעלות את מהירות השעון של המעבד ולבנות מעבדים מורכבים יותר על ידי הגדלת מספר הרכיבים או לחלופין להגדיל את מספר המעבדים מפרוסה אחת, דבר המביא לרווחים גדולים יותר. באמצע 2004 רוחב תעלת הטרנזיסטורים של המעבד עמד במעבדי אינטל החדשים על 90nm ([[מטר|ננומטר]]). ביולי [[2005]] יוצרו מעבדי אינטל בטכנולוגיה של עד 65nm, חברת [[AMD]] התחילה לעבור לטכנולוגיה זו בסוף [[2006]]. בתחילת שנת 2008 החלה "[[אינטל]]" לייצר בטכנולוגיית 45nm ובאמצע 2008 גם AMD החלה באותה שיטת יצור. בשנת 2010 חברת Intel החלה לשווק מעבדים שיוצרו בטכנולוגיית 32nm.
== חברות המייצרות מעבדים ==
* [[IBM]]
* [[אינטל]]
* [[מוטורולה]]
* [[AMD]]
* [[VIA Technologies]]
* [[Transmeta]]
* [[איזיצ'יפ]]
* [[אפל]]
* [[סמסונג]]
== ראו גם ==
שורה 105:
== קישורים חיצוניים ==
{{מיזמים|שם ויקישיתוף=מעבדים}}
* [http://sites.google.com/site/simple086 Simple-086], פרויקט קוד פתוח של תכנון מעבד
==הערות שוליים==
{{הערות שוליים}}
|