ايه الفرق بين 32 Bit و 64 Bit ؟

0

ايه الفرق بين 32 Bit و 64 Bit ؟



بسم الله الرحمن الرحيم



نبذة سريعة كدا بداية الموضوع


كتير بنسمع عن معالج 32 بت أو معالج 64 بت، و الغريب إن محدش سألنى يعنى إيه 32 بت أصلا 
 الأغرب بقى إن أنا لما سألت نفسى ملقيتش تعريف معين أو مصدر وافي بيشرح الموضوع ده؛ لذلك
 استخدمت حِنكِتشِى و مهارتشِى و فَراستشِى علشان أدور فى الموضوع ده 

و بعد عناء طويل توصلت للآتى.. قصدى الآتشى
- بص يا سيدى.. المفروض إن البروسيسور دا بيعالج البيانات ولا بيعمل فشار؟
أكيد بيعالج البيانات  (معلومات قيمة للغاية )

طيب.. معنى معالجة البيانات دى إيه؟ 


 معنى معالجة البيانات إن البروسيسور بيجيب البيانات دى و يعمل عليها شوية عمليات حسابية و منطقية
 و شوية حبشتكنات من دى، و بعدين يديهالك فى صورة معلومات.. المعلومات دى ممكن تبقى صورة
 أو نَصّ أو صوت أو حتى فيديو

طيب.. البروسيسور و هو بيعمل الكلام دا هيحتاج Memory ولا هيحتاج Sun block؟ 

مظبوط.. هيحتاج Memory (أو جزء من ذاكرة التخزين العشوائي)..
 اللى بنقول عليها RAM حدانا فى البلد 

طيب البروسيسور علشان يوصل للرام دى بيعمل إيه؟ 
الرامات طول عمرها معروفة إنها تِنِكَة و ميعجبهاش العجب 
 فبتقول للبروسيسور أنا هديك المساحة اللى انت عاوزها بس على شرط.. كل بايت تاخده تبعتلى جواب
تستأذنى فيه الأول علشان أديك البايت دا، و أنا وعد منى يا بروسيسور أديك كل الـBytes اللى تطلبها

تعرف على تاريخ ال USB و انواعه و اجياله

البروسيسور طبعا يبقى مش عارف يضحك ولا يعيط.. يفرح إن الرام هتديله المساحة اللى
 هو عاوزها ولا يزعل علشان كل بايت هياخده لازم هيبعت بيه جواب
 يستأذن الرام (العملية دى بيسموها Addressing)
لكن لحسن الحظ البروسيسور فيه وحدات اسمها Registers (معرفش إسمها بالعربي علشان لو هتسأل يعنى) 
الـRegisters دى منها أنواع كتير جدا، و كل نوع له وظيفة محددة بيعملها و مبيعملش غيرها..
 من ضمن الـRegisters دى نوع اسمه MAR أو (Memory Address Register)،
دا قاعد فاضي بقى، شغلته يبعت جوابات من البروسيسور للرام كل ما البروسيسور يعوز مساحة،
 دا بالإضافة لإنه بيخزن عناوين الـBytes دى علشان يبعت لكل بايت فى الرام الجواب بتاعه بإسمه يستسمحه
 إنه يستخدمه أو ياخد البيانات اللى هو مخزنها عنده علشان البروسيسور يشتغل بيها.. مش بقولك عالم فاضية؟ 
البيانات اللى فى الرام دى بتتخزن أماكنها فى Register تاني اسمه MDR
 أو (Memory Data Register)، و بالتالى لما البروسيسور بيحتاج بيانات معينة بيسأل
الـMDR عن مكان البيانات دى و يروح ياخدها

طيب.. تعالى نعمل الحكاية دى عملي كدة 
البروسيسور عاوز يخزن حرف "A" فى بايت على الرام، فبيروح للـMARR و بيقوله
 ابعت جواب لأي بايت فى الرام نخزن الحرف دا عنده
يقوم الـMARR يدور فى العناوين اللى عنده و يلاقى إن فى مساحة واحد بايت فاضية
على الرام بتاعة واحد اسمه "عَبصَمَد" 
فيبعت لعبصمد يقوله عاوزين نخزن الحرف دا عندك بعد إذنك يعنى.. لو مفيهاش سماجة مننا  
و بما إن الإيد البطّالة مش حلوة، و البايت الفاضي بيبقى فال وحش عندهم، يقوم عبصمد يقول للـMARR
 ابعت الحرف اللى مضايقك دا 
