raztk כתב:כי אז המעבד עובד בצורה אחרת/שונה וייתכן שיש השפעה על המהירות.
השאלה היא, איזה מעבד? המעבד של דוסבוקס שהוא למעשה תכנה, עובד בדיוק אותו הדבר - כפי שאמרת, זוהי מהות האמולציה.
תבינו, דוסבוקס הוא תכנה, וכמו כל תכנה הוא מושפע מאוד מן היע"מ (להלן "המעבד") ולכן דוסבוקס עובד מהר יותר על מעבד חזק יותר ולאט על חלש יותר. הווה אומר ש3000 מחזורים יגרמו לדוסבוקס לנצל 70% מן הכח של מעבד פנטיום 3 450MHz אבל רק 5% ממעבד בן זמנינו
(זו סתם דוגמה, לא באמת בדקתי את המהירות על הדגמים הנ"ל), אבל כפי שציינתי קודם: בהנחה שהמעבד לא מתאמץ מעבר ליכולת שלו (לא מגיע ל100%),
המשחק המורץ בתוך דוסבוקס ירוץ באותה המהירות בשני המעבדים הנ"ל.
התפקיד היחיד של המעבד במערכת, הוא לבצע הוראות. הוראות כמו העברת
(למעשה, העתקת) מידע בין אוגרים(MOV), קידום אוגר(INC), חיבור(ADD), חיסור(SUB) הזזה אריתמטית ימינה/שמאלה ועוד. לכל מעבד בעולם יש את ההוראות שלו שעמן הוא יודע להתמודד, זה נקרא Instruction Set. כל דור חדש של מעבדים מוסיף הוראות חדשות לאלו הקיימות (למשל SSE, SSE2, MMX הם פשוט מקבץ של הוראות חדשות) ולעיתים גם משפר את ביצוע ההוראות ישנות. לדוגמה - פעולת כפל (MUL) הייתה אורכת כמה מחזורי מעבד במעבדים ישנים ואילו במעבדים של היום, אורכת רק מחזור אחד (אאל"ט. אני לא כ"כ סגור על הנתונים המדויקים).
המעבד הוירטואלי של דוסבוקס(שניהם, גם הרגיל וגם הדינאמי) שונה ממעבד חומרתי - כל הוראה, ולא משנה איזו, אורכת מחזור אחד. לכן, 3000 Cycles הם למעשה 3000 הוראות בכל מילישנייה, או 3 מיליון הוראות בכל שנייה. נקודה. וזה לא משנה למשחק המורץ בתוך דוסבוקס על איזו מערכת
דוסבוקס מורץ. כל מה שהוא יודע, זה שההוראות שהוא שולח לדוסבוקס מבוצעות בקצב של 3 מליון בשנייה. על כל מערכת.