تبادل البيانات مع أجزاء الحاسب الأخرى إذا طلبت منك أن تجمع 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 إن كمية الحرارة الصادرة من معالج مثل بنتيوم الثاني تكفي لمنعك من وضع يدك على المعالج أثناء عمله لذا تحتاج المعالجات لتبريد . -------------------------------------------------------------------------------- الوظائف المتقدمة إن تردد المعالج ليس هو الشيء الوحيد الذي يجعل المعالج أسرع بل إن جعل المعالج "أذكى" في التعامل مع البيانات يمكن أن يساهم في جعله أسرع أيضاً وهذه بعض التقنيات التي تساعد على جعل المعالجات أسرع ، إن معالجين بنفس تردد الساعة إذا استعمل أحدهما هذه التقنيات سيكون أسرع كثيراً من الآخر ، لذا لا يعتبر تردد الساعة عاملاً حاسماً في تحديد سرعة المعالج ، هيا بنا نستعرض هذه التقنيات : أولاً: pipelining : نستطيع تشبيه عملية معالجة البيانات بخط إنتاج السيارات ، لو افترضنا أن سيارة ما تتطلب 50 خطوة لتركيبها وأن كل خطوة تتطلب ساعة كامل لإنهائها ، وأن هناك عامل واحد فقط في المصنع فهذا يعني أن السيارة الواحدة تتطلب 50 ساعة لكي تنتج ، إن ما يحدث في أي خط إنتاج هو وجود 50 عامل على خط الإنتاج ، فيقوم العامل الأول بالخطوة الأولى في عملية التجميع ثم يسلم السيارة للعامل الثاني وهكذا . إن ما يحدث في داخل المعالج لهو شبيه بذلك ، ففي داخل المعالج خطوط معالجة شبيهة بتلك المذكورة ، وتختلف المعالجات المختلفة في عدد العمال ( تسمى في المعالج مراحل stages ) الموجود في خط المعالجة ، وتسمى تعدد المراحل هذه pipelining في المعالجات القديمة كان المعالج يقوم بحساب الأرقام بطريقة بدائية حيث كان يحوي على مرحلة واحدة (عامل واحد) ولقد تغير الوضع الآن ، فمثلاً في المعالج بنتيوم MMX هناك 6 مراحل وفي المعالج بنتيوم الثاني هناك 14 مرحلة ، وهذه الطريقة نجد أنه في أي وقت من الأوقات يوجد عدد كبير من التعليمات داخل المعالج ( مثل الطابور) كل منها في مرحلة معينة من التنفيذ . ولتصميم المعالج بهذه الطريقة فوائد : فالمعالج ذو المراحل الأكثر يمكنه الوصول لسرعات عالية لتكات الساعة ( ميجاهيرتز) ولكن ذلك ليس صحيح دائماً حيث تدخل عوامل أخرى في تحديد ذلك . والفائدة الثانية أنه يساعد على زيادة سرعة تنفيذ التعليمات . ولكن هذه التقنية لها مساوئها أيضاً : ماذا لو حصل أي تأخير في تنفيذ واحدة من التعليمات ..... إن هذا يؤخر كل التعليمات التي تقع خلفها مما يعطل عملية المعالجة بكاملها . ماذا أيضاً لو تفرع البرنامج عند نقطة ما .... إن كل التعليمات خلف نقطة التفرع سوف ترمى لسلة المهملات لأن البرنامج تفرع !!! -------------------------------------------------------------------------------- ثانياً :التدرج الفائق * : التدرج الفائق باختصار هو كون المعالج يملك أكثر من خط معالجة واحد مما يمكنه من معالجة أكثر من عملية واحدة في نفس الوقت . ربما دار بخلدك أن المعالج ينفذ التعليمات واحدة تلو الأخرى أي إذا أردنا مثلاً حساب 5+6 و 3+4 فإنه سوف يحسب الأولى ثم يحسب الثانية بعدها ، وهذا صحيح بالنسبة للمعالجات القديمة ( 486 وما قبله ) أما المعالجات الحديثة فإنها تملك أكثر من خط معالجة فالمعالج بنتيوم لديه خطي معالجة فيستطيع عمل عمليتي الحساب السابقتين معاً ، أما المعالج بنتيوم برو وبنتيوم الثاني فلديه أربع خطوط معالجة أي يستطيع حساب أربع عمليات حسابية في نفس الوقت . وبهذا يكون المعالج بنتيوم معالج فائق التدرج من المستوى الثاني بينما المعالج بنتيوم برو وبنتيوم الثاني يعتبران فائقي التدرج من المستوى الرابع بينما لا يسمى المعالج 486 فائق التدرج ( ارجع لموضوع أجيال المعالجات من أجل الفروق بين مختلف المعالجات ). ليس شرطاً من معالج فائق التدرج من المستوى الثاني أن يكون أدائه ضعف المعالج غير فائق التدرج ، لاحظ الفرق بين الحالتين التاليتين: جمع 5+6 و 8+9 جمع 3+6+8 في الحالة الأولى يستطيع المعالج فائق التدرج العمل على كل من العمليتين في نفس الوقت وينهيها في وقت أسرع من المعالج غير فائق التدرج ، أما في الحالة الثانية فلا بد أن يجمع 3+6 أولاً ثم يستخرج النتيجة ثم يجمع النتيجة ب 8 وهكذا لا يمكن أن يعمل على العمليتين الحسابيتين في نفس الوقت لأن أحدهما تعتمد على ناتج الأخرى. ولهذا السبب في كثير من الأحيان لا يتضاعف الأداء من خلال مضاعفة خطوط المعالجة ( على الرغم من أن زيادة خطوط المعالجة تزيد من الأداء ولكن ليس بالضرورة الضعف دائماً لأن خطوط المعالجة ربما لا تكون مشغولة طوال الوقت ) وهنا تبرز أهمية الوظائف المتقدمة الأخرى كي تجعل خطوط المعالجة مشغولة بأقصى قدر ممكن . بفضل تقنيات الـ pipelining و التدرج الفائق أصبح تنفيذ العملية الواحدة يتطلب أقل من تكة ساعة واحدة ، أي أن تكة الساعة تستطيع تنفيذ أكثر من أمر واحد . -------------------------------------------------------------------------------- ثالثاً : التنفيذ الديناميكي * : وهي أن يسمح للمعالج بأن ينفذ التعليمات بغير الترتيب الذي ترد فيه في البرنامج وذلك حسب الظروف ، مما يسمح بالتقليل من أوضاع الانتظار للمعالج وتتضمن هذه التقنية ثلاثة تقنيات : speculative execution : ومعناها قدرة المعالج على البحث عن تعليمات أخرى لتنفيذها غير تلك التي ينفذها الآن ، مثلاً إذا أراد المعالج تنفيذ تعليمة ولتكن التعليمة رقم 1 ثم ظهر بأن هذه التعليمة تحتاج لبيانات في القرص الصلب ( أي أنها ستأخذ وقت طويل حتى يتم جلبها للمعالج ) فإن المعالج يبحث في التعليمات الأخرى في البرنامج حتى يحصل على تعليمة لا تحتاج لوقت طويل لتنفيذها ولتكن التعليمة رقم 2 فينفذها ويخزن النتائج في ذاكرة وسيطة ثم يكمل تنفيذ البرنامج من التعليمة الأولى (بعد أن جاءت البيانات ) حتى إذا وصل للتعليمة الثانية فإنه يحصل على النتائج من الذاكرة الوسيطة ويكمل بعدها ، أي نستطيع أن نقول أن المعالج أستغل الوقت الضائع بسبب جلب البيانات في عمل مفيد ، وتتم هذه العملية بصفة مستمرة حتى لو كانت عملية تنفيذ البرنامج تسير بأقصى سرعة لكي يضمن المعالج أقصى سرعة في تنفيذ البرنامج. توقع التفرع * : نعرف أن البرنامج عبارة عن سلسلة من الأوامر ، في بعض الأحيان - وحسب ظروف معينة - ينتقل البرنامج من السلسلة الرئيسية للبرنامج إلى سلسلة أوامر فرعية أخرى ( تفرع ) مما يحد من فائدة الـ speculative execution لأن كل التعليمات التي بحث عنها المعالج لن يكون لها فائدة كون البرنامج قد تفرع قبل الوصول لهذه التعليمات ، وتعتبر هذه التقنية هي "زيادة" تطويرية للتقنية السابقة . التنفيذ بغير الترتيب (*): في المعالجات ذات التدرج الفائق قد تبقى بعض خطوط المعالجة غير مشغولة لبعض الوقت وهذا يقلل من الاستفادة من التدرج الفائق ، تقوم هذه التقنية بجلب بعض البيانات التي قد تظهر لاحقاً في البرنامج لمعالجتها وتحفظ النتيجة في ذاكرة خاصة بذلك ثم يستفاد من هذه النتيجة في البرنامج عندما يصل تنفيذ البرنامج إلى هذه النقطة ، وهذا يزيد من فاعلية استخدام خطوط المعالجة . -------------------------------------------------------------------------------- رابعاً : MMX: وهي عبارة عن 57 تعليمة جديدة من تعليمات المعالج تستخدم لتسريع وظائف الوسائط المتعددة ، وهذه التكنولوجيا تستخدم مفهوم " التعليمة الواحدة والبيانات العديدة " * ، وتسمح بمعالجة عدة بيانات بتعليمة واحدة في نفس الوقت * مما يسرع من تنفيذ البيانات . ولا تعمل تقنية MMX إلا من أجل الأرقام الصحيحة وليس أرقام الفاصلة العائمة وهذا معناه أنها لا تقدم أي تسريع للرسومات الثلاثية الأبعاد بل تقدم التسريع لبرامج الوسائط المتعددة . و بما أن هذه التعليمات مخصصة للأرقام الصحيحة فإن عيبها الكبير أنها تعطل الاستفادة من وحدة الفاصلة العائمة في نفس الوقت ، أي أنه إذا أردت الاستفادة من قدرة MMX فعلى المعالج ألا يستخدم وحدة الفاصلة العائمة مؤقتاً حتى تنتهي عملية ال MMX من حساباتها لأن المسجلات لا يمكن استخدامها إلا من قبل واحدة من اثنتين إما وحدة الفاصلة العائمة أو وحدة الأرقام الصحيحة ، وهذا يحد من الاستفادة القصوى من MMX . بدء تطبيق هذه التقنية في معالجات بنتيوم MMX كما أنها موجودة في معالجات بنتيوم الثاني والثالث . ملاحظة هامة : المعالجات الممكنة بـ MMX لا تحتاج لبرامج خاصة ولا لنظام تشغيل جديد حيث أن المعالج يعمل مع البرامج القديمة مثل المعالجات السابقة تماماً والفارق الوحيد هو أنه سوف يتمكن من الاستفادة من قدرات MMX في تسريع البرامج الجديدة التي تدعم هذه الميزة . تحتاج تقنية MMX لدعم من البرامج كي تعمل ، أي لا بد أن يكتب المبرمج البرنامج واضعاً الاستفادة من MMX نصب عينيه وإلا فإنه لن يكون هناك أي فائدة منها. بالنسبة للبرامج التي تدعم MMX هل يمكن أن تعمل على معالجات لا تدعم MMX ? الجواب هو أن ذلك يعتمد على المبرمج. -------------------------------------------------------------------------------- خامساً : 3D now : وهي مشابهة لل"MMX " ولكنها 21 تعليمة جديدة لتسريع عمليات الفاصلة العائمة (بعكس MMX ) ، وقد لاقت الكثير من النجاح بسبب توفر الدعم لها في وندوز ، وطورت هذه التعليمات أصلاً في شركة AMD وتستعمل حالياً في معالجاتها بما فيها المعالج "أثلون" . تستفيد الألعاب الثلاثية الأبعاد كثيراً من هذه التقنية . -------------------------------------------------------------------------------- سادساً : إعادة تسمية المسجلات (*) في عملية تنفيذ التعليمات تستخدم المسجلات كذاكرة لتنفيذ التعليمات ( شرحت سابقاً ) ، ولكل مسجل من المسجلات أسم ليتم الإشارة إليه أثناء تنفيذ التعليمات ، في بعض الأحيان يحصل تضارب في أسماء المسجلات مما يعطل بعض العمليات وبذلك يحد من الاستفادة من التدرج الفائق ، والحل يكمن في هذه التقنية التي يعاد فيها تسمية المسجلات حتى لا تتضارب أسمائها مما يسمح بالقيام بكل العمليات الحسابية في نفس الوقت مادامت لا تعتمد على نتائج بعضها البعض . -------------------------------------------------------------------------------- سابعاً : نوعية برنامج التجميع (*) المستخدم إن سرعة المعالجة لها علاقة وثيقة بالبرمجة والكيفية التي يكتب بها المبرمج برامجه ، ونوعية البرامج التي يستخدمها في تجميع برامجه ، دعني أعطيك مثال على ذلك : المعالج بنتيوم كما تعرف لديه وحدتين لحساب الأعداد الصحيحة (فائق التدرج من المستوى الثاني ) ولكن ليس كلا الوحدتين متساويتين بل إن إحداهما لا تستطيع تنفيذ بعض التعليمات ، لذا فإن برامج التجميع التي تراعي ذلك سوف تنفذ برامجها بشكل أسرع مقارنة بالتي لا تراعي ذلك وهذا مثال بسيط . لماذا لا تعمل البرامج ذات ال16 بت بسرعة مثل البرامج 32 بت ؟ -------------------------------------------------------------------------------- ثامناً : سرعة المكونات الأخرى للحاسب إن المعالج ليس هو المكون الوحيد للحاسب ، إن الأجهزة الأخرى لها دور كبير أيضاً في تحديد سرعة النظام ككل ، إحذر عند شرائك حاسب جديد أن تركز فقط على المعالج ، إن سرعة الذاكرة والقرص الصلب مهمان جداً ، ولا يقل عنهما أهمية سرعة بطاقة الفيديو ، فاحذر...... وقد أعذر من أنذر ؟ -------------------------------------------------------------------------------- معالجة الأبعاد الثلاثية تتمثل معالجة الأبعاد الثلاثية في الألعاب الحديثة مثل دووم وأمثالها ، ولابد - إذا أردت أن تستمتع باللعب كما يجب - أن تكون سرعة المعالج قادرة على القيام بجميع العمليات التي تتطلبها هذه اللعبة أثناء تشغيلها فوراً بدون تأخير وإلا ضاعت متعة اللعب ، ويتساوى في هذا أيضاً برامج الرسم الهندسي التي تكون بطيئة جداً ومملة في حال كان المعالج بطيئاً . تحتاج معالجة الرسومات الثلاثية الأبعاد لسرعة كبيرة من المعالج كي تكون سرعة المعالجة مرضية وذلك لأن كل جسم من الأجسام التي تريد إظهارها على الشاشة تتكون من آلاف المثلثات الصغيرة جداً والتي تطلب إعادة حساب موقع كل مثلث من هذه المثلثات في كل مرة تريد تحريك هذا الجسم فيها . وبما أن عدد هذه المثلثات كبير فيلزم عدد كبير من العمليات الحسابية ، وبما أن حجمها صغير فتتطلب القيام بعمليات حسابية دقيقة ( أي حسابات أرقام الفاصلة العائمة ) مما يجعل أهمية وحدة الفاصلة العائمة كبيرة في هذا المجال . وكلما كان المعالج أسرع كلما كانت الرسوم الثلاثية الأبعاد أسرع . في أيامنا هذه زاد الاحتياج لقوة المعالجة الثلاثية الأبعاد بكثرة الألعاب الثلاثية الأبعاد ، ولم تعد قوة المعالجة لأي من المعالجات تكفي لهذه الألعاب ، لذا فوجود المسرعات الثلاثية الأبعاد على بطاقات الفيديو قد خفف العبء عن وحدة المعالجة المركزية كثيراً ويمكنك الرجوع لقسم بطاقة الفيديو لمزيد من المعلومات عن هذا المجال . =============== تسريع المعالج فوق السرعة الرسمية ================ ما هو تسريع المعالج (*) عندما تركب معالج في جهازك فإن عليك أن تخبر الحاسب عن سرعة هذا المعالج وذلك بضبط بعض "القفازات" على اللوحة الأم بطريقة معينة ، وتضبط هذه القفازات سرعة ناقل النظام وعامل المضاعفة مما يحدد بالتالي تردد المعالج . سؤال : هل يستطيع المهندسون في مصنع المعالجات أن يضمنوا عند تصنيع مجموعة من المعالجات إن تخرج كلها لتعمل عند تردد معين ؟ الجواب هو لا ، فإن المجموعة التي تخرج من المصنع تعمل بسرعات مختلفة - بسبب العديد من العوامل - لذا فإنهم لا يستطيعون التحكم بكمية المعالجات التي ينتجونها من سرعة معينة وينتج من ذلك نقص في معالجات سرعة معينة . فمثلاً قد يحدث في مرحلة ما شح في معالجات سرعة معينة بما لا يتناسب مع حاجة السوق ، مثل أن يتم تصنيع معالجات 800 ميجاهيرتز فيما يتطلب السوق مثلاً معالجات 600 ميجاهيرتز (بسبب أسعارها الأقل ) فكيف تحل المشكلة ؟ يكون الحل بأن تبيع الشركة المعالجات ذات السرعة الأكبر على أساس أنها ذات سرعة أقل فما وجه الاستفادة من ذلك بالنسبة لك ؟ يمكنك تشغيل معالج كهذا على سرعة أكبر فمثلاً إذا كان لديك معالج 200 ميجاهيرتز ربما تنجح في أن تجعله يعمل بسرعة 233 ميجاهيرتز مثلاً وذلك بتغيير إما سرعة ناقل النظام أو معامل المضاعفة كما أشرت في البداية . ولكن مهلاً قد لا ينطبق هذا الوضع على المعالج الذي اشتريته لذا فإن ليس كل معالج يمكنه أن يعمل على سرعة أكبر من تلك التي تظهر على علبته ، وذلك يعتمد على عوامل أخرى أيضاً ، فمثلاً معالجات إنتل الحديثة وخاصة بنتيوم الثالث فيها نوع من إغلاق التحكم بالتردد من المصنع بحيث أن المعالج لا يعمل إلا على التردد الذي صمم عليه وبذلك لا يمكن التحايل ورفع تردد المعالج فوق سرعته الأصلية . -------------------------------------------------------------------------------- مشاكل رفع التردد الحرارة الزائدة مما يقصر من عمر المعالج ، وإذا رفع تردد الساعة كثيراً فوق التردد الرسمي قد يتطلب الأمر طرق خاصة لتبريد المعالج مثل استخدام الماء (مثل نظام تبريد محرك السيارة ) أو مراوح تبريد كبيرة جداً . الذاكرة المخبئية المستوى الثاني قد لا تستطيع العمل بهذه السرعة الزائدة لذا فإن المعالج "سيليرون" هو من أفضل المعالجات في هذا المجال لعدم احتوائه على هذه الذاكرة . ربما لا تستطيع الذاكرة العشوائية مجاراة ناقل النظام (في حالة ما تم زيادة تردد ناقل النظام ) حيث أن لكل نوع من الذاكرة العشوائية مدى محدد من السرعات التي يمكنه العمل عليها فالذاكرة العشوائية من نوع FPM يمكنها العمل حتى 66 ميجاهيرتز لناقل النظام بينما EDO تعمل حتى 75 ميجاهيرتز والذاكرة SD-RAM تعمل بترددات 100 أو 133 ميجاهيرتز حسب نوعها . ربما لا تعمل بعض بطاقات التوسعة بشكل جيد أو لا تعمل أبداً بسبب سرعة ناقل النظام الكبيرة . ربما تواجه بعض البرامج صعوبة في العمل : وندوز NT مثلاً لا يمكن تركيبه على جهاز مرفوع قوته ، إلا أنه يمكن التحايل على ذلك بتثبيت NT أولاً ثم رفع قوة المعالج . -------------------------------------------------------------------------------- ما هي المعالجات القابلة لرفع التردد شاعت عملية رفع تردد المعالج في معالجات بنتيوم وكذلك معالجات AMD من الجيل الرابع ، ومن بعدهم أصبحت معالجات بنتيوم MMX و بنتيوم الثاني أيضاً قابلة لرفع التردد . بعض المعالجات مثل بنتيوم الثالث وبعض معالجات AMD القديمة لا تقبل رفع التردد لأن ترددها مثبت من المصنع على التردد الذي يجب أن تعمل عليه ، هذا لأن شركات صناعة المعالجات أبطلت إمكانية رفع التردد في هذه المعالجات لسياسات خاصة بها . إن أفضل المعالجات القابلة لرفع التردد هي -كما ذكرت سابقاً - معالجات سيليرون ، هذا لأنها لا تحوي ذاكرة مخبئية مما يزيل المشاكل التي تنجم عن رفع التردد بالنسبة للذاكرة المخبئية ( لقد قرأت في بعض مواقع الوب عن معالجات سيليرون 300 تعمل بسرعة 500 بدون مشاكل ). ثم هناك معالجات سيليرون A ، وهي معالجات سيليرون مع ذاكرة مخبئية مقدارها 128 كيلوبايت ، وهذه المعالجات أيضاً محمية ضد رفع التردد (مع أنك تستطيع زيادة سرعتها عن طريق رفع تردد ناقل النظام ) . والسلام عليكم ورحمة الله وبركاته ،،،