حتى يؤدي المعالج وظيفته لابد من أن :
يقرأ التعليمات من الذاكرة العشوائية
يقرر ما هي البيانات اللازمة لتنفيذ التعليمات
يجلب البيانات اللازمة لتنفيذ تلك التعليمات
ينفذ التعليمات
يكتب النتيجة في الذاكرة العشوائية : طبعاً الذاكرة العشوائية بطيئة لذا تستعمل " ذاكرة الكتابة المخبئية " لحفظ البيانات لحين تمكن الذاكرة العشوائية من قراءتها .
التعليمات ومعالجات RISC و CISC
يقوم المعالج باستقبال البيانات ( الصور أو الرسوم أو..... إلخ) والتعليمات ( التي كتبها المبرمج ) ويقوم بمعالجة البيانات تبعاً لما تمليه عليه التعليمات ، أي أنه مثل الجندي الذي ينفذ الأوامر الصادرة له من القيادة ( البرنامج ) ، فمهمة المعالج أن ينفذ مجموعة التعليمات التي تصدر من البرنامج حتى يؤدي الحاسب العمل المراد منه ، والتعليمات ( جمع تعليمة ) يمكن أن تكون بسيطة ( مثلاً القيام بعملية جمع ) أو معقدة ( كالقيام بسلسلة من العمليات المترابطة ) . فالبرنامج هو عبارة عن مجموعة كبيرة من التعليمات المترابطة التي تؤدي في مجملها عمل مفيد وهو القائد والمحرك للمعالج .
دعني أقرب الأمر أكثر لك : إذا أردت جمع الأعداد 8 + 9 + 3 فإن البرنامج يصدر الأوامر التالية للمعالج
اجمع : 8 + 9
اجمع : المجموع السابق + 3
هذا مثال عن أمرين ( تعليمتين ) بسيطتين ، هناك أوامر ( تعليمات ) أعقد بكثير للقيام بعمليات أكثر تعقيداً ، ولكل معالج من المعالجات مجموعة من التعليمات التي يستطيع فهمها ، فمثلاً قد يستطيع معالج ما فهم تعليمة معينة بينما معالج آخر لا يفهمها ، وهذا هو السر في اختلاف أنظمة الحاسب عن بعضها .
ويخرج المعالج من المصنع " متعلماً " هذه التعليمات أي أنه يستطيع تنفيذها ، ويستطيع تنفيذ أي برنامج يحوي أي تركيب من هذه التعليمات مهما كان معقداً ومهما كانت الوظيفة التي يقوم بها وهذا هو السبب في أن الحاسب يستطيع القيام بأي عمل مادمت قد ركبت له برنامج لأداء ذلك العمل . وقد انقسم مصنعو المعالجات في فلسفة بناء المعالج إلى فريقين :
الفريق الأول زودوا معالجاتهم بالكثير من التعليمات المعقدة وتسمى هذه المعالجات معالجات CISC .
زود معالجاته بعدد قليل من التعليمات البسيطة وتسمى هذه المعالجات معالجات 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 . ولكن هذه الطريقة تجعل تركيبة المعالج معقدة .
ليست هناك تعليقات:
إرسال تعليق