مقدمة في المعالجات الدقيقة CPU
تشغيل الـ (CPU Operation) CPU:
يبين شكل (1-2) مخطط صندوقي Block Diagram لمعالج (CPU). ولا يمثل هذا المخطط التفاصيل الدقيقة لمكونات الـ CPU ولكنه كاف لشرح كيف يعمل الـ CPU مع البرامج المختلفة والمكونات المادية Hardware وكيف يمكن الوصول لأي مشكلة تحدث بالمعالج. تبدأ مناقشتنا بأجزاء المخطط الصندوقي بشكل عام ثم مراجعة الموديلات الـ CPUS المختلفة مع تصنيفها في مجموعات كأجيال.
تكنولوجيا الـ CPU:
تعتبر وحدة الـ ALU (وحدة الحساب والمنطق Arithmetic Logic Unit) هي الجزء الذي يمثل قلب المعالج Processor ولذلك يطلق عليها Processor Core ويعمل هذا الجزء عند نفس معدل نبضات الساعة التي يطلق عليها أيضاً سرعة القلب Core Speed واعتبار واحدة الـ ALU أنها قلب المعالج يرجع إلى أن هذه الوحدة هي التي تقوم بتنفيذ الأوامر. ففي الماضي البعيد كان الجيل القديم من المعالجات عبارة عن وحدة ALU ووحدة تحكم الناقل Bus-Control Unit لذلك كانت دائماً سرعة القلب Core Speed هي نفس سرعة اللوحة الأم أو سرعة ناقل الجانب الأمامي Front-Side Bus (FSB) ابتداء من جيل معالجات الـ 486DX أضيفت أجزاء أخرى إلى المعالج مثل وحدة معالجة النقطة العائمة Floating-Point Processing Unit وذاكرة المعالج المخبثة Processor Cache أحياناً كلا منهما يعمل عند سرعة مختلفة عن الأخر مما يتطلب استخدام مصطلح الـ Core Speed للتمييز بين السرعتين. بعض معالجات الـ Pentium 11 والـ Pentium 111 يعمل عند ثلاث سرعات مختلفة، مما يتطلب استخدام المصطلح Front-Side speed والمصطلح Back-Side Bus Speed للتمييز بين السرعات الثلاث Core Speed وال FSB Speed وال BSB Speed.
مسجلات الـ CPU:
مسجلات الـ CPU هي مجموعة bits من ذاكرة ال RAM تكون موجودة داخل المعالج، وهي من أجل تخزين البيانات التي تجرى عليها العمليات بوحدة ALU أو وحدة النقطة العائمة (Floating Point Unit) FPU ويرتبط حجم المسجل Register أي طوله (عدد ال bits التي يتكون منها المسجل) بنوع البيانات أو الأوامر التي يمكن أن يتعامل معها المعالج لذلك كانت المعالجات القديمة أطوال مسجلاتها 16-bit فقط لأن هذه المعالجات كانت تقوم بتشغيل برامج ذات الـ 16 bit وهي البرامج التي تعمل في بيئة الـ Dos أو الويندوز (Windows 3.x) 3.x كانت معالجات الـ 80386 هي أول المعالجات التي تحتوى على مسجلات 32-bit جميع معالجات ال80386 ومعالجات الـ 80486 ومعالجات الـ Pentium الأولي كانت تمتلك مسجلات أطوالها لا تزيد عن 23-bit بينما معالج الـ Pentium MMX ومعالج الـ Pentium 11 الذي ظهر بعده كلا منهما كان يمتلك بعض من المسجلات الإضافية التي أطوالها تصل إلى 128-bit مما يسمح لوحدة الحساب والمنطق (ALU) بأن تجرى عمليات على أعداد أطوالها مضاعفات الـ 32-bit بأمر واحد Single Instruction ويسمى هذا Single- Instruction, Multiple Data (SIMD) ولأن هذه المسألة تتعلق بالعمليات الحسابية ذات الأطوال 32-bit فأن جميع معالجات ال Pentium لازالت تعتبر معالجات 32-bit أمام معالج Itanium (الجيل السابع) لمعالجات الـ Pentium وقد ظهر عام 2001 فهو أول معالج يمتلك مسجلات أطوالها 64-bit مما يسمح للمعالج بمعالجة بيانات أطوالها 64-bit في لحظة واحدة. كانت وحدة النقطة العائمة FPU يطلق عليها في الماضي المعالج الحسابي "Math Processor' عندما كانت في رقاقة Chip مستقلة على اللوحة الأم Motherboard إلا أنها الآن أصبحت جزء من المكونات الداخلية للمعالج الحديث وأصبحت تشتمل على عدد أكبر من مسجلات الأغراض الخاصة Special-Purpose Registers لتتعامل مع أعداد النقطة العائمة Floating point Numbers الأكثر تعقيداً.
وحدة الحساب والمنطق Arithmetic Logic Unit:
تعد هذه الوحدة هي قلب كل معالج، حيث أنها تؤدي كل أمر سواء لجلب البيانات من الذاكرة إلي المسجل أو تخزين البيانات من مسجل في الذاكرة أو إجراء العمليات الحسابية أو المنطقية على البيانات الموجودة في المسجل أو التسبب في فعل يتم في البرامج على أساس البيانات الموجودة في مسجل.
فكما سبق وأن ذكرنا أن أداء وكفاءة الـ CPU تزداد باستخدام مسجلات أكبر. هذا علاوة على أن جيل جديد من معالجات إنتل Intel يقوم بتنفيذ كل أمر بعدد من دورات الساعة Clock Cycle أقل عن معالجات الجيل الذي قبله (سرعة أداء أعلى) علماً بأن المعالجات القديمة مثل المعالج 8088 والمعالج 80286 كانت تحتاج إلى دورات ساعة أكثر من التي تحتاجها المعالجات الحالية لتنفيذ أمر. فمثلاً وحدة ال ALU الحالية يمكنها تنفيذ أمر واحد أو أكثر كل دورة ساعة Clock Cycle.
وحدة فكـ شفرة الأمر Instruction Decode Unit:
بعد جلب الأمر من الذاكرة تقوم وحدة فك شفرة الأمر بفك شفرة الأمر أي تحديد نوع العملية وبأي طريقة تنفذ ويتم ذلك عن طريق فحص تركيبة الأصفار والآحاد التي تتكون منها شفرة الأمر. تشتمل تصميمات معالجات الـ Pentium الحديثة على عديد من فاكك شفرات الأوامر في المعالج الواحد لفك شفرات الأوامر للعديد من وحدات الـ ALU الموجودة بذات المعالج.
وحدة تحكم الناقلة Bus Control Unit:
وحدة تحكم الناقلة هي الوحدة المسئولة عن التحكم في الأنشطة التي تتم على الناقلة الخارجية External Bus للمعالج. ولأن هذه الوحدة مربوطة مباشرة باللوحة الأم لذا فإنها تعمل بنفس سرعة اللوحة الأم. تعرف الآن بناقل الجانب الأمامي Front-Side Bus
وحدة معالجة النقطة العائمة Floating-Point Processing Unit:
ابتداء من المعالج 8088 وحتى المعالج 80386 كانت وحدة معالجة النقطة العائمة (FPU) عبارة عن رقاقة Chip مستقلة يتم تركيبها في Socket خاصة بها ويطلق على هذه الرقاقة المعالج الحسابي Math Processor ابتداء من المعالج 80486 (ما عدا المعالج 80486sx) وحتى معالجات اليوم فإن وحدة الـ FPU موجودة داخل رقاقة المعالج ذاته وهي مسئوله عن تنفيذ العمليات الحسابية.
مستويات الذاكرة المخبئة Level-1 Cache و Level 2 Cache:
عندما تحتوى ذاكرة الـ Cache على البيانات التي يحتاجها الـ CPU فإنه في هذه الحالة لن تكون هناك حاجة لانتظار المعالج لأن المعالج يسحصل على هذه البيانات من ال Cache بسرعة وبدون انتظار ويطلق على هذا المصطلح "Cache-Hit" بينما عندما لا يجد المعالج البيانات التي احتاج إليها في الـ Cache في هذه الحالة يطلق على هذه المسألة "Cache-Miss" وعندئذ سيضطر المعالج إلى الانتظار المدة الزمنية العادية التي تحتاجها الذاكرة الرئيسية DRAM البطيئة لتسليم المعالج هذه البيانات. بدأ استخدام ذاكرة ال Cache ابتداء من تصميمات اللوحات الأم ذات المعالجات 80386 حيث كانت تحتوى على ذاكرة RAM استاتيكية SRAM بسعة 46 كيلو بايت، بذلك الحجم من ذاكرة الـ Cache يمكن الحصول على معدل Cache-Hit حوالي 90% وكان نجاح هذا التصميم عظيم، حتى أن الجيل التالي للمعالجات وهو معالجات ال 80486 اشتمل على ذاكرة Cache داخلية أي مبنية داخل المعالج ولكن حجمها صغير. في هذا التصميم أطلق على هذا الـ (Processor Cache) Cache ولم يركز هناك حاجة ل Cache على اللوحة الأم.
ومع تحديث المعالجات 486 وتطوير سرعتها وخصوصاً عند ظهور المعالج المزدوج السرعة Clok-Doubled 486 DX2 أصبح معدل ال Cache-Hit أبطأ فأبطأ في Cache المعالج وأصبح هنالك الكثير من ال Cache-Miss في كثير من دورات ساعة المعالج الضائعة. ولكي يعود معدل ال Cache-Hit قريباً من ال 90% فإن معظم اللوحات الأم للمعالج 486 أصبحت تشتمل على ذاكرة SRAM Cache من جديد موضوعة على اللوحة الأم ذاتها أصبحت هذه ال Cache التي أضيفت على اللوحة الأم معروفة بالاسم Cache Level-2 بينما Cache المعالج أصبح إسمها Level-1 Cache في معالج ال Pentium والمعالجات التي أتت بعده، قسمت ذاكرة ال Level-1 Cache التي هي داخل المعالج إلى جزأين، الجزء الأول هو Cache الأوامر Instruction Cache ومعروف بالاسم 1 Cache وهو مخصص لتخزين الأوامر فقط، بينما الجزء الثاني هو Cache البيانات Data Cache ومعروف بالاسم D Cache وهو مخصص لتخزين البيانات فقط. ابتداء من معالج ال Pentium الذي كان تصميمه في صورة Cartridge (على شكل خرطوشة) أصبحت ال Level-2 Cache موضوعة بالخرطوشة Cartrdge بجوار قاقة الـ CPU (CPU Chip) وتعمل عند سرعة أعلى من سرعة اللوحة الأم تفوق في الأداء النوع الذي كان موجود على اللوحة الأم ولكن سرعة هذه ال Cache تكون نصف سرعة قلب الـ (CPU Core speed) CPU ولذلك في هذا التصميم الذي يعتمد على معالجات الـ Pentium 11 والمعالجات الأحدث منها لا تشتمل اللوحة الأم على أي Cache الآن تشتمل معالجات الـ Pentium الحديثة سواء Pentium 111 أو Pentium 4 على Level-2 Cache داخل المعالج ذاته وتعمل عند نفس سرعة قلب المعالج CPU Core Speed وليس نصفها كما كان في معالج الـ Pentium 11.
تعليقات
إرسال تعليق