ما هي مزايا المستوى الأدنى وعيوب 64 بت / 32 بت؟

StackOverflow https://stackoverflow.com/questions/1282206

  •  16-09-2019
  •  | 
  •  

سؤال

أنا متأكد من أننا سمعنا جميعا الشروط 64bit و 32 بتوقية، ولكن ماذا تعني فعلا؟

أنا متأكد من أن عليهم القيام به بحجم عنوان الذاكرة. على آلة 64bit، هناك إشارة إلى كائن 64 بت. لكنني أريد أن أحفر أعمق قليلا ....

  1. واحد في كثير من الأحيان يسمع عبارة "64bit آلة". أي جزء من الكمبيوتر موجه فعلا نحو عدد البتات؟ المعالج؟ نظام التشغيل؟

  2. ما هي ميزة وجود عناوين ذاكرة أكبر؟

يمكنني إضافة المزيد من الأسئلة، لكنني أعتقد أن موجز أفضل.

شكرا يا شباب: د

هل كانت مفيدة؟

المحلول

يشير 64 بت إلى عرض السجلات ومساحة معالجة الذاكرة، إلخ. فائدة واحدة هي القدرة على معالجة أكثر من 4 جيجابايت من الذاكرة.

ويكيبيديا لديه مقال على الحوسبة 64 بت مع مزيد من التفاصيل.

تحرير: مزايا بالنسبة إلى المزيد من الذاكرة هي أن نظام التشغيل والبرامج يحتوي على مساحة أخرى مخاطبة افتراضية - 16 Exabytes (17.2 مليار جيجابايت) - وأهم الأهم من ذلك، يمكن إضافة المزيد من الذاكرة الفعلية إلى نظام ومعالجتها، مما يؤدي إلى تبديل ذاكرة ظاهرية أقل من وإلى القرص.

ميزة السجلات الأوسع والحافلات البيانات هي أنها أسهل وأسرع لتحريك نفس الكمية من البيانات حولها. العملية التي تتطلب إجراء سجلتين أو أكثر يمكن الآن القيام بها مع واحد.

لذلك، يتم زيادة الأداء عادة عند إعادة ترجمة البرنامج ل 64 بت.

أ غير مؤات هل يمكن أن يعني هذا البيانات الأوسع مساحة أكبر من خلال نفس البيانات. على سبيل المثال، يتطلب تخزين الرقم 300 تسعة بت. إذا تم تخزينها في عدد صحيح 32 بت، يضيع 23 بت. في 64 بت، يصبح هذا الهدر 55 بت. لذلك، دون إعادة التدوين، يمكن إعادة ترجمة بسيطة إلى 64 بت بشكل أسرع، ولكن المزيد من البرامج مزيد قليلا.

تحرير: أيضا هناك صفحات التكنولوجيا 64 بت هنا:

نصائح أخرى

الفرق هو بالضبط 32 بت ؛-)

تحتاج إلى أجهزة 64 بت (معالج) لتشغيل نظام التشغيل 64 بت. تحتاج إلى نظام التشغيل 64 بت لتشغيل برنامج 64 بت. هذه هي التبعيات.

  • في نظام 32 بت يقتصر على معالجة ذاكرة 4 Gibyte (2 ^ 32)، في 64 بت هناك حد نظري من 2 ^ 64 بايت.
  • يحتاج برنامج 64 بت ذاكرة أكثر قليلا، وخاصة المؤشرات 8 بايت بدلا من 4
  • على X86_64، تحتاج الملفات التنفيذية 64 بت إلى المزيد من الذاكرة، حيث يوجد Opcode إضافي للعديد من التعليمات، وبالتالي قد يعمل بشكل أبطأ
  • في X86_64، يمكن لبرنامج 64 بت استخدام المزيد من السجلات ولديه القدرة على تشغيل أسرع
  • 64bit أنظمة يمكن أن تعالج مباشرة ذاكرة أكثر بكثير
  • 64bit أنظمة يمكن أن تعالج البيانات في قطع مرتين مثل 32 بت، مما يساعد بعض العمليات بسرعة أكبر

بالنسبة لبعض البرامج، مثل أجنحة أتمتة Office، فإن 32 بت vs 64bit يجعل الفرق الملحوظ قليل.

