المعلوماتية > عام

كيف يعمل المعالج؟

شو أول شي بيخطرلكن لما بدكن تشتروا جهاز كمبيوتر؟ بالنسبة إلي ولكتير من المستخدمين أول شي بيجذبن لشراء جهاز هو المعالج سواء كان Quad Core أو Core i7 أو أي نوع تاني. و تقريباً الأغلبية بكونوا متأثرين بالإعلانات يلي بتظهرمعالجاتها بصورة خارقة وهيك انتو بتشتروا أحسن شي نازل. بس عفكرة الأغلبية ما بيعرفوا شو هاد المعالج و شو بيعمل، حتى لو بتسأل شو يعني CPU؟ الأغلبية ما حيعرفوا . لهيك اليوم بهالمقال رح نعرّفكن شوي عن مبدأ عمل المعالج وشو أهم العمليات المسؤول عنها.

بس قبل ما نبدا، شو هي الـCPU ؟

ال CPU هي اختصار ل Central Processing Unit أو بالعربي وحدة المعالجة المركزية . و بالفعل هي اسم على مسمّى، حيث إنّو وظيفة المعالج الأساسية هي معالجة الأوامر يلي بيحصل عليها من تحويل الأوامر من لغة البشر للغة الآلة يلي هي لغة مستوى أدنى . المعالج عندو أربع عمليات أساسية يلي هنن : الجلب ، فك الشفرة ، التنفيذ و إعادة الكتابة . و هلق رح نشرح كل وحدة من هالعمليات باختصار .

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

هلق تاني مرحلة هي مرحلة فك الشيفرة !Decode و هالشي منطقي لان المعالج جاب التعليمة من البرنامج بس ما رح يقدر ينفذا الا اذا كانت بلغة هو نفسو يفهمها ، لهيك بقوم بحولها للغة التجميع و طبعا هاللغة بتختلف من معالج للتاني . اما الحركة الجاي يلي بتخلي يقدر يترجما لصفار وواحدات يلي هي لغة الالة بتحتاج لشي اسمو المجمع او Assembler و هاد شغلتو الوحيدة بالحياة هيي عملية الترجمة هي.

بعد ما يخلصوا المرحلتين الأولى و التانية بكون المعالج عندو كلشي و مو ناقصو الا انو ينفذ Execute . بمرحلة التنفيذ المعالج بيقدر بينفذلك تلات شغلات

1- يا اما انو بتكون العملية حسابية او منطقية ، وعلى أي درجة من التعقيد .هالشي بيستدعي استخدام وحدة الحساب و المنطق او ال ALU .

2- يا اما بتكون العملية مجرد نقل بيانات من عنوان بالذاكرة لعنوان تاني .

3- او عملية القفز او Jump . هلق صحي الاسم بضحك بس متل ما قلنالكن بالشرح انو كل تعليمة الها سطر معين بالذاكرة و لحتا تقدر تنفذ السطر يلي ورا او حتى انو تخلي المعالج بنفذ تعليمة محددة بسطر معين معروف عنوانو رح تحتاج لهالعملية . و هالشي المعالج بحددو .

و أخيرا منصل لمرحلة إعادة الكتابة او Write Back . و بما انو لكل فعل رد فعل ، فالمعلومات و المدخلات يلي عطيناها للمعالج رح تنردلنا بصورة مخرجات او معلومات معالجة .و هالمخرجات رح تتخزن عنا بالذاكرة. كمثال بسيط برنامج جمع عددين انا بدخلو 3 و 5 مثلا المخرج حيكون العدد 8 يلي حيتخزن بشي عنوان بالذاكرة . اول ما المعالج يخلص من هالعملية بقوم بزيد عداد البرنامج (يلي متل ما شرحنا بيحفظلنا وين المعالج قاعد عم ينفذ) بمقدار 1 لينتقل للتعليمة يلي وراها .

احد العناصر المهمة بالمعالج هي ساعة المعالج و هي الساعة بتولد اشارة لتزامن وحدات المنطق مع المعالج خلال تنفيذ احد الاوامر. تخيلوها متل نبضات صاعدة و هابطة ، كل ما تخلص نبضة بتتنفذ تعليمة. و من هون اجت اهمية سرعة ساعة المعالج يلي بتنقاس بالجيجاهرتز GHz و الرقم بيدل على عدد دورات ساعة المعالج خلال الثانية. اغلبية المعالجات بتشتغل على 2.8 GHz و هالشي يعني تنفيذ 2.8 بليون تعليمة بالثانية الوحدة !

صحي انو هالرقم هائل بس اذا المعالج مو مصمم ليشتغل بتقنية التوازي و تقنية المعالج المتعدد الانوية ، و بيعتمد اعتماد بحت عالتقنية يلي شرحناها سابقا فبحب بشركن انو حيكون معالج كتير بدائي و بطيئ . و انتظرو مقال اخر رح نشرح فيو هي التقنيات الجديدة يلي نقلتنا من العصر الحجري لعصر ال Core i7 . يلي شرحنا اليوم هو اساس عمل المعالجات و المدخل لباقي فروع تطويره ، و منتمنى انكن تكونو استفدتو .

هلق بدنا من كل واحد يكتبلنا شو نوع المعالج تبعو ؟ و بعمرك فكرت تزيد سرعة ساعة المعالج ؟ فرجونا ابداعاتكون!

------------------------------------------------------------------------------------------------

Reference: هنا