منتديات التقني عالم التجارة
SPTechs منتديات
 اسم المستخدم حفظ بيانات الدخول 
كلمة المرور
  منتديات SPTechs   > الأجهزة
 thread

كيف يعمل المعالج (شرح)

 

  السبت 21 أبريل 2018 م الموافق ‏05/‏شعبان/‏1439 هـ الساعة 14:26

 


الرد على الموضوع عدد القراءات : 22641   
syriapress
معلومات :   البلد : تركيا  : المدينة : Istanbul
  عدد المشاركات : 472
syriapress


[ الأحد 28 أكتوبر 2007 ]
 
 
 

كيف يعمل المعالج (شرح)



حتى يؤدي المعالج وظيفته لابد من أن :



يقرأ التعليمات من الذاكرة العشوائية
(*)

يقرر ما هي البيانات اللازمة لتنفيذ التعليمات
(*)

يجلب البيانات اللازمة لتنفيذ تلك التعليمات
(*)

ينفذ التعليمات
(*)

يكتب النتيجة في الذاكرة العشوائية (*) : طبعاً الذاكرة العشوائية بطيئة لذاتستعمل " ذاكرة الكتابة المخبئية (*)" لحفظ البيانات لحين تمكن الذاكرة العشوائية من قراءتها
.



التعليمات ومعالجات RISC و
CISC



يقوم المعالج باستقبال البيانات ( الصور أو الرسوم أو..... إلخ) والتعليمات * ( التي كتبهاالمبرمج ) ويقوم بمعالجة البيانات تبعاً لما تمليه عليه التعليمات ، أي أنه مثلالجندي الذي ينفذ الأوامر الصادرة له من القيادة ( البرنامج ) ، فمهمة المعالج أنينفذ مجموعة التعليمات التي تصدر من البرنامج حتى يؤدي الحاسب العمل المراد منه ،والتعليمات ( جمع تعليمة ) يمكن أن تكون بسيطة ( مثلاً القيام بعملية جمع ) أومعقدة ( كالقيام بسلسلة من العمليات المترابطة ) . فالبرنامج هو عبارة عن مجموعةكبيرة من التعليمات المترابطة التي تؤدي في مجملها عمل مفيد وهو القائد والمحركللمعالج
.



دعني أقرب الأمر أكثر لك : إذا أردت جمع الأعداد 8 + 9 + 3 فإنالبرنامج يصدر الأوامر التالية للمعالج




اجمع : 8 + 9


اجمع : المجموعالسابق + 3


هذا مثال عن أمرين ( تعليمتين ) بسيطتين ، هناك أوامر ( تعليمات ) أعقد بكثير للقيام بعمليات أكثر تعقيداً ، ولكل معالج من المعالجات مجموعة منالتعليمات التي يستطيع فهمها ، فمثلاً قد يستطيع معالج ما فهم تعليمة معينة بينمامعالج آخر لا يفهمها ، وهذا هو السر في اختلاف أنظمة الحاسب عن بعضها
.



ويخرج المعالج من المصنع " متعلماً " هذه التعليمات أي أنه يستطيع تنفيذها، ويستطيع تنفيذ أي برنامج يحوي أي تركيب من هذه التعليمات مهما كان معقداً ومهماكانت الوظيفة التي يقوم بها وهذا هو السبب في أن الحاسب يستطيع القيام بأي عملمادمت قد ركبت له برنامج لأداء ذلك العمل . وقد انقسم مصنعو المعالجات في فلسفةبناء المعالج إلى فريقين
:



الفريق الأول زودوا معالجاتهم بالكثير منالتعليمات المعقدة وتسمى هذه المعالجات معالجات
CISC .

زود معالجاته بعدد قليلمن التعليمات البسيطة وتسمى هذه المعالجات معالجات
RISC .

RISC

CISC



إن الحكم على من منهما أسرع ليس شيئاً سهلاً وإن ذلك يعتمدعلى تصميم المعالج نفسه ككل وعلى برامج التجميع المستخدمة في إنتاج البرامج وعلىعوامل أخرى ، واليوم أصبح مصنعي المعالجات يتجهون إلى استعمال كلا الفلسفتين معاًوأصبح الفارق بينهما يندثر شيئاً فشيئاً
.



ما زالت المعالجات الحديثة تفهمنفس التعليمات التي تفهمها المعالجات القديمة فهي لا تستبدل ولكن المعالجات الحديثةقد زادت عليها العديد من التعليمات . ففي كل مرة ينتج المصنعون ( مثل شركة إنتل ) جيلاً جديداً من المعالجات يتم إضافة كمية من التعليمات لتحسين الأداء ، أي أن أحدثمعالج من إنتل يستطيع فهم نفس التعليمات التي كان أقدم معالج من إنتل يفهمها ،ويرمز للتعليمات التي تدعمها المعالجات المتوافقة مع 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- قلب المعالج ويعمل بأقل من ذلك (حسب المعالج
)



إن كميةالحرارة الصادرة من معالج مثل بنتيوم الثاني تكفي لمنعك من وضع يدك على المعالجأثناء عمله لذا تحتاج المعالجات لتبريد
.







