المعالج (CPU)
Central Processing Unit
يعني "وحدة المعالجة المركزية"
المعالج هو "مبنى الحكومه الرئيسى او العمده " بتاع الكمبيوتر
هو المسؤول عن اتخاذ القرارات وتنفيذ التعليمات
ومتابعة سير العمل ما بين كل المؤسسات (RAM، التخزين، كروت الشاشة، إلخ)
من غيره المدينة كلها هتقف
المعالج بيتكون من حاجتين أساسيتين
وحدة التحكم CU (Control Unit)
الوحدة الحسابية والمنطقية ALU (Arithmetic & Logic Unit)
وحدة التحكم - CU
دى بمثابة "مدير الحركة" أو "قائد الأوركسترا"، اللى بيفهم التعليمات، ويبدأ يوزع الشغل
أول حاجة توصل لـ CU هي التعليمات الجاية من الذاكرة (RAM)
CU بتقرأ التعليمات وتحدد هتروح فين، وهتشغل مين: تبعت حاجة لـ ALU؟ تسحب بيانات من RAM؟ تخزن حاجة؟
فيها نوعين
Hardwired CU أسرع، لكنها متبرمجة من الهاردوير ومش سهلة تتغير
Microprogrammed CU أبطأ شوية، لكنها مرنة وأسهل تتعدل من السوفت وير
وحدة الحساب والمنطق - ALU
الجزء ده زي "مركز العمليات الحسابية والمنطقية" في المدينة
هو اللى بيعمل العمليات الحسابية (جمع، طرح...) والقرارات المنطقية (أكبر من، يساوي...)
جواه دوائر منطقية Logic Gates، ودى اللى بتنفذ كل العمليات
مثلاً، لما CU تبعت له أمر "اجمع الرقمين دول"، ALU بياخد الرقمين ويطلع الناتج
التخزين المؤقت داخل المعالج (Registers)
المعالج محتاج مكان صغير وسريع جدًا يخزن فيه البيانات المؤقتة
هنا بييجي دور الـ Registers
أسرع بكتير من RAM، لكنها بتخزن بيانات صغيرة ولمدة قصيرة
كل Register ممكن يخزن أمر، عنوان، ناتج عملية، أو أى بيانات محتاجة سرعة
أنواع الـ Registers
Instruction Register (IR) بيخزن التعليمات اللى المعالج شغال عليها حاليًا
Address Register بيشاور على العنوان فى الذاكرة اللى هنقرأ منه أو نكتب فيه
Accumulator بيجمع فيه نتايج العمليات
الذاكرة (RAM) هي زي مخازن المدينة اللى بتحتوي على التعليمات والبيانات، لكن مش بسرعة الـ Registers
عبارة عن مجموعة كبيرة من الـ Registers مترتبة بتخزن البيانات والتعليمات اللى بيشتغل عليها المعالج
لما الكهرباء تقطع، كل البيانات اللى فيها بتروح (ذاكرة مؤقتة)
التعليمات (Instructions)
كل حاجة بيعملها الكمبيوتر، هي عبارة عن تعليمات صغيرة. التعليمات بتقول للمعالج
اجمع/اطرح
انقل بيانات من مكان لمكان
خزن
اقف
أمثلة
LOAD_A 8 → حمل الرقم الموجود في العنوان 8 إلى المسجل A
LOAD_B 2 → حمل الرقم من العنوان 2 إلى B
ADD B A → اجمع B و A، وحط الناتج في A
STORE_A 23 → خزن الناتج في العنوان 23
سرعة المعالج: Clock Cycle
المعالج شغال بسرعة خرافية، بيقيس سرعته بالـ جيجاهرتز (GHz)
يعني
1GHz = مليار نبضة/ثانية
كل نبضة (Clock Cycle) يقدر المعالج ينفذ فيها أمر واحد أو أكتر حسب التطوير
علاقات الأداء
كل ما زادت الترددات → المعالج أسرع.
ممكن نحسن الأداء كمان لو قللنا عدد التعليمات المطلوبة.
Cache Memory (الذاكرة المخبأة)
CPU بيحب يكون ذكي، فبيخزن شوية تعليمات وبيانات متوقعة في ذاكرة اسمها Cache
لو لقاها موجودة بينفذها أسرع من الرجوع للـ RAM
لو البيانات فى الـ Cache مختلفة عن اللى فى الـ RAM
بنسمي ده Dirty Bit
Instruction Pipelining
دورة حياة التعليمات داخل الـ CPU
Fetch → Decode → Execute → Store
Fetch: يجيب التعليمة من الرام.
Decode: يفهم التعليمة (عن طريق الـCU)
Execute: ينفذها (عن طريق الـALU)
Store: يحفظ النتيجة (في الريجسترات أو الكاش أو يبعته للرام).
تخيلها كأنها سير على خط إنتاج، كل محطة بتشتغل على جزء من أمر مختلف.
Multi-Core CPUs
المعالجات الجديدة بقت فيها أكتر من نواة (Core)
كل نواة = معالج صغير. وكلهم بيشتغلوا مع بعض — زى مجموعة عمداء شغالين مع بعض في مدينة ضخمة.
