تتألف المعالجات من عدد كبير جداً من الترانزسترات (ملايين)، فما هو عمل هذه الترانزسترات ؟ ومما يتكون ؟
إن المعالج يقوم مبدأ عمله على التعامل مع البيانات على شكل بتات وبايتات، فالمعالج لا يفهم إلا لغة البتات على شكل واحدات وأصفار ، بالنسبة لك فإن البتات قد تعني لك في نهاية المطاف صورة أو رسالة أو ...أو... أما بالنسبة للمعالج فهي واحدات وأصفار .. كل بت يعتبره شحنة ويتعامل معه على أنه شحنة ينقلها ويخزنها هكذا .
وإذا نظرنا نظرة متعمقة في داخل المعالج ونظرنا لما يعمله المعالج نجد أنه إما يقوم بالعمليات الحسابية كالجمع والطرح ..إلخ أو يقوم بالعمليات المنطقية كالمقارنة بين الأعداد ، وفي كل الأحوال على المعالج أن يتخذ - بمساعدة التعليمات - القرارات الصحيحة ويقود دفة العمل على هذا الأساس ، فكيف يتخذ الحاسب القرارات ؟
إن هذا هو عمل الترانزسترات ، ولا تحسب أن ترنزستر واحد يستطيع أن يقوم باتخاذ القرارت بل إن هذه الترانزسترات موزعة في شكل مجموعات داخل المعالج لتقوم كل مجموعة منها بنوعية معينة من الأعمال ، فمثلاً أحد المجموعات مخصصة للمقارنة بين الأرقام و أخرى لاتخاذ القرارات في حالة معينة وهكذا ، وفي كل مجموعة تختلف عدد وطريقة تجمع الترانزسترات مما يؤثر على وظيفتها ، ويستطيع الحاسب باستخدام هذه المجموعات المختلفة بشكل مدروس ومنظم أن يقوم بكل العمل الذي يطلب منه .
إن كل "مجموعة" من هذه المجموعات تسمى "بوابة منطقية" وتختلف البوابات المنطقية بحسب الوظيفة التي تؤديها وعدد الترانزسترات التي تحتويها.
وتصنيع المعالج ما هو إلا وضع هذه المجموعات وربطها ببعضها بالشكل المطلوب ، إن "المجموعات" إذا تجمع عدد كبير منها لأداء وظيفة معينة تصبح ما نسميه "الـ آي سي" أو IC والمعالج ما هو إلا مجموعة من الـ IC مترابطة مع بعضها البعض بشكل معقد . وبكلمة أخرى فإن :
عدة ترانزسترات = مجموعة وظيفية (بوابة)
عدة مجموعات وظيفية (الآلاف منها )= "آي سي"
عدة آي سي = معالج
والترانزستور بحد ذاته هو وحدة صغير جداً تسمح بمرور التيار الكهربائي من خلالها بمقدار يختلف باختلاف التيار الداخل لها أي أنها تسمح بالتحكم بشدة تيار كهربائي حسب شدة تيار كهربائي آخر ، فهي كالمفتاح الكهربائي ، وباستخدام هذه الوحدة الصغيرة (الترانزستور) يمكننا تنظيمها لتكوين وحدات ذات وظيفة معينة تختلف باختلاف ترتيب وتنسيق هذه الترانزسترات داخلها ، وبذلك يمكننا تكوين أنواع لا نهائية من الوحدات المجموعات أو الـ IC ، وكلما زاد عدد الترانزسترات التي تتكون منها الـ IC كلما كان بإمكانها تأدية وظائف أكثر تعقيداً .
هناك فرق مهم جداً بين المعالج وبين IC عادي وهو أن المعالج قابل للبرمجة بحيث يمكنه تأدية أية وظيفة تطلب منه بينما الـ IC العادي لا يمكنه ذلك بل هو مخصص لعمل معين في جهاز معين . إن المعالج قادر على فعل ذلك لأنه يقسم أي عمل يقوم به إلى أقسام صغيرة تسمى التعليمات ، ويعتمد المعالج على البرنامج ليقول له متى وكيف ينفذ كل تعليمه حتى ينجز العمل المطلوب بينما الـ IC العادي لا يتطلب برنامج ولكن تركيبته تؤدي العمل المطلوب منها بحكم تركيبها .
(((معمارية المعالج)))
يوجد داخل المعالج ملايين الترانزسترات التي تؤدي بمجملها للقيام بعمل المعالج ، ولا يخفى عليك أن هذه الملايين من الترانزسترات موضوعة كلها في مساحة صغيرة جداً أي أنها (محشورة) وبين الواحدة والأخرى مساحة قليلة ((الترانزسترات لا ترى بالعين المجردة)) تخيل؟؟ وهذه الوحدات موصلة مع بعضها البعض بأسلاك صغيرة جداً تضمن تدفق البيانات بين الترانزسترات ، ويقاس سماكة هذه الأسلاك بالمايكرون ، وسماكة هذه الأسلاك هو الذي يحدد معمارية المعالج ، وكلما كانت معمارية المعالج أصغر كلما كان استهلاك الطاقة أقل و كانت الحرارة الناتجة من المعالج أقل مما يخفف من مشاكل التبريد وكذلك يمكننا المعمارية الأصغر من استخدام فولتية أقل للتيار المار في هذه الأسلاك .
والمايكرون هو وحدة قياس الطول تساوي واحد من المليون من المتر ، وحتى أعطيك فكرة عن رتب معالجات هذه الأيام أقول إن المعالج بنتيوم من رتبة 0.5 مايكرون (أي نصف مايكرون) بينما المعالج MMX بنتيوم معماريته 0.35 مايكرون (تستطيع أن تتصور كم هو دقيق ومتطور هذا الشيء المسمى معالج ) بينما المعالج بنتيوم الثاني يستعمل معمارية 0.25 مايكرون .
السؤال هو هل يوجد أقل من ذلك ؟ والجواب هو نعم : لقد نجحت شركة IBM بفضل نوع من التقنيات الجديدة بتطوير طريقة لصنع معالجات بمعمارية 0.13 مايكرون وهذا قد يفتح الباب لمعماريات أصغر ، فكلما صغرت المعمارية كلما تمكنا من وضع عدد أكبر من الترانزسترات في مساحة أقل مما يمكننا من تصنيع معالجات أقوى بتكلفة منخفضة .
(((المكونات الرئيسية للمعالج)))
يتكون المعالج من الأجزاء الرئيسية التالية:
1- وحدة الإدخال والإخراج
2- وحدة التحكم .
3- وحدة الحساب والمنطق : وتتقسم لـ A- وحدة الفاصلة العائمة و B- وحدة الأعداد الصحيحة c- المسجلات.
4- الذاكرة المخبئية .
والآن إلى شرحهم:
1- وحدة الإدخال والإخراج:
تتحكم وحدة الإدخال والإخراج بتسيير المعلومات إلى ومن المعالج ، وهي الجزء الذي يقوم بطلب البيانات والتنسيق مع الذاكرة العشوائية (الرامات) في تسيير البيانات ، لا يوجد أي شيء خاص في هذه الوحدة وليس لها تأثير في أداء المعالج لأن كل معالج مزود بوحدة الإدخال والإخراج التي تناسبه وليس بإمكانك ترقية أو تعديل هذه الوحدة بل هي جزء لا يتجزأ من وحدة المعالجة المركزية نفسها .
إن أحد الأسباب التي تجعل وحد الإدخال والإخراج مهمة هي احتوائها على الذاكرة المخبئية من المستوى الأول (L1) .
2- وحدة التحكم:
وحدة التحكم هي الوحدة التي تتحكم بمسيرة البيانات داخل المعالج وتنسق بين مختلف أجزاء المعالج للقيام بالعمل المطلوب وتتولى مسؤولية التأكد من عدم وجود أخطاء في التنسيق ، لذا في العقل المدبر للمعالج . وأيضاً ليس بإمكانك ترقية أو تعديل هذه الوحدة بل هي جزء لا يتجزأ من وحدة المعالجة المركزية . وتقوم هذه الوحدة أيضاً بتنفيذ الوسائل المتطورة لتسريع تنفيذ البرامج مثل توقع التفرع وغيرها.
تتحكم هذه الوحدة بتردد المعالج ، فإذا كان لديك معالج تردده 700 ميجاهيرتز مثلاً فإن هذا معناه أن وحدة التحكم فيه تعمل على تردد 700 ميجاهيرتز .
3- A- وحدة الفاصلة العائمة:
إنه من الصعوبة بمكان على المعالج أن يقوم بحساب أعداد الفاصلة العائمة (وهي الأعداد التي بها فاصلة عشرية ومن أمثلتها 2.336 و 2.5565 و 8856.36532 و 0.220003 [الكسور] (لأنه في هذه الحالة سوف يستهلك الكثير من قوة المعالجة في حساب عملية واحدة .
ووحدة الفاصلة العائمة هي وحدة موجودة داخل المعالج ومتخصصة في العمليات الحسابية الخاصة بالفاصلة العائمة [الكسور]، وتلعب هذه الوحدة دوراً رئيسياً في سرعة تشغيل البرامج التي تعتمد بشكل كبير على الأعداد العشرية وهي في الغالب الألعاب الثلاثية الأبعاد وبرامج الرسم الهندسي.
يساعد قوة وحدة الفاصلة العائمة الكبيرة في تسريع الألعاب الثلاثية الأبعاد ، مع أن دور المعالج قد قل خلال السنوات السابقة بفضل دخول البطاقات الرسومية المسرعة بقوتها الكبيرة مما قلل من الاعتماد على المعالج المركزي في هذا المجال .
توجد وحدة الفاصلة العائمة في المعالجات 486 فما أحدث ما عدا المعالج 486SX داخل المعالج ، وقد كانت توضع في المعالجات 386 وما قبله خارج المعالج وتسمى math co-processor أي " معالج مساعد " ، إن وضع وحدة الفاصلة العائمة خارج المعالج (على اللوحة الأم) يجعلها أبطأ ، جميع المعالجات اليوم يوجد فيها وحدة فاصلة عائمة ليس هذا فقط بل وحدة فاصلة عائمة متطورة .
2- B- وحدة الأعداد الصحيحة
و تختص هذه الوحدة بالقيام بحسابات الأعداد الصحيحة ، وتستعمل الأرقام الصحيحة في التطبيقات الثنائية الأبعاد كوورد وإكسل وبرامج الرسم الثنائية الأبعاد كما تستعمل في معالجة النصوص . يعتبر قوة وحدة الأعداد الصحيحة مهمة جداً لأن أغلب المستخدمين يستعملون التطبيقات التقليدية أغلب الوقت .
3- c- المسجلات:
المسجلات هي عبارة عن نوع من الذاكرة السريعة جداً جداً (بالمناسبة هي أسرع أنواع الذاكرات في الحاسب الشخصي ) تستعمل لكي يخزن فيها المعالج الأرقام التي يريد أن يجري عليها حساباته ، فالمعالج لا يمكنه عمل أي عملية حسابية إلا بعد أن يجلب الأرقام المراد إجراء العمليات عليها إلى المسجلات . توجد المسجلات فيزيائياً داخل وحدة الحساب والمنطق المذكورة سابقاً .
إن حجم المسجلات مهم حيث أنه يحدد حجم البيانات التي يستطيع الحاسب إجراء الحسابات عليها ، ويقاس حجم المسجلات بالبت بدلاً من البايت بسبب صغر حجمها ، خطأ شائع بين الناس أن يقيسوا قدرة المعالج بأنه 32 بت استنادا إلى عرض ناقل النظام بل الصحيح أن يقيسوا المعالج بحجم مسجلاته ، وعلى ذلك فإن جميع معالجات 486 وما بعدها هي من معالجات ال 32 بت وليس 64 بت.
4- الذاكرة المخبئية :
ماهي الذاكرة المخبئية
الذاكرة المخبئية هي ذاكرة صغيرة تشبه الذاكرة العشوائية (الرامات) إلا أنها أسرع منها وأصغر وتوضع على ناقل النظام بين المعالج والذاكرة العشوائية
في أثناء عمل المعالج يقوم المعالج بقراءة وكتابة البيانات والتعليمات من وإلى الذاكرة العشوائية بصفة متكرره , المشكلة أن الذاكرة العشوائية تعتبر بطيئة بالنسبة للمعالج والتعامل معها مباشرة يبطئ الأداء .فلتحسين الأداء لجأ مصممو الحاسب إلى وضع هذه الذاكرة الصغيرة ولكن السريعة بين المعالج والذاكرة العشوائية مستغلين أن المعالج يطلب نفس المعلومات أكثر من مرة في أوقات متقاربة فتقوم الذاكرة المخبئية بتخزين المعلومات الأكثر طلباً من المعالج مما يجعلها في متناول المعالج بسرعة حين يطلبها.عندما يريد المعالج جلب بيانات أو تعليمات فإنه يبحث عنها أولاً في ذاكرة L1 فإن لم يجدها ( فشل المعالج في إيجاد المعلومات التي يريدها من الذاكرة العشوائية يسمى "cache miss" ، أما نجاحه في الحصول عليها من الذاكرة المخبئية يسمى "cache hit" ) بحث عنها في L2 فإن لم يجدها جلبها من الذاكرة العشوائية. إن حجم هذه الذاكرة وسرعتها شئ مهم جداً ولها تأثير كبير على أداء المعالج . وكلما كانت الذاكرة المخبئية أكبر كلما كان ذلك أفضل لأنها تتمكن بذلك من جعل المعالج لا يدخل في حالة الانتظار وتسهل له الحصول على البيانات الذي يريدها بأسرع وقت ممكن.
كما تعرف أن المعالج يستقبل بيانات وتعليمات ، في بعض المعالجات تنقسم الذاكرة المخبئية لقسمين واحدة تتخصص للبيانات وتتخصص الأخرى للتعليمات أما في بعض المعالجات الأخرى فلا يوجد هذا التقسيم بل تستخدم الذاكرة المخبئية لكليهما في نفس الوقت ، لا يوجد فرق حقيقي بين هاتين الطريقتين بالنسبة للأداء .
((سرعة الذاكرة المخبئية))
والذاكرة المخبئية كأي ذاكرة أخرى لها تردد تعمل عليه وكلما كانت تعمل على تردد أسرع كلما كان أفضل ، وترددها يعتمد على موقعها :
- عندما تكون الذاكرة المخبئية على ناقل النظام يكون ترددها هو نفس سرعة الناقل ( غالباً 66 أو 100 ميجاهيرتز
- الذاكرة المخبئية الموضوعة داخل المعالج (معالجات الجيل السادس) تعمل عادة بنصف سرعة المعالج (المعالجات بتردد 333 ميجاهيرتز أو أقل) أو بنفس سرعة المعالج (معالجات سيليرون و زيون وبنتيوم برو
- معالجات الجيل الخامس جميعها لها ذاكرة مخبئية من المستوى الثاني على اللوحة الأم.
إن وضع الذاكرة المخبئية داخل المعالج له فائدتين : الأولى هي السرعة أما الثانية فتبرز في حالة تركيب أكثر من معالج واحد على اللوحة الأم لأن كل معالج له الذاكرة العشوائية الخاصة به ولا تتزاحم المعالجات على الذاكرة المخبئية .