خريطة النجاة والتميز 🗺️

لقد قمنا بفك شيفرة مادة Computer Architecture.
إليك الزبدة المركزة، القوانين الصعبة، وتوقعات الاختبار.

1

الفهم العميق (السيناريوهات)

🔄

دورة حياة التعليمة

لا تحفظ الخطوات، تخيل القصة: المعالج يذهب للذاكرة ليجلب الأمر (Fetch)، يفك شفرته ليفهم المطلوب (Decode)، ثم ينفذه (Execute).
RAM → MBR → IR → Control Unit

🏭

خط الأنابيب (Pipelining)

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

🗺️

Cache Mapping

كيف نجد البيانات؟
Direct: مقعد امتحان محدد (سريع لكن مزدحم).
Associative: أي مقعد في السينما (مرن لكن البحث بطيء).
Set-Associative: أي مقعد في "صف" محدد.

🎭

Virtual Memory

خدعة بصرية! النظام يوهم البرنامج أن لديه ذاكرة ضخمة ومتصلة، بينما هي في الواقع مبعثرة بين الرام والقرص الصلب. الجدول السحري (Page Table) هو المترجم بينهم.

2

موسوعة RAID الشاملة

المستوى الوصف الميزة القاتلة (Pros) العيب القاتل (Cons)
RAID 0 Striping 🚀 أقصى سرعة ممكنة. ❌ فشل قرص = ضياع الكل.
RAID 1 Mirroring 🛡️ أمان عالي (نسخة طبق الأصل). 📉 نصف المساحة ضائعة.
RAID 5 🔥 Distributed Parity ⚖️ التوازن المثالي (سرعة + أمان). استعادة البيانات بطيئة قليلاً.
RAID 6 Dual Parity 🛡️🛡️ يتحمل فشل قرصين معاً. حسابات معقدة وبطء في الكتابة.
RAID 10 Stripe + Mirror 💎 سرعة 0 + أمان 1. 💰 مكلف جداً (4 أقراص وأكثر).
3

بطاقات القوانين (جاهزة للتعويض)

Amdahl's Law (التسريع)
$$S = \frac{1}{(1-f) + \frac{f}{k}}$$
f: نسبة الجزء المحسن (0.0 - 1.0)
k: معامل التسريع (كم مرة أسرع؟)
CPU Time (وقت المعالج)
$$Time = IC \times CPI \times CycleTime$$
IC: عدد التعليمات
CPI: الدورات لكل تعليمة
Disk Access Time
$$Access = Seek + Rotation + Transfer$$

تذكر: Seek Time هو الأبطأ والأكبر دائماً.

Cache Addressing ⚠️
$$Address = Tag + Set + Offset$$
• Offset = $\log_2(\text{Block Size})$
• Set = $\log_2(\text{Number of Sets})$
• Tag = Rest of bits
4

عقلية واضع الاختبار (التسريبات)

أشهر الفخاخ (Traps)

  • فخ الكيلو (K): في التخزين (HDD) الـ K=1000. في الذاكرة (RAM) الـ K=1024. انتبه للسياق!
  • فخ الوحدات: سرعة النقل غالباً بـ Bytes وسرعة الشبكة بـ Bits. (اضرب في 8 أو اقسم على 8).
  • فخ الصفحات: عند حساب عدد الصفحات، نقسم حجم الذاكرة على حجم الصفحة (Page Size) وليس العكس.

حيل الإجابة الذكية (Hacks)

RAID Hack:
كلمة "Speed" فقط ← RAID 0
كلمة "Backup/Mirror" ← RAID 1
كلمة "Database/Balanced" ← RAID 5
Amdahl Hack:
إذا كانت نسبة الجزء المحسن صغيرة (مثلاً 10%)، فالتحسين الكلي سيكون صغيراً جداً (1.something). اختر أصغر رقم في الخيارات أكبر من 1.
5

الأسئلة المقالية المتوقعة (Model Answers)

س1 قارن بين RISC و CISC من حيث التصميم؟
CISC (Intel x86): تعليمات معقدة وقوية، هاردوير معقد، كود البرنامج قصير، تعتمد على Microcode.
RISC (ARM/MIPS): تعليمات بسيطة وسريعة، هاردوير بسيط، كود البرنامج أطول، تعتمد على المترجم (Compiler).
س2 اشرح مبدأ المحلية (Locality of Reference)؟
هو مبدأ ينص على أن البرامج تميل لتكرار استخدام نفس البيانات (Temporal) أو البيانات المجاورة لها في الذاكرة (Spatial). يستفيد الكاش من ذلك بنقل "بلوك" كامل من البيانات المجاورة لتقليل مرات الذهاب للرام.
س3 ما الفرق بين الذاكرة المتطايرة وغير المتطايرة؟
  • Volatile (مثل RAM): تفقد البيانات بمجرد انقطاع الكهرباء. تستخدم للسرعة والعمليات المؤقتة.
  • Non-volatile (مثل HDD/ROM): تحتفظ بالبيانات دون كهرباء. تستخدم للتخزين الدائم.
س4 ماذا يحدث عند وقوع Page Fault؟
يحدث عندما يطلب المعالج صفحة غير موجودة في الرام.
الخطوات: 1. يوقف النظام البرنامج. 2. يذهب للقرص الصلب. 3. يجلب الصفحة المطلوبة للرام (وقد يستبدل صفحة قديمة). 4. يحدث جدول الصفحات. 5. يعيد تشغيل التعليمة.

🌟 رسالة الخوارزمية الأخيرة

المادة ضخمة، لكن مفاتيحها (الهرمية، السرعة، التبسيط).
ركز على الفصل 6 (Memory) و الفصل 7 (I/O) فهما "منجم الدرجات".

🚀 انطلق، الـ A+ بانتظارك!