תוכן עניינים:
הגדרה - מה המשמעות של אמולציה של מעבד?
אמולציית מעבד היא תהליך וטכנולוגיית וירטואליזציה המאפשרת לתוכנות שנקבעו עבור מעבד או מערכת הפעלה ספציפית (OS) לפעול במערכת אחרת עם מעבד ומערכת הפעלה שונים. זה נעשה על ידי תרגום דינמי של הוראות המעבד וכל שיחות מערכת ההפעלה הנלוות לתוכנית להוראות המעבד ומערכת ההפעלה בהן היא פועלת.
Techopedia מסביר אמולציה של מעבד
אמולציה של מעבד מאפשרת ביצוע תוכניות שנכתבו עבור מעבד אחד לביצוע במעבד אחר עם ארכיטקטורה ומערכת הוראות שונות. דוגמה בסיסית טובה היא אמולטור קונסולות משחקים, המאפשר למשתמשים לשחק במשחקי קונסולה כמו Nintendo Entertainment System ומשחקי PlayStation במחשב האישי שלהם. המעבד שמשמש קונסולת משחק שונה מאוד מזה של מחשב אישי, כך שכדי להיות מסוגל לשחק משחקי קונסולות במחשב האישי, יש לחקות את המעבד של קונסולת המשחק.
הרעיון הבסיסי הוא כי כל פעולה והתנהגות אינדיבידואלית של התוכנית שצריכה להפעיל חייבים להמיר לקבוצת ההוראות המקבילה ו / או לשיחות מערכת ההפעלה של המערכת המארחת. המטרה העיקרית היא לבצע קוד המשנה את מצבי המעבד ואינטראקציה עם החומרה, ויש לעשות זאת לכל הוראה של תוכנית ההפעלה.
דרכים לטיפול בחיקוי מעבד:
- קומפילציה דינמית - רשימה של פעולות נוצרת על ידי הפעלת הקוד, וכשמגיעים להוראת סניף, הרשימה נערכת לקוד ההוראות של פלטפורמת המארח. לאחר מכן נשמור במטמון לשימוש עתידי. לחלופין, ניתן פשוט להרכיב כל קוד תוך כדי תנועה, אך קשה לבצע אופטימיזציה של גישה זו.
- קומפילציה סטטית - זה מכונה גם תרגום בינארי סטטי בו קוד הראשון מומר לקוד של מכונת היעד או הארכיטקטורה מבלי להריץ את הקוד, כפי שנעשה בשחזור דינמי. עם זאת, בעיות יכולות להיווצר, מכיוון שלא כל קודי היעד יכולים להיקבע על ידי המתרגם בזמן הקומפילציה, מכיוון שחלקם עשויים להימצא בסניפים עקיפים בלבד, אשר בתורם ניתן לקבוע רק בזמן הריצה.
- פרשנות - כל קוד נקרא מהזיכרון בעזרת מצביע ההוראות ואז מבוצע על פי מערך ההוראות של ה- CPU של המחשב המארח. במילים אחרות, ההוראות מתורגמות אחת לאחת ואז מבוצעות באופן טבעי. החיסרון הגדול ביותר כאן הוא הביצועים.