الوظائفالمتقدمة




إن تردد المعالج ليس هو الشيء الوحيد الذي يجعل المعالج أسرع بل إنجعل المعالج "أذكى" في التعامل مع البيانات يمكن أن يساهم في جعله أسرع أيضاً وهذهبعض التقنيات التي تساعد على جعل المعالجات أسرع ، إن معالجين بنفس تردد الساعة إذااستعمل أحدهما هذه التقنيات سيكون أسرع كثيراً من الآخر ، لذا لا يعتبر تردد الساعةعاملاً حاسماً في تحديد سرعة المعالج ، هيا بنا نستعرض هذه التقنيات :





أولاً: 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 بت؟








ثامناً : سرعة المكونات الأخرى للحاسب



إن المعالج ليس هوالمكون الوحيد للحاسب ، إن الأجهزة الأخرى لها دور كبير أيضاً في تحديد سرعة النظامككل ، إحذر عند شرائك حاسب جديد أن تركز فقط على المعالج ، إن سرعة الذاكرة والقرصالصلب مهمان جداً ، ولا يقل عنهما أهمية سرعة بطاقة الفيديو ، فاحذر...... وقد أعذرمن أنذر ؟








معالجة الأبعاد الثلاثية



تتمثل معالجة الأبعادالثلاثية في الألعاب الحديثة مثل دووم وأمثالها ، ولابد - إذا أردت أن تستمتعباللعب كما يجب - أن تكون سرعة المعالج قادرة على القيام بجميع العمليات التيتتطلبها هذه اللعبة أثناء تشغيلها فوراً بدون تأخير وإلا ضاعت متعة اللعب ، ويتساوىفي هذا أيضاً برامج الرسم الهندسي التي تكون بطيئة جداً ومملة في حال كان المعالجبطيئاً .



تحتاج معالجة الرسومات الثلاثية الأبعاد لسرعة كبيرة من المعالج كيتكون سرعة المعالجة مرضية وذلك لأن كل جسم من الأجسام التي تريد إظهارها على الشاشةتتكون من آلاف المثلثات الصغيرة جداً والتي تطلب إعادة حساب موقع كل مثلث من هذهالمثلثات في كل مرة تريد تحريك هذا الجسم فيها
.



وبما أن عدد هذه المثلثاتكبير فيلزم عدد كبير من العمليات الحسابية ، وبما أن حجمها صغير فتتطلب القيامبعمليات حسابية دقيقة ( أي حسابات أرقام الفاصلة العائمة ) ممايجعل أهمية وحدةالفاصلة العائمة كبيرة في هذا المجال . وكلما كان المعالج أسرع كلما كانت الرسومالثلاثية الأبعاد أسرع
.



في أيامنا هذه زاد الاحتياج لقوة المعالجة الثلاثيةالأبعاد بكثرة الألعاب الثلاثية الأبعاد ، ولم تعد قوة المعالجة لأي من المعالجاتتكفي لهذه الألعاب ، لذا فوجود المسرعات الثلاثية الأبعاد على بطاقات الفيديو قدخفف العبء عن وحدة المعالجة المركزية كثيراً ويمكنك الرجوع لقسم بطاقة الفيديولمزيد من المعلومات عن هذا المجال


اضافة رد على الموضوع




  منتديات SPTechs : مشاركات شبيهة .  لموضوع : كيف يعمل المعالج (شرح)

   .   الى محبي برنامج شاهد منزلك Google Earth اخيرا الشرح بالصور
   .   بنت عمرها 15 سنه بس صايعه..قصه
   .   رسائل زعل و حزن و عتاب و الخيانة اكثر من ألف رسالة
   .   رسائل الحب والعشق اكثر من الف رسالة
   .   برنامج بسيط وسهل مع الشرح بالصور للكتابة على الصور والشعارات
   .   رقم الشيخ ابو علي الشيباني والموقع الرسمي له علي الانترنت
   .   هذه احدث اجهزة النوكيا مع الشرح لمميزات كل جهاز
   .   اسرار وخفايا المسنجر حصرياامن الالف الى الياء
   .   مجموعة نكات حلوة .. اضحك من قلبك
   .   اجمل الكلمات المعبرة ادخلوا وشوفو


  منتديات SPTechs : مشاركات syriapress  
   .   دليل الهاتف السعودي الالكتروني
   .   رباعيات صلاح جاهين
   .   أدعية مختارة ( لسعة الرزق)
   .   نزار قباني: شاعر الحب والثورة
   .   كتاب العظماء مئة (أعظمهم محمد صلى الله عليه وسلم)
   .   صورة جبل ينظر الى السماء ويبتسم
   .   أجمل صورة لراقصة باليه
   .   المملكة تطلق موقع جديد تخصصي للفتاوى الشرعية الاسلامية
   .   التوظيف في شركة جوجل
   .   العيون تدل على الشخصية



اسم المستخدم                        كلمة المرور

حفظ معلومات الاشتراك

# كيف يعمل المعالج (شرح)

register
 مستخدم جديد