فيقوم الـMAR يديه الحرف و يخلى الـMDRR يمَضّى عبصمد على وصل استلام الحرف دا
و إقرار بإنه عنده، و يروح عاينه عنده علشان يفتكر إن حرف الـ"A" عند "عبصمد" 
 طبعا البروسيسور كبروسيسور مش فاضي يحفظ كل بايت عند مين.. كفاية عليه أوي يعرف هو محتاج إيه،
 فلما بيحتاج حرف الـ"A" اللى هو مخزنه فى الرام بيروح للـMDR و يقوله فاكر حرف الـ"A"
 اللى وديناه للرام؟ أنا عاوزه دلوقتى
الـMDR يروح مدور فى الدرج اللى فيه وصولات الأمانة و يروح مطلع الكمبايلات بتاعة عبصمد 
 و يروح واخد توكتوك و طالع عند عبصمد فى الرام و يجيب منه الحرف اللى عنده و يديله الورق بتاعه،
 و يا دار ما دخلك شر 

 لحد هنا الدنيا معانا تمام أوي و انت فهمت الدنيا بتمشى إزاي بين البروسيسور و الرام.. لأن انت لو مفهمتش أنا هزعل أوي 


طيب.. يعنى إيه بقى 32 بت و 64 بت دول؟ و إيه علاقتهم بالعلاقة الآثمة بين البروسيسور و الرام؟ 
أنا أقولك.. المفروض إن الـRegisters هى المسئولة عن العلاقة بين البروسيسور و الرام،
و بتقعد طول النهار و الليل شغالة بمبدأ خد حرف و هات حرف و كدة 
بس كل حاجة خلقها ربنا و ليها طاقة برضو، و نفس الحال بالنسبة للـRegisterss بتاعة البروسيسور..
 ليها حد معين من الرام بتقدر توصل له و تتعامل معاه بكل حب و احترام، لو زودت مساحة
 الرام عن المساحة دى بيبقى الموضوع صعب شويتين، و غالبا البروسيسور بيستخدم من الرام
المساحة اللى يقدر يوصل لها بس، و الباقي بيسيبهولك تقَسِّمه و تبيعه مباني 

المساحة اللى بيقدر الـRegisters توصل ليها دى بتكون فى البروسيسور الـ32 بت
 حوالي 4294967296 بايت بالظبط (مش عارف أنا بقولك حوالي ليه.. بس قشطة ) 
المساحة دى لو جيت تحسبها هتلاقى إنها حوالي 44 جيجابايت، بس الجهاز مبيوصلش للأربعة جيجا كلهم طبعا..
 منهم جزء بيروح يشتغل مع الـGPU و جزء بيكون فرق عملات زي ما قلتلك فى بوست قبل كدة مش
 لاقى اللينك بتاعه و كدة 
فبيكون اللى الجهاز بيشوفه من الرامات تقريبا 33 جيجا و كسر بسيط

كل دا و أنا مقلتلكش إيه علاقة الرقم اللى أنا كاتبه دا بـ"32 بت" تحديداً 
 عاوزك ترجع معابا بالذاكرة كدة حوالي شهر أو شهر و نص و تبص معايا على بوست "لغة الآلة" 
 كنت قلتلك إن لغة الكمبيوتر مكونة من أرقام صفر و واحد بس و كدة.. الرقم الكبير اللى
