פורסם 2002 ביולי 1723 שנים The whole idea behind SIMD execution is that if you're performing one operation on multiple types of data, why not perform that one operation on all the data simultaneously instead of waiting for the operation to be completed on one set of data before repeating the process. Therefore we get the basic definition of SIMD, or Single Instruction Multiple Data לא הבנתי בגרוש מה זה אומר מישהו מוכן להסביר לי זה מאוד חשוב תודה רבה.
פורסם 2002 ביולי 1723 שנים במעבד "הקלאסי" שלומדים בשיעורי מיקרו המעבד קורא פקודה ומבצע אותה, ז"א קריאה של פקודה מהזיכרון בכל מחזור שעון (הרבה רוחב פס).SIMD מאפשר לציין פקודה בודדת וטווח שהיא תפעל עליו (לדוגמא פעולות על מטריצות שלמות - שזה שימושי בגרפיקה).זה אומר למעשה שהמעבד מקבל פעם אחת הוראה והולך בעצמו לבצע אותה בלולאה.זה חוסך הרבה רוחב פס מהזיכרון וחוסך הרבה מחזורי שעון כי המעבד כבר "יודע" מה הוא הולך לעשות בלי לגשת לזיכרון.דוגמה מופשטת, נניח שאתה מעבד קלאסי ורוצים להזיז איתך ערימה של ארגזים.צריך להגיד לך כל פעם לקחת ארגז, להניח בערימה השניה ושוב ושוב.בשיטה הזו אתה נהיית "חכם" ואומרים לך פעם אחת איפה הערימה נמצאת ואיפה היא צריכה להיות ואתה לא שואל שאלות באמצע.יש כמובן הרבה פעולות כאילו וממשיכים להוסיף עוד עם התקדמות המעבדים.הראשון שביצע פעולות SIMD היה ה פנטיום MMX (לא זוכר כמה פקודות היו), ה PIII הוסיף SSE שזה77 פקודות וב P4 הוסיפו SSE2 שזה 144 פקודות נוספות.ל AMD יש את המקבילה שלה עם ה 3D NOW אבל זה לא ממש תפס והם התאימו את המעבדים לסטנדרטשל אינטל.
פורסם 2002 ביולי 1723 שנים למעשה 3dnow נתפסה טוב מאוד היא באה לפני SSE. והיא הייתה סט הפקודות הראשון של SIMD לנקודה צפה (מספרים עשרוניים) בעוד MMX היה רק למספרים שלמים. היו הרבה משחקים שהשתמשו ב 3Dnow כל דריברים של כרטיסי מסך ו Direct X משתמשים ב 3dnow. בזמנו היתה ל 3dnow הרבה יותר תמיכה מאפשר ל SSE... אני חושב שעד היום 3Dnow הוא סטנדרט שמיושם בהיקף של SSE.וההסבר הקודם הוא די קולע.האפשרות לבצע פקודה בודדת על כמה נתונים היא מהירה יותר כיוון שיותר פקודות מתבצעות במחזרר שעון יחיד.
פורסם 2002 ביולי 1723 שנים מחבר אוקי קראתי את זה כמה פעמים ואני חושב שהבנתיאבל יש לי שאלה אם הבנתי נכון אז המעבד "לוקח" את ההוראה מהזיכרון ו"לוקח" את הנתונים שאותם הוא צריך לעבדואז במקום כל פעם ללכת לזיכרון ולקבל את ההוראה הוא פשוט מבצע את אותה פעולה בו זמנית על כל הנתונים שנמצאים אצלו?ועכשיו אם אני קצת יסחף הוא מאחסן את הנתונים האלה בL2 שלו או בL1?כי כל פעם לפנות אל הזיכרון ולבקש את ההוראה זה לוקח הרבה רוחב פס?
פורסם 2002 ביולי 1723 שנים מחבר ועוד שאלה מה ההבדל בין SIMD לנקודה צפה (מספרים עשרוניים) בעוד MMX היה רק למספרים שלמים. ?כמו שאמרתה?
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.