מעבד i5 או i7? - עמוד 3 - מעבדים, לוחות-אם וזכרונות - HWzone פורומים
עבור לתוכן
  • צור חשבון

מעבד i5 או i7?


itaylevi

Recommended Posts

אסור לשכוח שה-E8400 למשל יצא ב-2007. ב-2011, 4 שנים אחרי שיצא עדיין היה רלוונטי מאוד למשחקים. כלומר כל הטענות כי משחקים

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

OC כאשר כמעט כל E8400 יכול להגיע ל-4GHZ.

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

כי הזמן שיידרש להתגבר על המגבלות והחסמים היום יהיה רב יותר.

קישור לתוכן
שתף באתרים אחרים

  • תגובות 110
  • נוצר
  • תגובה אחרונה

כמה הערות על כל הנושא של ריבוי ליבות:

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

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

לדוגמא:

נניח כי יש מערך מספרים בן 10 תאים. נרצה לבצע 2 פעולות שונות שיעדכנו את ערך התאים:

א. לעדכן כל תא לערך התא ועוד 1.

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

את אלגוריתם א' ניתן לבצע במספר מעבדים/ליבות לוגיות - מעבד 1 יבצע את החישוב על המספרים שנמצאים במערך באינדקסים 0 עד 4, ומעבד 2 יבצע את החישוב על המספרים שנמצאים במערך באינדקסים 5 עד 9. ע"י הגדלת מספר הליבות נוכל להגביר את מהירות ביצוע האלגוריתם. כמובן שע"י הגדלת מהירות החישוב של המעבד (מספר הפקודות במחזור שעון - ה IPC, כלומר שיפור הארכיטקטורה או ע"י הגדלת מספר המחזורים בשנייה, כלומר העלאת התדר) גם נקבל שיפור בביצועים.

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

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

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

5. הסיבה היחידה שאני יכול לחשוב עליה מדוע ה HT נתן שיפור בביצועים לעומת אותו מעבד שבו ה HT כבוי (מעבד ה i3 בעל 2 ליבות פיזיות ו-4 לוגיות כאשר ה HT מופעל), ואני לא בטוח לגמרי לגבי זה, היא שמספר הפקודות בקוד, שרץ בכל זוג ליבות לוגית השייכות לליבה פיזית, ובתוספת התקורה של החלפת הליבה הלוגית היה קטן ממספר הפקודות שהליבה הפיזית יכולה לטפל בה. כלומר המעבד יכול להריץ את הקוד של שתי הליבות בלי בעיות, ולכן כל פיזית מטפלת ב-2 אלגוריתמים (או חלקי אלגוריתמים/קטעי קוד) באותו פרק זמן, וסה"כ מטופלים 4 אלגוריתמים. כאשר ה HT מכובה, כל פיזית מטפלת באלגוריתם אחד (או קטע קוד אחד) וסה"כ מטופלים 2 אלגוריתמים באותו פרק זמן. שוב, אני לא בטוח אם זאת הסיבה מדוע יש שיפור כאשר ה HT מופעל, אבל זה הדבר היחיד שאני יכול לחשוב עליו.

קישור לתוכן
שתף באתרים אחרים

