ماذا تعني كلمات مثل 32-bit و64-bit
كل مرتبة إضافية في نظام العد الثنائي تعني أن القيم الممكن تضضمينها تتضاعف مرتين، لذا فـ 8bit ليس ضعفي 4-bit فقط، بل هو 16 ضعفاً.
لفهم معنى عبارات مثل 64-bit، يجب أن تعرف أولاً ماذا تعني Bit. وفق التعريف الحالي، فكلمة Bit ترمز لأصغر قيمة من الممكن تسجيلها في الدارات الإلكترونية، حيث تستخدم هذه الدارات نظام العد الثنائي وتتضمن رقمين فقط: 0 تعني أنه لا يوجد تيار، و1 تعني أنه يوجد تيار. بالنتيجة فكلمة 32-bit تعني عدداً من النظام الثنائي يتضمن 32 خانة، بينما 64-bit تعني عدداً من النظام الثنائي يتضمن 64 خانة.
للتوضيح فعدد 1010 في النظام الثنائي مثلاً هو عدد من رتبة 4-bit كونه يتضمن 4 خانات فقط. ووفق نظام التحويل بين النظام الثنائي الخاص بالآلة والنظام العشري الذي يستخدمه البشر، فأعلى قيمة ممكنة ضمن رتبة 4-bit هي 15 وبالتالي هناك 16 قيمة ممكنة ضمن نظام 4-bit. لكن بالانتقال إلى نظام 8-bit مثلاً، فأعلى قيمة ممكنة هي 255 أي أن هناك 256 قيمة ممكنة ضمنه، وبالتالي فهو يتضمن بيانات أكثر بكثير من ضعفي نظام 4-bit.
من الشرح السابق فالمعالجات التي تستخدم معمارية 32-bit تستطيع التعامل مع خطوط بيانات وتعليمات وعناوين ذاكرة حتى رتبة 32-bit (4.2 مليار تقريباً). بالمقابل فالعدد يرتفع إلى 18 كوينتليون في معمارية 64-bit، وبالتالي فالفرق بين المعماريتين هائل تماماً وليس مجرد ضعفين كما قد يخطر بالبال عندما ترى عددي 32 و64 في الاسم.
ماذا يعني هذا بشكل مبسط؟
بالنسبة للمستخدم، فالفرق الأساسي الظاهر هو التعامل مع الذاكرة، حيث لا تتعرقف معالجات وأنظمة 32-bit سوى على 4GB من ذاكرة الوصول العشوائي.
ببساطة، من الممكن للمعالجات التي تستخدم معمارية 64-bit التعامل مع مهام أكثر تعقيداً وتقديم مستويات أعلى من الأداء، كما أنها تدعم استخدام أحجام ذاكرة وصول عشوائي أكبر بكثير. ببساطة وعندما صنعت معالجات 32-bit للمرة الأولى، كانت الذاكرة المستخدمة حينها حوالي 4MB فقط، والعمليات التي من الممكن تطبيقها قليلة للغاية. لكن مع الوقت تغير الامر بسرعة وبات الحد الأقصى للذاكرة المدعومة مشكلة حقيقية، حيث أن بنية 32-bit لا تدعم سوى 4GB من ذاكرة الوصول العشوائي.
- بالمختصر يمكن تمييز الفرق بين معالجات وأنظمة 32-bit و64-bit بهذه الفقرات المختصرة:
- معالج 32-bit يستطيع التعامل مع 4GB من ذاكرة الوصول العشوائي فقط. بالمقابل يرتفع الحد إلى 18EB في معالجات 64-bit. للعلم فـ 1EB = 1000,000,000GB.
- معالجات 64-bit تمتلك مداخل بيانات أوسع مما يسمح لها بالنمو من حيث القدرات إلى حدود أعلى وتحقيق مستويات متفوقة من اأداء. حالياً أي معالج 64-bit حديث أفضل من معالجات 32-bit السابقة.
- في حال كنت تمتلك معالج 64-bit يمكنك تثبيت نسخة النظام التي تريد سواء 64-bit أو 32-bit. لكن على معالج 32-bit لا يمكن تثبيت سوى أنظمة 32-bit.
- على نظام 32-bit يمكنك تشغيل البرامج والتطبيقات المتوافقة معه حصراً. لكن على نظام 64-bit يمكن تشغيل جميع تطبيقاته وبرامجه المخصصة، بالإضافة للغالبية العظمى من تطبيقات وبرامج نظام 32-bit.
- في حال كنت تمتلك الخيار بين معالجين أو نظامين أحدهما بمعمارية 64-bit والآخر بمعمارية 32-bit، فالخيار الأمثل هو 64-bit حيث لا يود أي سبب مقنع للاعتماد على 32-bit بوجود معالجات 64-bit.
لماذا بدأت معالجات 32-bit بالانقراض؟
حالياً بات من الواضح أن معالجات 32-bit تكنولوجيا قديمة وغير ملائمة للواقع اليوم، وسرعان ما يختفي دعمها تدريحياً بمرور الوقت.
مع حد أقصى من الذاكرة هو 4GB فقط، فقد كان من الواضح أن معالجات 32-bit لن تكون كافية حقاً. لذا فقد بدأت المعالجات التجارية التي تدعم معمارية 64-bit بالظهور منذ عام 2001 للحواسيب. بالطبع فالانتقال إلى معمارية 64-bit كان بطيئاً للغاية، وحتى أعوام 2010 كان هناك معالجات متاحة للبيع مع معمارية 32-bit التي أصبحت قديمة للغاية ولا تضاهي نظيرتها الأحدث.
بالطبع فالهواتف قصة مختلفة تماماً، لذا فقد تأخر ظهور معمارية 64-bit في الهواتف حتى عام 2013 عندما استخدمت للمرة الأولى في هواتف iPhone 5S. بالمقابل تأخرت هواتف Android حتى عام 2014 لتبدأ بالحصول على معالجات تدعم المعمارية الجديدة، وعلى الرغم من أن الغالبية العظمى من هواتف اليوم تستخدم معمارية 64-bit، فهناك عدد كبير من الهواتف التي لا تزال مستخدمة وتدعم معمارية 32-bit فقط.
من أين أتت تسميات x86 وx64؟
معالج Intel 80386 واحد من أشهر معالجات الشركة التي تعمل بمعمارية 32-bit وأحد أسباب استخدام تسمية x86
بالنسبة لمعالجات 64-bit فتسميتها بـ x64 بشكل مختصر أمر منطقي نوعاً ما كاختصار، لكن الحيرة تأتي من تسمية معالجات 32-bit التي عادة ما يطلق عليها اسم x86. ببساطة فأصل التسمية هنا هو معالجات Intel الشهيرة خلال الثمانينات والتسعينات، حيث أصدرت الشركة العديد من المعالجات التي تمتلك رقم 86 في نهايتها وتستخدم معمارية 32-bit. وسرعان ما أصبحت عبارة x86 التي كانت ترمز لفئة من معالجات Intel تستخدم كمصطلح شامل لمعالجات 32-bit ككل.
ما هو الاختلاف بين 32-bit و64-bit في الأنظمة والبرامج؟
حتى الآن لا تزال العديد من البرامج متاحة بنسخة خاصة لمعالجات 32-bit. لكن عاجلاً أم آجلاً ستختفي هذه البرامج مع انحدار استخدام هذه المعالجات القديمة.
مع كون أنظمة التشغيل تعتمد على تعليمات محددة للتعامل مع المعالج والتحكم بما يحصل، فكون هذه الأنظمة عادة ما تأتي بإصدارين مختلفين وفق معمارية المعالج ليس غريباً حقاً. حيث أن جميع أنظمة Windows منذ حتى الآن تأتي بواحد من الإصدارين، إما لمعالجات 32-bit أو لمعالجات 64-bit وهنا يصبح الأمر محيراً قليلاً. حيث أن النظام المخصص لمعالجات 32-bit يعمل على المعالجات ذات بنية 64-bit كذلك، لكن العكس ليس صحيحاً.
ببساطة وفي حال كنت تمتلك معالجاً بمعمارية 64-bit يمكنك تثبيت أي إصدار تريد وسيعمل، لكن في حال كنت تمتلك معالجاً بمعمارية 32-bit لن يكون من الممكن تثبيت نظام تشغيل بمعمارية 64-bit ببساطة. بالطبع فكون أنظمة 32-bit قابلة للتثبيت على معالجات 64-bit لا يعني أن ذلك فكرة جيدة. حيث أن الأمر لا يحمل أي فائدة من أي نوع، كما أن النظام لن يستفيد من إمكانيات الحاسوب بالكامل حيث سيقدم أداء أضعف كما أنه سيكون محدوداً بـ 3.5GB من ذاكرة الوصول العشوائي لغض النظر عن حجم الذاكرة التي تمتلكها.
بالنسبة للبرامج، ففي معظم الأحيان يكون الأمر كما هو بالنسبة لنظام التشغيل. النسخ المخصصة لنظام 64-bit تعمل على نظامها فقط، بينما تلك المخصصة لنظام 32-bit تعمل على جميع الأنظمة. على أي حال هناك بعض الحالات الخاصة حيث أن بعض البرامج وبالأخص برامج التصميم الهندسي مثلاً لا تعمل سوى على الأنظمة المتوافقة مع نسختها حصراً. على العموم فأي برنامج متاح بسختين، عادة ما يكون من الأفضل استخدم النسخة المتوافقة مع معالج حاسوبك حصراً لتجنب مشاكل عدم الاستقرار في الأداء.