ولكن بالنسبة للتطبيقات الأخرى، مثل قواعد البيانات أو معالجة الرسومات / معالجة الفيديو، أو استضافة الأجهزة الافتراضية، تكون قادرا على الوصول إلى المزيد من الذاكرة الجسدية في وقت واحد والقدرة على معالجة المزيد من المعلومات مع كل تعليمات تحدث فرقا كبيرا في الأداء.

لاحظ أنه اليوم، العديد من رقائق 32bit لديها وظائف تمديد 64 بت، كما FPU. (الرياضيات) أو SSMD. يتم إجراء عمليات (ناقل) في وضع 64 بت بالفعل.

يرى 32 بت مقابل أنظمة 64 بت: ما الفرق؟ للمزيد من.

  1. سجلات وحدة المعالجة المركزية ولوحة الذاكرة.

  2. يمكن للنظام الرجوع (انظر) ذاكرة أكثر بكثير.

أعتقد أن أفضل إجابة ستكون مقارنة في مجمع X86 بت X64

عند تسجيل برنامج X32 بت الخاص بك متغيرا، على سبيل المثال عدد صحيح (5)، يعادل الرمز هذا:

push 5

لفهم الأشياء بشكل أفضل، "ادفع x" هو اختصار إلى:

sub esp,4 //substracts esp with 4(4*8=32 bits.That's the size of a pointer in x32 executables) in order to make space for our variable
mov [esp],X //moves variable in @esp

تلك المسارات هي 32 بت (4 بايت طويلة)، وهو حجم المؤشر في أي لغة برمجة 32 بت.

في 64 بت كود، ولكن الحجم أكبر مرتين، وكذلك التسجيل. سجل المستخدم ESP موجود في الملفات التنفيذية X64، ولكن ليس استخدامه على نطاق واسع كما هو في X32 الملفات التنفيذية.

بدلا من ذلك، تحصل جميع السجلات على "R" أمام اسمها (يصبح EAX RAX، ويصبح ESP RSP، يصبح EDX RDX وما إلى ذلك).

لذلك لن يكون الكود الخاص بنا في x64 القابل للتنفيذ أي مختلفا، باستثناء الاختصار الخاص ب "دفع X" سيكون

sub esp,8
mov [rsp],X

RSP لديه ضعف حجم ESP - 64 بت، 8 بايت.

خلاصة القول هي أن الملفات التنفيذية X64 بت استخدام المزيد من الذاكرة من الملفات التنفيذية X32 بت.

دعنا نعود إلى الأساسيات.

99٪ من الكمبيوتر تستند هذه الأيام إلى ما يشار إليه باسم فون نيومان الهندسة المعمارية. وبعد أساسا، الكمبيوتر في دورة ثابتة من:

  1. جلب أمر من ذاكرة الوصول العشوائي
  2. تنفيذ الأمر على وحدة المعالجة المركزية

alt text
(مصدر: wikimedia.org.)

عند الإشارة إلى نظام 32/64 بت (أو أي حجم بت آخر)، تتحدث أساسا عن بنية الكمبيوتر وتنفيذها:

  • حجم مساحة الذاكرة (ذاكرة الوصول العشوائي)
  • حجم سجلات وحدة المعالجة المركزية
  • حجم الحافلة (أي بين وحدة المعالجة المركزية، ذاكرة الوصول العشوائي، I / O، إلخ ...)

إذا كان لديك نظام 64 بت، فلديك مساحة عنوان 2^64. وبعد هذا هو السبب في أن نظام 32 بت لا يمكن أن يكون أكثر من 4 جيجابايت من ذاكرة الوصول العشوائي. كيف يمكنك معالجة مساحة ذاكرة أكبر من 2^32?

فيما يتعلق باختلافات الأداء، لا توجد إجابة واضحة قطع (تماما كما لا توجد إجابة واضحة إذا كانت CISC أو Armiture Reisc أفضل). يعتمد ذلك بشكل كبير على التطبيقات التي تستخدمها.

إلى المبلغ: بنية 64 بت هي ببساطة طريقة مختلفة لبناء جهاز كمبيوتر. لا يعني أنه أفضل، أو أسوأ، أو يفعل الأشياء بشكل مختلف (على مستوى منخفض، كل كمبيوتر يقوم بتنفيذ جلب). انها ببساطة طريقة مختلفة لتنفيذ جهاز كمبيوتر.

بالضبط المراجع 64 بت أو 32 بت إلى عرض الحافلة الرئيسية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top