הקישור הראשון מציג תמונה ברורה מאוד של הבדל בין i3 עם HT ובלי HT. למרות שלא מדובר בליבות אמיתיות, יש העדפה ברורה ל4 ת'רדים לעומת 2. מעבר ל4 אין הבדל, זה נכון. אבל זה היום. מי אמר שהמצב יישאר ככה גם בעתיד? אני זוכר היטב בדיוק אותו סוג של דיונים וויכוחים על C2D לעומת C2Q, ואז כמעט כל benchmark הראה ש4 ליבות לא נותנים יתרון במשחקים מעבר ל2 ליבות, אז למה לשלם יותר. בטח גם אז היו שאמרו ש"מי שמכיר ארכיטקטורת מחשבים מבין למה משחקים לא יפיקו תועלת מיותר מ2 ליבות", ומה קרה? פה אמרת נכון מאוד. "הנבואה ניתנה לשוטים". ולמרות שבכל מה שקשור לשרידות לאורך זמן, C2Q הביס את הC2D באופן חד-משמעי, זה גם לא יהיה נכון לומר ש"מה שהיה הוא מה שיהיה". בהחלט יכול להיות שi7 עם HT או אפילו משושה ליבות אמיתי לעולם לא יהפוך לרלוונטי יותר מi5 לגיימינג. אפשר לקנות i5 עכשיו, ואם במקרה בעתיד i7 ייהפך ליותר רלוונטי, אפשר יהיה להחליף, הרי הsocket מתאים. כמובן אף אחד לא מבטיח שאם זה יקרה, זה יהיה משתלם. מעבדי high-end, גם משומשים, תמיד נוטים להיות יקרים באופן לא פרופורציונלי (ע"ע Q9XXX היום). לא בדיוק. הE8400 לא רלוונטי כי הוא גם ארכיטקטורה ישנה וגם דו-ליבתי. הליבות המודבקות של הC2Q, במיוחד הhigh-end, הפלא ופלא רלוונטיות גם היום, ונותנות פייט לכל i3 (וגם לi5 המוקדמים). משמע - מי שקנה בזמנו C2D כבר מזמן או שנאלץ לשדרג או שנתקע עם מחשב איטי. מי שקנה C2Q, במיוחד מסדרת Q9XXX, עדיין לא חייב. עם זה קשה להתווכח, כי זה פשוט נכון. עם זאת, אם התקציב מאפשר גם וגם, אני לא רואה סיבה למה להשקיע גם במעבד יהיה בהכרח לא משתלם.

העניין הוא שהקפיצה מE8400 לQ9550 היתה מהירה ונדרשת, כמעט פי 2 ביצועים בתוך דור אחד-שתיים,שלא לדבר על קפיצת הביצועים ממעבדי הPentium של התקופה לC2D שקרתה עוד לפני זה, לעומת זאת כמו שהזכרתי באותו פוסט , מעבדי הCore i לא ראו קפיצת ביצועים דרסטית כל כך עוד מתקופת סוקט 1366, כל דור יש שיפור של 10-5% לעומת הדור היוצא, שיפורים בצריכת החשמל, מאיץ גראפי, בקר מעבד וכו' ,אבל אין את קפיצות הביצועים הגדולות שהיו בין ארכיטקטורות ישנות יותר .. נכון לכרגע אין באמת שום קפיצת ביצועים גדולה נראת באופק לפי הRoadmap של , היא ממשיכה להתקדם בTDP נמוך ,ומאיצים גראפיים חזקים יותר תוך כדי תוספת ביצועים קטנה מדור לדור לליבות עצמם, ככה שכל הצפיה לעתיד הזאת מיותרת ,נכון לעכשיו אין שום דבר באופק שיצדיק בזבוז כסף לi7 מרובע ליבות (כן ,בזבוז .. אלה אם כן יש לך שימושים מעבר לגיימינג ותכונות שבאמת מקבלות בוסט גדול בביצועים מהHT , זה לא השקעה אלה בזבוז) מי יודע ואולי בעוד 4 שנים תיהיה שוב פעם קפיצה של 2X בביצועים ואז כמו שהE8400 לא רלוונטי היום שום מעבד 4 ליבות עם HT או 8 ליבות כמו הFX8350 לא באמת יהיה רלוונטי למי שבאמת מחפש ביצועים בגיימינג.

קישור לתוכן
שתף באתרים אחרים

שני הסנט שלי על HT:

HT הוא טריק לומר לתכנית / בנצ'מרק לרוץ עם פי שניים נימים (ת'רדים) מאשר יש לו בפועל וכך לסחוט עוד טיפה ביצועים מהמעבד אם הנימים מחכים לתוצאות אחרות, IO וכו'

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

השתמשתי ב-phoronix-test-suite והעליתי את התוצאות לאתר openbenchmarking.org

הנה התוצאות:

קידוד מקבילי עם x264:

http://openbenchmarking.org/result/1310125-SO-X2648350457

רינדור מקבילי עם ttsiod-renderer:

http://openbenchmarking.org/result/1310126-SO-TTSIODFX890

פתרון בעיה מתימטית במקביל:

http://openbenchmarking.org/result/1310127-SO-NQUEENSFX40

מסקנות:

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

- אפשר לעשות HT ידני. להריץ תוכנות ביותר נימים מאשר מספר הליבות הפיסיות. לעיתים זה עוזר (ולעיתים לא)

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

