תכנון הנדסי וניתוח
אופטימיזציה של מציאות וירטואלית
Table of Contents
המציאות הכמעט-ריאליסטית (VR) יישומים לכפות ביצועים קיצוניים ודרישות תגובה על חומרה מחשוב. לספק חוויות ללא גירוי, מערכות צריכות לעמוד בקצבי מסגרת גבוהים, מהירויות אולטרה-נמוכות, ועקביות באמצעות חישוב.מרכז להשגת מטרות אלה הוא אופטימיזציה של מעבדי מיקרו-ארכיטקטורה, במיוחד בתוך ארכיטקטורות מורכבות (CISC) בעוד מעבדי CISC כבר מזמן חזרה של מחשוב ופותחני עבודה ייחודיים, הן אסטרטגיות וירטואליות של סביבת העבודה הייחודית שלה.
הבנת CISC Microarchitecture
מיקרו-ארכיטקטורה CISC מוגדר על ידי מערכת ההוראה העשירה שלה, שבו הוראות בודדות יכולות לבצע פעולות מרובות ברמה נמוכה - כגון גישה זיכרון, סיבולת, וחלוקה מותנית - בהוראה אחת.עיצוב זה נועד להפחית את הפער הסימנטטי בין שפות תכנות ברמה גבוהה קוד מכונה, המאפשר תוכניות קומפקטיות ומטמים פשוטים.
דמויות עיקריות של CISC
סימן ההיכר של CISC הוא אורך הוראה משתנה פורמט.הוראות יכול לנוע בין אחד על ידי עד יותר 15 על ידיטים ב X86 יישום. זה פנויה מציג אתגרים בשלבים של ה- Bring וה-code של הצינור. כדי לנהל את מעבדי CISC מודרניים אלה להשתמש חזית קצה הכולל מקוד הדרכה מורכב, לעתים קרובות לשבור הוראות CISC לתוך microcodes זעירים יותר, קבוע microשיתופי פעולה (μs) הם קלים יותר כדי רצף של שליטה מורכבת.
תכונה נוספת מגדירה את התמיכה של פעולות זיכרון-לזיכרון וצורות מרובות של טיפול.לדוגמה, הוראה כמו FLT:0 מבצע תוספת למיקום זיכרון הנקוב מערכי הרישום.זה מקטין את מספר ההוראות הטעינה והחנות, אך מציבה נטל גבוה יותר על מערכת הזיכרון ורישום לוגיקה.
CISC לעומת RISC במעבדים מודרניים
בעוד שאדריכלות הקטנת תצורת מחשוב (RISC) נראו בתחילה פשוט ויעיל יותר עבור צינורות, פער הביצועים צר באופן משמעותי.מעבדים מודרניים של CISC (למשל, Intel Core, AMD Ryzen) מאמצים פנימית רבים עקרונות RISC: הם מקודמים הוראות ל- μops, משתמשים בקבצים גדולים עם renaming, ומעסיקים מתוחכם מחוץ ל-oforder-oforder מנועי שינוי קוד זה יכול לעתים קרובות להפחית את ה-C מורכבות:
עניינים היסטוריים: CISC הופיעו בשנות ה-70 וה-80 כאשר הזיכרון היה בקושי והפיטורים היו פחות מתקדמים.עיצוב הוראות ארזו יותר עבודה כדי להביא את תנועת הזיכרון מופחתת היום, היררכיות הזיכרון התפתחו, אך מערך ההוראה המורשת נשאר בסיס שטכניקות אופטימיזציה חייבות לעבוד בתוכו.
אתגרים ב- VR Applications
יישומים VR מדגישים כל רכיב של מעבד.שני מדדים עיקריים מגדירים איכות של ניסיון:0motion-to-Photon latencyFLT:1 (הזמן מתנועת המשתמש ועד לעדכון התצוגה) ו- (FLT:2frame Rate Rate ency) 3FLT עבור VR נוח, תנועה-to-Photonency חייב להיות מתחת ל 20i2 שניות, בדרך כלל לעמוד בפני כמה אתגרים ספציפיים של CISCPS.
המונחים: sound
האופי המשתנה של הוראות CISC יוצר צוואר בקבוק יסודי בקצה הקדמי.הקוד חייב לקבוע גבולות הוראה, אשר עשוי לכלול סריקת קודים ו parsing ModRM שדות.תהליך זה הוא מטבעו באופן מובנה וניתן להגביל את רוחב ה-Switch. ב עומסי עבודה VR, המכיל תערובת של integer, נקודות צף, וקוד SIMD, הדרכה יכול להיות גבוה, להחמיר את החסימה, כאשר לא יכול להתרחש.
נתונים מסוכנים ו-Pipeline Stalls
תוכנת VR לעתים קרובות כרוך לולאות הדוקות עיבוד נתונים, ביצוע חישובים פיזיים, יישום שינויים. הלולאות אלה מציגות תלות בנתונים חזקה.מערכת הרישום הפנימית הרדודה יחסית של CISC (למשל, 16 רישומים למטרות כלליות ב x86) יכולים להוביל לרישום לחץ, מה שמחייב לשפוך לזיכרון.
לחץ זיכרון Hierarchy
VR דורש גישה גבוהה פסוויד למבנים נתונים גדולים: מפות מרקמים, מגיאומטריה, והיסטוריה מסגרת. מעבדים CISC לעתים קרובות תכונה היררכיות עמוק (L1, L2, L3) אבל יכולת וכבד הם קריטיים. a אחד caches יכול לעלות עשרות מחזורים, השפעה ישירה על זמן מסגרת.
כוח ו-Thermal Constraints
מערכות VR לעתים קרובות לרוץ בחללים מוגבל (הצגות מובילות) או דורשות מחשבים ניידים ביצועים גבוהים. עיצובים CISC בדרך כלל לצרוך יותר כוח הוראה מאשר RISC שווה ערך, במיוחד כאשר מרופפים בכבדות עם יחידות הוצאה להורג רחבות.לוגיקה קוד, מיקרוקוד ROM, ולוח זמנים מורכב לתרום לריב חום.
אופטימיזציה אסטרטגיות עבור CISC Microarchitecture ב VR
כדי להתגבר על האתגרים האלה, אדריכלים ומעצבי הספידר פיתחו חבילת אסטרטגיות אופטימיזציה שמנצלים את נקודות החוזק של CISC בעוד שהם ממיסים את החולשות שלהם.אסטרטגיות אלה יעילות במיוחד כאשר מותאמים לדפוסי עומס העבודה הצפויים של VR.
מקבילות הוראה (ILP)
מעבדי CISC מודרניים הם סופרקלר, המסוגל לשלוח מספר μops למחזור על פני נמלי ביצוע מרובים.קוד VR הטבות מ- ILP גבוה כי פעולות כמו תוספות ומטריקס multiplications ניתן מקבילים. Compilers יכולים לקבוע הוראות כדי למקסם את השימוש של נמלים: הנפקת הוראות integer על נמל אחד, צף על עוד, ופעולות זיכרון על שליש.
מיקרו-op Fusion
היתוך מיקרו-op משלב שני או יותר μops לתוך כל אחד העובר דרך הצינור יחד.לדוגמה, הוראה CISC כמו FLT:1 עשוי להיות מקודש לתוך מיקרופול עומס ו μop. Fusion מאפשר להם להיות מטופלים כאחד עבור תזמון ופרישה, צמצום הלחץ על החלונות והחיסכון של כוח.
הוצאות להורג וחיזוי הזרוע
תקלות של הזרוע לגרום לצנרת פלושאות אשר יכול לעלות 15-20 מחזורים. יישומי VR מכילים סניפים רבים הקשורים לגילוי התנגשות, חשיפה culling, ושינויי סניף מתקדם באמצעות perceptron מבוסס או TAGE (הזמן ההיסטוריה הגיאולוגית) להשיג אלגוריתמים חיזוי מעל 95% עבור קוד VR טיפוסי. Speculative צריכה להיות מנוהלת בזהירות כדי למנוע פרצות אבטחה (למשל, ספקטרום אבטחה גבוה יותר, אך מאפשר צמצום יעיל יותר עבור מוטציות קריטיות עבודה.
המונחים: Cache Hierarchies
אופטימיזציה של CISC עבור VR כוללת תכנון כיבים המתאימים לדפוסי גישה. גדול L2 קאצ'ים (1–2MB) להפחית את שיעורי החמיצו עבור קבוצות עבודה של סביבות משחק. אלגוריתמים - במיוחד מבוסס על צעדים ופוסט-ליין מראש - יכול להביא גיאומטריה והנתונים המרקם לפני הביקוש.
אופטימיזציה
(הצנרת במעבדי CISC התפתחה מעיצובים פשוטים של 5 שלבים לצנרת עמוקה, מורכבת עם 14 עד שלבים.בעוד צינורות עמוקים יותר מאפשרים מהירויות שעון גבוהות יותר, הם מגבירים את עונש ההונאה של הענף.עבור VR, גישה מאוזנת היא מפתח: עומק מתון (למשל, 14-16 שלבים) בשילוב עם אופטימיזציה מתקדמת של זיהום סיכונים.
הוראות ותוספות
הוראות CISC משתרעות ללא הרף לכלול וקטור ומטריקס פעולות.FLT:0 AVX-51203FLT:1 (הרחבה מתקדמת Vector 512-bit) מספק 512-bit רחב רישומים SIMD ו- fused מכפל (FMA) הוראות הרחבה כבדה של VR 4x4 מ"מ ו quaternion הטבות רחבות מאוד מ- AVX) ו-AMD (NCR) באמצעות ®.
השפעה על ביצועי VR
כאשר מיקרו-ארכיטקטורה של CISC מותאם לשימוש באסטרטגיות אלה, ההשפעה על ביצועי VR היא עמוקה.ניתן למדוד שיפורים קוונטיים במספר מדדים מרכזיים:
- (FLT:0) יציבות קצב:FLT:1roughd צינורות דוכני ושיפור ILP להוביל לזמני מסגרת עקביים, צמצום מיקרו-זיוט.לדוגמה, אופטימיזציה של כאבי ראש עבור סצנת VR יכולה לקצץ את זמן השחלות ב-40%.
- (FLT:0)Motion-to-Photon latency:BuildFLT) 1 ביצוע ספציפי וקוד מהיר יותר להפחית מחזורי idle; מהירויות נמוכות יותר פירושו עדכוני התצוגה קרוב יותר לתנועת הראש בפועל של המשתמש.
- יעילות:0 (Powerיעילות: μop 1) μop fusion וחיזוי סניף טוב יותר להפחית את העבודה מבוזבזת, ומאפשר ביצועים גבוהים יותר באותה המעטפה התרמית.
(FLT:0) דוגמאות בעולם האמיתי FLT:1 ממחישות את הרווחים האלה.אדריכלות הזן 3 של AMD, המשמש מעבדי Ryzen, הראה 19% IPC למעלה מרומם מעל Zen 2, שרבים מהם הגיעו מ-micro-op cache, סניף צופה, ויציאה להורג - לטובת באופן ישיר את מדדי VR כמו "3DMark VR" ו-"Funhouse" (Altney's of Effrei) בהשוואה למשחקים היברידיים מתקדמים יותר עם Apreative Repreative Repcore) עם ביצועים מתקדמים יותר כמו APTX-Perx (Perp) ו-Perp) עם ביצועים משופרים מתקדמים יותר טוב יותר כמו משחקי VR-Perp) עם ALTd VR-Perp-Perfectivated VR (Perp) עם ביצועים משופרים מתקדמים יותר טוב יותר מאשר משחקי VR-Perp) עם ביצועים משופרים עם ביצועים מתקדמים יותר מאשר VR-Perp-PerpTM (מקודמתיקים מתקדמים יותר טוב יותר כמו משחקי VR-Perfectfusiond VR-Perp-Perp-Perfectivers (Perp) עם ביצועים משופרים עם ביצועים מתקדמים יותר מאשר משחקי VR-Perp) עם ALT-Perp)
כיוונים עתידיים
האבולוציה של מיקרו-ארכיטקטורה של CISC עבור VR ממשיכה, מונעת על ידי דרישות מתעוררות כגון מעקב עין, קידוד מוכופם, ותיקון בזמן אמת. 3 כיוונים מרכזיים עומדים.
שילוב של מאיצים מיוחדים
מעבדי CISC ימשיכו להטמיע מאיצים קבועים ישירות אל הליבה או כמו אריחים על אותה נקודה מוות.FLT:0Ray tracing האצהFLT:1 (למשל, Xe HPC, תוכנית ה-RDNA של AMD היא מיקרו-מתקני ליבה) מדגימה את ה- BVH traversal ו-Touchaltlements of NEFS: NCR-SD) ל-DV-D-D-DV-D-D.
מיקרו-ארכיטקטורה
קיבולת או מחדש microarchitectures יכול להתאים עומק צינורות, מחיצת מטמון, ו-מתח דרוג זמן אמיתי מבוסס על דפוסי עומס עבודה מזוהים. VR עומסי עבודה חלופיים בין High-intensity להפוך, לוגיקה משחק נמוך פעילות נמוכה, ותקופות אדמדן. טכניקות הסתגלות יכול להפחתת יחידות ללא שימוש במהלך מסגרות idle, הפנה משאבים למערכת הזיכרון או לעומס גבוה, כגון "קודמת" HD" (renapine) ל-renapine) לטווח גבוה, כמו "אפקטיביות" (LIVEDancedidphnancedidphed) ו-Dancedified) ב-Dancedidphing) ב-renapine) ב-S (Lancedified Techniques (Lancedified Analysis) ב-Dancedified Techniques) ב-Dancedified Techniques (LIVELIVELIVE DRAD) עבור מערכתית" (LIVED) ב-Dancedified Techniques (LIVE DRADancedial Research Techniques) עבור מערכת העצבים גבוהה.
מחשוב heterogeneous ו- Chiplet Designs
מערכות VR עתידיות עשויות לכלול מעבדי CISC מבוססי שבב בשילוב עם מאיצים מבוססי RISC או GPUים למטרות כלליות על אותה חבילה. מעבדי Ryzen של AMD כבר משתמשים שבבים (CCD + IOD) עבור VR, שבב יכול לכלול הליבה CISC עבור OS ו- gamey game לוגיקה, ליבת לוח זמנים ייעודי (posiblySCV), וספירת מדיה נמוכה של Intel (I) אבל הפונקציה שלה Active VR.
מסקנה
אופטימיזציה מיקרו-ארכיטקטורה של CISC היא רחוק מבעיה נפתרה, במיוחד בהקשר תובעני של מציאות מדומה. על ידי הבנת האתגרים הטבועים הטבועים הטבועים – פעמוני נתונים, נדיבות זיכרון – ויישום אסטרטגיות ממוקדות כמו μop fusion, חיזוי סניף משופר, והרחבות, אדריכלים יכולים לשפר באופן דרמטי את ביצועי VR.