11Aug

למה Core CPU כל יש את אותה מהירות במקום שונים?

click fraud protection

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

שאלה של היום &מפגש תשובה מגיע אלינו באדיבות SuperUser - חלוקה של סטאק שערי, קהילה מונחה קיבוץ של Q & אתרי אינטרנט.

השאלה

SuperUser הקורא ג 'יימי רוצה לדעת למה ליבות מעבד כל יש את אותה מהירות במקום אלה שונים:

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

לדוגמה:

  • Intel Core i5-7600K, תדר בסיס 3.80 GHz, 4 ליבות, 4 חוטים
  • Intel Core i7-7700K, תדר בסיס 4.20 GHz, 4 ליבות, 8 חוטים
  • AMD Ryzen 5 1600X, תדר בסיס 3.60 GHz, 6ליבות, 12 ליבות
  • AMD Ryzen 7 1800X, תדר בסיס 3.60 GHz, 8 ליבות, 16 חוטים

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

instagram viewer

במקום ארבע ליבות במהירות של 4.0 GHz( כלומר 4 × 4 GHz, מקסימום 16 GHz), מה לגבי מעבד עם שתי ליבות שפועלות במהירות של 4.0 GHz וארבע ליבות שפועלות במהירות של 2.0 GHz( כלומר 2 × 4.0 GHz + 4 ×2.0 GHz, מקסימום 16 GHz)?האם האפשרות השנייה תהיה טובה באותה מידה בעומסי עבודה מתוברגים בודדים, אך עשויה להיות טובה יותר בעומסי עבודה מרובי הליכי משנה?

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

למה ליבות CPU כל יש את אותה מהירות במקום אלה שונים?

התשובה

SuperUser התורם bwDraco יש את התשובה עבורנו:

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

על פלטפורמות שולחן העבודה, צריכת החשמל היא הרבה פחות בעיה, אז זה לא באמת הכרחי.רוב היישומים מצפים שכל ליבה תהיה בעלת מאפייני ביצועים דומים, ותהליכי תזמון עבור מערכות HMP מורכבים הרבה יותר מאשר תזמון למערכות עיבוד סימטריות מרובות( SMP) מסורתיות( טכנית, ל- Windows 10 יש תמיכה ב- HMP, אך הוא מיועד בעיקר לניידיםהתקנים המשתמשים ב- ARM big. LITTLE).

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

אמנם יש כמה מעבדים שולחניים בעלי ליבה אחת או שתיים המסוגלות לפעול מהר יותר מהאחרות, אך יכולת זו מוגבלת כיום למעבדים מסוימים של אינטל מתקדמים( המכונה Turbo Boost Max Technology 3.0), והיא כוללת רק רווח קלבביצועים אלה ליבות כי יכול לרוץ מהר יותר.

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

קח מעבד היפותטי עם שתי ליבות Kaby Lake( דור 7) מהיר ושמונה ליבות אטומות של Goldmont( Atom).היו לך סך של 10 ליבות, ועומס העבודה בכבדות הליכי אופטימיזציה עבור סוג זה של המעבד עשוי לראות רווח בביצועים ויעילות מעל ליבה רגילה ארבע ליבות מעבד Kaby Lake.עם זאת, סוגים שונים של ליבות יש רמות ביצועים שונות בפראות, ואת הליבות האיטיות אפילו לא תומך כמה הוראות ליבות תמיכה מהירה, כמו AVX( ARM נמנע בעיה זו על ידי המחייב הן ליבות גדולות LITTLE לתמוך באותן הוראות).

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

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

יש מה להוסיף להסבר?נשמע את ההערות.רוצה לקרוא תשובות נוספות ממשתמשים אחרים בעלי ידע טכנולוגי?בדוק את נושא הדיון המלא כאן.תמונה: מירקו וולטרמן( פליקר)