قائمة المدونات الإلكترونية

قائمة المدونات الإلكترونية

قائمة المدونات الإلكترونية

الاثنين، 11 نوفمبر 2013

طريقة عمل المعالج :

المعالج حتى ينفذ الاوامر فانه يتبع خطوات لتنفيذ الاوامر ، هذه الخطوات هي :

1- يقوم المعالج بجلب الاوامر المراد تنفيذها والمخزنة في الذاكرة العشوائية ، تسمى هذه العملية fetch.

2- بعد أن جلب المعالج الاوامر فانه يقوم بتحديد البيانات اللازمة لتنفيذ هذه الاوامر وتسمى هذه العملية decode ، ثم يقوم المعالج بجلب البيانات المطلوبة.

3- يقوم المعالج بتنفيذ الاوامر execute ومن ثم ارسال نتائجها الى الذاكرة العشوائية.

طبعا سرعة المعالج لها أثر كبير في سرعة الحصول على نتائج التعليمات ، وتقاس سرعة المعالج بالميجاهيرتز (mhz=mega hertz) ، والمعالج له سرعتين :

أ - السرعة الداخلية (internal clock) : وهي سرعة تبادل البيانات داخل المعالج ، (أي عدد النبضات التي تستطيع أن تصدرها أي وحدة داخل المعالج) ، مثلا اذا كان هناك معالج سرعته الداخلية 500 ميغاهيرتز ذلك يعني أن جميع وحداته الداخلية ترددها (أي سرعتها) 500 ميغاهيرتز والتي تساوي 500000000 نبضة في الثانية الواحدة ، طبعا كلما زاد تردد المعالج الداخلي زادت كمية الاوامر التي المتبادلة داخل المعالج وبالتالي تنفيذ عمليات أكثر في الثانية الواحدة ، وذلك بالطبع سيزيد من سرعة الحاسب بشكل عام.

ب - السرعة الخارجية (external clock) : والتي تسمى system bus وهي سرعة تبادل البيانات بين المعالج وبين الساوث بردج ، فمثلا المعالج بينتيوم 3 سرعته الخارجية 133 ميغاهيرتز ذلك يعني انه يسري بينه وبين الساوث بردج 133000000 نبضة في الثانية على كل بت من الناقل ، دعني أشرح ذلك بطريقة أوضح ، الناقل بين المعالج و الساوث بردج يتكون من عدد من الخطوط النحاسية الدقيقة جدا (في جميع المعالجات الحديثة عددها 64) يسمى كل واحد منها "بت" ، وكل نبضة تسري في البت الواحد في الثانية الواحدة قادرة على نقل بت واحد من البيانات ، لذلك عندما نقول أن التردد الخارجي لمعالج = 133 ميغاهيرتز ذلك يعني أنه تسري 133000000 نبضة في كل بت في الثانية الواحدة ، فلو افترضنا أن عدد البتات = 64 فان كمية البيانات التي تسري بين المعالج والساوث بردج في الثانية= (133000000 * 64) / 8 = 1064000000 بايت وتساوي 1.064 جيجابايت في الثانية . الغرض من ذلك بيان أهمية السرعة الخارجية ، فكلما ازدادت زادت كمية الاوامر والبيانات التي تصل الى المعالج وبالتالي زادت من من فاعلية السرعة الداخلية للمعالج ، فلو أن معالج سرعته الداخلية سريعة جدا لكن السرعة الخارجية بطيئة فاننا لن نستطيع الاستفادة من السرعة الداخلية للمعالج بشكل كامل ، لأن كمية الاوامر والبيانات التي تصل الى المعالج أصلا قليلة والمعالج يستطيع تنفيذ أضعاف هذه الكمية .

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

1- التدرج الفائق (superscalar) : وهي كون المعالج يحوي أكثر من خط لتنفيذ العمليات ، فمثلا اذا وصل الى معالج يحتوي على خط معالجة واحد عمليتين في نفس الوقت سوف يقوم خط المعالجة بتنفيذ الاولى ثم بعد الانتهاء منها يقوم بتنفيذ الثانية ، لكن اذا وصلت هاتان العمليتان الى معالج يحوي خطي معالجة فاءن كل تعليمة يتم تنفيذها في خط معالجة في نفس الوقت وبذلك نحصل على النتائج بشكل أسرع.

2- تقسيم خطوط المعالجة الى مراحل (pipelining) : أي أن خط المعالجة يتم تقسيمه الى مراحل ، كل مرحلة تقوم بتفيذ جزء من العملية الى اتمام التنفيذ ، اليك المثال التالي للتوضيح : لنفرض أن هنالك معمل لصناعة الطاولات الخشبية ، وأن الطاولة تحتاج ال 4 خطوات لاتمامها ، وأن كل خطوة تتطلب 10 دقائق ، فلو أن هناك هناك عامل واحد في المعمل فانه سوف يستغرق 40 دقيقة لاتمام الطاولة ، ثم يبدأ بصنع طاولة أخرى ، أي أننا نحصل على طاولة واحدة من المعمل كل 40 دقيقة ، ولو افترضنا أن معمل اخر يقوم بصنع الطاولات نفسها لكن هذا المعمل يحتوي عل 4 عمال ، كل عامل يقوم بتنفيذ خطوة واحدة في صنع الطاولة ثم يعطيها للعامل الذي يليه ثم يستلم طاولة أخرى وبعد تنفيذ خطوة واحدة فيها بعد 10 دقائق يمررها الى زميله وهكذا ، ذلك يعني أنه كل 10 دقائق سوف نحصل على طاولة جديدة أي 4 طاولات كل 40 دقيقة بخلاف طاولة واحدة كل 40 دقيقة في المعمل الأول. يمكن تشبيه ذلك بما يحصل في المعالج ، حيث أن العامل هو المرحلة في خط المعالجة والطاولة هي التعليمة المراد تنفيذها .

ليست هناك تعليقات:

إرسال تعليق