יחידות עיבוד מרכזיות (CPU) הן המוח של המחשבים שלנו. הם מעבדים את כל מה שאנחנו עושים על בסיס יומי, מפתיחת אפליקציה ועד צפייה בסרט. אבל מה זה בעצם מעבד? איך זה עובד? ומה ההבדל בין מעבדים למעבדי vCPU יותר ויותר פופולריים?
הבנת המוח של מחשבים
המחשבים האלקטרוניים הראשונים נוצרו בתחילת המאה ה-19, על פי מדריך ההיסטוריה המלא פורסם על ידי G2. עם זאת, מחשבים אלה היו גדולים ויקרים, והם יכלו לשמש רק מתמטיקאים ומדענים מיומנים.
לזכותו של צ'ארלס באבאג' המצאת מכונת המחשוב הראשונה, מנוע ההבדלים, ניתן לתכנת לבצע כל חישוב שניתן לעשות ביד. עם זאת, פרויקט Difference Engine מעולם לא הושלם עקב חוסר מימון, לפי המוזיאון לתולדות המחשבים.
בשנת 1937, Babbage הזכיר לראשונה את המנוע האנליטי, שיהפוך למחשב המכני הראשון בעולם. "המנוע האנליטי שילב את כל המרכיבים של מחשב מודרני: יחידת לוגיקה אריתמטית, זרימת בקרה בצורה של הסתעפות מותנית ולולאות, וזיכרון משולב" (הערות אלקטרוניקה).
מרכיב מרכזי של המחשב של היום הוא המעבד או יחידת העיבוד המרכזית. המעבד אחראי על ביצוע הוראות שניתנו לו על ידי תוכנה כגון מערכת הפעלה או אפליקציה. במונחים של הדיוט, אתה יכול לחשוב על ה-CPU כמו המוח של המחשב שלך. המעבד מורכב משני חלקים עיקריים: יחידת הבקרה ויחידת הלוגיקה האריתמטית (ALU). אם הקיצורים האלה מבלבלים אותך, ראה שלנו
סקירה כללית של ההבדלים בין APUs, CPUs ו-GPUs.יחידת הבקרה אחראית על שליפת הוראות מהזיכרון, פענוחן ולאחר מכן שליחתן ליחידה הלוגית האריתמטית לביצוע. ה-ALU מבצע פעולות אריתמטיות והגיוניות על נתונים המאוחסנים ברגיסטרים, שהם יחידות אחסון פנימיות בתוך ה-CPU.
מוֹדֶרנִי מעבדים מכילים גם מטמון, שהוא כמות קטנה של זיכרון במהירות גבוהה המאחסנת הוראות ונתונים בשימוש תכוף. מטמונים מחולקים לרמות; מטמון רמה 1 (L1) מובנה במת המעבד עצמו, מטמון רמה 2 (L2) יושב על שבב נפרד קרוב ל המעבד והמטמון ברמה 3 (L3) יושבים רחוק יותר מהמעבד בשבב שלו או אפילו במעגל שלו גלשן.
מעבד לעומת vCPU
עם עליית שירותי הענן הגיעה הופעתה של יחידת העיבוד המרכזית הווירטואלית, או בקיצור vCPU. TechTarget מגדירה vCPU כ"יחידת עיבוד מרכזית פיזית (CPU) המוקצה למכונה וירטואלית (VM)."
מכונות וירטואליות הן בעצם מערכות הפעלה עצמאיות הפועלות בתוך מערכת הפעלה אחרת כאילו היו יישומים. מחשבי VM משמשים למגוון מטרות כגון בדיקת תוכנות חדשות בסביבה בטוחה, הפעלת מערכות הפעלה מרובות (למשל, Windows ולינוקס) באותו מחשב, או איחוד שרתים פיזיים מרובים לשרת אחד כדי לחסוך במקום ולהפחית עלויות.
אז, vCPU הוא יישום תוכנה של מעבד; זה לא קיים פיזית בתוך המחשב שלך כמו מעבד אמיתי. ה-Hypervisor, שהיא התוכנה שיוצרת ומנהלת VMs, מקצה מעבדי vCPU למכונה הוירטואלית. כל vCPU נתפס על ידי מערכת ההפעלה בתוך ה-VM כלבת CPU אמיתית. ראה שלנו הסבר על היפרוויזורים ללמוד 'יותר.
עם זאת, מכיוון שמעבדי vCPU הם מבוססי תוכנה, הם אינם יעילים כמו מעבדים אמיתיים. לכן, חשוב לציין כמה ליבות יש למעבד שלך כאשר אתה קונה מחשב (למשל, "ארבע ליבות" פירושו ארבע ליבות). אותו כלל חל בבחירת שרת פרטי וירטואלי (VPS) או תוכנית אירוח שרת ייעודית.
ההבדל העיקרי בין CPUs ו-vCPUs הוא CPUs מבוססי חומרה בעוד vCPUs מבוססי תוכנה. המשמעות היא שמעבדים קיימים פיזית בתוך המחשב שלך בעוד שמעבדי vCPU אינם קיימים; במקום זאת, הם נוצרים על ידי hypervisors בעת הצורך. בגלל ההבדל הזה ביישום, מעבדים יעילים הרבה יותר ממעבדי vCPU; אין להם את התקורה הקשורה לריצה בתוכנה.
מאז תחילת שנות ה-2000, מעבדי vCPU הפכו פופולריים יותר ויותר מכיוון שהם זולים וקלים יותר להקצאה ממעבדים פיזיים; עם זאת, אם אתה מחפש ביצועים, עדיף להשתמש במחשב עם ליבות CPU מרובות מכיוון שכל ליבה יכולה לעבד הוראות באופן עצמאי.
ליבות לעומת חוטים
למעבד עשויה להיות ליבה אחת או יותר, שהיא יחידת העיבוד שמבצעת משימות בזמן מוגדר. הליבה תשמור על סדר ביצוע המשימות, הרשמים והמטמון (אם רלוונטי) ותבצע פעולות באמצעות ה-ALU. המעבד שולט בליבות, אך הליבה מבצעת כל תהליך תוכנה או חוט שמערכת ההפעלה מתזמנת. חוט הוא רצף עצמאי של הוראות שניתן לעבד על ידי מעבד.
חוטים מרובים יכולים להתקיים באותו תהליך ולחלוק את אותו שטח זיכרון. זה מאפשר להם לתקשר אחד עם השני בקלות רבה יותר מאשר אם הם היו פועלים בתוך תהליכים נפרדים. שרשורים משמשים לעתים קרובות כדי לשפר את הביצועים של יישומים מרובי-הליכים על-ידי מתן אפשרות לחלקים שונים של התוכנית לפעול בו-זמנית על ליבות או מעבדים שונים.
המונח "חוט" נמצא בשימוש במינוח המחשוב כבר שנים רבות; עם זאת, רק בתחילת שנות ה-2000 הוכנסה תמיכה ברמת החומרה ל-threads במעבדים. זה אפשר להפעיל שרשורים מרובים בו זמנית על ליבות נפרדות. בעבר, רק שרשור אחד יכול להתבצע בכל פעם על ליבה בודדת, ללא קשר למספר הליבות שהיו במעבד. מעבדים מרובי ליבות הם כיום דבר שבשגרה, ורוב מערכות ההפעלה מספקות רמה מסוימת של תמיכה להפעלת תוכניות כשרשורים מרובים.
סיכום נושאי הליבה
לסיכום, CPUs הם המוח מבוסס החומרה של המחשבים שלנו, בעוד המקבילה הווירטואלית שלהם, vCPUs, מבוססת תוכנה ונוצרת על ידי היפרוויזורים כדי לרוץ בתוך מכונות וירטואליות. ליבות הן יחידות העיבוד המבוססות על חומרה בתוך מעבד, בעוד שרשורים הם ההוראות מבוססות התוכנה שניתן לעבד על ידי מעבד.
ניתן להפעיל שרשורים בו-זמנית על ליבות נפרדות, מה שמאפשר לחלקים שונים של התוכנית לפעול בו-זמנית. זה יכול לשפר את ביצועי החומרה מכיוון שניתן לעבד משימות מרובות בו-זמנית במקום ברצף.
כעת, כשאתה מבין את ההבדל בין מעבדים, vCPUs, ליבות ו-threads, אתה יכול לקבל החלטה מושכלת בעת בחירת מחשב או שרת. אם אתה מחפש ביצועים, עדיף לבחור מחשב עם ליבות CPU מרובות מכיוון שכל ליבה יכולה לעבד הוראות באופן עצמאי. עם זאת, אם אתה מחפש פתרון חסכוני, מעבדי vCPU עשויים להיות הדרך ללכת.