עבור לתוכן

פיתוח ישראלי מאפשר למעבדים (כלשהם) בעלי ליבה אחת לתפקד בתור רבי-ליבות

Featured Replies

פורסם

ואיפה הקשר כאן ליע"מ?

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

מה גם שבכותרת מצוין בפירוש מעבדים (כלשהם), אם CPU הוא לא מעבד אז מה כן?

  • תגובות 39
  • צפיות 1.9k
  • נוצר
  • תגובה אחרונה
פורסם

יע"מ?

CPU הוא מעבד אבל כיוון שהוא עושה אין ספור פעולות הרבה יותר קשה לייעל את המשימות בדימוי של ת'ראדים מרובים, HT כבר הוכיח זאת.

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

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

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

בDSP כמות הפקודות מאוד מוגבלת, ורוב הפעולות מקובעות בסיליקון.

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

פורסם

מעניין איך זה עובד

זה בטח גאוני

פורסם

יע"מ = יחידת עיבוד מרכזית (CPU)

לייעל DSPים או מעבדים ייעודיים אחרים לא עושה לי את זה (ואם זה לא עושה לי את זה, אז זה לא יזיז את הקצה של הציפורן של האגודל של אדם מהישוב)

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

פורסם

קצת סדר:

1. CPU יכול לבצע פעולה אחת בלבד כל פעם.

2. CPU מתוכנן בצורת pipelining כדי לנצל את מעבד המידע בין יחידות תעבורת המידע השונות במעבד ללא המתנה.

3. כאשר יחידה אחת מה CPU מתעכבת, כל ה pipeline מתעכב ונוצר NOP. זה בעצם מחזור שעון שבו לא קורה כלום.

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

5. שימו לב שכתוב "It is task independent". לכן, קיימת תוכנה כלשהי במעבדת החברה, לא בהכרח שעושה משהו יעיל, שמיועלת פי 4. שימו לב שאם נדע לאתר NOPים כאלה ולהפטר מהם נוכל להרוויח מחזורי שעון -> התוכנה מהירה יותר.

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

7. The 4x factor is achieved independent of the nature of the application, as long as the multitasking requirement is met.

מישהו יכול לומר לי מה ה multitasking requirement

8. תכנות מרובי ליבות הוא אחד האתגרים הגדולים ביותר כיום בעולם התכנות, והנושא עוד בחיתוליו יחסית, אז עוד תלוי תוכנה ? לא נראה לי שווה משהו באמת.

פורסם

יע"מ = יחידת עיבוד מרכזית (CPU)

לייעל DSPים או מעבדים ייעודיים אחרים לא עושה לי את זה (ואם זה לא עושה לי את זה, אז זה לא יזיז את הקצה של הציפורן של האגודל של אדם מהישוב)

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

אפשר גם לייעל CPU רגיל לתחום מסויים, הרחבתי כבר בעריכה.

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

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

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

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

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

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

קצת סדר:

1. CPU יכול לבצע פעולה אחת בלבד כל פעם.

לא נכון, אלא אם אתה מתכוון לנים.

2. CPU מתוכנן בצורת pipelining כדי לנצל את מעבד המידע בין יחידות תעבורת המידע השונות במעבד ללא המתנה.

3. כאשר יחידה אחת מה CPU מתעכבת, כל ה pipeline מתעכב ונוצר NOP. זה בעצם מחזור שעון שבו לא קורה כלום.

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

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

5. שימו לב שכתוב "It is task independent". לכן, קיימת תוכנה כלשהי במעבדת החברה, לא בהכרח שעושה משהו יעיל, שמיועלת פי 4. שימו לב שאם נדע לאתר NOPים כאלה ולהפטר מהם נוכל להרוויח מחזורי שעון -> התוכנה מהירה יותר.

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

לא בדיוק.

7. The 4x factor is achieved independent of the nature of the application, as long as the multitasking requirement is met.

מישהו יכול לומר לי מה ה multitasking requirement

שיש דרישה מסויימות לריבוי משימות מהתכונה, כלומר שהתוכנה תדע לעבוד בריבוי נימים בכלליות\בצורה מסויימת.

8. תכנות מרובי ליבות הוא אחד האתגרים הגדולים ביותר כיום בעולם התכנות, והנושא עוד בחיתוליו יחסית, אז עוד תלוי תוכנה ? לא נראה לי שווה משהו באמת.

פורסם

קצת סדר:

1. CPU יכול לבצע פעולה אחת בלבד כל פעם.

2. CPU מתוכנן בצורת pipelining כדי לנצל את מעבד המידע בין יחידות תעבורת המידע השונות במעבד ללא המתנה.

3. כאשר יחידה אחת מה CPU מתעכבת, כל ה pipeline מתעכב ונוצר NOP. זה בעצם מחזור שעון שבו לא קורה כלום.

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

5. שימו לב שכתוב "It is task independent". לכן, קיימת תוכנה כלשהי במעבדת החברה, לא בהכרח שעושה משהו יעיל, שמיועלת פי 4. שימו לב שאם נדע לאתר NOPים כאלה ולהפטר מהם נוכל להרוויח מחזורי שעון -> התוכנה מהירה יותר.

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

7. The 4x factor is achieved independent of the nature of the application, as long as the multitasking requirement is met.

מישהו יכול לומר לי מה ה multitasking requirement

8. תכנות מרובי ליבות הוא אחד האתגרים הגדולים ביותר כיום בעולם התכנות, והנושא עוד בחיתוליו יחסית, אז עוד תלוי תוכנה ? לא נראה לי שווה משהו באמת.

אני מציע שתלך תקרא קצת על out of order execution (לא סתם למעבד יש לדוגמה כמה יחידות ALU, הם יכולות לעבוד בו זמנית על פקודות שונות) ...

ולפי מה שרשום שם, ה multitasking requirment זה שלתוכנה תהיה תמיד חישובים לבצע בכמה נימים, בלי I/O STALLS כדי להשיג מקסימום ביצועים.

פורסם

אפשר גם לייעל CPU רגיל לתחום מסויים, הרחבתי כבר בעריכה.

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

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

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

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

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

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

לא באתי בטענות למוצר אלא לפותח הת'רד

מדבריו נרמז (ויותר מנרמז) כאילו כל מעבד הופך בעזרת תוכנה קטנה ונחמדה לרב ליבה (והכל ברמה תוכנתית בלבד!)

פורסם
  • מחבר

לא באתי בטענות למוצר אלא לפותח הת'רד

מדבריו נרמז (ויותר מנרמז) כאילו כל מעבד הופך בעזרת תוכנה קטנה ונחמדה לרב ליבה (והכל ברמה תוכנתית בלבד!)

אל תירה בשליח!

בידיעה שקישרתי אליה בפתיחת הנושא, כתוב:

Mplicity's software is called CoreUpGrade and is independent of processor architecture, the company said. "The CoreUpGrade seamlessly transforms a given single-processor core into an enriched multi-core with a significantly reduced cost to performance ratio; it is also designed to compress large blocks of any repetitive logic," the company claimed at its website.

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

פורסם

"Mplicity's software" היא אמנם תוכנה, אבל שמיועדת לרוץ על קוד הפיתוח של המעבד, לא להיות מופעלת על מעבד שכבר יוצר.

בכל מקרה, בסה"כ טעות תמימה.. באמת אין צורך לירות בך. ;)

ארכיון

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

דיונים חדשים