كيف يعمل المعالج؟
المعلوماتية >>>> عام
بس قبل ما نبدا، شو هي الـ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: هنا