קישור לתוכן
שתף באתרים אחרים

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

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

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

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

קישור לתוכן
שתף באתרים אחרים

הנה עוד הוכחה כמה שHT בI3 משפיע על משחקים כיום:

http://www.techbuyersguru.com/CPUgaming2.php

אני יודע שהטיעון שלי דיי רעוע.

הטיעון שלך לא רעוע בכלל תסתכלו בגרפים:

http://www.techbuyersguru.com/CPUgaming2.php

לא צריך להיות מתכנת ׁמרובע כדי לקרוא מבחני ביצועים ולראות מה קורה שמעבד עם 2 ליבות i3 הוא צוואר בקבוק לביצועים אך עם HT הוא כמעט מכפיל את הFPS המינימלי במשחקים שמנצלים 4 ליבות. כך שיש דוגמה "בעולם האמיתי" לכך שHT יכול לעזור בלעלות FPS במשחקים. (למרות ש2 הליבות שנוספו עם HT הם לא פיסיות, אלה לוגיות !).

ראיתי גם שבקרייסיס 3 כאשר משתמשים ב2 כרטיסי מסך הi7 עם HT גורם לניצול גדול יותר של שתי כרטיסי המסך וכמובן גם מקבלים fps גבוה יותר מ-i7 כאשר הייפרטריידינג מכובה.

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

הימור מושכל לעתיד שעשיתי 2009: אני וחבר טוב ( בעל רקע בתכנות) התווכחנו אין סוף והוא אמר לי שמאוד קשה לתכנת אפילו ל-2 ליבות ואין מצב שמשחקים הולכים לנצל 4 ליבות בעתיד הקרוב הוא קנה אינטל 2 ליבות, אני הימרתי על פלטפורמה זולה של עם ארבע ליבות, תנחשו מה קרה בBF3 (ששיחקנו מאז ההשקה ועד היום,) ובעוד אינספור משחקים.

אני את ההימור המושכל שלי עשיתי שבוע שעבר קניתי i7 3770k משומש (סה''כ יצא הרבה יותר זול מi5 חדש אייבי או האסוול), האירוניה היא שהחבר הזה רוצה להשתמש בשילוב הישן שלי עד שהוא יקנה פלטפורמה חדשה!

קישור לתוכן
שתף באתרים אחרים

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

קישור לתוכן
שתף באתרים אחרים

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

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

קישור לתוכן
שתף באתרים אחרים

בדיוק , לא הולכת להשיק שום דבר מעבר ל4 ליבות בשנים הקרובות בפלטפורמות המיינסטים(ולא משנה איזה ספין תעשה לזה הi7 הוא מרובע ליבות) ,ויש לה משושי ליבות כבר 3-4 שנים מאז ה980X ועד הIvy Bridge E האחרונים וגם מטומני ליבות עם מעבד הXeon , ואם אני לא טועה יש גם בדרך מעבדי עם 12 ליבות , אבל כל זה שוק נפרד לגמרי ..

קישור לתוכן
שתף באתרים אחרים

איזה שוק עובר למתומנים?

1. קונסולות דור הבא הם מתומנות והפורטים שיגיעו לPC יתמכו גם כן בריבוי ליבות.( יצאו מאות משחקים לקונסולות הללו ולכן קוד שכתוב ל8 ליבות יהיה נפוץ מאוד!!!).

2. המשחקים הכבדים ביותר גרפית היום (bf4 ו-crysis 3) תומכים ב8 ליבות וגם-HT .(המשחקים האלה הם מאוד משמעותיים לסטנדרטיים הגרפיים לשוק הגיימינג בPC).

3.במידה ואתה היום רוצה ששתי חזקים לא יתקלו בצוואר בקבוק במעבד שאתה משחק במשחקים הנ''ל אין מנוס מלהשתמש בi7. (הדשא בcrysis3 חונק i5 מקצועי בCF ודרך אגב גם בלי CF כמו שמראים בנצ'ים רבים).

קישור לתוכן
שתף באתרים אחרים

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

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

ב- למשל יש 8 ליבות בהחלט. שמת לב שמדובר בליבות שמשלבות CPU עם GPU? כנראה שלא.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.


×
  • צור חדש...