מעבדי ליבות מרובות: האם יותר תמיד טוב יותר?

תוכן עניינים:

מעבדי ליבות מרובות: האם יותר תמיד טוב יותר?
מעבדי ליבות מרובות: האם יותר תמיד טוב יותר?
Anonim

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

התקדמות טכנולוגיה מרובת ליבות

Image
Image

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

כשהם שוחררו במקור, היצרנים הציעו רק שתי ליבות במעבד יחיד, אבל עכשיו יש אפשרויות לארבע, שש ואפילו 10 או יותר. בנוסף להוספת ליבות, טכנולוגיות ריבוי השחלות סימולטניות - כמו Hyper-Threading של אינטל - יכולות להכפיל את הליבות הווירטואליות שמערכת ההפעלה רואה.

תהליכים וחוטים

תהליך הוא משימה ספציפית, כמו תוכנית, הפועלת על מחשב. תהליך מורכב משרשור אחד או יותר.

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

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

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

תלות בתוכנה

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

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

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

Is 8 > 4 > 2?

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

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

מהירויות שעון

Image
Image

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

לדוגמה, מעבד כפול ליבה עשוי לתמוך במהירויות שעון בסיסיות של 3.5 גיגה-הרץ עבור כל מעבד בעוד שמעבד מרובע ליבות עשוי לפעול רק במהירות של 3.0 גיגה-הרץ. רק בהסתכלות על ליבה בודדת על כל אחד מהם, המעבד כפול הליבות מהיר ב-14 אחוזים מאשר על ארבע ליבות. לפיכך, אם יש לך תוכנית שהיא רק חוט יחיד, המעבד דו-הליבה למעשה יעיל יותר. אז שוב, אם התוכנה שלך יכולה להשתמש בכל ארבעת המעבדים, אז המעבד ארבע הליבות יהיה למעשה מהיר יותר בכ-70 אחוז מהמעבד הדו-ליבתי הזה.

מסקנות

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

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

מוּמלָץ: