حتى يؤدي المعالج وظيفته لابد من أن :
يقرأ التعليمات من الذاكرة العشوائية (*)
يقرر ما هي البيانات اللازمة لتنفيذ التعليمات (*)
يجلب البيانات اللازمة لتنفيذ تلك التعليمات (*)
ينفذ التعليمات (*)
يكتب النتيجة في الذاكرة العشوائية (*) : طبعاً الذاكرة العشوائية بطيئة لذا تستعمل " ذاكرة الكتابة المخبئية (*)" لحفظ البيانات لحين تمكن الذاكرة العشوائية من قراءتها .
--------------------------------------------------------------------------------
التعليمات ومعالجات RISC و CISC
يقوم المعالج باستقبال البيانات ( الصور أو الرسوم أو..... إلخ) والتعليمات * ( التي كتبها المبرمج ) ويقوم بمعالجة البيانات تبعاً لما تمليه عليه التعليمات ، أي أنه مثل الجندي الذي ينفذ الأوامر الصادرة له من القيادة ( البرنامج ) ، فمهمة المعالج أن ينفذ مجموعة التعليمات التي تصدر من البرنامج حتى يؤدي الحاسب العمل المراد منه ، والتعليمات ( جمع تعليمة ) يمكن أن تكون بسيطة ( مثلاً القيام بعملية جمع ) أو معقدة ( كالقيام بسلسلة من العمليات المترابطة ) . فالبرنامج هو عبارة عن مجموعة كبيرة من التعليمات المترابطة التي تؤدي في مجملها عمل مفيد وهو القائد والمحرك للمعالج .
دعني أقرب الأمر أكثر لك : إذا أردت جمع الأعداد 8 + 9 + 3 فإن البرنامج يصدر الأوامر التالية للمعالج
اجمع : 8 + 9
اجمع : المجموع السابق + 3
هذا مثال عن أمرين ( تعليمتين ) بسيطتين ، هناك أوامر ( تعليمات ) أعقد بكثير للقيام بعمليات أكثر تعقيداً ، ولكل معالج من المعالجات مجموعة من التعليمات التي يستطيع فهمها ، فمثلاً قد يستطيع معالج ما فهم تعليمة معينة بينما معالج آخر لا يفهمها ، وهذا هو السر في اختلاف أنظمة الحاسب عن بعضها .
ويخرج المعالج من المصنع " متعلماً " هذه التعليمات أي أنه يستطيع تنفيذها ، ويستطيع تنفيذ أي برنامج يحوي أي تركيب من هذه التعليمات مهما كان معقداً ومهما كانت الوظيفة التي يقوم بها وهذا هو السبب في أن الحاسب يستطيع القيام بأي عمل مادمت قد ركبت له برنامج لأداء ذلك العمل . وقد انقسم مصنعو المعالجات في فلسفة بناء المعالج إلى فريقين :
الفريق الأول زودوا معالجاتهم بالكثير من التعليمات المعقدة وتسمى هذه المعالجات معالجات CISC .
زود معالجاته بعدد قليل من التعليمات البسيطة وتسمى هذه المعالجات معالجات RISC .
RISC
CISC
أنظمتها
حاسبات ماكنتوش
حاسبات IBM
عدد التعليمات التي يدعمها المعالج
أقل
أكثر
عدد التعليمات اللازمة لتنفيذ برنامج ما
أكثر
أقل
الزمن اللازم لتنفيذ تعليمة
أقل
أكثر
إن الحكم على من منهما أسرع ليس شيئاً سهلاً وإن ذلك يعتمد على تصميم المعالج نفسه ككل وعلى برامج التجميع المستخدمة في إنتاج البرامج وعلى عوامل أخرى ، واليوم أصبح مصنعي المعالجات يتجهون إلى استعمال كلا الفلسفتين معاً وأصبح الفارق بينهما يندثر شيئاً فشيئاً .
ما زالت المعالجات الحديثة تفهم نفس التعليمات التي تفهمها المعالجات القديمة فهي لا تستبدل ولكن المعالجات الحديثة قد زادت عليها العديد من التعليمات . ففي كل مرة ينتج المصنعون ( مثل شركة إنتل ) جيلاً جديداً من المعالجات يتم إضافة كمية من التعليمات لتحسين الأداء ، أي أن أحدث معالج من إنتل يستطيع فهم نفس التعليمات التي كان أقدم معالج من إنتل يفهمها ، ويرمز للتعليمات التي تدعمها المعالجات المتوافقة مع IBM باسم "x86" وبذلك تسمى معالجات IBM باسم "عائلة x86" وتشمل كل المعالجات التي تعمل على نظام IBM حتى من غير شركة إنتل .
جاء معالج 386 بـ 26 تعليمة جديدة ، وجاء 486 بـ 6 تعليمات جديدة ، وبنتيوم بـ 8 تعليمات جديدة وأضاف MMX أيضاً 57 تعليمة جديدة .وأخرجت شركة AMD تعليمات لتسريع حسابات الفاصلة العائمة سميت 3D-NOW تشبه MMX ولكنها خاصة بأرقام الفاصلة العائمة .
وفي عام 1999 قدمت إنتل تعليمات MMX 2 وهي عبارة عن 70 تعليمة جديدة خاصة بعمليات الفاصلة العائمة وسميت KNI أو SSE و زود بها المعالج بنتيوم الثالث 500 ميجاهيرتز .
يمكن لمصنعي المعالجات أن يجعلوا معالجاتهم تعمل كمعالجات CISC ظاهرياً بينما تعمل في الحقيقة كمعالجات RISC ، و يتم عمل ذلك بإضافة وحدة خاصة في المعالج تقوم بتحويل تعليمات CISC إلى RISC ومن ثم يقوم المعالج بتنفيذها ، لذا فالمعالج الذي يعمل بهذه الطريقة هو في الحقيقة معالج RISC لا أنه يعمل في الظاهر وكأنه معالج CISC . ولكن هذه الطريقة تجعل تركيبة المعالج معقدة .
--------------------------------------------------------------------------------
تبادل البيانات مع أجزاء الحاسب الأخرى
إذا طلبت منك أن تجمع 5 + 6 فستقول أنها 11 فوراً أما إذا قلت لك ما هو مجموع 2252 + 684321321 فستأخذ وقتاً أطول في حسابها ، أي الحالة الثانية أصعب في الحساب ، إذاً فأصعب جزء بالنسبة لك هو جمع الأرقام ولكن بالنسبة للحاسب الأمر يختلف فحجم الأرقام لا يعني له شيئاً فالحاسب يستطيع جمع أي رقمين في لمح البصر ولكن الأهم والأصعب هو إيجاد الأرقام المراد جمعهما وإحضارهما من الذاكرة العشوائية بأسرع وقت ممكن (أي عملية جلب البيانات والتعليمات ) وهنا نصل لبداية هذا الموضوع .
الميجاهيرتز هو وصف لعدد نبضات الكهرباء التي تسري في سلك معين في الثانية الواحدة ، فإذا كان تردد ناقل معين 100 ميجاهيرتز فهذا معناه أنه يرسل 100 مليون نبضة كهربائية في الثانية الواحدة مما يمكنه من إرسال معلومات أكثر من ناقل آخر يعمل بتردد 66 ميجاهيرتز مثلاً (إذا افترضنا أن عرض الناقل متساوي في الحالتين ) .
إن المعالج يقوم بتبادل البيانات مع الأجزاء الأخرى عبر الناقل وفيما يعمل المعالج بسرعة قد تصل إلى 700 ميجاهيرتز أو أكثر لا تعمل باقي أجزاء الحاسب بهذه السرعة الكبيرة لأن ذلك من شأنه أن يجعل الحاسب ككل غالي الثمن .
وحتى يتم تبادل البيانات بين المعالج وناقل النظام الأقل سرعة بدون أي أخطاء لابد من التنسيق بينهما - لأن ناقل النظام يعمل في أغلب الأحيان بسرعة 66 أو 100 ميجاهيرتز فيما تبلغ سرعة المعالجات عدة أضعاف ذلك ( مثلاً 500 ميجاهيرتز ) - من خلال تعيين نسبة لعدد دورات ساعة(تردد) المعالج إلى عدد دورات ساعة (تردد) الناقل وهو ما يسمى بعامل المضاعفة * وهو النسبة بين تردد المعالج وتردد ناقل النظام ويكون عادة عدد صحيح أو عدد يقبل القسمة على 0.5 ومن الأمثلة على معامل المضاعفة : 2 - 2.5 - 3 - 3.5 - 4 - 4.5 - 5 - 5.5 ولا يكون مثلاً 2.3 .
فمثلاً في حالة المعالج بتردد 500 ميجاهيرتز فإن تردد الناقل هو 100 ميجاهيرتز ومعامل المضاعفة في هذه الحالة هو 5 ( 100 × 5 = 500 ) وهكذا.
وفي عالم الحاسب تكون سرعة تبادل المعلومات عبر هذا الناقل مهمة جداً لأن الناقل يعتبر بطيئاً بالنسبة للمعالج ، ففيما يبلغ تردد الناقل 100 ميجاهيرتز مثلاً نجد معالجات بتردد 550 ميجاهيرتز ، فإذا لم يستطع الناقل توصيل البيانات بسرعة كافية فإن ذلك يعني عدم الاستفادة بصورة تامة من قدرات المعالج حيث أن المعالج يكون أسرع من الناقل في تلقي البيانات ويكون المعالج في أحيان كثيرة واقفاً دون حراك ( أي أنه ينتظر من الناقل البيانات وتسمى هذه الحالة بحالة الانتظار * ) وكلما كانت حالة الانتظار أقل في المعالج كلما أمكن استغلال قدرات المعالج بصورة أفضل ، ولكن تذكر أن الذاكرة المخبئية تمنع حدوث حالة الانتظار إلى حد كبير .
--------------------------------------------------------------------------------
تعدد المعالجات
يمكن لأكثر من معالج واحد العمل على نفس الحاسب ، ولكن ليس كل المعالجات تستطيع ذلك ، كما إن الزيادة في الأداء لا تكون الضعف دائماً ، إن سرعة حاسب ذو معالجين يعتمد على عدة عوامل :
يجب أن توفر اللوحة الأم هذه الإمكانية : يجب أن يكون فيها فتحتين أو أكثر للمعالج ، إن الأغلبية القصوى من اللوحات الأم لا تدعم هذه الميزة ، ولن تحصل عليها إلا إذا سألت عنها .
يجب أن يدعم المعالج هذه الميزة - كما قلت .
يجب أن يدعم نظام التشغيل والبرنامج هذه الميزة
إذا شغلت نظام ثنائي المعالجات على نظام تشغيل لا يدعم تعدد المعالجات فإنه سيعمل ولكن الأداء سيكون ضعيفاً في هذه الحالة (ربما يماثل الحاسب بمعالج واحد ) ، ومن أشهر أنظمة التشغيل التي تدعم تعدد المعالجات هو وندوز NT وكذلك وندوز 2000 . إن نظام مثل وندوز 98 لا يدعم تعدد المعالجات ولكن لا تقلق فلو شغلت أكثر من برنامج في نفس الوقت فإن النظام سيستفيد بالتأكيد من تعدد المعالجات في هذه الحالة .
وحتى يستطيع المعالجين ( أو المعالجات في حالة وجود أكثر من معالجين ) التفاهم والتنسيق فيما بينهم فإنه لابد من استخدام بروتوكول موحد ، وتستخدم معالجات شركة إنتل بروتوكول يسمى APIC فيما صمم شركتي سايركس و AMD بروتوكول OpenPIC ولكنه لم يستعمل في لوحة أم واحدة حتى الآن !!!!! لذا فإذا أردت تركيب حاسب متعدد المعالجات فإن معالجات إنتل هي الحل الوحيد حتى الآن .
إن معالجات الجيل السادس من إنتل لهي أفضل الحلول لتعدد المعالجات ، هذا لأن كل معالج منهم يحتضن ذاكرته المخبئية داخله مما يمنع تزاحم المعالجات على الذاكرة المخبئية في مثلما يحدث في حالة معالجات الجيل الخامس .
--------------------------------------------------------------------------------
أخطاء المعالجات
تقوم المعالجات بدور "الدماغ" للحاسب فتقوم بالعمليات الحسابية له ، والمعالج مع أنه آله إلا أن بعض الأخطاء يمكن أن تحدث أثناء أداء عمله ، تظهر في أغلب الأحيان أخطاء بسيطة في تصميم المعالجات ويتم تصحيحها ، هذه الأخطاء تكون نادرة الحدوث ومع ذلك تصحح هذه الأخطاء وهذا هو السبب في وجود عدة إصدارات من نفس المعالج ، فمثلاً المعالج بنتيوم 200 MMX قد يوجد منه عدة إصدارات وكل إصدارة تعالج بعض الأخطاء التي ظهرت للمهندسين بعد إصدار الإصدارة الأولي ولهذا يوجد ما يسمى رقم الخطوة (*) في أي معالج ، وكلما كان رقم الخطوة أعلى كلما كان أفضل من ناحية احتواؤه على أخطاء أقل .
أما خطأ المعالج بنتيوم الشهير فقد كان له شأن آخر ، كان مقدراً أن هذا الخطأ يحدث حوالي كل 24 ساعة مرة ويحصل في حسابات الفاصلة العائمة الضرورية في الحسابات الهندسية ، فقد اضطرت شركة إنتل لاستبدال كافة المعالجات التي تحوي الخطأ وهذا يعد خسارة كبيرة لإنتل ولكنها استفادت من هذا الأمر أيضاً كدعاية لشركتها .
--------------------------------------------------------------------------------
أنماط عمل المعالجات
أنماط العمل هي وصف للبيئة التي يعمل فيها المعالج من حيث قدرته على الوصول للذاكرة العشوائية وعلى قدرته على تشغيل أكثر من برنامج في نفس الوقت ، إن نمط العمل لمعالج ما في وقت من الأوقات يتحدد بنظام التشغيل الذي يستخدمه وكذلك على نوع المعالج الذي تستخدمه ، وهذه مقارنة بين أنماط عمل المعالجات :
النمط الحقيقي (*)
النمط المحمي(*)
النمط الحقيقي التخيلي(*)
المعالجات التي تستطيع العمل في هذا النمط
جميع المعالجات
الجيل الثاني وما أحدث
الجيل الثالث وما بعده
كمية الذاكرة العشوائية التي يستطيع الوصول لها (ميجابايت)
1
يعتمد على عرض ناقل العناوين
1
عدد البرامج التي يمكنه تشغيلها في نفس الوقت
1
غير محدود
1
سرعة القراءة والكتابة للذاكرة العشوائية
بطيئة
سريعة (32 بت)
بطيئة
نظام التشغيل الذي يعمل في هذا النمط
دوس
جميع أنظمة تشغيل وندوز ويمكن لدوس الآن العمل به بمساعدة بعض البرامج
جميع أنظمة وندوز
دعم الذاكرة التخيلية
لا
نعم
لا
في بعض الأحيان يسمى النمط المحمي " نمط 386 المحسّن " لأن معالجات 386 هي أول معالجات تسمح بالانتقال بين النمط المحمي والنمط الحقيقي بحرية بدون إعادة تشغيل الحاسب ، بينما يستطيع المعالج 286 الانتقال دورة واحدة فقط ، أما معالج الجيل الأول فلا يمكنه ذلك على الإطلاق فهو يعمل في النمط الحقيقي فقط .
بالنسبة للنمط الحقيقي التخيلي فما هو إلا ميزة أضيفت على أنظمة التشغيل وندوز لتتيح لها تشغيل نافذة دوس من داخل وندوز - إذا كنت قد استعملت هذه النافذة فستعرف ما أتحدث عنه .
--------------------------------------------------------------------------------
ترقية المعالجات
إن المعالجات قابلة للترقية ، إذا كان عندك معالج بنتيوم 166 يمكنك استبداله ببنتيوم 200 مثلاً ولكن يشترط أن تدعم اللوحة الأم هذا المعالج كما إن المعالج القديم سوف ينتهي بأن يهمل ولا تستفيد منه .
الطريقة الثانية لترقية معالجك هو إضافة ما يسمى الـ over drive وهو معالج يمكن معالجك الأصلي من زيادة سرعته ولكن إنتبه لابد عند شرائك هذا المعالج أن تتأكد من إمكانية تركيبه في لوحتك الأم . مع الأسف أصبحت هذه المعالجات معدومة في السنوات الأخيرة .
كما يمكنك شراء معالج ولوحة أم جديدتين ، وقد يلزمك أيضاً تغيير الذاكرة العشوائية وهذا خيار جيد إذا كنت ستنتقل من بنتيوم إلى بنتيوم الثاني مثلاً .
--------------------------------------------------------------------------------
فولتية المعالج
طبعاً المعالج كجهاز إلكتروني يحتاج للكهرباء ، وكجميع الأجزاء الإلكترونية الأخرى يحتاج لتيار مباشر (*) أي ذلك الذي ينتج من البطاريات ، تعمل المعالجات المختلفة بفولتية مختلفة عن بعضها . يوجد على اللوحة الأم محول فولتية يتيح يوفر للمعالج الفولتية التي يحتاجها لذا فإن أحد الأسباب التي تجعل اللوحة الأم تتحكم بنوع المعالج هي مقدار الفولتية التي يعمل عليها المعالج ، وهذا هو السبب الذي يجعل اللوحات الأم للمعالج بنتيوم لا تستطيع تشغيل بنتيوم MMX حيث يعمل الثاني بفولتية تختلف .
لماذا تهمنا فولتية المعالج ؟
الفولتية الأعلى تعني زيادة درجة الحرارة مما يؤثر على المعالج من حيث عمره الافتراضي واستقرار عمله ويولد مشاكل في التبريد .
في الحاسبات المحمولة : الفولتية الأعلى تعني استهلاك طاقة أعلى مما يعجل بنفاذ البطارية.
الفولتية الأقل تعني معدل استهلاك طاقة أقل .
كانت أغلب المعالجات تعمل بفولتية 5 فولت ثم تم إنقاص هذه الفولتية إلى 3.3 فولت ، ثم ما لبثت الشركات أن قررت خفض الفولتية إلى أقل من ذلك بطريقة فصل الفولتية ، أي أن تعمل الأجزاء المختلفة من الحاسب بفولتيات مختلفة فأصبح المعالج يقسم لقسمين :
1- وحدة الدخل والخرج تعمل ب 3.3 فولت
2- قلب المعالج ويعمل بأقل من ذلك (حسب المعالج )
وهذه هي مجموعة من المعالجات وفولتياتها الداخلية والخارجية :
المعالج
فولتية وحدة الإدخال والإخراج
فولتية قلب المعالج
معالجات شركة إنتل منذ الجيل الأول حتى الرابع ماعدا المذكورة بالأسفل
5
5
AMD 486DX2, Cyrix 486DX2
3.3
3.3
intel 486DX4
3.3
3.3
Cyrix, 5x86 AMD
3.45
3.45
Pentium 60, 66
5
5
Pentium 75-200
3.3
3.3
Pentium MMX
3.3
2.8
AMD K5
3.52
3.52
Pentium Pro 150 MHz
3.1
3.1
Pentium Pro 166-200 MHz
3.3
3.3
Pentium II
3.3
2.8
AMD K-6 166 - 200 MHz
3.3
2.9
AMD K6-233 MHz
3.3
3.2
إن كمية الحرارة الصادرة من معالج مثل بنتيوم الثاني تكفي لمنعك من وضع يدك على المعالج أثناء عمله لذا تحتاج المعالجات لتبريد .