מה זה בדיוק 32bit ? 64bit ?

Artic

New member
מה זה בדיוק 32bit ? 64bit ?

מה בדיוק היתרונות של מעבר למערכת הפעלה מבוססת 64bit ? ומדוע בכלל היתרונות הללו נוצרים ? (בס"כ הגדלנו את גודל יחידת הזכרון ?) ומה הקשר של מעבדים מבוססית 64bit ?
 
הגדלת מרחב הזיכרון של המחשב

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

Artic

New member
תודה רבה לך ! 2 שאלות הבנה :

ראשית - תודה
1. זה כל הסיפור ? ההבדל בין תמיכה עד 4 ג'יגה של זכרון, לבין תמיכה של עד 18 - זה כל ההבדל בין מערכת 32 ו 64 ביט ? 2. מה הסיבה הטכנית למגבלה ? מדוע מערכות שעובדות על 32 ביט תומכות ב 2 בחזקת 32 כתובות זכרון ? מה זה בדיוק ה 32 ביט הזה ? גודל הרג'יסטר שיכול להחזיק כתובת בזכרון ? 3. הבנתי שמערכת ההפעלה צריך להכתב מחדש (או לפחות החלק שמטפל בהקצאות זכרון), אבל מה הקשר למעבד ? מדוע יש בעבדי םמיוחדים ל 64 ביט ?
 
תשובות

1. זה ההבדל העיקרי. יכול להיות שישנם עוד הבדלים, אבל ההבדל העיקרי והמשמעותי הוא בכמות הזיכרון. 2. הסיבה הטכנית היא תכנון החומרה. מכיוון שאינני איש חומרה, אני לא יכול לתת לך תשובה מדוייקת, אבל בגדול מדובר ברגיסטרים אחרים מבחינת חומרה. במחשבים המידע מועבר בביטים (0 או 1) וזאת ה"שפה" שהחומרה מדברת, רק שהביטים הדיגיטליים עוברים המרה לאותות חשמליים. הרגיסטרים מתוכננים כך שהם יכולים להכיל כמות ביטים מסויימת. יכול להיות שהסבר זה אינו מדוייק במאה אחוז מכיוון שאני לא איש חומרה. 3. המעבד מורכב בין השאר מיחידה שנקראת MMU והיא למעשה היחידה שמנהלת את הזיכרון במחשב מבחינת החומרה, בעוד מערכת ההפעלה למעשה מנהלת את הזיכרון בעזרת ה-MMU שהוא חלק בלתי נפרד מהמעבד. זאת הסיבה שישנם מעבדים שהם מתוכננים ל-64 ביט - כלומר רכיב ה-MMU שבהם מתוכנן לנהל כמות זיכרון מתאימה.
 

shed

New member
--> תיקון קל, אבל מהותי.

ההבדל העיקרי הוא לא כמות זכרון נתמכת. ההבדל העיקרי הוא בגודל האופרנד עליו מבצעים פעולות. אם אני רוצה לבצע xor בין שני מספרים בני 64bit, במעבד 64ביט זה יתבצע בפעולה אטומית אחת (נניח מחזור שעון אחד) ואילו במעבד 32bit אותה פעולה תיקח שלושה מחזורי שעון. על אותו אופן: במחזור שעון אחד אני יכול לבצע xor על 8 מספרים בני 8bit בעוד במעבד 32bit אני יכול לבצע רק על 4. זה ההבדל העיקרי בין הפלטפורמות, ולא מרחב זכרון. דרך אגב: גם עם מעבד 32bit אפשר לתמוך במרחב כתובות של 64bit (על ידי שימוש בשני רגיסטרים לכתובת, ו-bus כפול בגודל או העברת כתובת על ידי שני מחזורי bus).
 
למעלה