ورا دا (اللى هو 4294967296) لو جيت تمثله بلغة الآلة هيساوى
10,000,000,000,000,000,000,000,000,0000,000
يعنى مكون من 32 بت أو 32 خانة جنب بعض لأنه بيساوى 2^322
(اتنين أُسّ اتنين و تلاتين.. علشان لو الرقم طلع مقلوب ولا حاجة )
أما بالنسبة للبروسيسر الـ64 بت فهتلاقى الرقم دا كبير شويتين تلاتة أربعة سبعة و خمسين كدة 
و هيساوى 9,223,372,036,854,775,807 بايت 
الرقم دا كبير جدا، و بيساوى حوالي 16 إكسبيبايت (حاجة كدة العلم لسة موصلش ليها لغاية دلوقتى 
 و برضو خلينا واقعيين.. و خلينا متفقين إنك حتى لو لقيت البروسيسور اللى هيشغل المساحة
 دى كلها من الرام مش هتلاقى رامات بالمساحة دى خالص 
 و لو لقي رامات بالمساحة دى مش هتلاقى نظام تشغيل دلوقتى يدعمها، و لو لقيت نظام تشغيل يدعمها مش هتلاقى MotherBoard تدعم الحجم دا كله 
 لكن الفكرة إن البروسيسور بتاعك هيتعامل مع مساحة الرام اللى هتديهاله من غير مشاكل حتى لو كانت المساحة دى أكبر من 4 جيجا، و دا اللى احنا عاوزينه


طيب.. علشان أستفيد من بروسيسور 64 بت محاج إيه؟


انت مش محتاج أي حاجة غير سوفتوير و نظام تشغيل 644 بت علشان تستخدم المميزات الإضافية للبروسيسور،
 لكن هل دايمًا المعالج الـ64 بت أفضل من الـ32 بت؟ و هل دايمانظام التشغيل الـ64 بت أفضل من الـ32؟
 بص.. الموضوع بيرجع أولا و أخيرا لاستخدامك انت

بمعنى إنك لو هتشتغل على برامج Legacy المخصصة لبيئة 16 بت (أيوة 16 ) فغالبا هتحتاج
نظام تشغيل 32 بت علشان هو اللى بيعرف يتعامل مع الحاجات الـ16 بت
أما لو كنت بتستخدم حاجات 644 بت فمش هتعرف تستفيد من البرامج دى ولا تسطبها إلا لو كان نظام
 التشغيل بتاعك 64 بت، مع العلم إنك مكن تشغل الحاجات المصممة لبيئة 32 بت عادي جدا على أي
 نظام تشغيل 64 بت، بس مش هتعرف تستخدم الحاجات بتاعة الـ16 بت برضو 

أما بالنسبة للبروسيسور نفسه فعاوز أقولك إنك ممكن تسطب نظان تشغيل 32 بت على جهاز
 ببروسيسور 64 بت عادي جدا، و أقولك لى مفاجأة؟ 
ممكن تسطب نظام تشغيل 64 بت على بروسيسورات كتير 32 بت 
عارف إنك قرأت فى مليون حتة إن دا مينفعش، بس معالجات Intel الـ32 بت زي الـCeleron و  Intel Atom الـPentium لغاية Pentium D كانت 32 بت، و كان فيها ميزة ظريفة اسمها 64Bit-Ready،
 بمعنى إنها كانت بتدعم أنظمة تشغيل 64 بت عادي (و بالذات ويندوز  )... طبعا مبتكونش
 بكفاءة المعالجات الـ64 بت، لكن أهو أوبشن حلو برضو 
دا بالإضافة لإن أنظمة التشغيل الـ64 بت بتكون غالبا "أتقل" من الأنظمة الـ322 بت، خصوصا
لو هتستخدم النظام دا على بروسيسور 32 بت 

طيب لما معالجات الـ64 بت دى حلوة أوي كدة، الشركات اللى بتصنع معالجات مفكرتش
 تعمل حاجة 128 بت مثلا؟ أو 256؟ 
بص.. نظريا الكلام اللى بتقوله دا كويس جدا، لكن عمليا
 صعب و مش عملي لكذا سبب
 أولهم هو إننا لسة مجبناش آخر الـ64 بت علشان نحتاج
معالجات ليها Bit Width أكبر
كمان لاحظ إن برامج كتير جدا دلوقتى معمولة بحيث تشتغل على أنظمة 322 بت
 (زي كروم مثلا)، و لو فرضنا إننا هنعمل Architecture جديدة فانت مش هتعرف تستفيد من البرامج الـ32 بت دى
- غير كل دا إن الـArcheticture الجديدة دى هتحتاج Driverss من أول و جديد للهاردوير اللى
 هيشتغل معاها، بل إنها هتحتاج هاردوير جديد أصلا متوافق معاها، و بالتالى هتلاقى الدنيا صعبة شويتين 

طيب.. بالصلاة على النبي كدة لو قلتلك تلِفّ لى الكلام دا كله فى رغيف.. ممكن تقولى إيه؟ 
هقولك الخلاصة البروسيسور الـ64 بت بيدعم مساحة RAM أكتر من الـ32 بت
- مش هتستفيد من مميزات البروسيسور الـ64 بت إلا لو سطبت عليه نظام تشغيل 64 بت برضو 
- كل بروسيسور و كل نظام تشغيل بيكون ليه مجموعة من التعريفات و الـDriverss المتوافقة معاه،
 فحاول لما تحمل الحاجات دى تختار الحاجة المناسبة ليك و المتوافقة مع نظامك

لا يوجد تعليقات

أضف تعليق

يتم التشغيل بواسطة Blogger.

بحث هذه المدونة الإلكترونية