إذا كنت قد استعملت هذه النافذة فستعرف ما أتحدث عنه . ترقية المعالجات إن المعالجات قابلة للترقية ، إذا كان عندك معالج بنتيوم 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 : ومعناها قدرة المعالج على البحث عن تعليمات أخرى لتنفي& <> #1584;ها غير تلك التي ينفذها الآن ، مثلاً إذا أراد المعالج تنفيذ تعليمة ولتكن التعليمة رقم 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 بت ؟ ثامناً : سرعة المكونات الأخرى للحاسب : إن المعالج ليس هو المكون الوحيد للحاسب ، إن الأجهزة الأخرى لها دور كبير أيضاً في تحديد سرعة النظام ككل ، إحذر عند شرائك حاسب جديد أن تركز فقط على المعالج ، إن سرعة الذاكرة والقرص الصلب مهمان جداً ، ولا يقل عنهما أهمية سرعة بطاقة الفيديو ، فاحذر...... وقد أعذر من أنذر ؟ معالجة الأبعاد الثلاثية تتمثل معالجة الأبعاد الثلاثية في الألعاب الحديثة مثل دووم وأمثالها ، ولابد - إذا أردت أن تستمتع باللعب كما يجب - أن تكون سرعة المعالج قادرة على القيام بجميع العمليات التي تتطلبها هذه اللعبة أثناء تشغيلها فوراً بدون تأخير وإلا ضاعت متعة اللعب ، ويتساوى في هذا أيضاً برامج الرسم الهندسي التي تكون بطيئة جداً ومملة في حال كان المعالج بطيئاً . تحتاج معالجة الرسومات الثلاثية الأبعاد لسرعة كبيرة من المعالج كي تكون سرعة المعالجة مرضية وذلك لأن كل جسم من الأجسام التي تريد إظهارها على الشاشة تتكون من آلاف المثلثات الصغيرة جداً والتي تطلب إعادة حساب موقع كل مثلث من هذه المثلثات في كل مرة تريد تحريك هذا الجسم فيها . وبما أن عدد هذه المثلثات كبير فيلزم عدد كبير من العمليات الحسابية ، وبما أن حجمها صغير فتتطلب القيام بعمليات حسابية دقيقة ( أي حسابات أرقام الفاصلة العائمة ) مما يجعل أهمية وحدة الفاصلة العائمة كبيرة في هذا المجال . وكلما كان المعالج أسرع كلما كانت الرسوم الثلاثية الأبعاد أسرع . في أيامنا هذه زاد الاحتياج لقوة المعالجة الثلاثية الأبعاد بكثرة الألعاب الثلاثية الأبعاد ، ولم تعد قوة المعالجة لأي من المعالجات تكفي لهذه الألعاب ، لذا فوجود المسرعات الثلاثية الأبعاد على بطاقات الفيديو قد خفف العبء عن وحدة المعالجة المركزية كثيراً.