עבור לתוכן

שאלת תם: האם ב-64bit אורך של כל instruction הוא אכן 64 ביט?

Featured Replies

פורסם

שלום!

אילו "אלמנטים" ש"במחשוב 32 ביט" תופסים 32 ביט - תופסים ב"מחשוב 64 ביט" 64 ביט?

כלומר:

אני מניח שהרגיסטרים תופסים 64 ביט, האם כך לגבי ה-instructions שיושבים בזיכרון ונטענים למעבד?

תודה!

פורסם

כדאי לציין על איזה סט פקודות אתה מדבר..

פורסם

אני לא יודע אם במחשב שעובד ב-64 ביט אורך כל פקודה הוא 64 ביט, אבל מה שבטוח הוא שאורך הכתובות בזיכרון הוא 64 ביט. בעבודה ב-32 ביט, אורך כל כתובת בזיכרון הוא 32 ביט, ולכן ניתן לגשת ל 32^2 (2 בחזקת 32) כתובות שונות, כאשר בכל כתובת יש בית אחד (8 ביט), ולכן יש גישה ל 4GB של זיכרון בלבד. בעבודה ב-64 ביט יש גישה ל 64^2 (2 בחזקת 64), ולכן במערכת כזו ניתן לעשות שימוש בהרבה יותר זיכרון (פי 4 מיליארד מאשר במערכת של 32 ביט).

נערך על-ידי smalul

פורסם

בתקן של AMD הגישה היא עד 2 בחזקת 48 שזה 256 טרהבייט ולא 2 בחזקת 64.

אם אתה רוצה לראות איך הפקודות אסמבלר של X86 64 נראות בפועל, יש לך דוגמה חייה פה:

http://pasm.pis.to/#test

פורסם

בX86 אורך כל Instruction משתנה. נע בין 1B ל 17B אם אני לא טועה.

באופן כללי אין סיבה להרחיב את ההוראות אם אין צורך כי זה מנפח את הקוד ומביא לירידית ביצועים. יותר miss ב cache וכו'.

בX86 מקודדים הוראות נפוצות בפחות בתים והוראות יותר נדירות ביותר בתים. המטרה בסופו של יום לקצץ בנפח הקוד.

ארכיון

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

דיונים חדשים